X H__PAGEZERO__TEXT__text__TEXT<<;<<__stubs__TEXTwLw __cstring__TEXTzz__const__TEXT0__unwind_info__TEXT@@__DATA_CONST@@__got__DATA_CONST1__DATA@7@7__data__DATA7__bss__DATA7H__LINKEDIT88H48388X80 Pxx58f /usr/lib/dyld:ʼnd2 *(] 8dA/usr/lib/libSystem.B.dylib&8()88p_og_WO{C(@@(1@@))!(*@94_q`T*@85@6"()K7}@!@/@5jw8qTR D(Z))@)@?aT{EODWC_BgAoƨ_!!`;99{(5b;:Z[;6ւ(@@9q74T @9?qT8cTTRRdc5;@y !@qAT!Rb598{(99[;4(5b;@9qT @9?qT8cTTRR+c@5;@y !@qT!R)@5 D( Z))@)@?Tg_WO{ @8?q3v993@6@4@94?q`T @85@WK}@W@w`@5jx8qTUTHC@952h@885G@H" yx G9?qT }}" `4R G9?qT)R 9 }} } 7N8@94?q`T @85K( 8@)@(yh@9 94?qT@8 85 ҪR 9  kji8K9)5{DOCWB_AgŨ_O{CR `{AO¨ oO{C(@@`@94 T,]))@)@?!Tx(C{BOAoè ##R` # T @9?qT8hT##R IT9#x( ]))@)@?TC{BOAoè_8 g_WO{72@@Bs(i@94?q`T @85@K}@Ԏ@ @5ju8qTC(! @ !@s(K}@Ԏ@p @5ju8qTC(! @ !@8;( @94?q`T @85@s(K}@Ԏ@K @5ju8qTC(! @ !@6( @94?q`T @85@s)K}@Ԏ@& @5ju8qTC(! @ !@1) @94?q`T @85@s")K}@Ԏ@ @5ju8qTC(! @ !@X-!) @94?q`T @85@sb)K}@Ԏ@ @5ju8qTC(! @ !@(a) @94?q`T @85@s"(K}@Ԏ@ @5ju8qTC(! @ !@$!( @94?q`T @85@s)K}@Ԏ@ @5ju8qTC(! @ !@x) @94?q`T @85@s)K}@Ԏ@m @5ju8qTC(! @ !@) @94?q`T @85@s)K}@Ԏ@4H @5ju8qTC(! @ !@8) @94?q`T @85@F(K}@6@" @5ju8qT(C(! @ !@xE( @94?q`T @85@ * @94?q`T @85 *K}@Rkv" 5hju8qTh)f@ M* @94?q`T @85@3N*K}@Rkv" 5hju8qTh*D@* @94?q`T @85@*K}@#@ @5ju8qT (+ @94?q`T @85+K}@#ӆ@ @5hju8qTh) )!D+{DOCWB_AgŨWO{(1@@ ))*@94_q`T*@85@s))K5}@!ӆ@sb @5hju8qTh@9q RIz{BOAWè_R{BOAWè_{CC(@@CV R {  @@{__WO{C(1@@ )M+*@94_q`T*@85@N+)K6}@!@ @5jv8qT   a;!( L+{EODWC_Bsog_WO{C R)r0@?C@(@@993@(@ )!(*@94_q`T*@85@"()K6}@!@ @5jv8qT@8h4Z))@)@?AYTC@{EODWC_BgAoƨ x t `@8@8, @94?q`T @85@,K}@#W@ @5jv8qT@8h4 @1, @9?q$@zT @8?q$@zT2,K}@#@t @5jv8qT@8h4f @m,a (R- @94е,C @8H5(@ )**@94_q`T*@85@U֖*)K7}@!@U: @5jw8qT@84! `5k@y @q`T)@qTAR 4(@H )+*@9_qD@zT*@8_qD@zT@־+)K7}@!@ @5jw8qT@84 `4(@ )+*@9_qD@zT*@8_qD@zT@+)K7}@!@ @5jw8qT@84 4(@ )+*@9_qD@zT*@8_qD@zT@+)K7}@!@ @5jw8qT@84 4(@h ) ,*@9_qD@zT*@8_qD@zT@,)K7}@!@ @5jw8qT@84 5k@y )@q`T@qATAR 5!k@y )@q`T@q!TAR 5k@y )@q`T@qaTAR 5 k@y )@q`T@qTAR 5^ +O 5k@y @q`T)@qT+AR4еz(> ARB B ?  }@ U,SZ[;k!,! 8R 1T@EqT @5k@y @qTC@kATk@y!qT(@H ).*@94_q`T*@85@.)K8}@!@@h@W!-ҨZ )@)@? TC@{EODWC_BgAoƨ_v@@5jx8qT`@@v@qT7! /4(@ ))*@94_q`T*@85@))K8}@!3@@5hjx8qTh@9q@za TR 4BRq =@J=@)E T"99@@s@@!,+8B@kTRMTR"r[1T ' |CӪ7 @*@? TBT 6T*R.R?aTB `R)hr J_@y R) J *(4)!D+j,[k!/58R1AT7Rs/@EqaT"8R1T-q T~`i `jh8qTs@STh! /qvFRRTc9i,#k!`/ (vZ )@)@?Th;;4/_WO{1@@( ))*@94_q`T*@85@е))K6}@!@@5jv8qT@9H4qTh@94R!T,R4{COBWA_Ĩ_{COBWA_Ĩg _ W O{@@@9h4ps еz(;.5@e`Tu 4q4tq(  }@=cZcZ1T;@y @qaTG[ )@)@?T{OONWM_LgK_O{@@!|@RR"R@@ )@)@?T{BOA_ֿ @94*@8 84_qT*@8_qT_Cog_WO{mh,8R1T@EqTv@1@@h ).*@94_q`T*@85@! 1RcR"R[@WR_rkTHٟRH׷rka TA1#!,1w@958R1TQ@EqT2cZcҾ2 5R qR!,5E5 )Y5 J5'+[+? 41Ts@@#55s@ @0-R{o 5s@@@8.)K9}@!W@Y@5jy8qT\s@@#3*@8 84_qT*@8_qTs@@X1(!@A4ДcJ4AA@ts@@h:(6 RsR)@R j!Tc1Ts@@@7s@/@@9i@`6xs@s@8_ W O {@@ `[!,5`@c5?@@ !T@R\ )@)@? THv@Xt|@#!;=R!@R1T @@b!@_AT@B31`T=R+a@v1aT R\ )@)@? TR\ )@)@?!T{NOMWL_K_{R>==>RHzrx{__WO{H|@ B+   I%(uH x4 R)K?k7h~@hz@ hzqATKqTv@AQqT`~@wz{COBWA_Ĩ_o{CC @@C XJp hkx xj ZHhH* Z(Hh+hkx+x)X)pi (D XJp hkx xj ZHhH( Z*HJh+hkx+x)X)pi ) E XJp hkx xj ZHhH( Z*HJh+hkx+x)X)pi ) F XJp hkx xj ZHhH( Z*HJh+hkx+x)X)pi ) R#*K^L\ LYk LXk l_Ӌ *K! aT ,@ $A@{ӭmLN /+@-3RMPrb L}@ ~@cbcKd|@ F, jSmB |@hS"AABA!lO!! "|@S~B0hS//q/mB ~@S|BjS$"BBmQ C|@$S$|BNhS1111nC. !~@S~B0jSE#cCmA ~@ESE|BjS"!!A!lC/ "|@/S/~B1hS#cDmB #~@S~B.jS0"PPnC ~@.S.|BjS%#cEmB #|@%S%~B/hS"QQ1nC/ "~@S~B0jS$#cFmB ~@$S$|BjS!"AA!lC. "|@.S.~B1hS#cGmB }@S~BiS%"BBlQP ~@$S$|BjSq11HmB }@S}BiS"BbBlQO }@S~B110I10nBS}BS}B ~@b"O/mFS~B0 }@JBBBlMB -tR-ۭrS}BoB D|@0nDQSQ|B" B~@KmDS~B }@!!lD!S}BN! $|@LpnD#S#|Ba !~@.mDS~B0 }@MmDS}B. }@PnDS}BO ~@NnmDS~Bp }@/mDS}B. }@O0nDS}B/ ~@NmDS~BP }@PomDS}Bn }@0nDS}B/ ~@Q.mDS~BJ! J$|@OmD"S"|BAJ /J|[+A  p   [3Ac q /   S|B!jScSmQ .|@SpP#hSʄʢBNlN M|@.S QQhS#cTmMRmr /~@#S#|B!jSdDfnO ~@OSO|BjS$UmA .|@"S"~B1hSDEcnlN #~@S~B0jS$VmC ~@#S#|BjSd$eBOlO "|@/S/~B1hSWmB .~@S~B0jSD$EcnlN ~@.S.|BjS$XmC /|@#S#~B1hSdeBOlO "~@S~B0jS$YmB ~@"S"|BjSD$EcnlN #|@.S.~B1hSZmC /~@S~B0jSd$eBOlO ~@/S/|BjS$[mB }@"S"~BiSDEcalA11 !~@S~B0jSde\mA }@S}BiS$$%BPlP }@"S"~BQD1]q1nP0S}BS}B c~@&&.mDS~B0 }@^BBlMB :RMLrS}BnB D|@0nDQSQ|B" B~@_mDS~B }@!!lD!S}BN! $|@ApnD#S#|Ba !~@ A.mDS~B0 }@AmDS}B. }@APnDS}BO ~@AnmDS~Bp }@A/mDS}B. }@A0nDS}B/ ~@#ANmDS~BP }@'AomDS}Bn }@+A0nDS}B/ ~@/A.mDS~BJ! J$|@3AOmD"S"|BA !}[kB  p   ;Aq11nP1S}BB3J1 cJ$~@%jS&?AmD }[B%~Bӌ       , Jy  $( ^ )@)@?TC {Ao¨_p_WO{5B"C7 R 8qCTRgo=R!K]Xh9Ph9Hh9v9Xh9Ph9Hh9u9h@Xӈ9h@Pӈ9h@Hӈ 9h@9h@Xӈ9h@Pӈ9h@Hӈ9h@9h @Xӈ"9h @Pӈ&9h @Hӈ*9h @.9h@Xӈ29h@Pӈ69h@Hӈ:9h@>9h@XӈB9h@PӈF9h@HӈJ9h@N9{COBWA_Ĩ4@ @@@@"@&@*@.@6@:@>@B@F@J@N@R@V@Z@^@b@f@j@n@r@v@z@~@@@@@@@@@@@@@@@@@@@@@@PAR_TEMPPAR_PROGNAME.%s%s%sPERL5LIBPERLLIBPERL5OPTPERLIOPAR_INITIALIZEDPAR_SPAWNEDPAR_CLEANPAR_DEBUGPAR_CACHEPAR_GLOBAL_DEBUGPAR_GLOBAL_TMPDIRPAR_TMPDIRPAR_GLOBAL_TEMPPAR_GLOBAL_CLEAN1DYLD_LIBRARY_PATH/var/tmp/TMPDIRTEMPDIRTEMPTMPUSERUSERNAMEpar-SYSTEM%02x%s%s%s%s%s: creation of private subdirectory %s failed (errno=%i) %s: private subdirectory %s is unsafe (please remove it and retry your operation) PATHparl.parshort read%s%scache-%s%s%s%stemp-%u%s%s%stemp-%u-%u%s%s: creation of private cache subdirectory %s failed (errno= %i) rb%s%s/thin%s: creation of cache subdirectory for extracted macOS thin binary %s failed (errno= %i) hw.machine/usr/bin/xcode-select -p 1>/dev/null 2>/dev/null%s: Command Line Tools are not installed - run 'xcode-select --install' to install (errno=%i) %s/%slipo-extract_family-output%s: fork failed (errno=%i) /usr/bin/lipo%s: extracting %s binary with lipo failed (wstatus=%i) %s: cannot find thin binary %s to run (errno=%i) %s: cannot execute thin binary %s (errno=%i) %s: extraction of %s (custom Perl interpreter) failed (errno=%i) %s: extraction of %s failed (errno=%i) %s: exec of %s (custom Perl interpreter) failed (errno=%i) /:lseek failedread failed..%s.%luparlibperl.dylibCACHE#EgܺvT244<<XXwX \Ldd(|,   %''(9      !"#$%&'()*+,-./01234@(#) Packed by PAR::Packer 1.063~ T `5p PAR.pm G T@              ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q! R! S" T" U# V# W$ X$ Y% Z% [& \& ]' ^' _( `( a) b) c* d* e+ f+ g, h, i- j- k. l. m/ n/ o0 p0 q1 r1 s2 t2 u3 v3 w4 x4 y5 z5 {6 |6 }7 `5~7  H__PAGEZERO__TEXT__text__TEXTA:A__stubs__TEXT@|p@| __const__TEXT~@~__cstring__TEXT~Q@~__unwind_info__TEXTDD__DATA_CONST@@__got__DATA_CONST4__DATA@@__data__DATA__bss__DATA H__LINKEDIT@@@4@3DEYM8 P>PKr /usr/lib/dyldP+6HZ2 *(d x&&/Users/runner/hostedtoolcache/perl/5.38.2/arm64/lib/5.38.2/darwin-2level/CORE/libperl.dylib 8dA/usr/lib/libSystem.B.dylib&E()EPQ0;A!\@B:_og_WO{CHM@@Hi@@))1*@94_q`T*@85@61)K7}@!@@5jw8qTR 2ZI)M@)@?aT{EODWC_BgAoƨ_!! <99K25"<:Z<6R2@@9q74T @9?qT8cTTRRAc5;@y !@qAT!R?598K299<4R25"<@9qT @9?qT8cT|TRRcb@5;@y !@qT!R@5 2 \ZI)M@)@?T g_WO{ @8?q3JY9k@6@4@94?q`T @85@WK}@W@w4@5jx8qT)THC@952h@885G@H" yxh a@9?qT }}  `4Rh a@9?qT)R a9 }} } 7N8@94?q`T @85K( 8@)@(yh@9 94?qT@8 85 ҪR 9  kji8K9)5{DOCWB_AgŨ_O{CR `{AO¨ oO{CHM@@`@94 T,]I)M@)@?!T H2C{BOAoè ##R= # T @9?qT8hT##R IT9# H2 ]I)M@)@?TC{BOAoè_ g_WO{Wj@@B3sn2i@94?q`T @85@K}@Ԏ@_ @5ju8qTC(! @ !@3s2K}@Ԏ@D @5ju8qTC(! @ !@8;(2 @94?q`T @85@3s2K}@Ԏ@ @5ju8qTC(! @ !@6(2 @94?q`T @85@3s2K}@Ԏ@ @5ju8qTC(! @ !@1(2 @94?q`T @85@3s2K}@Ԏ@ @5ju8qTC(! @ !@X-(2 @94?q`T @85@3s23K}@Ԏ@ @5ju8qTC(! @ !@((13 @94?q`T @85@3s1K}@Ԏ@ @5ju8qTC(! @ !@$(1 @94?q`T @85@3sb3K}@Ԏ@f @5ju8qTC(! @ !@x(a3 @94?q`T @85@3s3K}@Ԏ@A @5ju8qTC(! @ !@(3 @94?q`T @85@3s3K}@Ԏ@4 @5ju8qTC(! @ !@8(3 @94?q`T @85@42K}@6@ @5ju8qT(C(! @ !@x(2 @94?q`T @85@(3 @94?q`T @8543K}@Rkv" 5hju8qTh 3f@ (4 @94?q`T @85@344K}@Rkv" 5hju8qTh d4D@(4 @94?q`T @85@4Д4K}@#@ @5ju8qT 1(4 @94?q`T @854Д4K}@#ӆ@g @5hju8qTh `3 2!!5{DOCWB_AgŨWO{(i@@))a3*@94_q`T*@85@s4Дb3)K5}@!ӆ@s6 @5hju8qTh@9q RIz{BOAWè_R{BOAWè_{CC(Q@@C$ R { @@{__WO{C(i@@))5*@94_q`T*@85@5е5)K6}@!@ @5jv8qT   (!<!!P2  5{EODWC_Bsog_WO{C R)r0>@?C@(M@@99k@(@))1*@94_q`T*@85@5е1)K6}@!@ @5jv8qT@8h4Z))M@)@?AYTC@{EODWC_BgAoƨ : 6 `@8@8(5 @94?q`T @85@5е5K}@#W@h @5jv8qT@8h4Z @(6 @9?q$@zT @8?q$@zT5е6K}@#@H @5jv8qT@8h4: @(=65 (R @945еZ6 @8H5(@))e4*@94_q`T*@85@U6f4)K7}@!@U @5jw8qT@84 `5k@y @q`T)@qTAR 4(@H))5*@9_qD@zT*@8_qD@zT@6֎5)K7}@!@ @5jw8qT@84 `4(@))5*@9_qD@zT*@8_qD@zT@6֪5)K7}@!@ @5jw8qT@84k 4(@))5*@9_qD@zT*@8_qD@zT@65)K7}@!@ @5jw8qT@84F 4(@h ))5*@9_qD@zT*@8_qD@zT@65)K7}@!@p @5jw8qT@84! 5k@y )@q`T@qATAR5!k@y )@q`T@q!TAR5k@y )@q`T@qaTAR5 k@y )@q`T@qTAR 52  d55k@y @q`T)@qT d5AR45еJ2AR    }@(%6S:Z?"AT T6 RC{;!!\@B: <!"B86R{ {RD==>RHzrx{__WO{H|@ B+   I%(uH x4 R)K?k7h~@ hz@ hzqATKqTv@AQqT`~@wz{COBWA_Ĩ_o{CC (M@@C XJp hkx xj ZHhH* Z(Hh+hkx+x)X)pi (D XJp hkx xj ZHhH( Z*HJh+hkx+x)X)pi ) E XJp hkx xj ZHhH( Z*HJh+hkx+x)X)pi ) F XJp hkx xj ZHhH( Z*HJh+hkx+x)X)pi ) R#*K^L\ LYk LXk l_Ӌ *K! aT ,@ $A@{ӭmLN /+@-3RMPrb L}@ ~@cbcKd|@ F, jSmB |@hS"AABA!lO!! "|@S~B0hS//q/mB ~@S|BjS$"BBmQ C|@$S$|BNhS1111nC. !~@S~B0jSE#cCmA ~@ESE|BjS"!!A!lC/ "|@/S/~B1hS#cDmB #~@S~B.jS0"PPnC ~@.S.|BjS%#cEmB #|@%S%~B/hS"QQ1nC/ "~@S~B0jS$#cFmB ~@$S$|BjS!"AA!lC. "|@.S.~B1hS#cGmB }@S~BiS%"BBlQP ~@$S$|BjSq11HmB }@S}BiS"BbBlQO }@S~B110I10nBS}BS}B ~@b"O/mFS~B0 }@JBBBlMB -tR-ۭrS}BoB D|@0nDQSQ|B" B~@KmDS~B }@!!lD!S}BN! $|@LpnD#S#|Ba !~@.mDS~B0 }@MmDS}B. }@PnDS}BO ~@NnmDS~Bp }@/mDS}B. }@O0nDS}B/ ~@NmDS~BP }@PomDS}Bn }@0nDS}B/ ~@Q.mDS~BJ! J$|@OmD"S"|BAJ /J|[+A  p   [3Ac q /   S|B!jScSmQ .|@SpP#hSʄʢBNlN M|@.S QQhS#cTmMRmr /~@#S#|B!jSdDfnO ~@OSO|BjS$UmA .|@"S"~B1hSDEcnlN #~@S~B0jS$VmC ~@#S#|BjSd$eBOlO "|@/S/~B1hSWmB .~@S~B0jSD$EcnlN ~@.S.|BjS$XmC /|@#S#~B1hSdeBOlO "~@S~B0jS$YmB ~@"S"|BjSD$EcnlN #|@.S.~B1hSZmC /~@S~B0jSd$eBOlO ~@/S/|BjS$[mB }@"S"~BiSDEcalA11 !~@S~B0jSde\mA }@S}BiS$$%BPlP }@"S"~BQD1]q1nP0S}BS}B c~@&&.mDS~B0 }@^BBlMB :RMLrS}BnB D|@0nDQSQ|B" B~@_mDS~B }@!!lD!S}BN! $|@ApnD#S#|Ba !~@ A.mDS~B0 }@AmDS}B. }@APnDS}BO ~@AnmDS~Bp }@A/mDS}B. }@A0nDS}B/ ~@#ANmDS~BP }@'AomDS}Bn }@+A0nDS}B/ ~@/A.mDS~BJ! J$|@3AOmD"S"|BA !}[kB  p   ;Aq11nP1S}BB3J1 cJ$~@%jS&?AmD }[B%~Bӌ       , Jy  $( ^))M@)@?TC {Ao¨_֎_WO{5B"C7 R 8qCTRo=R!K{Xh9Ph9Hh9v9Xh9Ph9Hh9u9h@Xӈ9h@Pӈ9h@Hӈ 9h@9h@Xӈ9h@Pӈ9h@Hӈ9h@9h @Xӈ"9h @Pӈ&9h @Hӈ*9h @.9h@Xӈ29h@Pӈ69h@Hӈ:9h@>9h@XӈB9h@PӈF9h@HӈJ9h@N9{COBWA_Ĩ:0@0@0@0"@0&@0*@0.@02@06@0:@0B@0F@0J@0V@0Z@0b@0f@0n@0r@0v@0z@0~@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@./perlxsi.cCACHE#EgܺvT2DynaLoader::boot_DynaLoadereval 'exec /usr/bin/perl -S $0 ${1+"$@"}' if 0; # not running under some shell package __par_pl; my ($PAR_MAGIC, $FILE_offset_size, $cache_name_size); BEGIN { $PAR_MAGIC = "\nPAR.pm\n"; $FILE_offset_size = 4; # pack("N") $cache_name_size = 40; $PKZIP_MAGIC = "PK\003\004"; } sub find_par_magic { my ($fh) = @_; my $chunk_size = 64 * 1024; my $buf; my $size = -s $fh; my $pos = ($size-1) - ($size-1) % $chunk_size; # NOTE: $pos is a multiple of $chunk_size while ($pos >= 0) { seek $fh, $pos, 0; read $fh, $buf, $chunk_size + length($PAR_MAGIC); if ((my $i = rindex($buf, $PAR_MAGIC)) >= 0) { return $pos + $i; } $pos -= $chunk_size; } return -1; } my ($par_temp, $progname, @tmpfile, %ModuleCache); END { if ($ENV{PAR_CLEAN}) { require File::Temp; require File::Basename; require File::Spec; my $topdir = File::Basename::dirname($par_temp); outs(qq[Removing files in "$par_temp"]); File::Find::finddepth(sub { ( -d ) ? rmdir : unlink }, $par_temp); rmdir $par_temp; if (-d $par_temp && $^O ne 'MSWin32') { my $tmp = new File::Temp( TEMPLATE => 'tmpXXXXX', DIR => File::Basename::dirname($topdir), SUFFIX => '.cmd', UNLINK => 0, ); my $filename = $tmp->filename; print $tmp <<"..."; x=1; while [ \$x -lt 10 ]; do rm -rf '$par_temp' if [ \! -d '$par_temp' ]; then break fi sleep 1 x=`expr \$x + 1` done rm '$filename' ... close $tmp; chmod 0700, $filename; my $cmd = "$filename >/dev/null 2>&1 &"; system($cmd); outs(qq[Spawned background process to perform cleanup: $filename]); } } } BEGIN { Internals::PAR::BOOT() if defined &Internals::PAR::BOOT; eval { _par_init_env(); my $quiet = !$ENV{PAR_DEBUG}; my %sys = ( path_sep => ($^O =~ /^MSWin/ ? ';' : ':'), _exe => ($^O =~ /^(?:MSWin|OS2|cygwin)/ ? '.exe' : ''), _delim => ($^O =~ /^MSWin|OS2/ ? '\\' : '/'), ); _set_progname(); outs(qq[\$progname = "$progname"]); _set_par_temp(); outs(qq[\$ENV{PAR_TEMP} = "$ENV{PAR_TEMP}"]); my ($start_pos, $start_of_FILE_section); MAGIC: { local $SIG{__WARN__} = sub {}; unless (open _FH, '<:raw', $progname) { outs(qq[Can't read from file "$progname"]); # don't use $! here as it requires Errno.pm last MAGIC; } my $magic_pos = find_par_magic(*_FH); if ($magic_pos < 0) { outs(qq[Can't find magic string "$PAR_MAGIC" in file "$progname"]); last MAGIC; } outs("Found PAR magic at position $magic_pos"); seek _FH, $magic_pos - $FILE_offset_size - length("\0CACHE"), 0; read _FH, $buf, length("\0CACHE"); if ($buf ne "\0CACHE" && $buf ne "\0CLEAN") { outs("No cache marker found"); last MAGIC; } outs(qq[Cache marker "$buf" found]); seek _FH, $magic_pos - $FILE_offset_size, 0; read _FH, $buf, $FILE_offset_size; my $offset = unpack("N", $buf); outs("Offset from start of FILEs is $offset"); seek _FH, $magic_pos - $FILE_offset_size - $offset, 0; $start_of_FILE_section = tell _FH; my %require_list; read _FH, $buf, 4; # read the first "FILE" while ($buf eq "FILE") { read _FH, $buf, 4; read _FH, $buf, unpack("N", $buf); my $fullname = $buf; outs(qq[Unpacking FILE "$fullname"...]); my $crc = ( $fullname =~ s|^([a-f\d]{8})/|| ) ? $1 : undef; my ($basename, $ext) = ($buf =~ m|(?:.*/)?(.*)(\..*)|); read _FH, $buf, 4; read _FH, $buf, unpack("N", $buf); if (defined($ext) and $ext !~ /\.(?:pm|pl|ix|al)$/i) { my $filename = _save_as("$crc$ext", $buf, 0755); $PAR::Heavy::FullCache{$fullname} = $filename; $PAR::Heavy::FullCache{$filename} = $fullname; } else { $ModuleCache{$fullname} = { buf => $buf, crc => $crc, name => $fullname, }; $require_list{$fullname}++; } read _FH, $buf, 4; } local @INC = (sub { my ($self, $module) = @_; return if ref $module or !$module; my $info = $ModuleCache{$module}; return unless $info; delete $require_list{$module}; $INC{$module} = "/loader/$info/$module"; if ($ENV{PAR_CLEAN} and defined(&IO::File::new)) { my $fh = IO::File->new_tmpfile or die "Can't create temp file: $!"; $fh->binmode(); $fh->print($info->{buf}); $fh->seek(0, 0); return $fh; } else { my $filename = _save_as("$info->{crc}.pm", $info->{buf}); $info->{file} = $filename; open my $fh, '<:raw', $filename or die qq[Can't read "$filename": $!]; return $fh; } die "Bootstrapping failed: can't find module $module!"; }, @INC); require XSLoader; require PAR::Heavy; require Carp::Heavy; require Exporter::Heavy; PAR::Heavy::_init_dynaloader(); require IO::File; while (my $filename = (sort keys %require_list)[0]) { unless ($INC{$filename} or $filename =~ /BSDPAN/) { if ($filename =~ /\.pmc?$/i) { require $filename; } else { do $filename unless $filename =~ /sitecustomize\.pl$/; } } delete $require_list{$filename}; } if ($buf ne $PKZIP_MAGIC) { outs(qq[No zip found after FILE section in file "$progname"]); last MAGIC ; } $start_pos = (tell _FH) - 4; # start of zip } my @par_args; my ($out, $bundle, $logfh, $cache_name); delete $ENV{PAR_APP_REUSE}; # sanitize (REUSE may be a security problem) if (!$start_pos or ($ARGV[0] eq '--par-options' && shift)) { my %dist_cmd = qw( p blib_to_par i install_par u uninstall_par s sign_par v verify_par ); if (@ARGV and $ARGV[0] eq '--reuse') { shift @ARGV; $ENV{PAR_APP_REUSE} = shift @ARGV; } else { # normal parl behaviour my @add_to_inc; while (@ARGV) { $ARGV[0] =~ /^-([AIMOBLbqpiusTv])(.*)/ or last; if ($1 eq 'I') { push @add_to_inc, $2; } elsif ($1 eq 'M') { eval "use $2"; } elsif ($1 eq 'A') { unshift @par_args, $2; } elsif ($1 eq 'O') { $out = $2; } elsif ($1 eq 'b') { $bundle = 'site'; } elsif ($1 eq 'B') { $bundle = 'all'; } elsif ($1 eq 'q') { $quiet = 1; } elsif ($1 eq 'L') { open $logfh, ">>", $2 or die qq[Can't open log file "$2": $!]; } elsif ($1 eq 'T') { $cache_name = $2; } shift(@ARGV); if (my $cmd = $dist_cmd{$1}) { delete $ENV{'PAR_TEMP'}; init_inc(); require PAR::Dist; &{"PAR::Dist::$cmd"}() unless @ARGV; &{"PAR::Dist::$cmd"}($_) for @ARGV; exit; } } unshift @INC, @add_to_inc; } } if ($out) { { require IO::File; require Archive::Zip; require Digest::SHA; } my $par = shift(@ARGV); my $zip; if (defined $par) { open my $fh, '<:raw', $par or die qq[Can't find par file "$par": $!]; bless($fh, 'IO::File'); $zip = Archive::Zip->new; ( $zip->readFromFileHandle($fh, $par) == Archive::Zip::AZ_OK() ) or die qq[Error reading zip archive "$par"]; } my %meta_par = do { if ($zip and my $meta = $zip->contents('META.yml')) { $meta =~ s/.*^par:$//ms; $meta =~ s/^\S.*//ms; $meta =~ /^ ([^:]+): (.+)$/mg; } }; if (defined $par) { open my $ph, '<:raw', $par or die qq[Can't read par file "$par": $!]; my $buf; read $ph, $buf, 4; die qq["$par" is not a par file] unless $buf eq $PKZIP_MAGIC; close $ph; } CreatePath($out) ; my $fh = IO::File->new( $out, IO::File::O_CREAT() | IO::File::O_RDWR() | IO::File::O_TRUNC(), 0777, ) or die qq[Can't create file "$out": $!]; $fh->binmode(); seek _FH, 0, 0; my $loader; if (defined $start_of_FILE_section) { read _FH, $loader, $start_of_FILE_section; } else { local $/ = undef; $loader = <_FH>; } if (!$ENV{PAR_VERBATIM} and $loader =~ /^(?:#!|\@rem)/) { require PAR::Filter::PodStrip; PAR::Filter::PodStrip->apply(\$loader, $0); } $fh->print($loader) or die qq[Error writing loader to "$out": $!]; if ($bundle) { require PAR::Heavy; PAR::Heavy::_init_dynaloader(); init_inc(); require_modules(); my @inc = grep { !/BSDPAN/ } grep { ($bundle ne 'site') or ($_ ne $Config::Config{archlibexp} and $_ ne $Config::Config{privlibexp}); } @INC; s|/+|/|g, s|/$|| foreach @inc; my %files; $files{$_}++ for @DynaLoader::dl_shared_objects, values %INC; my $lib_ext = $Config::Config{lib_ext}; # XXX lib_ext vs dlext ? my %written; foreach my $key (sort keys %files) { my ($file, $name); if (defined(my $fc = $PAR::Heavy::FullCache{$key})) { ($file, $name) = ($key, $fc); } else { foreach my $dir (@inc) { if ($key =~ m|^\Q$dir\E/(.*)$|i) { ($file, $name) = ($key, $1); last; } if ($key =~ m|^/loader/[^/]+/(.*)$|) { if (my $ref = $ModuleCache{$1}) { ($file, $name) = ($ref, $1); last; } if (-f "$dir/$1") { ($file, $name) = ("$dir/$1", $1); last; } } } } next unless defined $name; next if $written{$name}++; next if !ref($file) and $file =~ /\.\Q$lib_ext\E$/i; outs(sprintf(qq[Packing FILE "%s"...], ref $file ? $file->{name} : $file)); my $content; if (ref($file)) { $content = $file->{buf}; } else { local $/ = undef; open my $th, '<:raw', $file or die qq[Can't read "$file": $!]; $content = <$th>; close $th; PAR::Filter::PodStrip->apply(\$content, "/$name") if !$ENV{PAR_VERBATIM} and $name =~ /\.(?:pm|ix|al)$/i; PAR::Filter::PatchContent->new->apply(\$content, $file, $name); } $fh->print("FILE", pack('N', length($name) + 9), sprintf("%08x/%s", Archive::Zip::computeCRC32($content), $name), pack('N', length($content)), $content) or die qq[Error writing embedded FILE to "$out": $!]; outs(qq[Written as "$name"]); } } if ($zip) { $zip->writeToFileHandle($fh) == Archive::Zip::AZ_OK or die qq[Error writing zip part of "$out"]; } if ($meta_par{clean}) { $fh->print("\0CLEAN"); } else { if (!defined $cache_name) { my $ctx = Digest::SHA->new(1); seek $fh, 0, 0; $ctx->addfile($fh); seek $fh, 0, 2; $cache_name = $ctx->hexdigest; } $cache_name = substr $cache_name, 0, $cache_name_size; $cache_name .= "\0" x ($cache_name_size - length $cache_name); $fh->print($cache_name, "\0CACHE"); } my $offset = $fh->tell - length($loader); $fh->print(pack('N', $offset), $PAR_MAGIC); $fh->close or die qq[Error writing trailer of "$out": $!]; chmod 0755, $out; exit; } { last unless defined $start_pos; _fix_progname(); require PAR; PAR::Heavy::_init_dynaloader(); { require File::Find; require Archive::Zip; } my $fh = IO::File->new; # Archive::Zip operates on an IO::Handle $fh->fdopen(fileno(_FH), 'r') or die qq[fdopen() failed: $!]; Archive::Zip::setChunkSize(-s _FH); my $zip = Archive::Zip->new; ($zip->readFromFileHandle($fh, $progname) == Archive::Zip::AZ_OK()) or die qq[Error reading zip archive "$progname"]; Archive::Zip::setChunkSize(64 * 1024); push @PAR::LibCache, $zip; $PAR::LibCache{$progname} = $zip; outs("Extracting zip..."); if (defined $ENV{PAR_TEMP}) { # should be set at this point! foreach my $member ( $zip->members ) { next if $member->isDirectory; my $member_name = $member->fileName; next unless $member_name =~ m{ ^ /?shlib/ (?:$Config::Config{archname}/)? ([^/]+) $ }x; my $extract_name = $1; my $dest_name = File::Spec->catfile($ENV{PAR_TEMP}, $extract_name); if (-f $dest_name && -s _ == $member->uncompressedSize()) { outs(qq[Skipping "$member_name" since it already exists at "$dest_name"]); } else { outs(qq[Extracting "$member_name" to "$dest_name"...]); ($member->extractToFileNamed($dest_name) == Archive::Zip::AZ_OK()) or die qq[Error extracting zip member to "$dest_name"]; chmod(0555, $dest_name) if $^O eq "hpux"; } } } } unless ($PAR::LibCache{$progname}) { die << "." unless @ARGV; Usage: $0 [ -Alib.par ] [ -Idir ] [ -Mmodule ] [ src.par ] [ program.pl ] $0 [ -B|-b ] [-Ooutfile] src.par . $ENV{PAR_PROGNAME} = $progname = $0 = shift(@ARGV); } sub CreatePath { my ($name) = @_; require File::Basename; my ($basename, $path, $ext) = File::Basename::fileparse($name, ('\..*')); require File::Path; File::Path::mkpath($path) unless(-e $path); # mkpath dies with error } sub require_modules { require lib; require DynaLoader; require integer; require strict; require warnings; require vars; require Carp; require Carp::Heavy; require Errno; require Exporter::Heavy; require Exporter; require Fcntl; require File::Temp; require File::Spec; require XSLoader; require Config; require IO::Handle; require IO::File; require Compress::Zlib; require Archive::Zip; require Digest::SHA; require PAR; require PAR::Heavy; require PAR::Dist; require PAR::Filter::PodStrip; require PAR::Filter::PatchContent; require attributes; eval { require Cwd }; eval { require Win32 }; eval { require Scalar::Util }; eval { require Archive::Unzip::Burst }; eval { require Tie::Hash::NamedCapture }; eval { require PerlIO; require PerlIO::scalar }; eval { require utf8 }; } sub _set_par_temp { if (defined $ENV{PAR_TEMP} and $ENV{PAR_TEMP} =~ /(.+)/) { $par_temp = $1; return; } foreach my $path ( (map $ENV{$_}, qw( PAR_TMPDIR TMPDIR TEMPDIR TEMP TMP )), qw( C:\\TEMP /tmp . ) ) { next unless defined $path and -d $path and -w $path; my $username; my $pwuid; eval {($pwuid) = getpwuid($>) if defined $>;}; if ( defined(&Win32::LoginName) ) { $username = &Win32::LoginName; } elsif (defined $pwuid) { $username = $pwuid; } else { $username = $ENV{USERNAME} || $ENV{USER} || 'SYSTEM'; } my $stmpdir = "$path$sys{_delim}par-".unpack("H*", $username); mkdir $stmpdir, 0755; my $cache_dir; if ($ENV{PAR_CLEAN}) { $cache_dir = "temp-$$"; } else { open my $fh, "<:raw", $progname or die qq[Can't read "$progname": $!]; if ((my $magic_pos = find_par_magic($fh)) >= 0) { seek $fh, $magic_pos - $FILE_offset_size - length("\0CACHE"), 0; my $buf; read $fh, $buf, length("\0CACHE"); if ($buf eq "\0CACHE") { seek $fh, $magic_pos - $FILE_offset_size - length("\0CACHE") - $cache_name_size, 0; read $fh, $buf, $cache_name_size; $buf =~ s/\0//g; $cache_dir = "cache-$buf"; } } close $fh; } if (!$cache_dir) { $cache_dir = "temp-$$"; $ENV{PAR_CLEAN} = 1; } $stmpdir .= "$sys{_delim}$cache_dir"; mkdir $stmpdir, 0755; $ENV{PAR_TEMP} = $stmpdir; last; } $par_temp = $1 if $ENV{PAR_TEMP} and $ENV{PAR_TEMP} =~ /(.+)/; } sub _save_as { my ($name, $contents, $mode) = @_; my $fullname = "$par_temp/$name"; unless (-e $fullname) { my $tempname = "$fullname.$$"; my $fh; (open $fh, '>:raw', $tempname) && (print $fh $contents) && (close $fh) or die qq[Error writing "$tempname": $!]; chmod $mode, $tempname if defined $mode; rename($tempname, $fullname) or unlink($tempname); } return $fullname; } sub _set_progname { if (defined $ENV{PAR_PROGNAME} and $ENV{PAR_PROGNAME} =~ /(.+)/) { $progname = $1; } $progname ||= $0; if ($ENV{PAR_TEMP} and index($progname, $ENV{PAR_TEMP}) >= 0) { $progname = substr($progname, rindex($progname, $sys{_delim}) + 1); } if (!$ENV{PAR_PROGNAME} or index($progname, $sys{_delim}) >= 0) { if (open my $fh, '<', $progname) { return if -s $fh; } if (-s "$progname$sys{_exe}") { $progname .= $sys{_exe}; return; } } foreach my $dir (split /\Q$sys{path_sep}\E/, $ENV{PATH}) { next if exists $ENV{PAR_TEMP} and $dir eq $ENV{PAR_TEMP}; $dir =~ s/\Q$sys{_delim}\E$//; (($progname = "$dir$sys{_delim}$progname$sys{_exe}"), last) if -s "$dir$sys{_delim}$progname$sys{_exe}"; (($progname = "$dir$sys{_delim}$progname"), last) if -s "$dir$sys{_delim}$progname"; } } sub _fix_progname { $0 = $progname ||= $ENV{PAR_PROGNAME}; if (index($progname, $sys{_delim}) < 0) { $progname = ".$sys{_delim}$progname"; } my $pwd = (defined &Cwd::getcwd) ? Cwd::getcwd() : ((defined &Win32::GetCwd) ? Win32::GetCwd() : `pwd`); chomp($pwd); $progname =~ s/^(?=\.\.?\Q$sys{_delim}\E)/$pwd$sys{_delim}/; $ENV{PAR_PROGNAME} = $progname; } sub _par_init_env { if ( $ENV{PAR_INITIALIZED}++ == 1 ) { return; } else { $ENV{PAR_INITIALIZED} = 2; } for (qw( SPAWNED TEMP CLEAN DEBUG CACHE PROGNAME ) ) { delete $ENV{"PAR_$_"}; } for (qw/ TMPDIR TEMP CLEAN DEBUG /) { $ENV{"PAR_$_"} = $ENV{"PAR_GLOBAL_$_"} if exists $ENV{"PAR_GLOBAL_$_"}; } if ($ENV{PAR_TEMP}) { delete $ENV{PAR_CLEAN}; } } sub outs { return if $quiet; if ($logfh) { print $logfh "@_\n"; } else { print "@_\n"; } } sub init_inc { require Config; push @INC, grep defined, map $Config::Config{$_}, qw( archlibexp privlibexp sitearchexp sitelibexp vendorarchexp vendorlibexp ); } package main; require PAR; unshift @INC, \&PAR::find_par; PAR->import(@par_args); die qq[par.pl: Can't open perl script "$progname": No such file or directory\n] unless -e $progname; do $progname; CORE::exit($1) if ($@ =~/^_TK_EXIT_\((\d+)\)/); die $@ if $@; }; $::__ERROR = $@ if $@; } CORE::exit($1) if ($::__ERROR =~/^_TK_EXIT_\((\d+)\)/); die $::__ERROR if $::__ERROR; 1; __END__ PAR_TEMPPAR_PROGNAME.%s%s%sPERL5LIBPERLLIBPERL5OPTPERLIOPAR_INITIALIZEDPAR_SPAWNEDPAR_CLEANPAR_DEBUGPAR_CACHEPAR_GLOBAL_DEBUGPAR_GLOBAL_TMPDIRPAR_TMPDIRPAR_GLOBAL_TEMPPAR_GLOBAL_CLEAN1DYLD_LIBRARY_PATH/var/tmp/TMPDIRTEMPDIRTEMPTMPUSERUSERNAMEpar-SYSTEM%02x%s%s%s%s%s: creation of private subdirectory %s failed (errno=%i) %s: private subdirectory %s is unsafe (please remove it and retry your operation) PATHparl.parshort read%s%scache-%s%s%s%stemp-%u%s%s%stemp-%u-%u%sperl0PAR::Packer::VERSION1.063Unable to create cache directory%s: creation of private cache subdirectory %s failed (errno=%i) -e--/:lseek failedread failed..%s/%sInternals::PAR::BOOT,,APP@|P L$hD\&&'8      !"#$%&'()*+,-./0123456789:;<=  PAR.pm h`>0@@<l $HpBh~ *:N^lz.D\p| 0@P_PL_do_undump_PL_exit_flags_PL_perl_destruct_level_PL_tainted_PL_tainting_Perl_croak_Perl_get_sv_Perl_gv_fetchpv_Perl_mg_set_Perl_newXS_Perl_newXS_flags_Perl_safesysmalloc_Perl_sv_setpv_Perl_sys_init3_Perl_sys_term___chkstk_darwin___error___sprintf_chk___stack_chk_fail___stack_chk_guard___stderrp___strcpy_chk_access_boot_DynaLoader_bzero_closedir_environ_exit_fprintf_free_getpid_getpwuid_getuid_lseek_lstat_malloc_memcpy_memmove_mkdir_open_opendir_perl_alloc_perl_construct_perl_destruct_perl_free_perl_parse_perl_run_read_readdir_realloc_rmdir_sprintf_stat_strchr_strcmp_strdup_strlen_strncmp_strrchr_strtok_unlink_vfprintf_ainy_par_plăleanup?@ABCDEFGHIJKLMNOPQRSTUVWX !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX _XS_Internals_PAR_BOOT__mh_execute_header_get_username_from_getpwuid_main_my_par_pl_par_basename_par_cleanup_par_current_exec_par_die_par_dirname_par_env_clean_par_findprog_par_init_env_par_mktmpdir_par_setup_libpath_sha_final_sha_init_sha_update_xs_init_PL_do_undump_PL_exit_flags_PL_perl_destruct_level_PL_tainted_PL_tainting_Perl_croak_Perl_get_sv_Perl_gv_fetchpv_Perl_mg_set_Perl_newXS_Perl_newXS_flags_Perl_safesysmalloc_Perl_sv_setpv_Perl_sys_init3_Perl_sys_term___chkstk_darwin___error___sprintf_chk___stack_chk_fail___stack_chk_guard___stderrp___strcpy_chk_access_boot_DynaLoader_bzero_closedir_environ_exit_fprintf_free_getpid_getpwuid_getuid_lseek_lstat_malloc_memcpy_memmove_mkdir_open_opendir_perl_alloc_perl_construct_perl_destruct_perl_free_perl_parse_perl_run_read_readdir_realloc_rmdir_sprintf_stat_strchr_strcmp_strdup_strlen_strncmp_strrchr_strtok_unlink_vfprintf_par_setenv_par_rmtmpdir_par_xs_init_sha_transform_xs_init.file_PAR_MAGIC_par_setenv.alloced__MergedGlobals 0 \XQP  :parI"eאEO^DXk|XofkOX||zڽH,XofkOX||zڽH,XofkOX||zڽH,XaӐ 5MhZi!۾ڢ8#(Pڛkx1悭Ge}[D:Loau5Fڦ~HaD{.:2ꌶrRz"%E=ܘ ?j!5r(DΠ"eIٱ!+ZB6$XP4+A#&CD[4h5=<>ڞgO( . pFtF]A*4d44%+uÐqlȤݕYMۥc Bo}XofkOX||zڽH,XofkOX||zڽH,XofkOX||zڽH,Zv |D3 j2-qֈ.XofkOX||zڽH,XofkOX||zڽH,XofkOX||zڽH,Lw}!2HAUkC@[fZR 6yHdr([jPU __TEXT11__text__TEXTC__stubs__TEXTV V __const__TEXTaa__cstring__TEXT(/_(/__unwind_info__TEXT00__DATA_CONST11__got__DATA_CONST1p1__const__DATA_CONSTp1p18__DATA22@__data__DATA22__common__DATA2`p__bss__DATAp2H__LINKEDIT2@2`u x&&/Users/runner/hostedtoolcache/perl/5.38.2/arm64/lib/5.38.2/darwin-2level/CORE/libperl.dylib4@2 3M2r23`U P '3KzUL6F =2 * 8=8/usr/lib/libSystem.B.dylib&п2)2@J5 k@?q$BzT@( A@y)!?qT?-qT?qT__WO{ @@ @  R{COBWA_Ĩ@suA96h@h>Ch @  RER 2 @@ ]@)2 ]HR >C@iB@yK=_ 1KzTJ=@ yjKJ?!*kTh@tJ@y)TqTVyRyJy@y]R *y5F@y qR}FyJyh@tJ@y ˊ IUyVQyKJySH@y2Hy{COBWA_Ĩ_I=@)}iij@ i)hB@y2hBy{COBWA_Ĩ__WO{(_xQ@B@y!6kHT>@}B@y*}j!}  By QBy=@R >@}өjhi @3i({COBWA_Ĩ_֗zcO{C@@yP7`7{AO¨)_x) 3]4R *(@yh@aT` @t@{AO¨_h{AO¨_O{C@t@{AO¨_O{C8@hu@R|4` @t@{AO¨u` @t@{AO¨_WO{@tJ@yF@y kbTUM)V @ybTR@y !?q@zT"h@AT` @~t@{{BOAWè_h@ cTh{BOAWè_og_WO{@@y !?q!T{FOEWD_CgBoA_j@9* 06*Q_q+Rj!ʚk J D@Ti@)iTB6! }Q? qcTyqT A96*@ @ q$@z TAR @ @ICKC !lMyk aT)q)}} ii Y,T@@ATȊ@9H7TB@y"p7@aTȢ@B@y! }Q? qCT?uq@TR"-!8a{79c44RR@|7@9H7 T@B@yr!q`T҈B@yr!q`T@h?ֵ4:qTL2@y:q TB@y!qT!0@qT@ @ @aRr@@&@Rw @@ T @)@?!T @ߝRr) @@@@?q T(Q"@ )E, T )A, T _) aT"&@X@ccRR/4@jThQqT) ) +ih8J @֔@hQqT) ) +ih8J @A  @@@7 F@i)-@)@?AT{GOFWE_DgCoB_ֹ &@@yp6@@@yw7@_WO{R@@y"3@y>YiR9hB@yp6s@{BOAWè_yhBy`{BOAWè_?qT? qT?qT >{C(|@'eog_WO{6R779C Z;Э?R; { Ρ ,B,3H@h C95@9?rATB@yJ!_AqT+k29K9QqTlkk8J @֨@ A@yp6!Z_}q@T_q T@ B,,Ρ @906@+@iA@y)p6j@JA@yp7?!r`T B,,Ρ @HA@y !@HAyh@H%@9y9hC95R wB,, RΡ R4@ A@y) p7 `@|B@yp7Э?RZ;B,$6@@ R ,Z;?Ro"?RZ;pB,@hB@yw6LhB@y?RZ;pB,w6@3iB@y?jTi@)?T !}qT)DB @A@yhp7@ A@y)!?!q$Kza?]q`T?!qaT@ A@y)!?qT@@ @%R Ρ o,pB,@AB@y!iqRpB,o,Ρ `TB@y@ w7 A@y)!*Q_q"ʚJD@T?}qT{FOEWD_CgBoA_og_WO{6R7C 9;;| Z u@9rT)@i)C95B@y)!@?AqT@9j 6{i 7 29+QqHTJkk8) ֈ@ A@y p6 !_?}q`T?qAT* 06 07@ @ A@y)!?q T@ 5@9 6@@ T@@@"R.U@B@y p7M6@@B@y!qT *5BB@y! qaT-B@y !@By@&@B@y!rTB@y !@By@&@@965@Uҵ@TB@y@hw7B@y! Q?q"ɚ)$@T}qT"@B@yw6B@yw6@u !}qT@B@yw7TR{FOEWD_CgBoA_og_WO{79;zZ-{{7t"0 A@y !*Q_ qT5@J_AT@97+@kkC9K5?AqT?}qT?eqT !@@9| 6k{i 7Kk29?q T *zkx ! q!TAR YhRW*TB@y@?rIw6(qT? qTYiqTp6@A@y!iq Tv֖.6@ @@yJ!_qaT @9*6?qiR) R Rj *Byij @ A@yIw6!HqTk[iK6*77?qT@cB@y]7@R<@4<7@@rT @R r qT@@A96v^-{ qT@ A@y)!?9qAT@ *A@yJ_QqT)@I*A@y_!rT* @_T*BKA@yk! qT_  aT *A@yJ!_Eq T29 @9J2 9(@92(9l^gR *By@ ^2By@ V)R *By@ MIR *By@ D 76\76.@)A@y)*!_qTRI%6v,/q`T<'7=@@@y !? qTp6@ A@y*!_1q+Rj! @RJ D@z`T @9_rTp6@ A@y)!?1q*RI! @R) $@zT@9rT@HQv76AR `Tn a@T@@P7r@T`/7`.ҁ @@ @Rf@Rn`. @?qT(Q 76a!/R7vJ/&7{FOEWD_CgBoA_( @T A@y@Iw7 @96 @j  J@j*A@yw6*@* @97!T@@_@@y!!qKzR RA]q`T!qT@ A@y)!?qT@%R _ @ @%R _WO{h RiR_q6 RR7@@y!qT@@HP7h @u5h(h @h(i))jJ(qA_[  @@ @Rf@Rh @mhM+i)q*q!_[ [R{GOFWE_D_O{C @H@@ A@y?R) ?qT @+A@yKp6)@  @906+A@yp7 J@T@B@yp6@kB@yj!_!qDKzTp7k97+A@ykp7k!_!qaT!qT*@KA@yk!qTk@lA@y!qaTk@J@ T)@J@T@B@yjw7{AO¨_-qT* @k@_ T @9J2 9h@9(9hB@y!!qT`@@{AO¨O{C`h@9(6t@MB@yhp6@t{AO¨_Cog_WO{h-@@9C5@{#v@6@9c;@hC9h!5h@ @ @)T A@y@Iw7 @96 @j J@j*A@yp6,@  ( @) @97Tt@iB@y)?!rT@? )J0R) *iBy@?hB@yhBy?q$BzT @  A@y)!?qT?-qT?qTa4A7@!@ R)78@@A=+@;=(A,(9c?(@C"RLqTRO5C96@yy6@9rT q T5mx*@?a4P@29 q!T!@ @@U@y)R jT @?qT(Q `.xt@6JA7@7ByyC@(9A! H@!@ kMT5hB@y R(!3hBy))!Bi i@9)y)2i9yhByA4 @*! 4@ @ u@RRP @ @`T( @) (R*@K @k2K  I_+ @k*+  @_ Th@(SZi)-@)@?AT{\O[WZ_YgXoWC_ @ @)T A@y@Iw7 @96 @j J@j*A@yp6,@  ( @) @97Tґ@Rr  R) * rTe]N`-7C@(A!@  `P.)og_WO{ Ch-@@ @ A@y)!?%qT?-qAT@ A@y)!?%qT) @ @i@@a!0RRRPQ@ 1@9?%q!T @@bR  RRRwr"hB@y!q!Th@9(j!Th@h@9yh9x@@  ?kT @) @)  ?qD@z @z @z`T4@ @@RRRQ`hB@yhp6s@3( R r  ?qT @) @ @BR@@r!ZR @?qT(Q yz5y5R@i)-@)@?T{IOHWG_FgEoD_h@@i@9j@k @l=@9l7 l@@=@L4k@ )R'`0mog_WO{΁;@C9H4{GOFWE_DgCoB_lRo 5p4mR17a!45R#RCrdЄ8Х@ gRr~ރ@9 6B@y!@{h 7܊@9qaT ?q$LzB@y:!_qhTR  xzxJ @ּ.077QEqT"jaTSqTB@y! q@Th5Ɋ9L7 ZhdqToSqAT<6  62Ȏ97RR@@q`TB@y !I!Q?Iq(R !iRrk d@zD OzT@B@yJ!K!QIq! @zD OzT@6G Sq&TlR@ A@y*!rT_ qT' @_$T@ A@yp6@ A@yw7?!raT @?ET@ A@y?!rT @_=aT@ A@y*!_q T!4lRo 5mRa!45R.q TSq!TB@y(! AQ_mqCT)?9qTɊ@9)2Ɋ9q@T(2Ȋ9Ɋ@9)2Ɋ9 Q_qhTB@y!q *Ȋ9 R Q_EqT"_j T]@YTB@y@hw6B@yp7@B@y)!rT)Q?qhTq`T! !Q?Iq") $@z Oz T@T851Tq!TRȎ@92Ȏ9(Ȋ98@28B@y!qTB@y!@ qATARPR zhRRlRmRa!4#RCrD R r qT@@AR=h@  klRp4mR17a!4#RCrd8@ gRr^ރuTK ] @ @*_%qT @ @1 _6 @0@95qT@qA9(747R``hx#`3 (@flRo 5mRa!45R`07n @@@yi @9@(R` 5``5] @(!@+`1W)! @#`2QWO{h@96u@URB@yhp6@5{BOAWè_R)Q?qT J&Lii8k ` R_A@y!9qATR_og_WO{C;@hC9(4{EODWC_BgAoƨ_ * * RRZ/R ) {)qaThB@y !?q!Th@ A@y)w6@hB@y !?=qHTjki8 h@96h@)!Q? qTki8J @h@ A@y)w6@*!Q_ qT kj8) h6i@9)2i9q@T(%Qq Tjh8) uR6h@92h94R^qT"q T>q T^qERuRh@9H6s@h^q T"q` T>qTXhq Ti@9)2i9ShqT>qTqA T RER^Rh@9h 6iuRj@907*(yHG@h h@@B@y!rT/RR RB@y !@ByH@&j@9H2h9=uR;Ri@9(*h9h@92h9h"qT^qT^q iqmT"qTZqT^q@T! Rj@9I *i9 Rj@9I *i9i@96i3@@y!I"qTR>qTq`T ^qi@9(*h9h@92h9ThB@ys@w6hB@yHw7h@A@y!qT+{EODWC_BgAoƨg_WO{CyXCRV@9{h?(jaT@8{h*( _q$ A!T?`T?(j@T@8 {i)) ?qA!TˊRRhB@y!qaTh@9(7a@Rh@92h9RRZ`8ARj%RRrRRkshB@y!qTa@R@9i@9*urH2h9%uShB@y!qTa@R@9i@9*urH2h9RRRR Rp{EODWC_BgA_O{ChB@y!kTqaTh@9(7a@RWh@92h9{AO¨_{AO¨_RR{AO¨WO{R\@@y"3@y>)(Yh9~S9Ht7U7~@.@6ARS`~@.@hit8H54yt{COBWA o7yt`;{CH-@@C,%@I)-@)@?T{A_O{CShB@y!kaTqTa@R@97h@9yh9{AO¨_R{AO¨_Rh@92h9{AO¨_O{H-@@(@@y2(@yARf?@+8@hB@y!%qaTRA@929H@@y!qTT@B@y! q!T"R҂@R;@y@I)-@)@?T{BOA_֍og_WO{9;Z7[Rw6(@4 Ay?qq C95B@y*!r@T _ATSRB@y*!rT@` T+!q TqT]qT!qTq T=q T+QqTH@ 9@)jTAA9H 6R@(@@lA@y!qT `@y@@(!]q T!q T=q T@@ @V)7)YjAyjJe=kkM=qqjkk==]qh#`p,$H@ @@yp6@@A?R+ %qT)!? q`T?1q!T_ q`Ty) (@@@yi @)6)@ d@929@9qI *@@RB@@@aR:@@<@929{FOEWD_CgBoA_d@5WO{ 4 hB@y !B@y!?kTk!Th@ A@y)2 Ay@i@(@h A@y)y Ayh@@9i@9(*h9B@y(P7h `7FHkTqT@Rkh@97@9y9(qaTh@97a@R\h@92h9,_x 5]4R *By@T @@R>@929{BOAWè_RR{BOAWè{BOAWè_ր@929_og_WO{qR RR RB@y!xB@y#@h/Q qT_q`T#qTR4?R q)RIzR/q)77yhRdHzR_q`T#qAT@ A@y)!?q!T@%R _qH9I)9(RA!: @@%RRA!$9w#qTqTh@9 R?(jATh@@p"qh@9yh9Rh@9)R7757RߢqThB@@:(7ߢqTqATR@D;:Ri9(6qhT)R(!Ț  TRi9( 7j@9 7 R77  RJyj9(77i9(I6)RH77j@_) *7B@y)!?%qAT9 7@h5S #2h9?}qT?qT?qaTh@9H74hA97!RRhB@y!QqTRR:hB@y!kTqTa@R4@97h@9yh9R4 RR{GOFWE_DgCoBRh@92h9z5{GOFWE_DgCoB_g_WO{CRRR >B@y"3By9([s 29S 29B@y2ByB@yp7yBy@ A@yip7 @ A@y)y Ay@~@.@hiu8h54yu?@B@y!kATUzsv6a6@AR PB@y(!@zhj(6JA J@96*K!I!3By)[k qT@ @9)y 9{EODWC_BgA {EODWC_BgA_29B@y(w67yu@;C_WO{(2p1+RbUt6!RR@@y"3@y>Zh29~S29hB@yp7yhBy`~@.@his854ys?@({DOCWB_AC_ RR Uth7hB@y!@ztw66h@ARO`iB@y(!@zhj(6JA J@96*K!I!3iByZki qTh@ @9)y 9{DOCWB_AC r7ys@;#mog_WO{CH-@@@@y!QsB q HTRr@W@@ qa T@ @ @@ q TCBR@WH@@y!qTqaT@TR9R)!88B@y*!_qDCzTj597Rp6@p6@(R)w7RRjRB@yp7(Rw7@(R w7#BR@ qT@ @ @@*@9@W:i:@)2i:(7 wS+T7!@8?CT@@.@(* @;Rwj/@(* @KC,@9*@k _ T @, M yj TK  @?:11e)ˡ@CR_TT)ˡCR (@ R r qT(@ @9 @R9R@xRR@sBR-X: @?qT(Q +Rv@*vSgH @z觟q(/ )+ Rz<@9 7@ @?T RΠ@ @@9)  @ A W@ @9)})z R RnR;G /?#@7@)? q^T4@ @@9( W.RN\}R=@ST?/#@7;63@9O@6(A$ i{8 _q`TR)%) 4[@8;z_TT @9?qT @8))A$,ij8  qTRk%k ,4 @8jz  T7R?@ ?;6+@7@Tx@9K@6(A$ ix8h _q`TR)%) 4jX@88z_T+@ BT @9?qT @8))A$,ij8  q@TRk%k 4 @8jz  T8 h*R  )/@ /2A V?TW@ @ h2u 1 !Tg@q;@*H4@_TS@G@VI<T?h 1R1J[@K *4@_AT@K 5 ` T_T*RT+R_ kTbJdjJkRj KJRJ} J} SCT dӋ lR KkRk} k} S_ k T'@k *R7_CTJdӪJkRj KJRJ} J} ST+R. #TF +@ cT{ H ?@ ?;6V= H  lRTR_ kTRcT d5 lR KkRk} k} S@cac `@j@9J2j9 hh RW@Y *@  T @4}K@ _ T T  W@ k_k ˟ T+RL_ T?TIW@ @? TRK5  R) *i7 TS@>@9*}ӈ 7@ @A!?TW@k k_T+R T,R k`TUS@@4*}I7@ @A!?T RL_ T?T@4}K@) -@ T a T T+4 }i!C}BV hbT)RW@ @bT,R? ka Tld,#klR KkRk} k} STldL"lmR KR} } S kT RL_ (T} T< })!#}d"`V;,id)ilR K)R)} )} SW@ @TdMmR KR} } S? kT(R 46< }i!#}6"2VS@@ @9 )} HVTH(HS@VI TA! n@)}  @@9K@ Lz;@$.>SR>@}@?T%>"{qO<  N NA`N1e NC#bNdbNbNa ?dbN!T?Ta/$x TL @еB.@`RRRX@.@@ @ @@ R u3 S@( @5R*( @a} @* 7aA`1 @* /a@87BT;@ @)R * "a@Z@HI873sB$R?BkT!@9jja8( _q@T&) j4*A@8!z_TBT @9?qT@8ijb8 ?qT&B )4 @8Iz T T RR9R9@   A@y@Ip7 @96 @J  J@j*A@yjp6*@*( @I @97T@ @ !T@@y!-qT!q`TqT@tZ)|RB@y!rT!qKza T@9*9O9 6@   A@y@Ip7 @96 @J  J@j*A@yjp6*@*( @I @97T@ @ !T@C@y!)qT@ A@yp7.h4C@y !@Cy@'pH@?ֈ@46B@yp6@?q$BzT@H A@y)!?qT?-qT?qT@C@y!r!T@9iR *9h:@2h:4@A@)X6@(A@2(A2 4/@@B@( GR7i:@)YS)'*R?֠A9G7. @Y6@@y!qTLB@y !@By@&R5R4@$-(A@2(A@B@77  )6)@9*3*4?rRR%B@h7H@B@g65@kTlVB@xBGH7/@<R?֠ @ 12B  )6)@9*35 @ @) @ ]@)2 ]R@RR @`RR!R6Rp@@y 2@yy@@vR9B@yp6@yByh:@}S*@9(*9h@9H(6wB@y @?qq@ @T   A@y@Ip7 @96 @J  J@j*A@yjp6*@*( @I @97 T@ @  !T@B@y~   A@y@Ip7 @96 @J  J@j*A@yjp6*@*( @I @97 T@ @  !T@B@yy@ `"B@y!kTqAT@R@97@9y9<RKvh@WxH;@)g@_q( (y@ _q P )@S@`T RIu kqT_ kT!))T@?q'T(Q@&86W&a&TA!t/4HRR@929% @B@y!r!TɊ@96@*A@yJ!_-qAT*@9 6)@*A@y?RJ _@qAT*@ HA@yrI(A@y!=qHT*RJ! @R_ jT_rTq@T]q`T!qT(@A@y!qAT@ H@ @J1@9_)qAT @ YAyJ @J? TiA9h7B@ 2BB@y`"B@y!kTqAT@R&@97@9y9R;@@yIR *@y@R9B@y(p6@(R9@@ yBy(R9@@   A@y@Ip7 @96 @J  J@j*A@yjp6*@*( @I @97T@ @ !T@|&@   A@y@Ip7 @96 @J  J@j*A@yjp6*@*( @I @97T@ @ !T@*ZR>W @KRRX, @ @) R@2@9?)q @AT @m@A@y!G @ @$XRRe@929[@h?7TA!P0R@Y))-@)@?aT{UOTWS_RgQoP#Om__WO{ RT@@y"3@y>)(Yh9~S9(t7B :@(7(7 B :@(6iB@)2iB7 6 RAR.~`6R7@9@X7 6R"~ 4@9@7 RiB@)q(*hB@96&@A!?RRRS @rT5M qT@@ARthB@*hB&@A!?RRRoS  @rT5M qT@@AR]hB@q*hB~@.@hit8H54yt{COBWA 7yt@; {W RR{+_WO{SFDR@@y"3@y>)(Yh@RDyB@y2ByhB@yyhBy`{BOAWè_RRRWO{(2p1+RR@@y"3@y>Yi9~S9(t7~@U7.@~@6ARE`.@hit8H54yt{COBWA 7yt@;B_WO{RRRC@@y"3@y>ZhhB@y!r`TR5@@y@y@R9hBFy *A@yJ2*Ay3iB@y)2iByh A@y)y AyB@y2ByB@y2Byh@t{COBWA_Ĩ_og_WO{(-@@@@y!@4.@hiu854yu?@B@y!kAT3svzuv6o6@AR.EB@y(!@jzh(6JA J@9*6*K!I!3By))Yk qT@ @9)y 9@))-@)@?!T{GOFWE_DgCoBu@B@yhp7@hB@yyBy@R9.Z4{t@B@yp7B@yp6@@B@yw7hB@y)yByB@y)yByh@2RRRR9"@B@y2ByB@yyByFy(@hiw8 5H{w?@(B@y!kT(ywu6u6@B@y(!@*JJyh (6JA J@96*K!I!3By))Yk ARDB@y(!@*JJyhJ/7qT@ @9)y 9C# 2RRW@))-@)@?aT{GOFWE_DgCoB_f7Yw@;\7yu@;og _ W O { C(-@@@@y!@(yv7Z))-@)@?A5T{MOLWK_JgIoH_ZCT@"@6@9Q}q(T ),+ih8J @A 9@7 6 R!R{7AVqTqTA 9@7 6 RAR{ 73h@9770A 9@(7h 6 RR{7&h@ A@y w6@ A@y)!?qaT@ @)-)U ?qT @) @?T @  @9Jy_Aq`T CT h@@ A@y)!?q!T@9@97;@hC95`@ @ @ `T A@y@Iw7 @96 @J  J@j*A@yjp6*@*( @I @97T`@` T R @ ?T @@y)!?qT* Q_ q$)@z TX?qT?qT @9)j`T @ )@*@ ?@T*A@y)@Jw7+@9 6+@ K   k@KA@ykp6K@+I*@J*@97)?Ty@ @ @ `T A@y@Iw7 @96 @J  J@j*A@yjp6*@*( @I @97Ty@_a4A7@!@ R{C A==+@;@)7(A,H@9rTV qT5A4 @*! 5@`@4@y` T@6 @)y ") 29V qT!@ @U@U@y)R j@ T @?q# T(Q @.6@yZC)A7J769 @H@X(@!@kMTȗ5qTtB@yh7@yRR"@)R jT)!8 )CjU)} ?T)A, TiR *RR@@y2@yjRfGҔ@Rr  R) * rTUO @H@@ -3{(-@@C#]_))-@)@?T{B_2WO{ h@9H7)A)@)J6J@9I34 Rе hB@y!qTRh@92h9ChB@y !?q TiR *hByе.Ch t@B@yq!T_B@y !@ By@&p6@@@yqAT(R@@yR *@yCR9B@y2ByhB@yyhBy@.@hC954C?hB@yIR *hBy*Ch {COBWA_R@@yiR *@y-CR9hB@yyhBy@.@h-C954-C{COBWA 7C7-C ;{C_WO{qT`RRRy@@yh"3@yh>)(Yh2(9)j)7B@y2ByB@y2By@929T@.@s~@B@yyBy@.@s~@his8H54ys{DOCWB_AC n7ys ;WO{hB@y!qTt@TB@y ?q!TvB@y !@By@&hp6@T{BOAWè_WO{5@.B @>*_1 #EY:@y:"@RT)E,"@ @)A,IT _) "W>@@8@987@ @|@V{BOAWè_ T@ @yv@@ @96@?E,@A,HT__og_WO{(-@@B :@0 ;@( I96R`@@y!r`TB@y !@By@&B@y!qT@RQ@929%#Rj@@yR *@yCR9B@y2ByB@yyBy@.@hC954C? @@8@987@ @|@5@kT7@7D@`џMT@ @yt@@ @96 @C?M7G6:@2:D @9I6hBRR.֢4 1RRp@ hB@y!qTa@Rh@92h9AT&T"R@@y*@yC9hB@y2hBytB@yyBy@@hC9H 5C?T҉C@yw6@ @s4B@y!qaTR@929 @> @@8@987@ @S4u|@0hT@ @ys@@ @96 @C?R@@yR *@yCR9hB@y2hBytB@yyBy@@hC95C? @ @@))-@)@?!T{GOFWE_DgCoB_ִ7C ;Vi WO{ @@y(!)B ?)qT}q`TqT`@)qT@@yp6@`@@yhp77h@9 yi9@9i62h9{BOAWè_ RR?RB@y(w6@B@yjT@Tog_WO{C{;h@ I9)y 9 RA@9Z7966H@%@H4(@) )@ TRRB@yJI *By@ 9C ;@^)H@JE, !@? $@JA,$JT(_(H@"%@UN&H@Q@R,iN;@2;aRRh@ eB?1T @?1 T&  H@ @* @J* *@B@y)!?qT@ @@@&@RiO@)!8)a T @ R) * @@86B@y!r TB@y !@By@&hB@y!qTRkh@92h9{FOEWD_CgBoA_R|@@yR *@yCR9B@y2ByhB@yyhBy@.@hC9h54C{FOEWD_CgBoA H@%@&H@ @i7C ;7{{%U_WO{Д6@9H4 @ {COBWA_Ĩ_hB@y !?qT) ?) ?P7g7{COBWA_ĨiS+RzA7@ @! R% @9 q Tq!T@929 )7B 5 @ )@*@ ?`T*A@y)@Jw7+@9 6+@ K   k@KA@ykp6K@+I*@J*@97)?T @@@@9J! k qth@92h9(Rh)@@?@;@C9s h5`@I<A@96 `<RRl B4@5 @ 5@`T4@(C4@mT@(R{COBWA_Ĩm?q$BzT@h A@y)!?qT?-qT?qTi_xi 4]4R *hBy@a T @@)@I*@?T*A@y)@Jw7+@9 6+@ k   k@KA@yw6K@+*@97)?!T)@@@5@hB@y2hByAR8QJ@@9)! J qTh@92h9(RhJ)@@?@J{COBWA_Ĩ_?q$BzT@ A@y)!?qT?-qT?qT{COBWA_Ĩ_1O["RIbog_WO{@9ւ; 7@"LI T_8q TRC 4@9Z 49(RUqT !ښ)@8:5VA )(Yh @9*96B@y2By.@his8H54ys?@@y!@k!Tzhu66@AR;B@y(!@zh(6JA J@9*6*K!I!3By))Yk qT@ @9)y 9{DOCWB_AC {DOCWB_AC_V7ys ;#mg_WO{CH7QZ7U@97@H(@( @B2@RRRRr@2@@ @R @( 6@2@R RNV@6@H(@(2@RRRۈ@2@@ @R @( 6@2@R RN!RK{EODWC_BgA#l4H2@CWO{(-@@@@yqTC3I@ @@RzNRRR/@@9H6@B@yhp6@T@))-@)@?T{DOCWBC_Kg_WO{R(-@@@@y!Q=qH T )-+ih8J @9707@yl96@2R(N47y67@sI @@9(6@2RNRRR@/@V@9 07@B@9% SgRMRRR&/ R@96@B@yp6@?q( qATRRR/@ @5M qT@@TRRR. ARkT @9R@97@ )-@)@?T{GOFWE_DgC_֏B@y!@i)A(yhS /rWO{ @@y !?q`THp7 RRu@yhByRRa@R>4hB@y!r`ThB@y !@hBy@h&{BOAWè_ RR!RWO{R<@@y"3)@y(t * 9!V*9hB@yp7yhBy`~@.@his8(54ys?@@y!@ytu6u6h@{COBWA_ARW9`{COBWA_Eh7ys ;g_WO{CR9~@t6B@y !?qTp7 zh9~Sh9~@'@yByRR?@RB@y!r T'B@y !@By(@&2h9v~S2h9B@yp7yBy"hB@y"3hBy>([hh .@hix854yx{EODWC_BgA h7yx ;zWO{Rz9~S9@@y"3@y>)(Yh.@~@his8(54ys{COBWA ֩h7ys ;KCog_WO{-@@92#@ @)C@9<T@ )-@)@?a T{HOGWF_EgDoCC_ @: 42>6> Rhzx!!?ST?TH@[{xQSTQ!!p> QT!!>!!>SQShzx T!TQ!!?Q!!8?og _ W O { C-@@;@OHC94R;RRr+wG86RK7hH @@]@iRIr j TRVRRr+X7@ @ qT@ @+@7@=@9SG 6RCBR6)[ 6W RkA@967@%@H4E6@))) *JM H @*@J@J@J))%@!! RK7-6@ ( RRVRRr+77 @JA 6@? $T)@J6J@ J$T0 L ARR(RK72@9%qaTR<RZ9@#RB@y2ByAR=KZ(C@y2(CyAR5K7@HC@y2HCyAR-KT5+@T _8?qT!!P@5!! R!! RRҿ73R4!!74 @ @  ?qT @) @3@R4R{4&֢ @ @?qcFT(Q 35RBRь(@ @R5@ ?%q`TZs j@J@J]@kRKr_ j9TX6 @1@95qT6@+@RG@?qć@ ?%qT @ @5 @ih X7 s h@@yA9( 7B@y!qTs;h@@R^h@s h@@qA9H 7 '@@y!qTh@@qA9 7h@ qA9i6@H RR@z   A@y@Ip7 @96 @J  J@j*A@yjp6*@*( @I @97T@ @ !T@D @ 1@9?5q=)6)@ T+@ARR@VR@RK72@9%qT@A@9H7RRRRp@@957@a@(@]@7S/@HP7/@P7h X6 @1@95qT|6@3@$2G6@967@%@);)@)@?1@T %s `@RI`RC6@!!d `Rb`RX4/@ @@T(0@9-qT0@9-qTBR 5h@ @) 7@% @@?q!T(Q{!h@@h3@c Ҕ7@xh7@963@2@9%qT@A@97/@@!@T$ n4Ҭ/@@(@I) @ ]@)2 ]@ ]@)2 ] @@]@@2@ ?%qTG@ @ J J@J@JqA9G@j7X7 R*0r jTR@ ? q T?q@ T!Rb+@Rq  @@]@ @*]@H*(]os `@@?qT(QR;@h  5@O@kMTB7t@)@ @)uA9i6=@9h66Z )-@)@?A_T{MOLWK_JgIoH_֨ @RH46#? qcT@* @ @[7B@? @ @Rr( 6@2/@ s `@@3@!@X7X3@ה4@2`@@?qST(QR/@D@9 qaT!!5 @8whRHrt@I/D?\_@)1J  H+@/R )H@2@9%q!T) )@)@)]@( @*]@H*(]+@cT=x7| @@ ?%qAT @ @@@<@9h6 @(@)=@?qT@(X7 R*0r jTR@ ? qT?qT!R ? qcT@* @ @E7@? @ @Rr( 6\@2 6@<@9h6 @(@)=@?q+T@? 1,T@(? 1lT@h?1T @@ qT) @) @@(?1T@@H}|6@@/+@G@qaO=@@ ]@)2 ]@  { h@ @)]@@) *@K]@k) *I] @))@@I) @)Y@@IY @)%@@I% @@*) @@*% @)@@I @@* @*]@ J *]@ ]@?@) * ]C@4@!@7@@@@)@(!@ ]@)y ]6@Ї@%@a@>A@96) @) s `@,@?q+T(Qw@@2@9%qT+@c*T?G@qa<@@ ]@)2 ]7@@@@)@(!@ ]@)y ]6@83@Z4@2. @) @@ ]@)y ]@@@!T @@@z@929(RI)@`@?h@B@y!qAT@R?q$BzT@h A@y)!?qT?-qT?qT@]@S587@@6*uA987)@)@*B_@K@(*6 6@RF @ K@(*(7A@9 66@) )@ TR= `<RBRR7@ @)@)@))JJ@%@ n@ @@RRR'( @@R@@@ @hRRR'@( @ @sB4z@5 @ 5@` T4@HC4@- TXzRbq;@C94ARR@9 QMqHT )-+yhxJ @!!`n5O@^ !!`9}l5!!(9x@l5 !!x9sk5!!89nk52@9%qT@uA9h86 @ @?qTR(Q pw@@hheOD"R2>]2 _8I p_ y _8I p_ y6@97!@@@RJ@@!! RCRp ʾ  ǾQ.)R 9 @ @? KT) )@J.J@+R 29k @ jT @ykM@94@97!@1`T%@1@TkT k"Jz"T29 !@4@)@N@%@@@@ym@929O7 k"TOK kT k2JzTT_O{C6@H@HRR@@y !?5qT)R *hBy%@h {AO¨_RR{AO¨WO{R\@@y"3@y>)(Yh9~S9t7U7~@.@6AR1`~@.@hit8H54yt{COBWA nh7yt;WO{@е6~D @F!R^@@BRA 9@)2 9;@  {BOAWè>WO{B :@z: RBRcRJ@@a@BR:{BOAWè#g_WO{Ch@@y!qXT@ 5@9?r@TB@y)!?qVT5@9r VT@ARMRRU RRyB@y!q!T@R(@9@9*urH299R@7@9r@ T 4ҺRRRDy@@y R *)@y(aC.@haC9HN54aC?B@y!qT@9h7@RJ@929RR`RRC@y!qTR@7@9rTARܽRRw4 HR Ҩ@929a dRR) *i6B@y!qT@R@9@9*urH29 ҈B@y!qT<RRRDy@@y R *)@y(aC.@haC9>54aC?B@y!qT@9h7@R@929RRX`RR  RRRRo +RR2RҡRB@y!qT@R@929R*R@@yR *@yCR9B@y2ByB@yyBy@.@hC9154C?RaVB@y!qaT@R]@929#Rw@@yR *@yCR9B@y2ByB@yyBy@.@hC9*54C?R[B  :@m(ۙ~hgR0`7R`ҨGzg R `7RPhjtgR`7R@lgR`7R0QҨgۃR`7R Ā(hhg˃R`7RHj'gRR` *:)7)@*9@K}Sk k QqTKR*jaT)IA9 (7y:t @,-2:t @,:@9 6!!1j4!!1RRR#@ @h:@987h@ @ Rr TRV?@ @ qAT@@AR@y-qT!!` R:@Hy_r y rhj(6I487 yr(:y:@2:;@ J. H@ ?1H{EODWC_BgA_*|@ Rr!TRh:@986 |@ T ARĆ\S4h:@9H?7h@ @ hT!RR>@ @ qT@@ARR*>-qCT:@H2_r 2 rhj(6I487 2r(:>qT"@)E,sB, `THT _) aT"  0Oh7aCJh7C;{ _) T{_{__WO{c;7D"RDRRNRRo@929RRf37@ !@7+@ !@RRSC@y!qaT@9(7@R@929RR RR@929(R3 {COBWA_Ĩ3;O{C!4@+RR{AO¨<ARx@RR  RRRR`RR{AO¨WO{!R!R R{BOAWè$WO{6@ @ @ `T A@y@Iw7 @96 @J  J@j*A@yjp6*@*( @I @97T@R@@y2@yCR9B@yp6@RyBy@9*9~S29h~@ {BOAWè_g_WO{-@@HQ qTtqRgRRC#R@ )-@)@?!-T{FOEWD_CgB_ 5aq Tq TB@y!eq`T5qT@9y9 RR4!R+l!R&gR{~S9u B@y!@H5@ T@@97C@y?R iR kAT@B@y !)-Q?qhTɊ@9)7Ɏ@9?qTp6@hA@y?R q TR@ )-@)@? TRR@ )-@)@?T`1RERRhB@y!iqATh@92h9RR@ )-@)@?!TR@9qTҨB@y!5qhT)R(! @R jT@9h6 X6.RR@ )-@)@?aTR{FOEWD_CgB9R@R ZC@y !?5q)#) $@zT @906 C@yhp6@X hB@y!yqa Ti@9) 7B@y!-qT!qT@ A@y)!?qT @i&@9@h&Ri@9(*h9@9)(*h9(@s2 k Ts@jB@yJ!_qaT`@ @ @6 @k@7@?q T)Q }@)`"@@"Rҗa@Rh@92h9@@"RҊh@92h9h@9h9}@)I t6@@9Ȏ@93 RRRR@B@y)0R *ByF @929H!RR&*4@y` @)2 j@O{C @@y(!rTUqT@@ A@y @9@9  *K 7,!JR-Q q THR!qT]qT,!qT@ A@yp7B@yp6@qT2@9h6@ @@y R @9,!q@Thq Bz`Thq@zT)!(R+!QIq !- Rrk d@z$ TzAT{AO¨_@B@yw7ҮqTqT(R{AO¨_qq?kT 1 R{AO¨_9qH{AO¨_JR,!q TR{AO¨_HR{AO¨_ֈ-Q qH%{AO¨_g_WO{CT@s@B@y !) Q?Mq*RI!*Rr) $@zTh7@97!1Rq!TEBR{EODWC_BgA(R) R*Y@*C@yJ!KQq !k d@zT*@9J6*@KA@yl!rT%q`TqaTw6J@j5*@9j6*Y@+@ _ T _q!T(@9h7h06!2R6q`T@9(6R4@ A@yp7 ҋB@yk!qT5*A@yJ!_iqT)@906@9 qATIR @B@yk!qTI!?9q T?=qT?Iq@T?qT(@p"=Z(@9y(9qTq TqaT5@5:@9(0(7!8)CjU)} ? i/T@r`T P7(@7X6 @ 9@9)) 6@@=@9( 6R6@(@5@9'4hB@y!qaTh@( A@y?R) jR? kaT@H A@y)!?1qHT*RI! @R? jT@9q+T(C@y!qT(@92(9<5@u":@9'(7!8)CjU)} ? &T@r TP7 @7X6 @ 9@9i'6@@=@9'6Rȍ`7I4?eqT5@ @T @@9qT@ @T( @@9q!T @eT)R7@%@J;J@J@ %H7Yi)eQ J4 k4? qi1'!3R6@%B@y!y9qaT@97Rz@   A@y@Ip7 @96 @J  J@j*A@yjp6*@*( @I @97T@ @ !Tz@Rl@@y"3@y>([hR9 A@yp6@)y Ay@9*9~S29@   A@y@Ip7 @96 @J  J@j*A@yjp6*@*( @I @97T@ @ !T@R.@~@hit8 5h4yt?yt}Ss`{EODWC_BgA_H87RQqThB@y!qTjQqTqhR^B@y !@By(@&hB@y!qT RT@@@@hB@y!qTh@92h9hB@y !?qT !@+Rj!ʚ K_ Ti@9)2i92hBy?)qATRR!@@y~ATTH7yt;3_WO{C-@@s(R) R X@ C@yJ!KQq !k d@zT @9 6 @KA@yl!rT%q`TqaTw6J@5 @96 X@ @ _ T6C#`RC#RR@)-@)@?!$T_qT@6:@9h$(7!8)CjU)} ? #T@r`TP7!@7X6 @ 9@9i! 6@@=@9 6R'6@ @ @ `T A@y@Iw7 @96 @J  J@j*A@yjp6*@*( @I @97T@R @@yR *@yhBRȊ9 A@yp6@)y AyȊ@9*Ȋ9~S2Ȏ9h@.@h, @ @ `T A@y@Iw7 @96 @J  J@j*A@yjp6*@*( @I @97Th@.@hB95h4B?֗@ @ @ `T A@y@Iw7 @96 @J  J@j*A@yjp6*@*( @I @97T@RkRfRR`@)-@)@?aT{EODWC_B_@( @T @@9qT@9 R?(jAT@p"SW@9y9B@y !?qT !@+Rj!ʚ K_ TɊ@9)2Ɋ9 ?)qTRR@@y2By@)-@)@? T9@@h@9 R?(jTUTkH7B; WO{@@y!qTqTh@ A@y)!?qT{BOAWèh@ A@y)!?qT@ A@y)!?qAT97Rl47@%@);)@)@?1@T %!5R@%{BOAWèn_WO{(@@y !?qTRR@@y2R *hByxWFh RR0RĽ@@y2R *@y[FR9 A@yp6@)y Ay@B@y2By@B@yyBy@RR`2RR{COBWA_Ĩg_WO{CW@ @ @ `T A@y@Iw7 @96 @J  J@j*A@yjp6*@*( @I @97Tw@Rc@@y R *@yhBRȊ9 A@y p6@RȊ9@)y AyRȊ9@ @ @ `T A@y@Iw7 @96 @J  J@j*A@yjp6*@*( @I @97T@~S2Ȏ9R Rv@RRqRRl@( x9K!RRҭ$ւ4@y`RRt!RRҠ$@y`RGt@@yi @)2 B@y!qeS9hB@y!qeS9@94@9i6@p"¯lV@9y9@94h@9H6h@p"_Vh@9yh9@9h4@9h5@{EODWC_BgA_ @ @ T A@y@Iw7 @96 @J  J@j*A@yjp6*@*( @I @97T @ @ T A@y@Iw7 @96 @J  J@j*A@yjp6*@*( @I @97T_WO{C-@@ 96B@y!rT7RB@y!9q,T eQ? qTH5@?eT=qTIq`TqTh6@H@HRR@@y !?5qT)R *Byh%@ RRRR`RRy RRz RRuRRqTB@y!qaT@R@929#R@@yR *@yhCR9B@y2ByB@yyBy@h.@hC9#5h4C?C#`RR@ ?qaT I@ @I_*H 6 TRRG@9I6@i*A@y p7 qTH5*HA@y!q`TiqaTH@9(76(@9 qT  A@y@Ip7 @96 @J  J@j*A@yjp6*@*( @I @97T@ @ !TI@@ @I_*7H@@HH@9*H9>@929@)-@)@?T{EODWC_B_֨B@y!q T@8@9h(7h!8 )CjU)} ? T @rTP7@7X7R5@7i*@qATi(A@y!9qmT=qTIq@TqT @  @T @@9qTO4eq T@@G( @eAT`RR@ 9@9 6@@=@9'7B@y!qT@ A@y)!?qT@8@9H(7h!8 )CjU)} ? T @rTP7H@7X7RR`6@ @hT(@@9qT @@HR@ 9@9 6@@=@9'7@)-@)@?T{EODWC_B_sTTH7C;g_WO{-@@ B@y!9q,T eQ? qTH5@?eT=qTIq`TqTh6@H@HRR"@@y !?5qT)R *(Cyh%@( RRRRo`RR uV41V:RRR@RWz   A@y@Ip7 @96 @J  J@j*A@yjp6*@*( @I @97T@ @ !TR@ @W RR?z6I B@y!qAT@RȊ@92Ȋ9;@9i6@i*A@y p7 qTh5JHA@y!q`TiqTH@9H76(@9 qT R@@yR *@yhCR9B@y2ByC@yyCy@h.@hC9H5h4C?R@@7   A@y@Ip7 @96 @J  J@j*A@yjp6*@*( @I @97T@ @ !T@@.C#`RR @A TB@y!qT@:@9H(7h!8)CjU)} ? T@r@TP7(@7X6 @ 9@9  6@@=@9 6Rj6'@( @HT @@9qT@)-@)@?aTi*@qAT(A@y!9q T=q TIq` Tq T@@@) `T@h '   A@y@Ip7 @96 @J  J@j*A@yjp6*@*( @I @97T@ @ !T@@I@( R@@yR *@yh9C9RR?@9*9@9!S*9@)-@)@?!T{FOEWD_CgB_ֈ4eqT( @eAT`RRUT'H7C;ɮCog_WO{(@@y !?9q,T 4?%q1TɊ@9Ȏ@9 7R`h6@H@HRTRRB@y!r T!qKzTR"Rt3!R$RR'R?q@T?=q,TɎ@95 2Byh9@ @ A@y)!?qTR@i)6)@2 UB@y!rAT@?U(TRRB@y!rTv@( A@y*!@_ q(T'p6@' A@y*!@_%q(T @p7 a2Ȏ94R@h @@ys  -q3MRB@y!raTJ @+R ) * KA@yl!@%qATL @m Tp6J@j  jJ J@K@lys - @9L06 @h}!? L@ih-,A@yp6)@! dR4Rqh @@ys @9? qT@ @9?qAT@92}q5B@y!rTB@y!r!T@96@ A@y)!?qATg@@:@HC@yhp7҂!RkRRnRnC@y!qT@9h7@R@929RRAR9@97 Rm@ A@y)y Ay@_x)qT R@@==@ A@y)y Ay@B@yP7`7Q4Ȋ@92Ȋ9RR R{HOGWF_EgDoCC_x 8^4R *By@!T @)@&[@(@9y(9GRR(@ @((@H`@C@y!r`TC@y !@Cyh@'RgB@_H7 yl#-(!@I)7(yh| H7yjPH7yj$ C_WO{-@@(@@y!TqTqT@907RRRRe@@y!q`T:qaT@97҈B@y!q!TRr@ @ q!T@ @@: T"BRu@2aT@ @ qT@ R:B@y!q`T BRu^RhA 9@)2 9@)-@)@?T{DOCWB_AC_֨O{CRR{AO¨C_WO{R@@y"3@yh>YiR9 A@yp6@)y Ay9RRI@ @ @ `T A@y@Iw7 @96 @J  J@j*A@yjp6*@*( @I @97T@h.@*@929@929h.@*hiv85h4yv?h@ @ @ `T A@y@Iw7 @96 @J  J@j*A@yjp6*@*( @I @97Th@u{DOCWB_AC_;H7yv;ݫ{@@y! !Q?IqT*RI! Rr? jT@9y29ARR]@RR{*R? jT-Q q"TRRORR{*{_WO{3@7h6@H@HRRM@@y !?5qT)R *Byh%@ -*RR" RRkRR{BOAWèO{C j.h@96s@hB@y!qT R jh8) `@@@yp7@7@7R{AO¨_h@9S{AO¨_h@i)!8 )I{AO¨_WO{ )Ar!C@ @ @ `T A@y@Iw7 @96 @J  J@j*A@yjp6*@*( @I @97T@RRR@@y2R *@yh]FR9 A@yp6@R)y Ay@9*29h~S9@{BOAWè_WO{RRRc RRTu@hB@y!qTRh@92h9#!Rմ@@yR *@yCR9B@y2ByhB@yyhBy@h.@hC9h5h4C?hB@yIR *hBy*Ch {COBWA_H7C;og_WO{ @X7P7 @ @*_5qTP7 5qT@ uA9 (7 @.@P7Ҩ @?5qaT uA9i(7 @ @ @*uA9 (7%A( Ѩ`R4U7Rؠ@{C R Jѫ@9l{k?,j@T 89@R@ RZ@9k{j?+j@T 89@ˈ@) kT?T`5 @ @() @ 75@4|@ ?%qT|#RNF!bR}LP6 @*@9_qAT  @) @! 2k235!bR|0h6@ =@9i7@@=@H4@!BRCR]7@97BR @@@!(@9rR R#I!bR|!W@uS!!0RCR-!LRCR'5vS!`!RCR!`R{GOFWE_DgCoB_0@95Qq(T@ qA96@0@9-qAT_ր4@97@ qA97_@@_Cog_ W O { -@@+x @9 @H@)@hA # 9@)2 9@ %@)@*@J@Vyy@96"@4 )@a@q(h @h;@C94@ @ -)U ?qT @) @+ @@@9RcR3@W7/@@CBR r@ @7B@y2ByAR 0/@@@y2@yAR0h;@C944@@?qjT(Q3{@a@3H 4H@qA9rhw@&B@y!qaTh;@@Rҝ@H@qA9 7@ qA9i6@ QRR@@|   A@y@Ip7 @96 @J  J@j*A@yjp6*@*( @I @97T@ @ !T|@C@97h@@ uA9 87@9@g^TV(R$h@@h@@ ]@)2 ]h@@ ]@)2 ]Bw@RRRR@@@95/@hH@qA97R@''@@(@@9R+@7@#R'@H@)@T@9H7 @?qTT(Q H@ ]@)2 ] ;@(]@jRJrJ2  +1D-)@R /@@ P@^@  **]I@))@@I)I@)Y@@IYI@)%@@I%I@-)I@,%I@)@@II@/I@*]@ J *]I@*]@J**]`6@!@B@!@%@&hA@9 6h) @) Y6@9h6@@9RH+@7@"@a@4H@]@r}S'@w@/@b?R3@0@@B#w@'@R'@h@!@T$ n-Oh7@@ h7 @) R'@XH@]@EA@*]@H*(]A @?q=T(QH Qzf @ssB`6@R RRh@h60o h7@@@@) @ ]@)y ]h6@n@@t'@@(@ ) @ ]@)2 ]@ ]@)2 ]H@]@@*]@H*(]lA @?q2T(QH @@ ]@)2 ]@ uA986@'@3@%H_H@ uA9i87@9@gH/T(Rq#@ uA986@`@@ ]@)2 ]'@h@!@3@uA9H 6Ih7@@@@)@(!@ ]@)y ]h6@nT+@y7@4@2[ h. @) @@ ]@)y ]@@@!T @f@c@@h@92h9(Rh׻h)@@?@hC@y!qAT@R?q$BzT@ A@y)!?qT?-qT?qT@]@S/@h6@{hA@9 6{{6h@i) )@ T;y`<RBRRth7@ @)@)@))jJJ@%@h@ =@9)6@@=@h4!@A!BRCRύ!BRUy@@9Rh@ @@RRRo @@Rh@@@ @hRRR\@ @ @{{C4z@h5 @ h5@Th4@HCh4@MTTzR+I;@#@@ %@)@a(yh @6zy#z9 @?qC T(Q zy@a)*)7@96T6}Ө@%@@yt @iv @) i6@?qT(QT aTR,3@h;@h  h5@kmT_&Z)-@)@?!T{LOKWJ_IgHoGC_l*#ݗ* ֗a*|"R$wog_W O { -@@/4@%B@y!qTqa$T@ @-U qT@ @+@)T@hC@yH p6x@ N:Rr RC@y!q!T@ @ qT@ @+@) T CBR2n+@)T @) @yJ) C@yp6x@(-@ @@@?qT(QR4H@  ?qTI@) @'@ @#BRn@ @'@uSR!5:@"RϳN:hC@yw7l>hp7%@ ?%qTw#R#|5CBRm+@)kT @ Nꍮ*) @y RJ ) (-ш@ @;@@?qCT(Q@ ?%qTP6 @*@9_q!T @) @! 2R 4@"Rx@X `R 4Rr@ @ qT@ @'@@ @ qTBRm@@A@y(w6#BRwm@ @ qT@ @#@v4!T @@ @AR`h @ARv!BRCRBRh@@ @uS'D@J @JuS!7`R֥x@xt/@)-@)@?!T{KOJWI_HgGoF_փ@ ?%qTx&i)!- !@?`T J3Lia8k ` ]@9* RJik@J Y@9* RJik@J U@9* RJik@J Q@9* RJik@J M@9* RJik@J I@9* RJik@J E@9* RJik@J A@9* RJik@J =@9* J%|@J 9@9* J%x@J 5@9* J%t@J 1@9* J%p@J -@9* J%l@J )@9* J%h@J %@9* J%d@J !@9* J%`@J @9* J%\@J @9* J%X@J @9* J%T@J @9* J%P@J @9* J%L@J @9* J%H@J @9* J%D@J@9( %@J_*D)+VRKr+, ) J+@  @@HK JAJ K(5J)=J E  @ K J! TT@JK1 ` ,@ y3il8 )R@9k  @9) @y  ( IK)i(J  J* )!( 9  JJ1H  J* JmH )J K)KI=J J_- l!-(Hӊ-@1A T@ J KJʓ 0 ), ʌ ГATQqT Ή3im8  @9 @9 @9 @9a @9A @9! @9  j Kʉ - )Jʓ* HIʪʫ͓k@ ȓk L iʊ Kʉ̓jk˓)L (ʉj+ Hʊ̓iJ+ Hȓ ` J_#mg_WO{CB6Rw7 @x7y9 zZ#8 Q? qTs@3 hB@y!q TqCzTq T qTqTt@Ph@9 5@T@@%qaT(@@i@yi@96Tc6RaR)U7 @Vւ7)Q? qTs@hB@y !?q T?q$CzT?qTt!qTqTh@95@T@@t@ aR){EODWC_BgA#l_6Ҩ@ ]@)2 ]g_WO{h@qA97`Rݣ 4W7@%@@H;@hy9 4@@]@ 4w@^@7@v7?@@9R̘H;@@1`T@(%v֢ @RM)C@ @) @%R{DOCWB_AgŨ;)R67Rh7R4R0)!,8R(@ @) @]@w@^@(RHr 2q *^{DOCWB_AgŨ_WO{SsB4`@I)5*@K+T@@H4@ TH4 @}) 5@ !h{BOAWè_H4@ h{BOAWè_"R WO{<@9h7@@=@H4@8ARIRRTsRRMH(uB@y!qT@RȊ@9@9*urH29%tUB@y!qT@Rm@9@9*urH29RRRRRO{COBWA_g_WO{C-@@W7@@H@@)!@y9C T *H;@@#!@y9C @T+ #@RI(@I)E,!@ @I)A,IT _) (# h*H;@@(%-(;@y(;6W6' @ @ֲ 7R(2@9 )-q6.2y@ @) i@(h@ ]@)2 ]!@)-@)@?!T{EODWC_BgA_og_WO{AR4R @9) Q?Mq(#T J3Lyixk `!@5HA5@XC4@@uA9h86g4H5@kmTg!-!9!RB @rT}Rzg@5M q T@@w f!`9׽ 5h @!:Rġ`@ 2+@uA9( 86F!(9½5` %+@uA9869!x9`5@@h =@9)6 @(@)=@i4@H @?QqT!F;@4h @!l<R`` 5*@uA987!89`4R` *@uA9h86!gRh @ ARk}R}RgVB0@T*)@V7)@zZC T@@9H'@$@@y2@yAR 'WB7@ @RARS@  @@@ [{4h@(CY9#7)@)@( @ @h @)@) @ \4 @)@) @ @(@)@)v )h @ @ 3@ @ @j@) )C*@J@I @) @i @J@J @*  @J@J @)  @)a H.@9q{FOEWD_CgBoA_;؟:"WO{R{BOAWè$R{BOAWèog_WO{CH6)) @JM H RJRI!2RmT @ @@4 @?qTR(Q H7@%@ @@)A@9)7Re xqA97`R 4( 2CRE&;RH7@x;^RH7@ @ H7 @)  @zZC@7@R RR8`@H70o T @ @@@<@9H6 @(@)=@?qT@(? 1T@ ?1@T @@ qCTH) @) e@6 ]@)2 ]2A leHa-@@!@ ]@)2 ]@@I)A4 %4R6[4`{EODWC_BgAoƨ_@ ]@)2 ]s5WO{SsB4i@H5 @K UTД4@  @V@:@9 87(C (Ha4@@9rT qT'HA7 @()@H7)@ R% @9 qaT@I)4 @)@))C$HT })@}) ! @}Ϻ@ @@)( H4@MT@ @p@} @ !h{BOAWè_"Rmi@ @ })#L&WO{R{BOAWè_WO{j{COBWA_ĨO{CVR{AO¨rg_WO{C9@7_@7ҿ`RV5(B6@9_r@5@@T8R`RG4R`RB4x7 @d@ uA987@@@d@@(@ uA987@@@=@97d@@=@9H6@ uA9 87@@@@@(d@@@@(@ uA9i87@zd@@@ =@@ ]@4x7@x7@ kd@@@@@(tbd@@@@ @ uA9i87@Vd@@@ =@@ ]@4x7@x7@Gd@@@@@@qTN@9(6ARRr @y "cH7@@@@)@(!@ ]@)y ]H6@ch@ @) {BOAWè_g_WO{CX;@HC94@@!RRqd#R"RRj@ @) @@Y97`R4(@%@ @)@?1@T %@! !@ `R(@% @?qT(Q H @ @ @b(@@@@)@(!@ ]@)y ]@RRh@@ @ @ `T A@y@Iw7 @96 @J  J@j*A@yjp6*@*( @I @97T@@Ȏ@92Ȏ9(RH)@@?̱@B@y!qAT@R?q$BzT@ A@y)!?qT?-qT?qT@]@SI @h  H5@kmTZHA ={EODWC_BgA_s@RR`RRO{CR@]@h} SR@R7{AO¨_`RAR1RR{AO¨ϾO{CRn@]@h} SR@R7{AO¨_`RAR~1RR{AO¨O{C@@y !?9qLT?%q$LzaTiR *I)hBy(-@h R"R{AO¨?=q`T?]q!T R *hByH!Bh R"R{AO¨_! Rv{AO¨_O{C@@y !?9q,T?%q$KzT2I)hBy(1@h R"R{AO¨ɸ?=q`T?!qTR *I)hBy(]Bh h@9h9R"R{AO¨_! R?{AO¨_{ @@y(!5q`T-q`T!q T_RR{3(iR *@yH-@{_ O{CQqT)R(!R jTRR{AO¨H7@ 9@*uS_qT)_=q$ @z`TAA97s @qATB@y!qT@906@ @RR"R{AO¨U{ @@y(!5q`T1q@T]qT RR{޽(2@yH1@{_ ]O{C(@@y !?5q!T0R *(@yHF( R{AO¨O{C@hB@y!`{AO¨_WO{e@9(6i@*A@yp64@R6~a@ @ RRŹ RRRR`RR@5h@9h7H6@H@HRR@@y !?5qT)R *ByH%@ RR_={BOAWè_{RRPRRK{BOAWè_og_W O { -@@/ @@y4!@yt~ S@906B@qTJq _!@qaTz7i86H6@H@HRRR@@y !?5qcT)R *hByH%@h 2{@jC@yH! qT5h@ AT*p7/ qTAR J!_ qaT(7yt</h@ A@yJ!_ qTd4R R) J*~S>q HTic6i@9(*h9wX4RRBq'  q K*?R, )!' )H@~SS qkJ*q'Bq TT6_*87J6X6QqTk k5jyhx) zW6R 6VQq Tk ki4jyhx) j6 7H6@H@HRR@@y !?5q T)R *HCyH%@H HQQq(+Tk kI4) jih8) ֈP6zP6RQq)Tk k4 jih8) ֈ 7H6@H@HRR@@y !?5qAT)R *HCyH%@H k.HC@yh%p6SZRR/RzH6RQq!Tk k4jyhx) BRRRzE6RQqTk k4jih8) 85>qTHC@y!qaT qAJTVq`TSHC@yw7A6RHC@yw7A6RO@qTO@qaTHC@y(p7(7ytR!HC@y! Q?%q(Tl Ќ5ii8J @I@*5@96) @)1@9?-q`TiB@y)!@*J7IyiKYh/'!q@T]qTiB@y)!@*J7IyiKYh/(R'>RHC@y(w7(7ytRHC@yw766RHC@y !?1q@T?]qT!@iB@y)!@*J7Xyi qTAR @yhac>R_z26R"RRRmRZHC@yw7N/6RIC@y(!@)!*Q_UqTm ЭQ5ij8k `yHC@y(w7:J@9J07jB@yJ!KQqG(T,R!˚- M Tx5ZiB@y)!@*J7IyiKyhu/'>FRTHC@yw7(6RK@qT5>qTHC@y!q`.TBR8HC@yw7V@@!RR"m@RRAH7@ 9@*uS_qCT)_=q$ @z`TAA97H@ @"RoӢC@yw7,R!˚ T q"T +?-q,T?%qT?=q!TH@ A@y)!?qaT@ @)@*!)+@@  %@9 S/RR H4@y`j_qTRR?1q`T?aq!TI@*A@yK!]q`T!qAT)@*A@yJ!_qAT)@ )@)@)!H @@I@yi@@9+8R(R+1J!J-Q_qhTJJ J@J@) @Iyi)@i)1qR RKhRj RHs@ R r  ?q T @) @+ @VR+HR+R/RRI H4@y`+@4@@9qT |!H"Ri+@@CRn~/@4@2RR@^"RҮR.RVH@9*H9G@HHC@yw7 CBR_@/th(R+/@/@ RRj@9J*j9 hB@y!@ qTAR?#RR/@)-@)@?a TR{KOJWI_HgGoFh@9*h9h@9(6t@8B@yhp6@t4~S7yr ThB@y!@ qTARǥ )7 yh> )7 yh=ђR,/@)-@)@?T{KOJWI_HgGoF_7yt=_=O{HA @9S9@907iB@y(! uQ_!qTk@lA@yp7 Ҍ!Q5qTj@!Q5qhTk@9 6KA@ykk!Q5qHTJ@9 7)*!_%qT'RJ% 7)1J%qH(!@)(yh!4 R4{BOA_WO{@@yAq TR[ 4u@B@y"qT=q!T@96@ A@y)!?q!T@@@!!<q @zT@A@y!q T'p6@ A@y)!?=qT @96@ A@y)!?qT@@@!!<5"@ qTAR  )7 yh!<R8h@ A@yp7)!*R?qI B@yqT @)!+R?qiT B@yqaT@9( 7KA@yk!qTJ@jK @k]k%qTJ@K@j_ T{COBWA_lB@y!!Q%qTm 5il8 ? k T? kT? kT? k@T*Rk R@9)y9k@9ki *9 R R_qi(*9"Rx{COBWA_@ A@y)!? qT @9I 7@@9(7@929@929_WO{@96uB@y3h@96t@T"RB@yhp6@4`@@B@yhp6@( A@yip7jB@yJ!_QqT*!_EqT@9h7)!*-Q_ qCT?!qT?]qT@9 qT"R$hB@y *!(!3hBy(Yjh {BOAWè{BOAWè_O{C9 @9)6t@B@y! 1Q_9qTRk k5mij8 (2h9R9I6(2h9Rh9R9I6h9B@y!r`T B@y !@By(@&{AO¨_(2h9Rh9R9)6{O{C@96h@A@y!qThB@y!H@H@HRRRַ@ A@y)!?9qT @9)2 9{AO¨_WO{VB :@2:@97t@9^SH6@H@HRR@@y !?5qT)R *By(%@ 2u@hB@y!yqT oR(@@y+R *@y6zEB@y!qA TR@929pRRi+R{COBWA`":@ih@9h6)hi@9 6 7I))@) @ @  R@e!RRR`+RRva@Rh@92h97I)7)@*9@KuSk QqTKR*jT)IA9i 62h9{COBWA_R@@yR *@yCR9B@y2ByB@yyBy@H.@hC95(4C?hB@y+R *hBy~Eh {COBWA_Ӟ7C;uC_WO{@B@y !? q$@zT(p7hB@yp7hB@yp6t@J @hB@yw7?vRY@@yi2R *@y7NFhB@y!qaTR#h@92h9"R=@@yR *@yCR9B@y2ByhB@yyhBy@H.@hC95(4C?B@y!qAT@RȊ@92Ȋ9 R@@yR *@yCR9B@y2ByB@yyBy@H.@hC9 5(4C?B@y2R *ByRF @ A@y p7 @ @ +@ @I )@*@ ?`T*A@y)@Jw7+@9 6+@ K   k@KA@ykp6K@+I*@J*@97)?T @@ )@*@ ?`T*A@y)@Jw7+@9 6+@ K   k@KA@ykp6K@+I*@J*@97)?T@v{DOCWB_AC_˝7C;mO{C@907(6t@3B@yhp6@t{AO¨_@@B@y!9qTɟB@y !@By(@&{AO¨_O{Cr@9(6t@B@y)!?1qT?aqT?qAThB@y!"R B@y!EqT(;@C94h@92h9B@y!r`TB@y !@By(@&{AO¨_2h9B@y!rT|WO{2@96@tB@y!aqT@ A@yip7@hB@y !@*JByH@&{BOAWè_xݑWO{@ @@y(! @9]qaTJj9KkA k9@kk *k9B@y!qT@@,X7!@q!T-Q.R 1)@z@T{COBWA_-R jT-qT+6ˎ@906=q T]q T!q@ TKREqkaT(7Ȏ@9)R(h a*Rg@ʎ@9,Rj a *)!jRkR,RR]q?!qh?=qB gRRg0@9%q`Th@9((7 @1@95qTARRfB@y 2By(@ @@?q#T(Q @ ߎ9@y{COBWA_ֺ9]#DC_WO{@9H 7B@y3!6@B@y"qTqTHa@H@H%RR{DOCWB_ACΰ(6@H@HRRŰ@@y !?5qaT)R *By(%@ "qKzTR 4""qKzR RA!qT@ A@y)!?q! T@:RR`R{DOCWB_ACVqAT@906h7(7@ 9@*uS_qCT)_=q$ @z`TAA97@ @L@!RROf@Rn<H @@ERծh Q!h Q! RN@HA @9(06B@yAQqT@929hBQiqTBqCTߪqT@929@9 29ߢqTR qT@929{DOCWB_AC_WO{@9 6h@A@y p7(6@H@HRR@@y !?5qT)R *By(%@  RRųhB@y!eqATa@R6h@92h9#RQ@@y)R *@y(e@R9hB@y2hBytB@yyBy@(.@he@95(4e@?h@987R*th@92h95R RARr` @ RR RRzRR`RRqRRm {COBWA_h9(1@(7@@ (7 @) qARx@RƯ(7@TNh @B.RSR5R @ RRghB@y!eqATa@Rh@92h9"R@@y)R *@y(e@R9hB@y2hByuB@yyBy@(.@he@95(4e@?ց @?qcT(Q h@9(6t@B@yhp6@t{COBWA_܁h@97ƚ7e@;hC_WO{@@y!@RRqT @9 @*06+@k@kA@yk)qTJyj9*A@yp7qT @qTv(;@hC95h@ A@y)p7 q TARd@ A@y)!r T@@ @ @ `T A@y@Iw7 @96 @J  J@j*A@yjp6*@*( @I @97T@R@@y*))@y(YtR9 A@yp6@)y Ay99ARIh@ A@yp7 A@yp7@ A@yip6@3RRlhB@yhp6s@3  )7 yh@9r(Rѩ ji8)_qaTK}R?` TY?'C T&!"Rr 5('Q}RRDy@@yiR *@y(mC(. @(4a )mC9 4A7mCTRԌ4RDy@@y R *))@y(aC(.@haC9H 5(4aC{EODWC_BgA ֈ@iR r J2@HRJGr) J *4( Q}RRDy@@yIR *@y(iC(. @(4Ai)iC95@?{EODWC_BgA_ߖRDy@@y)R *))@y(eC(.@heC95(4eCƖ7aC 7iC7eC;^_@ A@y)!?qT @9 R_)jT @KA@yp6J@jKA@y+p6J@KA@yl!qaTL@5@9 6 @@9qaT@9kqd @zTJ@ aT)y 9gO{C@97(6@H@HRRҪ@@y !?5qT)R *hBy(%@h `RR{AO¨{AO¨_RR|`RR{AO¨uC_WO{@B@yhp7@@@9B@y !R+%Q!qT R RL 56ik8 Rh9RȎ@9(*h9@h( @@i@yi  -;)!Q?AqH TJ JY6Lii8k `Ȏ@92h9B@y!r`T6B@y !@By(@&@Ҡ@@ A@yip72Rh9Ȏ@9H*h9@A@y!qaT҇7R(7@ 9@JR_)j! TEA9 06!7@Rh@9y Rq) *h9"RlЕ'@@ Ri9 A@y)!?qT?qT@6@9(6 @3@95qT@ uA987B@y!@ qTAR̙ )7 yh݆p{DOCWB_AC_R @i @@@RQ07:O{C@@97͚{AO¨_h@92h9"R!RR{AO¨_g_WO{-@@@9 6v@B@y!q! T@@)R Ɏ@907Rr2  ?q T rT RL @ qT@ @ @4) 6RL @@ @ CT@9?qT@9?qTjT(5RѿT@9qAT@8qT9$8D @ˉ@( !bRCRXq@ @ @bT@r-o@*h@9H87Rmh@9(7(6@H@HRR9@@y !?5qAT)R *By(%@ @)-@)@?AT{FOEWD_CgB_u@XRRլ @ RR RRǬRRӺ`RR@)-@)@?TVCBRRR @ qT@@r!ZR' @?qT(Q 4@)  @bT@rsl{xƈˆO{C@ A@yp7( @@( @@qA9H64RRB@yhp6@4{AO¨__WO{@96@ A@yp6@hA@yhp7@ A@yIp6@ A@y)!?9qT @9)y 9{COBWA_Ĩ_@@yR *@y5C@@y!@ւztw6T6h@AR`iB@y(!@zhj(6*JA J@96*K!I!3iByZki qTh@ @9)y 9{COBWA_ĨWO{@97)) )@)@)uA972h9{BOAWè_{BOAWèhB@y!(@H@HRR RRR{BOAWè֫o_WO{-@@@9( 06a@)@*@IA@y+)qA TT@B@yJ!JQQ_!q+Rj!k RJ D@z T)!?-qAT@IA@y)!?=qT@+A@yk!=qTJ@KA@yk!qTJ@K@j@,6@_ Tk@l!@9qTqTk%@95+RR4@6 N=g=&?B@y !?%qT@)@@)yj*@9_ q!T*@K@9qTK@9kQq(T(@9r+RB@yhp6@uh@ A@yp6@Th@907B@yp6@thB@y!@ qTARO )7 yh>`R[)-@)@?T{VOUWT_SoR_֕@B@y !*)Q_ qbT@@ @ `T A@y@Iw7 @96 @J  J@j*A@yjp6*@*( @I @97TB@y!)qaTB@y !@By(@&'h@92h9?qAT@906@ @-U qT@ @ @CBRP @Rc9cRycRE`T( @@y`@ =@970RRѴ "RAc@@=@H4@:!BRCRn@BRo@@?qcT(QJk%@9 5)@,A@y!qaT)@)@,@ T)@*!@9 6_q!T)%@95h9 _qAT)%@9 5h9h@92h9B@y !?QqT!UqT(@@yp7h@92h9B@y!UqTh@92h9(@@yhw64@"RN^y @RRB@yw7WO{@907@hB@yhp7!RuRR B@y!@ qA TARTK k6jyhx) J99B@y!Iq (Tq'TUqT@@A@y!EQ q&TqM ) 4@RoB@y!@ q!TAR89B@y!9qTqT@9y9#R9B@y! -Q? qT!q`T]qT9(R7R6!94bRٟ29R)7 yhO?h@6(8Qq/TK k8jyhx) hC@y!-qLT%q T=qThC@y!9q@T85@R hC@y!@ qTARx+5B R'*'@@*T9Qq)T 8RK kq:ijyhx) hC@y!1q`T]q T5@RhC@y!@ qTARqhC@y!qaTh@906x5@RhC@y!@ qATAR]hC@y!-q`T!qATh@9yh9\x"44xR"Rn@ш@9qTmqaT(Sh W@RhC@y!@ qTAR1-1qTaqT 5TR"RJ@RhC@y!@ qATARy8R575@RwhC@y!@ qA TARY)7 yhS?@rR4'qATR#@"RqRRRgq'@_ j95aRRB@yw7қhC@y!8R9q@T)7 yh )7 yh S?~@1R)7 yha)7 yh?~@)7 yh 7(@9}qaT6@H@HRRˡ@@y !?5q!T)R *By%@ @R~h@RRp#@R7@5_T(@9Qq)R(!Ț)   @T/@)-@)@?T@{KOJWI_HgGoF_@R!@R@# ŁԜWO{H @ ?5qTP7h@ A@y p7@ A@yp7BxHp7$rT{BOAWèo@Bxp7@Bxp6 !?qT@9)?qTcaRR#@yw7Bxw7{BOAWè_og_WO{H@@@B@yt?r`Thp7@(C@yHp7B@yHp7 p7@B@yH p7 A@yJ p7O6@B@yp6Z@HC@yw7H@9JQ?q)@zR"R9/2+R)r Yt +qT4qTX0q`T,q T_T{FOEWD_CgBoA@ A@yp6*@KA@y w7 T"R}h@YhPAT1aT7@%@!]X?"Rr}h@̚B@y(p6@6SqT!8a0R<R{FOEWD_CgBoA 6@ =@9I7&7@@@@)qTR{FOEWD_CgBoA'!8a @@=@H4@RR{FOEWD_CgBoA?_WO{8@9 rT Rؙ@@L@9*h{COBWA_Ĩ_WO{8@9 rT R @@t{BOAWè_t{BOAWè_#RWO{?@@T!8a RRG RL@9h6@ @?qcT)Q L@9yL9XT @ L@92yi(*2L9 :@9 rT R{COBWA{COBWA_tr@C_WO{-@@@ A@y)p7@ A@yp7B@yp7 @B@yp6@B@yw7!RRh@9yh9))A )@9)(*h9))A)@9i6 )6)@*J J@? `T2h9B@y)!*]Q_qbTh@92h9B@y!qTqa T@ A@y p6@B@y!qAT@9y9@ @P6-U qaT@ @@h2?EqTɎ@9) *h9B@y!r TB@y !@By@&BRH@(@) @?rZRw@@y)R jT@)R *@@?qcT(Q:@9 rT R\BL@9@ qA9)6 R@ qA97@h `RAR`h@92h94@ ]@ 87@x6`zR{DOCWBC_@9h6@( A@y?!rip6@h__CWO{R9@4h@96h@ A@y4!2qRIz.Q? qT^q`T"q!T"qKzR RA^q`T"qAT@ A@y)!?q!T@ ) @ @%R.)$q(!$ ^qLzT!%!&R{DOCWBC_@ A@y)!?qT @906R) 9_C_WO{؎0O"@7@5@ 7 @) f<H @B2@RRRr>@2@@ @R @Rr( 6zB@2@R RRRr{DOCWB_AC_h@' }Cog_WO{-@@`ORqVZQq(T) )A<+ih8J @[4RC97{u5@4!{u14Tүt6ҫOYu@qTR@}1`TE1TkiR :8HO@B@ki"8kO;RR} Sk R R-RRoR־( qT!j@TJ{8q) W qdGz? j(48~S>qIT765 4qTRqT/:8H<RqTTS@+k38qTEoRR-R R R`7)hRr(q`TqTHR*9HIR)(x~S>qT!.ҊO{R0!<(RO{UR(Rr(e!0(BRvO5R!<(RnOR!T(RfOR R(I!<(RZO{uRu@)-@)@?AT{HOGWF_EgDoCC_-WO{4qaT6@H@HRR @@y(!5qT-q#T!q#TRRk`0RRJQ qbT0RR]9{COBWA_(iR *hBy-@h RMRR@ RRRMRRRRR{COBWA*qT5ȪRr~( `  K}@)RRV RR !R0q!R+l RR hB@y!q!Ta@R5t ,qT5qDzR3hB@y!qTa@Rbh@92h9{COBWA_֟rqT+RRמ1T@929(fqaS@@y!q`TqTh@92h9qT@92{COBWA_RqT@929B@y! Q?q*RI!ɚ ) $@Th@92h94h@92h9{COBWA_R'@@yR *@yCR9hB@y2hBytB@yyBy@.@hC954C{COBWA {COBWA_q@TRR{COBWAf z37C;zH@H_4 |} iiJi)_ր__WO{7{BOAWè_֕6`f h)R 7B$BA9{BOAWè_s{Ch4 z{C@@y!rT qT @9R) ?qT@@@y !  q`Th59h77Yi  R qTAR4;@Ay)e=JM=qqIJ==]qH#p,v{A|C_WO{@ @ @R<@@!,RRR@ )!8)a !T8ARy@R#8ARyRRؙ>@9h7@@=@H4@z@ RR RRRRtB@y!qT@R@9@9*urH29%vTB@y!qT@R܈Ȋ@9@9*urH29RRbRRZHRRzuTB@y!qT@R@9@9*urH29 RR9RƒDy@@y R * )@y(aC.@haC9(54aC?B@y!qT@9h7@R~@929RR `R!Rt@B@y!qT@9h7@Ra@929RRt{DOCWB_AC_ִ7aC;VyO{C@@y!qAT@9@H@HR{AO¨@҈B@y!qT@9@H@HRSChB@y!qaTh@9(7a@Rh@92h9B@yp7B@yp6@ RRB@yw7{AO¨_oWO{-@@b?@#!R<6 Q? qT5#c9@y6Iy*@?@yy@\)-@)@?T{ROQWPoO_-xO{C @5M qT@@ARKD`@:r` @8r6rR{AO¨_{R!R!,{_{R!R!,{_2@H4_֬{ R!Rۓ2 @i{_{_#mg_WO{-@@Q0sB)b) 9-b1?qK!T i J))RI J)I9 Ja,_ J,_9 J)I9 J, k, )_J J)RLy J), L J, k*_* Jj J!-_ JA-_ Ja-_ J-_ J-_ J-_ J!*KRK J- k._ J!. kA._ JQ. k1*_9!Rjy JA* K Ja._ J._ J._ JQ* RK J. k._99 J. k._9 J. k._ J/ ka*_i J* kK J!/ kA/_ JQ/ k*_9i9 JU/ k*_9i9 Ja/ k/_ J/ k/_ J/ k0_ J!0 k10_9 JA0_9U09a0q0* 9* 9* 00001!1A1* ) * +) )/ J!+ q)HA+ ) Ja+Kk K1 )1?1 )+R(17 )A (A, @*R) *  k,A! %)lI): !I)A: 5R!RvA>RR RA7,!7 @ a7 ( @ J4H JA4H)@) @ )4(RRpa5h5RRRp5 )5  )5(RRp!5B5Q5RRp4 )5?5R AkTڒkAT @֒54sTR{m@sLCo qaT@ )a0(5JEHJJ )q0(@444`-RTm@s%CH qaT @* ȍ6 @9kUzd@z) * 9a? )? ?((R(A9?y!1, ! Rң) ) 7@7h@@5( @`B.@`RRR7@.`h@h@ h@ h@h@ R u3i  @3 h@@( @h2@RRRy7Rr@2`h@h@ h@R i@( h6;h@2hh@R  ! .ҿusbb[`b^[`Z[#3@946@&5( @2@s,hmi*@-!-ҋ̭+LN +Lҫ̭+/ i҉.IP kNR rj&B)1 J -Rkr@ JR፬rk2C)aJ 9,Rmr J?q-ANRqR?qR_qRMJ ^ KJ HJKJr KqaT J J  J. J1 R)Z1RJZ1KRlZ1+RkZ R)M Jn]N ) K, JIJJJ KKJq KqaTR TR     Jp} SvLJ J  Ji/ aTT) Jj}SJ1IJJ JI J !(R96@@3h@@h2@RRR6@2`h@h@ h@R i@( h6:h@2hh@R  h@yhRyo=s"4h@2@h`R R@sh@@h2@RRRU6@2`h@h@ h@R i@( h6_:h@2hh@R  ;Rtas2h@Ry` Rn9,RHr(͍Ry@sh@@h2@RRR6@2`h@h@ h@R i@( h6:h@2hh@R  h@ L R@i)-@)@?T{GOFWE_DgC#Bm_32@32@32@+@5Dt@tO{CRR RA7(R,!7 @ a7 ( @ J4H JA4H)@) @ )4(RRma5a) A) 5RRRm5 )5  )5(RRm!5A5Q5RRm4 )5?5R {AO¨_R_og_WO{h-@@ )Q0(@99B5@44rRj@!V4 R@*__ j(9 kMT9@96sb?h@"R"qTRt96@yy @@95!0R @+Ayy@h9C)(@b)@ MT;@Z7H@5\x@"`4@4@!c@4z!+@?ր42)R @Zi)-@)@?T{VOUWT_SgRoQ_9 kT(R )1(z!+@?5C X @s h@ @)%@))@)@ J8I) @ J4I@%@@@ ) (~ҿ ) ?`@@?q#T(Q!0R =2sB`@@?qcT(Qs"`@@?qT(Qs-`@@?qT(Q-@@?qT(Qsb.h@.qhKT@(Q( @ ?i@(Qh?q T@ul R@@?qT(Q@9h4s;`@@?qcT(Q@@҉@?sh@94-@Klҟ )?9 ) J?9_9 )?99 )?9 )6?9 )?9s`@/la@@?qT(Qs`@@?qT(QR )A?s>`@@?qØT(Qs `@@?qcT(QsB>`@@?qCT(Qs`@ks,`@@?qT(Q!>s`@ks `@@?qT(Q0@@?qT(QZ @@@?qÑT(Q{C `@@?qcT(Q#1@@?qT(Q" @@?q#T(QB1@@?qCT(Q9c @@?qT(Q_? )? )!? )? )a? )?)a>? )? )? )? )! ?? )!? ) ? ) ?s`@@?qT(Q@@?qT(QZ@@@?qT(Q{`@@?qCT(QB@@?qcT(Qb@@?qT(Q9 @@?q#T(Q_?s`@B @?qT(Qs" `@@?qT(Qs `@@?qcT(Qs`@@?qT(Qs?`@@?q~T(Qs>`@@?q~T(Q>s`@js`@js`@@?q{T(Qs`@@?qc{T(Qs0`@js/`@jsb/`@js/`@js"`@@?qwT(Qsb`@@?qvT(Qs`@@?quT(Qs`@@?q#uT(Qs`@@?qtT(Qs`@@?qsT(Qs`@@?qrT(Qs"`@@?q#rT(QsB`@@?qqT(Qsb`@@?qpT(Qs`@@?qoT(Qs`@@?q#oT(Qs`@@?qnT(Qs`@@?qmT(Qs `@@?qlT(Qs" `@@?q#lT(QsB `@@?qkT(Qsb `@@?qjT(Qs `@@?qiT(Qs `@@?q#iT(Qs$`@@?qhT(Qs$`@@?qgT(Qs%`@@?qfT(Qs"%`@@?q#fT(QsB%`@@?qeT(Qsb%`@@?qdT(Qs%`@@?qcT(Qs%`@@?q#cT(Qs1`@@?qbT(Qs%`@@?qaT(Qs%`@@?q`T(Qs "/bҟj7"@T`jw@?qT(Qj7"@Tjw@?qCT(Qbj7"TE,"@@A,H@Tҿ"&@ &@@?qYT(Qҿ6@R!RRa @?qVT(Qh s `@@?qVT(Qs-`@@?qcUT(Q1@@?qUT(Q(@ @ MT899C7 qTA54(!Ro54(!hRo@T(!(Ro(@!1T(!Ro/qTs `@ A)y ?q'T(Qs`jt@?qCT(Qj4"aTpaj4"aT6@ @:@ @Rе@6o4"@ @!I!pWhkTh!Kh)6 @ @? @?q"C T(QRs"8 \:`\>`"R\&Vb \b"\&:\>Д7@UR?o4!\R?pҟ i&@*) &)s`@g,@g.@gsB`@g!A@g(@ @ * @ (@g @g33a5@g5@g!5@g4@gJ6_9J _9;Ja_!?/s,h@Ghgh@h @(T @3@3* @ guu@`@@hJ@9qTh@g@ @* @ * @ @ I,7 g@@g@gҟyr`p`s"`@Zh`f`е-@[^`\`@9_5f@@?q&T(QUN`L`J`@_D`s`@`e1>`s `@gA6`?4`H2`V0`Д0@`mo*`m(`{C `@ny"`w `" @o``9c @ q``@x``{`@y`_b@{___s" `@~__s`@__s>`@__s`@)_'_sb`@`O_M_s`@[_Y_s`@`g_e_s"`@s_q_sb`@`_}_s`@__s`@`__s" `@~_|_sb `@`t_r_s `@j_h_s$`@``_^_s"%`@V_T_sb%`@`L_J_s%`@B_@_s%`@`8_6_4_:1_s `@P+_N)_1@\!_Z__l_8 Llq_J )y  "-log_WO{h-@@7@h%@R9."{c?65: Z @ @"Ayy@h:@987@ @TE|@`T(@9h4 @@TA @T! @T@1 Rr0 1?h@R qT*Jkh8) Rv9@yy@  J5J@? ` T)A4)@J4J@) )C Ro!@@@@ R r qT2RiRv9@yy!?@h @h 1@9?%qT @@@@H!`A)@)a))@ TrR_.@@@ R r qTcBR4@Hp-Zi)-@)@?T{VOUWT_SgRoQ_ր-kR)Rj9@yy! 1 ДB5A )7(@ %@ iR !l R1RIRi9@yyДB5S@kTA)@)a))@ MTls6`@Д6@T@ q TQ @) hA )7(@ %Ayy@hoA )7(@ % @T!(RCRRДB5'aRA @Ta9a @Ty9 ! @))9J99H(!ДB5@kTAyy@h%k8]@2@H4_ۆWO{е.@b.|AUd|h(@ @{BOAWè_#mog_WO{C h-@@R~{sv@4(R#2@9h 4u@:cI+qTx@X} @85 q+ T**Rkzj  @T퇟  *7!} (Tkm@85 K   aT7R)(9A7@  !ֆz{p6 @9kXz@z) * 9,9|9 Yi)-@)@?TC {FOEWD_CgBoA#l_ )!45@5@? TAT#J}?"JT'(@85Q@ TM@ /WH@ @[!   7zy !R}#5!"@}iy@@iyXk9  T#@? 4J{sД/@!4 @(@'@)!*R  T쇟  *,7#} Tk @85K-yj   -@@#2@95s `@(u) ?s `@@?qT(QGRB5@69b?@kC! qH T* )+ih8J 6@WRC9@yGyx@@)!0(R(k7v@J7v@iI@)IoR)RC9@yGy! 1  RIRC9@yGy)@kTA)@)a))@ MTBs6`@6@T@ qcTQ @) h! @aA @!0IR !@ Rq RiRC9@yGy@h 1@9?%qT @@@@H! R8( @sBi2@ RRR@* Rr @j2@@ @R @( 6F.@2@R @ 66RHRi R"RRI7@@@?qT(Q@R!HRO@ @) @(@)R *\hR"RvR&7%+R#+)  @) @ @) l(R"RcR7)  @) @ @) `#(R"RcR66@t(R"RcR6s"` @) @ @) |(R"RcR6)  @) @ @) i). d`@R*`@@@*@@R".h@ @v@V@y)R j@ T @?qCT(Q `.g`@)A (RVRR6@@) (R6@@) (!RbRt6`@@[!(R6; #Q qTRR 9R7 RRR  (@ @9?qAT @8 4g+9qhT ){uxJ @#s)6(@95(RJ H9(9R)RJ6I9) ?9 @8?qT hD7@Bg !!R+@@85Ah @9)4 QR+(R)(9@(`.g4R@8H4 P @8qa"RAP Q@(R!CRO !+@g@ qT(RRR!ҀL@  R) * rT @8JJAIyi R_)jaT QCg@+@sOk)C6@95A5@(4wtR]@hSsB R  K@8mzk ?-j@T4 qTJ@9_QqaTR)RJ6I9) ?9s,h@9h56@9h92yR9|O@ @JJ@k?ik_;6s@5@9GC5I 5@34&RM]@@9H4AR&XRR z T  @`v5`mhR]@Y4ARWRxRfׂ T  @@@(@@RJR 5Ry9O @94 (@hzh(jT(@8jzh*jT *_qT @8 izi)jT rTH@9izhh)jATVqTiR\@i   R8H@9qT)6(@95 9596@T@@@aRG(@@ke6`0H RR`|R` R`HR@9q @T@94 ARXRYR w   T  6`TBR@95@` Zs4؂R[@a! 5@@@aR'@@` (Rd@hRd^R9R y) R 7@ @ M{@#R(IRjJi' %RjJ-' %RjJ& %`&R\`#R9RR1a@ @) @@h@R 9` `'{R1@ @) h @h @`d#R1@ @) @@@R9 @F`'x1@ @) @ @`H#i1s`@ @) @@@9 @`'T1@ @) @ @`.qb,#2@95O@G@ @[@B@B597h406))@946)a)@I*1@9J%Q_qT) @)@I @(@9RccLn@6)>)@I*1@9J%Q_qT) @)@I)@ @!9RccLX@6i@I*1@9J%Q_qT) @)@I)@ @!9RccLD@rT`dR"RcR0@@S@ 7 6 ! !2@ )wH@h)5RTR]  7 !t RK !D hRm5h:@907@`x~34tRX@ta!~sR 4a!w 5h@yh@2hw@Hb?66 @?qcT(Q `HRa@6 wW}@ Rh@6 5;@C95)@?%@@T@ q#TQ @) @@@?qT(Q)?@94}R~6@9)R j T(@(@@19xA)@)a))@ MTF)A??)!??! @aA @HR)!0(RGCyyk@YI)-@)@?T| SS@9}k}kASTk}`}kRTsxSM׀S@S^SS@(S'y@`x<}35(`%Sa;`xNa@z@@H`-Aa`0#>a@@@("@@)R%0|@~`D"$a`a`|#a`a@@)|@j~`" ai) `xa` a5``a!1K~@5 a!8E~@5 `L`(`!``!`#mog_WO{H-@@976@7@(@ @B@RRR!@@ ?E6@+@(@@RRR!@@ Z>VEH@)>(6@9ւ,9 `!R"RcR.@@@OF` aR"RR.@@ @) @@R"@@ҢRR'sO{@M{@TI{@5@u @(@ @2@RRRo!@2@@ @R @Rr( 6w%@2@R h" @TCGv@v |"@R^}`TRRTYh78v|A5@{:4V}R}V@D_RR2@@z\NY3_RR!T@Rr  R) * rT&t(RFa!hÿYKt@-YRIR#c9H@y7yR)R#c9H@y7y! 1 s6`@6@T@ qTQ @) hA)@)a))@ MT.7ByHy'@L7ByHy'@)! @@@@@XK@hO{CҋX4+AR ARa @?qcT(Qh A4 @ _ {AO¨_K_WO{CB4@B7@ @RAR_@  @@@ 4@C"7@)@( @ @ @)@) @ 4  @)@) @ @`5*RW@ @@@) )C@J@I @) @ @J@J @*  @J@J @)  @{EODWC_B_EXCg_WO{H-@@9qHWT  yxx) @8q*TU4` Vy@8(qTqs6@9(5H.#`XB>@@?qFT(Q@8qET.@8E4h@85hR/҄RRR@b=ThEjA@6)R 9@4RX4a! RY(A)R@8 yj?*jT$)R 9 9 9h@8H4))A R(Yh_(j`T@85-@Q(A Rj@8C4 yj?+jT R4 Yj?*j`Tj@85 @8 Yj?,jT_qD@z!TaR_8q6iR 9ДB E,"@@B,U@T"t6R 9ДB F,"@@A,HT)R 9@8qaTh.@8))A(yh)R?(j(T`a! Yh@9B>@@?qC5T(Q!8a`!RbR&`@@@BR4t@Qh@8H4))A R(Yh_(j`T@85ˠPh58to)R 9ts `@@?qC.T(Q@9%hT`!RW`@9qhRHR/dRRRh@ @9@@4@ !2)R 9t16 @9?raT)2 9t(u ` RV@9(A Yj)R?+j`T_qA'T R z@9 Yz?+j`T_qT@9qTl@9qT @9 Yz?+j!T*R z@9 Yz?+jAT#Tj#7tt_qTCR> ! RCR>CR> !8 BRCR>?q!T9 5a! bRCR> q`TqT@8qTt `$ ARA>@4@96@ @h ARjW`A @ 5H`P aRZV t@9))A+Yh*R_+jTqAT h@8,Yh_,j`Tq TqTCRA>A! mCR5>h@-U qaTa @BR@ [Xa @?qT(Qh A @ 5R \|@T@R?҅6R@| ARVhiR(KR} } Sn?wo@ @6 @)2 &H@8q`TRHR/dRRRd\xT!8a5@ T@.9!RU@!RbR$`@@@BR@3@t@))-@)@?T{HOGWF_EgDC_uHXsHpHA @)5@ Uq@,U@ U@D U@ U@U@< U{C@ @ @) @i)8 @y] R * ,@95@{A_6@9(4҂RR@@{A__WO{s6 @ @) t@h@RBR#R$@A@4ARBRcR $@a@`RBRR#R@@ARBRcR#@@֢4@97^@0BRR> y@8@907@!RBRcR#@@4@97B@BRR>(R y@8@9h07@VRARBRcR#@@4@97&@BRR> y@8@9H07`@@?q#T(Qt{COBWA_Ĩ_֔mmm`@Gt{COBWA_Ĩ_O{@@a!A!(A!.A!7A!> a!D RCo g _ WO{(-@@Z@@@aRM@@9RoTu(6@ @T @@ŅRr kT9u 487AR_U7U 77@6@ 7 @)  @B.@`RRR@.@@ @ @@ R u3 AR+U6a!<RCR$< @cq7;@y @q!TARU@ @@( a!RCR < @cq7;@y @qATART6@ @@( 6a!RCR; @cq7;@y @qATxART}@ @@(  @?qcT(Q x7r`RbR"@@ @ @! @ @J`; @@* @ @@k @k k Tl_8qT9_ T+RŅRR@y J @9 J*n5 @@ @n  cT_8qAT@9q`T5 @9qT O 8_,T#`0 @?qcT(Q 6@94pokTookT6@9(4҂RR  @?q T(Q 9u 58747 F86:@9(87@ @B9Y5 l|@B94j7Rf@H@H]ѿAT @?qT(Q 5 @?qT(Q Z))-@)@?T{POOWN_MgLoKC_EY4EE9u 5E6@94unO{@RRa!d Ka! a!  R3{VoR{o_WO{xoooo4 RkTkT qTh@ @9?qaT@9yQqT R{COBWA_Ĩ_R{COBWA_Ĩ_O{C@RBRcR!aR~@@ h>@9(06h:@986 RRl @ @ R*u3 {AO¨_@RWO{(-@@bRcRW!@@h@ @aT aRN@@h@ @ATC} @@ !@ eR"R#R3!@ !@@))-@)@?T{COBWA_m_WO{Q6 qT@9h4 !RbR @@!RQ"qTsQ@@9qT@8q`T5@94Ro"RcR @@V8Q"qlTRwQ"@#R"RcR @@ @) @@aR@@qKTB"Qq T@ңQ@ @@x@ @9?q)H 7(6i@)2i(?6~+@h@H @@8@9H87@ @@T{COBWA_Ĩ_j|@TA!R{COBWA_ĨRO{@97h629*@ER@9y9q@T5R)!?)1m)!(R()1 !1Th>)!(O{l@)!raT(@rATR(si@96l(1T=(si@97  }*_1ATsi@97i6)2i9}@@,Qh@9yh9]S(si@9i7O{C! @A5@4 @j~}k!8+i*@ )A4({AO¨_WO{B4@5 @* 64@] T4ДnRH` RRG` @,&RRG`4@ a{BOAWè_bRWO{@ @@ @ARmTCR8@8 R{BOAWè_dGR{BOAWè__WO{ @7HX7R{@-Sh@_6 @R@-U qT @Zn4:@9 7R{COBWA_Ĩ_@@6 R{COBWA_Ĩ_@!RR{COBWA_ĨBR,n`5 R{COBWA_Ĩ_O{C0nR{AO¨WO{n{BOAWèҀ(<@96)@(@)=@i4@!H@9SpR__WO{4@96@ 9@9  7R{COBWA_Ĩ_@@A!4bRRs B4@0@9%qaT @ @4@= T5 @ 5@ T4@CԂAR@_sh:@9H (7!8i)CjU)} ? Th@rTHP7@7HX7RA'%R{COBWA_Ĩh@H @Th @@9qRh@@ h @ 9@9 6@@=@9('73RA)@)a))@ MT{COBWA_Ĩ_BR>S9gWO{B4@yh@7rTX7hP7Ra @(8@9( 6"Rch@ @BRE43R{BOAWè_֨5 @ 5@@T4@C4@= T7@3i@ 7 @)  @`B@`RRR@|@h B)@5@*Ta5@y h@ 2hh@ 4j8lh@ t h@ R *hAR@@h:@9 (7!8i)CjU)} ? I Th@r TP7@7X7Rb&@)a))@ Th@( @hTh @@9qR@)a))@ MT%{BOAWè_h@@@)a))@ T{BOAWè_h @ 9@9 6@@=@9'73R@)a))@ TZfh@rATR{BOAWè_fNBRITDf@)a))@ mTO{C^lRE{AO¨WO{Llb 2sE{BOAWèO{Cb 2dE{AO¨O{@ uA9i87@@ @*=@9 6*@I@J=@4)@@O@NO@N@@DN_WO{ДB45@ @+ е4)@ J J}}_AT6}@i@7"8?r@TX7b P6i@) @@ @RNq ei@"8?rTb@)(@!{COBWA_Ĩ_A!,_WO{ДB45@ @+ е4)@ J J}}_A! T6}@h@ 7"8r` TP6i@) @ X7 ?!@q!T%QqTh @h@(RR# 0@9%QqT@h@R~`@!RR$+h @ @7*b_!@qT))%Q?q(T @b@@@@ @Rb( 1@9?%qT @ @_ -eh@"8rTb@@!{COBWA_Ĩ_A!lWO{sB45j@ @+ Д4)@ J J}}_AT5}@@)!8*q) @!h{BOAWè_@MWO{ДB45@ @+ е4)@ J J}}_!AT6}@h@(7@)J!8Krh(@!{BOAWè_dh@A!Pg_WO{C(-@@еB45@ @+ ֢4)@ J J}}_!T7}@h@ -)U ?q!Ti@) @t @#8h7BRdh@#86@`j @~BT**qS} ! cT*97 ! @ T 97  @T 9 7 @T 9j7 @@T 97 @T 9*7 @T 97 @`T 97(@T(!*A_)TT *˩)!8 97JT 0#8-CQ(:ZT )ˋl@8Lkl8J J JD94_q T?T`ˈ` @9qTR @@!@))-@)@?aT{EODWC_BgA_A!PgWO{sB45j@ @+ Д4)@ J J}}_!T5}@%@  @ 8@907h{BOAWè_e@h{BOAWè_A!P_WO{еB45@ @+ ֢4)@ J J}}_!T7}@h@ R)4r qTBR$%h:@9H07!8 q@)(@!{COBWA_Ĩ_dA!Pz_WO{еB45@ @+ ֢4)@ J J}}_!A T7} 4@)a4)@*@97@J4J@) @Syit@7r TRb!,@9qTh@R)0r  ?qT R *ha @!{COBWA_Ĩ_֨!8a0c@r!T@)!8)a A!P_WO{еB4@)5*@K+I֢4@K  C Q 1 T7}I3@#8 q#T4 @:@9(7CiU}  iT@rTP7@7(X7R" @H @T @@9qRBRq@)(@!{COBWA_Ĩ_ֈ@@ @ 9@9 6@@=@9H'7!RbA!\_WO{ДB45@ @K е4H@}H)7C@ @ R r* 2  kT@@AR qTX+@@!{COBWA_Ĩ_A!Py_WO{ДB45@ @K е4H@}H)7C@ @ R r* 2  kT@@AR[ qT!@@!{COBWA_Ĩ_A!PB_WO{ДB45@ @K е4K@v}ӈ @M5@9- 6 ) )CW @? q@T?qT@y*R? jT)!8 @h:@9( (7#8hCiU}  iTh@rT(P7h@7HX7R! 6$)!8)a)!8) #h@ @T(h @@9qTh@@@y h @ 9@9 6@@=@9('7@2!8@)(@!{COBWA_Ĩ_aTA!{A4 @)5+@l,ik4k@l  +@m5@9m6J J}}_!Tj @K @,Rl *L k-qaTK@k @TL @ k! Tm@ @2 L @)! {_A!WO{sB4i@5 @K H4@}H))C* Q_ 1T @K5@96V @? qT @ @ R r* 2  kT@@ @QARi *.@@!h{BOAWè_A!QWO{sB45j@ @+ 4)@ J J}}_!T5}@ 5@9I6 @@h{BOAWè_A!,+og_WO{ C(-@@B4@5 @* *4@ i6C) Cq$@zDT qTA TR5RQsN(˛B4R5Rt_@ 7 ?!@qa T )%Q? qTR5RRrZ#8|U9͍RrRRRBhT@ @ q!T@ @@9qTqTqA<T@;T@J @9)J *(;5@u:@9H(7C} T@r` T P7@7hX7R BR9qAT@7T@R.r J 0@*,Rmr) J *H65@:@9(7C} T@r TP7H @7 X7R[ @a3T@魎Rr J @yR) J *H25@U:@9(7C} )T@rTHP7@7 X7R; R@H @(T @@9qR}@H @T @@9qrRp@ @(T @@9qRd@@_@@Z@@RT @ 9@9 6@@=@9'75RK @ 9@9 6@@=@9'74RB @ 9@9 6@@=@9'7 RR8`C} T.`C} hT$ `C} (TR_@ ?!@qTX6 @ @ ?)q(T(7 ?!@qT%QqT6@97RR30@9%QqT@@54 A28@9H86qa|@5@4 @ 1@9?=qT4@@ @B8@9?7@ @5@ @) @M'B`7   T R4R/R*(@5@9 S RH@5@9 S#R8@5@94@]TbRw;5 qT(@I@'@\%@\4?R4@]T;4!8a4(@ @) @`5{ 5`4H@ @ @! @ @ 2>` 5!8a@4(@ @) @|4!8 a |4 @)@)@9?6@RRu>` n@4 @?qT(Q @  B4@))-@)@?AT{IOHWG_FgEoD_+:^ @ @ ?!@qT @GA!8bWO{sB45j@ @+ 4)@ J J}}_!T5}@^@)!8*I @!h{BOAWè_A!PWO{)A6)@i @ҳsB4j@)5+@l,u4@+ J _}}aT@ 0@9?)qAT @@!@R?v@ 0}ӪJ!8)Ja*@(!h{BOAWè_֨!8a@ !h{BOAWè_!!.oC_WO{B4@5 @+ 74@ I )C+ Q 1) TJM)ˊJA6J@S@S#8? qAT  @8@9( (7CiU}  T @rTP7@7X7R6: )!8)a $@ @T(@@9qT)@@#Rh@i2@9?)qAT @@!@@~@) !@?֓@`c`@ {DOCWB_AC_@ 9@9 6@@=@9'7#Rh@i2@9?)qT]@TA!g_WO{B45@ @* 46@   9C? qT)A6)@i3@3?qT @:@9(7!8)CjU)} ? )T@rTP7H@7 X7R6a@ @ T( @@9qTV@@h  R9h@i2@9?)qAT @@!@? @@:@987@ @@}ӪJ!8 Ja @ !#&_|@4@CXTXR @ @) @`AT @?qT(Q {DOCWB_AgŨ_ֈ @ 9@9 6@@=@9'7@R9h@i2@9?)qTPz8I]xT@FA!7g_WO{-@@B4@5 @* 7֢4@ )a4)@)@99rT)A7)@*)@7)@ RI% )@99)-@? q)R9˨4@=-T}!T@}@\`CӘ(( qTh@i2@9?)qT @JY@_ rT?)q`T+)@!? q!T!IARJF})!8) @!; Y@_ rTH%S}} )4ih )>!ih;CR`h@i2@9?)qAT @Y@h77h77h 7(706; R i48j @i@h@  )qAT+ @kYAyk @@ ) @+!  2;;R; @A@ )-@)@?aT{FOEWD_CgB_; R*i48h6;jR*i486;* R*i48h6; R*i48'6; R*i48h/6; R*i4877BRm}!TA!P^>`g_WO{B45@ @+ 4)@ J J}}_! T9}@ @@7@T@ 7 @)  Rq@@7@ Bш @@!!!=b@4A!t8bq R @R @RG h@ uA9i87@ @@LZ R, RR  @?qT(Q @{DOCWB_AgŨ_7A!Pog_WO{-@@)A455@ @* 4)@ JC_qTRr8}@ @ qT@zB R_CTbBR zB R_B T;R R"8sUT RZC_ T@@ @ qT@ @ @ aTCBRt  @ T@yJ @9)J *5T@t:@9((7C} IT@r TP7H@7X7RG@6@ @HTh @@9qT @@( @ 9@9 6@@=@9'7@Rd[C} T7@5@ 7 @) 3 BѨ A) @ 5@Ta5@y @ 2@@@@X @!)A4(@ )-@)@?T{GOFWE_DgCoB_֟A!^_WO{B4@5 @K K֢4@ * JC @)@A6@w}ӫ~L k!T@ k@l5@968*` @ @ R r* 2  kAT@@h@i2@9?)q@T k TU 7)!8)a @!{COBWA_Ĩ_ARh@i2@9?)qAT @@!@ @R kT@JA @~S qCTB @#*?֓@56#*?֓@U7F#*?֓@6@?qcT(Q{COBWA_Ĩ_֨!8a`{COBWA_Ĩ_ּ5{COBWA_Ĩ_(.I) q(I) q!uHCg_WO{B4@5 @K K4@ * JC @)@A6@v}, R Rq-R k T@ k@l5@9 69*` @ @ R r* 2  kT@@h@i2@9?)qTq)R)? kT)!8)a @!{DOCWB_AgŨ_AR&h@i2@9?)qAT @@%@w4@)! @*?֓@  *?֓@ !8a`H1)).q!O{CB45 @* 4@@)@ HCS(ˈ4@=Tr` Rj n`@Rf {AO¨_BRWO{Д sе>@ @R@ @()T TR! RR*R% !R!!8ܢ@!@ ]@)y ]!{BOAWè;WO{ H!RA @?qT(Q `@@@yp7@(@@yp64@t4`@@@yw64@B@yp6@A@yhp7"R"QM{BOAWè_{BOAWè_g_WO{@!@3@vSRRg  R{DOCWB_AgŨ_y@sy3@`@ @ <@96 =@ qT 1T*!J@J 1T=@h4*@ B!G @)c|@H@9R/ R{DOCWB_AgŨ_g_WO{B45@ @+ 4)@ J UCӿqMT8}@4@9(7R 9#84c`1@ 9@9 6@@9#84c!!RRR@ 1@94c?%qAT @@4@9 4AR$V 4"B1RRS7RVO(R qTR q#T@)65 @ V 4"B1RR:7N6fRqTU4"B1RR&4R"@@!{FOEWD_CgB_4c q#T T,7A ,4A(@ x..A @!!p/BRRRx`QQ h>@97!]QZQh>@9h7h@@=@H4@ |/Ai@(@)=@I4@# -@O{CA4)5 @(@ +s4 h@ J JC_qT!!H04}@zU4h@@"B1RR4 p0@  1@g_WO{-@@B45@ @* 44@  8Cq T qTqTm@  @ @-U qAT@+  @h@ 7r T@ @2U 4 @@@ =@9i7R )M @ Tl @I@)L=@ l4+@t!J=@5BR !!1W@ @ U55J=@j4)@I) @(@)=@i4@  %@9SL @@T6RL @@T.Wh@r!T!!(Ri@ @T`5@ -)U ?qT@) @ @CR; @L @T!!1n]4"2 U8@ )-@)@?T{FOEWD_CgB_[ 1?WO{B45@ @* 4)@ 6Cq-T@T@4"B1RR@4N6` @P{BOAWè  1?!!H0WO{B45@ @* 4)@ 6Cq-T@RT@4"B1RR@4N6` @fO{BOAWèw  1?!!H0WO{B45@ @* 4)@ )}}?!T@"T 4"B1RRQ 4` @O{BOAWèH @2p?!!02_WO{B45@ @* 4)@  XCqT5}@S`4"B1RR`4s @@ @ qIT @U:@9 (7!8)CjU)} ? I T@r@ThP7@7X7R/S54@ @TH @@9qS5&RS@5!@@S@5 @ 9@9 6@@=@9'75RS5 RS 4"B1RR76@95 !RR5K @4O|@\PN8{COBWA_ĨVoS5  1>!!2WO{B45@ @* 4)@ 6CqT@OS4"B1RR~4N6s @ !R?>v@KtO|@P{BOAWèi  1>!!H0!!2Rg_WO{C-@@B4@5 @* ()4)@( @}?CT @h@h7rTS4 @@@ =@97Rh:@9 ra TUR.:@9 raTM@ -)U ?qT@) @ @h:@9 rT? @I@L=@ l4+@Kt!J=@J5BRF@h:@9 rT(J=@j4)@I) @(@)=@i4@(  %@9Sh:@9 rTRh:@9 rT RbWJ?CTTB€R!RK?CT@T!!1D[4B2 eSC(@ )-@)@?T{EODWC_BgA_Uh@rT 3=X!!p/BR_WO{B45@ @* 4@)@ }}!T@MR4"B1RR|4 @RR!8 ({COBWA_Ĩ_  1=!!3WO{0@9%Q qbT.q@T>qT2qTh @@hh @@h @!@H{COBWA_u @@<.qaTh@@ @? qT @y*iR) J)@9*R J(*5" RR{COBWA_֟2qT>q!Ta4@A@y!Qq'))3*J3 (a .q))*J q( 4'=g_WO{C7@i@ 7 @) (R*hR)BqHT c#O4 )+iw8J @֙9C6{w@9@1@}(k7,X @9h>q T {EODWC_BgA_(R*P)Bq T <Bzw@9@@z7`h@BqT2qaTh@ h@R i@Rr( h6 h@2hh@R hBhhbh * 97@9) @9 !R6`h@ h@h@ h@ h@h@ R u3i AR"RR h@ 2h;@' @@ @) i@(h@R !O{CYR{AO¨g _ W O { C-@@968@X7T#` Rf58@苇RhyXrR R#R@2@9%qT!@R^; @A@yIR j`T @@@52@9%Q q"T`R@@ @? qT @y*iR) J)@9*R J(*5" RR` @@#`Ts5[ )-@)@?T{MOLWK_JgI_ֈ2@9%Q qTR @B RR:#TV((a 4;Cog_WO{ @ q$@zе7T' *R/5.6Ri @I/h@ @h@ 'X6z @ I3@9?=q*RJ! RJ D@zAT+@?5q R?(j yh#q)T'h@*R/H_7 R@(R+#qTqcTh@ !Rh@ @/@6` @4h@ h@ߍRr 2h5  h@  ߍRr 2h|4H@ qA9 7@ A@y)?qAT` h@%7@cqHTKr}@ķh@*4h@ @) 4h @ H@ uA9i 86 @? T @h@@? T" @_ k T ! )@9!(@9?kT(J7W`5{HOGWF_EgDoCC4+@6!R9&h @ @ @ h @ @4h@ @)y 6@@@@T&@%/@H7 A R!'@4@2{HOGWF_EgDoCC_@ :R l4: @ ?%qT@ @i4OX6@0@9-qMzAT_ @EWO{ R R47 @е.(@ @J@V))%@jB@*y3jB6@@ џbqHT`&(Rh{BOAWè_)!- !@?`T JLia8k ` ]@9* RJik@J Y@9* RJik@J U@9* RJik@J Q@9* RJik@J M@9* RJik@J I@9* RJik@J E@9* RJik@J A@9* RJik@J =@9* J%|@J 9@9* J%x@J 5@9* J%t@J 1@9* J%p@J -@9* J%l@J )@9* J%h@J %@9* J%d@J !@9* J%`@J @9* J%\@J @9* J%X@J @9* J%T@J @9* J%P@J @9* J%L@J @9* J%H@J @9* J%D@J@9( %@J_*D)+VRKr+, ) J+@  @@HK JAJ K(5J)=J E  @ K J! TT@JK1 ` ,@ )il8 )R@9k  @9) @y  ( IK)i(J  J* )!( 9  JJ1H  J* JmH )J K)KI=J J_- ˌЌ!-(Hӊ-@1A T@ J KJʓ 0 ), ʌ ГATQqT 9im8  @9 @9 @9 @9a @9A @9! @9  j Kʉ - )Jʓ* HIʪʫ͓k@ ȓk L iʊ Kʉ̓jk˓)L (ʉj+ Hʊ̓iJ+ Hȓ ` J_O{C @(]@(x7 @TP7t$ @P@ ]@)y @?qT(Q@ ]@)y ]@ ]@)y ]@h@ ?!@qT%Qq(Th @ @?T@`T@ ]@)2 ]h @h {AO¨_{AO¨#u+WO{@@`@! @)c|@H@9RT@T2@9%qTh@ uA987{BOAWè_{BOAWè_ֈ7@4@ 7 @)  @2@9%qTh@@@!H@9 Sh@ uA9i?6@Χh@ ]@)y ]h@@ @ h@ ]@)2 ]{BOAWè_O{C@@T#h@{AO¨5#{AO¨_WO{-@@H @ -)U ?qT@# @ @BR@@*@ )-@)@?T{COBWA_wSWO{U{BOAWè|WO{77h@@@Q*bqTrZ}@h@{COBWA_}* (8WO{-@@( @ -)U ?qaT@ J-@J@_ T*{COBWABR@*@ @ )-@)@?T{COBWA_RCog_ W O { -@@3Rms <@97B!!"RR R<@96@ @ =@ k4*@J!/ =@5/ =@j4)@i)@+/@IK!@`o@)@Ou`7F@!@@U7@@ 7 @)  +/@ D7 @ZC@3@RRR@H3@@ @R @Rr( 6@2@R @!@@!@@3@{ y~SR`@x2 T3@9%q T @-U qaT@ @3 @D_uRUrRr3@9%qT@ qT@ @3 @R>3@O @ @@k@T3@CT>@96@(@)=@i4@(@qT/@@kATb`$R3@$ @ @@q[zT@kTҿ@?qT(Q @ @Gn@@4z2Q@!x@RR3@RR#@3@9%qT3@3@9%qA T @ @ @ 5R38 43@@9?qAT>@9733@ T>@9h6@(@)=@i4@ @?q!T!!!RS`5+! TT@Rjr) J2@JR)rJ J) *5@(@)=@I4@#R!!$@*Ҋ*? @T'Ec+_'R!!74sQ{#OI)qTsh73@ez$Rf`\A @?qT @5 @@)@) @@?qG@T(Q @ @ @ h7 @ @?qG@ATZ)-@)@?AT{LOKWJ_IgHoGC_<A @?qT@)@I @@G@y(+w( QWO{bS{BOAWèWO{-@@( @ -)U ?qT@" @ @BR@@* @)-@)@?T{COBWA_P_WO{{COBWA_Ĩ_T"Th@)҉) T B%RR @ @@@h6RrZR Rq#Rԝ@{COBWA_Ĩ_{COBWA_Ĩ_WO{R{BOAWèWO{_q]SR{BOAWè?WO{R{BOAWè.WO{-@@( @ -)U ?qT@" @ @BR8@@* @)-@)@?T{COBWA_%PCog_WO{9z @1q3_/T(4 )?T*@9_q T?"T_qT K@8q+ s)3u˿aT@iR r J@9J R) J *H5+7@@2(R+(R+T`!!85R(R4|+9R 8@6h @ @h@ @ ]@ R+r? jATi x7@k!HQ@4!dQ4@7xH7mR/\8H7cC2 H6{ >@96@(@)=@i4@ @?!qT@)IG( T@v @@@h2@9%Q qb TR6h @@"B|5CRRRR |58R[@>@9(7-Q+2(@ @ H@B!(@9#R34{{HOGWF_EgDoCC_֩@(@)=@I4@/@)}S#g 5 4+@7a/@ 2*/@}S x63a 43ҴCog_WO{-@@_ T@)҉) T(@ ?-qT -)U ?qaT)@! @ @  7BR@(@ 2L*z`7(@@=@H4@3`6!!85RCRJHG= B%RR @8 @@ @W7)@I5@)@?T ]@I6@@T@"7@97@   W5Rr )@P7H6BR(2I ?5qT @ @*uA9(7H7 @H6@) @I :6@ uA9(7 @ %A"R(@ @i @hP7   @_5qaT*uA9j(7" @))AI " R#=h (@ 2(RK!#A)y (?qT(Q( @ @) @ @ ]@)2 ]@ ]@x7@@@ !%RRRX@3@9%q`T B%RR&7@  @ 7 @)   @ @ @Y@93@9%Q qb T7@  @ 7 @)  @@ @@6@95BR!BRCR_R Rq#W4(@2(@)-@)@?T{HOGWF_EgDoCC_3I%|M~SS#72 42@ uA9i87@_WO{-@@( @ -)U ?qT@" @ @BR@@*x@)-@)@?T{COBWA_pMWO{O{BOAWè[O{CO{AO¨g _ W O { C-@@y9; @*dvSRR@@@K3 `7@r T -)U ?qaT@5A @R#WR.##BR@@* qbT#+*qNHRj88J)8R_#`TY+@ ?!@qT%QqT @@cRrj!TҨ[)-@)@?T{MOLWK_JgI_>@96@(@)=@I4@cA@@@=@4#RhmU4(C @rZRRLRaWO{N{BOAWèC#mog_WO{-@@cRrH H  87UcTH@9qTS@h4h7@9@7Ti9(@i6 ? qARTI @9*_qT) 3(@)A(yhh7Ai@9yi R)r?(j!TR#R~wg/T?Ҽ #R R@_q(sw@qt6Wh!8a7x7 @0??@*렶T5g@w@/@(5'ss7@4h@9@(7a Ti9(@i7)A(yh7'"K@} @8?q9;@T9?T?T(@9qT)@9?qTqaTw@ @4?T6 qaTbTC?@#@)?@MHGRj6x@qbZs@R  @7@T2@9%qT@ @) t6 @@>@96@(@()=@4@HW@t6 @@@' @i)7(@(ZC@3@RRR@H3@@ @R @Rr( 6@2@R @>@9'@6@(@)=@4@h@@@ !TT!!RM@4"K@ͪ@@@=@4#RkFVZC@3@!!RR@@@=@51h@9)A(yh R)r?(jA T(ET )Y+yhxJ @h@9}qT?@) ? qT Ti@9*_q!T) 3(@)A(yh(7)R#R}h6$v@!RRR>@2@9%qT@BRDR @ @) @(?@K)zю5h6@׈ @4P)qZR R_q#R@@h!8aTR@%qT@Ȋ4@ @) b! Th6@T?qT?3q`T?'qATh@9qTqTqaT"B !RR$R3@9 6@(@ )=@i4@ @?q T!!RlK 5YQ@5Wh@9IqTh@9IqTi@hA ?`T(i)67@@49@W6??qT(R! @R jT?qTTh@9Q qT@qZRR H@i)!8)a @GT 1@9?%qFT?qT@A@9'7Q @@R' @@R @ @i @)2@9)%Q?qhT @i @4RRrR!H4@ @ R r jTt4 @?q`T(Q %?3q@;T?/qT@A@9/7?qT u-@ @) @@Rh @@RH@9qTh @@Rh @@ @)2 2q`T&qT9B RRh @@aRh @@9RRh@2h?q@TH@ I I3@IҊ(*)  HH@ I I3@IҊ*h H@ I I#@9j R)  `=T.?TJ!Th(HI+@(II)*I J#@y˪RJ   "TH@i( T2ATH@选I)  I @ )RjrTH@ Rir kT@ @) @@R< @@B RR^@.TATH@!Rir JI3@RrITH@!Rjr JI@9 R) J *5S!TH@Rȩr kTE&,T"TH@ Bҩ)i T2TH@i"ɨi I @*RhrTH@"R)ɩr JI@9 R*/T&2T!TH@‰R)ir JI3@jRr) J *5z2aTH@"Iʩ) I @J(Rjr&TTH@)HRȪr kT2@9%QqT @h@R @@@ B9)2 9aTH@yi*R JI @9R) J *H5ssB`@+BRgGhA@o_ @@R @@ RRo @@R @@!C @@ha@8 @ @M@ @) @@Rjh @@RF?3q`T?'qTB !RR$Rr8( @@RO @@h)@{ @@RB @@!"R @@xc@!17@!R9@v;h @h @@ @)2 a @?q#&T(Qh 3@A@9z77?3qR R?/q(@4}SoS!R,h@ @ @)5 @!P R+@h4h.@95?/qT?qTI u. )} ?3q(@)}Soo' 'q( RBRR@@ @Hr5ҨY)-@)@?T{TOSWR_QgPoO#NmC_ֈ!hkjI+@(iijɨI J@ +KJ   ȱJH@ i)j I#@9 R)  (sqH@)HRȪr JI3@Rr) J *5I@j R r) JJ3@RKrJ J) * 5 @3@3~H@i J I3@J+)  B RwH@i( I@yR)  @@R] @@ @)2 H@i(i I#@9R)  }@RRI$` RRE$hAh@!i)!(@ @) @@R0 @@b RR h!8aG{#T(a;@ HRR@G@BRaR @@H@9@RRh@2hB aRRREWO{-@@ @ -)U ?qT@! @ @ ~ SIR Jq@@*@)-@)@?T{COBWA__EWO{?<qT* )+ih8J @{COBWA_t @@(h2@9%Q q"Th7@ @ h7 @) =u @@h2@9%Q qTh7@T @ h7 @) dt @@hh2@9%Q qTh7@3i@ h7 @) #h2@9%QqHTs @h@HR@R`{COBWA_ @{COBWA_ @`uеB2@RRR@2`h@h@ h@R i@Rr( h6h@2hh@R  {COBWA_ @vB.@`RRR@.@@ @ @@ R u3 h@@ @? qT @y*iR) J)@9*R J(*5" RR{COBWAha4@A@y!Q )3 J3qH14h) 4b)4\)a4V)WO{@@h2@9%Q q Th7@4@ h7 @) Y @vB.@`RRRe@.@@ @ @@ R u3 h@@ @? qT @y*iR) J)@9*R J(*5" RR`h @@h@ @) " RRTh@@ =@9 6@AA96@)R *{COBWA_4(WO{(@@._6>@96@(@)=@i4 @A!J@5_qT+@-R,ͭr k`TB}@i4@(  %@9rR R#!BRCRT@@(BR{BOAWèRG!BR( @ ?!@qAT%QqT(@@!!og_WO{<@9H6@ Q@)2 Q@ m@987R6rw6x79C9h@   Ti @:yu R#RvZ@:J@I@!? qT _8q!T_8qTH @ 1@9%q!T @@@IT =@96 @)AA9I74@9}`T @k@9K7? 1T @J=@9/7 +@97({h(jT?qTH87({h6[ @h3@9%qATh@A@97h @ %@*!?A@y @(%h @%@R @ i>@96i@(@)=@I4@i@)@'R)  qT? qTI%@9*_qaT) 3(@({h(64 Q@)y Q{FOEWD_CgBoA_O{?qBEhA. * 'P:\$6E"R#R{COB;{C@@H @ 4 @?qT)Q {A_@og_WO{ ) @ ?!@q(T%Qq(T` @'@$4q!&Th!0@$@{ |C){1&T`BX@@@$h9! @(q)T( X$!(@7@?qTX6( @ @?qT9@9 7:RҘ @(qiT ;@9 7@qTZ,@ ?1qT6@(@h)=@I4@i); @h! @)c|@H@9҅RҎ @(qT 64:@9( 7@qTZ @?qT @s@B9Qq)R(!Ț)   @TR'4 T @γT @ T@B907@R#Rd @(qT @ @(qT 4':@9@( 7@qTZ:@9 7@q`TZ @(qiT :@9 7@qTZ;7Ҵ2҈@i)5)@ KT~9ha5@@* 8ha5@@* 7ha5@@* 6ha5@@* 5ha5@@* 4ha5@@* ` @$@h @) @ @ @i @) @V}!:R{FOEWD_CgBoA&@q T @?ATQ {FOEWD_CgBoA_H;&O{C3@sh@97R{AO¨_Rj4" T`jt@?qT(Qog_WO{C -@@a R~?h@!@`^h)@ $C)(  5@ @?kAT@9Z)-@)@?!Ta RE LR@A7HR9B CRR' @@5:@9!(7h!8)CjU)} ? I T@rTP7H@7X6 @ 9@9) 6@@=@9 6R 6 B<CRRR@R@( @T @@9q!T:R6@9(R5@@(RzR9Rh@ Q@)yY! Q{? М/"Rr7R?{7.`Tu{wkw8R@ @+@j@J luA9,87K@lBj_=@97@l B=@96@@m=@ 4k@k@k@k@L@ qT L@ qaTL@y-R JJ)@9 RJ J *_qd @ Tj@_!qTj@ ͎ҩL)_ T@ H@ P6 R r  ?qTI@" @A @!k@k@kk@L@ qT @ ,{7:RvqT(R!j T:R8R.TBRJH@@ @ @L7h@ Q@)2 Q44R9b RLRtZ)-@)@?T'9b RRfRZ)-@)@?!T {EODWC_BgAoƨ_'@7BH7@9(7'@6Z)-@)@? T@(<T.B@9i7 j@I@J=@J4)@ J= k=>qh'k<$WO{<@97{BOAWè_h@ @  =@j4)@i!@`\h)@ $C)(  a R=@ @?kTRi1Ta R=@ @?kT @9i64@2@9%qT~@)?4yhA Rt@ @{BOAWè_{BOAWè__WO{wB4@@h@h7X6h @ 9@9i 6@@=@9 6)R *h!8a<ha4@ A@y)!@JIyii 6 @9i 7 i)4)@ @3yhBRdh:@907 R{COBWA_Ĩ_p;h@_7t 6h6@97R{COBWA_Ĩ_,R{COBWA_Ĩ_<o g _ W O{-@@nrh7@ @97}S7(7@96( @ 9@9 7R<R7H7@96H @ 9@9i 6@@@6h6@I@ J=@j4)@3+R`4a R5=+@3@@ @(@96*!LtRG7RR0R';RQ?q"T%@!@'Ɇ@' h H!8!"R#R(*i(6 Ȇ@' H!8 !5RGHA4@Ha?@ M87R 7R+@3@G&@RX&68 @?qBT)Ɇ@')ZZ#8R)RG7R+@_@!*@3R4ARI  @ 2 @@ @) @(RGSs"8a"BR#Rw @ R r) qT@@+RRR2R+@3@/R_@lw@L.@SRGR7RR+@3@_@';RQ?qIT,G@AR`(i") `TtRRR+@3@_@lw@L]: )?4hW"8(7@97( @ 9@9) 6@@ @ Je?r7l)i7@@=@H4@H7@96H @ 9@9I 7. )r8 )Er(O#l?@@ @J. krj k!?rX 6i7@@=@H4@WO{4@97R{BOAWè_@ 9@9 7R{BOAWè_@@@7R{BOAWè_6@I@J=@j4)@R 4a R8@ @ @8_r7R{BOAWè_֨@Ry{BOAWè_ s R{BOAWè_)@9t6? q#TiQ?!qT JLii8k ` }@ R{BOAWè_T7? qTiFQ?qT*RJ!ɚ_@T*RJ!ɚ_zT @i R{BOAWè_ @ R{BOAWè_*RI!ɚ? M`TR{BOAWè_ @i R{BOAWè_ %@i R{BOAWè_ )@i R{BOAWè_ %@i R{BOAWè_ !@i R{BOAWè_ E@i @ 9@ R{BOAWè_ @ R{BOAWè_ y@ R{BOAWè_ @  R{BOAWè_ )@) R{BOAWè_ !@I R{BOAWè_ !@i R{BOAWè_ %@ R{BOAWè_ @ R{BOAWè_ )@ R{BOAWè_u@{BOAWè_g_WO{Y9C48@_@:@9(7`Th:@9((76@96 @ 9@9 6@@=@9H 7h6@96h @ 9@9i 6@@=@9 67RRHa4@@9 S(}S *z6@BRh:@9 066ST:@9(6k6@94R:@9(7 6@4@9h6h6@97R{DOCWB_AgŨ_R{DOCWB_AgŨ_Ha4@ A@y)!@JIyii 6 @9 7 R`4H!8BR:@9/64T'6I)4)@ @( @BRh:@9777 R{DOCWB_AgŨ_4Tq4nWO{4@97{BOAWè_ֈ @ 9@9I 6@@ =@9 6@AA9h7H!8a#R 4@96T@ @ T 9@9'6@@=@9'7{BOAWè_t>O{-@@H7@%@!@TMЭa>@ TM@T r@T rT,!@I@9qTt @6 @_qaT@y+R_ jT@K@aTK]@+7J@|Rk _` DzAT(@! @)c|@H@9Rw @?!T@@ @ h@@}S 2 (R)R3h&)hBht {BOAWè_(@! @)c|@H@9҅R{BOAWèMWO{RR[@ @4V֢ @RR,@h@ ?%qTh @ @i4 @Hh@A@9?6{BOAWè_ R?(jT@R{BOAWè_ @Hh@A@9r{BOAWè_{BOAWè_og_WO{-@@"R2a4qTZ:RQ q(T҉ )+ih8J @Rsh@ @) z4 H7@H;@RX @RR2@a@)-@)@?T{GOFWE_DgCoB_H7@3i@ H7 @) e @`DRih@ @) 5H7@8 @ H7 @) H @\C7@R RRTR @70o h @ h @@ ]@)2 ]@ )! @ )% !SRRB4@ ]@)2 ]`4@ɞ%RU @ Q?iqT*RI!jR r? j!TqTqT@ ]@)y ]H;@ H7H @&aTqq!T@̎)I, ʉ"@9jR)  +R(r+R(h5 9=S}@,!!RL @?qT(Q @)-@)@?@T5FH;I)7@ <H  {C@@!(sog_WO{?lq @}{ ih 8@986 R)Rnq!3`[{C4v@Y9C7(@ @RAR(@  h D@@ ZZ4H@C\#7@)@( @ @H @)@) @ JJ4I @)@) @ v@ R! RRRj@ @*_%qT @J @JX6 @1@95qTnqRx6@R9R ! RRR> @h @*_%qT @J @i X6 @1@95qTH5 @ H5@TH@CT4@Tӎv @R|KkA7h@ @i@J@) )C@J@I @) @I @J@J @*  @J@J @) i @h{GOFWE_DgCoB_"RҘ@@  @@ g_WO{-@@_qT9R RPRH;@| RH7@R9xC9R҈9fHR9hRJ9 96x@H7@7@ H7 @) ah @Y9C /@`RRRm@(/@@ @ @@ R u3  @ R5"R2&9 RRZ@ -)U ?qT@) @ @H7(R^$CBR@6@ @#`6S7 @@~^ @ ^!BRCR^@ @r" j@) @ nRh ^9I9 9@)-@)@?AT{FOEWD_CgB_#33g_WO{CH7@i@ H7 @) (R*hR)BqHTx =O4i )!&+iw8J @Y9C6{w@9@@}(k73 @9h>q T {EODWC_BgA_֐(R*P)Bq ThUеBzw@9@@z7`h@h@.qT h@ h@h@ R u3i h@R i@Rr( h6h@2hh@R hBhhbh * 97@9) @9 !R`AR"RRh@ 2hH;@ @@ @) i@(h@R !_WO{j5 @~A U**qS} !? cT*97 ! @ T 97  @T 9*7 @T 97 @@T 97 @T 9J7 @T 97 @`T 9 7(@T(!*A_)TT)) 9J7)TSt R{COBWA_Ĩ_CQ(6`˨BT ˫l@8jl8J  JD9*4_qT?T @9qTRGgSu{COBWA_Ĩ_O{C@I)7(\@@?q#T(QT;@]E9`@ 7h@@`TS  T;@]E9`@H'6;`@@?qT(Q`>@@?qCT(Q`V@@?qT(Q`"@`&@`Z@h@{AO¨ `>@  @?qT(Q_֕ WO{PE94 ~өjix)Q?5q(TB]@@yW6_x ]Tg"B{BOAWè_H;@ ]@i)=@9)(7]E9rI)A )@9I _I)7)@)@97 R_og_WO{CU;@(]@ @ @J @_T*Y@K@K,-M|+5L{˺˘+1Nyˋ˟)y@+?qTI @*? @   -  %  q u@i  u y@i  y4Y@ @i  {EODWC_BgAoƨ_g_WO{C_q)TVւ;@(]@h =@9 (7)]E97I)A )9@74w)?T*@9_q&T  TJ_ qT K@8kqIJJ7J@J@97"4@ @y@a@m@2@ ]@)@* @J* m@) m{EODWC_BgA2ji @k~Ak S*k*kqSk}k k!TfX@ @(I@a@ m@2@ ]@)@* @* * m@) mT8 ?T(8H6i@9 e38s Tkl@9G @Tk l@9GӗA7 @ Tkl @9GӗA7 @`Tkl@9GӗA7 @Tkl@9GӗA7 @Tkl@9GӗA7 @ Tkl@9GӗA7 @`Tk@9Ki +!i!mAGӭ} M  T? TJ _!bT L_AbT -K|ooN  oooooo< o/2/1oo/onBn..c.nn!.AT!NcN!NNBNN N^f_ Tj7, M}, ooN. k ooą@ ///ocnB.n!.k!T!NN N^f_ T) @8J T@ @@a@ m@1@ ]@)@* @  * m@) m R 39 R 39 sTh978saT{EODWC_BgA_RLO{C2{AO¨O{-@@5 @ -)U ?qTi@! @ ` @CBR< @h@uS}@)-@)@?aT{COB_!'0WO{Ss;h@a@TTm@#T51h@ ]@)@* @J*  m{COBWA_U{CH;@ a@?T m@_T?TJJ7J@+ q)?T+@9)qaTK%@kK% aB4 K%aa{A_O{Ss;h@ ]@ @TT a@?T e@?T i@?T u@?"AT4 y@?"ABTym@1h@ ]@)@* @J* )L)J ) %M+J - u@jJ u y@jI y{BOA_e i@?Ti u@?"AbTu4 y@?"ACTkH;@h)R 9_Cog_WO{-@@Rrj TVւ;@7 @yi4R]@ @57 a@ m@_ T u@ @Tu y@ @Ty?9@ 6I m@ a@s \ LY w -N[ j y@  #7@@ I97RRh@RR^ qKT @ @zATV  @z TN@ RRE q TҨ @z!T6@97/@ ]E9@ 7}@ I9) 9H6@9H5Ssi@94!,BRCRoR9H95R5Ssh@9h4!BRCR]R95R !p=5R"RCRRR @@ @i@ m`a ]@jJ=@9 (7 ]E9 7JJA J9@7 JJ7J@J@97!6@ij i q u@ii u y@@i y eB?1T)JJ7J@I%  e4HA@yIR jTH6@I) )@ T @a@)-@)@?AT{HOGWF_EgDoCC_?.Ob.g_WO{X7@@ @@Y9;(@eB1 T"R@2@9qT6@9H 6 BRr@@7 R *@(@eB1`T{DOCWB_AgŨ_H7@4@ H7 @) @%@{DOCWB_AgŨ̗Ro6@97h DZZC@@RRR$@Ho= 6@97(CR}@hG6_WO{C-@@xraTVւ;@m@ Ki)=@9(7]E97HA 9@7TV 4@a@`@9@)-@)@? T-))7)@)@97@Th9 6qcT@)A$7ih8T254@a@m@T`@9*5& i`8   JD9Ri%  i?T l@8 il8J  JD9 z 4 _aTC#RҠc @ 4@a@m@h96@)-@)@?T( `T@)-@)@?AT{EODWC_B_DR#R_ @9)5&+ih8+ , D9R%h  T @8/in8, D9z 4 aTQci)I_{CxrT=1T(qAT(7 @(%@ *%(;@ aB4j *%a ]@(;@ ]@i)=@9I(7 ]E97I)A )9@)7 a@) ))7)@)@9i7 a@*@9kA$jij8) a{A_Iog_WO{Rrj!T7;@a@m@@ 7RCR:Z7(5@9)qTqT@9)qTqSAT7@q(RT {h?)j`T(5T@aI@3%@aBh (%)H@%@4a@ 43m@r  _qT)@(R)[R57BR@9)qTqT@9)qTqSAT@qT9zh)j`T @z@zT@a{FOEWD_CgBoA_֨A R@9_)qT_qaT@9_)qT_qSAT yj?+jaT@ @z@@zAT Co g _ WO{-@@997(@ %@* %7;@+aB4j %?a*@J*I9 7*C9_)qT )m@_ T @9?qT CR @8 {i)jT( T@-Rɭr kaT@9 {hR)jT .@8 {i * j4(%Ti@8()T {iR * _q$Mz$Jz$@zT{@8 {{)jT!T"AR6-! @9?qT %@)Q %Z)-@)@?T{POOWN_MgLoKC_  {{ R_)j`T@8{5 R @8 [j++ qDMzDLz T_)qD@zaTCc4 @zQ˿T@ @II97(@@ T(@y 苇Ry,(6@RRx@2@9%q@ T(6@R @(@%@ @k!T(@ @) @( @@ @) @((<@ @ @' Tt@ @@aR@@ @@ @(@H@H{cT`T (@@@?qT)Q R@(@%Hd(@R@+og_W O { -@@/  )( @-U q! T(@A8 @i@(+ 'RRRRR7 ѶB R#R R4R|*_sq + T@9zz?)jT[h6bR&,O@  *ObR,D@zT_kqT_q`T_q!TK@*7KR)R#_oq T_wqTKR_qR)RK(RXCC BRi@(+RRR@7@4.R#B=@9(7RR3@5$R#Rat3@4` @h@ @AR+@H @AR!BRCRBR7K@747O@6W!R*R/@J-@J@_ AT{KOJWI_HgGoF_#@@!RK@6W!R46W!RO@7*O{C3s;h@ 5@4 9@_ k-T KJ @4 a @y4Rm@ TJA R @9MYlm- q@zT)T{AO¨_C9qS*2h@ K) @ q@)_ I a{AO¨_(; @I@? 1T4KQE9K J@j?AqT?)qT?1qT?Eq@T?qT @I@)QI)0R @r @K@kQKK9lQL9L!@ k8)A *)2 @KQE9J IA @HQE9HQ9(H_#m_WO{-@@ @-U q!T@ @ @jT/KCBR @Tu>@9(7n/i@8!c!`)aga#T3 n/Д6&R`@9j`8 @h JD9&  i?T l@8jl8J  JD9 z 4 _aT#Rr_@(ci)`g) `sT@)-@)@?!TA`{FOEWD_C#Bm_:)g_WO{:ZH@ @@99C (@96!"RRR[v@5@9H5AR R  R R-H@ @@(@96!"RRR5v@5@95B#R@?qT(Q{FOEWD_CgB_,og_WO { -@@'(A4@(@ @@x(A @97J.  qRRu` @(5@9 4R(!8aR *JA7H@ @ RARΌ*JA7H@  h D@@ ;{4h@C+k!7i@)@( @ @h @)@) @ :Z4I @)@) @ (A4@h@؍Ϛ(5 @ (5@@ Th@CH@] T@9 @O?N)J @+#3L y4(;@ ]@i)=@9i(7]E9r))A )@9IjR))7)@)@9I7Rf*%h @h '@)-@)@?AT{JOIWH_GgFoE_;bR@9996;{C4|(@9IRJRqA"z@(@94S@h @h 994H#))A)h(@))a))@ MTz+kA7h@ @hi@*@) )C,Ќ!7@J@I @) @) @J@J @* -Э4 @J@J @) i @hh6@95q)Jo(!@@@R@@(;@9H(7*J!8( CiU}  T(@rTP7(@7X6( @ 9@9  6@@=@9 6Rr6(@h @HT( @@9q`T(@@!\BRCR(@-U qT(@ @# @BR`#@R%x#? ATU' og_WO{ C-@@ (CbT( R@9{j?*jTATRT)_8{i)j TR?q@ @B#R:h@H @x|`W @?qT(Q  A @?qcT(QH (k`@)-@)@?T{IOHWG_FgEoD_!"RRRt @ 5@96 @ 1@9?5q!T@@ =@96 @(@(+=@k4 @JJ!)=@i4@@)qTH@k -I) I@ylR)  (@9687{h6(R={hh7K K)+S`" T@9{h)6q!T_8qTK K)+Sx# ? q!T@9) 3(@{h(6HR(a%@xo.AaT@9)A$(ih8T:Z%{C$(RT9(@)7{h6qT_8qaT ? q!T@9) 3(@{h6HRY@H?.AaT@9hkh8_8qaTK K)+S?@6-U qT@ @ @BR%@5@(;@m@RRX@[Sx!c`  &@?qT(Q_WWO{R ˀ@9)5&+i`86K4( D9R%˚Tl@8-il8J * JD9 z J4 _aTR[$4( D9R%˚Tl@8-il8J * JD9 z 4 _aTR{BOAWè[ShiT@94h{BOAWè_{BOAWè_og_WO{`6ւ;@ ]E97@h3 h2@99qTRh@h@ B9)2 9@@!R_@@)@ I9)7 ]E96 a@ m@? bTJ  @9)qTJaT{FOEWD_CgBoA_(7@5@ (7 @) SH @7B.@`RRR_@.@@ @ @@ R u3 @3%0@99qT]@ @: L;\ eN7 y@*?@4 @˖ @] @ @J @* +, 1 + ) * q u@*?* u y@@) y@* @* @  ˊ@I I9)2 9D% {(;@@H @) @ @Iyi)@)@?T'@?qT(Q{_{%g _WO{6ւ;@ _ kT0 @I@) @|@?kTJ @+k!8kaWyu T?jT44i@5 @j>@9J 7) @ A?T){COBWA_Ĩ_@h@@@02@9=qT@@(!@?&{COBWA_Ĩ_ֈ >@@h @5wqT }@i@( i @?i(8h@@{COBWA_Ĩ_@@ qZ{COBWA_Ĩ_T4@%A)T?A441 @!CR@ @)  @@*%A  _ T@8?)qHT@TCR @@( R{COBWA_Ĩ_WO{aR*@`R%@d@{BOAWèog_WO{-@@<;@I9<5SE9?4QS9 ()@  (AA r T7v76@ @)Q >q]T@#@96&ARA%Ay54^qAT @9)J qH[4D@ ]@i)=@9(7]E9r))A )@9I q`TRB;@#@qT)@#;@~S  ; (86@ @) v7TM=)]q()e=6q(@9Jk ?qi3@ ]@i)=@9 (7]E9r))A )@9IjRd))7)@)@97R%2!@_@h=@9(7_E9r))A )@9I qTR(7@@9(7RTR S4RkT@ C9?)q T 9@5Rri ]@i)=@9I(7]E9r))A )@9IjRB@ Ay5R|T( @@yu@ =@9 7Z))7)@)@97Ro% @AyRkT7ARRA@ E9RKR?qj?q @9) * 9 ]@I RRc5@ ]@i)=@9i(7]E9r))A )@9IjR))7)@)@9I7R@ y?1ATy'RRR>5@ 'R@@=@H4@!BRCRS@i ]@i)=@9(7]E9r(A @9?HjR R#))7)@)@9)7R7RR>'@ R 9q TE9qiR)jRqBAR&R))7)@)@9i7cR@@ E9 @_qT)@)@I ]@i)=@9)(7 ]E9?r*JA J@9)J ))7)@)@97)R!R@i ]@i)=@9i(7]E9r))A )@9IjR))7)@)@9I7RRR&@ R 9 R kaT&RD))6)@9?q)R) ]@jJ=@9j(7 ]E9_r+kA k@9_Kj RJ*J7J@J@9J7 RB *E9qiR)jRqCz&R_@h=@9(7_E9H7(A 9@7 (7@@97c@o@ˢ@<4@ 9SE95C9 Q?qHTJ Ji&Lyixk `WA9 C9 k`T.Ri҇@yc@.kBRZR67m@87@9qT @8Zi** _q$Mz`T?)q@T@8m@TE@m@AR #qaTR0BTRu8RTjh8?q@T?yqT?qT)@9?qaTi@) @  CR( Th_85qTh_8)qATh @i@) @ xh@ @) @ @i I9i6 UE9?)qT m@ a@*%@J*% aB4j *%aR@ %@)Q %@a@5R K@@ eB9 9Ew@@q@@Yk@@@b@Y@a@n|T(7@|@y@ v@ac@ o@ T@8qT?@5!8R^@c@ o@ 뀍T ic@o@ @c4(R9'L y?1 fT7",ZZc ;{7Y 9S)KA9@A8T9@qT*{hx) '1aT@a@RR*1 T@ C9?)q!T))6)@9 4 @ I97qT q@*J6J@9 D @zT @i I9)7i@*%@JQ*%m@@m@BT@9?)qA T)R@@9%T@ IA95@9qT@ q@ T_8?)qT m@ )?KT @)R@9 R(* 4 8qT@ q@ T_8?)qaT m@ J _˷T*@RrJ J)@9R) JI *I 4 @9%T@ IA94  @8mѿ)T}q@Tq#TqT@9џ%T? qT m@ _ T @9BznR?0jT Tjm8qTk@ k ki#T@9qT@ q@ T_8?)qT m@ )?KT @)R@9R(*5;;@ ]@i)=@9 (7 ]E97))A )9@ 7Ayt R?(jTm@T(˶_8?)q TaT R4 ?q`T?q@T@9)A(yh R?(jTR4|BRn!!R@ IA9? qTz)?eT q@ T_8?)qT))6)@94 @i I96 C9?)q!Tm@ I9)2 9i@)@97m@(iT86? qT KT@9 ?qT3@)A(yhڇ7 @zTAytه75+ + L@8kџ)qATU3m@"T )R;`T_8?)qATm@v@m@ ) ?+T@gRr? kTbAR vb@;{7TZ?'B)qATT C9?%qT @y?qAT 5@ ]@? T* @J_qCT)@)@94*_8_qaT 8@ 5@4 9@_ kT~ @9q$Cz`T?)q(T+Ri!ˁR? jTA ]@i)=@9(7]E9r))A )@9I qTRv/c 7)@9rT @JAJyi Rj* )_q JcT @ ) )?iTq@TqT@()m@ #T*@9"kAkyj R+ LqJ!TK@ k kmm T 8)@Km@J} ? 1JT@ @i @y 4 I9 6 m@ bT  m@ 냾T*J6J@9j5 MA9 4?R(1T )R M9))A)@i4*5 r=@]@@]@"RCRgi@)@9I7RR0`;]@5 r= @]@! Rh@%@@(e@`@ @H@t@]@a@BR@]@"RCR6T@@?qcT(Q(@94@]@! RCR!(@9)))@9 * 4@]@!\ BRCR(@94@]@! RCR(@9(4(@94(-@@9?q(R! @ T @]@! (@]@!BR @]@A !RCR @]@"RCR@8h4@9qqT@]@"RCR@]@! BRCR@]@!"RCR@]@@q @ @J @) m(A@yIR jT(6@)) )@ 뀡Tұ9@@@!ˢ?` [gGA9 4G9iR 9 @)Q /R 0RqV c@ o@ `T)R K9@9qa'T/@?@q G9)R 9H5  I9)y 9 7@4 ;@_ k,T _@) @ @yJRKR rqh?q@K @ s@?(c@9cQrqH0T!RH I- ywx) t9xBR aR @yq!T_@ 7@ T @)?q#T@@94c@ o@ T7[@ @i @  c@*@9_qT) c@S c@ [@) @ i@( h@ @! ` @` Wc@o@T_@@@aT/@h C9sq@@ ]@i)=@9I (7]E9r))A )@9I V c @AՋ@@a@!@A@@@@Q@`@!]@Z@a@r@ %KI a@ Y@I  G ]@@@]@ @ % i @J @) mR$@5@R@E9)Y9R@!R @%=9uiR 9T @ J7J@I%  RRV@ Y@ Y 5AyjR?qI y)}Q? qhT Q@ - )6*@9KS a9Hy(9*R ?@H4 '@ Q ?(( _88@ a@ m@? @ TJQ_=q+Rj!+RJ D@z@T) aiR 9=.@8_qqT @9_qATchR9c G9(R9)? T@yR) J @9RJ J) *)4@yR) J @9 RJ J) *5 @9 9 9 Q=q)R(!)R @zT@&@!89@> Q>h8@ @)Q 0R R5RR8R o@ TJA R@9MYlm- q@zT)T )7)@)@9i7(Rw[݁Ri? TRROR Ѩ#H ==HRk 9(R(9RU;RT@(@yqT"66_8?qT @ X_8 qTA$ix8q`TR% 4N@8zT ˌA$iv8qTR% 4  v@8z T R_8 @ X_8  ˌA$iv8qT ןO@k * OTlxT`T 66 C@)!@) @? T? T+_8K9 ?T8 l_rh ) ˋ@i @Yˉ@>@9 7))AG@kh _TK@hK 6(@9JA$Hih89Tl R 3)9 R 3)99 @T (?7(8ATZ) @G@JH _K@hK z7*T8?AT  +|H  N=!NO @<!NAT? aT  8T9 9*闟k@I K@J K!h@9iq TqTq T*-@%K@8q`TqATO@ 7qTh @9qa Tw@!6A$@9h"Th@9q`"TU˳Ti@9JA$Iii8 19i?#T9i?CTh@9q#@bI?@d2I@T @? T[`7sw@ 4Rh@9 q藟O@  *O8Rw@ 4RR q藟O@  *OmqTuqT*-@JO@kR7h?@ " T R`RR*-@*-@_O@k *7JA96Th@9)q`Thh@9(8UT*-@_O@k *+6 *]@J@J@_ T R*Rq@Tq!T@8*]@jJ=@9(7)]E97))A )9@7)A(yh)R?(j T%R8R*7hT9?R 2 h?@ BT R R @9_qqT)R?@ "T?qO@  Oa R @9_qqT)R?@ "T?qOT J7J@J@97iT86 _ qT? Ti @9*_q!T) 3(@)A(yh6R#RLUv9?R@-@q TqTO(=@h5q!Th @9qT)=@I5qTqT,^6_Th@9qTh@9(8Uj_Th@9q@TOT@8qqUbT@@yqTqaT.@ @94R|@(.@ @99q!T,@8qTҔ` 6 R(8Uh@987hh@9(8w@47 @(ˉ@( @ R *?9K@ AR' @@) @ t6 @6 3@I !@) @? TU@9}S2(9U@9 R 3)99 UhRhh@9(8K@K@9 ?%HTqTi @9)?)cTX U9 Q?!qH TL )(ii8J @hRH RdRRR[uB9h(06"(T@9%'TR@'4@ ]@i)=@9(7]E9r )A )@9I @(2@ @7 @aT @a@Uh9h7:Rl)A$6Ih89U:RY @JAIyi R_)jTR! N@9q!T R7@-@u) K.Rס@yU7@T7@@9kAjyj R*jTT 7@"T _8JAIyi R_)jT@9UqT@9q!T @-@H&@9)A(yhH)`6B-TRR(8UHR(8U@ ]@i)=@9I(7]E9r )A )@9I pR(R(8UR(8UbT9V@7V&R.RHf@y9UhR(8U@ ]@i)=@9) (7]E9r )A )@9I GRRi?8xRRb.R<@yU@ C94?8 )7)@)@9)7$RRRnR! ( )7)@)@9i7'RRRb 6 )7)@)@97'RRR0 7VR[[@hT38K藟k@( q!TK@h @(ˉ@( @ R *?9[@T(R:7R38t@2(RO @( dӉSiR(KR} } SUG@  AR\ @@ @9[@)RObT)R id)EijRI K)R)} )} SUG@  k @, @a ? AT RsqRK @9JAIyi)`6   T _8JAJyig7?}qT?qT* ]@i)=@9(7]E9r )A )@9I ,hR˨҄RRR[VU_T`B9(7ZC7;Thd<Rh7@?8 )7)@)@97"RZV@ ]@i)=@9(7]E9r )A )@9IjR7@ )7)@)@9)7RB@@ @ R r qT@(@ @W3 @@BRs@ -@W@h @7@=@9(7>@9 7@ @7@J I !c TT @y@ @?qT R r  ?qT@I@) @WS @R(9ˉRhr(W.RRBPj |@>@9H 7@ @C@7@) )@! T @F7@RZh@ R r q!T@(@ @W3 @R[6f7@) (iR 9ˉRir +T:@h@8сR& #V8Vxy 9ThC@7@ @ @E9S@ TsC@7@ @19S@s@T @`@95&i`8h@!ˉ)5&))D9RH% h@ TK@8Э5&ik8)  )D9 z 4 ?TRҸLS7RBp |@>@9h'7@ @@)!T @R(8l@BR|W@@7?T%h@9JA$Jih8? IT?@7@ 'p?8V@@yqTR38N@BRX q藟O@  *O7@=@9(7W@U ) TG@7@)  @6ˉ>@9  7@) @?TW@UG@  ˈ @(ˉ@( @ R *?9K@hAR^ @@) @ :RW@W@9@ @?qT(Q@( 7@U7T77w@(2@ @7 @CT @( @ @>@9 7 @B T[@WRK:R@@yqTR38bT(RhRfRR% } SG@7@)  @(ˉ@( @ R *?9K@(AR @@) @ @(2@ @7 @aT @aw(RO[@T:R38 RqRңH:R @Rk@R @@ @3T?9 @(ˉ@( @ R r)2_r R) *@ )A+ T! @ U?@hT{U@*-@*9U?@T 7 @@)? T hi8)qaTK%@kK% aB4 K%a @) )A *9@ -@?+R R j2T aB925Jk =?b*RC @y_q.T_q.T.'R~ @!˵RR@ QE9 @ QE9 I'R A@ QE9) Q9 Y@? )R I9!RARRR@ (m@v(RG9(R9!RC@ QE9) Q9&!R!Rx@ QE9 @ QE9 A@ QE9) Q9 )@ QE9 )0R @r A@ QE9) Q9 )R @ QE9 I)R A@SE9S9/@(c@ @9?qT [@( c@ c @9?q`T cRK9SE9 %R A@SE9S9w@  w,4?@4hR )R/@h+qTRRboRRh@ @7@iR I9@)@97 ]@i)=@9(7]E97A 9@H6` @h@ @i4h@2hRR@ QE9 @ QE9 I'R A@ QE9) Q9 5@4a@ UE9 9i@) @IiR I96 RK@8Zk,, qd JzaTq TR I9 QE9 @ QE9 %R A@ QE9) Q9A!RZNa @?q}T(Qh @45y RR(RiR rj@9KQqq !k d@zD @z`TsRK90Rc+@!: @ IA95D;@i@)%@ @? k)1 I9aV'R QE9 )@ QE9 *R A@ QE9) Q9h@>@&@-qT 3@&@9>@ >(8@ %@=?i(8@iR 9 QE9 @ QE9 )0R @r A@ QE9) Q9@9lQq(yTR- &ylx 0Rl7@4 ;@?kT_@ @t@y4R(/;5 I]@@@T ='RGRRRB@LyU@*-@ +C9s@ kTKA@k2KA @9_qqaT RR*9*a@ T*QE9* )@I@*R*I9*QE9) J'R*A@*QE9J*Q9*u@K+u 4*=@ 4jR* (a)R{(a#*-@ (a!RtRRRjR ) @a QE9 I)R A@ QE9) Q9 u@)4u =@?qT -@!RWDTiR )RPo@ TjJA Rl@9MYlm- q@zTs)TC9qS2H@K @ s@?(c7@@97_@h=@9(7_E97A 9@6o@))Th9H$7@i)A(yhH7 h@9i)A(yh R)r?(jT8 _@h=@9(%(7_E9r )A )@9I %aTh@94R#RE@9y$ 94 !@I )_8?q@T5@) J q@ @ @5 YE9?)qbT R *R I9 av-R@ @5 YE9_qT) )R I9 aV,R93"!R28@ 94 !@I )_8?q`TRZ(;(5"@ @5 YE9?qT*R I9 a!R<.RR(}@ 5@4 9@_ kAT@9?)qT?5qT @9?)qAT q@ T_8?)qTiR I9ARc@ @5 YE9? q Ti@)%@ @? k)1 jR I9 a"RR4N,K'60RH<D;-AV> ;~!8+5;2g / ,@8q$To;<R"?q!T RmAK@8Yk,, qdMz`TqdJzTw@U-@T@ C9 U9 9@) 5 C9 U9!R^( @5 YE9?qTRa )R I9a,R IA9? q$T &5@93 y_1A"T? Ti@9*_qT e3(@i)A(yhۇ7)R 9 QE9 *R A@ QE9) Q9a"R@@97$RѡRRRU9V@6@4:@?kmT@RrK) @ ˓b@y5C9IRq@K @r@?(bh@9 Q?Qq(T( 1. ii8J @֟J9a4qTh@9q!Th @9qTfhRE9)REn@ )TjJA Rl@9MYlm- q@zTs)Th@9qaTh @9qTfhRE9IR'84 bR@s(RiR rj@9KQqq !k d@zD @z`Tsb RR@yfRE9R @ QE9 ,R A@RE9R9(RJ9E94RE9@ QE9 R A@ QE9) Q9rqT( . iw8) ֳV@!Rc.V@c)V@0Rc$V@v"RcV@!RcV@"Rct$@ @)Q?q*RI!ɚ* $) $@@zT I9)y I9)2 9Zi)-@)@?T{VOUWT_SgRoQ_֩R *R I9 a@9?q` T)RT4@8 _@ȺF@9?qaT @9?qa T*R I9 a(R@9 *J_)T?k!T @5 YE9?q"T.@8?k)aS )R I9 a(R?qT @5 YE9?qT(@*@5*YE9_qTR5a@R* *R*I9(av.R*R*I9(a!R@!h@%@@*@ k1(?I9 aV'Rxq@TjR *R I9 a@9?qT a,Ri)RgqqA\T!?R Ta>@9i 7bT-#!RRh9@5|4SR#RBdRMV)@@a(@?ֈ@a@Vi@)%@ @? k)1 )R I9a @ !yTȂyT[=[>P' 2=&hH9#O{Cs;h@ u@* u 4 =@4 R 9{AO¨.Ҁh@ ]@)=@9(6I @)2I I9RRh@@'R{AO¨_ 5@  ]-* @ ) i)@) @I mE9Y9%@9h@u 5@* @J_q#T)@)@94)R 9)R u ]@* @J_qT"R{AO¨_iR 95 ]@* @J_qT)@))@ aB k7k@l%@I ) i%a"R{AO¨_7@%@Euh@ UA9 C9? k`T QA95 I@?T @ aB K) a ]@* @ m)@) @I mI9*R{AO¨_ց _WO{@9(4@9H4{COBWA_Ĩ_4R;@ ]@B i)=@9)(7]E9r@9IjR )7)@)@97RRR@ QE9 @ QE9 &R A@(QE9(Q9R J69H@9q(R*]@jJ=@9(7)]E9?r@9?Jj R)"*>qT^qTcR J7J@J@97 R"*>qTcR(RRNq#{COBWA_Ĩqog_WO{CCh-@@ւ;@ 9@)4 RZi)-@)@?@ T @9?qT?mqT?qAT@9qT @92q@T7@ 9@* R_ kTJR_)jTEA9(6 @9q`-Tq!T@9qTqT@9qT RQ9-@@9qTLRZi)-@)@?TM@8vQ qTRZi)-@)@?!(TC{EODWC_BgAoƨ_" RqaT %T @9u!&T< \Ro?=;=7=3=/=+='=#====== ===!TR: Z.&9t@sq8,:R{H:R{ Qq JI1q*jh8)j(8BT99;@*Q_qqTLkj8k `֨j8)q 7@@9 7@ ]@i)=@9(7 ]E9 7 )A )9@i 6m@I T(9(7@i)A(yh7g?qqT949RR @kkAjyj+R*j TqTqTq@T(yeT9  eTш8 iTKR8[Qqk(j8 K@9i)A(yh)R?(jATRRP6q T@ ]@i)=@9i(7]E9r )A )@9I qTR>aT(@9H4R#R[@@9qT949bR# 99RQ+QV y_1T? kT @9*_qT e3(@i)A(yh7RPQ 5P9P9 *h4R;)7)@)@9I7R|@cR`Q.+Q,:"Rh@%(T @9 "JcTRSZi)-@)@? Tp 99bR@\R%T@9uq<WO{ @  @B _qT*@_T` @! @?TT@9?qqaT@9?qqT T@986 2bT  @9_qq( @98"T @9?qqAT ?cT R9h @i@( @987{COBWA_B =#R'R4{COBWA_{.Ryҗ;@y{_WO{ւ;@ 9@?qT !@)Q 9IIi8 I9 @)Q C9?%qTRR @ @)Q C9?%qaT 9@4 I97 "Rj!RqI QE9 A@ QE9) Q9s4cr@ qT QE9 "R A@ QE9) Q9a*R{BOAWè_a"R{BOAWè_) I9a{BOAWè I9i7 @y?qT 5@ ]@? T* @J_qT)@)@95@9?q T?mqT?qT @9?qTR ) I9R 9a{BOAWèlR 9O{h-@@;@ ]@i)=@9)(7]E9r )A )@9I )7)@)@97$R C#%R@9h@i)-@)@?T{COB_A og_WO{ C;@;@m@_bT'q{{C|C$?6R@9)@**(9@ @9)@**(9@@m@_"T(@"T 4H97 @i{i7O y?1T)? TI@9*_q!T e3)@i{i7@O4@H@9@!m@@kh8Z))TH9H6 y_1T? kTI@9*_qT e3)@i{i7!TH@95 @i{i7R#R\> @@BT, @)@H((O`7R#RF>@H@9i{h)j!THH@9)@**(9@H@9h{h(jT(@CTq?@( qT7@@976@m@@)T97@h{h7H@9h{h R)r?(jT(@ )JR 9(@ ) 9@@caT@94R#R=4@ @9?qT*@8_qT;@j4 @9_qT y_1T? KTI @9*_qT e3(@h{h77O5B'@44ÉR 5{IOHWG_FgEoD_֨@ C9?%qaT9@4!ÉR{IOHWG_FgEoD@~@)( *aR1w!ÉR_8?qT@I_8 8I_8 8@@_ bT R@ 8k@ bTj@9_q!T 9j@8 9 @ T*!@R( !? O{h-@@;@ ]@i)=@9)(7]E9r )A )@9I )7)@)@97$R C#%RR@9h@i)-@)@?T{COB_ֻ Cog_ W O { G7h-@@@9i)A(yh R;_(jT@ 5@4 9@ kmT KJ @3 a @y4R@ m@KiT R@9.Ym. q@zTkT C9qS2@ K) @ q@)_ I a)7)@*%@ @_ kJ1 ]@jJ=@9*(7 ]E97 JA J9@7@9*@9797W@k98R+m@CR@m@}pJ6+@kR? 7 @@k_i88*%@ E*9@KR*jaT)AA9i87 ]@)=@9I(6J6 ]E9?r JA J@9)J ?qT9C'V'9C'V'{7' ]@)=@9I(66 ]E9)7 )A )9@ 69W)8{waB'X U kh @˘#T@ ]@i)=@9(7]E9r )A )@9I +@kkP  @ ]@i)=@9i(7]E9r )A )@9I A)7)@)@9 7(R+@k*!h' R!@ ]@i)=@9)(7]E97A 9@7@9-)7)@)@97@9hA$iw8q@TR)%7 4 *@8z ?T9&'{7')7)@)@9I7(R+@k!H( R@IE@7@9)@ 7 @) ?( @ B@RRR@@(?  R,(@(@Rr R *(7@4+@CR+@_qdW# )4R(@)?@9  6 @@)m@  )A@n@ k a_T(@ @@n@* @\ T* @\ "Tb h@9{8@ M Ti@9?)q!TɆ@I97)7)@*%@J*%bB4j *%bi@9@+@?qqAThTrTO@4skg 4G@4ȦH Th@9qq TZ 4{ R8@^@hTJ `5qTȦH `Tk@ q^@^@h=@9(7^E9h7A 9@77@@97h96@i)A$3ih8# {(RK@ M T^@^@h=@9(7^E9(7A 9@7 7@@97@n69( @)@( @m@T( @ T_8)q T5q!T_8)qT5qT!T_85qTHR8 _85qTHR8( @()@( 7 @(%@ *%@ aB4j *%a m@ aR`6@a@(@)?@9)'7'[7@4+@CR+@@K@6)@)2)s7 @*%@@ @*%'@ a)@*-AL bTH( (@ @! @a @ =@ R R?ii) H+@?h ! @?q#T(Q( Ҩ@@)7)@(%Zi)-@)@?!T{LOKWJ_IgHoGC_R'O{CD RR{AO¨_#mog _ W O { Ch-@@79 Q?%q/TRR7n;@i r+tBR7R@9 ?)T}qT4zh`7}qATH*(6?`T(8I)*7!p+R@97RqT@8R?q T(8@9}q*7!p+R7Rs+(8@9 ?)T}qT4zh`6?YT}qATH*6R7RyBqq`TH H48|/R`R Rq(8@9}qAT7!p+Rz/@87Rq`TqT(9@8< }q!T7!p+Rh@87R*)?)' T}q TRqh*9 7[ 7;@!$qTqTEyA @9 6qTqTqT`)_8?}q)*7!p+R.@97RqA T@9)TRilRr;@m@h @h l|3@  HT=/@A @9 7n?965;@/@A @9 (6BH0RPR}qATi6AT8@8 ?)'TaTW6 @9 ?) R!I*7R!p+7R@8 ?)'bT;R2@8 yaqT)R R)(R@9}qT!p+R-RA;RRbA @9 6B\/R;@!ҎRR `7@i)-@)@?BT{MOLWK_JgIoH#Gm_ֿ qTR (R(R)(R)@9}q`T RR#RRO3@*+/7 n/R y:R?Aq`T9(*Q_qTjj8k `UT7R!p+J-R{i9(*Q_qTf;@?aqa T %+@*6=+@/@4+ oIR+@7@4h9,, _9Rh@9 *37#@H!ښ3@O@k O %ښ? T)A )@907HchyzR!,  a<yz `!c(a3RR#v?q@4@9qTRi @9HA Yi:RR`7)y?Aq!T_8?}q@ @zT!p+R@9-RqT@9JJAJYi `7)y y?Aq`T(*oE7;@*@8a@_q ahyw8.@a@6kk=g!`mTh yw@4i)! )yw-#@h`(h yw@4i)! )yw+QqT)R(!Ț ) ThR)R kR,R;=q-9)/7)@9}qT)%/'!. RmA`T )%/'!. RcA 9@96`6B\/Rw6B)R7@q/@T!/RD@c `)A @9/7 3@  "''* KJ KJ K)7q! TR+RJ#@7@}q Tq觟  )(@9LAyhg6 }S 3  3@%m4}q!T3@ k6qT@+@k!͚k 3@  RqT R Qq3@1@!͚ K% l4L7 RL7rL +RQ!)` R#@77@_qO@@@zmTyAqT( *@8+R_q)_qw ,@9%HTRR)-RJR! -k-6m~ , Qqן 7qן  ,7,@8ѿ)'T}qT RqhZKn@`w;@ R 93@?q`T3@? qaT@6:R/@@I R R R 9@ :R/@v?og_WO{h-@@ @8?q?TsTh@9 ?)CT}qTh9 TTKkA R-@9mym-jT)JAT _ kT*@9_qT)@9?qTba}@ziTZ9!T!+6|џT+6+CRhT@2y?Th@9qT(@9%(THsTi@9*_)CT?}qT5RџT9}`T} 5TR@ R *@dK R@ 2@i)-@)@?AT{GOFWE_DgCoB_֎_WO{5@е @6`0Eq@qrqR@ ]@)* ]7@%@RV@ @(%X @ @).)(@ @(Y@%@@ @)%@(T6K{COBWA_Ĩ_@).@ @(YT7_WO{hB@y!qTu@B@yp6@v"Rf7B@yp7@ 5@@`57h@A@yp6a@ 6J{COBWA_Ĩ_O{C(@ @@TAT(@ @͎R*r) J @yRJ J) *4 @Rr) J @yꍌR J(*4R{AO¨_(@ @jRmr) J@9R J(*H4R{AO¨_h@ ]@)2 ]!R!h@ ]@)2 ]h@qA9H87RRx R{AO¨_ R{AO¨_h@ ]@)2 ] R{AO¨_O{C(@@y!qT @ @-U qAT@a!5/h@ )@)@*qA9 R_ j!T)%@)@)@)@* @)yj)@9 7qR"BRa!4a!(94a!x9`4a!`94a!89 5h@ ]@)2 ] Ri@(*h{AO¨_{C@9H5D2>(50915|01g_WO{h-@@`.R;U@@4VqaT @i@Y a@:T_T e@? DIaTe@ a@:)T_T+@9JJALyk R,jA T, e@8Mym-j`T#Ҙ!3R7qT!030 1T C9?)qT!l3(+@9JJALyk R,jT, i@8Mym-j`T:!4BRCRj~q T@i(1R!H4-@(!3RCRU 2=7@ @)@)@)) @JeB_1T+!p4@ ]@i)=@9I(7]E9r)A )@9I  %@+!p4!4 @()P) k+T@)@97(RI@!4 @()P) kT@k%@j K_qHT*H! 5@6 @97 )y 9a!R@y@I)-@)@?TR{GOFWE_DgC_A@94HAyw07!X4!3RxqTH@ =@R,@49"Rg.O{CzR{AO¨_R__(@H_, @)_(@H_!, @)_O{qT` RAR{BOA_4{BOA_;@C94RR{BOAQ7RR{BOAG6O{qT` RR{BOA_4{BOA_;@C94RR{BOA!7SRR{BOA6O{qT` RaRd{BOA_4{BOA_;@C94RR{BOA7y#RR{BOA6fO{qT` RAR4{BOA_4{BOA_;@C94RR{BOA7IRR{BOA665 RR {C)76)WO{es oւ;@in@(9@ !@qT)\@ !(9@ *9 R (8@qXn@Y*n@Y9mI4@C957s@e{BOAWè_ր5 RR{CY76_WO{CH-@@q"Tւ;@QE9(4@1@T4qT @3@* ?@R@a@7@)@97 ]@i)=@9(7 ]E9 7)A )9@6m@*IT9 7)@JJAIyiI6 ]@i)=@9 (7 ]E9?rJA J@9$J I QE9 @(@qT(qT0qT_@9JJAIyi R*r_)jT`aT@94R#R 2XDq@TqA T@ @)Q 0R@rD@ @)Q 9*Q 9 !@I )8 @ * 27+y1 T_ T@9KqaT*e3I@JJAIyi 70@)@9I7$Ru C#R%RR@9˿ @T T9RE@9qTqT9R9@ QE9 A@ QE9) Q9) 4@I)-@)@? T{EODWC_B_ր7@I)-@)@? T7!R{EODWC_BB4@ ]@I[@9q`T@ ]@) @ a@R@ K+ @`K@9qTK@8qaTa e@ a)=@9i(7]E9r)A )@9IjR@)@97R@I)-@)@?T{EODWC_BS765 RR{C76O{5 R!R~R1TqT7L{BOA_ֈ9865!RARd{Cq86Cog_ W O { H-@@Z;I@;aB8(*]@jK=@9+(7+]E9rA @9tL k7k@k@974R @9\МC[h R+ q@zT(5@4+9@k-T(a@J @ a(@yH4R(m@ iT R @9[kL, qd@zT)T(C9qS2WH@ K) @ q@)_ I a3@9 ?%T (8K@km@_ TK@9lџ%(T?;TJ+8K@km@_ T3qT( *kT?9/h@94H@ C9?)q`TR 93@ZI)-@)@?hT{LOKWJ_IgHoGC_c#RR&R/@?9/h@953@@9?qT@8()7)@)@97R5I@!m@)T86 _ q?T? +T @9*_qT) 3(@{h7 {h R)r?(jTR#R[0@9 @)?)Tq TqTH@m@ T@yIGR kT@9H@?qST ]@* @ 3)7)@)%@O m@ T@9{k R+jT 5@4 9@ kT a@8 a @y4 R O m@T4@9I)A$(ih8(T * R@9[lm- q@zTJT  C9qS2H@ K) @ q@)_ I a3m@5(R(T@9 ?ybT44Gt4) T(86 _ qAPT? k(T@9*_q'T) 3)@{i7[{h) @6q T3@9h99 *)?%I TyqAT94@icT`:R? ?@@ Qi(1Rh93US@h 4! TZa!!T!5{h 6I)A$(ih8j(8H4 q#Tj_T z @A`b?`TBC`b?TDE`b ?T i @8*8T3h@9*)?%TI@)m@ bTi@9K%(T?bT*8J@Jm@ T)qTqT(*AT?9 T7@R/@@975 T97@{h62H@ C9?%qT 9@I53@m@5H@R@9{h R)r?(jT@93@}T aT@9(4R#R (/7@93@}T@9{h)R?(jAT@@9H*q#T@9{h R)r?(j TT9 7@{hH64@9I)A$(ih8)aT@94R#R.73@,@9{l*RM+ 'qUBT 8,@8{lM+ 'qUT7 !?` 3(R/c#R%R&R/@79@%@3@U@n@b T@9{i R_)j T6@4:@_ kTK) @ ˶b@yH4RD y_1!T? T@9*_q!T e3(@{h6R#R . y_1%T? kT@9*_qT e3(@{hH7 ?76i  R@9[kL, qd@zAT)T?7C9qS2U@K @r@?(b73@9oq@Tq!T!|:7@4R/4[@KRH&4:):oq(7@4%@7%#gO!:R<@%U@"@:*: R i)8H@ @) #@5@%@U@n@@9bT{i R*jT^@) @ ˪6@4:@ kM T+#@Rrb@ ˶b@y5C9IR rqU@K @r@J jb)@9?qT @+@ P?q! T3C9)qT%qaT:@ 4:@4R4/@R%5RqR Rq"R?q7@3%@7%}@!p;R@%#@70  R@9[lm- q@zTJT(3@9?qT6@4:@?k-T@RrK) @ ˶b@y5C9IRqU@K @r@?(b^@ @ 3@O@ %b9H@)R Q9R9HRJ9n@ T R@9[kL, qd@zT)Tx>7@5r > 4@9I)A$(ih8j(8(5 p?g_WO{;@i@ u@ Ti@9WBzi R?*jTj uK@8zk?+j`T7B 8RY9C$@)@9i67@)@9 7i@9)ki8s @)@97 ]@i)=@9(7 ]E9 7:@6m@ITh97@zhH6$aTh@9H4R#R - y_1T? Ti@9*_qAT e3(@zhh6 R>6h@9zh(jTh@9qAT@ ]@i)=@9/7 ]E97:@)R7)Rs @)@96@b@TR^@h=@9(7^E9r@9I @@97(Rv@j KJ}@!<R{FOEWD_CgB_,qbT@+R_|qbT+R_qbT+R_qbT ,R_qbT,R_DqbT-R_lqbT-R_qbT .R_ qbT@.R_/R /R\q 1_Cog_WO{H-@@9;(@a3 ]@i)=@9)(7 ]E9?rJA J@9$J )7)@)@97$Ru R%RR@93@7@ @TT9R$@9qTqT9R@:Rn@T+E9qT@9qaT@9qTT@iRIr kTC9o= lRn@T JJA R@9Lyl,jT)AT@9q!T@9qT7@%@@ k1-RR (@ R 9@)%@ @? k)1 I9a&R;b@b,@?(@4q`TqHT3@ )7)@)%@ @? k)1 QE9`(R#5iR I93@ )7)@)%@ @? k)1 QE9@(R!5 I9 a@a)!,)@Ja ? >T7@JA9z7 q!Tn@T@9qT@8q T^@h=@95(7^E9r)A )@9IjR4R9 RaRRT @@y`@( =@9) 7]7@Rz#`7JA94@9qaT@9qTҿ1:TK1d@Th @@h@@!!dRq(R!)R @z TRcC9 "RR  `Xq 3^@h=@9h(7^E9r)A )@9I @@=@H4@va!BRCR(@ ]@i)=@9(7]E9rA @9?HjR R#74@9qT(@ K5 @Z 5@4 9@ kT@Rra @y5C9IR rqz(@ K+ @ q@k 닁 aL@9qATJ@9, @ a( @ _qTf")7)@)@9)7R@2R@#[(RC9!RC9o =WRZI)-@)@?"T{\O[WZ_YgXoWC_^@h=@9h (7^E9r)A )@9I q TR_7@@9H7$Rv R%RR@93@@9qT@9?qaT7@7@"Ry"`4 7_qT_q`T_qTqATb@@bC9o= RR* @J a( @ RK m@lITMARO@9Yo0 q@zaTJT V7@@9H7RrR @ @) 4֢ @(@RRD@@ ?!@q!T )%Q?qT @ @i5 @(@A@9?61AT @ @46R1d@!T R?(jT@(@RR7@@9(7RRR(@)7)@)%@ @? k)1 a(R- @@)A@987@qA9rRC9o= y!Rv @hRRq ?(@TaR-3@(@?(@a@3@(@)7)@)%@ @? k)1 )R I9a @`^@h=@9((7^E9r)A )@9I 7@@97(R#_WO{@.R[;@ ]@B i)=@9)(7 ]E9i7:@I7h@9<*A@q@ ]@T&)7)@)@97i@9JJA$Iii8m@ 1R1BR#R@@q@ ]@iT* @  Tl_8)q@z!Ti)=@9(7]E9h7:@7`@ ]@,T-)7)@)@9)72@ ]@,cTi*=@9(7 ]E9j7:@ 7j*J7J@J@97T L T _8q Tk_Ti)=@9(7]E9r@9I )7)@)@97(Ri +#X*:Cog_WO{H-@@ւ;7t:9R@{RgRrn@b@ %@) %bB4I %b@ %@)Q %84@b@u6@ h@94qTqhTh@9(5DR@^@(@ @AT( @n)@) @j@9_qTj4_qaT( Th@xiR ksn_qT_qTi@9?q T.@8i5i@9)94) TP@m@nh@-h@h@0?c Th@9( 5h @94h@95!Ru;@??Ti@9h @94(5h@956i@9?qaTs  T @m@>@-@@@ ]@)@? ]@RR@^@ @)2 ^@ @ @J @) n @qTh@9q`-TI96n@)?kTi@?kTi9))?icT^@Ұ@^@ @r @@ @(nI9 9@ ?@ @zTn@4@I96R@+rN j^@( @)@) @  n @k%@qAT T( *JA Rl@9Lyl,jTs)ATh@9qT @8?qs6@95h@9qTh@9qATt8C R@8 [h?*jT4 R[h?(j`T(@85!+a!&z@ @94R [i)j`T@85R@8 {i*jT?qT{z@9ДB@@9@9B@9 q!Tc@@9 kT y?5qT h@9q@@z Tq@)!@ Q( M* 4 @K@9qT! K@9 Q!5@?I T@9 5!+% е@@a!& ?8@m@ R?"T*@8 {j?*j@T9s(}a@m@BT R@9 {j?*jTCT9`B@!(}!o Ɇ@yUR q@zT@9))@9 *q@@z @z@T@6@4:@?kMTb@I)-@)@?Tj(R9RE9 *R A@ QE9) Q9a"R@I)-@)@?T{HOGWF_EgDoCC_@]@~@ ]@* @ q a* @)@) @I mM9@yj@T@4 R[h_(j`T(@85(W,,$-@t!,@cR;cRN+O{CA5@` 44TR{@{AO¨__WO{i8 ()}@)z)?e(T.@8*JAIyi+R)jaTi@8 k@0T;q T@6@4:@?kT@RrɢK) @ b@y5C9IRq@K @r@?(bw@9QqqT )2+ih8J @h@9q@Tq TqATqTh @9@9h)4; @(IA9h 4R6;@3a(m@T k R@9Mym-jTkATv9 T@yLJR kTQ_q$Th"R kI0myjx ր/!R"RcR֦qTqT6qa!T#R@*IA94*JAKYhR+jT+a@k@9Jyk*jT; @(R(I93aH"R{COBWA_Ĩ_t9`9bR q TDqT(@5(YE9q#TR a{COBWA_Ĩ_(R( (R(I93a@9qAT(a,R{COBWA_Ĩ_)R{COBWA_Ĩ_n@  T*JA Rl@9MYlm- q@zTs)TR&RRRC+@)R I9ah@9q`TqT(RJ9bP7@@97^@h=@9(7^E9H7A 9@6n@(iT86? qaT kTh@9 ?qT3@))A(yh7(Ayw R)r?(jTT5(Ayw6'RR#R*@aR#RP%h@9qT@)R I9a @%@@*@ k1(?I93a/R{COBWA_Ĩ_H%R0h#R."R,#R*(%R(("R&H"R$$R"#R H$R"R($R$R$R$R#Rh$R"R%R $R "R"R#R(#RH#R@*e@*u(y( HR(I94ah)R{COBWA_Ĩ_֩@3a@` ah@9i@8 kT);)@*IA9j4*R*I9(aH/R{COBWA_Ĩ_J7J@J%@+@_ kJ1*?I9(a/R{COBWA_Ĩ_#65{O{Ch@8 @9 kT);)@*IA9j4*R*I9(a(/R{AO¨_;@*IA94*JAKyhR+jT+a@k@9Jyk*j`TQ@(R(I93a"R{AO¨_J7J@J%@+@_ kJ1*?I9(ah/R{AO¨_qT(@H5(YE9qTR a{AO¨_R( (R(I93ah@9qT(a,R{AO¨_)R{AO¨_O{C;@(IA9H4%q!T a@9?I9qaT(C9%qT(9@h5R(9(QE9(  #R A@(QE9(Q9 a@HR2 @8_qT_qT -@8_qT*@5*YE9_qTR* *R*I9(a@9q! T <! R#R@I9#R@ E9i4)7)@)%@ @? k)1 I9 (R(a#R{AO¨_IR I9a#R{AO¨_*@J5*YE9_qTR a{AO¨_ R* *R*I9(a@9qT(a,R{AO¨_)R{AO¨_֨)R{AO¨_O{C;@(IA9%q T5 @8_q T*@ 5*YE9_qc TR a{AO¨_ a@9?I9q T(C9%qT(9@h5R(9(QE9(  #R A@(QE9(Q9 a@HRFR(9!RR@ E94 IA9? qT i@ y@? aTm@4h@9mqT@ R 9@I9 QE9 R @ QE9 R A@ QE9) Q9)7)@)%@ @? k)1 I9R* *R*I9(a@9qT(a,R{AO¨_(R(ah"R{AO¨_)R{AO¨_IR I9ah"R{AO¨_7@ 9@*uSJQ_ qT @8?q)RJ;J@K@5 JR_)jaTAA9(7 RJ;J@K@+5KYE9 @9-RRq kT  џ, R R R?qI )RII9Ka @9?qT Ha,R_ -R_@aR_O{C;@(9@ !@qT)@ !(9@ *9(8@ @) i*R I9 a{AO¨_O{C@8s;q!Ti@*IA9_)qD@zT(@(5(YE9%qTR a{AO¨_)7)@*9@KuSkQ qT qH R 4.RKR*jaT)AA97.R* Ra!/ R-R Ri@* *R*I94a{AO¨_og_WO{ C(-@@;@ a@ i@? `T:_8 IA997j4R@9qAT&R IA9975q@?T7R@9qT(@ %@)Q %(M)A! RR(@ %@) %@9qTqT@9q!T@ ; ]@i)=@9I(7 ]E9?rJA J@9$J 4`0dRT)@)@97$Ru #R%R&RB94`0N`T;RT@ yE9?qT}E9qT R M4_@h=@90(7_E9r)A )@9I q/TR~Rh@@#`h@(@Ra@BR`@@?qXT(Qw(@%@ @*@ k1(b@RR @ R 94A5&R@))-@)@?AUT{IOHWG_FgEoD_i@ i@Gb@H@HRRR9R9`h@9(4h @ @*_%qT @ @ R&OX6 @ 0@9?5q@T`@ i@j a@_ T y@_ T u@_ AT IA9_ qT @y+kjyjJ _@qT@9 5@'4 9@ k-T ]@J @7 a @y)!4R 7RI9 5@4 9@_ k-T KJ @< a @yi4R= m@*T+kA R@9nYm. q@zTJT @9?qT?q T?q T)@)%@ @? k)1 `@"))A R @9,Yk_,jTqa!Tj*` b@cB@))-@)@?ABT gC9qS2@ K) @ q@)_ I a@9?qmT?q T?q!T@9_qj *7`@)@*%@@ @_ kJ1 k@Ki@* @+J * `@e@ ]@i)=@9I(7 ]E97)A )9@)6)@)9@j@v#5W#4*@J@97 ]@jJ=@9(7 ]E9 7JA J9@6m@()TI86*_ qT T@9 _q!T(3@))A(yh6*@K9@luSqTk=qd @zTJEA9J6`@@ e@ yR y @5 YE9?qcTiR Y9 R I9a'R(Ayi R)r?(jTAT)5(Ayi7@9q`TR#R @9q`T m@*IT+kA R@9nYm. q@z!TJT $(@@9H7RRx@ ]@i)=@9(7 ]E9?rJA J@9)J C9qS2@ K) @ q@)_ I a ]@< @*@J@97)=@9(7 ]E9 7)A )9@6m@))T9( 7@))A(yhH6aT@94R#Ro @9))A(yh R)r?(j!Tk@9+4k@+@i@j !?i)@ QE9 h@ @)!H'R&RS@@ QE9 A@ QE9) Q9 a7!RE)@)9@7I7҆4h@ @)2 h@ @*R) * )@@ @)%@? k)1 I9a( y_1! T? T@9*_q!T e3(@))A(yh 6Ri16h@94b@;4 5a @54 5`@)`b@cB@))-@)@?aT{IOHWG_FgEoD5A @97@g5@@ @9)2 9`@)@)@9 7)R *a!0R@y9~<Rh@(17@9qATh@9H4b@3 5$7R"a @34h@9 4h@h h@ @*) `@@.@ ]@i)=@9i(7 ]E97)A )9@I6)@)9@-@ ]@) @4 '@?q T @y?q@Tj@)2?qT E9?}qT E9I5 @y*JIyi) ?0qaT y@ i@?  I9U4`@#q)@)9@7I7Ҵ4h@ @)2h@ @)y `@ qT@ @5 YE9?qcTiR Y9'RT=@ ]@i)=@9)(7 ]E9?rJA J@9)J )@)@97)R@9KklЌ0_q+W`80Cog_WO{(-@@;@ IA9?qT?q T85 AyI84 C9?)q`T 9@74a@9?q`<T 5@8C5R I9 5@8C 5 R I9 5@8C4 9@_ k(T@Rr KJ @3 a @y5C9IRqm@ K) @ q@)_ I aҹ97ZC R@'T)@)@97 ]@i)=@9(7 ]E97I;@6m@* T9)6+y1AT_ $T@9Kq#T*e3I@ {i7@9 {i R*r_)jT!T@9!5)@ {i!6 ]@i)=@9(7 ]E9?rJ@9$J )@)@9 7$Ru cR%RR@9@@9@eT`R`4qTZQqT IQ?q*RI!ɚ* 0) $@aTqT Q?=q*RI!*R) $@zTUqTh_@h=@9H(7h_E9rI@9I qTR(@@97RG@9qAT!R"RR"@ @*@I% %P)? k@Ta=@aBRRRFR@=@@?qCT)Q = 5@ 5@=@R0R@ 5@4 9@_ k-T KJ @6 a @yI4R m@*IT@9 [k, qd@zTJT C9qS2@ K) @ q@)_ I a@9?qaT*@8_qT 5@4 9@ k-T Kk @T a @yi4R m@ j T +@9 [k, qd@zT)JT*/@4@ ]@%C9qS2H@ K) @ q@)_ I a ~@= 5@5 m@* T R@9 [lm- q@z!TJT R#R@9?q`T?qT@ I9 5 QE9 @ QE9 I'R A@ QE9) Q9`*R?@ IA94?qT?qTRKR?qia9H4`4W?qT*RJ!ɚ @ _ T?qTRKR?qi5Ra95`T5u4 @a@ @4)Q )R I9`,R YE9*4Ra@))-@)@?!T{HOGWF_EgDoCC_s]`3s`5`2O{Cs;i@*y@(i@_ T*u@_T(R(I9(5@5(e(5@4*9@_kTHRr+Kk @T a*@y5)C9JR?qi@(K @*q@_H(a(@( a{AO¨_(m@ T+kA R @9nYm. q@zTJTO{Cs;i@(@4Q((5@4*9@_kTHRr+Kk @T a*@y5)C9JR?qFi@(K @*q@_H(a@9qaTR RJ7J@J%@+@_ kJ1*(I90R a{AO¨_*YE94R a{AO¨_(m@ )T+kA R @9nYm. q@zTJTWO{;@ 94 !@J J_8_q!TRa{BOAWè_t t?qMT)Q 9 @)Q C9?%qT`6RR@ @)Q C9?%q!T 9@5@9?qT?mq@T?qTi @9?qaTRR 9)7)@)%@ @? k)1 I9!Ra{BOAWè_og_WO{(-@@;@ 9@?qT!@!)@! IA9?)q T J2Lyixk ` !@ 9K 9?i*8@ @) )R I9a *R !@ 9K 9kR+i*8@ @) I9m@*T))A R@9,yl,jTJAT9/T)7)@)@9 7 ]@i)=@9(7 ]E9I7)A )9@69I@6*_ q&T*_ +TT@9KqSTJ*3I@*JAIyi%7X i@ y@?  !@ 9l 9Ii+8@ @) 5@4 9@_ k T KJ @5 a @yi4R !@ 9K 9(R(i*8= m@*T+kA R@9nYm. q@zTJT C9qS2@ K) @ q@)_ I a@9 IA9?T_ qT C9?%q!T)R I9 a`7@_ qT i@ y@_ a%T*Q_qT+Rj!ʚ+ _ Tm@_BT+RL@9 kTqqlJ _#TU@ m@ !T)*JA R@9Myl-j!T)AT9K@8qT 9 R _"TL@8,yl,j TK@9*JAIyi R*r_)j`T?q Tm@T@9))A+yj,R+j)T_q`T_q!T T@9*yj+R*j'TT79C :ZC;R<C$  @)@97@9ki8m@ BT @)@97 ]@i)=@9(7 ]E97);@69I@6*_ qaT_ 7T@9Kqa7TJ*3I@I{i7@9I{i)jTR+@4@ ]@i)=@9i/7 ]E97*;@)R*7)RqTq!T@9*?BZT{7@J@97 ]@jJ=@9(7 ]E9 7JA J9@6m@J)TI86+ q-T_ T@9KqaTJ*3I@+4@RRR@ m@ T*+kA R @9mym-jTJAT @9?qTE9q&RR#R* qAT@ QE9 I"R A@ QE9) Q9@ !@ 9K 9?i*8@ @) iR I9)7)@)%@  a("RI!Rq @))-@)@?%T{FOEWD_CgBoA_֩@9?q@T IA9? qT 5@4 9@_ k T@Rr KJ @5 a @y5C9IRq@ K) @ q@)_ I a@9?qaT)R m@)? T@yjR) J @9K RJ J) *5aRs@a@ @9?qaT !@9(iR 8@ m@*T+kA R@9nYm. q@zaTJT *JAIyi*R_)jATTi5*JAIyiI6 ]@8C$i*=@9J (7 ]E9*R 7kA k9@ 7WbT R@9,yl,jTJAT@8T?qT @9?qTR R#RfY4!`H7R@9?k TT)Rk TT@9 qqVT?sqT "T@9 _qqbVT_kT? q T)Q_k)#T3@J@97@9 kj8m@ BT9C :ZC;R @J@9J7@9 kj8m@ bT@J@9j7i)=@9(7 ]E97);@69I@6*_ qaTJ_ T@9KqTJ*3I@I{i7@9I{i)jTRn*4@ ]@i*=@9/7 ]E97+;@*Rk7*RR]*`4@ ]@8C$)RR#R6R#R-g_WO{Cе;@JA9%qTbh@9J9qTC9%qT:@h5R9RE9  #R A@RE9R9b@HR@8aTȞ@(5ZE9)@9 RR?qi?k T(RJ9b(@9qThbR ,RY(RhbT4RԂ9R#R@ R E94 QE9 @ QE9 R A@ QE9) Q9)7)@)%@ @? k)1 I90,R0b@r@ TR 47@ @97^@i)=@9(7^E9 7)A )9@6n@))T86 _ qT? T)@9*_q!T) 3)@*JAIyii70IR I9a !R{EODWC_BgA_Rb))A)yx R*r_)jT @zTR#R{))A)yx6 %@)Q %(M)A! Ro@ %@) %7@ 9@*uSJQ_ qTJR_)jTAA9(7 R*R k @L@5@9q(R  Rk @L@,5 R)R*Rk @L@,5LYE9m@9.RRq k TI5h RH (RHI9Kah@9qThHa,R@-RRSa|)4@@9qaT);)@*@*5*YE9 @9 RRq kT*R*I9(a@9qT (a(R( ,R_֩)7)@*9@KuSkQ qTI R RqH)R) J;J@K@5KR*jaT)AA97 R)R J;J@K@+5KYE9,@9-RRq kiTH (RHI9Ia(@9qT(Ha,R_ր,R_ -R_ aR_@aR_O{C;@ %L a`7RR@m@  Tj@9_)qTs)aT{AO¨_O{C@8q@TqaT@9q TRv@ 4h );)@)m@ T*J kA R @9mym-jTJAT @9*Q_1qT k2mij8  @9 kAkYj,R+j!T?qT*;@ R )R I9`.Ra{AO¨_֨;@)R I9.Ra{AO¨_?qT?qT @9_qT @9 )A(yh)R?(jTa!8RJ;@ @I5 YE9?)qTRta{AO¨_I R )R I9`-Ra{AO¨_og _ W O { C(-@@{;h@ IA9)479Ci@9ZC$?q7!TH-@8qT4R& @9_qT_qT*@9_qT @5 YE9_q",TR *R I9 a)@9?q@T a,Rm@R@9qTRu@ n@7@AR4( @9q!T<@8qT9CR sRCZqTRB뢳T@9qTE9?q3RеB @@967(R@@9H7h@ ]@i)=@9(7]E9h7:@(6T9(7@zhh7%aT@9H4R#R@9qT y_1T? kT@9*_qT e3(@zh6R'6 @9zh(jT@9q`TqATh@ ]@i)=@9i(7]E9h7:@(R)7@@9(6@)@97@9Hkh8@@96s@wC?!T59(HRȪr`D<R@9qTCR|=4T @@y`@hv =@9Ix7(Rh 7@RRR@`;h@ @)R, @9 @qT5 YE9?)qT R *R I9 a-R @5 YE9?)qT R )R I9aF!Rrh@ ]@i)=@9i(7]E9r@9Ij!H I9)S[@-%@ Y@KR 9 @9cqj R U@8,{u,jTQq,R!˚, k d@g`#T} m@sh@ m@ @TC }  뢋TIR yi@ K}QC3m@bRBTIR 9j@Jm@ "T @9_)qT_5qT 9 @8_)q @95qT 9j5 YE9_)qTRao9i@(m)]@* @ )@( 7@4@ 7 @)  @sB`@RRR @h@ш q7 Tqg@@TR/ RR/g@@HR/j@HaB HR N+@<[@4+@@yh4A7@ @!@ +@U]@5H@y( 4 @@ @hAR jc@q! TCI/) 1TR+@)'3R D4s/@"cTH@8)qT+@(aB(a_ eT R(R R  Tk@9+{k+jT)_ T bT kh8?)qT.RHm@AR w @@ @jc@q TCSh@b)T+@@CT`B4@8)qT+@(aB(a R *R I9 a-R l@8MRRqqW)@9)X7 ]@i)=@9(7 ]E9iW7)A )9@V6m@IiWT9W6 y_1![T? kT@9*_qkT e3(@`(Rri@*]@JG;@ @ @@ @hAR]A@j[@4@H7@ R@ @@) @i)8@y] R *,@9(a5h@E9CZ)QC ]@ L'+ .\h@] @ mRc@ t@_L)^@7@BRh@ m@ aaB @(%RE 7@ @(a @(_8)q`T@%i@(]@ @H @(m@ _8)q@TH @ h@]@ !`BRCR,i@(]@ @@ @H(m6a@*aBJ*a?)q@  ? T _8?)q T?5q!T _8?)qT?5qT?T _8?5qATIR 8 _8?5qTIR 8h@ m@) m]@ @) @ t@qTn@C?T@9k!Tn@CT5 `TRK ?TJ+@9+{k+jT+? TR  T@9({h(jT4*/j58h@]@`K@?qsB @c@D#@CKT)Q 7@]) @ q) @*@J @) % edR/SCH Tg@/@hL/@c`R/@H bT 7@Ch@ aB) aA !s@)A7)A7(@!@7 RAS%h@9 -qTh@y! R kaTh*@TARV`*h@y2hy(.@ @I h@ Y@ T @@J @) msB c@7@ aBg@) q T/@ @ @ @` @ R * kT4~@3R8 "RCR9s?T(@9)qTK=T/@<5!?T(hb8)qTB(CTCRTCR?T9CR?T @@ @7@t/@ @?qc/T(Q sB @ )A+ T! @ @@9h7h@ ]@i)=@9(7]E97h:@H6 @@ @4@2h@=/@ R/@H T@)@9i7RnRRARR;R*R`RR@Rgh@1 @ 9@*uS_q T_=qTi6AA9( 7cV RRZ @RRHjc@q`T@@=@H4@!!BRCRfaV @B (Rri@*]@jJ=@9*(7)]E9?r@9?JjIR!@J@97bR RRRRRRR<*R`RRh@1 h@I9aZ )-@)@?A T{MOLWK_JgIoH_ր^@@?qsB @D#@cT(Q7@^( @r( @)@) @ " fbB @ )A+ bT%/SC@H T_@9({h)R?(j TT@95@({h(7@8BR(RTa*/j98h@ aB)Q aCSC @H T5R"7@)@97@9Hkh8@@97h@ ]@i)=@9(7 ]E97)A )9@I6m@IT96 y_1aT? T@9*_qaT e3(@ @9({h)R?(jT!T@95@({h(6h@ ]@i)=@9i/7 ]E9(R7)A )9@7R"7R#RRC}@Lh@ }  tT@9.6@94҂RRsB @c@7@D#@h@sB @7@D#@:t@6R#RD@8h@]@@?qT)Q +D ]+@ g@7@[@%h@R/@@0:@;~@;{@H8xh@ @8?q@T?qT @9);)@_qT*@5*YE9_qTR* *R*I9(a@9qT(a,R_֩);)@*@5*YE9_)qT R* *R*I9(a-R_֨; @(@5(YE9)qT *aR_H R( (R(I9 a-R_.R_og_WO{C-@@7@*%@ւ;@ @_ kJ1 IA9@8%qAT_qATai @9I9?qT C9?%qT 9@i5R 9 QE9 #R A@ QE9) Q9a@IR3_qT)@97 ]@i)=@9(7 ]E9)7)A )9@6m@` ) T97@ )A(yhH6<ai@9I9?qT C9?%qT 9@i5R 9 QE9 #R A@ QE9) Q9a@IR)R a*Rt)Ri aoh @9 )A(yh R)r?(jTa 9@h<R-<aT@9(4R#RTa 9@h<R @ R 9RR@ IA9I4 E94I9 QE9 iR @ QE9 R A@ QE9) Q9 a@?T! e@ a@<(@ E95IR I9a*R&@R 9RR@ IA94 E9I 4o@9 C9?)q`T 9@j4 5@4 9@ kM T Kk @T a@yJRKR r?qiq z@ K) @ q@)_ I a IA9? qT i@ y@? A8Tm@D74h@9q Tmq!7T@R9R`64to@5T9CRB ;RC$ a@?T! e@ a@<@ E9 5 m@ T@<RR@IR I9 m@*IT kA Rm@9nYm. q@z!TsJT  y_1A T? Ti@9*_qT e3(@ )A(yh6F@R(9 A!P;,5Rf ,45o@RT`+ˡRP*C R@8{i_(jT@J@97*_@jJ=@9(7*_E97JA J9@J6)T6(y1A%T_ T@9 _qT(e3@{h(70 6R#RN@o@b$T@9*{i_*jT _@@:@jM=@9(7 _E97-R7m@9M7ki8 T@9-{i_-jT-R T?`T?T  _T L@8kqTqT?bT*@8_qT4@@9H6h*_% T?!T@9?qT ?B T J +@9+{k `6)JaT@8*_)TT?qT@8)T@@9h6A@@9h7@9kh8@@97_@h=@9(7_E9H7:@6o@IT96 y_1!T? T@9*_qT e3(@T@9(5@({hH7sR4@_@_@h=@9/7_E97:@(RI7(R@@9H6@9({h(jTW U?!Tc@R@ a*m@  Tl@8uqAT*]@jJ=@9(7)]E9?r@9)J 2 R)r?(jT\AT)5( 6 R#R%RrR @8 [i*jT?qa T@@ ]@i)=@9(7]E9r)A )@9I q TRR#R\4@J@9j7)RK}@ *A!L=%@)@9 7R c@ ]@i)=@9(7]E9r)A )@9I 5 @)@9)7(R*A!>R+@K9C9)q`T;@4B@zh R?(j!T{@ k@ T@yq@Tt9@|>R (RK9@ QE9 R @ QE9 R A@ QE9) Q9a!RZ )-@)@?aT{YOXWW_VgUoT_ֈqhT(R!Ԛ  @@97_@h=@9(7_E97A 9@h6o@`)T97@zhH7h@9zh R)r?(j`TaT@9h4R#R @@97@ ]@i)=@9(7 ]E97)A )9@I6m@) Th9h 7@zh7)h@9zh R)r?(jaT R#RR+@R8qiT8qT)R(!Ț)҉  !T1T aTh@9(4R#R i@9(%T@)R I9o(QQqT J3+Lih8k `h@9Zh RJ _ k`TqT?qT?q`TY)R(!Ț) ) AT y_1AT? KTi@9*_qT e3(@zh7 y_1T? Ti @9*_qAT e3(@zh7@5h@9%Th@9Zh R* R_ kTq`TqT h@9qTh @9Zh R_)jTqTt4@og_WO{C;@ IA9?%qTa @9?qTI9 C9?%qT 9@i5R 9 QE9 /R A@ QE9) Q9 QE9 #R A@ QE9) Q9a@IRv R 9RR@ IA9 4 E9I4 C9?)q`T 9@j4 5@4 9@ kmT Kk @T a@yJRKR r?qiq K@ K) @ q@)_ I a IA97? qT i@ y@? Tm@`4h@9qT@R 9h@92q!TR4B R@8Zj?+jTC _q T @9?qA T@)@9I7@*]@jJ=@9(7*]E9j7 ;@*6"m@ JT)9i7(@zh7 C9?%qT 9@i5IR E9I9)R a a@?T! e@ a@>l@ E9 5IR I9 m@*)T kA Rm@9nYm. q@zTsJT  @9zh)R?(j T9R@Һ{C$<R@@9h68@)@97@9hkh8@@97@ ]@i)=@9(7 ]E9 7 ;@6m@IT97@zhH6(aT@9H4R#R!  y_1T? T@9*_qAT e3(@zhh6R*6 @9zh(jT@94qT)#Ț)I@ ]@i)=@9I/7]E97 ;@(R 7(R@@962qT@R aT(@94R#R @I9 QE9 R @ QE9 R A@ QE9) Q9@)%@ @? k)1 I9a"R{EODWC_BgAoƨ_+y1T_ T@9 _qT(e3@zh(7R5 R(@zh7WO{Д;@ IA9_)qD@zT+@8qT @)5 YE9j @9 RR_q_ kTi *R I9 ai @9?qTi aIR Cj4 i@ u@е7? T*@9k _qh EKT*@kRrJ J+@9,Rk JJ * 4R@%@@*@ k1(?I9 a{BOAWè,R{BOAWè_qT @J5 YE9_qTRa{BOAWè_JR *R I9 a)@9?qTi a,R{BOAWè_)R{BOAWè_֪@J@9j7 ]@jJ=@9(7 ]E97JA J9@*6m@!JT(97@(@9 )A(yh)R?(jTaT(@94R#R  y1T_ T)@9*_qAT e3(@ )A(yh7R 5og_WO{ւ;@ULq@@>&@aR4T@i@ a@)7 T)@kA k9@ '7 kA R A$.R "T@9oyn/jT]@=@9/6/@9o7in8 cTA!L?RCRh@-U qTs @@ ]@))@)@97 ]@i)=@9(7 ]E9 7)A )9@6m@)T9#7@ )A(yhH7@9 )A(yh R)r?(jaTZ79C {CC$H@@964(RH@@97@ ]@i)=@9(7 ]E9 7);@6m@IT97@h{hh6%aT@9H4R#R`  y_1T? T@9*_qAT e3(@h{h6Ri@7@9h{h)R?(jT@9?AT@ ]@i)=@9i(7]E97);@(R)7H@@96I@)@97@9kh8H@@9h6@ a@ Ti{i R_)jAT ]@i)=@9)(7]E9r)@9I aT@94R#R @T7 @A kA9@ R  A$P@97io8T@9pyo0jT0]@p>@9p/70]E970R-50R*]@jJ=@9*(7)]E9?rJA J@9)J J7J@J@97)R A!~h@-U qTBR8@ ]@i)=@9i(7]E9r)A )@9IjR)7)@)@9I7R6 @9)2 9m@a{GOFWE_DgCoB_ kA R A$/@97in8 T@9oyn/jT]@o=@9o/7]E9o6.R cT y_1T? +T@9*_qT e3(@ )A(yh(݇7b5^I@)@97(RA!?WO{RRR`Д;@е7 @@*% )P)_ k@Ta IA95@(I@@R )%@ @? k)1 I9a{BOAWèҌO{-@@RRRД;@IA95@(!S @R =@ @-U qT@ @@BR|@)R* @9lQq,!̚ @Tk7aT@ @?qAT)7 @)@*% )P)_ kTa @R @ @?qT)7)@)%@ @? k)1 I9a+@ )-@)@?T{BOA_ 9O{CRRRwД;@IA95@D3@ R )7)@)%@ @? k)1 I9a{AO¨O{Д;@ @y?qT 5@ ]@? Ti@9*_%T(#A!lR0@ IA95@ @)R I9a{BOA_WO{Д7@%@е;@*@ k1( 9 RRn@ R 9@)%@ @? k)1 I9a{BOAWè__ W O {-@@HQq T )q3+yhxJ @ֈ;@ IA9? q!Ta@\ )-@)@?T \ )-@)@?>T{NOMWL_K;@ @))6)@94E9qAT \ )-@)@?a;TRR{NOMWL_K)\ )-@)@?9T{NOMWL_K)\ )-@)@?8T{NOMWL_K &7@@(@@)7@%@!6@ =@9% 71  @@qA9)7!8a0R) A!d R;@R R I9a+R;@ Rc\ )-@)@?.T!R!R;@)RU;@ @5 YE9? q(T)R I9a+R\ )-@)@?+T R!R\ )-@)@?a*T R!R\ )-@)@?A)TR!R\ )-@)@?!(TR!R;@ R;@)RA!R,;@R I9at%R  aR"RR$;@i%R\ )-@)@?"T%R!R;@)R>;@R\ )-@)@? T%R!R;@)R;@%RA!( R&RR#R Rw ;@R I9at#Rp;@iR;@'R;@ @5 YE9?%qhT R )R I9a-RW\ )-@)@?T R!R\RI @9;@?qTR I9a$R@;@ R\ )-@)@?T@R!R@;@RHiRHH u(RJJMH@R*f\ )-@)@?T`R!R;@R I9a4%RA!Rq;@R I9a%R;@iRN;@RIA 9@)2 9\ )-@)@? T`R!R %R&R"RR& ;@aR;@IR&;@R I9a$R7@%@);)@( (R(I93a4$R;@/R;@ .R;@).R;@I.R;@ /R;@i.R;@IR;@ @5 YE9?%qHTI R )R I9at-RR @9;@?qTR I9+R ;@)R I9i+ a e@ u+R\ )-@)@?AT (Rr;@R;@R;@IR;@0R\ )-@)@?TR!RVA! R@\;@R y)R I9a#R7;@RA!tR;@R I9a%R&\ )-@)@?aT R!R+;@'R\ )-@)@?TR!R;@ @5 YE9?%qT) R;@R JRY;@i/R;@I/R;@)/R\ )-@)@?T ,R!R;@ ,R;@I,R;@/R\ )-@)@?T,R!R;@i,Rk;@,R;@!Ra;@(R;@i(R\ )-@)@?AT(R!R;@,R *R I9a e@ u yh@94)RqTI\ )-@)@?!T,R!R;@ -R;@.R;@.R&;@.R!\ )-@)@?T -R!R\ )-@)@?aT@-R!R{;@i-Rd;@!R\ )-@)@?T@!R!Rh7@%@;@( A! R@)R I9a$RHqZ\ )-@)@?AT!RK;@u)R )R I9a e@ uyh@94)RqTR)@9q'&R"RRp ;@aR]\ )-@)@?!TR!;@ @5 YE9?%q(T R;@R;@ @5 YE9?qHT)7)@)%@ )R I9a#R\ )-@)@?TR!R;@R\ )-@)@?ATR!R;@ 2R )R I9a-R\ )-@)@?TR!R;@Rf\ )-@)@?!T@(R!R&R"RR ;@a)R;@RM;@RH;@ @5 YE9?%qhT R=;@)R9\)-@)@?T@&R!R\)-@)@?aT R!R;@)R I9a#R};@I)R;@ 0R;@iR;@!R ;@ @5 YE9?%qțT R )R I9a-RZR:\)-@)@?끸TR\!! R\)-@)@?TR{NOMWL_K\)-@)@?AT&R!RB\)-@)@?!T`*R!R9\)-@)@?T@*R!R0\)-@)@?T*R!R'\)-@)@?T*R!R;@ @5 YE9?%qTi R )R I9at-R&R"RRJ ;@aIR7Rh@9qTR@9qT;@ R I9a4)R;@R~Rצ7@@97;@ ]@i)=@9(7 ]E9ɑ7)A )9@I6m@)ɖTh97@)A(yh7\)-@)@?T&R!R;@ @5 YE9? qTR(;@ RE\)-@)@?TR!R&RR#RR ;@R I9aT#R\)-@)@?TR!R;@R;@R;@"B3\)-@)@?끛TRt;@"B3\)-@)@?끙T`Rd;@iR\)-@)@?TR!RWRRRҟ;@)7 @)@*% )P)_ k@TaR RRR҉;@R =@)@*@_T?Rr 7@%@);)@*@ k1(?I9 a;@Rj'RRRR[@;@ RJ7 I@;@ R\)-@)@?롋TR!R;@ 'R;@IRK;@&RF;@ RA\)-@)@?T@ R!R&R"RR;@aiR QE9?q I9(R;@RV\)-@)@?!T &R!R%R;@RC;@ @5 YE9?qcTiR Y9 R )R I9a)R\)-@)@?T`R!R;@i'R$\)-@)@?}TR!R;@&R|;@ @Ic)7)@)%@ @? k)1 I9a\)-@)@?zT{NOMWL_KQ ;@"B3\)-@)@?wTRT;@IR\)-@)@?uTR!RG\)-@)@?tT@'R!R>\)-@)@?sTR!R5\)-@)@?rT+R!R,\)-@)@?aqT*R!R#\)-@)@?ApT*R!R\)-@)@?!oT R!R;@/R;@-R;@-R\)-@)@?!lT(R!R\)-@)@?kT(R!R;@-R;@.R;@-Ru\)-@)@?hT`!R!R;@ R3\)-@)@?AfT)R!R\)-@)@?!eT)R!R\)-@)@?dT*R!R\)-@)@?bT *R!R\)-@)@?aT !R!R;@ R5;@)R0\)-@)@?a_T` R!R\)-@)@?A^T R!R;@"Bd Ro@)R I9&R"R#R\)-@)@?ZT@RARo\)-@)@?YTR!Re\)-@)@?XTR!R\\)-@)@?aWTR!RS;@R;@)R;@!R;@R\)-@)@?ST@R!R6\)-@)@?RT`&R!R-\)-@)@?QT/R!R$\)-@)@?aPTR!R\)-@)@?AOTR!R\)-@)@?!NTR!R \)-@)@?MT(RAR{NOMWL_K\)-@)@?!KT R!R;@iR;@)'R{\)-@)@?HTR!R;@IRm;@ )R;@))R7@%@t;@( !!R$@R I9aT%R\)-@)@?CTR!Rh;@RCh;@iR>h;@Rh;@R JR4h;@ @5 YE9?q Ti)7)@)%@ )R I9aT$R~\)-@)@?a=T%R!R\)-@)@?A<TR!Rz\)-@)@?!;T R!Rqh;@)R *R I9a e@ u yh@94)Rq TRO@9i)RqLh;@ @5 YE9?q(Ti)7)@)%@ )R I9a$R: R h;@a&R1\)-@)@?3T&R!R6h;@iR *R I9q\)-@)@?1T`R!R%h;@'R\)-@)@?/T'R!Rh;@R I9a)R\)-@)@?-T{NOMWL_K_ֈA 9@)2 9\)-@)@?+T@R!Rt;@ @5 YE9?qh Ti)7)@)%@ !! RD@)R I9a%Rh;@ @5 YE9?qTi)7)@)%@ )R I9a$R 4R!R"RcR+h;@)R I9a e@ u yh@95)R4)RqTR@9i)Rqh;@ IA9I 4@ =#=@Kxh;@ @5 YE9? qiTRR )R I9at+R{0RR)R I9aq)R I9+R a e@ u y@94)RqTeRR h;@@mh!8a_a4RQi@9?qT @5 YE9?qTR )R I9ai@9?q Ti a,R=h@9)A(yh R)r?(jTw;@ RRR˿A R @8 yj?+jTUU4 LBR R 4q Tq T@9q TTaTh@9hi4R#R\)-@)@?T@R!R @@=@H4@RRh;@i)7)@)%@ @? k)1 I9a'Rh;@ @5 YE9?qcTiR Y9)R I9a+R)R y_1T? kTi@9*_qT e3(@)A(yh7`5@9qTRY5@*]@jH=@9h(7(]E9rkA k@9K jJ=@9(7)]E9?rJA J@9)J @@97(R@J@9J7)RO'S!!x R9҇ O{Ch7@@9h7h;@ ]@i)=@9) (7RS ]E9)A )9@) q$ @z T @~B)T*)*)qS)}) )!?hT*97 )!@ T 97 @T 9 7@T 9j7@@T 97@T 9*7@T 9 7@`T 9 7*@J T !*A_)T"T 9) 7TR{AO¨s  @~B)T*)*)qS)}) )!?hT*9 7 )!@ T 9 7 @T 9j7@T 97@@T 9*7@T 97@T 97@`T 9J7*@J!T !*A_)TbT 97T#HCQ ė@7R{AO¨[HCQ ҳ4R{AO¨JR{AO¨DWO{u;@E9i)6)@?RJzh6@4!#RRR@h2@9%qTB#RRsh@ @) h2@9%QqTh @h@R˖h @h @@@*@ h @@@ B9J2 94@<h @@@RRI 9h7@@9(7@ ]@i)=@9(7 ]E9I7)A )9@6@BLһ @{BOAWè_og_WO{-@@x;@zZ7?qTH@ 9@*  R_ kT9R^@ @6@4:@?k Tb@b@y4Rn@ TJA R@9MYlm- q@zT)TC9qS21 @(K @+q@J j*a @ 7@ 9I@)@9C 7 ]@i)=@9(7 ]E97;@6m@)T9h 7@)A(yh 7 @9)A(yh R)r?(j T@9qT`aT@94R#Rw@9q TqT@9q T6q4Trq4T^q@4T@R I9@!!"R2qT@ R_)jT7Rq^@ @6@5R@9q;*{6R^@ @6@5o y_1AT? T@9*_qaT e3(@)A(yh6Q@q^@ @6@(5Sw 6@R I9 ]@i)=@9(7]E9r@9I I@)@9 7$Rv C##R%R&R4@92qTa@R9ARzqTR%#Th@m@ ]@)=@9(6i))@* @J2* 5@4 9@_ k-T KJ @6 a @yi4Rm@iTJA Rl@9MYlm- q@zAT{)TC9qS29@ K) @ q@)_ I a2q!TRR@ QE9 @ QE9 )@*@9J2*9 QE9 &R A@ QE9) Q9R I9a #R2q T7R@9q;*7RRR6 @ @J@I% %P)? k@Tai)5@=@RNR֝@ 5@4 9@_ kT@Rr KJ @5 a @y5C9IRqۛ@ K) @ q@)_ I a@9qTqT@9?qAT2qTqT6q`TqT7@=@RRB@ QE9 @= QE9 I'R A@ QE9) Q96@ QE9 R @ QE9 R A@ QE9) Q9a?q(&R&R.h6@i) @!( Rt@h @BR@!BRCR@CR@ ]@)=@9/7!L BRy@a?qh&R&Rq @)-@)@?AT{GOFWE_DgCoB_m@ TJA R@9MYlm- q@zT)Ty7k(8@a@ L   h@ O{Css;h@i)7 )@)%@ @? k)1 a e@ yy QE94 @5 YE9?qcTiR Y9)R{AO¨_I9I@9?qT@)R{AO¨_ 5@4 9@_ kT@Rr ]@) @T @y5C9IRqh@ K) @ q@)_ I aI@9?qAT@)R{AO¨_ m@*TkA RM@9nYm. q@zTBJT g_WO{-@@x;@ 5@4 9@_ k-T KJ @7 a @y4R m@*TkA R@9nYm. q@zTJT C9qS2@ K) @ q@)_ I ay97)@)@9wB 7 ]@i)=@9(7 ]E97:@6m@)IT97@)A(yhH6,@9)A(yh R)r?(j!T#aT@94R#RU4@9qT@9qT y_1T? T@9*_qT e3(@)A(yhH6/ 6@ ]@i)=@9(7 ]E9?r@9$J )@)@9 7$Rqu C#%R@9v4@4KT @jRJr) J @yKGRJ J) *?qR5R 5qAT@ 5@4 9@_ kT@Rr KJ @4 a @y5C9IRq @ K) @ q@)_ I a)@9?qT)R I9@I9FRR{@ QE9 @ QE9 )@*@9J2*9 QE9 A@ QE9) Q9@)-@)@?AT{FOEWD_CgB_ m@*TkA R-@9nYm. q@zT9JT C_WO{-@@BR@8zi ) i4!Rдuе;Th7@t@ h7 @) 5h@9 Q? qTq`Tq T@ 5@4 9@_ k T@Rr KJ @4 a @y5C9IRqx@ K) @ q@)_ I ai@9*Q_ q#T?qT?qTa@ZWj @RRR@ QE9 @ QE9 &R A@ QE9) Q9@)-@)@?aT{DOCWB_AC_ m@?T * Rji8Zlm- q@zT)_ T g_WO{-@@uе;@ 5@4 9@_ kT@Rr KJ @6 a @y5C9IRq@ K) @ q@)_ I a@9?qT?qaTRHR8 ]@i)=@9I(7 ]E9?rjJA J@9$J  m@*TkA R@9nYm. q@zTJT i)7)@)@9i7$Ru C##R%R&Rs@9T @?AT@@iRIr kTR/4q@ )R I9a@)-@)@?! T{FOEWD_CgB_ַ@R5^@ @6@4:@?kT@Rrb@b@y5C9IRq@K @r@)_ Ib @n@  TJA R@9MYlm- q@zT)T@9qTRE9R @ QE9 R A@ QE9) Q96Ag_WO{C-@@u;@ @5 YE9?qiTR w7@)%@ 5@4 9@_ k-T KJ @4 a @y4R m@*TkA Rm@9nYm. q@zTsJT IA9? q`TC9qS2@ K) @ q@)_ I a IA9? qT@)@97 ]@i)=@9(7 ]E9 7i)A )9@6m@*Ti97)@JAIyiI7i@9JAIyi R*r_)jT ]@6 @ m@*_ן_Tk@lRLrk Jl @yMGR Jk *k4R aTi@94R#RJ_ T@y-R kATl-@8JALyl R,jT 5@4 9@ k- T@Rr a@:a @y5C9IRq@ K) @ q@)_ I aY 7@@97@ ]@i)=@9(7 ]E9 7i)A )9@6m@)T9 7@)A(yhH6@ R#R%RRS/ 7+y1T_ Tj@9KqAT*e3I@JAIyi73=4@(iT R@9MYlm- q@zTT @9)A(yh R)r?(jTx4@9 aT@94R#R5@9q Tq`TqqAT@]@ @i @)R I9a`$R@)-@)@? T{EODWC_BgA_ y_1T? +T@9*_qT e3(@)A(yh(66_T@y魎R J @9KR) J *H4_CT@iR)r J@9 R) J *44 pҨ!! R;t*_ *T =@8JAIyi R_)jTRB ]@8JAIyi R_)jaTYg_WO{-@@())Q?q3?9 h6@9!RR RCx;@E@TB@ 2By96 @ AR  @BRRɑ@C@!}}X:(@*qaT@=@ @-U qT@ @@ T"BRhq@T @9?qTT @9?qaT @9?qT?qT @9?q!T @9?qTB@2BB@2B @@94C?#G7@  R kT!!@Ri@1R @@)-@)@?aT{FOEWD_CgB_  O{-@@t;@ @?qT5 1@ 19=@= @ ?qaT -)U ?q!Ti@! @ ` @ C9 e9 5y 1@ QQ9 C9 U9R 9*R I9 1`'R@)RCBRp @h@[a @?qT(Qh RRm@@'R@)-@)@?AT{COB_@g_WO{-@@w;@ Ayi4a==JM=rqKЌe=6q?qqH?5q#  RR@y 5@4 9@_ k-T KJ @5 a @y4R m@*TkA Rm@9nYm. q@zTsJT C9qS2@ K) @ q@)_ I ax7 @)@9y9C 7 ]@i)=@9(7 ]E9)7);@6m@*Ti9)7)@JAIyi6O ]@i)=@9(7 ]E9?r*@9$J 4i@9JAIyi R*r_)jTaTi@94R#Rh@9qq!T@ 9@JR_)jTAA9 6!6R~+y1 T_ +Tj@9KqT*e3I@JAIyi7 @)@9)7$Ru cC#R%R&Rɵ @9@@.@TAT@yjR) J @9K RJ J) *i5[)-@)@?T{DOCWB_AgŨ@ *jh*) 2@+hk)J ) h6@eT*_8_qAT)_8?qT ]@i)=@9)(7]E9r)@9IjRRu@@J4@O ]@)j @)@97RR u@ ]@i)=@9(7]E9r)@9IjRRt` @)@9)7RRt @ @Rt@ ]@i)=@9)(7]E9r)@9IjR @)@97Rir@aB@!cR@ ]@i)=@9)(7]E9r)@9IjR @)@97Rcc @)R I9a[)-@)@?!T#R{DOCWB_AgŨ_=5&WO{vւ;@ IA9? q@TE" )U"q(!sRپ@)R I9 5@4 9@_ k T@Rr KJ @5 a @y5C9IRq@ K) @ q@)_ I a@9 ?)TqT@9%HT!R@9qTqT@(5@4*9@_km THRr+Kk @T a*@y5)C9JR?q@ K) @ q@)_ I a@9qTq@TqT@ QE9 @ QE9 &R A@ QE9) Q9&RR#RR@ {COBWA_m@ TJA R@9MYlm- q@zT)T(m@ ITJA R @9MYlm- q@z!T)Tog_WO{-@@@9qT@9qATR4(-@84*RKQqJqj(@8qD@zTJALYh R,jT)(@8Lyh,jT4`"R!"Rvւ;@m@)TJA R@9Lyl,jT)AT*@8_qbT)˩ kA R@9jyjJ _ kT#T R_ k Rx7 @J@9wB 7 ]@jJ=@9(7 ]E97:@669 7)@JAIyi6 ]@ZC$i*=@9(7 ]E9*R 7:@75@9JAIyi R*r_)jT?aT)@9i4Z)-@)@?!TR#R{VOUWT_SgRoQv*y_1T*_ KT@9KqT*e3I@JAIyi7 @J@9*7@9Jkj8 9C;R @J@9j67 @J@9*7@9Jkj8 @J@97i)=@9(7 ]E9)7:@6m@JT9 6+y1T_ kT@9KqT*e3I@aT@9 5)@){ii6 ]@i*=@9/7 ]E97:@*R7*R @J@96@9){i)jTR5`4@ ]@ R#R@n@bT  R@9+{k_+jT)AT@9qTR5^@h=@9(7^E9r@9IjRRr<`4@ ]@ZC$E@@97RRr@ @4,T#R3R#9#R`TZ)-@)@?T{VOUWT_SgRoQ_ @((#WO{h;@I@?|TR R#8(R38C8TRE( HT K_8)qaT?9h;@ ]@i)=@9(7]E9ri)A )@9I * ]@i)=@9)(7]E9i)A )@9?r(H*qT?HTR#8384Ri)7)@)@96i)7)@)@97Ѡ95RVRARR#og_WO{-@@ RRRw;@jJ7 @J@I% %P)? k@TaI9=@@ @SR@ R)4r qT @ CBR { @R9CR$h7@9@ R"i(  RRR @ @9)[h_)jTk @8)[hL) k7s5 7*R4_)jd@444h @8){iJ) 74)7I5@=@=@9h/7"{4;R @  @8*[hJ* _q$@T5qaT6RRqT;R!D%R@=@=@9(/7R@t@=@@?qT)Q =I9@a@)-@)@?T{GOFWE_DgCoB_D@g_WO{w;@ 5@4 9@_ k-T KJ @5 a @y4R m@*TkA R@9nYm. q@zTJT @9*_%TRC9qS2Ɛ@ K) @ q@)_ I a@9*_%IT?qT@9)?%(T!R@9qA T@9&R"R#RY97(@@@9xC (7H_@h=@9(7H_E9h7;@(6I9(@7)A(yh7:HE9)A(yh R)r?(jT1@ ? qTIE9*_qT) 3(@)A(yh7!A G4@5RrVH_@h=@9(7H_E9r @9Ij(@@97=n A R#R@9qT%RRq@ QE9?q I9a e@ u)+R y 5@4 9@_ kT@Rr ]@) @ @y5C9IRq.@ ]@) @ q@)_ I a{DOCWB_AgŨ_og_WO{-@@?9 W;@ !RRR<@@@Y97(@%@RRR/ @` RRR;R'@9(4q@TC?#4 @ Z{@96!(R4.G@@2_q`Tе(RCR={Q q(T!(RCR4@U@BR։!("RCR)@U@@?qT)Q U(@ MB4kT5R(@ MB4kAT@ړ@U(@ MB4k@T_q@U@Rb@ U@)@4) U@)@591)R @@)-@)@?aT{GOFWE_DgCoB_&H=@R@=0'ATC_WO{-@@U;@ RRR@RRRҀ@RRRR );Rs j9KQAqHT R-ik8 R(RrhRRҲ@9***9@1 @)-@)@?aT{DOCWB_AC_(@=@@=)og_WO{V@@9H;@W_@w>@9(7H_E9(7hA 9@7 H7@@97A$i|8?T @Q]q(T );+ih8J @(@9qT5@ 0R9RU7@@97w>@9(7H_E9(7hA 9@6Bo@H)T46z?1T T@9 ?q!Tf3@)A(yh6Ay|)R?(jT @zTR#RRAy|H7RR*R4v@[H;@ ]@i)=@9i(7]E9ri)A )@9IjR@)@97Rh@i@2c@2_@@*2)u)2q(@S@2O(@95@q$@ 2F(@95@q2@2<@28@ 24@20@2,(@9H5@q249$@ ?qT @Rq *T9( R4kTqTT@StsMR hh@h R{FOEWD_CgBoA_WO{U;@ 5@4 9@_ k T@Rr KJ @6 a @y5C9IRqݍ@ K) @ q@)_ I a*@8_qi)@9+% TJijj8J+@k)cT+qT}qTqT *@kAjyj Rj* _q)$@zT!@@@@* _qT(qTR`@@ @R *@ m@* TkA Rm@9nYm. q@zTsJT ?q`T?q T5 QE9 @ QE9 &R A@ QE9) Q9{BOAWè_WO{:ҷVւ;@m@Ӟ@-w*@(@)R @ ]@)@? ]@RRq@ ]@* @J2* ]@* @+@k @J m @{BOAWè_og_WO{-@@H;@(@ @v5@@/@@ @ @ARhCR)@)-@)@?T{GOFWE_DgCoB_b4-Ҟ?(<R @WXR3|@7@ @_kT cT @ )ii8qbTAӉ@7 @>@9 7) @ ?T @ @C$RR  wd @ @CR%R @@( 9@ @i7  @  )_8 9@ @@ @AR@@)-@)@?@T@ @~.i_WO{CVւ;?qhT*)R(!Ț  T@ I9)6 ]@i)=@9)(7 ]E9?rJJA J@97J I)7)@)@977RW_!p1RS!02R@a{EODWC_B__WO{C-@@ @8?qRRsW7@(9@ uS_qT _=qd @z T)EA9I 6 0@9?%qT @i)@I @P6)?5qT@*uA9J(7 @I@959@9?qTTД;@ @y)9?q@T E9)?iT ]@) @ i@9JAIyi R_)jTRӎ@ ]@) @) aIR I9 @) @I *I@94JkA RI@8 4mYi-jT?q@T?qT@9?qTR\)-@)@?T{UOTWS_R_cVւ;@*]@J=@9(6h7$R(]E9rI)A )@9I cbC##R%RRc@9 @cR(R5Tc _8?qT _8?qT 8fRr@ ]@i)=@9i(7]E9rI)A )@9IjRB@)@97cRk 0@94%qT @*@ 44%QqT@@H@ ]@i)=@9i(7]E9rI)A )@9IjR@)@97RcBi @ 5@4 9@_ k T@Rr KJ @4 a @y5C9IRqJ@(K @(MJ j*a Th@9qTh@9qTcRR@ QE9 @ QE9 )@ R*9)R I9 QE9 &R A@ QE9) Q9ah@9q'R<m@ TJA Rl@9MYlm- q@zaTs)T) @ O{Ss;t@@y Q? qTQq(THA @96@ @9)2 9q`TRD4 @8*_iT4{BOA_ֈ^@h=@9(7^E9rI)A )@9IjR^j H7@@97RUjh@!)R?{BOA__WO{X;ݧ@ @ @@?qT)Q  @) @52@9@?-qTRR@@@@R @@9)29 e@ yiR y@HP7@ @ QE9 @)R I9'R&RI QE9 A@ QE9) Q9 @5 YE9?qcTiR Y9@*Ra{COBWA_Ĩ__9 @*A@yJ2*Ay @*@9J2*9&Ra{COBWA_Ĩ_ @?5qaT uA9I(7 @ @R @%A)5 @(R @A R@9 yk_,j@T+8?9@?T @9?q!T @8_qT RH7@ %@@ @_ kJ1 'RJ KQqT,R!˚-  T @9 4_qT_qqT `TT @9K4 -@8l4mqT 4uqT @85@9(4_qTh@9q!TH6@I) @!( R @?qaT e@ u(R)R!L BRn@ @5 YE9?qcTiR Y9 (RR I9a{COBWA_Ĩ_@R#R8Cog_ W O { -@@H;@"2%B$R#$$b]%/Z%W%  q'hTI{8HRW2XRvURy0 8'  ֊ X5y?/@@Tzx1 3T^`@CiU} iUIU "T|w`Ra/@(zx1 3T'@@1W@!T'@qT  I`8 A9qWT )q')Yx_ k!T ).(yxqTAqI) `T4'@+K\cHCy@@H(@ @) H@H'#@@(4Q#@(HR A9qWT  y{xi4 * i!im8( R J [ @) Q?=qTҌ yixJ @\@ =?q ֟R$Jz!T#@@4 q {ST7խȨ#@@ q {ST'@(@4((>#@jR*W ?(kT )q')()@y?qT=@ ).(yqTh@_T@@@kMTXHyhkh8{hqT@@`H @@ T@%@@@I)8( @I)4(@@˥@ @@?qT(QIcщHxzhx ?(kŤ=Aq`T\cHCy@@H@ @) H@H'@]A@B^ 9,Km[^@] @@ݪR&\^hRJ9|`7P {S 3H)R 9H@I) (|` VW'@H @@@@ @yi kH@I) (|`H^@ @; @ yB@@^URy\@ @I@H[?kITH@]\][XCZD^E@F]R!R A(RJ9\@w@@ @^A]B@ @^A]B@ @@ e RA H @ @) @]B^C@`@^  y|[@@^y@[3@@@^B@@@z@@ = @[A^R!RR@I@HZ?kTHoB]C@@[B^Z(RLy - A^B@RϺH)R 9H^hH@8 A^B@RH)R 9H^H@HHA 9@)2 9?  H @4D@H @ @) H[q4T@]R [H6@a @]$@[@JW6@A^a@ HZ \[[@@^ R @KAW(@@y! %qT(@92(9AW[TB[C^D@R>nHQ[Z@WRR B[C^D@R,\HUZ[UBXRR \RRyB[C^D@RFHRD`RR N RkRRw`RRKҿy Q@I"@G"@!~B9RRz @I@HW?kITH@XA](RyB@B R H @ @) @WAXB[C]D^[[\]@@ mHX[[\]@@ ]U@@ Sҗ [R@WD@E]F[R!RҿRRRRYHA 9@)2 9@QH@@&[WAXB[C^D@R ay@@ m HW\[[Z@^R@XA@;@HU(D^E@R!RR s @]@[@( @[@Z@W6@A][@ H@B^R|@(@1TH7@%@Q(RR$R@^ [@@] $  3@@@ f RRRr RRy\@\W][^\@@@94 Ϊ @@9d  ƪR ҂RR @@R\v\^[@@@94$  @(@(@(@ (w@B@y!rT@97 ˢA]B@R øO@^B]C@B@A]R E[]A^ B@[ZA] B^RW@] B@xA^B@R IB]pA[B^R ABZRRQR`RRm@^B@R g  H @ @) @^C@=[Z@] Rr@[ Y@ZR@Z` @[ [^@Z [^@[RR @]R`RRcJA9qAvTJ9A^RLA]B^C@R  H^qTR'[^@] n@@kIB]C@RB]C@R@^A]B@ @@ U R1@^ OaRRE`R(@^ FRR<R&!R <RRH6B^RRRr@@ )RRR@] e@@A^ `@@ ^RRXAZB]C@R RB@RL@@R@@R"R AR `RR@],@ZT!R"R1 RR RQ  `RR@]@ZAR"R@RR@R9@_HZ(^@@ @] Ŧ@[@[@^A[ `RA[@@R @^A@ H@qaS +R@]R  @]qakT{RR RRlH@ A@y)!)Q? qcT A9h7|`RR o*i`<H @R@XA]B^DZ#R Ĺ@^A@4@@!R @^A@ @@!R R= yA@a@^RRR4 yA^a@]HC$@ZA]xB@ aRRy@@ ҵA]B@R yy@^A@ 5r@@ n @@ @@ H^8 @9(*9@@A@ @] X@] TA]R O@^A@ :HA =|`FH&&}@@ RR j*i`<I9y 93 H @@]A^B@h@)@T @)uA9i6=@9S6 H @A^ y W @A^H]qT`0h@y @D@H @ @)  AZ(@@y!@[C^qaMTK @^@]@ H @ @*]@J2*] @)2 [Z\[@^ C@R][ZBWRR [RRxB[C^D@REHTC[ZB[C^D@R 6HW4H@HF@@ Rv&B@C]`RB@C]RR }@@ GC]R!RSB@C]R!R LB@C]R H^@(uH@ @9)2 9@@ mkHX@(B[R i@^aC@RHA 9@)2 9UH@I))@(H跟i`< F\@(H;@I9'5H @ .6h`z5H^q*AS R+3q`A@@@ % H7[@@ 9@*  R_ kW @TJR_)jaTIA97@@yA9C 6R6A:AI9@9RRR"RRRRRR@@ ]@)2 ]yRJ9(R 9 @ @I@H]?kITH@[A^ @I@H]?kITH[ZA[B^R6I@X tB^RٳB[RRRS`RRA^B@R ƳBZR@[ R"R@^PR@Z @X 2R"R@]]RRA^BZA^B[R Fw[^@@ - @@ '!RR RRe@^ b H @ @) @[A]B^C@ `RR@^<@[R"RBRRRb@" `RR@^$@[R"R)RRRI@H[@9@9(*9[^@[ ϣR`RR H^qaSB@ +R@[B^R (@q T\C@@?q#T(Q(cT  q @(cT}@ R Ha I) )@* @J*  @ % )&)im8)ӊ J+J JJy yj _A9qhTk=l q'Yjx kT ).)  J/I ))@y AyH @ @)  AX(@@y!@ZB]C^D@qTR@929RP(@]M[^\]@@IRR V ҨI92 9< < @x _RR@hۦRj @c5R7Z)-@)@? T{LOKWJ_IgHoGC_@ @W @?q T(QVcіh@5RIT@@kMT%yhkh8{hqT@` @@ T@%@@@))8( @))4(@ @@?q#T(Qbіh@Tbіh@T@h@T @ @?qT(QbbRVcіh@5RT$ og_WO{C @ t@h2@qTҖB@@?q#T(Qh2bѿTXh2bѿT`@}@ R  T55 RW 88 93:Z4[{ @@kMTyjh8({hqT@ @H@ T @)%@)@)@ ) @I@%@@@h@ @@?qT(Qb`@Tb`@T{EODWC_BgAoƨ{EODWC_BgAoƨ_{C4 O{C{AO¨_#mg_WO{C786@RS7@ @@ @ @@ P.E6@A RRɊ9975@5@((7 @) bPh @XC/@`RRRnR@/@@ @ @@ R u3 RR@@ @ iR @ 7(a* @* R(8R RR"~(906@v @((7 @) /@`RRR*R@/@@ @ @@ R u3 @@ R u3H @"@"R(RT @))4(s7H H HHH!(Q.9{EODWC_BgA#l_O/@g_WO{C(7@i@ (7 @) (R*hR)BqHT  O4 ) +iw8J @Y9C6{w@9@Q@}(k7 @9h>q T {EODWC_BgA_քO(R*P)Bq T\UBzw@9@Q@z7`h@BqT2qaTh@ h@R i@Rr( h6Uh@2hh@R hBhhbh * 97@9) @9 !R`h@ h@h@ h@ h@h@ R u3iAR"RR^h@ 2h(;@ @@ @) i@(h@R !O{CR `}ӈRc(R"~{AO¨_WO{H AT" @JT*}J@H !!}@ @@{BOAWè_Rg_WO{@"@"vA9H 6^@H7@Ib@%5458@R(4vA9h6@ _x ] @aTX6@H58@R(4(;@`@Nx@ @ʚ*h@  h Rv7^@x7V^@h7D(!0@q T@I@(@T*@9@J@K @Z@<m T,{h@l@9qTuyh @L @qTy( @,qT Q42@95q!T@)@T)+A@@`5^@y^*66@@?q#T(Q"b)MT.{h@n@9ߙqTuyh @N @qTy( @?q#T.Q Qx42@95qT@)@T @/4]@y]@)@Y @ +/N@/A+B@KT88994 @?qT(QT@yu@@AT?/@@H @"@ AzT(q"`T@@)'h @4rA96@@?qT(Q^@ R)r ^{GOFWE_DgC_*@@*rA9'7@?qT(Q"@  )@ ѩ@yh@@(@@a߀ rO{C @q T{AO¨_@ h@j@ i@yh  I`@ˇ{AO¨LJ@ ]@IX6)y ] @(@ _x ]_(@ @AT> _og_WO { _jT 3R!R(?k4897'R:( @{@R4#|@3su@mT @@|4{mT{{@9@9?kT@97"@1T&@1T#@7C3sw6T+@+'@/( @I(t@9qTqTqTR- @?@T{T{{@9 @9? k!T @97 !@?1 T %@?1!T@@'@5(R!RNh@T!RGaRR(4@yuO{JOIWH_GgFoE_w6@#@ 6(6@ @))6)@ T@3s7W7(;@Ay)e=JM=k]qj5qRKz(==3s)J@9k _qi&@kЌ_1+*Rg'!R{@7f*,FWO{ 6R!R(j389{BOAWè__WO{R@929 @ 6@929 @ 6@929 6(6@r5 @H AT"0@h -T }@I !}(@zs@' z3@9 qcT@ {COBWA_Ĩ_ WO{;{BOAWèWO{-@@ @ R r* 2  kT@ @@BRea@p@)-@)@?T{COBWA_ִC#mog_WO{+k8u@ @84 @ T( @9I49997t A 4( @%@(!*J?rH@@9(6@2h@ @Rth@ ]@`7'%@`+@V)@K @3.@J@U @R_i@8a@5 7)@h@ ]@)?qT%@@@ kT@ RS<J<`(R8R_99 W7+@RQ @ uA9 06_@7h @h @)99 C6`R@%@@)%@(48@@ @))4(_@6 (RC7@h@%@7@ @ @Iyi* @ C@@)%@( (RC+CTG76֢7 AH @H @H @H @44@H@))7(@(_I@y8-&T Tyyx(@9()@C7@(@H3@yxH @H )@96C@7*#@@yj:J;@9j6I7_@7i@)a@5)@*@9_qJEkj'(R# R!H7@(@@9q@Tq@TqAT)@9I63@)yx)@*qA907()@@:H@))7(@(@H@))7(@('@ H@))7(@(H@ H@))7(@(g)@9? qcT*@* 3@yx:H @H 44|lC7@_H;{C`3@44RRRwE7@@h3@H@H@ H@R I@Rr( H6~I7@H@2HH@R "AC7@_J;{C`/@44`RRRLE7@@h/@H@H@ H@ H@H@ R u3I@_ (@96H@2H(C7@_Lq44T!Q?eqh T+'44R>@ uA986@@(@(@9)R!'@^H@H@ ]@)2 ]H@ ]@)2 ]7@ B7@44_K99C 7@R RR'D'@7@G@G7@H*7@(70o@_ \@2\44G@4'@7@ *6 @@))7(@(#49TThyuT T @97@@9)q$ @z T}3@ ih))4)@!ih҉7@B7@6B2@RRRD7@@2@@ @R @Rr( 6H7@@2@R (A) @ (5@jT(a5@y @ 2'R49994'@ן6X LT 6 ThyvTT @9I7@@9)q$ @zT(4@yv@qA9773@ @@)@?@T'@RRRS`@@(@}ix(@ ix* @J* ixRRR<G@QG8R7@ן6X MTG@h5;@+@@]@7rTThyuT T @97@@9)q$ @z T(4@yu(@qA9H773@yu@)@'@7@ @ k@]@ 6 )@I*A@yK!%qaT %@k@l@ > RJ@y %@k@l@  @, @yl @ q!T_@7m@%@@@@k@k@kylk!@ykk@97hR@jR) *&) @?q#T(Q h@@6@ ]@)2 @k@k@lA@ylp7 k@ Tp6)@iz ]C@)-@)@?AT{QOPWO_NgMoL#Km+Jm3Im_@(@i@)@ @ yA9)6@ @) 7@tO8O{CRx{AO¨AWO{ @ ?!@qT ?5q*RI! R) $@z`T5qT@ ]@I3x7@4(@@@ ?5qTBR"_{BOAWè_ּT2@95q`T7i4@@@:h{BOAWè_{BOAWè_#R;Y{BOAWè_@ =@9i6@@=@h4!@h!( RT!BRCR^i@@!(@9rR R#Ri{BOAWè_g_WO{@ @5@K T@6@ @9(@ )@?@TTzu?$X`T(@((@@9qT+@9 7Y@)3@9?5q T@ 5@9I4 @(@)@@?qT(Q  qA9i 7 @?qT(Q h @h (@)j@J)@J@K%@k@l@@,!@yl-@97i@) @* Y@)3@9?5qTs{DOCWB_AgŨ_C+m#mog_WO{3|@@@kTzs%Z7T@97@H(@(F@H @8C/@`RRRRB@/@@ @ @@ R u3 @@ @`} __ @@Y@Rrz@@ @  @ +Th AH @H @ @{{ @ @y;{ Tz{T @9I4 @977@@9q TqTq! TW@ @H(@(5B.@`RRRA@.@@ @ @@ R u3 W@W@H(@({{?W@@H(@(5B2@RRRA@2@@ @R @Rr( 6E@2@R W@7@H(@(?5B.@@|? 5B2@s?nW@@H(@(f?6B@.@`RRRsA@.@@ @ @@ R u3 @@ R u3@@ TQ@ })@)  !}J@zs@?qT(Qz3{HOGWF_EgDoC#Bm+AmC_fr{C4 _WO{@5|@*T"@ } @)  !}@ @@?qCT(Q{COBWA_Ĩ_0rO{(@q(T{BOA_9:HT` @@?qT(Q`@@?qCT(Qh@96h@h@9(6`@@qT{BOAy@ @?qT)Q @ @?qT)Q x{BOAxh*{BOA_q`@qq@@q@x{BOAx@jT_@ya_O{C4R RRx(h@ a_) a9h@9(6h@ @) (R9h@99{AO¨_( @())!@)@( @)))@(@Q.@99(@99_WO{5 4 h@8@R-@@%@@@ @ )4(6  @@%@@@5ch@5"]h @5 Wh@5Qh@5Kh@R.h@995h@994@8{BOAWè {BOAWè_))!-(!@*_]Tk kE mij8  \@9* RJikHJ X@9* RJikHJ T@9* RJikHJ P@9* RJikHJ L@9* RJikHJ H@9* RJikHJ D@9* RJikHJ @@9* RJikHJ <@9* J%|HJ 8@9* J%xHJ 4@9* J%tHJ 0@9* J%pHJ ,@9* J%lHJ (@9* J%hHJ $@9* J%dHJ @9* J%`HJ @9* J%\HJ @9* J%XHJ @9* J%THJ @9* J%PHJ @9* J%LHJ @9* J%HHJ @9* J%DHJ @9) )%@ J_*D)+VRKr+, ) J+@  <(JK A K*5J)= NEI  K J #TT @J K1a +@l Ќ ik8 )R @9  @9) @yh ) J KJiI J)* JH J!I )9) (J1  * JH m  )) KJ K=J J_- !-(Hӊ-@1A T@ J KJʓ 0 ), ʌ ГATQqTn ε im8  @9 @9 @9 @9a @9A @9! @9  j Kʉ - )Jʓ* HIʪʫ͓k@ ȓk L iʊ Kʉ̓jk˓)L (ʉj+ Hʊ̓iJ+ Hȓ ` J__WO{@@`@5R Q}}av@ qCT@@@v@@v@@@@@R 9@@ @@@@@A5*{COBWA_Ĩ_WO{A5@E44ÚRs@ivʙsbu!R8`!R8` !R8`!R 8`!R@8"`!@R.`!Rv`.` !Rp@.`!Rj .`!Rd.`)R 9{BOAWè_O{C7 @A ?@T %@` !8RRR{  @h@7-{AO¨_ ))@) @ @@97-{AO¨_ Rr qTh@@6!8RRR!@ @@7-{AO¨_ARCH h@ qTh@@{AO¨_ Rr qT@@AR-H``@ @ qaT@@{AO¨_-{AO¨_ARH{AO¨_O{C@{AO¨@{C-@@c-!RR @)-@)@?T{A_փ+m#mog_WO{;3-@@?9E9KB@y!qT5@T@HR A@y?!raT @9sJ ip6@(4RRu(RL)`@`~{Iu`5ҹ5B@y!qaT9R @HR A@y*!_q9p6@HR }/uaR6B@y!qT@H@ R A@yK!qT @J)) A@yjp6@h@h4B@y!qK@T@ A@yp7K@C?ҝ @hX64 @2@9)?!qTx(R9 @  R)r)G qT(@ @ @3@-@CA )7h*@J@9 7*@JRD3@-@(@7讨7 R +j+ S9CKwJK9o<<<c97*@ )A _ T)@9(6hA) R+@  @9ߡq H TT_ kT-@N}{in!TL}@ @J@9qT @9qTqAT @9qT(Roo. _r2)C+"SO7Bh BH @RH @+G A-@C ;@?N9H5;@ @Cq*uJk@T;@@)?)qT @KYAyk1S?@ kT YAyK1S?@ kT @JYAy**J|Ab _ T?)qAT @;@) @YAy @ Aqo@ *Ⱦ6@T@ )7(@("@RRR7<@"o @2@9?)qAT @( C4_@H5:"@ _@5C4(R C@o@(,6,@95AC#4)3@9AA)JT+@9qq@TqT )A43@}@s(NRy R 9 R Ҏ RR0R8Kkj8 8J_"TA+l@? kTk@,}{kil_ !T+}@%xJ A@k{ӌ @_ "T8JA@ @_ #T8)J_TKkj8qqTqT-8SH9j7G@  R 9SH9G@i 7  9?9!Cq Sps*0 JA7H@ @ RAR JA7H@  @@ k4h@hC !7@)@( @ @h @)@) @ k4i @)@) @ )A4(@@ARA @?qC2T(QH )A4(@_(!@@@ A7R< A7@@(;@9/(7!8(CiU}  I/T(@r@T(P7@7X6( @ 9@9) 6@@=@9 6RP A7@6(@ @(Th( @@9qTR(@@y @( @( @ @ kA4i@ 4@) )C!7@J@I @) @ @J@J @* 4 @J@J @) i @A)@ )a))@ MTiCh5)@7(@)?)qAT @E@h @H@4ARr `@z_h @@[@h }{rqlTq*TA @) A@rA! @?q#T(Q( K@! @?qCT(Q( G@'A(@9yqA(#'Z7/;O;+@} C KA'A#A  BKdrKAAEK3@ AY YAy)YO@) * Yy[6AA( A @ @) AAs(+?;R(9(RCCsR#R BCi62sAwC(6(6h 06cAAH@AR RJC+}@)M l@Ll @Lk @KJ?kkTkT?kTk @k@ }@k n@Al@+}{ikk`Tk @k@}@kn@TNl@Lk @K+ @k+ YJ?kjT!$cARCBqTWA} rW낹}WA)R [A낹}r[낹}WA`rW[A`r[gA`rgkA`rkA@?qT(QRkPjjoɏ A7!8?T4jK@CBQA(9BQ(=;AAkTR;KAA(RqAAC4}~qaRJ9h(6B } r)# }rqaRyq>Z3s:><R@sy 96RA5A@oA#CB!}uv6So{=cC/RBA(YC5BCc/RB~S(3o=SBA(YC4@2AB)qTA @)2 AJ907 @9q‰TI ) @9RR)4 )@(CgS#KOAKA R(rr R(C9CCC)R'R9H %6R M@yRRRR*)?q?*@y,*_q lQqqT)R.kl8 7RqTI@9?qT)@9)4i}~Lki8qT)@?qlTqTI@9)~Iki85 5R<R,MK+@9 @94q`TqT@ +@9k ky~A C+@9q{TJ J @94*@B)*?qA K@k2K!C+@9l}~Lkl8 *qTqTj @.@k k @k)@Ckjk8 k%k 7 qT1q T!q TqT4q+ 7V q+L@ *K-@9,N @9 @94q`TqT@ ,@9 y~a  5qAT+M @9l @9 4.@9 ~@9~Nkn8AqATN@ rTJ9(74-@9 ~ @9AqLRMR*L-@9N @9l @94q`TqTk@ +@9k ky~ Qs@I%I64u5\5{4B5J9(7A @)2 е.ҎvҊv/҆v9xBR/BRBRACA7@w RCGS RAK@<R#KOKA rR(r RH *C9CCC)R¥'R9H 6jRcCRA5A A@?5 A@?9A@ AA@A A@?!A@%SB(@957C7 54!!C"RSBCRoA@~} A@  @SBA@K@B= =A @I ) @ A @)y SBqATP95 BBkTB(5J9R jTA Y@) 2 YCCRaC/B4,iB@ @9@V )7)@)9@)  ) *4A )7)@)9@ 2?r Rl X6) @*9@9 6)@)@)=@9'73@@?+@ @B@ @B3B? !T/B)@) @ TAhA@AhA@D*5J9l7/B=@9+(7 !046CH97!hA@%CBh 4hA A@SD  R*Ro _qPT)?'o OT hi8_q* BHT K@9qATJ @9_qT J @9!/B %;BL@3B?Bkk k )R_qBJJ ?r/B!p3B?B  A A@I7B A@I7B ? T?BA@ @I /B @) CB5@ @A A@SD 4h6CH9+6J97B=@9(7 , ? AA@HA @9? B+#BL@B'Bkk k +R_qBJJ r!BoB'B A)A@(BA)A@( B  T'BA)A@* @H( B @) A @)@9)?AqATA A@* @j*@j)@)SB)@97C 6!!C"RSBC3ROnA@~} A@  @SBA@K@B= =A @I ) @ A @)y S;@#A釟A@ 9A A@ R,)@L= A@,) @L5 A@,)@L9 A@,)@L- A@))) @I1T @?r`T)2 A@*5@j*9@ Y@K 2 Y+5@K+9@i@)@9i4I 2 YJ9H 7AA 1A 9 5@_ T A Y@)2 Y  1A 9 5@_ JT 5B)(7i7h7i7A Y@)2 YBI87) @7 7_A( @( A  EB9? rT Y@)2 YA *@9_qT+Rk!ʚ  @T,M @9 @9-4_q`T_qT@7 @)2 9@}}ӱmAQB6 @)2 Bio6 @)2 B6 Y@)2 YA @)2 Y@)2 YB)G6 @)2 6 @)2 _Ai R *~Lkl8qT2 @9 * y~k m@9 L~Lkl8qT5 R Y@I * Y+C4A Y@)2 YACq TAQ(Yh @WA?AIyi  JB) K CqLTB낹kTA-_q@ T_ qT_ q T @9 5m 5 RRmogA낹~aB q T *}@J~kAgAkik~ӌikoAi*gAIi+  HTgAA(!kA(%oA()@낹RmAMWA`xmW[A`tm[gA`pmgkA@lmWi)-@)@?T{GOFWE_DgCoB#Am+l_֭}~Mkm8}qTk@9)qATK k @9k4+)@+M@y +k@9K4eA9h6q!THQs@h%7_q`T_qaT()@@9qT_q`T_qaT((@9qAT9 @95 RAY RW s R#'sAARWA[AgA@kA`aRhAAAWA[A gA`kA`aRh˩RJ.k((iC_qAXysaR[A@aRgAaRkARWA`aR[A aRgAaRkA}@+ TsrOsbog_WO { h-@@'?dAzT.rRPq9TR8{#8hc&!RBRcRA@@@@"@b5T6R"@@ ?-qTVB@y!raTȊ9"7RB@y(p7҈@H6F@ic<@@ ?-qaT(7@ @V;@9h87 @|@B@yp7Һ;@987R@$7X6 @ 9@9i 6@@=@9 6acB R#RN  @hX6@0@9!q/T9(7@96( @ 9@9 6@@=@9H 77@96 @ 9@9i 6@@=@9 6RRN BRO@57@963 @ 9@9I 6@@=@9 6acBR#RsN\TH@@96X6 @ @? T7_7@_7@96 @ 1@9?!q@(@ R)4r qT(@ @ @?@9(7"@ ? qaT@J%A? )T @ij8(5{RI#@?@9(6(?@9(7@CrE(@2(RZW4(@ @ѩ@)@@J}@) (H3@9!q*RTH@ @)-@E@ @(@4@ 9@ @ @J@U @~{ck@@ @@qT @;@9?6H}Ө@}kaR%uhc{7_`TR@{7_Tuy@.Rzh@(@ @ R R kT4ARurCҷ5ҩ@)@@j}{(i*@@  @@  kB@yp77RB@yw6@7RB@yhw6@@ۯ6@(_7@ @) K  @Rj(RT)@@|4{ӭj@ @@qTWBI}@J}{ RYAy @@ @@  ^   ρ_ _́@L @  @k TM@N3@9)qT @(S@h4(;@9(07'@i)-@)@?aT{JOIWH_GgFoE_M)'@i)-@)@?TW$'@qg_WO{C7@3i@ 7 @) H0(R*hR)Q_=qh T) )(M4K kmij8 }8 9C6kj@9@E2@({7A @9h {EODWC_BgA_Bzw@9( @*2@z7`h@h@.qT h@ h@h@ R u3i h@R i@Rr( h6%6h@2hh@R hBhbp_WO{7@H@ @~A) W*)*)qS)}) )! T <@9)Gӟ @T @9GөA) @ T @9GөA) @`T@9GөA) @T@9GөA) @T@9GөA) @ T@9GөA) @`T@9)L L! !AG} )N  T_ Tk !bT KAT n}Moo!NI oo$@ ///ocnB.n!.!T!NN N^ fT1l|oo!N  oooooo< o/2/1oo/onBn..c.nn!.)AT!NcN!NNBNN N^ f Tk7M J @8)K T /i@H R R   R J)@? Tj87 8_k T R39R39 _kTm@@N}@6@? @T,R@? T  ,R R9˨aR `z{COBWA_Ĩ_og_WO{C@Y@@I  *qH@qR8 * @9w @5 IFjJy< @Hi8rJRJ)%Y) )) (5h@ R  *i@4 R r *h[zR&xx77{4R8z777: 7z 7z(6 R8HR8@ h@K@*YAy 3*Yyy4IR 8)R yi @ i@( {EODWC_BgAoƨ_ R96@Y@%G}ө)=8ih)7ih!Xqi׋5 R86hR8z6( R8:6R8'6R8/7og_WO{CGh-@@@sAD<(!RK @@7}R6@ Rr* qT@@AR: TG@Cw74? qAT(éi_8?qTv@9ߪqT*@8_qATJ*@=<@<<J6@=<@<<))7lRi@4*@9kkA$jij8+R{*(é"T?qTRR RR Rv@9ߪq@TqTJ*@=<@<<J6@=<@<<#5ql9i@i5*R3j CqpT{RRR RJ J Lytxk `C@3@u@9qaTcSc/@D4O@(_CS@q5Z @9?qHTq`TqTi@*yR_k Tq KU q,TqL,Th"`@{`N@{`R@ |`^@`|`b@`aRh@i.@j.DJ + j@ 눬Ti ETj"C  " āR'0%bnI,7낹T RwB$ )?i'* *)R+ i ?Tikk8?q T?q` Tl@ 4ji8+ i ?T6`@ `N@``R@`^@`b@`aRWh@i.@j.DJ + j@ T  h@9(7x@hRk*iTtZ)iq- T{h3UD9y:@\8h6@)~i)8h6@ h6@ R 9h6@ yh:h@H5m}@iN@*yhJ9y(ib@4y(h^@~@ yi*4R8Ri 6l@ 4@9) ? T,@9` Tjl8) ?#TMi ,Rb4i@ kTi@?qKTi@ k Th^@uv4kTzSh`N@|g`N}h@K}}`R@h}g`Rh@K}}`^@h~f`^~h@K}~`b@h~f`bh@K}~׈"T,@9qT)?CT`@6`N@`R@ `^@``b@`aRh@i.@j.DJ + j@ T   Rx-9QqHTN 9ymx TT,@)RMjr kaT?pTp9R R HTh@9qGTh@2hh@qlThR'H(@2()R y)WHRh@RRf`N(R`Rf`R`Rf`^`Rf`bQ@TMTaT.@y R J/ @9P RJ*.!4.@y J. @90 RJ*5R T,@ Rȩr kaTh@2hU RaT,@mRr J- @y.RJ *l55 RT TT,@(R-r kTu RIT,@-hRmr J- @yRJ *l5x@? R1Th3EF9{:@%7i6@h~?i(8i6@)?i6@)8 i6@)59i6@)?yii:i@)2i.R9!T,@mjR- r kT R T,@ JRʩr J-@9RJ *5 R?h3I5@9x:@6i6@~?i(8i6@)?i6@)59i6@)?yi:i@)2i69Rh"@'l!65R"Rh6@I~ h@@j6@J J@  h6@i)87h6@  C@(@@ bTj@J4)?NT @9jj8? )1 i6@?i(8C@(@@ TY )R h"ITTaT-@y.lRJ. @9ORJ*-4Q TM`TT.@y͍R J/ @9P RJ*.4.@y J. @9/ RJ*m4-T T-@ynNRkThE94h&@i.@h(i@jZ@  mT7@!@)E, T)A, `T _)?T@96`@`R#`N@`aR`R@`aR`^@`aR`b@`aRh@qi.@j.DJ + j@ )&T  1 h@9q Tq!Thh"Bp:AR%RR RRu@9?%C@Thh"`@``N@`R@`^@ `b@`aRh@i.@j.DJ + j@ IT  rZi)-@)@?aqT@G@{UOTWS_RgQoP- t@9 TQ_aqh)TK kmyjx @K@8q` T   8T̍R,LrM@ k@TM@RNLrkTM@ k@TM@A@ kTM,To..Ϯ틍m- m, ,LNA@ Q@1 @Q1TnM +͍RLrPE@0Q@1 @ϭ,.ϮPE@- Q@,   LL5@ʭJ@J ʋ j J.i@9)?%Th3C@3@@9{yqT|"h@w i@i5i@ 4YR*h h@%S5h@h5h@(4YR3@h@B9TRRRcZ ZmA$ h@ R)4YR@9ih8h@ |"6Ti@i7@9 @9TqT q aTJQ_=qRTL{jxk `֩ {@_yq`QTIQ7RR_;5ATRYRY@295`@T R9RP<7RRl@)4;)7h&@({2i.@ i@ iZ@ 'T7@!@)E, @)A,I`T _)?T@96`@`R`N@`aR`R@`aR`^@`aR`b@`aR)(i).JIj@_qk.@l6D ˋ ml@iT @2~)27T@2x@2u 4T4?q-T6 RR{@?yqAT2T+5h@h4 RYR.7Rk@4q(RjTi&@ *h.@ (i@ iZ@ -T7@!@)E, @)A,I`T _)?T@96`@`RX`N@`aRT`R@`aRP`^@`aRL`b@`aRH)(l6D9jJ.kjk@qn.@ ˌm@IT  z@ 2u2q@2}h&@i.@ i@ iZ@ T7@!@)E, @)A,I`T _)?T@96`@`R`N@`aR`R@`aR`^@`aR`b@`aRh@qi.@j.DJ I +j@ I T  J6 RyR:R; T  ˿탐+/'?R! Ukh&@i.@j"@H h@jZ@+ MA$Tj @_ I1 (hZ DT/3'';R!p0kh&@MA$h@|"@H5)Rh@ |"cT.i DT   냎#'7R!jh&@i.@j"@H h@jZ@+ MA$MTj @_ I1 (hZMA$i6?qT@*Ul2_!qk@i *_rJ)* )q)*i@9?qKT!RR RHR{3t@@c"R^%C@@@9_qThE9Q~4 R3h6@yhAyQi6@)(y5{@q9C@>{@qT@G@I@(*HX4h6@ ,@9qTkk3 ,@y4),*JB,@9qhTlI, @94,@5 @9kk3i + @9 C@ 4 R2h6@ yhAyQi6@)( yX5?A@*]T y@4R G@I@(*H@)@9?qT+x3) *@9@y_q*!)I(y@ G@I@(*H@)@9?qAThE9( 47E9{:@2h6@i~i)8h6@ h6@ j R 9h6@ yh:h6@ L@9K @9i @9m4q`TqaTj@J@9J Jy~) +@9qHT*JB +@yk4)+*JB+@9qT K+k @94+@5 i K iC cT i ?A@ TR yiC Tj@j4)? T @9KkA$jij8? )1)R h"R24h@kzcRt$@h6@ K@9qITK@y4J+I)BK@9qhT K+k @94K@5 @9 J @9 4 i6@( @9_QqAT`?A@jFT yi6@( @9_QqT_qT) *@9 @yU yiC T Ҹ_@q{@AT WO)+@_@q`Tq`8TqT*J J9Lyixk `yG@(h3@9{:@,2h6@i~i)8h6@ *RyG@(h3F9{:@2h6@i~i)8h6@ R 9h6@ yhh:h6@ I@9?Qq@T?qTHiAy)Q yh6@H!iAy)Q yh6@ )@9?qT kk3 I@y4J)I@ n-/"@y0Rʭ-R0 R m..ͮ.>@ nM /@mP-ЍʭMP Rn-@.RrJ. @y/mRJ*5RRc--mk.>@ nL. N/B@9 RʭmRh@ rT&7v"hE94RR RRIRq()q2h(RhhE94h@h7oRY8Rx9t6R RhRͭ,.ͮ.>@ n-/"@y0RʭmR0Rͭ,.ͮ.>@ nM /@mP-ЍʭPRHR 7? T{RR Ri@)iiA)ii@(*hv" Q?qTa RR_  Q?qTh@hRvZI)-@)@?yT!TcC@#"TRR!Rh"@` T@  T9k T`S`V@R`V5`V@RRR#`&@6&@HP7qTR,%aBR6@ R *@)R qT@@AR)/ @KTh@+@k`T)JaT@>@9 7 )A!_Thh"B:AR RR RRPhh"ZI)-@)@?!kTG@#R{UOTWS_RgQoPucAR@%@r T@)6 Rj@(69Yi6@?i(8R RRC@@ @9?!<T RRg$6c"Rm`a RRW"6h"@@9cB96G@(@2(qT5 RRzc"RK : 6cB96G@(@2(h"@@9rTG@(ZI)-@)@?[T{UOTWS_RgQoP_ @(@ @) h@x8@ @) b9Rx@hRk+Tu@`@``N@`R@`^@ `b@`aRh.jJ(?HRIjҀk@ql@P bRi DT   냎#'7! Rch&@Hi.@j"@H)h@jZ@+ -Tj @_ I1 (hZaj@9KQqT,R!˚ AaT_qT Rh6@ ~*R i)8c!R9@rAT@6R/qTRz 6W` 6h6@ L@9KI)3- @9i @9M4q`Tq!Tj@0R8@(Rh9G@@2FR{) R#'@b ҋh"`@`N@@`R@`^@`b@`aRQh@i.@j.DJ + j@ T  'J@9 *J Jy~) (BB@73 UTR@GR2`N@aR.`R@aR*`^@aR&`b@@i $T   냎q+/(#a ҙj"C  "R'0%a R#'a R#'a˭,.ˮN=@  J@J k j @*TR _C@KTk@R(rk Jl@yͩR Jk *+4JqaT`i@9?q!Th"RA*lџ!}TSC94K@H_HS@h"! R0*_!TSc(R4O@ _)S@! RRh"@h"4R@ @9?T?qaThh"ARz@@R RR@ @9? Tj@*Q5)R h"`@`R`N@Q`R@R`^@@R`b@`aRyh@i.@j.DJ + j@ iQT  `@`N@@`R@`^@`b@`aRbh@i.@j.DJ + j@ T   R#'1a R#',aRK`N@aRG`R@aRC`^@aR?`b@@i  T   냎q+)/(# aC@(߆q T`@ *`N@`*`R@*`^@*`b@`aRh@i.@j.DJ + j@ *T  Ph"`@ `N@`R@@`^@`b@`aRi@j.DH8l.@J ˌ k@ T  lh"`@`N@`R@`^@@`b@`aRi@j.DH8l.@J ˌ k@ IT  j"C  "RR'0%`9`@kA#TP`N@P`R@Q`^@@Q`b@`aRi@j.DH8l.@J ˌ k@ IPT  `@#`N@@#`R@#`^@#`b@`aRh@i.@j.DJ + j@ "T  R`N@@aR`R@aR`^@aR`b@ D"T  ˟ 샏?q/!!5҈h"`@`Rv`N@!`R@"`^@@"`b@`aRlj@h.@i.D+  k@ i!T   R#';``@"`N@"`R@#`^@@#`b@`aRPh@i.@j.DJ + j@ i"T  7{ (`N@`(`R@(`^@(`b@`aR9h@i.@j.DJ + j@ (T  @R,`N@aR(`R@@aR$`^@aR `b@7 2T  ˟ 샏?q/!h"`@2`N@@2`R@2`^@2`b@`aRh@i.@j.DJ + j@ 1T  `@`3`N@3`R@3`^@ 4`b@`aRh@i.@j.DJ + j@ ('Ti eLTj"C  "iwR'0%_R`N@aR`R@aR`^@`aR`b@ i D3T   냎q+( R!| 12`N@3`R@@3`^@3`b@`aRk@h*D 8l.@ ˌj@ 2T  R`N@aR`R@aR`^@aR`b@@i 1T   냎q+)9-/(#Y_i"C  "iSR'0%N_i@/5(Rh"`@ aRe`R@@aRa`^@aR]`b@ .T  ˟ 샏_q3@J) /!'RE`N@aRA`R@@aR=`^@aR9`b@i d+T   냎q+))/(#_R#`N@`.aR`R@ .aR`^@-aR`b@-ni +T   냎q+)+/(#^R`N@aR`R@aR`^@`aR`b@ i (T   냎q+)Y,/(#^R`N@aR`R@aR`^@`aR`b@ zi %T   냎q+),/(#^7@h"`@%`N@%`R@&`^@@&`b@`aRh@i.@j.DJ + j@ i%T  +v@`@&`N@'`R@@'`^@'`b@`aRI).JJ(IRHj@_qk@e^i"C  "ER'0%Z^Ry`N@aRu`R@aRq`^@aRm`b@@ki "T   냎q+)I /(#8^RW`N@aRS`R@`aRO`^@ aRK`b@`RF`N@aRB`R@@aR>`^@aR:`b@w T  ˟ 샏?q/!@ j"C  "CR'0%]R`N@@aR`R@aR`^@aR`b@e T  ˟ 샏q';! #{j"C  "R'0%]kTI)A$)It8 1h"`@ nj&C)  "QR'0%]j"C  "itR'0%]hh"`@`N@ `R@``^@`b@`aRh@i.@j.DJ + j@ T  j"C  ")R'0%]j"C  "R'0%]j"C  "IR'0%t]l@ 5(RR`N@aR`R@@aR`^@aR`b@i T   냎q+)*/(#M]Rl`N@@aRh`R@aRd`^@aR``b@ "JR'!3]j"C  ":R'0%(]i"C  "iDR'0%]j&C)  "DR'0%] "KR'! ] "IHR'!]q"(@9`@ehT B`N@`B`R@B`^@B`b@`aRh@i.@j.DJ + j@ BT  R`N@ aR`R@aR`^@aR`b@`4i T   냎q+)97/(#\  T@9 1(h"`@* 7`N@`R@@`^@`b@`aRh@i.@j.DJ + j@ T  `N@@`R@`^@`b@`aRh@i.@j.DJ + j@ T  j"C  "i R'0%~\@@?bT )*_8J_%T)!T`@`N@@`R@`^@`b@`aRh@i.@j.DJ + j@ FTi eKTj"C  "R'0%O\`@`N@@`R@`^@`b@`aRdh@i.@j.DJ + j@ T   .`N@`.`R@.`^@.`b@`aRNh@i.@j.DJ + j@ .T  pj"C  ")R'0%\u@`@h@9h007@a`N@a`R@a`^@b`b@`aR)˩RJJ.Kk((ij@_qk@)R`N@@aR`R@aR`^@aR `b@=i .T   냎q+!2BR`N@aR`R@aR`^@aR`b@@3i d+T   냎q+!3"R`N@aR`R@aR`^@aR`b@@CR`N@aR`R@aR`^@aR`b@@Si )T   냎q+)!/(#[`@(`N@)`R@@)`^@)`b@`aRh@i.@j.DJ + j@ (T  Ei"C  "JR'0%b[ @9?qa+Th"`@@X`N@X`R@X`^@Y`b@`aRrh@i.@j.DJ + j@ )XT  Re`N@ aRa`R@` aR]`^@ aRY`b@ h`@/`N@0`R@@0`^@0`b@`aRIh@i.@j.DJ + j@ /T  }u@`@7`N@@7`R@7`^@7`b@`aR1˩RJJ.Kk((ij@_qk@)>j"C  "KR'0%Zi"C  "IHR'0%ZR`N@aR`R@aR`^@`aR`b@ i 0T   냎q+)M*/(#ZR`N@aR`R@aR`^@`aR`b@ i -T   냎q+)+/(#ZR`N@`aR`R@ aR`^@aR`b@B@>N@E"@>R@ {AO¨_֓>B@@>>B@%@>_WO{6@(0@9)qAT@su2@9` @h@ @H|E h@ h@ h@Rr  ih6M*q!T7@u@ 7 @) -7@si@ 7 @) RF  B`B"@RRR R @"o` *  BB"@RRR @"o h@ "A)]?qT(Q @ @i@( (Rj@I2iw@J_)qAT@@ R rJ I *i @i ==ABCDEFh7h@ N@h:@ R})DNN@gB@RDBB@@ A B C B@ @( @( B@ @( @( B@ !@( @( B@%@ @) "@h:@}~YD""@:@}~Ӹg:@}~OD&&@:@}~Ӯg:@}~ED**@:@}~Ӥg>@>h@i2@9?)qAT @ Y@)y Y^@ @) n@ @) R@:@}}"DR{COBWA_Ĩ_~*>@>h@i2@9?)q`Tb=YC_WO{@ 0@9?)qAT @E@t @@q,T@qKTR {DOCWB_AC_A=ւjT@iv i6@?qT(Q@:D8Dh@ @?q T4  @,Dџi T Qh@ @Jii8KQAq Tljk8  @@?qT(Q6} @@qaT @[f@Yfh@ @Uf`@ Rf6} @@qT@Gf @Ef@Cf@@@f@@=f@@:f@@7f"@5fh@ @1f<h@@C`@C{DOCWB_ACC`&\JWO{@qT{BOAWè_@qTR<hjTh@iu i5@?qT(Q`@C{BOAWèCWO{C(-@@A6@ @(@)1@9?)qAT @9@1TqT@))-@)@?T{EODWC_hR5R6ss'`TKRDY@KRRI @0@9%qT@@He_WO{ @!MR rj2R rl@8 J}  T)R {r }KlJRl KR} =imxm4!HJ })l( 1@9@9 k!T@y R7f4R={COBWA_Ĩ_4 @ya)f`5@y={COBWA_Ĩ_O{C7@3i@ 7 @) @`ДB2@RRR @2`h@h@ h@R i@Rr( h6h@2hh@R  A3 s**lД : $l@@ l @<l.` *l&@@?l6` l` l"` l`+l l k* k?k>`2k3k2ks"`: k``k` `k`.h @h&`k`6@k`k`"k`k`@k`k`*k`>k`k`2 `k kA @k  k!@ kas s)k1` *kak` +|k +vk 2pkA  0jk!  ?dka%%^k%`Xk (Rk@`Lk` +Fk$` @k% @<:k$ &4k!% @.kA% ;(k@9"k% "k% !k%{AO¨__WO{ @!MR rj2R rl@8 J}  T)R {r }KlJRl KR} =imxm4!HJ })l( 1@9@9 k!T@y Rd4R={COBWA_Ĩ_4 @yad`5@y={COBWA_Ĩ_(! `j(%`_( y`_{C4  GWO{(3I!@98@16@~i)86@ 96@ y:{BOAWè_{C4@H +@9q(T*J3KI+k @94+@5+@y4)++aB+@9qiT R#`'G  @9*J3I * @9Ij4  ?A@TRR y{A_ y R{A__WO{(3I!@98@6@~i)86@ 6@ 96@ y:{COBWA_Ĩ_( D)_ T @4)?+T @9 kA$jij8? )1  R_)R  R   RoWO{dcT?R@RZbHRj5xCpD @-U qT@ @@"T BRJ\cT@R@R9b*`l&$G_WO{(3I!@98@[6@~i)86@ 6@  6@ 96@ y:{COBWA_Ĩ_Cg_WO{DAR@q!TT @9 )A+yj R_+jT  l@8,yl_,j`T T 9 k Ta!6"R&h@@M  @ R(Rh~h@ R %SK R, R R_q_qjr7y@(3 7@9u:@i6@~?i(8i6@)8i6@)9 i6@)79i6@)?yi:i@4 kTi6@*R*i(8@2iC Tj@j4)?T @9 kA$jij8? )1)R h"R{HOGWF_EgDC_ `@`N@`R@@`^@`b@`aRh@i.@j.DJ + j@ T  Ry`N@@aRu`R@aRq`^@aRm`b@i T   냎q+a!Lj"C  h"WR'`0%/FWO{RiC " T@9qT(35F9t:@\h6@~i)8h6@ h6@ j R 9h6@ yh:iC Tj@j4)?T @9 kA$jij8? )1h@hh@*hhAh{FOEWD_)R h"R{FOEWD_ `@`N@`R@@`^@`b@`aRh@i.@j.DJ + j@ T  R`N@@aR`R@aR`^@aR`b@i T   냎q+a!@j"C  h"eR'`0%EWO{R+iC Ti@)i@9qaT(3C9t:@h6@~i)8h6@ R 9h6@ yh:iC Tj@ 4)?KT @9 kA$jij8? )1h@*hhAh{FOEWD_)R h"R{FOEWD_ `@`N@`R@@`^@`b@`aRXh@i.@j.DJ + j@ T  RK`N@@aRG`R@aRC`^@aR?`b@i T   냎q+a!j"C  h"_R'`0%E_WO{C@ T7@@97h@h4)T9H@7 )A(yh7@9 )A(yh R)r?(jT _ qT? T@9*_qT) 3(@ )A(yh7pţ 4h@4B$bC @9ji8 ?a""TB @zi 7*(9h6 y?1TI? + T)@9*_qT e3)@zi7Rc4bC(@9@jh8!?a"T hC) JA+Ri"?T,@8Lyl,j@ThB@K}@h@ R RqB;qTa `V@`RRRҬ`@h@q Th{GOFWE_D_R#RR#Rh"@h"`@`N@`R@@`^@`b@`aRnh@i.@j.DJ + j@ T  Ra`N@@aR]`R@aRY`^@aRU`b@i T   냎q+i)9/`(# Dj"C  h")*R'`0%D`D`@`N@`R@@`^@`b@`aR'h@i.@j.DJ + j@ T  R`N@@aR`R@aR`^@aR`b@i T   냎q+i)/`(#Cj"C  h",R'`0%Co g _WO{C-@@73b4:hE9z:@V~ӈ4FE9 h6@i68h6@h6@ h6@ R 9h6@yHh:h6@iAy)Q yB9 h6@i68h6@h6@ R 9h6@yh:h6@iAy)Q ytRRo ;􇀹 r`T 6hC?‚T(@9q`Tq T|@t:@@{h@s)`"@ 9(@?qlT?q`T?q!iTi@ B Tj@* 4)?kfT JA$Hih8?(1Y?qT?qfTa@#`f4k3K@SJO@&T@T&"i@  Tj@4)?`T JA$Hih8?(17i@  Tj@4)?+_T JA$Hih8?(17RTG@h"i@ E"Tj@4)?k\T @9 kA$jij8? )1-(Rh"R R@(RjAT(Rh"Rz R@(RjT(Rh"Rl R<R@(RjT)R h"R] k+@XTka T@ @9?q Ti&@j.@  i@ iZ@ m T7@!@)E, T)A, `T _)?T@96`@`R`N@`aR`R@`aR`^@`aR`b@`aRj.DH9i@?ql.@J J Lk@ T   T  ˟ 샏/'Ra!Ch&@ i.@j"@H h@jZ@+  Tj @_ I1 (hZ@(Rj T*qT*kTh@2hT76hz@%qTq   hzR q@T5h@b7R hz@%q$Thz@ @9?q$T>R hz@%q #T hz@ @9?q"T0hz@%q-T@(RjThURHUrkTh&@hli.@j"@H(i@jZ@  T7@!@)E, T)A, `T _)?T@96`@`R`N@`aR`R@`aR`^@`aR`b@`aRh@qj.DI3l.@J ˌ k@ T  qT# jT  ˟ 샏/#'Ra!xBh&@(i.@j"@H)h@jZ@+ Tj @_ I1 (hZq<R7FD9t:@ h6@~i)8h6@ R 9h6@ yh:h6@i)8h6@ K@9qhKTJ+k @94K@5 K@y 4J+I)BK@9qiTL @9 J @9 *4 hE94a RB R> h6@ iR yaR6 hE94h6@ R yC9t:@ h6@~i)8h6@ R 9h6@ yh:h6@ K@9qBTJ+k @94K@5 K@y 4J+I)BK@9qiT @9 J @9 4 h2@h2hz@%qTyShzi6@h~?i(8i6@)9i6@)< +O) kaTi6@)?yi6@(y@ @9?qT?qTi@ Tj@j4)?T JA$J@9? )1+i6@)*yiQj6@H y@ @9?qTi@ Tj@4)? T JA$J@9? )1<?A@T yhE95z?A@*T yh2@h2hz@%q T)R h"RV a R h6@ K@9qh2TJ+k @94K@5 K@y 4J+I)BK@9qiTj @9 k @9I 4)R h"R, @9t:@ h6@~i)8h6@ *R 9h6@ yh:h6@ K@9q+TJ+k @94K@5 K@y 4J+I)BK@9qiTM @9 J @9 j4 ?A@T y RA C9t:@ h6@~i)8h6@ R 9h6@ yh:h6@ K@9q$TJ+k @94K@5 K@y 4J+I)BK@9qiT @9 J @9 *5?A@TR y(Rh92'7 a ҉+7C P y@@9q!T@~ @@9qT Q? q5TqT @@9qTa@ґ@ 4a R h&@h?i.@j"@H(i@jZ@  T7@!@)E, T)A, `T _)?T@96`@`R`N@`aR`R@`aR`^@`aR`b@`aRh@qi.@j.DJ + j@ T  i 8T   냎#'7Ra!H@h&@(i.@j"@H)h@jZ@+ Tj @_ I1 (hZ6F9i6@) (y_z(R @(*;@(hz@%qlThzh6@;@ *@9_qTJ*J @94*@5 *@y*4)**JB;*@9_qIT;@ @9 * @9i j4 ?A@T yo@o;@ho@qTZ )-@)@?T{QOPWO_NgMoL_C9t:@ h6@~i)8h6@ R 9h6@ yh:_o@qT@(*rTZ )-@)@?T2ZR y(Rh9R R#@'?h"@h"`@`N@`R@@`^@`b@`aR$h@i.@j.DJ + j@ T  R`N@@aR`R@aR`^@aR `b@i T   냎q+i)]/@(#>j"C  H"bR'@0%> R#@'>v@`@`N@`R@@`^@`b@`aR˩R J. k((ij@_qk@@<>R`N@@aR`R@aR`^@aR`b@@ H"QR'@!> H"NR'@!>u@`@ `N@``R@`^@`b@`aR. J(?HRI @k@ql@@,b>i"C  H"QR'@0%W>@h"`@`N@`R@@`^@`b@`aRih@i.@j.DJ + j@ T  R\`N@@aRX`R@aRT`^@aRP`b@i T   냎q+I)/@(#>j"C  H"i`R'@0%>R/`N@aR+`R@aR'`^@`aR#`b@ i"C  H"NR'@0%=@ H"MR'@!=j"C  H"MR'@0%=# mo g _ W O{-@@/ @8  qT(q2h rT?976@е7v@(@q2h(RhhE94h@h7҈@2Y )-@)@?mTC'@B.@`RRR@.@@ @ @@ R u3 ZC)H@@{5h@몁TМc5@y @ 28@i@(@.@`RRR@.@@ @ @@ R u3  H@@h@*|T@y @ 2D_ T RrG+?"RiC BT@9TQnq#TЌYytxJ @$RC67'@G@#RR%R&RR`!t@ш @ ( @ @_sqT_q!T@ @)@/@ +T/@ Tl_wqTqJT_q%T_q@T@/@rT/@hrTR`q@5@9q7/@h%T`{_ `RL@ @K@6)H kT@@qT AR qTRJ9"Iytx uRQqTRk)$jyhx) wRkT;h7@9~74@9H~7q Tq`Tyq@TqT;qTqT;@R_a @?qBT];@"Rba @?q"TT;@R_;@RbF"Rb7@@?qT(Q3@@?qT(Qa @?qBT5;@Raa @?qT(Qh @?qCT(Q;@@%A?TO@9UR5RRWR7RR..3@@?qbT.a @?qT.'@G@#RRR&RRj `T@ш R@ @~@/@T*j@4 JA$Jiz8  %TUiC)  BT@8?qT 9`RsXt:@u"hF@hFAR'@G@@rNTh6@ @9?q!Ti:@ J3JF9 J? !TA@a?+@A @?q+T(QH hF@hFt:R@ @~@/@jT@R+@!@ @ @6)H kT@@+@@ _8?uqTb @%A?T@ @ ( @%A?T@ @ ( +@ @ R r qTH@@8`Ӛ@/@_+@+TRF}@ @H@6)H kT@@h"@h"'@G@RR%R&RR=t R@ @~@/@*Tm*R  TAR/A @?q#T(QH /@H/?4@9(H74R+@@ @~@/@ TR@ @@7~`/@ T5)H kT@@AR[ T?@qIT`@?q#T(Q@ @~@/@TR־@ @G7 o-@ @~@/@JT~`T/@ aTqAcT/@ mT` `Rb@5@9a6?@@%A?T@ @ ( i@h"@i4 @9 JA$Iii8j@  h"T)Rj@  h"TARAT+@?qcT(Q R @%A?T@ @ ( ARAcTh@ @@7/@_bT``Rfa@5@9Ha6/@L@%A?T@ @ ( (҈`/,/@H8,,_wqa#TiC AT @8?q+@AT@ @C@ @6@6 @!q5T@ @4hF@(h"@h"3F9w:@h6@~i)8h6@ Ah6@ R 9h6@ yh:iC #TY )-@)@?T{OONWM_LgKoJ#Im_j@4)?T @9kA$jij8? )1?.@@.ҳ9 @(* @Y9zZ #YQ @(* @*KC,@9*@k _ bT @, M yj "TK  @?T?!T9Q @(* @* t@@ R r)  qT@ @? @BR?@'@ H)_qu@hh&@h@yhRR%RRi*@h&u @?q T(Q ?@ @?q T(Q 6h@2h_qTh@q2hh6@~ R 9h6@ ii8J2 i)8V)R h"R1Y )-@)@?@TT(@r`BT(Y )-@)@?T@r@TҨY )-@)@?@T@r`?T*(+?@ @?qT+7 h"@h"`@`N@`R@@`^@`b@`aRnh@i.@j.DJ + j@ T  Ra`N@@aR]`R@aRY`^@aRU`b@i T   냎q+a!D`@`N@@`R@`^@`b@`aR7h@i.@j.DJ + j@ T  'j"C  H"ER'@0%9+@(@(`@ R`N@aR`R@aR`^@aR `b@@i T   냎q+i)/@(#8@?qcPT(Q`@@P`N@P`R@P`^@Q`b@`aRh@i.@j.DJ + j@ T  G @?qcOT(Q `@`O`N@O`R@O`^@ P`b@`aRʿh@i.@j.DJ + j@ T  i T   냎q+i)%/@(#8j"C  H"\R'@0%8j"C  H"YR'@0%w8i T   냎q+a!Dh`@`N@`R@ `^@``b@`aR|h@i.@j.DJ + j@ T  ,`@``N@`R@`^@ `b@`aReh@i.@j.DJ + j@ IT  BRX`N@`aRT`R@ aRP`^@aRL`b@i T   냎q+i)i/@(#8j"C  H")UR'@0% 8R+`N@aR'`R@`aR#`^@ aR`b@i $T   냎q+I)*/@(#7j"C  H"ZR'@0%7?@@?qc6T(Q`@@6`N@6`R@6`^@7`b@`aRh@i.@j.DJ + j@ T  &j"C  H")[R'@0%7`@`N@`R@`^@@`b@`aR˾h@i.@j.DJ + j@ iT  {i T   냎q+i)y/@(#7h"@h"`@`N@`R@@`^@`b@`aRh@i.@j.DJ + j@ T  }u@`@`N@@`R@`^@`b@`aR. J(?HRI'@Jk@ql@`R7h"`@`N@`R@@`^@`b@`aReh@i.@j.DJ + j@ T  uRX`N@aRT`R@@aRP`^@aRL`b@i T   냎q+i)%/@(#7j"C  H"WR'@0% 7R+`N@@aR'`R@aR#`^@aR`b@}i T   냎q+i)a/@(#6R `N@aR`R@aR`^@aR`b@@sR`N@@aR`R@aR`^@aR`b@i T   냎q+I) /@(#6j"C  H")RR'@0%6j"C  H"/R'@0%6`@ `N@``R@`^@`b@`aRh@i.@j.DJ + j@ T  j"C  H":R'@0%6R`N@aR`R@aR`^@`aR`b@ i $T   냎q+I)/@(#]6 j"C  H",R'@0%Q6(`@Rm`N@aRi`R@aRe`^@@aRa`b@y(`@RX`N@aRT`R@`aRP`^@ aRL`b@(`@RD`N@aR@`R@aR<`^@@aR8`b@I_WO{3I!@9LhF*j:j@7jN@j@_qKTkR@l@Tjj@_ q+T*RJkҀ_ jTkN@lyjTkR@lyjTly*kR@lyjTly* kv@k kkvk6@` _)T) I_ i6@ _hTD8h6@~ 9h6@ y~{COBWA_ĨPWO{C@@@@~.`h@Eh@h6kT~i:@ ~{EODWCP{EODWC_֔u@`@`N@@`R@`^@`b@`aR˩R J. k((ij@_qk@I)@Xq5R`N@aR`R@aR`^@aR`b@@WO{Cb4h( C7 @)@J _ kT*@9_qT*@9_qT* @9_qAT)* @_ T) )K_8qTI ) @J _ T{EODWC_*@)A$ @  T    T @  kTK@9qTK@9qTK @9qATJK @ T* Jl_8qTj * @  T_ T .Rm- @  Tm@9%T.RqTn@4.im8  TqT q`Tq!Tl@9qTl @9nR9qTqTq@TqAT  T n@8)qAT l@9qTNRk@k2kqTu@`@`N@@`R@`^@`b@`aRػ˩R J. k((ij@_qk@I)@X4R`N@aR`R@aR`^@aR`b@@#mog_WO{R-@@?DY{C$@9qaTh@"Ti@ 4+Ti@9 1(Rh"R3ARA8 6hCT QaqHJT)&+yhxJ @X"6Ҩ@2h@hh@Ti@4kT@9iki8 1h@"Ti@4 Ti@9 1h@bTi@I4Ti@9 1v"fE9R$RR'RZ`@ @9?uqA(Ti@ "Tj@4)?KTjwA9@9q?T:R)(+yhxJ @v"fE9#RRR'R3@9 *7h&@шhR @(*r TҨT@9H$*6Ph@cY@ _? j h@+qHzT@)@9)?qa7TkTh@qTh@kTh^@Yx(Rh"RIu:@i@93~i7%@9h6@i68h6@IR 5@9h6@i68h6@iR 9h6@-(Rh"R%h"@@94h@hu:@h@973E@9h6@~i)8h6@ R 3U@9h6@~i)8h6@ R 9h6@ yh:d(Rh"Rh@v:@rR)R( R7 )3(ih8h6@~i)8h6@ 9h6@ yh:@2hz@%qThz:h@ @9)?%T @8)?)T7h@k+Th@qTkT`@9`N@:`R@@:`^@:`b@`aR-h@i.@j.DJ + j@ Ti .Tj"C  H"R'@0%2h(Rh~h@) R %S R RM R_q_qjr(c@h@4kTh6@ ~*R i)8@h6@ @9)qaT(Rh9@2 y@(,T @9qTq`Tq,TqT*@9)A+yj R_+jTl@8,yl_,jTR R@2L hA05h@ha Rh@2h? h@27Rh@2h5  h"eE9C47@9(/7R{@h@hh@2hR|'3h@T @9?qAT9oRNXx'S @9)A,yk R_,j!T l@8-yl_-j`T   T_8-ym_-j T0XTi)Q?Aq(.TJ,Lyixk `T,T@xiLR ka,T9R+ RhR/q3'qsT#qaT(Rh9 h@qR,@8qrTy@"ˡRNz )A R @8,yk_,jTq@9%T h@qRh@h h@B"Th@9h7Rh@qR)R9x:@!8h6@ ~i)8h6@ )R 9h6@@ yiFh:@(  @9?q_`T?qaT ! S R`R(B) ==) BR h"@i@) ?q(RHR') G *o@*W@a@_o@3H"Tg(R{H@9Qeq*TkA-jyhx) ֈ@_)ThE9h)4h&@hi.@H i@ iZ@ (Th7@!@i)E, @i)A,I`T _)?T@96`@`R`N@`aR`R@`aR`^@`aR`b@`aR@H9i@?qk.@l&@J J Lk@ iT  hE95S@_ITH8  eTH_8qq@Th&@i.@H i@ iZ@ Th7@!@i)E, @i)A,I`T _)?T@96`@`RH`N@`aRD`R@`aR@`^@`aR<`b@`aR8h@qi.@@k&@J I +j@ iT  @H@9qhCTk0jyhx) H @9%Tc4@ _Ӊi@?kLT@hRH RcdRRR @@;cD906h@9%~TRX2 ~4h&@i.@h i@ iZ@ |Th7@!@i)E, @i)A,I`T _)?T@96`@`RԷ`N@`aRз`R@`aR̷`^@`aRȷ`b@`aRķ@@c@h@qRRCh@qi.@@k&@J I +j@ lT  dh@_)TH8  eT2i T   냎#'7RA!.1h&@H" T  ˟ 샏/'RA!<01h&@Hi.@@H h@jZ@+ Tj @_ I1 (hZ@ 9)7 @9R@a@BT@9q`T<R Q? qCTqTR\48rh@7h@4@? T)R@I K T @qT?T(T? T?$T 4(RhRfj@4 @k5&ji`8j i@!k kD9R%@ _ T @85&im8k kD9 z 4 !TR@@ CT?HTAya6{4h@7 q(RiR(=*djj)jRI K)R)} )} S@I K sT@?Th4}{@藟j8jI) T@q *TR?pTӃR? Tv@qTD %S Q q(h@4@?BTW@ lT()i(13W@ hkT@} aT z?M cTcT))ih8JJih8? k@* i@y? rbTbT) (ih8h@ @)?q @RIzHRR#\{@*W@_ eT  wRI@  *{@6 ?(T?T?CT?`T?T?T?CT? `T? T?pT?tCT?`T?T҃(ThӃR?TӃR?TӃR?#T_(T(%(T@RAT@q Tn H h"eE9'1-6@@(qR)@ *A7$hRRRbT)A)yh R_)jT@  eTH @9q`Th&@i.@H i@  iZ@ Th7@!@i)E, @i)A,I`T _)?T@96`@`Rٵ`N@`aRյ`R@`aRѵ`^@`aR͵`b@`aRɵ@i@?qj.@k&@  j Lk@ 1T  eE9h@qRoC6w@5h&@4i.@@H(i@jZ@  3Th7@ !@i)E, @i)A,I`T _*@ +B_ T,yS ik82k%K7+=HӋ4kB_ T,H ik8-R3k%7+]P+4kB_ T,P ik8-R3k%7+}X4+Z_ iT)}Wik8))2%6`@`Rc`N@`aR_`R@`aR[`^@`aRW`b@`aRS@w@i@?qj.@@l&@k L k@ T E$TH @ 9@6C9@w@ &i&@%j.@ Hi@jZ@  $Th7@ !@i)E, @i)A,I`T _*@ +B_ T,yS ik82k%K7+=HӋ4kB_ T,H ik8-R3k%7+]P+4kB_ T,P ik8-R3k%7+}X4+Z_ iT)}Wik8))2%6`@`R`N@`aR`R@`aR`^@`aR`b@`aRܴ@w@i@?qj.@@l&@k L k@ T eTieE9h@qRA6w@Hh&@i.@@H(i@jZ@  Th7@ !@i)E, @i)A,I`T _*@ +B_ T,yS ik82k%K7+=HӋ4kB_ T,H ik8-R3k%7+]P+4kB_ T,P ik8-R3k%7+}X4+Z_ iT)}Wik8))2%6`@`Ru`N@`aRq`R@`aRm`^@`aRi`b@`aRe@w@i@?qj.@@l&@k L k@ T  4HR(RRH i T   냎+#R!!(.h&@i.@@H % T  ˟ 샏/'R!!,Q.h&@ dT  ˟ 샏/'!!(.h&@(i.@@H)h@jZ@+ Tj @_ I1 (hZ@CTh@(4_Ȓh&@i.@@H(i@jZ@  mT056J%!05+J!!1#JaRh&@(i.@@H(i@jZ@  덍Th7@!@i)E, Ti)A, `T _)?T@96`@`R`N@`aR`R@`aR`^@`aR`b@`aROi@?qj.@l&@k L k@ T  4R@I K 멖TP@)?qaT W@ hThnR$xHR{R(R[7)_8)y?MqT)Ri@y? rT  ?iH18[)R $T  ˟ 샏/' R-h&@~i.@@H)h@jZ@+ }Tj @_ I1 (hZR(Ri@(%Sq` T@JQJ_ q T@i6@@) )@9J3I ;@9qT)3(B9)B9j:@ ˈ h:K@ RGRi@)) _@I I 1H T;Th6@@ IR 9h6@@ yh6@@ @9?q`T?qaT!KSHhIRIwS,RLw3_`RH6q@)R OqT@!R3%G7R.%3@W TG@go/GK@oh@4@h@ qHRR#G@@|i@9JA$Iii8 T R@}Ti@) ?q@ThnRG@(%xg@ Tg@@9  (N8N=!n!(a!p.)& )7R  ?!q(T. <  (7 &'7 RQqq,TЌY5yhxJ @g@@9 y?q%T RQ!q(*T*RH!*(R$H;+G@oo@/W@HTG@h"@W@Hgo@) 3@Hy)h@h4a@W@g@DR@hG@9)A$(ih8WW@@9}Tg@hnR(%x) (ih8g@(8GW@Wo@7@ 9W@?G@ HT7@+@(W@ o@W$7h}ӈ3o@G@;#F}M$3GoT) (ih8G@(8Gg@(Tg@ @9(yq`TqT@@9)A)yh R_)j Tg@g(RN Tg@@9  (N8N=!n!(a!p.)&7R  ?!q`T. < 7 &7 RQqqTq4yhxJ @g@@9q~TqTg@ @9 R q!T} Tg@@9  (N8N=!n!(a!p.)& 7R  ?!q@ T. <  7 & 7 RQAqT3yhxJ @g@@9qTT}qTh@ q!]T@?T ii8RG@I8R* _!qT)qTjR) ?MqTQqTeqTRTg@ @9(yqTq`TR* _!qT)qTjR) ?Mq TQqTeqTg@@9qaT Rg@@9Q5qT*RH!*"R  Rg@@9QeqT*RH!*R @r jT@@9)A(yh R?(j!Tg@o@ iTg@)Rgo@ T _8J_qTa@h@ qHRR$ R@)Rg@g@J@9JyJQ_q+Rj!+ RJ D@z@T)Rgo@ iTg@o@_ iTg@  o@_ TK_8kq Tg@ _KTg@J@9KykQaqTQ9ik8 JQ_qqH;T9yjxk `g@J@9Kyq"T_q%T_q 6T_q!9T*_ATg@J@9KykQaqT7ik8 JQ_qq6T18yjxk `g@J@9Kyq+T_q@,T_q(T_q4T]_KTg@J@9KykQaqTΥ6ik8 JQ_Aq2T 7yjxk `g@J@9_qA1Tg@J @9KMQqT,R!˚AT_q/Tg@J @9_qTz_ a Tg@J@9KykQaqTA6ik8 g@J@9_1q-Tg@J @9_)qTcg@J@9_)q+Tg@J @9_qTZg@J@9_1q*Tg@J @9_q`TQg@J@9_1q)Tg@J @9_q@THg@J@9_1q(Tg@J @9_1q T?g@J@9KMQqT,R!˚T_q&Tg@J @9_q T/g@J@9_1qa%Tg@J @9_!qT&_ $Tg@J@9Jy_MqT_q#Tg@J@9JyJQ_q"T+Rj!+ R_ jaTg@J@9_qT_qT_q!!Tg@J @9_Yq`Tg@J@9JJMQ_qT+Rj!ʚ_aTg@J@9JQ_5qT:ij8k `g@J @9_5qT_1qTg@J @9_MqATg@J@9_q T_qTg@J @9 RJ _q` T_)qT_qATg@J@9_qTg@J @9JJMQ_qiTg@J@9_qaTg@J @9RJ _9qTg@J @9_9qTg@J@9JQ_5qHT9 ij8k `g@J@9_qT_qTg@J @9 RJ _qTqg@J @9_9q Tg@J @9*g@J @9_UqTg@J @9_q Tg@J @9_UqaTg@J @9JQ_EqT+Rj!+(RKr_ j!Tg@J @9KqTKyq`T_qTg@J @9_9q!Tg@J@9_qTlg@J@9Kyq@T_qT_qTg@J @9_5qT^g@J@9JQ_5q( T7ij8k `g@J @9_1q T/g@J @9_9qA T g@J @9_9qT_5qaTg@J @9_ qT>g@J @9_q`T9g@J @9KqTKyq`T_qTg@J @9_9qaTg@J@9_qT&g@J @9_5qT_1qTg@J @9_MqTg@J @9_5qT_1qTg@J @9_!q!Tg@J@9_5q T_1qaTg@J@9J_qTg@J@9_ q@Tg@o@_ T_+T @9Kyq`T_=qT_9qA T @9_qT_q@T_q`TJ_ T @9Jy_qT @9Jy_qT @9Jy_1q+ RDKzATo@ T  o@? iT*_8J_q T @9_%q@T_qT @9_1qT @9_MqaT @9_5qT @9_ qaT @9_9qT @9_qT @9_1q!T @9_!qT @9_5qT_1q!T @9J_qT @9_ qTI_6g@H@9)A$(ih8HRinRG@I%xGg@G@I ? mTg@)@9)y?qT?MqTg@)@9))MQ?qT*RI!ɚ?aTyTg@)@9)y?qTg@)@9)y)Q?q T*RI!* R? j Tg@(o@ WTG@)? T @9)y?MqT?qaT @9)y)Q?q*RI!* R) $@z T  ? T @9)y?MqT?qT @9)y)Q?q*RI!* R) $@zT   @9))MQ?q*RI!ɚ)$@T   @9))MQ?q*RI!ɚ)$@T  o@ T G@J _ T)@9)y?qT @9)y?qT @9)%Q?qT*RI!ɚ**? T) g@o@? Tg@)G@J _ T)@9)y?qaTg@)@9)y?qTg@)@9)%Q?q(T*RI!ɚ**? `T({G4g@O@4o@ 3@yxE4/@G 3@E `RK@K@  K`Rg@@9 y?qT y?q`TqeTg@ @9q y RJzR$Hz!dTh@hh@h 7ARh6@ ~*R i)8LR@2DRRqC(Rh,qy@c@_j  k`T44i@8KqlT`@ `N@``R@`^@`b@`aRh@i.@j.DJ + j@ T   RaRdi@ kTi@?qTi@ kTi^@8Yh@9?qiR)Hji8)?%nT @8)?)Th"`@`!`N@!`R@!`^@ "`b@`aRNh@i.@j.DJ + j@ I!T   !T@9qTyR AT@9qTYR aT@9qTR r T4/qzTh&@i.@ i@ iZ@ Th7@i)E,!@ @i)A,IT _)?HT@96`@`R`N@`aR`R@`aR`^@`aR`b@aRy )qq)h@qj.@k2Dk j Lk@ T  7hs2h(RhhE94h@7Ҩ@21h7PXQ6`@@`N@`R@`^@`b@`aRh@i.@j.DJ + j@ )T  @177.7 dT ѱ ˟ 샑/#C!!&R&h&@Hi.@j"@H h@jZ@+ Tj @_ I1 (hZ\R_qkh6@ ~i)8{C$@ ?AT @8?qTa@h"@6i@ *Tj@*4)?T @9jkj8? )1)R h"RC ҈Ҫh"`@`N@ `R@``^@`b@`aRDh@i.@j.DJ + j@ T  . h"`@`N@@`R@`^@`b@`aR+h@i.@j.DJ + j@ T  7R`N@ aR`R@aR`^@aR`b@`i DT   냎q+))]/ (#$R`N@aR`R@aR`^@aR`b@@i dT   냎q+))'/ (#$j"C  ("鵂R' 0%$j"C  ("ՂR' 0%$K@8O@4/@3@B_@@HqTqB$Th@ @?r)RjRIjRqJYh6@@ R 9@h"@rHRR*B$Ih@96#S) *h7HqTqT@h6JR4h@@lGA`TR+HqTqB$TB$qaT@h6*Rh6@@ @9?q`T?qaT!@6@9yRMq@T@zMRJ(Rh9RHq@?jR h6@@ 9h6@@ @9?q`T?qATh:@h:h@H4h6@@ @9?q@`T?qT! 9h:@h:h@5(R@@9jh8I2)(@ *@#R`"@@9q Th6@@ @9 q Ta@ҁ 7hE95h&@i.@j"@H i@ iZ@ Th7@i)E,!@ @i)A,I`T _)?T@96`@`R`N@`aRݪ`R@`aR٪`^@`aRժ`b@`aRѪh@qi.@j.DJ I +j@ T  i D;T   냎#'7!!.R$h&@Hi.@j"@H h@jZ@+ Tj @_ I1 (hZ@Y)-@)@?T{FOEWD_CgBoA#l_*RB$>@<>R8`@`N@`R@@`^@`b@`aR}h@i.@j.DJ + j@ T  Rp`N@@aRl`R@aRh`^@aRd`b@i DT   냎q+)))/ (#/#u@`@``N@`R@`^@ @`b@`aRB˩RJ.k((ij@_qk@ #h"@h"`@``N@`R@`^@ `b@`aR h@i.@j.DJ + j@ ȾTi Tj"C  ("R' 0%"@ ("顃R' !"`@@`N@`R@`^@`b@`aRh@i.@j.DJ + j@ )T  v"`@`N@`R@`^@@`b@`aRݩh@i.@j.DJ + j@ iT  v@`@`N@`R@@`^@`b@`aRũ˩R().J(Ik@ql@ "Hh"`@`N@`R@ `^@``b@`aRh@i.@j.DJ + j@ (Ti Tj"C  " -R'0%m"j"C  " R'0%b"R`N@aR}`R@`aRy`^@ aRu@`b@0H "i-R'!G"Rf`N@aRb`R@`aR^`^@ aRZ`b@8H ").R'!-"RL`N@aRH`R@aRD`^@@aR@`b@Ii T   냎q+))u3/(# "R*`N@aR&`R@@aR"`^@aR`b@?i  T   냎q+))/(#!R`N@@aR`R@aR`^@aR`b@5R`N@`aR`R@ aR`^@aR`b@Fj"C  "顃R'0%!j"C  "R'0%!j"C  "iR'0%!RŨ`N@aR`R@aR`^@@aR`b@i T   냎q+))*/(#!j"C  "i-R'0%y!i"C  ").R'0%n!nj"C  "R'0%b! h"`@`&`N@&`R@&`^@ '`b@`aRuh@i.@j.DJ + j@ I&T  2Rh`N@@aRd`R@aR``^@aR\`b@-`@ .`N@`.`R@.`^@.`b@`aRMh@i.@j.DJ + j@ .T  p h"`@@5`N@5`R@5`^@6`b@`aR4h@i.@j.DJ + j@ )5T   h"`@`6`N@6`R@6`^@ 7`b@`aRh@i.@j.DJ + j@ I6T  u@`@7`N@7`R@ 8`^@`8`b@`aR˩RJ.k((iy"`@6`N@7`R@@7`^@7`b@`aRi@h.@j.DJ  j@ 6T  @h"`@7`N@ 8`R@`8`^@8`b@`aRҧw@i@j.@k2Dk L k@ T E=Ti"C  ")R'0% @i@55)R h"`@`R`N@`6`R@6`^@6`b@`aRw@i@j.@k2Dk L k@ T 8Ti"C  "i R'0%q @h"`@3`N@4`R@@4`^@4`b@`aRw@i@j.@k2Dk L k@ 3T  u@`@4`N@4`R@ 5`^@`5`b@`aRk).J(IRHj@_qk@))1,/+X5 h "i'R'!, RK`N@aRG`R@`aRC`^@ aR?`b@i d/T   냎q+!!<(H "I)R'! h"@@9`@%H-T@J`N@J`R@J`^@K`b@`aRh@i.@j.DJ + j@ JTi Tj"C  "R'0%`@+`N@,`R@@,`^@,`b@`aRh@i.@j.DJ + j@ +T  ]R`N@aR`R@aRݦ`^@`aR٦`b@ i +T   냎q+))}!/(#`@@*`N@*`R@*`^@+`b@`aRh@i.@j.DJ + j@ )*T  Qh"`@ +`N@`+`R@+`^@+`b@`aRh@i.@j.DJ + j@ +T  XR`N@aR`R@aR`^@@aR`b@Qi d*T   냎q+)) /(#RRq`N@aRm`R@`aRi`^@ aRe`b@Hi 'T   냎q+))/(#0RO`N@`aRK`R@ aRG`^@aRC`b@>R>`N@@aR:`R@aR6`^@aR2`b@Eh "T   냎?q)+!!x$SR`N@ aR`R@aR`^@aR`b@`<i@)?KPT @9kA$jij8? )1 h"`@KaR`R@aR`^@`aR`b@ JR`N@@aR`R@aR`^@aR`b@] T  ˟ 샏?q/('Rϥ`N@`aR˥`R@ aRǥ`^@aRå`b@Vj"C  "ۂR'0%@`N@`R@`^@ `b@`aRh@i.@j.DJ + j@ )T  R`N@@aR`R@aR`^@aR`b@i T   냎q+ ))*/(#\j"C  "鿂R'0%QRp`N@aRl`R@aRh`^@@aRd`b@i DT   냎q+!!o@!RP`N@aRL`R@aRH`^@`aRD`b@ i T   냎q+o@}@!D#j"C  " R'0%j"C  "ɺR'0%j&C)  "iʂR'0%i"C  "R'0%j"C  "i'R'0%i"C  "I)R'0%R`N@aR`R@aR`^@`aR`b@ Ri T   냎q+ )+/(#Rʤ`N@aRƤ`R@aR¤`^@@aR`b@R`N@aR`R@aR`^@@aR`b@i T   냎q+ )+/(#xj"C  "iR'0%mj"C  ")ĂR'0%bj"C  "łR'0%W " ͂R'!Ni"C  "R'0%Ci"C  ")!R'0%8i"C  "IR'0%-RL`N@aRH`R@`aRD`^@ aR@`b@i T   냎q+ ))/(# j"C  "R'0%j"C  " R'0%j"C  "R'0%u@`@ `N@ `R@` `^@ `b@`aR˩RJ.k((ij@_qk@ )],/+Xi"C  " ͂R'0%@ "1R'!i"C  "1R'0%u@`@`N@ `R@``^@`b@`aR).J(IRHj@_qk@2R`N@ aR`R@aR`^@aR`b@`R`N@ aR`R@aR`^@aR`b@`  h"`@zO{-@@Ѣ4]w2T^)-@)@?AT{FOE_ֈ@9qAT^h"`@ `N@` `R@ `^@ `b@`aRSh@i.@j.DJ + j@ T  X^h"`@`N@ `R@``^@`b@`aR:h@i.@j.DJ + j@ T  !7R,`N@ aR(`R@aR$`^@aR `b@`i T   냎q+w2!!j"C  "@R*R`N@aR`R@aR`^@`aR`b@ i T   냎q+))?(#j"C  " @R'0%og_WO{C) @-@@ݗRջr43@v:Rh@9S2H7@WF,[{C,[!@@[T _)9?9hT1@9(7(DO?0Rh@ S3MD@ @ @y  6hC?T JA R,@9Lyl,jT!!)!T(@9yqT!a"hz@%qlThz4h@?T JA R,@9Lyl,jT!!)!T)R@yqKV!@(@9yq@T@yqK (R@yqKv(@9Qq)R(!Ț)) @ T$R!1KT@R 7h&@i.@QH(i@jZ@  TH7@!@@[`T _)?T@96`@`R `N@`aR`R@`aR`^@`aR`b@`aRh.D9qR J16Iz )5)J.1*i@?ql.@Q ˍ l@T (R; D T  ˿탐3'#!3Rh&@(i.@QH)h@jZ@+ Tj @_ I1 (hZ @6hC@ @R@9uq{T R)kC)kݗRջrQ ")R'!pi"C  ")R'0%ePA(@ @(@Q iT"+Z6hCT ˪JA R @9Lyl,jT )!T @@"#T @9?uq"T@Uw{h@4i86(@J5&Nih8Nk@aH D9R%(  T .@8Oin8M D9z4 aTRDkU @ !mTm(@!m T@qR 7P@ @HQ)@ T) @ HT @5(3@5h&@(i.@(i@jZ@  M%TH7@!@I)E, @I)A,I`T _)?T@96`@`R`N@`aR`R@`aRݠ`^@`aR٠`b@`aRՠh@q~@j.@k2Dk L k@ T  )#5 !m`T)ѪQ? T _HT+Rj!ʚ++_ T@q $R R@)R)*7hT)A)yhix7qaTi@? 뢧Tj@(9@*46J5&Miw8"(K lD9Rk%͚w+ T @8Oin8L D9z 4 aTR҂jU!@1T @ R RR_H2T`@ `N@``R@`^@`b@`aRXh@i.@j.DJ + j@ T  `P(@ @h)@k@^ARRiCh@'h@ @qKLT}@:RV"8bRk@JTԥ`4h @  @?`@e T7"RCR @`@Wb T"RCR @x`@IbaT55'H qT 뤧T  ˟ 샏/#'! Rh&@(i.@j"@H)h@jZ@+ Tj @_ I1 (hZRRR9{@9{@ h@%Sq ]z T{qT)RqTѿ R@(%6R9@y)@y#Sq$NzTJJ Kk"S qhYiC(R!  *@2)@2Ha@#SI) !Yh=R @9R; @@?qcT(Qh55'H q!TAyw R_(jaT RQ!qTR):+yhxJ @@qhRH R( ѢdRRRRU)@55 kT@(5Y8j16h@"jT@9%iTR@i4h&@i.@ i@ iZ@ gTH7@!@I)E, TI)A, `T _)?T@96`@`R`N@`aR`R@`aR `^@`aR`b@`aRUcCh@qRR*h@qi.@j.DJ I +j@ i\T  R#SjRyq(I) !Yh O4r#ѪC`@H Yi:)R:4hC_T JkA RM_8mym-jT*J!TUTt"@`@`N@ `R@``^@`b@`aRj@h.@i.D)  i@ ɦT  6 @7*@H@9qT\h@'K qT*JkA R@9mym-jTJATT҈@9uqa:Ti7TkTkh@ rT@h5_Hh@r@JRI *i7U?TR~T IRRqCѢ@tU@Th&A5@!Hn.R U!w.k@(k@w@TH@ :A9T@4R@4 q@( q T Th&@tKʂZYhHʂU  -[TH7@!@I)E, TI)A, `T _)?T@96`@`R`N@`aR`R@`aR`^@`aR`b@`aRh@qi.@j.DJ + j@ QT  q2h(RhhE94h@7[@(@2(%@.h@O@ /T?@@9!"RCRFnq3T!(|@T @8@987@ @0(|@/~5g@ @ @) @i)8 @Rr R * (,@95;@987@ @(|@TК @ R rIH  kT@@TAR^cTh@H44!n& @?qT(Q ~ @?qT(Q k@/@s k @8@9h?6(6@94҂RRRa @@?qT(Qrc"Rx4R @( @)@9? HT@?qÎT(QTRA@6(@ @)C@9?TPA藟@?k @(7h@ %S5RR2T@?qcT(Q6b2h@ %S5RH86(Rh92Ph@ %S4?qATh7R@ *h7V54?QR"R4Q @( @)@9? HT@?qÂT(QR(R&R1ATR!&R1A TR@@ @ @9 IT @(yhT2! Rr1A TR! Rm1AT22R*@2K@R((#w:@ r`T(Rh@"4qR:H@I@(* @JC+@9)@J ? TL @ , vyi  T* h @c R) R3() i7H*@H yiC?e2TRi#_Th&@i.@j"@H(i@jZ@  T(7@!@))E, T))A, `T _)?T@96`@`R`N@`aR`R@`aR`^@`aR`b@`aRh@qi.@j.DJ + j@ -T  mI@(* @JC+@9)@J ? TL @ , yyi "'T* h @4)Ri DT    냎#'7!HRh&@i.@)h@jZ@+  Tj @_ I1 (hZ @@?q"T > R[@( @@?q#T(Q 1@9qTh@?-T @ꍫ n*)  @ʭRr ( (@ @ @R@@BRRRRu2X85 !R L0A TU ) JAA;@"RCR BRs@2@2 DT  ˟ 샏/'!(h&@(i.@j"@H)h@jZ@+ Tj @_ I1 (hZ RN T  ˟ 샏/'!(h&@i.@j"@H)i $T   냎+#!(Rh&@Hi.@j"@H h@jZ@+ Tj @_ I1 (hZ RU& dT  ˟ 샏/'!0 Rh&@mj.@k"@hJh@kZ@L˟ lT Rk @ j1 HhZ@ @))C@9)?T @(yhh(RUT AaT"RR/5\Ri dT   냎#'7!KI@(* @KC,@9*@k _ TI @, M yj B TK  @MIRfi DT   냎#'7!8R h&@(i.@j"@H)h@jZ@+ Tj @_ I1 (hZ   k@i dT   냎#'7!:Ru h&@(i.@j"@H)h@jZ@+ Tj @_ I1 (hZ@ (I@(* @KC,@9*@k _ TI @, M yj B'TK  @5iR ?qH@ vTH@ @)C@9?T@:4=@ N!N=#NnAn!CN!(!!0.(&h 7=!Nn(a< <)(3 < )(3 <(q3 q`R$HzRDHzRdHz TQjA5T|4T wѿ @ZR~Sk(a@( Yi/1 @Rc3 @@?q/T(Qw@@@o@/4k@tJR RkYR R()3(@9w:@h6@~i)8h6@ 9h6@ yh:h6@@ i)8@!@f435F9w:@h6@~i)8h6@ h6@ y R9h6@ y@h:() i7fJ @H yiah&@~i.@j"@H(i@jZ@  }T05(O!05(!1(aRKh&@i.@j"@H(i@jZ@  yT(7@!@))E, T))A, `T _)?T@96`@`R(`N@`aR$`R@`aR `^@`aR`b@`aRUi@?qj.@k2Dk L k@ T  <3@+@ @@?qT\IFFT*B(@S2<0:S:683; (R?qH@ $S< :~4 넖T  ˟ 샏/' R h&@(ji.@j"@H)h@jZ@+ iTj @_ I1 (hZ@?%T  }ʛkCLRh  *}ʛJCI  )TaS@R\R ~ @`nwR`N@ YaR`R@XaR|`^@XaRx`b@`Xh T   냎_qKJ}@'!p +`@`N@`R@`^@@`b@`aRWi@h.@j.DJ  j@ iT   " R'!# j&C)  " Rw@@@o@5@s@@@H74@h 4@ 4 4@V5RHV7rVTTU@?HUTR*ART X@XY8X8i6@)  k!\TyR99Y8i6@~(i*8RR\4&AT?/TT3A9w:@h6@~i)8h6@ R9h6@ yh:hz@%q,ThzRm@5 HT.=<Th@ ?qGThU7yR> C1T/RW YRW9Q(yqiET(q@T}qT<М";{ @74q8 ;{"u@AR?1 g7@"R:1f5qt@AR21 f7@"R-1e74qu @AR$1e7 @"R1d7qt@AR1d7@"R1c74qu@AR 1b7@"R1r7qt@AR0q7@"R0q74qu@AR0p7@"R0`p7qt@AR0o7@"R0`o74qu"@AR0n7"@"R0@n7qt&@AR0m7&@"R0@m74qu*@AR0`l7*@"R0 l7qt.@AR0`k7.@"R0 k74qu2@AR0@j72@"R0j7qt6@AR0@i76@"R0i74qu:@AR0 h7:@"R}0g7qt>@Ru0 g7>@"Rp066-@ ѣR+@@"R_07{##CT(q@@4@h86#)(@R. @ @( @@)@9? HT@@(qTҧ-@ѣR+ қ-@р@@R"07@@4(@R- @ @( @)@9? HaT@@(qTx-@Ѡ?6#ѝ@43A9w:@xh6@~i)8h6@ 9R9h6@ yh:hz@%qZThz9RRH@ @*C @9_ TM@ @n R ,R R  R) ) )M@ @ CӰ@9@B TM @ q zn?T o k@k 6ay T   *n cTq p TJ* AT)J 6K @i )yj)?ITRR@yrT(o@*@Ao@@!T a&T(&TaT(zTh@ ?q@eT)A)yvd7Rd6r9" RwhT? "TRyR@)R@&Jy< @Jik8+Rj!ʚ? T(*h6@~A i)8@RH@ cT,D5k7hR)R91b.TѠ@@s@@?qCT(Q @w@@?qT(Q@@@ȩ4TRN@h@ q?Tr?TWM2ѠVUY8XѠLUY8X8k!T˩_J1_KT+ ѪM@9@9kTJ_ #T7RRqT )KK) Ik)T IkTIk(9YRRRcTTcT&TR TAyv rR)R9h@5R!5RT ˟T T3A9w:@h6@~i)8h6@ R9h6@ yY8j6@Hi)8Y8@zh6@ Rn'h:@h:|3A9w:@ Ih6@~i88h6@)R 9h6@yh6@i88h6@!#h6@+@9*J+)@9I q`TqaTJ@B(@)AhRR9uRFRFn@ @))C@9( T@i`8o@@ATwѢRpc3Ѣce(3(ѣ@R)yR@_*@9 *J Jy~) (Bh:ɴ9RURu3R@8R@8RXR@XRxR@xRR@?)T?T?CT?`T?T?T?CT? `T?! T?qT?uCT?`T?T҃(ThӃR?TӃR?TӃR?#T_(T(%( TyR@ h@(5^A @?q]T(QH h@]4`RTh@ q`Rh@5R4CTdSRRr}b*w:@h6@~i)8h6@ 9h6@ ykFH Hh:h @9?q`T?qaT9@qTh6@ 9gh6@ S^R7R@6R2R@1R-R@,R(R@'R#8R@"8RXR@XRxR@xRR@RR@R R@ RR@R@93 9@9w:@h6@~i)8h6@ 9h6@ yh:h6@i)8@@?q*T(Q @@?qC*T(Q[@@9h(7R@?qCT(QQ@?qT(QR` ҩ(Iq@T5@7@4R yRh@ IRRqY3 9@9w:@bh6@~i58h6@9h6@yiFh:@(i58h6@!@4h6@  )@4h6@ iu8)2 i58RAR`R=(R@?qT(Qh6@ iu8)2 i58h6@ qF(@ @ aR@?qcT(QQ@ @?qcAT(QD:Q@6#%%yCW%?TRVYt% ?T@Rq,4h@T(7(@'A`Th@%SIRRRqjq9DR @?qbTV`GQ MKRɂi61h@5R5Th6 rjRXRRy@*57)A)y|)rR@I4@R @?qTT  @R!IzR @?qT(Q V@?qcT(Q?r@w@@@o@AT2P`@`N@`R@`^@@`b@`aRQh@i.@j.DJ + j@ iT  {RD`N@(Rh`@Rw`N@aRs`R@@aRo`^@aRk`b@ 'TqJuS7'!Dչh"`@ &`N@`&`R@&`^@&`b@`aRIh@i.@j.DJ + j@ &T  0`@@'`N@'`R@'`^@(`b@`aR2i@h.@j.DJ  j@ )'T  9h"`@@(`N@(`R@(`^@)`b@`aRh@i.@j.DJ + j@ )(T  A "īR'!R`N@`aR`R@ aR`^@aR`b@iC)?K]T @9kA$jij8? )1 h"`@aR`R@aR߇`^@@aRۇ`b@Rև`N@aR҇`R@@aR·`^@aRʇ`b@ T  ˟ 샏?q/('j"C  "!R'u@`@`N@`R@@`^@`b@`aR˩RJ.k((ij@_qk@)],Xmj&C)  "iR`@`N@`R@@`^@`b@`aRzh@i.@j.DJ + j@ T  j"C  " Rj"C  " RKKT)@JA$Iii8 1h"`@aRM`R@aRI`^@`aRE`b@  T  ˟ 샏_q/! Qj"C  "IRi"C  "ʄRR!`N@aR`R@aR`^@`aR`b@ i T   냎q+!!R`N@aR`R@aR`^@@aR`b@h T   냎?q+!D#`R`N@aR܆`R@aR؆`^@@aRԆ`b@i T   냎q+)a/(#i"C  ")R/R`N@@aR`R@aR`^@aR`b@R`N@@aR`R@aR`^@aR`b@i T   냎q+)7/(#d "iR'![`@@`N@`R@`^@`b@`aRpi@Uj.@k2Dk L k@ T  x "R'!;(@ "R'!2j"C  "ńRj"C  " Rj&C)  ")ĄR(@ "ɸR'!h"`@ `N@``R@`^@`b@`aR$h@i.@j.DJ + j@ T  j"C  "īRj"C  "˄Rj"C  "IRxR`N@aR`R@aR`^@@aR`b@ dT  ˟ 샏?q/!_i"C  " RPi"C  "RHh"@h"`@ `N@ `R@ `^@` `b@`aR…h@i.@j.DJ + j@ T  d(@ "R'!R`N@aR`R@aR`^@`aR`b@ zi T   냎q+)U/(#kj"C  "iRi"C  "Ri"C  " Ri@)?5 )RRqYR @?qB?TRf`N@`aRb`R@ aR^`^@aRZ`b@i T   냎q+)1:/(#%j"C  "Rj"C  "ɸRj"C  "ḮRj"C  "IR(@ "i R'!i"C  "i Rj"C  "RҨh"`@V  h"`@{Ҩh"`@Iog _ W O { C-@@Dc(R(R^ZH@9qTa@P`4y(.3A9t:@h6@~i)8h6@ R 9h6@ yh:@2hz@%q EThz%G@@9qNTu"{@bR`Ph@ rT˩@9T?}qTW^5y?{CTh@4hET @9JA$Iii8 1A yi R?*jT  K@8 yk?+j`T  TK_8 yk?+j T T!=BR4w@W7@@ 7 @) ~q2h(RhhE94h@H7R+@(@2(Z)-@)@?8Tҵ C;)!d>bRCR@CR!("RCR@{)T@v!h9R_7sRRR7@(7@(7TI@8?qB\1TC@(487AR{(Rh"RvV3C9t:@h6@~i)8h6@ R 9h6@ yh:RۻH@B2@RRR@2@@ @R @Rr( 6@2@R wu"@RRd`@3`"@h@qD3@R`@a"@RRdT@(-U qaT@ @7 @ ѩ6 @9A$ik8k_ HT'@ @96)A$*ih8_qTR)%) j4 h@8(z TBRa7@@ ѩ7+Rk_ T9??@9(6TS(VRZ)-@)@?TARBRs!ubC @hh"@) @ hh&@G@!Rόi*@@h&ub @?qT(Q +@@khR I@(*HiC bTj@J 4)?T @9kA$jij8? )1IC@( 6v9R I@8?qB\BT{ T_7sRRR7@H@( T'@@k"h@ Ti@i4 kTi@9JA$Iii8 1hKRZ)-@)@? Tr!"RCRP)R 8v9R_7sRRRƋ7@ @( T{TR;Z)-@)@?@TE x"h@Ti@i4T @9JA$Iii8 1(Rh"R RZ)-@)@?T{MOLWK_JgIoH_I@8?qB\Tj@j5)R(Rh+@@kr4TRHZ)-@)@?TVf Ґh@`@ `N@` `R@ `^@ `b@`aRJ7@Rh@i.@j.DJ + j@ iT  C`@ `N@ `R@@ `^@ `b@`aR.h@i.@j.DJ + j@ T  M`@ `N@` `R@ `^@ `b@`aRh@i.@j.DJ + j@ T  XR `N@aR`R@aR`^@`aR`b@ i d T   냎q+(3R`N@@aR`R@aR`^@aR݁`b@i DT   냎q+)/(#Rǁ`N@aRÁ`R@aR`^@`aR`b@ i T   냎q+ R!!&h"`@`N@`R@@`^@`b@`aRh@i.@j.DJ + j@ T  uj"C  "RjJA$IIi8 3h"`@`N@`R@@`^@`b@`aRth@i.@j.DJ + j@ T  Rg`N@@aRc`R@aR_`^@aR[`b@i T   냎q+)i/(#&j"C  "ɋRj"C  " uRj"C  "uRR-`N@@aR)`R@aR%`^@aR!`b@i T   냎q+)}=/(#x"`@@`N@`R@`^@`b@`aR3@i@j.@k2Dk L k@ T  =j"C  "wRHR`N@aR`R@aR߀`^@@aRۀ`b@ T  ˟ 샏?q/('v@`@ `N@``R@`^@`b@`aRˉ).J(IRHj@_qk@t>i"C  " R'0%}R`N@aR`R@aR`^@`aR`b@ og_WO{C-@@@`@@T_ ;kv_8nq@` T[@@87@8 @ 7 @) Z(@sB`.@`RRRf@h.@@ @ @@ R u3  @q.@&@j + @ T  i T   냎#'7@%Az?T{@ @ ( nqh@9i)A)yhR)j! Ti_@lA ? T*@8yj*j T[@U @87@8 @ 7 @) (@sB`.@`RRR@h.@@ @ @@ R u3  @q.@&@j + @ T  i T   냎#'7n@%Az?T{@ @ ( :Rh@9qTyqTqT_@)  "T -@8?3k@Tk)R j@9_@ "TkkAlyj ?,jT_qT_3k!T @9?uqT k@I * 6[@;@JH @ zq!T[@@X 7@X @ 7 @) h@9q@TqT{7R<5[@@7@ @ 7 @) B(@sB`.@`RRRN@h.@@ @ @@ R u3  @q.@&@j I +@ T  i T   냎#'7\@%Az?Tz@ @ ( (@8lAyhR*jATi /K ? T*@8yj*j T@x7@x @ 7 @) M(R:R (@9qT{[@@X7@X @ 7 @) \(@sB`.@`RRRɸ@h.@@ @ @@ R u3  T@q.@&@j + @ T  i T   냎#'7!A@%Az?T_z@ @ ( h@9jJA uQ? qbTRSRHYh R?(j{Md(@sB`.@`RRRp@h.@@ @ @@ R u3  @q.@&@j + @ T  i T   냎#'7`@%Az?Tz@ @ ( 7R:Rh@9i)A)yhR)j! Ti_@lA ? T*@8yj*j T[@U @87@8 @ 7 @) (@sB`.@`RRR@h.@@ @ @@ R u3  @q.@&@j + @ T  i T   냎#'7x@%Az?Ty@ @ ( :Rh@9yqT@5h@8)Ri)A)YhR)j! Ti_@lЌA ? T*@8yj*j T[@U @87@8 @ 7 @) ~(@sB`.@`RRR@h.@@ @ @@ R u3  @q.@&@j + @ T  i $T   냎#'7@%Az?T y@ @ ( :Rh@9uqKTnqTqWEh_8qTqT[@5@`R@q.@&@j + @ )T  [@5n@mni T   냎#'7`v:Rh [@)@ T*RlЌA @9yk_+jT HT RWRRnqo_@/V W@ RR:RhW@icT_@T@9hAyy R?(jT_@ T/@)kkA R@9hyy(jT)AT8R |:R8R R?(jaTvq@T_@ b T @9jJAJyi R*j!T_@ )˪ mЭAR_ TK@8yk+j`TI8R:R_@? TJ(eT@c(y;)R:R{?T[@@486R_@˨)5&*iy8`6*4)5&) )D9Rj%Y _TK@85&ik8)  )D9+z 4?aTR_@ T*@9_uqTgqHTqK@W@HT(Rc(RDQ?qT*RI!ɚjJ? T3?qTqJTg4_@ W@jJA TSK@ TSK@W@_@jJA T"(_8Hyh R  k/@S{KK@  T@9Iyh R_)jTq Tq Tuq! Th <Tc(Rc:R q JTqCTqTqTh@RIr kZ1  ?q Th@ R)r Ji @y*R) J *qRZ1  ?qTh9QMqTl!=yhx) h@)R r kRZ1  ?q T@c(y;{?aTc(Rc(RcS@S4)5&) )D9Rj%ʚ*Y _TK@85&ik8)  )D9+z I4?aTRғEcy;@9i)A$(ih8{?ATqlT@cIy;{?Th@iR)lr kRZ1  ?q Tnh@LR) r kRZ1  ?q@Tbh@)lRi,r kRZ1  ?qTVh@IR)̭r kRZ1  ?q@TJh@i̍RNr kHRZ1  ?qT>h@)Rɭr kRZ1  ?q@T2h@R鮬r kwTh@R r kwT1  ?qA$To@ qT@@( qhT(RHR** R+ {k:Tzuh kUZ k(T{ s@h }q RJ JA* v}    Rg@@w @? T @RQ|7RQR7{@@ TTcyw @? T @RQ|Q}(]c ~6R  i1K){+ _HTTTyv @? T @R?q|R((  _I@? T @ @? T@ a){i(kh  _+{l T-{j, @ 1 T? ITi? T J@_@T) @*@_Tc@h;(@w@T @oM V Ts7IRR:RC@W@T}h@,R,r kYTh@ NR)ͭr kZTh@ Rmr kHRZ1  ?q`T+ Rh@9)RuqT4hQc)Yh?uATc)R:RSc(RK@W@c:R(S(Rc:R(RK@;@iS@*6@)*[@c@7@U7@U@ 7 @) 6k@M7[@S@ ! @@`[@M@`[@Q@`[@]@a[@a@`aRy[@@-@%Di  ɵ@ `T  K@([@@@4{@` Zi)-@)@?TC[@@@&{ Zi)-@)@?FT{EODWC_BgAoƨ_֋(@sB`.@`RRR@h.@@ @ @@ R u3  "@q.@&@j + @ T  i LT   냎#'7@%Az?T-u@ @ ( (R:Rh@9qP7(M@7X6( @ 9@9 M 6@@=@9L 6R=6_RR|2R r?jMR rl@8) J)} T*R {r+}llKR LR}N=imx-4!IJ*}JlI 69@9@9 ?kT@y)Q +KK@N=+@4k@ qTZ  Q?JMR rGl@8) J)} TQ Q*R {r+}llKR LR}imx4!IJ*}JlI 69@9@9 ?kT)k+@yR@4+@H)k@N=G67@'KK@9q+TQ9Q9ѢcѠ~`5Uw@M6.6CVT|?|Th@R r Ji @yJGR) J *{5kJT|@@WHC8AITXd `T  k3v.9Ѣcf~4V@9qTKCѢcZ~4VTWhX   ˚k _TO@@ @{C!2BRCRQ!7R44 @y)Q AK@N=+@ 5@y4G4 @yA 5@y+@H)k@N=44>qUZ>MqT>騁R} }SIR i) (YhO !X4 R>_@I 4 )V R?)qT?-q` T?q@ T?q T$'@GT7Z6{KRI@ Nҫl.) J!@9 RJ ) (Rw@'*@}S*(^T? qT? qT}qi|RIzI{R6.hR3 R T7!T7@(0(Rk rq' TwJy8v Rh! Yv ڹ7@%@!85RRi4@9Ha70x6m ) ʚ ʚ+@ 4sMR rJ(# *@8 JT}?T(R{r~*lIRK JRk}jkxk&4k!TJh}l ]@9@9 ! k!%T@yR9 4O@@ @#(@( @T( @@9qaT@O@w@44@9( 6@ @ G@#CV_@@3@R6/RO@@ @!2BRCR.!6O@h@ @!2BRCR!@BRO@@ @!2BRCR!2bRO@@ @!2BRCR! 2RR R(RR'*@}S*?T7R4 @y!@5@y45O@@ @(@@O@@ @!2BRCR/(;@9T(7(CiU}  TT(@r@.T P7@7+X7R"`+7j4H @yJQ@a G)G@7@D`W5Zy:Wk rq'TD,"R{@ @9*ITh _8?kTrqT_8qq!Trq< dT!-@RZk@H4trq(R( ˠ-aR~ #C@86WcXO@eA!l,O@R9(@h" @ T!( @@9qaT  @) @?TBC@HC@@`RmuC@`Riu<RIO@@ @!2BRCR7!7BRCR1G@)Y8JE8@ jAh&)(4 CV*W!l&ҨZI)-@)@?a=T{TOSWR_QgPoOC_i @ (  @@) @ ?T@9j`8 ?qT' 4 @8z?THh@%AU?TBih@C@@W(@@ ~h%yz`"R@\ G@C"*7@ Rfbbo@yH@I3@9?)qAT @@@R?f4!RkmLaR mC@O@'CV_@@w@3@W#R A @?q*T(QH O@W!.`( @ 9@9 6@@=@9h'7!p3RCRaBRa!&"RCRW@9"5!3"RCRN CV*W!l&RB4 @A3@RRM@ @ ?qT R@HP7A3@RRMC777W0@9qTA3@A3@O@ARRRRMA)@)a))@ MT:kf@ @@4@) )Ck!7j@J@I @) @ @J@J @* 4 @J@J @)  @i'@7Wh3@9qTa @?qT(Qh :?CV'@ !d8"RCRa!3R"RCR3@9O@'@@ @Uh_8}qKT*Rik(8XO@@ @!2O@BRCRO@RCRGah5 @ @_ @ @6R+t*G@O@'cRR@w@#,@9 5%@RM XCRW!5 R#j"Rc?ATki"Rc4!2O@BRCR8O@RCR2G[?T'@ZYO@W{ T/wO@@ @!2O@BRCR!x5O@RuWO{@%A?T]g@ @ ( {BOAWè_C# mo g _ WO{+H-@@9C43@m8==98RφZC7H@ @RARcH@  H B@@ 4@hC{#7i@)@( @ @ @)@) @ s4i @)@) @ 7@h@dqΙ5 @ 5@`tT@C7aR:(@@ @) A_ @ A))@)a))@ MTidH@ @t)@@) )Cj@J@I @) @ @J@J @* j @J@J @) ) @iH6@9h67@97 @?qlT(Q  @?qlTR(Q L @@ @}R47c-!R&@R'@Rr)g@ @*_)qAT @ RrA@?r R RIii/AR%X @i  q!4T@ @7@/@s@h1@9)q@T 7h.s@h1@9)qATs@h2@(1!9@7@#R1TH'\@+@`@k`3 @(@ @cbl@y/@@ 0@9?)qAT @b@@R?c+4h@i2@9?)qAT @M@!@@T) @*@J @) "AR@( @)@) @ AR'@T ,@8kџ)qT(T+_8qAT_TH_8)qTH _8_)qT _8_)qaT4 "T @9*F+Ck}) @i ) @9KFLCӌ}J @ J @9lFmCӭ}k @ k @9FӎC} @  @9FӯC} @-p))1 )! 6 'T)7*@H@()7(@( :С_H)A -@ `RRR ݣ)A@(-@H@H@ H@ H@H @ R u3I _  @%Aw? T e@I @ (  @@T I @ ( @b T@9@9 @9@9@9j)7*@*H@()7(@(x_H)A -@``RRR @)A@(-@H@H@ H@ H@H @ R u3I _ hFiC)} j@) ( F CJ} @J I FCk}@k j FCӌ}@  FCӭ} @p  1 !  @%Ax?T  e@(R4@@`R p@@%Ax?T d@ @ (  8R+@`@`8RRBR/@s@h1@9)q`Tk#@h6@]K Th2@K T!:@=7@a TRR R|C+{{-Zc@)?MTjJ(XyiV`T}@srT@ R 0{u-a{s* @@ @#bjH@yH/@@ 0@9?)qAT @"@@R?4b4+@@(RK#@h6@]KT@ Rr:@987@ @#@ T1|@#@ TRe@ @!$,RRRI@!=bRRRI@ @ qT@@AR!=RRRI@ @ qT@@AR!,=RRRlI@ @( @D=C@Ta!"RCRh6@i@) @ Th2@T@s7@@\TZT( @k!d=w @h@ @}ac8j@y/@@ 0@9?)qAT @@@R?aW4+@@(RKK@`.`@@ @Oasb jh@yh/@@ 0@9?)qAT @@@R?^a4 `4`3@?X"R @?q T(Q @?q T(Q +E3@"R  @?qT(Q +@`@3@R3@@?qT(Q4R! @?qT(Q( /@@?qT(QYI)-@)@?T{POOWN_MgLoK#JmC_֤e] @?qbTR/@@?qT @?qBT 90BO{H-@@R(@Rr 2q'xc-!RҦc@I)-@)@?T{BOA__WO{C`.RW57@)A k6 h@ @()=@I4@@!J*!l&.a!BRCRy!l&"{EODWC_B_WO{*B3@RR H@ @ ?qTP7@RR{BOAWèGR@W6{BOAWè_O{C 8@9(7!8i)CjU)} ? Th@r TP7@7HX7R{AO¨R{AO¨_h@h @hTh @@9q{AO¨_h@@{AO¨_R{AO¨_h @ 9@9 6@@=@9('7 R{AO¨_{AO¨___WO{h@k@jl @ )Rk@jl @,Cn@9l@˟ bTk @n Oyl T M J@J  T  @Cӎjl8-! *j,8kHi@({BOAWè__WO{ @a("T Cji8 )%)6  뷆 TKCjk8L Jk%+7I W{COBWA_Ĩ_C_WO{H-@@` @( @C)@9 T@RI@I)-@)@?A'T{DOCWB_AC_֪ @W ) 6zh(bT#T @?T@* @JKC*@9l k TѬ @ ,@ 댱MylTK@T 2@?T4)?iT $K k_TK k@iT K k_)T     񌥌AMyl똁kT 8 T@I@( @H C,@9h k TJ @J ,@ 댱MylTH@T"K k_TK k@IT H _)T     񌥌AMyl눁kT (6Ti (@T  T? BT" @?T ? JT } !A}ӊ@ @*@9 }( 6? T z)  IT_` T6iK@? TTzh hTz(T@6 >@9h 7@ @}!!Ti*}J@!!"}L@@ @9jI )} }!8 }i @@J@9) 5 b"}2h@@ @9 )} *@@*@9 }#( @RkR @?qT(Q @@WO{HR7@3i@ 7 @) hG`B@RRR@o@h i>@9 7 @}A%?T}%-h@ h@ h@h@ R *h{BOAWè__WO{\@@7@3i@ 7 @) IhG`C@RRRU@o@h ԝRHrTbi i@(9i@}ӿ( h@h@ h@ R)r *h{COBWA_Ĩ_> @* @jJC+@9L J T @ +@ k ykT @_T_ J__T J@_IT _ J__)T  j KkkA yk`J_T  _og_WO{H-@@(@ @C@9t`T@ @)C@99 Th@y@9@ } @ @4v4@ @ @9_ ITR?,Ts@@@ @))C@96˿4@R@u@@ @ )C@96k@ @C@9 Tt@@ @ @*_%*RI @@ @ ?%A 2t0Ҿ`, @5  @ 4@""7t@4@ @ @_(9HM(  ҭzlzn T@ @`T  ,6kaT y6,7k y6k? T   hT? @T7 `TI6k@9 @, @@9(89 R9 @ @ @9@)} @@  @?qT(Q h@h`TJ@9@} @ @As@@ @))C@96˷IR 9?aT<@9 @, @@9(89 Rt9 @ @ h@9h@)} h@h@ @@?qbT{ @9@} @ @tn  @@,Rl98 T } }ӡ  } } @@ @)C @9)  T @9 )} @ @*_%*RI @@ @ ?%A t@@ @)C@96u(@9 @, @@9(89 R9 @ @ @9@)} @@ @@?qT(Q@I)-@)@?T{FOEWD_CgBoA_@9 @, @@9(89 R9 @ @ h@9h@)} h@h@ @@?qT@I)-@)@? T@I)-@)@?aT{FOEWD_CgBoA6P_WO{@ @4C@96R*h>@9 7h@ @}A%?cT @9S'}%h@ h@ h@h@ R *hh@9h@B7)} ` @ @ {COBWA_Ĩ_@ @ @9_ ITTIR 9_{C(4@ tg_WO{@ @C@95T(@ @ )C@98T @7 )@9 4(@)#*# 9x@ @T(R@ @_(9҂"4x@ T@9@} @ @s@@ @)C@96t@@ @ @*_%*RI @@ @ ?%Ab {DOCWB_AgŨ_҉`{DOCWB_AgŨ_(@@ @_(9  HM(zl*{n T@d @T  L6? aT y6)  7)? aT y6 T   (T AT7 aTK6)? #TT}  }  ˩}) }! >@ @)C @9)  T @9 )} @ @*_%*RI @@ @ ?%A u@5@ @)C@96t{DOCWB_AgŨ_֨@ @ @*_%*RI @@ @ ?%A B@9 @, @@9(89 R>9 @ @ @9@)} @@ @9 @, @@9(89 R9 @ @ h@9h@)} h@h@  @?q#T(Q {DOCWB_AgŨ_{DOCWB_AgŨ_WO{C @K!AihCN@9Tш @  _@@@ TqAT Th{EODWC_B_ҿ @W9M7)C) ?BT>@9 7@ @ }A!?T@ C7J}* y6 Ti  {EODWC_B_}!@ C7)} @ @@9( y6!T@A7}#( {EODWC_B_h}!џH {EODWC_B_W@ RR( 0WO{#@ @9))}ӿ @ @@9( !h{BOAWè_g_WO{h@ @?TB?=i@(* @9 Z @(* @JLC+@9*@ _ T @+ M iyj "TL h @ T#k {FOEWD_CgB_{@ @i)C @9( *@I @)CL@9)  @ +@J@9a 6*@+ , -_a T}Ӕq{_)*@H @CI@9  II"6aT@{_ @ @R{_  @TR{__WO{@ @4@i@9 R)M 7@4T5@ @h@9 RM @@ @cTThbB9rTx@9a @TBR:@907}{ijhRO !44 i"@i& vi@j&@K@J ? i> a@j@I3 a}h @@ ` @ @6 4R@ hh@uh{COBWA_Ĩ_O{C?o =HR(9(R(y(N`h@92h9A qh*{AO¨_O{C~9`h@92h9{AO¨_@%SqT qT(@ @* @ JC)@9_ T ÈRKr)J J6 @ yjT R R h}S*@J@_ *kQ   BT 1)}@) ) ) k T-@@̡ @C@9@"T @  zn?T  @ѿ T R_ R_R(@@ _O{H-@@ @1@q@@?qcT(Qh*@H4h@92h9RJh*@5Ah4Rh9@I)-@)@?T{BOA_Cog_WO{H-@@V֢3!@9?q"T  @94@ )R)@9 J@9?qaT @y(q J@9?q`T?q%T@%   *J Jy~5 ":RRR" @9I}~ji8?qT"4?q!T @y!4@yl k!TD\z?qTi y @9?q«TJ)) @94@54@9q`TqAT@)@_q#TQ @yI4)@9_qBT @9n4 @4-_qT_q`T_qT @ qT @9 qTQ5q Tpb?jm8 _qTjR_qT_qATj@9_q@TR@9 J.@9qT9_qT_qT_q!T @9JQ  J@9_qTj@9_q`TR_q`T_qjR`T_qT_qRT_q`T_qT_qT@9JQ@Ij8_qT @9_q TR| kAT@9 J.@9q`TߩqT@@y y_qT @9@y y_q`T_qT @9q`TqT@ @9q`TqaT@@9 9_qaT @9@@k k _qT_q@T@ @9_qT _qAT!_q`T_qaT@@9 Jy~ `A)1 @9@9 9_q!TjR@9 J.@9qaTR@9 J.@9qaT @9_q!TR@9 J.@9qTR@9 J.@9qTR9@9 J.@9qT@93A?qT@9?qaTR9?9@9 ?qT(R!ɚ @  !"T(R!ɚ  "?q`T?qaT@B3@h4?q!T@9cS!43sB$xK |? DR2@ZBT9HI@{ji8 6J_ TQq(Tkh8) @9q!T* Q_qT kj8k `@9qTk@9 %Q?q( T*RI!ɚGQ ? ` T%qaT^@9qT\@9q! T@9yqqTS@9q T @9 Y?TyqA T3@9qT @9qTA@9qT @9T9@9}qT3@9%qT/H?7*)_i(1H8@9yAqT#@9qT@9QqTkkjih8)  @9 Y?#TyqaT@9qT @9Q]qhT)R(!R r jT(R(9$Zm @9uAq!T @9 ?T ? T ?@TqT @9 ?q`T  )? qTR q@TqTC@9B3@5*Q_ q`T?q@T?qa_T4@9}qjTcT TR|Мc8C$1 @[TR@9qT@9@n+_kZ@:@))-@)@?gTR{HOGWF_EgDoCC_#THRkh8T?+T@9 z)?aTki8J @@9?1qT @9?)qaT#?aT@9 z)?aHTlЌii8J @@9?1qAT @9?)qT?kT@9 z)?ahTlЌyixJ @@9?1qT @9?)qaT? T@9 z)?a.TlЌyixJ @@9?1qAT @9?)qT@9*yIR_1q`<T_%q <T_qT @9y1q) RIzHR @9? KT z?M T?T@9)y)Q?qT*RI!* R? j&T@9?)qT @9?qT@9?1qT @9?qT@9*MQ_q+Rj!ʚJD@$T?qAT @9?qT@9?1qaT @9?!qT ?qTlЌ*yixJ @@9 y?q.TqTq;TqAT @99q-T5q!AT@9 q@T@9?1qT @9?qT}@9?1q!T @9?1qTv@9?)qAT @9?qTo@9?1qaT @9?qTh@9*MQ_qT+Rj!ʚ_aT?qT @9?qATZ@9?1qT @9?!qaTS ?qTlЌ yixJ @@9 y?q$Tq1Tq1Tq!8T@9?1qaT @9?qT8@9?1qT @9?1q!T1@9?)qT @9?qAT*@9?1qT @9?qaT#@9*MQ_qT+Rj!ʚ_T?qT @9?qT@9?1q!T @9?!qT ?AHTlЌyixJ @@9q!T @9 MQ?qT*RI!ɚ?ATqT@9qTY@9qTq`TqT @9YqT@9 q)T@9?1qAT @9?qT@9?1qaT @9?1qT@9qTqT @9 R q!T@9))MQ?qT*RI!ɚ?T@9R)Q?5qTlJyixJ @ @95qT1qaT@9Mq #T!qT@95q#T1q!T@9q$T@9?)qT @9?qT@9?1q!T @9?qT@9*MQ_qT+Rj!ʚ_ TIR@9?1qT @9?!qT) TT@9qT @9MQqhT)R)!ȚR?T:@9qT @9R 9q` T0R/@9?1qT @9?q!Ta@9?1qT @9?1qATZ@9R)Q?5qTl*yixJ @ @9 ?qT y?q`Tq!T@99qT@9qaTR?(R @9UqT@9q`T @9UqT@9QEqT)R)!R*(RJr? jTR@9 y?qA T @99qT@9qT@9R)Q?5qhTl1 yixJ @ @91qa T: @99qTC?qaT @9?qTiR @9QqhTR96@kh8#T)H Q @99q@T5qaT@9 qT@99qAT@9qRR) @95qT1q!T@9Mq`T  @99qT5qT@9 q@T@9qTRqTqAT @95q!T @99qT5qT2 @95qT1qT@9!qAT@95q@T1qT@9q!T@9 qTRR_@95qT1qT@9qRT@9 q T@9 q@9 qaTRREbT)R**+R, R-R "T˿ T@9yMqTqaT@9y1qT%qTqAT @9%QqT/!Ϛ TmR0 T@9yMqTqAT@9yQq/! @zAT@9}qT@9qT)9@9MQq/!Ϛ@TyMRMqaTyMqT@9q@T9MRQ@ * TR9(R(9 R#`' R#`'#{C@9qT))3(I( @9h4@@y (q{A_ R'`'og_WO{C +@(-@@':@H@9qaTH@_@@HP6bB9S7_@@W77 @;/R/9oী=S3s3@5(@y)((4(@9qTh^D9(4(@)((5 3?3/Ҩ@9bC(+ (q> @+ )(#|##o@Qk@@@@(@:@@9 @:OH@9qB[NTR_9@ 4 c@9?q R7R ~iji8R?qTq@TqT7c_/RL@9 q`Th  @9q RIh4M@M@ym@y4  kTqbST lJ, @94l@5 l@yl4k,l@9}~mjm8q`TMqaTm@-5h4JJy@@8ȡQq,T{hx) h  @9@4@@?aqT @y@?aqT(@9 kTP6@7A/R_r Too=HR9gyʡ/RF929(Aq@9@ kkSa*T@ @Rc@/RM3s3h@8@ k(Toী=SȞ@"JKO@i@9?qcT#KO@i@9?qBAT@ iJ)) @9i4 @ @yU)@J ?q@)@9 _r`To _=HR9yw^E929(AqS2H*AC9@')@AAy뜳@  ‰  3A37A7Br/A)/hx7/RH6g@(@2(BȞk@ w@_*wZ{/Rg@I@)2IO7_rTE9 ~iji8?IqTE9By?qAT@F9I *97%RE9MqAT RhR/RF9I *96 rSJI */RF9I *9U6}~))3(ih8IqATByqT6AA(*(4)rqT5 !J _q) !) $@zT@/RA)*) oী=S@9q@'ThJ( @94@4(K#O@)@ @9?q$TiJ)) @9)C4 @A)C4)~hjh8q@TȥQo@(%F6Sq`TߩqOT@qOTSh~E94@(@@iy)@4767@h})I+ihJih7A3A(*24 r4TH R@@1Iz(5H R@@1Iz4"@  J@ h)"aT7AH49@   1_ J|#@z`7G@@:X6@@C@@Zw/R@9q*7?@!Rgp4@97!R//R @ R r q? T@@ C@a@DG@a@;@Zw/R3s3@@9q*H6K@k@C*J=Kii8 !_ j4TQqTkk9 jyhx) P6@7A/R9Z`6@9C@3@q!T`@`@y"(qAA(@I@vJ RR_(@(@F@y5K#O@)@A-ART/R N h@9qThC9 )@y) ?q)@9?qT 4)@+RR@) I@yJ)?q_@TI@9\k j@9 k @9k4?q`T?qaT@I@9) )y~J RK@93RlQMqHT pjl8 RqaT R,RR?k)T)RqT?7kR"JzTV3s3B?qR-RR?kT3s3q)3R (rTqTo@@A@/R(qV3s3I@9?q#T 4i ) @94I@?qI)"DTI@y?qI)"DcT9 I@9?q"TiJ)) @9I4@J)?q_AT)@9?qTlA *ii8J @R)R6r@|# 5Tq6T@K@ TMs@(g@@906 5@9qBT3s3hJ( @9s@H4H@9kS @u~CA4Q"AH|(hu8i !j $Ts@@P6@7A/R9S@|#k@@`6C@@/R`h@92h9Zw(R3(R73s3%H@yI(q(R7(R35 @yA)5I)2!@C9#)AA/R@ @9?qTiJ)) @94 @4)  @y5 q`Tߩq+T@(@K+4q`TߩqAAT" qT_roTlX7:o`6C@c@ =@` CRa@;@eM@RoaRvSC@@ @@=aib=;3s3IwNo=@  =:2/R@9q*h7 !Ao/Rh !}@9q`TߩqT"T!T@9 z)?eT_qmT_qT))A(yh @(MH*l6P6s@@7A/R(@4#/R_E94(@2(@ *@@ $L+ ks@zP6@kk ? T+k9>iii8_ j=TZP6@7A/R@_rTC@@ @9) 9@9 AQ?Yqh%TRRRlQ yixJ @C@@X7 H|4/R(@)A)} iu8)* i58@v  k@(@H RR 7W6(SA(S/R6@9q"T))3(I( @9h4H@H@yI(qS@*AA&)hc@9h4(R@9yq@)b9s@3s3|#s@3s3S@|#k@@Mk@K@S@@M@k@K@S@|#o@@AqA'T'TgM@/RS@(5:@l  늱I9_r`T@9q`Tq T"kq TMS@@9(@KH5q`TߩqOT"@9zP6s@ @ )T@9q`Tq1T"AqkSk:TQq:T@9A?k9T;R+Rh  @995@y)?q q9T_ r\Tk h@9( j @9Y4q`TqXT,@kq`TqaT@@9RU(@S@(4o Rq@9,Ќ5&iy8@64 D9RI%9 ?bT*@8ij8 D9*z 4TR)@9#TzMq)R`Tq"TH@9yQq"T(!) R jT i4 D9RI%ɚ9?bT*@8ij8 D9*z h4TRҸ,R@9qmT?T(T?lT?'adTA9hF7@  ?iH19@#@CGTf;R8@9,5&ix86 4 D9RI%8 )?bT*@8ij8 D9 z 4TRi4 D9RI%ɚ8)?bT*@8ij8 D9 z h4TRbD!/R3s3W7X7s@\#`6C@@`@3`3s3@o@;@} /R@R3@gM/RS@T@5Z2ATs@ TT(@y(K@s@K@ Vq @z.TQq1T@9Ir@ @zs@@ @@0T@JUQ_q/Tkoী=Ss@H@H)JKOV@W@5s@h@h7A-4h@9qAT )RTzMqTH@9MQq(T(!ȚTs@oY6@@9qTC@@) @9)q 9C@H@ @9) 9H@)C@` CR&x @9qAT@Rz%T@!&R"&R&R&Rs@` @CR o@@4h @ @)2 ` @ @H6 4R @h h@hhh@uh/R3s3z_6C@@@RqCR @?q/T(Q C@H@ @9) 9H@))Rs@/R\# @9I 95Zwo@K@qB|T@ih  @94@)?q qTs@i)Q@)@?q)џZ9 @9I  @9Gh4q`TߩqaTH@-`h@92h9/R3s3Zw(R3(R7sC@c@ =@` CRh@) @9)q 9h@ @9) 9/R3s3Zw@W6@7A"@)`T/R9HR9y Mk@S@ˮT !? )) )?1cT)B)*~K~  E RA8888aT ? `T R9TTA6R9@9yR9s@S@)@9W7vAyv6(iv8AyvJ687@9 CJTvM @qs@ɚ@(*Ț@7A/RTj@?iqqT?q`rT?qauT@A?k/A/s@i@ @(? (h@9qTA@9 y~)(@9iq:)P6)DR%,R@5@9 )A$(ih8¥T9(a7@  ?iH18@?aT@9 y~  @9~mjm8qTQo@%l6L,5P6@@9 (@9h ) @9i4q`TߩqaTi@@9) )y~ @9?q@J **6?q`T?qT @_qT9R 9 @9_qT?q`T?qT !J9 J J_eT(_r TqQTk @94+@+q5 J9 J J_eT?qT?q!T @9 JAJyiJ @jMJ*6A4 @9)y 黃R y_r`T@9qBT))3* I @94i@P6@7A/R9@9q@T))3(I( @9H4h@@y)?qI@9i J @9GJ4q`TqATh@@y(q(R3(R73s3@9 qTB@9 y~)SkRP7 r s@@7A w/Rm@y+qJ 4q`TߩqA T)@QK@?+T?`T?T?T?T?`T?T? T? T?s`T?wT?T?T҃(#ThӃR?cTӃR?@,R3s3 \# TӃR?T_(@,R3s3 \# CT(%(ɓTTz s@/R3s3@9) )y~ GSkR ;RP7K{s@/8RKs@@{k@g@(@ q(7A 42(WrToo=HR9gy@F929(AqC@@ Hw2MTWrTT T  @Ty y(@3AC9O)M@S@AA4hg@)@9?r{w4C@{@o@`7X6C@@0o@`7X6RaRM@C@h@ @@==;IwNo=@  =:2h@ @9)2 9C@@~ @ C@@w @;@ @Zw/R@@R(rH qa Tq` @ A@@ @ q! Tg@@yr THURHUr T('@H)/@+@H()[@  T7@!@)E, T)A, `T _)?T@96 @`R@M O@`aRjij8+ J% 6?qT*J3I ) @94 @)?q @9?qTD*~+k3jij8_qT?q`T?qapT @_qT6s@97g@(@2(@@A?kT_@ ks@T@9R1Iz_@_/R@R@(V@&q@Tb5s@@@M@"PH`7zX6C@@` CR1 @?qs@3s3Twg6C@@` CR @?qs@3s3T(Q /RS6R@9) yhҴ@9qT@"RC@c@@` CzEX7/ @y)?q @9?qT)O@*7@ JB@*y+)7@  )B) *S@@Iy+@9(R9RF9G@ Ar@HP6Gs@@T@{@ @ @ R r)  qT@ @@)@i4 @9*_q ЭA$T*@8J_qT@BR.@)@5R ЭA$ @K @J@J @j T+@9ik8L ˟ ) (T (R@!o@@@4!/RQ@o@T{@T T>@9(@[i 7@) @@A ?Ths@i@%h7A4@8h@j@JH! @h0@!!@ @ y@ @)} s@ @@ @@) @BR @ @[@H6 4R @h" ~@s@I @%H o@/RQi s@j@))i  Tj@_ @T~(! I@J Ii G@Ts@@7As@ @(@(6 4R` BRs@I@(I7Ai4I@ o@Hs@/R9 @?qpT(Q R  /AJ / A?r *7g@(@2(s@k@3s3K@S@@9 q@XTh  @9q RIh4@@ym@y4  kTq"T lJ, @94l@5 l@yl4k,l@9}~mjm8q`TMqaTm@-5h4yDR ,R?@lT@9 y)Q?aqTMЭyixJ @QqqhTKkjyhx) @9 y?qTqTqT @95qT1qT@9`K#OW@4@9h5@9UqT=S2@9(3 h@9( k @94_q`T_qT)@@?q+T?qq-T?q0T6H4s@@7A/RZ{s@s3 `6C@@`@/R`s3b@R ARBRZ#`7_6C@c@` C"Rh@) @9)q 9 @?qs@s3"Tug7(R@9Iy3X73iQq)C@@*@!jT@x/R!@*)@H( ()@ )@)4 )3R@9)" yh҂C@c@` C_6h@) @9)q 9s3@s@/R@?qQT(Q`6C@@;@/RZwC@j@K)@!_)jTi@*)@H*()Ҙh@ @9) )y~ Ii *@AC9#)@AA@9/R94@(TTT8yOA@8T75(E975/9('@h)/@*#@H()@*[@  -6T7@!@)E, T)A, `T _)I?ITA96 @`RH O@`aRH S@`aRH _@`aRH c@`aRH@UqI)%()@?q*/@+3Dk L +@ *T  Ws@@7A/RZ{@9q!Tg@(@2(Zww@w@9Q5qbTKkjyhx)  @95q_T1qAaT@9Mq`OT!q`T@95q 9T1q`T@9qNTC@@` C"R @?qs@s3›T! **s@s3, @9_q`T(@ @IH7@ 7A5s@ s@J@)2 (@=s@@9? qTv4s@@7AL/Ro9s3`6C@@/RZw(R3(R7s@qT@qs@T'qAT{(@@@  @4s@@7A$_rT@(j@/R4@ :RZj@_k/RToী=Ss@H@I!JK#K@5O@?rTo@SS2@(Yzx)@y@V @) *@H AC9 A#)o@@AAv@9~ )3(ih8qT*@s@  T(R3(R7.@ @?)Br/A)/x7s@IH6g@(@2(Bs@(iw@_ Jw@)ys@g@I@)2IHO7@rTo@is@? rT4)2 (@ =@?s@T7=@Vo@@L2E/RI $kT  ˟ 샏/'`R!8('@/R()/@*#@H)(@*[@+ T* @_ I1 (([9s@Br/A)/k@H6g@(@2(BȞX7k@X6C@a@:`7h@ @9)2 9/Rs3{ 4s@h%@I h%aT7Ah4s@9@  @ H H`7:X7s@:C@@@;@RZws@/R,C@3@GZw 7E?</RRaRF@ @@==;IwNo=@  =:2s@/Ru{@s39@9 q`T6/Ry@,Rs3 \#  ʓTT@9 y)Q?aqTMM ii8J @Qqq"TKk jyhx) @9Q5q!TKkjih8) kT@9 y)Q?aqTMm ii8J @QAqTKk jih8) @9qT @9 MQ?qT!ɚ?A TqT@9; aT@9 y)Q?aq(TM ii8J @@91qAT @9)q`T@9)qaT @9qT@91qT @9qT@91qT @9qT@91qT @91qT@9 MQ?qT!ɚ?Tq!T @9q@T@91qAT @9!q`T T@9yMqTqT@9yQq(T!) R jT@@9qTq` TqAT @9Yq` T~@9qTq!T @9 R qTs@9MQq T!ȚTk)q`Tq T@9q T @9MQqIT_@9q T @9y9qTW@9 y?qT @99q T? @9 ?qT y?q`TqT@99qaT@92 @9UqT@9qT: @9UqT@9QEqhT!)(RIr jAT-q@TqTqT @9Q5qHTKk jih8)  @9 @99qT5qT@9 qT@9q@T  @95qT1qT@9Mq T @95qT@#3RB3s T?'@j Q)I*q#I!@?闟@9J J_ )@zTm@9qs3T(z%T!&R"&R^&R&R ?T?AT! R" R! R" ROo@@s@z^7C@c@` CRqa@;@h@s3 @9) 9Zw/R @?qT(Q k@~/Rj H@9( J @9j4q`TߩqaT)@@9) )y~ s@x3Aq@3w@ Tj@+_  @'@(+@@_@P67A4@@6?qT4/AqaT R6/A4Rg@I@)u(*H`7g@|p7(GB9 6C@@;@2g@w6(@2((GB9h 7h@ҿmT)@?JT(Z )-@)@?a T {EODWC_BgAoƨ_ R#@' R#@' R'@'4@ @@o@M@o@Q@o@]@o@a@`aRDh ). J(IRHo@j@_qk@I)@Xr R#@'mRDo@M@aRDo@Q@aRDo@]@@aR}Do@a@T R#@'Ob( @ =LR'@!E4@ @o@M@o@Q@o@]@@o@a@`aRUDh ). J(IRHo@j@_qk@R0R>Do@M@aR9Do@Q@@aR4Do@]@aR/Do@a@(#@ =R'@!hAl)#C =R@0%_WO{H@9~3jh8IqT@9@yq!T@i@9(*h967R@9rSJI *Mqi@9(*h966@9~jh8IqaT@yqT6*@i*@(*h*H4)5RrqT6 "  _q) "  $@zT`@`h*@ *) h*`CR{COBWA_ĨC_WO{H@9~3jh8IqT@9@yqAT@v#6(@@H@ @+C @9 @k ? TJ @J - Lyi #T+ H @@)@ *R#@9r R RI) Mqi@9( h9@9~jh8Iqv7TYT@yqaT@yqA T@@@H@ @+C @9 @k ? TJ @J - Lyi T+ H @@)@ *` CRv7*h*@4*@*Z T!?/$ nI !B   <  &i *K`%B   <  & *) *K`)B   <  & *) *)yJ*( h*{DOCWB_AC_ @@ h C@j@H@ @)+C @9 @k ? bTJ @J - Lyi BT+ lH @i@)@ *$ h@@ h*@  *)5`@R{DOCWB_ACO6*@( h*`@R{DOCWB_ACh@@ A4h*@  kT@9~jh8Iq T@yqa T@ =@ha`={DOCWB_AC_ @@ *@(4)!= N!N)#=#NnAn!CN!(!!0.)&7)!=!Nn(a < <JI3 < JI3 <Iq3)   ?q `RDIz RdIzT R?(jT@@ A(4*@  kTfa*7{DOCWB_AC_l@@ 2*@GO{C@{AO¨_C_WO{-@@(@9~֢3jh8Iq!T@9@ 1 T1!T R R7 /R@ 1!T) @)@(  @ @h@ @MT R݌@ )-@)@?T{DOCWB_ACw @@+Ɍ6h@ @KT@@e7@9~jh8IqTRR"R  @*(Rq T*)Cji8 )%6q肘 kTCjj8 J%*7Q76@"RA@9~jh8IqTR7@9MqAT6@@R@1T6@:@1@"R756@4! R@AT&R&R! R@AT!&R"&R@R!&R@AT! R" R&RuAT@! R" R{@@@ )-@)@?T{DOCWB_AC_aC#mog_WO{-@@)7*@k7H@(h@hJy_@@sB`.@K`RRRU{K@@h.@H@H@ H@ H@H @ R u3I _ !9BR^<'qT*(R!Ӛ  3aT(R!Ӛ @  gT?:RR?(R4R RR"Lh@@'@M) RAR3@qT(R!Ӛ @  TR!RWj@R"!R['4@97'@!R뮃WT;@@9qT@9 J3J K@9 J @94?q`T?qaT@@9* y~kC Ҩ@ @y(q;@ "T @93 H@9 J @9j4?q`T?qaT @@9) )y~ @? @9_qT J3JC94 @7@ cT @y *_q7@_ H1 Tq @9kR@Kz_kTk7qTK2qT)@9qCTT _q`T_qT/!_qT/_q`T_qT @ @9  @9l @kC-ik8/R! *,i+8@9qT@ m@9)2 m9+*R S @4sS@bT@@9)4JA$Uih8qTRJ%J  4  @8Hz TZ6W)c[T@6 J Hih8wR5R7qKT4 @9JA$Iii8 KqTWJS@Jˉ 4_k T @9*zJ_aT-ij8k `R)?qTT,AyixJ @ @9*y_q BT?qT?qNT?qalT @9?9q`AT?5qkT @9? qakT @9?9qOT @9)?qRRJR 7)R KbiT|XcT !F*RI!@-IH a@9I * a9y_ KT @9)y?Mq T?qaLT @9*yIR_1q@ T_%q T_qAKT @9)y?1q* R$JzIR)V_T @9*zJ_aT-Qij8k `R)?qHHT,yixJ @ @9*y_q5T?qAT?q@T?q_T_ ET @9)y?Mq`T?qETR @9)y)Q?qhDT*RI!* R? jT_KT @9*zJ_aT-)ij8k ` @9_1qA[T @9_)qTR @9))MQ?qh@T*RI!ɚ??TIR4QbYT_ ! T @9*zJ_aHT-ayjxk ` @9_1q!=T @9_)q T @9_)qVT @9_qUTQ @9KyJR1q T%q` TqaTT @9Jy_1q+ RDKzJRJA @9_1qST @9_q@T @9_1q!RT @9_q`T @9_1qAQT @9_1qT @9KMQqHT,R!˚TJR" @9_1q!OT @9_!q`Tu_ 4T @9*z_M@ T_3TR @9JyJQ_qH3T+Rj!+ R_ jT_qKT @9_qKTjRkA$iii8T KKTR)?Ah0T,yixJ @ @9?qHT @9*MQ_qT+Rj!ʚ_`TjRR @9?q!GT @9R) ?9qFTjRIR @9?qT?qET @9 R) ?qDTR @9JJMQ_qh*T+Rj!ʚ_TNR @9)Q?5q()T,)yixJ @ @9?5q T?1qaAT @9?Mq`=T?!q@T @9?5q=T?1q!@T @9)?q?T @9?qT?q T?q>T @9?YqA>T @9? qT @9_)q#T @9_qA#T?)T?"T @9?qA"TR @9))MQ?q!T*RI!ɚ? !TRjRy @9KyJR1qT%q@TqT' @9_1qT @9_qTg @9_1q!T @9_qT` @9_1qAT @9_1qTY @9KMQqT,R!˚T_qT @9_q!TK @9_1qT @9_!qATDR @9)Q?5qT,* ii8J @ @9?qT?q!T @9?Uq1TR @9)Q?EqHT*RI!*(RJr? jAT @9*_qT*y_q`T?q.T @9?9q.T @9?q!.TR)R @9?Uqa-T @9?q-TRR ?qa,T @9?q,TRR @9*y_qa T @9?9q*T @9?qa*TwR @9)Q?5qT,Ќii8J @ @9?1q(T2 @9?9q(T; @9?q T?q T?q'T @9?Yq T @9? q T @9?q T @9R) ?9qa TIRjR @9?9qT?5q!$T @9? q#T @9?9qAT @9)?q  @9?5qT?1qA"T @9?Mq!T  @9?9qT?5q!!T @9? qT @9?qA TRR?qT?qaT @9?5q@T @9?9qT?5qT @9?5qT?1qT @9?!q!T @9?5qT?1qT @9)?qT @9? qTRR @9?UqT @9?qTk @9?UqTRT?@9ih8@ yyx4@X yix 4@6X @*RI!@CKih8) *Ii(87X8?@(ih8 @*RI!@CKih8) *Ii(8ɑ@y)ɑy y9x@ 4R@9i@( h@ R r *hK@@%A?T8K@@ @ ( VW@@X yixJ5ʑ@yJʑy y)x@4R@X9i@( h@ R r *hK@@%A?T8K@@ @ ( VW@(6X8!RFK@@%A?T8K@@ @ ( VW@6x8!R.K@@%A?T8K@@ @ ( VW@X yix5 @9?5qT?1qT @9)?q  @9? qATRR @9)? qRRJR @9? qTRRRcT\)7<@<@()7(@(jt9CR 3@RRRwv@(3@@ @ @Rr( 6z@2@ RRRs@@W<;@9H(7!8CiU}  T@r`TP7@7hX6 @ 9@9 6@@=@9 7WW@ @HT @@9qT @@GRW@7`@ȑ@yȑy=@{@h4R@X9i@( h@ R r *hK@@%A?T7K@@ @ ( X8!RZK@@%A?T7K@@ @ ( VW@W!8Tҿ@/@ T)@W?3@T ) WM3@-@IT-L+@@9qT )3(I( @9]4@(q;@ ]T;@ #]T@H@9qRR(Hihxy@9qHRR(ihxy h~ Rr`~uW@y4uR'@ @ q/T@@'/TW@y`RRRR C@#@7@h@y+4s(;@eTi@9k3 H@9Sh J @94?q`T?qTS@k@k@9k ky~ +@9qT k3kC9k4+@+@y,+qy1?T3@q+@9lR`Lz kT73@qTl2qT 4?q`T?qTS@)@q`Tq!T<#q!T R6R<q`Tq!T(@R(6R4@)M6*@J*Qʓ@y) )Qk kWY+ @}6ihZ T@@9)4)A$8ih8q`TR)%( 4H@8hz_ TT'@RRRW@ @ R r qT@@<rT@6) (ih8T8R@ yhx<rT8R@ yhx<rTQ@"( )M(*@4 ZTҨ@ yhx<rTrAR~W<r!TlwR8Ri@9R) )y~ 6R(@9R(6R'@Qɓ@y  @~|iixy(@9qbT )3(I( @94(@(@y)(q#@>@&5)~i)x#@ #@  7@T@O/@ARkWAReWO@AR^W@K}S(k)xh@9qHRRHhjhx RRjjjjx@ji)x@Hi)x+@+K@@h@9qbT )3(I( @94S@@4h(;5 @|i)xVK@;4#@i)~ iixR~ i+x#@i)xV3h@9qBT )3(I( @94S@@5Ҥh@y55ARS~'mTRWRޫ R+@ @ @)R y@RC@)\R @ @(RS7@h@yH14{(;@bBT#i@9k3 H@9Oh J @94?q`T?qTO@k@k@9k ky~ +@9qTk3kC9k4+@+@y,+qy1?/T3@q+@9lR`Lz kT73@qTl2q T4?q`T?qTO@)@q`TqT5#qT5q`TqT(@R;R}h(x@@ @y @))@*@yJ*yS@)Ss뷃VT@@9)4)A$8ih8q`TR)%( x4H@8hz_ TT'@RRRsW@ @ R r q T@@<rT@6) (ih8@ T8R@ yhx<rT8R@ yhx<rTQ@v| @RW@@@)R y@@R @ @*@y_ qT+Rl}},ilx!7kTk_ kHT )M+)@ 4 s뷃VcT)W;Y<@@y @?kHT;ySa}W@@@@@@ybҨ@ yhx<rTAR0}W<rTwR8R@*i|iix7@i@9) )y~ (@97@R@8!@y5R(@9qrT)3(I( @9h4(@(@y)(q#@!@=@&,)~i)x!@ !@  bT @/@y@ARWARW/@ARW@K}S(k)xh@9qHRRHhkhxR RJjkjx@ji)x@Hi)x+@+@HVV/@x4!@R  iix~ i+x!@ i)x@| i)xh@9qfT)3(I( @9(4O@@5wh@9qVdT)3(I( @9H4O@@(4h(7@h@y(5ȓ@yQ( g qC#T R R R+R,R}}i0@ k)kJ!T@ynQ1@M.@4RRq|@1"  @cb@hf4QÓ@yBB#}}ӂh#@BK)#RQ4“@yT@|@}c5hfG4hf4q`T!Qc4G5RRQA5 kT * *L-@4!aT |@  @  @}io4QГ@y e @|RW S@RW qCTRR3R*'@R sT@x| )@6@y*@y_ cT(AI  @x>>_ kL_ kU12)TK!6 S@T @|OGW ;!}G@O@WSʑ@yK "6kT* @_k"T*,M:@4k! kaT@JJ@J @}}*i+6K!6 S@cT(R'@@))@*@yJQ=_kT' R=_kkTʑ@y)M(+@yj KJ )@ @J}}ii* @) 3@))@h}@ }JK[ @JJ@J @*i, @( '@@@i@VW sT  R) @|ӤW @R'@K@7@ @}}ӗW @ @?T;@@9qT;@ K}S(y(RM@))@H)e@ Q 1b"T@!3R @ (@yqȑ@y4; @ T RjK)?kbTk kcT@K  kT @M+k@qATZ _qT_qaTK@ @y @ R r)  q'@T@ @@T@@9q!TBRxWT3@@(9qTq@Tq`TqT3@qT@4ȑ@ybTi ?kCTKi(@ kT @(M(@TZ_qiTK@ @y| @ R r)  qT@_ q TGBRLxW_ qT@o7K@ @Yy @ R r)  qT@96S)R(!@*a@9H*(a9BR+xW@9 @*RI!@CKih8) *Ii(8@7@9?@(ih8 @*RI!@CKih8) *Ii(8@H596S)R(!@*a@9H*(a9@9 @*RI!@CKih8) *Ii(8@H7@9?@(ih8 @*RI!@CKih8) *Ii(8~@93@q`TqT @X) )  @I@9X) I9@88X ѩhse@QThQaK@7@?aTR)??a23R'@hQaK@7@*'@hQaK@7@@*@9)k3k l@94 k @94_q`T_qaT)@@)@9 *) )y~ @ K)}SyM)E+I%TH K}Sy-@@+@_;@IK)}Sy'@@@JKJ}S*y @M@J|)ijx 4R93@9i@K4)RR RLyi@)!)k#T!@)=@*1M@y-5+1k @k4Wyk 4 @m|ӌimxL4W@@'@)M)  @?qT(Q W(@@RY)-@)@?AT{TOSWR_QgPoO#NmC_@ T(R9@@<<@W'{W(@h(M@qRY)-@)@?TX X$ R' 'HYt#P {C4 og_WO{<@@@  @@yg@@ @@A!h;"R$0@9 RqTR@R@@@9 9;R RR@@M7 v|  @!`~ӺR 94 R@ KZk@T_kT_kBT @M M-@qT}ӌim,4Z))x, 4 RJ_ k" T L Zl @ @K1 1)Z1kT k"HzT@ N1!@T1}jqq AT AT @bK#" ? Txa$|ehd k HzT@E L%@?T}Ӈhgq$AT?T?AT}ӂha4X0!R0#@y5?X0!R0#@y#5B||1jbx41y{FOEWD_CgBoA_qCog_WO{-@@@0@9)qAT@<@9h(7Rh7@@9rF@3sK9FB96 77 R7@  @[ L@907 @6i)7)@)@97ˈ7X6@ 9@9 6@@=@9 77@T{'@7X6@ 9@9 6@@=@9 7R'7@@9 ?qT)A$ @9*ij8 {T˸S)@(?@ `74 ) T)R*)A$ @9+ik8 K_ T TMT@Hz4xT)R)A$ @9 ij8 *? T T_T?rx*h 3$ cuTXu486tTBT 8 6iT @9KqTHT@9J_q)T*jhT?JTRpT6@ hpT/7h5@Z@t7H (4   /@7@@mZ@J77@ B@-@  jTK+3@@9qq!T RH  2_q(ZC9+@( @uSG9O9h? jA9# O 68@979Rbt86#eT/@\4H 2Z:@7@+,h7@zI@ h7 @) /IbT 8 6iT @9*_qTHT@9)?qT ihT THy Z:@7@N@3N@(, 7`@a @Oj_@@O_TB€RR2Z@Gss,z@uе7z@ R`o܃=/@bIc; T@GRxh@` [a `; TGRfi@  h4[@(_@h@)a a;? iTGROh@`[@[@ [@ [@@p8 7jA9h7__hA6@+@O@?@@1@9)qATs@O@_@O@tД6@@@Rzm@@?T@R2@ @* @J* @p1@ @@ @@@?qCzT(QO@ @) @) @(O@( @( O@K " @&L@9B9O@tД,@ R RA_@?@( @( @ @?qsT)Q hA6 @jJa6IhnA9+@(7'HhZ (hbhZ@hb@hf@hj@h^@ hZ@yhZ'HhZ (hb@ TR@:@}}@_r/T?@(@)1@9?)qAT @t5jIi_WC@k KjZ_q+Tk@ka JQl @_ kT@"<Th@G@86N@@@) 3Th5@K@kMT+@G@@@3 7G@ @!@* R*`7#@B@ @i7@7Z)6 @%B@* RN@aRP1:@RNR@@W@h@kmT*FB9@+6(R˟KC9h47@| "t,@`>)T+7H @7@j67(4B@ @7@:4 @mB@ @b&T( @@9ZC$y95h@9kT?@(@)1@9?)q7@AT @jIi_WC@k KjZ_q Tk@kaJQvف @_ kT8@"<aTW@s(@kmT*KTi@9Iki8 1{BTh@9kTHkt8{CT7@G@+Ti@9Iki8 1{T{CT{cT7@HTzZ5Th@8)qTB@ 5@7@i9@@{?@(@)1@9?)qAT @jIi_WC@k KjZ_q Tk@kaJQvف @_ kTX@";TW@{H@k-T*"T( @@9y957@{Th@9kAT?@(@)1@9?)q7@AT @jIi_WC@k KjZ_q Tk@kaJQvف @_ kT8@"s;TW@s(@kmT)hT @8?k@T6 +@ !@i %@* @@_ &T:(4 %@uB@ !C 4B@7@O@ a@(@34KC9443@›@ :43@@3@@ @@9  >3@@ @@9  |C@ TKC94-x TK@/@N@:@ R}0K@h5@kMTx)RZ)-@)@?3T{TOSWR_QgPoOC_ @{@@TKC947@ `7@3@`KC9h4(A)!B_@@@)TKC94A!h@ @KC9h4Bh@v5*C@v5TKC95KC9i4G@ T @9kA$jij8  _ G@" @  @X@[v5 @XO@6T?@(@)1@9?)qAT @jIi_WC@k KjZ_q Tk@kaJQ| @_ kT@"\:TW@s@kmT("Th@9)A$(ih8{ Tb{T?@(@)1@9?)qAT @jIi_WC@k KjZ_q Tk@kaJQ| @_ kT@"':TW@s@k T(3@X@Z 4 %@;B@1 !@4B@7@O@ )C(@33@@@h@9~)3(ih8qTq@TKC94(R@  A!?@  %@6!F@hDf 4B@@@-U qT@ @; @BRp@@9;@4{xTB4T5 5 yB@@i(O@@7맟_ j(sz6B(7B$YT @9ji8 5(60(7Y Te@bO@(3 @8)?qT  {T7@n7@r  o g _WO{C-@@@0@9)qAT@B@ -@!)<@9)SO6@? TO6@? T @93RZ@F@z  RO@qJ) *Z9G @)uS99 4 @I %@ !@   5@i  @1B@ @j K 8@@? r TJR* _q?@Ti7?@T X7E? AT@ @O@ 4@?@ =@O@D 9@o4B@?7@94@5bѨB+&TT_8)qT+b$T@ @@9@9 k#T_T #5#?}ҨZ)-@)@?AT{QOPWO_NgMoL_\  4TBT(86?iT(@9 _qT!?HTh@9q T(h?hT?jT`? ATT)A$*@9*ij8! T?CTTT)A$ @9*ij8 `TCTTT 8 6iT @9*_qTHT)@9)?qiT ihTT`?@7@_ rTB@ 1@?T@@ @@9h_rL*  T   JTrT*iЭA$ )T Tl@9il8l  T *? K  Tl8 6 iTl@9qTk HTL@9 qiT)i Ta?c T@@B@3@ TB9 4?T)Ti8 6iTi@9*_qT{HTi@9)?q{TTA$ )Tj@9 ij8)j _T @@Rs @i @7Rs !O@7B@ 5@i 9@IO@?q R RIii@ @) Rs @ 4#B9@i46@  TIJA$ T@9Kik8) T%6@V @?q T#@)@; Ti T8 6iT@9KqTHTJ@9J_qImT)iT@?qT@7R  T#@_" T @))JA$#@7Rk@9Kik8{ )CTJR R s ) @_ KTi JA$ ) T"XTk@9Kik8k T] R s ) @_ Ti ?ۂik@?qTR R s ) @_ JT#@T7Rj8 6iTj@9KqT{HTJ@9J_q`T)iTJA$ T?T+@9Kik8+ T6#@()NTj8 6iTj@9KqT{HT@9J_q[T)iTRT*8 6?iT*@9KqT)?HT@9J_qiXTh?T@?1RsO@?q R RIiiH@ @@9i (롂(T@ [7 4B9@ @4?#@TTi8 6iTi@9*_qT{HTI@9)?q QThTp@TB94TA$i@9ii8h|@W6@8R *T"TT)A$8Rj@9*ij8{ CT4|6@@8R낳Th@9)A$(ih8hs8R@#s@)T)R(8Ri8 6iTi@9*_qT{HTI@9)?q FThTp#@#@?@7!A$ )Tj@9 ij8)j _TTA$ @9ii8#@?@6Th_8)qT@i6*@9H~k3kih8q5T_q`T_q!T(! Rq TB@ @?( Rq!TB94_q`T_qT)@-_q`T_q!T(@*B@ @ )B96@ 84_#@M"T#T 8 6iT @9KqTHT*@9J_qI7T) !T)@9A)TB@ @ @??@) *6B96@)4)A$ TT@9*ij8 _TҊh뼂)T86iT@9 ?qTџHT@9q /T hTi !@%@h B9ˉ4-T#@ ?iT#@i8 6iTi@9*_qTsHTI@9)?q)*TT(@9*B@ @ #@3h #@A$#@ )Tj@9 ij8)j _TA$ #TT@9 ii8 ?TT86iT@9 ?qTџHT@9q!T`T@CST@ r?@) *I76B@@h@@9iq#@$WT@B94@TA$i@9ii8hs  @@Rs !O@68s@h ȀTB9?@#@(6{(R?#@*7O@@4'@h)A$ *T @9+ik8J  TɞTAR@B@@9(4/@ @4_MTT 8 6iT @9KqTHT*@9J_qT) T@@ #@RhR)A$ *T @9+ik8J  TbTO@h4@ @@Rs !@@h @@Rs !Rs @h@@TB@O@?q R RIii@ @) tBB9Hn7B@O@49@m@ @* ?lTB@9@%@ 5@(l@ @* ?lkTB@5@!@jT@?qT(QB@O@?q R RIii@?qT(QB@9B@5B@%B@!Z@u Z7` O{C@@!@  %@ARhB@%ARvhB@!@ @ R r?(j!T@ @)I@9? qTARhB@!@@@94@ @) RRhB@ !@ 5@? aT9hB@ @`@{AO¨_ARhB@ARҍvhB@ @ @ R r?(j!T@ @)I@9? qTARhB@ @@@94@ @) RRhB@ @ 5@? AT9{AO¨_O{C@@%@` !@)@` @ R{AO¨_AR!RBR>u6hB@%@ @ R r?(jT@ @I)I@9? qTARHhB@%@@@94@ @) R/AR!RBRu4hB@@ @ R r?(jT@ @)I@9? qTAR%hB@@@@94@ @) R @?qcTR(Q {AO¨_RhB@!hB@ %@ 9@? T5hB@R hB@ hB@ @ 9@? T5 R{AO¨_R{AO¨_{)A$!#TT@9(ih8TT86iT@9 ?qTHTH@9qT!aT{_` i{bT()A$ @9*ij8 cTCT{_qiT!A T8h6T@9 ?qaTHTH@9` ?Co g _ WO{-@@hA9dA9(@9 *) *)Q?=q TRRRRRRQ1B@{ JLyixk /`F@@9)Q?%q;T JALyixk ` * @T_8@9h4Ro@T_8@9L5@_TWh @R,qT;FiTRUh!@ȅhA@9(5@96!!;`RE7@@95@ 1AT"TS!X5TSV57@/@Ҹ TR$(@4h 67@/@'F`A9/@h5@)TҸ T@@1@9)qAT9@(G@ @ *O@I??);@?q T*O@Ja)QTс+@? kT@X1TH@@k-T: h!@HxhA@9(5@96!!;`R/@7@BTSB$Y95 @9jh87@/@ҵT$R' 4h 63@7@/@;F`A9/@(5@ T@T@9ji8 1ҵT@@1@9)qATZ@HG@ @ JO@I__I;@?q TJO@Ja)QVفK@? kT8@XZ1Th@h(@k T6R낲TSB8RZZ5ҵBT@9zi@9 #J2_)j k`Th 7`A9H5@T@@1@9)qAT{@hG@@ jO@Ii;@?q TjO@Ja)QY偨k@? kTW@X 1AT@H@kTx3@7@/@ҵcT0R@9h*Qq[(T )+yhxJ @ֿ"TsBB$WZZ5R@9jh8ҵbT9(@6 _  T? T@9*_qT) 3(@hzh) SkT 7`A95@T@@1@9)qAT@G@@ O@I ;@?q T O@Ja)QY偨 @? kTV@X0Th@hH@kT3@7@[@@kT@9ji8 1ҵTjh8? Tq TqTqT@9iqT@9q!T @9q@9qTq!T @9 ?-  R$!J\R @9}qR#R[@;FRRE@8/j5[H!@KYRE@8/ti5Q9RE@8/h5KH!@hJ@9J4RHA@9h(51H!@H[@95@_T1h @R*q +T+THA@93@h+47@9@9v4R"@vT_8H!@hW@9W4HA@93RH"5!!<`RE7@ H!@g@9h4HA@95!!<`RٞE4R@ST@9Q qT ) +yhxJ @Ssv@@! @~7@T3{`; @97&v@R@9)ka86 4( D9RI%! ?bT*@8+kj8 (D9*z 4TRi4( D9RI%ɚ!?bT*@8+kj8 (D9*z h4TRac={`Hi)e( i|8(R?q(T3@@ )ii8J @R R"RqZ,q@T_r"Rqq`T@q "Rqq`Tq3@kaTX5`A9(}5@@1@9)qATZ@S@HG@X@) JO@I__I;@?q TJO@Ja)QW݁K@? kTI)56@X'/ATh@hH5@kT3@7@@hT@9kA$iii8 1 뵃Tҵ 뵃Ty`A9s5Es7@X  _T+@9A$ik8_ J1S@5 뵃T4@9H_43R@T@9Q q{T )A+yhxJ @ֿzTW57@yT_85qT@9)q(R3@k@T`A9k5@@1@9)qAT@G@ @ O@I ;@?q T O@Ja)QTс @? kT@X.AuT(@@k-T@UT_8"RTL/@7@ҿ dTSB$97&Rg@9"R=L7@ҿ aTSД6&ZC$"R)L/@7@ҿ B_TSR9C$Z7&R"RL/@7@ҿ b\TSx!Д6&{C$PTSV5ҵYT@9@KM@) ?QJTh 7`A9X5@T@@1@9)qAT@G@@ O@I ;@?q T O@Ja)QTс @? kT@X-`T(@@kTn3@7@/@ҵTbFTSB$7&R[{5@9Jw8ҵNT@9@9kTR kw867@ 4 D9)'ɚ7?bT*@8 kj8 D9z (4TR7@i4 D9)'ɚ7?bT*@8 kj8 D9z 4TR|7@E@ M@ ?QHhTh h7`A9E5@T@@1@9)qAT@F@ @ N@Iߖߪ:@?q TN@Ja)QZ遨˖@? kTw@Xo-!T@hh@kT3@7@/@@T@9ji8 1ҵT"3TSV5ҵB<T@9@KM@) ?QJTh 7`A9:5@T@@1@9)qAT@G@@ O@I ;@?q T O@Ja)QTс @? kT@X-CT(@@kT3@7@/@ҵT)TS@96&RZC$@9Hkh8ҵb1T 0R1@9j`86;F/@)4 D9)'  ?bT*@8jj8 D9 z H4TR;F/@i4 D9)'ɚ ?bT*@8jj8 D9 z 4TRҋ;F/@@ M@ ?QHTh 7cA9'5 @T@@1@9)qAT@F@@ N@Iߖߪ:@?q TN@Ja)Q[큨˖@? kTI)55@X|,T@hH5@kT3@7@ @T @9Iki8 1ҵTTSE@8B$@9jh8ҵTkT@9 Cii8 (%6h 3@7(aA9h5( @T ;F@7X( @T@9ji8 1ҵTB TSX5 T@9@9 @~Ak U*k*kqSk}k k!˟ T@9k k T K!_ @TL@9 k T _ @TL@9 kT_ @TL@9 kT_ @TL@9 k T_ @ TL@9 k@T_ @TL@9 k;F/@ T_ @ TL@9 k;F/@aT },}m@  ʭ  A Tu!mAiTbT˪ @9 kTkAT_T_h 7`A95@_T@@1@9)qAT@F@@I N@Iߖߪ:@?q TN@Ja)QTс˖@? kT@Xt+Th@@k T3@ CQj_cT7@/@M;F/@TҳsB$TY95  @9hjh8뵃"T@9@9 @~Ak U*k*kqSk}k k!˟ T@9k k T K!_ @TL@9 k T _ @TL@9 kT_ @TL@9 kT_ @TL@9 k T_ @ TL@9 k@T_ @TL@9 k;F/@ T_ @ TL@9 k;F/@aT },}m@  ʭ   Tu!mAiTbT˪ @9 kTkAT_BT_ H7`A95@_T@@1@9)qAT@F@@I N@Iߖߪ:@?q TN@Ja)QXၨ˖@? kT5@X*~T@h(@kT3@7@/@VCQj_T;F/@BTSX5 T@9@9 @~Ak U*k*kqSk}k k!˟ C T@9k k! T K!_ @TL@9 k! T _ @TL@9 kAT_ @TL@9 kaT_ @TL@9 kT_ @ TL@9 kT_ @TL@9 k;F/@T_ @` TL@9 k;F/@`T },}m@  A Tu!mA TbT˪ @9 kTkAT_T_h (7`A9h5@_hT@@1@9)qAT@F@@I N@Iߖߪ:@?q TN@Ja)QTс˖@? kT@X)fTH@@kTa3@  CQj_T#7@/@N;F/@BTSB$Y95  @9jh8뵃T@9@9 @~Ak U*k*kqSk}k k!˟ C T@9k k! T K!_ @TL@9 k! T _ @TL@9 kAT_ @TL@9 kaT_ @TL@9 kT_ @ TL@9 kT_ @TL@9 k;F/@T_ @` TL@9 k;F/@`T },}m@  Tu!mA TbT˪ @9 kTkAT_BT_h 7`A95@_(T@@1@9)qAT@F@@I N@Iߖߪ:@?q TN@Ja)QXၨ˖@? kT5@X.)NTh@h(@kT3@7@/@[  CQj_cT[;F/@ªTSДB6RC$ZZ5 ki8 ҵ"T@9zi@9"k2*jTh 7`A9h5@T@@1@9)qAT{@hG@@ jO@Ii;@?q TjO@Ja)QY偨k@? kTW@X(aT@hH@kT73@7@/@@T@9 ki8 1ҵTL8RH!@hVTSV57@/@ҵ ¦T@9@9$kTh 67@/@'F`A9/@5@ Tҵ T@@1@9)qAT9@(G@ @ *O@I??);@?q T*O@Ja)QTс+@? kT@X^(!TH@@kMT3R낓TTBY95ҵbT@9zi@9)%) kT 7`A95@T@@1@9)qATZ@HG@@ JO@I__I;@?q TJO@Ja)QXၨK@? kT7@X(Th@(@kT3@7@/@ҵT9RE@8/ta5 YRE@8/`5 낇TSW5ҵ뢐T? +T@9*)_ T?q$MzAT ?T@9*)_cT?q!Th h7`A9h5@T@@1@9)qAT@G@@ O@I ;@?q T O@Ja)QTс @? kT@X'AT(@@kT3@7@ҵCT5<RH!@4B{TSДB$X5 @9jh87@/@ҵ뢃T@9T"k@Th 63@7@/@;F`A9/@H5@ T@T@9ji8 1ҵT@@1@9)qAT9@(G@ @ *O@I??);@?q T*O@Ja)QVف+@? kT@X;'\TH@h@k TnTSДB6RC$ZZ5 ki8 ҵ"wT9 7)@zi@9"k2*j@Th 7`A9(u5@T@@1@9)qAT{@hG@@ jO@Ii;@?q TjO@Ja)QY偨k@? kTW@X&!mT@hH@kTU3@7@/@@T@9 ki8 1ҵcTjBbTSДB$X5`A9hk5oE7@j7X( @TIRJi8 ҵiT_ +T@9I)? D)MzT_q!T@9?qT @9)?qTIR_ T@9I)? D)MzT _ qT@9?qAT@9_T*)_ Th h7`A9Hc5@T@@1@9)qAT9@(G@@ *O@I??);@?q T*O@Ja)QW݁+@? kT@XY&@TH@h@kT3@7@@T@9ji8 1ҵTqIR Rq;qRqR; Rr@@ ) @+)@ \ @)M) @'SE]T!}|@  @ R * e@  qT @GF9 q+@ T BR\GF9 q+@T@/@)@9?qT/@)!6?T?THA)@I)a))@ MToIХ@$h@#/(T; TR+RH@ |iix#@R% @HK Ԛ(xhd*@3bA9H+5@@1@9)qAT@F@ @i N@I:@?q TN@Ja)QXၨ@? kTI)55@X%&Th@HH5@kT3@X @7@EХ@$T jA9I4@9hi8 ?뵂R7R)RH@| ijxaT;@4hT@9lCjl8m %7hk8 TRT4#@RJ- J@J KK Ԛjxj_d*@S 4* Ԛ(x(;@cT R?ZH@ ) @A5;T@9lCjl8k % 6h!qTCRR#@ЌykxJ @֠@9(RR(R?@9Х@$EC(RCTdIiR(KR} } SF);&+@H!@@;@h(4@9'THA@9h'5`R&@@$EGF@&4R=5&@in867@!4 D9RI%ɚ.? bT*@8ij8 D9z 4TRH!@(<@9HR_TI)A)@9 5`R 4R5&@in867@ 4 D9RI%ɚ.? bT*@8ij8 D9z 4TR<H!@8CR@95&i`8 JD9Ri%  ? T l@8il8J  JD9 z J4 _aT[C@HRGF57@i4 D9RI%ɚ.? bT*@8ij8 D9z h4TRCR(a4@@@y!@ qTARw )7 yh`RA!$HRGF@E@$@;@!@95&i`8 JD9Ri%  ?T l@8il8J  JD9 z 4 _aTR@EGF#G@$@$();$=7@C( T@9@$hi8 1?E+@T(R|7@i4 D9RI%ɚ.? bT*@8ij8 D9z h4TRҸR(a4@@@y!@ qTAR )7 yh`RA!$GFoBE@$@95&i`8h!˩)D9RH% TK@8ik8)  )D9 z i4 ?aTR|EGFC'@@$@"@$@ҥ@$?E+@TdiR(KR} } S;@);&'@(T@ y`xZH@ ) @5dRRR_@@ @ R r qAT@@ RZH@ ) @)5G RGFE@$ ARs\GFE@$ <@ZH@ ) @ 4*4@y+*,  +T@ k"T@M+@Tk}ӋikK5K@wyww4 !wyw4|Ӊii4j4@y-*.  +T@kbT@M-@T}imm4 ҳ?@ iT3z+@@$EGF;@51k+@@$EGF@9HR_TZ+@@$EGFCR;@RRQ7RHRsBhzh4R(jT995 23@7@qT@9hzh(jkT`A95@T@@1@9)qATZ@HG@@ JO@I__I;@?q TJO@Ja)QXၨK@? kT6@X"A*Th@(@kT@_Th @R(qLT;F TRHRsBhzh4R(jT995qT@9hzh(jkT`A95@HT@@1@9)qATZ@HG@@ JO@I__I;@?q TJO@Ja)QXၨK@? kT6@X."!Th@(@kT3@7@"TSBB$:Z5R@9jh8ҵbT9(@6 _  T? T@9*_q!T) 3(@zh- SkTh 7`A95@T@@1@9)qAT@G@@ O@I ;@?q T O@Ja)QY偨 @? kTV@X!T@hH@kT<3@7@[@@ T@9ji8 1ҵTQjh8? +Tq TqTqT@9iqT@9qT @9q@9q@TqT @9 ?-![R @9}qR#R[@;FR뢹TҳsBTB$:Z5@9jh8ҵT9(@7hzh1 Sk`T ? @Tjh8_ TqT@9q@ TqT @9 A?))FMRk`T 7`A9H5@T@@1@9)qAT@G@@ O@I ;@?q T O@Ja)QY偨 @? kTV@X)!!Th@hH@kT3@7@[@@kT@9ji8 1ҵT  @9'kTR#RP[@;FRkT"TҳsBTB$:Z5@9jh8ҵ낰T9(@6 ? q T? T@9*_q T) 3(@hzh5 SkT 7`A9(5@T@@1@9)qAT@G@@ O@I ;@?q T O@Ja)QY偨 @? kTV@X Th@hH@kT3@7@[@@T@9ji8 1ҵT* R#R[@;FRkTTT7 97&RZC$ @9Hkh87@ҵ TzsR@9)ka86 4( D9 '! 7@? bT*@8+kj8 (D9*z 4TRi4( D9 'ɚ!7@? bT*@8+kj8 (D9*z h4TRA[@?kT +F(7`A9h5@iTR2@@1@9)qAT@G@ @ O@I ;@?q T O@Ja)Q\ @? kT))56@XTh@hR(5@kTi3@7@@T@9Iki8 1ҵ #T TҳsBTB$:Z5@9jh8ҵBT9(@6 _  T? + T@9*_q T) 3(@hzh=SkT 7`A95@T@@1@9)qAT@G@@ O@I ;@?q T O@Ja)QY偨 @? kTV@XTh@hH@kT 3@7@[@@T@9ji8 1ҵT jh8? Tq!T@9qT @9qRR#R[@;FR 3@7@ҵ}T@9*Cӊjj8) I%i6h (7`A9{5@T@@1@9)qAT9@(G@@ *O@I??);@?q T*O@Ja)QW݁+@? kT@X!YTH@@k,TҵT 3s"v@@ @&7@"?T9S=6{`Z7& @C$w@RA@9Ika86 4H D9RI%! ?bT*@8Kkj8 HD9*z 4TRi4H D9RI%ɚ!?bT*@8Kkj8 HD9*z h4TRaҞx7{`3@b@%RkT7@;hcA9i5h@@1@9)qAT{@hG@@ jO@Ii;@?q TjO@Ja)QXၨk@? kT))56@XaaT@h(5@kT 3@7@S@@hkT@9ki8 1 뵃Tҵ 뵃T3sBv@@p @y7@)T96{`Z7& @C$w@R@9Ika86 4H D9RI%! ?bT*@8Kkj8 HD9*z 4TRi4H D9RI%ɚ!?bT*@8Kkj8 HD9*z h4TRaˮ7{`3@b@%RikT7@;hcA9T5h@@1@9)qAT{@hG@@ jO@Ii;@?q TjO@Ja)QXၨk@? kT))56@XKT@h(5@kTF 3@7@S@@hkT@9ki8 1 뵃T4ҵ 뵃T-3s v@@ @ a7@T:Z'V{` @{7&Rx@R@9ika86 4h D9RI%! ?bT*@8kkj8 hD9*z 4TRi4h D9RI%ɚ!?bT*@8kkj8 hD9*z h4TREX{`3@@&RxkT7@9cA9h>5@@1@9)qAT@G@_I@ ˊO@I;@?q TO@Ja)QY偨@? kT))57@X19TH@h(5@kT 3@7@S@@T@9kA$iii8 1 뵃cTҵ 뵃cT~bA9(45|11B{: (!@%(A@9%4YRE@8/4 E7@qHR ( ыhA9H ɚ4? TBTi8 6iTi@9*_qTsHT@9)?qiRTTc!T;{5 X)R7@/@ 뵃H*Tq qf3@4aA9'5@@1@9)qAT@G@X@) ˊO@I;@?q TO@Ja)QXၨ@? kTu@X  a#Th@H@kT 3@4 @X)?7@/@ T @9kA$jij8? )1 ҫN@(A)@))a))@ MT (O@@`PT_8HRsBhzh4R(jB T995ZC$@9hzh(jkTq`A95@T@@1@9)qAT{@hG@@ jO@Ii;@?q TjO@Ja)QXၨk@? kT6@XT@h(@kT 3@7@@KT@9Iki8 1뵃cTҵ뵃Th*@(jk T9@MT_8lHRsBhzh4R(jb TC$:Z5@9hzh(jkTq3`A9 5@T@@1@9)qAT{@hG@@ jO@Ii;@?q TjO@Ja)QY偨k@? kTV@XT@hH@kT 3@7@@KT@9 ki8 1뵃CTҵ뵃Th*@(jkT`A95@T6 `6hO@4Д"@_827@TS={`b T@@9#{`3@@R7@kT3@`A9(5 7@7X4ДB@_8 7@ T{`bT@@9{`3@@R7@kT3@`A9(5 7@7X4Д @_87@T99'6{`R"T@@9ѫ7{`3@@R*7@kT3@`A95ѻ 7@@7X3@`A95@Tѯ 6O@@RAY`@RAY`(cA95`|@R;F"TsB@B$995I T9H@6 _ q T? T@9*_qT) 3(@hzhRkT`A97@5@hT@@1@9)qATZ@HG@@ JO@I__I;@?q TJO@Ja)QXၨK@? kT7@X,Th@h(@k-T 3@ R#R3@RRkTq7@@HKT@9ji8 1 뵃TR3@Rk@Tҵ 뵃#TA)@)R(( kT|@RE;F"TsB@859C$IT9H@6 _ q T? T@9*_qAT) 3(@hzhRkTGR#R3@RRkTq`A97@5@T@@1@9)qATZ@HG@@ JO@I__I;@?q TJO@Ja)QTсK@? kT@XATh@h@kTt3@Rd3@RkT7@@HKT@9)ki8 1 뵃Tҵ 뵃#TA)@)R(( k T#(A@9@Rd4AY`)HRBzhbT7R995 83@7@qT@9zh( kT`A95@(T@@1@9)qATZ@HG@@ JO@I__I;@?q TJO@Ja)QXၨK@? kT6@X! Th@(@kT*@)R(( kTHRBzhT7R995qbT@9zh( kT`A95@hT@@1@9)qATZ@HG@@ JO@I__I;@?q TJO@Ja)QXၨK@? kT6@XCTh@(@kT3@7@HO@*@)R(( kTxRܩA`T@97@/@Jx8ҵ ¶T@9h@9kTR_)kx867@)4( D9I'ɚ8? BT*@8+kj8 (D9 z H4T7@4( D9I'ɚ8? bT*@8+kj8 (D9 z 4TRh +F/@7`A95@HT@@1@9)qAT@F@ @ N@Iߖߪ:@?q TN@Ja)Q[큨˖@? kT))58@X?T@h(5@kT%3@7@/@@T@9ji8 1ҵ T:RoHA T@97@/@(kx8ҵ BT@9@9 B)z  ˉ K()_((TRņIkx867@i4H D9&ɚ8? T*@8Kkj8 HD9 z 4T7@4H D9&ɚ8? bT*@8Kkj8 HD9 z 4TRh Eh67@;`A97@5@iTR3@@1@9)qAT@F@ @ N@Iߖߪ:@?q TN@Ja)Q\˖@? kT))58@X+Th@hR(5@kT3@7@/@@T@9)ki8 1ҵ cTRAT@9Hkh87@ҵ 뢐TBR+@9ja867@4 D9RI%! ? T*@8jj8 D9*z 4T7@I4 D9RI%ɚ!? bT*@8jj8 D9*z H4TRh +F7(cA9Ȉ5( @T(@@1@9)qAT@G@?)@ ˊO@I;@?q TO@Ja)Q[큨@? kT))55@XT(@h(5@kT3@7@( @T@9Iki8 1ҵ CTҵ CTR4A@T@9hkh87@/@ҵ }TAc@9p |R@9ja867@4 D9RI%! ? T*@8jj8 D9*z 4T7@ 4 D9RI%ɚ!? bT*@8jj8 D9*z 4TRh +F/@7HcA9t5H @(TH@@1@9)qAT@F@_I@ N@Iߖߪ:@?q TN@Ja)Q\˖@? kT))55@XTH@h(5@kTP3@7@/@H @T)@9iki8 15ҵ Te5ҵ T]N@Y|@RR3@7@|qTq7@T@I =@ R qBT3sBC;{5МC$9(@7i@9I5}qT)@( =@ R j @? qTI? K T@9*_q Tj@9) 3J4(@{h R;F R*;FqRkTq`A9`5@T@@1@9)qAT@F@@ ˊN@I:@?q TN@Ja)QZ遨@? kTw@XEAwT(@hh@kT3@7@@KT@9ki8 1뵃CTҵ뵃T R#Rr;FR R(A@94A)@@A9R jRk PTSR;F]E7@(A@9({5z/@7@(A@95<r/@7@냩T9l/@7@cT3 eE7@YRE@8/5[E7@@95@ T_8(A@9(5|qmT86R;FqTg(A@9@R4AY`T[@I =@ R q"jT4BR:Z5{C 3@7@qgT@9@94h{`RkT|q`T87@I =@ qRkT R;;FqRkT`A9(C5@T@@1@9)qAT@G@@ ˊO@I;@?q TO@Ja)QY偨@? kTV@XXa>T@H@kT(RRkTE7@@95$E7@@95@ T_8(A@9(5|q@]T86R;FqT(A@9@R4AY`T@I =@ R qYT4BRZ5{CqWT@9@94h{`Rk`T|q T87@I =@ qRkT R;FqRkT`A905@(T@@1@9)qAT@G@@ ˊO@I;@?q TO@Ja)QY偨@? kTV@X+T@H@kT23@7@(RRkAT.E7@@9H5@_Th @RUqlTT(A@93@47@(A@9@R4AY`|@RqR3@7@|qJTq7@T@I =@ R qbT3sBCZC$59(@7i@9I5}q T)@( =@ R j @? qTI? k T@9*_q Tj@9) 3J4(@{h R;F R;FqRkTq3`A95@T@@1@9)qAT@F@@ ˊN@I:@?q TN@Ja)Q[큨@? kT@X1T(@h@kT3@7@@KT@9Iki8 1뵃#Tҵ뵃cT R#R@;FR R(A@94A)@@A9R jRk T!R;F\ OE7@(A@95hA91r;{+@974/@bTS@9sKw8k/ T7@Q{5/@ҵTb@7@qT+@?ր43@`A95@@1@9)qAT@G@ @ ˊO@I;@?q TO@Ja)QZ遨@? kTy@XoAT@h@kMTO@XZ)-@)@?AT{POOWN_MgLoKC_hJ)y<)Ih8?q3@TR|:'7@QC 3@/@uT @~A) U*)*)qS)}))!j_ Th@9) ?k T! @`Ti@9) ?k T  @Ti@9) ?kT @Ti@9) ?kT @Ti@9) ?kT @Ti@9) ?kT @@Ti@9) ?kET @@ Ti@9) ?kEaT@ @)) ) ) ) )? T! A?iTbTh˳@9) ?kTATHT7@qT`DC@?3@4aA9H5@@1@9)qAT@F@@i ˊN@I:@?q TN@Ja)QVف@? kTs5u@X  T@(@kT])))))C)Q  TEN@&7@Qҵ/@T@9kSzT7@qT+@?43@`A95"@7X S@5 뵃#QT#3R#T(A@94A)@@A9R jRkT3R냦T(A@94A)@@A9R jRkT  6R}6R @9qT()A$T @9*ij8K (T_@8qT!WO{()qATs@%7`^@ @ R)0r j`TRuBhnA96`Z@yhZ@yhZtZ hb{BOAWè_@7 R)r  R? kT@*%AJ_ CT1@) @ @I )_8?q T`^@` @ R rK)  qJzT @ @ TR(0r?j`TR@ 4 _ q)T@>@I5:@ _ qTZ@*07 kA6k@j@_ TjA9 06Z@  1KqTik8 ֋N@b@_T_1TN@k@T"L*A   ",@99$L9Z@ }Sh@*3j )6)@95{BOAWè_C4:@_)T54"@i)jN@ R*@)yl4,}@)}* ii? T! k@T N@ R })Iii?T}@ R) @Tb ˈf@) !"{BOAWèN\nA97{BOAWèCqTh@@(R9@i@(҂RR?h@@hh@{BOAWè_(R9҂RR{BOAWè?RO{6@9h4{_ևxg_WO{@ 0@9?)q!T @ =@ 5 9@J_ qHT =@I4J_ qT Y@+07 A6@@TA906_qTkmij8  RR M@K@ qT iA9  71 M@)@?1T a@K Kq T iA9  6Y@e@ 9}@S kTt~@&?kT !@I"b M@ R M|@J|+.ij T% J @_ T )@jBym5 Ry`4DR{DOCWB_AgŨ_w @~BV**qS} !bT4I9J7 ! @`T 9j7 @T 97 @ T 9*7 @T 97 @T 97 @@T 9J7 @T 9j6(@AT(!*A_)TT )) 97) aT2CQ( ˊJW˘` bT l@8 kl8J  JD94_qT?T @9qTRR`ATxKK qTrog_WO{-@@(@9 Y?TR94@R7Iy@994@R6w4 5& it8  JD9Ri%4 ?T l@8 il8J  JD9z 4 _aTC#Rz @( TTh@9Qq T 7A@9h 5`Rx 4a4@@@y!@ q! TARIh@9 ?YqaT06i@9'?MqaTH*(6Rmi"C*ij8 J%7Y86MqT7T5R_h@8? rT96it8 C)ij8 (%H7h@9H6x*@4RZZSVrJ)R)!q IZ8 {q@zT;7#T )7 yh!!$`Rxh@ 1T07BDT[F 1iTR C"R&ϙAT@95R @/5R @@9q**h6BDT@i)-@)@?T(J{GOFWE_DgCoB_֟TThV@9@9 y?%qTq&RA @A@9q*7AhF@9SRBDTy?6h@9MqT@Rw4! @RxR#R  @ |B)@*)*)qS)}))!*_ T( @9) ?k T ! @ T @9J _k T @@T @9J _kT  @`T @9J _kT @T @9J _kT @T @9J _kT @T @9J _k T @T @9J _k@T*} *j} ,@ ʌ   aT !,AiTbT) @9J _kT)AT_ֈCQ _@ |B)@*)*)qS)}))!*_ # T( @9) ?k T ! @ T @9J _kT @@T @9J _kT  @`T @9J _kT @T @9J _k!T @T @9J _kAT @T @9J _kaT @T @9J _k`T*} *j} +@k aT !+A TbT) @9J _kT)AT_h CQ _ւ4h @9 ii8*@9? kT!BqT R_R_"4h!BQB4 @9*@9? k T ij8? kTR_ R_"4!BQB4 @9*@9? k T ij8? kTR_ R_og_WO{h-@@*#YRZ{R`iw8߆qTIkv8 yq`Tq Txq[zDzIzxZz`iw8߆q)TdXq`Tq T2qYq`Tq T R@i)-@)@? T@T4 4@9i)A$8ih8T!@Ru@95& ia8 6j4  )D9Rj%A J_bTK@8 ik8)  )D9+z I 4?TRWHqNzgRsq@Tr] q@ Tq TXq TeV9!q TqTq`TxqiRIzDzIzxZzHR`iw8 q@i)-@)@?TU"T )! @@94  )D9Rj%ʚA J_bTK@8 ik8)  )D9+z i4?TRaҰQ=y`uq!TR@i)-@)@?@T"*q@i)-@)@?AT{FOEWD_CgBoA_Xq`Tq T(Rtq@i)-@)@?Tbg_WO{h-@@ qTq`TqTqTR k2qhT R  R jT@i)-@)@?T{FOEWD_CgB_hQ qTQqT#0qT(R ! R? jT@  Q? qT&qaTq T>qATqT#RR=q!q Jh76RWR#S<qhT"jT qT12qTqTC5qaTC4q`T qT qaTCq`T9qT9q`TqT2qT R  R? jTqT:qT(R!IR jT(RR)%):q(1)RjRJ%J:qI1?rlg_WO{h-@@*#?RZ;(`iw8FqTIkv8 S#(`iw8FqiT R@i)-@)@? T3S#$qEzF#R<$qGz>#R4$qT&q S#$qT.q0q@i)-@)@?`TR@i)-@)@?`TCS#HqMz#R HqOz RS#Lq Tr@i)-@)@?T{FOEWD_CgB_RQ q'@i)-@)@?T@9)5&+ih8+ , D9R%h  T @8/in8, D9z 4 aT i)I_WO{(9@7{COBWA%? qaTi@9!3{COBWAA@9 5`R1t 4RMsh5& iv86 4  )D9Rj%ʚVj_bTK@8 ik8)  )D9z 4?TRj4  )D9Rj%ʚVj_bTK@8 ik8)  )D9z i4?TRҩRa4@@@y!@ qTAR݁)7 yh!$`R t*QqT)+ih8J @h@9q@ Tq!Th@9q`TqATh @9 ?-  R$!JRI{COBWA_h@9q@ TqTqTh@9iqTh@9qTh@9q Tq!Th @9 A?))F'{COBWA_ YuRra@9h5& ia86J 4  )D9Rj%A j_bTK@8 ik8)  )D9+z I4?TR/h@9q Th@9q! Th @9q{COBWA_h@9qTh @9q{COBWA_j4  )D9Rj%ʚAj_bTK@8 ik8)  )D9+z i4?TR۔A{COBWA_h@9qTqTh @9 ?-R!I{COBWA_R{COBWA_h @9'{COBWA_h @9}q{COBWA_O{A@9H4hAYs%{BOA_*8qT)+ih8J @~qT87h@I3=@ R q{BOA_hQ)q'{BOA_87h@I3=@q{BOA_ֳ87h@I3=@q{BOA_87h@I3=@+ 87h@I3=@q{BOA_ֳ 87h@I3=@q{BOA_֓ 87h@I3=@q{BOA_s 87h@I3=@H `7q{BOA_S 87h@I3=@q{BOA_3 87h@I3=@q{BOA_h@I3@9{BOA_87h@I3=@q{BOA_hqෟ{BOA_R$ R!RRRRR4 R{BOA_R RAR@RЋq{BOA_`p_WO{6@TR{COBWA_Ĩ_"4T8H6T@9 ?qATHT@9 Th!@_8Q=y`{COBWA_Ĩ_q T)T86IT@9qTџHT@9q T!@Rq*h5& ia864  )D9Rj%A _bTK@8 ik8)  )D9+z 4?TR`R{COBWA_Ĩ_j4  )D9Rj%ʚA_bTK@8 ik8)  )D9+z i4?TRc=Q=y`v{COBWA_Ĩ_ $pog_WO{C5@#T"6T8H6T@9 ?qATѿHT@9Bh@ ? T i@_8z`Q qT] q# TBx7&RZRa@{`{Q qbTT86IT@9qTѿHT@9qT@Rfp* ka86 4 D9)'! ?"T*@8 kj8 D9*z (4T4 D9)'ɚ!?bT*@8 kj8 D9*z 4TRtR{EODWC_BgAoƨ_ oog_WO{C@ TB6wB$CzZ7&{ B@ T@@9zz`Q qTHRaґk`{`Q qBT@@9jh8BT@Ro@9Ika864H D9RI%! )?T*@8Kkj8 HD9*z 4T 4H D9RI%ɚ!)?bT*@8Kkj8 HD9*z 4TRR{EODWC_BgAoƨ_og_WO{C@bT 6xC${{7&'@H@9kh8WB T @Ro@9ika86I4h D9RI%! I)?bT*@8kkj8 hD9*z (4TR4h D9RI%ɚ!I)?bT*@8kkj8 hD9*z h4TRaБ{`4Q q#T!U4 '@T@@9z`Q qTBT) @@9'y``R{EODWC_BgAoƨ_og_WO{C@Xq`Ti@#4?T*8j6?T*@9KqaT)?HT@9 )i?iRRI iR tJ_qiTiR Tq(R!9M @z@Tw@T#6iT8H6T@9 ?qATHT@9 'h@ ? T i@_8Kz`Q qTdq T Ty97&;R0RrZ'86IT@9qTѿHT@9q T @Rn*)ka86 4( D9RI%! ?bT*@8+kj8 (D9*z 4TRi4( D9RI%ɚ!?bT*@8+kj8 (D9*z h4TR@{`wTqh# @zTTt`R{EODWC_BgAoƨ_ m?T@9q ThA$ @9 ii8 !T_8qT!cT_@8qT!aTog_WO{CC;h-@@ hA9 @@1@9)qOATk @C  AhE@kh9@ IR)q? h@@@ @R/U@ @UeA9Д5@O( @(  RtRGR_3W_#[+cRC@SqCPr)7R ZR)R HR)<@!;@B7[h@yi qy@9 CөRrQ @ P`@_bTN@9R?gq(T*Jxhx) p3 ֑/@+@/ A8 4X_ kJ*&@y RQI9R9@36)@4T @3@kmTp3PR{tBU5A9h5?@/@ @? k˦TiH@4@94?k!T-?@ ?(5iA9@H-4;@?BT;*@9kkA$jij8) ?T,4/@@94 iA9; i4qSɳ)@qmT_ ITL8 6_ iTL@9qTJ_ HT,@9 qTk_ T ,_ TkkA$M@9kim8M  T@3@kT#p3QBR{tU5#E)i@? kHTA94* #E)i@? k T R +1 V@ i+ka)Q_ k#T A9b5?@/@)@ k TQ?iA9; (4_qSȳ@_qT *_Ti)A$K@9)ik8JI ?TJ_qT))_TJ8j6_TJ@9KqaTZ_HT @9) @ 5UH6Z @_TN@9UH6RU6J S@I ˯V@ R }Ii,@I @ )Ii@?kBTh#hH@4/@)@9*?qJzTU7A9/@qR RH(ih  kT?@?kkT9H6+@@9 ~ ji8?qT?%qT _HT+Rk!ʚ, (  @ T?qT?qT0iA9eA9X'R{tpBU5~4x79H7A9RH (TA9A9K@9h R kAT L)MQ qHT R R R$im8 J@9 *I R?kThJ@9JSK@9KA *J @9l! *J@9 *I R?kTZH K;H5A9/@qR RH(ih?/@@9H5l_TjH@j4 @k_ kT?qT @?qT @9@9 ?T*RJ!ɚ+  _ T ~ ji8?qTU`TT@9?T?a`T@94@@y@9iH@4 @J? kAT ~ ji8?q!T @?qkT]@T @9/@@9(#4?@?qU) *6 iA9; )4qSɳ)@qmT_ TL8 6_ iTL@9qTJ_ HT,@9 qITk_ T _ TKkA$M@9kim8M  TV)@ R% #@A !@(A@95(@96!;`RkBt5_{7_b_TCP?r`TH97(@9h5(@ 1TH@9)H)!@9 (%h]6 @@*r(R AjJCPrD@8k *+6s@7@kT5@)4)@ Q*(K_kF QL_ QL^QS^j  KJ}kUJ}˛JDk KkL@ R`1!(H }@:@ kU@ T@-Q@QQG@T(&4@) @C+ij8h*(i*85Bs@'<6?rqBt57fJ S@I ˮV@ R }Ii,@I @ )Ii@?kBTh#hH@4/@)@9*?qJzTUh6(R @LT>?@qU *Ⱥ76 E()} L@J K 8@)a  "TTVJ@ Ki)R8Rc8R8R=q觟@(*B7(@9I@9 kBT"Rҥ@_R'jA@9h5& ia8`6 4  )D9Rj%A J_ TK@8 ik8)  )D9+z 4?T  RAjJCPrSY75tB RAi)+@9,@ @yl@(@yn,4 * kcTV@R}ipTR=@T4J@Nm@ kT  Ri)*Rc(@94k@@)@  @_( @@4 @) )y~k  j@9_qT K~ jk8qd@zT, @9 @9 4_@T_T)@9+@k TRK~ jk8qd@z`T_"]T J @94*@5V@l }J M @MSJ@J @ j@ kITkkTjH@4k_ k@T*@9K~ jk8qd@z@T*@y*4+*@/@kmT{Bt5#@CP4D)i@? kT R +1 V@ i+ka)Q_ k#T A9H4# r`ETH@9I)A$(ih8' 3@@BR^3@t4@;@ )TiA9)44S)@ )5T 8 6 iT @9KqT HT*@9 bS@:=)q IzTlT}RCPra TjR!@(@9CPh4A@95!<`RviV@Bt5RCPS@@dTraT)@9?qhTJ%Lyixk `_@TH_8I)A(yhμy7I)A)Yn) 8RCPr T(@9q(T)A%+yhxJ @S@_룃`KTi?T)8 ?6?i>T)@9*_q>T!?HT @9S @I)A(_ TJ_8* J@+R*j=) .q@(jHJkaT.{7_T)qaT4n{7_T0=q觟@(*H7(@9I@9 kT"Rһ"R=hA@9h5& ia86ʨ4  )D9Rj%A J_ bTK@8 ik8)  )D9+z 4?T=q觟@(*7"@9TBz7CPrT7@9H@9kTwRhh5& iw86j4  )D9Rj%W J_TK@8 ik8)  )D9z i4?T=q觟@(*7(@9I@9 kaT_"TH@9 C) )@9 (%7z7H@9)@9( )@?kBD"ThRCPrT RR?R7RCPr!Tz7_c T7R!@z7_TCPrTqIT@ TH@9 q!TH@9 ?qT @9=3Y@Bt5k`T 7Rz7_TCPr@Tq T +TH@9 qTH@9 ?q!T=3@I)A(yh)@9%k`T".z7_TqbT7RHAYn)@9*RI!)2?(jk Tz7_T5CPCP!@CPrTU@9TA@95`RwhVw@Bt5 4@R+gh5& iu8@~64  )D9Rj%ʚUJ_bTK@8 ik8)  )D9z 4?TR !@ȳ qJIR AJJ RCP@rD@8k *7?qATkAk@94oNx7@9=? kTJIn8 ? khUT RCPYCPr TIRSCPr`TD@8@7kTKT@9.kT TBt55rCPrT "5@@7k@Tr`T TBT@9? qT87 @9? kaT)R@9J*3 @9_ kaTIRCPrT RD@8@r`55tB> TH@9 )? cT5qCPT?rTqTH@9qTH @9q!T Nx7_T*(H!@9 @%6(@9Q%q(T)%+yhxJ CP@3@#O)R #)RO#(@O( @RS1 R@9 ~ ji8?q7`T?%qT@?qaTiA9eA9>!PBt577@ _HT+Rk!ʚ, (  T@?q@T@ @9@9 ?T*RJ!ɚ+  _ T ~ ji8?qTU`TT@9?T?a`T@94@@y@9iH@4 @J? kAT ~ ji8?qT @?qT]@T @9(@9#@'@+X?k))@O) @S)F@9?qT J)) @94)@*BJ)?qw @ @ hM@*@9 @9o @94_qT_q@T+@9j Jy~ l!@ q)JR+@9,@ @r: RHQ I)+@9,@ @mq/ HQ I)*R+@9,@ @ p$  R RI)HQ uR)R R(R+C@+) @9)9*@9v4#?rT@q R) q7)Q9JQ+4iA94_rTSk@_ iT ҍ* 8 6 iT@9qT HTm@9 qTm hTTW*˫Sk@ TC@_AT '@Hz@3@ktT&Bt5#E)i@? krTw@yHt5w@G@kT 5@)4)@ Q*(K_kF QL_ QL^QS^j  KJ}kUJ}˛JDk KkL@ R`1!(H }@:@ k;T E()}5tBw@ L@J K 8@)a  "TTVJ@ Ki)hH@4i,@P@QIY(@H @uSe9!@O(H @H s,h@@@?qiT)Q  I@H1@9)qAT) @ (E@k@ @3@i @)i @C@?kT@ @@BR@:@9`275tBa @?qaT(Qh BI@(Q?qhH@(4i@P@QIY(,hH@4i,@P@QIY(@H @uSe9!@(H @H s,h@@@?q^T)Q  N@H1@9)qOAT @E@k@G@kT+5@)4)@ Q*(K_kF QL_̩ QL^̕QS^j  KJ}kUJ}˛JDk KkM@ R`1!(H }@:@ ktBdTBI@(Q?qxhH@5r4i@P@QIY(]6@C@kmTBt5@Z6w @HQ@I@) @ kWTQHQG@h5j@@(-(Q@Q(QG@(l4@) @C+ij8h*(i*8W6Z@3@kTBt5 #E)i@? kT R +1 V@ i+ka)Q_ k#T s@yw@y?!(k#TV@ =@k%(k} Li+@J L @J L?!(k"T_@R #@1i_(@9q}TQqabT#E))R? k+@4/@~5@9 qRTR R+@? k+@}5? k}TC@e3@W@)W(R_#V)@(H6w@'@kT.5@)4)@ Q*(K_kF QL_ QL^QS^j  KJ}kUJ}˛JDk KkL@ R`1!(H }~@:@ k)HT5tBw@S@_ kTSz7H_8)qASTTnjz7)qRTPRz6N@_RTJ=q觟@(*(Q7H@9)@9*BJz Rj K)I))OT"RmRbA@9H5& ia8`64  )D9Rj%A J_ bTK@8 ik8)  )D9+z 4?TR.Jz7CPr@T(@9W@9kHITwRjbH5& iw8@64  )D9Rj%ʚWJ_bTK@8 ik8)  )D9z 4?TRDz7H@9)@9( )@?kBDT R +@9,@ @ J@Nm@ kcTV@R55@A@ T CP{TS@ %qT5l-QqTx7_T*@9 kaTW먾T_kT%q!T}5tB@;5  R + R  RK RI)A !@ k R)JRq,@D@@ @@@ T @o@@T@ kkT}@V1@RF@ T5'6(@94k@@)@  @W@>5@G/@ @  kT?@?k`0TsHAYn)@9%k@/T91 ET.T @9? q-T87@9? k!-T)R @9J*3@9_ k!,TIR5Bs@YQ(R ka*T  ?T q#DT?Bt5A55#E)i@? kT R +1 V@ i+ka)Q_ k#T w@y4s@y)!)k#TV@+=@k%)k} Li+@J L @J L)!)k"T?@q?AWTS@_@qT.qx7{s@__T8i_6^T@9*_qa^THT @9 S@_pTmx7{#s@_)T8ɚ6)T@9*_qTHT @9 S@_jTjx7{Cs@_sT8is6rT@9*_qarTHT @9 S@_gTngx7{ s@_뉂T8)6뉁T@9*_q!THT @9  @9kaNT5t !5TH@9 )? CP,T5qKT?r1T qaTH@9qTQ E()} L@J K 8@)a  TTL@ Ki) E()}5tBw@ L@J K 8@)a  TTVJ@ Ki)H@9)@*M@ QI( TA@9$5w`RFa"45Ra4@@@y!@ q TAR%o /@ %Rl,BU54YK@ KS@ k T ? kAT6Tg6 3@G@_5B7S7 @@)S@88S)/@kT(/@_kT)@94I@4M@*QMI5CV%$5_@;@ 뉎TiA9 4S)@ T 8j6 ɌT @9KqaT HT*@9 ] )&@y*BJ)?qC6iH@ 6454?k5T %R+`55tB56/@7@;@k@H@)@  @@ysy@ywyH@)@)M) @O@(@9q`TqT!@CPrTx7qCT(@9qTA@9h5`Rwe`QVw@@Bt54@Rs_@@9I)5&*i`86 4( D9Rj%@ J_bTK@8,ik8 (D9 z 4TR@ @ K)D(%  k1*Q) )g5 9?q}C@ @swc)@TW U) @yU5tBqT!"zs45tBCPmTrI@9?))?' *q(6(RZK@KA9Hw,Te_!TjH@4Rk@k_ kT?qTR)@?qT9RQ6O@4 *O@k7@ T5tBP6S@s4 *BT57@KO@kTUs@g6uRCP7@/R7@KO@kTYs@MTT@ @9*}~ jj8_q$ Ez@TOI_8?)qT@9q`TQO@/U Y5UCPBPK@/9?qͰT#S ? kaT шiTi4@9qTш _8)?qTrT T*K_qT(K?BT*@9KkA$jij8) QqTRx7@I)>TJ9H@6 _ qT? +=TI@9*_q<T) 3(@I)A(yh_Tx7H_85q!TH@9)q(R kAT_T x7"@A_8shR=z`@A@9bz`S@T@R;_ T x7B@A_8sKz`@A@9Ez`S@T@R_Tnx7 @A_8s.'z`@A@9(z`S@T@RR@s@B{tU5(R kaT5 R(R kT.I ((ˈcTшA9HwbTA9kT(R@_ TA9Vyw@Bt5w/A9 (`TA9A9@9  ? k a TM)nQ q T R R R$ in8 w@ֈA9A9J @KAk Z*k*kqSk}k k!˟ bTo K@9k kTJ J!W @ T@9k k@TW @ T@9k k` TW @@T@9k k TW @`T@9k k TW @T@9k k TW @T@9k k TW @ T@9k k5tBw@aT@@9kS@9lA * @9! *@9 *i ? k` TCP?rTI)A$(ih8@_ iT_ } ,} M@  ʭ  TZ!MAIT_bTW K@9k k@TZJATCPrTXCPrTBT@9)?qTATHCQWCPrAT<5tBw@˂wxw@Bt5@ @T_ #@CPr`TU5S4#@K@ K/@ (Uk5BTTw@/ r`55tB R#R9tR5B %qT)Io8_ k@ATB )!R T jN@5TBGN@PVp6M(@9 @@J DH% ?C) K*RI!@J @Ji8? jnT@(Q@Q(Q'e6  ?5tB`w4 4  )D9Rj%ʚWJ5tBPw@_"TK@8 ik8)  )D9z 4?T4  )D9Rj%ʚWJ5tBPw@_bTK@8 ik8)  )D9z 4?TR/5tBPw@(@ M@ ?QHTf 5tBPw@(@ M@ ?QHjTw"R E}A5tBw@!gT~ 4  )D9Rj%ʚAJ_ TK@8 ik8)  )D9+z 4?TR* 4  )D9Rj%ʚAJ_  TK@8 ik8)  )D9+z 4?T=j4  )D9Rj%ʚUJ_bTK@8 ik8)  )D9z i4?TRҫRa4@@@y!@ qaTARi;4  )D9Rj%ʚAJ_ bTK@8 ik8)  )D9+z i4?TR҂\}A5tbBVaWTCProT=@))A$(ih8Z_VTj )7 yhCP!$`R[5tbBw@VRC~6 R k(R kRTJ J4( D9Rj%ʚ@J_bTK@8,ik8 (D9 z H4TR,Ra4@@@y!@ qTARai)7 yh!$`R[5tbB@w@VQ@(Nx7_T*JCij8 @%7 @ |iixhH4@_7@'@+@79yF_FTRRsw @ @@y(44@y?qIzBTyy'R[4aZT !qHTDRR @jJ%Lyixk ``@9(Rs@TA9?qj7s@y?qIzT!@LCPr7Ty@9?C7TA@965`RZApVw@bB{tU544RYH5& iy8@,6s@/4  )D9Rj%ʚYj_ bTK@8 ik8)  )D9+z -4?TRa!@HHy@9HR?#T)A)@95`RZ@4RYH5& iy8` 6s@4  )D9Rj%ʚYj_ bTK@8 ik8)  )D9+z 4?TRj!@EHR`@9H5& i`8   kD9R%@ _ BT @8im8k  kD9 z 4 aT9R`@9Ѣ#µs@CTdhBiR(KR} } SW˨5tbBPw@VAT)TҊs@j4  )D9Rj%ʚYj_ bTK@8 ik8)  )D9+z i4?TR֩R?a4@@@y!@ qTAR h)7 yh!$`R8ZHR5tTbBpw@VAW `@9H5& i`8J   kD9R%@ _ T @8im8k  kD9 z k4 aTR7Q@V7@PbBt5ws@Hs@)ˠ'7hT@y`xѣ#s@(k!Ti@9*JA$Iii8 15tbBPVATbT(R R d kRj KJRJ} J} S?QW)˩5iTs@j4  )D9Rj%ʚYj_ bTK@8 ik8)  )D9+z i4?TRR?a4@@@y!@ qTARBg)7 yh!$`RpY5tTbBpw@VA`@9H5& i`8I s@  JD9Ri%  i?T l@8 il8J  JD9 z J4 _aTR7ĨQ@V7@Ps@bBt5 s@(TR@CRRR@ @ R r qT@@R%R5tbBs@VQ@TAR"5tbBs@VT<Q@@Wa)R9 4 @y)*  +$ T @ k T @*M(J@_! T}0ihXsqbDiTPTQ@Vw@bBt5CPrTCTQ@Vw@bBt5y@9HR?bTbTQ@Vw@bBt5HRWR@(4 ѩS)@ 3ѩS)@ 3)7 yh!$`RWX5tbBw@(@9 )Q?q(Th$ ii8J @w4w) 3yh@R/WA@9H5& ia8 6 4  )D9Rj%A J_bTK@8 ik8)  )D9+z 4?TRLH@9q TqTH@9qTqa TH @9 ?-  R$!JRIH@9q Tq@ Tqa TH@9iq@ TWH@9q TH@9qTq TH @9 A?))F'H@9qTH@9qATH @9qj4  )D9Rj%ʚAJ_bTK@8 ik8)  )D9+z i4?TRS-yAk5tbBPw@`TiH@9qTH @9qH@9q@TqTH @9 ?-R!ItRs5tbBw@l)?q)TT*9H@7/R#RbBt5R6R@PJ(R kT _ qT? T)@9*_q!T) 3(@))A(yh6RktR`bBt56H @9'H @9}qk`T)?qTwsR V@9Y97&)ka86 4( D9RI%! ?bT*@8+kj8 (D9*z 4TRi4( D9RI%ɚ!?bT*@8+kj8 (D9*z h4TR{Uxw2z`s@T@RUA@9)ka86 4( D9RI%! I?bT*@8+kj8 (D9*z 4TRi4( D9RI%ɚ!I?bT*@8+kj8 (D9*z h4TRa>xz`)e) (ih8qTs3@i)i%+yhxJ 5tCPbBGN@P R@R(R kTRrs),q Trrg)q@T@q r])q@Tq5t5tTbBGN@P R(R kT)?qiTwsRLU@9Y97&)ka86 4( D9RI%! ?bT*@8+kj8 (D9*z 4TRi4( D9RI%ɚ!?bT*@8+kj8 (D9*z h4TRҧwy`u@T@R UA@9)ka86i4( D9RI%! I?bT*@8+kj8 (D9*z h4TR4( D9RI%ɚ!I?bT*@8+kj8 (D9*z 4TR9h9CPrT))@( (@9R jNx6 y@?1TI? k<T)@9*_q;TJAJ@9 e3j4(@))A(yhbBx6|q@=T`87(@I =@ R }q3TqhT(@I.=@ R (@A9R jq7I9(@7)A)@94))A(yhJRk!MT# @? qTI? K/TI@9*_q.TJAJ@9) 34(@))A(yhbBJRkIT}q+T))@( @9R jJRkGTRzVt5bBJRkaDT(@A9R jA@9.6WRUVt5bB6RlVbBt5qJRkA<TRilVbBt5qA@96 RKlVt5qbBJRk4Ta R.lVt5qbB6@bBt5N=}6wwQVw@bBt5CPr>T bBt5CPr!ET77@bBt5R@bBt5ir@bBt5LBbBt5BO@5h@ B5h@ RJRk!TR#R@t5RbBJRkaT5R.6R#RVt5RbB65RA@96G)4cѨ, @ T)G (@94G@k@@)@  @@BREn5@U5tbBP (@4( (R(@) (@9aqT)!V)@ R% @GRQ3WY5tbBq@ (@4W(RW@kATI@9*JA$Iii8 1WW+@q+@C'@ @9?]qT@@ @i4 5tbBCPrT@|qH@95B$jh8WBTh1y`T5tbB@P!6T@9jh8b4T@@RN@9(5& ia86 4  )D9Rj%A _bTK@8 ik8)  )D9+z 4?TRj4  )D9Rj%ʚA_bTK@8 ik8)  )D9+z i4?TRaJ$qh1y`H)e(i{8qh-TS3@i)$+ih8J 5tbB@P@R"R"Z,q@T5tbB@P:7@"Rt"q`T@q~"Rk"q`Tqu@yj4R@yk@k@3@@k k @k!@L= = k)@zIzHJ=@RJ} jijx5/@y4R #@R)}Iiix5?.bBH@9)q(RWW5tbBW5qTTH@9I )q75Ry5tR?'@@+@@)k@@_F)@  @ !@@yRI% )@a@s@ 3KA94s4@987&CPr T k`8) D9RI%  )R?5Tji8 kj8 D9 z h4)T#RRyW(R (ѢCR5XѾtbBPsqT@9 kh8* D9 bTl@8 kl8J  JD94 _T#R;PbBtw!TtbBP5'@@CPr TbBt_@R U3@ @y ?@q藟@ *7_5bB5Y5tbB(@94HRW5UbB@PW hRW5tbBW'@R(@) q("IR(@i@?"T RG@k@@)@ @RW_kGR(RR@ysy(jixwyJ9@9( @+@#@)HR@Q 7(R+9uR@ qAT+@C!h@@ TR(@94k@@)@  @_WR}(@94k@@)@  @rV(@@#S@H)@(Rj@7@kT5tbB@h@ @R;R(_8qT(@( (@9i@?k)@C@@Q#9 yR )/jH@O@JK5^C'@/)@9( K@9 J @94?q`T?qT@ERQ _RRQScе,@ a; ITGRDbBQt5@cjH@O@jA5+@R(@9Q y~9RHR5tbBP+@1@*?@_ kT) KP@Jyh_뀮T9 /P@:y(XR5@#)O@ c@tbB@RQ@?@kTs)A4a4;@@7@XRw5@#)4(@k@)@*@Jih8_qT_qT_@T* K @j@k1@9)qATJ @Sm@_@Sm@(  @8@c@T#@Tc@U@ @@?-A T+ A@y)!?qT)7(@H@H˩V)@(H!@!@R7H@ @ P7x 7S@@swZRh@%@ЌA7c@(@ @! R% (R*(9Th@ a@) ah@a@?q8QTph@a@(@a @)4(A7@ @! R% O@ @#U_@w@@ @@?-T A@yp7+ A@y)!?qT6@_@U4H@HH!@!@ M@9)2@+ A@y)!?qT7@@9H7@@_@UH!@!@H!@!@ M@9)y M9, !RBR'4@w˨a4*@?֪JA4H@ @  ?T!8a_H@Q)a4?qT5@RVBRY':@906bRk5TH @6AR @k5TX6@@6@J@J=@9* 7)?!q &T(6ARfcTk5`@%V4@9 r"T"a?@ AC9?q[)R A9@ @ RAR O@  HB@@ k4h@hC)!7*@J@H @ @h @J@J @ k4j @J@J @ A4@((R*)5"@a4@aRTh@ a@) ah@a@?q8QjThBQD444iA9A4S@@QBBt5h@O@h,@P@JQ(Y*XRCJ@H @uSUe9!@5O@H @H s,h@@@?qMT)Q  N@H1@9)qAT @E@kh@@GhE)4)@ Q* K_kF QL_̩ QL^̕QU^j  KJ}kUJ}˛JDӫ KkM@ R`1!(H }e@ ;@ kTBBQT5I@@HQ_q(I@Uh4*@P@QjY(@ E()} L@J K 8@)a  TTL@ Ki)UY+@R *CARa @ R)4r qTBR ҫk5T@'Qa4 7 G@w@h l5A6 @Ja6I),)@  qTQ7HRcRs@tTBB@PV @6)7)@)@9 77T(@S#@h,@& @c!R?V @ R r jQATiR @qTBRRR@2@9?)qAT @5tTBBs@@P@X@)yXIY@XIa@`Ie@dIi@hD@k9K/O@I@uSe9!@H @ ,@@ @?q(T)Q RRc+ROp~Z-AM@Xu5@#)@@ @9  l@9; k @94_q`T_qT(@!O@XYBBt53:/@7R@kHRBV)@ R% '@ vQ9iA9@4@T )A$@9)ij8 ?')@(!A94i9@)@RkyT@!O@XBBt53:/@7R45BBhBQh 4K@ 4iA9)4S@@BBQU5h@&V)@ R% '@Q.@ѵS@ ˬV@ R} Ii(@Hˉ@j@I% (h@i@ kiThh@3@RѵS@ ˬV@ R} Ii(@ˉ@j@I% (h@i@ kiThh@3@HRTtBBQGDr@9tBBQ y~{HRYJ@O@5@yzhx3@J; Ӊ+E)ihxsyHihxwy( @QXiBBt5@#)RW(@y; 5Q_ROsn9Ps@BBQt5@a9@O@5h@ R r)  qT@ @@BRYRp=R6R@B96!R!R!8_@? W@_ q5BR#BR#5c@ sB7h@ @! R% @@kMTv"@)8(H @)4(&@R@ @(a&@?q#T(Q:@i@()5@ J5HA5*@ @JA6H @J7Ha)@ (!@Q(!( @)A4*@k4l@J JC!7@@ @J @j @k@k @K 4 @k@k @J * @ha?@[@) A9@O@kMT4S@Z )-@)@?TC{EODWC_BgAoƨ_֨!@@ @@@TBRN#h:@9076R5K6RI8 F^0F@H 1@9?%qT @@@@@h@9#!F R#`'EaE R#`'E\EDEE"4!BQB4 @9*@9? k T ij8? kTR_ R_D@@M! @ @)@?kT @ @ RJ)TH@kkT }@L@9 @T_R_og_WO{YK8+T5@5@i ?k,T R{4"j@@(N@")ab@ i@ }}5i(@i@KJ}(i*@i@KJ}(i*hRHzi@K(y*{GOFWE_DgCoB_ @jEO{C4 @J5KlQL) ,_Fm QM-_ m QM-^ kQK)^) K@k KK)}jU)}ʛ)D*@J KJ L@ R@1@+( }Ӷa@:@ kT{AO¨_ E()} N@k j :@)a  "Tk@ TN@ji)O{C @)8(H @)4(`&@hR@ @(a&@?qcT(Qh:@)A7)@(){AO¨_h7WO{b4@ @9?r`T)R  @9?erT 2@ RJA7J@K)@k:K@k kCӬ؉Rrk} K)t&@Ja@jRJ8J@j" @J @9( hy{BOAWè_WO{B7@ )D)? kjT @!@ R )9HR94@hC7@5@)5)@ B A5@)A6((@ a) @ )A))@ {BOAWè_@ R_@ I@9?qT M@9I7 @)@R_O{C8@9(7!8i)CjU)} ? ITh@rTP7@7X7R{AO¨`h@ @hTh @@9q{AO¨_R{AO¨_h@@{AO¨_h @ 9@9 6@@=@9'7 R{AO¨_t[{AO¨_o g_WO{-@@o=yK@9?q`T?qT ?qT?q`T?qaT@@9*9C9;c+?89R(y@r@T?qT?qTA@95Ir)5?qT9?1ATRRrSRCRx(>@*Q%h6R?q TA@9( 4?qE@9 @z RRqH49  y61T(RmQqTN)&ymx ֨@9? qT@9hyMqTqT@9y1qT%q!TqT @9y%q6T``R@9? qThyMq TqT@9yq5T%qT1qT@`R_r@9yMqTQqT`R}q@T%qH*qTR ) )Ik8C9*RCi86@_r`T6A$Ii8#9 Rt^@(0@9709(RH6( qT@9(396R#9(0@9709+0@9R R*39@9 R*39VR#9wR96R#9)0@97 RR RR)6R70@9(Ry@9(R%QqT.R!͚GQTe@9qT4@9qT0@9yqq`T+@9qET @9 YѿcTyqADT@9qCT @9q T@9qBT @9HBT?qCThyQaq TMЭ/ih8 ֨@9)qAT @9qT&?qAThyQaqTMЭ+ih8 ֨@9)qT @9qT?qcThyQaqTMЭQ(yhx ֨@9)qT @9q!T@ӃR? qThyQaqH1TMЭ'yhx ֨@9)qT @9qT@ӃRR? qòThyMq%Tq!T@9yqDT%q@T1q!T `RhQqqHTMa0yhx ֨@9q!T @9 yMq TQq`2Tq!TT@9y1q,T%q TqT@91qT @9q!T@91qT @9qAT@91qT @91qaT@9 yMq@TQq-TqAT @9q`TF@91qaT @9!qT@91qT @9)q!TW@91qT @9)qATXhQqqȥTMy+yhx ֨@9qT @9 yMqTQq'TqT@9qT@9y1q"T%q@Tq!Ti@91qT @9qATp@91qT @9qaTq@91qT @91qTr@9 yMq`TQq"TqaT @9qTs@91qT @9!q!Tt@91qT @9)qATӃR@91qT @9)qAT ӃR1q`R`R `RCCCRR@hQAqTM)yhx ֨@9qT @9 yMq5TQqTqT@9q!T@9y1qT%q TqT @9y%q!T``R `R@91qT @9qAT҃R@91qT @9qAT&R@91qT @91qAT>R@9 yMqTQq@TqT @9qTR@91qT @9!qT҃R@91qT @9)qT@91q!T @9)qT@9yMq*TQqT^@9qaT@9Q5qȊTMq4yhx ֨ @99qT@9Q5qTM4yhx ֨ @91qT@9q@&Tq&TqT @9YqT@9q TqT @9QqHTM12yhx ֨@99q!T)q TqT@9q!T @9yMqT @9y1q`T%q"TqT @9y%qT``R'@`R%1q`R`R  @91qT @9q!T҃R@91q~T @9q!~T&R@91q}T @91q!}T>R@9 yMqTQq!T`RCCCR@(R,@91qazT @9!qzT҃R@91qayT @9)qyTӃR@91qaxT @9)qxT ӃR@9qawT @9R 9qvT )R@9Q5qvTM/yhx ֨ @99qtT@9qtTR@9Q5qsTM/yhx ֨ @91qrT@9MqArTR@9q #Tq#Tq!qT @9YqpT@9 qapTఀR@9qTqoT @9QqoTMI-yhx ֨@99qmT@9qmTR`R @9QqqlTMI1yhx ֨@99qakT@9qkT@9qjT @9R 9qiT<@9Q5qHiTM*yhx ֨ @99q!hT@9qgTR]@9Q5qgTM1*yhx ֨ @91qeT@9MqeTRK@9q#Tq@$TqadT @9YqdT@9 qcTఀR<@9qcT @9R 9qabT )R2qaT @9qaTR+ @9Uq`T @9Uqa`T@9QEq_TbRMq3yhx  `R @95qT1q!^T@9Mq@2T!q]T@95q \T1q@ \T@9q@ZTq@ [TvR @99q@T5qZT@9 qaZT@99qaT@9qR @99qXT~ @99qaXT @99q@T5qWT@9 qAWT@99qT@9qR @99qT5qUT@9 q!UT@99qT@9qR @95q`T1qaST@9!qST@95qPT1q@ RT@9q`OTq@ !QTrR @9QqqhPTMa,yhx ֨@99qAOT@9qNTR @9UqANT@9qMTbR @9UqAMT@9QEqLTbRM.nyhx ֨ @95q T1qAKT@9MqJT @99qT5q!JT@9 qITRm @99q!IT@9qHTRe@9 q!HTR`@9qGT`R[ @99qFT@9qFTRS @99q@T5qET@9 qAETRI @99qT5qaDT@9 qDTR? @95qaCT@9 qCTR7@9qaBT`R2@9qAT`R- @9Uq!AT@9q@TbR% @9Uq!@T@9QEq?TbRM)Nyhx ֠bR @95q T1q=T@9Mq=TR  @99q@ T5q<T@9 qA<TR @99q;T@9qA;TR @99q:T@9qA:TR @99qT5qa9T@9 q9TR @99qT5q!8T@9 q7TR @95q!7T@9 q6TRbR`bR RhnRyHR@riRCR@99q4T@9q3T@99q!3T@9q2T@99qA2T@9q1T@99qa1T@9q1T@99q0T@9q!0T@99q/T@9qA/T@99q.T@9qa.T@99q-T@9q-T@99q-T@9q,T@99q!,T@9q+T@95q 3T1qT@9q'T@RtRr@99q)T@99qA)T@9q(T@99qa(T@9q(T@99q'T@9q!'T@99q&T@9qA&T@99q%T@9qa%T@99q$T@9q$T@99q$T@9q#T@99q!#T@9q"T@99qA"T@9q!T@99qa!T@9q!T@99q T@9q! T@99qT@9qAT@99qT@9qaT@99qT@9qT@9 qTR@9qaT`R@9qT`R@9q!T`R@99qT@9q!T R@99qT@9q!T@R@99qT@9q!T`R@99qT@9q!TR@99qT@9q!TR@99qT@9q!TR@99qT@9q!TR@99qT@9q!T@R@99qT@9q!T@R@99qT@9q!T@R@99qT@9q!T R@99qT@9q!T@R@99qT@9q!T`R@99q T@9q! TR@99q T@9q! TR@99q T@9q! TRx@99q T@9q! TRp@99q T@9q! TRh@99qT@9q!T R`@99qT@9q!T@RX@99qT@9q!T`RP@99qT@9q!TRH@99qT@9q!TR@@99qT@9q!TR8@99qT@9q!TR0@9 q@ ATR)@9 q@ aTR"j61! T? q!T@yJR k`T@yjR kTRieS@9)zI@ J Iii8C9*RC86? qThyq!T@xR kT?qT@9 y_q@T@yR_ kAT@9qThŘRy( RK9(R RC@@9 qRR %q@`T1`T CdRP@(RC@9)?7*0@996R#9W709r`T689649?qT )q>)@*Q)%6@94 )A$+ij8 qT R)%˚) 4 @86z T@?+ TKykQaq(TL<ykx ֪@9_)qT @9J_qJӃRY-r!TR?497 @? KTKyMq@ TqT@9ky%q@TqAT @9ky%q!Ty`R? TIy?Mq T?qT@9)y?q T?%q TIR9`R ?qT?qaT߾ T&TߦT&R  TT( R(&R( R/5R @?*T?aTIy)Q?aqTKk7myix ֩@9?)qT @9)?qIӃR?+TIy)Q?aq'TKk5myix ֩@9?)qT @9)?qIӃR@9kyMq!TR? !TIy)Q?aqh?TKk4myix ֩@9?)qAeT @9)?qIӃR"@9)y?MqTIRRIRQq`Ry? tTIy?Mq`,T?qa-T@9)y `RKR,`RMR?1qN`ROR?%q?q9`Rw1qK`RysJQ_qqTKkY=myjx ֪@9_q!oT @9KyMq@TQq@T_q!nT@9J_qRYY@9Jy_%qT_qT @9Jyk`R_1q `R`R_%qyI@9_1qkT @9J_q҃RY@@9_1qiT @9J_q &RY7@9_1qhT @9J_1q >RY.@9KyMq TQqT`R&@9_1qfT @9J_!q҃RY@9_1qeT @9J_)q ӃRY@9_1qadT @9J_)q*ӃRY ?Qq`R 1q `R`RIR`R?1qI`R9IRҩRJQ_qqTKk8lmyjx ֩@9?qmT @9*y_MqT_Qq`T?qlT@9@9)y?%qT?qT @9)yj`RR?1q `R`RRB@9?1qiT @9)?q҃R@9?1qhT @9)?q &R@9?1qgT @9)?1q >R@9*y_MqT_QqaTR`R@9?1qeT @9)?!q҃Rn@9?1qdT @9)?)q ӃRf@9?1qcT @9)?)q)ӃR^R9`R_1qJ`RY_qATT @9J_qRY҉RJQ_AqTKkq6Lmyjx ֩@9?qoT @9*y_Mq$T_Qq`T?qnT@9*@9)y?%q#T?q#T @9)yj`RR?1q `R`RR@9?1qAlT @9)?q҃R@9?1qAkT @9)?q &R@9?1qAjT @9)?1q >R|@9*y_Mq@T_Qq!TR`RA@9?1q!hT @9)?!q҃Rk@9?1q!gT @9)?)q ӃRc@9?1q!fT @9)?)q)ӃR[@9)yRKR?Qq`RMR?MqIRRR9`RR?1qI`R?qRT @9)?qR@9_qaCT @9RJ _9q*)RYҪ@9JQ_5qTKkLmyjx ֪ @9_9q@T@9J_qRYҪ@9JQ_5q(TKki̼myjx ֪ @9_1qA>T@9J_MqRY@9_q ,T_q-T_q<T @9_YqA<T@9J_ q가RY@9_qT_q:TҪ @9JQ_qT+k)?myjx ֪@9_9qtT@9J_q R_)q#T_q&T@9?qA&T @9)yRkR?Qq`RmR?Mq@9)y?%q@"T?qa"T @9)yj`RkR?1q `R`RmR?%qiY@9?1qA"T @9)?q҃R @9?1qA!T @9)?q &R@9?1qA T @9)?1q >R@9*y_MqT_QqTiR`Rm@9?1q!T @9)?!q҃R@9?1q!T @9)?)q ӃR@9?1q!T @9)?)q)ӃRRRRR9`RO?1qI`R~?qIT @9)?qRw@9?q!8T @9R) ?9q))R9R:Ҫ@9RJQ_5qT+k!<,myjx ֩ @9?9qA5T@9)?qRҪ@9RJQ_5qT+k;myjx ֩ @9?1q2T@9)?MqR@9?q'T?q(T?qA1T @9?Yq0T@9)? q鰀R@9?q"T?q/TҪ @9RJQ_qT+kq:myjx ֩@9?9qzT@9)?q RҪ @9JQ_qqT+kA>Lmyjx ֪@9_9qaYT@9J_q R@9?q:T @9R) ?9q))R9RҪ@9RJQ_5qȘT+ki7lmyjx ֩ @9?9q8T@9)?qRҪ@9RJQ_5qHT+k6myjx ֩ @9?1q5T@9)?MqR@9?q`$T?q %T?q4T @9?Yq3T@9)? q鰀R@9?q!T @9R) ?9q))RiR9`R?1qI`R iRR?qT @9)?qR9iRziRw @9_UqT@9J_qbRYn @9_UqT@9bRbRbR_qnbR_q_q_qy] @9_5q` T_1qA T@9_Mq 8T_!qAHT@9_5qiT_1qGT@9_qmTYR@H @9_9qT_5q T@9_ qA T@9_9q!GT@9J_qRY@6 @9_9qT@9J_qRY- @9_9qT@9J_qRY$ @9_9qT_5q!T@9_ qT@9_9qAET@9J_qR @9_9qT_5q!T@9_ qT@9_9qCT@9J_qRY@ @9_5q@T_1qT@9_!qT@9_5q`\T_1q<T@9_qaTYR@Ҫ @9RJQ_qq|T+k9|myjx ֩@9?9qXT@9)?q R Tiv8 @9?Uq T@9)?qbR @9?UqT@9?q9T?q9T?q9TRS @9?5q T?1qT@9?Mq Ry @9?9qT?5qT@9? qRp @9?9qT@9)?qRh @9?9qT@9)?qR` @9?9q`T?5qT@9? qRW @9?9qT?5qT@9? qRN @9?5qT@9)? qRFҩR @9?UqT@9)?qbR @9?UqT@9?q@LT?qLT?qLTRbR@i@_rH q!T?T@Rr k@8T@9J_ qRYR@9J_qjRYL @9?5q`'T?1qA T@9?Mq Ru @9?9q&T?5q!T@9? qRl @9?9qAT@9)?qRd@9J_qjRY,@9J_qjRY&@9J_ qRY  @9?9qT@9)?qRJ @9?9q"T?5qaT@9? qR  @9?9q"T?5qAT@9? qR @9?5qT@9)? qR0҉R@9)? qR@9)?qiR@9_9qaT@9J_q*R@9_9qaT@9J_qJR@9_9qaT@9J_qjR@9_9qaT@9J_qR@9_9qaT@9J_qR@9_9qaT@9J_qR@9_9qaT@9J_qR@9_9qaT@9J_qJR@9_9qaT@9J_qJR@9_9qaT@9J_qJR@9)?qiR^@9)?qiRY@9_5q2T_1q3T@9_q5TYR@@9_9qT@9J_q*R@9_9q T@9J_qJR@9_9q T@9J_qjR@9_9q T@9J_qR@9_9q T@9J_qR@9_9q T@9J_qRy@9_9qT@9J_qRq@9_9qT@9J_q Ri@9_9qT@9J_q*Ra@9_9qT@9J_qJRY@9_9qT@9J_qjRQ@9_9qT@9J_qRI@9_9qT@9J_qRA@9_9qT@9J_qR9@9_9qT@9J_qR1@@9)? qR<@9)?qiR7R@@9)?qiR@9)?qiRRbRR?qibRR@R@@9?9qT@9)?q)R@9?9qT@9)?qIR@9?9qT@9)?qiR@9?9qT@9)?qR@9?9qT@9)?qR@9?9qT@9)?qR@9?9qT@9)?qR@9?9qT@9)?qIR@9?9qT@9)?qIR@9?9qT@9)?qIR~ӃR/5R@@9?9q!T@9)?q)Rp@9?9q!T@9)?qIRh@9?9q! T@9)?qiR`@9?9q! T@9)?qRX@9?9q! T@9)?qRP@9?9q! T@9)?qRH@9?9q! T@9)?qR@@9?9q!T@9)?q R8@9?9q!T@9)?q)R0@9?9q!T@9)?qIR(@9?9q!T@9)?qiR @9?9q!T@9)?qR@9?9q!T@9)?qR@9?9q!T@9)?qR@9?9q!T@9)?qR9R@ҩR@@9J_ qR/RbR@ RbR@?qibR9R@@9J_ qR@9J_ q RRy@R@ RHR,Ry RC R(R@_q rR_q vRY@_q RRy@qRR 4@R 1@R .@?{ ?q*#@@ TTt@QYiT ''?q', k *qT) J( 7藟' J*qT@rT(0@9Ri T(R/@!T(T)09*R(}Wk(8(RdiR(KR} } S@@)09*k)8H(09*4@9 ()_8_ kIT)49*8@9_ k"TQ@kh8(89R@70@9r T?x(4@9Rq1T"4)8@9 kT@R9A99 qT+  Rm@8N J).  aT99*@)y<,i8_!q T R Rlq T@R9A99k m@8N J).  aT99q TR9A99k @m@8N J).  aT99 qTR 9A99kAm@8N J).  aT9 9qTR9A99kEm@8N J).  aT99qTR9A99kIl@8M J)-  aT99*R*<9!qT R RPP@*@9+Rq`TR9A99 qT @R@8J . aT99@-i8 AqTJ*<9AqcTk+@9 q@ TR 9A99 qTAR@8J - aT9 9@-i8 aqTJ*<9aqcTk+@9q TR9A99 qTER@8J - aT99@-i8 qTJ*<9qcTk+@9qTR9A99 qTIR@8J1  aT99@(i8 ?qTI)<9qcTh(@9A9(9@9(9?) qcT RR Rk@@n@8! *@8!*J!T)) qTRR9\@@;D#:7BT_`Tkx8 6O@ h@iuk(870@9 RR(6]@@R) #4ih8O3E9 RZ)-@)@?!T{ROQWP_OgNoM_NNo g _ W O {-@@hA9+9@|@j_ @z Jz* TK@9 * Q=qTRRRR-Iylx ֈ!@jA9fA9cR@-4A9)?,TcA9gA9)@9) ?k+TK)Q qTR R R+k mi`8 ֈ!@A@95@96A!;`R(4@9H5@ 1T?BT#*@9KC ik8J j%J69)TZ?TR77!@A@95@96A!;`R3qKT?TRsB$$R@!4@9hjh8kjTCT T?T@9)R(!2JA+@9Kyk+jT9)AT?T@9)R(!2JA+@9Kyk+j`T9)AT0R@9H+Qq(T))+yhxJ @ֿqKT?TRCZC$RR9(@6 _ T? KT@9*_qT) 3(@{h) Sk T@9Hkh8kJTTWJkh8? kTq TqTqT@9iqT@9qT @9q@9qTqT @9 ?- $!\[R @9}qR#RR(@9S)@9 A *( @9*!*(@9H* k TA94A9k T蓁9 TRc7]}@;E)C)_:x@9hN4{sTP9k T(" T(@9H) kT@ qTR R R-Э i`8k CF)_B@`(@9SCF)_B@)@9 A *( @9*!*(@9H* kT&R?bTq+T蓁9TRc7]}@;E'x@9#N4{T 9?2Uz'@TR5:6R qˮTI?hTqTH*   AA9qTA9mARM?:AzKTRA$@9?)T ii8 2Uz T?:Az+TRA$@9 ii8 2UzKTq"RnqT?BTR{7&RC$@9@9?kcTR1iky864h D9i&ɚ9?bT*@8kkj8 hD9*z 4TRI4h D9i&ɚ9?bT*@8kkj8 hD9*z h4TRBTAT@9kh8kTT"RqT?bTR{7&RC$@9@9?kTR1iky864h D9i&ɚ9?bT*@8kkj8 hD9*z 4TRI4h D9i&ɚ9?bT*@8kkj8 hD9*z h4TRSAT@9kh8kʘTT"Rq˖T?낖TRR7&R@9@9 B)z* i K ))_) HzTR.1ky864 D9i&ɚ9?bT*@8kj8 D9*z 4TRI4 D9i&ɚ9?bT*@8kj8 D9*z h4TRҎgSAT@9)A$(ih8kTTd"RaqTR#{7&RC$@9(TL`5R0!@9ika864h D9i&! )?bT*@8kkj8 hD9*z 4TRI4h D9i&ɚ!)?bT*@8kkj8 hD9*z h4TR2 SAT(@9kh89kT\qˀT?낀T @(M@)T7@9J_ T7kJTTq+~T?}TRZ7&RC$@9@9?k#TRp0Iky864H D9i'ɚ9?bT*@8Kkj8 HD9*z 4TRI4H D9i'ɚ9?bT*@8Kkj8 HD9*z h4TRЀ@ M@) ?QHHT@9kh8kjuTTqKtT?tT @IM@JT7@9k  (mT7k*oTTqqT?BqTRZ7&RC$@9@9?kTR 0Iky864H D9i'ɚ9?bT*@8Kkj8 HD9*z 4TRI4H D9i'ɚ9?bT*@8Kkj8 HD9*z h4TRk@ M@) ?QH먳T@9kh8khTTCqgTR)G)7 )?BT*_8 @9_ kT*@9KC ik8J j%*`69 ) kTz T@9 @9* @+Ak Y*k*kqSk}k k!˟ CTTR+@9k kbT* J!7 @`QT@9k k`T7 @PT@9k k`T7 @OT@9k k!_T7 @NT@9k kA^T7 @MT@9k ka]T7 @MT@9k k\T7 @ LT@9k kKT@9@9^qKZT?ZTR@9 @JA$@9  ? k`TKik8 kXTT<Rh!@V?VT@9!@9k VT9s!T)3RqKUT?UTRZC$@9k`T@9Hkh8kSTcT(R?BRT @9kA,@9lyl% kQT9JTq+PT?OTRA)RJA$9@7 yk @9-!2,jTKik8 kMT#Tk(@9i)A)@9q )@zhT`R/g4Rha4@@@y!@ qETAR=.qkIT?"ITR(Ri? T@9I)? T)R_q@T_5qT@9?)q  ?!T@9I9?T)R_q`T)R kjETT(qKDT?DTR(R? T@9*)_ cT?5q T?qT@9?qT @9)?qTiR k T ? AT@9*)_ T?5q@T? qT@9?qTIR kT?T@9)9?#T)R kj=T#T@9?)q  kTqK;T?;TRCZC$R9(@6 _ T? T@9*_qT) 3(@{h- Sk@T@9Hkh8kj7TTJkh8? +Tq TqTqT@9iqT@9qT @9q@9q@TqT @9 ?-![R @9}qR#R{Rq0T?0TRCZC$9(@7{h1 Sk!T ? @TIkh8_ +TqT@9qTqT @9 A?))FRkvT@9Hkh8k+TCTZ @9'kATR#RzRkTqK(T?(TRCZC$9(@6 ? qT? T@9*_q!T) 3(@{h5 Sk`oT@9Hkh8k$TT!R#RzRkTgq "T?!TR| {7&R{zR-@9ika864h D9)'! ?bT*@8kkj8 hD9*z 4TRI4h D9)'ɚ!?bT*@8kkj8 hD9*z h4TR}OAk dT@9)A$(ih8k TcTqT?TRCZC$9(@6 _ T? T@9*_qT) 3(@{h=Sk^T@9Hkh8k TTJkh8? Tq!T@9qT @9qRR#RzR } ,} M@  ATY!MA T?BT7 +@9k k T9JATi  CQW] e6R*J +k@9kS, @9lA *+k @9! *+k@9 *k kTZ9kT+ T+k|8k kaT qT R R RnOi`8 7(KxI)7 yh!$`R-9jghA@9h#5hA@9H(5;?cT+@@K+@Z)-@)@?AT{NOMWL_KgJoI_FHYk#+@ |B)@*)*)qS)}))!*_ T( @9?kT ! @@T @9_kT @T @9_kT  @T @9_kT @T @9_kAT @@T @9_kT @T @9_kT @T @9_k`T*} *@_AT !*A_)TBT) @9_kT)aT_H CQ __WO{6@T`R{COBWA_Ĩ_"4T8H6T@9 ?qATHT@9 Thh@_8TN(1y`{COBWA_Ĩ_q T)T86IT@9qTџHT@9q Th@R+*5& ia864  )D9Rj%A _bTK@8 ik8)  )D9+z 4?TR``R{COBWA_Ĩ_j4  )D9Rj%ʚA_bTK@8 ik8)  )D9+z i4?TR|M(1y`v{COBWA_Ĩ_ր *{C4 *Co g _ WO{-@@)r';rR R3/@(R?9.'T6rJ.H)I J&r (/AV@7:.#9/ TI ?T*_8J_q T`T_T_T99`Vp7ss@;+3H7"SkTtG @~BU**qS} ! cT*97 ! @ T 9 7  @T 9j7 @T 97 @@T 9*7 @T 97 @T 97 @`T 9J7(@!T(!*A_)TT ) 97)T(R0CQ(7{`BT i l@8lkl8J j JD9*4_qT?T @9qTRy7@!I*k3@ )T'@H*Hi_k@?q #_rrIR+@?3@6X6,k@h4RS*!@95&i{8`6( 4)5&))D9RH% TK@85&ik8)  )D9kz 4 ?!TRҽz5@9_@qR`H'`6f4)5&))D9RH%ȚTK@85&ik8)  )D9kz 4 ?!TRғz_@qRH'`6??;@9(4?_@qR`H'`6.?_@qR`H'`7HT(6Vh7?@k@T+@kTh}T"R%i(%QqqH Tk!jih8) ֈR_@qR`H'g66X7v7+@oR@RBS8|@S|)T3@;@ 'D'!XP@vX6n_cT;@CR3@X6b;@h!h/6@*Ҷ X7?@TOTAy{(6R 4?@?qqT+@kT9&q'@5#@AI H5?@3@ T@9%T+@RB( R R RHR6HR9BR+@oR@+@RBD~@i(;@ @Z)-@)@?T{POOWN_MgLoKC_ҨZ)-@)@?@TCog_WO{-@@r)yrp7ҕ @ @RjTh@9!h/?u7q}cCb @')Uj(c˥2CU4h@9!h/k?U6 @T!(bRCRU6@ @T"RCR@ @T @@)-@)@?!T{GOFWE_DgCoB_Cg_WO{-@@" YRk/%?CeR? @T!(bRCRb)Tjt85! BRCRX` @@)-@)@?T{FOEWD_CgB_ֻBWO{2-iTjt84` @{BOAWè_ց! BRCR-` @{BOAWè_#mog_WO{>Ҿ RR^r2x#8zZC,n{wwb@T@ ?UqT cI J #JZT `TT@ T# T!0RCR@jAT)R 4 @)4@6jJA)J@*kka5k@lyjTJT R?qT 6v!RCR@j T)R 4)!l"RCR9@H X7!RCR@ R ^r R r kT@ @)@ `T\!RCR@ R ^r R r kT@ @?aT @))@9?qT@ haT\!RCR@ R ^r R r kT'@ @?!T /@)@9?qT@ `)T"RCRi@ X6"RCRbh@ @)9?-b T @t2*Ra!> @ qT:@97@4h@ r(i;))E(! =a!=@_7"!!'=:@96(q;! =@5a!RCR#6RR7rZa!R*@6qT.R@ uA9R7r87@@@!H(@9"*Ҋ*))}@ h @i@) @i)8!(bRCR RR7r&BqR7rhT(%yuu4@h p7h7h`7! BR).a!||=a!RCR RY45е9Q"RCR Y5h6@9q*h6h@G qaT` @{GOFWE_DgCoB#Am_BR{GOFWE_DgCoB#Am RcR7r @.҉%a!l"RCR >@96 @_8Bq_Ra!&= @@ ARa!=>@9(6@ @R͊a! = @?qTR(Q h*@4@@a!$~a!RRR7r~@7(@a!Pm@@a!$<@l(@a!8^RR7rcR#R7r^:@9 rT= 4a!hBRCR bMO{-@@C h)@y}).'a! @ϳ@)-@)@?T{COB_^@WO{h)@y}).'a!b@{COBWAO{C =h @Rh6@R{AO¨$O{C &h @Rh6@{AO¨ O{CR{AO¨og_WO{@ @ m@9i 87zZ6uZv6@) ?  j T @;yy{@w @@HX6 @ 0@9?5qT @)uA9i862@9%qT @ @5 @? @@(z#R @R< @@@@Rxlh@  @9qT @@H@HTh@  @9qT{FOEWD_CgBoA_R_WO{C-@@ @ ?!@q!T J%Q_qTj @W A5 jBW@4@KqA9k 7J@* ?!@qAT%QqTR8r.RR#R_@ G qT@ @ @/bBR@ qA9i7@%R+bB4R%CBR3 @H@}S*AbBR@ qA96@ @)@#bBR@)-@)@?T{EODWC_B_?O{#Rڰ @bBXRoh @@@@ΰ3R{BOAbB4R{BOAXRIO{Ch @R{AO¨g_WO{)h@9Ai@ A9rRRH+@j @,1@9)qATk @kYAyk @+J ) @) #!+"B@h5@(.#@B@7Y7P!$RCR 6!$RCR ZH@I3@9?)q@TJmA9j7?)qaT @KA@k5@k! @JmA96!4$RCR H@I3@9?)qT A@K5@ JAB906?)qTJiA9*6!$RCR H@I3@9?)q TJmA9J 7?)q@TJmA9j(7?)q`TJmA907?)qTY@7y77y 7 7y 7 7y 7 7y 7 7@ @h @j @JmA9 '6!$bRCR H@I3@9?)qT @JmA9/6!$BRCR H@I3@9?)qT @JmA976!$RCR H@I3@9?)qT @Y@6!%RCR 6a!u y6a!p 6a!k y6a!f 6a! a y6a!0\ 6a!HW y6a!|R 6a!M y6a!H @ @.dT" @?q#T(Q ~B@y !&@?yq!Td"'a!X$BRCR. H@I3@9?)qT @JiA9j7J~B@y !&@?yq Td" &@h@@y9N8.@hA9  7dH#{FOEWD_CgB_d# .@h@@y9N{FOEWD_CgBO{C5R{AO¨Cog_ W O { -@@h@@y!@ * qT!R1 p3sBhzx d85@hzha!(%Űy(+Y`[a!L%@4B@yp7@H @9 6 @?T*A@yjp6)@id%7@@z Td%+Ȋ@95B@y rT.d!Ȋ@9 q@T q TqA2Ta!&dx%R2@@zaTa!T&RCRE ӊ@9S7 a!4&RCR< ӊ@96a!) 37 73(707387B@yP7X7h`7Hh7(p7@ @ @Fa! '6a!8 3/6a!L 76a!` 3?6a! B@yW6a!&RCR B@y_6a!&"RCRB@yg6a!&RCRB@yo6a!&RCRB@y(w6a!'RCR@ @h.d@'َ@9G94B@y!@)!<:yhxR_kT . J М/3R:h==h= =OOO9OO9 K!&"RCR O9OOOOZT7H?@zhxSEt7i"? jTh@9qTh@9H5 I@y? kiTR@km KqTR 4! Ni A N"NooooNGNNQNNSN4Gn5Gn'Gn&Gn1Gn0Gn3Gn2GnUNFN'PNpRN!NcNNNBNNqT`NNN@n<<< **<*kTm" * kTVy1Tkv8_qTJ@9J4 K=9 K{% y?1T kaT @y4 R5RkT:!&"RCR'1@T a!x'"RCRRkT8 a!'7:OOO9OOf??rT!&"RCR(?@a!'7cADG@w@ @ @d'+@@(?@d'qh T*i)+yhxJ @d*DG@a@ Ha!l&RCRӊ@97+@`@d<)3+@@906+@ @d*,+@@9R jaT.R+@x@l=R%r-h@d(+#G@DB+@`@th@d$(G@'@A+@(@9H66@G@'@B@y9NaB@yhp6@Z)-@)@?A(T{LOKWJ_IgHoGC_+@@97@@d+G@'@d+ҵ"{xO,9zZg,dTzx@`T\7?@V!TDG@d0,6FT>Td*DG@@Nd*"@Cd*&@++@ @TD&@G@(4d`)@ =@9i6 @(@)=@i4@R7r.R@ =@96 @(@+=@k4 @jA!:D@@d(G@yMd(D@t_dl(G@kTG@'@y9(hzu#+@[T@dx+ #R+=@k4 @jB+=@k4 @JJ C#R)=@i4@  %@9S*d)&S.RRsH3@H_@}S R)r *dЄ):@(4dЄ*R@(4dЄ<*>@dЄt*9_WO{C-@@.R 5R8r8ha!5#R@ G qT@ @ @U@)-@)@? Ta!{EODWC_BCBRbA @H@}S*pbB R @@?T#R@ G qT@ @ @CBR8 @H@}S*FbB RARbB(R@)-@)@?T{EODWC_B_9Cog_WO{)"5 'h)u%t$zZ#<М0 a!p%@D)E)@v1bB4]@ $!JcTbBQ"@y(5bBP I"@y4bB AJ9?qT(@l)ih8J @(Rj(F)),(YhbBx+"@yh5(iQq'Tl+yhxJ HR@ֈRPHRNhRLRJRHRFRDRBHR@R>R<HR:R8R6HR4R2(R0hR.R,R*(R(hR&R$R"R (RhRRRR(RhRRRR R HRRRR(R )-(@bB N@9 4bB!J@9q!TN@96bB4"J@9qTN@96bB|"N@9(777h 7((7J@9qT,bB"N@9h6bB#N@96bB8#N@9'6bBh#N@9(/6bB#{J@9qTN@906bB#q@jJ@9qT@a @h@ @h@}SiR *R[@bBL$Rh @bB$KN@96@D)E)s@<@5@(J@9q@T.8@@a!`%Ua @?qcT(Qh T TJ@9qTa!%ARmJ@9qT@{h'@u&h'A(RbBh!N@95tRRhRR{HOGWF_EgDoCC_#mog_WO{?-@@@H@I)))@y)}J@k.`H467776776776@7H7s6 P7@ X7]Y)-@)@?롸TbB(4{FOEWD_CgBoA#la!5"RCRv6a!85RCR6a!l'{66a!'v6a!'q66a!'l6a!'g6G6a!'bO6a!']s6W6a!(W@VX6a!X5RCR\@ R r?(jTa!l5RCRQ66?3qTa!5RCRHV77V77V7`7Vh7p7Vx7Da!(-6a!0((6a!H(#6a!p(6a!(g6a!(o6a!(w6a!( x6?3q@T@ ?!@qT ?%q`T?)q T?/qT R?(jTa!5Ra!5RCR%QqhTi),+ih8J @@ ?!@qT )%Q?qhTH@@4776a!0-@ ?!@qT%QqTH@A@9 rTa!6RCRH@@(* |Ta! 6RH@]@87@7(7077H777 7P7`7 h7 p7 X7 x7 7 7 7 7 7 7 767767x7a!(UG6a!)/6a!0)U76a!L)6a!l)UO6a!){6a!)vU6a!)q'6a!*lUW6a!H*gg6a!l*bUo6a!*]w6a!*XU_6a!*S6a!+NU6a!+I6a!@+DU6a!`+?6a!+:U6a!+56a!,a!(,-66a!T,(6a!x,#66a!,x6a!,+a!,6a!-47<a!l"RCRH@@ 7t(70786a!-a!46bRCR@6X7a!D6RCR?3q T@9(6a!\6RCRj @h@ @J J_8_q@T) h @i@) @i)8!"RCRt @bBp6?CqTyySa!6Y4?#q@T(QqT@ ?!@qT )%Q? qCT R r?(jTI@)@(I@9 qTARf3@ Sa!6ͨg?qAT@X7i)6J@kk7qbH@AR?#q`T(QqT@ ?!@qT )%Q? qT R r?(jTH@@hI@9 qTAR03@? qTH*@H4H@@(RbBD7Y@96H @bBx7P?@s@ k-TB @s@?@sH@@(RbBD77U@97? qTa @?qCbT(Qh Y)-@)@?jT{FOEWD_CgBoA#l_?+q__HT@ ?!@qT )%Q? qT??q!TH@B906@ ?!qR r  JR r$Jz[ @Sh7@bB9_@u_8Uus_bB7@bB7@96aERa!(8 ?qS@T!B>@@>H@ @@t6 @ER! @6H@ @R(~a!ۧH@ R r?(jTI @}6?TJ6? Ti)8jJ}8Ha!P8§!H@ @bB8?+q H@?q_@T @bB8 @bB,9o@9 6H@ @HI @(_8bB`9a?qTH@@Bs@?@H@@bB9 Q%q@Ti),+yhxJ @@@ R r?(jaTH@ @ )I@9? qTAR1 H@@bB9*!Q!q<Ti)!-+yhxJ @@?+q3@TH@!9bB H@@bBP  H@@bB H@!@bB H@%9bB H@ !A9)y?Qq@T!@s@?@_@@ ?!q TR r  KR r_ k@T!@q2T(%Qqh2Tе.RH@@!H(@9R%r3`bB>@H@@bBT H@@bB  H@ @bBH @bB H @*@bB @H @@bB$H @@bB8 H @@bBx yH @@bB qH @@bB iH @ @bBH aH @@bB YH @A@_WbB PH @A@ybB< GH @%@ !bBx H@@bB6?@s@ k TH@@?@?qKT @ @@9@@?@}@@s@xK(}ӗjhhkh@#7@F?@_@=( TI@) @? +TA!-6A!-46A!.6A!<.4'6A!t.76A!.4/6A!.h@ @j @J J_8_qT) h @i@) @i)8ZAy1Di @'bBhZ.Z@u77u77u 707u(77u77u77u 7 7u 7 X7u 7 7u 7 7u 7 7u7h@ @A!-u6A!-6A!.u6A!<.'6A!t.u76A!./6A!.u6A!0/6A!d/u6A!/}6A!/xu6A!0s6A!40nu6A!x0i6A!0du_6A!0_6A!1Zu6A!01U6A!h1Pu6A!1K6A!1Fu6A!1A6A!2<h@ @j @J J_8_qT) h @i@) @i)8Z@i @'bB@!@4-i)jJI'bB4@TȒ@bB8A!X- `/6A!h-t`76A!x-_?7!.AԒ@4774774 7(7407@74H7P74X7`7h@ @)7@!RB/9V4?Cq@"VT'@AR7H@ @BB:H@ @BB,;xH@(7s@7h@ @h @A!`;RCR@s@H6A!x;RCRh@ @.BB;?@k-TT @?@qTH@ @(?@}@@s@X;zy7@F?@_@( TI@) @? T2A!2t6A!42o46A!\2j6A!2e4'6A!2`/6A!2[476A!(3VG6A!H3Q4O6A!t3LW6A!3G4_6A!3Bg6A!3=h@ @j @J J_8_qT) h @i@) @i)8Ȓ@i @'bB#:@bB>@bB"@bBT"@a!SR>@W@kTa!bRCRbB@7@&@bB&@a!&R:@W@bBDkZAy @bB|cb@bB\f@bB Uj@bBXNZ@ub@CRbBbB<@bB<5B@bB.F@bB'N@bB4 N@a!tBRR:@RXARAR+ @BB\>@D@9M6R;rI@(@h)=@i4@!.R3@96I@(@+=@k4 @JJ@B}@+=@k4 @JJ@J JC}@)=@i4@h  %@96R(r#RR%rҪBB>@@9(E6@H@!@ = 4BB>@H@ @ 3=@q+T(@hA @I@" @K 1 VT(@(1+.R_ӟqVZ kTJ@J@TM)U .[{/? A!H?RCR"BT@R@!H(@9 R)r%!*Ro(T@-U q(T @BI-Ak b KuA9(6J @I ) ) #}S R)r *4BB H@@BB\I@(]@75@3@_@s@(X7BB.}gH@@BBxmH@3@_@U@BBbs@#?@!)BB0Qs@BB@IH@@BB8@@H@@4sH@@uA987BBth BB>'H@!@BBH@aBBH@]@BBH@Y@BB\I@(%@)qA9)7BB?@kTH@%@RBBH@)@h@ ]@87JJ J@ T@7)x7@@X@T@Q@N2.Rh@ ]@7x7@@=!h@ ]@ @T@ix7@h@ ]@ @J@Xix7@h@ ]@" @J@JJ \ix7@h@ ]@ @J@T!ix7@7@@@@9R%r3!BB<@|?@k&TH@)@&qA9r &T@s@?@_@'BR3@+@BBl?@\6BB?@Ts@?@_@{.RE(@@!@yI#%@yS R)r *(@#BB4@1(@BB*(@BB#(@_@BBD"@s@?@A(@(BB@"@s@?@/( @(BB$@" @s@?@(@(BB@"@s@?@_@ ?@s@ kTH@ @I @)Ss@)Kj/I @#@9(6@ @RsA!@97ATH@@TA!C@A!H(6@T @A!|@H@#@J @_ )Ta @?qBTY)-@)@?@Tf1@T.R0@9(6I@(@*=@_1T_qT_ 1lT !k@a!Y)-@)@?T{FOEWD_CgBoA#l#R2*=@_1`T_qT_ 1lT !k@j@ RB}@*=@_1T_qT_ 1lT !k@jJ C#R)=@?1T?qT? 1lT!@  %@96R(r7@uBB?tT)O{C0RRRR{AO¨8WO{BB&6>@96@(@)=@i4@R4r!.R>@96@(@H+=@k4 @ B+=@ 5AR{COBWA#R+=@k4 @JJ C)=@5#R)=@i4@  %@9S*A!'{COBWA_O{BB&^.e @@!H(@9R%r3A!'z{BOA_AR{BOAC_WO{BB&04R6r.R(@@!>UW>@96@(@)=@i4@(!H(@9S*ҫA!0';@@!H(@9"*ҙA!X'){DOCWB_AC_AR{DOCWB_ACHWO{-@@ Lh@-U qATh@ @s @5е2@ BRK5е2@(7@4@ (7 @) Bh@6B2@RRRN@2@@ @R @Rr( 6V@2@R @RRHu@ @rT R r* 2  kT@@@)-@)@?T3s3h@a`@@)-@)@?T{COBWA_AR@)-@)@?T'O{C @RRX7RR{AO¨wBB(4R{AO¨?RR{AO¨iO{CRRR{AO¨YO{CRRdRR{AO¨JO{CyRRdRR{AO¨;g_WO{5еb4@` 6b7B-s8C)99c)TД:Z#@@?֠@h4@@I@ TD@I@ @ @h7@7@07@)@ T@7t@6@*@H76@@)@ T "t@h6(-@(5(,9A!R R{FOEWD_CgB_(a+@?O{(7@@)) )@ ThB@y!@ qT!Rh (a@7R{BOA_ )A yh shB@y!iqTQqH TI)i-+ih8J @͘`@YRiq,TmqTq! T`@!RM)q Tmq! T`@=A!?7(A7 @,!@ 7 R R( Qq T-@5@9 -qT%QqT -qT5,-@q`T q CzAT) @,!@`@h@9y!a@1A!Cr!?R{BOA_O{C(a@H7(7@@)) )@ T4Д.@4RRhB@y!@~ hh) h({AO¨_og_WO{ C-@@@@.RRWj.@)?q)(!"RR{G( 07z@_7!TRRRzzx 9Rb@z@TH1TKk.jyhx) RT6R@N9R@@%@@@ h@ @@9 @)(RA!x5B"h @R i6829R@4@%@@@ h@ @@9 @)5RA!x5&"h @R i68v|T<R@5Rv|TRR@A!5 "4v|TA!lBRRS5Rv|TR@4A!5!5Rv|T?q"}@!Q1TJ(A!#1@T(K6*ZZ#{><R9Q?qMT8T#ؚaT!o7A!#1 TA!#b1T 1T(K7RX#9>"}@!Qq!TA!#K @@)-@)@?!T{GOFWE_DgCoB_6"CWO{A!,,TB@y!@ qT!RzA!,{DOCWBCA!,{DOCWBC )A yhA!,{DOCWBC_O{C!@K#!(Q@94{AO¨_{(@H 1@9?%qT @@@@@y6!(R R!T1Rf$ RWO{!!@3g#!{BOAWè_s_"#@(Q@94{BOAWè_ּ@N"_{(|h!(Q@94{_{C4 q"!,#/"_WO{u7"T" "JTj58h{COBWA_Ĩ_og_WO{Cx T9k` T+TR "XT" _8?qqATj  _T K_8qq@T)i K6ˢT"<RXTR6xˈH7 Tl"BT9K R6^"h{EODWC_BgAoƨ_!cT"g_WO{hTi ,TAT@9si@9?k@TsbTv_8y9?T(@9kaT($"4?HT{DOCWB_AgŨ_g_WO{C-@@ @ ?!@qT )-Q ? 1@@z`THX7 R r?(jaTh@@I@9 qTARrTh@6 4R!"RCR @hh@ R  ?qT-U qTBRk!"RCRh@ R  ?qT R)4r qTh@ @t @(KBR@h@ ?qTRh@韙Rr h0BRRy@?TR?83! @ R! (Q@94Nˠ@  R)?Tqi@ R*i@(9@)-@)@?T{EODWC_BgA_ )J?T+@9jk8k!Tj+8 og_WO{-@@H @ -)U ?qAT @6 @ @ R r?(jT(BR@@ R r?(jT@ @I)I@9? qTAR`@@9(R_CTV TAT74_8)qRR_T4_TTh@9@9 kT `5Y7;4_8@9 @8 kT_)qT_ kY7;4T_8)qATh@9@9 kT `4h@8@9 kT   5@9 q@9@9k TITh@9k T` @Th@9k Ts T 4@9ka TcH 6AR T Ҋ@S_89A7˚ @9 kh8 "T @9 k T @9  JqTL_8Mkk8kџ k@TCT*BTh@9kT`p  h@9kT` hTe _8kTsb  d @zTK @4@)-@)@?AT{FOEWD_CgBoA_QQqHT@86))0+ih8J @@D6_@6_@h6__@t6_@P6_@\6_WO{!  {BOAWè_{BOAWè_ִO{C h38{AO¨O{-@@C/ D @@)-@)@?T{BOA_hWO{ & @{BOAWè_WO{(!0@qAT4 @{BOAWè_֠.R{BOAWè'@R!(Q@9q RRN` (Q@9H4R RRD@5` (=F`{BOAWè_)O{-@@CR !R]@)-@)@?T{BOA_WO{2 Ҩ!R{BOAWè:_WO{B4(@T(@@y!-q T{COBWA_Ĩ_? T(@9H66@B@y"rT@`wp6@V{COBWA_Ĩ_{COBWA_Ĩ_WO{C-@@ @X7HP6!6h@ @hw!7!0@qT5 @T m@Rg(Q@9q RR@2!0@qT5 @R@RL(Q@9 RR{/.R.R'(Q@94R RRc@V5 (=FBR?(Q@9H46R RRM@4 (=FBR@ @i @(_8)qT7@TB@yhp7@a4@R1(%@h4)@)@)@))#!!61b>@H 1@9)%Q?qT @@H 1@9?=qT@@A>@ @rTP6 @) @I-U q!T@ @@57BR@957)qT@)85@)))@ T@@z@ )!8  @@@@!!6!0@qT!!7BRCR*!!7BRCR$@)-@)@?T{EODWC_։WO{6ւ@ @i4 1@9)%Q?qT @4@t:@987 1@9?%qT @@@@tI@{COBWAl!R6ւR@ 7RRÀR$R({COBWA_@(g_WO{-@@(!))A?q6@(A,dH@T2C#RÁh@ a@4R@)-@)@?T{FOEWD_CgB_@(B4@4AR @)R * RB7@ @RAR6@ qR  )@@94 (@C#7 @)@( @ @( @)@) @ Z4I @)@) @  @  )5*@@  )5)@ TCH@TR@ @H@*@) )C @J@I @) @) @J@J @* J @J@J @)  @ ; R@)-@)@?Tʅ(@"R{(@H 1@9?%qT @@@@@T!!7! RG{O{CR5R"m{CC#WO{(!@@@tR@@ R>O{Cs-`@ @ @(4@97BRW`@AR{h@@ {AO¨_{AO¨_{CC#{C0 O{CRh!R6{AO¨_{AO¨nWO{=ҳ!RH!R6{BOAWè_{BOAWèLO{-@@CwҌ!R!!Rv`7,@)-@)@?T{BOA_֨{C-@@7@!@ )A,ITCB@)-@)@?!T{A_ )E, T _)K}S_q TKB? ITLyS ik8k%6t7@!@ )A,IaT R_ )E, T _) |Sq IT B? IT xS ij8kJ%6R_WO{(A@))A, `T7@ )E,!@ @ )A,I T _) B? T xS ij8kk2J%j7 <S 4JB? T |S ij8,Rl3J% 7 \S4JB? T |S ij8,Rl3J%7 |SJ4*JZ? T |Sij8))2%66@97U!R`;@C9H4{BOAWè:Ұ!RE!R6{BOAWè_{BOAWèIRآ{C-@@7@!@H )A, @T )E, @T _)K}S_q CTKB? ITLyS ik8k%66@96CL@)-@)@?T{A_֓7@!@H )A, T )E, T _) |Sq T B? IT xS ij8kJ%6 R_6@9_R_{C-@@C@)-@)@?T{A_XWO{R_PABRsNTRf{BOAWè_a"Rg_WO{-@@Miz@9_q6@9(517c17 4t7@N_qZyZw?k Ty0~jxCzyj8>zw ) @}@"R@2@95!RT*@( T7RSR@ qT*ˇ T@5yw-nU8?8@qAT@RRw75t7@Zyh@9qk T_q/ZsZywq! TД-Rb+CRE6@qT@H51!T@qT@?@_q`Zh`Zy7@@@)-@)@?AT{GOFWE_DgC_c 7!!(8cF1`6o_qzyZxh@9qk@T4*}S""6@p? Riyw 8?O{C7{AO¨_8@q!T-@50R{AO¨_a+@?Cog_WO{-@@@9qaT@9qBh{@9q84 R:h{@9q56@97077c07R4R67>8@q! T@R/R%75z7@)Zyh@9qka Tq.ZsqR:R74t4@qZyZw?k T?/~Ӡjx zyj8zw ) @}@"R{@2@95!R*@( 4RSR@ q( T*M T@4ywz7@ywl@)-@)@?Tcq`Zh`Zy7@@x 5@)-@)@? TNqzyZwh@9qk@T 6 @)-@)@?T{HOGWF_EgDoCC_֘ywqATД-Rb+CR6?@qT@H591!T5@qT@?@,@)-@)@?`T1b 7!!(8Ob/6@? R0 8 @` \9__{-@@Q@S#)c# @1ڨ_)-@)@?T{C_{-@@# @1ڨ_)-@)@?T{B_{-@@Q@S#)#_)-@)@?T{B_g_WO{C-@@m @~@Rh @0@9qT@!@@?q# T(Quse@qTqT-R9c+R!6x@qT@H5r1aTn@qT(@?1@TR@)-@)@?Tl1TU7@4W@@)-@)@?T1 T@)-@)@?`TC@)-@)@?T{EODWC_BgA_֖@?qT(Q_֍g_WO{$_qAT!@9{DOCWB_AgŨ"RwX|@_qT_qT*@88T@T *hh8j(8)?lT T*@88TT)@88TzT( T K@88)?Tb @)T, ¬`?b aT  m@88џTTT ҫ . @ A  T   m@88џT @TT ҫ . @ A  T   m@88џT TB TS*@B ¬ ?" kaT T?(T K@88)?T +`b ¬@?B aT T?(T K@88)?T +`b ¬@?B aT T?T)@88T ҫ . @ A  T H*@88TyA+`b ¬@?B aT yA~ TjTh}{DOCWB_AgŨ|{DOCWB_AgŨ_րog_WO{C-@@94R7H6@F Q@9H4IZ)-@)@?T{EODWC_BgAoƨ_A5@ 9546R@@6 TRR  T7ARTRR@Tk78%W7T4Rh:8R qB9\z*~@` R"K@y @qT7!@qT R!R^A4R!RYA@406[@UQ@9h4R77K@y @qT8RR7hHE<U)) :*J9I+k!:Ќ.J*-E:_r#+ 9_@_7_`0_ր__WO{A5@54XR@P`{BOAWè_d{C7@!@H )A, @T )E, T _) ? hT@97{A_6@9H6 @ ?!@qT%Q qT@@@ @%1*J:?qH)*@4#!!:RO{A_%1)):?q(!!0;RA{A_g_WO{ )a4 @ J%Q_q(T @T@)@7A@y"@)B9?qT )7)@i )!@) JA,? TE,?T(_  T(@9H 6R8;R @ ?!@qTE(@A@y"5R7@!@ )A, T )E, T _)?HT @9h07oR7@h6@9 68;sR @ ?!@qAT%QqT@@@@@4  )6)@9 6R8;R ?!@qTBQ)!J.mqY1iqTF< qT7;7YvQ5q' *)3*J H_qTB&(H_ @8+)TI4?qT?qA T @9?)T6 @8?qT?}q T)?)#T RiRRiR @8K)T_qT @9Lџ%Ta6+R K)"Tj@8Lџ%hTj-@8Lџ%T =@8K%hT _AT @8Lѫ)T _T_}T R a5 R*R* R R*R4qT(A=H_(5H_kkAkyi R+jT?qT?q`T`T?}q!T4b( H_ֿT R RiR nAR @8@yp0jT *)T q+T _8qT(H_Cj9EDf9_ֿqT-4qTqTq@T(H_3H_ R R @8N)TN%T @8N)T_T_}TL7,RL 7 Rk6 (H_ R  RiR,R@8}q TqT)Tk7 -@8-ѿ)"T+R )cT (H_ RiRl4qaTl+RiR!4(H_ Ri)A-ylRiR-jTqTqT@9%T(mH_b()H_.R6B(eH_֢(!?H__og_WO { h-@@'9hR)9hA R@8 yj?*jTRt@@93q6T!!dk 65Rq97<@7@(@"(@sB`.@`RRR.@h.@@ @ @@ R u3 !1 RO@2A9h4 RT!p/BRRR"]@9h4 RH!2RRR]A953@ qlT}@9!!xRRR]jt8 є?)T}q@T@}@ziTRA9(5WA9q99 Rr(R6iT7@qT"TRRќ R ̌R̬r( b h@8}q{Th9}q@TQqVZUq UZ? kITR!!8RT~(RR|3RR8Ri  )ySk‰T 9?}q`TkT)Q? k)}zR Jz T5 ~@@q~7@9qT}q@TqTA94h@8qTh@8)TA95%TA9h4tш@8 ?)T}q`TRR qT?}q@9*_)T?}q CzT(RmR3R @797@A94@ @lTiR4i!~џ(TS4 | R!! RRR,\ RT!! RRR"\$@$9aTfA947@qT@9q Tc$RERj!! RRR\$@D@(@!RA!! RRR[}$@ @ш@y  @2 !1RRR[h@9q!T`!!dqR{'@i)-@)@?T{JOIWH_GgFoE_ bug_WO{k4!1RR47@7T @@N:@9 rT R  @@bh@ R r)  qATv @ `TB€RH&BR4B1#R  h@ @) h @i@) @i)8@9%(Tc$RERRh @h (@B.@`RRR@.@@ @ @@ R u3 !1R?@26@9H6 @!p/BRRR[` R:!p/BRRR[!2RRR[` R'!2RRRZ Rr!!xRRRZ@ @ qT@@AR|@!!xRRRZ!! RRRZ@AR!! RRRZ!1RRRZ@ @Z~` AR|@|N~Z_TARv@ @ qT@@@@@] @ш@y  @2 !1RRR~Z{DOCWB_AgŨ_g_WO { h-@@ @ R r?(jTi@)@)_ H@7H6i@ P6* @_ T r`T RY @ @6 @d i@*@ R_ kT"B cR/* @M`  -U qT6Au @(Q@9"4j58cJaRx!!Rv @ ҩۮI:P!g aMTRh@P6<ccBRź@5 @  "P7Rқ!X; 4!!  4w7 @ ` lQ@94@ ,h@P6-U qTh@ @w @cBRh@ @7m @ g Q@94j58  aRpx @94!! R[i)-@)@?T{JOIWH_GgF_"Q@9H4j58 ^ aRDx4R Q@9 4 !X;R*@h@@U!! @ @ @@ qkTQR  (7)_8?qaT*7 ?q5 @Q  "B ccR!*@ q TQ@94j88I aRwu @?qT(Q u*r  WO{h-@@CA 9@(7 6 RR77@9@7( 6RR4*@9)*)@q Az T?֢@0? *@4@$7*i?#T@i)-@)@?T{COBWA_Ԋ cv O{C @hX6s @h2@91qT!1RRRX@ @1@9-q@T{AO¨_C_WO{ @hX6s @h2@91qT!1RRRX @ @H 1@9-q T!2RRRpX!!H Rc!1RRRcX@ @|T RrRs@ @ qT@@ !R{DOCWB_ACARqqTZ  KT6־ ARb.TRs@ @ qT@@!! bRCRi{DOCWB_AC_  g_WO{C @hX6s @h2@91qT!1RRRW @ @ 1@9-q! T!1RRRW@ @{1T RrRUs@ @ qT@@ .{EODWC_BgAAR|@  NqTy6R7 AR|@?TR&s@ @ qT@@qlTt Q3s BRCR1CT{EODWC_BgA_  S4@*!6@@Ys qTiYit2q#R4@949s 9gyR  Rx4!17|R5@i)-@)@?T{GOFWE_DgC_ J J T'+,Kz@Ys Jp @?qT(Q bqT! WqT!X\Z-og_WO{C@@@R@@,@99sA@9(07@ uA987@@]@h@ ?q$AzTRƫh@ R *hh@C@]@7#R R)r jT BRZ @?q T(Q h:@9 079 5{EODWC_BgAoƨ_ֻ@z@W#a!(9t@4 @ @T@2@9%qAT @ @TO`6@@ =@9I6 @(@)=@?qKT@`@<@96@ @i=@1TG@)c|@@9RLR@AT9a!BRCR@@!(@9rR R#x? 1lT@@946@99?1-O{C@@ <@97R{AO¨_ @*@)=@?1`T@! @)c|@H@9RR@{AO¨_R{AO¨_@_#mog_WO{Tu_8aq!T_8aq T_8aqa T_8aq T_8aq T_8aqA TR͜ҖݻH@R*y 0RМ@e@cHghxh88@e@chxh88@e@chxh88@e@chxh88@e@chxh88@e@cwhxh881T"@EqATqTR{GOFWE_DgCoB#Am_O{C @ rT8h@X7!qAT{AO¨_s @h2@9!qT{AO¨_*aR }p _ @q @)@_)@I*@K@+M@9k7 2 K@k 2 J @* 2  raT 2 _og_WO{RR^v6@9qT6@@@R @@T@@RR,R0!8RN@N@9H73h@J@9?q** 65 ?ֈ@@ T6 @ I@9?qT M@9I7 @ )@@ R? jj6< @h4  qp-@=tR4@@*R) )5)@ A9@) h@<R@?ֈ@@N@9(64@@ @)q  @? jj7 R*6@W@ TJ4J@@J K @kqK 8R R  |,R? jJ6|6@!R{GOFWE_DgCoB_4@@ @)q 7O{C @chR{AO¨_O{C4 @)3@j@KqCTk@l@Ly l- @4 *j*A@9?k5l) @ k!T@Qi ^F(Kh*4i @(q!Th@y h{AO¨_I4h {AO¨_ J jk@k@Kl@@mM@9m7J 2j@mJ 2j @,J 2j_ rTJ 2R{AO¨_WO{RR+u6@9 qT6@@@(TR{COBWA_Ĩ_R@@Th @h4 i qp-Fs4@i@*R) )5)@ A9h@)  hh@@x"@)L@9 6)y)L9@)* @Jq* @9? qT)H@9 k87@?IR{COBWA_Ĩ__WO{@@i2@9?-qAT@{COBWA_Ĩ_֔@@ @iRRth @h4 i qp-r4@i@*R) )5)@ A9h@) h @?{COBWA_Ĩ_WO{RRth @h4 i qp-r4@i@*R) )5)@ A9h@) hh@@5R{BOAWè_5"@ @h? @@H9k`T@_֠@@ @H9kT@!T_O{C0@9)qATh@!A9qTh@!@h2@9qTh@@H@9q`T@{AO¨_{AO¨_WO{ @(@(6@J@9_qT@{COBWA_@ !@RRRN@!8aHT@@/F4@ 5!@6:@987@ @|@i@T?! 4@"Ri@T @ h@!@@?qT(Qh@!h@@@?qT(QN@9yN9{COBWA_uh@!h@@mh@@@.@.g_WO{@@R (;@N@96@@(? J@9(eT?WqT@?Cq @!TR{DOCWB_AgŨ__WO{6@@@R!@@@T@@w8R B@@ i@(*h@J@9j87@N@9/6i@ ?h@ ?qTi@)@@) (*h46)R979{COBWA_Ĩ_O{C@@!4@h@Th@h@qhR{AO¨_O{C(@@h?h@T`@hN@97 T`@@?qT(QhN@96`@@?qT(Q{AO¨{AO¨hN@97_WO{ @!@A6@(H9kATh@@(h@7@h@i@h@qh)@ {COBWA_Ĩ_)@I*@K@+M@9k7 2hK@k 2hJ @* 2h rT 2h{COBWA_Ĩ__WO{@@@(H9kAT(@Th@@(h@8@dh@u@J9kATh@@h@@Mh@h@qhi@)@)@I*@K@+M@9k7 2hK@k 2hJ @* 2h rT{COBWA_Ĩ_ 2h{COBWA_Ĩ_A6@@)@ @ 1@9? T)qTL @@7M@ R 1 ! ьa -T@ T_T_)qATJ @@=@4_H@7LM@ R 1 ! ьa T@ T_T5? ?q_)qATJ @J%@JHh?7 Q?q_ ?q_@9@_O{CA6@(@(A? 7@ 0@9_)qT @=@5 =@K59@?`T?!TkJTR{AO¨__)qAT @@@?R{AO¨__)qT @J!@JAYa @ M@ R,|@-|+MimT) @!T )@yl5 !@JAYa M@ R,|@-|+MimT) @T )@-yl5? iA9  6Y@L:yR{AO¨_{O{C@9r Th@yh@96&@!PRRR"dBR!:"RCR4@97{AO¨_{AO¨ &@!hRRRdBR{AO¨{~@{_WO{H-@@A ?@ qTh @@94@I)-@)@? T{COBWA_7@Si@ 7 @) h@2hh @@9h5! ,@I)-@)@?T4P@`B@`RRR\@|@h A) @ 5@Ta5@y h@ 2hIN@I)-@)@?`ThC_WO{(@9 Q?qDT@9J!2Lyixk `>@(4@964BRA6@B@A@@ 0@9?)qAT @@@?64!?51a@q@s4! =5@@ a^@h,4@2h@ @,h@  h[:5!*!95!0@)a4yhA 9@@5!-4!455A6@5@,A6@(4@3@ 0@9?)q3T @A@45h+4!`25@ A@pH*4!05!R(+4!@/56@925Z!)4! ,4!(,5)9GH(4!Lx`+5A !@E,?`-T!*A,? -T(_AJ$|@@ @ ?%q&T5M q%T@@'>@' 1@9)%Q?q&T @H&@&@@*RqT|~qT*F@)ATGh@2A6@h @ @ 0@9?)q T @A@ 5>@ 1@9)%Q?qhT @(@@%@a>@ 1@9)%Q?qT @H@@@>@ 1@9)%Q?qhT @(@@!@y*N! @BR>@ @*@J@A)@)@?@@!N!RCR>@ 1@9)%Q?qhT @(@@B9 By>@ @*@J@A1@)@?@@!&ҌIh@HP6h@ @i @*LAR Oim8yo/j@T ?i-8h@ @R *hd@8@9 r T6@9q@z T҂RRpP@92a>@?!8a$H Tߩ>@(;@C9-qT6@9h4|ڧ'@ A@V6@9@˧AR_Tç6@94f @9=@5`R{DOCWB_AC_@4J%@*Aah@Rr  i6!:!|Rس @9q@9(*rں{)@*@ @@?R{_oWO{H-@@( @4@ 1AT4!RBR7M!R@-U qAT@ @ @@6* @7r@T R)4r qTR!RBR>@9h(6!R@y @@ @CBRT@h6v@rTv. 6@95\I)-@)@?TR{^O]W\o[_hN@9 iN9 @?T@ *R r? kTTT3DR@qTB9qTTcH5;@yH6hN@92hN9{(@ @ 1T @-U qT@ҼR{_BRҴR{_WO{H-@@6@947RRoRRr BRѨRaR^bS @ qaT@@I)-@)@?TR{COBWA_֯{R{_g_WO{CH-@@ y56 @5@ 1AT@-U qT@ @ @a;@c;7@WaT5(AI) ihBRo@a;@W!T@yiR J @9R) J *4"yq+T"@Y`ABRb@I)-@)@?aTR{EODWC_BgA_*MT!RSh @h @y5h@y h@I)-@)@?T*R_WO{a;@Ub;@gaTt5AI) ih{COBWA_Ĩ_֟!Th@yiR Ji @9R) J *4{COBWA_Ĩ_րR{COBWA_Ĩ_O{CaJ9{AO¨g_WO{H-@@( @ 5@ 1AT@-U qAT@ @ @@9}qaT @!`TT@R(r J2@*Rr) J * 5#@()A, /CBR@9}qT"y4qMTQ)R(!q胈3# R_#RReXj-@5"@*YtSi @)i }i7h@y h9C(@iwh h@ ?!@qT @a;@c;7@aT5(AI)4ih"yqlT#@*I TS @R'!T@yiR J @9R) J * 4"yq Tڰ @R!D@RU@I)-@)@?@Ta;iwe(@i7(@iw @*R) * h@ ?!@q@TC@)A, THғRh@ ?!@qT )-Q? 1TX7r T R)4r qTh@ @ v @CBRj @`TT@)Rr J @yJR) J *H4RR"yqLT@R(r J2@*Rr) J *H4RARR ccRERG4+@&t5&h @h !4!Ra+@?"@*YtsBh@yv@?qT)Q }i)@i)j"^ @?q#T(Q @I)-@)@?TR{FOEWD_CgB_@I)-@)@? TGh@{C,qT(R! R jT@A!?T{A R{AQ@97A@ |~ iiJ i)- @* ?qT{A_R{C,qT(R! R jT@A!?T{A R{ASQ@97A@ |~ iiJ i)- @* ?qT{A_R{C,qT(R! R jT@A!?T{A R{AQ@97A@ |~ iiJ i)- @* ?qT{A_RRog_WO { H-@@'МC4@#"@|@`E{c;z@a4@A @J5T@Q@96>)5)@ k,TH `:Uh@yx4@96@2@95qT#Rs@(@HA@yxu @ %#@sb4B[B(y#@sb4B[B @)@?@@H )a;)yx#!T*ia;yxҐRQcJA7H@ @ RAR[JA7H@  AF@@k4 h@(C9#7)@)@( @ @h @)@) @ k4i @)@) @  @)@)5*@@ )5)@ .TCV5@9h06{7y@)7 (@h(@(()uA9 ?7@a;yx!*@R55?@ ZC@3@RRR@H3 (@(@ (@R )@Rr( (6(@2((@R ? z@:H@h)7(@( @HCH_ (@y (Y H@2H!x+RRRC !+RRRC!+RRRC!+RRRCt@!+bRRRC!+bRRRC@K!+RRRC@! ,RRRC4@= T{c;9#7 RR @#@ @ @R@@ARRb~kA7h@ @@Ќ4@) )C*@J@I @) @ @J@J @* Ќ4 @J@J @)  @)h@@@Rc@@:@9(7!8)CjU)} ? I T@r TP7@7X6 @ 9@9 6@@=@9 6RԱ`6 @ @T @@9qT @?qT(Q @h7hQ)R(!qÈ3@RY@@HBRη@ @?q#T(Q 5 @?q#T(Q sb4еB@vz'@I)-@)@?!T{JOIWH_GgFoE__4@CV!T5 @?q"TBRY4@H 1@9?%qT @@@@@Lga;yx!)ia@h6og_WO{H-@@)-?B7RRrs 9ZC!/T@ @H4&@" RS@jTRZR0a@ qaT @BRe@ (@T?5#RM\5Z@I)-@)@?!T{FOEWD_CgBoA_@R{ @-U qT@`R{ BR`R{O{C6@9 qT0LRhL@nM*R`L R{AO¨_O{CaJ9{AO¨O{H-@@( @ @ 1AT @-U qaT@ @ @9`T= T @J**M) p@KKJ ) -3 CBR @9T @J**M) `@+ˌLJ ) -3i@?rTX6i @)1@9?5q!T@@?qcT(Qh @h @I)-@)@?TR{COB_֩ @RȰ81D,O{C6@9 qTqaTs-_s-_KRK@L~RK R{AO¨_O{Cs-`@@?qCT(Qs-`@@?qT(QR{AO¨_Qs-`@ JR{AO¨_{6@y6(H@9q`TR{_O{C!0@qTR{AO¨_@gah@ @*+ _%qd@z T@!@ I@9?%qT@ 1@9* @_-qT)@?1T @4qTh@@@`<@9(6@ @=@1`T @<@96@ @I=@1TR{AO¨_WO{@!@TJ@ @:@987 @iRi*I@9_Aq@T)@ @H* @ K~@NR{BOAWè_RKO{C@!@ @)5)M ?qaT@ARʣwLR{AO¨_og_WO{H-@@9C4;@XP6eGbZC7H@ @RARyWH@  D@@4 @hC{#7i@)@( @ @ @)@) @ k4i @)@) @ 8 @i@)5*@@ )5)@ TC1 Ti@))C?kT@sH7u4C@*!)@ qAT1"]k4@C1JT}@V@@O654)!8"q#TQJKu} K -a N >?!T_ T)a qT(7ARz4(@ !)@k4H@ @H@Rzk4H@ @)@@) )Cj@J@I @) @ @J@J @* j @J@J @) ) @iHSP6A)@)a))@ MTG]!X@I)-@)@?!T{FOEWD_CgBoA_k4H@ @HdWO{(H@9qTN@92N9е@ RR$RJBRRR{BOAWè_WO{6 @95ւ@ RzRDR%R{BOAWè_֔@)@*I@9_qT)@)a@9i6ARe@94҂RRCg_WO{C9@9@Rh@J@9qT@KY_ ?TQ{{EODWC_BgA_WO{(H@9qT~@ R~R$RҲBRR{BOAWè_WO{@!RR$RҒ @5M qT@@AR2kTQ{BOAWè_8!fWO{@!RRRR{BOAWè_WO{H4@94ւB@!RBR$RBRPR{COBWA_ւ>@"R>RRWO{"@$"Rj"R$RBRR{BOAWè_WO{ @@@@a!R F@`R=FRR!8a{BOAWè_h>@9H6h@@ 8{BOAWè_ցnK!8 6@9_q {BOAWè_O{( @ T4BAR"RhY @ 5@9 6@@th:@9H(7!8i)CjU)} ? Th@rTP7H@7X7R6h@ @T(h @@9qTh@@h@9 h @ 9@9 6@@=@9'7@929R{BOA_)@'@"ZTO{C @8@9H87@ @ ޸R{AO¨_|@)R{AO¨_O{C3@3 @5M qT@@ !"RtR{AO¨_AR^R{AO¨_? R_.@9h4R_(@@@H I@9?qT@R_O{C@!@2@9?)qAT@ !A9?q!T@!@ 1@9?qT@@ I@9?qT@ @?TM@906>@9H(67@@97BRR{AO¨_gR{AO¨_C_WO{(-@@@!@i2@9?)qATh@ !A9?q!TDh@!@ 1@9?q#T@@J@9qT@6@9( 4 Rrh@  qTh@ @v @@ q TARh@7+BR@ q!T@@h@6)7)@)@9)7H7X6h @ 9@9 6@@=@9H 7M 6@9H5@{+@@멲A(N@9R N9@))-@)@?TR{DOCWB_AC_\CWO{(-@@ @4!@@ -JU _qT@J @ @*-C+6%A96(7X6 @ 9@9 6@@=@9( 7CBR3i@@*-C+6%A9H7 @ @(+r@r@#6@@7@->@9 (7@))-@)@?aTR{DOCWBC_!x#`R7@))-@)@?T7X6 @ 9@9 6@@=@9 7RT?))A$?T@9 _q!T @8J_qT _8J_qT!cT @9*ij8 !T@_T @9lq!Tl@8qTi_8)?qTJcTl@9,il8k JTi@>@9/6h@2h@))-@)@? T_WO{(-@@ @-U qTh@ @u @BRh@C@%A9@7HX7 R)4r  ?qT@) @(6H@_6!#`R@ R)4r  ?q`TcR@(7@rrC#% 6@h>@9(7 @>@9 (7@R޿@x647@@97Rl @#R @@Rſh@(7X6h @ 9@9 6@@=@9( 7@2x6 @*@2x7h@7@))-@)@?aTR{FOEWD_C_h@ @I @))-@)@?T#RU @,@@R~=X6x#6@9q@T(`@967@)A  aTR_֨6@9),(9R_֨,@9) @*)@qH( R_O{C@ %A9 4VR{AO¨_!@@9@KR{AO¨_{R{_WO{@ @a@!!@RRR: @@!8aH`T@!@@?q T(Q @ @!@`@@?qCT(QhN@9yhN9{BOAWè_T@@hJ@9qTs@!@{BOAWè_@!@:@987@ @TҰ|@T:@987 @@)@ @@RU{BOAWè_{yO{CBR)R{AO¨_O{C@ @h@!@BRh@!@8@907R{AO¨_[R{AO¨_{! RR{_{!@R{_( R_?R_{)@*@ @@?R{_!H9O{C @.hR{AO¨_O{C( @ @R{AO¨_O{C @R{AO¨_WO{4@96( @yS)6+ih8J @h @ 1@9?)qT%qh @ 1@9?1qTY%jh @ 1@9?5qTq%ch @ 1@9?-q T@U2@9?1qTJ!6Lii8k `֩)4)@@ yj @J @(y*@?qT(QN962@8@906N96(@ @)5)M ?qaT @!@@ @) f @RRR9N96ARh @ @) b @UN97 R]R{COBWA_օN96$9%%g_WO{(-@@ @9Qq T)Y6+yhxJ @ִ>@h6@9hQ4BRA6@ @ @@ 0@9?)qAT @@@?Nh@5M q7Th@@h@5M q7Th@@@8R4!5h6@94&@9(5h@5M q[Th@@B :@h@ R r* 2  ka4Th@@@h6@9P5ҟA6@h@ @ 0@9?)qAT @A@56@94@))-@)@?TR{GOFWE_DgC_@9J4A!d5h@ R r)  qSTh@ @t @h@5M q-Th@@hh@5M q-Th@@m!(5ARٛ)9@8F4!L56@9rATh@_P7sB E,`"@@A,H@TP"h@(@@7rA@T@h2@9%q(TN@96a @?q#xT(Qh N@92N97|@>@ 1@9)%Q?q(T @@h@5M qSTh@@h@ R r* 2  ka#Th@@h@ R r)  q#Th@ @s @>@h 1@9)%Q?qT @@th@5M qaOTh@@{6@9:4qT`>YIh6@9(=6t @R@9Mq`T1qAqT@5M q:T@@!RBR7@ @@m)!R"#h@ R)4r q!T` @h@ R r* 2  k!Th@@ >@ 1@9)%Q?q(T @@h@5M qETh@@/h@ R r* 2  kTh@@ @@?qaT(Qh6@9h25>@H 1@9)%Q?qT @@T@)@3@)!RR@->@ 1@9)%Q?qT @H@h@5M q>Th@@>@ 1@9)%Q?qT @@@1@@1!RR@5h@5M qTh@@h@5M qATh@@AR)(9AR2)a(}ARA:Ͽ6ο7uARA4@H@_q$@T*1@9J%Q_qT) @ɭ)@5M qTh@@ARrm3TДB>@@?q/T(QARQAR^!*JBR@REA 9@)2 9`5 h@R h@ .IҸ@ @@!hRRR5@!h@1@ @@!PRRR5z54~6 @y4)2 ydAR@9q *9AR@AR@%@ %@%ARߘ@!AR٘@ B9@7@8@ B9)2 9)y 9 Rr  qTh@ @` @BRN@!T R RpAR@ @ @(@AbT R R  }ooNoN  C=d=Oo@NNN!N%n%nNN!TBNC@nBJ< K&l * N@n <  &m * ATB |o=E=f=Oo= oooooo<NNNNcN!NNBN'n'n'n'nNNNNAT$NENN@n< & *N!NN@n < & * `TH7  R.@8* J *JaT4Q#T 5sB E,`"@@еB,U@Tu"@929sB ДF,`"@@A,H@Tt"h@  qTh@ @s @cBRB E,"@@A,H`T"@@5"_|T @9H|'6ؾh6@9(5ԾѾ@!&қ2Aa@97p҂RR[A>@BRq')'(&DA>@BR`@9)).J1qHW(2O{(-@@ @-U qT@A@BR1@/@@))-@)@?T{BOA_O{(-@@sh@ qT @ R*4r) ?qT @" @@BR@h@*)Ѵ@@@_ T]@@@i)8@@@ h@) QM@@i@)QI)8q @? q T)R@_y)) ? kT@))-@)@?T{BOA_C_WO{(-@@ @-U qAT@ @@a;@u%BR@a;@b;@aT5A)) ih@))-@)@?`T!Th@yiR Ji @9R) J *4@))-@)@?T{DOCWB_AC_րR@))-@)@?Tn_WO{a;@Ub;@aT5A)) ih{COBWA_Ĩ_֟!Th@yiR Ji @9R) J *4{COBWA_Ĩ_րR{COBWA_Ĩ_RtRr5 @)Q _WO{! @@?TRB :@2:&@RR%M&R{BOAWè_WO{(-@@@ @-U qT@ @@_ *TBR@_ T(@ɬ)N T@))-@)@?+T{COBWA_( 9}QYqHT)I:+ih8J @_<AT(@kRJr J)@xR) J *(5R_<@T_paT(@)LҩM )A,Ҋ -ʍ) *@A +̭lJ   4R_4AT(@-Rinr kTR_4!T(@̌RLr kTR_DT(@.҉M)l !TR_(T($@9qAT R_,T_@T(@ɍR)Mr J) @JRjr) J *H5@R_4T_` T_LAT(@鍌ҩN )AxR)  (@Mҩ- )AxmR)  R_PT(@m҉L )@J*.)  HR_LT(@̌))-i. )AxR)  hRxH,T):j+yhxJ @(@x),R kTRi_,T(@xI.R kTRa_<T(@-Rir J)@xR) J *h 4(@-R̮r J)@x*R) J *5RK(@)R.r J)@xjR) J *h5TR@(@xi.R kTR:(@)OR̬r kTR3(@҉., )@̍j.*)  R#(@.Rr kTTR(@.Rnr J)4@9 R) J *5R(@)-I )D@9jR)  4RRRеB h:@9((7!8i)CjU)} ? iTh@rTP7H@7X7R6h@ @T(h @@9qTh@@hR@4 h @ 9@9 6@@=@9'7R@*RT{O{CДB :@2:" @&@!@_!TRRK&b@a@_ T^R{AO¨_RRJ&b@a@_!TLR{AO¨_O{CsB `&@K&RR{AO¨_O{C"H9!8aRtT@@hJ@9J@9?k`T@N@96@@?qCT(Qh@h@ @) N@92N9 R{AO¨_ch@h@(O{C4@97Rn@@h"@y)! y( R{AO¨_{( @y)! !yhŏR{_____O{C@"@# @y$$@y'@R!1h@aT@h@{AO¨__WO{C@@AT@@"@y&@y@҅R0` {EODWC_B_֨@T7@v@ 7 @) @B2@RRR@2@@ @R @Rr( 6@2@R @)R @@"@y@&@y /P{@RRR0@@@{_O{8@b@c"@yd&@yg@҅R0{COB_ h"@yi@j&@y0@?qT(Q_~O{C R Rh@!  h{AO¨_og_WO{C<@9'6@!@vh@1 R Rc@!  @R?h@@T>@96@(@)=@?qT@~? 1T@x?1@ @T @@BRɽ4 @?qT(Q h@c @7@@ 7 @)  @ @ @7@W8@{C`/@`RRRLj#@h/@@ @ @@ R u3 A) @ 5@Ta5@y @ 2@ @@ jJ @?T @!)#*@K @kK )!?Th@7@6@ 7 @) c@B2@RRRo@2@@ @R @Rr( 6w@2@R @}@>@9(6@(@h*=@_q-Tw@)=@4@  _ 1T !w@_1`T @9#8? qT*;w2kTH!5cA@RRRE/_T"@)c|@H@95c҅R8/A!"RRR&/@)R *v{EODWC_BgAoƨ_օLR,h@hn0C#mog_ W O { -@@/<@96@ @ =@_qT4@ =@_1T _qT _ 1lT+!k@v! =@_1T_qT_ 1lT)!)@3@6!@8@@?q<T(Q_ 1,T4@ =@_1T R R@!  h@@@?q9T(Qs~@@9@1@"@)c|@(@9Rҫ.@&qT&qT@ʉ)ɪHi* "@9 R)  hA!"RRR.) @) 3R @@= @2@ Q@)y QC%847@@ 7 @)  R@ @R8Z#8 _1 =@_1aT =@_1aTR61@B2@RRR@2@@ @R @Rr( 6@2@R A) @ 5@*#Ta5@y @ 2RZ8Z#8 (Tc@CRRR-RG8M9R+@!@\@@?qT(Q R R@! h@@@?qcT(Q7@ @@=+@ 9@9i'7@ѷϷ8@w7R8 Hc_(#@@%@9R7 @@A?@96@(@h*=@_qTx@)=@) 4@@@4@#'! @)c|@(kc8R~-"4Q@@RRRr-@h@-qTR~ODTh@ @@!@ R Ru@! h_ 1T !x@_1T@@@@@4@&!"8 @)c|@kc8R2-9#4Q!@@RRR&-@h@-qTR2@@@ @(#@"@)}@H@9@/@ )-@)@?T{LOKWJ_IgHoG#FmC_ `J6og_WO{6R57`{1R.7@#@)c|@H@9R,`@#'@)c|@hjc8R,@@@R,H@ @`@@)c|@hjc8Rҭ,{FOEWD_CgBoA_#mog_WO{c7@@8 <@986 @*@*8)=@?17T@! @)c|@H@9Rҁ,@6@5T@ @)@4)=@7{C)5Zc5 4@3}J)\)}T qT@ @?qT @-R*ͭr? kT@@@qBT!!"R@5@7 @) #!!BRCR@ @(qT!! (@9rR R#x@@qB!T !R@B.@`RRR@.@@ @ @@ R u3 h@`@ (T7H@y @ 2 4c7RR" @ ( 4@@qT@-R)ͭr kT{@@@qT"R!!BRCR@ @(q T!! (@9r#sQ@%A? TgF@@@@qT!R .@ @(qTc@Zc5{C)5B7B  .R˹@ @(qT@@7 @) @2@RRRWRr@2@@ @R @( 6_@2@R h@`@ TH@y @ 2@ @(7 @) 2@RRR @2@@ @R @( 6*@2@R h@`@ TH@y @ 2^.5Rf5 (w#8Ё@2@ǁ2@ h @ RC5h@@>@96@ @ =@?1@T!@@h @T R R@! @h @T@?qcT(Q{GOFWE_DgCoB#Am_(Hh&H$HC#mog_ W O { -@@/#bH<@9(6H@ @=@1{#8RRR{#8#@RRRR*@ic [TRR'y+@{#8" j h'@h@!@@h @) @ R Rh@!  h@ 8#RRRO*@@?qcT(Q @@?qT(Q'@ =@97RRy+@{#83@@=@1`TqT 1lT#@2@9-qqT@@ @1#qTRRR3@y+@{#8 2@9-qT@@ @1T3RRr BR@C+@e>4sQ@ @H qAT@ @@C+@W>s5C@RRRR)@iIaT+8jc h|7+@@!@h@h @) d@ R R@!  h@ 8@CRRR)`@@?q#oT(Q~ `@@?qnT(QD)^7 @(@)=@?qT@ 2@9-q_TR@@ @? 1LT@)1 @! @)c|@H@9R҄)@@ 9R(zZ{#81 57 4Q@@RRRj)`@5x3R3`4Ra@!@h@ @) d@  R Rh@! @HRRR6)`@@?qT(Q~`@ @?qT(Q:8'@@ @)75@J75@(H@H`@)A 1@RRR)A@(1@@ @R @Rr( 6@2@R )A)(@ 5@jTTa5@y @ 2@h$7#@"8(@@?(9"T'@) @:yyZ@@@@"8H@! @)c|@H@9҅R(Z@H @1@9%qaT;?;@ q+TiKi8?q!TQhKh8qTqATh@9qTH @ @@'@ T+@H@! @)c|@H@9R҄(@@ 1@9?%qT @@Hh2@9-qTh@@s @)76@6@()7(@()A -@`RRR9)A@(-@@ @ @@ R u3 )A)(@ 5@*Ta5@y @ 21@T B@ @ ( q@T`@ARm;@qT!!"RCRe@%A?,T!!BRCRZ; H@ ? 1T@ @ %@9qR R#F@%A?LT?@9h6@ @ =@1Th2@9-qTAR.a;@qT!!"RCR%!!BRCR ; H@ ? 1!T@ @~)A -@e@ @ %@9qR R#Ew+@ @ @( @7#@s7(@ @(JT+@) @9ywA @@s79@( @1@9%qaT>;@ q+TIKi8?q!TQHKh8qTqATH@9qT(@! @)c|@H@9Rm' ( @ @@+@dH@T3@9-qT@@ @s@sh@()7(@(h)A -@`RRR%)A@(-`h@h@ h@ h@h@ R u3i )A)(@ 5@JTa5@y h@ 2h1 T Ah@i @ ( q@@T@ARY;@qT!!"RCRQh@%A?,T!!BRCRF; (@ ? 1T@ @ %@9qR R#2h@%A?LTAR([;@qT!!"RCR$!!BRCR; (@ ? 1T@ @})A -@@s@$ %@9qR R#D/@ )-@)@?T{LOKWJ_IgHoG#FmC_R8R!:RR1@@RRR&;R":4@ @Rr( qAT@ @@;@@BR0;@ @RRRk&ZQ9'@;@;7'@ =@9i7 @(@)=@?qkT@? 1lT@?1@T@`@ @@%SRKNC]JHF#m_WO{<@9H6 @(@)=@?1`T?qT@!@~@?1JT@!@~@J1@@)@9$@R&@h@!@@h@!@@&q@T,h@!@` R Rh@!  hHRh@!@@ R Rh@!  h@&qT@ʉ)ɪHi* ʩ"@9 R)  h4!!"RRR%) @) {DOCWB_A#l_/R0(wBR/1R @!@@ @8R R R@! @ 4h@2hh@ Q@)y Q{DOCWB_A#l_֠2'WO{@RRRr%@@@ua@?`Tb@h@hNuh@h` @{COBWA4{COBWA_3O{`@s4cRRRR:%4!B<#cHR{COBhR0ȼWO{ДB45@ @+ е4)@ J J}}_!!T6}@R @{COBWA_֡!x4m4#mog_WO { -@@@ @D =@_qT5@ _ 1T5@U_1`T >@9*B65@AqBT!@3h@t T`@B4cRRRR$ h@AT@h@! R R͵@!  h @`@ )-@)@?<T{JOIWH_GgFoE#Dm_`"@J7T@)7@H(@(J{@ZC@/@`RRRV}@H/@@ @ @@ R u3 {C)h@`М5@*3Ta5@y @ 2@%A8?T>@ @ ( !!\4bRRR7$#8@ @*_!@qT))%Q?qT @ @)(@ @1`,T; @ c(@)r)76@v)@()7(@(@@3@RRR|@H3@@ @R @Rr( 6@2@R h@`@$Ta5@y @ 2c!!"RRR#cRRR#&A))y *R) *&)v&A))y ) *&)@ )-@)@? Ta!{JOIWH_GgFoE#Dm@/@Q4h@@9R/@@@@V5 /;R @ ( {4{Q@RRR#@c?@T@r@%A?T>@H@!@@ R RH@! h@~/݌y@>@ 4 @!AR {qT@ @ R R kT@ @H@!ߺ {q!T)76@V @()7(@(B2@RRR|@2@@ @R @Rr( 6@2@R )A)(@ 5@Ta5@y @ 2c!!"RRR"RRR"@@%A?T=@ @ ( Q5yB2@ 7@y@@3@*@g(@0e5at{(Q=q"T)<+yhxJ @9Q1qh!TR)i+yhxJ @{_9QEqT) +yhxJ @@9qTR{_9QqT)9 +yhxJ @@99qT@9qATR{_9QqhT)a+yhxJ @@9qAT@9)qT @9UqT@9Mq!T@9QqT6R{_9QqT)+yhxJ @@9qT@9MqAT @9QqT@9IqT@9=q!T@9eqT`R{_9QqT)>+yhxJ @@9UqT@9QqaT @9=qT@91qT@9=qAT@9qT@9qTR{_9}QQqT)1=+yhxJ @@9}qT@9Aq!T @9q T@9 qa T@9-q T@9q T@9qA T @9q T$@9}q T(@9}q! T@{_@9qa T@9q T@9q T @9qA T@9qT@9qT@9q!T@9qT 9qTq!T$@9qT(@9qaT,@9qT {_@9qAT@9qT@9qT 9qTqT@9qT@9q!T@9qT@9qaT @9qT$9qTqaT(@9qT,@9qT0@9qAT@ {_@9qT@9q!T@9qT @9qaT@9qT@9qT@9qAT@9qT @9qT$@9q!T(@9qT,@9qaT0@9qT4@9qT {_@9qT@9qT@9q!T @9qT@9qaT@9qT@9qT@9qAT @9qT$@9qT(@9q!T,@9qT0@9qaT4@9qT8@9qT<@9qAT {_9%QqhT) +yhxJ @@99qAT@9%qT @9QqTR{_9 QqT)Q+yhxJ @@9qT@9q!T @9%qT@99qaT R{_9UQqT)=+yhxJ @@99qaT@9%qT @9QqT@9 qAT@9!qT@9qT@9 q!T @9-qT@R{_9qTqTqT@9q!T@9qT 9q@Tq!T@9qT@9qaT@9qT@9qT @9qAT$@9qT{_9q@PTqT@9qT 9q=TqT@9qT@9q!T@9qT@9qaT @9qT$@9qT@{_@9qT@9qT 9qTqT@9qT@9q!T@9qT@9qaT @9qT$@9qT {_@9qT@9qT @9q!T@9qT@9qaT@9qT@9qT @9qAT$@9qT(@9qT{_@9qT@9qaT 9q +TqT9qTq!T@9qT@9qaT@9qT @9qT$@9qAT(@9qT {_@9q!T@9qT @9qaT@9qT9qTqaT@9qT@9qT @9qAT$@9qT(@9qT{_ R{_R{_ր {_ R{_9qTqT@9qT @9qAT@9qT@9qT@9q!T@9qT @9qaT{_@9qT@9qAT @9qT@9qT@9q!T@9qT@9qaT @9qT {_@9qAT@9qT @9qT@9q!T@9qT@9qaT@9qT @9qT{_@9qT@9qT @9q!T@9qT@9qaT@9qT@9qT @9qATR{_@9qT@9q!T @9qT@9qaT@9qT@9qT@9qAT @9qT`{_@9q!T@9qT @9qaT@9qT@9qT@9qAT@9qT @9qT{_@9qT@9qaT @9qT@9qT@9qAT@9qT@9qT @9q!T`{_@9qaT@9qT @9qT@9qAT@9qT@9qT@9q!T @9qT{_@9}qT91q@%Tq@'Tq!T @9qT@9QqaT@9qT@9}qT@9}qATR{_9q TqAT@9qT @9qT@9q!T@9qT@9qaT@9qT@{_@9qAT@9qT @9qT@9q!T@9qT@9qaT@9qT{_@9qAT@9qT 9qCTqAT@9qT@9qT@9q!T@9qT{_@9qT@9qT @9qAT@9qT@9qT@9q!T@9qT {_@9qT@9qT 9qNTqPTqT@9qaT9qTqTqT@9q!T@9qT {_@9qT@9qT @9qAT9q`TqT@9qAT@9qT@9Iq)*q@{_9qTqTqT@9qT 9q^TqT@9qT@9q!T@9qT@9qaT {_@9qT@9qAT @9qT@9qT@9q!T@9qT@9qaT{_@9qT @9qAT@9qT@9qT@9q!T@9qT @9qaT$@9qT`{_@9qAT`{_@9qT6@{_@9 q) q@{_@9qTR{_9qTqTqAT@{_@9qTR{_@9 Rq)q@{_@9qT{_9 Q?!qˆT}@)( @{_@9qaTR{_@9qT{_@9qT@9qT @9q!T@9qT@9qaT{_9q`TqaT@9qT @9qT@9qAT@9qT{_@9q!T@9qT @9qaT@9qT@9qTR{_9qTq~T@9qA~T @9q}T@9q}T@9q!}T!5RR{_9q`Tq{T@9qA{T @9qzT@9qzT@9q!zT{_@9qayT@9qyT @9qxT@9qAxT@9qwT@ {_9qTqvT@9qvT @9q!vT@9quT@9qauT`{_9qTqatT@9qtT @9qsT@9qAsT@9qrT"i6{_@9qrT@9qqT @9qAqT@9qpT@9qpTR{_9qTqoT9q TqnT @9qnT@9q!nT@9qmT{_9QYqlT)+yhxJ @@9qkT @9qakT@9qkT@9qjT@R{_@9qiT9qTqAiT 9q 0TqhT@9qAhT@9qgTR{_@9q!gT@9qfT @9qafT@9qfT@9qeT`{_@9qdT@9qdT @9q!dT@9qcT@9qacT@9qcT{_9qTqbT@9qaT @9qAaT@9q`T@9q`T@9q!`Ta6R{_@9qA_T9q TqTqa^T @9q^T@9q]T@9qA]T@9q\T{_9QQq\T)1+yhxJ @9q TqZT @9qAZT@9qYT@9qYT@9q!YT`{_@9qaXT@9qXT @9qWT@9qAWT@9qVT@9qVT{_9q`TqUT@9q!UT @9qTT@9qaTT@9qTT@9qST{_@9}qRT9MqTqART @99qQT@9qQT@9}q!QT@9}qPTR{_@9qPT@9qOT @9qAOT@9qNT@9qNT@9q!NT{_9q@Tq!MT@9qLT @9qaLT@9qLT@9qKT@9qAKT {_@9qJT@9q!JT @9qIT9qTq!IT@9qHT@9qaHT@ {_@9qGT@9qAGT @9qFT@9qFT@9q!FT@9qET {_@9qET@9qDT @9qADT@9qCT@9qCT@9q!CT`{_@9qaBT@9qBT @9qAT@9qAAT@9q@T@9q@T R{_@9q?T@9qa?T @9q?T@9q>T@9qA>T@9q=T{_@9q!=T@9q<T @9qa<T`{_@9q;T@9qA;T @9q:T{_@9q!:T@9q9T @9qa9T{_9Q]q8T)y +yhxJ @@9qa7T @9q7T {_@9qA6T@9q5T @9q5T@ {_9Q5q4T) +yhxJ @@9q3T @9q!3T {_@9qa2T@9q2T @9q1T{_9qvTq0T@9qA0T @9q/T{_9q`Tq@Tq.T@9qA.T @9q-TR{_@9q!-T@9q,T @9qa,TR{_@9q+T@9qA+T @9q*T@{_9qTqTq)T@9qA)T @9q(T{_9qnTq'T@9q'T @9q!'T{_9Q=qH&T) +yhxJ @9qTq$T @9q$T@{_9q lTq#T@9q!#T @9q"T{_9qkTq!T9q Tq!!T @9q T{_@9!q T@9qT @9 qAT@9-qTR{_9q iTqT@9qT @9q!T@9qT{_9qhTqT@9qaT @9qT@9qT{_9QEqT)+yhxJ @@9qT @9qAT@9qT6 R{_@9qT@9qT @9qAT@9qT6R{_@9qT@9qT @9qAT@9qTR{_9qtTq vTqT@9qAT @9qT@9qT`{_@9qT@9qaT @9qT@9qT6 R{_9q\TqT@9q!T @9q T@9qa T{_9q@\Tqa T@9q T @9q T@9qA TR{_@9q T@9q! T @9q T@9qa T{_@9qT@9qAT @9qT@9qTR{_9qWTqT@9q!T @9qT@9qaT {_9Q=qT)+yhxJ @@9qaT @9qT@9qT{_@9qT@9qT @9q!T@9qT`{_9qdTq fTqT@9q!T @9qT@9qaT {_9q@PTqaT@9qT @9qT@9qAT` R{_9qRTqAT@9qT{_9q@iTqiTqT@9qAT{_@9qT@9q!T{_9q@OTq!T@9qT@{_@9qT@9qT R{_@9qT@9qT {_9q`LTqT@9q!T {_@9qaT@9qT {_@9qAT@9qTR{_@9q!T@9qT{_9q_Tq `TqT@9q!T {_@9qaT@9Rq)Jq@{_@9qT@9qT{_9q\Tq`]TqAT@9qTB6 R{_9qBTqT@9qaT{_@9qT@9qAT@R{_@9qT@9q!T{_@9qaT@9qT {_@9qAT@9qT@9qT@9q!T @9qT$9qTq!T(@9qT,@9qaT0@9qT` {_@9qAT @9qT@9qT@9q!T@9qT@9qaT @9qT6{_@9q!T @9qT@9qaT@9qT@9qT@9qAT{_@9qT @9q!T@9qT@9qaT@9qT@9qT{_9quTqT @9qAT@9qT@9qT@9q!T@9qT{_@9qT @9qT@9qAT@9qT{_@9q!T @9qT@9qaT@9qTR{_@9qAT @9qT@9qT@9q!T R{_@9qaT @9qT@9qT@9qAT{_@9qT 9QAqT)+yhxJ @@9qT@9qT{_@9qT @9qaT@9qT@9qT{_@9qT@9qT@9q!T@9qT @9qaT$@9qT {_9qoTqT@9qT@9qAT@9qT @9qT$@9q!T {_@9qaT @9qT@9qT@9qAT@9qT@ R{_@9q!T @9qT@9qaT@9qT@9qT{_@9qT 9qTqAT@9qT@9qT@9q!T6`R{_h7@ 9@*uSJ Q_qGT@{_{_`{_@9q!T @9qT{_9qmTq@nTqT @9q!T{_9qcTq!T @9qT {_@9qT @9qT6@ R{_@9qT @9qaT@9qT@{_@9qAT @9qT@9qT"6{_@9qT @9qAT@9qT@{_@9q!T @9qT@9qaT@{_@9qT @9qAT@9qT{_@9q!T @9qT@9qaT` {_@9qT@9qAT@9qT@9qT @9q!T$@9qT(@9qaT {_@9qT {_@9qT {_@9q!T"e6`{_@9qATe6R{_9q[Tq!T@9qT@9qaT@9qT @9qT$@9qAT{_@9qT @9q!T{_@9qaT @9qT{_@9qAT @9qT{_@9q!T @9qT {_@9qT @9qT@9qAT{_@9qT @9q!T@9qT6{_@9qT @9qT@9q!T@{_9qQTq!T @9qT@9qaT`R{_@9qT @9qAT@9qT@9qT@9q!T{_@9qaT @9qT@9qT@9qAT@9qT{_9q@TTqT @9qT@9q!T@9qT@9qaT{_@9qT{_@9qT`{_@9q!TR{_@9qaT{_@9qTR{_@9qT{_ @9%q!T@99qT@9qaT@9}qT@9}qT {_ @9%qT@91qT@9q!T@9}qT@9}qaT{_ @9qT@9qAT@9qT{_@9q!T @9qT`R{_@9qT @9qTR{_9qMTqT @9qAT{_@9qT @9q!T@ R{_@9qaT @9qT R{_@9qAT @9qT R{_@9q!T @9q~TR{_@9q~T @9q}T{_@9q|T @9q|T@{_9q`KTqLTqA{T @9qzT@9qzT {_9qCTqyT @9q!yT@9qxT"t6{_@9qwT @9qwT@9q!wT{_ @9UqavT@9 qvT@9}quT@9}qAuTx6{_JR_)j(TEA9I {_9q ATqsT @9qrT@9qArT@9qqT{_@9q!qT 9qQTqpT@9q!pT@9qoT`{_@9qoT @9qnT@9qAnT@9qmT@{_@9q!mT @9qlT@9qalT@9qlT{_@9qAkT @9qjT@9qjT@9q!jT{_@9qaiT @9qiT@9qhT@9qAhT{_ @9qgT@9q!gT@9qfT@9qafT`{_ @9qeT@9qAeT@9qdT@9qdT R{_@9qcT@9qacT@9qcT@9qbT{_ @9qaT@9qaT@9q!aT@9q`T@9qa`T{_@9q_T @9qA_T@9q^T@{_@9q!^T @9q]T@9qa]T {_@9q\T @9qA\T@9q[TR{_@9q![T @9qZT@9qaZT {_9q,TqaYT @9qYT@9qXTb]6R{_ @9qWT@9qaWT@9qWT`R{_@9qAVT@9qUT@9qUT @9q!UT$@9qTT {_ @9qTT {_ @9qAST@{_@9qRT9q@FTq GTqQT@9qAQT@9qPT {_@9q!PT@9qOT@9qaOT@9qOT {_9q(TqNT@9qMT@9qAMT @9qLT$@9qLT(@9q!LT {_R{_ @9qKTR{_ @9qAJT{_@9qIT@9q!IT@9qHT @9qaHT$@9qHT {_ @9qAGT@9)Rq)q@{_@9qET@9qaET @9qET$@9qDT(@9qADT{_ @9qCT@9q!CT@9qBT@9qaBT{_h7@ 9@*  R_ k!T`{_h7@ 9@JR_)jTIA9 SR } {_ 9QAq>T)+yhxJ @@9qa=T@9q=T@9q<T{_@9q;T@9q;T@9q!;T`{_@9qa:T@9q:T@9q9T@9qA9T{_@9q8T@9q!8T{_ @9qa7T{_ @9q6T{_ @9q5T@9q5T {_@9q4T@9qa4T@9q4TR{_h7@ 9@*uSJQ_qT R{_ 9qTq1T@9qA1T@9q0T{_ 9q@Tq/T@9q/T`{_ @9q.T@9qa.T@{_@9q-T@9qA-T` {_ @9q,T@9q!,TR{_h7@ 9@*uSJQ_qbT@ R{_@9q*T@9q)T {_@9q(T@9q(T@{_@9q'T@9qa'T`{_JR_)jATEA9 Si } {_R{_@9q!%T@9q$T @9qa$T$@9q$T(@9q#T {_h7@ 9@JR_)jaTAA9SR } {_h7@ 9@*uSJQ_qT R{_JR_)jaTEA9S)R } {_@9qT@9qaT{_$@9qT(@9qAT,@9qT {_JR_)jTIA9 SI R } {_h7@ 9@*uSJQ_qbT{_h7@ 9@JR_)jATAA9  {_R{_@9qT@9qaT{_@9qT{_@9qT@9qT@9q!T {_@9qaT@9qT@9qT@{_@9qT@9qT@9q!T`{_h7@ 9@JR_)jATAA9 S } {_R{_JR_)j!TIA9 S) R } {_R{_@9q T@9q T {_@9q T@9qa T {_@9q T@9qA T@ {_@9q T@9q! T {_h7@ 9@JR_)j TAA9 S } {_h7@ 9@JR_)jTIA9 S)R } {_R{_JR_)j TIA9 S } {_R{_h7@ 9@JR_)ja TAA9 y{_(@9qT,@9qaT0@9qT` {_(@9qAT,@9qT0@9qT {_R{_R{_R{_R{_R{_h7@ 9@JR_)jTIA9 SR } {_h7@ 9@*uSJ Q_qbT{_h7@ 9@*uSJQ_q"TR{_R{_R{_h7@ 9@*uSJQ_qT`R{_R{_JR_)jTAA9 S } {_JR_)jTIA9SR } {_h7@ 9@*uSJ Q_qbT{_JR_)jTIA9 SiR } {_R{_R{_JR_)jATAA9S } {_R{_R{_C_WO{tB4@i)5*@K+Vu4@)  Ha)=#!<R~}!T@}jJ!8 @ !{DOCWB_AC_!.YC_WO{tB4@i)5*@K+Vu4@)  H)=#!<R~}AT@} jJ!8J @ !{DOCWB_AC_!.YC_WO{tB4@i)5*@K+Uv֢4@)  @)HAyw)=#!<R}!aTbQ%qT)Q+ih8J @%% 4& x&&&'5'@ !{DOCWB_AC_ց!$6FY46ħog_WO{-@@wB4@h5 @* 9zZ4H@ ˈ7)=#!<RX~}!1Th4@i)a4)@) @yi@@7r T-U qT@ @ @>@9((6)CRp>@9((6!@r!T RC`4=t е.>@9H(7 @+ hJA-@9Mym P6) !T h7@@9h7 @ )AJA$,yk P6Kik8  Tl T9@6m T T@9qaTl3@,yl,W7DMik8 KTqTq`TqaT@9iqT @9qT+R@9qT @9qTkR@9qTqT @9-cTTKRqT @9}qTKR kkmil8MymP6    T }R#R T_8*%_T?qT?qAT_8iq` Tq! T_8q TH AT_8*%_#T?qT?q`T?q T_8 qA T(T_8*9_T?qT=(*@)ET(T?q@T?qT?}q`T?qT_8 qTqT_8qTH_8qT_8qTH_8qTH_8 qT(_8qAT_8qTH( @( h@HP6T @i@( = ? qTaR&hh@7h@ @ @AT @l @` @!h @ @i)8h@ R *h @i@( >@9(7h@yh:@9 rTh7@@97h@2h:@9 rTGx4h,@9(5h:@907H@ !@)-@)@?aT{GOFWE_DgCoB_ھh6@94҂RRm!$6Wlog_WO{hA4@h5 @* 7u4@17)=#!<Rh @hCӘ7C}q+T @!s99 Z{(3@91qAT{ T@ i*5@9 6y{ @J99 @IQ?qq(TKki8J @(3@9r@Tew@y;(3@95qT](3@9-q`T]V&ss 0y9 (@@%@@@ht80(@@%@@@ss4/@ @hqT @!@  yx i @ARh@y`@?qT(QH @H h@y4 T%{GOFWE_DgCoBc&89 @9t7D8C_WO{tB4@i)5*@K+Uv֢4@)  @)(Ayw)=#!<R}!!TnqTjq!TU#c#@ {DOCWB_AC_ց!$6Vl:WO{tB4h5@ @+ u4)@ J J}}_!AT6}@i@7h!8)P7si@h!8)W6 R r_)j!Ti @J}6k6? $JTh!8@)(@!{BOAWè_ց!$6KVWO{tB4h5@ @+ u4)@ J J}}_!T6}@i@i7*+h!8_q`@z`T R r_)j!Ti @J}6k6? $J`Th!8@)(@!{BOAWè_i@!$6Vg_WO{CuB4@h5 @* 7v֢4@ ˘Cha4@@9rT qTHhA7@ )@ 7@ R(! @9 qTqaTM;! 0R@ B{S}@7h4@C T`uDT`@}ә|@ @ARv@ Tv@9CџT@  !-@ qTM;!@,@ R{S}@9v@} @ !{EODWC_BgA_#`uTog_WO{hA4@jJ5I@+Kw @*5i)4)@)  C$ss N.@@%@@@ht8D.@@%@@@ss4:.@ @h q TRr(RA6˺ ДJ9^@Ta@(@@yp7!@(@@yp64@B@yp6@A@y(p7"Rh@9N>{COBWAd{COBWA_WO{H @ R r* 2  kTH@@AR q@).#!<R:t!RfR){COBWA{CH6@ =@96@AA96{A_WO{H7@3i@ H7 @) ahB`uBB@RRRc@B`h@h@ h@ }H}h@i@( h@@{BOAWè_{C4 dog_WO{C\C4@Xc4@ @Y94*@J@J @J@Z@;@ @9)?qT? qT5@9(07V@{;@ @ H7@i@ H7 @) 9@907H7@i@ H7 @) S{;@ @_AR@{;@ @H4I)5@*@K+I !CH7@i@ H7 @) a@`tB2@RRR#c@2`h@h@ h@R i@Rr( h6+gh@2hh@R  @@9h06H4@H5 @* 5!K7!RgTA\#8@_ARTRRR "BTTcS{;@ @ h`@`tB.@`RRRb@.`h@h@ h@ h@h@ R u3i S{;@ @C`@`vB.@`RRRb@.`h@h@ h@ h@h@ R u3i }Ө}ih@` h@ N$T\C4S{;@ @(@ `+h @h (@y4RW(@@{EODWC_BgAoƨ_i @ ( #T@ARáh@%A?,T$h@\C4S{;@ @og_WO{WB4@JJ5H@ IH4@ C@@|@7T2JJ7S@I)7h@H(@(`@`xC3@RRR b@3`h@h@ h@R i@Rr( h6fh@2hh@R  R'}? q+TՊC}XRY9#8H4@ !yxTyxf&c@RRR T?@ @ 2 h @h @I)7 @ @(I)7(@(_ @@y  @2 Fr!-H4@AKTI)5(@ V5@TH4@C3@!RC[{C)@h@Y9c))@ MT&&!7@@8@987@@1T1Tq TH4@- TI)4(@(@!{GOFWE_DgCoB_ #@T -@H4@=mTI)5(@ @ TH4@C@!RKC@h@)@ T%BR-B%BR%:%"RR@!?1aT@@9R3cARqR&Rt@S8ğ"%@9R3LR^`@!?1T@g_WO{CU6@ @@9+HA7@ @! R% @9) ?%q T%@h6@9 6v @@R 2I *  k T@@@@?TN 6T4@!`*@@BR|Vb4@ @)7@h @@@8a_@@ )`zz@@y9R}&CT@9H7@@{EODWC_BgA_֨@ @@R#@h2@91qT@A`)h @h @ RX&>Vh6@9H7@()uA987@@@)J@!@@@)@'HWO{<@9h7 i@(AA9(7(@)=@I4@Rr{p@  ?qT @A@BRh@A@8@987@ @|@ Th>@9h6j@I@ K=@ k4(@H!J=@j4)@*) )%@94SR {R%@ qaT @BRg!B @@ ]@) 2 ]t@o<<@97  pi@(@)=@I4@fh_WO{C-@@a(@@y!r`TqTh@ A@yp6@vе6@C# @ @ 5@a(4@9(4B@yp6@@)-@)@?T{EODWC_B_`@C# @ @!4w 5@a(4@9(4@)-@)@?T{EODWC_Bf D  D Cog_WO{@H5@@?'H@&G@RH @@%@@@H7@'5@ H7 @) \@TB2@RRR^@2@@ @R @Rr( 6c@2@R R$h@ T`4RRlR/@@ RR(R RRRHR Rھb2@RR-RѾ`R!RRɾ;@w@( RrARk Rh@  T@ys@9@@ @)C@y)!?q!T:@?(@9y(9HC@yHp6Y@yHCy_(C@yy(Cy?R@qTqTRJZRH@9@#@ z`RRRRͼRR`RRURRHR H @H RRRR@@97H7@4RR RRnRRRhRRARwRR?eS4R9nnRRR.`@ @rTH kT@@_H @@ ]@)y  ]'@R@ ]@) 2 ]@1{HOGWF_EgDoCC_VR Ti@)yvI*@9 /6( @ @npnnRRRh@{H6@@E@!RhH.@I) )@)@(Y{_O{C$ RR3h@ ]@)2 ]h@ ]@) 2 ]{AO¨__WO{H @@%@@@H7@4@ H7 @) e[@UB.@`RRRq]@.@@ @ @@ R u3 RG#@ T:@987@ @T:@987@ @@UR T @)yuI*@9 /6( @ @ׂn9&n4&@ϴ|@aThB@y!qTRRr`4RRRҪ{COBWA_Ĩ_|@C }T:@987@ @}a:@986|@ |@}a֔:@9?7@ @ RrAӨ^ARi :@987@ @Tz|@T @yv @ H kT@@)_WO{@>@>7R RR`h@92h9 @ h@ :@` :@ h*@h*{COBWA_Ĩ__WO{C-@@(@@y!rTqTh@ A@yp6@@C# @ @5@B@yp6@6@)-@)@?T{EODWC_B_`@C# @ @!5@@)-@)@?T{EODWC_Br*WO{!< h@ @@Zh@9qTqTq!TARaRRRRph@ qTqTHR(Ri@*@9H*(9{BOAWè_WO{@6@{BOAWè%H7@4@ H7 @) Yh@VB.@`RRR[@.@@ @ @@ R u3 6{BOAWè$g_WO{@ @ @@R`(_8qT Pl @ )A R Tl@8,yl_,j T R @9+yk_+jTHTT2l`{DOCWB_AgŨ_` Qog_WO{@mmy @h@ @7(@9CB$h 4 R#R@9@jh8@94T87I@{iW6> _ T? +T @9I?qT e3I@{iW60 @jj8? T ?qT?q`T?qaT@9iqT @9qT(R@9qT @9qThR@9qTqT @9 ?-T ? TqT @9}q`THRmh>@9 (6@2K T87)@{i)P6@jh8 @ ? T_ KT @9*_qT e3)@{i W7 @ji8_ T _q T_qT_qT @9_iqT @9_qT @9_qT @9_qT_qaT @9K-TKT_qT @9_}qT   @95h/@(RgAR&@RpRg%>@9%6@AA9H%6H7@94VB4@H5 @ H5@"TH4@C!R=>@(=@9h7)@(@)=@I4@`%vk@ -)U ?qaT @BROb@2\;!R"R @) AR˙^# @ w/@>@h?6@ h7@Ҁ6@8@987HH7@Si@ H7 @) R#R@9 rT?qaT(@8r TPXh@`UеB.@`RRR!Z@.`h@h@ h@ h@h@ R u3i s7Ҁ6@8@986|@T@ @lT`7@6@ @ys"s6@8@9?7B@`3 `C{FOEWD_CgBoA_zZR#`(@8H5!DR @R])@94IT 87@{hP6(@jh89( T_ T(@9 _qT(e3@{hW72(@jh8_T)?q T?qT?qT)@9?iqT#)@9?qT) @9?qT)@9?qT?qT) @9*_-CT*_T?qT ) @9?}qAT9R#R(@94`4 O`I`(FC_WO{@@9RȎ@@9q T@ @  @@B@@RRR h @h @B@H7@5@ H7 @) *Wh@WB2@RRR6Y@2@@ @R @Rr( 6>]@2@R B@@iRRR{DOCWB_AC0`ї`hΗ@@9R[`DƗWO{Sst@tUеB@-@@({BOAWè__qCTZD|Sog_W O { -@@/#@q@vTe7 XqT Rڰ`|@@v@6)@(-U qT(@ @#4 @BR{`)@(uS9 R) R? kAT)@) @ 2?VU06#@*+?9 @9 r@Th@@)R I@9KeT@h _Aq`T RR@hR06i7R{%R @H;@9 r`TF;4Rz@RZ~{@h @hP7?A9H4C?Ғ?A9z8*Tv@6~H R*+Y(@ R R kT(@ @H+5+@?`H{Tyi @j@J@ 9M*)@i+@%T   J%@9 lk k%@9 kT!@a+@Th@R3b`~@ 0Rh@@i9z77i@i@? rT) rT4 R` @9(69ARLu6I4 R` @9((7 h @hRj`WT@ @}!!R ` @94P7 @9z6* Tj@6RH R*)Y(@ R R kT(@ @(5#@?`hlTh @i@)@ Yi%@9*@_ TKJ J%@9_kAT)@+@~@)@ 8@@k!T@kT# 5%@9+@(J7@@y)R jamT+@h@6#@V@@x@@kaT@kT#@5h@9#@)J7| 6@)@I*R+I@9lџeT)@i}Aq/T RR)@iwhh@95C@#@@9 Sh#H@i@ VB@RRRW@h@R`(h@AR9W@ R !9@!x@64qs6 H6@_T:@HA,_+@T@)@*R) jTI@y*R? j TS@cc( @@9?r_ C)R j@#TJi16h/7#@z.@RRpw9#AR%( @@9?r_h @i@)@ Yi@H@7)R  U5R jC)1T4 7uеy @Y@ @}!!Rَ` h@@8@HH6VB@RRRV@@#@#@ (O( @@I))*@9D@zaT]JJa,K@k5 kKlE L @+ 7RG7I4(@@H3@9%qT@9H6h@ @=@1T+@ 4T*_8_q7T)_8?qa7Ta4TI)6)@?3T@-R*ͭr) J @yKGRJ J) *25RR+@h@6lH@R )R kTH @ @"47f[5Y4#RJ@@H@96*@9I)a,(@45HE(i@(IHA,TR" ҢRR~B @ rTH@2H@( @( H@6 @)Tc2Th@@R`@!4H@y)R jT@ @c2 HT@) @)I?T"&q7RI),;@95C@ @қ @I)A, TA @?q1T(QH 4?#@R?f#mv@6ՍRG:@9*(7H!8)CjU)} ? I)T@r TP7H@7HX7RIk 6@h  @T @@9q` T@@V?(@@ @6h@@?`T @R_)jT @? aT)@ ~ h @h T@yI)6)@?.T:)!R(9rT@(@2( @HA, T6@?q$T(Qo5 7 @? T i#@RH6@9"5ARe @# 5X4v@7WPS @h@9(6h@ @=@1`T@H@ r@T87H7@f@ H7 @) Rh@H@ rT#@Re* uеry @y9 @ 9@9 6@@=@9('7R (@ @ v@6Cq/@)-@)@?!T{KOJWI_HgGoF_(2h @h TUT@9?qTI @6@>@9i6@*@ )=@?1T6eR@9R^  !T@y)iR J @9*R) J *4RRMH @@W! R@ T @ @J @ _T@ @?qT(Q @@ @H(!9#?T @! R]'H6@@ TC@#@@KCT|( !L m@Tk!aTh C T*yj*y(@ @R?y*@ @) HQһ5H6@9I),(94DJ(;@9 rT@dRH,9@S@cc+@pC@cc#@j+@h@6/h@#@h@6%@`` @H @@! R}R;Rv@6hqi)r(@O{CSsB`@@h{AO¨_RRS`@@h{AO¨_I)!- !@?`TJJLia8k ` ]@9* RJik@J Y@9* RJik@J U@9* RJik@J Q@9* RJik@J M@9* RJik@J I@9* RJik@J E@9* RJik@J A@9* RJik@J =@9* J%|@J 9@9* J%x@J 5@9* J%t@J 1@9* J%p@J -@9* J%l@J )@9* J%h@J %@9* J%d@J !@9* J%`@J @9* J%\@J @9* J%X@J @9* J%T@J @9* J%P@J @9* J%L@J @9* J%H@J @9* J%D@J@9( %@J_*D)+VRKr+, ) J+@  @@HK JAJ K(5J)=J E  @ K J! TT@JK1 ` ,@MEil8 )R@9k  @9) @y  ( IK)i(J  J* )!( 9  JJ1H  J* JmH )J K)KI=J J_- L!-(Hӊ-@1A T@ J KJʓ 0 ), ʌ ГATQqTNUim8  @9 @9 @9 @9a @9A @9! @9  j Kʉ - )Jʓ* HIʪʫ͓k@ ȓk L iʊ Kʉ̓jk˓)L (ʉj+ Hʊ̓iJ+ Hȓ ` J_og_WO{(_ hRy (6@@I@<  @Z|;@9k` T@5@ @?kaT ?T! T5G9 699zO{C @h7h @h@ @}!!R` R() @9))a,(@45HE( )/ 0h@@{AO¨_t@@ ?$@zTyh:J@Nh@@{AO¨__WO{<@97x@@h:@987!h @x@@h:@9h86 R_ @!?1!T@h@ @}!!R` x@@h:@9?7@w7U(A, @?T@ #I) kT;@1Ta!R}K@ Oi@6 @7(@RZTK@( @ ;@I ;_kTj @ K@k J  Uyk n  ;Oj7B@RRRN@@h@2h~ R!RL(6@9H5 @@?qT(Q@7(A @h@yh{COBWA_Ĩ_@9R3?BRi@ @? 1T@@?q# T(Q@) @K6@94@)  @ @{COBWA_Ĩ_`Th@6yh{COBWA_Ĩ_h@ @ ;@I ;_kT*JA,+ ;?k Tk @ K@ J  uyl @ aT@;K@h~~@%WO{8@986 R _@@!1ATB@?{BOAWè_ֳ @{BOAWè_O{8@9h86 Rx{BOA'@@RkT(!8!{BOA_T^@ @? T @ @)}K )!)CL@) _ iT  @#a!{BOA_ @ @T @) @*}  J!@C @_  iT__WO{?!T) (}@T@@?k-TzS_k lT{BOAWè_ֿkmTi @t@}@~@Ct6h>@9(6h@ @)))+@9*Ja,I@4(5 H EIh@ I{BOAWè_֠~}!R Q}@` {BOAWè_og_WO{ C(7@3i@ (7 @) Jh@`7B2@RRRL@2`h@h@ h@R i@Rr( h6Ph@2hh@R  &@( @@K H%45 @47"T Ө TAӿ>HTx @}!J>@9(7h@yh 4R@@ T}@3ih@8!a@)@+( 4R!9b)2)@(9vs@@RRR*L@h@h@  %@9@yjT(!8CiU} (A, H`TAR}` h@u7 _) v@ @h@ @@ @i@( @h 99@)@"TRi@( ,Rd :R;{#8|U8C,@! @)c|@H@9҅RRL:@9(86 R\]@@!1ATB@@ @? 1@T@yjAT@ @? 1T@@yjTC}"XTARRRRR@(7?1`T @@ @}!!Rσ O() @9))a,(@45HE( )/ 0@@@7U @@ @}!!R O() @9))a,(@45HE( )/ 0@{IOHWG_FgEoD_O{C<@9(71@T @@ @}!!Rw fO() @9))a,(@45HE( )/ 0@{AO¨_O{C<@97S @@ @}!!RK :O() @9))a,(@45HE( )/ 0@{AO¨_g_WO{(7@3i@ (7 @) HH@`5еB2@RRRJ@2`h@h@ h@R i@Rr( h6Nh@2hh@R  t@ @>@979@@ @ R"bTR Ө TAӿ>HTi@( R@ RRRR@ :@9(86 R\@@!1ATB@@ @ARԉ@@ 1T@ҷ6 R$uP@@  1TI@ T  T}@%@9@Re @?qT(Q j{@(7?1`T @@ @}!!Rj YN() @9))a,(@45HE( )/ 0@@7X @@ @}!!RF 5N() @9))a,(@45HE( )/ 0@h @h m  RRP{DOCWB_AgŨ_O{C @  ? 1AT@@?qT(Q@  @97RRr(A @a @?qT(Qh {AO¨_{AO¨zz!O{C @@@Zh@ @? 1T@@6Z{AO¨_og_WO{-@@5B)@(5@*Th @h 7b5@y @h@y)R jTh@ @ @:ZC,;RH Th @yx @ @ @T @yjaT@?q#T(Q Ri`ҢRR`q`nqz RZ h@ @C@@?qT(Q[zRD@ h@6h@yh7h@6h@ @ =@1Th>@9h6h@@ATѨa @?qT(Qh @)-@)@?T{GOFWE_DgCoB_{ @u@))!8)a y6a @?qT@)-@)@?aT{GOFWE_DgCoB zR@@NO{CRh~@ 34ҢRp{AO¨_@ 3O{C@@hRˠ@4{AO¨{AO¨_WO{-@@ @6u@@A6yh:J@Nh@ @h @@yiU*j@J @? 'yi@ y)h@ @) (!0@qTh>@9H6h@ @=@1T @H 1@9?%qT @@ =@9I6@ @=@1T@( 1T @ @-U qaT@ @@ 7 !BRP@ T _8?qT_8AT@9qT @H@@R@  ? 1AT@@?qT(Q@  @97RRP(A @@)-@)@?!T{COBWA_4yݡg_WO{C-@@` 5B)@@99#0(@qTh>@9h6h@@=@h4B@(;@`CH!@9G@҅RRR64@(5@*Th @))a5h (@y @x@ @@@?qT(Qxh>@96@h?@1T(@q`T(;@h@ =@?qT@@@?1JT@! @)c|@I))@9$҅RҪh>@9h7 i@(@)=@i4@H!t7 @I(;@h@ =@@I4B@CH!@9G@҅R҅R#@T@`@@?qCT(Q @@?qcT(Q@@?qT(Q@@?qcT(Qu#h>@9(6h@AA96/@@?qCT(Q3@@?q T(Q7@@?qC T(Q;@@sC@@?q T(QG@NGS@yS` @Hh@R  h @4R"@ h:@9h86v4@!TѨa @?qT(Qh @)-@)@?T{EODWC_BgA_l @(a5@))!8)a y7a @?qT@)-@)@?!T{EODWC_BgAwww@ww @ uw3@ ww;@ wog_WO{-@@7<@97 @@ @}!!R~ J() @9))a,(@45HE(")/2*bq T@B7?@467qkT}!~@ ?x)@?@(*?*bqITk?*bqTe67R4~(?*bqTXqUZ? qcT";@{yRR? T@RRp~?*bqiT<RR*bqhTpsrZ}@_97R(R_9#_X@_@9 Tb,TSH R*f@RR*bqTҀ@)-@)@?T{GOFWE_DgCoB_*@O{C<@9(7h @h@ @}!!R ~` I() @9))a,(@45HE( )/ 0{AO¨_h@`{AO¨_O{C<@9(7h @h@ @}!!R}` I() @9))a,(@45HE( )/ 0{AO¨_h@@{AO¨_O{C<@9H7 @@ @}!!R} I() @9))a,(@45HE( )/ 0({AO¨_ֈ@({AO¨_Cog_WO{-@@9_AT ^*J6J@K @J@J@) w @HTR @ ` T: @7@)-@)@?T{HOGWF_EgDoCC_b7R@)-@)@?TK(R9cL@@9I R  *(6@ @@@ 7M(@iR\ ~@(@9kT@h@ @?k!T @?kT!?T5"hI)J._rI'A!R:G6}@)-@)@?T@h|(6@@ @) G6_WO{C-@@_9R(R_9#_@_@9 TbTH R*@)-@)@?!T{EODWC_B_ւTog_WO{-@@<@97h @h@ @}!!R|` H() @9))a,(@45HE(h")/`2h@*67bqhTz@y@z4KHJq+TI\)}9 (O(!87 @4#џIT@!H@9h7kT\5Tz6{~5@!@96?kTTD 4#џTh@ Q_qy(h`@(}}|`rZ}@_97R(R_9#_(@_@9 TblT#H R*6h@Y9az@y@5Y"##H@9 35kT 4R:q(Jh6kT_T595 534ZRRu{`z_94K}@q T(R_9#_@_@9TbTH R*Rh@@)-@)@?!T{GOFWE_DgCoB_fd@2og_WO{7<@9(6@@?@ 4?q:WZ_ qT!*V6 4{#ќџ Th@!H@9h7kTf5`4{#ќџMTh@!@9h6?kTTO5`@RR?@ Q?q(?qA:aT@ N:_hY?q T@ !(@9 3 5kTL"(@9 3*5kaT* !5/rHJ6kT?T*  rHJ(6kAT?T* `5 *v7 *V7  5@Rz `5K?{FOEWD_CgBoA_z?*@XO{C<@9(7h @h@ @}!!Rz` F) @9 )a,(@45HE( )/ 0{AO¨_h@ {AO¨_O{C<@96@@lh2@9-qTa @?qT(Qh {AO¨_{AO¨{sO{-@@@ @? 1aT@ @-U q!T@A@ i@!BRJ@h@)-@)@?T{BOA_C_WO{-@@R@ @? 1T@ @-U qT@A@"@!h:@9h87BRI@h:@9(86 RsS@@!1ATB@ @@)-@)@?T{DOCWB_AC_֪wog_WO{57@3i@ 7 @) ?H@`5B2@RRRA@2`h@h@ h@R i@Rr( h6Eh@2hh@R  h@ @}!}}!Ry` * @v@_@N(A,@ h}IkhVk(h@ @) @@@z @ @;W{{#'@7@ @?kaTT@_ kT )%@9 kb8I J 7!5RRRH@`5B@`RRR@@|@hvh @h@ h@ R)r  *ir@9) ?AqT R)r *h{COBWA_֨>H@`{COBWA_(@@{g_WO{CqT@ s7R/x)?T*96+  +TJJ_ qT*@8J_q!TdxaRk 8T9i6@8*e3 RszW5bhT@@(@kaT(T #`5(%@9kT70{EODWC_BgAP(A,r{EODWC_BgA_ֈr@9  )!8AqC*@,~WO{Y{BOAWèpCWO{-@@c7( @ -)U ?qT@) @ @U5CBRG@U5 R  R? kT@) @iRuS* @A@)-@)@?T{DOCWBC_ @5_*@~og_WO{R-@@ RRDA,T@P7h@7rT -)U ?qT@) @ @CBRG@ @r R R\:7Rx6R R r?(jRRX74̚W 4@w @֚JRRR6қ)?@T*96k  kTJJ_ qT*@8J_qTR5sLwaRS 8T9i6@8*e3 R@5bT5q`TqT@@V *@Vs9(RH@)-@)@?T{GOFWE_DgCoB_R@50_WO{H{COBWA_Ĩ1_WO{C-@@7( @ -)U ?qT@) @ @V5CBRF@V5 R  R? kT@) @RuS* @@)-@)@?T{EODWC_B_ @6_*@}O{Ch@qhaT`@RRht@At{AO¨_ր@_$@( @*@_qT)!@9?qAT q@9))2?AqTa @) q@9) ?Aq) SIu__O{xrTRs6 @2 `&@!"RRR`&{BOA_*@87}<@907@ )A_ T @y*@ @K*? T  @@(AT!II( )!8)a@T @Jyh_ D@ TK @kK @ @@( TC @)@?y(aT @ R u3 _WO{8@986 RG`OCւ:@@XRF:R$R{COBWA_Aa{COBWAg_WO{C?TH@ T`@i@ `T)9C(@ @} @a@}*@ )?TL CT'hRˆ }  ` T}!uҀ@4@̌}I A(H @?kT}`T@}!u@9!7@`Tu@ )A4*@ k4l@J  (@h  )4(5>@906(}@ !}ӈ@h{EODWC_BgA_@( C|@t?|{C4 6|WO{-@@8@987h@ @ 4Th @ @ 5@)-@)@? Taҕ 4v 7@"I@ 7 @)  ;_H@@@)-@)@?T{COBWA RDR?@44@RA) @ 5@Ta5@y @ 2@ѕ@y @R !9@!@@)-@)@?T{COBWA_ƖpWO{ 5@@(7hX6 @ 9@9  6@@A!4!RRR@ 1@9?%qAT @@8@9( (7!8 )CjU)} ? T @r THP7@7HX7RR`6,HMM @(6@_7@ @T(@@9qT@@h:@9(87@ @i@ hET,|@i@ hT R{BOAWè_R{BOAWè_@ 9@9'6@@=@9('7wTg_WO{C-@@8@986 Ry5@)R j`T7@ @ :@9h87@ @ET|@jT@}S qT@ )A_ T @y*@ @K*? T( )!8)aT @Jyh_ D@ TK @kK @ @ mT@ @ @@?T 6zu@?qT(Q:@906B@ @@(TI @@( TCщ@)@?y(aT@ R u3@ @ T @ @@?jTj7 J!7J@_T JA4L@ k4k@ ˿Th H@ @"+ _y)@ @?KT :@9 06@@h @h 8R96@J@9 ?ehTA(@yH4J@9?%qTR2(y>|@T,4@]8R6@J@9*_ehT @y*4?%qTRI2 yx6a @?q#T(Qh @)-@)@?AT{EODWC_BgA_ll:@9773%zg_WO{C7@i@ 7 @) (R*hR)BqITN 9(R*P)BqT))(M4*JLiw8k `}8 9C6kj@9@;@({7 @9hеBzw@9( @ ;@z7`h@h@ h@ h@h@ R u3i {EODWC_BgA_hBhby#mog_WO{7@7h@@8(@`B.@`RRR:@.`h@h@ h@ h@h@ R u3i u}H }ӏrh@` i@( 9C)(@5@*T{c5h@ y :@(@ {8@€R{VT@8@9(7h@ @) @@@h@ @) @(@!TH({FOEWD_CgBoA#l_(@h@ )!8)a y:og_WO{C8@9(87@ @7@BTsi@ 7 @) 5|@7@T3i@ 7 @) 8(@`ДB.@`RRR#:@.`h@h@ h@ h@h@ R u3i 7(@`B.@`RRR:@.`h@h@ h@ h@h@ R u3i }}qh@` h@ C)@5@* Ta5@y @@R r iR r kaTۆ#8i @ ( T@ @cT @ywAR$yh@%AV?LT~h@ۆZ#8i @ ( TR2@ARyVch@%A?LT\h@@T({EODWC_BgAoƨ_ @a5@ )!8)a y9og_WO{C 8@9h87R R|qIR77@4@ 7 @) 47(@еB.@`RRR@9@.@@ @ @@ R u3 }h} q@ щ@( #C)@5@ TZc5H@y @R 7{#85 @ ( Rv@ zARgx@%Aw?T@ @ ( iARTx@%A?lT@ @ ( RK@w@%A?T@ @ (  @@AR,x@%A?Tuc@%A?T@@T({EODWC_BgAoƨ_`R{EODWC_BgAoƨG%!@~H@ )!8)a y9_WO{ @)R jaT6h@ @6 @y?qD@TJI@9_%qaT)2 yh@ @i{COBWA_Ĩ_Uh@ @t@t7(v @ @B)@5@jTh @ )a5h (@y @X}jhj(@?qT(QTuiTi @h@ @) T @I h@ @i 6A) @?!T a @?qT(Qh {COBWA_Ĩ_֨@a5@ )!8)a y5a @?qT{COBWA_Ĩ?iv_WO{B)@8@986 RZv@6h@ @@5@JTh @ )a5h (@y @8h @yw@?qT(QT i!Th@@ ph@ h@ h@ h:@9h86v6@!Tшa @?qT(Qh {COBWA_Ĩ_<@a5@ )!8)a y5a @?qT{COBWA_ĨhWO{?48@9h86 RIA=@  !RxR$R1h@ @ -T{COBWA @u @h>@907mT !}hTzv@?q#T(Qz6Thz6Th@ h:@907{COBWA_{COBWA|WO{@{BOAWè57@5@ 7 @)  5(@B.@`RRR7@.@@ @ @@ R u3 {BOAWèWO{ @)R jTh6 Rւ&@  Rx&R$Rh{COBWA_h@ @{COBWAduWO{ @)R j T6 R*@RR@{BOAWè_h@(7h@ @"8Hh @i@* @K}ikJ* i+h:@9h06ڍb{BOAWè_6|@"8b{BOAWè_  Rw*RR AR{BOAWèuLuWO{@7@5@ 7 @) M4(@B.@`RRRY6@.@@ @ @@ R u3 !R@{BOAWè_WO{ @)R jT(6 RMւ2@  RPw2@R{COBWA_ĨkTh@}S qTh@ )A_ T h @y*h@ @K*? T i @@(AT!II( )!8)a@Tj @Jyh_ D@ TK @kK h@i @@( TCi@)@?y(aTh@ R u3ii @h@ @) T)C?) @J h@ @J h @ h h@ @Ÿh@ @)  }It @}Ӏ}h@ @) h@ @) h @ h {COBWA_Ĩ_*ntWO{ @)R j T6 R.@RR{BOAWè_h@(7h@ @"8Hh @@i>@9i06h @!h h@ @) h@ @) h:@9h06b{BOAWè_|@"8b{BOAWè_  R|v.RRћAR{BOAWètt{8@987@ @{_،|@{_WO{h-@@ @)R jT6 R@R;`"R@R.`R[@i)-@)@?`T4@"Rh@ @ -T@i)-@)@?`Tj@J}S_ qT @_ -T h @y*h@ @K*? T)( )!8)a Tj @Jyh_ D@ TK @kK h:@987h@ @T_|@Th@i @@(TI)i @@( TCi@)@?y(aTh@ R u3ih @}iii)h@ @Th@ @) Ti @) )_h:@9h06Ƌv7h>@906$E@i)-@)@?T{ @?qT(Q @i)-@)@?T{COBWA_ew9sWO{h-@@8@9h 86 RwRsH:@9 87@ @\_ 4@E RW!8)CjU)} ? i T@rTP7( @7X6 @ 9@9) 6@@=@9 6@i)-@)@?a TR{COBWAI3@ @mTR @ys8@906! R" R:@987@ @hET|@heT|@ǟ@i)-@)@?!T{COBWA_֨@ @hT @@9q@@O{CR{AO¨_0RR[L@92L9{AO¨_O{CRˋ`{AO¨_0RR[L@92L9`{AO¨_WO{7@3i@ 7 @) j1(@`" RR9{BOAWè_{BOAWèDO{Csb4`@@?`-@5,9R{AO¨_a+@?O{CsB4`@4@mTa4@ @ `@{AO¨_"R:O{Csb4h@)7J,(_94)A7@)@*@)! R)) )  )A4JA)(H@)a))@ LT-@h5h@@{AO¨_ֱ-@4a+@?h@@{AO¨_WO{B4@4@Tb4@ 9@i7@@R!4@@h@@{BOAWè_"Rb4@ 9@6`a4@@_{5 @ 5@TA4@)4)@ Ca4@@{_O{CA4@)4)@b4@J @3yj@BRaDh:@907@@{AO¨_ȉ@@{AO¨_O{CsB4`@4@mTa4@ @ `@{AO¨_"RsO{C-@5B4@@h:@9( (7!8i)CjU)} ? iTh@rTP7H@7hX7RH6h@ @T(h @@9qTh@@a4@@{AO¨_h @ 9@9 6@@=@9'7a4@ A@y)!?qT@)!щ C{AO¨_a+@?B4@@h:@9(/6T_WO{B4b4@@)4)@ @ @@@9qAT,@95h@H7TBRMh:@907@@{COBWA_Ĩ_ֈ:@9 rTlB797i @?qT ?!@qT )%Q?q@z`TRr4!!x!R;rC_WO{B4b4@@@)4)@ @ yj@9 8@9)877 @) @?T @4yh@"R9`@,@9h5TBRM:@9h07@@{DOCWB_AC_h:@9 rTB 79`.og_WO{B4@@ _b4@J@9_r4,@95@97h@h 7 TBRIMh:@9H 07@@{DOCWB_AgŨ_ֈ:@9 rTA79 @2@9i@*))%Q_!@q" Bz'5Q? qT7iqaTR"RE @  ?%q@@zT7!R"RzE? qcT6@97 @ @( @( @?qCT(Q 7i @?qaT ?!@qT )%Q?q@z@TRUq4!!x!Rvq:Y @ @) @h@@. @?qCT(Q p @5!R 1@ R *  @  bbWoa4@@9r`T_A7@ )@ 7@ R(! @9_-@ q(R_WO{B4@-@ 5_h:@9 (7)!8h CjU}  Th@r@TP7@7X7RcFa4@`7@{BOAWè_h@( @Th @ @9a4@?qT C{BOAWè_a4@@{BOAWè_h@ @a4@h @ 9@9 6@@=@9'7a4@ C{BOAWè_a+@?ֳ_h:@9/6Ya4@ TO{C-@5,9A7@ @! R% 4@i  )A4JA)(H@)a))@ MTb4@ 9)7)5)@`@?kmT@@{AO¨_a+@?_WO{B4@b4@ @907)4)@ @) "3@_ @@* @I * R r? jT@9@@{COBWA_Ĩ_RRP7@g_WO{h-@@Rr?@ATRTQh@  ?qTi@) @ ` @67@@9 SCR7h@7:R @R e @ qT@ @ @T@  ?qaT@) @ @67@9@@A7Rh@2h:#Rh7@7@|Ah@yh6R+CBRY7Th@r`T R)4r q@TRE w5T Ro`4:pSh@rJ7J@J9@K6 K* 74@  ?qaT@) @ @67@@9 SkT4RUC"CR7@7v64 @RdRAC@ qT@ @ @CR6 @RUh:@907@i)-@)@?T{FOEWD_CgB_B@i)-@)@?@Tވyo#mog_WO{h-@@A4@a4@@@ @9+z @9j07J4J@ @@ @i87# K4@##u4@mmT_#7R8!@?: STC#@ @@h 4RrjTr T Rn 6@ RCRr7R;#9CHT@@i  ?qaT#@ T@ @ @)@)r:* )#9CITjTr`T#@`T#RS6 '@rT Rni).@7rTR(4rh qT#@RDs@h_(jQT*@#@@ @S^5R(0rjT#@R/s@h qT#@aRy.s@Rrh H* R *C( P47@@9N7A?!@ $@@ <C?TC#@4#@@ RZc4@@)RI  ˉ!'HJ7)(@ @{@TTH@@9 66@9i 7T T 5 6h 7X@@H)7(@()A @`RRR-)A@( |@ )A)(@ 5@JTa5@y @ 2BR?;@907#@J7hA[7@9yh9 @@cJ7@ cT #@4 T @8yh T`\qaT?@ @)* R r? jTH 7`T;@9h (76@96 @ 9@9 6@@=@9H 77@96 @ 9@9I 6@@=@9 6H@@9((6T@!T@6r!T!8 Rm`48R>;@9(6T@RgJ7JH)+)A @ bqRRGh*6@BRI:@9@07%T VQ`N@!5H@ @9 06 @!H@ @9i07@9( 6#@BRH:@9307xДB4sk (R +)A?T+@+T,@ @}Aӭ L* *qS}˭! T ҟBT=@9G @T @91G-B- @ T  @91G-B- @`T @91G-B- @T@91G-B- @T@91G-B- @ T@91G-B- @`T@9Pˌ! ҏ!AG~ P T T !bT KAT}ooNoo@ ///ocnB.n!.!T!NN N^ f@T,|ooN oooooo< o/2/1oo/onBn..c.nn!.AT!NcN!NNBNN N^ fTn7@8N T)A?CT @ @BT 04CTi@vW ?Tm4@Tj_TU@TA@_ZC@TuI@   Rl3 9 Rl3 9  #@T+87 8 #@cT@+@ #CCjAk_kU,@h ZS+O+H)h-R#@TCCZC#aT7@@9@7#@R?k#@( @y( CbTCAT @ @#@@ @T @C5_T@ZC_BTT@A@چ@9 @@( ,@9H5:@9B4Zc407wH@@Yi)-@)@?!T{FOEWD_CgBoA#l_6@94҂RR1"R`a4_WO{B4b4@@ @ @93@97qTO5 @ 5@ T4@C6@@@aRg,@@u@@@9qT4@l T5 @ 5@ T4@C44@"qT}Ӊ) )!?AbT * i @ )T@964@hfSs@)5*k4k@hy*H()5)@_ kT4 @* @Jy * sqaT@@{COBWA_Ĩ_i  " @<`< T?T K35og_WO{CB4@8@987h@ @?|@T4@CTh:@9c4H87ҙ"{#8h @yu {5_!T.@@9h(7`cyh:@9c4?6wҙ"{#8R@ {5_T @@9h(7`c!@@{EODWC_BgAoƨ_WO{B4@4@Ta4@4@@ @h@9(6@9 ?qaT@9rT`@ `@{BOAWè_"RWO{ @H7raT)R jaT ? q$AzT? qTi@* @` @7=bi@? h@ !R2*Bq@TqTqTi@(2h7H77{BOAWè_s;RE{BOAWè_7@4@ 7 @) 7@@ 7 @) /7@ @ 7 @) Q'@еB.@`RRR)@.@@ @ @@ R u3('@еB2@RRR)@2@@ @R @Rr( 6-@2@R t i@(2h6 Q'@t i@(2hi6h@6_h@l[h@rTD _8I p_ ` yhJhWO{B4@@b> 8@9(7)a4)@6@9r@T 4@9I6 @*9@9 6)@)@)=@9i 6!8aR# RC@`q`T q! Th:@9H 87h@ @b))@!Ѡ( @ _!@qT(@@)a4)@6@9rT)A7)@*)@ 7)@ RI% 6@9 4@97)-@? q)6Z 4@9 7!Ѡ @( @ _!@qT J%Q_ q#THX6( @ @K!@qTJJ%Q_ qT4@T x@ !ѩ@{BOAWèH"R@a4@ @9i07)4)@ @( Y|@4"@CVMTT"@BRDa4@@9yS(:@9H07a4@@{BOAWè_vCog_WO{h-@@C4@c4 @*@907k4k@, @h sb>k@ !sb>k@kl1@9%QqTk @u@@(A@yIrOT)A7)@*)@ 7)@ RI% )@9)O!Ux@(A@yIrOT!:@986!RYs`^@p(R\i`^O@RG@ qET@a@_TB€R DH;@9(P07z! @6?gqT"O@ qT@ B97?gq!T_,O@ qT)-@? q)R)O!*@B9q T`@RmY6h@ @ @aR%)@@8@987@ @|@@T`@@@9}S`@R@B97Rh4?gq`T`@mO@ qT?oq`T!JH;@9(D07@ B9)y 9`@a!"RR26@9B5h@ @ @R(@@a!"R9h@ @@8@9B07 @O@ qT?oqTH;@9h(6}3RH@HX65R, R`O!8/;RH@_7 ?!@qT )-Q? 1CT R)4r qTR=H3@9 qTaR'H@ @H@y)R jT R+34H@rTHP7 R)4r qTR=H@ @(R/?gqO@BzZ)K# RO7M_ K@ 7@ @h @B9 (7A>@5@9h 5 5@B9 76@9),(9( 5@ @) @ B9)2 9:@9 07@4@ T?gq T@ @h)A>)@*@J @ @JKih8) @)@9 kT_i(8@ @) @h@9H4<RbR#hk|8(5"O@ qT@ )AJ _UT! @^ C6@B96a>@a4@@9}S#}"R?gqT">@9/6Rf`4 @@ @T͂@si @hB[**qS} !bT4Ij9 7h !h @`T 9*7 @T 97 @ T 97 @T 9J7 @T 97 @@T 9 7 @T 9j6(@T(!*A_)TT ) 9j7)TuCQ( 0`h`T kl@8mil8J  JD94_qT?aTh@9qaTR ?A@hTbTh@9RR!)f9҂RR0, q#@T@h@ )AJ _E#T* R?a1 ` @^` c4@@ZI)-@)@?T{TOSWR_QgPoOC_?gqTa>@RŠ7!@ } JE)kk.rh#!(Rea>@Rc4@/@4?oq Th@ R)0r jTRP'h@Rr  ih6)@h:@9(07@B9'76@9),(9(4҂RR+||~|`@@@R&@@z@ @ @|_WO{sB4u@_ @@* @I* R r? jATH H@6)7@@)@)@ RR>F7 @* @I*H G7H7q@@(@@ a)!8*q(ta4@@{BOAWè_O{CA4@@h@ R)4r qTh@ @ ? T`) h:@907a4@@{AO¨_]|O{CA4@@h@ R)4r qTh@ @ ? T b) h:@907a4@@{AO¨_:|WO{B4@-@5@h:@9( (7!8i)CjU)} ? iTh@rTP7H@7hX7R:6%h@ @T(h @@9qTh@@a4@ A@y)!?q)  C{BOAWè_h @ 9@9 6@@=@9'7a4@@{BOAWè_a+@?ֳ@h:@9(/6zT_WO{B4@@b4@A@y!q`Tq!T-@5sh@h@i@*_5qTI7?rq`TqT5q@ C{COBWA_Ĩ_ֈ4!8!8@@{COBWA_Ĩ_@qTZzi@?rqTa+@?#mog_WO{B4@b4@ @907)4)@ @( H#@Rr@_@U@@  *+_ jT R_ jT?rT:R R  ?qD @zTRb.@@7 qT@@R50r7,@9qTh@  ? qaT @R *hh@ Rrz4@ R* +_qd @z!TG66@)@9?r R  ?qD @zTR1@`R50r6@ qaT@@  )R@@(jT7R1)`,@9qTh@  ? q TR .@i@7@@)jT @)R@@(j Tk@췟kU? kTA BTa )6'a bT5#@ )R Uڨ@@(j!Tk@6a TA bTa  6,@9qTh@R)0r  ?q T"*Z?T,@9qTl c@a,@9qT]RRHD7T@@  * R_ jT  @7*O6@@@@A@ |Bg b |Bgb^Ba^Db |Bg(b |Bg b"^Ba^ DbT(ah@R)0r  ? q!T @R *hh@@J@@k@L~m~ӌ *l7a h@R)0r  ?q!T R *ha @@{FOEWD_CgBoA#l_ x+xL~m~ӌ *7<*A`8*)C_WO{B4@c4@ A@y)!?)qT)4)@ @4yj @ @4@aR-$@@@ @95@94@mT:@9877@ @ T@k@5:@987 5!8a:@986:@9h(6xv@@{DOCWB_AC_ֈ @yvhh5!8ah"R:@9H?6@.$aWO{B4@4@)5*@K+I 4@b4@) @yia@]t@@{BOAWè_og_WO{CC4@94(@)5*@K+Z b4@)@9 !?r>@v@ )%Q?qT @3@Sh:@9 86!Rrz@ (@  aT)4)@)?Tv#C }Ӊ`C}}"ւR@7R_cRa#@A@y!IRJRqDC{EODWC_BgAoƨ?:!@qT @@h 1@9)%Q?qT @@sh:@9(86!R+z@+h@@U>@ @@{# @ R r j@THT`@K4"HT@ @@B`7.T*h @Rgh{(R(@ 4@mT!8a@@{EODWC_BgAoƨ_@4"IT)T@A@y!qaTa!"R6`5  @4@94 4h@B961@T(@ 4@T!8"Rv"R(@v#C }"R}{CH4` 9`WO{B4@4b4@@* @ @(9 74@ T@ @9 7@9h6@ @947)raT)A7)@*)@j 7)@ RI% )@9)? qTt@{BOAWè_(rT qTA7@ )@7@ R(! @9 q`T qaT{BOAWèp-@ qaT:@987@ @T@@9(72`& x|@T!8!!8h@@{BOAWè_)-@? qaT"_77"R@ @9'6WO{B4@4b4@@* @ @(974@T@ @9 7 @9j6d@ @947)raT)A7)@*)@*7)@ RI% )@9)? qT@{BOAWè_)rT)A7)@*)@7)@ RI% )@9))-@? q)R)@9!R{BOAWè)-@? qT"\_H77?"R@ @9)'6g_WO{b4? qToC4@b4q T@@9(7( 7R:@9h87:R:@987 q:@986 Rxx@@6|@4!8 !  ?hR*6 7Rt44@@) @yi,@9qTh@R)0r  ?qT'34@@)4)@ @3yh,@9q@Th@R)0r  ?qT R *hv 31 %@@{DOCWB_AgŨ_x&3g_WO{H-@@B4@ @b4@ @98rT)A7)@*)@7)@ RI% )@98)-@? q)R8A@yH#!q1RIzhRh@7HX7 ?k Tuh@_6t @@6@)@)=@9  7(kT@ @9i(697@ @9i 7@9h 7H#9q`T!qT qT q! T:@9H87@ @@ @9i(6!8 !?( @(Y @! @@9#RQ @! J!w|@@ @9/7)4)@ @3yh,@9q@Th@R)0r  ?q T R *ha @()%Q!@q" BzT)?q!CU#:q`T"qTh @@TaR @;47 q T @ @@@@I)-@)@?aT{FOEWD_CgB_?qHR@@2@9(k`T)?q(\#]HY4` ]h @@RL @@@96:q`T"qTy%3Fxhai)?q(#]og _ W O { C)A449@ @5 @* *# *! (+  !k#М6@yc Ry7B1[Z,C,TAT @)9@9/6%7@)Ta4@@9rTh(67@T7@!T @* @_q T(1@9-qaT7@!T @)9@9I76Z!Ta4@@9r TgZiT7@ijTA7@ )@IB7@ R(! @9gZT+@ aЌa57@@ Z@BRV:Ќa5:@9 07""?=TBdT@_9@1q#T-qT(RjZ`T!8CiU} "XT R BqAT @qT!@qT%Qq @zTR|^Ќa55_6 @ @qbYhTHR )A)5@()5)@ kT) Ќa5h@sB @1qTFuЌa5R!x!v^Ќa5@_6R Ra4@7@) )C @946R.RoUR Th{v  @* sZJ**J-Q_qT6 (6 @_q`T?jTJ!8  JCJ}_!XT-7T R"IT5)2 -R@@jT7t6"T[g_9qzT KyA€R.@K@ *Zg@[@.RoURth @ ѲnCB)@ )5)@  'j3TZi @)i @ (  @?)}!)J!8Ja@ji(!)T@ /0(TZ@7@) @@@)R R k/@aT@IA -TB N@ H}a @a5@ !B}ӆxJA)H@  ^T@ HhC*7ZеB)@I )5)@ /j*TA @) @ ( @4 +Thş)})!J!8Ja@ji))!TеB)@@( " Tg@ q&Ta4@@9 6A)@)5)@@  VTVTZ:@9H87@@Ќa5 TMЌa5/@A@TЌa5@g@ q"T0TK'C} !8a/&A€R)\Ќa5@y4B hT@ @ R  ?BqT @?qTy IR )(RKЌa5:@9(07B"?TYZRRR@Ќa5@/@ i5:@9(76sЌa5B"?TZK@&6@@ )!8)a 8A'T-@ q(RgZT2'@@_H}) )!/!8a'a5@/@ v{tZ`'@h{4:@907T{s!Ta5@@  )!8)a Z@y7 @?qT(Q 7@T?R A€R[Ќa5@y4"(T@ @  ?BqT @?qTy IR )ן Ȯ6ן qT ? ITi{hi* @Jy* R T{'@a5@ag@ qTa4@ @9:(7@9:7R a5!8ah 7@\/@a5@A)@)5)@@  =TT@A€R,a5)TTZn:@9h76rL7@T'C} '!8a"@/ZRRR@ZRR/@R'@a5@@ i5(R/@8@907B"'TrB"' T@T@!bT!8aB"T_ZRRRx@B#TZa5@7B)@@  JT@)  @?q T(Q v# T5RwU@y7hT4@_9@ ?1qT?-qT7@ @j T!8C}"XTp=:@907Ԇt@sB@ ?1qT7@@ TR Tf:@976-r*rLv#T_9@yyraTc@yg@ q T"ѪZJ!q4sB4ta4@@{MOLWK_JgIoH_uxuyunu@yr T)a)@r Z)q)@r!Zvubu@yrT))@r Z))@r!Z|vUuJu6 @9kSz@z) * 9c@yg@ qAT4@Z-TsB4a4@ @9 7)4)@ @5yh7@CH@9qT@R)0r  ?qT R * k!8h!#@+@? k"Ra ( }I@@* @!! }Ӛu@ ( })a5)@* @A! }ӍuJA)H@Za5hThD@8@9(7@@kA)i@*j B T6A€RY+a5A)@)5)@ Ta55RqTJa5  @) I@(y7"hT@@7X6 @ 1@9?-qT4AR)+Ja5@oJa5@_7$`X2Xea5먝TD$SXWO{@5RZ4aT6@9(6 @1@9-Q qTy354A! R'Z{COBWA_g_WO{B4c4@@@2@9)qAT9@@(@)@?7@4@ 7 @) s Bш A) @ 5@Ta5@y @  2rT!R @2@0@9)qATZ@Vo@@qA9h(7!R& @?qT(Q m(oA9h74@ Tt@@{DOCWB_AgŨ_6@9h4҂RRU@9h4 @҂RRM"R+@o @?qT(Q MJJJo g _ W O {H-@@b4@@[@H3@9)qT{@A4@@9rT)A7)@*)@7)@ RI% )@96958@06w_"A4@@9r`T958@77@)4)@(  6@@ @R@@4@BTA4i@@-U qTѠYR TY(@ @7 @ѠYBR ChoA9),H7(@9(?5Z?9B@' ))6h@ @JJ? T-@hb 4W!(%$g@7E*RZ?9B@' ))7I@* @K3@9)qAT) @)YAy) @+)A6)@_ $ @aTj@J,J@ ? !TJa6J@ _ <T@[@I3@9?)qAT{@i7@I? Th@ @JJ? A6Tg@H6A97Yp`H(@kmT q.T!8hr?kg@6Yqp @;L@9 07Y @ 6)7)@)@9 7Z7(X6Y @ 9@9 6@@=@9 7YI;9)-@? q)R6958@(76$-_iT#Y @(7(X6Y @ 9@9 6@@=@9 7YR@9(7RQL7@9@rR R"GLb4?@95g@ѿ75@?@kMTq!8h5@?@kMTfb4A4@@Z))-@)@?T{NOMWL_KgJoI_+'5U"R A9 SZ?9B@' )7-@m4bZi7@'!&,g@ȿ7M @8)?qTZTg@$ Ujpg@%QUog_WO{C4@@_9c4(@ @9i(7 @97Ri@*Z#8_1q T;Ri@*Z#8_1qT@9877R4q(@i@*Z#8_1q`TUc6 Rpn@f&@@@!$"7R"R`! 7R"RRRRUrjRRRF@4@HcHT067@5@ 7 @) Uc@C4h:@9(86:@9(6l| 87(@@9rC4 TrC4BB*@@R RR@*o= A) @ 5@ Ta5@y @ 2@)R !9AR-U"RR @?qT(Q h @h @!@)R .h>@9(6i@(@)=@i4@H @ ?%qTX6@1@95q!T(@@9}SRC4C4W4(@@9}SR@Ic5(@@{FOEWD_CgBoA_F /Sog_WO{ Rra4@@@"6B4!8a@@T1Tjh8) )A4(@_(@ @ @@Ry@@@ @Rh@7HX6h @ @6 @J@J=@9 7)?-qT@@ @@@aRW@@Dkjyhx) ֗@06 @@ @@h(  qT~@@ @)@@h(  qT @ 9@9 6@@=@9 7R;U@ 4R!*[U@c)A4(@_(@ @ @@R@@@ @Rh@7X6h @ @6 @J@J=@9 7)?1qT7@@ @@@R@@Dkyjyhx) ֈ# @@ @@ @R@@U07RRRL@ZT_R@@@h(  qT( qT@@06}AR07"R I@HGӨ@T@@Tmjh@_7 ?-qT)%Q!@q" BzT!bR=h @@>Vjh@H_7 ?1qT)%Q!@q" BzT!R&h @@(AR5@ 1@9)?-qTaR5@ 1@9)?1qT ka4@@9rTv 7@9raTA7@ )@'7@ R(! @9RRq%RR*qTa4@@9r`T 7@9raTA7@ )@ %7@ R(! @9quSq@ T!8a@9h(77R86Z@9(7 7R 86}RRR)!8(Z)!8(q35R8698R 86_Mqa4@@9%878RrjRRRź@4@!8aH! Tv,067@ @ 7 @) V!8a@h:@986:@9H(6~iqa4@@96#874Rr 4u@8v'87pu@h:@987j%06h:@9(87h@ @!8ah:@9 86:@9 (6QiZ87Xj|@ ?鲉!?TI"Rg#CBB*@@R RR%@*o= A) @ 5@Ta5@y @ 2@)R !9ARqR"RR  @?qCT(Q h @h @!@)R A4@4@ TA4a4@@{FOEWD_CgBoA_-@ qTRRR-@ qTRh>@96i@(@h)=@i4@@ ?%qTHX6 @1@95qTa4@@9}SR)RRRƹRix4a4@@9}SR!@d* QX+Q"Rh:@986 Rj@c#@@@!$"8R"R! 8R"RRRRh:@986 Rrj@b"@@@U!$"4R"R! 4R"R!dC7 /P .P4#RH@0-{a4@ @9 @(74!R{B_&5 -PH.p6 @) @JJ(?H ,zPog_WO{(-@@A7@ @! R% 9(706 @)A8@9c4 @ @k!8I$ q)T<Rr3M#{"T_q T_qT_q!TD @  ?q T@) @ @( 7k(@@9*@)3*4J TҨ4#ӢDlT@T @qT@ rTR)0r  ?qT R * }(@@9ԦD)3*H 4h5:@9H87B@ @@9(7( @q`T(7y )@)) )@ ARP@ @?qT(QCBR@@67@9@7HX7 6R/ 47@9@7C h6@9r Th@ @ @ hT@ @q! T:@9 r TBR%- MT[*:@9(87@ @ןh4!maARP` @@ @ !TD[@]@(67@)!.(@]@H6d0RBRR@ @@ @ @@ @ @0E:@987@ @0^|@"T4@@CWT67h  T @yv h  TR`@_h!".@h@@9rTA7@ )@7@ R(! @9-@ q(R@@? qT(@ !@ @T T)!8)a)@ @@@ )-@)@?T{HOGWF_EgDoCC_ֳs7@h@@9rT_/DR /~D{C@qA987R!P2@RcF{A_!1@R{AZFO{Rҕ@)7(C#]Dog_WO{ RrB4@5_@ qAT@@3@b4@ @9(68R@9@  q@T+AR3@b4@ @9/7 @9I7R@9@  qT7q@@9@  qaT @ 9@9 6@@=@9 7RE@5h@ J!8?-qT[876Rr 4 R r@?(jT*H  kT@@@B4h:@9(87HH6 qT@@G!8aB4h:@986:@9(6Y[{ARR0ҟTw@ { 87H@@9r T)e[06h:@9B4H87h@ @ ?񉲉!a\|@ ?񉲉!?TJ"RYDARxҟT( C6 R.]@U@@@W!$"6R"Rg! 6R"R`p!*R^Eh@ J!8?-q`TTa 4#R_@B44H@@{FOEWD_CgBoA_.HCWO{B4@@h6@96` @0@95q`T`RC0@9%qaT@ @a4@@{BOAWè_g_WO{-@@4@5 @) )A4)@ `T@T@7 R R kT@ @h @X7rT ?!@qT *%Q_qHT @H@?)qT@ !A9?qAT!@U@ @) @7 ?!@qT%QqT @H@:@9 6@@R @h6@96h @ )i8 T7RR96C -)U ?qT@! @ @2@RVCR @ @2  @RX0@9%QqT@@T@ @) (@6 @A@ )-@)@?aT{FOEWD_CgB_6BYk5B]g_WO{B4@b4@@20@91qTRRR@3@9%qT @ @@y4)@@!@@ ?k!T4@T @ @haz@ ?k T`R0 4@ T2@9%qaT @ @t@@{DOCWB_AgŨ_"R2@9%qT"Rg_WO{B4@b4@@7@@@!@@-z@ RRR@3@9%qT @ @)@4)@@!@`y@ ?kaT4@ T @ @h`R 4@ T2@9%qaT @ @t@@{DOCWB_AgŨ_"R2@9%qT"Rg_WO{B4@b4@BR*XURRR@@3@9%qT @ @i@4)@@!@`y@ ?kT4@MT @ @h@@`R[ 4@ T2@9%qaT @ @t@@{DOCWB_AgŨ_"R2@9%qT"Rg_WO{B4@b4@BRu@!@@/Dy@`RRR@@3@9%qT @ @i@4)@@!@`(y@ ?kT4@MT @ @h@@`R 4@ T2@9%qaT @ @t@@{DOCWB_AgŨ_"RH2@9%qT"R?{C7@H4!R @h@65M qT@@ARl @x{A_{R9 ҈7 @ @C`R ll j%)a??AT ? R  @J7I)7*@J*{__og_WO{C.(R97@RrRRr@ @ qTYb +h@ h sbTh@ q$@z Th @4` @8@9'6h@(j`Tyh @?qT(Q2@RR9R@ @ qTYb2sbTh@  q Yz!Th @4h @i @)i @  8@9 6@?qCT(Qh @@  8@9 6@?qT(Qh @@  8@9 6@?qcT(Qh @ @  8@9 6 @?qT(Qa @?qCT(Qh 2h @@ 22h @ @2@RR;Rւ>@ @ qTacv2sbTh@  q [z!Th @4h @@@dIdJTi @)i i2@9)%Q?qhT@  8@9 6@?q#T(Qa @?qCT(Qh M2a @?qBT@R@u @ qTUbR0sbbTh@  q$@z Th @4@I( @)1@9)%Q?qT@T@( @)1@9)%Q?q(T@T>@@ @ ?!@qT%QqHT @@?d@T@(@H 9@9 6? @?q T)Q @?q#T(Q@h@ ?!@qT%QqTi @@?S`Th @a (@H 9@9 6? @?qT)Q a @?qT(Qh @?qcT(Q9{EODWC_BgAoƨ_־111511g_WO{.)R 97@RR 6@ @ qTUb1sbbT@q`T @(4@ @I`T"A)2?qT(Q R{DOCWB_AgŨ__WO{7@@SAoA7{COBWA_Ĩ_Ss@sh>@97<@9(7N8v@J8h@H4v"}jwA8bT_WO{*@+["A) kCT RR,8(R @  R]7V" Ӛ }Ay6?-T +   cT?yv{COBWA_Ĩ_og_WO{ @@k(Tе/6? qT6REy@qHT)R)!*R? jTk T*h@]*hQ=q%TN4J!Lih8k `ּ97(@9 @9!R7` @9I @9KA( kjB !Z>q@T qhTz @9H5q` T qATRqkAvy{5@9@@Z)#A) kT RR7(R @ ) Re/7 [4# ՚}kA`y; T @ _ cTUBz{H :@9@9<@gZ#A) kCT RRh7(R  @  Rq6 W4# ښ}z;mT @ _ cT4h6@97 qRq^ @9H/6R*7=z @R q2KhBhbh s@vy{@hy;X @9` @9\@z{ @z;hBqT2qAT)A2 @i@Rr( h6h@2hqcT(@i@((@i@(@95?}  qBT } %h@ R u3iqT @9h5*S8g= AR"RR h@ 2h;@ @@ @) i@(h@R ! qT@9(4 @9()A}+ij (i*{GOFWE_DgCoB_ 6=og_WO{C @)R j?T6 ?1qTh@ X7 R r*2  _ kA Tj'Q_q TB)5b5t7975@5R 6҉)7*@ @C `R KK I%a?AT R@(7 @) C@@J6T@y h@yhB9#R8h@)R j Ti{EODWC_BgAoƨh6R r)  2? kT#q@T r.T RV@. RR{EODWC_BgAoƨ&+qT֢7@5R5҉)7*@ @C `R KK I%a?AT RR@)7(@(@h@ @ 47yh)R jTA,T!8hCiU} T@@J&T@y h@ 2hh @h h @ @4h@@'h@h@ @)~ h@@@Wi@(yh)?%qaTB@98@RX #A) kCT RR5(R  @   Ra;5[R#jU~ʛE|T  ? ))? , ? }ʛJEL cT~ J|)  opok o T T  i)?cTnh@ @i@HRRa h@@ @(h@h@@ @(h@h@ @@( |@h2@9)qT@6 i@R߿r*yj+qT:7w @h@ @4j882X @h@@ <@96 @(@)=@i4@}NVR rt h@ @@( h@ R  *R߿r*yj+qT) )*i@i&A)( *?qc T(Q <_@ @i@ @" ==i@&@*&hh@] 2h7RRr  ih6a @(_8H(p_i@* @J* i @ ` h@yhh@ @Wa> @?T!> @?AT{EODWC_BgAoƨ_zR`Rc{EODWC_BgAoƨ-N5;O{C @46 O @-U qT@{AO¨_ ?AqT @JaLii8k ` rT R_T`p {AO¨_BR{AO¨h@) *Jr@{AO¨_֠4{AO¨_))J !@q@{AO¨_{AO¨_,{AO¨_H{AO¨_֠8!{AO¨_ֈX7h@!A9y) *JQq@{AO¨_ {AO¨_ {AO¨_֠!{AO¨_ {AO¨_@<@9h7(_8H(p_ @* @J* @( @)y @) @"W_WO{еB@( @RV"A) kCT RR3(R @  RY3R(R"q DZjq~ʛG |ӠEKT   i)? + ? @j}ʛJGJ_ TKl~ J|)  ρ/  БT T  i)A?cT_@ @i@ @2@*2hi@)2i{COBWA_Ĩ_WO{ @X6RVh@ ? qTaR76Ru @1j@I @ TJ @J JJA B"T}A3  3a @h@ @blVu h@ {BOAWè_a @(_8H(p_i@* @J* i @ ` h@yhh@ @RVu @h@ @?T @IRQ O{C@i@ R r_)jaT$h@yyh {AO¨_ )yi@7?qT@y)R jTA,T!8CiU} T)A)(@()5)@ T)a5)@ y( @ 2 {AO¨_?qT(Q{AO¨_{AO¨+6WO{@@%A @ RK R k @ J  @h _84)Q 8@  @ @77@ @cT   v5{BOAWè_֡ @U@ @@) @i)84`"{BOAWèB{C4 )9O{C( RA?142` h@ {AO¨_O{ @ R)0r jTRh@ ?=qT @JLii8k `iBi]2 Rfh@ ?!@q`TRr  i6a @(_8H(p_i@* @J* i @ ` h@yhh@ @\Ui@ R(*hh@,@95{BOA_ֈ6@9(4҂RR{BOARa4@@@y!@ qTAR#Hi)7 yh88C_WO{_q TIs8 @?qTjJ0J ?q @*R? j@T06? rTqT(qcT@@QqT @@ {DOCWB_AC_!2qTq`TqT(R {DOCWB_AC_ֈ@ 2{DOCWB_AC_R8X8O{C6h:@907{AO¨_{AO¨PO{C{AO¨"@2@{AO¨_O{Ch:@907{AO¨_h@2hh@h:@976{AO¨P#mO{@` @ R)0r jTRh@ ?=qT @JLii8k `ibi]2hR`!@qTh@i@Rr( h6a @(_8H(p_i@* @J* i @ ` h@yhh@ @TTh@ @R *h,@95{COB#Am_ֈ6@94҂RR{COB#AmRa4@@@y!@ qTARGi)7 yh497O{Ch:@907{AO¨_{AO¨PO{C @ R)0r jTRRh@ ? q$AzT? qTi@Rr( h)7t 2h{AO¨_!Ri@Rr( hI6i@* @` @70i@? h@ i@Rr( h)6a @(_8H(p_i@* @J* i @ ` h@yhh@ @Sh@t 2h{AO¨_ _8I p_ ` yhO{Ch:@907{AO¨_{AO¨O(@(O{C(@(h:@907{AO¨_{AO¨O{C-@@ @ R j@T-U q!T@ @@ `R R@҆r@ )-@)@?T{A_Rg_WO{-@@ @ r_r7*7N@5X7p7U @7H7!@q&T%Qq(&T B9#R$@@}S 3 @@6@@=@9 7 @U@!q!T7@@96@R@4@ S(3@ @h @S?@ @hAq%T־ @))+yhxJ @ rT RO@ r qTR@ @CY_駟LUڿq뷟J3 TnQ RBӭ}ΛBӰPypxxD  Ti %T85Hh77R!8aBR#R,` @ ?qGzCT@@RO``@947@X6 @ @? TP7@qTR@@ @ `aT(TAR i %iTJymxxi4R8ˈ@ @T @R9@2SR/9ȩRrIRȨr0R O ))r6JS7@@ =@9)6 @(@)=@i4@H!@9@ 3+ R@W. :U(Q*R*1x)6@*ij8 8Dѿ> (T R x R 9&RR8R5ShaRS6X76@95 R7`4 @)R. jT qTaR.(TRT@@< @Rx @@ @h@@}S 3J~4{:!x))J !@qVp X7@!A9y) *JQqVe b _\֦!Y.V @`g bT `fT7P@@ @iTaR @A 9@9*(7 6 RR-77@9@7h 6RR"4҈* @9(@8R 5qTR(@4@@R!9DRx 6K `TR8(ɍRy R 9>8T@2<֒ 9(@@ @ cTi@ @T(@h4@@R!9R1 @@@R!9R(@ =@9 (6 @+R@2X7?ֱO@85 @Sh@( @@)-@)@?AT{GOFWE_DgC_ֈ6@9),(9@_7ZO)Ry R9>8TNWO{-@@@66Kh@X7 R r?(jTi@)@)(I@9 q@TARM@ ?!q@TR r  JR r? k`T)R j T 5 R5@4wA8@9 6@@=@9H 6 h7"8b"R#R @X6` @@ @ T Rr  ?qTb"t @h@ @R ?qaT@7  TR`7 `7h@@@)-@)@? TW  ?qT6AKh@ X6A8@9( 6@@=@9 6"R#R@ @_6` @@ T' @)-@)@?T0H 7((75Rb5`4/@)-@)@?`T@)-@)@?`Tr@)-@)@?T{COBWA_֠@@)-@)@?TNu2 R r?(jTRO{-@@cVa4@@@y!@ qTAR C!I)7 yh!pR55^)-@)@?T{GOF_֖NWO{C-@@b4@@@y?R  R? kaTS=A7@ -@? qT!@h5,2 !? qT?qaT @9)(7!@I)7 yh"ARB<4@(@R[R c$RER@!8)]!(.!@( R4@)-@)@?T{EODWC_NCWO{-@@ @th74p7!@qT%Qq(T4R])-@)@?T# qATRV` @h@ @?T @9*_%hT5@?qTREt@h@ R *i R])-@)@?T6@95 RB44!I)7 yh!pR0])-@)@?T{HOGWFC_־Jg_WO{4@96v"8y @bw6x,(;@9H 6(@@=@9 6"R#R  @ ?qGzCT@@R)H``@9(76@9h6 @h @?T@996@97ry @t7@3R'i)7*@ @C `R KK I%a?AT Rh@h7 @) hBh C%3R'i)7*@ @C `R KK I%a?AT Rh@h7 @) hBh C`y @95h@y)R j`ThCiU} i)A, DCThA) @ h5@ Tha5@y h@ 2h{DOCWB_AgŨ_@9(4҂RR{0@9q#T@@RG``@97R{_ R{_O{C@h@y)R jTh!8hCiU} i)A, DCThA) @ h5@Tha5@y h@ 2h{AO¨_O{CtД7@@R ' jJ7K@ `C@`R  ll j%)a??AT  ? R @h7 @) @ Ch,@95{AO¨_@R& jJ7K@ `C@`R  ll j%)a??AT  ? R @h7 @) @ Ch,@9h4h6@94҂RR{AO¨_WO{a6:@9(7v֢7@3R&i)7*@ @C `R KK I%a?AT Rh@h7 @) @`z hA) @ h5@Tha5@y h@ 2h{BOAWè_~Dv֢7@O{CtД7@3RL&i)7*@ @C `R KK I%a?AT Rh@h7 @) C`hA) @ h5@*Tha5@y {AO¨_O{-@@( @-U qT@ @ @H2@@i@}S 3i@)-@)@?T{BOA_GWO{ @ R)0r jTRh@ ?!@qT )%Q?q T ? qTaR#h@7h@ @iTv @%Ij48h@ h@y] R *hi),)@9)55qaTh@ ]@)y ]Rr  i7{COBWA_a @(_8H(p_i@* @J* i @ ` h@yhh@ @{COBWAHi)6)@94҂RRh2@9>^,d,C_WO{-@@ @66C@Rr) R  ?q@@zT ?!@q!T )-Q? 1@zTM_6w7@5RH%i)7*@ @C `R KK I%a?AT R@h7 @) ChA) @ h5@Tha5@y @ qT@ @ @R @@@}S 3RR$@ q!T@ @h @ T @R@)-@)@?!T{DOCWB_AC_ֆFCWO{-@@ @ R r?(jTi@) @U6R:h2@9qCTh@@ RD @? TN@9062RRDCh@-U qATh@ @ ` @C׃@ @i@( h@yh R@)-@)@?T{DOCWBC_CC46R@)-@)@?TvFha4@9[+@@y!@ qTAR:I)7 yhM+C_WO{-@@ @66wB@Rr) R  ?q@@zT ?!@q!T )-Q? 1@zTM_6w7@5R8$i)7*@ @C `R KK I%a?AT R@h7 @) ChA) @ h5@Tha5@y @ qT@ @ @R@@@}S 3R$@ q!T@ @h @ T @R@)-@)@?!T{DOCWB_AC_vEC_WO{-@@h!8aT @ -)U ?qAT7 R r  ?!qIR rDIz`T6Rh@ @*l @ @}Ak L*k *kqSk}k k!_ T ls)R  ?qD@zT R)4r  ?q`TBh@+i@h7)!A!CTVth@6Ti@7)!A!CT(i>@9I 7 @T>( @9 7 m! @Tn97  @@Tn9.7  @Tn97 @Tn97 @`Tn9N7 @Tn97 @ Tn96' @k!T!A  )T TM  n97kTi@*2ji 7 %AA?# TkkkkCkQ m @}A M* *qS}!0 Tҿ C TOp n@9G @Tp q @91G.B. @ Tpq @91G.B. @`Tpq@91G.B. @Tpq@91G.B. @TpQq@91G.B. @ Tp!q@91G.B. @`T@9P˭!  @( @@!A1G11~Q  T T/ !bT KAT}ooNooą@ ///ocnB.n!."T!NN N^fT1|ooN oooooo0< o/2/1oo/onBn..c.nn!.AT!NcN!NNBNN N^fTo7/@8O? Tu 6  JA @_T! ih@J h @j@J @  _9( cTI  RL3,9 _8J}SJ2*8)  T 97*8 bTh2@9qCTh@@ RrBL@9yL9RkBAh@2hh@ @@)-@)@?T{DOCWB_AC_DWO{?ru"8bi7h:@9h(7h@rTX6h @ 9@9 6@@=@9h 6R#R @X6 @j @? T rh7r` THP7rT( @h@rTX R r  ?!qKR rDKzATh@ @IT R{BOAWè_ _qTh@@ @iT R{BOAWè_(@6 @)@ R{BOAWè_֨H6@@ `{BOAWè_jJCkUJ} _ iTP7(@7)%Q? q'!@q{BOAWè_(@h@ @T(h @@9q{BOAWè_R{BOAWè_h@@{BOAWè_{BOAWè_CWO{-@@b6h:@9 (7h@ R)0r j@T R)r  ? qTRh@P7 ?)q T)%Q!@q" AzI TzCJ.u @h@ ? qTj @ `TX7? qT(7h@ @ @ATh@ @#RQh@ ? qTaR~h@(6 @ @` @D @i@( i @?i(8h@P7 R *hh,@9h5h@y] R *h` @@)-@)@?T{DOCWBC_?h@ R)0r jATh6@9h4҂RR)Rha4@@@y!@ qTAR57BI)7 yh 'Cg_WO{-@@ @-U qTh@ @w @@Th@)Rx)  @9?qD @zGzbT!R@`@@?a T@@)-@)@? T@`T@ ˟ b T~R~ 9(46T9} O[X'4@Th@ R)r  ?qTu qb TR RR h@ @ RH9H0!Q>;@)-@)@?T{HOGWF_EgDC_@_!T @@)-@)@?T$?bT@@ T@ X2?-T _8)?qTHT)RR@@)-@)@?`TB _bT @ @# 6 @ @.h2@9qiT}975:ReS&O{C@y)R jTRAR h@yh{AO¨_g_WO{4@907 R{DOCWB_AgŨ_!RBR4t @w@ @vD @~AJ T*J*JqSJ}J J! bT4I9 7 )! @`T9*7 @T97 @ T97 @T9J7 @T97 @@T9 7 @T9j6*@JT5!*A_)T"T˩9i7THCQ5aTC @~BU**qS} ! cT*97 ! @ T 97  @T 9J7 @T 97 @@T 9 7 @T 9j7 @T 97 @`T 9*7(@T(!*A_)TbT ) 9j7)T3CQ(9T ˫l@8,kl8J * JD94_q T?T`˨` @9qTRu TR{DOCWB_AgŨ_h@2hh2@9q#T@ R? @qT }@ @9?qThT R? =og_WO{-@@5@@ @2@96I h7@%@i @*A@ y3*Ah @h@ @) (/QqhT)+ih8J @Rh @R7MI (/QqTRh @R:7ARh @Rz7;Rh @AR75h @<R7/h @!<RZ6?7qT @4 @@?q#CT(Qh @ h @h5jJ4 J@J S]@l @l RK1) h5@ kl?T@@?7qaTTh @@4h @@H 5@ @ qA97`R&@ 4: 7@qA9H7 h@@h =@9i7{ h@@h @@h@@P: @(@)=@I4@i @)@?i)@)@',:`@y)R jThA,`Th!8CiU} CThA) @ h5@4Tha5@y @ 2@]@rCنz7@P7 ?5qaT@ @*uA9*(6*%AK b) #  @@# @M zh @h@ @)~ h@@`h @ @6? qT)Q h @ @? q#TjJ)K@kK? qTh) @)  fh@@fh @ @)  @ 7h@ @?ATjJ7J@J@ @_ `T) ?/q`T??qT?3q!Th@ @(!)? qc T _8?qT_8qTP Th@ @*@_ qT*@y+iRJ J))@9+R) JI *5@H =@9 6@ @=@1@Tv:@9h07Eh;@ԛ7 @?qT(Q @ r TqT@@hRr=`@96h,@9h5@)-@)@?AT{GOFWE_DgCoB_?qT@9qT6>@9(6@ @=@1`TR_! RF=:@906! R@=@@2@9-qTR!R@X@ 1@9?-qT @)@51T @Q@@ @) @C5zX@" RRA9 JJ0J ?q?qTҨ:@987@ @<|@ TRq ( R#h07;R," R :@987@ @b<|@TRP @(;@9 rT(@@h! R<" R :@987@ @?<|@TR- @(@j!T rT(@@(! R<! R<Jh @h | @) @u@ rT#Шh6@9h4҂RRZ9>+#{C-@@C%@)-@)@?T{A_#>WO{`R}h@` i@( u42>{BOAWè_WO{@%A?T@ @ ( {BOAWè_g_WO{-@@?`Th!8a?4@7@*? qT)R j!T(X7 R? j TiBiX7 @i ) R9y3Rr   6[?qmT R)0r jTRnh@:_+qȀT)@jJLii8k `ֈ@669@ ?!@q!T ?%qAT*qT R r?(jTRh@ @( @( @i 6RRr  6u @y@ R? jTyH7Rr  7(]*u'ibi @` V@RRr  H6a @(_8H(p_i@* @J* i @ ` h@yhh@ @>i@(]* @?q_T(Q @)-@)@?nT{FOEWD_CgB_@)-@)@?AmT{FOEWD_CgBQG@Y@79X7.Q? 1TRr  H6a @(_8H(p_i@* @J* i @ ` h@yhh@ @@J-@J@_ hT{FOEWD_CgBt>@9O6 ?)qh TWR*RJ!_ra T R_ j T*RI!?r TNwRzRqc TfRRq TaRRq# T\?)qaT.q"T@)-@)@?aT{FOEWD_CgB?*qT ZR?!qTR r IR r kT@ZRqITWR4"q"TR,@9kT+ * Q_ qT*%Q_ qBT7R%R@@h@i@Rr( h6h@ @R *LR7R qT:RqT@@ )-Q? qhTе jJLyixk `֕е Ha4@`<]!еHa4@@@y!@ qaTAR0@9"6@ @!=@1T u H7( 7h@ @ Tf)?!@qT))%Q?qhTB9#Ra@ rTKi@`Rr( (*g6@@i@(Yh6@@h@@ rTh@ @)*_ |TJJ7J@J@ @_ T) | h@ @) R[@ rAT9 7 R)r) R? kT7?=T "T?T߆Tk@k @ TH2 @@) @ 8X` @ @&<h@ h @i@) @i)8yh6@@h@(qT@y`6@@i@(6@2R( qT@y`Rr( @(*:@9 r T R8@ @@ Rh@ 2h@ r! T3ߊT?=T Ti@) @? T @@J @) )_8?q T` @h@ @@7 @@) @ _8) 8qT?qTO8;;@)-@)@?aT{FOEWD_CgB _)  @h h@ h@ h@2ho7?r@T)/)U ?qaT@) @ @,Rr  h6^@ rTq#T@@șRW8@`@96H,@94H6@94҂RRGCBR@7h@ @ @"T @ @` @S; @i@( h@Rr )(* R *hh@ ]@)y ]@ raT _8I p_ ` yh9_8Hp_` 蟈R迫r( hg_8Hp_` 蟈R迫r( h4O`: _8I p_ ` yhMRiHa4@P<@@y!@ qTAR-))7 yh;g_WO{C_$q T@ ?!@qT )%Q? q T@7@@qkT@* @ @;7@ ? @ @ ?!qT!R@"Rr  6  ?!qiT"Rr  6 @(_8H(p_@* @J* @ ˀ @y@ @:@(2@@@(@@`@@  %@9#R3@2 @ @ @4@?q0T(Q @ @ @h @4R&qT@I@(!)? qT @y,iRk J @9-R Jk *5J@K=@9K6J@K@J=@_1TWR@y)R jA TnҀ? qT _8?q T_8q`TP@@h =@9)6@ @=@1`T7R @h@@ =@96@ @i=@1?qAT@9qT @@@y)R jTHA,`TH!8CiU} CTHA) @ H5@J#THa5@y @ 2 @ wR@y)R jT҈@y)R jTHA,`TH!8CiU} CTHA) @ H5@THa5@y @ 2 @ @ Rz@ @) @ @ r TqT@@hR6`@96H,@9H5@ @)*_ |TJJ7J@J@ @_ T) | @ @) 4q T qaT @@ @@:@906! Rq6@0@9-q T @ Gy @@v>@96@ @i=@1T/@@&_2@9%QqTl%A9 @?qT*J0J ?q@*R? j@T(06? rT@@! R96 " RR0DRX2@9%QqHT @&qT@H;@{EODWC_BgAf`R:R@ @)R @@%A7?T@ @ (  @ @%A?T@ @ ( @@U2@9%Qq T{EODWC_BgA_}E _8I p_ ˀ y;H6@94҂RR5( RkqO{ @qT)R jTH!8a T{BOA_q T R)0r jTRh@ ?!@qT )%Q?qT!D=R{BOARr  i6a @(_8H(p_i@* @J* i @ ` h@yhh@ @{BOA8X6 R r?(j!TRWt{BOA_` @t@?qcT(Q{BOA_={BOAl A! 8BR!H!8BRH!8 ?qBRO{CBRh:@907{AO¨_{AO¨T4WO{(@YA` @ R)0r j TR`RJ ` @@=h2@9 qTaR4@7 ? qTaR,@2 @@) @ 8  R  kT R kT@ @hRr @@J @) *_8J*8 @i h>@9i(62hh@ h@ {BOAWè_hRrhRr @*_J*og_WO{Uе7@3RI)7*@ j@C `R KK I%a?AT Rh@H7 @) (R*hR)BqTi)/(M4jJLiw8k `}8 Y9C6kj@9V @[{z@7I#A) kCT RR(R` @ I RiB@[T# ՚} {7T  _ cT0VBzw @9( @ZZY@~7)#A) kCT RR(R@ @ ) Re W4# ؚ}z7mT  _ cT6{w@({76 @9hhBhhbhzwH@z7j_h@h@ h@ h@h@ R u3i {FOEWD_CgBoA_WO{ @ R)0r jTRvh@ ? qTaRh@7h@ @?T` @th@ h @i@) @i)8h@y] R *hI),)@955qTh@ ]@)y ]{BOAWè_I)6)@9I4҂RRh2@9O{Ch:@907{AO¨_{AO¨2C_WO{R:񈂈 g` h@ 6j48h@ h@ R *hH,@95{DOCWB_AC_H6@94҂RR{DOCWB_AC`P?%WO{ @ R)0r jTRtz7h@ ? qTaR|h@H7h@ @T h@Rr  i(6a @(_8H(p_i@* @J* i @ ` h@yhh@ @{BOAWèk6` @c6h@ h@y] R *hI),)@955qTh@ ]@)y ]{BOAWè_I)6)@9I4҂RRh2@9O{Ch:@907{AO¨_{AO¨!2WO{-@@a "5 _1T@@)-@)@?a TBR{COBWA@977h@ R)0r jTRQh2@9 qTaRh@ @h@` @h7_u i@( h@ h@ R r  *i J@9)y R r *_r( s@ R"h@2h@)-@)@?T{COBWA_t @9h@7y _8I p_ ` yhJ4WO{ @ R)0r jTRh2@9 qTaR` @h@ @h@( 7@7]5h@ h@ v T@7j58h@y] R *hH,@94H6@94҂RRKh@Rr  ih6a @(_8H(p_i@* @J* i @ ` h@yhh@ @]5t86h:@907{BOAWè_{BOAWè@1 _8I p_ ` yh{RR{_CWO{  @p6i @6 @Tk@j @Jj @ ( T R)0r jTRqh@ y)] R) *iH7j@K @kt @U @7To` @5h @i@) @i)8i@)2ii @(_8H(q_i@* @J* i@* @J* i @)i T(8{DOCWBC_?8@(q{DOCWBC_( ,_C_WO{-@@ @ R)4r q!Th@ @w @h@ Tp7h@ p647h@ @@ A ?cTi @(T(tx6I5Rsh@ @1@ @i @(T  RK3 9 RK3 9  T97 8 cTi @ i@( (7h@ @@A ?T@ @i @! o4h@ @) h @i@) @i)8h@y] R *hH,@95t86h:@907@)-@)@?AT{DOCWB_AC_H6@94҂RR00@)-@)@?T2WO{-@@( @-U qT@ @ @7 2t6h:@9(7@R>@9(6H7@@9rR,t86h:@9h07@)-@)@?T{COBWA_.@R>@9h/7/@)-@)@?T2C_WO{-@@ @R(4r qTh@ @u @46@BRw@4w7h@ @@ !bTh @@ 3h@ @) h@y] R *hH,@95@)-@)@?AT{DOCWB_AC_H6@9(4҂RRf!2WO{j4{BOAWèO{Ch:@907{AO¨_{AO¨_/O{C`Rbh RA  @ {AO¨_Ss7`@@R JJ7K@ k`C@`R  ll j%)a??AT  ? R @hH7 @) h@{AO¨_g_WO{0@9qTR RR @ @ ?TQqT)R(!Ț)  aTqTqT2@9=qAT(7@96( @H 1@9)%Q?qT @@"(3@9%qT( @ @?T @?T @? T @?T @?`T@T( @( N@92N9q@TaT J9~@UqKT[h882 1T @ P-{DOCWB_AgŨ_WO{ @r@T(X6Rr(jATa!Rf{BOAWè_)R jTt @h@*h @?qT(Q {BOAWè_j{BOAWè_`xO{C0@9)qATh@!A9qaTz/h@!@h2@9qTRS RRVh@ @  RH9(0,{AO¨__WO{0@9qC T@@ (Q-@q@J9U?kD @zT@2@ @?@J@9qT@?TN@96? !T@?qT(QN@96q TN@96@@?qT@7N@9(6h@ @h@) r T{COBWA_Ĩ,qh{COBWA_Ĩ_{#RR{_WO{ @(1qAT@2@9-qT@(%A TKA? rTR.2@9qTR RR@ @ RH9(0D,Ԃ@h2@9-qTN@92N9`R@!t/$ n@(R@ @@K @lL ) ( @@* @K+  !{BOAWè_O{C @r@TX6 R r?(j!T)R j!T` @y2h@{AO¨_a!R${AO¨_`PO{ @ ?1qTh 6n @( @*_-qT @i @ @L@`TKyiTL !џ )T_T$q T rTR- B(H!0@ @q @zT{COB_?qTT{COB_J! j @Jj )@ {COB_H!0@q`T` zI)!0)@?q`T JaHyh`lO`Hh{ @ ?1qT6@ rTR-`@{_{_og_WO{-@@ ( @q`T/qT9@(@ @h:CCRrRrRr9#?HT5@@(jT  (7( 7/qT?? T *5Q_ qT)%Q?qT@/q@T9#?)T@9h@@* @J* @ ˠ @y@ @w0@( 6`,/q`Th2@91qT@/q`Th @ @?!T@qT @ qbTFh@@ =@9I6 @(@)=@)4@$A:T`RCR @ R (ȩ 9@ R @ R *H,@95a!hBRCRLARR- @?qT(Q @ ]@)2 ]@ ]@)2 ] @ @/qT?qLT@|H6@94҂RR/qAT @(@ (@ qTQ(@)-@)@?T{GOFWE_DgCoB_H.@95`X`Pc.g_WO{-@@ @ R)4r  ?qTi@) @ Ch@y] R *hh @Tj@I @  T6 8j48/I @ HT @?TB.aR( @?iTi>@9 7i@) @!?cT! @i @ !+.h@ H,@95kTh@i>@9) 7 %A ?Th @x @TZ/ @i@, @   K9_ iT˿!c T60 Q"Q Tˏ# TBT@6h@ @T_jT#/9_T/9?9(i@( F/tzA @!# 0T }T}kJˌˈ!@i8!ь!TT JkhK_8 8_ T.h@ @) h:@9(07@)-@)@?aT{FOEWD_CgB_(6@94҂RRI*@)-@)@?T@-#`,(WO{ A) R)0r jTRh @qAT:@9 rTh:@9 r`T,R{@@i@(@ i@(*h@q@ "h @`== 2@9qaTBш h@/`7(7 @i(7 @) {COBWA_`og_WO{-@@ W7"8yUXC,:Z.U@@ T X72T6!R@ 42@93Ty@@RRi?5iT<@@RRR ,@hi?5hTLYyixJ @֨@6 @*_8J*q_) ˩ hX7 @I @_=T@JB906(6 R `T T@ @ @(* R r T3+T@7R[@T(!>@ @@ * xi@ @ @K ( @ @H)*ih84JQ*i(8@ @ @ @ =))8?))4?@6( @ @ + Vyh @@) @y) @ARҩ@6;RH2))2 9I6@ @9(i}KkAjii hi)|!@@?q T(Q@ @?! TR r  JR r? T r?!@aT@%T @ @4@@`Y@@`s))a>(@T))!>(@@TH@aTH? !=@ @ @(@@<@96@ @)=@1TAR@ @?!T@ @@TI)A(!@4!@ R{RAxhRr H/ @))2 9 7@9h4@c `T @ 4 B2v2@9-q`TAqT1q TCr@* Ah@K+yjT@* A h@K+yjV @4q T@y)R jTC}"XT 9@7I@95)R jTTC} ITRD4Ra!E"@R7))7(@4))7(@( @( 4q !T@y)R jTC}"XTl @9AqT1q T-qAT@* Ajh@K+yjV@* Aj@K+yjC@ @4q AT@y)R j`TC}"XT @7I@9I5)R jTTC} T @ @i@9!@ ARgi@ A@9h7@(@)=@I4@` @?qT(Q_@_O{?qT h@y)R j`T(!8hCiU} ))A, CTh {BOA_h @(5h@Ri7(7 @i(7 @) {BOA_h@7)).)@9)5)R jT(A,T(!8hCiU}  TR 4a!R{BOA_{C-@@ @-U qT@ @BRC@@)-@)@?T{A_8(`O{C8@9(7{AO¨_Q${AO¨_WO{-@@ @ -)U ?qTi@) @u @R h@6֖)@9 ?qD@zT@( 6dT rTR:&@ T9 60@ch@ R)r  ?qaT7q"TR9 RR<h@ @ RH90!#!@h!@@c96@c@T˕9hqOS` R%@)-@)@?T{FOEWD_C_h2@9qiT'_WO{C-@@ @-U qT@ @ @(#(h@#h Cd @(S@)-@)@?T{EODWC_B_P'og_WO{D @(R8)_j` TR)RjTA$ Lѯ@9io8D9A !Tҙ  15 ys 9q췟) *i7!TqD@z`T@*-JU _qT4R(r( qT@(q TRW RRZ@ @ RH90!"\R)RW6 @94@@ @?aT@NGHqTR%` @_TkHTK ? TH kA$ @9lil8 D9@JAT< @_aT @!?T?iT@  @ Tb;_Tj_8J_qTaT R$@{GOFWE_DgCoB__"T_iT @ @b# ˂R R) ; 9)7+qD@zT @bC/R R 9)6 R&2@9qT^h?TA$ M@9im8J _9A !T _L17) ; s 96K9haSo` g_WO{-@@Zv@-U qT@ @ @H#ҼZ4#)u@-U qT@ @ @HC#ҝCBR @R CBR @R`x@)-@)@?T{FOEWD_CgB_%(I BTa_TH_8qTc__WO{C @)R jT{EODWC_B_6@Vq"TR RR@ @ RH90!!R# @8)9h6 RR@8)966@906 @la T @K*AlT # !#!!B#A "#B"b#@ !TT@. `##!!#_K1c#Ka##@8!!8#!!AaT !T !dT @*B4{EODWC_B_2@9qT19h_O` `O{C!BR@`{AO¨__WO{C-@@Rr T6@ R)4r j T  ?qT@! @ @- .h@ qTh@ @b @ @(72#@@)j@J? k T*J7J@J@97 51CBR @@ 28@ qT@ @ @2CB. @TT& R  R#aq@)-@)@?T{EODWC_B_ք$C_WO{`RVR:񨂈 s` h@ %k58h@ h@ R *h(,@9H5h@*h6(A) @ (5@T(a5@y {DOCWB_AC_(6@94҂RR~@P? WO{6sh:@9( (7t:@9H (76"8bh7h6@96h @ 9@9 6@@=@9H 76@9H6 @ 9@9 6@@=@9h 6bRR8@9h (7CiU}  T @r THP7@7hX7R{BOAWèRq{BOAWè_@ @T(@@9q{BOAWè_R{BOAWè_@@{BOAWè_@ 9@9 6@@=@9'7 R{BOAWè_{BOAWè_WO{6sh:@9 (7t:@9( (76"8bh7h6@96h @ 9@9 6@@=@9H 76@9H6 @ 9@9 6@@=@9h 6RRS8@9H (7CiU}  T @rT(P7h@7HX7R{BOAWè\3Bq{BOAWè_@ @T(@@9q{BOAWè_R{BOAWè_@@{BOAWè_@ 9@9 6@@=@9('7 R{BOAWè_c_\{BOAWè_BR_WO{C-@@Rr`@ qT@ @ @ s.@ qT@ @ @ @)2C @ RB2#@@)@J? k T*J7J@J@975k_|24w26$5Z |)2q@)-@)@? T R@)-@)@?T{EODWC_B_ @)-@)@?T"8_q(RZq@)-@)@?`TBRCWO{-@@(*@94@)-@)@? TBR{DOCWBCSC>@#8TC1#+@@Uғ?@@ @J4_B1# 4|26 R@)-@)@?T{DOCWBC_8"_WO{C-@@8@9 r` T Rg @@))A/)@ kTyR@ -)U ?qT2C @@uS#h42@9qTR^ RRa@ @  RH90@@h@@)-@)@?AT{EODWC_B_7R@ -)U ?qT@! @ @uS#-7@)-@)@?T!og_WO{C R@? @C-@@ @ R)0r jT_quS[h2@9 qTaR54~h@@4H7Rh@-U q3Th@ @#b @H3D@C2h@Rr R *h 57Rr R *h}4h@2h(7@))A  `T5B>@ @?r TX6 @ @ R r) Q qa.T@@@l.T @P6@ @8}@ @H/4Rr  2) ?k/TBR@/'RRY~5^RR)R'HR'M~`J4~h@ @ K ?*kT@J G T_k TKH (pKx`F7!F5@y !@qET2}ETS@I@  _MDTj>@9jC 7j@J @)( _BT57@6R))7*@ J@C `R KK I%a?AT R@(7 @) H@HRԌRRU@h@ @-U q T@ @# @J@k>@9 7KRkk  THR jh @Z@~'@H @!4T@H@8h8'@ kTQ!!`!:!@(5~h @Œh @}}1`Th @h@ h>@9 7h@ @ ! #Th @8@h h @8@?7kAT@_cTh @cT@}@h @h@ h@ @@)!i>@9i 7bTh @@(}9h @i@( @@1h qTm(qTh@ @:A!T BR#@h@Rr R *hRh@ c|5yARM@T @ @ R r* 2  kT@@h>@9( 6H@D6!RBR)4@ @(-U q T@ @ @#RR@(_8'|5BRh:@9%(7#@R>@9(6(7@@9rR*Ah@ @TARh>@9('7h@ @I@ !TN"HR|5(q@T1 T } ;RHR'|5BRi@.` @@ez{ 4Ī@ T@)9RkA$ _ T?Ty6*@9{ij8*_TZ_TI@9{ii8I?TZ ?T9R T\969Rh>@9 6@9RT T< R:  h>@9'7h@ @@ !TR` @@ zTkA$ҿŸ@  j@I j(8h@ @ @T` @Z)-@)@? T @C{EODWC_BgAoƨ_)( 'RR{5'@R@H61Tj887kTTRyT_851T4R/1T@bh@ @Ti @(@`4M({4Z5#@R>@9/7{@ d`O{C8@9(7{AO¨_{AO¨#mO{ @ R)0r jT)R j,T(X7R h@ ? @qT t @:@9 6@@=@9H 6(!8aR#Rt @Rch@ ? @qT 5)M ?qT R@6ARh@ H@7?@qTh7 ?)qH%T _!@qT*%Q_qHTh$6 p6` @ @9* 4  K 9k kJicTK@8k)Tk@a @ _ b TRq@zT`5Ri4i@(@ h g!` h g`` !gDaTRr  i6a @(_8H(p_i@* @J* i @ ` h@yhh@ @Ai@@R(*hn)`h@{COB#Am_?qT?qRh@Rr  i6a @(_8H(p_i@* @J* i @ ` h@yhh@ @i@ R(*hh@)R {COB#Am_J_bTk ki#TeQH8h @_TH@9 M9%(TqkTRH8h @_bTh@i@ 7()A _ TYARh@@7` @7n(aCi@h7*@ _ T;h@2hh@ {COB#Am_*@_@TRr  j7Rr  j6a @(_8H(p_* @J* i @ ` h@yhh@ @j@i@ RH*h(@({COB#Am_~g{COB#Am( @ i@( @( h @i@* @  _+T _8*9j @ hT @9*_)*RI1 9{COB#Am_A! R5h@Rr  i7'{C-@@#%A!R}_)-@)@?T{E_`O{C8@9(7{AO¨_{AO¨#mO{  @ R)0r jT)R j TX7Rqi@I@6it @:@9 6@@=@9H 6!8aR#Ryt @Rwi@) @7(@q T h7()qT*_!@qT %Q_qHT 6p7qTqRh@ i@Rr( h6a @(_8H(p_i@* @J* i @ ` h@yhh@ @h@ R *h{COB#Am_` @h@ @ٖ4 7ARi@i@7` @~(a{COB#Am)h@i7 @ _ T|gh@@hg!`hg``gaaTi@Rr( h6a @(_8H(p_i@* @J* i @ ` h@yhh@ @h@ @R *h~)`h@{COB#Am_ @JRr* j7Rr* j6a @)_8I)p_ @J h @ ` h@yhh@ @cj@h@ RI *i @) {COB#Am_Rr* j6a @)_8I)p_ @J h @ ` h@yhh@ @@j@h@ RI *i {COB#Am_A! Ri@Rr( hI7C_WO{`RUtR:񈂈 ` h@ j48h@ h@ R *h,@95{DOCWB_AC_6@94҂RR@P?dC_WO{`RUtR:񈂈 h` h@ j48h@ h@ R *h,@95{DOCWB_AC_6@94҂RR@P?)O{CA) @ 5@Ta5@y h@ 2h{AO¨_ͅ_WO{C-@@ 1T@@)-@)@?ATAR{EODWC_B7@3R )7*@ *@C `R KK I%a?AT Rh@7 @) H@`-@9w7`R=w7_t i@( h@ h@ R r  *i )@96 R r * `R"CbY @ Rih@2h@)-@)@?!T{EODWC_B_V7R:Ȃ ` h@ k68h@ h@ R *h,@95@976@94҂RRx@P?`WO{ @q@TA6(7֢7@5Re )7*@ *@C `R KK I%a?AT R@7 @) H@zL{BOAWè_{BOAWè_A!D R{BOAWè_M֢7@_WO{C-@@_975 K(R_9#_pX @5bqT~@(!-!@_aT)),ij8k `։^@9 R)ij6JZ@9 R)ij6JV@9 R)ij6JR@9 R)ij6JN@9 R)ij6JJ@9 R)ij6JF@9 R)ij6JB@9 R)ij6J>@9 )%|6J:@9 )%x6J6@9 )%t6J2@9 )%p6J.@9 )%l6J*@9 )%h6J&@9 )%d6J"@9 )%`6J@9 )%\6J@9 )%X6J@9 )%T6J@9 )%P6J@9 )%L6J @9 )%H6J@9 )%D6J@9 %@J`R_@9qZ}@z ~@@( @ @ R r  *_@94 R r *`T@)-@)@? T{EODWC_B_ D)+VRKr.  JL @ m  k@@) K kAkK 5J=k /E( v KJ! TTk@) K1b J@-Э-ij8 Rj@9 j @9 j@yL  )K)i(J  J* )!( 9  JJ1H  J* JmH )J K)KI=J6J*- !-(Hӊ-@1A T@ J KJʓ 0 ), ʌ ГATQqT.=im8  @9 @9 @9 @9a @9A @9! @9  j Kʉ - )Jʓ* HIʪʫ͓k@ ȓk L iʊ Kʉ̓jk˓)L (ʉj+ Hʊ̓iJ+ Hȓ ` J_O{C{AO¨WO{`RRR @ @ @@) @i)8@y] R *,@95R{BOAWè_6@94҂RR+m#mog_WO{w-@@ @ )77W7)@)@9?rWG67 R)4r qT@ @4)Td@ R)4r q@TR43h@9qT@TKTs'̌y ?  )3 LR( CH @( CW@_O/_@@O@M(R{@"RŘLR"T뢥Th@9qaT3@)?@TjJ@9_qAToT4TW@A)*h6@( @>@9 7) @?T@ @ @3*j48@ @̌LRCT @( @X"bTLBbT -|ooN oooooo< o/2/1oo/onBn..c.nn!.kAT!NcN!NNBNN N^f `Tt7k }k ooNm J oo@ ///ocnB.n!.J!T!NN N^f Tj@8JT>@9 7) @?bŤ@ @ @(LR  R*3 9 R*3 9 {Ti97 8{aT9@( "Th@8 ?!{(T@ /@8* _%(T_T @8J H(* _)T?qT3@8)RS(5RRRRDS(4RRRR?q@TRS Rs@k/R@8<RH4 )Q?AqT-ЭYii8J @@84 ?qT )Q?AqT-Эii8J @/R) _qjR JzQ@85/R@80RH5/R)R RA:Rs@ h@ @m @/R@̌LR@94R ?qT?q!T474R@9qAT @@9(@)?!T.@8*_%T눎T@8} )K )T_qTqT 7h@ !i@@ R r  ?qTD _qT @9?qT 47)R (9Tw@4yh@ R r  ?q@TBR_LŘ@H6 )7)@)@9?r**6/* (9cT!8(R@ R r  ?qT@) @ @7A6H 7 )73@R0 J7I@ @`R ** +%a?AT  )7h@( )7(@(jR )A)(@ 5@Ta5@y h@ 2hAR.h@ R r qTBR- )73@qT qT ?qT @)?!HT @8@(%@T _(tTI (( @8* _)Tkh@ !i@q@)UZk)R @8)R @)?! Tk@O@a4@A@y!q`Tq!T@R4 )74@R J7I@ @`R ** +%a?AT  )7@( )7(@( )A)(@ 5@Ta5@y a4@A@y!q).(A!bT2A!<BRCRT !X4vsTh@9 ?yT"RRsT!&"RCR@A!HRCR@R! ()kTw@3yhh@ߨ7(7@7 RmLŘ@` (R@ h@@@_\T(RH~h[C @9qgAT @8qTqT @8qT *!T@8 @< ?%TTT - @8( )T#RR1Qq T.@8 ?!T@ ?@8*_%(THPT @8} )K )T_qT0RR1Qq TfSh@ !i @(}S?q UZk@8 _q!TN)R k@HTTw@3yhh@Ш77@7RLŘR ~Ӊ] R)RR h@@@IT(R ~iIq@9kg@R1Qq(T+kjih8) -R @8q Ri R@8q R)R- @9qT(R7 RS RRR46@G   bRuG@LŘ@@hQqTS@(?k@IH_@? Tw@Tyi )!84)RkhQq|TRR5R+k |jyhx) (Q]qT)R(!)RIr jazT@1[sH@ !I@ARURg@[ 7RRg@[ 7@譨7AsX6 @ 9@9 6@@=@9h 7/@s@74K@k(YQq[@HAT,!yhx) h@ !i@A5@[@+(YQq@T, yhx) GSoh@ !i@96@97R@ R r) Q qT@@!R53Rg@[64Ks@r@T79"R_@@A s_@@Ah@ !i@4z@Ƞ7yX6 @9@9hy 6{!1Qw4 @!2RRRj`M@RA! !8_@@A R(Q]qiT@1RRURg@[7R@{@ T{@)!O@_ cT@9qT  A!bRM@@5@9qT@9q`TqATS RRq@H@ !I @?q AI @?) aI  @53Rg@[h7@ @z@?r@ * **6@H@ !I@" 641RRRg@[7@ @@ @h2))YQ?qO@AhmT-ayixJ @@i@*!j)@(_@@Z6@@[@( <@q@?q4@rTGSoGSo˨R79"R/GSo* RA( <@ @q ?qGSo4 :@9A((7s[@ R r)Q qT@@1_8q`Tqa/Th@ !i@GSo Ri)6AD@ R r  ?q&T@) @ @7O@A@7_@6 @N>R@`A`ݍ4[@qT`g as@ T!hFT [@q )7T4z@@ *r@ *h7@(7@qTA`?@[@ )7O@3@67@79A 9@7H 6 RR[@ )77(@(9@(7 6RR[@6*@9q*@ BzqaTC5@!`3TR RS RRR82t7sREh@ !ih@ !i9 h@ !iyGSoh@ !i@<GSoh@ !i@92GSoh@ !i@y(@ @3 @=@9r*7ARҏ;RsT4?(R7[@yq!TRsA`AkTqTIR} UR r }))`( }(}H s([@RqR( T"qrTq @ qTRhTRT@@ *r@R *7@h7@qT7@Q4*@9O@Q5*@qPT3sO RS RRi BR@7 RS RR )7)@)@97@ '  _q8T 77X6 @ 9@9 6@@=@96 7@ R r q!T@ @ @ @rA.T_.T _#HCT(R!ښ1R @TS RR_ R h@ !i@  !@9*_뗟 RqR( Th _ ))@?HT@v[@9JŘR̬rV588@4@+ b )8'?IqTR8H+ b )8I'?IqT@@h6R8O@@@r`TR8_r@T8i6hR8R87@4*@9 )*)@q AzLTǏR3s;*@h45R4@2@:@9@̌LRH 06m LŘS@r$ThR8@)ɍR y R 9=8  G So h?k`TGR3s@@|@U7`?@(R3@@( @ ?@9 7) @?T@ @ @5.j48@ @̌LR@_@(7k@sTBR )74@RR J7I@ @` ** +%a?AT  )7@( )7(@( )A)(@ 5@ ?Ta5@y @a9 @A_@{@@ R r  ?q!T@) @ @R )7h6G(@@9r@;SBRSA@R )77@G_@r_ j[h@ !i@h@ R r  ?q! Ti@) @x @X@i@*!j)@(@i@*!j)@(9@i@*!j)@(y K3 Z@' qT RS RRH/Rs RS RR/Rk @H7X6 @ 9@9 6@@=@9H 7* BRۼh@0 7S RRDS RR7@@9r*6J RS R Rh/R R%_Th@ !i@S RRR+Rv_+z`T_ATh@ !i@ =@97S RRR_*@O@4RR#c9qyǍ3sRR#c9c`?ֳѠѴR!!% @I@)J=@j4)@8!)@#n @AsQ_7[@\ /@_@@]_7)}@ @(@h)=@i4@S RRR  R%@9*S RRR . LŘh@(6 R r) Q qTh@@ LŘh@.6 R r) Q qATh@@R_@@̌LR@RwŘLR ~I-@@@r7@ 9@)99@@A`A` O@  @NhBqs4RqR( CT3x)Rx R38с6@9n5&it8s@  JD9i%4 ?T l@8il8J  JD9z 4 _aTRyC@)Ro@s@o@9(R(R ()RoS(@[@Q=qT k"jih8) ֟T7@@97 ,@/R?@R38Aӟ HTUR@ 6q T R7 R 9B 9?@ UR(R 7@R 3 8C  TR@ 6qT RR(8?@L R P7jJ6IAaq)?@@(ih88Dӟ> HTR@I6qT R7) R*9B-9?@,R07~@?@ ɚH 8  BT R?@,6 T4Rh?k@ T 4RT4RqT"q8T@R,R4R87 Rh?kT}cT>@9/78(R5RG@o@oAGs{+ 6 iRr(r'@c`RRu @R @y*R jTA,?`T!8(CjU} CTJA)H@@5@ 1Ta5@ y ( @ 2( c@@  R h@ R r q'Th@ @x @BR1As@{@@ ' qT  h?k@ Ts6@ @/R   ARA/R@TKc{[`RbkK@=:R ` h@ V k48h@ h@ R *h,@9k@ 5h@ 2h)A)(@ 5@T/@a5@y ARh@ @K@I )x @_/R[@{@c@  h?kTs{kG" 3TK[y{@?4@ @))˟ 2T ;!>@9 7 @TU@ @ @@r TA7 :R {@@ @`;@R K@ /@_@@sHg@:@(67 /@_@Ag@G@{@;@ ;@HR 7 /@_@Ag@G@{@R s@ @`@C@9 @@( @*6@2@ qaT@R#M)RS@@!̌LRO@@(i6Rn4a4@@@y!@ qTARQ )7 yhR!!|k@šLRc]T #u 6@94҂RR tuvs@H7s@TR+`4a4@@@y!@ qaTAR+ Th@9qPTS h@ !i@ )23 R*+ MTh@9qaMTh @9qMTh@ !i@E)7 yh!!R2@9qcT@@Rl,@95Xi)-@)@?A T{GOFWE_DgCoB#Am+l_֟FTh@9qFTh @9qAFTh@9qETw@@ @ R r)Q qT@@ w@a@(8@9(7RxAR-@`A`B7A`A@6@94҂RRka4@  @@y!@ qTARw)7 yh P 4a@ŵ  P?h R  a4@  @@@y!@ qTARG)7 yh #mO{@`s7`@@R J7K@ `C@`R  ll j%)a??AT  ? R @h7 @) `C,@95{COB#Am_6@94҂RR@{COB#Am_O{CД7@@R J7K@ `C@`R  ll j%)a??AT  ? R @7 @) @ C,@95{AO¨_6@9H4҂RR{AO¨_!8 qAR 8AR!8ARO{C@Д7@@R< J7K@ `C@`R  ll j%)a??AT  ? R @7 @)  @h@y h @2 {AO¨_O{C@9qV {AO¨og_WO{h-@@H0@91q!Tu@ @o?+TC8RR90rRr@ T@9@9?qF)@8 kT(K!R5 n@9?7u@h Th @y{Fe@@!@9jh8h4 @2@9%qT @@U@jTjTRW@ ?%qT  h6 @(_8H(p_@* @J* @ ˠ @y@ @  @@`v @@<@9(6 @(@)=@4@hAR @ CI C@ M) @KA@ky KA cTZi)-@)@?!T{WOVWU_TgSoR_VO{ @ *%Q_ q"T ?!@qT )%Q?qT"?=q`TrTX6` @8@9h/6b` @RR@0@9%QqT@@@{BOA_{BOA_h @h@h@@  3`-h:@9(6R 4 WO{ @ *-Q_ qT{BOAWè_?5q!T@@h{BOAWè_7HX7 ?!@qT%QqhT02RN`{BOAWè_@_6@@(6@)@)=@9 6Rh@@ ?5qAT@@h{BOAWè_7 ?!@q!T%Q qT@ ?!@qT%Q q"T @@@@hzrT @ @i4RO {BOAWè_ @ @ @4{BOAWè_ @{BOAWè_@ ?!@q T  d{ @P7h@7hH7AR]{_@( @T@@9qATR{_@@{_ R{_@@ `{_O{CBRRBRn@ @h @{AO¨_O{CBRRk@ @h @{AO¨_WO{@55\֢7@3R)7*@ @C `R KK I%a?AT Rh@7 @) C`A) @ 5@Ta5@y @46@@ =@96@@=@h4!@{BOAWè_ց!( R{BOAWè_wqa5@y @5 ?Aq(T!! @ J#Lii8k ` r T R!!p @)) JrAp{BOAWè_!!H!4!8!)*J !@q(X7@!A9y)) JQq!! !! !!!!!!,!! O{C @7(X7R{AO¨_h@(_6h @ @QS{AO¨_O{C @7(X7R{AO¨_y@(_6 @ 9@9 6@@ =@9 6 @(@)=@i4@(!q{AO¨_R{AO¨_WO{֢7@5R-)7*@ @C `R KK I%a?AT R@7 @) (@h@ R)0r jTRh@ ?qTX7? q$AzT? qTi@* @` @h 7Pi@? h@ i@Rr( h70` @@?qCT(Qi@Rr( h 7"v @ v~)!R,i@Rr( h6a @(_8H(p_i@* @J* i @ ` h@yhh@ @&h@u 2h!RR{BOAWè_i@Rr( h 7 _8I p_ ` yhWO{ @7 X6>@96@AA9 7t @@)R jT)R jaT ?Aq T7 2?q T   2?qTR˫ @ @ @?qCT(Q :@9h06R R`{BOAWè_֊@V@ 2?qTqh@H_7 h1:@9772 `( %C_WO{@R@)R !9h A9(@qTJ0Jq @*R  )_q @zT r T@)@!RR2@9qTRd RRg@ @ (RH9 @ @!@q(Rډ@({DOCWB_AC_(R O{CB{AO¨_Uh:@9(76+{AO¨_O{C{AO¨_WO{4{BOAWè_Ҁ@2@{BOAWè_#mO{@`dA`q{BOA#l_WO{U{BOAWè_{0@9qCT@@R @ {_WO{h-@@CґR@i)-@)@?T{COBWA_JWO{oR{BOAWè_WO{VR{COBWA_ĨWO{h-@@CZ6Rh:@907@i)-@)@?T{COBWA_I@i)-@)@?TWO{. Rch:@907{BOAWè_{BOAWè!O{h-@@CGRB@i)-@)@?T{BOA_֣WO{GR{BOAWè#O{h-@@CGR h:@9h07@i)-@)@?T{BOA_@i)-@)@?TdWO{GRh:@907{BOAWè_{BOAWèGR@a `!L`( `~g bdT_"~Ba~ b`Tl!(b(y"~Ba~ b   )yLR-}˛CӮ 28?% T `TRH8 )_O{h-@@ @7X6 @*9@9 6)@)@)=@9i 7-U qT@ @ @C#ң#T(@9qTI)A$ @9*ij8 sTCRް @H  _8)?qTscT@i)-@)@?T{COB_ @8)?qTsT+m#mo g _ W O {C(@` @`h-@@7S@a(!` LiC@A`Q A`q_6I1TE 1TC@A`C_A0T A`}__qT(!`H_9)f+p 9+hkS 9+h 9+`kS 9+` 9+XkS 9+mX 9+PkS 9+MP !9+HkS %9+-H )9+S -9+  19 5 C@i*T_j _A)T)T7!`(Y@+jTR{48 ҤK@9G@9C@9R9 R RKk6qHjAv96_'){ h@9H5)_ aTR R 9Sq\_) 6^_ J1_ TK_84T!`T!`TS@)QSqaT qT  }S) q hT8TJ kRi KRk%@9n !@9*9%8T @9I45 _c4q_ T4@9!qT I(_))q(@8jh8 9'@_) 77@I74D4*@9q*@ Bz?qTS#AR9@T@8jh8h8TR{Tt˟BTS@q R RI#B _Tv3@4 =>/@4D)q(*qHRI)B 4R)#@ @-U qAT@ @'@y5 #BR_'@4#@?'@{@ R7@I)-@)@?T{NOMWL_KgJoI#Hm+Gm_ֈ@9!T   9?AqCT  9?=qiT(kT) *_8JKJ *8=qT>iE C@(R(9S@S8$O{CR?Ro@RRY`{AO¨_$@*CJ)AJQA)  @ @?T @__WO{$@*CJ)AJQA6  @ @?T !`"BTRh@` @i`hh@}iih@i)h @h @)i@ T{BOAWè{BOAWè__WO{@|ӈ@|}Ӷ}!}ӹѓ" *s"? Tk@Kjm@M@mK@ m@C)MQMʭ aT k@{COBWA_Ĩ_) O{C @@`@{AO¨_#m_WO{"8CB@ @R"A) kCT RR(R @  RY6NR"i{?T *_ JJLcTEL~{  opok oT @T  h cT_@(_ (C _M@RL"A) kCT RRM(R @  RYNR"i{?T *_ JJLcTEL~{  opok oT @T  h cT_@ _) @R"A) kCT RR(R @  RYNR"i{?T *_ JJLcTEL~{  opok oT @T  h cT_@@*_ @!C*JJ6&@? @? @?@?I)}6  e==)R -H6.&@ &@ &@&@: {DOCWB_A#l_og_WO{H-@@ @ M)5?q!T)7)@)@97)4@97p7B4@dC7@ @RARVc@  o@@ Z4H@C9#7)@)@( @ @H @)@) @ {4i @)@) @ @(]qh:@967@6R)7*@ @C `R KK I%a?AT R@7 @) C)A)(@ 5@Ta5@y TB€Ra5 @ 5@TH@Ch@] TAR^@_ @-U q!T@ @@` @!TBRz` @Th>@9 7h@ @@"T @0` @@@i@( A)@)a))@ MT"i@ @( @J@) )C*@J@I @) @I @J@J @* j @J@J @)  @)ch2@9q#Th@@ Ru` Ro h@2h` @@I)-@)@?aT{FOEWD_CgBoA_ThzbR7b|h[ g_WO{H4@9!64@9H!6(4@9 6ZC4W@scjp5 @ 5@@T4@C4@ Tx974@4R)7*@ @C `R KK I%a?AT R@(7 @) Bш C ,@9C)5@5@ Ta5@y @ 2~@RWARbV@@ :@9h(7!8)CjU)} ? T@rTP7@7X7Rh@5M q@T@ @T @@9q@5M q@TR@5M q`TARǭ!@@@5M qT @ 9@9 6@@=@9'75R@5M qTR@5M qT@@`V@)a))@ MTgb{DOCWB_AgŨ_eg>RHaD6@9H4҂RRY@y)R jTA,`T!8CiU} bTig`'t@5M qT,og_WO{H-@@Z7S@3R)7*@ @C `R KK I%a?AT Rh@H{7h@hC`A) @ 5@ Ta5@y 83@9%qATC9G9CRh @@9iqT RC9G9C!R"RDRER1cc @@*B@y!mQqTno{mx ֍!,R-Q qT)q@T R+R1q@T]qT)qT@ ykk1@91q7@A@y!qT ?T @lA@y!r!Tl @a`T1Tl@ 35 R@A@y!q T?T @907@@@RԢcc 1B>! 8@@XT@ @ybA T@@9074Rh!RRcR`@@61B>cc  T(C@y! qT5(@ !T(@ A@yiw6!4RD@6ybaT@B@y!qVT4RV@9(/6(@ 5@96 @T6@yi8@9879Rc@61B>cc T@ A@y*!_ qTJ5 @_ Tp74R @ A@y)Qp64R@96@y  A@y+!qT4 q T )qTq!T @k5@94 p7  @96Jp6@4*74R61B>cc @9H7(C@yw69@Y"R@ @4@ҩ@yik4 9@9? r!T @* @J_*`d"JdZ7Tt7ҡRB)C@y)!*-Q_ q#T?!q`T?]qT(@ A@yJ!_qT@ @?]q (@6@@T@@(0@9 R_)jT@6ybATҁRv@6 @@ 8@9?79Rc`@T9RP6@yi8@9?79R c @T@9ҁR>@l@J!6J@?N RI/l@ @Tѿ1hTim8 Rk!R7Rk!7RRR7R|@7Rx@R|`TTATk!74c@y@ z@ d@Jz GcTҩ@ @ 9@9? r@T47RR@ @@ @(`dHT(yd TџLT)@ @HC@y!qTZ@HC@y!qaTX@7@94qAT`!RR-A@BRt06:@9 rTB@y!aqa)TRRRF @naqTC"@Rn R}/l@ @Tѿ1hTim8 Rk!R7Rk!7RRR7R|@7Rx@R|A TTTz@k!6c@ y@ d@JzmGӯ?T_qT\y|A TT6:@9 rT4RRRjF@TP7(@9rT ) JrH  "@RE )q(Y( @@롤TR%R7(C@y!!qKz"@R R!҅R) @i7 @)}@ J@K @T%*? T5@yzaTҁRRER4v&X @q R RIii5@@A) @ 5@JTa5@y @ 2ReR@<'4R{@RR:@9 rTT7RRq!|ARR{EODWC_BgAoƨ@@@h6)!?qT@46@@Tlh@ Ra@AT@@ @5M q!T@@ ( @@@ @ R r jT w4?qRRRERARqR``@TB@y!3@aqTReR@@ @5M qT@@ARqRER{EODWC_BgAoƨ 45M qT@@AReR`Rb>og_WO{C<@9((7@ @kT҉ @6(C[{CМ/86 @9) 4@h{h07h RI9 R 9z*6qTkw8 ֈ RHy z? TJrqTRHy z?TA@9H4h[t07 RH9щQi(1R H9z?T0ˍRHy z?T)ˌRHy z?T"KRHy z?#TRu5qTH@I4=@5Rg4T9z?T(+T?TŅRHyRH 9Z_9{EODWC_BgAoƨ_7@@97`RRRO` h@ 9h@ h@ R *h),)@95 2hA) @ 5@Ta5@y R#R{EODWC_BgAoƨA)6)@9I4҂RR\h@aO{C @A 7(7P6` @qh@{AO¨_Ha3@@a?r aH3@h@i@Rr( h6a @(_8H(p_i@* @J* i @ ` h@yhh@ @Ph@ @R  *iW6 R *h{AO¨_O{C@@ |!g aETi@ @R) *i {AO¨_i@ ~Ag aMT @R r) *i {AO¨_ @R* *j@ |Ag aETkh@h@Bma^ ` T @R r) *i@kh@h@ @ c@ `$ ATh@ R *h{AO¨_h_TTIJJA$ @9Kik8 $9@)AT! T)_8)?qTaT _{Ca4@PN@@y!@ qTARPD)7 yhP={C8@9 rT{A_@ @)?CT)!8)a? )A,$I@T @ 7@)}@ J@K @T *? T{A_@@)A)(@()5)@ jT)a5)@ y( @ 2 {A_`@8@9 r`T_@ @ @)!8)a$IT y`?`T  LTO{CsB4`@Дb4@ @9)rT? qT`@{AO¨_)A7)@*)@*7)@ RI% )@9)? qT)-@? qT)4)@)?MT)!8)a `@{AO¨_"RY@a4@@9r`T_A7@ )@ 7@ R(! @9_-@ q(R_WO{sB44 @b4@ @4yj`@)4)@)? T`@{BOAWè_"RY@4@)a4)@* @yj @Jy  @_WO{ւ4@b4@) @yiY@%@@@@@ @y` @@qA97 X@@) @ !e@@{BOAWè_֌d @ @@) @y)@@{BOAWè_WO{B4@@b4@H@9 K@9 Rk qaT#RJA@yJ!_iqS?q@ 96@9}SRa@@{BOAWè_CWO{ @ a)=  ?%qD@z THX7 ?!@qT )%Q? qTrT4R"Rb!8a4)!8)a @T)R jT7@T@ 7 @) $5a4@@9R qT!R"R:h@yh\a4@@9h 7T5!8a R%@ 4_@7@@ 1@9?1qa4@ @()4)@"yhRBBREh@_6h @ 9@9) 6@@=@9 6R%s @h@ ?=q!T*BBCRR @h @h @ )%Q_!@q" Bz"T(6a4@@907R @y {DOCWBC_{DOCWBC_d3I).p6h@ @JJ(I3 ,.3 -CWO{b4@ @9 @*+ 7@94 R q!TR@{DOCWBC_ 7 R`4{qT@@9r`T qT!R{DOCWBCsA7 @()@(7)@ R% @9 qATh@!h{DOCWBC_h@)!8)a {DOCWBC_֪5 -|H.p6@) @JJ(?H ,nCWO{H-@@B4@ @h@7b4X7 ?!@qT%Q q#TA!8CbRyh @@@ @9(76 @6R@@@ @9i(7+h@b4H_6` @ @H6 @)@)=@9 6!R,@0@9-qTҨ@ @9I(6 97(rTo @A@y!rTS @@s^@@@@I)-@)@?T{DOCWBC_^(Y4@ Ag_WO{B4@@c4@ @9(7@96y@4e@7@@ 7 @) h:@987h@ @|@.D9C @RRR:@(o= bRRM@@@{DOCWB_AgŨ_g_WO{C7@i@ 7 @) (R*hR)BqITc(R*P)Bqh T)!9(M4J6Liw8k `}8 9C6kj@9@@({7 @9h {EODWC_BgA_еBzw@9( @И@z7`h@h@.qT h@ h@h@ R u3i h@R i@Rr( h6˜h@2hh@R hBhb`k_WO{A4@@b4@ @9(7@96)y47@i@ 7 @) 2!8a  @? T@*@9J (74@) @yiL@906>@9H(67@@97BRv ,@9q Th@R)0r  ?qA T R *ha 7:B`B*@@R RRF@*o=` A) @ 5@jTa5@y h@ 2hRRRGh@!9 @ h@!@@{COBWA_Ĩ_ !?3\CWO{H-@@)A44@b4@ 97@9 R q(R@#CR@#C!8aqaT @)*5@9j7a( @ 1@9_5q@@@))-@)@?T{DOCWBC_֨_WO{(-@@B4@@ @6AR @7P6@ @TkT@ @jRJr) J @yKGRJ J) *)4cRy)!8 a @P6*_5qaT @ @HuA9((6H)A `H  @ @A @( 2a4@@@))-@)@?T{FOEWD_C_"R4+Y!8aAvSWO{B4@4@b4@) @yi@qA9(74@-T@ @9 6@t@{BOAWè_ Pӧ4@,T"R-U@ @9'7O{C @ ?-qT?)qTi@*!A9_qT(@ki@3!@3h @h 7@T876! R" h @h ! R7@4' }S? qTXh@y i @)i")7@TARO7@@ 7 @)  !8a7@T Bш A) @ 5@Ta5@y @ 2{AO¨_9[O{CA4@`@`a4@@{AO¨_WO{B4@4 @J5K@lLj6 b4@J@9JrT_ qT JA7K@j)@j7k@ RJ- J@9J_ qTA)@i 5@jT"(T@GT"iTJ4J@J_T!8a`@3@@{BOAWè_Z"T "RFTh@WO{A4@@h@7b4hX7!8#1h@b4_6@@9(7h 6vqTh @ 9@9) 6@@ =@96 @(@H)=@i4@ @?qT? 1T!8@@{BOAWè_!@9qT4@@) @yia @"R:@9h76.@@{BOAWè_C_WO{(-@@B4@b4@@9 qTӆ_h@7X7-U q!Th@ @t @A47@@(0@91qTR"h@h_6t @:@9I 6@)@)=@9 6-U qTh@ @Rh6@96h @ 9@9 6@@=@9 6@! R@h@2b@@@@))-@)@?T{DOCWB_AC_X, AWO{(-@@B4@_ @-U qAT@ @@"8bHBR7"8b 9)Q?Iq(T@J6Lii8k `@b?T @*HRJ*r) J@9* R J(*5@@3h@}S qTV@b?aT@iRr kT@ @I5Ab@? T?)aT @(Ҋ )ʉ) @yR (@b?aT@鈉RIr kTe@b? !T@y)R k T@!Y@b? T@)Rr k! T@@@ Z@b? T @ *Rjhr) J1@j)Rꨨr J(* 5@@h =@9)6@@=@h4@@<@b?!T@ )Ri r kT@ @b?T @jjR*r) J @y*HR J(*5@@sR@  @RJr) J @y*R J(*5@@5@7@( Rba4@@@))-@)@?T{COBWA_\WO{(-@@A4@@h@-U qTh@ @BRB@a!8a) ? Ti@*MJ5_qAT R r_)jTi@)@))I@9? qTARh`"8a4@@@))-@)@?T{COBWA_WO{(-@@B4@b4@(@9074@mT( @J4J@@  @(A@y!qaT@ -)U ?qT@! @ @@` BRכ@@ 2O/t@@@))-@)@?!T{COBWA_"RQ@( @h6@ @ @jR@@WO{A4)4)@b4@K @3yk@HA@y!ߪq@ߪqThh:@907@@{BOAWè_Cg_WO{(-@@"4A>@ @?r :TIX6 @ @ R r) Q qT@@8TARΝ7Th@ ?1qT?-qaT7h@@6DRD5ERD)R jA6TRr q!Th@ @` @65@h@ I)9?q T R)4r q Th@ @` @g/7!8a.TRU @?TBR64 ,@++wB>@ @P6 @ @LI ?qAT @) @ @6@ @Hi@) k T5+@HTBRӚ@ @7@Hi@) k!T@H!T@9@9 kT5RRHh>@9(7 @ "Rɤ9@i@( h@韙Rr h7@@97 @     7T*_8K qTaT @~BU**qS} !#T97 !? @T9 7+ @`Ti9)7+  @Ti97+ @ Ti97+ @ Ti9I7 + @ To9   7+ @ To9   6kw(R9Ҧ*@9H5@H T@(T4,@9)qT( 5R hh8_)qaT!T Wh@ R)4r qTR@i@( h @i@) @i)8h@韙Rr  i(7\]   @)T ! A ? )T bThi97kaT3))))C)Q  99  T    @8.kn8, D94q T) T  I @9?qT  R` @@  ) Tȣ9h@ h@韙Rr h@2h:@907@))-@)@?T{HOGWF_EgDC_}og_WO{CB4@45@ @K X: 4@b4@* @yj(A@y!_"TqA@_#Tq T@ h:@9074@T@@{EODWC_BgAoƨ_q!T@ h:@9764@T"RZOC_WO{B4@b4@(@94h 7t@!8a4@T!8ahJ4J@) @U @)4)@)? Ts"qaTZ@ R)0r jTR@ ?9qT @k7mij8 ֈ @ @I4R@>@9H6@ @=@1T@7? qT @@) @I@)@9(77* @ @Rr  6@I 6gXdRH`6&@ @ ]@ 87 x7@ @)@?@@gF`@٧ R R7 @%@ @@ y3 @ @@ @) R' @@!A!\444@# @@)@i*=@9*6)@*@)=@?1@@`6\"aRR!!R!R?@@9)!8)ar(h@@{DOCWB_AC_<@96@ @=@1AT"R^N "RXN@@9 q`T, _8I p_ ˀ yVWO{A4)4)@b4@J @3yj@@ @ R)4r qT@@ ? T{BOAWè) h@R)0r  ?qT R *ha @@{BOAWè__WO{A4@b4@A@y!4@9h6BRQqhTj:@9H07qTh6@95Қh:@907@@{COBWA_Ĩ_qTWO{A4)4)@Дb4@J @3yj@@ @ R)4r qT@@ ? T{BOAWè) h@R)0r  ?qT R *ha @@{BOAWè_#mg_WO{CB4@b4@ @907)4)@ @( H#@Rr@_@T@@  **? j!T R  ?qD @zT@7qRRK7U@ R  ?qD @z`TRR@ @6@ RI K?qd @zaT*@7VRR@@ @6 R r@(jaT)@)@@*j! T@*Rl Tl`ӟ R RAQn%͚!Qn%͚Qn%͚ Qn%͚Qn%͚,}  T?@a? CT  Ak} m}  (T?@H*qTah@R)0r  J,J@9_q AzTkR qT@@@ q TRœ?@jJRkUl T`c@a_qa?@n@ a? #T?(A!aC ac? (Th@R)0r  J,J@9_q BzAT @R *hh@@ R jTh5-:R q`TR@`@ q!T@@A`2,@9q` Th@R)0r  ? q T @R *hh@z4@ R  ?q @zTR@@{EODWC_BgA#l_Ah@R)0r  J,J@9_q AzaT R *ha ?ATh@R)0r  J,J@9_q AzAT R *hh  c@ah@R)0r  J,J@9_q BzT @R *hh@~5y@ R j`Tҿj#mg_WO{CB4@b4@ @907)4)@ @( H#@Rr@_@U@@  *+_ jaT R_ j`T R  _qd @zT @6 R* +_qd @zTRU@@I @6 R r  @)jTJ@)R@ k T@kRUP``Ӥ@TLR9@@6@ R* +_qd @z!TJ@I)R_JUڭ@ k!T@+RP``Ӥ@TN}@}@ @TJ`J}L`ӌ} T? kaT,@9qTh@R)0r  ?qTR6}? kT ? T˨,@9qT} qaT@@@ qTRe Ra@`@ qT@@ `,@9q`Th@R)0r  ? qT @R *hh@@@{EODWC_BgA#l_@RRJ7T@@  * R_ jT  j@7O6@@@@A@ |Bg b |Bgb^Ba^Db |Bg(b |Bg b"^Ba^ Db@Tah@R)0r  ? qTn@J@@k@L_m_ӌ }Ta} h@R)0r  ?q!T R *ha  x+x#mg_WO{CB4@b4@ @907)4)@ @( H#@Rr@_@U@@  **? jT R  ?qD @zTRG@@6@ RI K?qd @zTR;@@ @6 R r@(jT+@)R+@i)RkUM @ k!TL@*R - !MTL@JRUڟ - !MT ˚+  qaT@@@ qTR R@`@ qT@@!` Th,@9q`Th@R)0r  ? qT @R *hh@@@{EODWC_BgA#l_? k`T?(T˨,@9qTh@R)0r  ?qT,@9q`Th@R)0r  ?qT R *ha  c@a,@9qTRR97T@ R  ?qD @zT["#mog_WO{B4@b4@ @907)4)@ @( (#@Rr@_@5@@  *J? jaT R  ?qD @zTRn@@7 qT@@  R r@_(jTRR5@Rڙ `W@a(L`~g!`TA`Z;RR(@U/@ R  ?qD @zAT@6 R r@_(jaTR @,R4@G7R qT@@ `W@a!L`|7R҈@<R q@TR `W@a!L`|7~g bT @`Z(@U ՚)J? ja4A?Te!6l!(b!@e4)bH@e c@ac!`T `W @`A`(J `9` j `@a?q `Hh:@9H07@@{FOEWD_CgBoA#l_RRY`74@ R  ?qD @z!TT"C#mog_WO{(-@@C4@9c4(@ @907J4J@ @J  RrS@)r@T? qT" RrS@)rT)A7*@I)@7J@ R)) )@9)? qT @9 076RR@907 @@(* jT"Ѩ@`7h6 qT@@&@:@9(!(76R"Ѩ@Hg6 R r?(jaT qT@@0V4&@7RT@5!@@ Rɘ@`A``7!`dTx!#R65 R04*@H@9H07@TR̦h@ R)4r  ?qTi@) @ RrH7CR9h@Rr(6)7)@)@9?rRr7 Th@ T4 @)5,@-v To2 TzC k ՚_ TJ@9Wk4k@kkCT)T (7"џT@ @)y  y  "џ)T@ @6AR @ @I_ө)) ՚_ (T)A$7h@ @T @a @ h@ @)} h @i@) @i)8h@  R) *i(7(@@@))-@)@?A T{HOGWF_EgDoC#BmC_ֿ4@)5*@K+I !_"T_ @ RR7_@g6h@J4J@J_T)!8)a A!D#R.6536R"Ѩ@g6  H@ (T" $e$  "R G@ #mog_WO{B4@b4@ @907)4)@ @( H#@Rr@_@U@@  *+_ jAT R_ j@T?r`T:R R  ?qD @zTR@h@7 qT@@R50r:7Aa6 Rrz4@ R* +_qd @zTG6=@)@9?r R  ?qD @zTR\@`R50r:6@ qT@@ )R@@(jTk@6A Ta LRB8h,@9qTh@  ? qTR@i@7@@)jaT @)R@@(jTa bT(@ )R Uڨ@@(jTk@췟kU, J6a "T5A BTa )7,@9qTh@R)0r  ?q@ TϏ[)7?T˨,@9qTe c@a,@9qTRR7T@@  * R_ jT  @7O6@@@@A@ |Bg b |Bgb^Ba^Db |Bg(b |Bg b"^Ba^ DbT8ah@R)0r  ? qT @R *hh@@J@@k@L~m~ӌ *7A h@R)0r  ?qAT R *ha @@{FOEWD_CgBoA#l_ x+xL~m~ӌ * 79g_WO{B4@b4@ @907)4)@ @( H# Rr@_@U@@  **? j!T@7R@6@@ R1R50r@ @9@6@7RӒ@@_qHWZ (Ț Ț_r)_q@꧟J@q!1,@9qTh@  ?qT5@RRD`7T@hG6@ @7RR50r@ @9@7 qT@@RP_qHWZ Ț $ȚIq჉,@9qTh@  ?qT R *ha @@{DOCWB_AgŨ_ˎg_WO{B4@b4@ @907)4)@ @( H# Rr@_@U@@  **? j!T@7RR@6@@ R1R50r@ @9@6@7RA@@_qHWZ (Ț Ț_r)_q@꧟J@q!1,@9qTh@  ?qTV5RR`7T@hG6@ @7RR50r@ @9@7 qT@@R_qHWZ Ț $Ț)q჉,@9qTh@  ?qT R *ha @@{DOCWB_AgŨ_9WO{sB4u@_ @@* @I* R r? jaTH h@6I7@@)@)@ 觟 RRV 7 @* @I*H G7H71@@(@@ aW)!8*q(ta4@@{BOAWè_#mWO{( @ R  ?qD @zTR@@7@Rr qT@@h@ qTRi@ R* +_qd @z!TIG6R@`h@ qTh@@)R hJyS)A{COBWA#l_Rbi@i@7@ R r_)jT@_(jTh@@h@@@_)jT@)@ @@i@)@?藟' K{COBWA#l_։@)@ ן駟 K{COBWA#l_{COBWA#l_ R{COBWA#l_WO{sB4u@_ @@* @I* R r? jATH H@6)7@@)@)@ `RR 7 @* @I*H G7H7Zq@@(@@ aן)!8*q(ta4@@{BOAWè_WO{sB4u@_ @@* @I* R r? jaTH h@6I7@@)@)@ ǟ@RRX 7 @* @I*H G7H7q觟@@(@@ a臟)!8*q(ta4@@{BOAWè_WO{sB4u@_ @@* @I* R r? jATH H@6)7@@)@)@ RR 7 @* @I*H G7H7(R` @@(@@ a跟)!8*qHta4@@{BOAWè_WO{sB4u@_ @@* @I* R r? jATH H@6)7@@)@)@ RRܦ7 @* @I*H G7H7q@@(@@ a)!8*q(ta4@@{BOAWè_WO{B4@_ @a@) @(* R rb4 jTtqT!8a@RR7`hqT4@@) @yi|@,@9q`Th@R)0r  ?qT R *ha @@{BOAWè_g_WO{B4b4@@A@y!@ YQ? qHT~)A;))a7@);))a8@);(a@R7R8R4_@S@i@(* R r j!T7@9@7H 6R!R@o4R R8@7T7@R!8 | ?k(@@{DOCWB_AgŨ_WO{sB4u@_ @@) @(* R r jATR!8 q(ta4@@{BOAWè_`RR7WO{sB4u@_ @@) @(* R r jATR޹!8 qta4@@{BOAWè_րRRѥ7g_WO{B4@4@b4@) @yi_@4@@(* R r j!T7@9@7h 6R!Rn4R`RR757@Rp|@,@9qTh@R)0r  ?qT R *ha @@{DOCWB_AgŨ_og_WO{CB4@c4@ @907)4)@ @( " Rr@5_@@@ * j!T+@ l *5@A@y!Ch:@9(073mRRD@ 7@+@ l *l4,R? j`@z j@@z @J@97) ?qT@6@ qTRO @7R@@6@@%RA@ qaT@@h@R)0r  J,J@9DAz AzTɊ蟙Rr3qST @6@G7Ri,@9qTh@R)0r  ?qT R *ha 蟙Rr3qST@) 4@( @@{EODWC_BgAoƨ_0l蟙Rr3qSTg_WO{ RrB4@_ @@) @(*Ic4 ja T@ @907)4)@ @) R90r3@ @9 @7 qT@@@ qTR@7R6@96@@R@ qT@@h@  J,J@9DAz AzT9@@6@97Rލ,@9qTh@  ?qT R *ha @@{DOCWB_AgŨ_RRR`6_WO{B4@_ @@) @(* R rb4 jAT@ @907)4)@ @) 3@ R#h:@907@@{COBWA_Ĩ_RR6zog_WO{CC4@9c4(@ @907)4)@ @) " Rr3@A@y!U_@@@ *  jT+@ l * 5h:@9h07SRIR~q R 7@+@ l *L4R-0r,R? j`@z j@@z*@L@9+7k5J@907) ?qT@7@ q T(k5J@9*07@7R)R-0r@H@69R׏R-0r@ q!T@@@7@(@7RR-0r% q TRR-0r ~qA,@9qTh@  ?q`TG蟙RrSqST(G6@@ ~q,@9qTh@  ?q!T R *ha 蟙RrSqST@) C44@( (@@{EODWC_BgAoƨ_d蟙RrSqSaTog_WO{C RrB4@b4@ A@y9! _) @@J @I *j? jT @907J4J@ @J ?rR:0rS@ @9 @ri *7i4 qT@@@ qT 4(@7Rv6@96/҈@ qAT@@҈6@97Rd"R@ qTR ?qA,@9qTh@  ?qT@@6@96@@ ?q,@9qTh@  ?qT R *ha @@{EODWC_BgAoƨ_RIR?q R 7@ @976G_WO{B4@b4@ A@y8!Ɏ_) @@J @I * R r? jaT @907)4)@ @) 3@q Rxh:@907@@{COBWA_Ĩ_RRq Ro`7@ @976_WO{@RrA4)4@(@b4@) @yi@ @ jT 7@@@7 RR6p@)@6 ? TrT ?qATp6 R  ?qD @zTR@(G7 q!T@@1?TJ h@R)0r  J,J@9_q AzA T R *ha : qaT@@#h@R)0r  J,J@9_q AzT R *hh $R@ah@R)0r  J,J@9_q Bz TR؎@a,@9qTh@R)0r  ? qT @R *hh@@@{COBWA_Ĩ_ieWO{-@@A4@@@ `R  ?@qT)4)@Ja4J@J @3yjP7 4R@ )-@)@?T{COBWA_-U qT@ @ @R@9 )A)yh R*r_)jT!!"RBRh:@907 R@ )-@)@?`TuqTqTF5Ry@9RjRqTh@ R)4r q!Th@ @` @9h:@9h76R9h:@9h76O{CsB4h@@ @ R r jT"8CiU}  T @rTP7@7X6@ 9@9 6@@=@9h 6R7@ @HTh@@9qT@@h"8h@a4@@{AO¨_`RR7h@@T_WO{ RrA4)4@(@b4@) @yi@( @ jTrTR60r@)@97 q!T(@@ @7RGR h@  ?qJ,J@9)* ? jT(@@ ,@9q Th@  ?qT R *ha RR*@7@( @rTh:@9(07@@{COBWA_Ĩ_9O{-@@R~@ -)U ?qT@) @ @H7CR@ @6C @@ @y)4h @h@9(*H8(q`TK @+h@9(*h9j ( q`TK @+h @9(*h 9j( q`TK @+h@9(*h9j(q`TK @+h@9(*h9j(q`TK @+h@9(*h9j(q`TK @+h@9(*h9j(q`TK @+h@9(*h9(!Qj" !qT =q3?qT  ))}S+li}I  KJ @B @X n!X nBX ncX n@?B !T T(@((H!Q_=qHT q+T!qbT &JqbT Liz+ `b @X n!X nBX ncX n`?b T_ T_ }TMu} K+ )  @X . !T_ T +  Ki@9)*i8QqhT@ )-@)@?T{COB_a4@A@y!@i)7(yh3_WO{ RrA4@@ @еb4 jTR60r4@@* @yj)@9 @7 qT@@@7R R h@  ?qJ,J@9)* ? jTK@@ ,@9qTh@  ?qaT R *ha @@{COBWA_Ĩ_րRR7@WO{A4@@( @ R rеb4 jAT4@@) @yih:@907@@{BOAWè_֠RR7@_WO{еB4@b4@ @907)4)@ @( "@_ @@ @  * R r? jaT(@7R@4@96@@@RR7@ @(G6@@@4@9H7Rv|h@R)0r  J,J@9_q AzT R *ha @@{COBWA_Ĩ__WO{B4@b4@ @907)4)@ @( "@_@@ @  * R r? jT@7R9 RRÞ`7 @G6@@6@97R(@@ ՚ڈ,@9qTh@R)0r  ?qT R *ha @@{COBWA_Ĩ_7"8_WO{еB4@b4@ @907)4)@ @( "@_ @@ @  * R r? jT@7R@4@96@@T Ԛ,@9q`Th@R)0r  ?qT R *ha RRS7@ @G6@@@4@97RTh@R)0r  J,J@9_q AzT R *h @@{COBWA_Ĩ_ʃ"˻_WO{еB4@b4@ @907)4)@ @( "@_ @@ @  * R r? jAT@7Ru@ @rATRR7@ @HG6@@@ @rT@)@9 07@7R\@@h@R)0r  J,J@9_q AzT R *ha @@{COBWA_Ĩ_l_WO{еB4@b4@ @907)4)@ @( "@_ @@ @  * R r? jAT@7R@ @rATRR7@ @HG6@@@ @rT@)@9 07@7R@@h@R)0r  J,J@9_q AzT R *ha @@{COBWA_Ĩ_WO{ДB4@_ @`@ @  * R r? jaT(@7R͆@4@96@@ RRR@7`@ @(G6@@@4@9H7R!8 a4@@{BOAWè_WO{ДB4@_ @`@ @  * R r? jaT(@7R@4@96@@`RR@7`@ @(G6@@@4@9H7R!8 a4@@{BOAWè_WO{ДB4@_ @`@ @  * R r? jaT(@7R]@4@96@@@RR@7`@ @(G6@@@4@9H7RH!8 (a4@@{BOAWè_WO{B4@_ @`@ @  * R r? jaT(@7R%@4@96@@RR@7`@ @(G6@@@4@9H7R!8 (a4@@{BOAWè_WO{B4@_ @`@ @  * R r? jaT(@7R@4@96@@RRr@7`@ @(G6@@@4@9H7R؅!8 a4@@{BOAWè_WO{B4@_ @`@ @  * R r? jaT(@7R@4@96@@RR:@7`@ @(G6@@@4@9H7R!8 (a4@@{BOAWè__WO{B4@4@b4@) @yi_ @@ @  * R r? jaT(@7Rt@4@96@@@RR7@ @(G6@@@4@9H7R_裟՟,@9qTh@R)0r  ?qT R *ha @@{COBWA_Ĩ_qWO{A4)4@(@b4@) @yi@ @ R r jAT@7@4@97R%@@ˈ,@9qTh@R)0r  ?q!T R *ha @@{BOAWè_RR63#m_WO{@RrB4@4@b4@) @yiȎ_ @@ @  *? jT qT@@@ @ qTR[RRf7@ @ qTRO@`@ @ qT@@A`v,@9qTh@R)0r  ? qT @R *hh@@@{DOCWB_A#l_g_WO{R҈A4)4)@b4@K @3yk@HA@y!8RQqT)M7+ih8J @R8R R8RR8R R@Rv%R`Rֆ%@Rr@ @*? jT) ?qT@@6Rm7@ @) ?qTRڇ7qT `T2 `TQqT)i7+ih8J @&Ra,@9qTh@R)0r  ? qT @R *hh@@@{FOEWD_CgB_*@h4@%! HR#mWO{sV0h@95a0@A4)q0*@ H5 JEHJJ((Rh9B4@b4@@9 r`T`_ @1Q qaT@@4@nT"R7nARQ@`!`n h4@@) @yit `@@{COBWA#l_ @1Q qT@@_AR.CWO{-@@B4@4@b4@* @yj(@9 r`T`@s" @-U qT@ @@CM6 @ s"шa0@a4 )q0*@ H5 JEHJJ(^* #BR@CzM7!%RU U0)R 9 @,@9q`T@R)0r  ?qT R * 4@!Tt@@@ )-@)@?T{DOCWBC_!P&BR:@9074@T"R6w4@T#m_WO{ RrA4)4@(@b4@) @yi@@ j T @7R@r` T@7 qaT@@ 6 qT@@@Rg@`A`NN 5!`T|g!`mTA``G,@9qTh@R)0r  ?q T~M~g!`TA`[G`bdAe,@9q Th@R)0r  ? q T @R *hh@0Rc! ,@9qTh@R)0r  ?qT R *ha RR7@@G6@!@rT,@9qTh@R)0r  ?qT R *h @@{DOCWB_A#l_~,@9q`Th@R)0r  ? qT @R *hh@~;A`_WO{@RrA4)4@(@b4@) @yi@@ jaT(@7R>@rT@7 qT@@(7T%R`,@9qTh@R)0r  ? q!T @R *hh@ @@ RR@7@@(G6@ @raT,@9q`Th@R)0r  ?qT R *ha @@{COBWA_Ĩ_E~~_WO{C-@@RrA4@4@b4@) @yi(R@@  ?qT@) @ @7#BRY@(67@@97ARܶ @2 RBRo@ qT@ @ @@A@y!qT#SRRRGFS@97e#BR+@A@y!qT@9@q$@!TqTR  q@T=qTaq!T(hR)JA RLYh,jT@8)7H4 7)qaT)@8R  qT(hR#S$RRF RFS@9(6@h@R)0r  J,J@9_q BzT @R *hh@(hR#SdRRRES@9(7!h@R)0r  J,J@9_q AzT R *ha @@@)-@)@?T{EODWC_B_}h}C_WO{-@@RrA4@4@b4@) @yi@@ 2  ?qT@ @@@9h(7,@9q`Th@R)0r  ?qT R *ha 1h6@rT)7)@)@97  ?qTP6@@9(79|h:@97טh:@9(06!8a @ @!8 !?(@@@)-@)@?T{DOCWB_AC_3-U qTR+~@ ? 7)_qH)?AK((IןT+ *k6R_#5귟) *?qi?)1( R_C$7 7k6귟* *6   0j 7k귟) *I6 og_WO{ C-@@)A48@4c4 @@ @3yj @9(7 @9*7R9rT 6R9rT|Vq@ @99rT)A7)@*)@7)@ RI% )@99)-@? q)R9 Rr R r@9  qT!T_4 R__t@I Q qT@@@_(j AR R r+R@@I Q  ?q T@9@AR R r@ k_@@9 7CѶ5c_47@si@ 7 @)   @ q T@ @ @XUsB`B*@@R RRau@*o=` A) @ 5@ Ta5@y h@ 2hRRRb{h@!9 @ h@!B4kT@h@ %A9)2 %9h@4-@ qT @ @ @@(6sBR|@(7X7 R)4r q!T@ @ @>@9H(7M@h@ 5Th@ %A9)2 %9h@|BR| @6Fx9@_6!#`R@ R)4r q TRG>@9(67@@97@>@9(7R@ R r q@TR| @(6>@9(7 @h6 7@@9r @7 @)7)@)@9)7(7X6 @ 9@9 6@@=@9( 7B@`T @q @T ? 7 k@h*?Ah9?ן T  *j6V#!x#`R!8a @@@l575 7?鷟  *6) 0 RJi7J?鷟 *6 @@?鷟 *q9_H1m@7 X6 @*9@9 6)@)@)=@9 7R vq TaJA$?T @9)?qT+@9Kik8) 9T +_8kqT9cTT+@9l q Tl@9Lil8k T"+@8kqT9T @@ l@8qTT @@ @@T  j_8J_qTcTh 9qT h6@9 5h@yh@ȅ Rљh@2hZ @4AR.ARՇ@ R r q!T@ @ @6@9(5҈6@95ҼBR! @?q#T(Q ha4@@9( 7qtB4Th:@9h07BRk{6@95ha4@@9('6#tB4ha4@@@)-@)@?AT{IOHWG_FgEoD_ @@@x#) @5M qT@@_AR}og_WO{CxC4 Rr@ @ @ qT@@4WzZc4H@ @9 (67R@  ?qAT!AR}4WzZc4H@ @9I/7@97R@  ?q TARn}@ R r?(jTSq@  ?q!T@ @ R r?(jT@@h SR5һR74h7@@ h7 @) қR75h4@I@) @yih6@9h 5jy:@9h06@pBC+@@R RRr@+o= hA) @ h5@jTha5@y @ 2RRRx@!9 @ @!@@@%9&y7H@@{EODWC_BgAoƨ_y:@9767Cog_WO{-@@RrwB4h4@zZc4I@* @yj@(A@y(@9  qT@) H_ @i Q qT@@AR|(R_@@ qT@ @ @@ qTcBRz>@9(6h7@9@r ?@9(7_9H 5@ARA@ q T@ @ @:R@ 6uBRy@ qaT@ @ @>@9/7?@9(7R_9@ 6^}SR_9@ 6Wh7@9@ S)R_97c_; _@9h4H@@9H(6 )JJjJ!8K?qa 7R҈@63cBRy:R@6&h7@7@ h7 @) o@@RLR @@(7(X6 @ 9@9 6@@=@9H 6@R R_q"@@!@7X6 @*9@9 6)@)@)=@9 7q @zaT@_@9 R RqB@@4ןH qTR£q!T@ɲ鳉 @q?*?鳊q!T RT@˿ THR7RjA _ I_鳉@ #AzZc4 @?q#T(Q wB4H@@9/7h,@9qTh@R)0r  ?qT R *hu H@@@)-@)@?T{HOGWF_EgDoCC_LwB4H@@9/7wg_WO{tB4@w4h5@ @K U: h4@vb4@) @yix6@9H5(CB#h:@9 rTq@5@h:@907@@{DOCWB_AgŨ_1@9i),(9@h:@976WO{-@@hA4i)4)@ub4@J @3yj@@@ -)U ?qT@) @ @6 BRx@h7@9(h7@@9H7@@9)5&,ih8 + kD9R%  bT@8.im8k+ kD9 z k4TRwҨi@R*0r* kk,k@9q@AzaT R) *ih @@@)-@)@?AT{COBWA_v6C_WO{hA4@h4@wb4@) @yi@@7X6 @ 9@9 6@@=@9h 7E5 Rrx7@@97@ M)5?@qaT@7Rtz @@@h7h7 )4 qT@@ `T@ q!T@@h2@9 qiT%R} `ETRR 4:@9(6R!&RjRh2@9 q)T R|h2@9 qTaR#pcT@@97j>@9dӉ 7j@J @RlR KR} } Sk_ TRkRi K)R)} )} S)Alt` @ҥh @i@( 9h@Rr  R rh>@9 7h@ @?TARRth@)R h @99h@Rr  R) *iH7@@{DOCWB_AC_ִRh2@9 qT@H_7P|&ONCg_WO{C-@@wB4Rr@h4xc4@ @) @yi4@6_@  ?qT@) @ @(7BR4w@6h7@@9(7@RRBRL@ qaT@ @ @@ qT @BRw@ qTBR wK˓h@ yiH73@@@)-@)@?aT{EODWC_BgA_ICog_WO{-@@hA4@S@ha4@A@yh@ -)U ?qTi@) @ t @CBRvh@iR ߂@q|М7@9@7( 6RARX4h!@H @j#@h>@9h(7(R(9@U7 6RARX6hE@95?qThA@9@9 4 i`8e(9@H7@9kA${ii8 ?qT7h 7R57H 7R<$R/$R8@(9@X7 6RrX4@9@7?qTR@9) (ih8k9߂@qTR@9?q I RJZ)?iI1 k9߂@qTRARNXk#GRARCXk#hE@9 5 RR@ I 5<RTW79Rk9߂@q`TG @Rk95R߂@qTh@ R)4r qTh@ @ w @6CR|6@kri@( t(R @I@99i>@9)(7(R@99i>@9 (7+RU6A# qTqT@9%qT(RE@(9@7'6RARW@4 R@9%qTk@9qT @ 'TR@xR kh {@9q@$ThA@94@9k#cR@ Tk@9 qATR RRk9;R߂@qTR߂@q!Tw@9Rk9߂@qT;R h4@i)a4)@) @yi@ ? qTaRm@7@) @?T:r@ @Rr R *@66 @k@99o@9 9? T   Rl3 9 Rl3 9 J_ TK97 8J_ cT9 @ @( R @ (4k@99(Ri>@9(7#@kL @T5CR@2@kR@ 7i>@9(6I@)@97@)27 @w@( H@9@7 6RARW4h6@9i),(95`Th:@9 rT}4h,@95:@907ha4@@@)-@)@? T{HOGWF_EgDoCC_ @cTV R<R[R9RDR RR ;R>$҂RRsTh6@9H4҂RRrB$RR(@9jh8CR5{ @? Tj{xj ?k{ R5kTkRRk9o9HR @ R<R;R9RR+RG @|B@**qS} !*_TT @9G_ @T  @9kGhA(_ @ T  @9kGhA(_ @`T  @9kGhA(_ @T  @9kGhA(_ @T  @9kGhA(_ @ T  @9kGhA(_ @`TJ@9J ! AkGkk} K T _ T)?!bTK?AT ,} ooN J oo@ ///ocnB.n!.J!T!NN N^f? T1*|ooN oooooop< o/2/1oo/onBn..c.nn!.AT!NcN!NNBNN N^f? Ti7 j@8J T_Cog_WO{-@@hA4@z@I@ F7RUrRhr( xc4{{7k!Th@7 9@7)4 6RARU36hA@95 9@7h4@ @) @yiH@G qaTH@ @ U @@ ? qTCRs @@ ? qTaRk@7@) @?TNp@ @Rr R *th@9@7( 6RARoU4h!@(<H?@9(7 @|"h@ 9@7 6RAR]U6ssBh@95 TR֢_85h@99_84qTqT|qTJ`8 sR/RRJ(8#Th@@9h7 @kTRC$97& k@T 7R@9kh8h@9@7 7R$RRARUk# dTR@9*ki864( D9Rj%@ ?bT*@8+kj8 (D9 z 4TRJ4( D9Rj%ʚ *@ ?bT*@8+kj8 (D9 z H4TR T:RT!@HIT@) @?T @o@dh%@ATR9R&x:Rz49R&xxc4@@29 @Uh@9@X7H 6RT4h@9@h7TZssF @9qT9ѿBT@9Hkh8(9qTh@94h@h9@7'6RARtT4@9~qT@ @T @71ohjR(xT?( ?A)PT@_xc4T?9 @(ˉ@( h@9@7 6RAR@T4h6@9i),(95`TH;@9 rTz4h,@95:@907@@@)-@)@?T{HOGWF_EgDoCC_h@9@X7 6RT4h@9@H6H@ R)4r qaTH@ @ W @h@CR @h@7 Rrq T @( @( AR~ @h@9( 5BT@8Cc R" @9T*| ` N KRa NO @9H(7 @#H@ 9@7I 6RARR6!7K"Ty9C{ 8 T(@9@94hk`88#TCR~ @H@(H@9@X7h 6R[R4H@9@7T @8 ii8 8T+T ?( ?AcTAT*| ` N KRa NO @9H(7 @! R\@Ҷ9! RT`nR | @9Rh>@9/6H@@97 @K T{C$y9G k<@bT@9|kh8H@9@7 7R$RRARQk#(@9(5@H T@) @?bT @tl@H@9@7'6RARQ4@H7@9%qaTk@9qT(R7@yR kTT@29 @ˉ@( |c4hE@94h@T8R) ;T9 @ˉ@( H@9@7 6RARbQ4h6@9i),(95`Th:@9 rTx4h,@9H5:@907@@@)-@)@?T{HOGWF_EgDoCC_'xT@9_%@T*i8j7 8 RK3 9 RK3 9 ҂RRgmTh6@94҂RRZmH@@96og_WO{-@@hA4i)4)@vb4@J @3yj@@@-U q!T@ @ @j@IyihH qTaRBgi@)7h@ @ @!R!TCBRn @j@Iyixh@L @!Rkx @|7@9@>@9"(6"7 @%ZC$еB R17BL8{8 @ #9 @Ykj87zjH68 @ 1  kTcTlzi@    ¬? aT T? +TI? T@9*_qAT@jJ9@ 7  6RARsP@ Rvb4@7@9@9 e3(@zh7 K@8 8)T5QqT*jh8) ֈ@9=qT@9qqT@9QmqTJhh8) ֈ @9} T@9q`TqTq T @9cT@9q`TqT @9 ~? T !?eTqT@9Q-qTjkh8) ֈ @9qTw@9uq`TmqAT @9qT@9q@Tj@9qTf @9q@Tb @9qT@9!CTZ @9ATU @9 ?MTUmTL ?)#T Q?%T }?EcT ?TyqTuq@TEqaT @9 qT6 @9q@T2 @9qT- @9-T( @9 q`T# @9 T @9q@T @9qT @9%#T @9QT  @9TX7 6RO4@9@7 @  A R 8 @K J@9 yj 6 8@9h@2h9h @i@( h@y] R *h7@@@)-@)@?AT{GOFWE_DgCoB_ @  A)R R 8 @l @9 yk?,jT 8@9UCog_WO{-@@h4@i)a4)@) @yihA4@@{{7h@9@7 7R@7rT-U qT@ @ @h@ ? q T6R@6E@raT R`4p .h@ ? qTaRfeh@7i@) @?bTih@CRl @h@ ? qTz @2Rr R *h @h@9@7( 6RARN4h!@>@9((7 @H"h@ 9@7) 6RARN6{{Ch@95? T zZc4ɾ(8bT@9h@9T4j`8h4wRRARN@(6h@9@HX7h 6RN4h7@9@H7? T|GjnR{ zZc4@9qT@9)5}qThKh8(8Ti)7)@)9@ 7I'6RARxNjnR@94%qATh@ @Th @94ijnR*x9cT?T)?( H?A)PTzZc41*| ` NY KRa NO @9(/6h@@97?T9C$ cL@Z"T@9;kh8c#K@HTi@) @?"Th @Zh@h@2hZZc4?9h @(i@( H7@U,9@7H 6RARM4H6@99H5:@9 r@TRt`4@95h:@907HA4H@@@)-@)@?AT{HOGWF_EgDoCC_҂RRi:@9 r@ATH6@9H4҂RRir! Rɾ`Pog_WO{HA4@H4@H5 @* (3_Ha4@ @9)(7@97Rh@ ?-qT4Rh@ ?-q TCqh@ ?-qT@ I)a4)@89 7R"iTMa4@ @9)rTLA4? qTI)A7*@I)@LA4 7J@ R)) )@9)? qTH4@@ ? iT(@H!8a(@ @{FOEWD_CgBoA_q跟R * 4 Rr#R5.@hT`@ @ q!T@@Z7.ARGm67R%@HX67o-6 R`@{s@@@ !$""RAl ! "R;l"5J7R"4T RrAR m{#T`@ @ qT@@{#Th@ @Tw$Z6 RrV"8 ARl1%@hT`@ @ q!T@@"%@bhIT<R"5Tw6 RrW"8bhT`@ @ qT@@ARl.$@@hIT.۠og_WO{WB4@Y946@H5 @* :_Xc4@ @94@96B`4@6VCI)4)@))C?T_'KT|)! yv i))A  LT˶!_T Rr4 4H!8a@@ @ qT@@AR\l$ @\ T@@AR>s@@HZC_T@ @9)rT? qTI)A7*@I)@ 7J@ R)) )@9)? qT?kT@H!8a(@ @{FOEWD_CgBoA_T"8@HZC_(T@@ @ qT@@RY$ AR lRQ$ bHZC_)T)@ (@_'T@@I."T'jg_WO{WB4@t_Xc4@@9rTHA7@ )@7@ R(! @9-@ q(R-@:@9H87@ @lTH4@=TrgH qTR#@|@TH qTH!8a(H!8ah@@{DOCWB_AgŨ_BRAg_WO{VB4@t_Wb4@@9r`Tx-qT qTH4@@) @yi:@9h87@ @HA7@ )@ 7@ R(! @9\-qT@@9 7:@9H87@ @|@H,@9q Th@R)0r  ?q T R *ha >|@I)4)@))C$HT@*A@yJ!_EqT_qT)@9)? qT^r`fATY9#8@h@TRP#(chT-@-qT@@{DOCWB_AgŨ_g:A`4@74(f@*A@yJ!_EqT_WO{VB4@t_Wb4@@9rTHA7@ )@7@ R(! @9-@ q(RRH4@= T ? qT`BRX qTH!8ah@@{COBWA_Ĩ_og_WO { -@@'WB4ZZc4@H@ 999I74?q4uS?r TV֢4@I)5*@K+I u_@ (7 R _-q T_1qaFT8}} )!? T2!#H!8a!@RR!h(k89()TW|5HA7@ )@I7@ R(! @9I)A7)@*)@* 7)@ RI% )@9<?q4uS?raTՎ_a_2@9?-q@ T?1qA>T2RRq Ty)C:JJ4J@JJC_ +9T?'KT*|J! yi i*+JA?  LTis )R _-qTJ@J968}} )!?)/TqTH4@@  qTH4@@  +Th@`56( @5M qT(@@WB4z)-@? q)R<?q4uS?rTARi4*q,TH!8a\-@ q(Rw"?rjtjhI)4y07H!(@#ш:@97(86 Rb:@9h86 R[@ϯo@@@U%a!$""Rh$a! "RhH5+@ @* (h #ш:@97(?7R<R2@9?rw-q T1q%T@!( TH!8a)" T@#\4RRR7RRR#6:RRRR@@#4CRZ*#@ARp#@RRR#@CR@*#@H@96@!iT077@qWB4ZZc4@T@@(@+B@(7@)? qWB4ZZc4 T?qATI)4)@C*( RrH!8a("HT@ @ qT@@#<5;65R ARh#<4){6"R @#4CRz)#@ARo#@6R)#R)#4@CR^)#@I)4)@C((_)TI@*H!8aHWB4% Rr!#H!8aARfh(Hk8ZHT@@ @ qT@@RI)!8)a H@@'@)-@)@?AT{JOIWH_GgFoE_  @@ ?'T7/^X+Z(WCWO{-@@TДB4@Ssb4h@ @9I07_@ 0@9?1qATRRR H!81@C#RH!8@)*1@9_%qT) @* @j)@4?-qT96( @5M qT(@@X+ARg@#) 5H!8h@@@)-@)@?!T{DOCWBC_H!8Qg_WO{UеB4@Ԏ__Wb4@9@ r`TRRR}R7RRr@?qd@`Th:@9H(6HRRd@@@{DOCWB_AgŨ_og_WO{HA4@H4@H5 @* :_Ha4@ @9)(7 @97R965R96 =qHa4@9v6h:@986 R@m@@@a!$"9R"RPf a! 9R"RIf@R"T9R"Tq跟*Rq 4V7H!8a@Z7RRRRR@V@TTHa4@ @9)rTLЌA4@? q!T I)A7*@I)@LЌA4@ 7J@ R)) )@9)? q TH4@  iT@H!8a(Ha4@ @{FOEWD_CgBoA_6Uе"8T@RRb` @?V"8T@RRRzRRqb @?W"8bHa4@@9}SR'@b(HT@z69R RRRIRR>@@[Th>@9(6i@(@)=@i4@H @ ?%q!THa4@@9}SR|"X6@1@95qT7&/log_WO{HA4@X4@H5 @* 9_Wb4@ @9;@96i<`46;R5CI)4)@))C? T?'KT|)! yu i))Aѿ  LT˘!_TqmS 4[{#8|cU@RR@ @\` T@@ARl@@ic(HZC_iT@ @9)rTLA4? qTI)A7*@I)@LA4 7J@ R)) )@9)? qT ?kT@H!8a(@ @{FOEWD_CgBoA_U"8HZC_TA@RRwb@ @? @ I@?'*T/` )U* q()WO{H5 @* 4Ssb4h@ @9)rT? qAT@{BOAWè_I)A7*@I)@ 7J@ R)) )@9)? qTUB4@H4@TH4@ !TI)!8)a @ h@@{BOAWè_"Rog_WO{CSsB4`@H4@I)5*@K+K K!+I !Tb4#@@9 7C rT? qTI)A7*@I)@7J@ R)) )@9)? qTw4)T-TH4@I)!88a,T"R@ @5M qT@@~ I)!88a+T" ARd~ I)!88a+TkJTZhu@@{EODWC_BgAoƨ_ RrZZ#8(6"T@ @ qT@@~ Hc)+TARd~ Hc)+T?kJTZiIc(@c"HT@ @ qT@@~ @c;+%TARd~ @c;+DTk TZ{8@96ARwkz;WO{UB4H4@@JJ5K@lLj (Ca">H4@MTVb4@9h6H7@  @ H7 @) W @@y  @2 j`@@{BOAWè_"RVb4@96g_WO{WB4Xc4@@(@9rhR(@9 7H7@T@ H7 @) $H4@)@ @@yq!T(R (@9q T Ia(@9qaTa#@ @9)r T?qT6W Bш HA) @ H5@jTHa5@y @ R r *H4@Tt@I)A7)@*)@*7)@ RI% )@9)?qaT)-@? qT@{DOCWB_AgŨ_"Rm#mog_WO{HA4@H4@H5 @* 6\7@X7h@@*Wh@`UеB2@RRR6Y@2`h@h@ h@R i@Rr( h6>]h@2hh@R  Ha4@9H7iHTCTb@@@V @h@y h @2 iHkTD BTh@j*VRRRT6@:@9(6AR j?T`A8@9(7@@@RӘ@@@@Va@RtH4@ H4@mT@HA4Ha4@@{GOFWE_DgCoB#Am_"RCog_WO{HA4@H4@I)5*@K+[ ӎ@h@H6 RW6@ +R6"Ha4@@9r8THA7@ )@67@ R(! @9h@)R jOT"T Rr @ @ qT@@7#?T@ @ qT@@h@h@ @<ARwb@h@ @JT7#?Th@ @< ARfbh@ @I *_׉ @* TkC  q T!(+Rh@ @6"))5dTCXˈc@Th@}S qaTҘ}jxARVj8_!T@@@"@ң҈CXˈcT}=}h @ @_T-_@TJTa @h@ @) Tv$}Ө:} a @h@h@ )A!? Toh@ @! uh @i@) @ })  ii TT@b6h @ вH4@ 8!I)a4)@)@9)rT? qT(I)A7*@I)@i7J@ R)) )@9)? qTi>@907 T#Ti}+h!bT  ) Kk!8ka,@l JaT(_h>@906g +T4Cрz|@?qT(QџTrџHT@TB4%H!8aoh:@9 r!%T*H4@ 8!I)a4)@)@9)rT? qT*I)A7*@I)@7J@ R)) )@9)? qTt@\I)4)@))C?kT7+T}I)!8)a @l @ih,l!J!Th @ _h>@9h06g kTh @ `@@?qT(Q T HT@@H!8aH!8a!HA)@I)5)@ TTH!8a" T@@Og""!T!TB4h:@9 rT-@ q(R2C{HOGWF_EgDoCCn) i @) h@ @) aT} *kL!8a N A C¬%NFNgNNnnnna ?c!aT T@fH4@6HA)@I)5)@ TT}H!8a @8{#@Th @i{  f9#{#T@ !@h@ @@) jT @Ti @) *!щ}) L@Li)J!khT` @ h h@ @@) }ө} `TTB4h @ RGh:@9 r`T@Ha4@@{HOGWF_EgDoCC_U}Hh @  @ }:h @i@) @ !@}ө} TTB4h:@9 rTcJT,_T.M{C4 #mog_WO{WB4@[{4V5h@@*9 H4@Xc4 @) @yi@@6 R­@@6;f@H5@Th@CU&@` R&R7G@)R qZ#T[{6|@y Rhy"TW7h@X7 @ @"T@`8@9(7@@@@aV@5S@R3qh@yWB4Xc4h6x|y[{4h@ @ @9)?q`T:@987@ @̬|@H,@9qTh@R)0r  ?q!T R *ha @@{FOEWD_CgBoA#l_['xړ_WO{VB4@Wb4@ 9 7t_A@y!qTI)6 @ @4@A@y!qTM aR$V@@@A@y!qTH4@T>@9h06qeu@@{COBWA_Ĩ_"R>@977og_WO{C[{C4z@X4@U5@*Ѫ9I)4 (@\c4@) @yiԎ@:@986 R@@27e@H5@T@CzU2@` R2R6A[{6|@yHC: Rhy:@9 rTBT@ARՓTbT  @i6"!"T @AR>@9h76 @iv@?qT(Qh@yh6||y[{C4\c4@ @ @9)?q@T:@987@ @Ϋ|@h@R)0r  JJ,J@9_q AzT R *ha @u@{EODWC_BgAoƨ_Z+og_WO{-@@ZZC4S@H4 @H5 @+ +U ;{c4j@K@9krT qT+kA7l@)@7@ Rk1 k@9k qTJ@9*7"b)Ti" @+@ **!  #TA(4@I @yi@yh%KT(!8"BTa@BRo;)! s@h:@9 r T@9i (6))7)@)@9 7 @k T6&R9C$T9h6@RRj|864 D9 'ɚ ?bT*@8jj8 D9 z 4TRi4 D9 'ɚ ?bT*@8jj8 D9 z H4TRҲ @9(k|8 ?iTK_8,@9L8+8K?  (T @@ @(IT*_8 @9+8 8*  (T@y] R *Sh@@@)-@)@?T{FOEWD_CgBoA_"RWog _ W O { C-@@:ZC4S@;{c4h@ @9i 6@9h07|_Rr`@ @ Q qT@@AR\t_@  ?qT@) @ @BR!Z@47@)9@?rHuH iX7i 7W R <W4@ 9@?rWZx@Y4h@R @9*rSTR @9*rS!T*JA7J@K)@7J@ Rj) J@9JJ-@_ q*RJSjB#*J5J@+ 2g@j@k3@9)qATJ @JY@K qaT_rT@9/ 7W*J6J@9+k,j9@9/'607/@h7'@87@@|aRS@@3s486h@ '@ ~h@ '@yi(5@+ @ ^b;@9h87& Rة (5 @ (5@뀪T(4@#@(C(4@ -T`@49b#@#g 'h@i3@9?)qAT @+++k4k@JmA9*(7S@ q'@ @k(3@h@j@I?)qT @kY@7 27G6BGT?( I觟k@jR*  jq[kI6R#@Y64@kTA)A$ Y@6@:T/R@sBZC$LA#@*TY4"TCh@i3@9?)qAT @Y@ q!TbThz`5bT@9@95@87@ =@qH4vRLAqH4nW@ 6" T@@9izii P7aT^ @9q T@9Hkh8붲 T97@hzh P7 @*_ T T@9*_qT e3 @hzhW6=Iki8 kTq Tq`TqT@9iq@T@9q!T@9qTqaT @9 ?-CT ?TqAT @9}qTR#RLAT@@9izi R_)jT!T@Tk@4/@/Y(5h@i3@9?)qAT @Y@ qTbT@9@94hz`h5D@87@ =@q(5:RHLAqh4T/g@(4@ T8LAY(4@9Hkh8BT9(@7)@iziW6Hkh8  T_ T@9KqA T*e3 )@iziW7Hkh8_+T)?q T?qT?qT@9?iqT@9?qT @9?qT@9?qT?qT @9*_-CT*_T?qT @9?}qATW@6T@ˉ@9iziW6aT"T@ˉ@9izi R_)jAT!TR#Rc,A"R 8,AY4:ZC4@/@@@TR@84#@{_s TBT @9_)qT)aT_bTk@H5Ag@@T6saT "R 6s!T:ZC4.?)qAT @Y@ qAT@T3sB@C{`4"Th@9@9587 =@q5RTq5R#@@@9qT @9qT BT9j@7k@ ykW6*ij8M˿ T k]T@9q\Tle3 k@ yk W7*ij8 [Tkq@TqTqT@9iqT@9qTqT @9lџ-TlTq@T @9}qT_rY kT?)q T @*Y@_ r@T+9@ 4 eW@6@TA@9 yiɲW6cTX(4@#@CWTg@YhX6YB$@9jh8Z sTR?)qT @6@TA R@9 yj?*jTCTc Y@? r`T 9@*5 67Y@@ @?h@i3@9?)qAT @@9@aTh i@*H*5h @ qAT` @6 j69@@)'T/R4Д4#@M@@@ T@TYh@i3@9?)qAT @@@$R@R?Y@4h@i3@9?)qT @JmA96(6@9)),(9h@i3@9?)qTJM@J@ k@4/@k/_?)qTJmA97?)qT @JM@J@ k@5Ag@Ń@ T<h@i3@9?)qAT @J9@ 4k@*6?)qT @j9@_q TlM@KQ aJaT=3R*_)qT 9 T; @K9 THM@ (@*J!8\a() @ g@@MT<sh@i3@9Zc*_)qT"R  9@_qKT M@KQ aJaT/@J J/)?)qaT :ZC4)?)qTL:ZC4)?)qT @E"R <h@i3@9?)q!Ti3@9h@)?)qAT @TRY@[#@R#@k@h7#@@ ))4)@) )CC;(@2T@T56b4'@OE)2k@66b4'@OE){*g@(4@)T6b4'@OE)4{'@OE)k@h6{7 Tg@?{MT @@h @70^Y(5@kmT 7T@S@ q! T @I 3s`&@` R`&R/ T@S@ q T+ T3s"8hb TR@TU@7 R u3 @ @H } @}F 7@ @ݤ|@`T@ @Th}T@ @b}ӈ!oh @( ;@906T\T@S@ qT˔T(4@@) @yi(,@9qTh@R)0r  ?qAT R *h{ (4@-TT@@Z)-@)@?T{MOLWK_JgIoH_|T`T  [@Ά k@4s ag@-(4@T<ZY4#T"R  BRTTR@9:#@날TI˖@9_kT?ATk@4{ g@(4@T8ZY4UsT"R R#@:ZC4R#RR(4@,T"Rf c"R` t#@"RW #`@V#@O g@Y7s!R s!TRaRa`+@9qT()A$T @9*ij8K (T_@8qT!(4))a4 @(@ @Iyi* @6Jy * @_WO{4ДB4@@(*@?h2@9-Q qTش(a4@@{BOAWè_{C(a4@A@y!@qTi)+  )A)yh Q_1qT2X#`,TCog_WO{8c4@@ @h@7R  R r* 2  kT@@ARX |@`dq(6@ @@H @@@R~ SR 5RR~ SR4@qTRRR)RK  q`T{K K*+( 9 K}S_=q T @?kL*Tkk*T54@*JA7J@K@J! RJ- J  ,A4[4<9<7k6*))5*@@ ))5)@ ThCk7))4)@))C?T@qT@@{HOGWF_EgDoCC_}@C ,A4@qCTRH*@?qR$HzR)(Q'T8 hq7JS!N){_?q TW57H  Q?qTji8J @q qaT?kT4(!8a6@?w 4@ 5@9i6 @ 1@9?-q`T@H 5@9 6'@? 1 @ 1@9@9Kz_1qT77 4(!8a@@4@9(6@ @*_!@qT))%Q?q)T 4@@96@*5@96) @*1@9r#@MRk_ kTi@qT@ @))6)@ T'h@)@9 j(7@9@S~,A4`@R!R}@@ uA9(7(6@@@aRK@@h,A4ki?k qT(6@@@RK,A4@@VT5*h"4Q(!8a6@?''@,A4@h )7@)yjJQkk.Ќ._ q1' `(.ӈh )7@)yj'`X-ʈi JA@Jykkku0l0@ql/rh+ `$/ss,ss,-5 @ @-U qaT@ 7ym`0BRQ`-O{C(A7@ @! R% h@9h(6(6@ @@i.@ .@?qCT(Q(4@@<@9(07@ @+A h ( @ @  h@9yh9{AO¨_{(4@@<@9(76R@(A4@@1@9-qHRR())a4)@)@9)@ )) yhWO{5B4@6b4@97ґ?@R!RҐ?(4@MT@uA96>@97(!8a "R@uA9h77Y@@{DOCWB_AC_R_k @6B4m@$ H9%@%O{C?@qTa5h @@(@(RC h @{AO¨_{AO¨V{AO¨WO{( @5M qT(@@5 ARR4 4"R `@#R{COBWAd{COBWA.O{b4RRRIRRR?@H@R{BOA{BOA/̆C_WO{7B4@(7@4@ (7 @) EHD5B@RRRG@o= (A) @ (5@T(a5@y @ 28c4@ @9 7 @9 06v_%u_ @9I77U@0 Ro@ @9 y @96 L@9)2 L9 @9i87(4@mTt@@{DOCWB_AC_ :@9H86 R@$X@@@A!$""RPA! @"RP"Rs"R!i77))4)@ @ R2@9-qaT##mog_WO{(A4@(4))5@*@K+I _(a4@9 7")T(A4(a4@@{GOFWE_DgCoB#Am_<7HD4B7B)9953sb5:Z7u@@h7@V@H@H@RRRG@o= @(@Th@y @ 2v@ R$ MTD@@0@9-qT@r_ @8@987(R  R@@@_dW@@@A!$""R%P A! "RP(R@0@9-qT"T RrARPs"T`@ @ qT@@s"T@@ @ TXUWO{3sb4h@@9h07%&4B4@@(4@-Th@@{BOAWè_"RkWO{3sB4t@@(7@@ 1@9?1qH@HҍV5b4@@9H 6(t@@{BOAWè_#mog_WO{(a4@(6@ @@@(4@@ s@Ȏ@9r T:@987@8 @ 6 h@? qT<7:Z7(7h@@|@TT@H@IȊ@9h07R`@5,@94|@Ȏ@9 6 h@? qT7h@ @(A4 @4_ 5,@94}|@HT:Z#8(!8a5,@9h5TBRah:@906vTRN@x@H@H!@ CY(!8a€Ra1  @?qT(Q @TH@;{,qCBRpaRRR9 ? TR(!8a@@R@@:@9(7@8@H@HRARV@v?TR`@@c€R @?q#T(Q  kT;{7H@<,:Z7 C?(BRa9TR@y@(!8ay@Y(@hH@H@@{GOFWE_DgCoB#Am_ֈ:@9 rTzU 79WO{5b4(6@@ @@@h:@987h@ @TNu|@+ TRc4"8@@96b@9h6i6@94H074B4@(4@MT@@{BOAWè_sh:@9h(7hCiU}  Th@rTP7H@7HX7RfZ7h@ @T(h @@9q!Th@@@{BOAWè_h @ 9@9'6@@=@9'6"R}{AT_WO{(a4@ @4U@6A@9))6)@) @)@)@) @3Tq`T(Tߖq`TiTiK7@{FOEWD_C_"q @HA2JJe2k. HQ2J.Kk2?qI @@1H>@2C>O{C9`@ uA987@U#RY{AO¨_I(!8{AO¨_O{C3sB4t@@_52(!8 qt(a4@@{AO¨_O{CA4@_h:@9((7!8i)CjU)} ? iTh@rTP7H@7X7RY6h@ @(T(h @@9qTh@@a4@@{AO¨_h @ 9@9 6@@=@9'7a4@ C{AO¨_TO{CsB4`@?4@MT`a4@@{AO¨_"RO{CB4@@j@j7 R r )!8(*jaTj @k}6_ k6DK_r(@(a4@@{AO¨_rj@O{CB4@@i@ 7 J!8K R r)jI a4@@{AO¨_Vi@@O{CsB4t@_kta4@@{AO¨_O{CsB4t@_mta4@@{AO¨_WO{B4@@h@h7 )!8 ab4X6s @h:@9 6@@9(7 6#q!Th@@ =@96 @(@H)=@i4@ @?qT? 1T"R@@{BOAWè_!@9q@T 8h@ )!8 ab4_7_WO{B4@4@b4@) @yi@@(7X7!8aBR^И@_6 @dI@@{COBWA_Ĩ__WO{B4@4@b4@) @yi@@(7X7!8aBR^ @_6 @R8Fg@@{COBWA_Ĩ_WO{B44@b4@) @yi@@ @1Q qT@@AR@Pd,@9qTh@R)0r  ? qT @R *hh@@@{BOAWè_IWO{B44@b4@) @yi@@ @1Q qT@@AR P@e,@9qTh@R)0r  ? qT @R *hh@@@{BOAWè_MIWO{B4@@h@7"8 rTRr@a4@@{BOAWè_ h@"8 raTO{4@(CsB4`I@ T )!7 @`@{BOA_@05@5_WO{Ry7@5@ 7 @) ?H@7B.@`RRRA@.@@ @ @@u uQqn@@ )!8)a @ Q~ i")/` R~(oy`aRٜ{COBWA_Ĩ_g_WO{C7@i@ 7 @) (R*hR)BqHT8S?O4))<+iw8J @99C6{w@9@XA@}(k7S @9h>q T {EODWC_BgA_(?(R*P)Bq T5Bzw@9@-A@z7`h@h@.qT h@ h@h@ R u3i h@R i@Rr( h6(Eh@2hh@R hBhhbh * 97@9) @9 !R8y`AR"RR-Nh@ 2h;@W @@ @) i@(h@R !_WO{NĮUNsB7h@% ?q*V}A?HTW}@ R!}xh@%T R @} aRh@!@{COBWA_Ĩ_{C4 oWO{sB5h@R5@ kT )!5 @ )5)@ j ({BOAWè_7 q}"5@~~xh@!5@ )A5*KQ+ _5@kMT_og_WO{1T,@9qZ5H@k͋T4<[>99K<FHKHH@k-T9@)(5_@kv8+*J JqȊT( +{vx)  !@ @F  @ ? !@ 2S+44@J)} M7!4@C)} 7R@ ]@)2 ]@ ]@)2 ]<[>@u 2"Q7'4@ @@  ?q@ @zT5q@T1qT-qT7@v @ 7 @) ] R)|r j!T ?5q T @*J!>Lii8k `N@()uA987@@@7@v @ 7 @) ]7@v@ 7 @) 7@ @ 7 @) @()uA987@@@_@ uA9?6@@s@Rr x=H@{C`/@`RRR?@h/@@ @ @@ R u3  @?qTsS=H@{C`7@R RR_?@h70o @ uA986@@)_@@@@ ]@)2 ]@@ ]@)2 ]<М[> @?qT(Q _@2Q5c=H@{C`3@RRR#?@h3@@ @R @Rr( 6+C@2@R  @?qT <H@ @?qBT,p)R jT) iRR @rI *  ? kTh6C@ r`TRd@ ?5qT4@ R)0r jTRf@@4@ )a)(| @藟(9?Tt@B E,"@@A,H@T"e@е7@ )E,!@ @ )A,I`T@!T @8 4)K) @ J@G@D@vA@@?qCIT(Q9@H y5@H 91@O.@ik+@e(@ )4)@}`(u )A4(@F @U@ @ @*@04҃ U@4 @@@-sU@ @@@?qCBT(Q @@j:@976U@ @ U@@R%H@ HR %@ @5 @}ӠjvNj6@ @"R@}S q @<T:T@!8aH:T:@9h86  R1? @Q@C @9{7'@>';H ),(yh@qT @ @4<М[>@@?q7T)Q  @* @@h@ @ B?@?qT)Q  @ B o4<М[> @@7@5#@ 7 @) @ )a4(t@ @*) n@kU@ @@@?q0T(Q @:@906H@) R6) H )5)@ kM(T@U@@뀩TuI )A4*@ !@ Ќ4@J JC@ h @j@J @ Ќ4j@J @ J!7(KA7@ *U@@T# U@ @5IG]@ @RRR @?q%T(Q *&H A )!8)aI@%T:@9486  Re&@@U@?qCT(Q:@907 @?qT(Q @?q#T(Q  @ @ @( @*  *(  Q@ @(@@<@9H6@ @=@1Th1@95qT@1@95qaT( @ A"IT@ qT) @)  @@ @ @iR R H@HRR @@?q#T(Q @?qCT(Q 6 @@S @@` <@9)6 @*@)=@?1`T@ @? q!T @y*iR) J)@9*R J(*4@ qT) @) :H@B2@RRR<@2@@ @R @Rr( 6@@2@R  RRBh@ @7@(5 @Hl  d@@m!mH@) R5)6)H )5)@ k TД6HR99  mm }mg @?qT(Q pmnm @?qT(Q fm@h@ @* @@(|\]m} Ym44 @?qT(Q U @?qT(Q  @ @H @) 9mu5m 0mU@9{GOFWE_DgCoB_h~@@`8z@8zWO{5@5@B q}}~s65{BOAWè_WO{s5j5@HK  i}@2 kT+ ktA jT 7 }Ӊ4@}Ӽst{BOAWè_@\6gzWO{s5i( 2 kT _JTA jT7 }Ӊ4@}ӗst{BOAWè_@\6BzWO{5@  @R Rh?}b5@}us{BOAWè_֫WO{a)@B)@Tb5@ш@yi$A))y  ?qT)Q LTll@T{BOAWè_5  J4J@J @K|@K )  5@ kLT_փWO{@@(9@9(7h @h @ @) )5* k4k@k s!Rh H ( )5)@ kLT@7@t@ 7 @) R*<@@9@9/66(R9@9h @h @>@7@8(@h2@9qTh@@"Rғ{BOAWè_WO{@ @) )5*s4k@k `!Rh H (5 kT{BOAWè_KRr_ kT _JUA T kT }I`@}ӣr`{BOAWè_@\6NyWO{@} )5*4@ kR H (s5i kT{BOAWè_KRr_ kT _JUA T kT }I@}jru{BOAWè_֡@\6yWO{ )5s4*h@ +R-H (5 kT{BOAWè_kRr_ kT _JUA T kT }I`@}5r`{BOAWè_l@\6x5 )4 )@) +|@ -I  5@ kLT_hWO{@ )5*s4k@k hRh H (5 kT{BOAWè_KRr_ kT _JUA T kT }I`@}q`{BOAWè_#@\6xWO{@ )5*s4k@k `!hRh H (5 kT{BOAWè_KRr_ kT _JUA T kT }I`@}ӵq`{BOAWè_@\6`x5  J4J@J @A BRK ) 5@ kLT_WO{0@9%qT` @@uA9H863?h @h h @ )5* k4k@k s!Rh H ( )5)@ kT4y=h@@>@9I6@*@)=@?1T@ @? q!T @y*iR) J)@9*R J(*4h @ @5 @h,Rh @@h@B96R@ B9)2 9u v4{BOAWè56Rh @@5` @!Ph@ @)@ {BOAWè_WO{@@aRI:@@h@}S q@T @ 5  J4J@J TMKRK )  5@ k,T @ @@Uh@@{BOAWè_vD @ @@aR:@@h@@h"Rݑ{BOAWè_WO{@@@R9@@5  J4J@J TMkRK )  5@ kT @ @@h@@{BOAWè_ @ @@uR9@@h@@"R{BOAWè_WO{ARw )5*4@ R H (s5i kT{BOAWè_KRr_ kT _JUA T kT }I@}kpu{BOAWè_֢@\6w5  J4J@J @ @9RlxL)  5@ kLT_֛5  J4J@J @K|@A)  5@ kLT_ֈ R z5  k4k@k `%I  5@ kLT_t5  J4J@J @ 9RlxL)  5@ kLT__5  J4J@J @ yRlxL)  5@ kLT_J @5 J4 J@J @Rl }S5Rle3}@KR@1 J5J@i  k T_KkRR, @5 J4 J@J @Rl Z Rle3}@KR@1 J5J@i  k T_KkRRO{C5@  J5J@? kTi@ J4K@ i(H@+y)H@*R y){AO¨_`R@WO{@ )5*s4k@k h(Rh H (5 kT{BOAWè_KRr_ kT _JUA T kT }I`@}lo`{BOAWè_֣ \6vWO{@ )5*s4k@k hRh H (5 kT{BOAWè_KRr_ kT _JUA T kT }I`@}5o`{BOAWè_l \6uWO{@ )5*s4k@k hRh H (5 kT{BOAWè_KRr_ kT _JUA T kT }I`@}n`{BOAWè_5 \6u5  J4J@ k4J k@ }mil @ kil 8K@KRK ) 5@ kLT_#WO{@ )5*s4k@k hHRh H (5 kT{BOAWè_KRr_ kT _JUA T kT }I`@}ӧn`{BOAWè_ \6RuWO{@ )5*s4k@k hHRh H (5 kT{BOAWè_KRr_ kT _JUA T kT }I`@}pn`{BOAWè_֧ \6u{4@ ICJ} @l @y l ?JaT )5+4@J y+h( )5)@ k*T{B_ 6t K{BWO{@ )5*s4h@  +R-H(5 kT{BOAWè_+Rr_ kT _JUA T kT }I`@} n`{BOAWè_B \6tC_WO{h-@@( @ -)U ?qT@4 @ @BR=@@rZh @h mj48 )5*4@  +R-H(s5i kT@i)-@)@?AT{DOCWB_AC_+Rr_ kT _JUA T k+T }ө@}Ӡmu@i)-@)@?T` \6Ht5  J4J@J @k A+RK )  5@ kLT_5  J4J@J @kRK )  5@ kLT_ָ5  J4J@J @RK )  5@ kLT_֥_WO{B &@:@h7 ),)@y*R*=x )5 k4,k@k h` ( )5)@ kT{COBWA_Ĩ_@) @3@54 @J H@,@yKR =xK (5@ k,T@ @@ @R@ @)  @RK k}Sk5RKe3k}@JRB,-@H  kT{COBWA_ĨED*jRRg_WO{54@ @@8@9(7h @h 3[@ @) R(' )5)@ kTh@}S qT7@7@6@ 7 @) 2(@2@9q#T@@@h:@986 R`{DOCWB_AgŨ_ֈh@}S qTu6{DOCWB_AgŨEg_WO{@@8@9h (754@ h @h 3ARs @ @) R(' )5)@ kT7@7@6@ 7 @) 2(@2@9q#T@@5@h:@986 RA{DOCWB_AgŨ_{U6{DOCWB_AgŨDWO{@8@9H(7@ )5*4@ R H (5 kLTt@7@@ 7 @) !`@KRr_ kT _JVA T kT })@}kt@7@u1(@u2@9qT@@"RČ{BOAWè_ \6wr5 J4J@J ka)l@LA)@lRK)  5@ kLT_CWO{4|@ C3} BT5@}@ )5)@  _ kTizӀ J4J@ I({DOCWBC_ 72r@_WO{7@5@ 7 @) 81 BѨ A)@5@Ta5@ @ 2(0 R{BOAWèJ[g_WO{g7@5@ 7 @) 0 BѨ A)@ 5@H *Ta5@ @ 2(0 R{DOCWB_AgŨ [ @R R?i( }(9c5 @}j +og_WO{!0@qT 9q R4LB@R  ?qT5M qT@@B4@h2@9-q!ToC7@ @AR<?RC7@ @RAR@  (D@@{4 h@CJ!7I@)@( @ @h @)@) @ k4i @)@) @ @HC5@R5@9#5 k`T @95)@  (()4)@) c) @*ZC)J@ R* ()5)@ kTh@CKT5 @ 5@Th@Ch2@9-qTT@TR @Ȏ5RC7@ @ӎB4!R*H@@Tb5@H@yi$A))y  ?qT)Q LT/cH@T!5@*Q _(@kMTkA7h@ @R@j@) )C!7@J@I @) @i @J@J @* 4 @J@J @)  @h{FOEWD_CgBoA_7 q} @~i @k4Rk4ujh@CspWO{B4@4@Tb4@9h7A7 @I)@H@7 R !&I!@7 Rkq-qT+Q?q mT+} ik8l %qT-q`T)qTK?7"Rqb4@96 R @9 q@T qT!8!8a!8h@@{BOAWè_A7 @N)@H@. 7 ),@ R7 @ @o!%@4Q4 *kq-qTkITn }@} io8 &qT.q@T*qaT/?7 6H-@q TJ @H@K!@+6q-qTnQq Tn}in8 %qT-q`T)qTN?7N!@7 Rkq-qATQq T} ik8l %qT-q`T)qTK?7 R7@4Qk4 *k?6kiTn }@} im8 %qT-qT)qaTq-qT 6H-@q TJ @H@K!@6?6mQq MTm} im8 %qT-qT)qTq-qT_ R`!A @9J J%Q_qT *K4K Rq-qTkTj M}@} im8 %qT-q@T)qaT-?7? )@ )@i) @) @ 7 RH! %@_ __,9a4@@_g_WO{Ch-@@B4@c4@@9@9h075R4@@2@9_)qAT) @#@)4)@J5K@lLj) j UC3!4@t@@9i,@J%?I"/@*C@F-G]* ?(A9(64@ @) @yi @) @2@9_)qAT) @(m@9Z,4(C@y!}qTV@9(@907(@ )4)@( aTh"@8@9 (7V9" @?q T(Q T @?qC T(Q 6H@95*@I@( @J1@9_)qAT) @)YAy) @*)A6)@ $ @T,@?T)a6)@i?T( A906@ @@ h"@@@i)-@)@?T{EODWC_BgA_6@@ @ R0@6@95@2@9?)qAT @ Y@)2 Y*@I@( @J1@9_)q T`T`j %Sn҂RR5@2@9?)qTog_WO{A4@A7@ @! R% a4@@uBx"Cw@t*@@-@25T @?qVT(Q @ D @2@9?)qT @@]@ ]@@ @ R+0r_ jTR0@2@9?)qT @KmA9 6@Y@og@2@9?)qAT @ Y@)y Y@2@9*@?)qAT @ Y@)y  mA9K7*@?)qAT @ Y@)2 Y?( @@2@9_)q! T) @(9@2@9?)q T]@ ( @@2@9_)qAT) @(]? (@@2@9_)qT) @(Y(#@2@9_)qT(a(+@2@9_)qAT) @(e(*3@2@9?)qATk @ Rji R * kM@- m)A@2@9)qATk @l9@? kT kM@-}li-@2@9)qATk @(9@2@9?)qAT @]@ @?qT(Q( @@2@9_)qT(Y(#@2@9_)qT) @(a(+@2@9_)q`Ty@:zYh @?ET@@(8@9H(7RU,@95h@9h 7#T@2@9?)qAT @@@b"@@ e@R?4@!z@2@9?)qT @KmA96JY@_T mA96 Y@_TjKh"@hh"@2@9  ?)q!T @M@@hT@2@9?)qAT @M@@hA9rR R(ujh@HP7 R)4r qTRDq @P6WM@@hIT>@9(67@@97h@=@9(7R{c @y AR/BR(U@2@9?)q TRxT@2@9?)qTV@P7H67@@97 @N@9yN9T @ 6 @9 @I5A6A4@ C6@)@IN@92N9aT)@ *I@9_qT*M@9J7*@J@a+@?!Ts^( @@2@9_)q@T@@h@y2hyh@9'6v@h"@T>@9(67@@9(7>@9(7Rb @y ARҮART@2@9?)qT@2@9?)qT @,mA96h@y2hyA9h6@BRS@2@9?)q`T,mA97A97@ R)0r jTR.@ ?%qT@* @ @7e@ @ @ @( @ @@( >@9((67@@97@2 9>@2@y] R *е6@9 5:@90795@`@kMT @@@ @@?qT(Q^e\e`*@*@?qT(Q`@@?q T(QA7@ !@)Q !-@( 5A4@ @{GOFWE_DgCoB_֊@2@9?)q!TJ @i@yJmA9 6)2iy6 i@yJmA9J77*R) ?%q!T@2@9_)qAT) @*Y@J2*Yi@? Ti@y? r`T@95,9h@y7)R  ?%qT@2@9?)qAT @ Y@)2 Yh@y,h 7 ) 5 r9@7P7W70ya+@?֤]`@@?qbT]]O]z6@G4N@92N9 _8I p_ y-7@@9h7 @bN@9yN9,@9h4@9(4҂RR2:  -j>k@@҂RR2h@y r9 hC@?r@҂RRu2@ R_@ I@9?qT M@9I7 @)@R_O{C@` @h@i2@9?)qT @k9@_ Tk9@_ T?)qaT @ mA9I7h@i2@9?)qaTh@i2@9?)qAT @9@yS%}},dh@i2@9?)qT mA9 6Y@h@i2@9?)qAT @ Y@)y Yh@i2@9?)qT @9@h@i2@9?)qT]@h@i2@9?)qT @]h@i2@9?)qTY@ h@i2@9?)qT @a@h@i2@9?)qTe@i@h2@9)qAT) @R*i@  R*kM@- k@+)Ak@l2@9)qATk @l9@ kHTkM@ }kil+k@l2@9)qATk @9@h@i2@9?)qT @]@h@i2@9?)q`T]h@i2@9?)qT @Y@ h@i2@9?)q`Ta@h@i2@9?)qT @e@i@h2@9)q`T{AO¨_qch@i2@9?)qTy# mo g_WO{h-@@RrA4@4@)5*@K+I @#)@R@ qT@ @ @BR33Xh2@9qT Rk@(@@(JH7X(@ @_T @o4@vc! @?qcT(Q(  Ri+0 RRESX@{` @ R r qaT(@ @7 @R))?(T*@9_)q@T_yqT_qT}~bT(RDBR2XRb RRQ RR R J Ќ%R&RRpRR@RRR#RЀ2@ZRRq!T@9q *9R($Tu8q TqTXiu8 #TqTzqTbT!Tu8qTq(Tiu8֤q@TzqTqTRR^6G4*t+@TS(u@94RQnqHT^kv8  xqTRCiTx@8qTR>R5RqT}x@8qTRRRqT qTx@8qTRR>RqA Tv@9ߺq Tx @9vqKxqGU6"qR&Ra TtRy @9qa TxqSqTu@8qTq!Tuv@8ߎqTuKR *RxquKR!.@8qTxqSvRqTv@8qTq!Tuv@8ߎqTuKR *RxquKRS)C)*TdRdR 3T\R5R>Rv@9ߺq`TfKxqG)6R&R S)R&R tKxqF)&R>RCxqaTDRF T8S)qR&RATRR RvKkT^6G[(뤂D4( T96 ˄Br(cT IT G97TRRDT@ ;+jy J^J~  O@9J2 O9I67>@ @ R)4r qT@ @:@9 rT BR?:@9 rT97(;@9 rT946@95>@ @7@9@r(@ @iR)5}S7@ @XA ?T@X -XvS {3(@ R r q'T(@ @( @CBR1Cw/R7R?R9dv#h@C@)CF@FqTh){ux ֿ>@ @/w@wC@C>@ @/@ T _8_q@THR(8 b@'@ @{@"6H7RHt@#@?!T @#G@h@ R r  ?qA%Ti@) @` @W%67@@9r&G@@Rr( q(T@ @ @))6)7)@)@9?rCk TT3* R<9k`T?q( } K? qTHQR<9oRR7@}@K@!8G@?T?@h36(R?G@@ R r  ?qAT@" @ @67@@9rKBBR80X@7RKH+T w@K@)j _b Tj K@8)q!TFq`1T TBѢ@r( ;))%;9v#G@ @T7Bi#W6@(R 4XK@)@6LA R @8yk+ qBICT_ BTk!8T@r(:)):9v#G@ @T6  5R9w4*RAQ R r)Q qT@@wR(R2R(RK@-uS6R!\:g!8 v#C@')9@9? r@TG@O86@9q@zT>@҂RR-BR/Xh@W7RLЌA$MЭARR ij8Z k@T_ bTJ@9yj+jT_)qTo50R5*RZ kTKIK7cBRY/X@)7RI)A R+KRkT)@7HA$iv8{2Tv@98yv_8jaT6q1T@rzk`T5kT7@g RI)AZsR8jW  *5(R{CTo>@ @/@ w@Qw AR4 `WvSvKj} nI kT!h)qTl4Bh)qT `*T8b!@a@ aTR(R94*aRRQ(R(b@ aJT)>)@*@J @) @JA #t(R79@HJJA R T:@907@(9@9(6(@@(?@(7D@( I@9?qT M@9I7 @)@'@AR7 @ R r qAT; @wR;B(R 5R7@@9rC@Rv# )q4RCK@>@@ @( {@K67X3@I q( ~6{@h6)R{3@I q( p3@I q( hR|:> @( @/@-)@) @  NA$K  T,@9il8 k1) 1 ) m--T3* R<!<;bRn@5>@ @LЌA RY?T K_8yk+j T9ŅR(yR( 99(/(R{X3@3@I q(H)> @ @ <@9 7))A _T) @ *X>@ @@ @<> R9LЌA R7X+T+9)?BT*@94_q Tyj*jTX)>)@)@* @H(  ^_dTzK@I K7+@9BR-'@ @ R r qaT@BR-C@@@~)i C]@@aR@˶(R?'9JJAH R@6A(@8Hyh(jT6@907X"z7:@9)76K:@9)76G@|9>@ @ @I {@6 @)2 @ @w@)* 4@@ i@?9q!T)A4(a4@ )!8 )A4(a4@@YI)-@)@?T{ROQWP_OgNoM#Lm_@>@҂RRM+\V ("c "c~{CH4` cg_WO{B4@֢4@5@I ? T)!@5 @ T(C@@T@@ CI@96 @Rg(@ @* @J* @"(@ @8@6@@)yi@6AR 6@@)y)a) @)  @y (@ @ @@?qC T)Q  @)  @b4@ A@y)!?qT@@T@hC@@(Hb4@ @9)rT? q@T)A7)@*)@*7)@ RI% )@9)? qT)-@? qaT)4)@)?MT)!8)!i@@{DOCWB_AgŨ_֌@@ryU(@@"Re@og_WO{C4@c4@@9rTA7@ )@7@ R(! @9-@ q(R4@hC95(@ )K) qAzA)a)T@@ MT(@ @ __ kT()@((*H(+@i@m!-k  q T q T 4@@) @yi,@9q#T@R)0r  ?q!#T R * 4@"Tt1(@ i)I Ki kT@j \CӊKX?k7Ŋ7)4)@))C? TiJ (@ @J 4<* @j@jz4s"1T C4c4 H h!@ C4c4@4@(@ _J (*! qT@u@)5)@ T)a))@ }*b57@I)!! }~)A)(@(qkT~@z`_8@97AR4`@@y@( 1@9)%Q?qT @h@(@)5)M ?qT@ @I` !R"RcR_/@ @@  Rr@ qT@@ @ q`TARZ,@TM@h  @T @@9qTBARI, @@ @ qT@@T3@@/ @ 9@9  6@@=@9'7 AR.,@ @@@@T(@@)@) @yi!R'@9H7҃'#@@!Rz' wsTE@@{DOCWB_AgŨ_g_WO{H-@@C4@9c4(@ @9)rT? qT*)A7*@I)@7J@ R)) )@9)? qTu:@9(4(7sBш:@9h4(7@rT  _q @z T@rTq@z T 4+)%4@ 4u@@@ @4yh\(@@907:@90(7!8)CjU)} ? /T@r` TP7 @7X6 @ 9@9 6@@=@9h 6R7 7\b>@( 1@9)%Q?qT @h@(@)5)M ?q T@ @P` !R"RcRl. @@ Rr@ qT@@ @ q`TARg+T,@H @(T @@9qT!ARV+ @@ @ qT@@T@@@)@)@)@) @yiҨ&!;BRCRZGtAR4+@ @@@@TK5I4 @)@9?qT@) @?HT6@94(4@  ?q@@z!T R r) qT@@R.|g aT@rTH@7 R r) q!T@@6 R r* 2  k T@@hL;!_Rj.|g aT6@97R*6@9H6@@T,@@6@97R*KTHlT$TA)@)5)@ *T4@JTp1`T(@@@I)-@)@?T{FOEWD_CgB_ARR- Rr@  qT@ @ @#R(@  qT@ @ @CR (@@ 2U>@9H(67@9@7X7h 6R 4@9@7Q 6@9rT4@ @ @ T@ Tu @ |4ARi_0b[6@9r@T"Ru @ |5usBш:@9/6u@rAT\u{Tc4@ Tbyd$^{CA7 @I)@H@i7 R(!@9qT4{A_I!@7 Rkq-qT+Q?q T+} ik8l %qT-q`T)qTK?7@R{A_;b^{CA7 @I)@H@)7 R(!@9rT{A_I!@7 Rkq-qAT+Q?q T+} ik8l %qT-q`T)qTK?7 R{A_;2^A7 @I)@H@i7 R(!* @94%@@qA9H7R_I!@7 Rkq-qT+Q?q T+} ik8l %qT-q`T)qTK?7 A7 @(@*!@IqT Rq-qAT)Q_qTJQL} il8 %qT-q`T)qTL?7  R(!* @94%@@qA9H7R_ R(!* @95og_WO{CB7@ !@?kmT5֢5z RМ59C5еB6)Q !?kMT@4!;@@kMT@9  Q%qT kjih8) @ !@?kT6@ @@@ @?qCT(Q@ !@?kATz@ !@?kaTs.@&A. @?qcT(Q "@)8(еB6H @)4(&@&@ a@)Q a@?qT(Q:@@()@ !@?kTL @9)6(9&@) (*@ @y06*@?qC T(Q"@"@?qTO&@@ @@?qC T(QVV& R*@*еB6@?qcT(Q@@?qCT(Q@ !@?kT@ !@?kT@J *@*@ @k7j@ka)jGnO@ !@?kATgO~eO@@?qT`O@ !@?k!TZOXO"@ !{EODWC_BgAoƨ_O{C@9Д4(66@ @@i.@ .@?qT(Q@@<@907@ @+A h ( @ @  h"@)8(H @`&@hR@ @(a&@?qcT(Qh:@)A7)@(){AO¨_O O@@<@976Rh"@)8(O{C@9 ?qT`&@&@?qT(Qh@9 ?q!T`*@*@?qT(Qh@9qTi@H06) @ @h"@("@?q#T(Qh@9rT`@@?qT(Q{AO¨_{AO¨NNh@9 ?qTNh@9rATNWO{е6@9h47!@ @ @R@@ ;@D-@`BRuD;@8!D<Rl];@H.`[\;@ C9)* 9_)qT)7)@)@i)@)@4)C9@9(4!@ @ @Ro@@C9@9(5*qT{COBWA_t<[S<[g_WO{C6@9U4!0@qTAR<.6!D<R]:h @h -7"@ @@ @)R j@TARR\@@?qT(Q@ @ @@.=[@ @ @ r@T(v@ @ @R@@B€R8ДB7@ RB449#7Z4 !@7 @ |Kik8k -qT Qq T @@ @@@) )C*@J@I @) @ @J@J @* J @J@J @)  @) !@6 kTs@ @ !@ R4)(@  @9? qT)!8)a 2@@h @h RWA)@)a))@ MT h @h ,BR\u7"@ @@`@.ҶZ@ @ @  @)R j!T r Tu@ @ @AR[@@?q#T(Q@ @ @Rj@@BR8A?)!?7a?@ @)hRa! Rjv!aRxfYiZ?M@ @ @>8M@ @ @@C_WO{5@@kMT4@y! R kT"@",7RR @9)6(9 ɂD  @y06*@?qcT(Q"@"@?q#T(QA7:@@ ))5)@) J5I*@JA5I)A6*A*)7+@Ja)I !@)Q !5{DOCWB_AC_LL"@@ @ @R@@qTRRR LZ!8aRRRs RRP 7Z 3Z_WO{B4@@Ԏ_:@9(7"8CiU}  T@rTHP7@7X7R1h:@9H(65@ @T @@9qh:@9(6(Rh:@9(7hCiU}  Th@r`TP7@7hX7R0/h@H @(Th @@9q$R"@@h:@9/6qh@@ @ 9@9 6@@=@9'74Rh:@9h/6h @ 9@9 6@@=@9'7 RJqa4@@{COBWA_Ĩ_ph:@9/6g_WO{CH-@@B4@c4@ @96r`T@9 rT`_ @)5)M ?qA T @ @:RH oT)A7)@*)@ 7)@ RI% )@96@9 rTRRH [ @@ @jRR @rj *) ? kT@@=@4@4@? qT]T9#8U 4@ @) @yi?:@906q=(TU4@ @) @yi?t*RH   q@$T4@m&T!8ahAR$@@9:RH @)-@? q)R6@9 rTbRE9#86cv @@@@)WX*` @@@yHp7@#R5V`+&@ 4@9 %Qq(T@%@@@R@@#RV @+&@ 5`=RRYO`(#  ,!RRQO`@9)r(h@9)jR_(j) cqh@9 ?-qAT@y! R kT*@@ @ #T@ @)" 2-O("@AR7Yj*!8AR1Yd*( c`@9R qT7@@) )@ T&@@%@@R @ @@ @@)@ CYZ @@@ @@ @!_Tf@ @ J@TI} I@ @@B}t@ @(I@)@( +`& @9@5 @!@E, T`A,T_   6@9h7 c|RW*`* @%@R7@` @ 7 @)  c6 @@y  @2 )`@@@I)-@)@?T{EODWC_BgA_"R1"R*sWO{H-@@B4@b4@@9 rT`_` @-U qT@ @@4@TBR @7@@i!8h@@@I)-@)@?T{COBWA_"Rrog_WO{Cb4@{7),h?9֢4B7@@*@)! R)) )  B49C)(@Zc)I@ T-@5@ 9)7)! *@* @j)@)A)@)* @K!@qTJJ%Q_q(T) @3 @i@*@j@*a@_qTJaJ@6(qA975@@ )D)? kT F%-@4a+@?@ 9 6Дb5 J4J@J @@k kCKRK)  5@ kLT5 @ 5@ T@Ch@@?(@I@ MT@o^@!@ R ))aR y@  )C i@ )5)@J5J@) )B )A5)@ ))A6)@ I@ )@I@)@@K)@ 9K@  kCӬ؉Rrk} K)%j@Ja@ Q8@ ! i @)i yДb5)4)@) @@J JC*R* )5)@ kTh@ a@) ah@a@?qT%@[h@a@%@@a @)4(h@@{EODWC_BgAoƨ_'nw#|=:V_WO{sb4h@ @9B7@4rT )@7 @ R)) )@94 -@? q)R4)A46@)57@ )D)? kjT @!@ R )IR 99)4)@ )C )7)@ )5J5)@J@) )BJA5 I@ ))A6)@ )a)*@kA) h@(h@@{COBWA_Ĩ_WO{sB7h@ @! R% b4@9B6h6@4@ @9_qaTA45@@kT@9qhR 5@@kMT5@ )5(*@)A5(@ @)7(@)a)(h@ !@)Q !@@{BOAWè_#mog_WO{A4@Ρ4@5@*sb4j@K@9B7zr!T@l)@,7k@ R- k@9z)K @ 4@ ;@J96j@J2jj @Jj Rk-@ q+Rz)K @K9_+3@9, @, %q)T+ @{@k @kk J@9_r R R|J5 W@@ )D)? kjT @!@ R )99@C 7@ @)5)@ BA5@+A6@a) @ )A))@ h@g#h@@907@9 29@@hC @ )C K@J@9_r(}@+4@T"Ri@_@ ?-qT@929' @ @@97D<(7u_:@9)(7sBш7@?raT()r@T4@rTjr@T+p7 Rr@929@rT) qAT@@ '@8@987@ @R#@`A`7|g!` T!`T~g!`LT@ qAT@@ m|@+@R # @rT) qT@@R#@`A`7|g!`T!` T~g!`T@ qT@@R"`6@9h7R& '6@9H6@@+ @@'6@97R +A4@@{GOFWE_DgCoB#Am_4o`4@J54 @@9qT@ @T6@94]`5@9R *9AR U @ '@ @ R)4r qTBR+@ R r)   ?qTBRe@rAT @?q#T(Q !8+R$Swk@sB6rk@?rT#FL;S_WO{sb4h@ @9B7@4rT )@7 @ R)) )@94 -@? q)R4)A46@)57@ )D)? kjT b@!@ R ) R 99)4)@ )C )7)@ )5)@J5J@) )B )A5)@ ))A6)@Ja) I@ )A))@Ii@ h@@{COBWA_Ĩ_WO{B7@ @! R% 4@i i@9) ?qaTiJ b@9b4_qaTA45@`@kT@9qhR 5@`@kMTj5@i )5(h*@)A5(h@)A6(h @)7(h@)a)(@ !@)Q !@@{BOAWè_WO{B7@ @! R% h@9 7b@94@i _qaTA4[{COBWA_h@yrr( _qTh4A4 @H( T*@I @kR? j!TcRBR+ rT9h4A4 @_ T!8 alR=J!_TI@? `T) @? jTJ)>+R? jHX> SCRBR rTB4@@ @(7rTh@y-CRcR5@`@kMT5@i )5(h*@)A5(h@)A6(h @)7(h@)a)(`@@ !@)Q !{COBWA_j@ @rATk!8ka=_ WO{B4@4@)5*@K+K B7@S)@7I!@ k*TK@,}@m~@ R.}.oin8 6q TΡџ ,Ts7* Ri."@9_q T*  (@9 %q T(%@@qA9QI!@ 7L@ R q-qTnQqTn~in8 %qT-q`T)qTN?7J@ R3),i ? kT @Th@9 q!T" TC" n(J-@_ qT_)q Tj9j 6?qT T@8@9IR jTAR$Rt{COBWA_ R,f@@ R" i@9( %qT)qT-qT R( -qT{COBWA-h&@@qA97{COBWA+ {COBWAA8{COBWA{COBWA) ) r()q?#>RQ?QWO{-@5B7@ @! R% 4@i b@9b)_qTA4A)@@ T#R5@`@kMTh @9)6(9h&@) (`*@ h@y06*@?q T(Q`"@"@?qC T(Qhi:@@I))5)@k) k5ii*@kA5i)A6k@+i @k7ii@i@9)qka4k@?-qh@H!@QH!!@ @@T@y)R jT @?qT(Q @.Q{BOAWè_Ҽ6@Rr  R) * rTk{BOAWè_֨a+@?iCCC`"@_WO{-@!5A7@ @! R% 4@i  t@9h@y! R kTa4@H A@y)!@4 @9?AThqA4@ qTHRRqTA4)A)(@)a))@ -T @ @9_A`T64 *?uT @?uT@ A@y)!?qT @i*A@yK!q T5+ @aTK!@AT p6)@) 9@*uS_q T_=qTi6EA97RA4@ qT@:@9(7!8)CjU)} ? T@r THP7@7hX7R'RqT@ @T( @@9qRqTRRq!T@@Rq!T @ 9@9 6@@=@9'7 RRqT~7RA4@ q`TRq`TRzh @)7J6(X@9u@h.@@aW4 qATRA4@)!8 X7!@ @@Sh@y)R j`Ta @?q#T(Qh @.PR6Ҟ5h@Rr  R) *i r Tj{COBWA_Ĩ_{COBWA_Ĩ_֨a+@?tg[RqTBO{C?4@ @9) ?q R RI h )A4(,95@@kMTz5@i )5(A5i*@ A6j&A 7 a)i@ h@%@)A7@(@ !@)Q !{AO¨_og_WO { (-@@'a4@h97 07`@=mh@9% S[B7@!@ДB!7 R~ 8R9RZCs raT- T@ikw8* _1qT #j T( @\{ha4@@@y!@ qT!R_zh`RPhkw8 qA+T@_-q!T*q_-qT7 !@ kTA4 @3_ h@ -)U ?qTi@6 @i @BRh@@'ZC7H@!@7'@; R~ 9R3R @ 5R@j|8 ?1qT*#_r!T_jT @)A8yha4@@@y!@ qT!R^#? @?@#@k!TT@_T@k5!)A yh`RtPj|8 qA*T94@¦5 ?-qT q?-qTMTH@Ѱ7H@ !@ k T @ R(}Hih8 5qT)Q?k,T%A7@@'@*J-@J@_ T R"{JOIWH_GgFoE_֨a4@@@y!@ qT!RT^a4@)A5yh@9@h068@9(6B'@ 2cE NJa4@@ @@yJ!@_ qT *!R5^A7@@ Ri~ ii8a4@@@y!@ q!T!R$^)A yj) J rH#>Nzh NiO{Ca4@96A7@ @! R% h@9 QqcT5@)5k*Ai (h*@)A5(A6)4l*A (@ )A4(7 -@5h@!@{AO¨_֨a+@?h@!@{AO¨_O{Cm@@hB@y!%qTA7@ !* !@ R(! s@A)@)a))@ MT5@@kMT5@)5*Ai (*@)A5(A6)4*A (@ )A4(7 -@5{AO¨_֨a+@?{AO¨_og_WO{C (-@@9C4;@Мc4'@A@y @9-I0787@@9% S#Sk'v_@575X6 @2@9?5qa5Tе6@ @@@ @I uA9i87@sth @ @@Th@B!(@9 S@ @t #R%kMR#B7@)@ @7 Rj~ *ij8KJ _-qlTKm 7 !@_kMT RL},il8 5qhTJQ_k,T @)JA) I@Ja)J@? mTk@ !@ kT@ !@@ R:!*5@I )5(A5I+@ H@)A6(s4h@I  ;=@5@@@kT)H@9R q`T@ @H@9 %qTHS@I'@)@(a@V'@qA97 @?qWT(Q ҈@ qA9I7%@R^T'@a@HS@ a@) a @ @a@?qT?qT@RN4_@a@H@9R qT4@@@T<@907@ @+A h ( @ @  @ @'7:@9H87@ @;R,!@U7 Rq-q!TjQq TTj~,ij8 %qT-q@T)qaTB*7@@ @ uA9U87@;Re|@:@9?re\RRs<:T4@C9T:T@R "Rbj8#8T6 @!Rr@`6w@ RSH @)7(@@)ayi)8( @s4hI@9I(6@@?qAT)Q  @  @* @@@ T  ( @ @ @@@?q>T(QsBh@9H6ah@986RR)5(@ 5@<T(@@ CAR(@!(@@;@$4vc@h_7 -)U ?qT@ @ @#R@#@'@s"Rq@;T@H#5##+sB7h@!@4#7/?C R~ {"5Zџ Th@@ *@9K 5q(Tm{kx  @ A@yp7%@@US CY @ A@yp7(R/ RJ _-qAT)R? @ A@yw6R@y.R @R@H!_J H*R?@R)R/@Y DC(C@yhp756(@ A@y*!_!q!T w6@ DCw#E??@j _q @-9C4@еb4TCJAh!TkA@yk!qq!T1q!TK@TA@y!%q/@ rR R(C(ih!0RKh@!@kT$7h@ @! R% )5)@ ) J5I)A5 )@* @JA6I)4)@ ( (+@/@h@TA@y!%q/@ r(R Cyih)RCI 4!`T A@y)!?qq@T?1q`T @?ֈ@@RqaTs"?vД"2(R99;@5Z))-@)@?T {EODWC_BgAoƨ_֨a+@?'@`RqT'@q#@JJb(TМc4H@9R qB4T6@ @@I/@ _/@?q T(QV@H#@)8(H @)4(@@ = =A9I@9(39CH @)7(H;@)A7)@()(!@Q(!)5(@ 5@@T4@C@@?U@H4a+@?֨Z))-@)@?TeJ~@#TJ ) r()#>PJJq  I~@IRh qTTIII)S@Iog_WO{ C(-@@BT@@y !*Q_q+Rj!ʚ+ KJ D@T(@bT(@96:@\7hC@y ?q!T`@@9h(7T_Tff5~@4hC@yp6{@[2?}q`Ti?LT)@96)@)A@y)!? qT(RhC@y ?q!TT`/@@kAT?T T4f5LZ 4hC@yhp6{@[9@" s"h@?`T(C@yqaT @T _?T)A@y)?qaT # ?T@T_AU@T(RAH(C@yhp69@@))-@)@? T{IOHWG_FgEoD_(C@y!]qTHC@y!]qTdPI !@(yi4? qTRX  qT(C@y!eqT)R)!JDR? jTq TqqT(@ @9)? qTA@yw6T   !I4d{a4@@9 rTR @9)2 9A4@@ @5M q!T@@ @9)2 9AR~ @9)2 9R 7@)A k. h@HA7 @) R RЌ R) @)(!@7}  @=@HMT0@jo8(%QqT%@@@@`T77H-qAT( -qT-@qTqTP}@ TJ@&@@kT_֨A7 @ R R R) @ -!@7.@9 !JMT[8 "&Q_qT77(@h?.qT -qT9 a(@(qTq!TQ}@?!T@1&@1@?kaT @q_#mog_WO{C(-@@a?@AC94%y ҨY))-@)@?!gT{YOXWW_VgUoT#Sm_ַB4@_h@ 7{c4r@ Th@A@y!iq` T@Tb@!!1RRr7@!RUh@@ A@y)!?qaT@9(7@Yq+TRrs @! RRRW@!!1RRRN@ @R@ @ Q q!T@@@XqMT!8h@_h@{c4rT rT R+a@G@h@ @94rT)A7)@*)@7)@ RI% )@94)-@? q)R4A@y!(=))_gq(h@rTRr qTh@ @Cy @RC@?@T(@9H4ւ-@ 5@9 6 @1@95q TAR!4@MdT5 @ 5@cT4@C@AR@4@ 5@9I6 @)1@9?5qT @) @G@BR@> 7@ qT@ @C @ReC@yH(@94 @ GA)@)a))@ MTARG-@6@9h6 @1@95qTARG_gqT@ @ @R @@@RRd@ @(T7raTC@ T C@ TRucL6@9(K5(@9q`TqT(@9qTq!T( @9qToC@_gq T(RoC@_gqA T@ @ @RM @@RR#@8@9(7@5@9ȼ4!8h@h@ @96@ A@y)!?qAT@906C@ŅR#yo@)4 T)@9?qT)*_xRJ J)_8 R) JI *i5 RcCCRc@?o@6;֢7@3h@7 @)  ;֢7@3@hB.@`RRR@.`h@h@ h@ h@h@ R u3i 3#3[a@5qo@) h7@3(h@7 @) ;3?Ca@<;_gqTa@B4?@RF@4CRc5+Ay2 @qA(Ta!@ @@Sh@y)R j Ta @?qT(Qh .҆E!8aȎh@RR@@;@5E@RR$5@B C;@T @R:,3@ ?@)75@?@@(7 @) ?@*h@Rr  R) *i rT-`@3@BR ;* @(@-@=sB7h@ )D)? kjT h@!@ R )hR9;@94@Cӵ7 @ 5@)5)@ BA5@*A6@a) @)A))@ h@@ҧD "@&;@H]@B4)a?~(@26@9i@)A@y(a3yh@ )@: @ )CӪ؉Rr)}  )v&?@@=@;@n h@)! q(@Y )-@)@? T"`*Rr';h.@`RRR6@.`h@h@ h@ h@h@ R u3i G@+@#@8@7 @) @@`RRR@|@ @@@aR8@@'/n !!<"#RR&R_g!RQF!@ @@@ת(@9qT_HR#%@'! RE_gq T!@ @@Sh@y)R j qTa @?qT(Qh .D!8aA4h@X[@ @rT]"Rb_HR#@'R! EH;@987H@ @]|@hh;@987h@ @]|@aTH;@9(87H@ @H"R@@7 @) rT\|@H;@9(87H@ @'@@H7\|@'@@H6J[RD @rT<6@97o@(4@r"T q#T@ @K @ B#T @@R r -qT"R@:@9((6[R!+@9@96G@+`TB€R @ iX4 @@@!!\bR R 0@9%qTR;R3s^!xRR 0@9%qT<R;Rsz @1@95q"TRRg/@!?Z @;+")4)@?@)wjHR_ ,FTB4)5(@ 5@@ET4@Cq+@  w64aRQ@qT!@@@?R@@D:@9B(7!8CiU}  BT@r`-TP7("@7+X7RH@,7caR@qTN(4*RrCBRD K@Ba"T@h@7r TX77h @h  qTh@ @K` @RCIZh@rAT@@X7 3R ?!@q@T@ @ @Rl@@ @rT  Q qT?@@'K3s.CR K@ TRN_ ?@9H 7@ @C@ ! T @C@ K@=_K@ _8?qTKR8C@._K@C@  @( @ R *6@9*5 @; /]@aq0T]@5q1T/@RrBARR#/@ 7 @ @*_)qT+!@q TJ%Q_ q T3R +!@qT(%Q qV1@ ?!@q T%Qqh T @@3| @h@@\`TNh@ 3@(?'@ @ T @@9qA TkAR '?3҈"?#@@ @ @ c@@ UkbTZss(R?6@96 qT@@X7SR ?!@q`T?6@9(6 @1@95qT @ kTZsh @h \ !!<"0Ҝ"?l @3 #@@ @ @ 3#@@ @ @@ @ 9@9 6@@=@9'7@(X6?3#@@ @ @RI@@ @r@T R r) Q qT@@ARD A4?@ A)@)a))@ Tn@@@aR"@@3@@ @ @@R@@ Y@@@3@n@ @ @@RR@@ @rT R r qT@A@CCBR (@;@;#@ Rr/@a @?qcT(Qh V @?q#T(Q 3R  @I @SR@ @;&33|X!8aTX?3#@@ @ @Z3?{c4;@'@;@H@9qT @8?q{c4;@'@aTH@8qT{c4;@'@;@3?{c4;@'@ {c4;@'@;3?/@;&h@Rr  R) *i rTz[s"X@5@9C5@G3@@ARW q, T!!p/BRRR :@987@ @6?bq`T6q! T^;@?@l@P@Pa@@\@M)(#@ R r qa T@ @K @SgY|@  cT @! ^:@987@ @PU@PQ-@o@h 44.R7R66ֲ#@8@987@ @4Y|@T#@"R" @"RCR'@BR(2CBRV K@1CT _8?)qT _8?qaT_8%Tq(]hI)}:JJa0I'!wW??@?C@+T?@_xR J @9 R) J *(5G@ @?@T?@ ZC;RC$R#RTx69h7 @  y?1T? KT@9*_qT e3)@I{i)7@9I{h)jTT(@9I{i)j!TATqATΞ 4R#Rp@9@kh8T9h7 @  y?1T? T@9*_qT e3)@I{iI75]?|X|@ T!RRi@ @ qT@@R T?@ _xR? kA T!RCR('pAR HR R\ q( #`W!RSMOIFOD@O@? T7@@9H786?@"T?@ 9(@ 6 ? qT?@ ? T?@)@9*_q!T) 3(@ )A(yh68T _xR) J_8 R J(*5!Rh>>?@@9 )A(yh R)r?(jT!RCR&?@T-?@R#R?@>?@ 4!RCR&5?@"RCR&T@9qTBRCR&T!Rc .Rv5#HC @}S @R4\H>_WO{-@@b4@b?@#"R[4 qATRiR#c96@yyA? @_ T)!?*@ ? c96@yy`?ր*@?Ay)6(y@\ )-@)@?T{ROQWP_O_Q qTRc96@yy@ @IqT!@YY -i>@ @)W3!!" RY![WO{ДB4@4@Tеb4@@`@@{BOAWè_"Rt#mo g _ W O {-@@c?@AC94NҨY )-@)@?ALT{NOMWL_KgJoI#Hm_֜МC4b4@@ @9JA7)r`T  I@*)@7)@ RI% )@9))-@? q)R)G).*@@9ZC {7/7H@9h7 6h@ @9 7t_'@P6'i_)( @( t_'@P7 -)U ?qaT@! @+ @ 2]47.h@%@R5 RRt_'@W6R66ARV>@CBR+@@ 294u6@(6 R)4r qTC`QR:@9 rTX;56@9;55@@@9rR)rHR(*#A@9s/6h@%@H4;h@hi@*@G@J@J@J))%@! T @v @ @c h@hBccRL|@G@@'@@@@(RH'h@ J.H@@{ sb4 i@  R R @!@7@= aρ[=@ΡѿMTρZ8 &Q? qT_@@ TO770.qT -qT@W( R Rk @l!@7m@5 !7@7-T[8 &QqTp76?.qAT .qT5 b) 7@ )D)? k+jT 8@!@ R )iR 99)4)@ )C )7)@ )5)@J5J@) )B )A5)@ ))A6)@Ja) I@ )A))@Ii@)@ ) !)@ %);*@JJ]@ } @ 1J6J@9Jk@kA@yja3 y@K)@ 9K@ Cӫ؉Rr} H)A@yJR j@ T6@j@ TH@(  @@R(@]@ @@ @ @@ T:Rе7DBМ7@o=` bARXy"!V?T@{h@@h@_@RRRo@YK5@k:8X`W6@23RRМC4'@G@kC R(@]@ @@V@+@@^. @A@4/@_ kTh.H*6:/@_ kTh2H*sb4(6!IR jh*7V5j:8aXIR jh*sb4H76@RR&h@ @9 06@? W6@! @Y )-@)@?TV6@9),(9h4!C#mog_WO{JA4a4@B@y!s7k6_gqTi@9R(3@9}S2U@w@h9)5(@ 5@`VT4@ C{7u@7@h@@C7@R RR@70o \@2\@ykA7h@ @! R% -h@ @!% @ 9@Y @ @)@R@%a4!RPh@@6@ Th@@ 1@9?1qT @) 9 @ @@ =@97 /y@9(@h@?@(/@`RRR3@/ (@(@ (@ (@(@ R u3)? R" y@ (@h@{C4?(/@`RRR@/ (@(@ (@ (@(@ R u3)? RM9 5М B vB@y!#eq`T97@ @y@Y(@y)R jT! @?qc:T(Q( .4:`_sqT:,y@ @@.R"@R6@977"{C4/@A,"Ҵ(@Rr  R) *) r`TTW_sqT@9( 7@@)6:)@9) 7 :@@)6:)@9i 6y : sh@ @ @@?qc/T)Q  @!RRR @ @ R r* 2  kT@@&)6(@92(9_sqT@@=@H4!@k  7y@90@/@ E,"AR=R"@R""@^l"&@m҄&@H@z&s`@@8@987@ @R|@7_gqaT@ RO@4a4 q @T@@@t @-U q T @@9H 4@ q TR-Th@ @yw@@ @96@? 5s;h@C9@q$ @! Ta4_gqT@ @ @R@@Rs8@`D4@k5i@*j) A7@ @! R% @@@@@BR@@@R@@@-U q`TBR@95! "R @ q`TR!8az&@@@y2@yARxA@99546B@y!eqaT`<RRx@(@ 5@T@C4@ T@xRv#! @8@987@ @T(Q|@T" @_gq!TA5@! @ju 4a4@@@Rt@@@-U q @T @@ Ra@)@**) a4h@iR 9u{HOGWF_EgDoC#BmC_BR@95! R @ qTiM2+.0+h@"R_WO{b4@@9raTA7@ )@7@ R(! @9b?@AC9h40 {COBWA_Ĩ_-@ q(Rb?@AC95 s"`@h@ @@Sh@y)R j@ Ta @?qT(Qh .8A4@5@sB7h@ )D)? kjT Ƹh@!@ R )iR 99)4)@ )C )7)@ )5)@J5J@) )B )A5)@ ))A6)@Ja) I@ )A))@I@)@ ) !)@ %);)@I)]@ }@ 1)6*@9J@kA@yja3 yj@J)@ 9(R(9@@{COBWA_Ĩ_^h@Rr  R) *i rTRr*WO{4@b4@) @ @е"@@@e@@BR@ @@Sh@y)R j Ta @?qcT(Qh .x7@@{BOAWè_h@Rr  R) *i rTVR@@{BOAWè_&*O{CB7@ @! R% 5@`@kMTvh @9)6(9h&@) (`*@ h@y06*@?qT(Q`"@"@?qT(Qh:@@()5@j J5Hh*@JA5Hh@JA6Hh @J7Hh@Ja)H(!@Q(!{AO¨_))`"@g_WO{b4@ @9B7@7rT )@7 @ R)) )@97 -@? q)R7)A48@)59@ )D)? kjT @!@ R )i R 99)4)@  )C )7)@ )5J5)@J@) )BӊJA5 I@ ))A6)@ )a)*@kA) j@* !@ %);)@I)]@ })a?*@)6 1*@9J@kA@yja3 y@K)@ 9K@ Cӫ؉Rr} H)(R(9(7!@ @@T@y)R jT @?qT(Q .y6R(9s@6@{DOCWB_AgŨ_@Rr  R) * r`TQQ&)O{Ca?@AC94@{AO¨_֓sb4h@@@R>h@@{AO¨_g_WO{sB4b4u@@@9C7r@ T96 @@@ @ @) )@) @J5(Y@@ )D)? kjT Ӷ@!"@ R *jR 99J4J@* JCӋk7 j@ J5J@k5k@J JB JA5J@ )JA6J@ Ja)K@ kA)k@K@J@ Yi@@{DOCWB_AgŨ_@ )@7@ R(! @996 @@@ -@ q(R96 @@@R@@@(O{CsB7h@ @! Rk4% h@ @9_qaTA45@@klT #R5@@kMTĶ6@ @@@ @?qT(Q5@ )5(*@)A5(@)A6( @)7(@)a)(h@ !@)Q !a4@@{AO¨_0(Rog_WO{{C4z@ _S@#8c78@9h(6ARh@6AR @X6i @*9@9 6)@)@)=@9  6 RCRv+h@XCxrTX6i @) @6)?!q!T@ X7 RX6"6@9(5< @J @K!qkQJ X7+4 X6 @K9@9 6J@J@J=@9j% 7?rTr;TT?z7@@97/w @@L!QqT ANil8 ?rh*H#7 @1@9-qMT1q"T  @R`Qx, x@4 x@zt@@3h:@9z(7hCiU}  zTh@rTHP7&@7X6h @ 9@9& 6@@=@9& 6R 6+%7%X6 @H@ !q`ET-q`KT1qa$TJO7@ @z7?rT2X7RRRS (ya4@@{FOEWD_CgBoA_?rh*7 @@ ?-q .T?1q!TI4R >57RZC)9c)Rq<VM@5@ T4@CexARx@`4_:@9 (7CiU}  I T@r`THP7@7(X7R  H@)@ -TRH@)@ LT@ @Th @@9q H@)@ mTR H@)@ T@@ H@)@ MT @ 9@9 6@@=@9H'7 R H@)@ TK H@)@ Th@( @h Th @@9q TtPT?z R#Rh@hDRAR` @ @@y2@yARJb4@aRCx s@qhA)@)a))@ MTɴs@5 @ 5@UT4@C4yARBy@ 4(@ 9@9 6 @) th@@t?rT7@ @L|@%TyU@@H#ѵ#T` @R @x"Rx@@:@9h(7C} T@r`TP7G7X6 @ 9@9 6@@=@9H 6R 6@H @T @@9q@T JC} TTxh@rTP6t46@9rTT?z{FOEWD_CgBoAno(A)@)a))@ MTO){7@ @ @@ ?!qT?-qT?1qAT* 7RJ7@ @.L|@T95:R` TR׳(@ 5@ T4@Cv@xAR|x@4_:@9h(7CiU}  T@r`TP7@7X6 @ 9@9  6@@=@9 6R R@( @ T R @@ @@9qR A)@)a))@ TѸB(J#Z4i 4 @8@987@ @K|@T T @Rx@x@`4A)@i)a))@ MTrxx7@4 @?K|@@T` @Rl`@5@94TN7@ @@bK|@TsTRJ @@RRRКFK|@H@7H@ @>K|@TH;@9 87H@ @^ RK@7R"+K|@w @TsTR @RRR RKk*q6t   @@B|@s˨@@;|@TRRRƥsRRRf vJ|@uTGt4jRRhA) @ h5@Tha5@y @ 2RhA) @ h5@Tha5@y @ 2@Tc' @>CRRR (@I@ T@T` @RuRo?@T(@5@9(5:H@5@94@@CiRRR @C\RR@Rڙ@@BPRR@RΙH@(@xRy@_@7n@@x*KkTH+TkRi |8!J1g_WO{uB4@tb4@9raTi)A7)@*)@j7)@ RI% )@977_y9#83h:@9(7hCiU}  )Th@rTP7@7X7R6&h@h @(Th @@9q`T)-@? q)R76h@@H qT(c@Eh @ 9@9 6@@=@9'7h5@xC7@ )D)? kjT @@!@ R ))R 99i)4)@ )C i)7)@ i)5)@jJ5J@) )B i)A5)@ )i)A6)@ i)a)*@ jJA)J@*@)@ @@{DOCWB_AgŨ_GTO{C 8@9(7h!8i)CjU)} ? Th@r TP7@7HX7R{AO¨R{AO¨_h@h @hTh @@9q{AO¨_h@@{AO¨_R{AO¨_h @ 9@9 6@@=@9('7 R{AO¨_G{AO¨_WO{tB7@! 7 @ Rh& @9 qTkQq Tk~+ik8l QqT'6*u4@ _qThA4#RU@(@ R" j@9J_qT)! R(! i)5)@ ) jJ5Ii)A5 )@* @jJA6I@ ) jJA4I @jJ7I@ D{COBWA_h-@5h@{COBWA_ha+@?ha4@9)JqH/O{CssB7h@ !@7 @ R |Lil8 qT Qq T/ kTh@ @ !@ Rl44)+@ J kkA4jjJ5J@@_kTh@ !@jJ5J@J kk5j*@kkA5j@kkA6j @kk7j@kka)j@@@)Q !{AO¨_O{CssB7i@(!@(7)@ R qT Qq T |+ik8l QqT'6j_qTkTh@ @!@ R%*i)4)@ ) jJA4I@{AO¨_֠h / /O{Cssb4h@ 9@17 Ja7?q@5h@@{AO¨_RRg_WO{Ch7@i@ h7 @) (R*hR)BqITcI(R*P)Bqh T )(M4 JYLiw8k `}8 9C6kj@9@G@({7CJ @9h {EODWC_BgA_֕Bzw@9( @,@z7`h@h@.qT h@ h@h@ R u3i h@R i@Rr( h6'h@2hh@R hBhb .WO{C-@@ @-U qTh@ @t @ BTBR@ #TRK`KT _xR) J_8 R J(*4P@)-@)@?!T{EODWC_NTB€R a!"RCR 5}IHR#)%#! R/|ICog_WO{-@@h;@@ @xh@!@ -@=@~@i@<rT)-)U ?qaT @y @4_cTBRI@5ARJtCR!e RBRf@qh@Rr  ih6b@tДB)rT @7 qTRM${h7@7@ h7 @)  @y9C @`RRR@(|@ @h5@J%Tha5@y @ 2 qTaR5zR{X7hA4@M{{6`@Rlh@ @* @J* @'h@ @5h4@=Th@ @ @@?q T)Q  @)  @h5 @ h5@Th4@(CtД"8" @i)y9C4(AR;@qTy_(@H7rT R r) Q qT(@@ tДB)ARtДB)hA4@i)a))@ MT0 :@9(6D T>@9 6R6@9h4@ R)4r qTBRqTh@@@?qT(Qh@-a @?q#T(Qh h@=N#q@z@)-@)@?aT{HOGWF_EgDoCC_@r@T-U qT@ @ @5ITzG>@9'7R@5AR`Ih_bTh @6h@2h@@4(P7%j48HI @@T@ @ @G@@R_9q@T6@94RqTugBRݫh@ @ @h@C(@rTh!@@@R@@(;@9(7(CiU}  )T(@rtДB)TP7H@7X7Rw 6(@ @HTH( @@9qT (@@( ( @ 9@9 6@@=@9'7AR,+0C?tДB)!T^G+CO { -@@  @-U qT@ @@cI7;@y @q`T@qTR#BRussB> !RR!`AF{COBWA_Ĩ_h,)R 9 1 !@qT qT:@987@ @ha4@ @9i07i)4)@ @( 9A|@h4s"@CUT`Th"@BRnha4@@9ySs(:@9H07uhA4ha4@ 9@i6@@@y!rTh5 @) @{COBWA_Ĩ_@\5ha4@@i)a>(_WO{C-@@vB4@t4h5@ @K H5 jx#8wb4_% Th4@@) @yiR"@X6Z Tt@:@9(6ARR@ X7-U qT@ @ CBR @h!@@@@h7X7p7rTR!#BRCR[jJ4J@J_T( !@_6R@@@6>@_6(6cR @ @#ARR#6@9H6hA@ ''x@@@)-@)@?T{EODWC_B_"R@( !@H_6zBg_WO{CwB4@x4@y95)@**) !T@h@X6&h4@i)a4)@) @yih!8FR"h@_7Rr qTh@ @#BR>@h!@@@h@7X7rT qTh@ @AR!H$RCR&R}@@h@6>>h@h_6;`4h @@@! $"R`zZ7H@@#R@h$RRt&@@)9&H@%@h4@]mT(@(i)5)@ `T @ )C Z? @ @AR @ !@AR(^&bRog_WO{-@@wB4{{C7h@ @ RARh@  D@@t4 @C|#7@)@( @ @ @)@) @ jJ4I @J@J @ @`*(Th5 @ h5@`T@(C@374CvB7xC4S7@ !@q!T*@ !@qAT"bj}@(C@736 CBu}BvB7xC4S 6u  !R%Ra3Q@ @h@@ )C@J@I @* @ @)@) @I kk4i @k@k @S  @4 7(C*T`"}Ө!WBhha4@@@)-@)@?!T{FOEWD_CgBoA_|@P%@og_WO{-@@wB4@zZ4H@i)5*@K+\i)4)@xc4 @J @3yj t@@ ?%qT?)qT!@q!T @@@ B9)y 9@@:@9h86!R>ss`J@%R'`J@)-@)@?Ta#(CDR{GOFWE_DgCoBBTh#@ @-U q`T @ @@ @-U qT@ @ @R@@ @-U q@TCBRR @d#(CYH@ h @4h,@9qTh@R)0r  ?qT R *ha "h!8a4a!@@@)-@)@?aT{GOFWE_DgCoB_3 -$@ @@@@$$_WO{wB4@xc4@@9 r Th_i)>)@43h>@h4@T42@9%QqT @h@5:@986!R>`tz@%R'zDRR{COBWA_Ĩ"R4!R`h!8 qh@@{COBWA_Ĩ_C_WO{-@@uB4@@Ԏ_42@9%QqT @h@R@@ @R`3h2@9%QqTh @h@R@@ @R~`IXss"87@ !<" @a!,@ @@(@@ @R 9@R 9 @@@hh!8@?@@&$@@`@?hbha4@@@)-@)@?T{DOCWB_AC_2?g_WO{wB4@y9c4(@ @9? rT_ *1@9J%Q_qh T) @) 5@i)4)@ @3yh:@986!RP=ss`v@%RS&`vDRR{DOCWB_AgŨ;i)!8)a '@@ A:|@h,@9qaT# @!|@h,@9q@Th@R)0r  ?qT R *ha h!8a(@@{DOCWB_AgŨ___WO{wB4@h4@xc4 @* @yj(@9 r`T`_  @5M qT@@3UR@R!AHqTh6@9(5*h,@9qT@R)0r  ?qT R * h4@Tt@@{COBWA_Ĩ_@h6@9h4 AR<@h6@9(4!%Ҍ*h,@9qTh4@T"R|g_WO{-@@xC4@y9c4(@ @9) ?qT5i)!8)aIE_5T__72@9%QqT @h@3h:@986!Rd<wr@&Rg%rRRv @ @-U q!T@ @ @"T*=(Ri)!8(aH(@@@)-@)@?T{FOEWD_CgB_CBR @ bh@94h@@ i @ T94@I)!8@I)!8)a =Cog_WO{WB4@V֢4Y95@(@ )@h@ *%Q_ qT?-qT?1qT @R?(jTi@!@yhڙҘh%&! !@qT_q@z`#T?)q!Th@!A9qT;h@!@'(R 736h@ R u3iE& R'@@xC6TB7`4ܢ@ @RAR@  D@@ @CJJ!7I@)@( @ @ @)@) @ Kk4i @)@) @  @I)@  I)5)@ @ TC 7H4@CA8T@X 4Q%qT} @) )!?TI@ qTAR@ @!@5@@) )CKk!7j@J@I @) @ @J@J @* L4 @J@J @)  @is6`4'@ @Th2@9-Qq)TR{@ Ha4@@{HOGWF_EgDoCC_@@R @"RH@8@ @RAR@  D@@ JJ4H@CKk!7i@)@( @ @H @)@) @ JJ4I @)@) @ WB4 @i)@  I)5)@ TC7H4@CA8 Tx4Q%qbT<}ө @) )!?BT3h @@)&)R' *u}K} Z  Kˢ  @`?b !AT? aT> *u}K}Ө Z  K  @`?b !AT? TI@ qT/R|h @h @@&f@C6bCE@5AR@ @PH4@C6bC-5 @ @AR8V֢4@ @w @@ @X7 ?%q!TA@R @()=@?qT@) @,'| ? 1T@! h& P7H!8?1aT@@,)d @ @ HRR8@'V g_WO{CH7@i@ H7 @) )R*iR)BqIT)R* P)BqT O4)! R? j Ty9C6{w@9@@}(k7; @9h>q T {EODWC_BgA_)R)! R*r? j TuBzw@9@@z7`h@h@.qT h@ h@h@ R u3i h@R i@Rr( h6zh@2hh@R :qT * 97@9) @9 !R`AR"RRh@ 2hH;@ @@ @) i@(h@R !g_WO{CXC4@3_h@ &Q ?!@qB Az`@zTh @@ h@ ?)qaTi@)!A9?qTSM  @.Q*R R? qu1 69@ @1@Z H@@!*RX 0@9%qT@ @vI)5(@(I)5)@ TI)4)@) )C @n1sH4@M TXH @Q{!!RE@H!8(H!8a#H @ qT!*`R h@iRR @rI *  ? kaTi@!@yh~H!8(Ha4@@{EODWC_BgA_@"RWO{HA4@@h@ *-Q+R R_ q1 )%Q _!@q" Az`@zU"8Th @@h@ ?)qaTi@)!A9?qTҟL @b6o8 @0bHa4@@{BOAWè_og_WO{CY9C4(@a_+aRRRQ@!$&"R7+7@!$&"Rp[{5h@`H5@`T\4@CH4@-T@5M qT@@A@Ry R@5M qTAR+kXARbH!86@9?q7 @ @AR7@@335"h@`H5@@T@CjH @7 @ @AR7@@3@4 R@ RR(7Ha4@@{EODWC_BgAoƨ_ֳ7+H ,#mog_WO { -@@I)A4H4;@@\Мc4@) @yit^@(7rT)R jTP6@) @z6R@HP7p7!h,Rq@(7X6 @*9@9 6)@)@)=@9) 7 R)4r q@TR 6RBRJR @@q _ @7rT)R jTP6@) @<6R@HP7p7!h,R3@(7X6 @*9@9 6)@)@)=@9) 7 R)4r q@TRw 6RBR R@@ksˆv_@7rT)R jTP6@) @6R@HP7p7!h,R@(7X6 @*9@9 6)@)@)=@9) 7 R)4r q@TR; 6RBRUR@@ksˆxvw@@(7rT1Q qT@@Ry/Ha x^!a^8a%gax3'w26@9554@rTR _ @64@r!T4@rT4@rTw26@9H4@( @)@ k T@ @ @klT6@95!Ҩ6@95 @kT (K^8 @6@9h4@( @)@ kMT@ @ @kT6@9H5%6@95  @kT@(K=8 @6@94@( @H)@ kT@ @ @k T`(K'8 @`rS@9@Y`@TBRt@:@9(07WB4@Z @TBR5@:@9h07{@_TBR_:@9h07@H,@9qT@R)0r  ?qT R * t@ @9)rT@85WB4@55@H,@9qTFt@ @9)rTI)A7*@I)@I7J@ R)) )@9)@j? q!T@a^3@! !a^%g!b((`; A`c@@@)-@)@?AT{JOIWH_GgFoE#Dm_u7I)> @ @J (@?qT(Q_ֺg_WO{WB4@Xc4@ @9i4t_Y9>)@* @K!@qTJJ%Q_qHT* @J@_5@*_!@q T+ _5@*_!@qT))%Q?qT@ @ <@9j6 @K@ J=@_1TJJ4J@ @Vyh(@!))@9?rZRRX@`TH4@T-`2@9%QqT @h@R` @ @ 4@?qT(Q@@{DOCWB_AgŨ_!@#R4:@907H4@-Tvt"R-`%*4H4@,T"Rvg_WO{Y9C43@H4@Xc4 @I @J@9J r`Tu_Kkau@52@9k%QqT @Rv@yi*5 Ryi5:Ryi5H4@Tv:@9(86!R4@@9raTHA7@ )@7@ R(! @9ZZ@c@,R@cR q T(@@` TB€Rl:@9 063[-@ q(RZZ@c@"Rq7Y@4 @@B9q`T",6(RH!8ah6H6@9I),(9 !"RC @@ @ @9 @@ @ 4 @ @9 JA$Vii8 T>@9 7@) @?T @ @)@ @@( @27t3@@{DOCWB_AgŨ_ֈ@yh6M3O{SsB4`@TДb4@@9 r T_I)>)@!,H4@TH>@A(0@9%QqT(@@H @(5@*H @@*B9Jy*9`@"@{BOA"RٙH>@H!8`@@{BOA_ QR,:g_WO{Ha4@@9VB7r!T@ )@I7@ R(! @9h@qA9(6r;HA4I)5@9@@ )D)? kjT @!@ R )IR 99I)4)@  )C I)7)@ I)5)@JJ5J@) )B I)A5)@ )I)A6)@JJa) I@ I)A))@I@*)@ 9*@  JCӫ؉RrJ} *)U>@V8 -@ !yi @)i i@*a@J*a-@ @) h@a@?qT%@h@a@%@@a @I)4(@ @ @?qcT(Qh@@{DOCWB_AgŨ_-@ q(Rh@qA9(/7|H og_WO{Y9C7(@ @! R% )@h @@ZZc4H@A@y!W>BqT@@t %@@K@k@[{?l@? DL T(@ @! R% H4@H5@@){@kMTpH>.@@ @) @?q%T(Q. @?qc%T(Q "@I)8(H @TI)4(&@&@ a@)Q a@?qT(Q:@)@()H5@ JJ5H*@JJA5H@JJA6H @JJ7H@JJa)H@(!@Q(!H4@TBqTH!8a -@ B9 6I@qT@ @@ ) @ "AR5{Q q T @( X@@@ n@%@@)@*@H(@[{?8 )@ 1@h@@!@1h@@h-RR@@@< aRRRu@< aR@)@)@RRV@@(@-@ B97 %@ @?T !R"RcRR@@iX@ !@ %@ @) h@@ B9)2 9@-@ @@ B@{GOFWE_DgCoB;@ !@ %# >"RBqT@@@ @)@ %@I %$T3X@6% @R H!8H>@HA4{GOFWE_DgCoB_ց!.R@X6@ @? @? @@ @?i(8@B9h6H!8 . @?qT "@I)8(#R- O{C5e{AO¨4_O{-@@ @-U qT@A@BRG@E@4@)-@)@?T{BOA_23WO{6,uj484{BOAWè_>3{BOAWè_og_WO{CXC4@W4@I)5*@K+Z Y9c4)@)@9 !?rH>@2@9%QqHT @@TH4@MTH!8h_@Tt :@9h86!R1@  TUеV@`a#hCDR{EODWC_BgAoƨ@@khCb#C.W4@B96҂1T@I)!8 0 @(R"I)4)@)?MTu#hC }I`C}3s"UеV@H.RVR`4p2(R@ I)!8)a (@@{EODWC_BgAoƨ_"RH!8hu"R@u#C } {C 4 6g_WO{C-@@ RrVB4@Xc4@@9rT_ @ q T@@@ @ q TAR @)  qT@ @@XK 4 @@@H!86R@ @ q!T@@ @)  q@TBR@8K 5H!8a@@@)-@)@?!T{EODWC_BgA_ARK@ @ q@T1#mog_WO{Ѩ-@@[{C4s@ZZ4H@I)5*@K+WI)4)@Y9c4*@K @T{FOEWD_CgBoA#l_ֈ@ R)4r  ?qAT@) @' @#)@#2h@@9h6#BRy@h7# h@9@)R( h #h@@97'Ha4@A@y! qT 7RG>@9H 7@ @@ T @Y9c4@''@ +6T>@9 JA$  (6h@@9 7'@ T T(@9q0T @9Iii8 TL@akY9c4CJ20@( @@) @i)8@Rr  R rJ2 R@qj) *Ss4(7@B9 7H6@9H)5h@ G@C|sZa0(RY9c4ZZ4K@) @  _8)?qTcTh@(R'@  ': @ k @@ @>@9I 7 @I!T @*T HTmTS0#@4@ I)78@@x@(I)7(@(I)A @`RRR7I)A@( |@ I)A)(@ H5@THa5@y @ 2A@Ha4@A@y!qT{71 @ ; @i( @(  @ @) @i)8@Rr R *@H4H7@@97 JA$@'@6 ҉@9Sii8 )?HT9jT@9Sii8?T9 ?T )R'@@) @TAT @  @SI)A @@{ @=@5Ұ8#@4RSs4 @@2Ss4:@9UB407@@B9 7H6@9(5h@ @R)0r  JJ,J@9_q AzaT R * vHa4@DJ/(R@B9q[{C4Y9c4ZZ4TRU+,@@B9'6,@B9'6҂RRu҂RRn @8)?qTT@ JA$s@/x.!@ )7(yh.H/og_WO{ C-@@Y9C44@[{4h@I)5*@K+\ Wb4u@2@9%Qq(T @I)4)@@K @:ykIA@y)!@?q @T X@. @ .(.(R( h@ I)!8)a (@@@)-@)@?aT{IOHWG_FgEoD_:@9(86!R,"@ TUN@@ @)-@)@? Ta"шCDR{IOHWG_FgEoD X@}. @@B9qTR7 R r@)   ?qT @) @ @BRn@h7RH7@@9r9 @ߊ5@94@l@9H5@"@H4@ T4UN@/RN@)-@)@?`T/.@qaT`A @ R r qT@@_T`A @ R r qT@@AR @ T`@ @ R r)  qaT@ @@#@ @@/5ARd_bT@@ @ R r qaT@@@ @BR@@@/ARD @@TR@ T3@_0 h@  (,@9qTH@R)0r  ?qT R *HT z3F"Rˑ\@@@y!@ qTAR! @@@y!@ qaTAR!  )7 yh`.x )7 yh`q `x.! `H/g_WO{C8C4@99c4(@ @9? r`Tt_))a>46RT2@9)%Q?qhT @I5@ :@9 86!R+` Xo@`/Ro7DR%RN))4)@)?mT 9)7))a>4@))!8i; R @9_ rT9q跟)R(*7 @@B96 @@aRy@@8@987@ @ R @9_ rT(@)R @9_ rAT*|@@TRK`nP(!8 qh(@@{EODWC_BgA_(!8@@ B9)y 9 !"RRF @@u !"R:@976-* !RT"R(@ 9)6I))@* @K!@qTJJ%Q_q(T) @4@))a>4VRt{))a>4VRtg_WO{8C4@(4@99c4)@* @yj(@9 rTu_(a> (4@T(a>@U2@9%QqT @@:@9H86!R*Tj@`/RjDRR{DOCWB_AgŨ0P(,@9qT@R)0r  ?qT R * ","Rm(a>@2,@5/,(R(,@9qT@R)0r  ?qT R * t(@@{DOCWB_AgŨ_g_WO{C8C4 Rr@ @ @ q!T@@ _ @ q@TARq6_(a>68ARh _ @ qT@@6_(a>62@9%QqT @h@5:@986!R#*`6cD"Y98g@`/R" g`~@7"DRER %5C7b4@A@y!qTO(!8 qO" (!8a` AR0g@@{EODWC_BgA__WO{ Rr6B4@_ @ qT@@ARv+@8c4@97@7 ?!@qT )%Q? qbTRR 0@9%QqTS'@ ?!@q`T(X6 @ @ ?)qT7 ?!@qT%Q qT@@:v' @ @ ?!@q@T@X6 @ 1@9_=qaT))6)@95 @y73[{+6 ( qaT @R((6@95- 73s"83RR ++@))!83a5+(R@@{COBWA_Ĩ_a!/%vz-6a!/v @og_WO{-@@7B4@))4)@8c4 @J @3yjA @ R r* 2  kT@@6@AR6@62@9%QqT @h@R@@H @@P7 45M qaT@@,*(Rr R)4r q!T@ @ @rPcTCBR% @rPTaX@ @ @)Rj(8AR@A@y!@(6@95@ @q!T~@+6@9(77y{ґu@ @q T*6@9(6@ @jh8?EqTj(8:@907~@?1 Ta5a !BRlh:@906'(,@9qTh@R)0r  ?qT R *ha '~@?1!T(!8a3@@@)-@)@?T{GOFWE_DgCoB_*@@@y!@ qT!Ru )A yh`0_WO{6B4@(4@8c4 @) @yi_ @5M qT@@@AR`@0@9%QqT@@ @Uz* *}S3)(R(,@9qTh@R)0r  ?qT R *ha @@{COBWA_Ĩ_Zg_WO{7B4 Rr@@ @ qT@@_ @ qTARb_ @ qTAR@AR_ @ qAT@@b_ @ qaT@@@62@9%QqT @h@R@@( @RxJ(6@95VB4Д"87 !<"~ !!,~(@(@iR 9 @(@@(!8(x(@@@$x) @b)@)@|)b(a4@@{DOCWB_AgŨ_A! <Vtog_WO{-@@8C4 Rr@@ @ qT@@_ @ qTAR_ @ qTARwقւ^ARp_ @ qAT@@_ @ qaT@@قւ^62@9%QqT @h@RF@@7@72@9%QqT @h@R7@@h @RIH @RI(6@9( 5A5е"87@ s>" ~` @4Д,~h@h@vR9@}@ @}H@H@9` @h@@(H @H@@(!8owh@@@kwh @h@@h@(@ @@awH@@@]wI @bI@)@@(b((a4@@@)-@)@?T{FOEWD_CgBoA_a!0҇sa(C_WO{-@@6B4@@_52@9%QqT @h@R@@ @8c4|7h@-U qTh@ @s @!((R(!8a$BR&@A@y!@(6@95@qT9( 7yu6s@qTK((!8 aq@@@)-@)@?T{DOCWB_AC_'WO{5еB4@_ @5M qT@@@ARO@2@9%QqT @@ @ )(!8 aqR)@@ @ '(R(!8a(a4@@{BOAWè_og_WO{CCѨ-@@6B4@(4@7b4@) @yiR@_h 1@9)%Q?qT @5@u @ 42@9%QqT @h@R@@ @~#y@:Z#87( @RxH !<"| !!,|(@(@iR 9 @@(@@@#th:@906$ C'(R(!8a@@Z)-@)@?ATC{EODWC_BgAoƨ_Scv(@@@ v( @Sc(@@He'Sc)'_WO{6B4@(4@8c4 @) @yi_ @5M qT@@@ARy@52@9%QqT @h@R^@@ @6~) *}S(,@9qTh@R)0r  ?qT R *ha :&(R(!8a@@{COBWA_Ĩ_nog_WO{-@@8C4@99c4(@A@y!+qT Ryt_ Rr`@ @ qT@@`_ @ qTARzCw_AR `_ @ qAT@@zCw_72@9%QqT @h@R@@ @ }7/qT+q T@Rr R *@ R @@) @i)8@ @ @#'7 @@( @@) @i)8T J&(R(!8aH(@@@)-@)@? T{GOFWE_DgCoB_ֈ@7P6 R r?(jT @ J}6? J6$JT@7Rzc R r qT@A @@)( 6@@SR(6##R@(7(!8("@(W7%g_WO{C-@@5еB4@7b4@A@y@42@9%QqT @h@R>@@( @(R R @Rr R * @ @ @) @i)8 @}`7#5q T1qaTa @&6%(R(!8a a @& 7@i@( h @i@) @i)8@@@)-@)@?T{EODWC_BgA_֔%g_WO{-@@7B4@8c4@ @999C*56  7t_@7 ?!@qT )%Q? qThX6 @ @ ?)qT7 ?!@qAT%QqT@A@y!9qT@@A@y!9qT@T @@@@ Ҩ +(1*@y9q.TҨ@ATTb!@ ?!@q T\! @ @ ?!@qT@X6 @2@9?=q!T@A@y!9qT(!8 .a!1RP @T(1*!R y))!>((,@;2@9%QqT @H@ @9|6))6)@95Rr qAT@ @ @(@H6@@8 !!;% 5($(R(@Rq@@9rTqTg(A7@ )@i 7@ R(! @9q` T q T 4(4@*T(A)@))5)@ *T]`5;@V` NR` @yJN`@yFJ`@BF`@>B`f>`"2@b:`&@^6`*@Z2`."@V.`2r&*`6@"-@ qT(4@T(!8 q(h@@@)-@)@?T{GOFWE_DgC_"Rz(,@@Rr qTRD4,@(!>@ @@y(1**! y@ @J _qT @@(! q@T )A6Yh_ BTBR!@ @@y@(! qT!Ru_ TBRs%@A@y!!!;9qTZ% 6 Rq 4R&_8)qTh52 !* R R+& `7R07#HRH#h%[a! R ( RB @5#`1g_WO{-@@99c4 @@9 @@y(! AQK}}L K%˚R_qj1 @9+ 7+kA4k@k@k @ R r jT@* @ @@y(!R REQqTJ JLih8k `RSRR6Rv6R3RR6:ZC4H@@ @J-JU _qT @W @ @(! q@T )A6Yh BTBRq@ @ @@y(! qT!R TR$4$.$/$$$R%%5K%%5d#F%$5?%$547(@@A@@9 6(4@MT! (!8(A(@@96@@y!AQiqT@96@7#5@@(@ @9i 7 @97(!8(@SRR4R7RH7"B;O43sB4`@(@ @9 7 @97(!8(@(@@4B4@@9 6(4@T (!8a(@@96shB@y!AQiqTh@96s@4RR3R6G(@@4B4@@9 6(4@MT (!8(@@96hB@y!AQiqTh@96s@`@)-@)@? Ty))4)@)? T @9 7))!8J))4)@)? T @9 7))!8Z"HR#h%[a! R(@@A@@9 6(4@ T! (!8a(A(@@9(6@@y!AQiqhT@9(6@"R)"Rp"R}(@ @96 @ @@@)-@)@?T{GOFWE_DgC_"Rf|"Rb(@ @96 @ `@@)-@)@?T.""RP` =`= `= `p>WO{-@@5B4@@6b4@@9h7h:@9(7h6@96h @ 9@9 6@@=@9 7@)-@)@?T{COBWA_9!RRi" RR`8@9 (7(!8i)CjU)} ? I Th@r@TP7@7X6h @ 9@9i 6@@=@9 6R6*h@( @Th @@9qT@@@@9 6(4@T! 3@@9H6 @@y!AQiqT@9H6@h@@H@@ @9 7 @97@ ))4)@)?MT @9I6@@h6@9(6AT"R"R@ @97o!WO{4B4@5b4@ @9i 7 @9i7@@{BOAWè_))4)@)?mT @9I6@@{BOAWè_"Rk@ @9i7WO{5b4@@6B4@@9 6(4@T @@9h6ShB@y!AQiqTh@9h6s@{BOAWè_"R;WO{4b4@(A@y!ZQ }}ӫlҫ)kj%ʚRqH1)@9 7))A4)@)@) @ R r? jTRE7@ZqT))A4 @ @9 7 @9i7(!8@@@5B4@@9 6(4@T (!8a@@96shB@y!AQiqTh@96s@))4)@ @3yh^Q qTI )%+ih8J @(;1@+))4)@)?mT @97))!8(@a^(;@(@a^(;@(@a^(;!@!a^8aҨga[h:@9h 07(!8i)CjU)} ? Th@rTP7H@7X7R[6Ah@ @T(h @@9qT6h@@h@(@5B4@)@9  6))4)@)? T @)@9I6( A@y)!)AQ?iqT @9I6@{COBWA_{COBWA_h @ 9@9 6@@=@9'7(A4@@ @9 7 @9)7@))4)@)? T @9I6@pT"R29"R.@ @9i6 @ ))A4 @{COBWA_"R@"R@ @97O{3sb4h@ A@y)!@*mQ_-q(TJ J I )m)@9@9 6R@9 7(A4@@ @ R r jT @ RDi@`7(A@y!mQ-q(TI )5+ih8J @(;@ kT @(A4@)@9  6))4)@)?MT! ))!8)a)h@@96@@y!AQiq(T@96@,(;@a kTa(;1@ i@ @(A4@)@9  6))4)@)? T! ))!8))h@@9h6@@@y!AQiqT@9h6@{BOA_(; @y 1@qT2(; @y  @qT+(; @y @q!T$(; @y !@qAT(; @y @qaT(; @y @qT(; @y_6 (; @yHW6(; @yO6  8{BOA"RH(A4@w"R?(A4@O{3sb4h@@9 7(A4@@ @ R r jT R RE 7(; @y )@qT(A4@i@*@9J 7*@97))!8 i@ @{BOA_i@ @(A4@)@9  6))4)@)?T! ))!8)a)h@@96`@@y!AQiqT@96@!i@ @(A4@)@9  6))4)@)?T! ))!8))h@@9h6@@@y!AQiqT@9h6@{BOA_*J4J@J_ T*@97*J!8"R(A4@"R(A4@"R(A4i@*@96*@  @{BOA_CWO{-@@5b4@ @9) 7*JA4J@J@J @ R rk_ jTR>`@ @9 7(A4@@h@ ?!@qaT )%Q? qT<@@X6` @ @ ?)qHTh7 ?!@qT%Q qBT'V` @ @ ?!@qTh@ -)U ?qTi@! @ t @R|CR @h@Roh2@9%Qq(Th @@ @`@u@9%(T#t4@_(7%@43sB4`@@ @9 7 @9 7(!8@`(R@@4B4@@9 6(4@T !8a@@9( 6 hB@y!AQiqhTh@9(6s@>@@sB4`@@9 64@T !8`@@96B@y!AQiqT@96Ҕ@ )4)@)?MT @97 )!8 "R"R@ @96 @ `@@)-@)@?aT{DOCWBC_"Rsog_WO{C ш-@@b4@ @9 7 JA4J@J@J @ R rk_ jTA@y!IR Rq@7z@ @9i 7@9R q!T6@B6@`T">,@e@H< 1@9)%Q?q;T @(5-A4@@@ ?!@qT )%Q? qbT!>@12@9=q1TA*  1*!R yX6 @h@ ?)q(Tht7 ?!@qT%Q qT@-U qT@ @ @R,@@@@@y!@ qT!R< T )A4yh TR4c4R,@ @!> !<"ݎ1*!R ys@7;sA* 7RRes@Rwk 1Thj @i~A) S*)*)qS)}) )! cT*i9C7i )!u @ T9B7u @T9 B7u @T9jA7u @@T9@7u @T9*@7u @T9?7u @`T9>7*@J=T5!*A_)TT˩9)=7T.TR7 CR:ZCМ@h44A*  1*!R y R4h_8)qT% !* R@@sB4`@@9 64@MXT !8a`@@9T6TB@y!AQiqST@9S6Ҕ@j(R@@sB4`@@9 64@ST !8a`@@9O6OB@y!AQiqOT@9N6Ҕ@ss{ Th@9 4@)9@7I 6RAR۫6H@9`@94{`77`87 =@5h@9* ?}CT {h)) ?q Kz Hz[z`TR5H@94h@9{h(W6h9@7 =@hw7R5@j@@sB4`@@9 64@HT !8a`@@9HC64CB@y!AQiqBT@9HB6Ҕ@R%QqT @@A*  1*!R yU @xH4 @r 7s;'A*7h @y @qa'T@A@y!q)TZ)-@)@?aCT!8 {EODWC_BgAoƨA*  1*!R y74R2@@B4@@9 64@ 9T !8a@@9665hB@y!AQiqH5Th@956s@ @y @qT@A@y!q+T 8Z)-@)@?3T(R@@sB4`@@9 64@8T !8a`@@9.6.B@y!AQiq(.T@9-6Ҕ@lR  (鷟@ A@yJ!_q? k@T@sB4`@@9 64@M/T !8`@@9()6)B@y!AQiqh(T@9((6Ҕ@>sB4`@ @9I 7 @9I-7!8@e@@sB4`@@9 64@-T !8a`@@9h#6T#B@y!AQiq"T@9h"6Ҕ@ )4)@)?&T @9)'7 )!87HCQ5haT @~BU**qS} !cT+9 7 !_ @ TK9 7 _ @TK9K 7_ @TK9 7_ @@TK9 7_ @TK9k 7_ @TK97_ @`TK9+7 @JT ! A  )T_ T K9k7JTh @w T @1 T @ @w @fw@R񔲈4foZ)-@)@?T 8 {EODWC_BgAoƨJJJJCJQ    h _ T * @8 km8k  kD9+4qT_T@9qT  RN@  Tҡ*@9 kj8 D94q T)?T@A@y!q@T!8{Z)-@)@?TtHR#H%SA! RA*  1*!R y@@sB4`@@9 64@ T !8a`@@96B@y!AQiqT@96Ҕ@Z)-@)@?T {EODWC_BgAoƨ_"R}6"R}<"R}_ @h@ ?!@q`T^"R{}"Rw}"Rs}@ @9)6 @ `@Z)-@)@?T?@9qT"RM"R[}:"RW}@H2"RP}C_WO{B4@4 @c4@ @3yj @9) ?qT_9h7@ 7 ?!@q T )%Q? qb T҄@@@R]@@4@ TA!3RRR*f@A!3RRR!f@ @-U qT@XBRRRRE M!8!R6@94`R-4A!2`RM(R )!8(!6@9 4A!x3cc"R|@ ?!@q`TX6 @ @ ?)q(T 7 ?!@qT%Q qT@-U qaT @R6@95U2@9%QqT @@h @ @ @`o`6Y(R!8!A!x3ҁc *}S,@9qTh@R)0r  ?qT R *ha @@{DOCWB_AC_a @ @ ?!@q`TWO{еB4@4@ )5*@K+I 4@b4@* @yj(A@y!mA|@,@9q T@R)0r  ?qaT R * 4@-Tt@@{BOAWè_4@,T"R|_WO{еB44@b4@) @yi@@ @-U qaT@BR6@95 *}S,@9q Th@R)0r  ?qaT R *ha @@{COBWA_Ĩ_A!3bD_WO{RrB44@b4@) @yi@_ @ qT@@ @ qTBR BR@ @ qaT@6@95' *}S,@9q Th@R)0r  ?qaT R *ha @@{COBWA_Ĩ_A!3zbg_WO{RrB4@4@c4 @* @yj9A@y_ @ qT@9#@@ @ qTBR/ BR*9#@@ @ qAT@6@95?qTW 7yy7b?qT{ *}S,@9qTh@R)0r  ?qT R *ha @@{DOCWB_AgŨ__WO{Cш-@@ДB44@еb4@) @yi@6@9 ),(9@ @-U q!T@##Rq`j 8#h:@906 BR##R_!8a@@\)-@)@?TC{COBWA_Ĩ_֣og_WO{-@@9C4:@4@{c4i@* @yj(@9 r@T@_ @ R r* 2  ka T@@@@ @-U qTBRu@ T?R@@ @-U qAT@ @@ #T_8qT T_8qTW86RR6@9h5> *}Sh@R)0r  J,J@9_q Az!T R *ha Sv4:h@@@)-@)@?T{FOEWD_CgBoA_AR@@@ @-U qTA!34aSv5 g_WO{C-@@C44@9c4)@) @yi@@@ @-U qT@ @@ "T BR@ #T_8qT T_8qT825RR6@95| *}Sh@R)0r  J,J@9_q AzT R *ha Su4 (@@@)-@)@?AT{EODWC_BgA_A!4Ҽ`1S5C_WO{B4@_ @-U qT@@BR{@42@9%QqT @h@Rͼ@@ @(@ @@@@s"8L@sb5H(Ra4@@{DOCWB_AC_ֈ @@@@@(4+g_WO{CB4@b4@@9raTA7@ )@ 7@ R(! @9t_ 2@9%Qqh T @( @ @@ 4qT 694T$@y@B9h 7@95(@mT`@@K҂RR5(@T"RyT$@yl@B9 76@954@T`&-@ q(Rt_tR)@@@@ @@@@A!45R@h4( qT!8a@@{EODWC_BgA_֔(R( qT҂RR4@lT"RxC_WO{B4@4b4@@) @yi@42@9%QqT @h@Rʻ@@@@`,@9q@Th@R)0r  ?qT R *ha  @@@@A!5R~8@ )!83a52(R@@{DOCWB_AC_WO{B4@_ @5M qT@@@AR@42@9%QqT @h@Ro@@@@s"8 @@@@A!6R0@ )!83a5(Ra4@@{COBWA_WO{B4@@3h2@9%QqTh @h@R1@@@@s"8h @@h@@A!P7R@ )!83a5(Ra4@@{COBWA_WO{B4@@sh2@9%QqTh @@v@@@7s"8R@@@@@h @@h@@A! 8Rs"8h@sb5d(Ra4@@{COBWA_C_WO{-@@B44@b4@) @yi@4@M Tmc`Rh`5-A @?@o<<<<<<<A<@`RM57q0 @5) J)mIJ)! J Ja0I)5 J)EIJ) J *,@9qT@R)0r  ?qT R * t!8ah@@@)-@)@?T{DOCWB_AC_"RwC_WO{-@@B4@4@b4@) @yiQ@R{71AT-c+@qAT@5Rj1T @?Ra1Tq T@ )1(1T R r k4?q@T J *?q?qH* )1( )!(|@@R)0r  J,J@9_q AzaT R * 4@-Tt@@@)-@)@?T{DOCWB_AC_4@,T"Rv\g_WO{C-@@ RrB44@b4@) @yi@_ @ qT@@@ @ qTAR AR@ @ qT@@Q@71AT9-Zc+ @qAT(@51T H@?1Tq T@ )1(1T R r k4?q@T J *?q?qH* )1( )!(|@h@R)0r  J,J@9_q AzT R *ha @@@i)-@)@?aT{EODWC_BgA_aog_WO { h-@@'C4@Z4[@5 @* 9h )4)@b4@J @3yj!(TRr R@@ 2(T@@7  ?qT@! @ @ 2)T @  ?qT[@6@9(5ҕaC*R? R1TqTt7G@@R!R|c`R!RxSR1T@@qT`Rm@Rc`R|@1Z21@T R r k4?q@T J *?q?qH*{#hV@6NRQ1!T@qTH@ h@R)0r  J,J@9_q AzT R *hh 4@MT7C@:G@8`R :{#hV@7RCR q(T*C@Aˉ TC@qT45h@@h}@h@R)0r  J,J@9_q AzAT R *ha 4@ T@@'@i)-@)@? T{JOIWH_GgFoE_qTv4*}S`Rt7C@@@907!AT@AR @-U qAT@;[@94A!8Ұ[%4@LT"Rt4@ T"Rtt6nk@G@ 8G@r7kBRYG@R8cog_WO{CB4@4@ )5*@K+Y )4)@b4@J @3yj {6h@9Z,( 5T`@@907!T@AR @-U qAT@@RR,7@ *H@9qTDBRRR8@ *H@9qTh@R)0r  ?qAT R *ha 4@ T@@{EODWC_BgAoƨ_RrI["H@9"5HT@ @ qTBRؽ@ h@9H4A!8Zh4@LT"RsWO{B4@4@b4@) @yi|@,@9q T@R)0r  ?qaT R * 4@-Tt@@{BOAWè_,4@,T"RsWO{B4@4@b4@* @yj(@9 r`T`_ @5M qT@@RARѿ_|@,@9q T@R)0r  ?qaT R * 4@-Tt@@{BOAWè_߻4@,T"R_s_WO{B4@4@c4 @* @yj(@9 ? q!T`_ @)5)M ?q! T @5@ r!T4@M TRs"6@94;R r T`@ @5M qAT@@6@94*R6@95 *}S,@9qT@R)0r  ?qAT R * t@@{COBWA_Ĩ_ARC6@94A!8YAR7@@9 rT^"Rr_WO{ RrB44@b4@) @yi@_ @ qaT@@@ @ qTAR AR@ @ qT@@|@,@9qTh@R)0r  ?qT R *ha @@{COBWA_Ĩ_g_WO{ RrB44@@c4 @) @yi@ @ qT@@BѠ_ @ qTAR @ @ qTARARBѠ_ @ qT@@ @ @ qT@@6@95 *}S,@9q@Th@R)0r  ?qT R *ha 3@@{DOCWB_AgŨ_A!91YWO{B4@4@b4@) @yin,@9q T@R)0r  ?qaT R * 4@-Tt@@{BOAWè_4@,T"Rq_WO{h-@@B4@4@}m T#/d@a~b1@!a^ab4@ @9)rT? qT')A7*@I)@I7J@ R)) )@9)? qaTD` @a~@!a^ah<`@a~@!a^a`4`@a~@!a^aX@@@i)-@)@?T{FOEWD_C_Rqg C#m_ W O { h-@@B4b4@@ A@y)!*Jm9+kE9?)qw@9 r`T`_  @1Q qAT@@ @a^AR&@e!hT mg!`T!!: ǂ(h mg!`-T!!:RR!!@;RL@ @9)rT? qTD)A7*@I)@7J@ R)) )@9)? qTt 4@TA)@%5@jT`;ĸ` ?`C`G`K`O@ a^`S`"W~`[>4@Tt4@@) @yi`Ii)(yh)K)yjj/H)7G)!!;@A@y!C)qT[}"Rp!8ah@@[i)-@)@?T{LOKWJ_I#HmC_"Rp~"wu WO{B44@b4@) @yi@@ @5M qT@@7w 7*,@9q Th@R)0r  ?qaT R *ha AR`6!!;R3 R!8a@@{BOAWè_CWO{h-@@B4@4@b4@) @yiC@@9 rT`_` @5M qT@@7; #@ DT,@9qT@R)0r  ?qT R * 4@Tt@@@i)-@)@?T{DOCWBC_ARM@6!!p<R4 R4@T!8!h4@T"Ro"Ro WO{B4@4)5@*@K+I 4@b4@* @yj(A@y!Xq TTq`TPqT|: |;:; *}S,@9q`T@R)0r  ?qT R * t@@{BOAWè_ WO{B4@4@)5*@K+I 4@b4@* @yj(A@y!81`T|@,@9qT@R)0r  ?qAT R * t!8ah@@{BOAWè_˷WO{B4@4@)5*@K+I 4@b4@* @yj(A@y!841T!8ah! !BR:@906]|@,@9q`T@R)0r  ?qT R * t@@{BOAWè_g_WO{Ch-@@B4@c4@A@y!94(@=T߂qaT`_ @ R r qT@ <BRJ 5BRn߂qT߆qAT`@ @5M qT@@ @AR uB`_ @ R r qaT@ @@s  BR@i `hA@ )!(1`T=(@@9rT qT/A7 @()@H7)@ R% @9 qaT @ҩ!`@6@ .R@@hB ֲ"RCRA_H@`߂qT@@HaR@@1@-!8ARu ``@h@ !(@ TR`@ "R/n_R`@@@@@i)-@)@?T{EODWC_BgA_ g_WO{B4@c4@A@y!qT`_ @ R r q!T@ 2q!T`@ @5M qT@@BRV `  AR)vB`_ @ R r* 2  k!T@@ `AR̼ `hA@)!(1`T=(4@} T@@9rT qT8Rm@@9rTA7 @()@H7)@ R% @9 qaT4@һ3`@v@(` .R@@B ֲ"RCR!_(@`q T@!8ARu ``@@@{DOCWB_AgŨ_g_WO{B4@c4@A@y!qaT`_ @ R r qT@$ qT`_ @5M qaT@@ BR  ARt 4@] T@@9rT qT8bRm@@9rTA7 @()@H7)@ R% @9 qaT@'`@v@(` .RQ@R@B ֲ"RCRU!_E(@o`4qT@ !8ARu ``@@{DOCWB_AgŨ_g_WO{B4@c4@A@y!qTRr`@ @ qT@`_ @ q`TBRsB4qT`@ @ R r qT@BR`_ @ qT@sBє@9H5 ! BR`_ @ R r* 2  kT@@sBZ}S ARrsBZ}S@9H5b 4@} T@@9rT qT8RYl@@9rTA7 @()@H7)@ R% @9 qaT4@f޾`@@` .R@@HB ֲ"RCR!_(@`qT"@y Z}Sͳ@!8ARJu `"@y Z}S@+`@@{DOCWB_AgŨ_WO{sB4t@@ @5M qT@@AR3еb4@A@y!Q qT )e+ih8J @֚    !8t@@{BOAWè_WO{ДB4еb4@@A@y!Q5qT )u+ih8J @   b 4@mT!8h@@{BOAWè_"Rk_WO{B4@b4@A@y!qTqTqT`_ @ R r q!T@e``_ @5M qaT@@  BRпSARR4@= T@@9rT qT[BROk@@9rTA7 @()@ 7)@ R% @9 qT @\Խ`xϽ` 6@97@6@9 5`@`@`@β@=`@5A Rh`@95@-`"@1 RX`&@95`"@ `qT@v@@@{COBWA_Ĩ_R:`@9h4҂RRR-`&@94҂RR҂RR_WO{B4@b4@A@y!qaT`_ @ R r q!T@fq!T`_ @ R r* 2  kaT@@ BRTLARK4@} T@@9rT qTARj@@9rTA7 @()@h7)@ R% @9 qT@ґ `@Ҍ` `@@@` .R@@B "RCR_@н`qT@Ų @!8ARnt@@{COBWA_Ĩ_WO{еB44@b4@) @yi@4@ Tt "Rj!8ah@@{BOAWè_{C(<@ P3rO{CJk7t{AO¨jkog_WO{ 64>97 Z3  { 75?A@y!@qT Q?qTJki8 &@  Q?qTkki8J @@*@JuA97ʊ@9J7*@K]@k @6)=@9) 7I)@Ijq T!q TȊ@97@`' ][Ɋ@9) 07@ *@K]@k@6)=@9)7I)@IOɊ@9 6@i *A@yJ!_UqT*BKA@yJ!rI)@)A@y*!@_Eq$ @ T*@K]@@6)=@9i7I)@I1@@*@K]@@6)=@97I)@I&6 A@y)!?qT@ @ T@@y!rT qATAR +6 qT [h 6 qTAR {hRuȊ@9h6@TB@y@?rIw6(f [hR{FOEWD_CgBoA_O{C{j7s{AO¨jog_WO{:R{7 М tRr62 е @(B@y !*5Q_qTjj8 w?qTki8 @e`T5Tz?qTp6@C@y(qATR& 4 p6@A@y! QQqH# @z Th@%@ '@ %R!!9R!!d5h@%V@(@@y!q! T96J@ A@yp7(@@y!qT @(@@y!qTq TH5( @T(@ A@y p79 6,@96*@9(6`R4@3@9%q!T @ @ @#R`R&@b @97@@@y!]q@T"R @9(7B@y@ w7(T A@y@Iw7SaT{FOEWD_CgBoA_og_WO{ Ch-@@o@@yI7ic4@aR(p7rR s yBy@B@yI7B@y 2By!)qT -Q? qT!q`T]qAT!qR @9?YqaT @9@#%q T%qAT@9iR qT@9q`TAqT@ A@y)!?!q@T?]q!TBR@9jR* _Iq Rz!T-qRR"@RB@y !?qqhTkzixJ @֨@9 6@ @@yJ!_QqAT @9jLQqT @9k * 5 @R H*9@9k29?1qaT_ q`Te@9 qAT@ R_qDBzT@ R A@yJ!KQ=qT R Ќ'ik8  @9)r T?qT R]@ A@y)!?=qT?!q` T?]qTR?-q!Thp7 Ҩ@H@*A@yJ!_!qT&@" A@yj!_ q$ @` T*A@yJ!_AqT*@LA@y!q!TL@A@yqaT,@Tp6 @l@ @Ll@ @TlA@ylp6k@+ @9jR) ?qT @9?qT)?q$PzT@ A@y)!?!q@T?]q!T"R2R0 R bR+ @9jR_)j@T@977 R R@9 *9B@y !?1qT !?-qT@9)? qaT@  R$qdBz!T)@ R+A@yk!lQ=qT R Э(il8 *@9JrT_qT R R *@9kR*jT)@977 R@9) *9@9?qT@9)?q T !_-q!T6@ B@y)!?q! T@  @*A@yJ!_1q! T)@9?qT@ @ R r q!T@@7@TB@y77AR7TȎ@9h6B@y!qaT@h@fd@@9@9(*9@@%B 9B@y !?qT@ @)@7aRB@y)RIR7 *By !?qT@ @@y*!_=qT_]q`T_!qT @9J_qT 9J7@uhC@y !?qT[BRkj@ A@y)!?1q*RI! @R) $@zT @9?r`Ti A@97@qBzaT@B@y!q T-q TqTqaT[t'@ A@y)!?q!T@ A@y)!?1q*RI! @R) $@zT @9?raT@(A@y!qT҄i@@~i@yhCy@97@ A@y?!rT@ A@y*!_qaT@VB@y*!_9qT@B@y)!?1qT@WB@y)!?5qT@*A@y_!r!T+ @ Tp6)@i*A@y_!rT* @_T*@_AT)@ *A@yK! qTjp7 *@_T@ @@yK! qT@@aT p6 @KA@y?Rk !q!TK@9qTRK9ʊ@9J2ʊ9 @* @9*9b`Ȏ@92Ȏ9@929@7)!?iqT?=qAT@9rTL@ @9)@9I *9@B@y2By@ @ @*A@y_!rT)@ *A@y_!rT@hCB@y*! A@yk!_ kd@za T@( @*A@yJ!_ q!T)@906iR *Bym@ @929@@@9 qaT@_qDBzAzT@y R A@yJ!KQ=qT R ykx  @9)ryT?qT+@ @*A@y_!rT)@ *A@y_!rT !@*A@y_!rT)@ !*A@y_!rT %@*A@y_!rT)@ %*A@y_!rTq!TCy*@@?(k)EZ@\R!0)!?q3T?q4Tq3T@)?ATyBy;@hB@yyBy@9iR?(jT@B@y+!qBTqAT%qET9A6*@9 qwT@ R_qDBzavT@k R A@yJ!KQ=qT R "ykx  @9)r tT?qT RL@9q!/T@@1@B@y!qa0TȎ@9(07b"Rr@RmȎ@92Ȏ9@92Ȋ9mQ* @) @3R @#!Rzr\T`\4xr \T@ q[T6[87r`hT(6@929Z06R@96@@@y!%q!T@929 @ :^ҟ@9 qArT@_qDBz!\T@[ R A@yJ!KQ=qT R ! ykx  @9)rYT?qT:@n@@y!q!nT@9'6@9m07 @ @929@9 qAlT@9l 7@ R@9 qkT@_qDBzTT@hT R A@yJ!KQ=qT R !*ykx  @9)rRT?qT R9HA6@@ A@y =p7@9 qaaT@ R_qDBz!`T@(Q R A@yJ!KQ=qT R !%ykx  @9)r]T?qT RvqTCy*@@?(k)EZ\RR@_?9i^7) @ @)]@](7I86JQ.J@9kAk@_q` @za\T=@6 <@9i=7)!86aqTCy*@@?{(k)EZ\R@@@@y!%qXT@VXB@y!qWT@aWT@929 @ 97qdBz]T)@W R+A@yk!lQ=qT R ylx *@9Jr@[T_qT RqT @9)?qaT@qTCy*@@?.(k)EZ\R@)  k)J)EZCH)B@y2Byp@ A@y)!?qT@A@y!qTAqT @@qA96B@9qHT7B@y!%qT@9rTATTB@yIR *By)@ @9 29@9 9h@U@ATҨ@9q&TB@y!ra&T@9 q&T@@@y!)qa%TB@yiR *By-B @9 29@99 @ U@7ATc@KA@yk!=qTK@9qTJ@KA@y!r!TJ@KA@yk!qTT@B@yk!qT@906@9lR+j!TJ@K5@96J@J@_d @aMT(p7@ T*_qaT9*>7)!?qT@J6J@? T R RR R@ B@y!.Q q*IzT@9rAT.qT@q B@y qT1@1B@y1"?2qTrT/kT@q-aT@9.q@kT&q *6qT@@9/q&qTqT 5@w  RQ 6qTrTosorTq7AT.4 26A@y!q-T@9qa-TOC@y!)qaTQ@9/qT@@9?.kT1Q7@Q@/ TRKk TR @@@@qTCy*@@?(k)EZ\R( k)EZC4(@%B@y! qa%T@9(%7B@y$p7@ @@y)!?qA$T @9jR_)j#T@#B@y*!_ q#T2p7 Ҕ@JIA@y)!?!qTK@9'7 RL@9r!Tk qTJ@IA@y?!raTJ@IA@y)!? qJW@W7nq@)R *B@yR *By@ @929 @9jR_)jT@9h07 R. R@9(*9 @qT@9u9@9 qaT@ R_qDBz!T@ R A@yJ!KQ=qTR aik8  @9)rT?qTR R @9 *9U R R P R t/R@@@ B@y 0q!R @R @zT @9qaT @9?k@zT @`@@y! ?qTT?qATT1@a ?T@1rTHRjT@929RjT* 7r %I 74R @9jR_)jT@9h77 R@9 *9@ )@*A@y_!rT)@ )iq!TCy*@@?(k)EZ@\RA( @9jR_)jT@977 R@9 *9@ @*A@y_!rT)@ *A@y_!rTq!TCy*@@?(k)EZ@\R)  k)J)EZCH)B@y!rTi@?T @9jR_)j@T@977RC R *@v@* 6L1R *By)F.*9@9?qiI3(*9L*H9{*@9kR*jT)@9Ɍ77 RH*9(!qiS9(R *ByB 5[wB@y!%qTȎ@9rTB@y!qT@9@9)  *R *9Ȏ@9@9 *29@@7R@?T29@t@x@v@9y9B@y2)By(@ 97e@@@@"RZBRRR@9y)R *9R@@9(6Ɋ@9(6 @9)2 9 s 71@I)-@)@?AT{IOHWG_FgEoD_|7C*Q( k)EZh@`@?1AT@I)-@)@?!T{IOHWG_FgEoDeaog_W O { (R Ρ,O 1>-R -Х4 6` RaR/yox (R/ 7#@(@?(R/`6JR #@ @(R+JR(R/*R+R R@O  )4HC@y!]q`T!q=TH@9Yq=TH@9/@r5+Z@k!T (RJC@yJ!rTZ@JC@yJ!K1Q1qThk8 ֬Xj!:T_1qTLUQ qTHC@y!q Tq T%q!T J@9K(R qTJj5J@9*5@6 R Xj TXjTL@9!qCTR5644zR{(R"ؚ7 ;_q TH6 1qT,jk8) I@9+q`TAq Ti 87J@9J _q!TRV)?q'Z@H@9I@9 q @zTH@ A@y)!?=qT @9 @9R) ?qB Oz(T7I@ z;_ R@@ @/@6 r`TH@ A@y)!?aqT 97@@@y!]q@T/@O@ 6 RA Ρ,@ 1>-R -Х4 6` RaR@7 (RO@P)uI9_UqT_YqTI@9?qBT"I@9?q'K@jA@yJ!@4?q'_1J TI@9 R_)jTj @?q'_1J T?qTI@9I?6 6Vz(R+` R r qT@@0H@z; RFH@hz;A Ρ,@ 1>-R -Х4 6` RaR/ARŪR` 6Х4 -R 1>-@A@џq I RIB'*O@6 RaRO@ z;@@@?qcT(QaRO@_ RR{Z@zR` 6Х4 -R 1>-@A@7@W j6`76q( 7h}!Va@`RR1T(@9*(9+@h6#@ ?`T?!TB@y!UQqT@Ȋ@96@#@ATH@9/@?riR I (9HC@y!Yq TUq!TR"RқR#@~1ATZ@:+@ @@yp6@sgR)R/ 1>-R -4 6` RaRO@)7RH@9 R {KOJWI_HgGoF_ _WOR)R?Rk6 %.Эa4NRRP 1 cP*R p-RA4TRՈ@96@@y"@4T @AT@B@y"*qCzTup6@TB@y "qT@9u 7@9q CzT@B@y"qT@u@ZSRuB@y"@qThu8 T@ T TR*"QbqhTiv8 T@ Tt@B@y"qaTaTԈ@9 72*qTzu07t 6t@9 7T@6T@T2t@5@@zt.@kTRXT@Uu@B@y"qAT2~T@q5 56 R*t@96u@TtB@y"q@TT5jt@9 7T@T2c2a RU*t@9t 6Ԉ@94 7R*UT@ RU*t@9 6v@!6kTRT2Ct@9T07T@ T@@9T7R*8Ԍ9q*3R.U@Uu9q**(u@%2#T@Tt@5@@zt.@kTv@a6kTR*t9q* .R* R*u@U@TtB@yw7t@OBWA_è_*@ og_WO{CC"H-@@@@y! qTqTi @JJ@? Ti@9?qTv@B@yIp6@ʍ9A@y R*6*!_-qLT_qDOzTi@906i@9I07n@A@yp7B@yJ!_iqT RR0RB@y)!?qaT @JJA? !TɎ@9 7ҘB@y)!? qT?qT @))A ~T@ A@y?R) jR? kT@B@y!q!TRr@@  2* _q!T( qT@ @; @ @JJ A? azTɎ@9 7RRRRRR(I  Yן @@y*!_ qW*7@B@yvp6@Jv @9) @9xrtI*7IA@y (!qT( 7(!q!T@@   ?q@zTR!6Q@96O C)o+RCEo@@3@CC) @O@@tI*$i@Z {R61qmT2@*A@yp7e6@a@B@yJ!_iqkT R)!?%qTɍ@9? r TRRAq jTNRq) @z﷟6_1qhT_aqhT_!h5_" T}S gTlTiB@y)!?qTeR4&?TB@y)!? qAT@IA@y)!?%qT @J @_ !T@KA@yk!%qTJ @_ aT bT_oO C)3 T RXOBRO@;@?T 9J)?bT*@9_q!T)?T*@9_qT_q!T9! R )A?CT,@k * 6+ @?!!?T ҉@?r B@y( p6@+R @9k q!T A@yp6@K#/#@  #@T@$6>@9(7+RȰo@E @ R r qT@ @ @+Rno@E@7  @ |Ak @*k*kqSk}k k! bT; @9G @T  @9GӈA( @ T  @9GӈA( @`T  @9GӈA( @T  @9GӈA( @T  @9GӈA( @ T  @9GӈA( @`Tk@9K @! AkGkk}K  T  "T)?!bTK?AT ,} ooN J oo@ ///ocnB.n!.J!T!NN N^f? T,*|ooN oooooop< o/2/1oo/onBn..c.nn!.AT!NcN!NNBNN N^f? Ti7 j@8J TR#@ _TC) (uSo2O34RR R#(/!?+ Wt4 T +8T @9qAT @8qT*  T) BFHC@yp7h3@_ TO@@@/@@@4TBR=O@@@Eo@r@ #+@g #@:E@O@q) )!j *  T*@_+TJ  R3m9 R3m9k J_IT,87l8J_hTTҟ @o@hCџCT@A@oo@3@h@hCџTH@SO@@@/@C @@z3CTTHC@y! qAT_TTC@yhp7@BT+TH@@BT"@ZT@B!TA@yp6h@ZAT@BT #@@BAT"RRx3@@@TO@@/@o@h@H@O3@O@@/@@o@"RVRP<O@3@o62OT@hRJhB@y!qTC@yp7"R2R @,#@"R%R @@u"Ra@R3@H@h @@4@9aO@(*2O@hRR]"R@h@9iR *h9O@h9hB@yR *hByAh xZI)-@)@?!TC"{EODWC_BgAoƨ_O{C@@y!eqTh5 @e@9(713R@97-R@9H6;@hC95@ A@yip7@B@y !*!Q_q+Rj!ʚ+ ( AJ D@!T*9Q_9qT k.lmij8 ?}q(T*RJ! R_ jT{AO¨_։5@?@Thp7@ #R{AO¨'C#mog_ W O { H-@@/9c4(@@9 @*R  _q @zpTRr qTh@ @#JBR{#@(7h@ R)0r  ?@qT R)4r  ?q Ti@) @#g(@ 7@i@( qTh@ @+u @)6$T(@@9E"X 7&R z`x}SR'@"bT@9k`8a )D9(' TK@8 kk8)  )D9 z 4 ?aT#RH)T'T@"R[!R"R[@@ @h@ qTh@ @+v @JTRh@y] R *h)@77@ R   j@3T_q?Tj@T @+u @:@9h@6@06 R+QT"|V 6& %'@OT@9jx8!)D9RH% TK@8jk8)  )D9 z 4 ?aT#R('CT:(7'@'@x3@)yx(=@76T R kTR kT4@"R?[!R"R:[AR"R5[@ @IQ qa T@@KCRq+@i@)7T  ?7TCR\+@kT9R @'I{`'@"BT9i>@9i/6H6#@94R#R$/@I)-@)@??T.AR@`@@ @(@@9@ @@9v@:@9h87@ @ Thr)7)@)@9(3qh@ q)Th@ @+z @7cnH(ayr;KTY}S'vh'@{ Th9i>@9(66#S{` T T@?77@(R'{`!T';@ *H6\88@)y` w6T'@6Һ$h@94R#R<${`Th>@9((7h97H8hT\8'@'@Z R 3I9 R 3I9Z ;(R'@@@y6_9@Hi@( h@ ;@IuI*6~6|@ TaR"R$Z@ @ R r* 2  kT@@r66_qTi@4 @+u @H6(@@906 RR$T"[ {7&R '@'@"T@9hk`8i)D9' TK@8lkk8) i )D9 z 4 ?aT#R;''TH{xH7=@$'@T7@B_h@ ;@IuI*i72h6CR+@h@)@:@977+T"RR8T@9/yx=6 kT kT 8ARr6h@ q@TCRž+@96CR+@h@7T"B T@9 yxi79  *~  _8_8_8E@81@y@y!@y1~S1RB@y|SR!|S!RB|SBRkT  t ? T" @8*yjxJ}SJR CT?T"RRkTn@9/yx=7 kT 8  k!T8Rz079@i@( h@2h(6:@eh@2h6.h@H6+9i@( h@h7/@))-@)@?T{LOKWJ_IgHoG#FmC_079i@( 7zh@ 2i6r/@))-@)@?T҈6og_WO{(-@@RrhC( @ qT@ @ @CBR @ Q} q[ßh2@9 qTaR:"h@ @i8 TqT ##BRΝ@#{Qq)T@` @(7X6 @*9@9 7rT)@)@)=@9'7 4 qaT@Ah>@9@ 7h@ @AcTAlӹh@ yi)6)@9?q @zATqT!@BRļB @R>@97(6@@9rR qk TRR @9@rc9#QqT @ @ @  ?qT @" @@7 #BR`@(@ @7R qKT7RR @9@rڻ9#QqmT @ @  ?qT @" @@7 #BR:@(@ @7R9#QqTh:@907@))-@)@?!T{GOFWE_DgCoB_y@))-@)@? TqT_WO{C(-@@@@ @ -)U ?qaT @) @ @?96 rTCBR@ @?96 rT@9q@zTh@ yi@)=@9 (6)7)@)@9i72h @"?ҝh:@9(07?@9h4@9H5@))-@)@?T{EODWC_B_?@95҂RRa4@HA@y!@qTqT! ! ,9h@ yi@)=@9/7)A!yhC_WO{(-@@a4@ @9i(7@97RRr@ q TRRr@ qT@ @ @$uqQSRr@ q@T2\q+T*gX 80.& qBTH .>@9(6!RRq` 4@ qT@ @ @v"qTh R(  Ț@ Tjh8~) @%ɚ )!Ӛ)B+v"qiTw~SqT! RW ךbT-~@)?))?T J/Lii8k `֩ @9)@9 x)@9 p)@9 h) @9jQ)!ʚ ) @9jbQ)!ʚ )@9jBQ)!ʚ jh8!֚@))-@)@?AT{DOCWB_AC_lg_WO{C(-@@ @(%A953!@h@ R)4r  ?qTi@) @t @(7 BRGh@6!RRۦh@Rr R *h@ R r* 2  kT@@ARà@@ @ gX 80. &q"BzBT@qT @ R(  Ț #qaT C ) Ț) h T}@H C@ T_ TqT!ښ(*( jw8)!I) !(*j78:* I  6i>@9 7i@) @?T!@t @vi@( qiT#QqhT )/+ih8J @! Ru Z Q&Ț( 9cQ&Ț( 9CQ&Ț(9&֚j78h:@907@))-@)@?T{EODWC_BgA_{@))-@)@?@T7 og_WO{ C(-@@OyR94rRr?@T$@ qaT@ @ @h@ qTvq`Th6@94h@ qATh@ @t @@ q`T*RϚh@ qTRS@ q!T@ @ @?@9H(6h@ qTR<@ q TR?@9(7R>@9h(77@@97:R9@c*@);aRX>@9(7@9@9 *5B 1h@Rr R *h R)4r qTx @h@ @?cT47@@9(7:R9@C* @6aRgX@9@9 *h47w 3:Rרh@ @?bT h@ @!_h@ T @ @H @@EvqTzq`T~q!T(T +@N@ +@N@ + @N @ +) @NJ @I  !TvqTzq T~qT"T  @8@8(*h8aTH"T  @8@8(Jh8aT5  @T T@IT @TR\h @i@) @i)8 @@:5th @i@) @i)8 @ 4R R@bi@( h @i@) @i)8 @T +@N@ +@N@ + @N @ +) @NJ @I  !TBT +@N@ ʋ+@N@ ʋ+ @N @ ʋ +) @NJ @I ʘ  !T vqaTHb T  @8@8( h8aT9z595,@95@))-@)@?AT{IOHWG_FgEoD_  T  cTz ,M@J) " ¬DF¬NNNN?1TTC  T  cTz ,M@J) " ¬DF¬ n!n"n#n?1TT%  T  #Tz ,M@J) " ¬DF¬ N!N"N#N?1TT{    2L' 3JTi7n{    EA¬$A&¬NNNN TTF{    2L' 3JCT)7n{    EA¬$A&¬#N"N!N N TT#{    2L' 3JT7n{    EA¬$A&¬#n"n!n n TAT vqT6@9(4҂RR"lg_WO{B4@b4@@9rAT)A7)@*)@*7)@ RI% 5@9_ A@y)!?Mq T?QqT?qT@9q q:ySA qaT'9RRRA qTqaT@@9h7A*w@)-@? q)5Z_ A@y)!?Mq!TRZRuA qT@ @9(7 @96p47@4@ 7 @)   BB*@@R RR@*o= A) @ 5@ Ta5@y @ 2u Rb RR@!9h @h @!)@)4)@ @4yhh:@986 RRSAh@@>|@ˈ@R)0r  J,J@9_q AzT R * @@{DOCWB_AgŨ_Up47 ?T,WO{Rˀ@9) )5&+i`86K4( D9R%˚Tl@8-il8J * JD9 z J4 _aTRҀ$4( D9R%˚Tl@8-il8J * JD9 z 4 _aTR{BOAWèaShiT@94h{BOAWè_{BOAWè_{C(RAR{A_{CAR{A_{C!*@kT(RAR{A_{C!*@kTAR{A_{C!*@k觟ARx{A_WO{еb3@q`T qAT31`T(RAR^{COBWA_aRT{COBWA_aRK1T!RF1T`6(R{COBWA_֡@9qVz!T1THR@Yq@T9qTHR{COBWA_O{1T(RAR{BOA_WO{ւ3@qT q!T1T(RAR{COBWA_ց2{COBWA21T!R1T6(R{COBWA_:@9qVzAT1THR,@YqT9qTHR{COBWA_C_WO{3@qT qT1T(RAR2{DOCWB_AC_֡21T!R1T6(R{DOCWB_AC_@9qVzaTz1THR@YqT9q`THRWO{е3@q`T qTA1T(RARI{COBWA_ R{COBWA  R1T!R41T`6(R{COBWA_֏@9qVz!T1THR@YqT9qTHR{COBWA_WO{֢3@qT q!T1T(RAR{COBWA_ց2{COBWA21T!R1T6(R{COBWA_:@9qVzAT1THR,@YqT9qTHR{COBWA_WO{1@T@5RAR@AR{COBWA_O{@1T(RAR{BOA_O{1T(RAR{BOA_WO{1@T`@5RARk`@ARg{COBWA_{C@#45B|@{A B|@{Ah}@ g_WO { (-@@CC#7hRjTrT6@9(49RjT6@9H7hRC9Av3@9RC&RX?D?@@97@WC#994[))-@)@?T{JOIWH_GgF_ !P҂1\og _ W O { C(-@@so'a4@ A@y)!?qaT9 S S+) Sq觟')63N 6(j98aR'R5 BRi@8zi)jTiTR*_8zj*jT?9 ?(T84+@ @ R r j@T-U q!T@ @+@4+@ TRM `h78K tCBRܓ R9aRQ@9'@)@(9@9qTh@92qT4i_Th_8q_T6@9H55hR8h@97RqT4h@8qA]TR@8zi)jThq(@9qTC@h5@R4 !@R0R R RqTq TqTRi@8zi)jTHR8+E)H*q@TRI R_q(8h@9qTq!T.@8#4zh R_)j`#Tq #Tx&4RR@>"RW6@9*5@8q@'@+T'@@) R 98v #@H*q*TX4qATh@9qOTv @9/@q@Th5@R4 !@R(R R )R4&5)T _8?qTx4 @9/@qT@9 *6@9 ?qD@zHT4 !T50HR8+@h*q TH5'@@R 9 R @8zj?*jTIR8/E)i *?qTRJ RqI8 _8?qCaT@9h4aRg+CRR&R=R@8q5@9i4(@9 *6@9 ?qD@zC@!>TH4 !T/6@9<5'@5( _8?q!T8@R"4 !@RCR8#@*qTRI Rq(8 qTffX 4@9 4:R7R56@9(75HR8+@h*qTRI Rq(8 qcT@@'@@R 9 <'@@R 984R@8Zi*jTI4:RC`*4QRNU'@@R 9 qb2T`Ri@9i4?qT=7R<UR'@)@R*94aR+R7R+9)T R _8zj?*jT9HT R@8zh?*jT/@qTzi R)r?(j)TR  !$4/@98h@97Rq!TS !$)/@8q@'@@TR8#@H*qTRI R_q(8@9qT7R@8q4q$TyS R@8zh?*jTX 4@ @@7 p6` 4@ @ Rr  2) ?kAT@@ҍzh R?*jT@8Zh?*jTqATh@84zh R_)j TqT4RR<R7R[U'@@R 9 qTR7RARÖ[aR+7RCRR&Rh<RҀ@9*%TC]4+@ _ө64/@  @< 3:UTGUTTT@B9qAT'@@iRaRR@0@9%QqT@/@4R;'@@R 9/@x5R[1RqaT4RHRRR<qT7YҟqzV@94?qTzi R*r_)j T3RRCF_@oA9#99'@Z))-@)@?T{MOLWK_JgIoH_'@@RHR# % )%# ! RRR8.6@94 2.6@94#@# p'@@9 R R g_WO{C 2@9%QqT @h@R@@?R9 )R ` @ h@B9q@T9*Z#*I Th@ B9` @?qTh @(h@@h@B99)@TB1` @?1=1H@1Hz-T@H 1@9?%qT @@@@@2T @@@@ !U h@{EODWC_BgA_og_WO{CC(-@@o`````=bR4@B9q!TSTS T@B9qTST( @@(@@ !P(@B9qT Rj4K H_8)qT % !* RS A )1() @)@?))@)@' !pRn9@B9h4qT1`T0?kT>9@ @*B9Jy*9(4@ B9?q!T@@9%q`TqATR9RRRҁ:@@ @ `C`#=!=`AaBa@ Req@T97I7CPx r T1@qT@iR 9Y 77 @*"R1J@(3@95!RЇc@9(@@@@"R#J@3@95!R‡(@ @(487s720!*@kTAR!0?qT7CPx) ? @q@T@ R +(RRC9 @3@(9Y )-@)@?TC{EODWC_BgAoƨ_/Y@B92q@T Rs86@qTo g_WO{-@@@@{i@@AR RM5R@R@ #R"RRBH@ B9jR_)jT)y 9h@h>@(@(O@@@( @R(*h7R)Q (A h @@`596Rrb  @R ! (,@6 @@17!;w>A4@@`6:@9h(7@ ?!@qT )%Q? qbTsB*t@6(Rt@@@`!;TA*@ )-@)@?T{EODWC_ֈA*v(Rr(RA*@ ?!@q`TX6 @h@ ?)q(T7 ?!@qT%Q qCT@X6 @2@9?=qaT҉-U qT@ @ @2O@!>,@_@ @1*!R y@@@@y!@ qT!R T i)A5yh TR!;_A*6 R4m h_8)qT 52 !* R'HR# %W ! R7A* Ri5@ )-@)@?!T{EODWC_ @h@ ?!@qT_WO{-@@b4@ @9 7@9R qT1*@y9qTA*@@6@TA*  R(4h @@h@@ !$RB(RA4@@1*!R y!>@X7!@qAT%Q qTR`6X7 @@&1*@y9qTsB*t@T6r(Rt@} @@  %Q?!@qB Bz#T=q!TR߿@6 ! Rٿ6 @@H@@ !$R@-U qT@ @ @b2Q,@@@@@y!@ qT!R T i)A4yh TR !;A*6 R 4yh_8)qAT  !* RQ @ @@HR# %S ! R>A* Rp 5@ )-@)@?T{FOEWD_C_  ٽCog_WO{-@@Y>C })Rr}ԶaRD#(T s.ӆ#T@@ @ qT@ BR@aRDن#IT@ qT @@XaRD@9qAT%@@9qT6@95@!,@cR-BRs@aRyD@9qT6@9h7!,@cR@9h4cRH@#!,@cRm@`cR~@ ).7.@R 54c@Ri=@ )-@)@?aTR{HOGWF_EgDoCC_d !RS5HRcRKu{C 4 Cg_WO{-@@Hr=aRCS@9 9C4R)[i)jaT@85 !47R1 5" ! bR+@5 !BRCR.@9qATA !!RCR2@9RiR q6@8qT@85(_8)qT8_8 qT8!,@cR 67 !(cRR8@R5=@9qT@9({h R?(jT !8R5@9({h R?(j T(R*@8+[j+jT_qT!,@cR  7 !cRU@Rν4 !R4cR<@ )-@)@?TR{HOGWF_EgDC_W4 :X@94q TziTR*q`T?qT @9?qAT @9?qT_ T _8?qAT_8){i R_)jT @94*{h R?*jTJ([h?(jATjj8Jh5 RAR^1T @959~b T~}AaRBh88QaRB@9+4 R+[k?+jTK@8,[k?,jT4 K@9k4J+[k?+jTK@85_8K@95@!,@cR@4cR@!q T@@R @4Ro g_WO{-@@hA`6@9q4 BcTRQYqOT ) 0+yhxJ @֜М,@9c5hEKT Rr@ @ qaT@@A @ qTAR܆Д,@9a5hC"?hJT Rr R  @9(4qZ 9#?HT @ @ qT@ @@BRD@95@ TR(HR#  %'Ray7k@y @q!T6@9(4@:!Z,H@9W5" T Rr@ @ qT@@9,(@9V5hETA_!8a.TA.T,@9(U5T Rr@ @  qT@ @@ @9?qT*@HeT?MqaT@9%qT@9qT @ @`,6@ RBR @9?qT 8))?eh(T@) @9*@HeT@ @ qa'T@@:AR A @ qT@@@9K5hCb/T4R{Q".T@ @7 ?!@qT )%Q? qbT @@ @@,@9 57qK@ @ ?!@q`TX6@ @*_)q(T7*_!@qT))%Q?qIT @i  qT@ @@RF@95@ TRg56@94@R HRH#  %'R ! TB@@ @*_!@qT6@9(4@1 ARwH@9h;5hCB(T4R   Q{#T`@ @h7 ?!@qT )%Q? qBT @@ @@",H@9( 57>_qK`@ @ ?!@qTX6@ @*_)q(Ti7*_!@qT))%Q?qiT @ qT@ @@RH@95@ TR> 56@94@HR(#  %'Rʺ`@@ @*_!@q@T6@94@ Rr @ q T@@;@ q TAR܄RR@ @ qTARӄq觟*TZ@9$5hCB@4Q9#?T @ @7r`T@7R r @ @rT@%4 @ @hG6@@@954r56@94@U-@h4a+@?AR;@ qT@@#K(@95hCb)TZ )-@)@?T{ROQWP_OgNoM_ Rr4R   qZZ {#)TZ {#(T`@ @7 ?!@qaT )%Q? qT @@h @ +(@9 57`@ @ ?!@qTX6@ @*_)q(Ti7*_!@qT))%Q?qT @ qT@ @@R(@95@ TR `HR#  %'RιZ {#)T6@9(4@`@@ @*_!@q@T6@94@"먜T@8@9 r@T46@9),(9RQYq)TT6@94@6@9(4@z6@9(4@r=6@9H4@jF6@94@bQ6@9H4@Z6@94@R6@9h4@J6@9H4@B D_WO{44u@kTw@kTRqT|~*q+T )_?kATPh @y Tj!T+ 4u@kaTh @yjT!qTh @y) R j  RIz{COBWA_Ĩ_w@kaTh @y TjT R{COBWA_Ĩ_%h @yTjTR{COBWA_Ĩ__WO{ Rr @ @ qT@@JqT @HRARJqAT(Rx@ @ qAT@@:q`T^q`TJqT{COBWA_ĨARv:qT@ R r* 2  k!T@@@ qT@@{COBWA_Ĩ_AR{COBWA_ĨvARʂ{COBWA_Ĩg_W O { -@@ Rr@ @ qAT@@bq`T@ @ q!T@@ @ q>qATQ qT R qTLARbqTA @ q!T@@@ @ q@T AR@ @ q TARx @ q>qTbq@TNqTQ qBTR qT@ ? qT( 7 R)0r jTRy@7@ @)T @:R>q!TJQ q"T R q@T@ R r q!T@ @ @2!|:R>q T/q&q`TqTRBR1 T{@yH4q!TaR x@(6@ R)0r jTBR2@TR>qTq跟H q@ TW@7r Th@7Rs>qT@@k>qT@r!T_>q`TbqTNqTq跟H qT%[ )-@)@?T3@"qq跟H qT@ @@) @i)8@Rr  R) *7[ )-@)@?!T{KOJWI_HgG_[ )-@)@? T!I)7)Ys WO{ -@@ Rr@ @ qT@@A @ q TARl@ R r qTBR@AR\A @ q!T@@@ R r qAT@ @ @!qDT77^R@ )-@)@?!T{COBWA_ _WO{ Rr@ @ qT@@ @h6@95%AR @h6@94@ @ qaT@!@@ @ qTAR@ @ q`TARh@ R)4r  ?qAT&Ҷ@ @ qTAR@ @ qT@@@ @ qT@@h@ R)4r  ?qTBRh@7h@ @~@!%Tx @JT6,~@%{A7u7W7~@7~@!i@( h@Rr R *hh @i@) @i)86@9(5{COBWA_Ĩ_R{COBWA_Ĩ_҂RR^|{COBWA_Ĩ_C_WO{ -@@@ @5M qT@@ARl @ @ R r q!T@ @@BT>BR|@ThU~țBR @iU}ɛBB7٭w4Q=qT )Ӫ J ) 2JcT Kq|h Ө   K @ BAւ AT_ TR*@y y*@y y* @y y)qTi@ )-@)@?T{DOCWB_AC_֍_WO{ C -@@ Rr @ @ qT@@A @ qTAR@ @ qTARARA @ qT@!@@ @ qT@!@F#AR`1T77~@~@@?)T6R\ )-@)@?! T{IOHWG_F_7BqMS<`TBqTh@ 7 ? q) Tr TRr  R) *i7h@ @)T` @Rh@ R r qTh@ @a @ yjh@ h @i@) @i)8h:@9H076@9h4҂RR3{BR{@k貖}@JkT`K}@\ )-@)@? Th@ ? q(TaR&uh@rTh@6@94_WO{ -@@ҫ@-U qT@ @ @ BTBR|@ TR` 4R: !47R !@BRCRBR !RCR֢@ @ @Ru@@ !"RRR @@ @@ !RRة#R@a>@ @@ @Rs @3R 46@ !RҴ@ )-@)@?T{FOEWD_C_HR#  )!# ! RW_WO{ @  RrRR6@ @ qT@@ @FARr~ @6!0@)!)@q @zT@RR6@ @ qT@@ T)R$ARP~ T@!RR6@ @@ $RV6@9qT@qTHsR{COBWA_Ĩ_O{C@@?qT(QR{AO¨_R{AO¨_CO {  -@@RRM6@h @h@9q@T c 7@@ kT@@ T^ )-@)@?T{LOKC_v # \C_WO{ -@@2x6p;w7f 4 ! I)7 yh 4 !@&H7yi !d&R! {EOD_WO{5@u  @~A T**qS }h ! cT*9L7 ! @ T 9m7  @T 97 @T 9-7 @@T 97 @T 97 @T 9M7 @`T 97@T!A )T T ) 97)T{BOAWè_CQT j _T "T96. T q T@8kqT4 `== aA= L@ NB NB!nCTAObNCTBObNCTDObNCNB#nJf_Tj!mA Txkqk_L T  BT96- ˿ TJJ_ qT@8J_qT  TJl8_ "TL9l6y1TM@9qTe3m8J _ cT9kk{BOAWè__ bT , -8qJ _ bT?T Rl3L9+_8k}Sk2K8J ?#T+9k7K8) ?"TWO{H@946@şKTi 8 _ "TL8l6- ˿ Ty1ATM@9_qTe3j  99ˈ{BOAWèԟ{BOAWè__WO{H@9(47@Te3K  8  Tl8l6- ˿ Ty1Tm@9qT˟9t Ҋ9h{COBWA_ĨT{COBWA_Ĩ_WO{6@ @|A T**qS} !T<@9G_ @T @9kGhA(_ @ T @9kGhA(_ @`T@9kGhA(_ @T@9kGhA(_ @T@9kGhA(_ @ T@9kGhA(_ @`TJ@9J *!I!LAGӌ} L_ T? T _!bT K_AT M}, ooN( k oo@ ///ocnB.n!.k!T!NN N^f_ T1K|ooN  oooooo< o/2/1oo/onBn..c.nn!.AT!NcN!NNBNN N^f_ Tj7, ) @8J TkT  R*3 9 R*3 9 T97 8cT9h{BOAWè_g_WO{C7_TRr** iw8 ix8I3 J_aq T *x?cT?T*} S_qT*kw8KqqT+kx8K3h)  h{EODWC_BgA_֠ L'? . )%'q( &5R%R$RRog_WO{ -@@_ T 7&RRR** @9qHj<8j38 @BT@9k`8 )D9h' TK@8 kk8)  )D9 z 4 ?aT RR @@CTJ }Sj<8j38 R$@ˈ@ )-@)@?AT{FOEWD_CgBoA_ٿ{h Y`A{_{h! @A{_{hA @A{_{C ))I8 @7)9(RH{A_?1T|F2(9R3(9HRH{A_qT}qTqTsR` R 9#9HRH{A_/RR*' 'q{CT ))i8 @)7I9(Rh{A_i)$$@ )( 5&` ){A_?1T|F2H9R3H9HRh{A_ ?qT?}qT?qTsRhjRHy` RHRh{A_/RR' ''g_WO{C"H{`5KmT @TBDBTT@9 )A$"ih8Ty!G@ aT9ˈ{EODWC_BgA_qkT)@* @)@9I )y` Ry4ha4@@@y!@ qTAR>@Ri4ha4@@@y!@ qTAR. ))77yh[ !4/R[))77yh[ !80@RRK Kh88Zh7G@Rj {CT ))i8 @)7I9(Rh{A_i)$$@ )( &ƀ( #R{A_?1T|F2H9R3H9HRh{A_ ?qT?}qT?qTsRhjRHy` RHRh{A_/RR' 'P{CHT  i`87H9(Rh%@  ) `$&@. @4 {A_ R 3I9 R 3I9HRh{A_qT|qAT7  I8@7(9(RH_րwR|F2(9R3(9HRH_7hnR(yHRH`R_ֈRHRr(/R__WO{C -@@6h!@ hA@9i)E)@9q @zTTqT}qATV 7  i8@(79(R=RjT++:+J.7hA%@ 1) Х h!%@ 1) P4&ƀ. z p=wR|F29R39HRh@ )-@)@?T{EODWC_B_7hnRyHRh`RRhRr/Rg_WO{ -@@6h!@!hA@94hE@9H!59 @(7V7  i8@h798 kT( qT@9 _qT(37 ?qT6 ?}q`T@ ) (i8@6~F2 5& iw8  kD9R%̚ ? T @8im8k  kD9z 4 aTC#RB @  R 39 R 39j( T67hA%@ 1) Х v6+T@y)\R J @9R) J * 4@y靕R J @9R) J * 4y;R#Rw66h!%@ 1) P4&ƀ. 766h@T A$K9k6k@ ik8J _ CTȼ|@qT9(RR39R39HRh@ )-@)@? T{FOEWD_CgB_֡ !d)`Rբ@9iw8b_q`TR% 4W@8z_ T !*`R~ӃRHTRhRr/R`R!ThRhR 9蝕Ry`Rֽ*<hA@95SwRV7hnRyHRhwRUWO{h Y`!@9 )5&+ia8h* JD9R%a bTl@8-il8J * JD9,z j4_TRIbT@9(5A{BOAWè_R#R WO{hA @@9 )5&+ia8h* JD9R%a bTl@8-il8J * JD9,z j4_TR bT@9(5A{BOAWè_R#Ro WO{h! @@9 )5&+ia8h* JD9R%a bTl@8-il8J * JD9,z j4_TRbT@9(5A{BOAWè_R#R3 WO{v@ y`(47@*@) @J@9) )y`  K R{BOAWè_ҟ{BOAWè_K))7)Yh*E@i )2 Ih8{BOAWè__WO{C -@@4h!@hA@94hE@9h59 i7(@ ))i8!@(i79(R=R?k T(y1 T@9 _qT(e34 qT }S)29 R 39$ @ JIi8!@79(R?1T(|F2:hA@959 7!|@qT9(RR(39R(39HRh@ )-@)@? T{EODWC_B_8R?T7@ 5& iw8  kD9R%W _ T @8im8k  kD9z 4 aTC#R @H TR#RYh$@ ( 5&` }4=@WR# ' ?qT?}qT?qATsRy/RwhjRya RR@' 'x@9qTHRhRHy&R_( T@y8R k`T_(Rh R@9__WO{C B$?CT@9jh8@ MT *@9_Tjj8) ?CThA@9(5`R4@9jh8RHa4@@@y!@ qTAR5@9js8V?qTR% )4 S@8z_ THa4@@@y!@ qTAR))7 yh !`1`RO@}{EODWC_B_))7 yha !$`R_WO{C -@@4h!@hA@94hE@9h59 i7(@ ))i8!@(i79(R=R?k T(y1 T@9 _qT(e34 qT }S)29 R 39$ @ JIi8!@79(R?1T(|F2t9HA@959 7|@qT9(RR(39R(39HRh@ )-@)@? T{EODWC_B_8R?T7@ 5& iw8  kD9R%W _ T @8im8k  kD9z 4 aTC#Rҋ @H TR#RH$@ ( &ƀ( #4@WR# '' ?qT?}qT?qATsRy/RwhjRya R+R@' '_WO{C -@@4H!@HHA@9h4HE@9(59h7@ ) !ih8(79(R4R?T y?1AT@9*_qT e3X4  R 39 R 39(@ ) !ih8c8HA@959(7|@qT9(RR(39R(39HRhK8R?T@ 5& iw8  kD9R%W _ T @8im8k  kD9z 4 aTC#R @H TR#R(H%@  ) Х`$&@. @4L4 @ )-@)@?T{EODWC_B_aig_WO{@9%qT T@yR k@T{DOCWB_AgŨ_ַTRY9% ZC$ T@ykT @2AT@9Hkh8T@9%qTHR8Rhy &R{DOCWB_AgŨ_(R R`9{DOCWB_AgŨ_ R`9(R{DOCWB_AgŨ_@9%q@T( T@yR k T_HRh8RHy &R_(Rh R@9_og_WO{?T8R 9C$:;R +@97k|8(TqT@9(kh8T? TqcTT@9AqcT@@RT@ 6@RA? kTq!T@9 qT @9qT?TqTqaT@9qTqT @9A"T@9}QqT#ȚT T@9uqT@9=qT @9qAT@9 @9qT `R4RdRRfqKTR4 R;RHa4@@@y!@ qTAR l))7 yhh 4 !@&RR`{GOFWE_DgCoB_{ J+@8Kik8 HD9(4q`T?T{B_ {B_@9qT+ˉR1jKT  +@9kqT)? CT)IT * T961aT !- k%-  T@9q(TR?"1 !0-c@4_ @ 5TR{B_@T_ @ 5Tog_WO{ -@@ h@yhKT7 6 C$ , _9_"RCRP@9kh8Th@ @" TQ}cT@9kh8T {C , C$ 9, ز@9kh8Th@ @"T)Th{`7pTBRw7 @Tθ 76yT_9_"RCR@9kh8TQ , C$h@ @T@9kh8T: !(bRCRق3 B$ ֊, _9_"RCR͂@9jh8bT}Tl@9jh8#T ֊, B$ҽZ@9jh8T` @@ )-@)@?!T{GOFWE_DgCoB_(@)@" @Cog_ W O { @ -@@HR6I)A)@9?qJJEJ@9_qz? jw 2r (@_@_E Ҋ3_3TT)Һ ZC$@9w777w69h7(R#@9  ?iH1k9k@RHk`8#@L @H4@kk@ @C$@Th@9Xkh8@9Jki8 kaTqIzT`5{9$@aT@Tm @4@9Hkh8(Ry@4@9Hkh8(R@" TTV@kkE@H@9777w69 7(R@9  ?iH1393C$@!T@87(R@4@33C$@T@4Hk`8C$@T@33 C$@AT|F239@9 R 379HR3C$@aT@@HTRZ )-@)@?aT{LOKWJ_IgHoGC_@RT @H@H RݴWO{H,@95{COBWA_ 1V kTkT@9 )3 J3qH m2 2I))@9@9) *I4#R{COBWA_#g_WO{C -@@TД@) @ @ 8@986R˲@ @U,@9)@?@@!H6@99 ! 4 5 \4 !49@ @ @R[@@a !9RRR@@8@9 rTk4H6@9I),(9` 7 !p5j`@ RL@96H6@9I),(9 5 !p5Y@ @ @R[@@ !6RRRc` @ 8@9 rTj`4U,@9`@ @-U qT@ @@ 9 BTBRb@ 9 BTK@8zk,R+j T9R s6`T@9zh?)j@TRFH6@99 06 !6@ @ @R3[@@ ! 4bRRRSs"8@hb T8@9 rTmj4H6@9I),(9 06 ! 4@ @ @R [@@ !4RRR@hb T8@9 rTHj4H6@9I),(9 06 !4@ @ @RZ@@ ! bRRR@hb T8@9 rT#j4H6@9I),(9 06 ! @ @ @RZ@@ !84RRR@hb T8@9 rTi4H6@9I),(9 06 !84h@ )-@)@?T{EODWC_BgA_6__R_{H7@@I) )@ T% !6&Ha@7R{__ R_qI47qATR(9 HR(9R(R?h(8_) R)9qaTR(R?h(8_HnR(y`RHR?h(8_`R 9HR?h(8__O{CSs0h@H@h"@h2@hB@hR@hb@hr@h@h@h@h@h@h@h@h@hAhAh"Ah2AhBAhRAhbAhrAhAhAhAhAhAhAhAhAhBhBh"Bh2BhBBhRBhbBhrBhBhBhBhBhBhBhBhBhChCh"Ch2ChBChRChbChrChChChChChChChChC`RRɐh {AO¨_`````````````````` ` ` ` ` ` ` ` ` ` ```````````````````````````````````WO{@H@)@@{COBWAַ(R{COBWA_{COBWAC_WO{ -@@!@!(@@)@?th@@"@) ?h@h @ih7)P7H6R9 @o6* R9 P7 JR9IO6 iR99h@E@986@ @)2  @?qT(Q @ )-@)@?T{DOCWB_AC_@ )-@)@?@TDWO{@tRѵT@h {BOAWè_WO{`u@5@ A@ ?(R3@Ru@@@?h@@(4h@h@h@@(5@hWh@@4s@{BOAWè_E@?|@i@?Rr*@J **@J *@@*@ JA@@?ڼO{C3R RR*{AO¨_WO{@T{BOAWè_`@h@ TRh@iu@?q#T(Qh@BTh@BT`@{BOAWèWO{@ T@ Mh @h {BOAWè_6!@||ӭ|h|t@ M{C 4 Kg_WO{5R RRh@Th@BTh@]@@? T@(]w!@H|Ӡ(A|i@|1(] @ {DOCWB_AgŨ_ִ__WO{H0@@R@7Rq TBt@@ i@9I6E@?t@@@?h@@4h@h@@hB{COBWA_Ĩ_WO{@H@HE@?{BOAWè_H0@R@R q@T@h@(E@?֠4R{BOAWè_֝(R{BOAWè_O{C@4@(@?ր{AO¨_h@@(4h@ @R h@{AO¨_ֈ@h{AO¨C_WO{ -@@H7@3i@ H7 @) tSh@`UB.@`RRRU@.`h@h@ h@ h@h@ R u3i @ W"8 i @ ( @@( @b@~@@!@R?h@%A? T h@%A?T h@i @ ( h@%A?Th@i @ ( @@oh@%A?Th@bh@%A?T@ )-@)@?T{DOCWB_AC_g_WO{C? TZZ0H@@jT$ZZ0H@@KT @9CT5@@T!`5X 4H @H1@?@ T@ + TH10@9 5 R-) !RR5X30k7Y9C @ 7(R9R`)TH@@*T̰H@@KT @CT@@T˯`5{EODWC_BgA_֠ DO{C dR"RF_H7@  @ H7 @) GR @@y  @2 {AO¨H5 @* H4)@ I)A4(_C_WO{ -@@UB4H5@ @+ V֢4)@ J TCӟqmT7} @ @-U qAT@ @@X#8 q` T BR[X#8 q@T@ @:@9h(7CiU}  T@r`ThP7@7X6 @ 9@9i 6@@=@9 6Ri@ @ @)T"R@`c?@@@ H @@9q@R@ dR"R^(7@  @ (7 @) Q @@y  @2 Ad@@!@ )-@)@?T{DOCWB_AC_@ L_WO{50@@ T@6R RR@ T5!@|H|w|Ө|>@ }{BOAWè_Cog_WO{)@9)4R6r {CR9R(!8aI@8(@j{h*jT(rTqT*jT @8k[j?+jT_qaT5 )RAT)I48qMTqqTqT)qTK@9K 4T  5L>(T8ҟTW˟)T"R \@h@ jT`@8!`@|Ӡ |( |Šxh@ i] @  @?qR6rCT(Q @95R6rR )RIR:I  k !(R͒{HOGWF_EgDoCC_ )@?qRJRIk# !RqRk !O{C@ jT`@4!`@|(|ӟ|ӈ|fth@ i))!/*J!8Ka -H!@H!{AO¨_ @@_{@T @)|ii{_ր \(O{C@@E@?t@@@? {AO¨_{AO¨_h@@H4h@ @R h@{AO¨_ֈ@hm{AO¨_g_WO{C@@T @@T 2T@T \Ӑ@_@hѩ@@? @@% R{EODWC_BgA__WO{61@ (6@95(A5@ w34R@3R RR596  =33s"// 2, )  &  6#  @@ jT@8!@|h |Ө| |o@ 7"8b%"@"@,@h@Ti @ jT`@4!`@`|Ө|ӂ @ T@(|h|Dth@ i))!/*J!8Ka -H!@H!@{COBWA_Ĩ_4!@||\|H|#@ b%"@"@h@TqO{C !@; sR !`:{AO¨O{C<7* @?T@+dT}@ @?T @| ih{AO¨_ 2{AO¨_O{C3s0h@{AO¨_RR3` !tRRRRҡ s"RRRRҖBRRRR{AO¨RRR҃CWO{(@!T @|iT!R h@Ph@ `@h?֠t@T@@?`h@@4h@ @R h@ S@?@{DOCWBC_ֈ@h R J k '# BR ) J} # 8O{C @@ a@97@?րh@@4h@ @R h@{AO¨_{AO¨_҈@y{AO¨_ֈ@h{AO¨_WO{@(@E@h?@R @@(4@@4@@ @  ?@@H?@Lh@{BOAWè_{BOAWè_g_WO{*Tx|9CTt@ T@ix@{DOCWB_AgŨ_R{DOCWB_AgŨ_ր \_WO{#(!@RV 7 4R RRg4h@haTt@TBTTh@iw@@Rh@hT`@`u@TRh@iw@?q#T(Qu@BTBT`@{COBWA_Ĩ_ր \8{q{_! =җ{_WO{@@h A@I ?{BOAWè_(R{BOAWè_E@?|@@?Rr*@J **@J *@@*@ JA@@?s{BOAWè_WO{@T@(E@?|@@ ٨(R{BOAWè_?Rr*@J **@J *@@*@ JA@@?s{BOAWè_{@@@%@H?{_֨(R{_{_{@@(@%@h?|@{_֐(R{_|@{_og_WO{C80@h5RR !tRRRRP "RRRREBRRRR<4@ 5@9I6 @ @7()qHT* %Q)_!@qb Az @z`T R"Re7R RR@T`@R%Qq T )>+ih8J @(0@@k T @RMr9C T6@@uT@kT(0@@T @:HRZ.r;R9CT6@@]T@J@9)J *H5(0@@+T @)Rzr9C@T6@@CT@kT(0@@KT @zRr9C`T6@@,T@kTRT@947o 4s h@h`TM(7@@9?qT @96A !P @9I6A !h%@RRR  @rT-U qT@)`@h@ TRh@iu@?q#T(Qh@BT~h@BT`@ BR}U`@9H57h@h{EODWC_BgAoƨ_!`@|@(|ӝ  !xR|`xh))!8*a)(!@(!6R~{(7@ @9?qT @96A !P @9I6A !h%@RRR  @rT-U qT@{_{_BR{&Uog_WO{ C -@@?qTH@))!8)a T@9?%qT?qaT @8?qT)?qT?qT R @8_q@yS t@ )'6R RRK(!8a@"@R?@@@T!@|ӈ| @jT@||Ä] @ a @?qT(Qh @@t~@@@_D)@ @KT@A||CI? Tbi| @? qkTh@96 ?@+T@ T@@ TR@iv@?q#T(Q@BT}@BT@E{C T@T@i|@ Ҩ@T R @8_q*AR R @8_q*R@)R 9_q _qh@9q) 7R1T@@94e@ )-@)@?T{IOHWG_FgEoD_(7@@9 9@_qT)6A !P6A !h%@RRR_  @r`T-U qaT@BRS@95tڥ \Ê@ {@9%q`TqAT@8qTqTqT R@8qyS R@8q(AR R@8q(R)R 9_q _qjJ@9_qI) 7R{__WO{ -@@ == R r(6@95(A5@ \O54ͧR@Rhs @9h4ҳC~r @ 7 Rާhs CCֽ7ҧ !R׉~r @ƽħ7r( RIR(#9hRx#RRRh@ @) 2  @ @?qT(Q @ )-@)@?@TC@ )-@)@?T{FOEWD_C_ҁ @?qT_|@ )-@)@?T @?qT(Q P|{ @@h-@#{`ߤ(R{_{og_WO{C@ @P7)2 ɤ(R@ Ĥ@@(e ;RRV @H@i@?IJZ€A+T@@e@?R7RT@h@I@?4.ˈ@@(m@!?˵wm˵g˵R4R\{EODWC_BgAoƨ_WO{ @@1@{BOAWè`=(R{BOAWè_=@?/R! B<"ҍ@{BOAWèWO{`@(@H=@? (RR! B<"d@{BOAWèX{ @@h5@#{`(R{_R{_{@@@9@H?{_ϣ(R{_ɣR{_{ @@h=@!{ ָ(R{_ֲR{_WO{(0@@Rrs@SR q@T`@h @)jT@E@?{BOAWè_{@@@I@H?{_~(R{_xR{_{@@=S{_i(R{_{@@ @)M@I ?{_W(R{_@!S{_@@!H_ R_{@@ @)Q@I ?{_9(R{_@- S{_@@-K_ R_{@@ @I!U@(R{_ @ )  @ *@J **@ J J@ AU@{ @ @ @ @*AU@ _{ @ @I!Y@{ (R{_ @) 2 {_@ @) 2 _@@]@_R_@@( I@906@m@_R_@@(@ e@i@_R_@@m@_R_{ @@h]@!{ ֛(R{_֕R{_{ @@ha@!{ ք(R{_~R{_{ @@he@!{ m(R{_gR{_{ @@hi@!{ V(R{_PR{_{`@(@m@C{`=(R{_8R{_{ @@Hm@{`((R{_#R{_`@(cid@9 87 @)y __ @)2 __ @))@Ih7P7H6R 89_* R 8IW6JR 8O6(iR)99_{@ @ ) jl@j) 2 *@9_%q`T_qAT*@8_qTJ_q T_q!T @R) * +@95( @J@ RJ ) * {_ @R) * +@95 R) * +@9k4*)y K@84lqTkqTqT)2)2{_֡R{_og_WO{CR"  >" @@(K@96(@E@h?)@@I@9(7(#@))@*@J2**CI )d[xˆ*T.(@ d[xˆT)@   T Ǣs˨@ @)y 3&@@]@?)@ =)@8(R)@)@(@=@h?'(R{EODWC_BgAoƨ_O{C@@i@({AO¨___`AR__C_WO{77b25B2kmT@hnA@~ӨK}~h~~Ӊjh)j(@(ihqmT{DOCWB_AC_  Ѕ# ̅~{C@7(a2@k-T(A2 @(Y`qT*Q y*{A_ | # x # {C7(a2@kT(A2@Y`qT{A_ # # \WO{R R@R 0N+ka2i@?q T*JA2I@(@ q T,i@?q TK@h@ q Tl? qc TI@( @ q T* 40@h@hT`@h@ TRh@iv@?q#T(Qh@BTwh@BT`@~~41@h@hT`@h@ TRh@iv@?q#T(Qh@BTwh@BT`@~~{COBWA_R  R (R)RHR' x IR# O{C3sb2h@4B2@q@T{AO¨_@!_WO{@@( @E@?ր@`@(@%@h?u:͟(R4(5@9%q`TqAT@8qTqTqTR@8?q)ySR@8?q)ARR@8?q)R) (R9_q_qjJ@9_qH( 7R @%)@@ 2{BOAWè_O{C@ M@97!@ݠTh@ @)y {AO¨_sR{AO¨_Cog_WO{@ -@@Gh@ @I@9(6(A@?qK T @9?%qT?qaT?1 T@@ @-U qT@ @@ T @8?qT)?q T?qT R @8_qYyS)BR2M@ TR@7 @8?%q+ R @8_q*AR R @8_q*RY)R 9_q _qh@9q) 7R6k6R?1!T 7 @8?%qh@h@@?@@e)h@ @) 2 @9q!Th@ M@9I7!@BR"Th@ @)y @ )-@)@?T:R@ )-@)@?@T0@T @ ?yT@ )-@)@?T{HOGWF_EgDoCC_HRh#( %i )%#a ! RɄ@ )-@)@?@T R J k '# m R J k} '# c_WO{8@#@c76}7^`'@@3!)E{COBWA_Ĩ_{COBWA_Ĩ_{COBWA_Ĩ_g_WO{ @@h4@ @ R) ?q!T!@͟@T6h@ @)2 {DOCWB_AgŨ_ @q!T99-8&:Zc+(@4h@ @) (@5`@L@97@qTH@?`@L@96@hJ|`@`L@9H7՝@q@Th@ @)2 h@˝@i@(g_WO{ @@h4 @!@^{DOCWB_AgŨ_֫@q!T9-8&Zc+(@4,zh@ @) (@5`@L@97G7@@qTH@?`@L@96@h{`@`L@9H7.w@q@Th@ @)2 h@m@i@(@!@"RÞC_WO{@@7Z(R7"@@))E@ ?|@j@H@?Rr H @J @v@( @ JA@@? 7a2@k TA2 @(yuqm Tq(y5Th@ @)y  {DOCWB_AC__4-6&c+T4 @qT@4 h@ @) @5`@L@9H6 @?`@L@96@h\{`@`L@9H75` | ݁#` x ف#` Ձ{ @@}|@{_Μ(R{_  @94  8I@859_WO{ -@@v@@h@@T%@h?`6@ )-@)@?T{COBWA7U@94 8I@85@@?`h@@(4h@ @R h@o9 h@`@@@E@?$@hzS9`R0@@URւ q@T@h@(E@?D(Rh@ @ ) n@j) 2 @9%q`TqaTJ@9q@TkqTqT @R R @Ri * K@9k4J )2 K@84lq@TkqTqT)2)y R@ )-@)@?T{COBWA_ WO{7t@95`7t  , Д>"yq!2=`@z1T{BOAWè_{BOAWè_{BOAWè_og_WO{ C@ )-@)@{@@ @-U qT@ @@ BT@?q T@ @-U q!T@ @@ BT>BRI@{@ TR`@`7a2@kMTA2 @(Y`q T*Q(y*7@94 8I@859b@h@``BR\I@ TR@9qT 7)@8i4?%qaT q Tq T 5 5@Kޛ` sD@94 8I@85  8I@859s+@@mh@9@@^@h@  1@ 9@@w'@ )-@)@?!T{IOHWG_FgEoD_͚HR#ƚHRh# %I )%#A ! Rƚ` | #` x #` C_WO{ -@@@@C6?7@ @h7 P7)H6R9@H @Ih7 P7H6R9* R9 P7 JR9IO6 iR99h@^w@ )-@)@?T{DOCWB_AC_* R9P7JR9O6 iR9TWO{@@1`T@ 7a2@k- TA2 @(Ysq T*q(y*@T 5@@T 9@ @ 1@ @@ JT@HE@?(R{COBWA_|@{COBWA_{COBWA_@(E@?(R z|@7Z#{COBWA_` | ~#` x ~#` ~g_WO{ @@(4{DOCWB_AgŨ_@@9-&Zc+TM1Tv@q T!RQ5 4@qT(@(4e h@ @) (@5`@L@972H@?`@L@9H6@hw`@`L@9H7#96RҪog_WO{C@ @*e@J)i@ 3 @@: 1T9`TWky8ӛkT@i?T@9kTs@=@?,R! B<"Ҋ@{EODWC_BgAoƨ_s@(Rg_WO{ @@h4:@@!R̙@qT-&9c+@4u h@ @) @5`@L@9h7ژh@@!RИ@q`T(@?`@L@96 {DOCWB_AgŨ_@h*w`@`L@9H7l{@@w|@{_@@w{@ E@97{_@F|@{_{@@8|@{_{@@3|@{_@@И@@}@@@_@@ _@@a_ _C_WO{ -@@ @@4@ )-@)@?A T{DOCWB_AC_@@E@9651@Th@@ e@ii@(9"RAT-&c+9ޘ1TԘ40@qAT@H4 h@ @) @5`@L@97@?`@L@9H6@hv`@`L@9H7h@hkښWO{ -@@@(@h%@(? 6@ )-@)@? T{COBWA_@ 7h@(@E@h?ӗ(RT@94h@H˗(R&h@H @Jh7P7jH6)R9 + R9P7)KR9O6) jR9?9@%@?<@v@ !2@;@vO{ )2@H @_ T@{BOA_u7a2@kTA2 @(Y`qT*Q(y*{BOA_#` x V|#` R|O{ @) 2I@ I )@?ATI@?T7a2@kTA2 @(Y`qT*Q(y*t@@@? h@@H4h@ @R h@{BOA_ֈ@h{BOAu#` x |#` |WO{@6@h%@(? 6(R X764@ @ R) * @@@=@?TR{BOAWèog_WO{@@g@G@@T@ T @T @@T 2T@T@9%q @_@9%q@?:R@@h@H@h%@(?@q( qT0Y@_@h?րg@@@@)"@?@{GOFWE_DgCoB_@q( qTh@ @)2 >(R` \3{_WO{@h@H7( 6h@]@?-v@h@BTh@BTi@))@)5@i ?*T h@ @)Q@ ?4/@- S4+R3Ri"Cj@+aa? Th@@9@R?֠5@@@=@?ERR7Rؕ@ @)2 @Е@@(h@(hh@h@ @)u  u@(@E@?@4~@{COBWA_Ĩ_֯Rh&C h{COBWA_Ĩ_R(RRR`_WO{@4@)E@ ?4{COBWA_Ĩ_(R{COBWA_Ĩ_h@I@9h860@@Rr@UR q@T@h @)jT@E@?@h@h@]@?NRK(R@@(@)I@907"@-@ h m@i@?, T"@X"@-@h?T҈@h@ @)2 {COBWA_Ĩ_R@H@HI@?֠4|@5RR@ @)Q@ ?@- S55(RkT@@He@?$6h@ @)2 h@ٔ@i@({COBWA_Ĩ_h@ @)2 {COBWA_Ĩ_ŔR(R"@붲@.@@m@?օR(R}WO{@ @ @h]@(? {BOAWè_֋R{BOAWèog_WO{C@@h@ @iH7{@(]@?h@ @ H7eRh@ @O6I6 @ JE@@?5h@ @)6 _TK_8)qAT4 ;Rt#@ @ @I (넲Zˆ)˪? Uh@ @)2 @@@T@ @ #@)  Th@@E@?1AT!h@@E@? @ @ #@)  Th@ @6@HE@?(R{EODWC_BgAoƨ__WO{ h@@E@h?4~@{COBWA_Ĩ_0@R@WR q@T@h@(E@?֠4h@ @)y `@ @@9@?`4|@{COBWA_Ĩ_֦(R{COBWA_Ĩ_֝Rs@sh@(@H=@?(RRh{COBWA_Ĩ_O{C@@ RIr?(jT@E@?`@@h@=@H? @@`(R]R@@ {AO¨_O{C@BH@Tqh@ @)u  {AO¨_WO{u@U@E@?|@i@*(Ru@BH@Tqh@ @)u  {BOAWè_?Rr*@J **@J *@U@ *@ JA@@?O{C@h@`@{AO¨_h@]@?`@{AO¨_R`@{AO¨_O{C@@@]@H?h@I@9h7{AO¨_ΒRh@I@96B {AO¨_O{C@`@{AO¨_`"@p`@`{AO¨_R`"p``"`Rh"`{AO¨_O{C@h@i"B {AO¨_h@(]@?i"B {AO¨_֏Ri"B {AO¨_WO{@@h@]@?wRh@ @)2 {BOAWè_O{C@@E@H?{AO¨_0@s@R q@T`@h@(E@?F(R{AO¨_WO{@h@@E@?0@@TR q@T@h@(E@?(R|@{BOAWè_WO{@@E@h?֨@(0@#s@3R q@T`@h@(E@?(R@@9@H?|@{BOAWè_ב(R{BOAWè_ϑR{BOAWè_O{C@@"HT+pt@@H@?֠{AO¨_h@@H4h@ @R h@{AO¨_ֈ@h p{AO¨_WO{_Tu@@@H]@?h@h@E@{BOAWè |Rh@ @)2 {BOAWè_0@s@R q@T`@h@(E@?[(R{BOAWè_O{Ceh@ @Rr) @J@JJe I * {AO¨_WO{h@@i@?H€T*(R'RH€Th@H @I@]@h? ҟT R-T3h@@(-@? {BOAWè_(RH{BOAWè_WO{@ @)2 @(@h @ Ќ @ @Tx6(@2({BOAWè_֪p7J2 (@ @)E@986 @)2 @@@?@@h4@ @R @{BOAWè_֨@o{BOAWè__WO{@*@R 9*@@(p7{COBWA_Ĩ6@E@h?@@@h]@(?@Hғ@ @( =@ ?OZ(R@TR@@)I@9i7"@ Ȣ@ @)2 ɢC(ҨIRR8J T@@ iTij8)qT я8 #T@8{COBWA_Ĩ_{COBWA_Ĩ_ @H(RR ! B<"n@e{COBWA_Ĩ_g_WO{@@@]@?u@@7{DOCWB_AgŨ_ߏRu@@6p6*@H @9?5qT*@h @@ {DOCWB_AgŨ_ֈ@@7RRR bTI @9_5qT)aT "@"@ щ85(@ T@ T@"@ш"h@@HI@? @9)qaTHR(9**WO{@@h*@HTR 9*h@ @)2 {BOAWè_@]@?*@5^R*@u @? T @9_5q 5HHT@5HTg_WO{@F@9H07{DOCWB_AgŨ@@]@?ֈ@ @H7{DOCWB_AgŨ_R@ @O6 Tw8RRZRBT@"@ @*@J2*+*9@?BTT@?bT@9_)qAT* _T*99@*:9@*I@9 6(@@h@hE@(?@ @7 6@E@h?֠{DOCWB_AgŨ_@ )@R*9)O{C@@p6yt@@@? h@@4h@ @R h@t@@ a@97@?֠{AO¨_h@@(4h@ @R h@{AO¨_҈@y{AO¨_ֈ@hl{AO¨_ֈ@hlt@t{AO¨_O{C0@{AO¨_RRla !tRRRRFs s"RRRR;BRRRR2@{AO¨_O{C0@{AO¨_RRla !tRRRRs s"RRRR BRRRR@{AO¨_O{C0@{AO¨_RRtla !tRRRRs s"RRRRBRRRR@{AO¨_{` rO{h -@@.RSiRR&R@i )-@)@?T{BOA_WO{h -@@R)iRR&R}@i )-@)@?T{COBWA_֖{Ch -@@`@(@-@H"R?t(R@i )-@)@?T{A_"R@9Z@i )-@)@?@TjWO{h -@@?1T9@ @ (1@"R?T>(R@i )-@)@?!T{COBWA_(=@?(R ! B<"҆@"R}aT#{Ch -@@9`@(@H5@"R?(RR@i )-@)@?T{A_O{CJ@@(5@?{AO¨_ڌ(R{AO¨_ӌR{AO¨_O{C@@(9@R?`@`(R(R`@@U@R`@(R{AO¨_ @ )  @ *@J **@ * J@ AU@{AO¨ O{i )-@)@ Cs @-U qTh@ @a @4#BR}:@t@(@H5@?`(R]Ra @?qT(Qh @i )-@)@?T{COB_c@i )-@)@?TP{Ch -@@CC@i )-@)@?T{A_;WO{h -@@C 0@RRjA !tRRRRT "RRRRBRRRR@@j@i )-@)@?T{COBWA_R[O{C@@ߋ{AO¨_O{i )-@)@`) @*4)-)U ?qT @) @ @?! TBR9@?!Th@@9@@R?R@i )-@)@?T{BOA_֡(RO{h -@@ @@=@?(RRRC@Z@i )-@)@?T{BOA_ց{CCh 1@@C R @ @)Q _#mWO{A 9@(7 6 RR[7 7@9@7 6RRP4 *@9 )*)@q AzlT @`?A`{COBWA#l_ *@4{COBWA#l >g `ӟZ y aQ g `ӟZ y bQ <"gHbIx aQ_|g~g `ӟ y bQ |"gHbIx aQ_~g `ӟ y aQ |!gHa)x `Q_$RRF R#mog_WO {  @X@_h A*x7@@9yKy kTTk k>mi`8  +Rk! y cTqT@9Jy _ k RuL@9 Yl+Rk! j`'TFӎC} @  Z+Rk! H+Rk! 6+Rk! $+Rk! +Rk! L@9 Yl j T-#ɚFӏC} @  ZL@9 Yl j T-#ɚFӏC} @  ZL@9 Yl j@ T-#ɚFӏC} @  ZL@9 Yl jT-#ɚFӏC} @  ZL@9 Yl jT-#ɚFӏC} @  ZL@9 Yl j`T+#ɚFӎC} @  y ZK@9 Yk%6,#ɚmFnC}k @ k  $bT{JOIWH_GgFoE#Dm_ZK  TR,R!"ic+R`!! R b k) ) q )Bq/ Rk\@9 y|j`T  qd @@z Tl@8 yl _ @Azq@zT{   ~ٛSS aT-#ɚ   ) `Z[U )' c i((`  787R[o`4 @R !,[p/R@ @`h A'C@ RC)! R/R@ @`h A'C@ RC)! R @47R;p@ k) J);@`4#qT?%TA ! qI#A !,R#p;@06h@2hHO6H }I ) q(I )Aq(A ! Roh@R *h i!c(aD K  TH(`H8/7H }I ) q(I )Aq(A ! Roh@2h&RRR`H@2HdRRRYO{h -@@ H@C#$RRF RD @h@c@r a@i )-@)@?T{COB_O{h -@@ H@2C#dRRR @h@c@r a@i )-@)@?T{COB_O{h -@@ H@C#RRR @h@c@r a@i )-@)@?T{COB_ψg_WO{Ch -@@ A 9@(7 6 RR7 7@ 9@7H 6RR4 *@9q *@ Bz?qT>Z @ @-U q!T@ @@fWj68Y4@?`@@iTfBR{6@yfY5҉f4h@T @9?qaTR@i )-@)@?aT{EODWC_BgA_@i@(h R@i )-@)@?TGog_WO{h -@@@ @9_qT_qAT RR`T @9_qT Tk@9qT Tk@9LR qTT`T R @9_qT R_qT lyMqTL,R qTT @9lyMq@TEqT%qAT Tk@9ky9q!T Tk@9kyq@ TqTR7 * xT @9ky%qT R5 * ?@ T)@9)y?9q T ?` T)@9)y?%q T ? T)@9)y?Qq T ? T)@9)y?eq! T!xTj T @9jy_9qT _ TJ@9Jy_qT _@TJ@9Jy_9qTR7 * xT @9K2kyMqTxT @9_q!T R5*T B TYR ky84_qT9?AT @_qT R7 *T @9?qATaTR@i )-@)@?T{GOFWE_DgCoB__qAT @9?qTaTTi )A R @9+yk_+jTAT0R.YR_TI@9?qT@9?q DT!C#RQ@9%TCTR q!TT(i )A R@9+yk_+jTATXTRx*@9y qTaqT@9i )A(yh(g6(;R#҄RRR@9q!T(;R#$RRF R @h h @ qTug_WO{h -@@ y 9C@9*[h R?*jT u?qTRH@9 ?%(T@I  _hTk k>mij8 ?T*3KR} A,)?T-9Q%qhT TaTqkT ) ?T*@8J_)#T 2 2VC42 @bT* @9k%TJAT @UT @9)y?qTT  R @9,{i,jTJ !Tm+T@ KNJ @yRk J J T(*J)iA1@ (RhS24} N)9)Q?%qhTJR} A)I *9JQ_%qHTKR} A*) *9JQ_%q(TKR} A*) *9JQ_%qTKR} A*) *9JQ_%qTKR} A*) *9JQ_%qTKR} A*) *9JQ_%qTKR} A*) *9JQ_%qTKR} A*) ?TV2@i )-@)@?! T{FOEWD_CgB__b T H@8+[h?+j@T u?qaTq TRZ _TBC @4 @bT @9)?%TR *  ?T*@8J_)#T D ?T*@9_q`T_qAT ?"T(@9%T) ?T*@8J_)#T 42#TV4R#X 7`06R* yrr44RqTRZ _TRWO{B@_T@9 ?%T@? "T+@9k%T+35 MR)} .T.@9%TQ TRaTq T_TR{BOAWè_ h R{BOAWè_)@9)4R{BOAWè_C_WO{h -@@ ДB :@ ֲ* *(7 6 RR7 7@9@7( 6RR4@9@q AzLTR:@6@48R:@7 6 RR`7 7@h9@7 6RR73JR:@H6R( @ @-U qT@BR24<@T@4#@ qkTQ@9)5qT_X7?@@i )-@)@?AT{DOCWB_AC_@#mWO{Ch -@@bTH A R@9 yj?*jTCT CB@4 @T 7(7@ <#i )a3 @@ar a`h 3@`9q`TqAT T@9qT@8y/ qTaqTYbj58C@` @ˈ b @@Th C@` @T@i )-@)@?T{EODWC#Bm_,Ҁ`g b `w *_{h -@@ @rThh7H`7-U q!T@ @ @ R_i )-@)@?@T$@@`g b `w *_i )-@)@?T{B_CR1 @#q_i )-@)@?T"RR/҂RR0ARB4AR6AR7BR1BR1BRY<BRf=R{+BRECRNPCRLPBRPBRP4@97BR1@_BR>@O{CRBR@RRR'@>@o` AR"RR5h@ 2h ;@? @@ @) i@(h@R ! {AO¨_@R@RBR\BR__AR=RAR8BRy9j J+@8Kik8 HD94qT?T_ _@9q`T_R@9I )A$*i`8A*_qTR)%) *4  @8 z T_ _ֿARfBR:BR:BR9V@9i )5&+ih8+ , D9R%h  T @8/in8, D9z 4 aTOi)I__WO{@9 H A$ix8u0Rfh 5& iv864  *D9R)%˚6?T l@8 il8J  JD9z 4 _aTR%4  *D9R)%˚6?T l@8 il8J  JD9z 4 _aTR{COBWA_Ĩ3(hkT@94(h{COBWA_Ĩ_{COBWA_Ĩ_5R_{ @ e{ !X;R` *)R  @a !aK *@9 )*(9{_֡ !X; RR_WO{s@h Yu Yua B/ c0@ aA !O{C sa@RF *)R 9 @ @R_B *@9 )*({AO¨_a@ RBRO{ s"h@ @`Rmf`@@?qT(Q{BOA_րWg_WO{qTh u 4qT @h .A !`RfRRh yy B/ c0$@I]XaR*5$ 5zrT @4 B/ c0 ֢/@ T /@h  T]O ֪*@95 sa@R`(R9 @ @RA *@9 )*(R҉ B/ c0R]aR52p B/ c0`ρ}]ހaRIr]Ѐ@R%ٚ7 yyR?53җ5 !X;R> *)R  @a !J *@99 ֢/@T /@ITk]4]@{FOEWD_CgB_a@ RBR !X; RR_WO{7@`T\6@hT8]]\@\@{COBWA_Ĩ_֠WO{8\GaR{BOAWè_C_WO{H -@@A ! Ҩ\I )-@)@?T{HOGWF_EC_4@9qTRARڀ  @RҀccC@R @vz  Rq"CR @7R ˀ9d  6R RZcCC R @T  RJcCR @h6RC  R:cCRu @h6R2  `R)C`Re @h# 4R B/ c0RT=@\@\@~\@|\@z\@x\X~WO{}{BOAWèd{BOAWè]o_WO{CH -@@ @;A< B C @A F9=?=DEBC@A @`RҴ B/ c0`R[#aRRIRq7C' 7@3i@  7 @) !@` C3@RRR#@3`h@h@ h@R i@Rr( h6'h@2hh@R  84C 4BR5 5 @t nWCB@VRR@ @RqaT@ @)2 CW 4@B@URRi@ @RqaT@ @)2  @C RrB@aRRF@ @ qT@@ATARg-T@([I )-@)@?!TC{DOCWB_AoŨ_|_WO{a(RhqHT*I )!?+ih8J @֕R @ c`/ /!R{COBWA_Ĩ-uRRh YuҞ~ B/ c0~Z ~aR c`/ /{COBWA_Ĩg_WO{R ~bAR"h YtT~@RO~{DOCWB_AgŨ_;R;Ro g _ W O {sB)H -@@~4CZik )c )[ )S )sCriB==C@#C}CR~ B/ c0RLq~Z}aR"ZI )-@)@?A T R!R{NOMWL_KgJoIfZR@@HyS RqX- ~@+ZC8~|@ Q)ITzSk T! !#~4?Z !RZ9@R} ZI )-@)@?AT{NOMWL_KgJoI_{;R6C_WO{h Y`Ҝ} B/ c0@}Y }aR} 4}B6R{DOCWB_AC_* )3yhv{@# )\o{@! !4RO{Ch Y`W}{AO¨_;RO{@'B)')ARcR{BOA_g_WO{CH -@@`& 7@@9h7} @~A) W*)*)qS)}) )! cT*97 )! @ T97 @T9*7 @T97 @@T97 @T9J7 @T97 @`T9 7*@JT6!*A_)TT9I7T R@I )-@)@? THCQ6aT3} @~BV**qS} ! cT*97 ! @ T 97  @T 9J7 @T 97 @@T 9 7 @T 9j7 @T 97 @`T 9*7(@T(!*A_)TT ) 9j7)T4CQ(Y 9`BT l@8,kl8J * JD9*4_qT?T @9qTR TR@I )-@)@?` Tr q Th YtF| B/ c0|SX{aRV 0@|4RRҨ|RTh_8q!Th@yR Ji @9R) J *H4h@yR Ji @9 R) J *H4R@{X A@9qHRq@I )-@)@?!T{EODWC_BgA_aT4Rh@9qHRq@I )-@)@? Tyog_WO{H -@@ 9C56@ z4t.|RUU@6@7RH . xzW48|R@U@6@ z4w |R2U@6@ z64{R$U@qMT(RO mzR ezq Ts4@94` {qO &o (6R RvG  RqG  R!RW  {[;R R!RW R R!RW 0R7IR R+ kmL,RkJ O s/ +Rch& ) ==) @ s/H)RA6B1TRHc4ihR{R c0>@Rz@R c02G`U{W3dz3RzR c0`?{V/Nz/ Rz R c0`){V?8z?RzR c0`{V;"z;RzR c0`zV7 s/z7`Rz`R c0d@@@@$@zVy+@ {[;5+@ {[;4G@O@4@ 1@9?%qT @@H@@! !@A! !@ 1@9?%qT @@H@@! !x@,! !x@H 1@9?%qT @@@@@@#@@! !Xx@@5! u_)W ! !Xu@u! !bRrz 5! !Rlz`4! !sz @9q!T@ 1@9?%qAT @@@@@H 1@9?%qT @@@@@@@@! !@H 1@9?%qT @@@@@! !xqӆc@z4bsATzq( ) )( Rc*8!8  4*c@y4bATyq( ) )( Rci* 7!7 64*c@y4bATg3@U@R}y B/ c0@RyUx@6R3 s2 B5EO@5 B5/@URVy B/ c0R`ycUx?@U R>y B/ c0 Rx`yKU?x?;@UR&y B/ c0R``y3U;x;7@URy B/ c0RH`myU7|x7oU`Rx B/ c0`R0`UyUdx(3 srO@4~@ Rc) @@9H4@H 1@9?%qT @@@@@! !@H 1@9?%qT @@@@@S! !D{5R B5EFRUU?@UUUU A@9 )(9@ {w34xR R@KCwm A @6 )R 9 AZI )-@)@?AT{WOVWU_TgSoR_ւvCWO{H -@@ @7x4TxkTwh@9 qaTh@94 ! x`5 *)R  * 9 * 9 @S sA @@I )-@)@? T{DOCWBCA Д*(R9 C3@R!RҘ @ @@@ qT@ @)2 @ Xxq е*9pT@94@`R!Rv@9q9@`T@9 s*h5XT@9 s*h5 !X;Rw(Rh @A !@@99@I )-@)@?T{DOCWBC_u !X; RRIWO{ ւ@ x@4%TxS$w A/ @) h@9 qaTh@94 ! wq )*(9`5 A/ @)  *9 !/ a{BOAWè_ *)R 9 a )!/HR( 9 Q/9 U/9{BOAWè_og_WO{CH -@@ ւ0@w`<4 е"@@?qC=T(QSH . E9 Ch@9 qaTh@954 ! w`44`9wCSv@9`RZu5V @  R$u 43uj58TT =@74)uRu@5.9`RZ4H  )F G D E B C @ A  RuqAT Rtq*tqTRtqkT@9(5sh@9 qaTh@9h4 ! w4! !<$`R.Z*4Ro   Z Z@5 B c1R1Rt9T{Tc9zt R(( qJATc&qT*qT !h6 !6RRt~I)=@ R? jjh R_7j J 8RqRr )?i'(J6Q)1'?)' J64H =@! !,%RRwtTRctqzt R?7j J RYtR6R6Rx5RPt{'q J64H =@6Rx5R@tqk'(J64H =@6Rx5R/tq?}'(J64H =@6Rx5Rtq R?7j(J64H =@6Rx5R tq R?7j(J64H =@6Rx5Rsqџk'(J6H =@r1IJ(6sk1kaTsk1kT*aT A@94q*7%46R6R6R*T6R A@954H =@@Rsqq*694A !1R1Rs? qT@R7 ) R %9) R 9(R )E(9"H  )F G D E B C @ A uQt9Y5YI )-@)@?! T{EODWC_BgAoƨ_J@`RX4 A@94# <% l',5 е"cRR! !)o@Q@a !o sB h:@(7 6 RAR@7 7@h9@7'6RAR54@ @`RYh:@(7 6 RAR)7 7@9@7('6RAR4@@?qT(Q !sjJO{C`uQ{AO¨nt_WO{@Rt B/ c0@R EuPTtaRRjRt B/ c0R)uP8taRG RҮt B/ c0 R` uPtaRR{BOAWèR{BOAWèog_W O { H -@@/_9t 9#/(@ Мc {#T_@9i@9 k5T@4}@)@)} ;vP A/@HG @RVrt`Tw2_T *@9(5h [9@h 0[~Pw24r|t`T(T9h [iP@@5 W@ Мcr@4@R t7~P`TzP/@I )-@)@?5T{KOJWI_HgGoF_h@*ih85hT_T  !/@T+ ؚ )T*Rj}K? T*  ( Q)==<ೃ< *@94RH}(ˈ@Rs@.h@ PT,P @ 9 Q/ )U/9?9RR(ARP@@9!R P@@H  T)*(! ?(R@ {"T9RSy Q/@9h4~h@9h4 @R9O`TCyh@95 A@94( A @(o69!RR@@s7O?T( @ A@@RHq5R@9O TCy A@94( A @ho6 ?T( @ A@@R"q49!RR8@^s7zOR@xsO@9 c@h86_@9)4 }S)29 R 39HR9(R@*9)O9jT=s9sH;sH#T-s1s 9#/@_@9i@9 kTc(4_:_@94_9 ZW/H@955Rm(R_9`TO_@9@h5>U9Oq`TSy9!RR rqjTNN@N@)  L@9- ЭA$h(8@in8J_ T 96q ? KTy ?1T@9e3qh(8N 9#/!T;{Fep;RCWO{( -@@ R>r B/ c0 RxrKNqaRNR|v@.U qATh@ @` @vSC#BR)v@@vSC@ @ 2KyN@Rq@) )-@)@?T{DOCWBC_p;RzO{C 7@ )A q(%@! !RRReR )A,I@T @ R r* 2  kT@@AR#h)R(!{AO¨__WO{ A 9@ 7 6%@! !RRR7 A,HT 7@ 9@7) 6%@! !RRR$ A,HT @ R r* 2  kaT@@ @ R r* 2  kT@@@?6 AR"87AR"87 Z;Rtq B/ c0RqMpaRRRqqhMpҶRCq@R>qAR҃R`aRX{COBWA_Ĩ_րR;R;R_g_WO{@Rq B/ c0@RW`|q*MpҀRq B/ c0RA`fqMup Rp B/ c0 R+`PqL_pҠRp B/ c0R`:qLIpRp B/ c0R`$qL3p`Rүp B/ c0`R`qLp@Rp 9/ Z0@RMRpRL Rp RLRwpRLRmpRL`Rcp`RL!Rm R{DOCWB_AgŨ___og_WO{R7oy (6% Ro@@AA_jhppRRRp@(6@@AA_jhtpqpdRRRS@XB_j8^pqdRR@A8Ro @Ro {FOEWD_CgBoA_;R` R;R\O{( -@@ 0@p4RR@!pRTh_8q!Th@yR Ji @9R) J *h4h@yR Ji @9 R) J *h4R@L@) )-@)@?!T{BOA_ A@9q@) )-@)@? TmaT4Rh@9qC_WO{( -@@7BT8RRbT@9Uq TqTARn7@9qTaRr@u2BT(@9qT ARnR  ?T2TRUq@z[2#)\) )-@)@?T{HOGWF_EC_1m;m3m+m#mog_WO{ CC[( -@@ A4@ 4@C$@(4USkS W)R(#  !/Z#@J 6 4@K@? aT_qAT@1@S@ q`T@@7RPH@uH 1is84 @ I ɚ 뜳v6@r} 4@C|T A)@ )5)@ |ThQMq(TSK kjyhx) ֟~T^$QxV}T7PqT %@xx_qTQx Z}SxQxTc)`9ѢCR _qT @98 @98 _q`TP?˟뜳<65RwTPT "$P5R vTuTRRRq@9( 5& is8  JD9Ri%3 ?T l@8 il8J  JD9lz 4 _aTaQ(TP7T`c)`5R Tt y5R *To mT#QlT7Pq`T E@_;qTQ ZQTc)`9ѢRj _;qT @938 @9#8 @98 @98_;qT_r@@? qT T`T @)!@?kCTi@5@@@(_r ?q!TTbT @9+ kA$jij8 )?TIT P)}ӟ @DBz3c; {{<6"TcTPӟ@$Bz_qTkTR  @) )6(ih88T|7P6bT RS6 @9kYT3#Q+IXT7PqT E@VQTc)`9ѢRV @938 @9#8 @98 @98ST#x(iRT7PqT %@xx_qTQx Z}SxxTb)`9ѢCR_qT @98 @98 _q`T+MT" LT7PqT E@VTb)`9ѢRkV @938 @9#8 @98 @98KGT"x)FT7PqT %@xxVxTb)`9ѢCR<V @98 @98 VATw"@T7Pq`T E@_;qTQ ZTb)`9ѢR _;qT @938 @9#8 @98 @98_;qTTTP#7Tѩ T@6TT ҡ6TT* JA$ @9Jik8 )?T@ A9(!@!@83%@W_*(%R((!(5@(5 A4@rr R8@TR@$@y*$P@PT BzT A4@@H%@i7* CUH!xAyAw .TP".T6RPRq@9( 5& i`8  JD9Ri%  ?T l@8 il8J  JD9 z 4 _aT$Q@9Q_qRIzT`b)`93(`BTP7Q_qRIzv!a~@P k$TT #T!Q"T7Pq@T @0vQ)`T ѢR"@ T_!QT7Pq@T @0vQ)`TѢR@ +T9!Q1 T7PqT @0vQTc)`ѢRV@ @1@ q3T 4@ #TP(!Tu$7q%T)@QRDn T Q T7Pq@T @0vQ)`TzѢR@ K T  Q" T7PqT E@6Q")`hTQѢRlv @938 @9#8 @98 @98kT QIT7PqT @0vQTb)`ѢR>V@ kT4_iT7PqT @0 vTb)`ѢRQV@ QvKTPTsIc6y86s@s!TRO .V*PBT6RNRqw@9( 5& iw8  JD9Ri%7 i?T l@8 il8J  JD9z 4 _aTҀQhw@9h@ R r qATh@ @` @jT&(@T#Tc@ !0=@RyN@QP(h@ R r qTBR3QT @2? kT >ARLBRY5a @?qT(Qh h@ R r qTh@ @` @g?h@ R r qTBRQ _84 9) *) Rr*}KcLRi )2 8IcHT?7sh@ R r qAT` @ @9y?7sBR(@8qT3ѨPkTTs@)@TP5Z6@  T  m@9. A$im8k j,T_T5R?jTT^T7PqT @0 vTc)`ѢRQV@ Qv|ZP˟뜳@r 4@CT A)@ )5)@ JTPTTu6c#R RQ4Q8) )A$3ih8ccW@ R P4ѷQ8) )5&,iw8 ( D9R% W@ T@8.im8k+ kD9z K4 aTѢR@@6(@9( 5& iw8)  JD9Ri%7 ?T l@8 il8J  JD9z 4 _aTRPO@(@06P(TP 6Tc)` TT >6BTP5R T@ TѨ @9)?qT   T TpT7PqT E@VTb)`9ѢR V @938 @9#8 @98 @98+T57PqT @!QJI(TѢR@ VP`Bq42#Th@ R *hh @i@) @i)8P]˴TQT7PqT @0vQTc)`ѢRV@ ˯TQ T7PqT @0vQTb)`ѢRV@ Pu&6@Ӛh&N( BT @9) T? T @93 sz8hjh8@5 @8_)qTW TP?T(@9HT*(@9hjh8 _TR?T*@9J_HT+)@9iji8* BT R?T+@9kHT,)@9iji8+ T R?bT,@9џT,)@9iji8) RL}S 38h}SH38i3#8hRⲈCR22P @8_)qTT@9)qT  6 4@ T"R``3E @ R * @_qTTRSR3j<8 T @TP6bTB Rn @9`]3 @ R * @_q5TTR D )6(ih88T|7P6TGlS6 @969h @i@( 4@T"T@9hk89|">T˟뜳_q'T_kqT Ti@94sTaˎIPi(@? q27k#TP @9ѿT/@  K ɚ| P@  ˟ TR˨"@( Ӛ(|˕6 TP뢟T @9 kA$jij8 )5R?T 5RP˟ 댝TRmTP#c~T ? T@ }T`T ҧP}6@@9 S@ q q|T@@9(|7TR xSqRj<8T @TP6BT @99h @i@( 4@-TH5!7IsRJRq@9( 5& i|8  JD9Ri%< ?T l@8 il8J  JD9z 4 _aTbQ(T#Ts@ !0=@RkJ@QP7hk89|"BTTc@mTu6'_q@TkT S9 xShTWc@U@9_qTiT @9 ShTF*R@@4)@@A  P Ti4ZZ4 4@MrT#R_TT_qT A6@)@907 )?T*@9 yj R*jT(\R ;TPb T(RM@)) kK3j@ yjjW6{)Tj@9jKqTXTj?6K T? KWTk@9lqT kA$kij8? VT_q T_qT_qATj@9_iqTj@9_qaTj @9_qTj@9_qT_qATj @9K-TK T_qTj @9_}q`Th@9 )A$(ih8h  qTGu6h@2h@@907RBR 4@maTP ҉z  E@A#@n`< h<a< u< %< 0<c<&< +< w<'<1<m<(<,<~<' N$Bn< << < <<<'<S%> ''&>'> '%> 3> N'p'0>e N+>'>' Nq'S@nk> s Nk>ck> G Nk> Ok>C Nk>Kk>; N'k>?K< 76'w'K<3K< /''P< K<'t'K<t N'L<M<@ N < < N< <  N<< N<<@s N'@n< @u N<< X N< <S@ N<<< /! ! /!an)a!^A+a  /an!(g^!(g  /an!(e^!(ec c /can!(cc^!(c# c /can!(cc^!(c c /can!(cc^!(c c /can!(cc^!(cC c /can!(cc^!(c# c /can!(cc^!(c c /can!(cc^!(c c /can!(cc^!(c c /can!(cc^!(cB B /Ban!(bB^!(b B /Ban!(bB^!(b' N @ d c /can!(cc^!(c /an!(d^!(dH-B B /Ban!(bB^!(b  /an!(e^!(e/@ NO@ N  /an!(e^!(eF-3@ N ?@ N /an!(e^K@ N!(ee'  /B anB /Ban!(bB^!(bs@!(d^!(d'c@b Nc c /can!(c Nc^!(cc'B  NB /Ban!(bB^$ N!(bb B /Ban!(bB^!(b"' NB  B /Ban!(bB^!(b'c /can!(cc^!(c'  /an!(d^!(d' N  N /an!(d^b N!(dc c /can!(cc^!(c'C Nc @ b /Ban!(bB^!(b /an!(`^((`J? T %T }!T} @ ii < !' <! N"/!"! /!an < #^$' < $ N" /an^ <&' <& N"Ƥ /an^ <0' <0 N" /an^)`(b(f(g(d(e(a(c! aT )! T  oo N;=zoo=o3=oooooo oo ooooooo ooooo=oo oo ooo  a @#/!o$/nNN3=.3=d/co!o=n=#=.#=C/=.=naoBon;=.;=NNND/)nkns..aAc/Bo.n"/!on.#/n.CoRnZ.B/!o.n/o1n9.b/Jn."on.bo.n!/{n=B.=J? ATj=aNNN$NCņNN;=N3=sNN&NЅNENN#N‡NANNNbNCNNN=NNƄNNĄNBN N@NN^f T }T}  @oo!Noo ii//ocnB.n!.)! T !!NN N^f T  !R#Rs#hQMqT@ _<a~)`)?(T @  _89 )?HTRS 0Rb)R(! bBT T 00BR b)R(! bB  g) `A}hT()h!`Tib( `A`V !֚9v 4@mTA@H@9 6 4@@j T@4H3@q@ TBT@ @ R r) Q qT@@ARR#Z#@u"Rz"Rtj"Rn"RhP(!T"R^ѢR @ MPTTc@*@@d7@qR/kP@b7@[@iP( A4 4@V J-@J@_ TCC{IOHWG_FgEoD#Cm+Bm3Am;l_ ,D 2D |0D 1D 1D ,,Dc@ *D 0-Ds@ p_WO{ -@@ ( @ R)4r  ?qTBR@6 7@@9h7(R' ] )-@)@?T{GOFWE__#mog_WO{+ -@@&@R_E6@Sq @z`T"@UqTR&@2&@ @4+@CB m')( a3@ AaRqGC;"2@ @@ @k qKaT >R`U.@Uxu) )1(ih8 q @zaT@ ) Ț?#T6 ~ө @?#T@ _ CT*_T?((>@9h 7?TV @ @UA"@{@@9h7$6@ ?bR_@q!To@o@K@? Az  K@T`@.6@jq(RoTwQMqT+ kA jyhx) wGK@FTw@K5 ,TK@74@97R KT`@4@96@@yq7T&xsT  !84@96ARsT 9E9&8sT %TK@7z4@97Rp  T`@o4@96@@y7&xsT !8_4@96h78 R 39 R 39 9h78 R 39 R 39  TK@w T`@ !84 @ R r qT@@RZC7FsHTh878 R 39 R 39 978 R 39 R 3 9 97 8 R*3 9 R*3 997(8  R 3*9 R 35 *9TK@w T`@ !8 @ R r qT@@Ryq7T&xs(TARsT9E9&8sT TK@w T`@ !8 @ R r qT@@RQCq7TFs(TRsTHӠ9 9 E99E9F8sT;K@:Tw@K Gk@ q[T)T ;@!@JCThi4@[K@Ka4@9H7RW ;@r( q@T07?K@k>Tw@K +TK@w T`@ !8= @ R r qT@@RC7FshTh78 R 39 R 39 978 R 39 R 3 9 97 8 R*3 9 R*3 997(8  R 3*9 R 35 *9TK@74@97R KT`@4@96@@Cq7TFsT !84@96RsTHӠ9 9 E99E9F8s(TG;@(@[r( qT'bUTh@9 )A$(ih8{'`TTȣT5h4G@G;@ T  TK@74@97R KT`@4@96@@Z}Sy7&xsT !8p4@96h878 R 39 R 39 9h78 R 39 R 39 h TK@8џTH4@97R> 3TT`@:4@9h6@@3T ! RAh66 R 39 R 39 џT4 !84@968G+T@ @?rH /@Z@U H5җmTw K@TG@ @ !8 @ R r qT@@97T9@  cT 3@h @) ?Ti @   T  A>@9j 7T@ !ARs96M hө?T9@ H@ҩ i cT@h @I ?Ti @   (T  A>@9 7T/@Z@@ !AU [T  RK39 RK39 )?T*978)?cTxTK@w T`@ !8 @ R r) qT@@ARKcg a!M`Kcg ba@bCq7 TCAFsT\R}sTR& Z}Sy E99E9F8sTFGjNTCkTK@w T`@ !8 @ R r) qT@@ARq7 T@s(TR>sTf X P HӨ9999E99E9 9E99E98shTkTK@AR^q97`T@sTKT`@ARNq96Rs(T !8AR<q6f X P HӨ9999E99E9 9E99E98sT?rR R)*@Ҩ_#_T@j @  G;Th @K (T_ II !>@99!7_c9T/@:@ kTK@AR q97`T@sTKT`@AR q96Rs(Ty !8AR q6f X P HӨ9999E99E9 9E99E98sT\TK@w T`@ !89 @ R r qT@@R q7Ts(T7RXsT-X P HӠ9999E99E9 9E99E98sTkTK@74@97R KT`@4@96@@q7TsT !84@96RsTX P HӠ9999E99E9 9E99E98s(TˍTK@74@97R KT`@4@96@@q7TsT !84@96RsTX P HӠ9999E99E9 9E99E98s(TWGʭTRx;@U!AS%@_*I%HH%F))I5I! qTT;@($@y?r R) *($C@ @5C@+@C@ @JC@9wH*T~TK@w T`@ !8: @ R r qT@@R Cq7TFs(T8RYsT.HӠ9 9 E99E9F8sT#T/@:@U9/7YuTw K@Ts@K !8h@ R r) qTh@@R_  `(Th@@7 ~!g aDT ? @qT@e'@)%Tga!@e g Bx2h8( ` @`,TkG9k9'@6~"Ө @J @J  #"T9@H @H)AK (T_ II !>@9 7_CT/@:@ R r qTh@@RJ 3@2h8GhT'E9'93@6~Ө @J @J  T9@H @H)AK T_ II !>@9i 7_T@ @` R r)  qGTh@ @Ss @RS@m< @ R r)  qaT` @l@94 Rh+R R RL8 @8L4Q)qT6 R)RqTq`TqT6+R_9H BRl@959(Ri@( S@5S@  R(R_9JJk@j )2i8rTh@ R r)  qTh@ @` @ @9 5BR @9+4 R(RMR)} )+ +Qm}Siq1K@89 5S@7 _8) 86~Ө @J @J  T9@H @H)AK (T_ II !=@9 7_T/@:@@ @U7X7@5a @?q T(Qh G@@ @U6+Th  R*39 R*39 sTi978scTTh  R*39 R*39 sTi978scTyTh7@  R*39 R*39 s"Ti978scTG.uATK@8џMTV 4@97RLTT`@H 4@9h6@@T !R=h66 R 39 R 39 џTB !8+ 4@96k:TK@7 4@97R KT`@ 4@96@@Cq7TFsT !8 4@96R3 sTHӠ9 9 E99E9F8s(T2TK@7 4@97R KT`@ 4@96@@q7TsT !8 4@96R sTX P HӠ9999E99E9 9E99E98s(Ty<6/Ӛ(<(TK@w T`@ !8  @ R r qT@@R1 q7Ts(TR sTX P HӠ9999E99E9 9E99E98sTlGK-T@ @?ri)H ш 7@9@k@/@Z@[ H5Ј9RC@))Tw K@TG@ @ !8&  @ R r qaT@@@k@ry7c TC@(?@9h(79h)@( ;@j @2h@w: @(@ !A[ H5T R@k@r6T9C@i@2h_( T 1i@( @_T 3) @   T  AC@J=@9j 7bTC@+h@ !A !LR;T9C@H@i˟ cTJ@H @  ?TI @  _HT  AC@J=@9 7T/@Z@C@h@ !A[ HRv8C@HT96TG;@+TK@w T`@ !8  @ R r qT@@R+q7Ts(TR sTyX P HӠ9999E99E9 9E99E98sTfGe96G_T+@9 A$ik8J ) ;?ThT9RNK@(kDTG@7@GK0 4@96@@;@r( q@ThMTG@@Ҫ 냮T@ @  _ #T @*_(T?** A>@9* 7?T/@:@y TIT{h@9qTh(THG@G;@jT?K@9h@( G@;@@K@F{@"EI7+@;@H'@y?r R) *H'C@ @UC@PC@ @JC@9wH*8# Ӛ(x@Ҫ T* ȚXG;@˟T(@HTh*@ T()!@iw+@;@CH'@i4* @@ @UG=T !8G@ R r)   ?q!T@) @W @;@h63BR@;@H7y6W@kq k@_ q3 TWkqTshW K@ҩ T@ @I ? 룋T @l ˟ (T jj A>@9 7CT/@Z@M 7@@9h76k@ q!^TR>@9(7 @2h@w @@ @U9Rk@ q[T)R;@I5;@@9Y7y R@2@w.K@hTw@RThUțAT !lR9R@ R r)   ?qT@) @W @O(7BR|@O6 7@@97W@K+W7RRW@ jU)}ʛ))~jJJ ۚ* 6I~JK@ҩ CT@ @I ? pT @l ˟ (T jj A>@9n 7CnT/@Z@uG;@@9 Sk@ qaLTRW@`9R !8G@ R r)   ?qT@3 @W @H6 7@9@rG@ BRW@@7RRk@ qx ( A 6~(zH@ҩ yT@ @I ? T @i? (T ii !>@9i 7# T/@:@_ !8G@ R r)   ?qT@3 @W @H6 7@9@rG@ BRW@@7RRk@ qt:(C6~pH@ҩ CpT@ @I ?  T @i? (T ii !>@9 7T/@:@ !8K 4@9ȵ6 \@ @W@Uw q 5&#q TTR3RmShTT4T`@9i`8)D9RH% hTK@8ik8)  )D9 z 4 ?aTC*r 5&C@@@h8 ) %?i@1`bT{TzeHT$ *7Y67R8 R39 R 39 R TR3RSh TT4T`@9i`8)D9RH% hTK@8ik8)  )D9 z 4 ?aTC* 5&C@@@h8 )mS Q?iH1VT{TzeTlSQlS*7Y67R8R R 39 R 39 6Y6E878}@ @W@Uw 똲 qA TTR4R `@8* @ TyST4T`@9 5& i`8   *D9i?bT l@8 il8J  JD9*4 _TC*7C@7@@@* @T@(FT{* @!TY67R8 Ri39 R 39 Rk TR4R `@8h* @TS T4T`@9 5& i`8  *D9i?bT l@8 il8J  JD9 4 _TC*7;C@7@@@ h* @!T@(;T{h* @aTY67R8 R 39Rh39 R @T Ri"jH% q(Y678 k@? qQeRi9RfRW@s kq  W?+T_T I@9 ЌA$ii8J iW T_T_5Tkq6(I W9RW@kqHk@? q TWkqTsbWi@Ҩ?-T@I @h TH @*_(T?** A>@9 7?cT/@:@&  #Whk@? q@Ҩ?)T@I @ "TH @*_(T?** A>@9 7?T/@:@6@ @W@UQW@s R 39 R 39 n !8GT@ @U8R@H7rT6i @?qTiR  ?@qT !Rn6h@ rT R r)  qT` @*K@TG@3@h@6JLh@rTR R RRq6RT R)4r qAT` @R H PXӟq7T@hT~ !8h@6Rz H PXqY6`9j9i9h9E9h9E9h 9E9h9E9h8T]@ @W@U j4cR)@6O@Oy7QW@WT0KT  RK39 RK39 )?T*978)?cTR39R39 R@ @W@U sha@8҄W@WT9R=@ @W@U2 6RW@˟qiSP ,@9h5 6@9h4҂RRY )-@)@?AT{FOEWD_CgBoA#l_ֈ ,&4 #4 > 4 H?49 49@( 4;a @?qT(Qh 49@( O@Oc 3O 3 <3 ?3@W@ 3O& 3og_W O {  -@@/Rr C4@ 4@ )5*@K+Y )4)@ Zc4J@J @3yj @ @ qT@ @@#BR@"h@yh"_(#h@ R)4r  ?qTBR8 h@6 7@@9h7(R7Ch@h6 qTh@ @ t @ CR @{P @~BT**qS} ! cT*97 ! @ T 97  @T 9J7 @T 97 @@T 9 7 @T 9j7 @T 97 @`T 9*7(@T(!*A_)TT ) 9j7)T.CQ( T ҉l@8jl8J  JD94_q T?T`` @9qTR  C4aTh@7@ H@@/@ )-@)@?T{KOJWI_HgGoF_WKMR#R og _ W O { C -@@`@$@y$bTy {CR 2"T@9h[t(j@TqT ?T*@8_)qAT ) 61qaTt&@7@R)442h&r 5 ) (@RB4RvZ )-@)@?!/T{MOLWK_JgIoH_֟qT@9 @)?)c.Tmq.Tq-Tv b'T  _qT_qAT_%TJ@8h_q T_qmT_qT_mq`T_uqATH)_T*K@9)q TZJaTvh6@qJ)Th&@rT 4BRN/_#T_ TI@9(@)?% TVIR@9lџ% Tk@ - kTl}ʛC `T 9$2/_"TZ9TU9qTq Tq!T@R R ^4R 4WO`*q`T/@ *q@TjTh&@r 5 ) (@R !683@_CT2(RhmqTqTVHR(hh(Rh2dH)R)T )T@8iuq TqMTqTmq`TuqAT)qTq@TTK @9)qTkaT2(Rh2 @9*_%T(@ H JR @9ѿ%T@,1 T}˛C  `Te`@i@; ==) @#h.B`;@h= =#@( i@9uqTTRT@9j{i*j@T?qT _T K@8)qAT*J ?V1T?q!Th&@ 2i&bT@9*@J_)# T)?mq T?q T/@*h" R(R 9;1h&@r 5 ) ( 4/1h&@r 5 ) (# 45$1h&@r 5 ) (# 51,L 81 R 91h&@r 5 ) ( 31h&@r 5 ) ( 30r 5 ) ( 70h&@r 5 ) ( 70_WO{C -@@@B TRU2Rq@9 5& iu8  JD9Ri%5 ?T l@8 il8J  JD9z 4 _aTC @( `T#T !0=@R1@ @i@(h@ )-@)@?T{EODWC_B_ֈ p<0KCog_WO{ -@@@R1R(r)Rq<Uq(8kTR {7& A$R@9ih8?(3Z2H2ѿq  9TTˀ@9hk`8Hi)D9% TK@8lkk8) i )D9 z i4 ?aT _R@T!T?JTRQ 4@Z6R 1Rqx@TT@9hkh8h D9bTK@8kkk8) i )D9i4 ?T%@9jh83V#T @9ih83VTԂZ6@_rRIR H )5 J I' !=1@t R@ )-@)@?!T{HOGWF_EgDoCC_Jg_WO {  -@@` 4u 2   ;(C RS`6h2@ q Tx@h" uji8@@5?qT*Q_Mq Tjj8)  (A?aq`T?qa TȚ) ?Ț8KT`==yjA@@yj=`=yj@@R8R[ )-@)@?T{JOIWH_GgF_h&@ )5 J rH d:D/WJh&@ )5 J rH <8/?qTi&@ J5 k ?ri' `;*/?q`Ti&@ J5 k ?ri' ;/og_WO{ @7@ @; @TI97Z_T_TX(tK6}A ( @ 5z*!@h6 (@T((@cT_Th[ A@8|_`T(@T)@?T9(@`Th@8T6!T6zh"@w(h@6i@*@*( @ ( h@ @ h@yhh@ @ (h@v  h@@ h@2h{GOFWE_DgCoB_''6@ @ z.O{ @(7X6h @ 9@9 6@@=@9 7\`5{BOA_Eh@_7h@1Q qTh@@RRqT $ K. F.H?5kT  R*3J9 R*3J9BT 97I8cT_T  R*3J9 R*3J9BiT 87I8T e7 ib8 8_ T)@9)B ii8 9)@9)mS)|*@9)J ii8 9)@9)uS) ~*@9)J ii8 9)@9)@ ii8  9! B  _T _TaT R)@9*@9JB ij8 9*@9JmSJ| *JK ij8 9)uS) ~ ii8 9@9 9HR8_og_WO{C* -@@?HT?$bTC}hI}&@T@@`?qן 3R3@BTHcT `?q觟J(C7RRr 7@P6 qT @ BRPHq9@ @ qA9j7i^ +@`@ ]@ u87ix7@+ tr@B!(@9 Sq@ @5 @Rh a4@@@@G6@ш@T@@)R joT7@ @C|@uTh 4@CT:@9 rT @ȆZ TRiȆZTN@(R9t 5GZ7Һ"@C T"R@N@@6@:@9 rAT ҋ @"TH cT}(}VhJk `b ¬@?B !aT T   i ) @ʆ)T" @OTR;R8 @y  @"9?T<@ @G@7HP7BR@I7H7 R r q`TAR#4@ @ R r qh@7AR@ 5@9i6 @ 9@9 '6@@=@9r"9?T@@8@96ARo9?hT kT@x c?@AC9h 5@h a4@aR @)R A9k kA7h@ @@ RAR9k kA7h@  D@@ | 4@Cj J!7I@)@( @ @ @)@) @ l 4 @)@) @ { {C4h@H`@q@(*y 957y 9x  p!R"RcR@ @ !R"RcR@ @R?@R<(@ @* @J* @)@* @J* @(@ @@ @) @ @@ @@y 95k kA7 @) @h@ )D)? kT ){ {C4| 4h 4@C h 4@?}G@)T !:+7h 7@ 9@7 6R!RP 4<&4z& 7%bk kA7h@!@ R )@RHyS@CH h 7@H (@i )5)@ BHh A5@H+h A6@Hy 9c)(@Hh A)@(s s8@ 87(RH9x c4@ @9?r`T(R@9erTk kA724 7h1Ri@*)@J;*@J JCӫ؉RrJ} *)W'@)a@ISi@I# R@_q)J@9I *I9_ @) @)@9 Hy@5@%@ a@* a?qT@a@}@@)ayih @i )4(@4@i )6*@J @J@J/ @J )@) @(1 )q=@_q( )7@_q"l A7@ @! R% @  hh 5@@kTUl A7G@@87@9x 4(6h 6@ @@.@ .@?q"T(Q@@<@9"07@ @+A h ( @ @  "@hH @s s7&@R@ @(a&@?qc T(Q:@@ )@s s7i )5)@) j J5I*@j JA5I@j JA6I @i@) !@)Q ! @(i@@) )Ck k!7j@J@I @) @ @J@J @* m 4 @J@J @) i @ih a?@@ A97LZ 767,5 76*20h4.',kl A7@3R4h 4@  !:6H*44 7u4z 7Z 7a : 7 /{ {C4| 46!BT"*_ @+ *!? #T @!ш:@9 rTTx}jxARY(j8s!TZTzwn;@976@q!T++Ts`Tzs@ qTAR*(z3sT+} @}C @ @ R u3'@B  h/@ )-@)@?@TuB8l A7@@<@9h76RSl A7"@hH+@#R & &J'&og_WO{Cz Z5h AS@@x C6{ {4@w@h 5 @ h 5 @ TCh 4@=mTu B4@@?֨@@ @5M qT@@H@k T ARH@kmTƧ{EODWC_BgAoƨ_Ch@BR%og_WO{Cy 953@h 6@ @w B6@@z Z7[@>@906v@ R u3@ @?T@ @JT) @ @?LTR @)R @@)R @ @h 4@t B4h A@i )a4(h *@?[@@ @5M qT@@(@k T AR (@kmTQ{EODWC_BgAoƨ_g_WO{w 5@u B6x 7@@i ))@* @@@ @J ) @(@?q#T(Qh @ @ @ @)  @@?qcT(Qh 4@t B4h A@i )a4(h *@?@@ @5M qT@@@k T AR@kmT{DOCWB_AgŨ_ֆog_WO{C* -@@?ÐT?$bT}Ө} Rr@h?`@+7|S H#H3@R?@B9Thc ARiӟZq觟 JhBI 6?@Tv@X6 @*9@9 6)@)@)=@9I 76@9 6 @*9@9 6)@)@)=@9) 6BRR@ @@7 q!T@@ @ qT@@@ qT AR-@ qT@@@!@qq(ZAR `џZybn";;;@T TCv@X6 @*9@9 6)@)@)=@9I 76@9 6 @*9@9 6)@)@)=@9) 6BRRV@ @@7 qT@@.@ qaT@@@ qTAR AR@ qT@@ӟZq觟 ?kTsBT@!@qq(ZAR< `џZ[C@ TC ARӟZq觟 JhBI 6ATv@X6 @*9@9 6)@)@)=@9I 76@9 6 @*9@9 6)@)@)=@9) 6BRR@ @@7 q!T@@ @ qT@@@ qT ARp@ qT@@@!@qq(ZAR `џZTCyC;@ T?@3@?! T;@@5@@X6 @*9@9 6)@)@)=@9I 76@9)6 @*9@9 6)@)@)=@9I 6BRR` @(@7 qT@@ ?7@Tj@ qaT@@@ qTAR AR@ qT@@ӟZq觟 ?kT?@C(HH)#џ '  _qAT#K_,@L+K!_  #TC@?7@TX6A('@)#?#T%)C 뉃9) ?AbT )D)+l| 9 A A J aT T? TA9C?CTT?@3@?AT<@!@qq(ZAR) `џZ R@/( !#' @+Kh} +AU` @) 4 3C+@)?)) (}!~@@HH#)M((-@O(@ }x @  ˓ @/  ˔ _ 觟 ?@1K#T?<T+@@ /@ *! ) ?T  _#?TC l}}*)  " ¬? !aT A=T Ov@5@@;X6 @*9@9 6)@)@)=@9I 76@9 6 @*9@9 6)@)@)=@9) 6BRR@ @@7 q!T@@@ qaT@@@ qTAR AR@ qT@@ӟZqZz|;#B T4Rv@@@X6 @*9@9 6)@)@)=@9I 76@9 6 @*9@9 6)@)@)=@9) 6BRR<@ @@7 q!T@@0@ qaT@@@ qTAR AR@ qT@@ӟZkTs藟"Ț(T@!@qq(ZAR  `џZ\#џI Tv@@@X6 @*9@9 6)@)@)=@9I 76@96 @*9@9 6)@)@)=@9  6BRR  @@7 qT@@-@!@qq(ZoAR `џZi@ qaT@@@ qTARY ARU@ qT@@ӟZklT# ARBӟZi"kZÓ9? THC ?~}3v@u@@X6 @*9@9 6)@)@)=@9I 76@9 6 @*9@9 6)@)@)=@9) 6BRR{@ @@7 q!T@@ @ qT@@@ qT AR@ qT@@@!@qq(ZARo `џZC@T"_H0 OF?GT?TC K}h}    ¬? !aT_ AT !)3G!_H, OFT ?CTC *}H}Ӌ  ¬? !aT? T !  +@ ?T!    i@ T " @ XA?'?bT ?T'@!@qq(Z7AR `џZ1(4+@@ /@ )# 9 T ?TC K}h}),   ¬? !aT_ T I@ _T *@ ?T'E h#@HO@JqT@A_ t@CTJA"˟ lTT*7J4@TT~ 7h}kAU@ @8 C)@) 9+@)?)) (}!>HYk8@ @@TZ )-@)@?AT*{EODWC_BgAoƨ_֟2<og_WO{C* -@@?T?$bT}ȑ}u Rr@h?`@2qן H#H3@R?@B9Thc ARןZq觟 JhBI 6?@Tv@X6 @*9@9 6)@)@)=@9I 76@9 6 @*9@9 6)@)@)=@9) 6BRR@ @@7 q!T@@ @ qT@@@ qT AR@ qT@@@!@qZq(AR `Z՟ybn";;;@T TCv@X6 @*9@9 6)@)@)=@9I 76@9 6 @*9@9 6)@)@)=@9) 6BRR@ @@7 qT@@.@ qaT@@@ qTAR7 AR3@ qT@@ןZq觟 ?kTsBT@!@qZq(AR `Z՟[C@ TC ARןZq觟 JhBI 6ATv@X6 @*9@9 6)@)@)=@9I 76@9 6 @*9@9 6)@)@)=@9) 6BRRF@ @@7 q!T@@ @ qT@@@ qT AR@ qT@@@!@qZq(AR: `Z՟TCyC;@ T?@3@?! T;@@5@@X6 @*9@9 6)@)@)=@9I 76@9)6 @*9@9 6)@)@)=@9I 6BRR` @(@7 qT@@ ?7@Tj@ qaT@@@ qTARp ARl@ qT@@ןZq觟 ?kT?@C(HH)#џ '  _qAT#K_,@L+K!_  #TC@?7@TX6A('@)#?#T%)C 뉃9) ?AbT )D)+l| 9 A A J aT T? TA9C?CTT?@3@?AT<@!@qZq(AR `Z՟ R@/( !#' @+Kh} +AU` @) 4 3C+@)?)) (}!;@HH#)M((-@O(@ }x @  ˓ @/  ˔ _ 觟 ?@1K#T?<T+@@ /@ *! ) ?T  _#?TC l}}*)  " ¬? !aT A=T Ov@5@@;X6 @*9@9 6)@)@)=@9I 76@9 6 @*9@9 6)@)@)=@9) 6BRR@ @@7 q!T@@@ qaT@@@ qTARg ARc@ qT@@ןZqZz|;#B T4Rv@@@X6 @*9@9 6)@)@)=@9I 76@9 6 @*9@9 6)@)@)=@9) 6BRR@ @@7 q!T@@0@ qaT@@@ qTAR AR@ qT@@ןZkTs藟"Ț(T@!@qZq(AR{ `Z՟\#џI Tv@@@X6 @*9@9 6)@)@)=@9I 76@96 @*9@9 6)@)@)=@9  6BRR=  @@7 qT@@-@!@qZq(oARE `Z՟i@ qaT@@@ qTAR AR@ qT@@ןZklT# ARןZi"kZÓ9? THC ?~}3v@u@@X6 @*9@9 6)@)@)=@9I 76@9 6 @*9@9 6)@)@)=@9) 6BRR@ @@7 q!T@@ @ qT@@@ qT AR[@ qT@@@!@qZq(AR `Z՟C@T"_H0 OF?GT?TC K}h}    ¬? !aT_ AT !)3G!_H, OFT ?CTC *}H}Ӌ  ¬? !aT? T !  +@ ?T!    i@ T " @ XA?'?bT ?T'@!@qZq(7ARZ `Z՟1(4+@@ /@ )# 9 T ?TC K}h}),   ¬? !aT_ T I@ _T *@ ?T'E h#@HO@JqT@A_ t@CTJA"˟ lTT*7J4@TT~ 7h}kAU@ @8 C)@) 9+@)?)) (}!i9HYk8@ @@TTZ )-@)@?AT*{EODWC_BgAoƨ_-7og_WO{C* -@@?fT?$bT}f} Rr@Y@ @ qaT@@@ qTAR( AR%@ qT@@@C RC@"Tc AR 跟JB6C@bT @ qT@@@ qATAR@ qAT@@跟JBi7b3"g?@bTt T7 @ qT@@@ q TAR跟?kTAR@ q!T@@跟?kTBџT7@HThC AR跟JB6AџbT @ qT@@@ qATAR@ qAT@@跟JBi7 TC?@!TC@3@?T ?@@5@ @ qaT@@@ qTARpHT&ARe@ qT@@跟?kC@9(HHs)# ' _qATj#K_,@L+K!_  #T ?;@bT6As('@)#?#T'%)C i9) ?AbT )D)+l| 9 A A J aTh S? TAs9C?CT!TC@3@?TH#Hs3@ R@/( !#' @+5} +AU` @) 3 4C+@)?)) (}!7@2H#)M((-@O(@ }w @   @+   _ 觟 ?@1K#"T ?/`@5@ @ qT@@@ q;TAR AR@ q;T@@뚲<{#bT4R`@@ @ qT@@@ q TARǟ @zT2AR~@ q!T@@ǟ @zTs藟"Ț(T\#џT*\#џT`@@ @ qT@@@ q TARSǟ TARK@ q!T@@ǟT h5# AR8觟ǟ)  *i"qZ9?THC ?~}3`@u@ @ qT@@@ qTAR@ qT@@C@ T("_H1 ?F/@CG#T?TC K}h}),  ¬? !aT_ aT !*3G!_H, ?F/@T ?CTC *}H}Ӌ  ¬? !aT? T !  +@ ?T"    i@ T)" +@ WA?'?T ?T? T@+@ *! ) T _TC l}}*) " ¬? !aT T14@+@ )# 9 T?TC K}h}),  ¬? !aT_ T I@ _T *@ ?T+@ #@HO@JqT@A_ s@CTJhA"s lTT*7J4@S\S~ 7}kAU@ @7 C)@) 9+@)?)) (}!6HYk7@> @@TZ )-@)@?AT*{EODWC_BgAoƨ_֬*4og_WO{C* -@@?eT?$bT}Өf}ӂ Rr@Y@ @ qaT@@@ qTAR AR@ qT@@@Cן RC@"Tc ARǟJB6C@bT @ qT@@@ qATAR@ qAT@@ǟJBi7b3"g?@bTt T7 @ qT@@@ q TARǟ?kTARx@ q!T@@ǟ?kTBџT7@HThC ARaǟJB6AџbT @ qT@@@ qATARJ@ qAT@@ǟJBi7 TC?@!TC@3@?T ?@@5@ @ qaT@@@ qTAR"HT&AR@ qT@@ǟ?kC@9(HHs)# ' _qATj#K_,@L+K!_  #T ?;@bT6As('@)#?#T'%)C i9) ?AbT )D)+l| 9 A A J aTh S? TAs9C?CT!TC@3@?TH#Hs3@ R@/( !#' @+5} +AU` @) 3 4C+@)?)) (}!4@2H#)M((-@O(@ }w @   @+   _ 觟 ?@1K#"T ?/`@5@ @ qT@@@ q;TAR^ AR[@ q;T@@“ßZ<Û{Ù#"T4R`@@ @ qT@@@ qTAR8ןWzT2AR1@ qAT@@ןWzTs藟"Ț(T\#џT*\#џT`@@ @ q!T@@@ q@TARןWz-TAR@ qT@@ןWzlT# AR跟ן?kןj" jZY?THC ?~}3`@u@ @ qT@@@ qTAR@ qT@@C@ T("_H1 ?F/@CG#T?TC K}h}),  ¬? !aT_ aT !*3G!_H, ?F/@T ?CTC *}H}Ӌ  ¬? !aT? T !  +@ ?T"    i@ T)" +@ WA?'?T ?#T? T@+@ *! ) T _TC l}}*) " ¬? !aT T14@+@ )# 9 T?TC K}h}),  ¬? !aT_ T I@ _T *@ ?T+@ #@HO@JqT@A_ @CTJhA"s lTTj7J4@S^S~ 7}kAU@ @7 C)@) 9+@)?)) (}!2HYk7@@ @@TZ )-@)@?AT*{EODWC_BgAoƨ_`'K1og_WO{C* -@@?T?$bT}h}6@W@@'|S;R;@4TNCYc?" TC@!@qZq q跟 ?kTB9CC?T56@96 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6BRR` @G7 @R r qT@@OqT RQ`4K6 AR `Z՟C.#(cC7?bTT@!@qZq q跟 ?kTB)T6@96 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6BRRp` @G7 @R r qT@@ZOq!T R`46 ARt `Z՟XiTTCC@TM@!@qZq q跟 ?kT7CC@?bT6@96 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6BRR` @hG7 @R r qT@@OqT R`4Ҡx6 AR `Z՟:C_TTCG_ TF?! TC@@@6@96 @ 9@9 6@@=@9H 76@9(6 @ 9@9 6@@=@9H 6BRR @@7 @R r q!T@@ ?@ThNqT RY`4S?@6@!@qZq AR `Z՟q跟 ?k?@T;@hhs"џ '  _qAT#K_,@L+K!_  #TTX6As&@"#T%B 뉃4) ?AbT )D)+l|  A A J aTh S? TAsBCTTF?ATh#hs7@Y R@/( !#'@+F} AU` @) 3 4C@)?)) (}!0@CH#)M((-@g#(@ }m @  ˓ @/  ˗ _ 觟 @1K'T?7T?E@*! ) '@9T _c9TC l}}*) " ¬? !aT 7T?@@6@96 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6BRR` @@7 @R r qT@@MqT RZ 4TR @!@qZq AR `Z՟}JqwCh"b T9R@@6@96 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6BRR` @@7 @R r qT@@$oMq!T R4 RKklT@!@qZq KkMT_Z藟9#ȚhT ARt `Z՟Kk TC"T@v@6@96 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6BRR2` @@7 @R r qT@@Mq!T R4ҸRKkmT @!@qZq KklTs" @!@qZq (#K?k™TC ?~}y@6@6@96 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6BRR` @G7 @R r qT@@Lq!T Ri4cRAR `Z՟T"肈4 7GC@T?TC K}h}Ӊ  ¬? !aT_ AT !)G!肈, ;@T ?CTC *}H}Ӌ  ¬? !aT? T !  +@ ?T!    i@ T" 7@@ MA'?T TQARx `Z՟KkTH?E'@4@ # 8 T?TC K}h}    ¬? !aT_ T  I@ _T   *@ ?T(g@JqT#@A_3@CTJhA"s lTT7J4@SS~ 7}A5@ @7 C)@) 8@)?)) (}!.(8k7@@@Tp Z )-@)@?AT*{EODWC_BgAoƨ_#-og_WO{C* -@@?T?$bT}ӈ} @7 @^#qן;R;@4T.C;c" TC@!@qZq q觟 ?kTnB{CCTu6@96 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6BRRz` @G7 @R r qT@@dKqT R`46 AR~ `Z՟Cn#hcC7?bTT@!@qZq q觟 ?kTsB)Tu6@96 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6BRR%` @G7 @R r qT@@Kq!T R`4ҫ6 AR) `Z՟XiTTCC@TO@!@qZq q觟 ?kTBC@bTu6@96 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6BRR` @hG7 @R r qT@@JqT R[`4Ux6 AR `Z՟B?T;CG? TF?! TC@@v@6@96 @ 9@9 6@@=@9H 76@9(6 @ 9@9 6@@=@9H 6BRR @@7 @R r q!T@@ ?@ThlJqT R`4?@6@!@qZq AR~ `Z՟q觟 ?k?@T;@hHHi#џ '  _qAT#K_,@L+K!_  #TTX6Ah'@i##T%iC 뉃;) ?AbT )D)+l| { A A J aT T? TA{CCTTF?ATH#H!Y R@/( !#'@+Eh} AU` @) 4 3C@)?)) (}!|,@BH#)M((-@g#(@ }m @  ˔ @/  ˗ _ 觟 @1K'T?6T?E@*! ) '@8T _c8TC l}}*) " ¬? !aT 6T?u@@6@96 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6BRR` @@7 @R r qT@@mIqT R 4 R @!@qZq AR `Z՟qZyC(# T<RU@@6@96 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6BRR;` @@7 @R r qaT@@"%IqT R4RkLT@!@qZq k-T藟#ȚT AR, `Z՟k,TA"?TU@6@6@96 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6BRR` @@7 @R r qaT@@HqT Rw4qRkMT @!@qZq klT8# @!@qZq "k”TC ?~}U@@6@96 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6BRR` @(G7 @R r qT@@HqAT R%4RAR `Z՟_Th"肈3 7GC@T?TC K}h}il  ¬? !aT_ AT !)G!肈, ;@T ?CTC *}H}Ӌ  ¬? !aT? T !  +@ ?T!    i@ Ti" 7@k@ MA'?T TXAR4 `Z՟k-TJ?E'@4@ # 8 T?TC K}h}    ¬? !aT_ T  I@ _T   *@ ?T(g@JqT#@A_4@CTJA"˟ lTT7J4@TT~ 7h}A5@ @7 C)@) 8@)?)) (}!B*(8k7@@@T-Z )-@)@?AT*{EODWC_BgAoƨ_(og_WO{C* -@@?UT?$"TC@ @oGqT}U}ӣ@ @cGqT R4R|S@7R7@_"TbT6_A^GGqT6BT"b;7B"T7Gq!T R4B;_T\"T q跟?kT{CiT`GqT R`4Ҷ6T'$[C;@TT7;C;@?T`FqT R 4ҕq跟?kAT5CTB;@ aT7@T @@FqaT R~`4xT6 q跟?kT7@hh#_ ' _qATJ#K_,@L+K!_  #TbT6A'@##T'%C_ I<) ?AbT )D)+l|  A A J aT V? TACCT_T7@ATh"h#; R4DR@'( !@#@v _TAӓ" lTT-75~w7h}A5@ @7 C)@) 8@)?)) (}!((8k7)M((-@O#H@ }v @  ˓ @  ˔ _ 觟 @1K+T@@FqT R 4ҭR}JquH#T3R @@EqT R 4ҖRKkMT藟s"ȚhCT"_T"_iT @A@EqT R~ 4xRKkTZ#h"K?k“_TC ?~}S @a@EqT R[ @4UR?T"먂7 ;@T?TC K}h}͂  ¬? !aT_ !T !(#먂8 ;@T?CTC *}H}  ͂  ¬? !aT? T ! +@ ?T#  i@ T" 7@@ VA'?T T?@TE@*! ) O@CT _TC l}}*)͂ " ¬? !aT T8h4/@@ 3@ # 8 cT?TC K}h}  ͂  ¬? !aT_ O@E!T I@ _T O@E O@E*@ ?T+@(q@T#@A_V@CjTh}AU` @) 6 3C@)?)) (}!q'oC@@TaZ )-@)@?AT*{EODWC_BgAoƨ_%og_WO{C* -@@?#UT?$"TC@ @DqT}HU}@ @DqT R9 43Rqן@7 h"h"R7@_Tb"T6_A^vDq`TqTBT"b;qlTBTdDqT R 4B;_bT\"T q觟?kT{CiT`GDqT R `46ITHTN[C;@CTB;@ !T7@T @@$Dq!T R `46"q觟?k@ T;C;@?T` DqT R `4Ҩ6Wq觟?kT7@hh#_ ' _qATJ#K_,@L+K!_  #TbT6A'@##T'%C_ I<) ?AbT )D)+l|  A A J aT X? TACCT_AT7@T&5Cr; RM 4GJR@'( !@#@x _TAӓ" lTT7-75{~w7h}A5@ @7 C)@) 8@)?)) (}! &(8k7)M((-@g#H@ }| @  ˔ @/  ˕ _ 觟 @1K'T@a@DCqT R 4RqZٲu(#T8R@@.CqT R 4Rk-T藟#ȚHcT"?T"?IT@!@CqT R 4ҭRkT9#"k—?TC ?~}7@@BqT R `4ҌRT"눂6 7@T?TC K}h}̂  ¬? !aT_ !T !(h"눂3 7@T?CTC *}H}kl  ¬? !aT? T ! +@ ?Ts"  i@ T" ;@@ \A'?T #T?`T?E@*! ) '@CT _TC l}}*) " ¬? !aT g@T6?E'@(4@i" 3 CT?TC K}h}il  ¬? !aT_ g@T g@I@ _T g@g@*@ ?T(q@T#@A_@C*Th}AU` @) 6 3C@)?)) (}!$uC@@TZ )-@)@?AT*{EODWC_BgAoƨ_@+#og_WO{C* -@@?yT?$bT}Өz}@hC`@|S H#Hs7@RC@"-Thc BRaq跟 JB6C@"T6@96 @ 9@9 6@@=@9H 76@96 @ 9@9'6@@=@9('6bRR` @(@7 @R r qaT@@ @!@qZq AR `Z՟b7"g?@TT6@96 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6bRRl` @@7 @R r qT@@BRq跟 ?kTBHT@!@qZq ARh `Z՟C(TB BRq跟 JB6A"T6@96 @ 9@9 6@@=@9H 76@96 @ 9@9'6@@=@9('6bRR` @(@7 @R r qaT@@ @!@qZq AR$ `Z՟TyC?@!TC@7@?T?@@6@6@96 @ 9@9 6@@=@9H 76@9h6 @ 9@9  6@@=@9 6bRR @ @7 @R r q! T@@h BRcq跟 ?kC@9(HHs)#џ '  _qAT"K_,@L+K!_  #T?;@bT6As('@)#?#T'%)C 뉂9) ?AbT )D)+l| 9 A A J aTh S? TAs9C?CTTC@7@?T@!@qZq AR `Z՟ R@/( !#'@+3A} AU` @) 3 4C@)?)) (}!"@3>H#)M((-@g#(@ }y (@  ˓ @/  ˗ _ 觟 @1K'T? 2T?E@*! ) '@4T* _4TC l}}*()- " ¬? !aT 2T@@6@9?6 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6bRR` @&@7 @R r q!'T@@8BRm}JqwCh"T;R@@6@96 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6bRR` @(@7 @R r qaT@@BR8Kk- T_Z藟{#Ț(T@!@qZq AR `Z՟" T@v@6@96 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6bRRk` @H@7 @R r qT@@BRKkTs" BR(#K?k™BTC ?~}y@6@6@96 @ 9@9 6@@=@9H 76@9(6 @ 9@9'6@@=@9H'6bRR' @(@7 @R r qaT@@ @!@qZq AR0 `Z՟T"肈4 7GC@T?TC K}h}Ӊ  ¬? !aT_ AT !)G!肈, ;@T ?CTC *}H}Ӌ  ¬? !aT? T !  +@ ?T!    i@ T" 7@@ YA'?T T@!@qZq AR `Z՟@!@qZq =AR `Z՟7?E'@4@ # 8 T)?TC K}h} ( -  ¬? !aT_ T I@ _T *@ ?T(g@JqT#@A_@CTJhA"s lTTʽ7J4@SS~ 7}A5@ @7 C)@) 8@)?)) (}! (8k7@@@TZ )-@)@?AT*{EODWC_BgAoƨ_T?og_WO{C* -@@?yT?$bT}z}*@hC`@qן H#H7@RC@"-Thc BRtq觟 JhB6C@"Tu6@96 @ 9@9 6@@=@9H 76@96 @ 9@9'6@@=@9('6bRR` @(@7 @R r qaT@@ @!@qZq AR `Z՟yb7n"g?@T|T6@96 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6bRR` @@7 @R r qT@@BRq觟 ?kTBHT@!@qZq AR{ `Z՟C(ThB BRq觟 JB6A"T6@96 @ 9@9 6@@=@9H 76@96 @ 9@9'6@@=@9('6bRR.` @(@7 @R r qaT@@ @!@qZq AR7 `Z՟TyC?@!TC@7@?T?@@6@6@96 @ 9@9 6@@=@9H 76@9h6 @ 9@9  6@@=@9 6bRR @ @7 @R r q! T@@h BRvq觟 ?kC@9(HH)# '  _qATj"K_,@L+K!_  #T?;@bT6A('@)#?#T'%)C i9) ?AbT )D)+l| 9 A A J aT T? TA9C?CTTC@7@?T@!@qZq AR `Z՟ R@/( !#'@+4Ah} AU` @) 4 3C@)?)) (}!@4>H#)M((-@g#(@ }y (@  ˔ @/  ˗ _ 觟 @1K'T? 2T?E@*! ) '@4T* _4TC l}}*()- " ¬? !aT 2Tu@@6@9C6 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6bRR` @&@7 @R r q!'T@@8BRqZy?(#T<RU@@6@96 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6bRR` @@7 @R r qAT@@BRLkT藟#ȚT@!@qZq AR `Z՟"?TU@6@6@96 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6bRR` @@7 @R r qT@@BRklT8#B TC@ BR"k”TC ?~}U@@6@96 @ 9@9 6@@=@9H 76@9H6 @ 9@9'6@@=@9h'6bRR= @(@7 @R r qaT@@ @!@qZq ARF `Z՟8#TC@_Th"肈3 ?GT)?TC K}h}i(l-  ¬? !aT_ !T !(3G!肈, T) ?CTC *}H}Ӌ(-  ¬? !aT? T ! +@ ?T!   i@ Ti" 7@k@ YA'?T T@!@qZq AR `Z՟@!@qZq ;AR `Z՟5?E'@4@ # 8 T)?TC K}h} ( -  ¬? !aT_ T I@ _T *@ ?T(g@JqT#@A_@CTJA"˟ lTTʽ7J4@TT~ 7h}A5@ @7 C)@) 8@)?)) (}!(8k7@@@TZ )-@)@?AT*{EODWC_BgAoƨ_gRog_WO{C* -@@?cIT?$bTC}HJ}=@v`@BR|S7R7@BThc"T`BRq跟JhB7wb|";T" T BRvq跟?kT9C?T?TBA"T BRdq跟J(C7T|CT7@T@@BRRq跟?k9HH# ' _qAT"K_,@L+K!_  #TT6A'@##T1hTT%C ɂ<) ?AbT )D)+l|  A A J aT T? TACCT;@!T7@TH#HZR@'( !@#@t _TA"˟ lTT+75j~w7h}A5@ @7 C)@) 8@)?)) (}!(8k7)M((-@O#H@ }v @  ˓ @  ˔ _ 觟 @1K+T@@BR}Jq{󢘚u"T @@BRKkmT4R藟"ȚTs @@BRqKkLTs"$z#_ T @A@BRbKkTS#s"C ?~}t @A@BRKKk”SÓT?T"먂7 FT?TC K}h}͂  ¬? !aT_ !T !(#먂8 FT?CTC *}H}  ͂  ¬? !aT? T ! +@ ?T#  i@ T" @ VA'?T T?@TE@*! ) O@CT _TC l}}*)͂ " ¬? !aT T8h4/@@ 3@ # 8 cT?TC K}h}  ͂  ¬? !aT_ O@E!T I@ _T O@E O@E*@ ?T+@(q@T#@A_4@CJTh}AU` @) 4 3C@)?)) (}!hC@@TXZ )-@)@?AT*{EODWC_BgAoƨ_og_WO{C* -@@?GT?$bTC}H}@u`@1qן7R7@ThcT`q觟JhB7wb|";"T T  q觟?kT9C?T?TBAT q觟J(C7T|CT7@aT@@q觟?k9HH#ѿ ' _qAT"K_,@L+K!_  #TT6A'@##T1TT%C 멂<) ?AbT )D)+l|  A A J aT V? TACCT;@T7@!TH#H^R@'( !@#@v _TAӓ" lTT*75b~w7h}A5@ @7 C)@) 8@)?)) (}!S(8k7)M((-@W#H@ }| @  ˕ @  ˘ _ 觟 @1K'T@a@)qZزu#BT@@k-T7R藟"ȚbT@@kT# Y#?T@!@kT8##C ?~}@!@k—8ØTT"눂6 FT?TC K}h}̂  ¬? !aT_ !T !(h"눂3 FT?CTC *}H}kl  ¬? !aT? T ! +@ ?Ts"  i@ T" @ \A'?T T?`TE@*! ) '@T _#TC l}}*) " ¬? !aT W@AT:'@4/@@ 3@ i" 3 T?#TC K}h}il  ¬? !aT_ W@EAT W@I@ _T W@E W@E*@ ?T(q@T#@A_6@CJTh}AU` @) 6 3C@)?)) (}! C@@TZ )-@)@?AT*{EODWC_BgAoƨ_֡ og_WO{C* -@@?yT?$bT}Өz}w@hC`@j |S H#Hs7@RC@"-Thc BR1q跟 JB6C@"T6@96 @ 9@9 6@@=@9H 76@96 @ 9@9'6@@=@9('6bRR ` @(@7 @R r qaT@@ @!@qZq AR `Z՟b7"g?@TT6@96 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6bRR` @@7 @R r qT@@BRq跟 ?kTBHT@!@qZq AR `Z՟C(TB BRq跟 JB6A"T6@96 @ 9@9 6@@=@9H 76@96 @ 9@9'6@@=@9('6bRR|` @(@7 @R r qaT@@ @!@qZq AR `Z՟TyC?@!TC@7@?T?@@6@6@96 @ 9@9 6@@=@9H 76@9h6 @ 9@9  6@@=@9 6bRR? @ @7 @R r q! T@@h BR3q跟 ?kC@9(HHs)#џ '  _qAT"K_,@L+K!_  #T?;@bT6As('@)#?#T'%)C 뉂9) ?AbT )D)+l| 9 A A J aTh S? TAs9C?CTTC@7@?T@!@qZq AR `Z՟ R@/( !#'@+3A} AU` @) 3 4C@)?)) (}!?@3>H#)M((-@g#(@ }y (@  ˓ @/  ˗ _ 觟 @1K'T? 2T?E@*! ) '@4T* _4TC l}}*()- " ¬? !aT 2T@@6@9?6 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6bRRF` @&@7 @R r q!'T@@8BR=}JqwCh"T;R@@6@96 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6bRR` @(@7 @R r qaT@@BRKk- T_Z藟{#Ț(T@!@qZq AR  `Z՟" T@v@6@96 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6bRR` @H@7 @R r qT@@BRKkTs" BR(#K?k™BTC ?~}y@6@6@96 @ 9@9 6@@=@9H 76@9(6 @ 9@9'6@@=@9H'6bRR @(@7 @R r qaT@@ @!@qZq AR `Z՟T"肈4 7GC@T?TC K}h}Ӊ  ¬? !aT_ AT !)G!肈, ;@T ?CTC *}H}Ӌ  ¬? !aT? T !  +@ ?T!    i@ T" 7@@ YA'?T T@!@qZq AR! `Z՟@!@qZq =AR `Z՟7?E'@4@ # 8 T)?TC K}h} ( -  ¬? !aT_ T I@ _T *@ ?T(g@JqT#@A_@CTJhA"s lTTʽ7J4@SS~ 7}A5@ @7 C)@) 8@)?)) (}!$(8k7@@@TZ )-@)@?AT*{EODWC_BgAoƨ_ֵog_WO{C* -@@?yT?$bT}z}Ӌ@hC`@~ qן H#H7@RC@"-Thc BRDq觟 JhB6C@"Tu6@96 @ 9@9 6@@=@9H 76@96 @ 9@9'6@@=@9('6bRR` @(@7 @R r qaT@@ @!@qZq AR& `Z՟yb7n"g?@T|T6@96 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6bRR` @@7 @R r qT@@BRq觟 ?kTBHT@!@qZq AR `Z՟C(ThB BRq觟 JB6A"T6@96 @ 9@9 6@@=@9H 76@96 @ 9@9'6@@=@9('6bRR` @(@7 @R r qaT@@ @!@qZq AR `Z՟TyC?@!TC@7@?T?@@6@6@96 @ 9@9 6@@=@9H 76@9h6 @ 9@9  6@@=@9 6bRRR @ @7 @R r q! T@@h BRFq觟 ?kC@9(HH)# '  _qATj"K_,@L+K!_  #T?;@bT6A('@)#?#T'%)C i9) ?AbT )D)+l| 9 A A J aT T? TA9C?CTTC@7@?T@!@qZq AR `Z՟ R@/( !#'@+4Ah} AU` @) 4 3C@)?)) (}!R@4>H#)M((-@g#(@ }y (@  ˔ @/  ˗ _ 觟 @1K'T? 2T?E@*! ) '@4T* _4TC l}}*()- " ¬? !aT 2Tu@@6@9C6 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6bRRY` @&@7 @R r q!'T@@8BRPqZy?(#T<RU@@6@96 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6bRR%` @@7 @R r qAT@@BRkT藟#ȚT@!@qZq AR `Z՟"?TU@6@6@96 @ 9@9 6@@=@9H 76@96 @ 9@9 6@@=@9( 6bRR` @@7 @R r qT@@BRklT8#B TC@ BR"k”TC ?~}U@@6@96 @ 9@9 6@@=@9H 76@9H6 @ 9@9'6@@=@9h'6bRR @(@7 @R r qaT@@ @!@qZq AR `Z՟8#TC@_Th"肈3 ?GT)?TC K}h}i(l-  ¬? !aT_ !T !(3G!肈, T) ?CTC *}H}Ӌ(-  ¬? !aT? T ! +@ ?T!   i@ Ti" 7@k@ YA'?T T@!@qZq AR4 `Z՟@!@qZq ;AR' `Z՟5?E'@4@ # 8 T)?TC K}h} ( -  ¬? !aT_ T I@ _T *@ ?T(g@JqT#@A_@CTJA"˟ lTTʽ7J4@TT~ 7h}A5@ @7 C)@) 8@)?)) (}!7(8k7@@@T"Zi )-@)@?AT*{EODWC_BgAoƨ_og_WO{C*h -@@?cIT?$bTC}HJ}Ӟ@v`@BRk|S7R7@BThc"T`BRYq跟JhB7wb|";T" T BRFq跟?kT9C?T?TBA"T BR4q跟J(C7T|CT7@T@@BR"q跟?k9HH# ' _qAT"K_,@L+K!_  #TT6A'@##T1hTT%C ɂ<) ?AbT )D)+l|  A A J aT T? TACCT;@!T7@TH#HZR@'( !@#@t _TA"˟ lTT+75j~w7h}A5@ @7 C)@) 8@)?)) (}!(8k7)M((-@O#H@ }v @  ˓ @  ˔ _ 觟 @1K+T@@BR_}Jq{󢘚u"T @@BRRKkmT4R藟"ȚTs @@BRAKkLTs"$z#_ T @A@BR2KkTS#s"C ?~}t @A@BRKk”SÓT?T"먂7 FT?TC K}h}͂  ¬? !aT_ !T !(#먂8 FT?CTC *}H}  ͂  ¬? !aT? T ! +@ ?T#  i@ T" @ VA'?T T?@TE@*! ) O@CT _TC l}}*)͂ " ¬? !aT T8h4/@@ 3@ # 8 cT?TC K}h}  ͂  ¬? !aT_ O@E!T I@ _T O@E O@E*@ ?T+@(q@T#@A_4@CJTh}AU` @) 4 3C@)?)) (}! C@@TZi )-@)@?AT*{EODWC_BgAoƨ__J og_WO{C*h -@@?GT?$bTC}H}5@u`@qן7R7@ThcT`q觟JhB7wb|";"T T q觟?kT9C?T?TBAT q觟J(C7T|CT7@aT@@q觟?k9HH#ѿ ' _qAT"K_,@L+K!_  #TT6A'@##T1TT%C 멂<) ?AbT )D)+l|  A A J aT V? TACCT;@T7@!TH#H^R@'( !@#@v _TAӓ" lTT*75b~w7h}A5@ @7 C)@) 8@)?)) (}! (8k7)M((-@W#H@ }| @  ˕ @  ˘ _ 觟 @1K'T@a@qZزu#BT@@k-T7R藟"ȚbT@@kT# Y#?T@!@kT8##C ?~}@!@k—8ØTT"눂6 FT?TC K}h}̂  ¬? !aT_ !T !(h"눂3 FT?CTC *}H}kl  ¬? !aT? T ! +@ ?Ts"  i@ T" @ \A'?T T?`TE@*! ) '@T _#TC l}}*) " ¬? !aT W@AT:'@4/@@ 3@ i" 3 T?#TC K}h}il  ¬? !aT_ W@EAT W@I@ _T W@E W@E*@ ?T(q@T#@A_6@CJTh}AU` @) 6 3C@)?)) (}!l C@@T\Zi )-@)@?AT*{EODWC_BgAoƨ_ {Ch 4 WO{ @X6 @*9@9 6)@)@)=@9I 7i6@9I6i @*9@9 6)@)@)=@9i 6BRR @h@7 R r) qT@@.@ Rr qaT@@h@ qTAR ARh@ qTh@@ןZ{BOAWè_@!@qZq {BOAWè_AR{ `Z՟{BOAWè_O{C4@96 @ 9@9 6@@=@9H 7h6@96h @ 9@9 6@@=@9 6BRR;@ @@71Q qaT@@&(qT R4ºR{AO¨_@!@qZq {AO¨_AR5 `Z՟{AO¨_O{C4@96 @ 9@9 6@@=@9H 7h6@96h @ 9@9 6@@=@9 6bRR@ @@71Q qaT@@BR{AO¨}@!@qZq {AO¨_AR `Z՟{AO¨_O{C4@96 @ 9@9 6@@=@9H 7h6@96h @ 9@9 6@@=@9 6bRR@ @@71Q qaT@@BR{AO¨@!@qZq {AO¨_AR `Z՟{AO¨_O{h -@@ 4R!R"RcR@@@(|T5v` @ 4 @@l@i )-@)@?aT{BOA_` @D Z> h@Rr R *h@i@( _WO{ Ch -@@_C@ ?}bTq!ThR@ RRH  h\i )-@)@?T{IOHWG_F_ѩQi(1R69@y(TR4H = @<@P B@P F@P J@P N@P R@P V@P Z@P ^@P b@P f@P j@P n@P r@P v@P z@P ~@P @P @P @P @P @P @P @P @P @P @P @P @P @P @P @P @P @P @P @P @P @P @P @P @P @P @P @P @P @P @P @P @P AP AP  AP AP AP AP AP AP "AP &AP *AP .AP 2AP 6AP :AP >AP BAP FAP JAP NAP RAP VAP ZAP ^AP bAP fAP jAP nAP rAP vAP zAP ~AP AP AP AP AP AP AP AP AP AP AP AP AP AP AP AP AP AP AP AP AP AP AP AP AP AP AP AP AP AP AP AP BP BP  BP BP BP BP BP BP "BP &BP *BP .BP 2BP 6BP :BP >BP BBP FBP JBP NBP RBP VBP ZBP ^BP bBP fBP jBP nBP rBP vBP zBP ~BP BP BP BP BP BP BP BP BP BP BP BP BP BP BP BP BP BP BP BP BP BP BP BP BP BP BP BP BP BP BP BP BP CP CP  CP CP CP CP CP CP "CP &CP *CP .CP 2CP 6CP :CP >CP BCP FCP JCP NCP RCP VCP ZCP ^CP bCP fCP jCP nCP rCP vCP zCP ~CP CP CP CP CP CP CP CP CP CP CP CP CP CP C!!!!7))!!!!!!!!!!!!!!!!!!!!!!!I!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!N!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)!!!!!!!!!!!!!!!!!_!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!77//- D W1;((((   5^^^^^^^^^^^5^^^^^^^^^^^^^^c^^^^^^^^^^^^^^^^^^^^^^^^^^^JA222222222222222222222222222222222'2222)'LP[P`PP##PPPPPPPPPPPtPP yPPPPPPPPPPPPPPPPPPRPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP#PPPPPPPPP#PPPPPPPPPPP00PGGPPPPPPPPPPPP ..P.  PPP PPPPPPPPPPPPG G PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP. PPPPPPPPPPPPPPPPPPPP`hRRGm|~Juu]I]Ie--&YY&$&$ zzzzzz6z#1zz`z?AllllllllllllMllllllllllllllllllllllllllll>))FM # #..LLQQ%```````````````````` ``````````````````````````C````````````` JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ%SSSSSSSS9 hd`\XTPLHD@<840,(#  -BOy mSUWY[ m m m(>w)))))U) ''''''''' !=4cccccccccccccW+7EJP1Evvv vvvvvvvvvvvvvvvvvvvvvYvvvvvvvvvvvvvvvvvvvvvvvvvvvc1EvvvvvvvvvvvvvvvvvvvvvvvvYvvvvvvvvvvvvvvvvvvvvvvvvvvvvdInitialization of state variables in list currently forbiddenArray passed to stat will be coerced to a scalar     u)*k|M=9QcC  @N^yBEHKQ split(/,/,q):utf8:utf8:utf8:utf8 HAS_LONG_DOUBLE HAS_STRTOLD PERL_COPY_ON_WRITE PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP PERL_OP_PARENT PERL_PRESERVE_IVUV PERL_USE_SAFE_PUTENV USE_LOCALE USE_LOCALE_CTYPE USE_PERL_ATOFuniversal.cSV,,Y,hd`\XTPLHD@<840,(#  "&{{{E{{{{{{{{{{{{S{{{{{{{{{{ar5CkNYwy$$ )$$$$$$$$$6EQS+>#iiiittttttttutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuG,3:AHOZ @ A( (!0 `  0000PP(( hhhhn  ((AUTOLOADgv.c\_,,b,tfhjmlKKKKKKKKKKKKKKKKKKKKKKXKKKKKKKKKKKKKKKKKKʭKKKKKKKKKKKKKKb_kI Ka;P Lwe  { C {Shz z z z z z z z z z z z z z z z z z z z z z z z 8888#88888888888880 /[/[[[[[[[[[[[[[[[[[[[[[[[[/++++++wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwbbPPjP33333%3333U^goz ',1@IW\ej*27<AFO`eq77zD !*/4=OZp{ $).=@HZclu~  0@ENdw#@PU^gpy 7@IRW\aDfoxR"+4K]fow R Ҁ҉lҍpҧt?@@ @0@@ A( (!0 `  0000PP(( hhhhn  ((Identifier too longNumeric variables with more than one digit may not start with '0'  our @F=split(q\Dgimo"FJY&zny+:JV\)) $+8@<<Xg u +x5V>y\y`fnzAA +.yyyyy>yyyy 4%9;EBIFKRY\_Wog  ##&,249=BKMOSW%%<  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"] )U.] .] .] ..] ] ..*] ] G.] ] ] ] ] ] ] e ?P Ro ),,$/9@CII= 4 ==] ] =)P ] G= e ] F] eIII^] ] ] ] ] ] ] ! ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] Tp ] ] ] ] ] ] ] >DE!U)] ] ] ] ] ] LLt I(TV] ] `;] e]  Bd  I  C C C Z Z  II] ] B &Ys6|W] ] <] ] ] ] ``JNg] ] ] ] []f_] ikmn0o] %]  ] ,,] ] ,,,] P P ] ] ,,,,,] ,, ] ,)$,,o, 15 0m  )W A"#83=1 3012fF     3no"#T\;\;ghi12h"#n d wxo812={nTT\l_xxU9t,\]^_ Q lm*\]^_\]^_\]^_ \]^_ 8#$%& )  8\]^_ \]^_^_3 \]^_3\]^_!"    , 22 \]^_ '\]^_  2"#\]^_< T@T;\]^_T\]^_W\]^_jT H\]^_\]^_T8hi8x88=p,a=NOPj;;XNu 1qrst0y;a|}~ay|}~8 #$%& ) \]^_$8*+ \]^_X\]^_0 V\]^_IJKONOP\]^_[2016bc="#-@ANUFrstzy t|}~ZX\]^_GGH"ghityB|}~wxQaNQu),06789:  #$%&()*+./0123456789:;<>?@ABCDEFHIJKLMQRS\]^_Y `|}~\]^_uvxz{  #$%&()*+./0123456789:;<>?@ABCDEFHIJKLMQRSY` uvxz{  #$%&()*+./0123456789:;<>?@ABCDEFHIJKLMQRSY`uvxz{  #$%&()*+./0123456789:;<>?@ABCDEFHIJKLMQRSY`uvxz{  #$%&()*+./0123456789:;<>?@ABCDEFHIJKLMQRSY`uvxz{  #$%&()*+./0123456789:;<>?@ABCDEFHIJKLMQRSY`uvxz{  #$%&()*+./0123456789:;<>?@ABCDEFHIJKLMQRSY`uvxz{  #$%&()*+./0123456789:;<>?@ABCDEFHIJKLMQRSY`uvxz{  #$%&()*+./0123456789:;<>?@ABCDEFHIJKLMQRSVY`uvxz{  #$%&()*+./0123456789:;<>?@ABCDEFHIJKLMQRSY`uvxz{  #$%&()*+./0123456789:;<>?@ABCDFHIJKLMQRSY ` uvxz{/045789:;<>?@ABCFIJKLMQRS `uvxz{/045789:;<>?@ABCFIJKLMQRS `uvxz{/045789:;<=>?@ABCFIJKLMQRS `uvxz{/045789:;<>?@ABCFIJKLMQRS `uvxz{/045789:;<>?@ABCFIJKLMQRS `uvxz{/045789:;<>?@ABCFIJKLMQRS `uvxz{/045789:;<>?@ABCFIJKLMQRS `uvxz{/045789:;<>?@ABCFIJKLMQRS `uvxz{/045789:;<>?@ABCFIJKLMQRS `uvxz{/045789:;<>?@ABCFIJKLMQRS `uvxz{/045789:;<>?@ABCFIJKLMQRS `uvxz{/045789:;<>?@ABCFIJKLMQRS `uvxz{/045789:;<>?@ABCFIJKLMQRS `uvxz{/045789:;<>?@ABCFIJKLMQRS `uvxz{/045789:;<>?@ABCFIJKLMQRS`GNOPuvxz{[abcdefghijklmnopqrstyG|}~NOP[abcefghijklmnopqrstyG|}~NOP[NOabcefghijklmnopqrstyG|}~NOPsty|}~abcefghijklmnopqrstyG|}~NOPcefghijklmnopqrstyG|}~NOPefghijklmnopqrstNOPy|}~NOPhijklmnopqrsty|}~jklmnopqrstNOPy|}~NOPklmnopqrstNOPy|}~lmnopqrstNOPy|}~nopqrstNOPy|}~pqrsty|}~pqrsty|}~  kklk 12QLmj$j R ! NQPOABDCG#%$  /0Eno &('4J.jK*j\CIH#"wzyw "vqptrKIMhi*+,?@=>:;<c&(]SPTWVeUXx!usF%,)-f5abgR=d+}|{3D-987``A~4F.6c23)Y017@^/'EZ8<65BG:?`_NM>;O[9<@0|V<K1=_=p<?dUU={|}ghij}k~lm$=%+..n:;<<6'o4#9== BCDEGHJp <  |~9tuvwxyz{rU'[\.< = DEU(*-2>3537@f}.}~vAQP<    =%$@A".(+)F*+.-0LM268:;<!BCXSlghiI#7kHytR.VWawxbczYu]]u>spe15`mj" ]WUXYZ[\]^_`abcdefghij !"#$%&'()*+kt,l-./01234!m56789:;FKLMNOPQRSTUVWXYZ[\]^_`abcdeWfUXYZ[\]^_`abcdefghij !"#$%&'()*+kt,l-./01234m5W6789:U;XYZ[\]^_`abcdefghij !"#$%&'()*+kt,l-./01234m56789:W;U,XYZ[\]^_`abcde4fghij !"#$%&'()*+kt,l-./01?234m5W6789:Un;XYZ[\]^_`abcdefghij !"#$%&'()*+kt,l-./01234m5W6789:Uo;XYZ[\]^_`abcdefghij !"#$%&'()*+kt,l-./01234m5W6789:Ur;XYZ[\]^_`abcdefghij !"#$%&'()*+kt,l-./01234m5W6789:U;XYZ[\]^_`abcdefghij !"#$%&'()*+kt,l-./01234m5W6789:U;XYZ[\]^_`abcdefghij !"#$%&'()*+kt,l-./01234m5W6789:U;XYZ[\]^_`abcdefghij !"#$%&'()*+kt,l-./01234m5W6789:U;XYZ[\]^_`abcdefghij !"#$%&'()*+k,l-./01234Wm56789:; !"#$%&'()*+,-./01W23456789:; !"#$%&'()*+,-./01234U56789:; "#$%~&'()*+,-./01234U56789:; !"#$%&'()*+,-./0123456789:; !"#$%&'()*+,-./0123456789:; !"#$%&'()*+,-./0123456789:&; !"#$%&'()*+,-./0123456789:8; !"#$%&'()*+,-./0123456789:I; !"#$%&'()*+,-./0123456789:s; !"#$%&'()*+,-./0123456789:; !"#$%&'()*+,-./0123456789:; !"#$%&'()*+,-./0123456789:; !"#$%&'()*+,-./0123456789:    284z$fn7Hab~$8 nox/N~yqvwG&O=Zq^ J,/)z{Tr>?q@ABCDEFGHIJsK  LMNOPQRST /045789:;<>?@ABCFIJKLMQRS`uvxz{  #$%&()*+.1236DHYEƖ8=xٍٴ ٴقW88=ف\]^_ nonlmlGNOP[abcefghijklmnopqrsty|}~ 88킂x낂 ' #$%&)T;TWˁ ˁ 9Q˖888Tސx퐐,˧˧=˺;;΁X d˂  ;a˰낎琯˰8ȜaȂā  낐 8 X ّṖʁV!"낁 -; UVSV,,Y,d`\XTPLHD@<840,(#  @ A( (!0 `  0000PP(( hhhhn  ((FY   MOQv^kR*;@vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvK vvpvvOzvzvvvvvvvvvvvvvvv>vOvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv? ?   w  t kn '''''''''''''''''''''''''''''''''''''''''''''''''''''"''''''''''''''''''''''''''''''''''''''''''''''''' \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\.bbbbzbbvbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbxVVVVtVVpVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVrKKKKKK"KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK.JKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK$$$$$$$$$@ s[NeN Ft(jjjj' jjjjjj jjj.  OOO  OOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO  OOOOOOOOOOOOOOOOOOOOOOOOOOOOG ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` R` ` ` ` d` =BL1ns}YYYYYYYYYYYY&YYYYYYYYYYY O$-=4z=FOXh++"0}RRR-RRR RRRRW`ir{NN#RRR-RRR RRRR................F O2SXZzU|\[gs {   0iD9.$_  4 < wSFluIG1I}1 t  cRW=j !  ` S !YTj S oq G  5rYtWtUN%S'   FQG 13  4u    W.?$* UZ     pz} N* *I22r Pjs |/"3W3GZHWqHH3 5 Wi * _I 5W ow ux@a\N% ] 1 +a5!* l!.   H ] & HU  T]M q T| wI"  < I j *W OMD   * s  `c  Gq g  H$      5./ |; ljn Y` $$8 /| z  p  "S ? . q  oH  0 F `V* YI qj V  $B|a  WhH03  XF * y)Nu$Hc  4.Yj6   3!+ Gz> H[*z W? ;ce 2  & _'O a l 3;=W= )n 5 {I  L"vx z9 W ` 5 5P |($ EcH;1;WN]  &*Hm ,H)  g c;HJl  !"c N  55V W4\ K!=#  +6 )R'LN;  3N  5$ x O 1 N S  [ ` tHP(n E ,KS2jH? \7 ]UWW ,@ 2:  (-N) 3X  FRX cqf Q5 y     H| a kP   GYu+T pnN F!N'O) } ; ?  H  I N Ijw  &C a(H 5W U A$ $ W + 1ZYN N- OWx`om H  H XOV N2i W 9w   6 !U czj} j J?  4N 2E  &A'2b  F    5%  wA Ma!Kr& B1s   z  =7@1$&ZuG` #W$()9KHx OtaNx7  S^ q 2 W]Hl?N$ $? a%kS5!  " 5 a IbTI  ''  ? M    /NuV5!   )  H%Pt W A>cHhqAJot)#W$m GG$: {a$VH ]qa $2F: jj Nq, ' ] G? %aF6 HK HaI  n= 7 {F {  7c c aqa Ug*  Xk5O bnV Pt)SR\  :  '  9;?w" 1  Na)!E dad$%   ? k MN  45 DT# X  KGFlHCJ   +U o5   eU\ c  5  aju |W 3 'Ns5O ? ] y?H|fn,Ne|8   A W"    H 5. NSsFPu5 ^   RI] 8    1N 3ihM   ^Zt6Hl Edj`$ W 3  qr g  5 *c  d332 7  ]W> rU ] $'1 IcXq7a-5!  T  NCHNHW z  "cP ? V ; U6 c a  HHJ( [* Z3  6 ` N W i6H\$Pt  D  6 f k"  ! a S^ !!c LS{fV? cmN TW Dw p 1  NNU H5 3S\ RWqU N    &SYuI! gcP    * *v    " B x:N   5E NNN    OtI kv 2Lo{    *z) V.w S    $HY!Dy 4cWc  \. 1Z %6 (` 2  tWN&: C E#]n'k#i~ ];  Na { g".2)L` 9Sa -9!N x  + ):c H_ 5 )   9K ,!xNW-5k  Ux H)aGN $ [Z 8I H]  [W >)4=]>' pH3lIU   W2Pz  o  +!`  5b4 o  IbU35V.# ]W j; x5 lN L )    V ! c x$ He_W  q ~*dNx  PiD5M 5G  G D_O | ' +TW Nl I  X ! j  @ 5AJ  e|RW  V  aJ   `Wp  6jK lU A B  M ] Dv5 5FQcJ  Nz)$ N2MtWW  FJ 5? ! cG$Aj$G;Jk8fN.N5N{ _W$2  xiD _k$48Mp 2W?(v  PtoH J!$Ea ^%WrF|  U$ Y 1H]nH(     I$-H I NrD!$$ 7>tH, .  N#5  )w  N+SW2N  Z!   t ) ;1j2 =p.aZ Ny)T 5)&|!l fQ k1+$ HMaNFPW  xfI Q YH\2$! cocrH gHp "  _d ;@$  MPH3`I 5 z*aW  IS` H$ H]S5m      75 / HqNX 7H  zH= H=rd$ H :20 k.%p{ a6aFi |  |   aj2 & A E 2'WLH1  c Aa YHN u xWX5i!!!U\HC6  NkIHcjHqv)/9NII auN ~NO D ` Oo2  IRa I6 >6H.cx  &W Gt p1uHCGN-*" ` GM 5@L    3-.W2W%: 7   c fIQ> 3oP Se[\H ? Zgc !5 b   jJ  $ N   sTa{N@1TN @ zs H;5pN k c u pYu5 r:5Z5, e|$/G.NZa5  aDwSzf25S 5 4 aw  ]Z$H  W  9J7W3(V$ecKdE z=i$H  U NHtkWvU XzH   HH   O "]  H1r ,B5m* YWWH'O* YS{c$i $3{ fa Q> *I a ccN9K$9'NQcXyi P 5] w`      H +T  W"4I\ k e7 RZ PP(>LI B  VGYj.  -I? "c`;  N3`$'*ax!!M0 a S(   ]m JO !"16 f>U - ] Nl  c! z HZ#"U !c"w G\ _ 3[iWv6 < 8 Bu,= iA/>  4a 1 Hpc  Ni `5HB   '!|NFP  5 a `  O j ZIE a lR"NRN/_  c <H H3p R P  Hq`W $us$ o b 8! : B  !U  !+2  % V$WtL&8 N1  ` N $ "  7WN O@z+ Tc& >tN ,WkGW;!YT F ] O "NV! GN#6>3`ZN;1c} &H7- !I T { 1 * *[I Pj cj= Q  a )HSq  ` 5N ' ' jI   E #WI'  $ 1a# kN ? ^  oa 5m$5BZ J  W NH8H@1>Z#fW  $k M6  6  `5 a  |  @W" 9!! * ,  ] H$  f jZ a- !V   kc %U[ P2B 9 o gNz5 c,H +NKc\$2 T >Se`6  ,cqJ**Y| C: 0 I Oj _4+5(>u|5 4\B"c SGL }FckS kS2 F > Wkc I eZ@1X.^*>"2"O1H&M3gaN +I SGjn5z$ H[ 5Y a q HG L }  H.  y )WHR`3 %uc G  Var z 5`i$? 4  uW ! U JaN 'ONZ#c F . EW 5P$ 9K  5C n,>Aw  l p H  : 363 +H ook DN!`? & Y*5 +i  6 v5!"Hf0 9 a lUc H2!? M vlc%Zc  1V4}  [ cR$V;j6  w!5= ` {N   " Bc&c4cH 2& *w U j!|j   GNc k  \0 $   @75b5k  +]\(5c? - s  $ 9! *nY  O  O @~x  \ z  Hm!fm  %pa   +QHi~  `Z %N]n "HPMaW2 W  2p .PjW o T #fIQ .'v Hr 5e5W6q  2N v K  c5 `* &KZ!\iDr| ' a ?   _|W cc ^H* Y$ j aV[=<|#6    D    2$b5   + 2 G KQ)-"cN.Hc  w!"US  5!!c,a 5eZ ;GW;N\WVG  C NqNPB$$RI I a x &M % G_WOc AjZ  V &MoL@N  cu5JkHO &8I  =rHm W 4  W$ H3 W   "ON$w  6 j=#>t N ] *= 3 'N`5  1a5 2Hm J3jH 3 5QK8aMX  H&8 Pt.ej      H Y Su5f.ih!  E 2 r VH9KGtWj V VI$A YT SK }'r: ! =I9  [aPI#A{$b   N    ( $ $6Xj_   a +aNNNO w"la]>Ka NJW=6'ya  I$[q,.N8 lN  HI [, ] 73 2U $<  u  ca5`  cVyU i a  # V NcH3ui~8  cs< LN! eI3QOT(31aZ< B :  pSV VS5Ma%M3  ws "  c*H  6_`  i 3  )X.W H 3   Awa"5q I" 4 >t( NcvIF6 * ]>HIINr1N  a z. $  # ,k X HMafm # 1HX 5p ]>H`Z SD6 fHvA   5OSK      : 0 J5` H]28  c 1 +[W5 K  ^3    ] B&y 3 5,   O P  #=@wcuB  %7cU _AI mpE 1 Mz I `G@ ;NN )C7W7WonHdv # (k   jI H.  3q  5\ Tq|N  lC% $!r +[   'H 6 zHa[Wjs R O0 I?  1Sb/5/# :7  % N  HO ! cIHz$  W c8  5%3 )&KaIjj qW T, &p'wN  9|a N  NYT25 + = W?   abH 5.5+Tc-o*NW)3 ]8   N,IB  \ 6c.cI e  a   ;H, S HW0 %4 8x  & H $UW?   %N N   c.U p!5 b U I4 $H 0 B X B  H|j'  T<  %0 #uVo @ ` ? : {Sw|W uG 'I  XhnV q  W  H  5) m 5z&Q |   , }?  0NE I N  {c c2&,  ;:N,x O;1 J g  =NZ^ 1  @2  Y + FP NNX x e u )a#2 W  S  7ajA  Hl^$H s@WN* *]U  !V[ A !  Q ? 2 T /Mac95 c  <* yc^ " 7]CI HJUe! $7aHg$  d 5< p x _V^H HXgc  o c& 2 O 9! )o7O   /  9v 2 a !U$ j S3$i IR  :'-E @L  <  Xy R, H tWW V#c^PNO5 H  z#6)1X  N ?  6 ^ cm6X.5  ccGu 6!! W)%M|W(Z!,!!Ux{O _I N^$w 7=   2w Hj FlNu$J|I GHl`l  XV ! i ^[Uper1+3 M$$   H I* -;N s? XE| I N A IcKA 4 2   * YU:|#OtY gjq +` L[a P5U C3a Q DN= N 5l 05A    ) 5 ,GG ' '  (I ajW'us EHFPoHN2VD  Np e_${ w!"N 5lA  ^A6) (0 [ S $"H&!U)  >% -5qnx!W.6NWj4 c  3z  uW  _O  WHg2 Hx OF "_ai W#62 a !D g  eZ? [   " `SVeO5b 8 x ;  a   W2 u2 HW  j  [s  Wu' +V  AAUx? jN]Uv  F:HE FfaQ'{ 1+ JFH5j !fm ^  8N   dH* *I7W5`  5 )?r  0N* YW$ W=) a'"nS! z!fmz 6#u'H- b  ;_OOP,Sjn5 ]w H  =6 f$X_Hs5  & N RN` _x( sY - ? _ cNm _gj#  I'%$ 6 HNN"5zv$ace  M H   )R6 ^ |% $&j W.)KS I, H c oM`)_(%N~ H T V I N= icsN#Vy O b x A  aWX  iO H + kS= < :U [I P j  vNy'5 N/_ rxn, v   +j &i  SIFI  NG5mOTQ5c     |I C29!* lc!{B{H}N 0Sq{   ?  !ih(]>t BH  DN B"a! :QsRW C`Z  $D A/  IS  d0=  $  ? M_ 5W$5 p jW N$ !P H`;N6O ;   2 :C I a3a a  cy"n M?   ^1V33 3J   /c c';I TE i TWN? !  N|I u tW' V$ l2! a" 4? & Hc E ?  fN !!oM3 acc| /c ` D_H $ '5zuV I c  4ctVWP( g a5 )taPd {i -* 5tqn5  o 1` 5 - J N.  5  St% I" !!c5w   Oj9 ,A  )$,dPtG  %,!  H] NF c>A($ j`5z!! U MUN $ q T ? & ZA uHlN 3  4 Ne_pr  qn  cK NW6  [ 6y)YjN)]5 r  {   .k  $H ! 5Z7  + l5I TNvb $ &!-  Jk\/c!w52'  NcV !+  H G%pyAa{5 OHN 3c{ 1+ S! 8 J!A5^"557[2 H S !* P " > o% 1- H2qW ` 5x 5  & &aI=   W AH'Hc & Gs  i!H/_Uc N"B%= cd f '  1 +(  `1Hb _WOyZ!N B&i Ni~W6v'vDw `i5f?  N)_G&w=r w7@  GV ( !3 '  r.I gO N HZH   F ! U|$t4I\% $Z za1`BH !c   mGIF:  1 ? bd  H ya 85 ^+ :  r ? & [x 6u  L'OZ { >t ob   6  +Sz  WN  RN H  $ 2 W   pt  za!' X ;=l 3"$5h &' |. 0HDv5 ,NNN#W  "O '{FU|   .N VW! g1H`HH s jW !wN|a C3`Nl   `WI+ THO0 |X k R  R*  N2j $ { HZ Hu  + 3 \Z!fmYg > nHmm2!P ]D"5y  & oHP(kSc~!Aj NDvW s(N X./h ,c 7 5t $ 5ANg  jx  1 + W,  S%p ' 1 H (&" 4;:HW 'G~* *i  5x|%1 ,I@ r H T kWvI  GWk  Nm a=* i;C" ,!  Hc 5n,I:$7I tN*i P } # :N$ 5  R u d zD IHIBZP5x 5 cI K'2 Dv  i  t!N]3 w%& Wi NMaWr \  j c#Hk% 6 v8 k 2 Zxc! b E g`  c# J v  7r @LLNJ(uaE$5j  Wk%G j n @N'ja SM   + VtWf0O (lICcuMai 5Ptz H) <jH[ , ` &Hx aW' MO  'w5#H6 ' L W$ Hb/x \   aJN*l' 'dcx  1 Jkja  uaG? a Q@Y   6  H"o   Y  H   UH}$aqW T  *Y a ka$   2:H  &3` )%S  1cM 5 \ 36  , $ &1NP(PlICN& N  c_AW -uaE$5= )  k H  +\` GNt+daG ct  ] - cZ.$g:    =  3M W ( U >t| /H2  N >  !I Tj2H  ,!N*IuaE | C( TH+S  $!,$M OR 5 -? u s^qI .     ;C* [[5 H>u ]n? + L1  v  N S+ T<  ( U* _9K_O % a  x ZpEd, ` HP &  #  P2  o` BZH / )"  6 n1 %(8  ("RI IFQ&"Uc zv: s;! {  &3I l 5o5 ] j TW` HW$L c  P H  e a j[?c{!O %6LU 5  ] B  ^ f|gH ,] W iWc!d]U(MNq ,j [aPc  AJ`c Za  5# S% cv  laC)B TI{ aS&w)Z59K  c5UG   KDv5 4IS N%4= @U7]j 5NN {5tz5b<  N8 u)+$H$Z!] S    a (N#S xx ;DN7w((cH  HdHHFP5>tPAtIHV!|? / GNVyc%"#6v$A  6%* xH!J 1   5N$n  WIj ^z 6 2M   `c3qS$gG 5~y6 ;!N /f_Nd +c' *~3 !Aj 1Md y)a c  3 %p! V >  &a $"j ^5WaZ ( I ]F P( F  W@`;     ) S5) Hr "`H +e 6 j c#1 %S VW_9KZ s |y  :@a\;   N328 : B  (  *.61cA Ra IUW-5 %`Q Z!Z  9 I  *W ]    j Z!i ` ih#H      &&aV  H#?  >Np!o? b | "    N.N. 5dH`   !WpDv)c|2 H  $t (" HH-  v   b/m J  0eV$ HN 5Dw8P sMa1! _3W3T Q &j +'LB"~kc_fm <85 c}S!{Wd" u)   o A  c N-PN  N  Hd   W= 8B a  8[$N ]_HO    +dW"N5}. r N r  $ H[P5 HB}  A    g  $ -*a x!! {r 5+d !!8 ? , s a  -5*  ^  /Nmc5r #lN(t]N  (I ~( C)'Wt>\2c  AI{+S=Yy c5  J c 3W   6 ]B  uH'5x SS/hv  _'OV!VWk  25WIc   a"1W W ]Q  ;HqHk  u x(Hz&S %cZ5y  N 26< HH} ]5H >  'tL H`(6 5W  NZt H HaG%W  aNe_] Nr&   6= p$ D  68 cW'j ? $   Rs , aZ G ?3   HvHc oj T%*N$  ' $ \.wcFH_Rr  V 5c61V3m J O # ,W  N< Nm J  iH iSd ?  Hc6 LB+S A x   gjqt N-NzH 2& 9  5$  : D -   ^N0x  aCCH'd  8y5 1AW5!`5O3aL  q^E$ 2tI I  ""tV~xk H  m RHNH*lSkw  VyuxH)? ]NZ$&Y2 Unc  cc;us G()Sc2N?  5 `   ,B  5 =5oS/9T{` NP( @ 8 + 0mQHL_ $`$  O X  HO|%1 ^$  f zt!`"}A.t(a  $HW> ! : NQN2M oT{!a!NN 2_   l*W H \ 7 a B  >c|U j` 1$ 0 5 U,'|m   VW,a2c N sR[=(S!da j58. o2pZ|a C^csR8 9s  5l N -5*  ~'$Grb/7 6S  + * HZN? < I(H5  5]9!ISE  2    U5MX  V HNu x5_`-   F^ Gw5 H  !`5+\  >"  uE  VIHO "Hia $     +dN [ 7 1  5 + T`  c_AS`$.q  +N4a\Ncz? Y DH*?  e }B$5 5H!Nx O13IF0H q  CcFjF '~ oA/ H} fW D` ,  ]q !T|| a & s $  $YD5Wd;Nz  5){F bHphr5, -> 5G) Ss$qw : c$c kwW'Zx  cwV3 &  ]HquJ(.NJAjI5W  Po ` I$!2 gH A $ [W   MXN}P  NYHA/*=H$  .   NUg ? ` J f QSx  6: 3 H 5lGuHc V #cjn a  ON+\;>] x Sc G$g dcK }'  r f3; IUDj_ [a PE RwV @15 &1;  @cw O a j5 5;M I 3 4N 5 N=iEd  V  W!V[W$ ev Hj I  cV"wv1y ?TI{& o W9Dc DqGXyGWi 3<  LH I $] J( H O5N  W]?   uaGW6!c-  }7IgG j H=i` fm  Sv"5gPN6aOO 8   "? "  +OX" N' c| '3IQ { HN{S5 W4Wj E*Y &B*  3 - C) !`AH [  $uI)1h 7v 'j uLe+]K? E a0    H< 8 ).ac0cN l NZz Y  ;  4;!?  tJ@ !U! s s   V5 el5%A |I uVHxc  E M 5]% a &H  !@19 b#a5vx!N3  7[ gFP$Gg?  `iH^$  "  v px!$k 5>c S ! !5c I 0  5dtVW#  5H)  pSP  2k\@?/1 0  1_j   . "PDnZi  uns  3 'H]n)"P V !5 ^5k !! 2  OKcwi3yHY & SYj H & WZW|%/ 0G/hxz$>iz],N& 5 3  c$ } B Bx S+c{c  ^ W TJSs m J|  WNc  -Su a4Wl 38H X  J8  (S6G,ZE @!! UC.aA -d5,R6 'e)CS1Hq 1_H )@ er %j uE S &9   c6Nc^$HNH6:2 ` 5n,INt  ! HN  Ie   Z!?H 3Iro 6  !z  z )j 7 I  KRH^NS.N , 6 H-*Nz   r) IN?  .aa @ -'y I Qc6  zv@85I fWW 1 *I @[ `)a FH NH}Nf0$#>N`f0;?  lF / H  &Z      J(  cjk S 5uw# 8H.YT5xr o  R I* .cIxN ]W? ` H?W@  L $!*` 6a"3 H C ? cO ;Mi*y q \Y 3 2| V[YN*Yw" "]ha ~j8 *$* H.  V W>& & 0$5 r "HOZ#H8  * ,Y 1 ' " ' o.5m1) A N'PX  - c F Hi  j0?!#;@7j +rHu -3 Zx5 p$' H V ux  |  = <Nx A-  &@  &='.WK`Z   Ia5b-( WW 8V(s ! I  aF=@  L  k K5WhH$   925D`?  JN$)VG'v1*- : !   HZ! ;Bo 1= H  +N 7W5 HLa, Y auIEMaED   FN `     HVy0  u q JR  ,jc w!" RW"X  'L "ad  %a  a 5  ^ 44/& 3-iR S 4u`  =H]!He|"ml Th!OxO7% 5A q  63.M  %Q INU3]#W$$- x :#(Ma<7  @N>  5V    Hf0]*8W"o $ @ihc 1 HN") I   *5wIo cz   t:cq AH6n p5 x $tP(& 5++weN[yg na WKNO. : !HN25`   * Bacn= UHJ F N"; |cuv,O Nb4 @I\j6 H>c i  lgQ   K"} c dU H   +&  A -@ Aa  Dx  I0I nIWAu`S E  !  95OSH9bH`  ! !o5ux , A  aH Hc  .N5.lSX +F!jjw N]5)jz  ? xFQ & #[ b Aj`  "LAW -  S  " +l  P  H2 r O m!  5,k1Q H2 R` e|j a y)N 0WM&  I8&t Y' X|  W ] J(  H2 W  -`  1   E  h k  a   Ovj 1!=NW    A! _ WT2 "K{ g M  L 6?  ?? -iZ  FK  GOE 'Z_E x`f2@ I r GaB  ,c  Ots  ! 2JkII 5\n ]Z  t & Kc ! `g43 HZAN>u&S,\M  5]>W 3 'G'K S'vDp x P lv"5!+MFc:{ =H= irp C k  L k . <HyH!`EIF C \z|B]  u )c  NvIi~(#a N2!H  3 Ba "  HHN+H7 c  )$Vj R FH"GI N 9! RHQsw 7? ! , " ` 5ta!383'OHc ]N&M  .  Eb/  p\N sR N 4cH(>    !*fW ` &j wV 33$VH 5| /*Bn   )#1ZHJ(I,   R tV5 %PFj^ ,WINHz)N]nkfm8oA prN.  W @)      C   H "W8W!6 fW 8 !  6! c Z dH% 3$Hr   73`! Uee5 MHa \ 5RW 2G.?  G# N=rJ Fi a #a &DBi fj i  9!,- $  ].I*l NNl ]1N(DHH*D5bHj u`1H+S}  #5] '^5L )?FP'K? $ 8cc}  5bWv3 3cK  ( fm`g 6.W2$,13gz D 4H2MNVO uEpH H HjnkH H ) S x  &b( HBIlaCr B'C K   ) L }  _U  xiWUI+ " w z o  1 >t$> O $K bGf  , ` :H IGA 9   %j Z Wsqj ` UT_`!" H  ;MN]ZN+T5,8 A })"O {ana .N-!k\8SR , N N1c g D r  XGcq5zZ He |  ccr ` !H W>_ 5Efa Q=  ,1     V  SiHU!j> /hWf  >? ~ Bc " SE UD5pr 5&DIG sYD :c5E  "f$ N '6.uW 2YNHHI,Wk  I'z\W? 2NW(8@\ !-ZU9ApC& HXW;HHc) Ul  c=_  BH.r  N5 NN{j6  H.6  y85  BO b W 8 (*i  9 W!_;$5 y F . s !eH1^ j-*? Z zSXyuIE]cq5$  d'"m V[faQ6cx7aH1WI*a5 K (6H  ? 5 haPN5H,NV.j $M #6!!: x h$7  #aN1CaS HPa ~;s 3 `a F _` 3lWN I "  V '     I   r[P_H5VIDP "5P dENY ab6  S$iz G  $f]w ) dGag   N  * SZ5&'(jc ' L1Z.a   $ H i'r Q  `yI NE N+S &W> | 'NMag I T5DN) & n)Ux"M_NNry c4 ;| yG o' H dH   N'OHaIT  /uaN3 Iczf4a\W '   *YN 62 lWF2#.H t!#Aa F $g!#c I  60. a#!Hi~ gEd    eH.Hw  28njN N + I NW5]56  a ,  oAI -I Bz;1 fmE1Y4NuV,Hc 8Gqt'W52p'c =p |(cF W-| %  2BIx1r   J5 WI k B # W 7W3 3  K( i? ! kacE  i W 9 Nv 2BFGI +  ! aas p  SO WW; f0 3a# HNk nI h  %8 9K5q _. 'E NNA$%ruH  l   .5lr3cO/P  l  ] 9? , d I ]  > v  / 9X7?'"}jq ''yDaH*Y6 I  (N5R ,!>uH )'E 3,NH#6J w0  _a6 Pn7 YH ?  *  N"z0%Sr W<j U+TH[ Z7I G j!Y 8 )%NA /|NK M $:i I N ;s  ) m 5V!!cM& N'LA $  L SzHi~ ak`g s $H Nb/] Da} Y % ) m.Fl ?p$|W(si \5#  N3  m  <  tK aN[ =  1mIINHF3 >Uae N` "_N;QV @/_ W9Uki cE|c2  cWFGH $ '8aV<5 c=   u NgW@D5Pt ld [IFH%@,a  [5uWw 2  GF|[ c  ! fJN N Q5-HZ G{fc  SiOH*    "l> pN2 H $ W 1,  ]Ni~S{  c3 2 /r  + B3 ^ I53&  QfI QH R 3  y fQI $&[ ;] *2C5 6QsH 48& 5Ht  I(G | /]o'O_ 0)@  $M v= jOua 1  +dE  K    ? X _k   C` %   0H l5+Tou S  6  a JG;$cc>@{  !*y)H|a  &nVN7 HX gF:  d Hq@N|  N   *m  7IH+\   /    IHNH/ pHr5>tcYu W3 5 <N 8 ( { A/7bjr  \ $`  J c`FQsRAWwa"9!)l&cwlocrpcmadlmaghbahexahomarmiavstbatkbhksbuhdcakmcanschamchrscpmncprtcwucyrldsrtgonggrekgujrguruhluwhmngzlkawikitskndalaoolatnmedfmteimymrnarbnewaoryaosgeougrphlpphnxqaacrjngrohgrunrsamrsgnwtagstamltavttfngtglgtibttotowchoxpeoxsuxyiiizanbzyyyzzzzcntrlcwcfcwcmcwkcfcwtzpgcb=b2h2jlxxnushu3040nv=90oriyapatwsprintqmarktailevssupfsipdfcarianccc=1218491vre=yeschakmasmlsqrgothicgrexthyphen3.26.3415161miaoarmndiakgonmhanokhmrlinamroonkooogamolckorkhphliplrdprtiqaaishawsogotnsavaiibehgafhahrehbunkhojkilydiannfdqcnv=3//5nv=7patsynrejangsb=stangsaebg3.04.0age=56.07.08.09.052avestanccc=22e=truedeseretdt=nonewideelbasanelymaicextpictgrbashanunoohst=lvtadlambuhiddogralimbuoghamosagerunictakribatakisotheeemnoonseenshinzainkannadakayahlilinearamandaicmarchennfkcqc-1/2/645/27/2olchikiosmanyahmnpkalilananbatsarbshrdsyrczinhsharadashavianstermuaatagalogtaithamtaiviettibetantirhutauideounknownage=10.0age=v1armenianbalinesebassavahbpt=opene=falsecompexsuperduployanextendergujaratigurmukhihiraganahatrankaithilepchalycianteluguwanchoyezidijamoextbgamalkhaphmahajaninfkdqcnv=1/31/12nv=2erlwordkthilinbmercnshuscx=talupecialstagbanwatifinaghvithkuqipfabhaiksuki2435nuktacirclemedialea=narrowmoticonsbengaliincjkexgranthainheritedinkanamakasarmultaninoblockphagspasiddhamsoyombouabiscjkexlamadhkhudawadinabataeannewtailue1600032000olditalicoldpermicoldturkicolduyghurpalmyrenepaucinhausamaritanthaanawb=mixidstartbasiclatinboxdrawingccc=ccc1viramachorasmianstrokesdeprecateddivesakuruorizspacebugineseingeorgiajamoextajavanesebinduugariticiskanathinyehkharoshthiiscarrowsnagmundarioldpersianphoeniciansaurashtraolettermallformssoftdotteduprightwarangcitialetternewlineerlspaceblk=cjkextdoverlaycyprominoandominotilesfractionisolatedpfbisarabicisspaceisvertfarsiyehswashkaflinefeednextlinemedefaidrinnfcqc=maybenv=10000000pahawhhmongscript=mlymsorasompengerandsubsylotinagriebasegazyisyllablesbidicontrolbidimirroredblk=kanaucasextahesssymbolsambiguousgraphemebasegunjalagondiompatjamooldsogdianvisargayiradicalsisposixsyriacwawjoiningtype=breakbothbkh3jvmasaramgondiathalphanummendekikakui1.0.111e-01.250e-01.429e-01.500e+00.562e-02.563e-02.667e-01.875e-01.500e-013.125e-02.333e-01.750e-01nv=4.167e-01.688e-02.000e-02nv=5.833e-01nv=6.250e-02nv=8.333e-02oldhungarianphaistosdiscplayingcardspresentin=14wsegspacexidcontinueegeannumbersblock=cjkexblockelementscaseignorablunassignedreekextendedvoweljamoincyrillicinethiopickatakanaextiscsymbolsinmyanmarnandinagariavagrahatonemarkipaextensionsiscasedletterisgeorgiajoincontrolismyanmarisxposixblankjg=africanfehdalathrishknottedhehreversedpenonjoiningbreakafternonstarterwordjoinerowsurrogatesayannumeralsisctechnical-5.000e-01patternsyntaxpresentin=56.1verticalformsncientsymbolsbc=righttoleftblk=arabichanreadingemojicomponentgc=othereekandcoptichighsurrogateslphabeticpfkhmersymbolsnonjoineriscyrillicisethiopicmahjongtilesrohingyayehstraightwawyehwithtaildualjoiningjoincausingleftjoiningjt=transparentbreakbeforeexclamationinseparableinseperablenfcquickchecknumerictype=epresentin=v1psalterpahlaviquotationmarkdoublequotesinglequoteany_foldsquotemetaasciihexdigitarabicletterotherneutralblk=georgiadoubleabovekanavoicingontrolpictureseastasianwidth=letternumbergraphemeextendeadingjamoimperialaramaicoverstruckpurekillerdecimalnumberenclosingmarkfinalsemkathverticaltailrightjoininghebrewletterinfixnumericmeroiticcursiveiscpictographsnfdquickchecknumericvalue=236numericvalue=4oldnortharabianoldsoutharabianextendnumletglueafterzwjzanabazarsquareblk=cyrillicblk=ethiopicblock=arabicnotreorderedcypriotsyllabarylineseparatorhalfandfullformshighpusurrogatestrailingjamocompatformsgxiradicalsinlatinextendeddphoneticextsupdevanagariextaislatinextendedlisusupplementnonspacingmarklllajg=malayalamnnnamemtawktoviknumeralsprefixnumericinearbideogramsiscmathsymbolsanfkcquickchecknumericvalue=1/numericvalue=5/8numericvalue=70numericvalue=80numericvalue=9sentenceterminaltangutcomponentseuropeannumberanadiansyllabicscaucasianalbanianiotasubscriptemojipresentationgmodifiersymbolspaceseparatornotapplicableidsbinaryoperatorbraillepatternscurrencysymbolsindicsiyaqnumbersleftandrightnumberjoinervedicextensionsdashpunctuationdiacriticalsexthangulsyllableslowercaseletteropenpunctuationhamzaonhehgoalbethfivehethkaphqophreshyodhqaphtethkhitansmallscriptcarriagereturncomplexcontextmandatorybreakpostfixnumericetterlikesymbolslinebreak=zwspacenfkdquickchecknumericvalue=3/2regionalindicatorscriptextensions=mallformvariantsttonsignwritingboundaryneutralcommonseparatorblk=latinextendedblock=cyrillicextcopticepactnumberstitlecaseletteruppercaseletteridstrinaryoperatorinitialpunctuationlinearbsyllabaryiscmathsymbolsbbopomofoextendedclosepunctuationfinalpunctuation1supplementyriacsupplementtangutsupplementalephgimelsadhezayinlaphzhainadditionalcontingentbreaknumericvalue=6ornamentaldingbatsparagraphseparatorpatternwhitespaceruminumeralsymbolssegmentseparatorbamumsupplementdiacriticalssuptamilsupplementblock=kanaegyptianhieroglyphsemojimodifierbaselchemicalsymbolsgeminationmarkvoweldependenthanifirohingyapadalethlamedhsamekhjg=manichaeantwentyyudhhe=closeparenthesisodifiertonelettersottomansiyaqnumbersatermarrowsawordbreak=mi_perl_charname_beanatolianhieroglyphsblk=myanmarblock=latinextendedconnectorpunctuationextendedpictographicombininghalfmarksneralpunctuationvisualorderleftmodifyingletterregistershifterinscriptionalpahlavitaixuanjingsymbolscherokeesupplementmallkanaextensiondhamedhhundrednyiakengpuachuehmongterminalpunctuationeuropeanterminatorfirststrongisolateattachedbelowleftchangeswhencasefoldedchangeswhencasemappedchangeswhenlowercasedchangeswhentitlecasedchangeswhenuppercasedgraphemeclusterbreak=identifiertype=notncientgreeknumbersountingrodnumeralsmeroitichieroglyphsantillationmarkinvisiblestackersyllablemodifierinscriptionalparthianinsupplementalarrowsbnclosedalphanumsuphanguljamoextendedamongoliansupplementsundanesesupplementissupplementalarrowsclogicalorderexceptionnoncharactercodepointsinhalaarchaicnumbersvo=transformedrotatedyijinghexagramsymbolsoverridearabicnumberbidipairedbrackettypeblock=ethiopicblock=georgianblock=myanmarmathoperatorsfontdiacriticalsforsymbolsarlydynasticcuneiforminsc=consonantprefixedglagoliticsupplementburushaskiyehbarreebreaksymbolsnumericvalue=100000.500e-02.125e-03.750e-02.250e-03bc=lefttorightembeddingpopdirectionalformatblhanguljamoextendedbhangulcompatibilityjamoobsoletecompatibilityformsradicalssupplementsubjoinedjoininggroup=africanqafsentencebreak=shorthandformatcontrolsznamennymusicalnotationhighprivateusesurrogatesstatus=allowedinclusioncompatideographssupommonindicnumberformsiscellaneoustechnicalinpc=topandbottomandleftbrahmijoiningnumberheadletterpacingmodifierletterstransportandmapsymbolshanifirohingyakinnayajoininggroup=malayalamfolds_to_multi_charmeeteimayekextensionsdevanagariextendedachangeswhennfkccasefoldeddefaultignorablecodepointfullcompositionexclusionlimitedusebyzantinemusicalsymbolsplaceholderwithstackermetricshapesextendederscriptsandsubscriptsymbolsforlegacycomputingcanonicalcombiningclass=2halfwidthandfullwidthformsrecommendeduncommonuseinarabicpresentationformsbcombiningmarksforsymbolsprependedconcatenationmarkis_in_multi_char_foldeuropeanseparatorblk=supplementalcanonicalcombiningclass=128nclosedcjklettersandmonthsgeneralcategory=othestatus=restrictedymbolsandpictographsextanojoininggrouptehmarbutagoalopticalcharacterrecognitionbidiclass=lefttorightbidiclass=righttoleftatarprecedingrephatakanaphoneticextensionssupplementaryprivateuseareaacanonicalcombiningclass=ccc1succeedingrephalphabeticpresentationformsancientgreekmusicalnotationlb=conditionaljapanesestarteriscellaneoussymbolsandarrowsdecompositiontype=nonhangulsyllabletype=lvtinitialpostfixedryprivateuseareabvariationselectorssupplementjoininggroup=manichaeantpopdirectionalisolatenclosedideographicsupplementathematicalalphanumericsymbolsideographicdescriptioncharactersincjkunifiedideographsextensnclosedalphanumericsupplementiscjkunifiedideographsextensuneiformnumbersandpunctuationymbolsandpictographsextendedaaboveleftiscellaneousmathematicalsymbolsablk=cjkunifiedideographsextensbelowrightgyptianhieroglyphformatcontrolsideographicsymbolsandpunctuationmathematicalalphabeticsymbolsdoublebelowombiningdiacriticalmarksextendedindicpositionalcategory=topandinmiscellaneousmathematicalsymbolsbblock=cjkunifiedideographsextensindicsyllabiccategory=consonantiscellaneoussymbolsandpictographsombiningdiacriticalmarksforsymbols_perl_problematic_locale_foldeds_compatibilityideographssupplement=bottomandrightvowelindependentverticalorientation=transformombiningdiacriticalmarkssupplementblock=supplementalmathematicaloperatorsattachedaboverightisunifiedcanadianaboriginalsyllabicsextendeda;  pK`pq0K$%().Y\  : ; < = > A I M N P Q X b d    < = > A C G I K N Q R p r u v    < = > @ A E G I K M N U X b d    < = > A E F I J N U W b d   ; = > ? A E F I J M N O W X b d 1234;GO56789:>@q-1289;=?VXZ^aqu`]`245RTrt  #'),0239<UVWX_`abcems}4;<=BCEkt$,468   ( / < = I J ` p "!#!9!:!!!!!##(#)#########$$%%%%%%%%&&&&&&&'''''''''!'"'(')'3'5'D'E'G'H'L'M'N'O'S'V'W'X'c'h'''''''''4)6)++++P+Q+U+V+,,---.*00010=0>0002222ost~ #%'(,-Ĩƨ&.GRT`})/1357CDLMN|}ª89TUpqĬŬ45PQlmܭݭ01LMhiخٮ,-HIdeԯկ ()DE`a|}аѰ $%@A\]xy̱ͱ !<=XYtuȲɲ89TUpqijų45PQlmܴݴ01LMhiصٵ,-HIdeԶն ()DE`a|}зѷ $%@A\]xy̸͸ !<=XYtuȹɹ89TUpqĺź45PQlmܻݻ01LMhiؼټ,-HIdeԽս ()DE`a|}оѾ $%@A\]xy̿Ϳ !<=XYtu89TUpq45PQlm01LMhi,-HIde ()DE`a|} $%@A\]xy !<=XYtu89TUpq45PQlm01LMhi,-HIde ()DE`a|} $%@A\]xy !<=XYtu89TUpq45PQlm01LMhi,-HIde ()DE`a|} $%@A\]xy !<=XYtu89TUpq45PQlm 0v{      8 ; ? @   $ ( FQ8Gpqsu',-5EGst,/24568>?AB;=>?@AEGIKNWXbdfmpu58@BEFG^_03;=>?A "&',,/89;01679;=>?@ABCD 39:;?GHQWY\/078>?@17:;<>?FGH46;>@ABC04@4A4G4V4jj0k7kOoPoQoooooooo.0Gefgjmns{BE7;muv"#%&+07DK /0lr~/02;<@I>FPt HPZ` ;<FG    !"#'*,./0:;?@A[\]^a{|}~      !"#$%&'()*+,-./012345679:;<=>?@ABCDEFGHJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxz{|}~      !"#$%&'()*+,-./0123:<=?ABCGHIJKLMNOpqrstuvwxz~0`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./01WYZ]^`  K`jkmnpq0KM$%().789:=?@Y\`kp : = > P Q X b d f p q       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f p r u v       ) * 1 2 4 5 : < = > E G I K N U X \ ^ _ b d f p q r     ) * : < = > E F I J N U W X [ ] ^ ` b d f p     ; = > E F I J N O T W X _ b d f p z 124;@GOPZ *56789:>@HImq+?@JLPVZ^abegnquIJNPWXYZ^`[]`bcgimno257@RT`mnqrt    y ,0<DFPnpu U_`}4EMPZ\^`kt}$8;=@JMPZ~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ (08@FHNPXYZ[\]^_`hp~      $ % ( * / 0 9 ; < > E G J _ ` e f p q r }  !!!! ! !!!!!!!!!$!%!&!'!(!)!*!.!/!0!4!5!9!:!!@!E!F!J!N!O!`!p!!!!!!# #)#+#$$$['a'h'v''''')))))),0,`,a,b,e,g,h,i,j,k,l,m,q,r,s,u,v,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-&-'-(---.-0-h-o-p---------------------.... .*.../.0.<.=.B.C.S.U.].0000000000 0!0*000106080=0A000000000110111111124MNФ  *,@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnost~ "#$%&'()*+,-./23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoyz{|}§çħȧɧʧ˧Чѧҧӧԧէ֧קا٧ڧ #(,-@tvxƨΨШڨ &./0GT`}ȩʩϩЩک)7@CDLNPZ]`wz{~ªê۪ު  '(/0[\jpnp)*78=>?@BCEF>@P 0135EGIPRSUVXY_cdpuv  !;<=>A[\]^_abdef  '(;<>?NP^@u -KPv{(P(0dp{|7@V`h  679<=?V`w   :                6 8 ; ? @ V X ` }         6 @ V ` s    I      $ ( 0 : '(0FQUZp8GIfpqsuv'56@ADEGHPstvw,8:;=>?AB )*1245:;=>EGIKNPQWX]bdfmpu5GKMPZ^_b0ACDEPZ,0:<?@G,;   0679;?@ABDEFGPZ 3:;?BDGHPQ\  /78@ACPZr  17:;<>?FGHPZ`fgij4;>CEPZ #$o$$D%//004@4A4G4V4DGFh9j@j_j`jjjnjpjjjjjjjjjk0k7k9k@kDkEkPkZkckxk}kk@n`nnnnoKoOoPoQoooooooooooop֌ #23PSUVdhpkp}.0Gejms{BE4NUVh  8:;?@EFGJQRl"<Vp56OPVop7;muv  %+"#%&+0n-07>@JNO"DKLPZ !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~0JPjpvy:@ KP#   !"#'(,-./0:;<A[_`a{puvxz~01WY]^_`  K`jklmnpq0KM$%().@Y\`kp : = > P Q X b d f p q       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f p r u v       ) * 1 2 4 5 : < = > E G I K N U X \ ^ _ b d f p q r     ) * : < = > E F I J N U W X [ ] ^ ` b d f p     ; = > E F I J N O T W X _ b d f p z 124;GOPZ *56789:>@HImq+?@JVZ^abegnquIJNPWXYZ^`[]`mo25@RT`mnqrt  y ,0<FPU_`}4EMPZkt$8@JMPZ~ FHNPXYZ[\]^_~     $ % ' ( * / 0 < = ? A D E I J T U _ ` e f p q r  !!!! !!!!!!"!#!$!%!&!'!(!)!*!.!/!9!:!0000000110111111122222223X3Ф  *,@ost~˧Чҧӧԧէڧ #(,-@tƨШڨ &.0GT`}ϩЩک)7@CDLNPZ{~ª  '(/0jp)*78=>?@BCEFP>P 035MPQRSTUVpuv !;?@A[f  '(;<>?NP^@u -KPv{(0dp{|7@V`h  679<=?V`w   :                6 8 ; ? @ ` }         6 @ V ` s    I      $ ( 0 : '(0FQp8Gfpqsuv'56@DEGHPstvw,8>?AB )*1245:;=>EGIKNPQWX]bdfmpu5GKPZ^_b0ADEPZ,0:,;   0679;?@ABDPZ 3:;?GHPQ\  /78@APZr  17:;<>?FGHPZ`fgij4;>CPZ #$o$$D%//004@4A4G4V4DGFh9j@j_j`jjjpjjjjjjjjk0k7k@kDkPkZkckxk}kk@nnoKoOoPoQoooooooooooo #UVdhkp}.0Gejms{BEUV  :;?@EFGJQR56OPop7;muv%+"#%&+0n-07>@JNODKLPZ !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~ /0JPjlpr~/02;<@I>FPt HPZ` ;<FG    !"#$%&'()*+,-./0:<?@[\]^{|}~OP\cp~   K`jkmpq0K$%().Y\ : = > P Q X b d f p   < = > C G I K N Q R f p r u v   < = > E G I K N U X b d f p  < = > E F I J N U W b d f p w x  ; = > E F I J N W X b d f p y z 124;?@GOPZ\     *456789:;<=>@q+?@JLVZ^abegnqu`]`ab257RTrt   ,0<DFPU_`}4EPZ\]akt}$8;@JPZ~              $ ' ( * / 0 8 9 ; < > D E F G J V W X \ ] ` a f p } ~  !! ! !!!""""# # # # ###)#*#+###&&&&&&&&& &9&<&h&i&&&&&&&&&&&&&&&&&&&&&&&&&&'' ''['a'b'd'e'h'i'j'k'l'm'n'o'p'q'r's't'u'v'''''''''''''''))))))))))))))))))))))))))))))),,,,,,,-p-q----......... .".#.$.%.&.'.(.).*.../.0.2.3.5.:.<.?.@.B.C.K.L.M.N.P.S.U.V.W.X.Y.Z.[.\.].^.....////000000 0 0 0 0 00000000000000000 0*0005060;0=0@0A0B0C0D0E0F0G0H0I0J0c0d00000000000000000000000000000000000000110111111122 2H2P2MNǤ  *ost~ #(,-89tvxƨΨШڨ &.0GT`}ǩʩЩک)7CDLNPZ]`{~ª89TUpqĬŬ45PQlmܭݭ01LMhiخٮ,-HIdeԯկ ()DE`a|}аѰ $%@A\]xy̱ͱ !<=XYtuȲɲ89TUpqijų45PQlmܴݴ01LMhiصٵ,-HIdeԶն ()DE`a|}зѷ $%@A\]xy̸͸ !<=XYtuȹɹ89TUpqĺź45PQlmܻݻ01LMhiؼټ,-HIdeԽս ()DE`a|}оѾ $%@A\]xy̿Ϳ !<=XYtu89TUpq45PQlm01LMhi,-HIde ()DE`a|} $%@A\]xy !<=XYtu89TUpq45PQlm01LMhi,-HIde ()DE`a|} $%@A\]xy !<=XYtu89TUpq45PQlm01LMhi,-HIde ()DE`a|} $%@A\]xy !<=XYtu89TUpq45PQlm)*78=>?@BCEFP>?@ 056789:;<=>?@ABCDEGHIPQRSTVXYZ[\]^_ghijkl  ;<=>[\]^_`bcefgqv{WX        8 ; ? @ P X      9 @ $ ( 0 : FQ8GIfpqsu'56@DEGstuv,8:;=>?AB;=>EGIKNWXbdfmpu5GKOPZ\^_0ACPZ`m,0:<?,;0679;?@ABDGPZ 3:;?@AEFGHQ\ /78@AFPZpqr17:;<>?FGHPZ4;>CEPZ p$u$X2[2^22222222y3z3|304748494<4=4>4?4@4A4G4V4EEE`jjjnjpjjjjjj0k7k:kDkEkPkZknnOoPoQooooooooop #23PSUVdhp.0GejmBE7;muv"#%&+07@JDKPZ^`,0 mp<@IPR`fBDFQfy|}%2Jtvz{EHKPvy|tw{ HPZ`   &'0:<?wxT`np} A[a{BCEFcptuxz~01WY   @AKV`jpqKMP.0?@\^_`kp Q R S U d e f p       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f p w       ) * 1 2 4 5 : < E G I K N U X \ ^ _ d f x    ) * : < E F I J N U W X [ ] ^ ` d f p w    E F I J P T d f ;?@\HImq@JIJNPWXYZ^`[]} 57@T`mnqrt y ,0<@ADPnpu _`}MP8;JMP&+,]bfkxy FHNPXYZ[\]^_~  / 0 e f q r t  !&!'!*!,!2!3!N!O!`!!!!'$@$K$`$()t+v+++,`,,,,-&-'-(---.-0-h-o-q---------------------.C.D.^.....////0000000000 0!0*0.00010607080<0>0@0A00000000011011111111122 2H2`222222223X3q3{33334MNǤФ,@op"˧Чҧӧԧէڧ-036:@xƨΨڨ./0T_`}ΩϩЩکީ7@NPZ\`ê۪  '(/0[\efjlpnp78=>?@BCEFP>@ .0EGSTghlpuv!;A[afpq  '(;<>?NP^47@$-0KP{P(0dop{|7@V`h  679<=?@VW`    : ? @                6 8 ; ? I P Y `          6 9 @ V X ` s x        I       ( 0 : `(0ZpNRv56HPwB )*1245:;=EGIKNPQWX]dfmpu\]bEPZ`m,0G<   679;GPZHP   78FPmp  7:;<>?HPZ`fgij;>Z #$o$p$u$$D%//0V4DGFh9j@j_j`jjjnjpjjjjjjjjkFkPkZk[kbkckxk}kk@nnoKoOooooooooooop֌  #23PSUVdhpkp}.0GP')gj{FW`ryUV  :;?@EFGJQR%+"#%&+0n-0>@JNPLPZ^`q> !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~,0<@IPR`fw{ HPZ`T`np}:@ KP# a{      !"#$%&'()*+,-./012345678:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxz{|}~      #$%&'()*+,-./01234<=?ABCGHIJKLMNOPQRSTUVXYZ[\]`abcdefghijklmopqrsuv}~EFqrstwx{~0P`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0ayz}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ (08@FPQRSTUVWX`hprvxz|~N!O!p!!!!$$0,`,a,b,e,f,g,h,i,j,k,l,m,s,t,v,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-&-'-(---.-ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn#$%&'()*+,-./03456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopz{|}§çħȧɧʧ˧ѧҧקا٧ڧSTpA[(P  `nn"DA[      !"#$%&'()*+,-./012345679:;<=>?@ABCDEFGHJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123:;<=>?ABCDEFGHIJKLMNOpqrsvw0`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./1W      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~(08@HNYZ[\]^_`hp&!'!*!+!,!2!3!`!p!!!$$,0,`,a,b,c,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s,u,v,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm"#$%&'()*+,-./23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoyz{|}~§çħŧƧǧȧɧʧЧѧ֧קا٧!;(p{|  @n`n"La{      !"#$%&'()*+,-./012345678:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxz{|}~      #$%&'()*+,-./01234<=?ABCGHIJKLMNOPQRSTUVXYZ[\]`abcdefghijklmopqrsuv}~EFqrstwx{~0P`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0ayz}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ (08@FPQRSTUVWX`hprvxz|~N!O!p!!!!$$0,`,a,b,e,f,g,h,i,j,k,l,m,s,t,v,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-&-'-(---.-ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn#$%&'()*+,-./03456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopz{|}§çħȧɧʧ˧ѧҧקا٧ڧSTpA[(P  `nn"DA[      !"#$%&'()*+,-./012345679:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123:;<=>?ABCDEFGHIJKLMNOEFpqrsvw0`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./1W      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~(08@HNPQRSTUVWYZ[\]^_`hp&!'!*!+!,!2!3!`!p!!!$$,0,`,a,b,c,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s,u,v,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm"#$%&'()*+,-./23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoyz{|}~§çħŧƧǧȧɧʧЧѧ֧קا٧p!;(p{|  @n`n"A[      !"#$%&'()*+,-./2345679:;<=>?@ABCDEFGHJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123:;<=>?ABCDEFGHIJKLMNOEFpqrsvw0`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./1W      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~(08@HNYZ[\]^_`hp&!'!*!+!,!2!3!`!p!!!$$,0,`,a,b,c,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s,u,v,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm"#$%&'()*+,-./23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoyz{|}~§çħŧƧǧȧɧʧЧѧ֧קا٧p!;(p{|  @n`n"6aklst{      !"#$%&'()*+,-./0345678:;<=>?@ABCDEFGHIKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxz{|}~      #$%&'()*+,-./01234<=?ABCGHIJKLMNOPQRSTUVXYZ[\]`abcdefghijklmopqrsuv}~qrstwx{~02345>?ABCJKP`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0ayz}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ (08@FQRSTUVWX`hprvxz|~N!O!p!!!!$$0,`,a,b,e,f,g,h,i,j,k,l,m,s,t,v,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-&-'-(---.-ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn#$%&'()*+,-./03456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopz{|}§çħȧɧʧ˧ѧҧקا٧ڧSTA[(P  `nn"D{=EFGJMOSWX[\cKSUW\]_`pq12457:;=>?BCDEFGHIY\< = M N R S < = M N < = M N < = M N U W ; = M N 8;HL56789:qstuz~789;459:;<`a45DElm78 --*00000,-ĨŨ+.ST'.  9 ; ? @   FHKLMQFGpq35st57;=MNBCFG?@+,9;=?CD45GH?@BCDFACjjooejms{JK@ A( (!0 `  0000PP(( hhhhn  ((=!aA<,>Bbtalnumalphaasciiblankcntrldigitgraphlowerprintpunctspaceupperwordxdigit  @ALPZ^`@Q`k  ; =  #$++E.J..1/1֟-0HP  7:;<>?HPZoop`f  (013LM_lw`a v w   xy++++++J.O./1014 6 H I  ( 0 : (0ZDG;<^_<`fgij@nnryq/0MPlqswz{|`nyw x +++,O.P.§ǧfh_` 0494EoKoOoPoooooPSdh-0>@JNPKL>lm ?@qr{|Tptx{23wU V   ++P.S.11MMǧ˧,-hlGHZ[`b   679;GPZoooo֌  mp  rswytuצަKp< = ] ^  LM} /,0,_,`,S.^.§Чҧӧԧէڧ@Pp{|ppv@G//pjjjj#.0GPyz{}ަ59A ?B ;>Z/40494V423UV%+0ntw{ux9:P#;HIjq    "4FObc PQ]^SV-0K jk"#()+,36:@ZGHIJNPWXYZ^` GH[a}w x/ 0 H N 9!;!!!!!##{#|#}##%$'$%%&&p&r&()....////80;0>0?0114M¤ŤƤǤI $0K&(N'*UV  :;?@EFGJQRצ w !OPcpnp  7@T`mnqrtG H N S W X _ d q r =!L!!""#|#}###$$%%%&&&r&~&&&h'v''''()+;0>000000112Q2`222¤ŤƤ0kEGst_a!"47PX]` VY-0MP      5 6 q r  ,0<@ADnpulS U ;!?NP^47@&(N  679<=?@W7BX]  Y_Pn} ~ GH GH_a lU W X _ X Z b d x = > D E b d p v y km"#()+,36:@Z8;JMd e O!P!!!&&&&&&''''+ +$+M+P+U+m,p,q,t,x,~,-....1.-1.111ğ,@`bt| "ŨΨڨT_`7@NPZ\`$' : ? @ )*,0$&.0?  N O U V y { Z_w _`} P!S!!!##&&&&&&&&&&&'W'X'U+Z+p,q,~,,,,1.2.D2P2ğ̟Ф0:`}Ωϩکީ`|ê۪kn@VW`  `   6 9 V X s x   I `0/4 /12=>?@BCFGJOWX_`yz{}2@I5&( !_`@\^_: < O P V X s x r x ) * : ; N O ]_ ##&&&&&&'' ' '(')'L'M'N'O'S'V'_'a'''''''''p-q---11`b  '(/NRph9j012=>?@BCFGJOWX_`jpyz{}2;PR!067}?@AB>Ph &(,-.045AEPt@ '''',,'-(---.-f-h-2.<.̟͟t|.0    56DoEoPoooo !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~jl@D &(,-.045 f j (0 x y  4 5    ##''M+P+Z+t+v++++++++<.C.|0`df'. P{(0dop7@V`h`            Pw> )*1245:<EGIKNWX]dfmpuEPZo##c$o$t$u$@j_j`jjjnjpjjjjjkFkPkZk[kbkckxk}kkkp}  !-67}~?@AB>@DKhz{ACP HPZ`w Z [ _ `  !!++֟͟`dp.0             PQ,0@##$D%DGF-0~KPCE i O P T W X _ v y ##C.E.Ũƨ>?Z[\]^`m  78FPmpoop"#%&+KPZ^`;<z{ (013?@LP_0dop,0GPP@iPp Ppuv` !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~ pPpP@VW` 1WY!"xz01WYKM.0?@\^_`kp       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f w       ) * 1 2 4 5 : < E G I K N U X \ ^ _ d f x    ) * : < E F I J N U W X [ ] ^ ` d f p w    E F I J P T d f ;?\HImqIJNPWXYZ^`[]}7@T`mnqrt y ,0<@ADnpu_`}MP8;JM FHNPXYZ[\]^_~ e f r t !!!'$@$K$`$t+v+++,,&-'-(---.-0-h-o-q--------------------^.....////0@0A00011011111112 2ǤФ,@˧Чҧӧԧէڧ-0:@xƨΨڨT_}Ωϩکީ7@NPZ\ê۪  '(/0lpnp78=>?@BCEF STghlpuv  '(;<>?NP^47$-KP{(0do{|7@V`h  679<=?VW  : ? @              6 8 ; ? I P Y `       6 9 V X s x       I      ( 0 : `(0ZpNRv56HPwB )*1245:;EGIKNPQWX]dfmpu\]bEPZ`m,0G<   679;GPZHP   78FPmp  7:;<>?HPZ`fgij;>Z#$o$p$u$$D%//0V4DGFh9j@j_j`jjjnjjjjjjjjkFkPkZk[kbkckxk}kk@nnoKoOoooooooop֌ #23PSUVdhpkp}.0GP')FW`yUV  :;?@EFGJQR%+"#%&+0n-0>@JNPLPZ^`q> !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~,0<@IPR`fw{ HPZ`T`np}:@ KP#  6 9 @ MPh9jh@jjjjj;    Kmpq0K`P>Pp $ ( 0 : @ 0FQppP`jkm0 : `  ) * @   ` f j p s{ ,-.0:;  / 0 D E PQRSUV 0:p q t z $$ +,-.z | "")*bd 1#&  jk ?@0 5 .!/!""8:_`ikh i A[a{ptv~ : ; < = A I M N Q X b d   < = A C G I K N Q R p r u v   < = ? @ A E M N U W b d    < = > A F I J N U W b d x   ; = A E M N b d 124;?@GO56789>q-1289;=?XZ^aqu]`24RTrt #')239<@ADFVWX_`abcems}456;<=BCkt,468   q t  !!!!! !!!!!!$!%!&!'!(!)!*!.!/!:!?AB;=@Afmpu8@BEFG^_3;=>?A`m "&',/89;;=>?CD  39;?GHQWY\078>17:;<>?FGH6;@ABC@4A4G4V4jj0k7kOoPooooooo.0GgjsFWOP7;muv"#%&+07,0/0jp`fw{ HPZ`T`np} * + f g - . pK`pq0K$%().Y\ : ; < = A I M N Q X b d   < = A C G I K N Q R p r u v   < = ? @ A E M N U W b d    < = > A F I J N U W b d  ; = A E M N b d 124;GO56789:q-1289;=?XZ^aqu]`24RTrt  #')239<VWX_`abcems}456;<=BCkt,468 ,,---.*0.000ost~ %',-Ĩƨ&.GR)/1357CDLM|}ª 0v{      8 ; ? @   $ ( FQ8Gpqsu',-5st/24568>?AB;=@Afmpu8@BEFG^_3;=>?A "&',/89;;=>?CD  39;?GHQWY\078>17:;<>?FGH6;@ABC@4A4G4V4jj0k7kOoPooooo.0Ggj{BE7;muv"#%&+07DK{!#&+;A[a{tv~ x  :> @ADF ( 5 D E _ |  !!!!! !!!!!!$!%!&!'!(!)!*!:!P0PQRTUV_`bdghikl !;A[f@  9 @ Rf`mooBEFWOP,0 /0jp`fw{ HPZ`T`np}, - i j Q$%().Y\`  )*P        8 ; ? @   9 @  @ `0pDKpP+ , g h . /    ! ( ) _ ` 005Q S d f    78FPm   * / f j (*<=>?[\]^{|}~:>9 ; E G }  @!A!"""""""""""#"$"%"&"'"+"4"9":";"M"R"V"_"a"b"c"d"l"n"""""""""""""""""""## # #"#)#+#h'v''''''''''''''')))))))))))))))))))))))))))) ***"*$*%*&*'*)***+*/*4*6*<*?*W*Y*d*f*j*n*o*q*s*u*y********************++.. . . .... .*.U.].0000Y_df ;<=>[\]^_abdOP%%00000 0*0.0001070800010111EGaf11%%)*]^}~;<=>F G ~  # # # #*#+#i'j'k'l'm'n'o'p'q'r's't'u'v'''''''''''''))))))))))))))))))))))))))))#.$.%.&.'.(.).*.V.W.X.Y.Z.[.\.]. 0 0 0 0 00000000000000Z[\]^_ =>]^`acd=(*[\]^{|}~:>E G }  # #)#+#h'v'''''))))))".*.U.].0000Y_ ;<=>[\]^_abd()[\{|:;<=E F } ~ # # # #)#*#h'i'j'k'l'm'n'o'p'q'r's't'u'''''''''''''))))))))))))))))))))))))))))".#.$.%.&.'.(.).U.V.W.X.Y.Z.[.\.0 0 0 0 0 0000000000000YZ[\]^ ;<[\_`bcNRv() ϩЩ57@T xz01WYKM.0?@\^_`kp       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f w       ) * 1 2 4 5 : < E G I K N U X \ ^ _ d f x    ) * : < E F I J N U W X [ ] ^ ` d f p w    E F I J P T d f ;?\HImqIJNPWXYZ^`[]}7@T`mnqrt y ,0<@ADnpu_`}MP8;JM FHNPXYZ[\]^_~  * / ` p r t !!!'$@$K$`$t+v+++,,&-'-(---.-0-h-o-q--------------------^.....////0@0A00011011111112 2ǤФ,@˧Чҧӧԧէڧ-0:@xƨΨڨT_}Ωϩکީ7@NPZ\ê۪  '(/0lpnp78=>?@BCEF STghlpuv  '(;<>?NP^47$-KP{(0do{|7@V`h  679<=?VW  : ? @              6 8 ; ? I P Y `       6 9 V X s x       I      ( 0 : `(0ZpNRv56HPwB )*1245:;EGIKNPQWX]dfmpu\]bEPZ`m,0G<   679;GPZHP   78FPmp  7:;<>?HPZ`fgij;>Z#$o$p$u$$D%//004@4V4DGFh9j@j_j`jjjnjjjjjjjjkFkPkZk[kbkckxk}kk@nnoKoOoooooooop֌ #23PSUVdhpkp}.0GP')s{FW`yUV  :;?@EFGJQR%+"#%&+0n-0>@JNPLPZ^`q> !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~,0<@IPR`fw{ HPZ`T`np}:@ KP#  @J56H;A[a{EFptvxz~01W` FHNPXYZ[\]^_~q r  !!!! !!!!!!$!%!&!'!(!)!*!.!/!5!9!:!?BCDEFGHIK$%(). Q R S U ]`:;u}klmt ,,-.opt~ª '.0v{  8 9   $ ( HKLMfmpu^_0k7kBE"#%&+07DJ +0,0 XY,0-0!#')49=GJMOSWY[UW\]_`12457:;=>?BCDEFGHIY\R S 5678;<lm +.'.  : ;   FHKLMQ{*0+0 9:-0.0]_`b \]_`bcEF.000mnCX ` 3 4 6 7 Y \ ^ _ \ ^ CDMNRSWX\]ijvwxy** *78=>?@BCEFO^e+  * / ` e f p 04@4s{  7@NPZ\`pppk'(./:;^_`aptvz{YZ_`@AK`pq0K.Y\ : ; < = A I M N Q X b d q r   < = A C G I K N Q R p r u v   < = ? @ A E M N U W b d    < = > A F I J N U W b d  ; = A E M N b d 124;FO56789:q-1289;=?XZ^aqu]`24RTrt CD #')239<VWX_`abcems}456;<=BCkt,468x~,kxy    $ % ' ( * / ` e f p q r  |,~,,,o-p----./.0.00*0.01060;0<00000 ost~"pq %',-Ĩƨ&.GRϩЩ)/1357CDLMpq|}ªݪު[`il 0RSUV>?@Apqv{      8 ; ? @   $ ( FQ8Gpqsu',-5st/24568>?AB;=@Afmpu8@BEFG^_3;=>?A "&',/89;;=>?CD 39;?GHQWY\078>?@17:;<>?FGH6;@ABC04A4G4V4jj0k7k@kDkOoPooooooo.0GgjsBE7;muv"#%&+0n0>DL N340P 4M@@  PP#./110@0xz01WYKM.0?@\^_`kp       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f w       ) * 1 2 4 5 : < E G I K N U X \ ^ _ d f x    ) * : < E F I J N U W X [ ] ^ ` d f p w    E F I J P T d f ;?\HImqIJNPWXYZ^`[]}7@T`mnqrt y ,0<@ADnpu_`}MP8;JM FHNPXYZ[\]^_~ e f r t !!!'$@$K$`$t+v+++,,&-'-(---.-0-h-o-q--------------------^.....////0@0A00011011111112 2ǤФ,@˧Чҧӧԧէڧ-0:@xƨΨڨT_}Ωϩکީ7@NPZ\ê۪  '(/0lpnp78=>?@BCEF STghlpuv  '(;<>?NP^47$-KP{(0do{|7@V`h  679<=?VW  : ? @              6 8 ; ? I P Y `       6 9 V X s x       I      ( 0 : `(0ZpNRv56HPwB )*1245:;EGIKNPQWX]dfmpu\]bEPZ`m,0G<   679;GPZHP   78FPmp  7:;<>?HPZ`fgij;>Z#$o$p$u$$D%//0V4DGFh9j@j_j`jjjnjjjjjjjjkFkPkZk[kbkckxk}kk@nnoKoOoooooooop֌ #23PSUVdhpkp}.0GP')FW`yUV  :;?@EFGJQR%+"#%&+0n-0>@JNPLPZ^`q> !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~,0<@IPR`fw{ HPZ`T`np}:@ KP# 011@BCEtu~X ` 3 4 6 7 Y \ ^ _ \ ^ CDMNRSWX\]ijstuwxyqrstuvwxyz{|}~  &!'!*!,!)#+#** !"#%'*np *78=>?@BCEFO^e$@$ ,,,-`//47@  679<=?@$$ A[      !"#$%&'()*+,-./012345679:;<=>?@ABCDEFGHIKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxz{|}~      !"#$%&'()*+,-./0123:<=?ABCGHIJKLMNOEFpqrsvw0`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./1W      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~(08@HNYZ[\]^_`hp&!'!*!,!2!3!`!p!!!$$,0,`,a,b,e,g,h,i,j,k,l,m,q,r,s,u,v,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm"#$%&'()*+,-./23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoyz{|}§çħȧɧʧЧѧ֧קا٧p!;(p{|  @n`n"A[a{89!"4:UVXYZ[]`bcdeghmopqsuv}~EFptvx{~01Wayz}~ FHNPXYZ[\]^_~&!'!*!,!2!3!N!O!`!!!!$$,q,r,t,u,w,~,,,,,,-&-'-(---.-@n"02py˧Чҧ֧ڧSTp!;A[Pp{|    @nnDA[      !"#$%&'()*+,-./0125679:;<=>?BCDEFGHIKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxz{|}~      !"#$%&'()*+,-./0123:<=?ABCGHIJKLMNO@BCFOPpqrstuvwz{~0`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./1WuyX ` 3 4 6 7 Y \ ^ _ \ ^ 34  CDMNRSWX\]ijstuz_a ,/0;<NOkxy      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~(08@HNYZ[\]^_`hpqrstuvwxyz{|}~      $ ' * 0 3 5 6 8 < = > ? G J W X _ r t !!!! !!!!!! !#!$!%!&!'!(!)!*!.!/!:!;!A!E!J!P!!!!!!,"."/"1")#+#`$$ * *t*w***,0,`,a,b,e,g,h,i,j,k,l,m,q,r,s,u,v,|,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,o-p-....//00607080;00000011111122 2H2P2224@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm"#$%&'()*+,-./23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqyz{|}§çħȧɧʧЧѧ֧קا٧\`ijp !"#%'*np78=>?@BCEF>P0EGSTghlpstuv(p{|  @n`n^es{UV  :;?@EFGJQR0n" !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~ /0Pjm<@IPRA[      !"#$%&'()*+,-./012345679:;<=>?@ABCDEFGHJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxz{|}~      !"#$%&'()*+,-./0123:<=?ABCGHIJKLMNOpqrsvw0`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./1W      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~(08@HNYZ[\]^_`hp&!'!*!,!2!3!`!p!!!$$,0,`,a,b,e,g,h,i,j,k,l,m,q,r,s,u,v,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm"#$%&'()*+,-./23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoyz{|}§çħȧɧʧЧѧ֧קا٧!;(p{|  @n`n"a{      !"#$%&'()*+,-./012345678:;<=>?@ABCDEFGHJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxz{|}~      #$%&'()*+,-./01234<=?ABCGHIJKLMNOUVXYZ[]`bcdeghmopqsuv}~EFqrstwx{~0`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0ayz}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ (08@FPX`hp~N!O!p!!!!$$0,`,a,b,e,g,h,i,j,k,l,m,s,t,v,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-&-'-(---.-ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn#$%&'()*+,-./03456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopz{|}§çħȧɧʧ˧ѧҧקا٧ڧSTpA[(P  `nn"Da{      !"#$%&'()*+,-./012345678:;<=>?@ABCDEFGHJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxz{|}~      #$%&'()*+,-./01234<=?ABCGHIJKLMNOUVXYZ[]`bcdeghmopqsuv}~EFqrstwx{~0`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0ayz}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ (08@FPX`hp~N!O!p!!!!$$0,`,a,b,e,g,h,i,j,k,l,m,s,t,v,w,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-&-'-(---.-ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn#$%&'()*+,-./03456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopz{|}§çħȧɧʧ˧ѧҧקا٧ڧSTpA[(P  `nn"D@-.@000+,xy-.C.D.@.00n/-.  S T { | ""....:.<.@.A.].^.0000100013XYcd IJstwxyzj p )#+# S U  0: `#OP_a   * / ` p d1e1s{^_`aOPX]ctvz{YZKSWY0K< = M N Q U q r < = M N < = M N U V < = M N ; = M N GMNO56789:>@789;cein]`9<u}45DEkt68x~,k,,/.0.*0000000op|~"ĨŨ+/ST{~ê[`il 0>?@Apq  " ( FQFGpq35st57<=MNfmpuBCFG?@+,9;=?CD45GH?@BCDFG4V4jj0k7koooo.0Ggjms{0n07DGHKp !   679;GPZ''d p 0:<0P&(1489?CILRTfh &4@BCEtu~ 9:PRSTWX\_vx"') * 1 2 4 5 X ` 3 4 6 7 Y \ ^ _ H I K M \ ^ H I J M CDMNRSWX\]ijstuwxy&'     ;<=>@BCD FHNPXYZ[\]^_~  &!'!*!,!!!!!!!"" " " " "$"%"&"'"A"B"D"E"G"H"I"J"`"a"b"c"m"r"t"v"x"z""""""""""""")#+#**L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0e0f0g0h0i0j0p0r0s0u0v0x0y0{0|0~000000000000000000000000000000000000000000000000000 !"#%'*np *78=>?@BCEFO.0KM89^e24?AIJz{uy34wxyz     $ ' 3 5 6 8 < = > ? G J W X _ ` !!!!!! ! !!!!!"!5!9!;!pqrstuvwxyz{|}~mUVYZ]^abefijmnqruvyz}~4<qrwxyz{|}~ a       / 0 24?AIJz{uy34  wxyz,/0;<NOkxy     $ ' / 0 3 5 6 8 < = > ? G J W X _ ` p r t !!!! !!!!!! !#!$!%!(!)!,!.!/!2!3!:!;!A!E!J!P!!!!,"."/"1"`$$ * *t*w*|,~,o-p-....//00607080;00000011111122 2H2P2224pq\`ij *O>P0EGSTghlpstuvUV  :;?@EFGJQR0n !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~ /0Pjm<@IPR&(1289ACJLRTfh &4@BCEtuz{~ 9:PRSTWX\_vx"'uy) * 1 2 4 5 X ` 3 4 6 7 Y \ ^ _ H I K M \ ^ H I J M 34  CDMNRSWX\]ijstuz&'     ;<=>@BCD,/0;<NOkxy FHNPXYZ[\]^_~     $ ' / 0 3 5 6 8 < = > ? G J W X _ ` p r t !!!! !!!!!! !#!$!%!&!'!(!)!*!.!/!2!3!:!;!A!E!J!P!!!!!!!!!!"" " " " "$"%"&"'","."/"1"A"B"D"E"G"H"I"J"`"a"b"c"m"r"t"v"x"z""""""""""""")#+#`$$ * *t*w***|,~,o-p-....//00607080;0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0e0f0g0h0i0j0p0r0s0u0v0x0y0{0|0~000000000000000000000000000000000000000000000000000011111122 2H2P2224pq\`ij !"#%'*np78=>?@BCEF>P0EGSTghlpstuv.0KM89^eUV  :;?@EFGJQR0n !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~ /0Pjm<@IPRPSTghlP2Q2222X3q33340P< bk |,},Qk?,/0;<NObxyp r t !!!"!#!},~,o-p-11pq\`ij0Qknjm 00010EGI kp}$P%g&(+,1489?CDEHLMNRTfhklQRabpPQR        # $ ( 0 1 2 4 5 6 ; < > ? t u  !!!! ! !!!!!!!#!&!'!+!,!S!U![!_!`!l!p!z!!!!!!!!!!!!!""""" " " """"""""""!"#"$"%"&"'"-"."/"4"8"<">"H"I"L"M"R"S"`"b"d"h"j"l"n"p"""""""""""""##`$$$L%P%t%%%%%%%%%%%%%%%%%%%%%%%%%%%&& & &&&&&&&@&A&B&C&`&b&c&f&g&k&l&n&o&p&&&&&&&&&&&&&&&&&&&&&&&&'='>'v''V+Z+H2P2 .0jp00a a3 &(+,1489?CDEHLMNRTfhklQRabpPQR`        # $ ( 0 1 2 4 5 6 ; < > ? t u  !!!! ! !!!!!!!#!&!'!+!,!S!U![!_!`!l!p!z!!!!!!!!!!!!!""""" " " """"""""""!"#"$"%"&"'"-"."/"4"8"<">"H"I"L"M"R"S"`"b"d"h"j"l"n"p"""""""""""""####)#+#######`$$$L%P%t%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&& & &&&&&&&&&@&A&B&C&H&T&`&b&c&f&g&k&l&n&o&p&&&&&&&&&&&&&&&&&&''' ' '(')'='>'L'M'N'O'S'V'W'X'v''''''''''))++P+Q+U+Z+....////0?0A00011011111112 2MNǤ`}0STghloooop֌ #23PSUVdhp .0jp<@IPR`f!-67}~?@AB>KOPhz{P ;<FGp} ''))`##)#+#######%%&&H&T&&&&&&&&&&&&&&&&&&&&&&&&&&&'' ' '(')'L'M'N'O'S'V'W'X'''''''++P+Q+U+V+....////0?0A00011011111112 2H2P2MNǤ`}0STghloooop֌ #23PSUVdhp<@IPR`f!-67}~?@AB>KOPhz{P ;<FGp}Q&&&& ''BDFQfy|}tvz{EHKP   &'0:<?wx#$*+0:   0V404`4(/#$*+0:< = I J "!#!9!:!!!!!##(#)#######$$%%%%%%%%&&&&&&&&&&&& &!&"&$&&&'&*&+&.&0&8&;&@&A&B&C&H&T&_&a&c&d&e&g&h&i&{&|&~&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''!'"'(')'3'5'D'E'G'H'L'M'N'O'S'V'W'X'c'e'''''''''4)6)++++P+Q+U+V+0010=0>02222pr~/02;PR"$>IOPhoqs{P ;<FGp}P`$%23########%%&&H&T&&&&&&&&&&&&&&&&&&&&&&&&&&&'' ' '(')'L'M'N'O'S'V'W'X'''''''++P+Q+U+V+/0278;PR!-67}~?@AB>KOPhz{P ;<FGp}IIJNPWXYZ^`[]}------------------  '(/--0C@AU V FG  CD67{|0010600000 ϩЩpqݪުpq]^BkDkoooo<>DG< = I J "!#!9!:!!!!!##(#)#########$$%%%%%%%%&&&&&&&'''''''''!'"'(')'3'5'D'E'G'H'L'M'N'O'S'V'W'X'c'h'''''''''4)6)++++P+Q+U+V+0010=0>02222 /0lr~/02;<@I>FPt HPZ` ;<FG&     ( / ` p 04@4s{ pK`pq0K$%().Y\ : ; < = A I M N Q X b d   < = A C G I K N Q R p r u v   < = > @ A E M N U X b d    < = > A F I J N U W b d  ; = > ? A E M N W X b d 124;GO56789:q-1289;=?XZ^aqu]`24RTrt  #')239<VWX_`abcems}4;<=BCkt,468 ,,---.*00000ost~ %',-Ĩƨ&.GR)/1357CDLM|}ª 0v{      8 ; ? @   $ ( FQ8Gpqsu',-5st/24568>?AB;=>?@AWXfmpu8@BEFG^_3;=>?A "&',/89;01;=>?CD 39;?GHQWY\078>?@17:;<>?FGH6;@ABC@4A4G4V4jj0k7kOoPooooo.0Gefgjns{BE7;muv"#%&+07DK ``}N O ?@AB:;FGK  ; < > A I M N P   > A   @ A G I K M   A E   ? A F I J M 34>@12;=VX45#'),0239UVWXms;<=BCE$,46#%'(ĨRT/135MN,-EG,/2456?@AEGIKNbd58@BEF03;=>?&',/891679=>@ABC9:WY/0>?46>@ABQoooofgmn` pK`pq0K$%().Y\ : = > P Q X b d   < = > C G I K N Q R p r u v   < = > E G I K N U X b d  < = > E F I J N U W b d  ; = > E F I J O W X b d 123;GO56789:>@q-89?VZ^aqu]`25RTrt  ,0<U_`abce}4Ekt$8  ( / ` p ,,---.*00000ost~ #(,-ƨ&.GT`})7CDLN|}ª 0v{      8 ; ? @   $ ( FQ8Gpqsu'5EGst,8>?AB;=>EGIKNWXbdfmpu5G^_0A ",,;0679;D 3?GHQ\/78@17:;<>?H4;>C04A4G4V4jj0k7kOoPoQoooooooo.0GejmBE7;muv"#%&+07DK%&-&-'-(---.--0-,`,C.D.op"#%&+0d f `fgijd f   7:;<>?HPZ0K3Q S d f   )*1245:;EGIKNPQWX]dfmpu pxz01WYK`pq0M$%()0?@Y^_`kp : ; < = A I M N Q X b d       ) * 1 2 4 5 7 8 : > A Y ] ^ _ f p r u v w       ) * 1 2 4 5 : = > @ A G I K M \ ^ _ b f x       ) * : = > A E X [ ] ^ ` b f p w     ; = > ? A F I J M N P T W X b f 124?GO\56789:HIm-1289;=?XZ^aquIJNPWXYZ^`[`}247@R`mnq  y#'),0239@ADnpuVWXabcems4;<=BCMPkt,46;JM FHNPXYZ[\]^_~  ( / ` p r t !!!'$@$K$`$t+v+++,,,,&-'-(---.-0-h-o-q-------------------.^.....////0*000@0A00011011111112 2ǤФ,@ost~˧Чҧӧԧէڧ %',0:@xĨΨڨ&.GRT_}Ωϩکީ)/135@CDLMNPZ\|}ªê۪  '(/0lpnp78=>?@BCEF0STghlpuv  '(;<>?NP^47$-KPv(0do{|7@V`h  679<=?VW  : ? @            6 @ I P Y `       6 9 V X s x       I      $ 0 : `(0FQZp8GNRpqsuv',-6HPstw/24568>?A )*1245:=>?@AEGIKNPQ]d8@BEFG\]^_b3;=>?AEPZ`m "&'0G/89;<   01679=>?CDGPZ 39;?GPQWY\   0>?@FPmp  1FGPZ`fgij6>@ABCZ#$o$p$u$$D%//004A4G4DGFh9j@j_j`jjjnjjjjjjjjk0k7kFkPkZk[kbkckxk}kk@nnoKoPoooooooop֌ #23PSUVdhpkp}P')efgjnBEFW`yUV  :;?@EFGJQR7;muv%+0n-7>@JNPDKLPZ^`q> !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~,0<@IPR`fw{ HPZ`T`np}:@ KP# MBCEFptuxz~&+]bfk FHNPXYZ[\]^_~&!'!ef@FpK`pq0K$%().Y\ : ; < = A I M N Q X b d   < = A C G I K N Q R p r u v   < = > @ A E M N U X b d    < = > A F I J N U W b d  ; = > ? A E M N W X b d 124;GO56789:q-1289;=?XZ^aqu]`24RTrt  #')239<VWX_`abcems}4;<=BCkt,468 ,,---.*00000ost~ %',-Ĩƨ&.GR)/1357CDLM|}ª 0v{      8 ; ? @   $ ( FQ8Gpqsu',-5st/24568>?AB;=>?@AWXfmpu8@BEFG^_3;=>?A "&',/89;01;=>?CD 39;?GHQWY\078>?@17:;<>?FGH6;@ABC@4A4G4V4jj0k7kOoPooooo.0Gefgjns{BE7;muv"#%&+07DK #Q S d f 0:'Q S d f       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f w 0: 0M....//00000 0!0.0001070@0001111 2H2222223X3q3{33334MNnpEGafoooo`rPR:@ KP#+00000 0.01070800011122`22`}EGaf 7 78=>?@BCEFP#00000 000607080<0>0A000000EGafpq 23PSDGF kFkPkZk[kbkckxk}kk -0>@JNP `}      -.  ..00cd ef0:A[_`a{uvxz~01WYZ` jnKM.@\`kpd f p q       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f v       ) * 1 2 4 5 : < E G I K N U X \ ^ _ d f p q r    ) * : < E F I J N U W X [ ] ^ ` d f p    E F I J O T X _ d f p z ;@OPZ *56789:>HImqJPIJNPWXYZ^`[]`irmo5@T`mnqrt  y ,0<Fnpu _`}MPZkt8@JM~ FHNPXYZ[\]^_~? A T U q r  !!!! !!!!!!$!%!&!'!(!)!*!:!?@BCEF>P 035MPpuv!;?@A[f  '(;<>?NP^@u -KP{(0dp{|7@V`h  679<=?V`w   :              6 8 ; ? @ ` }        6 @ V ` s    I      ( 0 : '(0QpGfv56@DHPtvw8>B )*1245:;EGIKNPQWX]dfmpuKPZ^bADEPZ,0:@G;   679;DPZ?GHP  78APZr  7:;<>?HPZ`fgij;>CPZ #$o$$D%//004@4V4DGFh9j@j_j`jjjpjjjjjjjjk7k@kDkPkZkckxk}kk@nnoKoOoooooooooop֌ #23PSUVdhpkp}.0Gejms{BEUV  :;?@EFGJQR56OPop7;muv%+"#%&+0n-0>@JNOLPZ !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~:@ KP#'(-/0;A[_`a{24?AIJ &4YZ #)-/02568:BCEFuv{~`*.01WYZa @AV`jpstuyPp N O Q V X ` d f p q x y       ) * 1 2 3 5 6 8 : < = > C G I K N \ ] f u       ) * 1 2 4 5 : < D G I K N U X _ b f p q r     ) * 4 5 : < E F I J N U W ] ^ ` b f p        ; = D F I J O T X ` b f p z 34;@OPZ   *5678>CDHIMNRSWX\]ijmqstuzJPIJNPWXYZ^`[]` FHNPXYZ[\]^_qrstuvwxyz{|}    ' ( '-(---.-------------------00A000000001.1/101114MN ˧Чҧӧԧէڧ`wz  '(/fh !"#%'*;=oo#23PSUVdh%+:@ KP#'(-/0;A[_`a{24?AIJ &4YZ #)-/02568:BCEFuv{~`*.01WYZa @AV`jpstuyPp N O Q V X ` d f p q x y       ) * 1 2 3 5 6 8 : < = > C G I K N \ ] f u       ) * 1 2 4 5 : < D G I K N U X _ b f p q r     ) * 4 5 : < E F I J N U W ] ^ ` b f p        ; = D F I J O T X ` b f p z 34;@OPZ   *5678>CDHIMNRSWX\]ijmqstuzJPIJNPWXYZ^`[]` FHNPXYZ[\]^_qrstuvwxyz{|}    ' ( '-(---.-------------------00A000000001.1/101114MN ˧Чҧӧԧէڧ`wz  '(/fh !"#%'*;=oo#23PSUVdh%+:@ KP#%OP_a   * / ` e f j d1e1s{ .0?7@T`mnqrt  y ,`,,,,-@x0T_`ϩЩ  '(;<>?NP^47@$-KP{(0do{|7@V`h  679<=?VW  : ? @              6 8 ; ? I P Y `       6 9 V X s x       I       (0ZpNRvPwB )*1245:=EGIKNPQWX]dfmpuEPZ`m,0G<   679;GPZHP  78FPmp  7:;<>?HPZ;>Z #$o$p$u$$D%//0V4DGF@j_j`jjjnjjjjjjjjkFkPkZk[kbkckxk}kk@nnoooop֌ pkp}"#%&+'(-/:;uv      ' ( 0000KMP@\^_`k ,0<@ADnpu _`}MP8;JM0-h-p-q---ǤФ,-ƨΨڨ./0Ωϩکީ7@NPZ\`ê۪p ( 0 : 56H\]b`fgijh9joKoOoooo-0>@JNPLPZ^`  xz01WYKM.0?@\^_`kp       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f w       ) * 1 2 4 5 : < E G I K N U X \ ^ _ d f x    ) * : < E F I J N U W X [ ] ^ ` d f p w    E F I J P T d f ;?\HImqIJNPWXYZ^`[]}7@T`mnqrt y ,0<@ADnpu_`}MP8;JM FHNPXYZ[\]^_~ e f r t !!!'$@$K$`$t+v+++,,&-'-(---.-0-h-o-q--------------------^.....////0@0A00011011111112 2ǤФ,@˧Чҧӧԧէڧ-0:@xƨΨڨT_}Ωϩکީ7@NPZ\ê۪  '(/0lpnp78=>?@BCEF STghlpuv  '(;<>?NP^47$-KP{(0do{|7@V`h  679<=?VW  : ? @              6 8 ; ? I P Y `       6 9 V X s x       I      ( 0 : `(0ZpNRv56HPwB )*1245:;EGIKNPQWX]dfmpu\]bEPZ`m,0G<   679;GPZHP   78FPmp  7:;<>?HPZ`fgij;>Z#$o$p$u$$D%//0V4DGFh9j@j_j`jjjnjjjjjjjjkFkPkZk[kbkckxk}kk@nnoKoOoooooooop֌ #23PSUVdhpkp}.0GP')FW`yUV  :;?@EFGJQR%+"#%&+0n-0>@JNPLPZ^`q> !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~,0<@IPR`fw{ HPZ`T`np}:@ KP# 24?A@BCEtuz{~uyX ` 3 4 6 7 Y \ ^ _ \ ^ 34  CDMNRSWX\]ijstuwxy,/0;<NOkxyqrstuvwxyz{|}~     $ ' / 0 3 5 6 8 < = > ? G J W X _ ` p r t !!!! !!!!!! !#!$!%!&!'!(!)!*!.!/!2!3!:!;!A!E!J!P!!!!,"."/"1"`$$ * *t*w***|,~,o-p-....//00607080;000000111d1e111122 2H2P2224pq\`ij !"#%'*np78=>?@BCEF>P0EGSTghlpstuv^eUV  :;?@EFGJQR0n !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~ /0Pjm<@IPR  '(-/0;A[_`a{Z` jn0?^_d f p q v w p q r x w O P X _ p z ?@OPZ\   *56789:>JP`ir}mo57 @ADF Zkt;@~     $ ( * 0 3 5 6 8 < = > A G J T U W X _ !!! !!!!!! !#!$!%!&!'!(!)!*!:!;!A!E!J!N!O!P!!!!,"."/"1")#+#'$@$K$$ * *t*w***t+v+++,,,,-p-q-.^.......//000!000107080=0@01111H2P222MNǤ pt~ "(,0:txΨШ.0_`Ωީ\`wzު[\jl>PEG47@u $opW`w     ? @       @ I P Y }        9 @ X ` x        `'QZGNRf@Dtv8>KPZ\]^AD`m:@;<DG?G AFZmprCP p$u$//04@4njpjjj7k@kDkFk[kbknnooP')^jmBEFW`y7;muvOP^`q>,0 /0Pjm`fw{ HPZ`T`np}wx|}ctvx`*.@AnpN O Q S x y  4 5 X Z     ; = _ ` _airV W X _ '!(!2!3!N!P!!!m,w,~,,-&--.*.3.5.6.9.:.00.000.1/112*,@op|"pq`}0[df@uooF0:A[_`a{24?AIJ &4YZ #)-/02568:BCEF{~`*.01WYZa @AV`jpstuyPp N O Q V X ` d f p q x y       ) * 1 2 3 5 6 8 : < = > C G I K N \ ] f u       ) * 1 2 4 5 : < D G I K N U X _ b f p q r     ) * 4 5 : < E F I J N U W ] ^ ` b f p        ; = D F I J O T X ` b f p z 34;@OPZ *5678>CDHIMNRSWX\]ijmqstuzJPIJNPWXYZ^`[]` FHNPXYZ[\]^_qrstuvwxyz{|}'-(---.-------------------00A00000000001.1/101114MN ˧Чҧӧԧէڧ`wz  '(/fh !"#%'*;=oo#23PSUVdh%+:@ KP#47PYZ!)-/03478:@FOPXYc`a@KS U   kt,/0;<NOkxy? A !!.!/!!!$%()`,h,w,|,,,..!0001060;0=022MN"0hi>P 0EGst.0GP')^es{BEW &7PSUVX[\cdhjrs !#234567XYV` U V Q R u v D E b d Z [ b d D E b d 9:T U !!++h,m,op|~`d.0@j_j`jjjOP)00!0*080;04MNnpoop֌ p:@ KP#op'A[a{puvxz~01WYZ` Knpq0M$%()@Y`kp : = > P Q X b q     ) * 1 2 4 5 7 8 : Y ] ^ _ r u     ) * 1 2 4 5 : = > \ ^ _ b q r     ) * : = > X [ ] ^ ` b     ; = > N O T W _ b z 124@G@HIm+?@PVZ^abegnquIJNPWXYZ^`[mo2@R`mnq yPnpu U4EM$MPZ~ FHNPXYZ[\]^_~q r  !!!! !!!!!!$!%!&!'!(!)!*!:!?@BCEF>Ppuv!;A[f  '(;<>?NP^@u -KPv(0dp{|7@V`h  679<=?V`w   :            6 ` }        6 @ V ` s    I      $ '(0Fp8qsuv'DEGHPsvw,?A )*1245:=>PQ]b5GK_b0DE@G,   0?@AB 3:;PQ\  /@Ar  1FG`fgij4 #$o$$D%//004A4G4DGFh9j@j_jpjjjjk0k@kDkckxk}kk@nnoKoPoQooooooop֌ #23PSUVdhpkp}UV  :;?@EFGJQR56OPop%+0n-7>NODKL !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~:@ KP#//////`PDF0 @ jk p101 @`0pP`,- $/0 0@p`P0040,`,0Pp `  @  @ @00/0@``  @ `  01` ` PPPФ @ P @`  p`@nn  oo`@jpjpP  0P0 P p kk'< = A E M N R S V X b d < = A C M N Q R u v < = A E M N b d < = V W b d C E b d 8;5678qrtv/178=?XZ^a34STst"#239:;<VW[_iklm8;lm,-78%&,-ĨŨ+.GJKO-.2357    9 ; <B*,13st/0AB;=8>BCFG39?@$&()/39;CD  35;?RTY\27?@67BCDEGH8; ;<BCa? @ N O ? @ G H F I ?@12UVns>@')46/145,-GI67&'-.5678>@ K L J M @BKM89  : = > P Q S U X b d   < = > C G I K N Q R p r u v   < = > E G I K N U X b d  < = > E F I J N U W b d  ; = > E F I J O W X b d 0;@FGO56789:>@q+9:?VZ^abegnqu25RTrt ,0<U_a}4Ekt$8  #(,-ƨ&.GT)7CDLN{~ª      8 ; 8Gpqsu'345EGst,8>?AB;=>EGIKNWXbdfmpu5G^_0A,,;0679;>?D 3?Q\/78@17:;<>?EFH4;>B     U  ; < > ? @ A I M O P   > ? @ A   > ? @ A   A E   > C W X 0124EF>?+-89;<VXbegn45#%),0239WXabcemn56DE$'*,#%'(ĨRT34MN{|}~EG,/56>@AEMNWXbd5678@BEF03;=>? ",-./8905=>@A9:WY/0>?FG46AB  : ; E I Q R U V   G I K M p r   ? @ U W    > A F H J N U V  ; = M O 1248GO9:rsz-/27:;qu23RSrs "'):;X[bceikls}4568BCklmt-467  &'Ũƨ&+JKOR)-./12CDLM|}ª    8 9 8<BGpqsu'*-.0145024568>?@Afmpu>@CE^_9;=>@A "$'(),38;=?@AB 59:;QRTW028>16:;<>?BCD68@A H I stvz<=.0<==> H I )* L M  W X %'CD24@     p 0`@#= > = > = > = > =>GH@Au    p q         MN~6723tu46 stŨƨ  45^`CE_`=>78;=59<>@ARfQ S Q R  >?fmpu; : X ` x  ) * 1 2 4 5 7 8 : Y ] ^ _  ) * 1 2 4 5 : \ ^ _ ` q r  ) * : X [  ; /@HIm!?@PRZ^abegnqu #2CRcmnqPc MSU4EM$MP #@^bfiqrs "0G)`pqtz{~ΫЫѫҫ۫       6 8uv'DEGHUs,?@)*1245:50@G , 0 3\/r 1l4  ] ^ T W z 023:XZ-4OS@N۫Z[LMu v ;?^aUW37 @ABC;?GH-. r t KLNO  %%tw?@EF N O ABFG ?@:;),WX[_$&giqr  `b q r 789:`a? @ 34>?GHEFBC  7< = < = < = < = 9:45788 ; st67;=FG:;CDBC]0:f p f p f p f p f p PZ 4@JFPPZ@JШڨ ЩکPZ@ I fp6@PZPZ0<PZPmPZPZ-.0: P Q S U d f p r       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f t u v       ) * 1 2 4 5 : < E G I K N U X \ ^ _ d f p q r    ) * : < E F I J N U W X [ ] ^ ` d f p    E F I J O T X _ d f p z /0;@FGOPZ 456789:@HImqJKLNOP5@T`mnqrt ,0<Fnpu _`}MPZ8@JMP    t u %%(,-@tƨШڨ.0TЩک7@NPZ`pqwzê         6 8 ; ? I GRv56@DHPt8>B )*1245:;EGIKNWX^dfmpuHPZ^bAPZ,0<@G;   679;DPZ@EFGHP  78APmr  7:;<>?HPZ`fgij;>CPZ/; = :;NO:;45z{,-STpq45+,=>45DEAB) 5678;<{}67t u ^_34puªêHL78ceinuz+.{~ª7M N M N M N M N M N DEĨŨFG56MNBC?@9:?@I          89  EF>?899:>?AB cn^bfg"+PU: < > M N P U X b d > C G I K M > E G I K M U X b d > E F I J M U W b d > E F I J M W X b d 0:@FGHq~+6VZbcgiqu24RTrt ):;at5D&-#(ĨGO)3      8Fsu'3EG,4AB>EGIKMWXbd5B0=@A +,70679 Q\/78<17:;<>?@CD4;>A  ` b r x           ` b      ` b      _ b !+RV #@C`cMSΫЫѫҫqs@A `b   PQ     `fgijl 0pP0P `P  pjjp 0--@pP&xz01WY`aKM.0?@\^_`k       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f v       ) * 1 2 4 5 : < E G I K N V X \ ^ _ d f x      ) * : = E F I J N U W X [ ` d f p x      E F I J P T d f ;?\HImqIJNPWXYZ^`[]}  7@T`mnqrt x ,0<@ADnpu_`}LP}8;JM FHNPXYZ[\]^_~ e f r t !!!'$@$K$`$t+v++++++++++,/,0,_,`,,,&-'-(---.-0-h-o-q--------------------J.....////0@0A00011/1111111112 223MMǤФ,@,0:@xƨΨڨT_}Ωϩکީ7@NPZ\ê۪  '(/0fpnp78=>?@BCEF@P STghlpuv  '(;<>?NP^47$-KP{(0dop7@V`h  679<=?VW  : ? @              4 8 ; ? H P Y `       6 9 V X s x       I       `NRp56DPw? )*1245:<EGIKNPQWX]dfmpuZ[\]^EPZ`m,0@HP  78FPmp  7:;<>?HPZ #$o$p$u$$D%0/4DGFh9j@j_j`jjjnjpjjjjjkFkPkZk[kbkckxk}kkoEoPooooooppkp}')FW`rUV  :;?@EFGJQR"#%&+KPZ^` !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~,0 /0lp<@IPR`ft HPZ` ?@MPlצ5@   8xz01WYKM.0?@\^_`k       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f w       ) * 1 2 4 5 : < E G I K N V X \ ^ _ d f x    ) * : = E F I J N U W X [ ` d f p x      E F I J P T d f ;?\HImqIJNPWXYZ^`[]}  7@T`mnqrt y ,0<@ADnpu_`}LP}8;JM FHNPXYZ[\]^_~ e f r t !!!'$@$K$`$t+v++++++,/,0,_,`,,,&-'-(---.-0-h-o-q--------------------O.....////0@0A0001101111111112 223MMǤФ,@,0:@xƨΨڨT_}Ωϩکީ7@NPZ\ê۪  '(/0fpnp78=>?@BCEF@P STghlpuv  '(;<>?NP^47$-KP{(0dop7@V`h  679<=?VW  : ? @              6 8 ; ? I P Y `       6 9 V X s x       I      ( 0 : `(0ZNRp56GPw? )*1245:;EGIKNPQWX]dfmpuZ[\]_EPZ`m,0@<HP  78FPmp  7:;<>?HPZ`fgij #$o$p$u$$D%0/4DGFh9j@j_j`jjjnjpjjjjjkFkPkZk[kbkckxk}kk@nnoEoPooooooppkp}')FW`yUV  :;?@EFGJQR"#%&+KPZ^`q !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~,0 lp<@IPR`ft HPZ` ?@qswz{|`nצ5@   Jxz01WYKM.0?@\^_`k       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f w       ) * 1 2 4 5 : < E G I K N V X \ ^ _ d f x    ) * : = E F I J N U W X [ ` d f p w      E F I J P T d f ;?\HImqIJNPWXYZ^`[]}  7@T`mnqrt y ,0<@ADnpu_`}LP}8;JM FHNPXYZ[\]^_~ e f r t !!!'$@$K$`$t+v+++/,0,_,`,,,&-'-(---.-0-h-o-q--------------------P.....////0@0A0001101111111112 223MMǤФ,@§ǧ,0:@xƨΨڨT_}Ωϩکީ7@NPZ\ê۪  '(/0hpnp78=>?@BCEF@P STghlpuv  '(;<>?NP^47$-KP{(0dop7@V`h  679<=?VW  : ? @              6 8 ; ? I P Y `       6 9 V X s x       I      ( 0 : `(0ZNRp56GPw? )*1245:;EGIKNPQWX]dfmpuZ[\]`EPZ`m,0@<HP  78FPmp  7:;<>?HPZ`fgij#$o$p$u$$D%0/40494DGFh9j@j_j`jjjnjpjjjjjkFkPkZk[kbkckxk}kk@nnoKoOoooooopPSdhpkp}')FW`yUV  :;?@EFGJQR"#%&+-0>@JNPLPZ^`q> !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~,0 mp<@IPR`ft HPZ`  rswzT`nptx{צ5@   Hxz01WYKM.0?@\^_`k       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f w       ) * 1 2 4 5 : < E G I K N V X \ ^ _ d f x    ) * : = E F I J N U W X [ ` d f p w      E F I J P T d f ;?\HImqIJNPWXYZ^`[]}  7@T`mnqrt y ,0<@ADnpu_`}LP}8;JM FHNPXYZ[\]^_~ e f r t !!!'$@$K$`$t+v+++/,0,_,`,,,&-'-(---.-0-h-o-q--------------------P.....////0@0A0001101111111112 2MMǤФ,@§ǧ,0:@xƨΨڨT_}Ωϩکީ7@NPZ\ê۪  '(/0hpnp78=>?@BCEF@P STghlpuv  '(;<>?NP^47$-KP{(0dop7@V`h  679<=?VW  : ? @              6 8 ; ? I P Y `       6 9 V X s x       I      ( 0 : `(0ZNRp56GPw? )*1245:;EGIKNPQWX]dfmpuZ[\]`EPZ`m,0@<HP  78FPmp  7:;<>?HPZ`fgij#$o$p$u$$D%0/40494DGFh9j@j_j`jjjnjpjjjjjkFkPkZk[kbkckxk}kk@nnoKoOoooooopPSdhpkp}')FW`yUV  :;?@EFGJQR"#%&+-0>@JNPLPZ^`q> !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~,0 mp<@IPR`ft HPZ`  rswzT`nptx{צ5@   \xz01WYKM.0?@\^_`k       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f w       ) * 1 2 4 5 : < E G I K N U X \ ^ _ d f x    ) * : = E F I J N U W X [ ` d f p w    E F I J P T d f ;?\HImqIJNPWXYZ^`[]}  7@T`mnqrt y ,0<@ADnpu_`}LP}8;JM FHNPXYZ[\]^_~ e f r t !!!'$@$K$`$t+v+++/,0,_,`,,,&-'-(---.-0-h-o-q--------------------S.....////0@0A00011011111112 2ǤФ,@§˧-0:@xƨΨڨT_}Ωϩکީ7@NPZ\ê۪  '(/0lpnp78=>?@BCEF@P STghlpuv  '(;<>?NP^47$-KP{(0dop7@V`h  679<=?VW  : ? @              6 8 ; ? I P Y `       6 9 V X s x       I      ( 0 : `(0ZNRp56HPw? )*1245:;EGIKNPQWX]dfmpu\]bEPZ`m,0@<   679;GPZHP  78FPmp  7:;<>?HPZ`fgij#$o$p$u$$D%0/40494DGFh9j@j_j`jjjnjpjjjjjkFkPkZk[kbkckxk}kk@nnoKoOoooooooop֌ PSdhpkp}')FW`yUV  :;?@EFGJQR"#%&+-0>@JNPLPZ^`q> !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~,0<@IPR`ft HPZ`yzT`npux{ަ5@ K  xz01WYKM.0?@\^_`kp       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f w       ) * 1 2 4 5 : < E G I K N U X \ ^ _ d f x    ) * : < E F I J N U W X [ ] ^ ` d f p w    E F I J P T d f ;?\HImqIJNPWXYZ^`[]}7@T`mnqrt y ,0<@ADnpu_`}MP8;JM FHNPXYZ[\]^_~ e f r t !!!'$@$K$`$t+v+++,,&-'-(---.-0-h-o-q--------------------^.....////0@0A00011011111112 2ǤФ,@˧Чҧӧԧէڧ-0:@xƨΨڨT_}Ωϩکީ7@NPZ\ê۪  '(/0lpnp78=>?@BCEF STghlpuv  '(;<>?NP^47$-KP{(0do{|7@V`h  679<=?VW  : ? @              6 8 ; ? I P Y `       6 9 V X s x       I      ( 0 : `(0ZpNRv56HPw? )*1245:;EGIKNPQWX]dfmpu\]bEPZ`m,0G<   679;GPZHP  78FPmp  7:;<>?HPZ`fgij#$o$p$u$$D%//0/40494DGFh9j@j_j`jjjnjjjjjjjjkFkPkZk[kbkckxk}kk@nnoKoOoooooooop֌ #PSdhpkp}.0GP')FW`yUV  :;?@EFGJQR"#%&+-0>@JNPLPZ^`q> !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~,0<@IPR`ft HPZ`T`npux}9@ K  xz01WYKM.0?@\^_`kp       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f w       ) * 1 2 4 5 : < E G I K N U X \ ^ _ d f x    ) * : < E F I J N U W X [ ] ^ ` d f p w    E F I J P T d f ;?\HImqIJNPWXYZ^`[]}7@T`mnqrt y ,0<@ADnpu_`}MP8;JM FHNPXYZ[\]^_~ e f r t !!!'$@$K$`$t+v+++,,&-'-(---.-0-h-o-q--------------------^.....////0@0A00011011111112 2ǤФ,@˧Чҧӧԧէڧ-0:@xƨΨڨT_}Ωϩکީ7@NPZ\ê۪  '(/0lpnp78=>?@BCEF STghlpuv  '(;<>?NP^47$-KP{(0do{|7@V`h  679<=?VW  : ? @              6 8 ; ? I P Y `       6 9 V X s x       I      ( 0 : `(0ZpNRv56HPwB )*1245:;EGIKNPQWX]dfmpu\]bEPZ`m,0G<   679;GPZHP   78FPmp  7:;<>?HPZ`fgij;>Z#$o$p$u$$D%//0V4DGFh9j@j_j`jjjnjjjjjjjjkFkPkZk[kbkckxk}kk@nnoKoOoooooooop֌ #23PSUVdhpkp}.0GP')FW`yUV  :;?@EFGJQR%+"#%&+0n-0>@JNPLPZ^`q> !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~,0<@IPR`fw{ HPZ`T`np}:@ KP#  @PF`btvz{~ PQ]^1WY`a   !;@S`np   : < N P U X q       ) * 1 2 4 5 7 8 : < = > C G I K N Y ] ^ _ f u       ) * 1 2 4 6 : < D G I K N V X \ ^ _ b f q       ) * 4 5 : > E F I J N U W ` b f p       ) * : > D F I J N W X ` b f p ;?\Z_ FHNPXYZ[\]^_~ / 0 G j q t !9!S!!!!""###{#$%$@$K$`$$%%%%&&&p&''' ' '(')'L'M'N'O'S'V'W'X'_'a'h'v''''''080?0@0A0000001-11111122 2D2`2|22222223w3{3333N.78=>?@BCEF@P $0EISTghlpstuv_apPF`btvz{~ PQ]^1WY`a   !;@S`np   : < N P U X q       ) * 1 2 4 5 7 8 : < = > C G I K N Y ] ^ _ f u       ) * 1 2 4 6 : < D G I K N V X \ ^ _ b f q       ) * 4 5 : > E F I J N U W ` b f p       ) * : > D F I J N W X ` b f p ;?\HIjqZ_ FHNPXYZ[\]^_~ / 0 G j q t !9!S!!!!""###{#$%$@$K$`$$%%%%&&&p&''' ' '(')'L'M'N'O'S'V'W'X'_'a'h'v''''''080?0@0A0000001-11111122 2D2`2|22222223w3{3333N.78=>?@BCEF@P $0EISTghlpstuv_a pPF`btvz{~ PQ]^1WY`a   !;@S`np   : < N P U X q       ) * 1 2 4 5 7 8 : < = > C G I K N Y ] ^ _ f u       ) * 1 2 4 6 : < D G I K N V X \ ^ _ b f q       ) * 4 5 : > E F I J N U W ` b f p       ) * : > D F I J N W X ` b f p ;?\HIjqZ_ FHNPXYZ[\]^_~ / 0 G j q t !9!S!!!!""###{#$%$@$K$`$$%%%%&&&p&''' ' '(')'L'M'N'O'S'V'W'X'_'a'h'v''''''080?0@0A0000001-11111122 2D2`2|22222223w3{3333N.78=>?@BCEF@P $0EISTghlpstuv_a  "4PO`ctvz{~1WY`a   !;@V`np-0K   : < N P U X q       ) * 1 2 4 5 7 8 : < = > C G I K N Y ] ^ _ f u       ) * 1 2 4 6 : < D G I K N V X \ ^ _ b f q       ) * 4 5 : > E F I J N U W ` b f p       ) * : > D F I J N W X ` b f p ;?\HIkq"#()+,36:@ZZ_GHIJNPWXYZ^` GH[a}w x FHNPXYZ[\]^_~ G H N j q t !;!S!!!!""#|#}##$'$@$K$`$$%%%%&&&r&''' ' '(')'L'M'N'O'S'V'W'X'_'a'h'v''''''()....////0;0>0@0A0000001-11111122 2D2`2|22222223w3{33334MN¤ŤƤǤ.78=>?@BCEF@P $0EISTghlpstuv_a $ "4PO`ctvz{~1WY`a   !;@V`np-0K   : < N P U X q       ) * 1 2 4 5 7 8 : < = > C G I K N Y ] ^ _ f u       ) * 1 2 4 6 : < D G I K N V X \ ^ _ b f q       ) * 4 5 : > E F I J N U W ` b f p       ) * : > D F I J N W X ` b f p ;?\HIkq"#()+,36:@ZZ_GHIJNPWXYZ^` GH[a}w x FHNPXYZ[\]^_~ G H N j q t !;!S!!!!""#|#}##$'$@$K$`$$%%%%&&&r&''' ' '(')'L'M'N'O'S'V'W'X'_'a'h'v''''''()....////0;0>0@0A0000001-11111122 2D2`2|22222223w3{33334MN¤ŤƤǤ.78=>?@BCEF@P $0EISTghlpstuv_a $0K&(N'*UV  :;?@EFGJQRצ  !"4PP`ptvz{~1WY`a   !;@V`-0K   : < N P U X q       ) * 1 2 4 5 7 8 : < = > C G I K N Y ] ^ _ f u       ) * 1 2 4 6 : < D G I K N V X \ ^ _ b f q       ) * 4 5 : > E F I J N U W ` b f p       ) * : > D F I J N W X ` b f p ;?\HIkq"#()+,36:@ZZ_GHIJNPWXYZ^` GH[a}w  7@T`mnqrt x FHNPXYZ[\]^_~ S W X _ d j r t !;!=!L!S!!!#$'$@$K$`$$%&&&&~&&&''' ' '(')'L'M'N'O'S'V'W'X'_'a'''''''''+....////0@0A00011-11111112 2D2Q2|222223w3{33334MNǤ.0k78=>?@BCEF@P $0GISTghlpuv $0K&(N'*UV  :;?@EFGJQRצ  87PX]ptvz{~1WY`a  !;@Y`KMP : < N P U X q       ) * 1 2 4 5 7 8 : < = > C G I K N Y ] ^ _ f u       ) * 1 2 4 5 : < D G I K N V X \ ^ _ b f r       ) * 4 5 : > E F I J N U W ` b f p       ) * : > D F I J N W X ` b f p ;?\HIkq"#()+,36:@ZZ_GHIJNPWXYZ^` GH[a}w  7@T`mnqrt x ,0<@ADnpul FHNPXYZ[\]^_~ U W X _ d j r t !?@BCEF@P $0STghlpuv  '(;<>?NP^47@ $0K  679<=?@'*WUV  :;?@EFGJQRצ  \BPptvz{~1WY`a  !;@_`KMn : < N P U X q } ~       ) * 1 2 4 5 7 8 : < = > C G I K N Y ] ^ _ f u       ) * 1 2 4 5 : < D G I K N V X \ ^ _ b f r       ) * 4 5 : > E F I J N U W ` b f p       ) * : > D F I J N W X ` b f p ;?\HIkq"#()+,36:@ZZ_IJNPWXYZ^`[_}w  7@T`mnqrt x ,0<@ADnpu  FHNPXYZ[\]^_~ d j r t !M!S!!!#$'$@$K$`$&&&''' ' '(')'L'M'N'O'S'V'W'X'_'a'''''''''''+,/,0,_,,,,&-0-f-o-p-------------------........////0@0A00011-1111111112 2D2P223MMǤ,.0kp78=>?@BCEF@P $0STghlpuv  '(;<>?NP^47 $0K  679<=?@         4 8 ; ? H P Y '*FWUV  :;?@EFGJQRצ  pptvz1WY`a  !;@_`KMn : < N P U X q {       ) * 1 2 4 5 7 8 : < = > C G I K N Y ] ^ _ f u       ) * 1 2 4 5 : < D G I K N V X \ ^ _ b f r       ) * 4 5 : > E F I J N U W ` b f p       ) * : > D F I J N W X ` b f p ;?\HIkq"#()+,36:@ZZ_IJNPWXYZ^`[_}w  7@T`mnqrt x ,0<@ADnpu LP} FHNPXYZ[\]^_~ d j r t !O!S!!!#$'$@$K$`$&&&''' ' '(')'L'M'N'O'S'V'W'X'_'a'''''''''''+ +$+,/,0,_,`,m,t,x,,,,&-0-f-o-p-------------------........////0@0A00011-1111111112 2D2P223MMǤ ",@x.0kp78=>?@BCEF@P $0STghlpuv  '(;<>?NP^47 $0K  679<=?@             4 8 ; ? H P Y  o#$c$p$t$'*FW`rUV  :;?@EFGJQRצ  xz$1WY`a !_`KM : < N P U X s {       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f v       ) * 1 2 4 5 : < E G I K N V X \ ^ _ d f r       ) * 4 5 : = E F I J N U W X Z ` d f p x       ) * : = E F I J N W X ` d f v y ;?\HImqZ_IJNPWXYZ^`[_}w  7@T`mnqrt x ,0<@ADnpu LP}8;JM FHNPXYZ[\]^_~ e j r t !P!S!!!#$'$@$K$`$&&&&&''' ' '(')'L'M'N'O'S'V'W'X'_'a'''''''''''M+P+U+,/,0,_,`,p,q,~,,,,&-0-f-o-p--------------------1.....////0@0A00011.1111111112 2D2P223MMğǤ,@`bt|,@xŨΨڨT_`7@NPZ\`.0kp78=>?@BCEF@P '0STghlpuv  '(;<>?NP^47 $0K  679<=?@   : ? @          4 8 ; ? H P Y  o#$c$p$t$')FW`rUV  :;?@EFGJQR,0צ  xz&1WY`a !_`KM.0? : < O P V X s y       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f v       ) * 1 2 4 5 : < E G I K N V X \ ^ _ d f r       ) * 4 5 : = E F I J N U W X Z ` d f p x       ) * : = E F I J N W X ` d f v y ;?\HImqIJNPWXYZ^`[_}  7@T`mnqrt x ,0<@ADnpu_`}LP}8;JM FHNPXYZ[\]^_~ e j r t !!!#$'$@$K$`$&&&&&&'''' ' '(')'L'M'N'O'S'V'_'a'''''''''''M+P+Z+,/,0,_,`,,,&-0-f-o-p--------------------2.....////0@0A00011.1111111112 223MM̟ǤФ,@`bt|,0:@xŨΨڨT_}Ωϩکީ7@NPZ\|ê۪.0np78=>?@BCEF@P '0STghlpuv  '(;<>?NP^47 $0K  679<=?VW`   : ? @          4 8 ; ? H P Y `   6 9 V X s x   I ` o#$c$p$t$0/4')FW`rUV  :;?@EFGJQR,0 /12=>?@BCFGJOWX_`yz{}2@Iצ5  xz(1WY`aKM.0?@\^_ x y       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f v       ) * 1 2 4 5 : < E G I K N V X \ ^ _ d f x       ) * 4 5 : = E F I J N U W X Z ` d f p x       ; = E F I J O W X ` d f v y ;?\HImqIJNPWXYZ^`[]}  7@T`mnqrt x ,0<@ADnpu_`}LP}8;JM FHNPXYZ[\]^_~ e j r t !!!#$'$@$K$`$''''''M+P+Z+,/,0,_,`,,,&-0-f-o-q--------------------2.....////0@0A00011.1111111112 223MM̟ǤФ,@t|,0:@xŨΨڨT_}Ωϩکީ7@NPZ\|ê۪  '(/.0np78=>?@BCEF@P '0STghlpuv  '(;<>?NP^47 $0K  679<=?VW`   : ? @          4 8 ; ? H P Y `   6 9 V X s x   I `NRp o#$c$p$t$0/4h9j')FW`rUV  :;?@EFGJQR,0 /0jp;@IPR!067}?@AB>Ph &(,-.045AEPtצ5@  Jxz(1WY`aKM.0?@\^_ x y       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f v       ) * 1 2 4 5 : < E G I K N V X \ ^ _ d f x       ) * 4 5 : = E F I J N U W X Z ` d f p x       ; = E F I J O W X ` d f v y ;?\HImqIJNPWXYZ^`[]}  7@T`mnqrt x ,0<@ADnpu_`}LP}8;JM FHNPXYZ[\]^_~ e j r t !!!#$'$@$K$`$''M+P+Z+,/,0,_,`,,,&-'-(---.-0-h-o-q--------------------<.....////0@0A00011.1111111112 223MM͟ǤФ,@,0:@xŨΨڨT_}Ωϩکީ7@NPZ\|ê۪  '(/np78=>?@BCEF@P '0STghlpuv  '(;<>?NP^47 $0K  679<=?VW`   : ? @              4 8 ; ? H P Y `   6 9 V X s x   I `NRp56D o#$c$p$t$0/4h9joEoPoooo')FW`rUV  :;?@EFGJQR !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~,0 /0lp;@IPR!067}?@AB>@DPhAEPtצ5@  Jxz(1WY`aKM.0?@\^_ x y       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f v       ) * 1 2 4 5 : < E G I K N V X \ ^ _ d f x       ) * 4 5 : = E F I J N U W X Z ` d f p x       ; = E F I J O W X ` d f v y ;?\HImqIJNPWXYZ^`[]}  7@T`mnqrt x ,0<@ADnpu_`}LP}8;JM FHNPXYZ[\]^_~ e j r t !!!#$'$@$K$`$''M+P+Z+,/,0,_,`,,,&-'-(---.-0-h-o-q--------------------<.....////0@0A00011.1111111112 223MM͟ǤФ,@,0:@xŨΨڨT_}Ωϩکީ7@NPZ\|ê۪  '(/np78=>?@BCEF@P '0STghlpuv  '(;<>?NP^47 $0K  679<=?VW`   : ? @              4 8 ; ? H P Y `   6 9 V X s x   I `NRp56D o#$c$p$t$0/4h9joEoPoooo')FW`rUV  :;?@EFGJQR !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~,0 /0lp;@IPR!067}?@AB>@DPhAEPtצ5@  Jxz(1WY`aKM.0?@\^_ x y       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f v       ) * 1 2 4 5 : < E G I K N V X \ ^ _ d f x       ) * 4 5 : = E F I J N U W X Z ` d f p x       ; = E F I J O W X ` d f v y ;?\HImqIJNPWXYZ^`[]}  7@T`mnqrt x ,0<@ADnpu_`}LP}8;JM FHNPXYZ[\]^_~ e f r t !!!#$'$@$K$`$''M+P+Z+,/,0,_,`,,,&-'-(---.-0-h-o-q--------------------<.....////0@0A00011.1111111112 223MM͟ǤФ,@,0:@xŨΨڨT_}Ωϩکީ7@NPZ\|ê۪  '(/np78=>?@BCEF@P '0STghlpuv  '(;<>?NP^47 $0K  679<=?VW`   : ? @              4 8 ; ? H P Y `   6 9 V X s x   I `NRp56D o#$c$p$t$0/4h9joEoPoooo')FW`rUV  :;?@EFGJQR !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~,0 /0lp;@IPR!067}?@AB>@DPhAEPtצ5@  xz01WY`aKM.0?@\^_       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f v       ) * 1 2 4 5 : < E G I K N V X \ ^ _ d f x      ) * : = E F I J N U W X Z ` d f p x       ; = E F I J O W X ` d f v y ;?\HImqIJNPWXYZ^`[]}  7@T`mnqrt x ,0<@ADnpu_`}LP}8;JM FHNPXYZ[\]^_~ e f r t !!!#$'$@$K$`$t+v++++++++,/,0,_,`,,,&-'-(---.-0-h-o-q--------------------C.....////0@0A00011.1111111112 223MM͟ǤФ,@,0:@xŨΨڨT_}Ωϩکީ7@NPZ\ê۪  '(/0`dfnp78=>?@BCEF@P .0STghlpuv  '(;<>?NP^47$0KP{(0dop7@V`h  679<=?VW   : ? @              4 8 ; ? H P Y `       6 9 V X s x       I `NRp56DPw> )*1245:<EGIKNWX]dfmpuEPZ #$o$p$u$0/4h9j@j_j`jjjnjpjjjjjkFkPkZk[kbkckxk}kkoEoPooookp}')FW`rUV  :;?@EFGJQR !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~,0 /0lp;@IPR-0~KPz{CEt HPZ`צ5@  xz01WY`aKM.0?@\^_       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f v       ) * 1 2 4 5 : < E G I K N V X \ ^ _ d f x      ) * : = E F I J N U W X [ ` d f p x       ; = E F I J O W X _ d f v y ;?\HImqIJNPWXYZ^`[]}  7@T`mnqrt x ,0<@ADnpu_`}LP}8;JM FHNPXYZ[\]^_~ e f r t !!!#$'$@$K$`$t+v++++++++++,/,0,_,`,,,&-'-(---.-0-h-o-q--------------------C.....////0@0A00011.1111111112 223MM֟ǤФ,@,0:@xŨΨڨT_}Ωϩکީ7@NPZ\ê۪  '(/0fpnp78=>?@BCEF@P STghlpuv  '(;<>?NP^47$0KP{(0dop7@V`h  679<=?VW  : ? @              4 8 ; ? H P Y `       6 9 V X s x       I       `NRp56DPw> )*1245:<EGIKNPQWX]dfmpuEPZ,0@ #$o$p$u$$D%0/4DGFh9j@j_j`jjjnjpjjjjjkFkPkZk[kbkckxk}kkoEoPooookp}')FW`rUV  :;?@EFGJQR !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~,0 /0lp;@IPRz{t HPZ`צ5@   xz01WY`aKM.0?@\^_       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f v       ) * 1 2 4 5 : < E G I K N V X \ ^ _ d f x      ) * : = E F I J N U W X [ ` d f p x       ; = E F I J P T d f ;?\HImqIJNPWXYZ^`[]}  7@T`mnqrt x ,0<@ADnpu_`}LP}8;JM FHNPXYZ[\]^_~ e f r t !!!#$'$@$K$`$t+v++++++++++,/,0,_,`,,,&-'-(---.-0-h-o-q--------------------E.....////0@0A00011.1111111112 223MM֟ǤФ,@,0:@xƨΨڨT_}Ωϩکީ7@NPZ\ê۪  '(/0fpnp78=>?@BCEF@P STghlpuv  '(;<>?NP^47$0KP{(0dop7@V`h  679<=?VW  : ? @              4 8 ; ? H P Y `       6 9 V X s x       I       `NRp56DPw? )*1245:<EGIKNPQWX]dfmpuZ[\]^EPZ`m,0@  78FPmp #$o$p$u$$D%0/4DGFh9j@j_j`jjjnjpjjjjjkFkPkZk[kbkckxk}kkoEoPoooooopkp}')FW`rUV  :;?@EFGJQR"#%&+KPZ^` !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~,0 /0lp<@IPRt HPZ` (013?@LP_צ5@   xz01WYKM.0?@\^_`kp       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f w       ) * 1 2 4 5 : < E G I K N U X \ ^ _ d f x    ) * : < E F I J N U W X [ ] ^ ` d f p w    E F I J P T d f ;?\HImqIJNPWXYZ^`[]}7@T`mnqrt y ,0<@ADnpu_`}MP8;JM FHNPXYZ[\]^_~ e f r t !!!'$@$K$`$t+v+++,,&-'-(---.-0-h-o-q--------------------^.....////0@0A00011011111112 2ǤФ,@˧Чҧӧԧէڧ-0:@xƨΨڨT_}Ωϩکީ7@NPZ\ê۪  '(/0lpnp78=>?@BCEF STghlpuv  '(;<>?NP^47$-KP{(0do{|7@V`h  679<=?VW  : ? @              6 8 ; ? I P Y `       6 9 V X s x       I      ( 0 : `(0ZpNRv56HPwB )*1245:;EGIKNPQWX]dfmpu\]bEPZ`m,0G<   679;GPZHP   78FPmp  7:;<>?HPZ`fgij;>Z#$o$p$u$$D%//0V4DGFh9j@j_j`jjjnjjjjjjjjkFkPkZk[kbkckxk}kk@nnoKoOoooooooop֌ #23PSUVdhpkp}.0GP')FW`yUV  :;?@EFGJQR%+"#%&+0n-0>@JNPLPZ^`q> !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~,0<@IPR`fw{ HPZ`T`np}:@ KP#  P$-0`Ωϩکީ 9;]`"$%&'(qtuvsup()*,noyPW-.z| /1Y[*+/0%& =@uwOP AB`b$%;=be./,/WYnprs|}      ! # $       GH CD NO DEjk !fgabhiij`adeefbcghjkcd                                                      EFeg!"A !"@AKnpqtu0M`kp                       ! # $  FGgj"#&' BCop)*13[\kmqr'( 57()35\]mnpq}#$+, 79,-)*$%HIvxxz !&'IKxywxMN  @A     !&'()*/3@AHIKnpx()*+,-/NY\kmqrsuxzAFHIJTUV`abfhi y@r                         " # $ 034EQTptvD rs      "&'()*/3HIqtux()*+,-/0MNY\kmqrsuxz@AFHIJTUVYghikp                              " # 34TUtvpK`pq0K$%().Y\ : ; < = A I M N Q X b d   < = A C G I K N Q R p r u v   < = ? @ A E M N U W b d    < = > A F I J N U W b d  ; = A E M N b d 124;GO56789:q-1289;=?XZ^aqu]`24RTrt  #')239<VWX_`abcems}456;<=BCkt,468   * / ` e j p ,,---.*0.000ost~ %',-Ĩƨ&.GR)/1357CDLM|}ª 0v{      8 ; ? @   $ ( FQ8Gpqsu',-5st/24568>?AB;=@Afmpu8@BEFG^_3;=>?A "&',/89;;=>?CD 39;?GHQWY\078>?@17:;<>?FGH6;@ABC04A4G4V4jj0k7kOoPooooo.0GgjsBE7;muv"#%&+07DL p !"`ntuKM$%().@\`abfgkp : ; < = A I M N Q X b d   < = A C G I K N Q R p r u v   < = ? @ A E M N U W b d    < = > A F I J N U W b d  ; = A E M N b d 124;GO56789:q-1289;=?XZ^aqu]`24RTrt  y #')239<VWX_`abcems}456;<=BCkt,468  * / ` e j p ,,---.*0.000ost~ %',-@sĨƨ&.GR)/1357CDLM|}ª 0v{      8 ; ? @                  ( 0EFUp8Gpqsu',-5st/24568>?AB;=@Afmpu8@BEFG^_3;=>?A "&',/89;;=>?CD 39;?GHQWY\078>?@17:;<>?FGH6;@ABC04A4G4V4jj0k7kOoPooooo.0GgjsBE7;muv"#%&+07L 0)00000 000607080<0>0000112223X3EGa #UVdh011//12;>Z         6 8 ; ? I P Y    0:Boo֌+Q S d f 06 f p 0:'A[a{puvxz~01WYZ` Knpq0M$%()@Y`kp : = > P Q X b q     ) * 1 2 4 5 7 8 : Y ] ^ _ r u     ) * 1 2 4 5 : = > \ ^ _ b q r     ) * : = > X [ ] ^ ` b     ; = > N O T W _ b z 124@G@HIm+?@PVZ^abegnquIJNPWXYZ^`[mo2@R`mnq yPnpu U4EM$MPZ~ FHNPXYZ[\]^_~q r  !!!! !!!!!!$!%!&!'!(!)!*!.!/!:!?@BCEF>Ppuv!;A[f  '(;<>?NP^ -ABJPv(0dp{|7@V`h  679<=?V`w   :            6 ` }        6 @ V ` s    I      $ '(0Fp8qsuv'DEGHPsvw,?A )*1245:=>PQ]b5GK_b0DE@G,   0?@AB 3:;PQ\  /@Ar  1FG`fgij4 #$D%//004A4G4DGFh9j@j_jpjjjjk0k@kDkckxk}kk@nnoKoPoQooooooop֌ #23PSUVdhpkp}UV  :;?@EFGJQR56OPop%+0n-7>NODKL !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~:@ KP#  _`}P`,, 0p_A[a{cpQ S &,]bfkxy/ 0 q r  *!,!2!3!N!O!`!!`,,"˧Чҧӧԧէڧ./0[\efj!;A[%+  " ; < t u  !!!!!!#!+!,!T!V![!\!^!_!`!l!p!z!!!!!!!!!""""" " " """"""""""!"#"$"%"&"'"-"."/"4"8"<">"H"I"L"M"R"S"`"b"d"h"j"l"n"p"""""""""""""##`$$%L%P%u%%%%%%%%%%%%%%%%%%%%%%%%%%%&& & &&&&&@&A&B&C&`&b&c&f&g&h&i&k&l&n&o&p&&&&&&&&&&&&&&&&&&&&&&&W'X'v''U+Z+H2P2 .0jpM#$&'*+<?@[^{~pxz~01WY  Kmpq0M$%()0?@Y^_`kp : = > P Q X b p     ) * 1 2 4 5 7 8 : Y ] ^ _ r u v w     ) * 1 2 4 5 : = > \ ^ _ b p x     ) * : = > X [ ] ^ ` b x     ; = > N P T W X b p y z OP *46789@HImLPIJNPWXYZ^`[`ab}2@R`mnq   y@A 4EM\]akt}$MPZ~ FHNPXYZ[\]^_~  " $ 8 9 > D J V \ ] a e p r u } !!!!! ! !!!!!!!#!+!,!T!V![!\!^!_!`!l!p!z!!!!!!!!!""""" " " """"""""""!"#"$"%"&"'"-"."/"4"8"<">"H"I"L"M"R"S"`"b"d"h"j"l"n"p"""""""""""""""# #####)#+###'$@$K$$%L%P%u%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&& & &&&&&& &9&<&@&A&B&C&`&b&c&f&g&k&l&n&o&p&&&&&&&&&&&&'''W'X'['a'b'e'h''''''))))))U+Z+t+v+++,,,,,-&-'-(---.-0-h-o-p-------------------..... ./.0.2.3.5.:.?.@.K.L.M.N.P.S.MNФ  *,@ost~˧Чҧӧԧէڧ #(,089:@t &0G_`ǩʩΩϩЩީ)@CDL\]  '(/0lp)*P>@puv  '(;<>?NP^47$-KPv(0do{|7@V`h  679<=?VX  : ? @            6 @ I X Y `       6 @ V X s x       I      $ `(0FQZp8INRfqsuv'DEGHPstuvw,:;=>?A )*1245:=>PQ]b5GKOP]^_b0CE,;<   0?@AB 3:;@AFGPQ\  /@AZmr  1FG`fgij4 #$o$$D%//0X2^22222y3|304A4G4DEEGFh9j@j_jpjjjjk0k:kDkEkFk[kbkckxk}kk@nnnnoKoPoQooo֌kp}P')ejmBEFW`yUV  :;?@EFGJQR7;muv%+0n-7>NPDKLq> !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~.0jm%2JPv|t HPZ` T  :.<. |}d f Z\  45JLab57Z\]a};@~       ' ( V W X \ ] ` ,,,-p-q-......*...0.2.3.5.<.?.@.B.C.K.L.M.N.P.].^.00 ΨШ.0ǩʩ]`WX  P X   9 @ GI@D8:;=KOZ\AC<?DGAEAFCE p$u$njpjjj7k:kDkEknn3w x   tvuv`m?@EF pq ( * ;A0B0C0D0E0F0G0H0I0J0c0d0000000000000000000000000000000000012gq23PSUVdh}~;<=>F G ~  # # # #*#+#i'j'k'l'm'n'o'p'q'r's't'u'v'''''''''''''))))))))))))))))))))))))))))#.$.%.&.'.(.).*.V.W.X.Y.Z.[.\.].00 0 0 0 0 000000000000000 0>?6789:;<=>?@ABCDEHIPQRSZ[\]^_ =>]^`bce[2^2222222z3|38494=4>4?4@4EEX  OP\cpK`pq0K$%().Y\ : = > P Q X b d   < = > C G I K N Q R p r u v   < = > E G I K N U X b d  < = > E F I J N U W b d  ; = > E F I J N W X b d 56789:>@q]`25RTrt  ,0<4Ekt$8   * / f p ,,---.*000506000ost~ #(,-ƨ&.GT)7CDLN 0v{      8 ; ? @   $ ( FQ8Gpqsu'5EGst,8>?AB;=>EGIKNWXbdfmpu5G^_0A,;0679;?@ABD 3:;?GHQ\/78@17:;<>?FGH4;>C@4A4G4V4jj0k7kOoPoQoooooo.0GejmBE7;muv"#%&+07DK )*]^ 3!"?@   DFb'd',,,,../.S.U.vxVX qr!OP\c       / 0 047494<4oo89TUpqĬŬ45PQlmܭݭ01LMhiخٮ,-HIdeԯկ ()DE`a|}аѰ $%@A\]xy̱ͱ !<=XYtuȲɲ89TUpqijų45PQlmܴݴ01LMhiصٵ,-HIdeԶն ()DE`a|}зѷ $%@A\]xy̸͸ !<=XYtuȹɹ89TUpqĺź45PQlmܻݻ01LMhiؼټ,-HIdeԽս ()DE`a|}оѾ $%@A\]xy̿Ϳ !<=XYtu89TUpq45PQlm01LMhi,-HIde ()DE`a|} $%@A\]xy !<=XYtu89TUpq45PQlm01LMhi,-HIde ()DE`a|} $%@A\]xy !<=XYtu89TUpq45PQlm01LMhi,-HIde ()DE`a|} $%@A\]xy !<=XYtu89TUpq45PQlm89TUpqĬŬ45PQlmܭݭ01LMhiخٮ,-HIdeԯկ ()DE`a|}аѰ $%@A\]xy̱ͱ !<=XYtuȲɲ89TUpqijų45PQlmܴݴ01LMhiصٵ,-HIdeԶն ()DE`a|}зѷ $%@A\]xy̸͸ !<=XYtuȹɹ89TUpqĺź45PQlmܻݻ01LMhiؼټ,-HIdeԽս ()DE`a|}оѾ $%@A\]xy̿Ϳ !<=XYtu89TUpq45PQlm01LMhi,-HIde ()DE`a|} $%@A\]xy !<=XYtu89TUpq45PQlm01LMhi,-HIde ()DE`a|} $%@A\]xy !<=XYtu89TUpq45PQlm01LMhi,-HIde ()DE`a|} $%@A\]xy !<=XYtu89TUpq45PQlm)*78=>?@BCEFP-.Q####&&&&&&&&& &9&<&h&i&&&&&&&&&&&&&&&&&&&&&&&&&&'' 'd'e'....////000000 0*0005060;0=0@0B0C0D0E0F0G0H0I0J0c0d0000000000000000000000000000000000011011111122 2H2P2MNǤ05EGIPQRXY_ghikl  ;<=>[\]^_fgqEPp #p mpBDFQfy|}%2Jtvz{EHKt HPZ`  &'0:<?wxT $ ' ""  ,-./:<~ D E  #< > G J 0000;0=000000000TVefooy|0:`jkmf p f p f p f p f p PZ *@JFPPZ@JPZ *Шڨ ЩکPZ0 : fp6@PZPZ0:PZPZPZPZ`jjjjjPkZk@JPZ()[\{|:;<=    E F } ~ # # # #)#*#h'i'j'k'l'm'n'o'p'q'r's't'u'''''''''''''))))))))))))))))))))))))))))..".#.$.%.&.'.(.).B.C.U.V.W.X.Y.Z.[.\.0 0 0 0 0 000000000000000?@56789:;<=>?@ABCDGHYZ[\]^ ;<[\_`bcX2[22222y3z37484<4=4>4?4EE^`3%&  jk y z 0 8 W X !! ! !89jk3$%+,\] ?@ !!""ij"#'(     9 ; ['a'.... .".vyG;@O@PPnpu _`}`ê۪,:<?G !/0` a 0xz01WYKM.0?@\^_`kp       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f w       ) * 1 2 4 5 : < E G I K N U X \ ^ _ d f x    ) * : < E F I J N U W X [ ] ^ ` d f p w    E F I J P T d f ;?\HImqIJNPWXYZ^`[]}7@T`mnqrt y ,0<@ADnpu_`}MP8;JM FHNPXYZ[\]^_~ e f r t !!!'$@$K$`$t+v+++,,&-'-(---.-0-h-o-q--------------------^.....////0@0A00011011111112 2ǤФ,@˧Чҧӧԧէڧ-0:@xƨΨڨT_}Ωϩکީ7@NPZ\ê۪  '(/0lp78=>?@BCEF STghlpuv  '(;<>?NP^47$-KP{(0do{|7@V`h  679<=?VW  : ? @              6 8 ; ? I P Y `       6 9 V X s x       I      ( 0 : `(0ZpNRv56HPwB )*1245:;EGIKNPQWX]dfmpu\]bEPZ`m,0G<   679;GPZHP   78FPmp  7:;<>?HPZ`fgij;>Z#$o$p$u$$D%//0V4DGFh9j@j_j`jjjnjjjjjjjjkFkPkZk[kbkckxk}kk@nnoKoOoooooooop֌ #23PSUVdhpkp}.0GP')FW`yUV  :;?@EFGJQR%+"#%&+0n-0>@JNPLPZ^`q> !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~    8;JMP!P! e f  ,0<@ADP 47@V`h  '(;<>?NP^47@Фtuz{YZ@A$%()q r FGCDx~,kxyq r  |,~,o-p-/.0.001060;0<00000  pqϩЩpqݪު\`ijpq@kDkoooooo0n7>KL @AKnpq0M@Y`kp : = > P Q X b r     ) * 1 2 4 5 7 8 : Y ] ^ _ r u     ) * 1 2 4 5 : = > \ ^ _ b q r     ) * : = > X [ ] ^ ` b     ; = > N O T W _ b z 124@F@HIm+?@PVZ^abegnquIJNPWXYZ^`[mo2@R`mnq CDyPnpu U4EM$MPZx5!9!0-h-------------------00<0=0A0000000110111111124MNФ  *,no #@t &0G`})@CDL`pqwz{~ªê۪ݪ  '(/np)*78=>?@BCEF>Ppuvfpq  '(;<>?NP^ -ABJPvP(0d7@V`h  679<=?V`w   :            6 ` }        6 @ V ` s    I  $ '(0Fp8qsuv'DEGHPsvw,?A )*1245:=>PQ]b5GK_b0DE@G,   0?@AB 3:;PQ\  /@Ar  1FG`fgij4 #$D%//004A4G4DGFh9j@j_jpjjjjk0kckxk}kkoKoPoQop֌ #23PSUVdhpkp}  -NO !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~:@ KP#@E%a{      !"#$%&'()*+,-./012345679:;<=>?@ABCDEFGHJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxz{|}~      !"#$%&'()*+,-./0123:<=?ABCGHIJKLMNOqrstwx{~0`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0`,kxy      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ (08@FPX`hp~ ! !!!!!/!0!4!5!9!:!!F!J!N!O!!!0,`,a,b,e,g,h,i,j,k,l,m,q,r,s,u,v,|,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-&-'-(---.-ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn#$%&'()*+,-./23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqyz{|}§çħȧɧʧ˧ѧҧӧԧէ֧קا٧ڧ0[`ipA[(P  `nn4NUVh8Rl"<Vp6OPVp  %+"D : ? @ mpK`pq0K$%().Y\ : = > P Q X b d   < = > C G I K N Q R p r u v   < = > E G I K N U X b d  < = > E F I J N U W b d  ; = > E F I J N W X b d 124;GO56789:>@q+?VZ^abegnqu]`25RTrt  ,0<U_`}4Ekt$8 ,,---.*00000ost~ #(,-ƨ&.GT)7CDLN{~ª 0v{      8 ; ? @   $ ( FQ8Gpqsu'5EGst,8>?AB;=>EGIKNWXbdfmpu5G^_0A,,;0679;?@ABD 3:;?GHQ\/78@17:;<>?FGH4;>C@4A4G4V4jj0k7kOoPoQoooooooo.0Gejms{BE7;muv"#%&+07DKd p 0:Pw0@A@\^_@A    p+,<?^_|}~   2 5 @ A D E R S a e z  !!!! !!!!!!$!%!(!*!,!.!/!2!3!9!?\]^_UV  :;?@EFGJQR !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~"#m  ; < > A I M N P   > A   > ? @ A G I K M W X   A E   > A F I J M W X >@+-1289;=VXbegn45#'),0239UVWXabcems56;<=BCE$,46.000#%'(ĨRT/135MN{|}~,-EG,/2456>@AEGIKNWXbd58@BEF03;=>? "&',/890679=>@ABC9:WY/0>?46>@ABQooooegms  ps@nn        oKoOoooo+,'')*&'#$Q S d f    E F I J P T d f 03pK`pq0K$%().Y\ : ; < = A I M N Q X b d   < = A C G I K N Q R p r u v   < = ? @ A E M N U W b d    < = > A F I J N U W b d  ; = A E M N b d 124;GO56789:q-1289;=?XZ^aqu]`24RTrt  #')239<VWX_`abcems}456;<=BCkt,468 ,,---.*0.000opt~ %',-Ĩƨ&.GR)/1357CDLM|}ª 0v{      8 ; ? @   $ ( FQ8Gpqsu',-5st/24568>?AB;=@Afmpu8@BEFG^_3;=>?A "&',/89;;=>?CD 39;?GHQWY\078>?@17:;<>?FGH6;@ABC@4A4G4V4jj0k7kOoPooooo.0Ggj{BE7;muv"#%&+07DK0:EPZ  y/ 0 `m`@j_j`jjjnjpj f p ` ./`0:`jf p f p f p r x f p x  X _ f y PZ 4@Ji}FPPZ@JPZp q t z P!!!!`$$$%v'',,00!0*080;011 2*2H2P2Q2`22222 *06Шڨ ЩکPZ4@y $ABJKX`y         @ I }      X ` x      0 : `'QURp6@PZPZ0<PZPmPZPZ$o$`jjjjjPkZk[kbknn`y@JPZq./> d f 06  h//@      P  @ `PPP```P%/`4DFhk@nnoooPP`pP #\]bU #)-/0289BCEFSV< = > ? V X V W > ? W X ./av5600'(>?WX01 #)-/0289@Ftu~SV< = X ` 3 4 6 7 Y \ ^ _ > ? V X \ ^ V W > ? W X CDMNRSWX\]ijstuwxy./av56qrstuvwxyz{|}~  &!'!*!,!)#+#**00 !"#%'*np *78=>?@BCEFO'(>?WX01^e&(1489?CILRTfh &4@BCEtu~ 9:PRSTWX\_vx"') * 1 2 4 5 X ` 3 4 6 7 Y \ ^ _ H I K M \ ^ H I J M CDMNRSWX\]ijstuwxy&'     ;<=>@BCD FHNPXYZ[\]^_~  &!'!*!,!!!!!!!"" " " " "$"%"&"'"A"B"D"E"G"H"I"J"`"a"b"c"m"r"t"v"x"z""""""""""""")#+#**L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0e0f0g0h0i0j0p0r0s0u0v0x0y0{0|0~000000000000000000000000000000000000000000000000000 !"#%'*np *78=>?@BCEFO.0KM89^e24?AIJ@BCEtuz{~uyX ` 3 4 6 7 Y \ ^ _ \ ^ 34  CDMNRSWX\]ijstuz,/0;<NOkxyqrstuvwxyz{|}~     $ ' / 0 3 5 6 8 < = > ? G J W X _ ` p r t !!!! !!!!!! !#!$!%!&!'!(!)!*!.!/!2!3!:!;!A!E!J!P!!!!,"."/"1")#+#`$$ * *t*w***|,~,o-p-....//00607080;00000011111122 2H2P2224pq\`ij !"#%'*np78=>?@BCEF>P0EGSTghlpstuv^eUV  :;?@EFGJQR0n !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~ /0Pjm<@IPRK24?AIJ #)-/0289@Ftuz{~SVuy< = X ` 3 4 6 7 Y \ ^ _ > ? V X \ ^ V W > ? W X 34  CDMNRSWX\]ijstuz./av56,/0;<NOkxyqrstuvwxyz{|}~     $ ' / 0 3 5 6 8 < = > ? G J W X _ ` p r t !!!! !!!!!! !#!$!%!&!'!(!)!*!.!/!2!3!:!;!A!E!J!P!!!!,"."/"1")#+#`$$ * *t*w***|,~,o-p-....//00607080;00000011111122 2H2P2224pq\`ij !"#%'*np78=>?@BCEF>P0EGSTghlpstuv'(>?WX01^eUV  :;?@EFGJQR0n !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~ /0Pjm<@IPR&(1289ACJLRTfh &4@BCEtuz{~ 9:PRSTWX\_vx"'uy) * 1 2 4 5 X ` 3 4 6 7 Y \ ^ _ H I K M \ ^ H I J M 34  CDMNRSWX\]ijstuz&'     ;<=>@BCD,/0;<NOkxy FHNPXYZ[\]^_~     $ ' / 0 3 5 6 8 < = > ? G J W X _ ` p r t !!!! !!!!!! !#!$!%!&!'!(!)!*!.!/!2!3!:!;!A!E!J!P!!!!!!!!!!"" " " " "$"%"&"'","."/"1"A"B"D"E"G"H"I"J"`"a"b"c"m"r"t"v"x"z""""""""""""")#+#`$$ * *t*w***|,~,o-p-....//00607080;0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0e0f0g0h0i0j0p0r0s0u0v0x0y0{0|0~000000000000000000000000000000000000000000000000000011111122 2H2P2224pq\`ij !"#%'*np78=>?@BCEF>P0EGSTghlpstuv.0KM89^eUV  :;?@EFGJQR0n !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~ /0Pjm<@IPR    >@`!!!!00!0*080;0@uABJK$o$ r x x  X _ p y *4i}p q t z P!`!!!`$$$%v'',,11 2*2H2P2Q2`22222064uy $X`y         @ I }      X ` x      `'QURf:<Zm[kbknn`yq./> oop)irp q t z `$i$t$}$$$$$$$$%v''''''@ D `iR[ 1 r x x  X _ p y *4r}P!!!!i$t$}$$$$$$$$'''''',,00!0*080;011 2*2H2P2Q2`222224444*8+8M;N;NNNNNN N N]N^NNNNNNNNNNNNN OOpOqOQQFQGQiQjQkQlQmQnQASBSCSFSLSMSSSVVXXXXz^{^^_ ____bbLcMcggooss~vv,-01!"FGLMxy06klstxy4@y $ABJKX`y         D I }      X ` x      i'QU[f:<Zm$o$[kbknn`yq./>  de!"* +             ##));;mbnbP!!01`af g f g f g f g x y f g PQ !@AFGPQ@APQp q !!$$$%00 !ШѨЩѩPQ0 1 fg67PQPQ01PQPQPQPQ`jajjjPkQknn@APQ  12abg h g h g h g h y z | } g h QR!"ABijGHQRABQR _!a!p!q!`$a$t$u$$$$$v'w'''''!0"011 2!222NNXXXXz^{^ _ _!"ѨҨѩҩQRBCX[ !XYyz    @ A } ~     X Y x y     1 2 `aQRRSgh78QRQR12QRQRZ[QRQR$$$$,$-$4$5$O$P$X$Y$ajbjjjQkRknnnn`arswxABQRqr* + w p q rsi!j!y!z!i$j$}$~$$$$$''''''8090)2*2H2I222NNASBSbbstIJPQWX`e"#[\~    D E     \ ] | }     ij"#RS[\:;cd[k\knnijz{  78G q r {|m!n!}!~!pOqO~vvLMKLRSjk]^     F G   ^ _ ~      rs%&TUdelm\k]k+ r s o!p!!!NNCSDS!""#MNTUqr^_  G H _ `     ef|}!!NN,-+,UV_`  ]k^k%&;< !!  ^k_kNNQQ_k`k`kakFQGQakbkj!k!z!{!j$k$~$$$$$$nn  /0k!l!{!|!k$l$$$$$$$nnl$m$$$$$$$nn01m$n$$$$$$$nnn$o$$$$$$$nn12 o$p$$$$$$$nnp$q$$$$$$$nn23q$r$$$$$$$nnr$s$$$$$$$nn\ ] R!S!    u v v w 34X Y #s t t u *+,,12ABuw    H I {|&'d$e$<=[ \  S!T!  }~Z$[$]$^$e$f$ r s s t 01@A  |}`$a$b$d$Y Z ^ _ U!V! Y!Z!  a$b$=>P!Q! v w w x [!\!45_$`$Q!R!23bch i h i h i h i z { } ~ h i RS"#BCjkHIRSBCRS a!b!q!r!a$b$u$v$$$$$w'x'''''"0#011!2"22244NNiQjQ ____01"#ҨӨҩөRSxy [_YZz{    A B Y Z y z   2 3 abSThi89RSRS23RSRS[\RSRS$$$$$ $#$$$-$.$5$6$J$K$P$Q$V$W$Y$Z$bjcjjjRkSknnnnabstBCRSrs/0##Ists$t$$$$$$$90:0I2J2DSES^_\]    E F     ] ^ } ~   jk#$ST\];<dejk{|     st #$  :; ,-  &'  Q2R22$3$R2S2S2T2T2U2U2V2V2W2W2X2X2Y2Y2Z2T!U!wx  ~[$\$^$_$f$g$V!W!34cdi j i j i j i j { | ~  i j ST#$CDklIJSTCDST b!c!r!s!b$c$v$w$$$$$x'y'''''#0$011"2#222 N NNNSS__#$ӨԨөԩSTkl  Z[{|    B C Z [ z {   3 4 bc TUij9:STST34STST\]STST$$$ $$$ $!$$$&$.$0$6$8$:$<$K$L$Q$R$W$X$cjdjjjSkTknnnnbctuCDSTst01    ));;'tu:0;0J2K2Z2[2ESFSef  kl$%]^efkl|}    kl  tu $%   -.  '(  [2\2\2]2]2^2^2_2_2`222222222  w x x y 56+,] ^  t u u v 23xy  W!X!\!]!Z [ 45dej k j k j k j k j k TU$%DElmJKTUDETUt u c!d!s!t!c$d$w$x$$$$$y'z'''''$0%011#2$222NNVV$%ԨըԩթTU  |}  C D [ \ { |   4 5 cd !UVjk:;TUTU45TUTU]^TUTU$$ $ $$$$$!$"$&$'$0$1$8$9$<$@$L$M$R$T$i$j$djejjjTkUknncduvDETUtu12dembnb%uvK2L222LSMS  lm^_fgg$h$lm}~       uv89 %&    ./  ()  2222223$4$222222222222X!Y! 56efk l k l k l k l k l UV%&EFmnKLUVEFUVu v d!e!t!u!d$e$x$y$$$$$z'{'''''%0&0$2%22244*8+8NN OO%&ը֨թ֩UV  CDHIOP_`st!"}~      5 6 de!"VWkl;<UVUV56UVUV^_UVUV$$ $ $$$$$"$#$'$($1$2$9$:$M$N$T$V$j$k$ejfjjjUkVknndevwxyEFUVuv23!"5vwl!m!|!}!!!L2M222DEJKQRfjtu#$  ~    mn_`ghh$i$mn~n!o!~!!EFLMSTlq  vw!!&'FGNOrs   !!!/0GHVW  )*    ,-Z![!  \$]$]!^!67fgl m l m l m l m l m VW&'FGnoLMVWFGVWv w e!f!u!v!!!e$f$y$z$$$$${'|'''''&0'0%2&222mQnQFGxy&'֨ר֩שVW    6 7 efWXlm<=VWVW67VWVW_`VWVW$$ $ $$$$$($)$@$A$N$O$k$l$fjgjjjVkWknnefFGVWvw34  wxM2N2  no`ahino  wx9: '(  !" 01  *+  78ghm n m n m n m n m n WX'(GHopMNWXGHWXw x f!g!v!w!f$g$z${$$$$$|'}''''''0(0&2'222M;N;NNggoo'(רبשةWX   7 8 fgXYmn=>WXWX78WXWX`aWXWX$$ $ $$$$$)$*$A$D$l$m$gjhjjjWkXknnfgGHWXwx45 xyN2O2  opabijop    xy ()  "# 12  +,    -.^!_!89hin o n o n o n o n o XY()HIpqNOXYHIXYx y g!h!w!x!g$h${$|$$$$$}'~'''''(0)0'2(222kQlQLcMc()ب٨ ة٩XY  8 9 ghYZno>?XYXY89XYXYabXYXY$$ $$$$$$*$+$D$F$m$n$hjijjjXkYknnghHIXYxy 56  yzO2P2pqbcjkpq  !  yz )*  #$ 23  ,-  9:ijo p o p o p o p o p YZ)*IJqrOPYZIJYZy z h!i!x!y!h$i$|$}$$$$$~'''''')0*0(2)222]N^N^^ss)*٨ڨ ٩کYZ  9 : hiZ[op?@YZYZ9:YZYZbcYZYZ$$$$$$$$+$,$F$J$n$o$ijjjjjYkZknnhiIJYZyz  67  z{ABqrcdklqr!"JK  z{ *+  $% 34  -.  ./0:`jf p f p f p r x f p x  X _ f y PZ 4@Ji}FPPZ@JPZp q t z P!!!!`$$$%v'',,00!0*080;011 2*2H2P2Q2`222224444*8+8M;N;NNNNNN N N]N^NNNNNNNNNNNNN OOpOqOQQFQGQiQjQkQlQmQnQASBSCSFSLSMSSSVVXXXXz^{^^_ ____bbLcMcggooss~vv,-01!"FGLMxy *06Шڨ ЩکPZklstxy4@y $ABJKX`y         @ I }      X ` x      0 : `'QURp6@PZPZ0<PZPmPZPZ$o$`jjjjjPkZk[kbknn`y@JPZq./> de!"* +             ##));;mbnb34@$`$P I P%Q S d f       ) * 1 2 4 5 : < E G I K N U X \ ^ _ d f x P@A  p!$%+,0:<?A[^_`{|}~~Z`    jn0?^_d f p q v w w x OPZ\:>JP`ino57 DF Za};@~ ( 0 D E R S _ }  # #)#+#h'v''''')))))),,,-p-q-./.0.P.R.^.00000 00010=0>00000 st~txΨШ.0_`Ωީ\`ު>@0STbcdhijl !;>?@[\]^_fopWX  ? @ P Y     9 @   UZGN@Dtv8>KPZ\]^AD`m<?;<DG?G AFprCP p$u$//njpjjj7k@EG _`? A T U 35MP?@'-.  ....:.<.@.A.].^.0000100013XYcd )*]^}~;<=>F G ~  # # # #*#+#i'j'k'l'm'n'o'p'q'r's't'u'v'''''''''''''))))))))))))))))))))))))))))#.$.%.&.'.(.).*.V.W.X.Y.Z.[.\.]. 0 0 0 0 000000000000000 0>?6789:;<=>?@ABCDEHIZ[\]^_ =>]^`acdP{    : ; .... . . ....!.".@x` s x   @A               9 : .... . . . ... .!.w!$%(*+,-.0:<?A\]~Z`    jn0?^_d f p q v w w x OPZ\JP`ino57 DF Za};@~  ( 0 9 ; ? A D G R S T U _ ,,,-p-q-... . . ........ .*./.0.:.<.@.A.B.C.P.R.U.00=0>000 st~txΨШ.0_`Ωީ\`ު01EGIMPSTX_bhijl !<=abdfopWX  ? @ P Y     9 @   UZGN@Dtv8>KPZ\]^AD`m<?;<DG?G AFprCP p$u$//njpjjj7k?@ABCDGHYZ[\]^ ;<[\_`bc)BCEFcS U    ..0Ggj{"#'( 9 ; B.C. 000 0AEbd....//0T_`   @A ( 0 : `$%+,<?^_`a|}~uv    p q  O P y z ?@ 456789mn@Aakt}D E R S z } !!!!! !!!!!!$!%!&!'!(!)!*!.!/!:!0@00011111122*2H2P2Q2`222224MNǤ "(,6:wz[\jl)*@Pbcdgij >?@A\]^_7@ywy  ?@ 9 ; E G }  # #)#+#['a'h'v''''')))))).... .*.B.C.U.].00000 0>@5EGIY_ ;<=>[\]^_abdvyspK`pq0K$%().Y\ : = > P Q X b d   < = > C G I K N Q R p r u v   < = > E G I K N U X b d  < = > E F I J N U W b d  ; = > E F I J N W X b d 124;GO56789:>@q+?VZ^abegnqu]`25RTrt  ,0<U_`}4Ekt$8  ,,---.*00000ost~ #(,-ƨ&.GT)7CDLN{~ª 0v{      8 ; ? @   $ ( FQ8Gpqsu'5EGst,8>?AB;=>EGIKNWXbdfmpu5G^_0A,,;0679;?@ABD 3:;?GHQ\/78@17:;<>?FGH4;>C@4A4G4V4jj0k7kOoPoQoooooooo.0Gejms{BE7;muv"#%&+07DK +   * / ` e f p 04@4s{?tuYZ Knpq0M$%()@Y`kp : = > P Q X b q     ) * 1 2 4 5 7 8 : Y ] ^ _ r u     ) * 1 2 4 5 : = > \ ^ _ b q r     ) * : = > X [ ] ^ ` b     ; = > N O T W _ b z 124@G@HIm+?@PVZ^abegnquIJNPWXYZ^`[mo2@R`mnq yPnpu U4EM$MPZ~5!9!!!!!0-h-o-p-------------------/.0.00!0*0106080=0A0000000110111111124MNФ  *,no  #@t &0G`}ϩЩ)@CDL`wz{~ªê۪ު  '(/np)*78=>?@BCEF>Ppuvf  '(;<>?NP^@u -KPvP(0d7@V`h  679<=?V`w   :            6 ` }        6 @ V ` s    I  $ '(0Fp8qsuv'DEGHPsvw,?A )*1245:=>PQ]b5GK_b0DE@G,   0?@AB 3:;PQ\  /@Ar  1FG`fgij4 #$o$$D%//004A4G4DGFh9j@j_jpjjjjk0k@kDkckxk}kkoKoPoQooooooop֌ #23PSUVdhpkp}  -7>NOKL !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~:@ KP#;a{      !"#$%&'()*+,-./012345679:;<=>?@ABCDEFGHJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxz{|}~      !"#$%&'()*+,-./0123:<=?ABCGHIJKLMNOqrstwxz~0`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0`      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ (08@FPX`hp~q r  ! !!!!!/!0!4!5!9!:!!F!J!N!O!p!!!!$$0,`,a,b,e,g,h,i,j,k,l,m,q,r,s,u,v,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-&-'-(---.-ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn#$%&'()*+,-./23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoyz{|}§çħȧɧʧ˧ѧҧӧԧէ֧קا٧ڧ0[\jpA[(P  `nn4NUVh8Rl"<Vp6OPVp  %+0n"D0:`jkmf p f p f p f p f p PZ *@JFPPZ@JPZ *Шڨ ЩکPZ0 : fp6@PZPZ0:PZPZPZPZ`jjjjjPkZk@JPZ',.:;]^    0013PRUVXYcd de( *  ! / 0 _ ` 00!"?@ 789:=?d f JLbcgino57  DFZ\^`};=~< > G J ../.<.=.S.U.00vxΨШ/0ȩʩ]`VX abV X UZGIAD8:;=KMAC<?DEFGBDACCEnjpjjj7k9kDkEknnA[      !"#$%&'()*+,-./012345679:;<=>?@ABCDEFGHJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxz{|}~      !"#$%&'()*+,-./0123:<=?ABCGHIJKLMNOpqrsvw0`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./1W      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~(08@HNYZ[\]^_`hp!!!! !!!!!!!!$!%!&!'!(!)!*!.!0!4!>!@!E!F!`!p!!!$$,0,`,a,b,e,g,h,i,j,k,l,m,q,r,s,u,v,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm"#$%&'()*+,-./23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoyz{|}§çħȧɧʧЧѧ֧קا٧!;(p{|  @n`n4Nh  8:;?@EFGJQl"<Vp5Vo"0JPjp  #'*,/0;?@A\]^a|}~uvxz~01WYZ]^` jkmnKM.789:=?@\`kpp q       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f v       ) * 1 2 4 5 : < E G I K N U X \ ^ _ d f p q r    ) * : < E F I J N U W X [ ] ^ ` d f p    E F I J O T X _ d f p z ;@OPZ *56789HImqLPIJNPWXYZ^`[]`bcgimn7@T`mnqrt   y ,0<Dnpu _`}MP\^`kt}8;=@JM FHNPXYZ[\]^_~     $ % ( 0 9 ; < > E J _ e f p q r } !!!! !!!!!!$!%!&!'!(!)!*!.!/!:!?@BCEF@P 0135EGIPSU_cdpuv  !<=>A\]^_ef  '(;<>?NP^@u -KP{(0dp{|7@V`h  679<=?V`w   :              6 8 ; ? @ V X ` }        6 @ V ` s    I      ( 0 : '(0QUZpIfv56@AHPtvw:;=>B )*1245:;EGIKNPQWX]dfmpuMPZ^bCDEPZ,0:<?@G;   679;EFGPZ?BDGHP  78CPZr  7:;<>?HPZ`fgij;>EPZ #$o$$D%//0V4DGFh9j@j_j`jjjnjjjjjjjjk9k@kEkPkZkckxk}kk@nnnnoKoOoooooooooop֌ #23PSUVdhpkp}.0GejmBEUV  :;?@EFGJQR56OPop7;muv%+"#%&+0n-0>@JNOLPZ !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~0JPjpvy:@ KP# +$%   ?@ 89ijLPZ^`u   @AKVpqPp P>@puv` !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~ 10111 @T56H,,,-//   679<=?@0+,xy-.@.00n  Q U d f  < kp}-&-'-(---.- ,`,"#%&+ `fgij  7:;<>?HPZ )*1245:<EGIKNPQWX]dfmpuIptuxz~&+]bfk FHNPXYZ[\]^_~&!'!ef@F !      ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f w +....//0000!0*080<04MNnpoooo:@ KP#.00011122`22`} 5 A0000 23PSΩЩکީ./0000112223X3fpq #UVdhB OA[a{&,]bfkxyq r  *!,!2!3!N!O!`!!`,,"˧Чҧӧԧէڧ0[\efj!;A[%+  ,0<@ADP7@V`h  '(;<>?NP^Pw@\^_        E F I J P T d f EPZ  y`m `      ) * 1 2 4 5 : < E G I K N U X \ ^ _ d f x pP{@x      ;pKVpqQ U   *0.000 .;<.0Ggj{ ( 0 :  0Z- KMP`k`mnqrtPnpu%      ) * : < E F I J N U W X [ ] ^ ` d f p w  ǤZA[a{tu~   @Ad f ?@57  e f q t  !&!'!*!,!2!3!N!O!`!!!!'$@$K$`$()t+v+++,.^.//00000!00080<0@00000001111 2`22223X34MN"0:./ϩЩ[\jl>@0STghl!;A[fpq47@P')gj{W`yUV  :;?@EFGJQRq>,0<@IPR`fw{ HPZ`T`np} Eik/0IJhiVWXYbc-.q r H!J!|,},"$VX&(Z\*,^`LNhiP Q R  d f 0:d f ?^_`auv00 "[\jl>?@A+,<?|}~ D E R S z } !!@!E!K!L!!!!!!!!!!!!!!!!!!!!# #"#|#}#####%%%%%&o&p&'''''()))))))+0+E+G+M+)*bcdg \]^_56OPopPp0pq p q  O P y z  456789mn@Aakt}!!!!! !!!!!!$!%!&!'!(!)!*!.!/!:!0@011111122*2H2P2Q2`222224MNǤ(,689:wz@P7@ywy  ?@ G J ../.<.=.S.U.00vxΨШ/0ȩʩ]`RSVX abV X UZGIAD8:;=KMAC<?DEFGBDACCEnjpjjj7k9kDkEknn'())p *+..d f -p   @AKVpqKMP`k`p 57`mnqrt` d f 0:@JPnpu  3Q S d f ;=  oop ê۪#Q S d f    ) * : < E F I J N U W X [ ] ^ ` d f p w !",-./:<?@~      0?^_d f Z\  JLaino57 DFZ\]`};@~< > G J ../.<.=.A.B.L.M.N.P.S.U.00 vxΨШ/0ǩʩ]`ߪPSTX  abdeWX  V X   : @   UZGNAD8=KNZ\AC<?DEFGBDADqrCEp$u$njpjjj7k:kDkEknn0-h-o-q--- 57   `j;@\HImq Q S d f 0:pjjjj!4MN !"#%'*:@ KP# A[      !"#$%&'()*+,-./012345679:;<=>?@ABCDEFGHJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxz{|}~      !"#$%&'()*+,-./0123:<=?ABCGHIJKLMNOpqrsvw0`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./1W      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~(08@HNYZ[\]^_`hp!!!! !!!!!!!!$!%!&!'!(!)!*!.!0!4!>!@!E!F!!!,0,`,a,b,e,g,h,i,j,k,l,m,q,r,s,u,v,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm"#$%&'()*+,-./23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoyz{|}§çħȧɧʧЧѧ֧קا٧!;(p{|  @n`n4Nh  8:;?@EFGJQl"<Vp5Vo",  ( * p{|  " 0 2 ; = B C G J Q R e f !!! !!!!!!!!$!%!&!'!(!)!*!.!/!5!@!E!K!L!N!O!!!!""4"6"## # #$#,#}##########$$$%%& &h'v''+0+P+Z++++++++,P.R..Ф` 0IPXYcgp a  0`4DFo)#+#000 000100000Y_ ;<=>?@[aE00A0B0C0D0E0F0G0H0I0J0c0d00000000000000000000000000000000000'1(1122X3{33PS    " 0 2 ; = B C G J Q R e f !!! !!!!!!!!$!%!&!'!(!)!*!.!/!5!@!E!K!L!N!O!!!!""4"6"## # #$#)#+#,#}##########$$$%%& &h'v''+0+P+Z++++++++,P.R..00000 00010A0B0C0D0E0F0G0H0I0J0c0d0000000000000000000000000000000000000'1(1122X3{33Ф` 0ISX_cgp  ;<=>?@[  0`4DFo  "#_`/ 0 ? A T U 35MP?@upK`pq0K$%().Y\ : = > P Q X b d   < = > C G I K N Q R p r u v   < = > E G I K N U X b d  < = > E F I J N U W b d  ; = > E F I J N W X b d 124;GO56789:>@q+?VZ^abegnqu]`25RTrt  ,0<U_`}4Ekt$8 ,,---.*00000ost~ #(,-ƨ&.GT)7CDLN{~ª 0v{      8 ; ? @   $ ( FQ8Gpqsu'5EGst,8>?AB;=>EGIKNWXbdfmpu5G^_0A,,;0679;?@ABD 3:;?GHQ\/78@17:;<>?FGH4;>C@4A4G4V4jj0k7kOoPoQoooooooo.0Gejms{BE7;muv"#%&+07DK )  * / ` e f p 04@4s{106000000112223X3f #UVdhA[a{puvxz~01WY]^_` Knpq0M$%()@Y`kp : = > P Q X b q     ) * 1 2 4 5 7 8 : Y ] ^ _ r u     ) * 1 2 4 5 : = > \ ^ _ b q r     ) * : = > X [ ] ^ ` b     ; = > N O T W _ b z @HImIJNPWXYZ^`[mo2@R`mnq y4EM$MPZ~ FHNPXYZ[\]^_~q r  !!!! !!!!!!$!%!&!'!(!)!*!.!/!:!Ppuv!;A[  '(;<>?NP^@u -KPv(0dp{|7@V`h  679<=?V`w   :            6 ` }        6 @ V ` s    I      $ '(0Fp8qsuv'DEGHPsvw,?A )*1245:=>PQ]b5GK_b0DE,   0?@AB 3:;PQ\  /@Ar  1FG`fgij4 #$o$$D%//004A4G4DGFh9j@j_jpjjjjk0k@kDkckxk}kk@nnoKoPoQoooooookp}UV  :;?@EFGJQR56OPop%+0n-7>NODKL !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~0JPjp ./  $ % RS:;_`' ( UV,-;<~ lmD E PQTU  ( * 0:`jklf p f p f p f p f p PZ *@JFPPZ@JPZ *Шڨ ЩکPZ0 : fp6@PZPZ0:PZPZPZPZ`jjjjjPkZk@JPZ'(  !   _ ` 00  !"#'(,-./0<A[_`a{uvxz01WY]^  jkmnKM.@\`kpd f p q       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f v       ) * 1 2 4 5 : < E G I K N U X \ ^ _ d f p q r    ) * : < E F I J N U W X [ ] ^ ` d f p    E F I J O T X _ d f p z 124;GOPZ *56789:>HImq+?@JVZ^abegnquIJNPWXYZ^`[]`mo5@T`mnqrt  y ,0<FPU_`}MPZkt8@JM~ FHNPXYZ[\]^_~      $ % ' 0 ? A D E T U _ e f p q r  !!!! !!!!!!$!%!&!'!(!)!*!.!/!:!?@BCEF>P 035MQRSTVpuv !;?@A[f  '(;<>?NP^@u -KP{(0dp{|7@V`h  679<=?V`w   :              6 8 ; ? @ ` }        6 @ V ` s    I      ( 0 : '(0QpGfv56@DHPtvw8>B )*1245:;EGIKNPQWX]dfmpuKPZ^bADEPZ,0:;   679;DPZ?GHP  78APZr  7:;<>?HPZ`fgij;>CPZ #$o$$D%//0V4DGFh9j@j_j`jjjpjjjjjjjjk7k@kDkPkZkckxk}kk@nnoKoOoooooooooo #UVdhkp}.0GejmBEUV  :;?@EFGJQR56OPop7;muv%+"#%&+0n-0>@JNOLPZ !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~0JPjp 0:A[_`a{uvx{~01WYZ` jnKM.@\`kpd f p q       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f v       ) * 1 2 4 5 : < E G I K N U X \ ^ _ d f p q r    ) * : < E F I J N U W X [ ] ^ ` d f p    E F I J O T X _ d f p z ;@OPZ *56789:>HImqJPIJNPWXYZ^`[]`irmo5@T`mnqrt  y ,0<Fnpu _`}MPZkt8@JM~ FHNPXYZ[\]^_~? A T U q r  !!!! !!!!!!$!%!&!'!(!)!*!:!?@BCEF^d>P 035MPqrstwxyz{|}~!;?@A[f  '(;<>?NP^@u -KP{(0dp{|7@V`h  679<=?V`w   :              6 8 ; ? @ ` }        6 @ V ` s    I      ( 0 : '(0QpGfv56@DHPtvw8>B )*1245:;EGIKNPQWX]dfmpuKPZ^bADEPZ,0:@G;   679;DPZ?GHP  78APZr  7:;<>?HPZ`fgij;>CPZ #$o$$D%//004@4V4DGFh9j@j_j`jjjpjjjjjjjjk7k@kDkPkZkckxk}kk@nnoKoOoooooooooop֌ #23PSUVdhpkp}.0Gejms{BEUV  :;?@EFGJQR56OPop7;muv%+"#%&+0n-0>@JNOLPZ !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~:@ KP#5A[a{puvx{~01WYZ` Knpq0M$%()@Y`kp : = > P Q X b q     ) * 1 2 4 5 7 8 : Y ] ^ _ r u     ) * 1 2 4 5 : = > \ ^ _ b q r     ) * : = > X [ ] ^ ` b     ; = > N O T W _ b z 123@G@HIm+?@PVZ^abegnquIJNPWXYZ^`[mo2@R`mnq yPnpu U4EM$MPZ~ FHNPXYZ[\]^_~q r  !!!! !!!!!!$!%!&!'!(!)!*!:!?@BCEF^d>Pqrstwxyz{|}~!;A[f  '(;<>?NP^@u -KPv(0dp{|7@V`h  679<=?V`w   :            6 ` }        6 @ V ` s    I      $ '(0Fp8qsuv'DEGHPsvw,?A )*1245:=>PQ]b5GK_b0DE@G,   0?@AB 3:;PQ\  /@Ar  1FG`fgij4 #$o$$D%//004A4G4DGFh9j@j_jpjjjjk0k@kDkckxk}kk@nnoKoPoQooooooop֌ #23PSUVdhpkp}UV  :;?@EFGJQR56OPop%+0n-7>NODKL !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~:@ KP# 0:A[a{EFpuvxz~01WYZ` XYjn@M-@Y`kp< = M N Q U d f p q       ) * 1 2 4 5 7 8 : > C G I K M Q R Y ] ^ _ f v       ) * 1 2 4 5 : = E G I K M V X \ ^ _ d f p q r    ) * : = E F I J M U W X [ ] ^ ` d f p    ; = E F I J M N O T X _ d f p z ;@GMNPZ *@HImq789;JPIJNPWXYZ^`[mo4@T`mnqrt y ,09Fnpu _au45DEMPZ7@JM~ FHNPXYZ[\]^_~q r  !!!! !!!!!!$!%!&!'!(!)!*!.!/!:!?@BCEF>Ppuv!;A[f  '(;<>?NP^@u -KP{(0dp{|7@V`h  679<=?V`w   :              6 ` }        6 @ V ` s    I      ( 0 : '(0FpFfpqv36@DHPsvw578>B )*1245:=EGIKMPQWX]dBCFGKPZ_b?@ADEPZ+0:@G9   679;=?CPZ35?P  78?@APZr  7:;<>?BCDFHPZ`fgij;>APZ #$o$$D%//004A4G4DGFh9j@j_j`jjjpjjjjjjk0k@kDkPkZkckxk}kk@nnoKoOoooooooooop֌ #23PSUVdhpkp}UV  :;?@EFGJQR56OPop%+"#%&+0n-7>@JNODGHKLPZ !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~0JPjp:@ KP#A[a{EFpuvxz~01WYZ` XY`n@M-@Y`kp< = M N Q U d q       ) * 1 2 4 5 7 8 : > C G I K M Q R Y ] ^ _ p v       ) * 1 2 4 5 : = E G I K M V X \ ^ _ d q r    ) * : = E F I J M U W X [ ] ^ ` d    ; = E F I J M N O T X _ d z ;@GMN@HImq789;@PIJNPWXYZ^`[mo4@T`mnqrt y ,09Pnpu _au45DEM7MPZ~ FHNPXYZ[\]^_~q r  !!!! !!!!!!$!%!&!'!(!)!*!.!/!:!?@BCEF>Ppuv!;A[f  '(;<>?NP^@u -KP{(0dp{|7@V`h  679<=?V`w   :              6 ` }        6 @ V ` s    I      ( '(0FpFqv3DHPsvw578>B )*1245:=EGIKMPQWX]dBCFGK_b?@ADE+@G9   679;=?C35?P  78?@Ar  7:;<>?BCDFH`fgij;>A #$o$$D%//004A4G4DGFh9j@j_jpjjjjk0k@kDkckxk}kk@nnoKoOoooooooooop֌ #23PSUVdhpkp}UV  :;?@EFGJQR56OPop%+"#%&+0n-7>NODGHKL !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~0JPjp:@ KP# ! / 0 _ ` 00 0:`jf p f p f p f p f p PZ *@JFPPZ@JPZ *Шڨ ЩکPZ0 : fp6@PZPZ0:PZPZPZPZ`jjjjjPkZk@JPZ!xz01WYKM.0?@\^_`kp       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f w       ) * 1 2 4 5 : < E G I K N U X \ ^ _ d f x    ) * : < E F I J N U W X [ ] ^ ` d f p w    E F I J P T d f ;?\HImqIJNPWXYZ^`[]}7@T`mnqrt y ,0<@ADnpu_`}MP8;JM FHNPXYZ[\]^_~ ( * / 0 _ ` e f r t !!!'$@$K$`$t+v+++,,&-'-(---.-0-h-o-q--------------------^.....////0@0A00011011111112 2ǤФ,@˧Чҧӧԧէڧ-0:@xƨΨڨT_}Ωϩکީ7@NPZ\ê۪  '(/0lpnp78=>?@BCEF STghlpuv  '(;<>?NP^47$-KP{(0do{|7@V`h  679<=?VW  : ? @              6 8 ; ? I P Y `       6 9 V X s x       I      ( 0 : `(0ZpNRv56HPwB )*1245:;EGIKNPQWX]dfmpu\]bEPZ`m,0G<   679;GPZHP   78FPmp  7:;<>?HPZ`fgij;>Z#$o$p$u$$D%//0V4DGFh9j@j_j`jjjnjjjjjjjjkFkPkZk[kbkckxk}kk@nnoKoOoooooooop֌ #23PSUVdhpkp}.0GP')FW`yUV  :;?@EFGJQR%+"#%&+0n-0>@JNPLPZ^`q> !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~,0<@IPR`fw{ HPZ`T`np}:@ KP# ?a{      !"#$%&'()*+,-./012345679:;<=>?@ABCDEFGHJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxz{|}~      !"#$%&'()*+,-./0123:<=?ABCGHIJKLMNOEFqrstwxz~0`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0`      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ (08@FPX`hp~q r  ! !!!!!/!0!4!5!9!:!!F!J!N!O!p!!!!$$0,`,a,b,e,g,h,i,j,k,l,m,q,r,s,u,v,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-&-'-(---.-ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn#$%&'()*+,-./23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoyz{|}§çħȧɧʧ˧ѧҧӧԧէ֧קا٧ڧ0[\jpA[(P  `nn4NUVh8Rl"<Vp6OPVp  %+0n"D xz01WYKM.0?@\^_`kp       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f w       ) * 1 2 4 5 : < E G I K N U X \ ^ _ d f x    ) * : < E F I J N U W X [ ] ^ ` d f p w    E F I J P T d f ;?\HImqIJNPWXYZ^`[]}7@T`mnqrt y ,0<@ADnpu_`}MP8;JM FHNPXYZ[\]^_~ ( * e f r t !!!'$@$K$`$t+v+++,,&-'-(---.-0-h-o-q--------------------^.....////0@0A00011011111112 2ǤФ,@˧Чҧӧԧէڧ-0:@xƨΨڨT_}Ωϩکީ7@NPZ\ê۪  '(/0lpnp78=>?@BCEF STghlpuv  '(;<>?NP^47$-KP{(0do{|7@V`h  679<=?VW  : ? @              6 8 ; ? I P Y `       6 9 V X s x       I      ( 0 : `(0ZpNRv56HPwB )*1245:;EGIKNPQWX]dfmpu\]bEPZ`m,0G<   679;GPZHP   78FPmp  7:;<>?HPZ`fgij;>Z#$o$p$u$$D%//0V4DGFh9j@j_j`jjjnjjjjjjjjkFkPkZk[kbkckxk}kk@nnoKoOoooooooop֌ #23PSUVdhpkp}.0GP')FW`yUV  :;?@EFGJQR%+"#%&+0n-0>@JNPLPZ^`q> !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~,0<@IPR`fw{ HPZ`T`np}:@ KP# u!0:A[a{~Z`    jn0?^_d f p q v w w x OPZ\:>JP`ino57 DF Za};@~ ( 0 D E R S _ }  # #)#+#h'v''''')))))),,,-p-q-./.0.P.R.^.00000 00010=0>00000 st~txΨШ.0_`Ωީ\`ު>@0STbcdhijl !;>?@[\]^_fopWX  ? @ P Y     9 @   UZGN@Dtv8>KPZ\]^AD`m<?;<DG?G AFprCP p$u$//njpjjj7k?@ABCDEFGHJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxz{|}~      !"#$%&'()*+,-./0123:<=?ABCGHIJKLMNOpqrsvw0`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./1W      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~(08@HNYZ[\]^_`hp!!!! !!!!!!!!$!%!&!'!(!)!*!.!0!4!>!@!E!F!`!p!!!$$,0,`,a,b,e,g,h,i,j,k,l,m,q,r,s,u,v,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm"#$%&'()*+,-./23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoyz{|}§çħȧɧʧЧѧ֧קا٧!;(p{|  @n`n4Nh  8:;?@EFGJQl"<Vp5Vo"0JPjp0:A[_`a{uvxz~01WYZ` jnKM.@\`kpd f p q       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f v       ) * 1 2 4 5 : < E G I K N U X \ ^ _ d f p q r    ) * : < E F I J N U W X [ ] ^ ` d f p    E F I J O T X _ d f p z ;@OPZ *56789:>HImqJPIJNPWXYZ^`[]`mo5@T`mnqrt  y ,0<Fnpu _`}MPZkt8@JM~ FHNPXYZ[\]^_~  ? A T U q r  !!!! !!!!!!$!%!&!'!(!)!*!.!/!:!?@BCEF>P 035MPpuv!;?@A[f  '(;<>?NP^@u -KP{(0dp{|7@V`h  679<=?V`w   :              6 8 ; ? @ ` }        6 @ V ` s    I      ( 0 : '(0QpGfv56@DHPtvw8>B )*1245:;EGIKNPQWX]dfmpuKPZ^bADEPZ,0:@G;   679;DPZ?GHP  78APZr  7:;<>?HPZ`fgij;>CPZ #$o$$D%//004@4V4DGFh9j@j_j`jjjpjjjjjjjjk7k@kDkPkZkckxk}kk@nnoKoOoooooooooop֌ #23PSUVdhpkp}.0Gejms{BEUV  :;?@EFGJQR56OPop7;muv%+"#%&+0n-0>@JNOLPZ !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~0JPjp:@ KP# 0:AGag!'AG  #$o$p$u$$D%   `j00000000ǤafMNФ ! ( * / 0 _ ` 00H( ) ) *  ! / 0 _ ` 00&A[a{tu~?@  / 0 e f q t  !&!'!*!,!2!3!N!O!`!!!!'$@$K$`$()t+v+++,.C.D.^.//000000 0!06070H2`2222222q3{33334MN"[\jl0EGSTghl!;A[aP')gj{WryUV  :;?@EFGJQRq>,0<@I`fw{ HPZ`T`np} xz01WYKM.0?@\^_`kp       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f w       ) * 1 2 4 5 : < E G I K N U X \ ^ _ d f x    ) * : < E F I J N U W X [ ] ^ ` d f p w    E F I J P T d f ;?\HImqIJNPWXYZ^`[]}7@T`mnqrt y ,0<@ADnpu_`}MP8;JM FHNPXYZ[\]^_~ e f r t !!!'$@$K$`$t+v+++,,&-'-(---.-0-h-o-q--------------------^.....////0@0A00011011111112 2ǤФ,@˧Чҧӧԧէڧ-0:@xƨΨڨT_}Ωϩکީ7@NPZ\ê۪  '(/0lpnp78=>?@BCEF STghlpuv  '(;<>?NP^47$-KP{(0do{|7@V`h  679<=?VW  : ? @              6 8 ; ? I P Y `       6 9 V X s x       I      ( 0 : `(0ZpNRv56HPwB )*1245:;EGIKNPQWX]dfmpu\]bEPZ`m,0G<   679;GPZHP   78FPmp  7:;<>?HPZ`fgij;>Z#$o$p$u$$D%//0V4DGFh9j@j_j`jjjnjjjjjjjjkFkPkZk[kbkckxk}kk@nnoKoOoooooooop֌ #23PSUVdhpkp}.0GP')FW`yUV  :;?@EFGJQR%+"#%&+0n-0>@JNPLPZ^`q> !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~,0<@IPR`fw{ HPZ`T`np}:@ KP# A[a{1289!"4:UVXYZ[]`bcdeghmopqsuv}~     12BCEFptvx{~01Wayz}~ FHNPXYZ[\]^_~&!'!*!,!2!3!N!O!`!!!!$$,q,r,t,u,w,~,,,,,,-&-'-(---.-@n"02py˧Чҧ֧ڧSTp!;A[Pp{|    @nnD3A[a{puvx{~01WYZ` Knpq0M$%()@Y`kp : = > P Q X b q     ) * 1 2 4 5 7 8 : Y ] ^ _ r u     ) * 1 2 4 5 : = > \ ^ _ b q r     ) * : = > X [ ] ^ ` b     ; = > N O T W _ b z 123@G@HIm+?@PVZ^abegnquIJNPWXYZ^`[mo2@R`mnq yPnpu U4EM$MPZ~ FHNPXYZ[\]^_~q r  !!!! !!!!!!$!%!&!'!(!)!*!.!/!:!?@BCEF^d>Pqrstwxyz{|}~!;A[f  '(;<>?NP^ -ABJPv(0dp{|7@V`h  679<=?V`w   :            6 ` }        6 @ V ` s    I      $ '(0Fp8qsuv'DEGHPsvw,?A )*1245:=>PQ]b5GK_b0DE@G,   0?@AB 3:;PQ\  /@Ar  1FG`fgij4 #$D%//004A4G4DGFh9j@j_jpjjjjk0k@kDkckxk}kk@nnoKoPoQooooooop֌ #23PSUVdhpkp}UV  :;?@EFGJQR56OPop%+0n-7>NODKL !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~:@ KP# !(*-.0:A[_`a{uvx{~01WYZ` jnKM.@\`kpd f p q       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f v       ) * 1 2 4 5 : < E G I K N U X \ ^ _ d f p q r    ) * : < E F I J N U W X [ ] ^ ` d f p    E F I J O T X _ d f p z ;@OPZ *56789:>HImqJPIJNPWXYZ^`[]`mo5@T`mnqrt  y ,0<Fnpu _`}MPZkt8@JM~ FHNPXYZ[\]^_~? A T U q r  !!!! !!!!!!$!%!&!'!(!)!*!.!/!:!?@BCEF^d>P 035MPqrstwxyz{|}~!;?@A[f  '(;<>?NP^@u -KP{(0dp{|7@V`h  679<=?V`w   :              6 8 ; ? @ ` }        6 @ V ` s    I      ( 0 : '(0QpGfv56@DHPtvw8>B )*1245:;EGIKNPQWX]dfmpuKPZ^bADEPZ,0:@G;   679;DPZ?GHP  78APZr  7:;<>?HPZ`fgij;>CPZ #$o$$D%//004@4V4DGFh9j@j_j`jjjpjjjjjjjjk7k@kDkPkZkckxk}kk@nnoKoOoooooooooop֌ #23PSUVdhpkp}.0Gejms{BEUV  :;?@EFGJQR56OPop7;muv%+"#%&+0n-0>@JNOLPZ !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~:@ KP#;01IJPQRSTUVW0:A[_`a{uvx{~01WYZ` jnKM.@\`kpd f p q       ) * 1 2 4 5 7 8 : < = > C G I K N Q R Y ] ^ _ f v       ) * 1 2 4 5 : < E G I K N U X \ ^ _ d f p q r    ) * : < E F I J N U W X [ ] ^ ` d f p    E F I J O T X _ d f p z ;@OPZ *56789:>HImqJPIJNPWXYZ^`[]`mo5@T`mnqrt  y ,0<Fnpu _`}MPZkt8@JM~ FHNPXYZ[\]^_~? A T U q r  !!!! !!!!!!$!%!&!'!(!)!*!.!/!:!?@BCEF^d>P 035MPqrstwxyz{|}~!;?@A[f  '(;<>?NP^@u -KP{(0dp{|7@V`h  679<=?V`w   :              6 8 ; ? @ ` }        6 @ V ` s    I      ( 0 : '(0QpGfv56@DHPtvw8>B )*1245:;EGIKNPQWX]dfmpuKPZ^bADEPZ,0:@G;   679;DPZ?GHP  78APZr  7:;<>?HPZ`fgij;>CPZ #$o$$D%//004@4V4DGFh9j@j_j`jjjpjjjjjjjjk7k@kDkPkZkckxk}kk@nnoKoOoooooooooop֌ #23PSUVdhpkp}.0Gejms{BEUV  :;?@EFGJQR56OPop7;muv%+"#%&+0n-0>@JNOLPZ !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~:@ KP#9A[_`a{puvx{~01WYZ` Knpq0M$%()@Y`kp : = > P Q X b q     ) * 1 2 4 5 7 8 : Y ] ^ _ r u     ) * 1 2 4 5 : = > \ ^ _ b q r     ) * : = > X [ ] ^ ` b     ; = > N O T W _ b z 123@G@HIm+?@PVZ^abegnquIJNPWXYZ^`[mo2@R`mnq yPnpu U4EM$MPZ~ FHNPXYZ[\]^_~q r  !!!! !!!!!!$!%!&!'!(!)!*!.!/!:!?@BCEF^d>Pqrstwxyz{|}~!;A[f  '(;<>?NP^@u -KPv(0dp{|7@V`h  679<=?V`w   :            6 ` }        6 @ V ` s    I      $ '(0Fp8qsuv'DEGHPsvw,?A )*1245:=>PQ]b5GK_b0DE@G,   0?@AB 3:;PQ\  /@Ar  1FG`fgij4 #$o$$D%//004A4G4DGFh9j@j_jpjjjjk0k@kDkckxk}kk@nnoKoPoQooooooop֌ #23PSUVdhpkp}UV  :;?@EFGJQR56OPop%+0n-7>NODKL !#$%'()3489:;<BCGHIJKLMPQSTUWXYZ[\]^_`acdegklstxy}~:@ KP#Oabfghklmnosuwxyz     12BCefklmntuvw~ (`hpqtu|}%    !  ( * 02IJxy*!,!02IJxy*!,!N0:A[_`a{OP_a  ? A T U p !`$%v'',..000!00010d1e1>@EGs{AJST 0 0 0AAAAAAA$A*0|||||!|%||||||||||||||||||*4||||||||||||<8<@@@@@@@G@@@@@@@L@@@@@@@@@@P@@@@@@@@@@@@@aJiiiiiQiiiiiiiiXbiii#5!F,dm0/çî5Fb,dm0gCnu5wFb,R0_____________________________________________u_____|__7 **** *******      0 ! K ))@R @r ?Q ?q jjjj?jjjjjjjjj#0jjj+c29@GT$$g7RRRFRRR9RRRRKRY`gtDD 7RRRFRRR9RRRRttttttt\ttttttttttttttttTUT(*1BIPWa|||||||||||| yyy0yyy9yyyy`gx66;;;;;;;j;;;;;u;;;;;;;;;;;yyy0yyy9yyyy#1Rq<BBBBBBBBBB 22>>ZZ^^ccuu||6 6 6 6 6 6 6 6 @@@@0000**{{ffLLrr   rrX X qq   qq8 8 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 c6 q6 h"""f ,f ,6 ,6 q6 q6 l l 6 6 6 6 6 6 6 6 6 6 6 6 6 r r 6 6 6 6 6 6 6 6  !    %   ( k#Wdj p!\ ,#% ((( 00[[bb(((((((((((((((ll= m""++EEMMUU#66U".4@LXeq}<   _ aceGMddgQ / Y ?Q UWY &CcY&&;;puz! b "1< Gt PS  &{ & &  &&&&& y a &&& a a ( T&o w &L&6& & & & 0sn r':ET d~N}'/<DKhq,.111>111H1111RClCCtCCCCC~Cșۙ''''j'''t''''''''''''''''|||||||||||||||||| qqqqqqqqqqqqqqqqqqqqqqqq#+3;CKS[,.9BLpxXXXXmXv}XXXXXXXXXXX{{{{{{{"0{{{{{>{{{{{{{{{{{I]]]]]]]]]]]]]]]]]]########################$+2,.AAALAAAgAAAAxOOOOOOOOO (09AI6666N6^fn66666666v666*5I]UA "*2 '/7?GOW_mu}CLU]enw"'7""*2:BJRZGw 0]0]"O"O!! !b!.}!FMuduxuct6666!!!668j  0.,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             KKKKKKKK9,9,9K,,,,,,,,,,,666jjVV 9 ////////////////--------------xxxxxxxxxxxxxx@@@@@@@@@@@@UUUUUUUJJJJJJJJJJJdd(((((''''''''''''''''''m4FFFaaaaaMMMMMhhhhF9 LLLn(( gK,K,K,KK,999K,,,,,,,,,,,,,,,,9KKK9,KKKK)K((('''''''''PKKKKKK~ CC===dd['''''KK,K[[K66666699KKOOOOOOO,,9Qpp*rsszzyy%NNNKKK88|ee555RR^]]]DDDDDDDDuqWWW;;::vooo33tw&??SGGcccccHH++++++++++++++++ii``a"!!!!!!!!ggg} XXXYYYYYYY......TBBBP$bbb {{{{{Z___kEEk#####999999,KK)))))llllf''''\\9    0P0000P000 P0f000000P00000000f Pf 00000000 0 f 0000 00000000Щ0f 0P00 00@F00000f 0f 000P00000P`jf 0 P0@0P000000000f 0Pk00000000Ш000 00 000@0 j0f `P 000 0`Use of (?[ ]) for non-UTF-8 locale is wrong. Assuming a UTF-8 localeUse of \b{} or \B{} for non-UTF-8 locale is wrong. Assuming a UTF-8 locale #! ! $  ! !       '(!!!!&           !!!!                        &         %%%%%%%"%%%%%                    !    %%%%%%%%%%%%%            %%%%% %%% %%                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             !!!!   !!    !!!!                  1r)K3j3j3VWw3 +-/@KUx +-/@KUx "+-./@HSUYgx "+-./@HMSUYgx "?S /c-G+@gd(K2I4a~ +@ + @Ux g +@gx +@Ka +K01>I 0127>AI 0127>AI 01>I7>A017>AI7>>A01>IK "-/?@GHSU`g "-/?@GHS`g "-/?GHS` CKd=jOONOWw|~bbbbbbbbbbbbbbbbbbbbbb]SSSSFFSSSSSSSSSSSSSSSSSSSSSSAAAuuSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSFSSSSSSSSSSSSSSSSS!SSASSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS$$$$$SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSk "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjQ09;000000000000000000000000000=000?E-- "'B w[ [ [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[cc3Q2PY[r2P!38=B&GLW\+alx}%123456789ABCDF    !_@$*HM_cgx1$3BDSX\d|?????????&g"*5g?LggggUugggggggggggggggggggg2gggggggggEgMWkggggggggggggggggggggggggggguggggggggggggggggggggggggggggggg"=FOZaq   mro_core.c p0Ml=vvvvvvvvvvvvvvvvveeeeeeeeeeeeeeeeeeee1eeeLgeee"<Tn5Jax  , ><HT-BTj` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` aaaaaaaaaaaaa!|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(~~7~FWm|~*6BN )5AQ_t+ + + + + + + + + 0+ 9+ + B        ! * 5 > G R [ d m z   sy "&'%-p' is not recognised as a builtin functionhd`\XTPLHD@<840,(#  MOQ JCannot modify shared string table in hv_%s@ A( (!0 `  0000PP(( hhhhn  ((08:<@ A( (!0 `  0000PP(( hhhhn  (( %)agpt an ARRAYa HASH"wXwYYY)G.LY^8c=  ?????   BBBBB(+.6ADGJM$|mH il///9*<Ya11hd`\XTPLHD@<840,(#  ,,,,,,,,,, ,,',,,,,,,,,,,,,' $;$$XB$;$$$4`Y;IBddddddddddddkddddrddddddddddddd nnnnn3nnnnnnnM '147:=Ra!![[[[@]!i}<B!<}}xxx  !(/@ A( (!0 `  0000PP(( hhhhn  ((A (null)00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899DESTROYMOQ);}EP_037 MQUbn}]*=#,@ A( (!0 `  0000PP(( hhhhn  ((\_,,b,#.C  #,%TAwwwwwwwwww0_b@ A( (!0 `  0000PP(( hhhhn  (( @=[ 2;DXk!Hc&"bqMOQ@ A( (!0 `  0000PP(( hhhhn  ((!'.V]dkry  0 but true@ A( (!0 `  0000PP(( hhhhn  ((OozScbfdpugk###wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww)SXq 4=?Kw4VhIIIO I"Iw R|mppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppmpppggcmm hhbbhh    ++++++++$+|D&+4>C5 uruuuuuuuuuuuuuuuuuC3-)%FF "MOQUTF-16 surrogate U+%04lXUnicode non-character U+%04lX is not recommended for open interchangeCode point 0x%lX is not Unicode, may not be portableMalformed UTF-8 characterMalformed UTF-8 character (unexpected end of string)Ax   "$&(*,.I2469;=?ACEGJLNPRTVXZ\^`bdfhjlnprtvy{}SC=   "$&(*,.02;~,AFHJLNo,m,p,b,n,d,ŧDEprv`bdfhjlnprtvxz|~   "$&(*,.1!"*bJ}c,Ƨ   "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~`(8HY[]_h2!`!!$,`,:>g,i,k,r,u,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@BDFHJLNPRTVXZ\^`bdfhjl"$&(*,.2468:<>@BDFHJLNPRTVXZ\^`bdfhjlny{~ħ§ǧɧЧ֧ا!p| @nAx   "$&(*,.I2469;=?ACEGJLNPRTVXZ\^`bdfhjlnprtvy{}SC=   "$&(*,.02;~,AFHJLNo,m,p,b,n,d,ŧDEprv`bdfhjlnprtvxz|~   "$&(*,.1!"*bJ}c,Ƨ   "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~`(8HY[]_h2!`!!$,`,:>g,i,k,r,u,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@BDFHJLNPRTVXZ\^`bdfhjl"$&(*,.2468:<>@BDFHJLNPRTVXZ\^`bdfhjlny{~ħ§ǧɧЧ֧ا!p| @na   !#%')+-/357:<>@BDFHKMOQSUWY[]_acegikmoqsuwz|~STVY[`cihoru   #%')+-/13e,<f,BGIKMOqsw{P0acegikmoqsuwy{}   !#%')+-/a-'---p   !#%')+-/13579;=?ACEGIKMOQSUWY[]_acegikmoqsuwy{} 0@QSUW`prvzx|kN!p!!$0,a,k}}h,j,l,QqPRs,v,?,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ACEGIKMOQSUWY[]_acegikm#%')+-/3579;=?ACEGIKMOQSUWY[]_acegikmoz|yef\aljSçȧʧѧק٧A( `n"a   !#%')+-/357:<>@BDFHKMOQSUWY[]_acegikmoqsuwz|~sSTVY[`cihoru   #%')+-/13e,<f,BGIKMOqsw{P0acegikmoqsuwy{}   !#%')+-/a-'---24>ABJcK   !#%')+-/13579;=?ACEGIKMOQSUWY[]_acegikmoqsuwy{}a 0@QSUW`prvzx|kN!p!!$0,a,k}}h,j,l,QqPRs,v,?,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ACEGIKMOQSUWY[]_acegikm#%')+-/3579;=?ACEGIKMOQSUWY[]_acegikmoz|yef\aljSçȧʧѧק٧A( `n"a   !#%')+-/357:<>@BDFHKMOQSUWY[]_acegikmoqsuwz|~sSTVY[`cihoru   #%')+-/13e,<f,BGIKMOqsw{P0acegikmoqsuwy{}   !#%')+-/a-'---24>ABJcK   !#%')+-/13579;=?ACEGIKMOQSUWY[]_acegikmoqsuwy{}a 0@QSUW`prvzx|kN!p!!$0,a,k}}h,j,l,QqPRs,v,?,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ACEGIKMOQSUWY[]_acegikm#%')+-/3579;=?ACEGIKMOQSUWY[]_acegikmoz|yef\aljSçȧʧѧק٧A( `n"ALTx   "$&(*,.2469;=?ACEGJLNPRTVXZ\^`bdfhjlnprtvy{}C=   "$&(*,.02;~,AFHJLNo,m,p,b,n,d,ŧDEprv#+`dfhjlnprtvxz|~   "$&(*,.1p}c,Ƨ   "$&(*,.02468:<>@BDFHJLNPRTVXZ\^bdfhjlnprtvxz|~(8HY[]_h2!`!!$,`,:>g,i,k,r,u,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@BDFHLNPRTVXZ\^`bdfhjl"$&(*,.2468:<>@BDFHJLNPRTVXZ\^`bdfhjlny{~ħ§ǧɧЧ֧ا!p| @n@ A( (!0 `  0000PP(( hhhhn  ((SSNJ 5RH1TW Y AB     ()*+,-./hijklmnoBBBBBBBBBBFFFIFLFFIFFLSTDFD5D;NFD=SsNJ 5H1TW Y ABEEBBEEEBBEBBBBEEBBEFfFiFlFfiFflStDvDeDkNvDmissinj eh1tw y aB !"#$%&'`abcdefgpBBtBBBBBB|BBfffiflffifflsttvtetk~vtmK*!S+!E&!!"*b`J`````````l``````````````````@L`A`A`A`A`A`A`A`A`A`A`A`A`A`A`AQQQQQQQQQQ`A`A`A`A`A`A`ASgSCSCSCSCSgCCCgCgCgCOCGCCCGCCCCCCCCCoCgCCCCCgCCCgCC`A`A`A`AaA`ASgSCSCSCSCSgCCCgCgCgCOCGCCCGCCCCCCCCCoCgCCCCCgCCCgCC`A`A`A`A`                               @ `@@@@@`@@`@@@@@@@@@O``@@`@@@`CCCCCOCCCCCCCCCCCCCCCCC@CCCCCCCOCCCCCOCCCCCCCCCCCCCCCCC@CCCCCCCO Use of uninitialized value%s%s%sUse of uninitialized value%-p%s%sSemicolon seems to be missingUnquoted string "%s" may clash with future reserved wordUnsuccessful %s on filename containing newlineCan't use %s ref as %s refCan't use string ("%.32s") as %s ref while "strict refs" in useCan't use string ("%-32p"%s) as %s ref while "strict refs" in useCan't use an undefined value as %s referenceModification of non-creatable array value attempted, subscript %dModification of non-creatable hash value attempted, subscript "%-p"Modification of a read-only value attemptedOut of memory! Insecure dependency in %s%sUnsupported socket function "%s" calledUnsupported directory function "%s" calledThe %s function is unimplemented"%s" %s %s can't be in a packageCan't localize through a referencepanic: memory wrapCode point 0x%lX is not Unicode, requires a Perl extension, and so is not portable100123456789abcdef0123456789ABCDEF/bin/sh/bin/csh&`!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_isa  !"#$%&'()*+,-./0123456789:;<=>?   !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~ HAS_TIMES PERLIO_LAYERS PERL_HASH_FUNC_SIPHASH13 PERL_HASH_USE_SBOX32 USE_64_BIT_ALL USE_64_BIT_INT USE_LARGE_FILES USE_LOCALE_COLLATE USE_LOCALE_NUMERIC USE_LOCALE_TIME USE_PERLIODDDD@@@DD@! " ++dDdD, , >>> ">>&&&&&&..  HD6@0@1244@;H;;@KHKKHBDDD $B"$$$444 $TTA! $ $  @ @ $   D  @@@@@@@ d)d k d Et!{D{DK d d d d d  d d dd d dddddd d dddkklllllllllllllllllllllllllll$$$$ dk kdkk $            ě@@ {@@@@D@ @@ D$MOD+1-AMPERANONHASHAPPENDASSIGNAVBAREBKWARDBOOLBOOL?BYTESCAN_FORCE_UTF8COMPLCOM_AGGCOM_RC1COM_SCALARCONSTCOPHHCVCV2GVDBGDEFDELDELETEDEREF1DEREF2DESCDOLISTDREFAVDREFHVDREFSVEARLYCVELEMENTEREDEVALSVEXISTSFAKEFINALLYFTACCESSFTAFTERtFTSTACKEDFTSTACKINGGROWSGUESSEDHAS_HHHUSHHVIDENTIF_FALSEIF_UNDEFIMPLIMINARGSINBININCRINITFIELDSINITFIELD_AVINITFIELD_HVINPLACEINTITERKEEP_PVKEYSKVSLICELEXLINENUMLVLVDEFERLVINTROLVSUBMARKNEGNESTEDNO()NOINITNOVERNUMOURINTROUTBINOUTCRREFCREPARSEREPL1STREVREVERSEDSHORTSLICESLICEWARNSQUASHSTATESTRICTSTRINGIFYSUBSVTARGTARGMYUNIUSEINTUSE_SVOPUTFkeyoffsetrangex'?x'? &+-4787=>>EHNNPUXXXXXXXZXXXX\_egg iiigggiiiigN eNNeeNNNNNNNjmprr77NNev}}}~+++~777 777ee 77777777777777777777777777e77777777777eeNeeeeeeeN77eeeeeeee7e77777777777777777 4NNNN:KXplLH?:9Ag:K:K:K;I:Kp;I!6:8;?dL:8AdL;|>LhOdLpC8B--$ JH(DRg ;gP:K45P;PgXg=Pg:84PLMPPiQiQPpE;+;g=P:8A;IdL_:9;g:;I;:H6N:8Ap;IdL!6:9P;dL:8A7I+:y%:KP 3hF4@ 3X8::LhOdL!,C<*)U'\9C:8A FF\9g|SC8B-- L#" L#"PxtD,Pd&|<;::K4g:K4:|.h1/^  1 )CS1   A !AAAA AA 1_ $"  d    ?:;/5<'06!*=3%(17" +>9.4& )2$ 8-# ,  $6HZl~$$$$$$666666HHHHHH$$666HHHHZZZZZ &Lr9_&&&&&&&&&&&&  ?@@@@DEFGHIIIIIIIIIISTTTTTYZ[\T^_`abbbeeeeeek<no88ZZZZCCDDDDDDDDDD((BBBBUU@@@@iigghhjjkkII'(>?@ABCDIJKLMNOPQRTWX !"#$%&o3a2I$).38~u.? A 3  +% M :8 3 3f      <  + P     x Z  Z CFFJFFFFFGFFFFFFFFFFFFFFFFFm^5FF@xFwF}F&FFth% FFFFFFFmmFHF@FF-FFFD@ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFF, F}FFFFFFtFp FFFFFFFFFFFFFFFFFFF-FFFFFF@F7sssIs3ssAAmn;Zx0N<[y1OBareword "%-p" not allowed while "strict subs" in useSTDERRSTDOUTSTDIN_ARGVARGVOUTDATABareword filehandle "%s" not allowed under 'no feature "bareword_filehandles"'panic: allocmy illegal flag bits 0x%lxsubroutine signature"state""my"Can't use global %c^%c%.*s in %sCan't use global %.*s in %s$_panic: op_sibling_splice(): NULL parentpanic: op_contextualize bad context %ldundef...Scalar value @%-p%c%s%c better written as $%-p%c%s%c%%%-p%c%s%c in scalar context better written as $%-p%c%s%cScalar value @%-p%c%-p%c better written as $%-p%c%-p%c%%%-p%c%-p%c in scalar context better written as $%-p%c%-p%cUseless use of %s in scalar contextsortnegative pattern binding (!~)non-destructive substitution (s///r)non-destructive transliteration (tr///r)a variablea constant (%s)a constant (%-p)a constant (undef)Useless use of %-p in void contextUseless use of %s in void contextFIELDSNo such class field "%-p" in variable %d%lu%4p of type %2ppanic: unexpected lvalue entersub args: type/targ %ld:%lupanic: unexpected constant lvalue entersub entry via type/targ %ld:%luCan't modify non-lvalue subroutine call of &%-p in %sCan't modify %s in %sdo blocklocalCan't localize lexical variable %d%lu%4pThe experimental declared_refs feature is not enabledDeclaring references is experimentalExperimental aliasing via reference not enabledAliasing via reference is experimentalUseless localization of %sattributesApplying %s to %-p will act on scalar(%-p)@array%hashApplying %s to %s will act on scalar(%s)Using !~ with s///r doesn't make senseUsing !~ with tr///r doesn't make sense'%s' trapped by operation maskDB::postponed@$%Parentheses missing around "%s" listourstatemy;Multidimensional hash lookup is disabled %s[%lu] 0x%04lX .. INFTY .. 0x%04lX TR_UNLISTED TR_SPECIAL_HANDLING 0x%04lX reflagsreflags_charsetVERSIONModule name must be constantVersion number must be a constant numberimportunimportBEGINDowngrading a use VERSION declaration to below v5.11 is deprecated, and will become fatal in Perl 5.40do$panic: newFORLOOP, found %s, expecting pushmarkNULLpanic: newFORLOOP, found %s, expecting padsvpanic: newFORLOOP, found %s at %zd, expecting padsvpanic: newFORLOOP, padsv at %zd targ is %zd, not %zdCan't use %s for loop variablea "finally" blocka "defer" block::Prototype mismatch: sub %-p (%d%lu%4p): none vs (%d%lu%4p)none%-p%s:%u-%u__ANON__::%s[%s:%u]__ANON____ANON__::__ANON__Prototype on BEGIN block ignoredAttribute on BEGIN block ignoredBEGIN not safe after errors--compilation abortedConstant subroutine %-p redefinedFormat %-p redefinedFormat STDOUT redefinedoops: oopsAVoops: oopsHVCan't use an array as a referenceCan't use a hash as a referencereadpipePossible precedence problem on bitwise %s operator|&^|.&.^.$[ used in %s (did you mean $] ?)delete argument is not a HASH or ARRAY element or slicefeature/bitsexists argument is not a subroutine nameexists argument is not a HASH or ARRAY element or a subroutineOP_HELEMEXISTSOR argument is not a HASH elementa SCALARan ARRAYa HASHCan't use bareword ("%-p") as %s ref while "strict refs" in use%s (did you want stat %-p?)%sUseless use of %s with no valuesarrayExperimental %s on scalar is now forbiddenhashHANDLE%s%c...%c__ANONIO__globFile::Globpanic: ck_grep, type=%uCan't use 'defined(@array)' (Maybe you should just omit the defined()?)Can't use 'defined(%%hash)' (Maybe you should just omit the defined()?):SUPER::::SUPER::Can't modify reference to %s in scalar assignmentBareword in require must not start with a double-colon: "%s" Bareword in require maps to empty filename.pmrequire Use of /g modifier is meaningless in splitSTRING/%-p/ should probably be written as "%-p"panic: rv2cv_op_cv bad flags %xpanic: ck_entersub_args_proto CV with no proto, flags=%lxToo many arguments for %-p;@%block or sub {}sub {}one of %.*ssymbolsubroutinescalarMalformed prototype for %-p: %-pNot enough arguments for %-p%ueach on anonymous hash will always start from the beginningeach on anonymous array will always start from the beginninghash or arraylength() used on %-p (did you mean "scalar(%s%-p)"?)keys length() used on %%hash (did you mean "scalar(keys %%hash)"?)length() used on @array (did you mean "scalar(@array)"?)panic: custom_op_get_field(): invalid field %d panic: can't register custom OP %s_;\[%@];\[$*]enterevalbacktick?$@@%&*$autouseMethod %-p redefinedSubroutine %-p redefinedCan't modify reference to localized parenthesized array in list assignmentCan't modify reference to parenthesized hash in list assignmentCan't modify reference to %s in %sCan't declare %s in "%s"attributes.pmpanic: fold_constants JMPENV_PUSH returned %dpanic: unexpected setjmp() result panic: gen_constant_list JMPENV_PUSH returned %dCan't "%s" out of %s%cUseless use of /d modifier in transliteration operatorReplacement list is longer than search listversionAssignment to both a list and a scalarPossible precedence issue with control flow operatorBareword found in conditionalThis use of my() in false conditional is no longer allowedValue of %s%s can be "0"; test with defined() construct() operatorFound = in conditional, should be ==prototype(Attribute prototype(%d%lu%4p) discards earlier prototype attribute in same subPrototype '%d%lu%4p' overridden by attribute 'prototype(%d%lu%4p)' in %-plvalue attribute ignored after the subroutine has been definedENDUNITCHECKCHECKINIT AX_NESTED_EVAL_BEGIN_BLOCKSToo many nested BEGIN blocks, maximum of %ld allowedToo late to run CHECK blockModule::Install::DSLTreating %s::INIT block as BEGIN block as workaroundToo late to run INIT block[Missing comma after first argument to %s functionToo many arguments for %sType of arg %d to %s must be %s (not %s)Not enough arguments for %s"%s %s" used in sort comparisonType of arg %d to %-p must be %s (not %s)Magical list constants are not supported PERL_RAND_SEEDPERL_INTERNAL_RAND_SEEDv5.38.2panic: sysconf: %spagesize unknownpanic: bad pagesize %lddarwinPERL_DESTRUCT_LEVEL-1Unable to flush stdout: %s main::Unbalanced scopes: %ld more ENTERs than LEAVEs Unbalanced saves: %ld more saves than restores Unbalanced tmps: %ld more allocs than frees Unbalanced context: %ld more PUSHes than POPs Unbalanced string table refcount: (%ld) for "%s"Scalars leaked: %ld panic: top_env panic: restartop in perl_run eval_sv()require q%c%s%c/PERL5DB_THREADED1no Devel::use Devel:: split(/,/,q{%s});PERL5DBRecompile perl with -DDEBUGGING to use -D switch (did you mean -d ?) No directory specified for -I use no Module name required with -%c optionInvalid module name %.*s with -%c option: contains single ':'Can't use '%c' after -mname ()Missing argument to -%c"-%c" is on the #! line, it must also be used on the command line%sCan't emulate -%.1s on #! lineUnrecognized switch: -%.1s (-h will show valid options)DB::argsCannot set tied @DB::argsDB::DBDB::dblineDB::subDB::singleDB::traceDB::signal-i used with no filenames on the command line, reading from STDINBEGIN failed--compilation aborted%s failed--call queue abortedpanic: top_env, v=%d panic: restartop in call_list Unexpected exit %luUnexpected exit failure %ldNo code specified for -%cuse Config; Config::_V()use Config; Config::config_vars(qw%c%s%c)/dev/nullhelpUnrecognized switch: -%s (-h will show valid options)PERL5OPTCDIMUdmtwWIllegal switch in PERL5OPT: -%c-Can't ignore signal CHLD, forcing to defaultCan't chdir to %sInternals::Vperl.c:utf8PENPERL_SIGNALSunsafesafePERL_SIGNALS illegal: "%s"mainINC@%240sDB::CORE::GLOBAL::PERL5LIBPERLLIB/Users/runner/hostedtoolcache/perl/5.38.2/arm64/lib/site_perl/5.38.2/darwin-2level/Users/runner/hostedtoolcache/perl/5.38.2/arm64/lib/site_perl/5.38.2/Users/runner/hostedtoolcache/perl/5.38.2/arm64/lib/5.38.2/darwin-2level/Users/runner/hostedtoolcache/perl/5.38.2/arm64/lib/5.38.2PERL_USE_UNSAFE_INC./dev/fd/Wrong syntax (suid) fd script name "%s" Missing (suid) fd script name rCan't open /dev/null: %s Can't open perl script "%s": %s Illegal suidscriptYOU HAVEN'T DISABLED SET-ID SCRIPTS IN THE KERNEL YET! FIX YOUR KERNEL, PUT A C WRAPPER AROUND THIS SCRIPT, OR USE -u AND UNDUMP! No Perl script found in input perlPERLCompiled at Feb 14 2024 13:44:31",IO::File::ISAIO::Handle::IO::Seekable::Exporter::stdinstdoutstderr%s syntax OK -0[octal/hexadecimal] specify record separator (\0, if no argument) -a autosplit mode with -n or -p (splits $_ into @F) -C[number/list] enables the listed Unicode features -c check syntax only (runs BEGIN and CHECK blocks) -d[t][:MOD] run program under debugger or module Devel::MOD -D[number/letters] set debugging flags (argument is a bit mask or alphabets) -e commandline one line of program (several -e's allowed, omit programfile) -E commandline like -e, but enables all optional features -f don't do $sitelib/sitecustomize.pl at startup -F/pattern/ split() pattern for -a switch (//'s are optional) -g read all input in one go (slurp), rather than line-by-line (alias for -0777) -i[extension] edit <> files in place (makes backup if extension supplied) -Idirectory specify @INC/#include directory (several -I's allowed) -l[octnum] enable line ending processing, specifies line terminator -[mM][-]module execute "use/no module..." before executing program -n assume "while (<>) { ... }" loop around program -p assume loop like -n but print line also, like sed -s enable rudimentary parsing for switches after programfile -S look for programfile using PATH environment variable -t enable tainting warnings -T enable tainting checks -u dump core after parsing program -U allow unsafe operations -v print version, patchlevel and license -V[:configvar] print configuration summary (or a single Config.pm variable) -w enable many useful warnings -W enable all warnings -x[directory] ignore text before #!perl line (optionally cd to directory) -X disable all warnings Run 'perldoc perl' for more help with Perl. Usage: %s [switches] [--] [programfile] [arguments] This is perl 5, version 38, subversion 2 (%-p) built for darwin-2level Copyright 1987-2023, Larry Wall Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using "man perl" or "perldoc perl". If you have access to the Internet, point your browser at https://www.perl.org/, the Perl Home Page. --xprogram input from stdinNo %s allowed with (suid) fdscript0ENVmain::F/5.38.2/darwin-2level/5.38.2/darwin-2level.../../%s/%sisaUsage: %2p::%2p(%s)Usage: %2p(%s)Usage: CODE(0x%lx)(%s)reference, kindobject-ref, methodUNIVERSALUsage: invocant->DOES(kind)svsv, failok=0SCALAR[, ON]SCALARSCALAR[, REFCOUNT]hvfilehandle[,args]inputoutputdetailsget_layers: unknown argument '%s'%-p(%-p)utf8name[, all ][all]NULL array element in re::regnames()APTURE_ALLpackage, ...all$key$key, $value$lastkeyutf8::unicode_to_nativeutf8::native_to_unicodeRegexp::DESTROYdluaaaUNIVERSAL::isaUNIVERSAL::canUNIVERSAL::DOESUNIVERSAL::VERSIONversion::_VERSIONversion::()version::newversion::parseversion::(""version::stringifyversion::(0+version::numifyversion::normalversion::(cmpversion::(<=>version::vcmpversion::(boolversion::booleanversion::(+version::(-version::(*version::(/version::(+=version::(-=version::(*=version::(/=version::(absversion::(nomethodversion::noopversion::is_alphaversion::qvversion::declareversion::is_qvutf8::is_utf8utf8::validutf8::encodeutf8::decodeutf8::upgradeutf8::downgradeInternals::SvREADONLY\[$%@];$Internals::SvREFCNTInternals::hv_clear_placeholders\%constant::_make_const\[$@]PerlIO::get_layers*;@re::is_regexpre::regname;$$re::regnames;$re::regnames_countre::regexp_patternTie::Hash::NamedCapture::_tie_itTie::Hash::NamedCapture::TIEHASHTie::Hash::NamedCapture::FETCHTie::Hash::NamedCapture::STORETie::Hash::NamedCapture::DELETETie::Hash::NamedCapture::CLEARTie::Hash::NamedCapture::EXISTSTie::Hash::NamedCapture::SCALARTie::Hash::NamedCapture::FIRSTKEYTie::Hash::NamedCapture::NEXTKEYTie::Hash::NamedCapture::flagsUsage: UNIVERSAL::VERSION(sv, ...)Cannot find version of an unblessed reference%2p does not define $%2p::VERSION--version check failed%-p defines neither package nor VERSION--version check failedqv%2p version %-p required--this is only version %-plobj, ...operation not supported with version objectlobj is not of type versionv%sUsage: version::new(class, version)verver is not of type versionlobj, robj, ...alphalobjInvalid version format (version required)dirhandlefilehandleBad symbol for %sISACannot convert a reference to %s to typeglobSUPER::SUPERIO::FileIO/File.pmCan't locate object method %d%lu%9p via package %7pCan't locate object method %d%lu%9p via package %5p (perhaps you forgot to load %5p?)Use of inherited AUTOLOAD for non-method %-p::%d%lu%4p() is no longer allowedHad to create %d%lu%4p unexpectedlyName "%2p::%2p" used only once: possible typo%d%lu%4p::_GEN_%ldAttempt to free unreferenced glob pointerspanic: gp_free failed to free glob pointer - something is repeatedly re-creating entries((niloverload???%s method "%-256p" overloading "%s" in package "%3p"Stub found while resolvingCan't resolveOverloaded dereference did not return a referenceoverloadingOperation "%s": no method found,%sargument %s%-p%s%-p left in overloaded package has no overloaded magic, right argument in overloaded package , right argument has no overloaded magicCopy method did not return a referencepanic: gv name too long (%lu)IO::File::panic: sv_upgrade to unknown type %luCan't use anonymous symbol table for method lookupCORECan't locate package %-p for @%2p::ISAWhile trying to resolve method call %.*s->%.*s() can not locate package %5p yet it is mentioned in @%.*s::ISA (perhaps you forgot to load %5p?)evalbytes&CORE::%s cannot be called directlyVariable "%c%d%lu%4p" is not imported (Did you mean &%d%lu%4p instead?) Global symbol "%s%d%lu%4p" requires explicit package name (did you forget to declare "my %s%d%lu%4p"?)%::ErrnoTie::Hash::NamedCapture$%c is no longer supported as of Perl 5.30_tie_itpanic: Can't use %c%c because %s is not availablepanic: Can't use %c%c because %s does not define _tie_itEXPORTEXPORT_OKEXPORT_FAILEXPORT_TAGSargsSIGHILD_ERROR_NATIVEAPTURENCODINGLOBAL_PHASEOOK AST_FH AST_SUCCESSFUL_PATTERN ATCHREMATCHOSTMATCHAFE_LOCALESAINTNICODETF8LOCALETF8CACHEARNING_BITS ()(${}(@{}(%{}(*{}(&{}(++(--(bool(0+(""(!(=(abs(neg(<>(int(<(<=(>(>=(==(!=(lt(le(gt(ge(eq(ne(nomethod(+(+=(-(-=(*(*=(/(/=(%(%=(**(**=(<<(<<=(>>(>>=(&(&=(&.(&.=(|(|=(|.(|.=(^(^=(^.(^.=(<=>(cmp(~(~.(atan2(cos(sin(exp(log(sqrt(x(x=(.(.=(~~(-X(qrLexing code internal error (%s)lex_start ;lex_stuff_pvnLexing code attempted to stuff non-Latin-1 character into Latin-1 inputlex_stuff_svlex_unstufflex_read_tolex_discard_tolex_next_chunk;}continue{print or die qq(-p destination: $!\n);};}lex_peek_unicharlex_read_unicharlex_read_space$@%*;[]&\_+Prototype after '%c' for %-p : %sMissing ']' in prototype for %-p : %sIllegal character in prototype for %-p : %sIllegal character after '_' in prototype for %-p : %scharnames_charnames:full:shortUnknown charname ''Unknown charname '%s'charnames alias definitions may not contain trailing white-space; marked by <-- HERE in %.*s<-- HERE %.*sMalformed UTF-8 returned by %.*s immediately after '%.*s'Invalid character in \N{...}; marked by <-- HERE in %.*s<-- HERE %.*scharnames alias definitions may not contain a sequence of multiple spaces; marked by <-- HERE in %.*s<-- HERE %.*sSource filters apply only to byte streamsfilter_del can only delete in reverse order (currently)Bad evalled substitution patternSequence (?{...}) not terminated with ')'Use of unassigned code point or non-standalone grapheme for a delimiter is not allowed(<[{«»܆༺༼᚛‘’“”‵‶‷‹›⁅⁍⁽₍→↛↝↠↣↦↪↬↱↳⇀⇁⇉⇏⇒⇛⇝⇢⇥⇨⇴⇶⇸⇻⇾∈∉∊≤≦≨≪≮≰≲≴≺≼≾⊀⊂⊄⊆⊈⊊⊣⊦⊨⊩⊰⋐⋖⋘⋜⋞⋠⋦⋨⋲⋳⋴⋶⋷⌈⌊⌦〈⍈⏩⏭☛☞⚞❨❪❬❮❰❲❴⟃⟅⟈⟞⟦⟨⟪⟬⟮⟴⟶⟹⟼⟾⟿⤀⤁⤃⤅⤇⤍⤏⤐⤑⤔⤕⤖⤗⤘⤚⤜⤞⤠⤳⤷⥅⥇⥓⥗⥛⥟⥤⥬⥭⥱⥲⥴⥵⥹⦃⦅⦇⦉⦋⦍⦏⦑⦓⦕⦗⦨⦪⦳⧀⧘⧚⧼⩹⩻⩽⩿⪁⪃⪅⪇⪉⪍⪕⪗⪙⪛⪝⪟⪡⪦⪨⪪⪬⪯⪱⪳⪵⪷⪹⪻⪽⪿⫁⫃⫅⫇⫉⫋⫏⫑⫕⫥⫷⫹⭆⭇⭈⭌⭢⭬⭲⭼⮆⮊⮕⮚⮞⮡⮣⮩⮫⮱⮳⯮⸂⸃⸄⸅⸉⸊⸌⸍⸑⸜⸝⸠⸡⸢⸤⸦⸨⸶⹂⹕⹗⹙⹛〈《「『【〔〖〘〚〝꧁﴾﹙﹛﹝﹤(<[{⦅「→𝄃𝄆👉🔈🔉🔊🕻🖙🖛🖝🗦🠂🠆🠊🠒🠖🠚🠞🠢🠦🠪🠮🠲🠶🠺🠾🡂🡆🡒🡢🡪🡲🡺🢂🢒🢖🢚🢡🢣🢥🢧🢩🢫)>]}»«܇༻༽᚜’‘”“′″‴›‹⁆⁌⁾₎←↚↜↞↢↤↩↫↰↲↼↽⇇⇍⇐⇚⇜⇠⇤⇦⬰⬱⇷⇺⇽∋∌∍≥≧≩≫≯≱≳≵≻≽≿⊁⊃⊅⊇⊉⊋⊢⫞⫤⫣⊱⋑⋗⋙⋝⋟⋡⋧⋩⋺⋻⋼⋽⋾⌉⌋⌫〉⍇⏪⏮☚☜⚟❩❫❭❯❱❳❵⟄⟆⟉⟝⟧⟩⟫⟭⟯⬲⟵⟸⟻⟽⬳⬴⬵⤂⬶⤆⤌⤎⬷⬸⬹⬺⬻⬼⬽⤙⤛⤝⤟⬿⤶⥆⬾⥒⥖⥚⥞⥢⥪⥫⭀⭁⭋⭂⥻⦄⦆⦈⦊⦌⦐⦎⦒⦔⦖⦘⦩⦫⦴⧁⧙⧛⧽⩺⩼⩾⪀⪂⪄⪆⪈⪊⪎⪖⪘⪚⪜⪞⪠⪢⪧⪩⪫⪭⪰⪲⪴⪶⪸⪺⪼⪾⫀⫂⫄⫆⫈⫊⫌⫐⫒⫖⊫⫸⫺⭅⭉⭊⥳⭠⭪⭰⭺⮄⮈⬅⮘⮜⮠⮢⮨⮪⮰⮲⯬⸃⸂⸅⸄⸊⸉⸍⸌⸐⸝⸜⸡⸠⸣⸥⸧⸩⸷„⹖⹘⹚⹜〉》」』】〕〗〙〛〞꧂﴿﹚﹜﹞﹥)>]}⦆」←𝄂𝄇👈🕨🕩🕪🕽🖘🖚🖜🗧🠀🠄🠈🠐🠔🠘🠜🠠🠤🠨🠬🠰🠴🠸🠼🡀🡄🡐🡠🡨🡰🡸🢀🢐🢔🢘🢠🢢🢦🢤🢨🢪«»»܆܇༺༻༼༽᚛᚜‘’’“””‵′‶″‷‴‹››⁅⁆⁍⁌⁽⁾₍₎→←↛↚↝↜↠↞↣↢↦↤↪↩↬↫↱↰↳↲⇀↼⇁↽⇉⇇⇏⇍⇒⇐⇛⇚⇝⇜⇢⇠⇥⇤⇨⇦⇴⬰⇶⬱⇸⇷⇻⇺⇾⇽∈∋∉∌∊∍≤≥≦≧≨≩≪≫≮≯≰≱≲≳≴≵≺≻≼≽≾≿⊀⊁⊂⊃⊄⊅⊆⊇⊈⊉⊊⊋⊣⊢⊦⫞⊨⫤⊩⫣⊰⊱⋐⋑⋖⋗⋘⋙⋜⋝⋞⋟⋠⋡⋦⋧⋨⋩⋲⋺⋳⋻⋴⋼⋶⋽⋷⋾⌈⌉⌊⌋⌦⌫〈〉⍈⍇⏩⏪⏭⏮☛☚☞☜⚞⚟❨❩❪❫❬❭❮❯❰❱❲❳❴❵⟃⟄⟅⟆⟈⟉⟞⟝⟦⟧⟨⟩⟪⟫⟬⟭⟮⟯⟴⬲⟶⟵⟹⟸⟼⟻⟾⟽⟿⬳⤀⬴⤁⬵⤃⤂⤅⬶⤇⤆⤍⤌⤏⤎⤐⬷⤑⬸⤔⬹⤕⬺⤖⬻⤗⬼⤘⬽⤚⤙⤜⤛⤞⤝⤠⤟⤳⬿⤷⤶⥅⥆⥇⬾⥓⥒⥗⥖⥛⥚⥟⥞⥤⥢⥬⥪⥭⥫⥱⭀⥲⭁⥴⭋⥵⭂⥹⥻⦃⦄⦅⦆⦇⦈⦉⦊⦋⦌⦍⦐⦏⦎⦑⦒⦓⦔⦕⦖⦗⦘⦨⦩⦪⦫⦳⦴⧀⧁⧘⧙⧚⧛⧼⧽⩹⩺⩻⩼⩽⩾⩿⪀⪁⪂⪃⪄⪅⪆⪇⪈⪉⪊⪍⪎⪕⪖⪗⪘⪙⪚⪛⪜⪝⪞⪟⪠⪡⪢⪦⪧⪨⪩⪪⪫⪬⪭⪯⪰⪱⪲⪳⪴⪵⪶⪷⪸⪹⪺⪻⪼⪽⪾⪿⫀⫁⫂⫃⫄⫅⫆⫇⫈⫉⫊⫋⫌⫏⫐⫑⫒⫕⫖⫥⊫⫷⫸⫹⫺⭆⭅⭇⭉⭈⭊⭌⥳⭢⭠⭬⭪⭲⭰⭼⭺⮆⮄⮊⮈⮕⬅⮚⮘⮞⮜⮡⮠⮣⮢⮩⮨⮫⮪⮱⮰⮳⮲⯮⯬⸂⸃⸃⸄⸅⸅⸉⸊⸊⸌⸍⸍⸑⸐⸜⸝⸝⸠⸡⸡⸢⸣⸤⸥⸦⸧⸨⸩⸶⸷⹂„⹕⹖⹗⹘⹙⹚⹛⹜〈〉《》「」『』【】〔〕〖〗〘〙〚〛〝〞꧁꧂﴾﴿﹙﹚﹛﹜﹝﹞﹤﹥()<>[]{}⦅⦆「」→←𝄃𝄂𝄆𝄇👉👈🔈🕨🔉🕩🔊🕪🕻🕽🖙🖘🖛🖚🖝🖜🗦🗧🠂🠀🠆🠄🠊🠈🠒🠐🠖🠔🠚🠘🠞🠜🠢🠠🠦🠤🠪🠨🠮🠬🠲🠰🠶🠴🠺🠸🠾🠼🡂🡀🡆🡄🡒🡐🡢🡠🡪🡨🡲🡰🡺🡸🢂🢀🢒🢐🢖🢔🢚🢘🢡🢠🢣🢢🢥🢦🢧🢤🢩🢨🢫🢪(<[{)>]}([{<)]}>Use of '%d%lu%4p' is experimental as a string delimiterUse of '%d%lu%4p' is deprecated as a string delimiterNumber too longpanic: scan_num, *s=%dbinaryoctalhexadecimalBinaryOctalHexadecimal0b111111111111111111111111111111110377777777770xffffffffMisplaced _ in numberIllegal octal digit '%c'Illegal binary digit '%c'Integer overflow in %s numberHexadecimal float: exponent underflowHexadecimal float: exponent overflowNo digits found for %s literal%s number > %s non-portable0o37777777777integer+-0123456789_Hexadecimal float: mantissa overflowfloatmethod%-p%s had compilation errors. %-pExecution of %s aborted due to compilation errors. %s had compilation errors. Execution of %s aborted due to compilation errors. at EOFnext token ???at end of linewithin patternwithin stringnext char ^%c\%03o at %s line %u, near "%d%lu%4p" %-p (Might be a runaway multi-line %c%c string starting on line %u) Integer overflow in decimal numberParsing code internal error (%s)parse_blockparse_barestmtparse_labelParse errorxparse_fullstmtparse_stmtseqparse_subsignaturelineUseless use of \EL\uU\lLUFpanic: yylex, *s=%u*[{[#!%*<>()-=])} =wds]rnftbxcavaA01! zZ79~[\]^_?sub[...]{...}Ambiguous use of %c{%s%s} resolved to %c%s%sAmbiguous use of %c{%-p} resolved to %c%-pWarning: Use of "%d%lu%4p" without parentheses is ambiguousqAmbiguous range in transliteration operatorInvalid range "%c-%c" in transliteration operatorInvalid range "\x{%04lX}-\x{%04lX}" in transliteration operator:'{$()| Possible unintended interpolation of $\ in regex\%c better written as $%clLuUEQFUnrecognized escape \%c passed throughMissing braces on \N{}Missing right brace on \N{}Missing right brace on \N{} or unescaped left brace after \NInvalid hexadecimal number in \N{U+...}\N{_}\N{U+%02X.\N{U+%X.%X%.*s must not be a named sequence in transliteration operatorMissing control char name in \cpanic: constant overflowed allocated space, %lu >= %luqrtrsqqUnmatched right curly bracket$:@%&*;\[]Illegal character following sigil in a subroutine signature'#' not allowed immediately following a sigil in a subroutine signature=~>Illegal operator following parameter in a subroutine signatureA signature parameter must start with '$', '@' or '%'Format not terminatedMissing right curly or square bracketBEGIN { require 'perl5db.pl' };use feature ':5.38';LINE: while (<>) {chomp;our @F=split(%s););our @F=split(' ');=====+-*/%.^&|<Reversed %c= operator=cut<<<<<>>>>>NumberBad plugin affecting keyword '%s'Bad infix plugin result (%zd) - did not consume entire identifier <%s> CORE::%d%lu%4p is not a keyworddump() must be written as CORE::dump() as of Perl 5.30Ambiguous call resolved as CORE::%s(), qualify as such or use &ADJUST is experimentaltry/catch is experimentalclass is experimentaldefer is experimentalAnyDBM_File::ISANDBM_File::DB_File::GDBM_File::SDBM_File::ODBM_File::field is experimentalfieldtry/catch/finally is experimentalgiven is deprecated|&*+-=!?:.Precedence problem: open %d%lu%4p should be open(%d%lu%4p)subroutine namemethod is experimentalwhen is deprecatedMissing name in "%s"?Prototype not terminatedIllegal declaration of anonymous subroutineIllegal declaration of subroutine %-pCORE::Missing $ on loop variablefor my (...) is experimentalmsixxnopnadlumsixxnopnadlugcSearch pattern not terminatedUse of /c modifier is meaningless without /gUnknown regexp modifier "/%.*s"Regexp modifiers "/%c" and "/%c" are mutually exclusiveRegexp modifier "/a" may appear a maximum of twiceRegexp modifier "/%c" may not appear twiceCan't redeclare "%s" in "%s"No such class %.1000s__PACKAGE__"%s" not allowed in expressionuseno;&/|})]oaiuwef!=%s (...) interpreted as functionNo comma allowed after %sCan't find string terminator %c%d%lu%4p%c anywhere before EOFPossible attempt to separate words with commasPossible attempt to put comments in qw() list<> at require-statement should be quotesSubstitution pattern not terminatedSubstitution replacement not terminatedmsixxnopnadlugcerUse of /c modifier is meaningless in s///eval do {}Transliteration pattern not terminatedTransliteration replacement not terminated\x%02XUnrecognized character %s; marked by <-- HERE after %d%lu%4p<-- HERE near column %dperl -indirCan't exec %sToo late for "-%.*s" optionUnsupported script encoding UTF-32LEUnsupported script encoding UTF-32BEpanic: utf16_textfilter called in block mode (for %d characters)panic: utf16_textfilter called after error (status=%ld)=>Smartmatch is deprecatedBarewordBad name after %d%lu%4p%s'Bareword "%d%lu%4p" refers to nonexistent packageOperator or semicolon missing before %c%d%lu%4pAmbiguous use of %c resolved as operator %cUse of := for an empty attribute list is not allowedUnterminated attribute parameter in attribute listInvalid separator character %c%c%c in attribute listUnterminated attribute listSubroutine attributes must come before the signatureUnmatched right square bracketsyntax error([{< )]}> )]}>Version control conflict marker!=~ should be !~Unterminated delimiter for here documentUse of bare << to mean <<"" is forbiddenDelimiter for here document is too longIndentation on line %d of here-doc doesn't match delimiterExcessively long <> operatorUnterminated <> operatorGlob not terminatedreadline{$:+-@Array lengthScalarFinal $ should be \$ or $nameMultidimensional syntax %d%lu%4p not supportedYou need to quote "%d%lu%4p"$@"'`qArraystudy%s found where operator expected (Missing semicolon on previous line?) (Do you need to predeclare "%d%lu%4p"?) (Missing operator before "%d%lu%4p"?)StringBackticksCan't use \%c to mean $%c in expressionBackslashNo package name allowed for %s %s in "our"variablePossible unintended interpolation of %d%lu%4p in stringunknown$^H{} is not definedPropagatedCall to &{$^H{}} did not return a defined valueConstant(%.*s)%s %s%s%sOld package separator used in string (Did you mean "%d%lu%4p" instead?) Old package separator "'" deprecatedlvalueconst:const is experimental:const is not permitted on named subroutinesparse_exprmsyqqwxrADJUSTcatch block requires a (VAR)UnimplementedMultiple slurpy parameters not allowedA slurpy parameter may not have a default valueSlurpy parameter not lastOptional parameter lacks default expressionMandatory parameter follows optional parameterExperimental subroutine signatures not enabledCan't undef active subroutinepanic: pad_add_name_pvn illegal flag bits 0x%lxpanic: pad_alloc, %p!=%ppanic: pad_findmy_pvn illegal flag bits 0x%lx%d%lu%4p never introducedpanic: pad_swipe curpad, %p!=%ppanic: pad_swipe po=%ld, fill=%ldpanic: pad_free curpad, %p!=%ppanic: pad_free poPADNAME = 0x%lx(0x%lx) PAD = 0x%lx(0x%lx) %2d. 0x%lx<%lu> FAKE "%s" flags=0x%lx index=%lu %2d. 0x%lx<%lu> (%lu,%lu) "%s" %2d. 0x%lx<%lu> panic: no pad in cv_clone"%s" %s %d%lu%4p masks earlier declaration in same %sscopestatement"our" variable %d%lu%4p redeclared (Did you mean "local" instead of "our"?) panic: pad_findlex illegal flag bits 0x%lxField %-p is not accessible outside a method%s "%d%lu%4p" will not stay sharedSubroutineVariableField %-p of %10p is not accessible in a method of %10p%s "%d%lu%4p" is not availableConstants from lexical variables potentially modified elsewhere are no longer permittedSurrogates should never appear in well-formed text, and therefore shouldn't be the basis for line breakingSupplanted by Line_Break property values; see www.unicode.org/reports/tr14PERL_RE_COLORSregcomp%s in regex m/%d%lu%4p%s/Regexp out of spaceEval-group in insecure regular expressionpanic: reg returned failure to re_op_compile, flags=%#lxfRegexppanic! %s: %d: Tried to warn when none expected at '%s'regcomp.cPerl folding rules are not up-to-date for 0x%02X; please use the perlbug utility to report; in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/panic: %s: %d: negative offset: %ld trying to output message for pattern %.*s%d%lu%4p~ panic: regfree data code '%c'%luOverloaded qr did not return a REGEXPCorrupted regexp opcode %d > %dE_COMPILE_RECURSION_LIMIT%s in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Too many nested open parensUnmatched (In '(*VERB...)', the '(' and '*' must be adjacentIn '(*...)', the '(' and '*' must be adjacentUnterminated verb pattern argumentUnterminated '(*...' argumentUnterminated verb patternUnterminated '(*...' constructACCEPTCOMMITFAILMARKPRUNESKIPTHENasratomic_script_runatomicplbpositive_lookbehindplapositive_lookaheadnlbnegative_lookbehindnlanegative_lookaheadsrscript_run'(*%d%lu%4p' requires a terminating ':' in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Unknown verb pattern '%d%lu%4p' in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Unknown '(*...)' construct '%d%lu%4p' in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Verb pattern '%.*s' has a mandatory argument in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/SInvalid reference to groupIn '(?...)', the '(' and '?' must be adjacentSequence (?P<... not terminatedSequence (?P>... not terminatedSequence (%.*s...) not recognized in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/? m can't match in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Useless use of greediness modifier '%c' in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/%d%lu%4p matches null string many times in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Nested quantifiersUse of quantifier '*' is not allowed in Unicode property wildcard subpatternspanic: regclass returned failure to regatom, flags=%#lx in regex m/%d%lu%4p%s/Unmatched [panic: reg returned failure to regatom, flags=%#lx in regex m/%d%lu%4p%s/Internal urpQuantifier follows nothingUse of '\G' is not allowed in Unicode property wildcard subpatterns\K not permitted in lookahead/lookbehind\C no longer supportedMissing right brace on \%c{} in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Empty \%c{} in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/cb'%d%lu%4p' is an unknown bound type in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Using /u for '%.*s' instead of /%s in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Unescaped left brace in regex is illegal hereSequence %.2s... not terminated in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Unterminated \g{...} patternReference to invalid group 0Reference to nonexistent groupUnterminated \g... patternReference to nonexistent or unclosed groupTrailing \panic: grok_bslash_N set NEED_UTF8Unrecognized escape \%.1s passed through in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Unescaped left brace in regex is passed through in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Unescaped literal '%c' in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/ in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/panic: loc_correspondence[%d] is 0 in regex m/%d%lu%4p%s/Internal disaster#%d POSIX syntax [%c %c] belongs inside character classes%s in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/ (but this one isn't implemented) (but this one isn't fully valid)Literal vertical space in [] is illegal except under /x\N in a character class must be a named character: \N{...}Ignoring zero length \N{} in character class in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/\N{} here is restricted to one characterUsing just the first character returned by \N{} in character class in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Use of '\%c%c' is not allowed in Unicode property wildcard subpatterns in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Empty \%c in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Character following \%c must be '{' or a single-character Unicode property name in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/%d%lu%4p in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Unicode string properties are not implemented in (?[...])Using just the single character results returned by \p{} in (?[...]) in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Inverting a character class which contains a multi-character sequence is illegal\x{%lX}!+foo\p{Alnum}utf8.pmNeed exactly 3 octal digitsUnrecognized escape \%c in character class in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Unrecognized escape \%c in character class passed through in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/False [] range "%d%lu%4p" in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Invalid [] range "%d%lu%4p" in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/False [] range "%*.*s" in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Both or neither range ends should be Unicode in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Ranges of ASCII printables should be some subset of "0-9", "A-Z", or "a-z" in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Ranges of digits should be from the same group of 10 in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/-[]\^"%.*s" is more clearly written simply as "%s" in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/?:])Assuming NOT a POSIX class since it doesn't start with a '[' in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Assuming NOT a POSIX class since no blanks are allowed in one in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/POSIX syntax [%c %c] is reserved for future extensions in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Assuming NOT a POSIX class since the '^' must come after the colon in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Assuming NOT a POSIX class since a semi-colon was found instead of a colon in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Assuming NOT a POSIX class since there must be a starting ':' in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/wordalphspacgrapasciblancntralnuloweuppedigiprinpuncxdigitAssuming NOT a POSIX class since the name must be all lowercase letters in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Assuming NOT a POSIX class since there is no terminating ':' in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Assuming NOT a POSIX class since there is no terminating ']' in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/POSIX class [:%s%d%lu%4p:] unknown in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/utf8::namena([<)]>)]>Unicode property wildcard not terminatedThe Unicode property wildcards feature is experimentalplaceholderNo Unicode property value wildcard matches:_charnames::_loose_regcomp_lookuppanic: Can't find '_charnames::_loose_regcomp_lookupisnumericvaluenvnumericcjkcanonicalcombiningclasscccageinpresentinspacegc=lInsecure user-defined property; Timeout waiting for another thread to defineInfinite recursion in user-defined propertyError " in expansion of %.*s%.0f%.*s%.*e%.*s%s%lu/%luUse of '%.*s' in \p{} or \P{} is deprecated because: %sprivate_use%d=Insecure private-use overrideThe private_use feature is experimentalUnknown user-defined property nameIllegal user-defined property nameCan't find Unicode property definition \p{ "~HANGUL SYLLABLE _charnames::_get_names_infopanic: Can't find '_charnames::_get_names_info -0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ() ABCDEGHIJKLMNOPRSTUWYGGGNDDDRMBBBSSJJJCKTPHAAEYAYAEEOEYEOYEOWAWAEOEYOUWEOWEWIYUEUYIIGSNJNHLGLMLBLSLTLPLHBSNGlowhighlegal%s-0000%s-%XZero length \N{}U+panic: hv_store() unexpectedly failed\x{panic: reg returned failure to grok_bslash_N, flags=%#lx in regex m/%d%lu%4p%s/Invalid quantifier in {,}Quantifier in {,} bigger than %d in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/^msixxnExpecting interpolated extended charclassUnexpected '(' with no preceding operatorUnexpected ')'Unexpected binary operator '%c' with no preceding operand in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Unexpected characterOperand with no preceding operatorSyntax error in (?[...])Unexpected ']' with no following ')' in (?[...Incomplete expression within '(?[ ])'\x{%lX}-\x{%lX}panic: regclass returned failure to handle_sets, flags=%#lx in regex m/%d%lu%4p%s/Use of modifier '-m' is not allowed in Unicode property wildcard subpatternsRegexp modifier "%c" may appear a maximum of twice in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Regexp modifier "%c" may not appear twice in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Regexp modifiers "%c" and "%c" are mutually exclusive in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Regexp modifier "%c" may not appear after the "-" in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Useless (%s%c) - %suse /%c modifier in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/?-don't Useless (%sc) - %suse /gc modifier in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Useless use of (?-p) in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Use of modifier '%c' is not allowed in Unicode property wildcard subpatterns in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/Sequence (?... not terminated%04lX%cINFTY%c%04lX%c%04lX%c%04lX%c1.12.02.13.03.13.24.04.15.05.15.26.06.16.26.37.08.09.010.011.012.012.113.014.015.0NAUnassignedunassignedV10_0V11_0V12_0V12_1V13_0V14_0V15_0V1_1V2_0V2_1V3_0V3_1V3_2V4_0V4_1V5_0V5_1V5_2V6_0V6_1V6_2V6_3V7_0V8_0V9_0v100v11v110v120v121v130v140v150v20v21v30v31v32v40v41v50v51v52v60v61v62v63v70v80v90FFalsefalsenNotTruetrueYyYesyesALalANanArabic_LetterarabicletterArabic_NumberarabicnumberbBNbnBoundary_NeutralboundaryneutralCommon_SeparatorcommonseparatorCScsENenESesETetEuropean_NumbereuropeannumberEuropean_SeparatoreuropeanseparatorEuropean_TerminatoreuropeanterminatorFirst_Strong_IsolatefirststrongisolateFSIfsiLeft_To_RightlefttorightLeft_To_Right_EmbeddinglefttorightembeddingLeft_To_Right_IsolatelefttorightisolateLeft_To_Right_OverridelefttorightoverrideLRElreLRIlriLROlroNonspacing_MarknonspacingmarkNSMnsmONonOther_NeutralotherneutralParagraph_SeparatorparagraphseparatorPDFpdfPDIpdiPop_Directional_FormatpopdirectionalformatPop_Directional_IsolatepopdirectionalisolateRight_To_LeftrighttoleftRight_To_Left_EmbeddingrighttoleftembeddingRight_To_Left_IsolaterighttoleftisolateRight_To_Left_OverriderighttoleftoverrideRLErleRLIrliRLOrloSegment_SeparatorsegmentseparatorWhite_SpacewhitespaceWSwsAdlamadlamAegean NumbersAegean_NumbersaegeannumbersAhomahomAlchemicalalchemicalAlchemical SymbolsAlchemical_SymbolsalchemicalsymbolsAlphabetic_PFalphabeticpfAlphabetic Presentation FormsAlphabetic_Presentation_FormsalphabeticpresentationformsAnatolian HieroglyphsAnatolian_HieroglyphsanatolianhieroglyphsAncient_Greek_MusicancientgreekmusicAncient Greek Musical NotationAncient_Greek_Musical_NotationancientgreekmusicalnotationAncient Greek NumbersAncient_Greek_NumbersancientgreeknumbersAncient SymbolsAncient_SymbolsancientsymbolsArabicarabicArabic_Ext_AarabicextaArabic_Ext_BarabicextbArabic_Ext_CarabicextcArabic Extended-AArabic_Extended_AarabicextendedaArabic Extended-BArabic_Extended_BarabicextendedbArabic Extended-CArabic_Extended_CarabicextendedcArabic_MatharabicmathArabic Mathematical Alphabetic SymbolsArabic_Mathematical_Alphabetic_SymbolsarabicmathematicalalphabeticsymbolsArabic_PF_AarabicpfaArabic_PF_BarabicpfbArabic Presentation Forms-AArabic_Presentation_Forms_AarabicpresentationformsaArabic Presentation Forms-BArabic_Presentation_Forms_BarabicpresentationformsbArabic_SuparabicsupArabic SupplementArabic_SupplementarabicsupplementArmenianarmenianArrowsarrowsASCIIasciiAvestanavestanBalinesebalineseBamumbamumBamum_SupbamumsupBamum SupplementBamum_SupplementbamumsupplementBasic LatinBasic_LatinbasiclatinBassa VahBassa_VahbassavahBatakbatakBengalibengaliBhaiksukibhaiksukiBlock ElementsBlock_ElementsblockelementsBopomofobopomofoBopomofo_ExtbopomofoextBopomofo ExtendedBopomofo_ExtendedbopomofoextendedBox DrawingBox_DrawingboxdrawingBrahmibrahmiBraillebrailleBraille PatternsBraille_PatternsbraillepatternsBuginesebugineseBuhidbuhidByzantine_MusicbyzantinemusicByzantine Musical SymbolsByzantine_Musical_SymbolsbyzantinemusicalsymbolsCanadian_SyllabicscanadiansyllabicsCariancarianCaucasian AlbanianCaucasian_AlbaniancaucasianalbanianChakmachakmaChamchamCherokeecherokeeCherokee_SupcherokeesupCherokee SupplementCherokee_SupplementcherokeesupplementChess SymbolsChess_SymbolschesssymbolsChorasmianchorasmianCJKCJK_CompatcjkcompatCJK_Compat_FormscjkcompatformsCJK CompatibilityCJK_CompatibilitycjkcompatibilityCJK Compatibility FormsCJK_Compatibility_FormscjkcompatibilityformsCJK Compatibility IdeographsCJK_Compatibility_IdeographscjkcompatibilityideographsCJK Compatibility Ideographs SupplementCJK_Compatibility_Ideographs_SupplementcjkcompatibilityideographssupplementCJK_Compat_IdeographscjkcompatideographsCJK_Compat_Ideographs_SupcjkcompatideographssupCJK_Ext_AcjkextaCJK_Ext_BcjkextbCJK_Ext_CcjkextcCJK_Ext_DcjkextdCJK_Ext_EcjkexteCJK_Ext_FcjkextfCJK_Ext_GcjkextgCJK_Ext_HcjkexthCJK_Radicals_SupcjkradicalssupCJK Radicals SupplementCJK_Radicals_SupplementcjkradicalssupplementCJK StrokesCJK_StrokescjkstrokesCJK_SymbolscjksymbolsCJK Symbols and PunctuationCJK_Symbols_And_PunctuationcjksymbolsandpunctuationCJK Unified IdeographsCJK_Unified_IdeographscjkunifiedideographsCJK Unified Ideographs Extension ACJK_Unified_Ideographs_Extension_AcjkunifiedideographsextensionaCJK Unified Ideographs Extension BCJK_Unified_Ideographs_Extension_BcjkunifiedideographsextensionbCJK Unified Ideographs Extension CCJK_Unified_Ideographs_Extension_CcjkunifiedideographsextensioncCJK Unified Ideographs Extension DCJK_Unified_Ideographs_Extension_DcjkunifiedideographsextensiondCJK Unified Ideographs Extension ECJK_Unified_Ideographs_Extension_EcjkunifiedideographsextensioneCJK Unified Ideographs Extension FCJK_Unified_Ideographs_Extension_FcjkunifiedideographsextensionfCJK Unified Ideographs Extension GCJK_Unified_Ideographs_Extension_GcjkunifiedideographsextensiongCJK Unified Ideographs Extension HCJK_Unified_Ideographs_Extension_HcjkunifiedideographsextensionhCombining Diacritical MarksCombining_Diacritical_MarkscombiningdiacriticalmarksCombining Diacritical Marks ExtendedCombining_Diacritical_Marks_ExtendedcombiningdiacriticalmarksextendedCombining Diacritical Marks for SymbolsCombining_Diacritical_Marks_For_SymbolscombiningdiacriticalmarksforsymbolsCombining Diacritical Marks SupplementCombining_Diacritical_Marks_SupplementcombiningdiacriticalmarkssupplementCombining Half MarksCombining_Half_MarkscombininghalfmarksCombining_Marks_For_SymbolscombiningmarksforsymbolsCommon Indic Number FormsCommon_Indic_Number_FormscommonindicnumberformsCompat_JamocompatjamoControl PicturesControl_PicturescontrolpicturesCopticcopticCoptic Epact NumbersCoptic_Epact_NumberscopticepactnumbersCounting_RodcountingrodCounting Rod NumeralsCounting_Rod_NumeralscountingrodnumeralsCuneiformcuneiformCuneiform_NumberscuneiformnumbersCuneiform Numbers and PunctuationCuneiform_Numbers_And_PunctuationcuneiformnumbersandpunctuationCurrency SymbolsCurrency_SymbolscurrencysymbolsCypriot SyllabaryCypriot_SyllabarycypriotsyllabaryCypro-MinoanCypro_MinoancyprominoanCyrilliccyrillicCyrillic_Ext_AcyrillicextaCyrillic_Ext_BcyrillicextbCyrillic_Ext_CcyrillicextcCyrillic_Ext_DcyrillicextdCyrillic Extended-ACyrillic_Extended_AcyrillicextendedaCyrillic Extended-BCyrillic_Extended_BcyrillicextendedbCyrillic Extended-CCyrillic_Extended_CcyrillicextendedcCyrillic Extended-DCyrillic_Extended_DcyrillicextendeddCyrillic_SupcyrillicsupCyrillic SupplementCyrillic_SupplementcyrillicsupplementCyrillic_SupplementarycyrillicsupplementaryDeseretdeseretDevanagaridevanagariDevanagari_ExtdevanagariextDevanagari_Ext_AdevanagariextaDevanagari ExtendedDevanagari_ExtendeddevanagariextendedDevanagari Extended-ADevanagari_Extended_AdevanagariextendedaDiacriticalsdiacriticalsDiacriticals_ExtdiacriticalsextDiacriticals_For_SymbolsdiacriticalsforsymbolsDiacriticals_SupdiacriticalssupDingbatsdingbatsDives AkuruDives_AkurudivesakuruDogradograDominodominoDomino TilesDomino_TilesdominotilesDuployanduployanEarly Dynastic CuneiformEarly_Dynastic_CuneiformearlydynasticcuneiformEgyptian Hieroglyph Format ControlsEgyptian_Hieroglyph_Format_ControlsegyptianhieroglyphformatcontrolsEgyptian HieroglyphsEgyptian_HieroglyphsegyptianhieroglyphsElbasanelbasanElymaicelymaicEmoticonsemoticonsEnclosed_AlphanumenclosedalphanumEnclosed AlphanumericsEnclosed_AlphanumericsenclosedalphanumericsEnclosed Alphanumeric SupplementEnclosed_Alphanumeric_SupplementenclosedalphanumericsupplementEnclosed_Alphanum_SupenclosedalphanumsupEnclosed_CJKenclosedcjkEnclosed CJK Letters and MonthsEnclosed_CJK_Letters_And_MonthsenclosedcjklettersandmonthsEnclosed_Ideographic_SupenclosedideographicsupEnclosed Ideographic SupplementEnclosed_Ideographic_SupplementenclosedideographicsupplementEthiopicethiopicEthiopic_ExtethiopicextEthiopic_Ext_AethiopicextaEthiopic_Ext_BethiopicextbEthiopic ExtendedEthiopic_ExtendedethiopicextendedEthiopic Extended-AEthiopic_Extended_AethiopicextendedaEthiopic Extended-BEthiopic_Extended_BethiopicextendedbEthiopic_SupethiopicsupEthiopic SupplementEthiopic_SupplementethiopicsupplementGeneral PunctuationGeneral_PunctuationgeneralpunctuationGeometric ShapesGeometric_ShapesgeometricshapesGeometric_Shapes_ExtgeometricshapesextGeometric Shapes ExtendedGeometric_Shapes_ExtendedgeometricshapesextendedGeorgiangeorgianGeorgian_ExtgeorgianextGeorgian ExtendedGeorgian_ExtendedgeorgianextendedGeorgian_SupgeorgiansupGeorgian SupplementGeorgian_SupplementgeorgiansupplementGlagoliticglagoliticGlagolitic_SupglagoliticsupGlagolitic SupplementGlagolitic_SupplementglagoliticsupplementGothicgothicGranthagranthaGreekgreekGreek and CopticGreek_And_CopticgreekandcopticGreek_ExtgreekextGreek ExtendedGreek_ExtendedgreekextendedGujaratigujaratiGunjala GondiGunjala_GondigunjalagondiGurmukhigurmukhiHalf_And_Full_FormshalfandfullformsHalf_MarkshalfmarksHalfwidth and Fullwidth FormsHalfwidth_And_Fullwidth_FormshalfwidthandfullwidthformsHangulhangulHangul Compatibility JamoHangul_Compatibility_JamohangulcompatibilityjamoHangul JamoHangul_JamohanguljamoHangul Jamo Extended-AHangul_Jamo_Extended_AhanguljamoextendedaHangul Jamo Extended-BHangul_Jamo_Extended_BhanguljamoextendedbHangul SyllablesHangul_SyllableshangulsyllablesHanifi RohingyaHanifi_RohingyahanifirohingyaHanunoohanunooHatranhatranHebrewhebrewHigh Private Use SurrogatesHigh_Private_Use_SurrogateshighprivateusesurrogatesHigh_PU_SurrogateshighpusurrogatesHigh SurrogatesHigh_SurrogateshighsurrogatesHiraganahiraganaIDCidcIdeographic Description CharactersIdeographic_Description_CharactersideographicdescriptioncharactersIdeographic_SymbolsideographicsymbolsIdeographic Symbols and PunctuationIdeographic_Symbols_And_PunctuationideographicsymbolsandpunctuationImperial AramaicImperial_AramaicimperialaramaicIndic_Number_FormsindicnumberformsIndic Siyaq NumbersIndic_Siyaq_NumbersindicsiyaqnumbersInscriptional PahlaviInscriptional_PahlaviinscriptionalpahlaviInscriptional ParthianInscriptional_ParthianinscriptionalparthianIPA_ExtipaextIPA ExtensionsIPA_ExtensionsipaextensionsJamojamoJamo_Ext_AjamoextaJamo_Ext_BjamoextbJavanesejavaneseKaithikaithiKaktovik NumeralsKaktovik_NumeralskaktoviknumeralsKana_Ext_AkanaextaKana_Ext_BkanaextbKana Extended-AKana_Extended_AkanaextendedaKana Extended-BKana_Extended_BkanaextendedbKana_SupkanasupKana SupplementKana_SupplementkanasupplementKanbunkanbunKangxikangxiKangxi RadicalsKangxi_RadicalskangxiradicalsKannadakannadaKatakanakatakanaKatakana_ExtkatakanaextKatakana Phonetic ExtensionsKatakana_Phonetic_ExtensionskatakanaphoneticextensionsKawikawiKayah LiKayah_LikayahliKharoshthikharoshthiKhitan Small ScriptKhitan_Small_ScriptkhitansmallscriptKhmerkhmerKhmer SymbolsKhmer_SymbolskhmersymbolsKhojkikhojkiKhudawadikhudawadiLaolaoLatin_1latin1Latin_Ext_AlatinextaLatin_Ext_AdditionallatinextadditionalLatin_Ext_BlatinextbLatin_Ext_ClatinextcLatin_Ext_DlatinextdLatin_Ext_ElatinexteLatin Extended-ALatin_Extended_AlatinextendedaLatin Extended AdditionalLatin_Extended_AdditionallatinextendedadditionalLatin Extended-BLatin_Extended_BlatinextendedbLatin Extended-CLatin_Extended_ClatinextendedcLatin Extended-DLatin_Extended_DlatinextendeddLatin Extended-ELatin_Extended_ElatinextendedeLatin Extended-FLatin_Extended_FlatinextendedfLatin Extended-GLatin_Extended_GlatinextendedgLatin_Ext_FlatinextfLatin_Ext_GlatinextgLatin_1_Suplatin1supLatin-1 SupplementLatin_1_Supplementlatin1supplementLepchalepchaLetterlike SymbolsLetterlike_SymbolsletterlikesymbolsLimbulimbuLinear ALinear_AlinearaLinear B IdeogramsLinear_B_IdeogramslinearbideogramsLinear B SyllabaryLinear_B_SyllabarylinearbsyllabaryLisulisuLisu_SuplisusupLisu SupplementLisu_SupplementlisusupplementLow SurrogatesLow_SurrogateslowsurrogatesLycianlycianLydianlydianMahajanimahajaniMahjongmahjongMahjong TilesMahjong_TilesmahjongtilesMakasarmakasarMalayalammalayalamMandaicmandaicManichaeanmanichaeanMarchenmarchenMasaram GondiMasaram_GondimasaramgondiMath_AlphanummathalphanumMathematical Alphanumeric SymbolsMathematical_Alphanumeric_SymbolsmathematicalalphanumericsymbolsMathematical OperatorsMathematical_OperatorsmathematicaloperatorsMath_OperatorsmathoperatorsMayan NumeralsMayan_NumeralsmayannumeralsMedefaidrinmedefaidrinMeetei MayekMeetei_MayekmeeteimayekMeetei_Mayek_ExtmeeteimayekextMeetei Mayek ExtensionsMeetei_Mayek_ExtensionsmeeteimayekextensionsMende KikakuiMende_KikakuimendekikakuiMeroitic CursiveMeroitic_CursivemeroiticcursiveMeroitic HieroglyphsMeroitic_HieroglyphsmeroitichieroglyphsMiaomiaoMisc_ArrowsmiscarrowsMiscellaneous Mathematical Symbols-AMiscellaneous_Mathematical_Symbols_AmiscellaneousmathematicalsymbolsaMiscellaneous Mathematical Symbols-BMiscellaneous_Mathematical_Symbols_BmiscellaneousmathematicalsymbolsbMiscellaneous SymbolsMiscellaneous_SymbolsmiscellaneoussymbolsMiscellaneous Symbols and ArrowsMiscellaneous_Symbols_And_ArrowsmiscellaneoussymbolsandarrowsMiscellaneous Symbols and PictographsMiscellaneous_Symbols_And_PictographsmiscellaneoussymbolsandpictographsMiscellaneous TechnicalMiscellaneous_TechnicalmiscellaneoustechnicalMisc_Math_Symbols_AmiscmathsymbolsaMisc_Math_Symbols_BmiscmathsymbolsbMisc_PictographsmiscpictographsMisc_SymbolsmiscsymbolsMisc_TechnicalmisctechnicalModimodiModifier_LettersmodifierlettersModifier Tone LettersModifier_Tone_LettersmodifiertonelettersMongolianmongolianMongolian_SupmongoliansupMongolian SupplementMongolian_SupplementmongoliansupplementMromroMultanimultaniMusicmusicMusical SymbolsMusical_SymbolsmusicalsymbolsMyanmarmyanmarMyanmar_Ext_AmyanmarextaMyanmar_Ext_BmyanmarextbMyanmar Extended-AMyanmar_Extended_AmyanmarextendedaMyanmar Extended-BMyanmar_Extended_BmyanmarextendedbNabataeannabataeanNag MundariNag_MundarinagmundariNandinagarinandinagariNBnbNewanewaNew Tai LueNew_Tai_LuenewtailueNKonkoNo_BlocknoblockNumber FormsNumber_FormsnumberformsNushunushuNyiakeng Puachue HmongNyiakeng_Puachue_HmongnyiakengpuachuehmongOCRocrOghamoghamOl ChikiOl_ChikiolchikiOld HungarianOld_HungarianoldhungarianOld ItalicOld_ItalicolditalicOld North ArabianOld_North_ArabianoldnortharabianOld PermicOld_PermicoldpermicOld PersianOld_PersianoldpersianOld SogdianOld_SogdianoldsogdianOld South ArabianOld_South_ArabianoldsoutharabianOld TurkicOld_TurkicoldturkicOld UyghurOld_UyghurolduyghurOptical Character RecognitionOptical_Character_RecognitionopticalcharacterrecognitionOriyaoriyaOrnamental DingbatsOrnamental_DingbatsornamentaldingbatsOsageosageOsmanyaosmanyaOttoman Siyaq NumbersOttoman_Siyaq_NumbersottomansiyaqnumbersPahawh HmongPahawh_HmongpahawhhmongPalmyrenepalmyrenePau Cin HauPau_Cin_HaupaucinhauPhags-paPhags_PaphagspaPhaistosphaistosPhaistos DiscPhaistos_DiscphaistosdiscPhoenicianphoenicianPhonetic_ExtphoneticextPhonetic ExtensionsPhonetic_ExtensionsphoneticextensionsPhonetic Extensions SupplementPhonetic_Extensions_SupplementphoneticextensionssupplementPhonetic_Ext_SupphoneticextsupPlaying CardsPlaying_CardsplayingcardsPrivate_UseprivateusePrivate Use AreaPrivate_Use_AreaprivateuseareaPsalter PahlaviPsalter_PahlavipsalterpahlaviPUApuaPunctuationpunctuationRejangrejangRumirumiRumi Numeral SymbolsRumi_Numeral_SymbolsruminumeralsymbolsRunicrunicSamaritansamaritanSaurashtrasaurashtraSharadasharadaShavianshavianShorthand Format ControlsShorthand_Format_ControlsshorthandformatcontrolsSiddhamsiddhamSinhalasinhalaSinhala Archaic NumbersSinhala_Archaic_NumberssinhalaarchaicnumbersSmall_FormssmallformsSmall Form VariantsSmall_Form_VariantssmallformvariantsSmall_Kana_ExtsmallkanaextSmall Kana ExtensionSmall_Kana_ExtensionsmallkanaextensionSogdiansogdianSora SompengSora_SompengsorasompengSoyombosoyomboSpacing Modifier LettersSpacing_Modifier_LettersspacingmodifierlettersSpecialsspecialsSundanesesundaneseSundanese_SupsundanesesupSundanese SupplementSundanese_SupplementsundanesesupplementSup_Arrows_AsuparrowsaSup_Arrows_BsuparrowsbSup_Arrows_CsuparrowscSuper_And_SubsuperandsubSuperscripts and SubscriptsSuperscripts_And_SubscriptssuperscriptsandsubscriptsSup_Math_OperatorssupmathoperatorsSupplemental Arrows-ASupplemental_Arrows_AsupplementalarrowsaSupplemental Arrows-BSupplemental_Arrows_BsupplementalarrowsbSupplemental Arrows-CSupplemental_Arrows_CsupplementalarrowscSupplemental Mathematical OperatorsSupplemental_Mathematical_OperatorssupplementalmathematicaloperatorsSupplemental PunctuationSupplemental_PunctuationsupplementalpunctuationSupplemental Symbols and PictographsSupplemental_Symbols_And_PictographssupplementalsymbolsandpictographsSupplementary Private Use Area-ASupplementary_Private_Use_Area_AsupplementaryprivateuseareaaSupplementary Private Use Area-BSupplementary_Private_Use_Area_BsupplementaryprivateuseareabSup_PUA_AsuppuaaSup_PUA_BsuppuabSup_PunctuationsuppunctuationSup_Symbols_And_PictographssupsymbolsandpictographsSutton SignWritingSutton_SignWritingsuttonsignwritingSyloti NagriSyloti_NagrisylotinagriSymbols_And_Pictographs_Ext_AsymbolsandpictographsextaSymbols and Pictographs Extended-ASymbols_And_Pictographs_Extended_AsymbolsandpictographsextendedaSymbols for Legacy ComputingSymbols_For_Legacy_ComputingsymbolsforlegacycomputingSyriacsyriacSyriac_SupsyriacsupSyriac SupplementSyriac_SupplementsyriacsupplementTagalogtagalogTagbanwatagbanwaTagstagsTai LeTai_LetaileTai ThamTai_ThamtaithamTai VietTai_ViettaivietTai_Xuan_JingtaixuanjingTai Xuan Jing SymbolsTai_Xuan_Jing_SymbolstaixuanjingsymbolsTakritakriTamiltamilTamil_SuptamilsupTamil SupplementTamil_SupplementtamilsupplementTangsatangsaTanguttangutTangut ComponentsTangut_ComponentstangutcomponentsTangut_SuptangutsupTangut SupplementTangut_SupplementtangutsupplementTeluguteluguThaanathaanaThaithaiTibetantibetanTifinaghtifinaghTirhutatirhutaTotototoTransport_And_MaptransportandmapTransport and Map SymbolsTransport_And_Map_SymbolstransportandmapsymbolsUCASucasUCAS_ExtucasextUCAS_Ext_AucasextaUgariticugariticUnified Canadian Aboriginal SyllabicsUnified_Canadian_Aboriginal_SyllabicsunifiedcanadianaboriginalsyllabicsUnified Canadian Aboriginal Syllabics ExtendedUnified_Canadian_Aboriginal_Syllabics_ExtendedunifiedcanadianaboriginalsyllabicsextendedUnified Canadian Aboriginal Syllabics Extended-AUnified_Canadian_Aboriginal_Syllabics_Extended_AunifiedcanadianaboriginalsyllabicsextendedaVaivaiVariation SelectorsVariation_SelectorsvariationselectorsVariation Selectors SupplementVariation_Selectors_SupplementvariationselectorssupplementVedic_ExtvedicextVedic ExtensionsVedic_ExtensionsvedicextensionsVertical FormsVertical_FormsverticalformsVithkuqivithkuqiVSvsVS_SupvssupWanchowanchoWarang CitiWarang_CitiwarangcitiYezidiyezidiYijingyijingYijing Hexagram SymbolsYijing_Hexagram_SymbolsyijinghexagramsymbolsYi RadicalsYi_RadicalsyiradicalsYi SyllablesYi_SyllablesyisyllablesZanabazar SquareZanabazar_SquarezanabazarsquareZnamenny_MusicznamennymusicZnamenny Musical NotationZnamenny_Musical_NotationznamennymusicalnotationcClosecloseNoneoOpenopen67891011121314151617181920212223242526272829303132333435368491103107118122129130132133200202214216218220222224226228230232233234240AboveaboveAbove_LeftaboveleftAbove_RightaboverightARarATAataATARatarATBatbATBLatblAttached_AboveattachedaboveAttached_Above_RightattachedaboverightAttached_BelowattachedbelowAttached_Below_LeftattachedbelowleftBelowbelowBelow_LeftbelowleftBelow_RightbelowrightBLblBRbrCCC10CCC103CCC107CCC11CCC118CCC12CCC122CCC129CCC13CCC130CCC132CCC133CCC14CCC15CCC16CCC17CCC18CCC19CCC20CCC21CCC22CCC23CCC24CCC25CCC26CCC27CCC28CCC29CCC30CCC31CCC32CCC33CCC34CCC35CCC36CCC84CCC91ccc10ccc103ccc107ccc11ccc118ccc12ccc122ccc129ccc13ccc130ccc132ccc133ccc14ccc15ccc16ccc17ccc18ccc19ccc20ccc21ccc22ccc23ccc24ccc25ccc26ccc27ccc28ccc29ccc30ccc31ccc32ccc33ccc34ccc35ccc36ccc84ccc91DAdaDBdbDouble_AbovedoubleaboveDouble_BelowdoublebelowHANRhanrHan_ReadinghanreadingIota_SubscriptiotasubscriptISKana_VoicingkanavoicingKVkvLeftleftNKnkNot_ReorderednotreorderedNRnrNuktanuktaOVovOverlayoverlayRightrightViramaviramaVRvrCancanCanonicalcanonicalCirclecircleComcomCompatcompatEncencFinfinFinalfinalFontfontFrafraFractionfractionInitinitInitialinitialIsoisoIsolatedisolatedMedmedMedialmedialNarnarNarrownarrowNbNobreaknobreakNon_CanonnoncanonNon_CanonicalnoncanonicalSmallsmallSmlsmlSqrsqrSquaresquareSubSupsupSupersuperVertvertVerticalverticalWidewideAmbiguousambiguousFullwidthfullwidthhHalfwidthhalfwidthNaNeutralneutralWwCased_LettercasedletterCcccCfcfClose_PunctuationclosepunctuationCncnCntrlcntrlCocoCombining_MarkcombiningmarkConnector_PunctuationconnectorpunctuationControlcontrolCsCurrency_SymbolcurrencysymbolDash_PunctuationdashpunctuationDecimal_NumberdecimalnumberDigitdigitEnclosing_MarkenclosingmarkFinal_PunctuationfinalpunctuationFormatformatInitial_PunctuationinitialpunctuationLClcLetterletterLetter_NumberletternumberLine_SeparatorlineseparatorLlllLmlmLoloLowercase_LetterlowercaseletterLtltLulumMarkmarkMath_SymbolmathsymbolMcmcMemeMnmnModifier_LettermodifierletterModifier_SymbolmodifiersymbolNdndNlnlnumberOpen_PunctuationopenpunctuationOtherotherOther_LetterotherletterOther_NumberothernumberOther_PunctuationotherpunctuationOther_SymbolothersymbolpPcpcPdpdPepePfpfPipiPopoPspsPunctpunctScscSeparatorseparatorSkskSmsmSosoSpace_SeparatorspaceseparatorSpacing_MarkspacingmarkSurrogatesurrogateSymbolTitlecase_LettertitlecaseletterUppercase_LetteruppercaseletterZzZlzlZpzpZszsCNCRcrEBebE_BaseebaseE_Base_GAZebasegazEBGebgEMemE_ModifieremodifierEXexExtendextendGAZgazGlue_After_ZwjglueafterzwjLFlfLVlvLVTlvtPPppPrependprependRegional_IndicatorregionalindicatorRIriSMSpacingMarkVvXXxxZWJzwjLeading_JamoleadingjamoLV_SyllablelvsyllableLVT_SyllablelvtsyllableNot_ApplicablenotapplicableTrailing_JamotrailingjamoVowel_JamovoweljamoAllowedallowedRestrictedrestrictedDefault_IgnorabledefaultignorableDeprecateddeprecatedExclusionexclusionInclusioninclusionLimited_UselimiteduseNot_CharacternotcharacterNot_NFKCnotnfkcNot_XIDnotxidObsoleteobsoleteRecommendedrecommendedTechnicaltechnicalUncommon_UseuncommonuseBottombottomBottom_And_LeftbottomandleftBottom_And_RightbottomandrightLeft_And_RightleftandrightOverstruckoverstruckToptopTop_And_BottomtopandbottomTop_And_Bottom_And_LefttopandbottomandleftTop_And_Bottom_And_RighttopandbottomandrightTop_And_LefttopandleftTop_And_Left_And_RighttopandleftandrightTop_And_RighttopandrightVisual_Order_LeftvisualorderleftAvagrahaavagrahaBindubinduBrahmi_Joining_NumberbrahmijoiningnumberCantillation_MarkcantillationmarkConsonantconsonantConsonant_DeadconsonantdeadConsonant_FinalconsonantfinalConsonant_Head_LetterconsonantheadletterConsonant_Initial_PostfixedconsonantinitialpostfixedConsonant_KillerconsonantkillerConsonant_MedialconsonantmedialConsonant_PlaceholderconsonantplaceholderConsonant_Preceding_RephaconsonantprecedingrephaConsonant_PrefixedconsonantprefixedConsonant_SubjoinedconsonantsubjoinedConsonant_Succeeding_RephaconsonantsucceedingrephaConsonant_With_StackerconsonantwithstackerGemination_MarkgeminationmarkInvisible_StackerinvisiblestackerJoinerjoinerModifying_LettermodifyingletterNon_JoinernonjoinerNumber_JoinernumberjoinerPure_KillerpurekillerRegister_ShifterregistershifterSyllable_ModifiersyllablemodifierTone_LettertoneletterTone_MarktonemarkVisargavisargaVowelvowelVowel_DependentvoweldependentVowel_IndependentvowelindependentAfrican_FehafricanfehAfrican_NoonafricannoonAfrican_QafafricanqafAinainAlaphalaphAlefalefBehbehBethbethBurushaski_Yeh_BarreeburushaskiyehbarreeDaldalDalath_RishdalathrisheFarsi_YehfarsiyehFefeFehfehFinal_SemkathfinalsemkathGafgafGamalgamalHahhahHamza_On_Heh_GoalhamzaonhehgoalHanifi_Rohingya_Kinna_YahanifirohingyakinnayaHanifi_Rohingya_PahanifirohingyapaHeheHehhehHeh_GoalhehgoalHethhethKafkafKaphkaphKhaphkhaphKnotted_HehknottedhehLamlamLamadhlamadhMalayalam_BhamalayalambhaMalayalam_JamalayalamjaMalayalam_LlamalayalamllaMalayalam_LllamalayalamlllaMalayalam_NgamalayalamngaMalayalam_NnamalayalamnnaMalayalam_NnnamalayalamnnnaMalayalam_NyamalayalamnyaMalayalam_RamalayalamraMalayalam_SsamalayalamssaMalayalam_TtamalayalamttaManichaean_AlephmanichaeanalephManichaean_AyinmanichaeanayinManichaean_BethmanichaeanbethManichaean_DalethmanichaeandalethManichaean_DhamedhmanichaeandhamedhManichaean_FivemanichaeanfiveManichaean_GimelmanichaeangimelManichaean_HethmanichaeanhethManichaean_HundredmanichaeanhundredManichaean_KaphmanichaeankaphManichaean_LamedhmanichaeanlamedhManichaean_MemmanichaeanmemManichaean_NunmanichaeannunManichaean_OnemanichaeanoneManichaean_PemanichaeanpeManichaean_QophmanichaeanqophManichaean_ReshmanichaeanreshManichaean_SadhemanichaeansadheManichaean_SamekhmanichaeansamekhManichaean_TawmanichaeantawManichaean_TenmanichaeantenManichaean_TethmanichaeantethManichaean_ThamedhmanichaeanthamedhManichaean_TwentymanichaeantwentyManichaean_WawmanichaeanwawManichaean_YodhmanichaeanyodhManichaean_ZayinmanichaeanzayinMeemmeemMimmimNo_Joining_GroupnojoininggroupNoonnoonNunnunNyanyaQafqafQaphqaphRehrehReversed_PereversedpeRohingya_YehrohingyayehSadsadSadhesadheSeenseenSemkathsemkathShinshinStraight_WawstraightwawSwash_KafswashkafSyriac_WawsyriacwawTahtahTawtawTeh_MarbutatehmarbutaTeh_Marbuta_GoaltehmarbutagoalTethtethThin_YehthinyehVertical_TailverticaltailWawwawYehyehYeh_BarreeyehbarreeYeh_With_TailyehwithtailYudhyudhYudh_HeyudhheZainzainZhainzhainDual_JoiningdualjoiningJoin_CausingjoincausingLeft_JoiningleftjoiningNon_JoiningnonjoiningRight_JoiningrightjoiningTransparenttransparentAIaiAlphabeticalphabeticB2b2BAbabbBKbkBreak_AfterbreakafterBreak_BeforebreakbeforeBreak_BothbreakbothBreak_SymbolsbreaksymbolsCarriage_ReturncarriagereturnCBCJcjCLclClose_ParenthesiscloseparenthesisCMcmComplex_ContextcomplexcontextConditional_Japanese_StarterconditionaljapanesestarterContingent_BreakcontingentbreakCPcpExclamationexclamationGLglGlueglueH2H3h2h3Hebrew_LetterhebrewletterHLhlHYhyHyphenhyphenIDidIdeographicideographicINInfix_NumericinfixnumericInseparableinseparableInseperableinseperableJLjlJTjtJVjvLine_FeedlinefeedMandatory_BreakmandatorybreakNext_LinenextlineNLNonstarternonstarterNSnsNUnuNumericOPopPOPostfix_NumericpostfixnumericPRprPrefix_NumericprefixnumericQUquQuotationquotationSAsaSGsgSPspSpaceSYsyUnknownWJwjWord_JoinerwordjoinerZWzwZWSpacezwspaceMaybemaybeDedeDecimaldecimalDidiNu-1/21/3201/1601/801/641/401/323/803/641/201/161/121/101/91/81/73/201/63/161/51/41/33/82/55/121/27/123/55/82/33/44/55/67/811/123/225/237/249/2511/213/215/217/237383940414243444546474849506070809010030040050060070080090010002000300040005000600070008000900010000200003000040000500006000070000800009000010000020000021600030000040000043200050000060000070000080000090000010000001000000020000000100000000100000000001000000000000NaNnanATatATermatermFOfoLEleLOLowerlowerOLetteroletterSCSContinuescontinueSEseSepsepSpSTstSTermstermUPupUpperupperAdlmadlmAghbaghbArabarabArmiarmiArmnarmnAvstavstBalibaliBamubamuBassbassBatkbatkBengbengBhksbhksBopobopoBrahbrahBraibraiBugibugiBuhdbuhdCakmcakmCanadian_AboriginalcanadianaboriginalCanscansCaricariChercherChrschrsCommoncommonCoptcoptCpmncpmnCprtcprtCypriotcypriotCyrlcyrlDevadevaDiakdiakDogrdogrDsrtdsrtDuplduplEgypegypElbaelbaElymelymEthiethiGeorgeorGlagglagGonggongGonmgonmGothgothGrangranGrekgrekGujrgujrGuruguruHanhanHanghangHanihaniHanohanoHatrhatrHebrhebrHirahiraHluwhluwHmnghmngHmnphmnpHunghungInheritedinheritedItalitalJavajavaKalikaliKanakanaKharkharKhmrkhmrKhojkhojKitskitsKndakndaKthikthiLanalanaLaoolaooLatinlatinLatnlatnLepclepcLimblimbLinalinaLinblinbLinear_BlinearbLycilyciLydilydiMahjmahjMakamakaMandmandManimaniMarcmarcMedfmedfMendmendMercmercMeromeroMlymmlymMongmongMroomrooMteimteiMultmultMymrmymrNagmnagmNandnandNarbnarbNbatnbatNkoNkoonkooNshunshuOgamogamOlckolckOrkhorkhOryaoryaOsgeosgeOsmaosmaOugrougrPalmpalmPaucpaucPermpermPhagphagPhliphliPhlpphlpPhnxphnxPlrdplrdPrtiprtiQaacqaacQaaiqaaiRjngrjngRohgrohgRunrrunrSamrsamrSarbsarbSaursaurSgnwsgnwShawshawShrdshrdSiddsiddSignWritingsignwritingSindsindSinhsinhSogdsogdSogosogoSorasoraSoyosoyoSundsundSylosyloSyrcsyrcTagbtagbTakrtakrTaletaleTalutaluTamltamlTangtangTavttavtTeluteluTfngtfngTglgtglgThaathaaTibttibtTirhtirhTnsatnsaUgarugarVaiivaiiVithvithWarawaraWchowchoXpeoxpeoXsuxxsuxYeziyeziYiyiYiiiyiiiZanbzanbZinhzinhZyyyzyyyZzzzzzzzRotatedrotatedTrTransformed_RotatedtransformedrotatedTransformed_UprighttransformeduprightTutuUprightuprightALetteraletterDouble_QuotedoublequoteDQdqExtendNumLetextendnumletKAkaMBmbMidLettermidletterMidNummidnumMidNumLetmidnumletMLmlMNNewlinenewlineSingle_QuotesinglequoteSQsqWSegSpacewsegspaceCode point too large in "Illegal range in "# panic: %s: %d: Unexpected operation %dpanic: Incorrect version for previously generated inversion list%sCan't dump inversion list because is in middle of iterating %s[%lu] 0x%04lX .. INFTY %s[%lu] 0x%04lX .. 0x%04lX %s[%lu] 0x%04lX panic: attempting to append to an inversion list, but wasn't at the end of the list, final=%lu, start=%lu, match=%cE_TRIE_MAXBUFregcomp_study.cQuantifier unexpected on zero-length expression in regex m/%d%lu%4p/panic: unexpected varying REx opcode %dLookbehind longer than %lu not implemented in regex m/%d%lu%4p%s/Variable length %s lookbehind with capturing is experimental in regex; marked by <-- HERE in m/%d%lu%4p <-- HERE %d%lu%4p/positivenegativepanic: %s regnode should be resolved before optimizationpanic! In trie construction, unknown node type %u %serror creating/fetching widecharmap entry for 0x%lXpanic! In trie construction, no char mapping for %ldcorrupted regexp programpanic: Unknown flags %d in named_buffpanic: Unknown flags %d in named_buff_iterpanic: Unknown flags %d in named_buff_scalarWide character (U+%lX) in %spanic: unknown regstclass %dMatched non-Unicode code point 0x%04lX against Unicode property; may not be portablepanic: isFOO_lc() has an unexpected character class '%d'Pattern subroutine nesting without pos change exceeded limit in regexInfinite recursion in regexEVAL without pos change exceeded limit in regexREGMARK%lx %d regexp memory corruptioncorrupted regexp pointersREGERRORpanic: paren_elems_to_push, %i < 0, maxopenparen: %i parenfloor: %iİffiµßſſpanic: regrepeat() called with unrecognized node type %d='%s'Malformed UTF-8 character (fatal)<>%lx%cx%02lX%cx%02lx%cx{%02lx}%c%03o%c%o%s...%s""<>VOIDWILDSV_UNDEFSV_NOSV_YESSV_ZEROSV_PLACEHOLDER(\CV(%s)FREED(null)[%s]%s) [UTF8 "%s"](%g)(%lu)(%ld) [tainted]%*s SUB %s = SUB = (xsub 0x%lx %d) FORMAT %s = ,CONST,KEEP,GLOBAL,CONTINUE,RETAINT,EVAL,NONDESTRUCT,HAS_CV,CODELIST_PRIVATE,IS_QR,KIDS,PARENS,REF,MOD,STACKED,SPECIALUNOPBINOPLOGOPLISTOPPMOPSVOPPADOPPVOPLOOPCOPMETHOPUNOP_AUX{} { GV_NAME = %s-> %s} MAGIC = 0x%lx MG_VIRTUAL = &PL_vtbl_%s MG_VIRTUAL = 0x%lx MG_VIRTUAL = 0 MG_PRIVATE = %d MG_TYPE = PERL_MAGIC_%s MG_TYPE = UNKNOWN(\%o) MG_FLAGS = 0x%02X TAINTEDDIR MINMATCH REFCOUNTED GSKIP COPY DUP LOCAL BYTES MG_OBJ = 0x%lx PAT = %s REFCNT = %ld MG_LEN = %ld MG_PTR = 0x%lx %s => HEf_SVKEY ???? - dump.c does not know how to handle this MG_LEN %2ld: %lu -> %lu %s = 0x%lx "%s" "%s" :: "%s" TEMP,OBJECT,GMG,SMG,RMG,IOK,NOK,POK,OOK,FAKE,READONLY,PROTECT,BREAK,pIOK,pNOK,pPOK,ANON,UNIQUE,CLONE,CLONED,CONST,NODEBUG,LVALUE,NOWARN_AMBIGUOUS,WEAKOUTSIDE,CVGV_RC,DYNFILE,AUTOLOAD,HASEVAL,SLABBED,NAMED,LEXICAL,ISXSUB,ANONCONST,SIGNATURE,REFCOUNTED_ANYSV,IsMETHOD,SHAREKEYS,LAZYDEL,HASKFLAGS,OVERLOAD,CLONEABLE,INTRO,MULTI,ASSUMECV, SV AV HV CVPMf_MULTILINE,PMf_SINGLELINE,PMf_FOLD,PMf_EXTENDED,PMf_EXTENDED_MORE,PMf_KEEPCOPY,PMf_NOCAPURE,IS_ANCHORED,NO_INPLACE_SUBST,EVAL_SEEN,CHECK_ALL,MATCH_UTF8,USE_INTUIT_NOML,USE_INTUIT_ML,INTUIT_TAIL,SPLIT,COPY_DONE,TAINTED_SEEN,TAINTED,START_ONLY,SKIPWHITE,WHITE,NULL,SKIP,IMPLICIT,NAUGHTY,VERBARG_SEEN,CUTGROUP_SEEN,USE_RE_EVAL,NOSCAN,GPOS_SEEN,GPOS_FLOAT,ANCH_MBOL,ANCH_SBOL,ANCH_GPOS,SV = 0 (0x%lx) at 0x%lx %*s REFCNT = %ld %*s FLAGS = (PADSTALE,PADTMP,ROK,WEAKREF,IsCOW,PCS_IMPORTED,SCREAM,IMPORTALL, ),IsUV,UTF8SV = %s%s UNKNOWN(0x%lx) %s UV = %lu IV = %ld NV = %.*g RV = 0x%lx OFFSET = %lu PV = 0x%lx ( %s . ) [BOOL %s]PL_YesPL_No CUR = %ld REGEXP = 0x%lx LEN = %ld COW_REFCNT = %d PV = 0 STASH USEFUL = %ld ARRAY = 0x%lx (offset=%ld) ALLOC = 0x%lx FILL = %ld MAX = %ld ,REAL,REIFY FLAGS = (%s) Elt No. %ld AUX_FLAGS = %lu (%d%s:%d, hash quality = %.1f%% KEYS = %ld FILL = %lu RITER = %ld EITER = 0x%lx RAND = 0x%lx (LAST = 0x%lx) PMROOT = 0x%lx NAME = "%s" NAMECOUNT = %ld , "%s", (null) ENAME = %s ENAME = "%s" BACKREFS = 0x%lx MRO_WHICH = "%s" (0x%lx) CACHE_GEN = 0x%lx PKG_GEN = 0x%lx MRO_LINEAR_ALL = 0x%lx MRO_LINEAR_CURRENT = 0x%lx MRO_NEXTMETHOD = 0x%lx ISA = 0x%lx Elt %s [UTF8 "%s"] [CURRENT] HASH = 0x%lx REFCNT = 0x%lx AUTOLOAD = "%s" PROTOTYPE = "%s" COMP_STASH SLAB = 0x%lx START = 0x%lx ===> %ld ROOT = 0x%lx XSUB = 0x%lx XSUBANY = 0x%lx (CONST SV) XSUBANY = %ld GVGV::GV FILE = "%s" DEPTH = %ld FLAGS = 0x%lx OUTSIDE_SEQ = %lu PADLIST = 0x%lx HSCXT = 0x%p OUTSIDE = 0x%lx (%s) nullANONMAINUNIQUEUNDEFINED TYPE = %c TARGOFF = %ld TARGLEN = %ld TARG = 0x%lx FLAGS = %ld NAMELEN = %ld GvSTASH GP = 0x%lx SV = 0x%lx IO = 0x%lx FORM = 0x%lx AV = 0x%lx HV = 0x%lx CV = 0x%lx CVGEN = 0x%lx GPFLAGS = 0x%lx (%s) LINE = %u FILE = "%s" EGV IFP = 0x%lx OFP = 0x%lx DIRP = 0x%lx LINES = %ld PAGE = %ld PAGE_LEN = %ld LINES_LEFT = %ld TOP_NAME = "%s" TOP_GV TOP_GV = 0x%lx FMT_NAME = "%s" FMT_GV FMT_GV = 0x%lx BOTTOM_NAME = "%s" BOTTOM_GV BOTTOM_GV = 0x%lx TYPE = '%c' TYPE = '\%o' COMPFLAGS = 0x%lx (%s) EXTFLAGS = 0x%lx (%s) ENGINE = 0x%lx (%s) STANDARDPLUG-IN INTFLAGS = 0x%lx (%s) INTFLAGS = 0x%lx(Plug in) NPARENS = %lu LOGICAL_NPARENS = %lu LOGICAL_TO_PARNO = 0x%lx { %ld%s } %-p PARNO_TO_LOGICAL = 0x%lx PARNO_TO_LOGICAL_NEXT = 0x%lx LASTPAREN = %lu LASTCLOSEPAREN = %lu MINLEN = %ld MINLENRET = %ld GOFS = %lu PRE_PREFIX = %lu SUBLEN = %ld SUBOFFSET = %ld SUBCOFFSET = %ld SUBBEG = 0x%lx %s SUBBEG = 0x0 PAREN_NAMES = 0x%lx SUBSTRS = 0x%lx PPRIVATE = 0x%lx OFFS = 0x%lx [ %ld:%ld%s ] QR_ANONCV = 0x%lx SAVED_COPY = 0x%lx MOTHER_RE = 0x%lx MAXFIELD = %ld FIELDS = 0x%lx Field No. %ld (%s) NULL OP IN RUNWARNING: %lx changed from %lx to %lx ->{%ldUNKNOWN(%d)UTF8 ,%ld(%s)(%-p)Can't determine class of operator %s, assuming BASEOP WATCHING, %lx is currently %lx %5lu %s \0UNDEFIVNVPVINVLSTPVIVPVNVPVMGREGEXPGVPVLVAVHVCVFMIOOBJPMf_PRE %c%.*s%c PMf_PRE (RUNTIME) PMFLAGS = (%s) TARGOFF/GV = 0x%lx PMf_REPL = CODE_LIST = CODE_LIST = 0x%lx | %-4lu ???? +--,ONCE:USED,TAINTED,SCANFIRST,ALL,START_ONLY,SKIPWHITE,WHITE,NULL (ex-%s) %s(0x%lx)PARENT*** WILD PARENT 0x%p TARG = %ld ,VOID,SCALAR,LIST,UNKNOWN,SLABBED,SAVEFREE,STATIC,FOLDED,MORESIBFLAGS = (%s) =0x%lxPRIVATE = (%s) PRIVATE = (0x%lx) GV = %-p (0x%lx) ARGS = %lu => 0x%lx NARGS = %ld CONSTS = (%-p) SV = %s LINE = %u PACKAGE = "%s" LABEL = "%s" HINTS = %08x FEATS = %08x SEQ = %u REDONEXTLASTOTHERREFCNT = %lu PV = "%-p" (0x%lx) INVMAP = 0x%lx TABLE = 0x%lx SIZE: 0x%lx %4lx: %2ld %02lx ===> [SELF] %lu [%s 0x%lx] [0x0] sv(\0)arylen(#)rhash(%)debugvar(*)pos(.)symtab(:)backref(<)arylen_p(@)bm(B)overload_table(c)regdata(D)regdatum(d)env(E)envelem(e)fm(f)regex_global(g)hints(H)hintselem(h)isa(I)isaelem(i)nkeys(k)dbfile(L)dbline(l)shared(N)shared_scalar(n)collxfrm(o)tied(P)tiedelem(p)tiedscalar(q)qr(r)sig(S)sigelem(s)taint(t)uvar(U)uvar_elem(u)vstring(V)vec(v)utf8(w)destruct(X)substr(x)nonelem(Y)defelem(y)hook(Z)hookelem(z)lvref(\)checkcall(])extvalue(^)ext(~)INVLISTPVGVPVAVPVHVPVCVPVFMPVIOPVOBJ[%d%lu%4p[%lu]$%-pcv ref: %s(NULL)\a\b\e\f\n\r\t at %s line %u, <%-p> %s %ldchunk during global destruction. PRINTpanic: POPSTACK Insecure %s%sEXECCan't fork, trying again in 5 secondspanic: kid popen errno read, n=%uCan't fork: %sPATHCan't %s %s%s%sexecutefind on PATH, '.' not in PATHoutFilehandle %2p opened only for %sputFilehandle opened only for %sputclosedunopenedwritesocket%s%s on %s %s%s%-p (Are you trying to call %s%s on dirhandle%s%-p?) Invalid version format (dotted-decimal versions require at least three parts)Invalid version format (no leading zeros)Invalid version format (maximum 3 digits between decimals)Invalid version format (no underscores)Invalid version format (multiple underscores)Invalid version format (underscores before decimal)Invalid version format (0 before decimal required)Invalid version format (negative version number)Invalid version format (non-numeric data)Invalid version format (alpha without decimal)Invalid version format (misplaced underscore)Invalid version format (fractional part required)Invalid version format (dotted-decimal versions must begin with 'v')Invalid version format (trailing decimal)ndefwidthInteger overflow in version %dInteger overflow in versionv.Inforiginalvinf%dPOSIX%.9fVersion string '%s' contains invalid data; ignoring: '%s'Invalid version objectalpha->numify() is lossy%d.%03d000v%ld.%ld.0Unknown Unicode option letter '%c'Invalid number '%s' for -C option. Unknown Unicode option value %lu/dev/urandomPERL_HASH_SEEDperl: warning: Non hex character in '$ENV{PERL_HASH_SEED}', seed only partially set PERL_PERTURB_KEYSNORANDOMDETERMINISTICperl: warning: strange setting in '$ENV{PERL_PERTURB_KEYS}': '%s' PERL_HASH_SEED_DEBUGHASH_FUNCTION = %s HASH_SEED = 0xSBOX32_WITH_SIPHASH_1_3%02x PERTURB_KEYS = %d (%s)panic: my_snprintf buffer overflowpanic: my_vsnprintf buffer overflowfirstsecond%s: loadable library and perl binaries are mismatched (got %s handshake key %p, needed %p) v5.38.0Perl API version %s of %-p does not match %sXS_VERSION%-p::%s%-p object version %-p does not match $%-p::%s %-pbootstrap parameter %-pABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvxyz0123456789Size magic not implementedopen<open>HILD_ERROR_NATIVENCODINGLOBAL_PHASEAST_FHAST_SUCCESSFUL_PATTERNPENAFE_LOCALESAINTNICODETF8LOCALETF8CACHEARNING_BITSUUUUUUUUUUUUUUUUUUUU_TOP %ldWide character in %ssetenv key (encoding to utf8)setenvIGNOREMaximal count of pending signals (%lu) exceeded__DIE____WARN__No such hook: %sNo such signal: SIG%sDEFAULTrequire__beforerequire__afterAttempt to set unknown hook '%s' in %%{^HOOK}${^HOOK}{%.*s} may only be a CODE reference or undefFETCHSTOREDELETEFETCHSIZEFETCHSIZE returned a negative valueCLEARNEXTKEYFIRSTKEYEXISTSpanic: magic_setdbline len=%ld, ptr='%s'Attempt to set length of freed arraysubstr outside of stringAttempt to use reference as lvalue in substrAssigned value is not a reference SCALARn ARRAY HASH CODEAssigned value is not a%s reference${^ENCODING} is no longer supportedassigning to $^OSetting $/ to a reference to %s is forbiddena negative integerzeroSetting $/ to a%s %s reference is forbiddenAssigning non-zero to $[ is no longer possible$0CLDSignal SIG%s received, but no signal handler set. SIG%s handler "%2p" not defined. SIG%s handler "__ANON__" not defined. signocodeerrnostatusuidpidaddrband(unknown)feature__SUB__areword_filehandlesitwiselassefervalbytesndirectodule_trueore_delimsultidimensionalyrefostderef_qqefaliasingayignaturestatewitchrynicodenievalpanic: hv_store() failed in set_mro_private_data() for '%.*s' %dpanic: hv_store() failed in mro_register() for '%.*s' %dCan't linearize anonymous symbol tablepanic: invalid MRO!Can't call mro_isa_changed_in() on anonymous symbol tableCan't call mro_method_changed_in() on anonymous symbol tableInvalid mro name: '%-p'mro::method_changed_inclassnameNo such class: '%-p'!dfsRecursive inheritance detected in package '%2p'elseif should be elsifargpanic: unhandled opcode %ld for xs_builtin_func1_scalar()trimexport_lexicallyexport_lexically can only be called at compile timeOdd number of elements in export_lexicallyExpected a reference in export_lexically&%-pa CODEExpected %s reference in export_lexicallypanic: unhandled opcode %ld for xs_builtin_func1_void()builtin::indexedbuiltin::import can only be called at compile timebuiltin::%-pbuiltin.cbuiltin::importBuilt-in function '%s%s' is experimentalbuiltin::builtin::truebuiltin::falsebuiltin::is_boolbuiltin::weakenbuiltin::unweakenbuiltin::is_weakbuiltin::blessedbuiltin::refaddrbuiltin::reftypebuiltin::ceilbuiltin::floorbuiltin::is_taintedbuiltin::trimbuiltin::created_as_stringbuiltin::created_as_numberbuiltin::export_lexicallypanic: unrecognised builtin_const value %ldCannot '%s' outside of a 'class'Odd number of elements in hash field initializationOdd number of arguments passed to %10p constructor, %-pUnrecognised parameters for %10p constructor: %-pCannot invoke method %7p on a non-instanceCannot invoke method on a non-instanceCannot invoke a method of %10p on an instance of %10pCannot reopen existing class %10p%2p::ISACannot create class %2p as it already has a non-empty @ISA%s::newclass.c$(self)%(params)Required parameter '%-p' is missing for %10p constructor$selffield initialiser expressionClass attribute %-p requires a valueUnrecognized class attribute %-pMalformed attribute stringUnexpected characters while parsing class :isa attribute: %sClass already has a superclass, cannot add anotherClass :isa attribute requires a class but %10p is not one0123456789._Unrecognized field attribute %-pparamOnly scalar fields can take a :param attributeField already has a parameter name, cannot add anotherCannot assign :param(%-p) to field %-p because that name is already in usefetchstoreAttempt to access disallowed key '%-p' in a restricted hash%ld/%ldAttempt to delete readonly key '%-p' from a restricted hashpanic: hv name too long (%lu)Use of each() on hash after insertion without resetting hash iterator results in undefined behaviorpanic: hv_placeholders_ppanic: hv_placeholders_setpanic: refcounted_he_chain_2hv bad flags %lxpanic: refcounted_he_fetch_pvn bad flags %lxpanic: refcounted_he_fetch_sv bad flags %lxpanic: refcounted_he_new_sv bad flags %lxpanic: cop_store_label illegal flag bits 0x%lxdeleteAttempt to delete disallowed key '%-p' from a restricted hashAttempt to free nonexistent shared string '%s'%s (utf8)Sorry, hash keys must be smaller than 2**31 bytespanic: refcounted_he_value bad flags %lxEXTENDpanic: av_extend_guts() negative count (%ld)Out of memory during array extendPUSHPOPUNSHIFTSHIFTSTORESIZENEGATIVE_INDICESUseless assignment to a temporaryCan't return array to lvalue scalar contextCan't return hash to lvalue scalar contextNot %s referenceCan't return %s to lvalue scalar contextAssigned value is not a SCALAR referencepanic: pp_match?? already matched onceInfinite recursion via empty patternString shorter than min possible regex match (%zd < %zd) panic: pp_match start/end pointers, paren=%d, start=%zd, end=%zd, s=%p, strend=%p, len=%zdREADLINEglob failed (child exited with status %d%s), core dumped$&*(){}[]'";\|?<>~`utf8 "\x%02X" does not map to UnicodeNot an ARRAY referenceUse of reference "%-p" as array indexNot a HASH referenceUse of freed value in iterationpanic: pp_iter, type=%upanic: pp_subst, pm=%p, orig=%pSubstitution loopa subroutineCan't use string ("%-32p"%s) as a subroutine ref while "strict refs" in useNot a CODE referenceUndefined subroutine &%-p calledUndefined subroutine calledClosure prototype calledDB::lsubNo DB::sub routine definedCan't modify non-lvalue subroutine call of &%-pDeep recursion on anonymous subroutineDeep recursion on subroutine "%-p"panic: attempt to copy freed scalar %pReference found where even-sized list expectedOdd number of elements in hash assignmentE_DEBUG_FLAGSCan't call method "%-p" without a package or object referenceCan't call method "%-p" on an undefined valueCan't call method "%-p" on unblessed referenceDOESCan't upgrade %s (%lu) to %lusv_upgrade from type %d down to type %dCan't coerce %s to integer in %sCan't coerce %s to number in %sNULLREF%.*g*Wide character%2p::%2p%2ppanic: attempt to copy value %-p to a freed scalar %ppanic: attempt to copy freed scalar %p to %pBizarre copy of %s in %sBizarre copy of %sCannot copy to %s in %sCannot copy to %sUndefined value assigned to typeglobpanic: attempt to undefine a freed scalar %ppanic: sv_setpvn called with negative strlen %ldpanic: sv_setpvn_fresh called with negative strlen %ldpanic: sv_chop ptr=%p, start=%p, end=%pDon't know how to handle magic of type \%oCan't weaken a nonreferenceReference is already weakCan't unweaken a nonreferenceReference is not weakpanic: del_backref, svp=0panic: del_backref, *svp=%p phase=%s refcnt=%lupanic: del_backref, *svp=%p, sv=%ppanic: magic_killbackrefs (freed backref AV/SV)panic: magic_killbackrefs (flags=%lx)panic: sv_insert, midend=%p, bigend=%ppanic: reference miscount on nsv in sv_replace() (%lu != 1)Attempt to free unreferenced scalar: SV 0x%lxsv_len_utf8panic: sv_pos_b2u: bad byte offset, blen=%lu, byte=%lusv_pos_b2uWide character in $/Lost precision when incrementing %f by 1Lost precision when decrementing %f by 1semi-panic: attempt to dup freed stringBad filehandle: %2pBad filehandle: %-pNot a subroutine referenceCan't coerce %s to string in %sVSTRINGREFLVALUEARRAYHASHCODEGLOBFORMATOBJECTUNKNOWNCan't bless non-reference valueAttempt to bless into a classCan't bless an object referenceCannot yet reorder sv_vcatpvfn() arguments from va_listBbDdiOouUXxinternal %%p might conflict with future printf extensionsd%lu%4pvector argument not supported with alpha versionsCannot printf %g with '%c'panic: frexp: %gNumeric format result too largeMissing argument for %%n in %ssv_vcatpvfn()Invalid conversion in %sprintf: "%end of stringRedundant argument in %sdecodecat_decodeInvalid argument to sv_cat_decode{%s}[%ld]within join or stringsprintf in Argument "%s" isn't numeric in %sArgument "%s" isn't numeric::__ANON__DESTROY created new reference to dead object '%2p'sv_pos_u2b_cacheutf8_mg_pos_cache_updatepanic: %s cache %lu real %lu for %-pArgument "%s" treated as 0 in increment (++)Integer overflow in format string for %ssv_vcatpvfnHexadecimal float: internal error (overflow)%c%+dHexadecimal float: internal error (entry)Missing argument in %sexistshash elementarray element$.${$/}Not a SCALAR referenceCan't find an opnumber for "%d%lu%4p"Attempt to bless into a freed packageAttempt to bless into a referenceExplicit blessing to '' (assuming package main)FILEHANDLENAMEPACKAGEConstant subroutine %-p undefined(anonymous)Illegal division by zeroIllegal modulus zeroNon-finite repeat count does nothingNegative repeat count does nothingOut of memory during list extendOut of memory during string extendlogsqrtCan't take %s of %gInteger overflow in srand0 but trueCannot chr %gInvalid negative number (%-p) in chṙCan't modify index/value array slice in list assignmentCan't modify keys on array in list assignmentpanic: avhv_delete no longer supportedCan't modify key/value hash slice in %s assignmentlistOdd number of elements in anonymous hashSPLICEsplice() offset past end of arraySplit loop[out of range]panic: unimplemented op %s (#%d) calledNot enoughToo many%s arguments for %sType of arg %d to &CORE::%s must be array referenceType of arg %d to &CORE::%s must be hash%s reference or arrayType of arg %d to &CORE::%s must be %sscalar referencereference to one of [$@%&*]reference to one of [$@%*]panic: unknown OA_*: %xToo %s arguments for subroutine '%-p' (got %lu; expected %s%lu)fewmanyat least at most Odd name/value argument for subroutine '%-p'Not a GLOB referencea symbolUse of strings with code points over 0xFF as arguments to %s operator is not allowedpanic: stack_grow() negative count (%ld)Out of memory during stack extendpanic: savestack overflows I32_MAXpanic: pad offset %lu out of range (%p-%p)panic: save_alloc elems %lu out of range (%ld-%ld)panic: corrupt saved stack index %ldpanic: leave_scope inconsistency %uCan't call destructor for 0x%p in global destruction Not enough format arguments%#0*.*f%0*.*f%#*.*f%*.*f Range iterator outside integer rangeE0panic: bad gimme: %d (in cleanup) %-p%-p%s has too many errors. %s has too many errors. (eval)No DB::DB routine defineda readonly valuea temporaryCan't return %s from lvalue subroutineCan't "%s" out of a "%s" blockreturnCan't return outside a subroutinepanic: return, type=%ugoto must have labelGoto undefined subroutine &%-pGoto undefined subroutineCan't goto subroutine outside a subroutineCan't goto subroutine from an eval-stringCan't goto subroutine from an eval-blockCan't goto subroutine from a sort sub (or similar callback)gotoDB::gotoCan't "goto" out of a pseudo blockpanic: goto, type=%u, ix=%ldCan't find label %d%lu%4pUse of "goto" to jump into a construct is deprecatedpanic: docatch: illegal ix=%ldeval_<(eval %lu)[%s:%u]_<(eval %lu)Can't "%s" outside a topicalizerdefaultwhenCan't "continue" outside a when blockCan't "break" outside a given blockCan't "break" in a loop topicalizer%-p did not return a true value%-pCompilation failed in requireUnknown error finallydeferCan't "%s" outside a loop blockLabel not found for "%s %-p"Exiting %s via %spseudo-blocksubstitutiondefer blockTarget of goto is too deeply nestedCan't "goto" into a "defer" blockCan't "goto" into a binary or list expressionCan't "goto" into the middle of a foreach loopCan't "goto" into a "given" blockPerls since %-p too modern--this is %-p, stoppedPerl %-p required--this is only %-p, stoppedv%d.%d.0Perl %-p required (did you mean %-p?)--this is only %-p, stoppedMissing or undefined argument to %sMissing or undefined argument to %s via %%{^HOOK}{require__before}pathnameCan't locate %s: %sAttempt to reload %s aborted. Compilation failed in requireBareword in require maps to disallowed filename "%-p"Bareword in require contains "\0"Bareword in require contains "/."INCDIRCan't locate object method "INC", nor "INCDIR" nor string overload via package %10p %s in @INCin object hookin object in ARRAY hook/loader/0x%lx/%s%s %s hook died--halting @INC search@INC entryCan't locate %s: %s: %s (you may need to install the module).h (change .h to .ph maybe?) (did you run h2ph?).ph (did you run h2ph?)Can't locate %s in @INC%-p (@INC entries checked:%-p)Can't locate %sdo "%s" failed, '.' is no longer in @INC; did you mean do "./%s"?Invalid \0 character in %s for %s: %s\0%sCompilation errorUnit check errorSmart matching a non-overloaded object breaks encapsulationNull picture in formlineRepeated format line will never terminate (~~ and @#)``rbrt ...caughtWarning: something's wrongPROPAGATE ...propagatedDiedCannot open %2p as a filehandle: it is already open as a dirhandleOPENCLOSEFILENOumaskBINMODETIEHASHTIEARRAYCannot tie unreifiable arrayTIEHANDLETIESCALARCan't locate object method %1p via package %5pCan't locate object method %1p via package %5p (perhaps you forgot to load %5p?)Can't locate object method %1p via package %7pSelf-ties of arrays and hashes are not supportedUNTIEuntie attempted while %lu inner references still existAnyDBM_FileAnyDBM_File.pmNo dbm on this machineNon-string passed as bitmaskGETCUndefined format "%-p" called%2p_TOPUndefined top format "%-p" calledpage overflowPRINTFREADNegative length%s() isn't allowed on :utf8 handlesOffset outside stringWRITEEOFTELLSEEKtruncatePossible memory corruption: %s overflowed 3rd argumentsocketpairlstat() on filehandle%s%-pThe stat preceding lstat() wasn't an lstatstat-T and -B not implemented on filehandleschdir() on unopened filehandle %-pchdirHOMELOGDIRchrootrenamemkdirrmdirCannot open %2p as a dirhandle: it is already open as a filehandlereaddir() attempted on invalid dirhandle %2ptelldir() attempted on invalid dirhandle %2pseekdir() attempted on invalid dirhandle %2prewinddir() attempted on invalid dirhandle %2pclosedir() attempted on invalid dirhandle %2psystemexecsetpgrpsetprioritylocaltimegmtimeSunMonTueWedThuFriSatJanFebMarAprMayJunJulAugOctNovDec%s(%.0f) too large%s(%.0f) too small%s(%.0f) failed%s %s %2d %02d:%02d:%02d %ldalarm() with negative argumentsleep() with negative argumentsyscallentering effective uid failedentering effective gid failedleaving effective uid failedleaving effective gid failedUse of @_ in %s with signatured subroutine is experimentalImplicit use of @_ in %s with signatured subroutine is experimentalStatement unlikely to be reached (Maybe you meant system() when you said exec()?) %-p() called too early to check prototypeprintfIllegal number of bits in vecUse of strings with code points over 0xFF as arguments to vec is forbiddenBit vector size > 32 non-portableNegative offset to vec in lvalue contextOut of memory!Can't modify keys in list assignmentpanic: sysopen with multiple args, num_svs=%ldsysopenUnknown open() mode '%.*s'Missing command in piped openpiped openCan't open bidirectional pipeMore than one argument to '%c&' openMore than one argument to '>%c' openMore than one argument to '<%c' openinplace openCan't do inplace edit: %s is not a regular fileCan't do inplace edit on %s: Cannot make temp name: %sCan't open %s: %sWarning: unable to close filehandle %2p properly: %-pWarning: unable to close filehandle properly: %-pprintThe stat preceding -l _ wasn't an lstatUse of -l on filehandle %2pUse of -l on filehandlelstat -c-ccsh$&*(){}[]'";\|?<>~` shchmodchownUnrecognized signal name "%-p"Can't kill a non-numeric process IDunlinkutimeBad arg length for %s, is %lu, should be %ldArg too short for msgsndpattern -cf 'set nonomatch; glob ' 2>/dev/null |LS_COLORSglob failed (can't start child: %s)Warning: unable to close filehandle %2p properly. Filehandle STD%s reopened as %2p only for inputOUTERRFilehandle STDIN reopened as %2p only for outputXXXXXXXXw++>&Can't rename %s to %s: %s, skipping fileCannot complete in-place edit of %s: failed to rename work file '%s' to '%s': %sFailed to close in-place work file %s: %sCannot complete in-place edit of %s: %sCurrent directory has changedCan't exec "%s": %spanic: _force_out_malformed_utf8_message should be called only when there are errors found%s: %s (overflows)%s (empty string)%s: %s (unexpected continuation byte 0x%02x, with no preceding start byte)%s: %s (too short; %d byte%s available, need %d)UTF-16 surrogate (any UTF-8 sequence that starts with "%s" is for a surrogate)Any UTF-8 sequence that starts with "%s" is for a non-Unicode code point, may not be portableAny UTF-8 sequence that starts with "%s" is a Perl extension, and so is not portable%s: %s (any UTF-8 sequence that starts with "%s" is overlong which can and should be represented with a different, shorter sequence)0x%s: %s (overlong; instead use %s to represent %s%0*lX)%s in %s%s %s%spanic: utf16_to_utf8%s: odd bytelen %lu_reversedMalformed UTF-16 surrogatepanic: to_upper_title_latin1 did not expect '%c' to map to '%c'uppercasetitlecaselowercasefoldcaseẞCan't do fc("\x{1E9E}") on non-UTF-8 locale; resolved to "\x{17F}\x{17F}".ſtCan't do fc("\x{FB05}") on non-UTF-8 locale; resolved to "\x{FB06}".stUnicode surrogate U+%04lX is illegal in UTF-8\\\x{%lx}textwarn_categoriesflag_bitimmediately%d bytes%s: %s (unexpected non-continuation byte 0x%02x, %s after start byte 0x%02x; need %d bytes, got %d)Operation "%s" returns its argument for UTF-16 surrogate U+%04lXOperation "%s" returns its argument for non-Unicode code point 0x%04lXıCan't do %s("\x{%lX}") on non-UTF-8 locale; resolved to "\x{%lX}". while running setuid while running setgid while running with -t switch while running with -T switchIFSCDPATHBASH_ENV%%ENV is aliased to %s%sanother variable%%ENV is aliased to %%%s%s$ENV{PATH}Insecure directory in %s%sTERM-_.+Insecure $ENV{%s}%s => ZEROHUPINTQUITILLTRAPABRTEMTFPEKILLBUSSEGVSYSPIPEALRMURGSTOPTSTPCONTCHLDTTINTTOUXCPUXFSZVTALRMPROFWINCHINFOUSR1USR2IOTWHENBLOCKGIVENLOOP_ARYLOOP_LAZYSVLOOP_LAZYIVLOOP_LISTLOOP_PLAINSUBEVALSUBSTDEFERCONSTRUCTSTARTRUNDESTRUCTstubpushmarkwantarraygvsvgvgelempadsvpadsv_storepadavpadhvpadanyrv2gvrv2svav2arylenrv2cvanoncodeprototyperefgensrefgenrefblessrcatlineregcmayberegcresetmatchsubstsubstconttranstransrsassignaassignchopschopchompschompdefinedpospreinci_preincpredeci_predecpostinci_postincpostdeci_postdecpowmultiplyi_multiplydividei_dividemoduloi_modulorepeataddi_addsubtracti_subtractconcatmulticoncatstringifyleft_shiftright_shifti_ltgti_gti_legei_geeqi_eqnei_nencmpi_ncmpsltsgtslesgeseqsnescmpbit_andbit_xorbit_ornbit_andnbit_xornbit_orsbit_andsbit_xorsbit_ornegatei_negatenotcomplementncomplementscomplementsmartmatchatan2sincosrandsrandexpinthexoctabslengthsubstrvecindexrindexformlineordchrcryptucfirstlcfirstucquotemetarv2avaelemfastaelemfast_lexaelemfastlex_storeaelemaslicekvasliceaeachavaluesakeyseachvalueskeysrv2hvhelemhslicekvhslicemultiderefunpackpacksplitjoinlsliceanonlistanonhashemptyavhvsplicepushpopshiftunshiftreversegrepstartgrepwhilemapstartmapwhilerangeflipflopandorxordorcond_exprandassignorassigndorassignentersubleavesubleavesublvargcheckargelemargdefelemcallerwarndieresetlineseqnextstatedbstateunstackenterleaveenteriteriterenterloopleavelooplastnextredodumpexitmethod_namedmethod_supermethod_redirmethod_redir_superentergivenleavegivenenterwhenleavewhenbreakcontinuepipe_opfilenobinmodetieuntietieddbmopendbmclosesselectselectgetcreadenterwriteleavewriteprtfsaysysseeksysreadsyswriteeoftellseekfcntlioctlflocksendrecvsockpairbindconnectlistenacceptshutdowngsockoptssockoptgetsocknamegetpeernameftrreadftrwriteftrexecftereadftewritefteexecftisftsizeftmtimeftatimeftctimeftrownedfteownedftzeroftsockftchrftblkftfileftdirftpipeftsuidftsgidftsvtxftlinkftttyfttextftbinarylinksymlinkreadlinkopen_dirreaddirtelldirseekdirrewinddirclosedirforkwaitwaitpidkillgetppidgetpgrpgetprioritytimetmsalarmsleepshmgetshmctlshmreadshmwritemsggetmsgctlmsgsndmsgrcvsemopsemgetsemctldofilehintsevalleaveevalentertryleavetryghbynameghbyaddrghostentgnbynamegnbyaddrgnetentgpbynamegpbynumbergprotoentgsbynamegsbyportgserventshostentsnetentsprotoentsserventehostentenetenteprotoenteserventgpwnamgpwuidgpwentspwentepwentggrnamggrgidggrentsgrentegrentgetloginlockoncecustomcoreargsavhvswitchruncvfcpadcvintrocvclonecvpadrangerefassignlvreflvrefslicelvavrefanonconstcmpchain_andcmpchain_dupentertrycatchleavetrycatchpoptrycatchpushdeferis_boolis_weakweakenunweakenblessedrefaddrreftypeceilflooris_taintedhelemexistsormethstartinitfieldfreednull operationconstant itemscalar variableglob valueglob elemprivate variablepadsv scalar assignmentprivate arrayprivate hashprivate valueref-to-glob castscalar dereferencearray lengthsubroutine dereferenceanonymous subroutinesubroutine prototypereference constructorsingle ref constructorreference-type operatorquoted execution (``, qx)append I/O operatorregexp internal guardregexp internal resetregexp compilationpattern match (m//)pattern quote (qr//)substitution (s///)substitution iteratortransliteration (tr///)scalar assignmentlist assignmentscalar chopscalar chompdefined operatorundef operatormatch positionpreincrement (++)integer preincrement (++)predecrement (--)integer predecrement (--)postincrement (++)integer postincrement (++)postdecrement (--)integer postdecrement (--)exponentiation (**)multiplication (*)integer multiplication (*)division (/)integer division (/)modulus (%)integer modulus (%)repeat (x)addition (+)integer addition (+)subtraction (-)integer subtraction (-)concatenation (.) or stringstringleft bitshift (<<)right bitshift (>>)numeric lt (<)integer lt (<)numeric gt (>)integer gt (>)numeric le (<=)integer le (<=)numeric ge (>=)integer ge (>=)numeric eq (==)integer eq (==)numeric ne (!=)integer ne (!=)numeric comparison (<=>)integer comparison (<=>)string ltstring gtstring lestring gestring eqstring nestring comparison (cmp)bitwise and (&)bitwise xor (^)bitwise or (|)numeric bitwise and (&)numeric bitwise xor (^)numeric bitwise or (|)string bitwise and (&.)string bitwise xor (^.)string bitwise or (|.)negation (-)integer negation (-)1's complement (~)numeric 1's complement (~)string 1's complement (~)smart matcharray dereferenceconstant array elementconstant lexical array elementconst lexical array element storearray sliceindex/value array sliceeach on arrayvalues on arraykeys on arrayhash dereferencehash slicekey/value hash slicearray or hash lookuplist sliceanonymous array ([])anonymous hash ({})empty anon hash/arraygrepgrep iteratormapmap iteratorflipfloprange (or flip)range (or flop)logical and (&&)logical or (||)logical xordefined or (//)conditional expressionlogical and assignment (&&=)logical or assignment (||=)defined or assignment (//=)subroutine entrysubroutine exitlvalue subroutine returncheck subroutine argumentssubroutine argumentsubroutine argument default valuesymbol resetline sequencenext statementdebug next statementiteration finalizerblock entryblock exitblockforeach loop entryforeach loop iteratorloop entryloop exitmethod lookupmethod with known namesuper with known nameredirect method with known nameredirect super method with known namegiven()leave given blockwhen()leave when blockpipeselect system callwrite exitgetsockoptsetsockopt-R-W-X-r-w-e-s-M-A-C-O-o-z-S-b-f-d-p-u-g-k-l-t-T-Bopendirtimesdo "file"eval hintseval "string"eval "string" exiteval {block}eval {block} exitgethostbynamegethostbyaddrgethostentgetnetbynamegetnetbyaddrgetnetentgetprotobynamegetprotobynumbergetprotoentgetservbynamegetservbyportgetserventsethostentsetnetentsetprotoentsetserventendhostentendnetentendprotoentendserventgetpwnamgetpwuidgetpwentsetpwentendpwentgetgrnamgetgrgidgetgrentsetgrentendgrentunknown custom operatorCORE:: subroutineArray/hash switch__SUB__private subroutinelist of private variableslvalue ref assignmentlvalue array referenceanonymous constantderived class testcomparison chainingcomparand shufflingtry {block}try {block} exitpop trycatch {} blockpush defer {} blockboolean type testweakref type testreference weakenreference unweakenhash element exists ormethod startinitialise fieldfreed oparylenarylen_pbackrefcheckcallcollxfrmdblinedebugvardefelemdestructenvenvelemhintshintselemhookhookelemisaelemmglobnkeysnonelemovrldpackelemregdataregdatumregexpsigsigelemtaintuvarSUCCEEDSBOLMBOLSEOLMEOLEOSGPOSBOUNDBOUNDLBOUNDUBOUNDANBOUNDNBOUNDLNBOUNDUNBOUNDAREG_ANYSANYANYOFANYOFDANYOFLANYOFPOSIXLANYOFHANYOFHbANYOFHrANYOFHsANYOFRANYOFRbANYOFHbbmANYOFMNANYOFMPOSIXDPOSIXLPOSIXUPOSIXANPOSIXDNPOSIXLNPOSIXUNPOSIXACLUMPBRANCHEXACTLEXACTEXACTLEXACTFEXACTFLEXACTFUEXACTFAAEXACTFAA_NO_TRIEEXACTFUPEXACTFLU8EXACT_REQ8LEXACT_REQ8EXACTFU_REQ8EXACTFU_S_EDGELNBREAKTRIETRIECAHOCORASICKAHOCORASICKCNOTHINGTAILSTARPLUSCURLYCURLYNCURLYMCURLYXWHILEMSROPENSRCLOSEREFFREFFLREFFUREFFAREFNREFFNREFFLNREFFUNREFFANLONGJMPBRANCHJIFMATCHUNLESSMSUSPENDIFTHENGROUPPMINMODLOGICALRENUMGOSUBGROUPPNINSUBPDEFINEPENDLIKEOPFAILVERBMARKPOINTCUTGROUPKEEPSLOOKBEHIND_ENDOPTIMIZEDPSEUDOREGEX_SETTRIE_nextTRIE_next_failEVAL_BEVAL_B_failEVAL_postponed_ABEVAL_postponed_AB_failCURLYX_endCURLYX_end_failWHILEM_A_preWHILEM_A_pre_failWHILEM_A_minWHILEM_A_min_failWHILEM_A_maxWHILEM_A_max_failWHILEM_B_minWHILEM_B_min_failWHILEM_B_maxWHILEM_B_max_failBRANCH_nextBRANCH_next_failCURLYM_ACURLYM_A_failCURLYM_BCURLYM_B_failIFMATCH_AIFMATCH_A_failCURLY_B_minCURLY_B_min_failCURLY_B_maxCURLY_B_max_failCOMMIT_nextCOMMIT_next_failMARKPOINT_nextMARKPOINT_next_failSKIP_nextSKIP_next_failCUTGROUP_nextCUTGROUP_next_failKEEPS_nextKEEPS_next_failREF_nextREF_next_failMULTILINESINGLELINEFOLDEXTENDEDEXTENDED_MORENOCAPTUREKEEPCOPYCHARSET0CHARSET1CHARSET2STRICTSPLITUNUSED_BIT_12UNUSED_BIT_13UNUSED_BIT_14UNUSED_BIT_15NO_INPLACE_SUBSTEVAL_SEENUNBOUNDED_QUANTIFIER_SEENCHECK_ALLMATCH_UTF8USE_INTUIT_NOMLUSE_INTUIT_MLINTUIT_TAILIS_ANCHOREDCOPY_DONETAINTED_SEENTAINTEDSTART_ONLYSKIPWHITEWHITEIMPLICITNAUGHTYVERBARG_SEENCUTGROUP_SEENUSE_RE_EVALNOSCANGPOS_SEENGPOS_FLOATANCH_MBOLANCH_SBOLANCH_GPOSRECURSE_SEENPESSIMIZE_SEENRecursive call to Perl_load_module in PerlIO_find_layerPerlIOPerlIO::Layer::NoWarningsPerlIO::LayerUsage class->find(name[,load])Invalid separator character %c%c%c in PerlIO layer specification %sArgument list not closed for PerlIO layer "%.*s"Unknown PerlIO layer "%.*s"panic: PerlIO layer array corruptPERLIOPerlIO::Layer::findperlio.cIrIw%s (%lu) does not match %s (%lu)PerlIO layer function table sizesize expected by this perl%s (%lu) smaller than %s (%lu)PerlIO layer instance sizeMore than one argument to open(,':%s')bytesrawrefcnt_inc: fd %d: %d <= 0 refcnt_inc: fd %d < 0 refcnt_dec: fd %d >= refcnt_size %d refcnt_dec: fd %d: %d <= 0 refcnt_dec: fd %d < 0 refcnt: fd %d >= refcnt_size %d refcnt: fd %d: %d <= 0 refcnt: fd %d < 0 unixr+stdioperliopendingcrlfDon't know how to get file name/tmp/PerlIO_XXXXXXTMPDIRUnknown PerlIO layer "scalar"HashCodeGlobIllegal %s digit '%c' ignoredIllegal octal digit '%c' ignoredinqs#Binary number > 0b11111111111111111111111111111111Octal number > 037777777777Hexadecimal number > 0xffffffff%s non-portablesilence compiler warning%s: %u: panic: %s; errno=%d %pPERL_SKIP_LOCALE_INITLC_ALLLANGPERL_BADLANGperl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LC_ALL = %c%s%c, unsetLC_LC_ALL=ABCDEFGHIJKLMNOPQRSTUVWXYZ %.*s = "%s", LANG = %c%s%c are supported and installed on your system. the standard localea fallback localeFalling back toFailed to fall back toperl: warning: %s %s ("%s"). perl: warning: %s %s. PERL_UNICODElocale(%u): Can't change locale for %s(%d) from '%s' to '%s'locale.cLC_CTYPELC_NUMERICLC_COLLATELC_TIMELC_MESSAGESLC_MONETARY= Unknown locale category %d%s%sgroupingthousands_sepdecimal_pointint_curr_symbolmon_decimal_pointmon_thousands_sepmon_groupingpositive_signnegative_signcurrency_symbolint_frac_digitsfrac_digitsp_sep_by_spacen_cs_precedesn_sep_by_spacep_sign_posnn_sign_posnint_p_cs_precedesint_p_sep_by_spaceint_n_cs_precedesint_n_sep_by_spaceint_p_sign_posnint_n_sign_posnp_cs_precedesUTFutfLocale '%s' is unsupported, and may crash the interpreter. ' 'Locale '%s' contains (at least) the following characters which have unexpected meanings: %s The Perl program will use the expected meanings The following characters (and maybe others) may not have the same meaning as the Perl program expects: %s ; codeset=%sABCDEFGHIJKLMnopqrstuvwxyzCould not find current %s locale, errno=%dInvalid type '%c' in unpack'@' outside of string in unpack'@' outside of string with malformed UTF-8 in unpackMalformed UTF-8 string in unpack'X' outside of string in unpack'x' outside of string in unpack'/' must follow a numeric type in unpackU0 mode on a byte string%.*luUnterminated compressed integer in unpack'P' must have an explicit size in unpackfFdDcCsSiIlLnNUWvVqQjJCount after length/code in unpacklength/code after end of string in unpackNegative '/' count in unpackCode missing after '/' in unpackInvalid type ',' in %s()-group starts with a count in %sToo deeply nested ()-groups in %ssSiIlLqQjJfFdDpP(sSiIlLxXnNvV@.'%c' allowed only after types %s in %sCan't use both '<' and '>' after type '%c' in %sCan't use '%c' in a group with different byte-order in %sDuplicate modifier '%c' after '%c' in %sMalformed integer in [] in %s'/' does not take a repeat count in %sMismatched brackets in templateNo group ending character '%c' found in templatepack/unpack repeat count overflowWithin []-length '*' not allowed in %sInvalid type '%c' in %sWithin []-length '%c' not allowed in %s'X' outside of string in %sMalformed UTF-8 string in '%c' format in unpackCharacter in '%c' format wrapped in unpackCharacter(s) in '%c' format wrapped in %s00000000000000@XxuOut of memory during pack()Code missing after '/' in packaAZInvalid type '%c' in pack'%%' may not be used in packMalformed UTF-8 string in pack'%c' outside of string in packpanic: predicted utf8 length not available, for '%c', aptr=%p end=%p cur=%p, fromlen=%zuCharacter in 'c' format wrapped in packCharacter in 'C' format wrapped in packCharacter in 'W' format wrapped in packCannot compress negative numbers in packCannot compress integer in packCan only compress unsigned integers in packAttempt to pack pointer to temporary valueField too wide in 'u' format in packpanic: string is shorter than advertised, aptr=%p, aend=%p, buffer=%p, todo=%zdpanic: marks beyond string end, m=%p, marks=%p, level=%dCannot compress %g in packCannot pack %g with '%c'$$Undefined sort subroutine "%-p" calledUndefined subroutine in sortCharacter following "\c" must be printable ASCIIUse "%c" instead of "\c{""\c%c" is more clearly written simply as "%s"\x{%02x}Non- character terminates \%c early. Resolved as "\%c00%lo%lXUse of code point %s%.*s is not allowed; the permissible max is %sMissing braces on \o{}Missing right brace on \o{}Empty \o{}Non-octal characterEmpty \xUse \x{...} for more than two hex charactersNon-hex characterMissing right brace on \x{}Empty \x{}UTCfilename, flags=0libreflibhandle, symbolname, ign_err=0perl_name, symref, filename="$Package"DynaLoaderDynaLoader.cDynaLoader::dl_load_fileDynaLoader::dl_unload_fileDynaLoader::dl_find_symbolDynaLoader::dl_undef_symbolsDynaLoader::dl_install_xsubDynaLoader::dl_errorPERL_DL_NONLAZYXXHV H0\   ,pL)d*+`-N OpOS VVWX ZT],_@_ceg؊08ğ|(H$ 8(<0hT X x#%%(8)$**-`22G(L XN0PRTY0Z]_,`l`dfijl@m nn(op`p܃̆0PddĦ4гXhh,H0Ht Xp `h++, [^p``Lcd4ekkl n0ss8ux@DHȑDTDHl0$< @t(Ph,XPH`X0,@   |.55t88L9>$?D,FGh\@`bcepi n8nqwy4{T{{4|d}ԂPXt̊ Мl0L<$L HxPhx$$X36T8:@;??,@,C`CDDxDILIIILY[`\hktptp{((`ر04@8#0%) ,7P9l? BGIL PSxTX[`^deiiБ  \ x <PHx̬ش еPHh,`$`X 8`TH L\`D l`ĤTdĶԷ(p| tHf(i  hFFLWWXYZZ[ac4delmn4nPsDuuw8xyz{|ȓ0HL p # # Q U W       t  D ( l     l   $    t  H! X  \  $ 8 ( @* , , L8 h9 9 DB B HC ,D F F @H H H (I 8I N  O 0O ] ` g  @ X   ԧ  ̯ İ    l | \  , ̽ ؽ @ P           P H     @      (    ` p      8 @ T t    t |   @  L    |    $   " p& & ' * - 0 1 1 3 \4 4 ,8 9 x< X= = <> @ A DB dC  F xG (I 4I J ,J L U U h?ADOPRT@vvTww~xH ĉhLl\t؜ \ dLlxd`pl4't)*.027;BC(HIJQR\abg j}`~ب\H$LL$4  LDx< % &(006(8:@A8B@EdE4GTRX `bLfgimnoqHsv ܎ĔD̲hHlĽh`,l$H|(0-@->@dNLR WXZdPhij8llm4o?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~P@3/3/3/3/3/3/3/3/3/V/h0V/0V/0V/0V/0V/$0W/0 W/0W/0)W/01`?1HB18f1f1Pm1xo1@p1Hu1w1w1x1x1y1|11x111@11@11(11////¾/ž/Ǿ/ɾ/˾//ξ/+/Ѿ/Ӿ/־/ؾ/ھ/ܾ/޾/////////////// / //////+/////!/$///'/*/-/0/3/6/9/Ǿ/ɾ//]//////'/J/m///// /)/C/h/////#/J/q///////!/;/R/^/i/z///////////+/?/I/S/e/v////// ////@/M/Z/f/o/x///////////"/6/J/\/p//////////$/;/Q/Y/a/l/w/////////////T/h/r/|//////////// //(/0/8/F/R/`/l/////////////)/,///4/9/E/Q/[/_/c/l/t/////////////000%030@0K0V0`0r000000000000 00.090D0N0Y0d0n00000000 000!0)0?0U0i0v00000000000000 00%000=0I0]0q0000000 00(040?0P0a0p0000000000000000 0*040?0J0R0Z0b0j00000000000(030G0[0m0|00000000000 0%0>0U0^0g0q0{000000000000*060R0n0000000 0 0, 0B 0X 0l 0 0 0 0 0 0 0E 0j 0 0 0 0 0 0- 0J 0T 0\ 0f 0n 0~ 0 0 0 0 0 0 0 0 0 0> 0X 0{ 0 0 0 0 0 0 0 0* 04 0F 0X 0i 0q 0y 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0#060<0B0H0N0X0a0r000000000000 00.050<0C0J0O0T0\0d0m0v0~0000000000000#0,050>0d0000 060g00000000&0E0b0l0u00000000000000000)00070>0E0]0u000000000000#0=0W0 o0q0w0/}0#2/000 T/GB/0000000000000000000000000000000000000000 0 00000!0%0)0-0105090=0A0E0/V/I0O0U0`0j0v0//0000000000000000 0!0ɾ/+/3090?0J0T0`0k0n0q0t0w0}0000000000000000000000 0000!0'0-03090?0E0K0Q0W0]0c0j0q0w0~00000000000000000000000 0000%0+01070=0C0F0I0L0O0\0h0u00000000 /0000/V/000000 00000!0$0,0ž/H/40:0@0G0N0Q0 T0X0\0f0p0w0~0000000000000000000000000 0000"0&0-040,/70?0G0Q0Z0h0}0#2/u0{00000000~/0000000000 /V/00/g/00޾/000//0/&0-00&0.00000 ־/o020?0K0N0Q0T0W0i0z0}000000000000x/00 00-0<0J0P0V0e0s000000/V/0000000 0000 0#0&0)0:0J0M0P0S0Ǿ/V0X0]0b0n0y0|000000000//0000////у/00000 00"0/0;0M0^0k0ܾ/w0#/7/y0|00000000000(040000000//0000000000000000'0&8/.0?0//O0`0p0r0t0w0z0}000 0}000000000000000000000000 0/V/ 0 0 0 0 0! 000% 0( 0+ 03 0; 0N 0` 0c 0f 00i 00ھ//u 0w 0y 0| 0 0 0 /V/ 0 0 0 0 0 0 0! 0 0 0// 0 0ھ// 0 0u 0w 0!0!0 !0%!0-!08!0 C!0U!0f!0q!0|!0!0!0!0!0!0!0!0!0!0!0!0!0!0"0"0 "0*"04"0A"0 M"0T"0["0k"0y"0"000"0"0//"0"040:0"0"0"0"0"0#0#04#0I#0V#0a#0x#0#0#0#0#0 #0#0#0#0#0#0$0!$02$0<$0F$0U$0c$0s$0$0$0$0$0$0$0%0%0$%0:%0O%0i%0%0%0%0%0%0%0&0&0-&0=&0L&0^&0o&0v&0}&0&0&0&000у/0&0&000&0&0&0&0'0'0)'05'0@'0J'0@0G0S'0['0c'0i'0o'0'0'0'0 '0'0'0'0'0'0'0'0(0(0 (0(0(0(0(0#(0((0>(0R(0V(0Z(0f(0/q(0s(0}(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0)0)0.)0?)0B)0E)0I)0M)0V)0^)0c)0h)0l)0p)0u)0z)0)0)0)0)0)0)0)0)0)0)0)0)0)0*0*0*0-*0:*0H*0U*0d*0r*0*0*0*0*0*0*0*0*0*0*0 +0+0,+0;+0M+0^+0q+0+0+0+0+0+0+0+0+0,0,0&,08,0I,0X,0f,0u,0,0,0,0,0,0,0,0,0,0 -0-0,-0=-0L-0Z-0i-0w-0-0-0-0-0-0-0-0-0 .0.0+.0;.0@.0E.0I.0M.0^.0m.0r.0w.0{.0.0.000.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0/0 /0/0"/0,/05/0@/0J/0N/0R/0V/0Z/0f/0q/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/000 00000000$00)00/00 ־/o0/V/500B00N00[00/V/g00t000000ž/H/0000ھ//0000/V/ 0000//00000000000000˾/00000000101010+10610@10N10[10k10z10/}101010101010W0i010100010101010 2020*20-20000000000000020<20H20K20N20S20X20[20^20a20d20r202020202020202020202020I/2020202020200 /3030 30303030 0 030!30*30:30I30S30\300_30j30u30x30{30~3030/30300030030303030303030303030; 0N 0` 0c 030303030303040V/0040 40 40/404040&40y 0| 0140440 0 0740?40 Ǿ/V0G40M40//////// //////// S40V40Y40a40i40l40J0P0}0#2/o40~3030/ r40T/w40}40404040404040404040404040404040404040404040404040404040405050 50 50GB/5050505050#50%50)50+50005005500:500000000000000000000000000000?50B50E50H50K50N50Q50T50W50Z50]50`50c50f50i50l50o50r50u50 0y50}505050505050505050505050505050505050505050505050505060 606060"60)60060760>60E60M60V60_60i60u606060 606060601010q0w00000006060006060 0 060&06060{30~3030/6060006006060606060603060306060606070707070y 0| 0 //707070#70////(70-70//m/v/270770<70A70//F70K70P70U70//Z70_70//d70i709/C/L/R/n70s70x70}70X/`/h/r/70707070//7070+/2/70709/A/7070{//7070//7070707070707070)/0/J/]/o/v/}//8080///!/ 80808080%80*80///80480980>80?/I/C80K80M/Z/f/o/S80X80Q/Y/]80b80a/l/g80l80//q80v80//{808080800/9/8080 //80802/:/8080B/J/8080[/d/8080//8080P/[/808080808080//8080////8080^/g/8090~////90 90909090900>0.>0A>0D>0/V/G>0O>0 W>0_>000g>0t>0>0>00000000000000000>0>0606000000 0d20r202020>0>0u/~/6060 0 0>0>0>0>0>0>0>0>0>0>0>00>0>0\300{30~3030/00; 0N 0` 0c 0>0?0?0?0?0$?0y 0| 0 0 00+/+/V/V/V/V/V/ B.C. C.C.C.4C.@C.\C.C.C.C.C.C.D.PD.D.D.D.D.D.D.D.D.D.D. E.E.$E.,E.4E.J0 DJ0 LJ0 @SJ0 [J0 bJ0 kJ0 sJ0 J0 J0 J0 J0 @J0 J0 J0 J0 J0 J0 J0 J0 K0 K0 @K0 K0 )K0 3K0 >K0 EK0 LK0 VK0 ZK0 @^K0 bK0 fK0 uK0 K0 K0 K0 @K0 K0 K0 K0 K0 K0 L0 L0 @L0 -L0 :L0 AL0 LL0 ZL0 cL0 oL0 @zL0 L0 L0 L0 L0 L0 L0 L0 @L0 L0 L0 L0 L0 L01//X02X05X02]0?X0DX0IX0NX0:]0XX0?]0D]0I]0N]0S]0X]0 >m0 qo0G (] o0H (] o0I  ^ o0T  ^ o0T  ^ o0I  ^ o0I  ^ o0I  ^ o0I  ^ p0I  ^ p0I  ^ "p0I  ^ 6p0J  ^ Dp0U  ^ _p0V  ^ n0W \_ zp0Q pO0-8/00\0i0b0f0j0n0r0v0z0~0000000060000P l 0d.l.t.|.................. .(.0.8.@.H.P.X.`.h.p.x....................(.4.<.D.P.X.`.h.p.|........... ..... ...$.,.4.<.D.P.\.h.p.x..................$.,.4.@.L.T.\.d.l.t. |. ............... .. .(.0.8.@.H.P.X.`.h.p.x.................. ...$.0.<.D.P.\.d.l.x................ . ...$.,.4.<.D.L.T.`.l.t.|..............000000ĭ0ɭ0ͭ0ѭ0֭0ڭ0߭0000000000 0iX0000 0%0+00050:0 1/>0C0I0O0X0d0p0z00000000X>/^>/0J>/0'R0088/0Ů0/Ϯ0Ԯ0׮0ݮ0000000000'01080@0D0&:/5//J0S0]0Η/g0/m0s0}000000000"*//00ů0ί0կ0ޯ00000000!0*010:0A0E0K0T0_0f0r0|00M00006000000000°0ɰ0Ͱ0Ѱ0հ0ٰ0ݰ000000000 0)01080A0E0P0\0h0s0y0}0000]0a0000000000υ00ȱ0̱0б0ֱ0ޱ00000000$0*010:0@0H0N0S0Z0v0}0_0e0k0r0{00000000000Dz0̲0в0ֲ04+/޲00000 0000 0#0'0+050?0H0R0[0d0o0x0000000000ó0ɳ0m/ϳ0ٳ0޳00܏00000$00|/ 00%020E0P0[0e0o0u00w0~00{000000000Ĵ0ɴ0δ0ٴ0000ԡ00000 00000 0&0+0_00090>0F0M0T0]0f0o0{00000000000ŵ0͵0յ0ݵ000000 0000$0+02090?0F0ޜ0,00u0&0|00O0T0\000e0n0v0~0000001080000=00E0̶0Ѷ0Q0[0ն0۶0000000000"0)0$7/0070:/A0K0T0]0f0o0x00000000·0˷0Է0ܷ00000 000!0(0/060=0D0K0R0Y0;0b0g0l0s0|0000000000ʸ0Ҹ0.ܸ0000000)01090@0I0Q0Y0a0f0l0w00000088/0Ů000̹0׹000 00%030D0W0d0{0000Һ0D005/0 0!070M0`0t00000˻0ݻ0000000/&050G0a0s0000μ0000+080M0Y0m0x0000½0½0޽000 00*090H0X0h0x00000Ⱦ000000"0,060N0^0n0}000Ŀ0ܿ00 00A0-0@0[0u0s0y0}0000]0a0000000000υ00ȱ0̱0б0ֱ0ޱ0000000000000-0N0S0Z0v0}0;00L0W0l00000000000Dz0̲0в0ֲ04+/޲000000000)090E0U0l00000000*0000L0Y0g0v000000000܏00000$0000050U0{0000o0u00w000{000000000Ĵ0ɴ0^00000ԡ00000 00000 0&0+0_0<090>0F0M0T000o0{00000000BT/0000000 0 00000000"0%0(0+0.0ޜ0,00u0&0|00O0T0\00010n0v0~0000001080000=00E0̶090Q0[0ն0۶0000000000"0)0$7/?0I0T0b0u00000000000 00'020=0G0S0^0i0s000000000000Y0;0b0g0000 00(0(0(0;0U0U0U0k00000000000*0<0M0I0Q0Y0a0f0l0`0w0004" 00000000000000 0.000"0(0000600?0G0P0W0[00TU/c0U/i00   X @ 00 PP px , pĢ  x$Pk l `h 8k $ ` d `P `p @ ` ȇ ` 0 @  h Q` h P X , P З Y `tZ $\ ԃ pl o o P  p_  p L (K 0d @h  px ܠ pJ>/n0v0{000000000000000000000 000 0(02090A0H0O0V0]0e0m0u0}000000000000000000"0(040A0I0N0S0X0^0e0l0s0i0n0z00d000000000000000000000 000 0(000m/70/<0/t/F0O0U0d0n0u0000000000000-0:0L0Y0k0x00000000000 00(040E0T0h0r000000000000000!0*030:0@0N0\0j0x0000000000000"0,01//20;0C0P0^0j0.q0{0000006 O     p  XD 00P   d  \ $ 4T      00($<  ht<\h000̲00` (p00(l`  `tDpTp00ܮ(p00X  d \ $ T   , U/0 (p00 (p00P   d    h T    dH}@< ־/f0־/<0E0P0[0c0o0^0 0 0 0@0 0 (0 00 80 @0 H0@ /0 P?0 QK0 SZ0 Th0 Uw0 V0 W0 X0 Z0 Y0 [0 \0 ]0R$$$L)"#%F'j4ldd\ܖ$BGJJ$.0.ԭ1)t((P]TZZT[T[̮̮`ܶP<^4/34%(pp`h@d Y\P\\\\h\,88 HLddL ddd LL"%%+A,x.133?J Socc(|ahfXijjmnxxo {$,ptDe(D,ĘԜ(=x[Tx[`^dei &[4P], &[P],`JhMP$#x.P$LȟDвв<4|%),h+ TT/ uF@d4" 2 2 K\2  <u w v RR p(8@1@2*Ht6Z(6DTdr,6DRdv2@N^jt *6DP^j|"4DXl6Lfx&:Nl   0 < L Z f v         ( 8 H X h x          * : T ` r          , @ V d v           . F ^ t        0H`n~(6F^p| .@Rbr&:N^r__DefaultRuneLocale__NSGetEnviron__NSGetExecutablePath____mb_cur_max___chkstk_darwin___error___fpclassifyd___maskrune___memcpy_chk___sprintf_chk___stack_chk_fail___stack_chk_guard___stderrp___stdinp___stdoutp___strlcat_chk___strlcpy_chk___tolower___toupper__exit_abort_accept_access_alarm_atan2_bind_bzero_calloc_chdir_chmod_chown_chroot_clearerr_close_closedir_connect_cos_crypt_dirfd_dlclose_dlerror_dlopen_dlsym_dup_dup2_endgrent_endhostent_endnetent_endprotoent_endpwent_endservent_execl_execv_execvp_exit_exp_fchdir_fchmod_fchown_fclose_fcntl_fdopen_feof_ferror_fflush_fgetc_fileno_flock_fmod_fopen_fork_fread_free_freopen_frexp_fseeko_fstat_ftello_ftruncate_futimes_fwrite_getcwd_getegid_getenv_geteuid_getgid_getgrent_getgrgid_getgrnam_getgroups_gethostbyaddr_gethostbyname_gethostent_getlogin_getnetbyaddr_getnetbyname_getnetent_getpeername_getpgid_getpid_getppid_getpriority_getprotobyname_getprotobynumber_getprotoent_getpwent_getpwnam_getpwuid_getservbyname_getservbyport_getservent_getsockname_getsockopt_gettimeofday_getuid_h_errno_ioctl_isatty_kill_killpg_ldexp_link_linkat_listen_localeconv_localtime_log_lseek_lstat_malloc_malloc_good_size_malloc_size_mbtowc_memchr_memcmp_memcpy_memmem_memmove_memset_memset_pattern16_mkdir_mkstemp_mktime_modf_msgctl_msgget_msgrcv_msgsnd_nl_langinfo_open_opendir_pause_pipe_pow_read_readdir_readlink_realloc_realpath$DARWIN_EXTSN_recvfrom_rename_renameat_rewinddir_rmdir_seekdir_select_semctl_semget_semop_send_sendto_setegid_setenv_seteuid_setgrent_setgroups_sethostent_setlinebuf_setlocale_setnetent_setpgid_setpriority_setprotoent_setpwent_setregid_setreuid_setrgid_setruid_setservent_setsockopt_shmat_shmctl_shmdt_shmget_shutdown_sigaction_siglongjmp_signal_sigprocmask_sigsetjmp_sin_sleep_socket_socketpair_sprintf_stat_strchr_strcmp_strcspn_strerror_strftime_strlcat_strlcpy_strlen_strncmp_strnlen_strpbrk_strrchr_strspn_strstr_strtod_strxfrm_symlink_sysconf_telldir_time_times_truncate_umask_ungetc_unlink_unlinkat_unsetenv_utimes_vfprintf_vsnprintf_waitpid_write_boveLatin1 ssigned_invlistontrol=vDgnalfnglemitubcKgvXline_straceFish_bitmask_REQ8_bitmaskBitmapMultiCharFoldB_invlistatin1osix_ptrsrivate_UseؽB_invlistCX_invlistvALLNONEARN_B_invlistPosix_ptrspv_stackgvgvoutnrgv_savencompat_optionstcount_typehooksarenasroots_targetasetimeeginavilockodyreakable_sub_genȸ_saveavarclasseckopsetظзixnamestandardȷbasemultation_xfrm_etlorsillloor_f_namecvilingpadlmpnstpadixp_seqmaxre_reg_engine1p 3p p hname ighandler db _under ad m лȻinfo ck sh a name cop interp p st descs names _ s r stom_op 9_utf8_dfa_tabhlockticko s type_name u v_has_eval 箼32 64 _pad stash ug _layerlist gv outgv stash gid uid e gid uid _ еBruijn_bitpos_tab b f laymagic stroyhook _undumpswitcheswarn_re_max_lenindentbargs eiehookoumpbufsizedavvgvgvorsbegin_nest_depthrootstart_seqlen_flagslistǯcp_formatutf8_dfa_tabittended__scriptfloatnrrvalxlemoderstgvatin1ocale_lkprocessmtargetldrdpidioerationsymalstashhookenlob_enabledȹsetweed_tate_wrand_bitssafterbeforeash_exdigitintgvook__require__v_fetch_ent_mhallobjsOLLATE_localeTYPE_localeCturkic_localeclean_evalload_modulesome_foldutf8_عix_plugin_cgvfitavplaceternal_random_state_DOESrevnsaeyword_pluginnown_layersطsizeatvalype_in_gvfdgotoprobestnginfo_bufsttin1_lcizingpatchesalkhookaoc_namessdatavtablecvrootstartػ_stackmaxptr__intro_pendingsysfdgic_inrkstackxlen_pstowc_psmory_wrapss_svEFaclnp_intro_pendingus__latin1_uccountglobalabreinmap_page_sizeodultideref_pcy_environ๼nemodifyyglob_svecurityock_funcymref aelemdir_funcfunchelem_svlocalize_refmsusymwrongref_memok _is_standard name radix_sv standard underlying ao umeric_ Ҥ_ix!s!def!fields!ܨbit!labels!valid!uence"desc!mask!name!private_!seq"ȶ_"args"freehook"c"v#len"rg#a#environ#filename#ig#s_sv#fsgv!ldname!p"r#sname#_floor$const$undef$_reset_pending$ix$list_generation$name_$d$rser%tchlevel%_size%debug_fd%fd_refcnt%_%_destruct_level%db%io%epp%rl%؀_names&ambleav&vailing_version&e&ofiledata&end'tr'name'p'a%e&hase&paddr&r&sig_'tr_table'curpm'extflags_name(intflags_name(lab(tate(蹼info(name(_(istered_mros(match_s(node_(пȿjmpenv)op)entrant_retint'g)plgv)start)vision)dbg*std*_*andom_state'e)peepp*s*unops*ĺix*max*_*begin*stack+кԺix+max+name+Ⱥ_+size+condgv+tlocale_buf+_path,arehook,ame,um,n,pending,1p,3p,p,صhook-s-_,fpe_saved,handler,nal-_bitmask-g-mple-cop-stash-_next.called.override.base.max.sp._posix/cache.gv/name/usvalue/ck_.rt_env.shcache.t/size/ngv/ze_locale_buf/errgv/i0ܹع2030pair0accept0dup0mkstemp0open0pipe0socket0ԷշNUL_replacement1is_behaved1max_cp1ategy_0ict_utf8_dfa_tab1tab1xfrm_1a/d0r1_generation2line2name2version2nsts2unt3arenaroot2co3immortals3placeholder3root3 ave+copestack+e+h,i-ort-plitstr.rand_.t2ub2v_3_warn4ed4ing4ȵشдغfloor4ix4max4stack4ؿ_env5target5aint4hreadhook4mps_4op5и_save5code5tcheckav5derlying_radix_sv5i5lockhook6safe6йbegin6continue6cont6start7cont7start7fold7lower7simplefold7title7upper7cont8start8charname_6foldclosures6id7mark7perl_id7to7xid8_8cache8locale8skip8dmap9emap9n6ser_def_props6tf89u9ŮX9_set9֮X9_set9IV9NV:PVX:RV:羼о_bitmask:lid_types_:ries:rsion:to_cleanup:a:e:l;osemi;_sv;locale;n;reserved;uninit;_;hook;ж_pvxose>VܓWԔWof?rror?VWileno?lush_linebuf?WܥWfail?ok?VWWopped?ushed?WWW binmode>cl>dup?e?f?noop_?open?p?read@setlinebuf@unread@XXXXWill@lush@XXXbaseAcntAptrAWГXWoppedAushedAX܎XXekAt_ptrcntAXWX bufsiz@close@dup@fAget_AopenApAreadAseAtellBunreadBwriteBase_@uf_BXXXXXXXbinmodeBflushBget_cntCpushedCset_ptrcntCunreadCwriteCXXXillClushCXX̝XXekDt_ptrcntDcloseCfCpushedDreadDseDVending_Dop_pushedDVWWearerrDoseDWWWofErrorEWWenoElEWilElushEWWcntEptrEWWWWWWW_ptrcntFlinebufFekFtFWWW clEdupEeEfEget_EmodeEopenEpushedFreadFseFtellFunreadFwriteFWWWWWflagsGpenGWļWԧWWdecGincGبW_GadGfcntHWWW closeGdupGfilenoGoGpushedGreHseekHtellHwriteHWnix_Htf8_pushedHVVVVaIsIVllocateIpply_layerIrg_fetchIVinmodeIyteI̘WVԩWtableIupIԫVV_listJeanJoneJanset_cntIlJrlfJVVVVsJbufferJlayerJVault_Jine_layerKVbugJfKstructKWWV̟VopenKupopenKWVFILEK_layerKast_getsKdKindKIJVXXX_layersLcLnameLposLWWbaseLcntptrLWWVitLtmode2strLȒWmportFILELnLsutf8MVVVVallocMfreeMpushMayer_fetchMist_MWVXnMVndingNrlioNVXVXXcNsNshNtNarse_layersNeNopNrintfNuNWXVXleaseFILEOmoveOopenOsolve_layersOwindOawOeOXXVioOoutfOstreamsOWetposOtdPv_dupPVWWX_flagsPab_svPeardownPmpfilePXgetcPixPnQtf8QX_closeIaIbIcJdeKexportFILEKfLgetLhas_LiMlMmodestrMopenNpNrOsPtPuQvprintfQBBCrlf_CPDRaw_pushedDStdio_FUH_Q WVearerrRoseRVlRontext_layersRWWofSrrorSVWenoSlSܯVilSlushSWԙWaseSufsizSWWbScntSptrSWXadTstore_errnoTWWWĜWcntTptrcntTȖW_TlinebufTekTtTнXXXerrTinToutUave_errnoTeTtdUWȋWȎW cReSfSget_SreTsUtellUunreadUwriteU&,AllocUFreeV!TTU"""܁"tersection_maybe_complement_2ndVvertV!!dumpVinVsearchVunion_maybe_complement_2ndVEQV_Verse_foldsVlistWZUUUcontWstartWFOOWperl_idWUUUcontXstartXFOOXperl_idXni_Wtf8_Xin_locale_categoryWuXnvWs_X!!_C_arrayX"UUUUUUfold_flagsYlower_flagsYtitle_flagsYupper_flagsYni_fold_flagsYtf8_Yfold_latin1YuYTĬY add_range_to_invlistVbyte_dump_stringVforce_out_malformed_utf8_messageViXnew_invlistXsetup_canned_invlistYto_Zutf8n_to_uvchr_msgs_helperZwarn_problematic_localeZ   applies[call[deref_call[attrs_string\builtin_cv_attributes\//lock\unlock\88ԥ88push\unshift_one\lear\reate_and_\8.elete]ump]87ists]tend]7آ8etch]ill]8Ե888ا8op^ush^787hift^tore^88def^shift^ arylen_p\c]d]ex]f]iter_p]len^make^p^reify^s^un^magic_[pply_\tfork_\v_^Iend_gimme_start___hook_register_UUU_loc`Ucmp_utf8`from_utf8`to_utf8`lock`ytes_` rgv`texit`   a`listamethodapvasvaH/_aer_cxaocaXX32avaXXlongavaiauallast_b_or_listblistbprotob//_dbentersub_args_bwarnerb//_db_bwarnc55ADJUSTcfieldc55attributescfield_attributescdd_cpply_c55initfield_parsecmethod_parsec555_field_defopdup_stashdal_stashdtd5acprepare_dsedwrap_method_bodyd;ass_dear_defarraye/77fetch_labelestore_labele5/// kw_unless_classeno_modifyepopstackesvexs_usagee/_f1111f3fQget_fieldfregisterfrrent_re_enginefstom_op_f܊kproto_len_flagsglonegonst_svg_flagsg_flagsgcgget_call_checkergnamegset_call_checkerhundefhԍ  from_hekhsethܐ _hgv_hstash_sethHG_dumpiinci abkclentrl_to_mnemoniceop_eroakfsighandlerfugvhxi./VVptrsiVopiprofdumpistackj̢//_no_escapej2bjlimcpyjspatch_signalsj//_svjYS.._dumpkgv_dumpk.R--RYnk_dumpkenk-R-printfkv_dumpk aexeckclosekgvkhv_dumpkjoinkmagic_dumpkopkpmop_dumpkskuniprop_matchl II_ling_taintlreflunwindlwantarrayl؎10init_rmrmĬ------ث-allmevalmformmindentmpacksubsmsubmvindentmmp_mp_warningsnejiejomrand48_mun1  pvnsvnmulate_cop_ionval_n//compileoinstroaddodeloreadoȆQKԏcvodefsvoalize_optreeod_runolter_onpU``alien_digit_msgpcp_too_large_msgp/_pbid_outofblock_opspmpldEQ_utf8_flagsprpHbm_oipoqree_tmpsq nd_check_backslash_N_nameqvq  n_flagsq1b_subreprecated_property_msgr Ѝ0č0descsrnamesr0Еdefinitionrvaluesrpaddrrrop_r1 aqcvqdrhvrop_rpsre_argssvs0_scwd_svsĆaȘ  freesrefsYXX_oct_hext```ctotxtintslash_tXXXY_flagstXberteric_radixtXatoUVtbthextinfnantnumtoctuYYYY   nu pvusvudd_by_typeuutoload_uđ  heckvonst_svv-ܒY 3v4v  _flagsv  Х _autoloadv _autoloadvnv  _autoloadwpvwsvw ī  _flagswn_flagsw autoloadwpvwsv_flagswY_w_wodx  n_flagsx filevmethxpvxsvxԒY 3x4xetchxullnamexد   ny pvysvy    ny pvysvy AVadduHVadduIOadduSVadduavcvdumpvefullnamevfxhandleryinit_yname_setyoverrideystashytry_downgradeyetsmtime64_rsp_srok_uv_yȒY677_placeholders{Ę66_key_len{7mmon{py_hints_hv{lear{o{7YY_ent{ayfree_ent{ete{.el|ump|77p|set|YY_ent|iter_|xists|ȘYY_ent|67etch|ill|ree_ent}667sv}67Y_flags}sv}6init}key}next}val}6Y7667get~p~set~ܳ777p~set~and_set~iter_~6YYent~flags~Y_~calar~toreܟ7 bucket_ratio{c{d|e|f}iter}ksplit}magic~name_set~placeholders_~r~sundef_flagsuge{v_إY0i18nl10nnamed_cvstackstmY̑!fix_plugin_standardit_strtro_myvlist_clone'ITYTbufȁhelper_΁YFF_helper_char_ԁstring_loclvalue_subutf8_YSCRIPT_RUN_infnannsХYY8;Gadjust_stacksscope؝̮spacetoƒunicharȃЫnpvsvartuff_bufutf8discard_togrow_linestrnext_chunkpeek_unicharread_΃stunstuffave_x_charnamesmoduleYؾY_panicąconvʅaeЅtime64_r<ad_caloks_like_numberanginfoeo./ĀHgic_dumpllocÆrkstack_growɆY//_svȢ/11learopy11Ԡ1_mglobext111_typeԇextڇindree111Ԝ1etizecfgetmagicals0;;bodiesֈsv܈ _switchesHHdestructor_svsvfunc_xetal_333from_nameljlinear_isa͉private_dataӉ33a_inithod_changed_in3333mroprivate_dataŠget_ىmetpackage_movedregisterset_Ȋ/.concat_stringifyderef_stringifyYYY2̋3ҋ01  0/ailure_exitflush_allorkSY_flags///_list͌closenjopenӌ/00SءY_flagsYY8_tempXftimetodatretenvnprintfocketpairtˍ0 atof؋clearenvdirfdexitflstatps؍vsnprintf aφbtowc_essfreeg_ini_mktimeЈorro_ultiy_ATTRSUBHASHLISTSUBԆ88YREFavhvNONRGDEFELEMOPݏSSIGNOPTTRSUB_xV_flagsڐDOPԐSTSUBONVREFEROPSVOPMOP̀  OPۑREFgen_flagsIVENOPϑPՑV6YREFhvȟYEXВOP֒GOPʒOPܒISTOPĒO_named̋ETHOPYSUBLISTēouterʓpvnГԻADNAME֓MOPROGVOP@ANGEVY@@falseܔtrue@??_mortal@@5?=??flagsshare?_•?_sharefn֕@?Y_flags<Ȟ> OPДREF֔_boolhekivnvobjectpvrvsvuvLICEOPTATEOPĔUBʔV_AUXENOPILEOPdeffile̗flagsҗ_ؗG0/stackinfoversionwarnings_bitfieldABINOPΐCDEFFOR‘GHVIOLMNULLLISTOPPRSTRYCATCHOPUNOPWHXS_/Xܴperl_dieƙthreadhook̙ewinstroҙelemlist/AassearZtextualizevert_listšlonȚ-0orce_listreexВinklistvalue_flagsLXarentśrepend_elemʛMMlockunlockMcopeibling_splice append_cdumpflnullpЛrefcnt_swrap_finallyQ_timize_optreeش[npvsvanonname_Ɲdd_ԝllocnpvsvĘafindmy_newpushtidyetchreefstore_freeޞlist__namearestmtlockƟexprstmtabelistexprȸtmtsequbsignaturearithexprb̟fulllstermexprǠcklistdrse_͠1-G$2compexecfreeȠ0gǡscan_versionAAetchreeAAħAplittorefnewsGȖ-,Ȓ-Udisplayآescapeޢprettyuni_displayaerly_sighandlermop_dumpop_scoperetr_table_ush_scopeҢv_Icopyfreenew%artringcompileintuit_stop_compile̤Ģ/3333freeinitretrysize777n7pvǥsvҥ7etch_إree777n7pvsvchain_2hvfincnew_ЏYcounted_he_(''(etchirstkey(((allexistsfiternextkeyscalar'_(ԑ(_flags(ܑ(fetchlengthstoreamed_buffէumbered_buff_غnqr_packagetemp_copyƨ!$!_̨curlydumpexec_flagsfree_internalinitcolorsprop/<eatcpyߩort_uninit _Ҥallocentrant_f̦gpquire_pvsume_compcv///_stateݪ.8debugstandardcpv_eninstrתsignalunops_v2cv_op_cvԡ/ȡ/؞//calloc׫freeݫmallocreallocHHH16328HHHHHdeleteelem_flagsìllocɬptrϬryլHHHHH_xletestructorYYHYopĭpvʭrcpvЭsv֭ȏH܉HpvrefsvrefԓHeneric_pHHHԵHܩHashdeleteelem_flagsints®ptrȮȞHěHHnttemvYYܨHȣHHHHptr¯i32ptrptrȯadsv_and_mortalizeptrushկȋHcpve_context܆HHHHHHcalaret_svflagshared_pvrefptr°trlenȰvrefΰHIa۬boolclearsvdefreeܭghήimortalizesvopprs԰vptr//nHH_cntharedpvtack_growH_stmpsfesysveDzXXX0Ԍersionstring6binhexnumoctstrvword0`0aret_XontextYYstandardunderlyingcnumeric_MY_defoutҴlocaleشedt޴7B\\_flagsftref2xvrtsvGck_growĵrt_subparseʵȫZ_to_versionxfrmaеr=Y_flags@@<Y_flagsŶov˶<<Y_flags̞<Yflagsnolen<YflagsnolenY_<YflagsηnolenԷY_ڷY_byte÷utf8<Y_flagsboolcvi۶mortalnvpvuv<Aackoff۸lessA̝>>flagsmgAA_mg>АYflagsmgȐY_К>_fnι>YflagsmgؐY__decodepvٹsv>>???_flagsflagslocaleǺ?_׺?Y_flags<Y_flagsllxfrmpypvathoplearmpo??_nomgٻ>   n hvpvsv _0c߻l_backrefrived_fromstroyable  n pvsv _.._deptheoesump?Y_flags;Y_flagsֽ>>2orce_normalܽree>Ƞ?_backrefss܌<<_freshetrow??_nomgھĻ>Y_flagscsert @_sv@aobjectns>>_nomgʿ>_utf8п>Р>_mglobؐ<ext<Y_flagsagicortalcopy<>mortalrefY0Ylockingsharingunlocking?ewoumeq_flags-=?_flags>>_flagsb2uu2b@Yn_force=Y_flags@Yn_forceYbyten_forceutf8eekos_vA;@type>;laceort_used@code_to_utf8fpset>̤>unweakenweakenev====boolfalsetrueundef><<_mg<<_mg>>bufsizemgAA_mg>Ă>freshmg<_>_fnAЉAAȇAn؈Aivnvpvuv<Ԝ<_mg<<_mgincnoincef_v_===cowflagsmgY_̔<<_mg_hekivnvpvrsvuv?1eq_flagsing_from_errnumettr<Yed@aintrueU>>ext<؏Y_flagsȊAi_displaymagicreftaint;>YflagsmgY_=<Y_flagsecodeowngradeП==Y_flags_growdencodeupgradenpgradesepvntf8_A?A_flagsđA_mgnAAA_mgncatpvfsetpvf2bcdeqƽfg˾ilen߿mnprstuvشZܴZ3Ԑinittermnc_locales_ a۲can_ehare_hekkipspace_flagsotuspend_compcvv_witch_to_global_localeyԉV܇VenvproperZZinittermHUUUlowertitleupper  binunaint_hread_locale_mps_grow_po_uni_ry_amagic_Z67_hekpvnpackstringshare0UUbasereversedU_ԎUĘUĬUUY_bufYchrunitf16_basevbytesulengthto_TT_errorYchruni_n_to_uv16_to_utf88TT_flagsTT_msgsYchr_to_utf8offuni_to_utf8_flagsuni_to_utf8npg_versiontfv0/mproakV/1/?00ewSVpvformalumify00//er alidate_protocdebformivify_defelemload_modulemessnstringifyverifywarn///_sverIrns_lvalue_sub12n2pvsvinfix_pluginkeyword_pluginop_checkerahichsig_rap_ 0boot_epiloghandshakeGv_AMupdateRPerlIO_USlab_V_Za_b`cidneofqgzhiӂkeyword_plugin_standard߂lmҎnoppqerrorrstuvwxs_yylexIOR_L_#QL\! 0$ p@.h (b$ 0+`  $ @LL tLt@;$lX\08 0 p<@<< X\t D$ |l<\`T ,p$@Tlxt\d  p|  |,t|4(8\ 4d0  Pl08Xhdx P`,d4p 484,&  4L(`LD $ H$  L\\((TX T hhL  hL\Xp$0llhhthh $( #\D|  \$H8Xh88D  L TTh\"<88 D8X  xH <0H `Hp0t8HLX`0x8@@dhPp H<H  x`h4@  ((    $ 2`z@z\@z\F{a{b%{k4{m>{(rN{PK\Mr|Sjs4ptΧX3lB8J&J:`LJU_cmgwz{}Ǩ}٨ ~0l$Ԁ3XDUddm|TTϩdH\ ܖ$'6ETc8o(}̮ê`Ъܶ<4$8(MpYlgpshd\P\h̫ګ\, 80AQ0boHLPЬ%`3@A O]k{d$ ­L ѭ ޭL'7\"B"O%^+o,|x.13L=Ů?ѮIJ SYa+hf=XiLj[minyxx z {$¯Я(,D'?ĘM\Ԝm~dװt`"5I<` w@ϱ,0+$AR,cs 8ƲtղL x$+L)>.Q0.b1u>>AT[˳x[޳`^de ipw+x<{Mm4z`PxPȴ۴Lȟ%7JDXLguвH4ŵtֵ H 0 G W f ~\ |ж%d()(h+:,I|-\-r--/`19η;ݷ<L>>@+@@BRG`JrJhMXP TAp@eLCv8EElXdZ m|muwlw58zG[s))FT UZ[[$e5LhHpid jH}d<#1pA0Mt[jl'x(,.112(=M\O  QR1(eGw[j$LXT 2 EV(&b/z/41H2<3NVVVp.TpDpg0svks(txxiy @,H Q ^f܉o~yZtpTX&H`P@%S8xH]Ȋr 5^ )x9G Yt`0@ 0! ;`Oip@0p 0'A[Po@p0P>Zk8}(X "4(FZm('h'''(X((*(+.+B-V.j/~@012P8PhPPf"q7(rLXr_tt(uXuuuhv(xxx(*X<8Uhm؋(X .@XRex~x8h'=Sh(~x8h'=XRh~HxH&;PHezHx8h 83hG\qx(8h&6hHZsHxHx8M8bhw(X,<`HLHdHxMM NPNNNpO"O?OQvc v p((()0)/`)H)Z`*l+},0-`--.;@;p;B;_;qp<<< =P=KPPQX)\>0]Tbi@h~k@llx0+@AS wP0P"Pb@tp0`, ?PQj@p0EYm        0 B T@ fp x  O  P R pi j k  l Pl 1n C@p Upp gp ypq q q s 0s s t pt "t 6u G n@   @ @ < f0!P)!?!0F!`^!%d!Nj!``k!k!! !P!!!!!0@!Gp!_!tЖ!!0!`!!!! !,P!B!c!y!!@!p!!Й! !!0!;`!Y!x!! !P!!!!(!@@!Zp!p!М!!0!`!!!!3 !IP!_!w!!!@!p! ! П!7!O0!c`!}!!! !P!! ! !7!K@!ap!w!Т!!0!`!!!#!> !YP!u!!!!@!p!!Х!/!I0!d`!x!!! !P!!!'!@!Z@!tp!!Ш!!0!`!!!5!V@!x!!!!!!P!4![!@!! !!!0!5`!P!f!{! !P!!@! p!.`!KP!l!!!0!p!(p!P!{!@! !P!!<!`!0!`!0!0!`! "*"M"q"`"p"@"""$"?*"V*"m*"+"@+"p+"+"+","0,"/`,"D,"[,"r," -"P-"-"-"-"."@."p."7."N."b/"z0/"`/"/"/"/" 0"P0"0"0Y"D"X"r`"X#/#X\#pn###Ȭ##8#K#d$wP/$K$j$$P$$ $X%-`?%@g%T%h%z0%`%%%%@%p%%40%K`%a%v%И%%p%%%P%#%8%V%k%%М%%`%%%)%B@%Xp%mО%%0%p%%%@%p%<%[Р%y%0%`%%%%- %NP%n%%%%@%p%4%WУ%w%0%`%%%%4 %TP%u%%%%@%p%:%YЦ%y%0%%%Щ%0%`%%%9%N0%d`%y%@%p%Ь%%% %# %@  %Z P%u % % % `% % % % %2  %M P%j % % % % @% p% % %  %$ P%7 %J %h %z % `% % % %  % P% % %2 p%L %^ %p `% % % p% & 0& & 0& `&# &: &Q &h  & P& & &  & '& 0Z& pZ&`&#b&7b&Kc&_d&sj&x}&}&}&&&ș&ز&&'ȳ&;h&OȾ&c&w&&&8&&&h&X&&+&?&S8&gx&{&@&p&&&p&& &)&G&Y0&n`&~'#'$'M'M' N'`N' a'0b'1`b'Cb'Ub'g0c'yc'@l'pl'l'l'Px'x' x') y';`y'My'_y'q0z'`z'z'z'z' {'P{'( |'8'J0'g`'''0''Г'P'''.'@@'O'a 'sО''X''آ'''X'h')'@'QH'a('q''h'(8( ((h(()((@(X(q((8 (h ( (X!(!(/!(Ch"(W"(s(#(#(H$(x$(%(%(%(&(#('(?x'(['(w((X(()()(H*(x*(*(:+(V+(q8,(,(,(,(-(-(-((6(<(9(Q9(g:(~x:(:(:(;(H;(x;(;(;(,<(@8<(Th<(h<(|<(X=(=(8F(G(H(xH(H(3I(G8I([hI(oI(I(I((J(XJ(J(J((K(XK(:K(UHL(pxL(L(L(M(XU(V((W(W(,W(DX(XHX(lxX(X(X(Y(8Y(hY(Y(Y( Y(+ (Z(> b(R Hd(g (e(} e( Xf( f( f( f( 8g(!hg(,!n(@!o(U!Xp(k!p(!q(!Hq(!x(!xy(!y(!Xz("z("z(7"{(R"H{(m"x{("("h("("H("("؄(#(#(*#x(@#؍(W#8(o#h(#(#ț(#(#((#X(#($(($(:$((L$h(^$($؞($(($8($h($H($x($($( %د(%(+%(;%(M%(c%8(u%x(%ض(%(%H(%x(%H(%x(&H( &(8&(P&(h&P(&(&(&(&(&p(&('(''@(@'(R'(b'(s'('p('`('('(' ('('(( (((&((8(0(J(p(^((r(((p(((()(D)(I)(`J)(J))PK)&)@P):) y)N))^)0)t)))@))@))))д))))@)*)$*):*@)P*)f*p)|*)*)*и)*P)*й)*`)+p)+н),+о)B+)W+`)m+`)+)+)+`)+)+)+),),)3,)I,)_,`)u,), ),`),),0),p),)-`)%-);-)P-@)f-@)|-p)-)-)- )-)-P).).),.)B.)X.)n.p).).).@).).p).)/)/ )4/p)H/)^/)n/)/()/X)/)/)/H)/)/)"0)20)B0)Z08)t0h)0)0H)0x)0)0)0)08*1x*!1*91*Q1*i18*1h*1*1*1*1(* 2X*+2*=2*d2*28*2*2H*2*2*2*3h*3*'3*=3H*O3*a3X*3*3*3*3( *3*3X*3*48*4x*&4*84*K4H*]4*o4*4*4*4H*4x*4*4* 5X?*5?*25?*M5?*d58@*v5@*5F*5G*5I*5Q*5HR*5xR*5R* 6R*!6S*56S*M6Pg*a6h*u6i*6*6*60*60*6*6*7*7`*07 *B7`*T7*f7 +x7 +7PQ+70+7+7+7(+8Ȱ+'8+@8H,Y8,r8,8<,8l,8hm,8m,8Xn,8n,9o,9Ho,69xo,E9p,W9Hp,g9xp,9p,9p,9hq,9z,9ئ,9ȯ,:x,*:8 -Q:( -k:<-:f-:(i-:hj-:j-;k-A;l-^;0o-{; -;-;P-;-;-;-;T-<-<.*<8.4<?.><A.I<B.Z<C.k< C.|<C.<C.<4C.<@C.<\C.<C.<C.<C.=C.=C.*=D.<=PD.N=D.`=D.r=D.=D.=D.=D.=D.=D.=D.=D.> E.>E.&>$E.8>,E.J>4E.\>TE.>\E.>|E.>E.>E.>E.>E.>E.>E.?E."? F.4?F.F?0F.X?8F.j?@F.|?TF.?F.?F.?F.?F.?G.?G.?G. @G.@$G.0@,G.B@8G.T@@G.f@tL.@ O.@S.@sT.@T.@A].IAH^.YA_.qA_.AQ.QQ.dQ.wQ /Q$ /Q &/Q(/Q(/Q4(/Qd(/Qp1Q1R1R81+R`1@R1VR1eR`91zRX<1R>1R`?1RHB1R8f1Rf1RPm1Rxo1R@p1SHu1Sw1'Sw1DSx1_Sx1pSy1S|1S1Sx1S1S1S@1S1S@1S1T(1T1,T1@Th1RT`1_T1lT81uTP1T1T1T81T1Tط1T 1T1U1U1,U1>U1NU p2 &2 &2' p)2; H"2I #2R "2[ "2f 8"2s ("2 "2 0"2// &2 &2 x2 &2  &2 &2#.* (29 x)2I &2X &2h 2o &2 &2 2 2 ((2 0(2 %2.. 2 !2 !2 !2! !2. x"2: (2K/a.n1} %2 $2 #2 2 2q/.( 2 "2 H2h2% X23 2D $2W2n $2 2 !2 $2 h#2 #2 2 p#2 x#2 #2  $2 2+h1?.K2]2o2 2 2 2 2 2 2 2 2 2 2 p"2 $2' $2; %2J 2Z @"2eg// `"2 X$2 %2 @2 2 2 2 2 #2 #2+ #2> #2Q2a !2m 2{ !2 22p2 !2 2 2 "2 h!2 "2 @2  2% "23 "2B 2N !2] 2j 2zL./ "2 "2 2// &2 "2 22% 20 h"2@ p2M 2`d2{ 2 (+2 H+2. x!2 h2 `2 2  2  20  2<  2O  '2`  $2{  !2  !2  p!2 / 2  "2  !2  &2 .  `2 2-  82>  2O  2d  2s  "2~  2 2 2 /  2  !2 2 / 1  1!  "2-  "2;  "2J  2X  h2f  x2x  p2  x$2 2  )2  *2 9.  "2  p$2  !2  !2  !2  !2,  !28  !2D  !2P  2c /u  #2  #2  2  2  2 / . . . . . U. ).& .4 e.D .U .c 4.t v. .  #2  $2  $2 2 2 2 2 "2' 2.1: 2F1R/kR// /\/ 2 2`/ H2 #2 \!2 `!2" 22 !2C "2N #2Y $2o $2y $22 2 h2 2 !2x2 2 P!2  02 2* 2? 2Y 2cX1s2~ "2 +2 2 $2 !2 $2 $2 x&2 X!2 (2151K $2_ 02q 2/ 1 "2 2 2.2 221 1 2' 825 @2F D2X H2g P2y T2 h2 2 2 2.2ؾ1 / x2 +2) #2: #2K #2[2j T!2vu// 2 2 p2 2 2 2 (2 02 2! 2/ 2> 2L 2W 82d !2t !2 !2 !2 2 2 2 2 2  2 21 2D 2V 2j 2/ 2 22 2`2 h$2  `$2.% 26 `%2D 2Q 2b +2u 2 "2 2 22X2P2 `2 X2 2 2  $2! #2- "2= P2R2a $2l 2 X)2 `)2 '2 '2 (2 h)2 (2  (2" H)22 @)2C P)2Y 8)2j 0)2{ (2 (2e2 !2.../E/ /V/4#/H4/[P/fg/y. 2 !2.S.q..1. !2 2 P2  H!2, *2; X2L `uh|T`(!4dGXo $ d 4    1CS\c y  ,#5Jh ^s `ܮh):Ma0sh<$< $<\Ntbut``lDX  3 D pU g z h  Я      1 L!@!)!7!ԕJ!(1W!e!p|!d!d!ԡ!!!!"̏"%"8"DK" X"h"(w"""$"""H""#@#)#9#F#T#i#1y#1##&##"#T##H1##1#L $$#.$'=$1K$d&[$ثn$}$$$p'$$!$h1$1$$$ R%t$%7%S%d%w%@%%ܗ%x%%%0&h&x'5&M&_&t&D&H&&@&&&'H'D)',9'`oU'+m'!'h'''0(܀(0w,(xV(<s(W(X(@X(e(g(f)t)u2)@N)p^d)_})a)r)*ZP*uh*|f*`J* * * * *+#+3+ A+8Q+ a+( p+X~+!++4+++$ +d+$ +,,!,xq3,HE,$^,Is,P,P,Q,Hv,>,t8,~,w -0x-*'-@ 4-*C-+Q-*b-T+p-d-(--$ - - - . #.| 9.lq V.T} y.x .y .s .~ .n /ty &/;/ S/, i/ / /` / /D / /ȯ/u 0w 0v .0F0(`0py0@0(0\E0D00\0171F1Z1i1\{1D"1h1x1к 1 111 1L 2 2 (2 52ID2hS2 d2T w2< 2(2s 2b 2I22$\ 22z 3$363lbB3sQ3pc3XG x3l9 3DV 3[ 3<[ 3@U 3Y 3[ 3U 3x40\ '4,54C4 U4 e4v4484HC4$44L4 5$ 56.5,:J5xZ55s5lu5t5@ 55t5 6 6 $6>6T6F e6lsr6| 6DC6HL6K68A6+6+6D56; 7|>!720746B70AT7;l747 27O7O7O7O77!7<8 %8H48F8p T8\Ih8H|8(8T88,889` *98I9dI^9x|9999$9$:A:TI$:dG7:WH:t Y:k:|: :<{:!:(:x$:x:HI:P ; ; 7;l G;D _; v;( ;pM;lL;ܸ ;, ;l ;L;L<,M<HL)<l 7<h I< [< l<Ĺ <lI< <h <̹ < <tI< <d =L 1= K= ]=| n= = =L=K=L= =R=o >L!>3> A>QM>\>p> >8r>)> Q>(>I>F ?R(?c7?cG?a?(s?؎??0?p???L@@+@Е>@`R@e@w@h@j@T@X_@8H@@ @< AD!A^/A :A HAH TAtO cAS qATP AP A|P A@U A`V AW AG AlG AL BTN B< !B3BpAB4TBH"oB4#B B B B B C C ,Cd >C YC uC CdBCFCDC(< CD CCpDp D #DP2DGD< WD fDl zD\ D( D2 DPDdDeDiD) E: E}4E}FE|XE}iEETEpEMEEhE EvEEl Fe$F3F=DFUFycF/rF8FLFF<FpKFtNFFм FOFG4G6%G!5GdEG[GEjG|GGGGGԝGDGGH82 HH.HQ;HHGHiUHldH$2vH2H1HH\H0H/HP` HlH Ip^Ip*I@?ITIx>bIQpII3IIxI,I4<It(IhrI(sJrJl-J| ?J [J hJL)yJ\JiJPpJ J J(-JKV K$#KX1KH<CKPIYKl&gK|,wKkK&K&KK&KX?K @ LXLD.LDL [LзqLL LtL<LLLDLL|M8,MtDM(SZM@WoM(VMhUM\MtWMTMH\M\MSN\x +Na ;NKNZN6 iNxNNH NSNUN@SNTNS ODOHK +O? ;OHI KO{`OymO}OPOOOO OODOD O P &P `LU`f`}`hH`H` :`H`I`H`T:atZa:(aH9a`Ja_a 3naaLa{a{azaXya@aa b bx 0bl?bVbhbExbFb7b|bDb(DbDbCbEcXD$cT7cdMc bczc@Hct{c_c8{c cL cc(] dG$d25dp9Cd0Xdid`}dGddHEddKd(dKd$PeQ)e;GeO\ep?pnp*p1?p1[p1rp1pl.pl.pppppqq q,q:qIq[qnqyqqqqqqqqqqqqqqqr rrr r*r1r;rDrIrPrWr`rirqrxr}rrrrrrrrrrrrrrrsssss%s-s4suFuLuTu[uauiuqu}uuuuuuuuuuuuuuu vvv%v+v3v;vCvKvXv^vgvnvtvyvvvvvvvvvvvvvvwwwww'w0w:wEwQw]whwsw|wwwwwwwwwwwwwwxxx%x2x=xBxIxQx]xfxlxtx|xxxxxxxxxxxxxxxy yyy y*y1y9yAyKyUy]ygyry{y   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ _PL_AboveLatin1_PL_Assigned_invlist_PL_CCC_non0_non230_PL_DBcontrol_PL_DBcv_PL_DBgv_PL_DBline_PL_DBsignal_PL_DBsingle_PL_DBsub_PL_DBtrace_PL_EXACTFish_bitmask_PL_EXACT_REQ8_bitmask_PL_GCB_invlist_PL_HasMultiCharFold_PL_InBitmap_PL_InMultiCharFold_PL_LB_invlist_PL_Latin1_PL_No_PL_Posix_ptrs_PL_Private_Use_PL_SB_invlist_PL_SCX_invlist_PL_Sv_PL_TR_SPECIAL_HANDLING_UTF8_PL_UpperLatin1_PL_WARN_ALL_PL_WARN_NONE_PL_WB_invlist_PL_XPosix_ptrs_PL_Xpv_PL_Yes_PL_Zero_PL_an_PL_argvgv_PL_argvout_stack_PL_argvoutgv_PL_basetime_PL_beginav_PL_beginav_save_PL_bincompat_options_PL_bitcount_PL_block_type_PL_blockhooks_PL_body_arenas_PL_body_roots_PL_bodytarget_PL_breakable_sub_gen_PL_c9_utf8_dfa_tab_PL_charclass_PL_check_PL_checkav_PL_checkav_save_PL_chopset_PL_clocktick_PL_collation_ix_PL_collation_name_PL_collation_standard_PL_collxfrm_base_PL_collxfrm_mult_PL_colors_PL_colorset_PL_compcv_PL_compiling_PL_comppad_PL_comppad_name_PL_comppad_name_fill_PL_comppad_name_floor_PL_constpadix_PL_cop_seqmax_PL_core_reg_engine_PL_cshname_PL_csighandler1p_PL_csighandler3p_PL_csighandlerp_PL_ctype_name_PL_curcop_PL_curcopdb_PL_curinterp_PL_curpad_PL_curpm_PL_curpm_under_PL_curstack_PL_curstackinfo_PL_curstash_PL_curstname_PL_custom_op_descs_PL_custom_op_names_PL_custom_ops_PL_cv_has_eval_PL_dbargs_PL_deBruijn_bitpos_tab32_PL_deBruijn_bitpos_tab64_PL_debstash_PL_debug_PL_debug_pad_PL_def_layerlist_PL_defgv_PL_defoutgv_PL_defstash_PL_delaymagic_PL_delaymagic_egid_PL_delaymagic_euid_PL_delaymagic_gid_PL_delaymagic_uid_PL_destroyhook_PL_diehook_PL_do_undump_PL_doswitches_PL_dowarn_PL_dump_re_max_len_PL_dumpindent_PL_e_script_PL_efloatbuf_PL_efloatsize_PL_endav_PL_envgv_PL_errgv_PL_errors_PL_eval_begin_nest_depth_PL_eval_root_PL_eval_start_PL_evalseq_PL_exit_flags_PL_exitlist_PL_exitlistlen_PL_extended_cp_format_PL_extended_utf8_dfa_tab_PL_fdpid_PL_filemode_PL_firstgv_PL_fold_PL_fold_latin1_PL_fold_locale_PL_forkprocess_PL_formtarget_PL_generation_PL_gensym_PL_globalstash_PL_globhook_PL_hash_rand_bits_PL_hash_rand_bits_enabled_PL_hash_seed_set_PL_hash_seed_w_PL_hash_state_w_PL_hexdigit_PL_hintgv_PL_hook__require__after_PL_hook__require__before_PL_hv_fetch_ent_mh_PL_in_clean_all_PL_in_clean_objs_PL_in_eval_PL_in_load_module_PL_in_some_fold_PL_in_utf8_COLLATE_locale_PL_in_utf8_CTYPE_locale_PL_in_utf8_turkic_locale_PL_incgv_PL_inf_PL_infix_plugin_PL_initav_PL_inplace_PL_internal_random_state_PL_isa_DOES_PL_isarev_PL_keyword_plugin_PL_known_layers_PL_langinfo_buf_PL_langinfo_bufsize_PL_last_in_gv_PL_lastfd_PL_lastgotoprobe_PL_laststatval_PL_laststype_PL_latin1_lc_PL_localizing_PL_localpatches_PL_lockhook_PL_magic_data_PL_magic_vtable_names_PL_magic_vtables_PL_main_cv_PL_main_root_PL_main_start_PL_mainstack_PL_markstack_PL_markstack_max_PL_markstack_ptr_PL_max_intro_pending_PL_maxsysfd_PL_mbrlen_ps_PL_mbrtowc_ps_PL_memory_wrap_PL_mess_sv_PL_min_intro_pending_PL_minus_E_PL_minus_F_PL_minus_a_PL_minus_c_PL_minus_l_PL_minus_n_PL_minus_p_PL_mmap_page_size_PL_mod_latin1_uc_PL_modcount_PL_modglobal_PL_multideref_pc_PL_my_environ_PL_na_PL_nan_PL_no_aelem_PL_no_dir_func_PL_no_func_PL_no_helem_sv_PL_no_localize_ref_PL_no_mem_PL_no_modify_PL_no_myglob_PL_no_security_PL_no_sock_func_PL_no_symref_PL_no_symref_sv_PL_no_usym_PL_no_wrongref_PL_nomemok_PL_numeric_name_PL_numeric_radix_sv_PL_numeric_standard_PL_numeric_underlying_PL_numeric_underlying_is_standard_PL_ofsgv_PL_oldname_PL_op_PL_op_desc_PL_op_mask_PL_op_name_PL_op_private_bitdef_ix_PL_op_private_bitdefs_PL_op_private_bitfields_PL_op_private_labels_PL_op_private_valid_PL_op_seq_PL_op_sequence_PL_opargs_PL_opfreehook_PL_origalen_PL_origargc_PL_origargv_PL_origenviron_PL_origfilename_PL_ors_sv_PL_osname_PL_pad_reset_pending_PL_padix_PL_padix_floor_PL_padlist_generation_PL_padname_const_PL_padname_undef_PL_parser_PL_patchlevel_PL_peepp_PL_perl_destruct_level_PL_perldb_PL_perlio_PL_perlio_debug_fd_PL_perlio_fd_refcnt_PL_perlio_fd_refcnt_size_PL_phase_PL_phase_names_PL_ppaddr_PL_preambleav_PL_prevailing_version_PL_profiledata_PL_psig_name_PL_psig_pend_PL_psig_ptr_PL_ptr_table_PL_random_state_PL_reentrant_retint_PL_reg_curpm_PL_reg_extflags_name_PL_reg_intflags_name_PL_registered_mros_PL_regmatch_slab_PL_regmatch_state_PL_regnode_info_PL_regnode_name_PL_replgv_PL_restartjmpenv_PL_restartop_PL_revision_PL_rpeepp_PL_rs_PL_runops_PL_runops_dbg_PL_runops_std_PL_savebegin_PL_savestack_PL_savestack_ix_PL_savestack_max_PL_scopestack_PL_scopestack_ix_PL_scopestack_max_PL_scopestack_name_PL_secondgv_PL_setlocale_buf_PL_setlocale_bufsize_PL_sh_path_PL_sharehook_PL_sig_name_PL_sig_num_PL_sig_pending_PL_sigfpe_saved_PL_sighandler1p_PL_sighandler3p_PL_sighandlerp_PL_signalhook_PL_signals_PL_simple_PL_simple_bitmask_PL_sortcop_PL_sortstash_PL_splitstr_PL_srand_called_PL_srand_override_PL_srand_override_next_PL_stack_base_PL_stack_max_PL_stack_sp_PL_start_env_PL_stashcache_PL_statcache_PL_statgv_PL_statname_PL_statusvalue_PL_statusvalue_posix_PL_stderrgv_PL_stdingv_PL_stdize_locale_buf_PL_stdize_locale_bufsize_PL_strategy_accept_PL_strategy_dup_PL_strategy_dup2_PL_strategy_mkstemp_PL_strategy_open_PL_strategy_open3_PL_strategy_pipe_PL_strategy_socket_PL_strategy_socketpair_PL_strict_utf8_dfa_tab_PL_strtab_PL_strxfrm_NUL_replacement_PL_strxfrm_is_behaved_PL_strxfrm_max_cp_PL_sub_generation_PL_subline_PL_subname_PL_subversion_PL_sv_arenaroot_PL_sv_consts_PL_sv_count_PL_sv_immortals_PL_sv_placeholder_PL_sv_root_PL_taint_warn_PL_tainted_PL_tainting_PL_threadhook_PL_tmps_floor_PL_tmps_ix_PL_tmps_max_PL_tmps_stack_PL_top_env_PL_toptarget_PL_underlying_radix_sv_PL_unicode_PL_unitcheckav_PL_unitcheckav_save_PL_unlockhook_PL_unsafe_PL_user_def_props_PL_utf8_charname_begin_PL_utf8_charname_continue_PL_utf8_foldclosures_PL_utf8_idcont_PL_utf8_idstart_PL_utf8_mark_PL_utf8_perl_idcont_PL_utf8_perl_idstart_PL_utf8_tofold_PL_utf8_tolower_PL_utf8_tosimplefold_PL_utf8_totitle_PL_utf8_toupper_PL_utf8_xidcont_PL_utf8_xidstart_PL_utf8cache_PL_utf8locale_PL_utf8skip_PL_uudmap_PL_uuemap_PL_valid_types_IVX_PL_valid_types_IV_set_PL_valid_types_NVX_PL_valid_types_NV_set_PL_valid_types_PVX_PL_valid_types_RV_PL_varies_PL_varies_bitmask_PL_version_PL_veto_cleanup_PL_warn_locale_PL_warn_nl_PL_warn_nosemi_PL_warn_reserved_PL_warn_uninit_PL_warn_uninit_sv_PL_warnhook_PL_watch_pvx_PL_watchaddr_PL_watchok_PL_wcrtomb_ps_PL_xsubfilename_PerlIOBase_binmode_PerlIOBase_clearerr_PerlIOBase_close_PerlIOBase_dup_PerlIOBase_eof_PerlIOBase_error_PerlIOBase_fileno_PerlIOBase_flush_linebuf_PerlIOBase_noop_fail_PerlIOBase_noop_ok_PerlIOBase_open_PerlIOBase_popped_PerlIOBase_pushed_PerlIOBase_read_PerlIOBase_setlinebuf_PerlIOBase_unread_PerlIOBuf_bufsiz_PerlIOBuf_close_PerlIOBuf_dup_PerlIOBuf_fill_PerlIOBuf_flush_PerlIOBuf_get_base_PerlIOBuf_get_cnt_PerlIOBuf_get_ptr_PerlIOBuf_open_PerlIOBuf_popped_PerlIOBuf_pushed_PerlIOBuf_read_PerlIOBuf_seek_PerlIOBuf_set_ptrcnt_PerlIOBuf_tell_PerlIOBuf_unread_PerlIOBuf_write_PerlIOCrlf_binmode_PerlIOCrlf_flush_PerlIOCrlf_get_cnt_PerlIOCrlf_pushed_PerlIOCrlf_set_ptrcnt_PerlIOCrlf_unread_PerlIOCrlf_write_PerlIOPending_close_PerlIOPending_fill_PerlIOPending_flush_PerlIOPending_pushed_PerlIOPending_read_PerlIOPending_seek_PerlIOPending_set_ptrcnt_PerlIOPop_pushed_PerlIORaw_pushed_PerlIOStdio_clearerr_PerlIOStdio_close_PerlIOStdio_dup_PerlIOStdio_eof_PerlIOStdio_error_PerlIOStdio_fileno_PerlIOStdio_fill_PerlIOStdio_flush_PerlIOStdio_get_cnt_PerlIOStdio_get_ptr_PerlIOStdio_mode_PerlIOStdio_open_PerlIOStdio_pushed_PerlIOStdio_read_PerlIOStdio_seek_PerlIOStdio_set_ptrcnt_PerlIOStdio_setlinebuf_PerlIOStdio_tell_PerlIOStdio_unread_PerlIOStdio_write_PerlIOUnix_close_PerlIOUnix_dup_PerlIOUnix_fileno_PerlIOUnix_oflags_PerlIOUnix_open_PerlIOUnix_pushed_PerlIOUnix_read_PerlIOUnix_refcnt_PerlIOUnix_refcnt_dec_PerlIOUnix_refcnt_inc_PerlIOUnix_seek_PerlIOUnix_tell_PerlIOUnix_write_PerlIOUtf8_pushed_PerlIO__close_PerlIO_allocate_PerlIO_apply_layera_PerlIO_apply_layers_PerlIO_arg_fetch_PerlIO_binmode_PerlIO_byte_PerlIO_canset_cnt_PerlIO_cleantable_PerlIO_cleanup_PerlIO_clone_PerlIO_clone_list_PerlIO_crlf_PerlIO_debug_PerlIO_default_buffer_PerlIO_default_layer_PerlIO_default_layers_PerlIO_define_layer_PerlIO_destruct_PerlIO_exportFILE_PerlIO_fast_gets_PerlIO_fdopen_PerlIO_fdupopen_PerlIO_findFILE_PerlIO_find_layer_PerlIO_get_layers_PerlIO_getc_PerlIO_getname_PerlIO_getpos_PerlIO_has_base_PerlIO_has_cntptr_PerlIO_importFILE_PerlIO_init_PerlIO_intmode2str_PerlIO_isutf8_PerlIO_layer_fetch_PerlIO_list_alloc_PerlIO_list_free_PerlIO_list_push_PerlIO_modestr_PerlIO_open_PerlIO_openn_PerlIO_parse_layers_PerlIO_pending_PerlIO_perlio_PerlIO_pop_PerlIO_printf_PerlIO_push_PerlIO_putc_PerlIO_puts_PerlIO_raw_PerlIO_releaseFILE_PerlIO_remove_PerlIO_reopen_PerlIO_resolve_layers_PerlIO_rewind_PerlIO_setpos_PerlIO_stdio_PerlIO_stdoutf_PerlIO_stdstreams_PerlIO_sv_dup_PerlIO_tab_sv_PerlIO_teardown_PerlIO_tmpfile_PerlIO_tmpfile_flags_PerlIO_ungetc_PerlIO_unix_PerlIO_utf8_PerlIO_vprintf_Perl_Gv_AMupdate_Perl_PerlIO_clearerr_Perl_PerlIO_close_Perl_PerlIO_context_layers_Perl_PerlIO_eof_Perl_PerlIO_error_Perl_PerlIO_fileno_Perl_PerlIO_fill_Perl_PerlIO_flush_Perl_PerlIO_get_base_Perl_PerlIO_get_bufsiz_Perl_PerlIO_get_cnt_Perl_PerlIO_get_ptr_Perl_PerlIO_read_Perl_PerlIO_restore_errno_Perl_PerlIO_save_errno_Perl_PerlIO_seek_Perl_PerlIO_set_cnt_Perl_PerlIO_set_ptrcnt_Perl_PerlIO_setlinebuf_Perl_PerlIO_stderr_Perl_PerlIO_stdin_Perl_PerlIO_stdout_Perl_PerlIO_tell_Perl_PerlIO_unread_Perl_PerlIO_write_Perl_Slab_Alloc_Perl_Slab_Free_Perl__add_range_to_invlist_Perl__byte_dump_string_Perl__force_out_malformed_utf8_message_Perl__inverse_folds_Perl__invlistEQ_Perl__invlist_dump_Perl__invlist_intersection_maybe_complement_2nd_Perl__invlist_invert_Perl__invlist_search_Perl__invlist_union_maybe_complement_2nd_Perl__is_in_locale_category_Perl__is_uni_FOO_Perl__is_uni_perl_idcont_Perl__is_uni_perl_idstart_Perl__is_utf8_FOO_Perl__is_utf8_perl_idcont_Perl__is_utf8_perl_idstart_Perl__new_invlist_Perl__new_invlist_C_array_Perl__setup_canned_invlist_Perl__to_fold_latin1_Perl__to_uni_fold_flags_Perl__to_utf8_fold_flags_Perl__to_utf8_lower_flags_Perl__to_utf8_title_flags_Perl__to_utf8_upper_flags_Perl__utf8n_to_uvchr_msgs_helper_Perl__warn_problematic_locale_Perl_amagic_applies_Perl_amagic_call_Perl_amagic_deref_call_Perl_apply_attrs_string_Perl_apply_builtin_cv_attributes_Perl_atfork_lock_Perl_atfork_unlock_Perl_av_arylen_p_Perl_av_clear_Perl_av_create_and_push_Perl_av_create_and_unshift_one_Perl_av_delete_Perl_av_dump_Perl_av_exists_Perl_av_extend_Perl_av_fetch_Perl_av_fill_Perl_av_iter_p_Perl_av_len_Perl_av_make_Perl_av_pop_Perl_av_push_Perl_av_reify_Perl_av_shift_Perl_av_store_Perl_av_undef_Perl_av_unshift_Perl_block_end_Perl_block_gimme_Perl_block_start_Perl_blockhook_register_Perl_bytes_cmp_utf8_Perl_bytes_from_utf8_Perl_bytes_from_utf8_loc_Perl_bytes_to_utf8_Perl_call_argv_Perl_call_atexit_Perl_call_list_Perl_call_method_Perl_call_pv_Perl_call_sv_Perl_caller_cx_Perl_calloc_Perl_cast_i32_Perl_cast_iv_Perl_cast_ulong_Perl_cast_uv_Perl_ck_entersub_args_list_Perl_ck_entersub_args_proto_Perl_ck_entersub_args_proto_or_list_Perl_ck_warner_Perl_ck_warner_d_Perl_ckwarn_Perl_ckwarn_d_Perl_class_add_ADJUST_Perl_class_add_field_Perl_class_apply_attributes_Perl_class_apply_field_attributes_Perl_class_prepare_initfield_parse_Perl_class_prepare_method_parse_Perl_class_seal_stash_Perl_class_set_field_defop_Perl_class_setup_stash_Perl_class_wrap_method_body_Perl_clear_defarray_Perl_cntrl_to_mnemonic_Perl_cop_fetch_label_Perl_cop_store_label_Perl_croak_Perl_croak_kw_unless_class_Perl_croak_no_modify_Perl_croak_popstack_Perl_croak_sv_Perl_croak_xs_usage_Perl_csighandler_Perl_csighandler1_Perl_csighandler3_Perl_current_re_engine_Perl_custom_op_get_field_Perl_custom_op_register_Perl_cv_ckproto_len_flags_Perl_cv_clone_Perl_cv_const_sv_Perl_cv_get_call_checker_Perl_cv_get_call_checker_flags_Perl_cv_name_Perl_cv_set_call_checker_Perl_cv_set_call_checker_flags_Perl_cv_undef_Perl_cvgv_from_hek_Perl_cvgv_set_Perl_cvstash_set_Perl_cx_dump_Perl_cxinc_Perl_deb_Perl_debop_Perl_debprofdump_Perl_debstack_Perl_debstackptrs_Perl_delimcpy_Perl_delimcpy_no_escape_Perl_despatch_signals_Perl_die_Perl_die_sv_Perl_do_aexec_Perl_do_close_Perl_do_gv_dump_Perl_do_gvgv_dump_Perl_do_hv_dump_Perl_do_join_Perl_do_magic_dump_Perl_do_op_dump_Perl_do_open_Perl_do_openn_Perl_do_pmop_dump_Perl_do_sprintf_Perl_do_sv_dump_Perl_do_uniprop_match_Perl_doing_taint_Perl_doref_Perl_dounwind_Perl_dowantarray_Perl_drand48_init_r_Perl_drand48_r_Perl_dump_all_Perl_dump_eval_Perl_dump_form_Perl_dump_indent_Perl_dump_packsubs_Perl_dump_sub_Perl_dump_vindent_Perl_dup_warnings_Perl_emulate_cop_io_Perl_eval_pv_Perl_eval_sv_Perl_fbm_compile_Perl_fbm_instr_Perl_filter_add_Perl_filter_del_Perl_filter_read_Perl_finalize_optree_Perl_find_runcv_Perl_find_rundefsv_Perl_foldEQ_utf8_flags_Perl_forbid_outofblock_ops_Perl_form_Perl_form_alien_digit_msg_Perl_form_cp_too_large_msg_Perl_free_tmps_Perl_get_and_check_backslash_N_name_Perl_get_av_Perl_get_cv_Perl_get_cvn_flags_Perl_get_db_sub_Perl_get_deprecated_property_msg_Perl_get_hv_Perl_get_op_descs_Perl_get_op_names_Perl_get_ppaddr_Perl_get_prop_definition_Perl_get_prop_values_Perl_get_re_arg_Perl_get_sv_Perl_getcwd_sv_Perl_gmtime64_r_Perl_gp_free_Perl_gp_ref_Perl_grok_atoUV_Perl_grok_bin_Perl_grok_bin_oct_hex_Perl_grok_bslash_c_Perl_grok_bslash_o_Perl_grok_bslash_x_Perl_grok_hex_Perl_grok_infnan_Perl_grok_number_Perl_grok_number_flags_Perl_grok_numeric_radix_Perl_grok_oct_Perl_gv_AVadd_Perl_gv_HVadd_Perl_gv_IOadd_Perl_gv_SVadd_Perl_gv_add_by_type_Perl_gv_autoload_pv_Perl_gv_autoload_pvn_Perl_gv_autoload_sv_Perl_gv_check_Perl_gv_const_sv_Perl_gv_dump_Perl_gv_efullname3_Perl_gv_efullname4_Perl_gv_fetchfile_Perl_gv_fetchfile_flags_Perl_gv_fetchmeth_pv_Perl_gv_fetchmeth_pv_autoload_Perl_gv_fetchmeth_pvn_Perl_gv_fetchmeth_pvn_autoload_Perl_gv_fetchmeth_sv_Perl_gv_fetchmeth_sv_autoload_Perl_gv_fetchmethod_Perl_gv_fetchmethod_autoload_Perl_gv_fetchmethod_pv_flags_Perl_gv_fetchmethod_pvn_flags_Perl_gv_fetchmethod_sv_flags_Perl_gv_fetchpv_Perl_gv_fetchpvn_flags_Perl_gv_fetchsv_Perl_gv_fullname3_Perl_gv_fullname4_Perl_gv_handler_Perl_gv_init_pv_Perl_gv_init_pvn_Perl_gv_init_sv_Perl_gv_name_set_Perl_gv_override_Perl_gv_stashpv_Perl_gv_stashpvn_Perl_gv_stashsv_Perl_gv_try_downgrade_Perl_huge_Perl_hv_bucket_ratio_Perl_hv_clear_Perl_hv_clear_placeholders_Perl_hv_common_Perl_hv_common_key_len_Perl_hv_copy_hints_hv_Perl_hv_delayfree_ent_Perl_hv_delete_Perl_hv_delete_ent_Perl_hv_dump_Perl_hv_eiter_p_Perl_hv_eiter_set_Perl_hv_exists_Perl_hv_exists_ent_Perl_hv_fetch_Perl_hv_fetch_ent_Perl_hv_fill_Perl_hv_free_ent_Perl_hv_iterinit_Perl_hv_iterkey_Perl_hv_iterkeysv_Perl_hv_iternext_Perl_hv_iternext_flags_Perl_hv_iternextsv_Perl_hv_iterval_Perl_hv_ksplit_Perl_hv_magic_Perl_hv_name_set_Perl_hv_placeholders_get_Perl_hv_placeholders_p_Perl_hv_placeholders_set_Perl_hv_rand_set_Perl_hv_riter_p_Perl_hv_riter_set_Perl_hv_scalar_Perl_hv_store_Perl_hv_store_ent_Perl_hv_store_flags_Perl_hv_undef_flags_Perl_infix_plugin_standard_Perl_init_i18nl10n_Perl_init_named_cv_Perl_init_stacks_Perl_init_tm_Perl_instr_Perl_intro_my_Perl_invlist_clone_Perl_isSCRIPT_RUN_Perl_is_lvalue_sub_Perl_is_utf8_FF_helper__Perl_is_utf8_char_buf_Perl_is_utf8_char_helper__Perl_is_utf8_string_loc_Perl_isinfnan_Perl_keyword_plugin_standard_Perl_langinfo_Perl_langinfo8_Perl_leave_adjust_stacks_Perl_leave_scope_Perl_lex_bufutf8_Perl_lex_discard_to_Perl_lex_grow_linestr_Perl_lex_next_chunk_Perl_lex_peek_unichar_Perl_lex_read_space_Perl_lex_read_to_Perl_lex_read_unichar_Perl_lex_start_Perl_lex_stuff_pv_Perl_lex_stuff_pvn_Perl_lex_stuff_sv_Perl_lex_unstuff_Perl_load_charnames_Perl_load_module_Perl_locale_panic_Perl_localeconv_Perl_localtime64_r_Perl_looks_like_number_Perl_magic_dump_Perl_malloc_Perl_markstack_grow_Perl_mbtowc__Perl_mess_Perl_mess_sv_Perl_mfree_Perl_mg_clear_Perl_mg_copy_Perl_mg_find_Perl_mg_find_mglob_Perl_mg_findext_Perl_mg_free_Perl_mg_free_type_Perl_mg_freeext_Perl_mg_get_Perl_mg_magical_Perl_mg_set_Perl_mg_size_Perl_mini_mktime_Perl_more_bodies_Perl_more_sv_Perl_moreswitches_Perl_mortal_destructor_sv_Perl_mortal_svfunc_x_Perl_mro_get_from_name_Perl_mro_get_linear_isa_Perl_mro_get_private_data_Perl_mro_meta_init_Perl_mro_method_changed_in_Perl_mro_package_moved_Perl_mro_register_Perl_mro_set_mro_Perl_mro_set_private_data_Perl_multiconcat_stringify_Perl_multideref_stringify_Perl_my_atof_Perl_my_atof2_Perl_my_atof3_Perl_my_clearenv_Perl_my_dirfd_Perl_my_exit_Perl_my_failure_exit_Perl_my_fflush_all_Perl_my_fork_Perl_my_lstat_Perl_my_lstat_flags_Perl_my_pclose_Perl_my_popen_Perl_my_popen_list_Perl_my_setenv_Perl_my_snprintf_Perl_my_socketpair_Perl_my_stat_Perl_my_stat_flags_Perl_my_strftime_Perl_my_strftime8_temp_Perl_my_strtod_Perl_my_vsnprintf_Perl_newANONATTRSUB_Perl_newANONHASH_Perl_newANONLIST_Perl_newANONSUB_Perl_newARGDEFELEMOP_Perl_newASSIGNOP_Perl_newATTRSUB_x_Perl_newAV_Perl_newAVREF_Perl_newAVav_Perl_newAVhv_Perl_newBINOP_Perl_newCONDOP_Perl_newCONSTSUB_Perl_newCONSTSUB_flags_Perl_newCVREF_Perl_newDEFEROP_Perl_newDEFSVOP_Perl_newFORM_Perl_newFOROP_Perl_newGIVENOP_Perl_newGP_Perl_newGVOP_Perl_newGVREF_Perl_newGVgen_flags_Perl_newHV_Perl_newHVREF_Perl_newHVhv_Perl_newIO_Perl_newLISTOP_Perl_newLOGOP_Perl_newLOOPEX_Perl_newLOOPOP_Perl_newMETHOP_Perl_newMETHOP_named_Perl_newMYSUB_Perl_newNULLLIST_Perl_newOP_Perl_newPADNAMELIST_Perl_newPADNAMEouter_Perl_newPADNAMEpvn_Perl_newPMOP_Perl_newPROG_Perl_newPVOP_Perl_newRANGE_Perl_newRV_Perl_newSLICEOP_Perl_newSTATEOP_Perl_newSUB_Perl_newSV_Perl_newSVOP_Perl_newSVREF_Perl_newSV_false_Perl_newSV_true_Perl_newSVbool_Perl_newSVhek_Perl_newSVhek_mortal_Perl_newSViv_Perl_newSVnv_Perl_newSVobject_Perl_newSVpv_Perl_newSVpv_share_Perl_newSVpvf_Perl_newSVpvn_Perl_newSVpvn_flags_Perl_newSVpvn_share_Perl_newSVrv_Perl_newSVsv_Perl_newSVsv_flags_Perl_newSVuv_Perl_newTRYCATCHOP_Perl_newUNOP_Perl_newUNOP_AUX_Perl_newWHENOP_Perl_newWHILEOP_Perl_newXS_Perl_newXS_deffile_Perl_newXS_flags_Perl_new_stackinfo_Perl_new_version_Perl_new_warnings_bitfield_Perl_ninstr_Perl_noperl_die_Perl_nothreadhook_Perl_op_append_elem_Perl_op_append_list_Perl_op_class_Perl_op_clear_Perl_op_contextualize_Perl_op_convert_list_Perl_op_dump_Perl_op_force_list_Perl_op_free_Perl_op_linklist_Perl_op_lvalue_flags_Perl_op_null_Perl_op_parent_Perl_op_prepend_elem_Perl_op_refcnt_lock_Perl_op_refcnt_unlock_Perl_op_scope_Perl_op_sibling_splice_Perl_op_wrap_finally_Perl_optimize_optree_Perl_packlist_Perl_pad_add_anon_Perl_pad_add_name_pv_Perl_pad_add_name_pvn_Perl_pad_add_name_sv_Perl_pad_alloc_Perl_pad_findmy_pv_Perl_pad_findmy_pvn_Perl_pad_findmy_sv_Perl_pad_new_Perl_pad_push_Perl_pad_tidy_Perl_padname_free_Perl_padnamelist_fetch_Perl_padnamelist_free_Perl_padnamelist_store_Perl_parse_arithexpr_Perl_parse_barestmt_Perl_parse_block_Perl_parse_fullexpr_Perl_parse_fullstmt_Perl_parse_label_Perl_parse_listexpr_Perl_parse_stmtseq_Perl_parse_subsignature_Perl_parse_termexpr_Perl_perly_sighandler_Perl_pmop_dump_Perl_pop_scope_Perl_pregcomp_Perl_pregexec_Perl_pregfree_Perl_pregfree2_Perl_prescan_version_Perl_ptr_table_fetch_Perl_ptr_table_free_Perl_ptr_table_new_Perl_ptr_table_split_Perl_ptr_table_store_Perl_push_scope_Perl_pv_display_Perl_pv_escape_Perl_pv_pretty_Perl_pv_uni_display_Perl_qerror_Perl_rcpv_copy_Perl_rcpv_free_Perl_rcpv_new_Perl_re_compile_Perl_re_intuit_start_Perl_re_intuit_string_Perl_re_op_compile_Perl_realloc_Perl_reentrant_free_Perl_reentrant_init_Perl_reentrant_retry_Perl_reentrant_size_Perl_ref_Perl_refcounted_he_chain_2hv_Perl_refcounted_he_fetch_pv_Perl_refcounted_he_fetch_pvn_Perl_refcounted_he_fetch_sv_Perl_refcounted_he_free_Perl_refcounted_he_inc_Perl_refcounted_he_new_pv_Perl_refcounted_he_new_pvn_Perl_refcounted_he_new_sv_Perl_reg_named_buff_Perl_reg_named_buff_all_Perl_reg_named_buff_exists_Perl_reg_named_buff_fetch_Perl_reg_named_buff_firstkey_Perl_reg_named_buff_iter_Perl_reg_named_buff_nextkey_Perl_reg_named_buff_scalar_Perl_reg_numbered_buff_fetch_Perl_reg_numbered_buff_fetch_flags_Perl_reg_numbered_buff_length_Perl_reg_numbered_buff_store_Perl_reg_qr_package_Perl_reg_temp_copy_Perl_regcurly_Perl_regdump_Perl_regexec_flags_Perl_regfree_internal_Perl_reginitcolors_Perl_regprop_Perl_repeatcpy_Perl_report_uninit_Perl_require_pv_Perl_resume_compcv_Perl_rninstr_Perl_rsignal_Perl_rsignal_state_Perl_runops_debug_Perl_runops_standard_Perl_rv2cv_op_cv_Perl_safesyscalloc_Perl_safesysfree_Perl_safesysmalloc_Perl_safesysrealloc_Perl_save_I16_Perl_save_I32_Perl_save_I8_Perl_save_adelete_Perl_save_aelem_flags_Perl_save_alloc_Perl_save_aptr_Perl_save_ary_Perl_save_bool_Perl_save_clearsv_Perl_save_delete_Perl_save_destructor_Perl_save_destructor_x_Perl_save_freeop_Perl_save_freepv_Perl_save_freercpv_Perl_save_freesv_Perl_save_generic_pvref_Perl_save_generic_svref_Perl_save_gp_Perl_save_hash_Perl_save_hdelete_Perl_save_helem_flags_Perl_save_hints_Perl_save_hptr_Perl_save_int_Perl_save_item_Perl_save_iv_Perl_save_mortalizesv_Perl_save_op_Perl_save_padsv_and_mortalize_Perl_save_pptr_Perl_save_pushi32ptr_Perl_save_pushptr_Perl_save_pushptrptr_Perl_save_rcpv_Perl_save_re_context_Perl_save_scalar_Perl_save_set_svflags_Perl_save_shared_pvref_Perl_save_sptr_Perl_save_strlen_Perl_save_svref_Perl_save_vptr_Perl_savesharedpv_Perl_savesharedpvn_Perl_savestack_grow_Perl_savestack_grow_cnt_Perl_savetmps_Perl_scan_bin_Perl_scan_hex_Perl_scan_num_Perl_scan_oct_Perl_scan_str_Perl_scan_version_Perl_scan_vstring_Perl_scan_word_Perl_scan_word6_Perl_seed_Perl_set_caret_X_Perl_set_context_Perl_set_numeric_standard_Perl_set_numeric_underlying_Perl_setdefout_Perl_setlocale_Perl_share_hek_Perl_skipspace_flags_Perl_softref2xv_Perl_sortsv_Perl_sortsv_flags_Perl_stack_grow_Perl_start_subparse_Perl_str_to_version_Perl_strxfrm_Perl_suspend_compcv_Perl_sv_2bool_Perl_sv_2bool_flags_Perl_sv_2cv_Perl_sv_2io_Perl_sv_2iv_Perl_sv_2iv_flags_Perl_sv_2mortal_Perl_sv_2nv_Perl_sv_2nv_flags_Perl_sv_2pv_Perl_sv_2pv_flags_Perl_sv_2pv_nolen_Perl_sv_2pvbyte_Perl_sv_2pvbyte_flags_Perl_sv_2pvbyte_nolen_Perl_sv_2pvutf8_Perl_sv_2pvutf8_flags_Perl_sv_2pvutf8_nolen_Perl_sv_2uv_Perl_sv_2uv_flags_Perl_sv_backoff_Perl_sv_bless_Perl_sv_cat_decode_Perl_sv_catpv_Perl_sv_catpv_flags_Perl_sv_catpv_mg_Perl_sv_catpvf_Perl_sv_catpvf_mg_Perl_sv_catpvn_Perl_sv_catpvn_flags_Perl_sv_catpvn_mg_Perl_sv_catsv_Perl_sv_catsv_flags_Perl_sv_catsv_mg_Perl_sv_chop_Perl_sv_clear_Perl_sv_cmp_Perl_sv_cmp_flags_Perl_sv_cmp_locale_Perl_sv_cmp_locale_flags_Perl_sv_collxfrm_Perl_sv_collxfrm_flags_Perl_sv_copypv_Perl_sv_copypv_flags_Perl_sv_dec_Perl_sv_dec_nomg_Perl_sv_del_backref_Perl_sv_derived_from_Perl_sv_derived_from_hv_Perl_sv_derived_from_pv_Perl_sv_derived_from_pvn_Perl_sv_derived_from_sv_Perl_sv_destroyable_Perl_sv_does_Perl_sv_does_pv_Perl_sv_does_pvn_Perl_sv_does_sv_Perl_sv_dump_Perl_sv_dump_depth_Perl_sv_eq_Perl_sv_eq_flags_Perl_sv_force_normal_Perl_sv_force_normal_flags_Perl_sv_free_Perl_sv_free2_Perl_sv_get_backrefs_Perl_sv_gets_Perl_sv_grow_Perl_sv_grow_fresh_Perl_sv_inc_Perl_sv_inc_nomg_Perl_sv_insert_Perl_sv_insert_flags_Perl_sv_isa_Perl_sv_isa_sv_Perl_sv_isobject_Perl_sv_len_Perl_sv_len_utf8_Perl_sv_len_utf8_nomg_Perl_sv_magic_Perl_sv_magicext_Perl_sv_magicext_mglob_Perl_sv_mortalcopy_Perl_sv_mortalcopy_flags_Perl_sv_newmortal_Perl_sv_newref_Perl_sv_nolocking_Perl_sv_nosharing_Perl_sv_nounlocking_Perl_sv_numeq_flags_Perl_sv_peek_Perl_sv_pos_b2u_Perl_sv_pos_b2u_flags_Perl_sv_pos_u2b_Perl_sv_pos_u2b_flags_Perl_sv_pv_Perl_sv_pvbyte_Perl_sv_pvbyten_force_Perl_sv_pvn_force_Perl_sv_pvn_force_flags_Perl_sv_pvutf8_Perl_sv_pvutf8n_force_Perl_sv_recode_to_utf8_Perl_sv_ref_Perl_sv_reftype_Perl_sv_replace_Perl_sv_report_used_Perl_sv_reset_Perl_sv_rvunweaken_Perl_sv_rvweaken_Perl_sv_set_bool_Perl_sv_set_false_Perl_sv_set_true_Perl_sv_set_undef_Perl_sv_sethek_Perl_sv_setiv_Perl_sv_setiv_mg_Perl_sv_setnv_Perl_sv_setnv_mg_Perl_sv_setpv_Perl_sv_setpv_bufsize_Perl_sv_setpv_mg_Perl_sv_setpvf_Perl_sv_setpvf_mg_Perl_sv_setpvn_Perl_sv_setpvn_fresh_Perl_sv_setpvn_mg_Perl_sv_setref_iv_Perl_sv_setref_nv_Perl_sv_setref_pv_Perl_sv_setref_pvn_Perl_sv_setref_uv_Perl_sv_setrv_inc_Perl_sv_setrv_inc_mg_Perl_sv_setrv_noinc_Perl_sv_setrv_noinc_mg_Perl_sv_setsv_Perl_sv_setsv_cow_Perl_sv_setsv_flags_Perl_sv_setsv_mg_Perl_sv_setuv_Perl_sv_setuv_mg_Perl_sv_streq_flags_Perl_sv_string_from_errnum_Perl_sv_taint_Perl_sv_tainted_Perl_sv_true_Perl_sv_uni_display_Perl_sv_unmagic_Perl_sv_unmagicext_Perl_sv_unref_Perl_sv_unref_flags_Perl_sv_untaint_Perl_sv_upgrade_Perl_sv_usepvn_Perl_sv_usepvn_flags_Perl_sv_usepvn_mg_Perl_sv_utf8_decode_Perl_sv_utf8_downgrade_Perl_sv_utf8_downgrade_flags_Perl_sv_utf8_encode_Perl_sv_utf8_upgrade_Perl_sv_utf8_upgrade_flags_grow_Perl_sv_vcatpvf_Perl_sv_vcatpvf_mg_Perl_sv_vcatpvfn_Perl_sv_vcatpvfn_flags_Perl_sv_vsetpvf_Perl_sv_vsetpvf_mg_Perl_sv_vsetpvfn_Perl_switch_to_global_locale_Perl_sync_locale_Perl_sys_init_Perl_sys_init3_Perl_sys_term_Perl_taint_env_Perl_taint_proper_Perl_thread_locale_init_Perl_thread_locale_term_Perl_tmps_grow_p_Perl_to_uni_lower_Perl_to_uni_title_Perl_to_uni_upper_Perl_try_amagic_bin_Perl_try_amagic_un_Perl_unpackstring_Perl_unshare_hek_Perl_unsharepvn_Perl_upg_version_Perl_utf16_to_utf8_Perl_utf16_to_utf8_base_Perl_utf16_to_utf8_reversed_Perl_utf8_length_Perl_utf8_to_bytes_Perl_utf8_to_utf16_base_Perl_utf8_to_uvchr_Perl_utf8_to_uvchr_buf_Perl_utf8_to_uvuni_Perl_utf8n_to_uvchr_Perl_utf8n_to_uvchr_error_Perl_utf8n_to_uvuni_Perl_uvchr_to_utf8_Perl_uvchr_to_utf8_flags_Perl_uvoffuni_to_utf8_flags_Perl_uvoffuni_to_utf8_flags_msgs_Perl_uvuni_to_utf8_Perl_validate_proto_Perl_vcmp_Perl_vcroak_Perl_vdeb_Perl_vform_Perl_vivify_defelem_Perl_vload_module_Perl_vmess_Perl_vnewSVpvf_Perl_vnormal_Perl_vnumify_Perl_vstringify_Perl_vverify_Perl_vwarn_Perl_vwarner_Perl_warn_Perl_warn_sv_Perl_warner_Perl_was_lvalue_sub_Perl_whichsig_pv_Perl_whichsig_pvn_Perl_whichsig_sv_Perl_wrap_infix_plugin_Perl_wrap_keyword_plugin_Perl_wrap_op_checker_Perl_xs_boot_epilog_Perl_xs_handshake_Perl_yylex_XS_DynaLoader_dl_error_XS_DynaLoader_dl_find_symbol_XS_DynaLoader_dl_install_xsub_XS_DynaLoader_dl_load_file_XS_DynaLoader_dl_undef_symbols_XS_DynaLoader_dl_unload_file_XS_Internals_SvREADONLY_XS_Internals_SvREFCNT_XS_Internals_hv_clear_placehold_XS_NamedCapture_FETCH_XS_NamedCapture_FIRSTKEY_XS_NamedCapture_TIEHASH_XS_NamedCapture_flags_XS_NamedCapture_tie_it_XS_PerlIO__Layer__NoWarnings_XS_PerlIO__Layer__find_XS_PerlIO_get_layers_XS_UNIVERSAL_DOES_XS_UNIVERSAL_can_XS_UNIVERSAL_isa_XS_builtin_created_as_number_XS_builtin_created_as_string_XS_builtin_export_lexically_XS_builtin_false_XS_builtin_func1_scalar_XS_builtin_func1_void_XS_builtin_import_XS_builtin_indexed_XS_builtin_trim_XS_builtin_true_XS_constant__make_const_XS_mro_method_changed_in_XS_re_is_regexp_XS_re_regexp_pattern_XS_re_regname_XS_re_regnames_XS_re_regnames_count_XS_utf8_decode_XS_utf8_downgrade_XS_utf8_encode_XS_utf8_is_utf8_XS_utf8_native_to_unicode_XS_utf8_unicode_to_native_XS_utf8_upgrade_XS_utf8_valid_boot_DynaLoader_cv_flags_names_deprecated_property_msgs_first_sv_flags_names_gp_flags_imported_names_gp_flags_names_hv_flags_names_injected_constructor_match_uniprop_nonchar_cp_format_op_class_names_op_flags_names_perl_alloc_perl_construct_perl_destruct_perl_free_perl_parse_perl_run_perlsio_binmode_pmflags_flags_names_regexp_core_intflags_names_regexp_extflags_names_second_sv_flags_names_super_cp_format_surrogate_cp_format__DefaultRuneLocale__NSGetEnviron__NSGetExecutablePath____mb_cur_max___chkstk_darwin___error___fpclassifyd___maskrune___memcpy_chk___sprintf_chk___stack_chk_fail___stack_chk_guard___stderrp___stdinp___stdoutp___strlcat_chk___strlcpy_chk___tolower___toupper__exit_abort_accept_access_alarm_atan2_bind_bzero_calloc_chdir_chmod_chown_chroot_clearerr_close_closedir_connect_cos_crypt_dirfd_dlclose_dlerror_dlopen_dlsym_dup_dup2_endgrent_endhostent_endnetent_endprotoent_endpwent_endservent_execl_execv_execvp_exit_exp_fchdir_fchmod_fchown_fclose_fcntl_fdopen_feof_ferror_fflush_fgetc_fileno_flock_fmod_fopen_fork_fread_free_freopen_frexp_fseeko_fstat_ftello_ftruncate_futimes_fwrite_getcwd_getegid_getenv_geteuid_getgid_getgrent_getgrgid_getgrnam_getgroups_gethostbyaddr_gethostbyname_gethostent_getlogin_getnetbyaddr_getnetbyname_getnetent_getpeername_getpgid_getpid_getppid_getpriority_getprotobyname_getprotobynumber_getprotoent_getpwent_getpwnam_getpwuid_getservbyname_getservbyport_getservent_getsockname_getsockopt_gettimeofday_getuid_h_errno_ioctl_isatty_kill_killpg_ldexp_link_linkat_listen_localeconv_localtime_log_lseek_lstat_malloc_malloc_good_size_malloc_size_mbtowc_memchr_memcmp_memcpy_memmem_memmove_memset_memset_pattern16_mkdir_mkstemp_mktime_modf_msgctl_msgget_msgrcv_msgsnd_nl_langinfo_open_opendir_pause_pipe_pow_read_readdir_readlink_realloc_realpath$DARWIN_EXTSN_recvfrom_rename_renameat_rewinddir_rmdir_seekdir_select_semctl_semget_semop_send_sendto_setegid_setenv_seteuid_setgrent_setgroups_sethostent_setlinebuf_setlocale_setnetent_setpgid_setpriority_setprotoent_setpwent_setregid_setreuid_setrgid_setruid_setservent_setsockopt_shmat_shmctl_shmdt_shmget_shutdown_sigaction_siglongjmp_signal_sigprocmask_sigsetjmp_sin_sleep_socket_socketpair_sprintf_stat_strchr_strcmp_strcspn_strerror_strftime_strlcat_strlcpy_strlen_strncmp_strnlen_strpbrk_strrchr_strspn_strstr_strtod_strxfrm_symlink_sysconf_telldir_time_times_truncate_umask_ungetc_unlink_unlinkat_unsetenv_utimes_vfprintf_vsnprintf_waitpid_write_Perl_op_prune_chain_head_S_link_freed_op_Perl_opslab_free_Perl_opslab_free_nopad_Perl_opslab_force_free_Perl_no_bareword_allowed_Perl_no_bareword_filehandle_Perl_allocmy_S_op_clear_gv_Perl_alloc_LOGOP_Perl_scalar_Perl_list_Perl_scalarvoid_Perl_op_varname_Perl_warn_elem_scalar_context_S_inplace_aassign_S_scalarkids_S_gen_constant_list_Perl_check_hash_fields_and_hekify_S_modkids_S_scalar_mod_type_Perl_my_attrs_S_my_kid_Perl_sawparens_Perl_bind_match_Perl_pmruntime_Perl_invert_Perl_cmpchain_start_Perl_cmpchain_extend_Perl_cmpchain_finish_S_fold_constants_Perl_op_unscope_S_voidnonfinal_Perl_localize_Perl_jmaybe_walk_ops_find_labels_walk_ops_forbid_S_force_list_Perl_invmap_dump_S_set_haseval_Perl_package_Perl_package_version_Perl_utilize_Perl_dofile_S_assignment_type_S_new_logop_S_scalarboolean_S_newGIVWHENOP_S_ref_array_or_hash_S_looks_like_bool_Perl_cv_const_sv_or_av_S_move_proto_attr_sbox32_hash_with_state_S_perl_hash_siphash_1_3_with_state_S_op_const_sv_S_already_defined_const_sv_xsub_S_apply_attrs_S_process_special_blocks_Perl_newXS_len_flags_const_av_xsub_Perl_report_redefined_cv_Perl_newSTUB_Perl_oopsAV_Perl_oopsHV_Perl_ck_anoncode_Perl_ck_backtick_Perl_ck_fun_Perl_ck_bitop_Perl_ck_cmp_Perl_ck_concat_Perl_ck_spair_Perl_ck_delete_Perl_ck_eof_Perl_ck_eval_Perl_ck_trycatch_Perl_ck_exec_Perl_ck_exists_Perl_ck_helemexistsor_Perl_ck_rvconst_Perl_ck_ftst_Perl_ck_glob_Perl_ck_grep_Perl_ck_index_Perl_ck_lfun_Perl_ck_defined_Perl_ck_rfun_Perl_ck_readline_Perl_ck_listiob_Perl_ck_smartmatch_Perl_ck_sassign_Perl_ck_match_Perl_ck_method_Perl_ck_null_Perl_ck_open_Perl_ck_prototype_Perl_ck_refassign_Perl_ck_repeat_Perl_ck_require_Perl_ck_return_Perl_ck_select_Perl_ck_shift_Perl_ck_sort_Perl_ck_split_Perl_ck_stringify_Perl_ck_join_Perl_find_lexical_cv_Perl_ck_entersub_args_core_Perl_ck_subr_Perl_ck_svconst_Perl_ck_trunc_Perl_ck_substr_Perl_ck_tell_Perl_ck_each_S_last_non_null_kid_Perl_ck_length_Perl_ck_isa_Perl_core_prototype_Perl_coresub_op_Perl_croak_memory_wrap_S_cant_declare_S_apply_attrs_my_S_dup_attrlist_S_fold_constants_eval_custom_op_register_free_S_init_postdump_symbols_S_run_body_Perl_SvREFCNT_dec_NN_S_my_exit_jump_Perl_sv_setpv_freshbuf_Perl_init_debugger_S_usage_S_incpush_S_minus_v_Perl_my_unexec_Perl_init_dbargs_Perl_populate_isa_Perl_init_argv_symbols_S_Internals_V_read_e_script_S_sv_derived_from_svpvn_Perl_boot_core_UNIVERSAL_optimize_out_native_convert_function_S_isa_lookup_XS_universal_version_XS_version_noop_XS_version_new_XS_version_stringify_XS_version_numify_XS_version_normal_XS_version_vcmp_XS_version_boolean_XS_version_is_alpha_XS_version_qv_XS_version_is_qv_S_version_check_key_Perl_newSV_type_sbox32_hash_with_state_S_perl_hash_siphash_1_3_with_state_S_gv_fetchmeth_internal_Perl_CvGV_Perl_gv_stashsvpvn_cached_S_gv_init_svtype_S_gv_magicalize_isa_Perl_magic_freeovrld_Perl_amagic_is_enabled_Perl_SvTRUE_NN_S_maybe_add_coresub_core_xsub_S_require_tie_mod_Perl_newSV_type_Perl_is_utf8_string_loclen_Perl_parser_free_Perl_SvREFCNT_dec_Perl_parser_free_nexttoke_ops_Perl_notify_parser_that_changed_to_utf8_S_update_debugger_info_Perl_utf8n_to_uvchr_msgs_S_incline_Perl_yyunlex_S_new_constant_Perl_SvREFCNT_dec_NN_Perl_utf8_to_uvchr_buf_helper_Perl_build_infix_plugin_S_sublex_done_S_force_ident_S_intuit_more_S_tokeq_Perl_yyquit_yyl_rightcurly_S_parse_ident_Perl_yyerror_S_apply_builtin_cv_attribute_Perl_abort_execution_Perl_yyerror_pvn_Perl_yyerror_pv_S_parse_recdescent_for_op_S_scan_ident_S_check_uni_tokentype_for_plugop_yyl_keylookup_yyl_croak_unrecognised_yyl_fake_eof_Perl_mortal_getenv_yyl_hyphen_yyl_plus_yyl_star_yyl_percent_yyl_caret_yyl_leftsquare_yyl_tilde_yyl_just_a_word_yyl_colon_yyl_leftparen_yyl_rightparen_yyl_rightsquare_yyl_leftcurly_yyl_ampersand_yyl_verticalbar_S_vcs_conflict_marker_yyl_bang_yyl_leftpointy_yyl_rightpointy_yyl_dollar_yyl_snail_yyl_slash_S_no_op_yyl_sglquote_yyl_dblquote_yyl_backtick_yyl_backslash_yyl_fatcomma_yyl_word_or_keyword_S_newSV_maybe_utf8_yyl_data_handle_yyl_sub_S_lop_S_force_word_S_force_strict_version_yyl_do_yyl_foreach_S_scan_pat_S_sublex_start_yyl_my_S_tokenize_use_S_checkcomma_S_missingterm_yyl_qw_yyl_require_S_scan_subst_S_scan_trans_S_pmflag_S_force_version_S_add_utf16_textfilter_S_utf16_textfilter_yyl_safe_bareword_S_intuit_method_yyl_strictwarn_bareword_yyl_constant_op_OUTLINED_FUNCTION_0_Perl_yyparse_S_clear_yystack_Perl_croak_memory_wrap_Perl_savepv_Perl_newSV_type_Perl_cv_undef_flags_Perl_cv_forget_slab_S_pad_alloc_name_Perl_pad_add_weakref_S_pad_findlex_Perl_pad_block_start_Perl_pad_leavemy_Perl_pad_swipe_Perl_pad_free_Perl_do_dump_pad_S_cv_clone_Perl_cv_clone_into_Perl_pad_fixup_inner_anons_Perl_croak_memory_wrap_Perl_padlist_store_sbox32_hash_with_state_S_perl_hash_siphash_1_3_with_state_Perl_reg_add_data_S_concat_pat_Perl_newSV_type_S_pat_upgrade_to_utf8_S_set_regex_pv_S_reg_Perl_SvREFCNT_dec_S_variant_under_utf8_count_Perl_regnext_Perl_populate_anyof_bitmap_from_invlist_Perl_add_above_Latin1_folds_Perl_set_ANYOF_arg_S_invlist_highest_Perl_get_regclass_aux_data_S_handle_user_defined_property_Perl_get_ANYOFM_contents_Perl_get_ANYOFHbbm_contents_S_free_codeblocks_Perl_init_uniprops_Perl_croak_memory_wrap_S_reg_node_S_regtail_S_reg1node_S_nextchar_S_re_croak_S_reg2node_S_handle_named_backref_S_reg_la_OPFAIL_S_reg_la_NOTHING_S_reg_scan_name_S_regbranch_S_handle_regex_sets_S_reginsert_S_change_engine_size_S_skip_to_be_ignored_text_S_regatom_S_get_quantifier_value_S_regclass_S_grok_bslash_N_S_handle_possible_posix_S_output_posix_warnings_S_add_multi_match_S_parse_uniprop_string_Perl_av_push_simple_S_handle_names_wildcard_S_compile_wildcard_S_get_fq_name_S_delete_recursion_entry_Perl_SvTRUE_Perl_populate_bitmap_from_invlist_Perl_populate_invlist_from_bitmap_Perl_croak_memory_wrap_S__append_range_to_invlist_Perl_scan_commit_Perl_ssc_init_S_ssc_anything_Perl_is_ssc_worth_it_Perl_ssc_finalize_Perl_join_exact_Perl_regnext_Perl_study_chunk_S_ssc_or_S_ssc_and_S_unwind_scan_frames_S_get_ANYOF_cp_list_for_ssc_Perl_make_trie_Perl_croak_memory_wrap_Perl_construct_ahocorasick_from_trie_S_to_utf8_substr_S_to_byte_substr_S_reghop3_S_reghop4_S_find_byclass_Perl_utf8_hop_forward_S_reg_set_capture_string_S_cleanup_regmatch_info_aux_S_regtry_Perl_is_grapheme_Perl_utf8_to_uvchr_buf_helper_S_reginclass_S_find_next_masked_S_find_span_end_mask_S_foldEQ_latin1_s2_folded_Perl_foldEQ_Perl_foldEQ_locale_S_isLB_S_isSB_S_isWB_Perl_utf8n_to_uvchr_msgs_S_isFOO_utf8_lc_S_isFOO_lc_S_backup_one_LB_S_backup_one_SB_S_advance_one_SB_S_advance_one_WB_S_backup_one_WB_Perl_utf8_hop_S_regmatch_Perl_foldEQ_latin1_S_reg_check_named_buff_matched_S_regcppush_S_regcppop_Perl_cx_popsub_common_Perl_cx_pushsub_Perl_cx_pushblock_Perl_sv_only_taint_gmagic_Perl_SvTRUE_NN_S_setup_EXACTISH_ST_S_regrepeat_S_find_span_end_S_backup_one_GCB_Perl_croak_memory_wrap__pv_display_flags_Perl_dump_all_perl_Perl_dump_packsubs_perl_Perl_dump_sub_perl_S_do_pmop_dump_bar_S_do_op_dump_bar_S_sequence_num_S_debprof_S_append_gv_name_S_gv_display_S_deb_padvar_Perl_watch_S_opdump_indent_S_opdump_link_Perl_croak_no_mem_Perl_croak_memory_wrap_S_mess_alloc_Perl_closest_cop_Perl_write_to_stderr_Perl_invoke_exception_hook_S_with_queued_errors_Perl_wait4pid_Perl_rsignal_save_Perl_rsignal_restore_Perl_SvREFCNT_dec_Perl_find_script_Perl_get_no_modify_Perl_get_opargs_Perl_getenv_len_Perl_report_wrongway_fh_Perl_report_evil_fh_Perl_parse_unicode_opts_Perl_get_hash_seed_Perl_debug_hash_seed_S_gv_has_usable_name_Perl_my_mkostemp_Perl_magic_setutf8_S_restore_magic_Perl_mg_localize_S_mg_free_struct_Perl_magic_regdata_cnt_Perl_magic_regdatum_get_Perl_magic_regdatum_set_Perl_get_extended_os_errno_Perl_magic_get_Perl_magic_getuvar_Perl_magic_setenv_Perl_magic_clearenv_Perl_magic_set_all_env_Perl_magic_clear_all_env_Perl_magic_getsig_Perl_magic_clearsig_Perl_magic_setsig_Perl_sighandler_unblock_sigmask_restore_sigmask_Perl_magic_setsigall_Perl_magic_clearhook_Perl_magic_sethook_Perl_magic_sethookall_Perl_magic_clearhookall_Perl_magic_setisa_Perl_magic_clearisa_Perl_magic_getnkeys_Perl_magic_setnkeys_Perl_magic_methcall_Perl_magic_getpack_Perl_magic_setpack_S_magic_methcall1_Perl_magic_clearpack_Perl_magic_sizepack_Perl_magic_wipepack_Perl_magic_nextpack_Perl_magic_existspack_Perl_magic_scalarpack_Perl_magic_setdbline_Perl_magic_getarylen_Perl_magic_setarylen_Perl_magic_cleararylen_p_Perl_magic_freearylen_p_Perl_magic_getpos_Perl_magic_setpos_Perl_magic_getsubstr_Perl_magic_setsubstr_Perl_magic_gettaint_Perl_magic_settaint_Perl_magic_getvec_Perl_magic_setvec_Perl_defelem_target_Perl_magic_getdefelem_Perl_magic_setdefelem_Perl_magic_setnonelem_Perl_magic_killbackrefs_Perl_magic_setmglob_Perl_magic_freemglob_Perl_magic_setuvar_Perl_magic_setregexp_Perl_magic_setcollxfrm_Perl_magic_freecollxfrm_Perl_magic_freeutf8_Perl_magic_setlvref_Perl_magic_set_Perl_savesvpv_S_set_dollarzero_Perl_sighandler1_Perl_sighandler3_S_unwind_handler_stack_Perl_magic_sethint_S_magic_sethint_feature_Perl_magic_clearhint_Perl_magic_clearhints_Perl_magic_copycallchecker_Perl_magic_setdebugvar_Perl_magic_getdebugvar_Perl_SvREFCNT_dec_NN_Perl_mro_isa_changed_in_S_mro_clean_isarev_S_mro_gather_and_rename_Perl_boot_core_mro_S_mro_get_linear_isa_dfs_Perl_keyword_Perl_boot_core_builtin_ck_builtin_const_ck_builtin_func1_ck_builtin_funcN_Perl_croak_memory_wrap_Perl_pp_initfield_Perl_pp_methstart_invoke_class_seal_S_split_attr_nameval_apply_class_attribute_isa_apply_field_attribute_param_Perl_free_tied_hv_pool_S_new_he_sbox32_hash_with_state_S_perl_hash_siphash_1_3_with_state_S_share_hek_flags_Perl_newSV_type_S_hv_notallowed_S_save_hek_flags_S_clear_placeholders_S_hsplit_Perl_hv_pushkv_Perl_hfree_next_entry_S_unshare_hek_or_pvn_Perl_hv_ename_add_Perl_hv_ename_delete_Perl_hv_backreferences_p_Perl_hv_kill_backrefs_S_refcounted_he_value_Perl_av_extend_guts_Perl_croak_memory_wrap_S_adjust_index_Perl_newSV_type_Perl_av_nonelem_Perl_pp_const_Perl_pp_nextstate_Perl_pp_gvsv_Perl_pp_null_Perl_pp_pushmark_Perl_pp_stringify_Perl_pp_gv_Perl_pp_and_Perl_pp_padsv_store_Perl_pp_aelemfastlex_store_Perl_pp_sassign_Perl_gimme_V_Perl_pp_cond_expr_Perl_pp_unstack_Perl_pp_concat_S_do_concat_Perl_pp_multiconcat_Perl_pp_padrange_S_pushav_Perl_pp_padsv_Perl_vivify_ref_Perl_pp_readline_Perl_do_readline_Perl_pp_eq_Perl_pp_preinc_Perl_pp_predec_Perl_pp_or_Perl_pp_defined_Perl_pp_add_Perl_pp_aelemfast_Perl_pp_join_Perl_pp_print_Perl_croak_memory_wrap_Perl_pp_padav_Perl_pp_padhv_S_padhv_rv2hv_common_Perl_pp_rv2av_Perl_pp_aassign_S_do_oddball_Perl_pp_qr_Perl_pp_match_Perl_pp_helem_Perl_pp_multideref_S_softref2xv_lite_Perl_pp_iter_Perl_pp_subst_Perl_pp_grepwhile_Perl_pp_leavesub_Perl_av_new_alloc_Perl_pp_entersub_Perl_sub_crush_depth_Perl_croak_caller_Perl_pp_aelem_Perl_pp_method_S_opmethod_stash_Perl_pp_method_named_Perl_pp_method_super_Perl_pp_method_redir_Perl_pp_method_redir_super_S_are_we_in_Debug_EXECUTE_r_Perl_sv_clean_objs_Perl_sv_clean_all_Perl_sv_free_arenas_Perl_hv_auxalloc_S_sv_uncow_Perl_croak_memory_wrap_S_not_a_number_S_sv_2iuv_common_S_glob_2number_Perl_sv_2num_Perl_gv_setref_Perl_av_new_alloc_Perl_av_push_simple_S_glob_assign_glob_Perl_newSV_type_S_sv_unmagicext_flags_Perl_sv_add_backref_Perl_sv_kill_backrefs_S_curse_S_sv_pos_u2b_cached_S_sv_pos_b2u_midway_S_utf8_mg_pos_cache_update_S_not_incrementable_S_perl_hash_siphash_1_3_with_state_Perl_sv_resetpvn_Perl_newSVavdefelem_S_F0convert_S_sv_or_pv_pos_u2b_S_format_hexfp_Perl_init_constants_Perl_varname_S_find_uninit_var_S_sv_display_S_sv_setnv_S_sv_2iuv_non_preserve_S_sv_pos_u2b_midway_S_croak_overflow_S_find_hash_subscript_S_find_array_subscript_Perl_pp_stub_Perl_gimme_V_Perl_pp_padcv_Perl_pp_introcv_Perl_pp_clonecv_Perl_pp_rv2gv_S_rv2gv_Perl_pp_rv2sv_Perl_pp_av2arylen_Perl_newSV_type_Perl_pp_pos_Perl_pp_rv2cv_Perl_pp_prototype_Perl_pp_anoncode_S_refto_Perl_pp_srefgen_Perl_pp_refgen_Perl_pp_ref_Perl_pp_bless_Perl_pp_gelem_Perl_pp_study_Perl_pp_trans_Perl_pp_schop_S_do_chomp_Perl_pp_chop_Perl_pp_undef_Perl_pp_postinc_S_postincdec_common_Perl_pp_postdec_Perl_pp_pow_Perl_pp_multiply_Perl_pp_divide_Perl_pp_modulo_Perl_pp_repeat_Perl_pp_subtract_Perl_pp_left_shift_Perl_pp_right_shift_Perl_pp_lt_Perl_do_ncmp_Perl_pp_gt_Perl_pp_le_Perl_pp_ge_Perl_pp_ne_Perl_pp_ncmp_Perl_pp_sle_Perl_pp_seq_Perl_pp_sne_Perl_pp_scmp_Perl_pp_bit_and_Perl_pp_nbit_and_Perl_pp_sbit_and_Perl_pp_bit_or_Perl_pp_nbit_or_Perl_pp_sbit_or_Perl_pp_negate_S_negate_string_Perl_pp_not_Perl_pp_complement_S_scomplement_Perl_pp_ncomplement_Perl_pp_scomplement_Perl_pp_i_multiply_Perl_pp_i_divide_Perl_pp_i_modulo_Perl_pp_i_add_Perl_pp_i_subtract_Perl_pp_i_lt_Perl_pp_i_gt_Perl_pp_i_le_Perl_pp_i_ge_Perl_pp_i_eq_Perl_pp_i_ne_Perl_pp_i_ncmp_Perl_pp_i_negate_Perl_pp_atan2_Perl_pp_sin_Perl_pp_rand_Perl_SvNV_Perl_pp_srand_Perl_pp_int_Perl_pp_abs_Perl_pp_oct_Perl_pp_length_Perl_translate_substr_offsets_Perl_pp_substr_Perl_SvIV_Perl_pp_vec_Perl_pp_index_Perl_pp_sprintf_Perl_pp_ord_Perl_pp_chr_Perl_pp_crypt_Perl_pp_ucfirst_S_variant_under_utf8_count_Perl_pp_uc_Perl_utf8_to_uvchr_buf_helper_Perl_pp_lc_Perl_pp_quotemeta_Perl_pp_fc_Perl_pp_aslice_Perl_pp_kvaslice_Perl_pp_aeach_Perl_pp_akeys_Perl_pp_each_Perl_pp_delete_Perl_pp_exists_Perl_pp_helemexistsor_Perl_pp_hslice_Perl_pp_kvhslice_Perl_pp_list_Perl_pp_lslice_Perl_pp_anonlist_Perl_pp_emptyavhv_Perl_pp_anonhash_Perl_pp_splice_Perl_croak_memory_wrap_Perl_pp_push_Perl_pp_shift_Perl_pp_unshift_Perl_pp_reverse_Perl_pp_split_Perl_utf8_hop_forward_Perl_pp_once_Perl_pp_lock_Perl_unimplemented_op_Perl_pp_coreargs_S_maybe_unwind_defav_Perl_pp_avhvswitch_Perl_pp_runcv_Perl_pp_refassign_S_localise_gv_slot_S_localise_aelem_lval_S_localise_helem_lval_Perl_pp_lvref_Perl_pp_lvrefslice_Perl_pp_lvavref_Perl_pp_anonconst_Perl_pp_argelem_Perl_pp_argdefelem_Perl_pp_argcheck_S_find_runcv_name_Perl_pp_isa_Perl_pp_cmpchain_and_Perl_pp_cmpchain_dup_Perl_pp_is_bool_Perl_pp_is_weak_Perl_pp_weaken_Perl_pp_unweaken_Perl_pp_blessed_Perl_pp_refaddr_Perl_pp_reftype_Perl_pp_ceil_Perl_pp_floor_Perl_pp_is_tainted_Perl_newSV_type_Perl_croak_memory_wrap_Perl_magic_freedestruct_Perl_pp_wantarray_Perl_pp_regcreset_Perl_pp_regcomp_Perl_pp_substcont_Perl_sv_only_taint_gmagic_Perl_rxres_save_Perl_pp_formline_Perl_croak_memory_wrap_Perl_pp_grepstart_Perl_pp_mapwhile_Perl_pp_range_Perl_pp_flip_Perl_pp_flop_Perl_cx_popsub_Perl_cx_poploop_Perl_die_unwind_S_pop_eval_context_maybe_croak_Perl_pp_xor_Perl_pp_caller_Perl_pp_reset_Perl_pp_dbstate_Perl_pp_enter_Perl_pp_leave_Perl_pp_enteriter_Perl_pp_enterloop_Perl_pp_leaveloop_Perl_pp_leavesublv_Perl_pp_return_Perl_pp_leavetry_Perl_pp_leaveeval_Perl_pp_last_S_unwind_loop_Perl_pp_next_Perl_pp_redo_Perl_pp_goto_S_dofindlabel_Perl_pp_exit_Perl_find_runcv_where_Perl_pp_require_S_docatch_Perl_pp_hintseval_Perl_pp_entereval_S_doeval_compile_Perl_pp_entertrycatch_Perl_pp_leavetrycatch_Perl_pp_poptry_Perl_pp_catch_Perl_delete_eval_scope_Perl_create_eval_scope_Perl_pp_entertry_Perl_pp_entergiven_Perl_pp_leavegiven_Perl_pp_smartmatch_S_do_smartmatch_Perl_pp_enterwhen_Perl_SvTRUE_Perl_pp_leavewhen_Perl_pp_continue_Perl_pp_break_Perl_pp_pushdefer_invoke_finally_block_invoke_defer_block_Perl_newSV_type_S_doopen_pm_S_run_user_filter_S_check_type_and_open_S_try_yyparse_S_try_run_unitcheck_S_make_matcher_S_matcher_matches_sv_S_destroy_matcher__invoke_defer_block_Perl_pp_backtick_Perl_pp_glob_Perl_pp_rcatline_Perl_pp_warn_Perl_pp_die_Perl_tied_method_Perl_pp_open_Perl_pp_close_Perl_pp_pipe_op_Perl_pp_fileno_Perl_pp_umask_Perl_pp_binmode_Perl_pp_tie_Perl_newSV_type_Perl_pp_untie_Perl_pp_tied_Perl_pp_dbmopen_Perl_pp_sselect_Perl_pp_select_Perl_pp_getc_Perl_pp_enterwrite_S_doform_Perl_pp_leavewrite_Perl_savepv_Perl_savesvpv_Perl_savepvn_Perl_pp_prtf_Perl_croak_memory_wrap_Perl_pp_sysopen_Perl_pp_sysread_Perl_pp_syswrite_Perl_pp_eof_Perl_pp_tell_Perl_pp_sysseek_Perl_pp_truncate_Perl_pp_ioctl_Perl_pp_flock_Perl_pp_socket_Perl_pp_sockpair_Perl_pp_bind_Perl_pp_listen_Perl_pp_accept_Perl_pp_shutdown_Perl_pp_ssockopt_Perl_pp_getpeername_Perl_pp_stat_Perl_pp_ftrread_S_try_amagic_ftest_S_ft_return_true_S_ft_return_false_Perl_pp_ftis_Perl_pp_ftrowned_Perl_pp_ftlink_Perl_pp_fttty_Perl_pp_fttext_Perl_pp_chdir_Perl_pp_chown_Perl_pp_chroot_Perl_pp_rename_Perl_pp_link_Perl_pp_readlink_Perl_pp_mkdir_Perl_pp_rmdir_Perl_pp_open_dir_Perl_pp_readdir_Perl_pp_telldir_Perl_pp_seekdir_Perl_pp_rewinddir_Perl_pp_closedir_Perl_pp_fork_Perl_pp_wait_Perl_pp_waitpid_Perl_pp_system_Perl_pp_exec_Perl_pp_getppid_Perl_pp_getpgrp_Perl_pp_setpgrp_Perl_pp_getpriority_Perl_pp_setpriority_Perl_pp_time_Perl_pp_tms_Perl_pp_gmtime_Perl_pp_alarm_Perl_pp_sleep_Perl_pp_shmwrite_Perl_pp_semget_Perl_pp_semctl_Perl_pp_ghostent_Perl_pp_gnetent_Perl_pp_gprotoent_Perl_pp_gservent_Perl_pp_shostent_Perl_pp_ehostent_Perl_pp_gpwent_Perl_pp_ggrent_Perl_pp_getlogin_Perl_pp_syscall_S_optimize_op_S_finalize_op_Perl_rpeep_S_maybe_multideref_S_aassign_scan_Perl_peep_S_maybe_multiconcat_S_scalar_slice_warning_Perl_do_trans_Perl_do_vecget_Perl_do_vecset_Perl_do_vop_Perl_do_kv_Perl_utf8_to_uvchr_buf_helper_Perl_setfd_cloexec_Perl_setfd_inhexec_Perl_setfd_cloexec_for_nonsysfd_Perl_setfd_inhexec_for_sysfd_Perl_setfd_cloexec_or_inhexec_by_sysfdness_Perl_PerlLIO_dup_cloexec_Perl_PerlLIO_dup2_cloexec_Perl_PerlLIO_open_cloexec_Perl_PerlLIO_open3_cloexec_Perl_my_mkstemp_cloexec_Perl_my_mkostemp_cloexec_Perl_PerlProc_pipe_cloexec_Perl_PerlSock_socket_cloexec_Perl_PerlSock_accept_cloexec_Perl_PerlSock_socketpair_cloexec_Perl_do_open_raw_Perl_do_open6_S_openn_setup_S_openn_cleanup_Perl_nextargv_Perl_newSV_type_S_openindirtemp_S_argvout_final_Perl_io_close_Perl_do_eof_Perl_do_tell_Perl_do_seek_Perl_do_sysseek_Perl_mode_from_discipline_Perl_do_print_Perl_do_aexec5_Perl_croak_memory_wrap_Perl_do_exec3_Perl_apply_Perl_cando_Perl_do_ipcget_Perl_do_ipcctl_Perl_do_msgsnd_Perl_do_msgrcv_Perl_do_semop_Perl_do_shmio_Perl_start_glob_S_argvout_free_S_argvout_dup_S_dir_unchanged_Perl_utf8n_to_uvchr_msgs_S_new_msg_hv_S_does_utf8_overflow_S_is_utf8_overlong_S_unexpected_non_continuation_text_Perl_newSV_type_Perl_newRV_noinc_Perl_utf8_to_uvchr_buf_helper_Perl__to_upper_title_latin1_S__to_utf8_case_S_turkic_uc_S_check_locale_boundary_crossing_S_turkic_lc_S_turkic_fc_Perl_check_utf8_print_Perl_isUTF8_CHAR_Perl_deb_stack_all_Perl_croak_memory_wrap_Perl_boot_core_PerlIO_S_lockcnt_dec_S_strtod_Perl_isinfnansv_Perl_force_locale_unlock_S_setlocale_failure_panic_i_S_save_to_buffer_S_mortalized_pv_copy_S_stdize_locale_S_my_langinfo_i_S_toggle_locale_i_S_restore_toggled_locale_i_S_get_locale_string_utf8ness_i_S_new_numeric_S_new_collate_S_new_ctype_Perl_savepv_S_new_LC_ALL_Perl_mem_collxfrm__Perl_my_strerror_S_populate_hash_from_localeconv_S_is_locale_utf8_S_unpack_rec_Perl_pp_unpack_S_pack_rec_Perl_pp_pack_S_next_symbol_utf8_to_byte_S_utf8_to_bytes_S_measure_struct_marked_upgrade_S_sv_check_infnan_S_my_bytes_to_utf8_doencodes_Perl_pp_sort_S_sortcv_xsub_S_sortcv_stacked_S_sortcv_sortsv_amagic_i_ncmp_desc_sortsv_amagic_i_ncmp_sortsv_i_ncmp_desc_sortsv_i_ncmp_sortsv_amagic_ncmp_desc_sortsv_amagic_ncmp_sortsv_ncmp_desc_sortsv_ncmp_sortsv_amagic_cmp_locale_desc_sortsv_amagic_cmp_locale_sortsv_cmp_locale_desc_sortsv_cmp_locale_sortsv_amagic_cmp_desc_sortsv_amagic_cmp_sortsv_cmp_desc_sortsv_cmp_Perl_croak_memory_wrap_S_amagic_i_ncmp_S_amagic_ncmp_S_amagic_cmp_locale_S_amagic_cmp_SaveError_Perl_lex_start.cold.1_Perl_lex_next_chunk.cold.1_Perl_yylex.cold.1_Perl_newASSIGNOP.no_list_state_array_passed_to_stat_Perl_custom_op_get_field.xop_null_local_patches_S_Internals_V.non_bincompat_options_Perl_boot_core_UNIVERSAL.file_PL_AMG_namelens_bodies_by_type_S_maybe_add_coresub.file_Perl_scan_num.nvshift_bodies_by_type_ident_too_long_ident_var_zero_multi_digit_no_code_yytranslate_yypact_yycheck_yydefact_yytable_yyr2_yyr1_yypgoto_yydefgoto_yy_type_tab_yystos_bodies_by_type_mph_table_mph_blob__Perl_GCB_invlist__Perl_SB_invlist__Perl_WB_invlist__Perl_LB_invlist__Perl_SCX_invlist_Latin1_invlist_AboveLatin1_invlist_UpperLatin1_invlist_Uppercase_Mapping_invlist_Lowercase_Mapping_invlist_Titlecase_Mapping_invlist_Case_Folding_invlist_Simple_Case_Folding_invlist__Perl_IVCF_invlist__Perl_CCC_non0_non230_invlist_bodies_by_type_S_reg.parens_UNI_ADLM_invlist_UNI_AEGEANNUMBERS_invlist_UNI_AGE__10_invlist_UNI_AGE__11_invlist_UNI_AGE__12_invlist_UNI_AGE__12_DOT_1_invlist_UNI_AGE__13_invlist_UNI_AGE__14_invlist_UNI_AGE__15_invlist_UNI_AGE__2_invlist_UNI_AGE__2_DOT_1_invlist_UNI_AGE__3_invlist_UNI_AGE__3_DOT_1_invlist_UNI_AGE__3_DOT_2_invlist_UNI_AGE__4_invlist_UNI_AGE__4_DOT_1_invlist_UNI_AGE__5_invlist_UNI_AGE__5_DOT_1_invlist_UNI_AGE__5_DOT_2_invlist_UNI_AGE__6_invlist_UNI_AGE__6_DOT_1_invlist_UNI_AGE__6_DOT_2_invlist_UNI_AGE__6_DOT_3_invlist_UNI_AGE__7_invlist_UNI_AGE__8_invlist_UNI_AGE__9_invlist_UNI_AGHB_invlist_UNI_AHOM_invlist_UNI_ALCHEMICAL_invlist_UNI_ALL_invlist_UNI_ALPHABETICPF_invlist_UNI_ANCIENTGREEKMUSIC_invlist_UNI_ANCIENTGREEKNUMBERS_invlist_UNI_ANCIENTSYMBOLS_invlist_UNI_ANY_invlist_UNI_ARAB_invlist_UNI_ARABICEXTA_invlist_UNI_ARABICEXTB_invlist_UNI_ARABICEXTC_invlist_UNI_ARABICMATH_invlist_UNI_ARABICPFA_invlist_UNI_ARABICPFB_invlist_UNI_ARABICSUP_invlist_UNI_ARMI_invlist_UNI_ARMN_invlist_UNI_ARROWS_invlist_UNI_ASCII_invlist_UNI_ASSIGNED_invlist_UNI_AVST_invlist_UNI_BALI_invlist_UNI_BAMU_invlist_UNI_BAMUMSUP_invlist_UNI_BASS_invlist_UNI_BATK_invlist_UNI_BC__AL_invlist_UNI_BC__AN_invlist_UNI_BC__B_invlist_UNI_BC__BN_invlist_UNI_BC__CS_invlist_UNI_BC__EN_invlist_UNI_BC__ES_invlist_UNI_BC__ET_invlist_UNI_BC__FSI_invlist_UNI_BC__L_invlist_UNI_BC__LRE_invlist_UNI_BC__LRI_invlist_UNI_BC__LRO_invlist_UNI_BC__NSM_invlist_UNI_BC__ON_invlist_UNI_BC__PDF_invlist_UNI_BC__PDI_invlist_UNI_BC__R_invlist_UNI_BC__RLE_invlist_UNI_BC__RLI_invlist_UNI_BC__RLO_invlist_UNI_BC__S_invlist_UNI_BC__WS_invlist_UNI_BENG_invlist_UNI_BHKS_invlist_UNI_BIDIC_invlist_UNI_BIDIM_invlist_UNI_BLOCKELEMENTS_invlist_UNI_BOPO_invlist_UNI_BOPOMOFOEXT_invlist_UNI_BOXDRAWING_invlist_UNI_BPT__C_invlist_UNI_BPT__N_invlist_UNI_BPT__O_invlist_UNI_BRAH_invlist_UNI_BRAI_invlist_UNI_BUGI_invlist_UNI_BUHD_invlist_UNI_BYZANTINEMUSIC_invlist_UNI_C_invlist_UNI_CAKM_invlist_UNI_CANS_invlist_UNI_CARI_invlist_UNI_CASED_invlist_UNI_CASEDLETTER_invlist_UNI_CCC__0_invlist_UNI_CCC__1_invlist_UNI_CCC__10_invlist_UNI_CCC__103_invlist_UNI_CCC__107_invlist_UNI_CCC__11_invlist_UNI_CCC__118_invlist_UNI_CCC__12_invlist_UNI_CCC__122_invlist_UNI_CCC__129_invlist_UNI_CCC__13_invlist_UNI_CCC__130_invlist_UNI_CCC__132_invlist_UNI_CCC__14_invlist_UNI_CCC__15_invlist_UNI_CCC__16_invlist_UNI_CCC__17_invlist_UNI_CCC__18_invlist_UNI_CCC__19_invlist_UNI_CCC__20_invlist_UNI_CCC__202_invlist_UNI_CCC__21_invlist_UNI_CCC__214_invlist_UNI_CCC__216_invlist_UNI_CCC__22_invlist_UNI_CCC__23_invlist_UNI_CCC__24_invlist_UNI_CCC__25_invlist_UNI_CCC__26_invlist_UNI_CCC__27_invlist_UNI_CCC__28_invlist_UNI_CCC__29_invlist_UNI_CCC__30_invlist_UNI_CCC__31_invlist_UNI_CCC__32_invlist_UNI_CCC__33_invlist_UNI_CCC__34_invlist_UNI_CCC__35_invlist_UNI_CCC__36_invlist_UNI_CCC__6_invlist_UNI_CCC__7_invlist_UNI_CCC__8_invlist_UNI_CCC__84_invlist_UNI_CCC__9_invlist_UNI_CCC__91_invlist_UNI_CCC__A_invlist_UNI_CCC__AL_invlist_UNI_CCC__AR_invlist_UNI_CCC__B_invlist_UNI_CCC__BL_invlist_UNI_CCC__BR_invlist_UNI_CCC__DA_invlist_UNI_CCC__DB_invlist_UNI_CCC__IS_invlist_UNI_CCC__L_invlist_UNI_CCC__R_invlist_UNI_CE_invlist_UNI_CF_invlist_UNI_CHAM_invlist_UNI_CHER_invlist_UNI_CHEROKEESUP_invlist_UNI_CHESSSYMBOLS_invlist_UNI_CHRS_invlist_UNI_CI_invlist_UNI_CJK_invlist_UNI_CJKCOMPAT_invlist_UNI_CJKCOMPATFORMS_invlist_UNI_CJKCOMPATIDEOGRAPHS_invlist_UNI_CJKCOMPATIDEOGRAPHSSUP_invlist_UNI_CJKEXTA_invlist_UNI_CJKEXTB_invlist_UNI_CJKEXTC_invlist_UNI_CJKEXTD_invlist_UNI_CJKEXTE_invlist_UNI_CJKEXTF_invlist_UNI_CJKEXTG_invlist_UNI_CJKEXTH_invlist_UNI_CJKRADICALSSUP_invlist_UNI_CJKSTROKES_invlist_UNI_CJKSYMBOLS_invlist_UNI_CN_invlist_UNI_CO_invlist_UNI_COMPATJAMO_invlist_UNI_COMPEX_invlist_UNI_CONTROLPICTURES_invlist_UNI_COPT_invlist_UNI_COPTICEPACTNUMBERS_invlist_UNI_COUNTINGROD_invlist_UNI_CPMN_invlist_UNI_CPRT_invlist_UNI_CUNEIFORMNUMBERS_invlist_UNI_CURRENCYSYMBOLS_invlist_UNI_CWCF_invlist_UNI_CWCM_invlist_UNI_CWKCF_invlist_UNI_CWL_invlist_UNI_CWT_invlist_UNI_CWU_invlist_UNI_CYPRIOTSYLLABARY_invlist_UNI_CYRILLICEXTA_invlist_UNI_CYRILLICEXTB_invlist_UNI_CYRILLICEXTC_invlist_UNI_CYRILLICEXTD_invlist_UNI_CYRILLICSUP_invlist_UNI_CYRL_invlist_UNI_DASH_invlist_UNI_DEP_invlist_UNI_DEVA_invlist_UNI_DEVANAGARIEXT_invlist_UNI_DEVANAGARIEXTA_invlist_UNI_DI_invlist_UNI_DIA_invlist_UNI_DIACRITICALS_invlist_UNI_DIACRITICALSEXT_invlist_UNI_DIACRITICALSFORSYMBOLS_invlist_UNI_DIACRITICALSSUP_invlist_UNI_DIAK_invlist_UNI_DINGBATS_invlist_UNI_DOGR_invlist_UNI_DOMINO_invlist_UNI_DSRT_invlist_UNI_DT__CAN_invlist_UNI_DT__COM_invlist_UNI_DT__ENC_invlist_UNI_DT__FIN_invlist_UNI_DT__FONT_invlist_UNI_DT__FRA_invlist_UNI_DT__INIT_invlist_UNI_DT__ISO_invlist_UNI_DT__MED_invlist_UNI_DT__NAR_invlist_UNI_DT__NB_invlist_UNI_DT__NONCANON_invlist_UNI_DT__NONE_invlist_UNI_DT__SML_invlist_UNI_DT__SQR_invlist_UNI_DT__SUB_invlist_UNI_DT__SUP_invlist_UNI_DT__VERT_invlist_UNI_DUPL_invlist_UNI_EARLYDYNASTICCUNEIFORM_invlist_UNI_EA__A_invlist_UNI_EA__F_invlist_UNI_EA__H_invlist_UNI_EA__N_invlist_UNI_EA__NA_invlist_UNI_EA__W_invlist_UNI_EBASE_invlist_UNI_ECOMP_invlist_UNI_EGYP_invlist_UNI_EGYPTIANHIEROGLYPHFORMATCONTROLS_invlist_UNI_ELBA_invlist_UNI_ELYM_invlist_UNI_EMOD_invlist_UNI_EMOJI_invlist_UNI_EMOTICONS_invlist_UNI_ENCLOSEDALPHANUM_invlist_UNI_ENCLOSEDALPHANUMSUP_invlist_UNI_ENCLOSEDCJK_invlist_UNI_ENCLOSEDIDEOGRAPHICSUP_invlist_UNI_EPRES_invlist_UNI_ETHI_invlist_UNI_ETHIOPICEXT_invlist_UNI_ETHIOPICEXTA_invlist_UNI_ETHIOPICEXTB_invlist_UNI_ETHIOPICSUP_invlist_UNI_EXT_invlist_UNI_EXTPICT_invlist_UNI_GCB__CN_invlist_UNI_GCB__EX_invlist_UNI_GCB__L_invlist_UNI_GCB__PP_invlist_UNI_GCB__SM_invlist_UNI_GCB__T_invlist_UNI_GCB__V_invlist_UNI_GCB__XX_invlist_UNI_GEOMETRICSHAPES_invlist_UNI_GEOMETRICSHAPESEXT_invlist_UNI_GEOR_invlist_UNI_GEORGIANEXT_invlist_UNI_GEORGIANSUP_invlist_UNI_GLAG_invlist_UNI_GLAGOLITICSUP_invlist_UNI_GONG_invlist_UNI_GONM_invlist_UNI_GOTH_invlist_UNI_GRAN_invlist_UNI_GRBASE_invlist_UNI_GREEKEXT_invlist_UNI_GREK_invlist_UNI_GREXT_invlist_UNI_GUJR_invlist_UNI_GURU_invlist_UNI_HALFANDFULLFORMS_invlist_UNI_HALFMARKS_invlist_UNI_HAN_invlist_UNI_HANG_invlist_UNI_HANO_invlist_UNI_HATR_invlist_UNI_HEBR_invlist_UNI_HIGHPUSURROGATES_invlist_UNI_HIGHSURROGATES_invlist_UNI_HIRA_invlist_UNI_HLUW_invlist_UNI_HMNG_invlist_UNI_HMNP_invlist_UNI_HST__NA_invlist_UNI_HUNG_invlist_UNI_HYPHEN_invlist_UNI_IDC_invlist_UNI_IDENTIFIERSTATUS__ALLOWED_invlist_UNI_IDENTIFIERSTATUS__RESTRICTED_invlist_UNI_IDENTIFIERTYPE__DEFAULTIGNORABLE_invlist_UNI_IDENTIFIERTYPE__EXCLUSION_invlist_UNI_IDENTIFIERTYPE__INCLUSION_invlist_UNI_IDENTIFIERTYPE__LIMITEDUSE_invlist_UNI_IDENTIFIERTYPE__NOTCHARACTER_invlist_UNI_IDENTIFIERTYPE__NOTNFKC_invlist_UNI_IDENTIFIERTYPE__NOTXID_invlist_UNI_IDENTIFIERTYPE__OBSOLETE_invlist_UNI_IDENTIFIERTYPE__RECOMMENDED_invlist_UNI_IDENTIFIERTYPE__TECHNICAL_invlist_UNI_IDENTIFIERTYPE__UNCOMMONUSE_invlist_UNI_IDEO_invlist_UNI_IDEOGRAPHICSYMBOLS_invlist_UNI_IDS_invlist_UNI_IDSB_invlist_UNI_IDST_invlist_UNI_INADLAM_invlist_UNI_INAHOM_invlist_UNI_INANATOLIANHIEROGLYPHS_invlist_UNI_INARABIC_invlist_UNI_INARMENIAN_invlist_UNI_INAVESTAN_invlist_UNI_INBALINESE_invlist_UNI_INBAMUM_invlist_UNI_INBASSAVAH_invlist_UNI_INBATAK_invlist_UNI_INBENGALI_invlist_UNI_INBHAIKSUKI_invlist_UNI_INBOPOMOFO_invlist_UNI_INBRAHMI_invlist_UNI_INBUGINESE_invlist_UNI_INBUHID_invlist_UNI_INCARIAN_invlist_UNI_INCAUCASIANALBANIAN_invlist_UNI_INCHAKMA_invlist_UNI_INCHAM_invlist_UNI_INCHEROKEE_invlist_UNI_INCHORASMIAN_invlist_UNI_INCOPTIC_invlist_UNI_INCUNEIFORM_invlist_UNI_INCYPROMINOAN_invlist_UNI_INCYRILLIC_invlist_UNI_INDEVANAGARI_invlist_UNI_INDICNUMBERFORMS_invlist_UNI_INDICSIYAQNUMBERS_invlist_UNI_INDIVESAKURU_invlist_UNI_INDOGRA_invlist_UNI_INDUPLOYAN_invlist_UNI_INEGYPTIANHIEROGLYPHS_invlist_UNI_INELBASAN_invlist_UNI_INELYMAIC_invlist_UNI_INETHIOPIC_invlist_UNI_INGEORGIAN_invlist_UNI_INGLAGOLITIC_invlist_UNI_INGOTHIC_invlist_UNI_INGRANTHA_invlist_UNI_INGREEK_invlist_UNI_INGUJARATI_invlist_UNI_INGUNJALAGONDI_invlist_UNI_INGURMUKHI_invlist_UNI_INHANGUL_invlist_UNI_INHANIFIROHINGYA_invlist_UNI_INHANUNOO_invlist_UNI_INHATRAN_invlist_UNI_INHEBREW_invlist_UNI_INHIRAGANA_invlist_UNI_INIDC_invlist_UNI_INIMPERIALARAMAIC_invlist_UNI_ININSCRIPTIONALPAHLAVI_invlist_UNI_ININSCRIPTIONALPARTHIAN_invlist_UNI_INJAVANESE_invlist_UNI_INKAITHI_invlist_UNI_INKANNADA_invlist_UNI_INKATAKANA_invlist_UNI_INKAWI_invlist_UNI_INKHAROSHTHI_invlist_UNI_INKHITANSMALLSCRIPT_invlist_UNI_INKHMER_invlist_UNI_INKHOJKI_invlist_UNI_INKHUDAWADI_invlist_UNI_INLAO_invlist_UNI_INLEPCHA_invlist_UNI_INLIMBU_invlist_UNI_INLINEARA_invlist_UNI_INLISU_invlist_UNI_INLYCIAN_invlist_UNI_INLYDIAN_invlist_UNI_INMAHAJANI_invlist_UNI_INMAKASAR_invlist_UNI_INMALAYALAM_invlist_UNI_INMANDAIC_invlist_UNI_INMANICHAEAN_invlist_UNI_INMARCHEN_invlist_UNI_INMASARAMGONDI_invlist_UNI_INMEDEFAIDRIN_invlist_UNI_INMEETEIMAYEK_invlist_UNI_INMENDEKIKAKUI_invlist_UNI_INMEROITICCURSIVE_invlist_UNI_INMIAO_invlist_UNI_INMODI_invlist_UNI_INMONGOLIAN_invlist_UNI_INMRO_invlist_UNI_INMULTANI_invlist_UNI_INMYANMAR_invlist_UNI_INNABATAEAN_invlist_UNI_INNAGMUNDARI_invlist_UNI_INNANDINAGARI_invlist_UNI_INNEWA_invlist_UNI_INNEWTAILUE_invlist_UNI_INNKO_invlist_UNI_INNUSHU_invlist_UNI_INNYIAKENGPUACHUEHMONG_invlist_UNI_INOGHAM_invlist_UNI_INOLDHUNGARIAN_invlist_UNI_INOLDITALIC_invlist_UNI_INOLDPERMIC_invlist_UNI_INOLDPERSIAN_invlist_UNI_INOLDSOGDIAN_invlist_UNI_INOLDTURKIC_invlist_UNI_INOLDUYGHUR_invlist_UNI_INORIYA_invlist_UNI_INOSAGE_invlist_UNI_INOSMANYA_invlist_UNI_INPAHAWHHMONG_invlist_UNI_INPAUCINHAU_invlist_UNI_INPC__BOTTOM_invlist_UNI_INPC__BOTTOMANDLEFT_invlist_UNI_INPC__BOTTOMANDRIGHT_invlist_UNI_INPC__LEFT_invlist_UNI_INPC__LEFTANDRIGHT_invlist_UNI_INPC__NA_invlist_UNI_INPC__OVERSTRUCK_invlist_UNI_INPC__RIGHT_invlist_UNI_INPC__TOP_invlist_UNI_INPC__TOPANDBOTTOM_invlist_UNI_INPC__TOPANDBOTTOMANDLEFT_invlist_UNI_INPC__TOPANDBOTTOMANDRIGHT_invlist_UNI_INPC__TOPANDLEFT_invlist_UNI_INPC__TOPANDLEFTANDRIGHT_invlist_UNI_INPC__TOPANDRIGHT_invlist_UNI_INPHAGSPA_invlist_UNI_INPHOENICIAN_invlist_UNI_INPSALTERPAHLAVI_invlist_UNI_INPUNCTUATION_invlist_UNI_INREJANG_invlist_UNI_INRUNIC_invlist_UNI_INSAMARITAN_invlist_UNI_INSAURASHTRA_invlist_UNI_INSC__AVAGRAHA_invlist_UNI_INSC__BINDU_invlist_UNI_INSC__BRAHMIJOININGNUMBER_invlist_UNI_INSC__CANTILLATIONMARK_invlist_UNI_INSC__CONSONANT_invlist_UNI_INSC__CONSONANTDEAD_invlist_UNI_INSC__CONSONANTFINAL_invlist_UNI_INSC__CONSONANTHEADLETTER_invlist_UNI_INSC__CONSONANTINITIALPOSTFIXED_invlist_UNI_INSC__CONSONANTKILLER_invlist_UNI_INSC__CONSONANTMEDIAL_invlist_UNI_INSC__CONSONANTPLACEHOLDER_invlist_UNI_INSC__CONSONANTPRECEDINGREPHA_invlist_UNI_INSC__CONSONANTPREFIXED_invlist_UNI_INSC__CONSONANTSUBJOINED_invlist_UNI_INSC__CONSONANTSUCCEEDINGREPHA_invlist_UNI_INSC__CONSONANTWITHSTACKER_invlist_UNI_INSC__GEMINATIONMARK_invlist_UNI_INSC__INVISIBLESTACKER_invlist_UNI_INSC__MODIFYINGLETTER_invlist_UNI_INSC__NONJOINER_invlist_UNI_INSC__NUKTA_invlist_UNI_INSC__NUMBER_invlist_UNI_INSC__NUMBERJOINER_invlist_UNI_INSC__OTHER_invlist_UNI_INSC__PUREKILLER_invlist_UNI_INSC__REGISTERSHIFTER_invlist_UNI_INSC__SYLLABLEMODIFIER_invlist_UNI_INSC__TONELETTER_invlist_UNI_INSC__TONEMARK_invlist_UNI_INSC__VIRAMA_invlist_UNI_INSC__VISARGA_invlist_UNI_INSC__VOWEL_invlist_UNI_INSC__VOWELDEPENDENT_invlist_UNI_INSC__VOWELINDEPENDENT_invlist_UNI_INSIDDHAM_invlist_UNI_INSINHALA_invlist_UNI_INSOGDIAN_invlist_UNI_INSORASOMPENG_invlist_UNI_INSOYOMBO_invlist_UNI_INSUNDANESE_invlist_UNI_INSYLOTINAGRI_invlist_UNI_INSYRIAC_invlist_UNI_INTAGALOG_invlist_UNI_INTAGBANWA_invlist_UNI_INTAILE_invlist_UNI_INTAITHAM_invlist_UNI_INTAIVIET_invlist_UNI_INTAKRI_invlist_UNI_INTAMIL_invlist_UNI_INTANGSA_invlist_UNI_INTANGUT_invlist_UNI_INTELUGU_invlist_UNI_INTHAANA_invlist_UNI_INTHAI_invlist_UNI_INTIBETAN_invlist_UNI_INTIFINAGH_invlist_UNI_INTIRHUTA_invlist_UNI_INTOTO_invlist_UNI_INUGARITIC_invlist_UNI_INVAI_invlist_UNI_INVITHKUQI_invlist_UNI_INVS_invlist_UNI_INWANCHO_invlist_UNI_INWARANGCITI_invlist_UNI_INYEZIDI_invlist_UNI_INZANABAZARSQUARE_invlist_UNI_IN__10_invlist_UNI_IN__11_invlist_UNI_IN__12_invlist_UNI_IN__12_DOT_1_invlist_UNI_IN__13_invlist_UNI_IN__14_invlist_UNI_IN__15_invlist_UNI_IN__1_DOT_1_invlist_UNI_IN__2_invlist_UNI_IN__2_DOT_1_invlist_UNI_IN__3_invlist_UNI_IN__3_DOT_1_invlist_UNI_IN__3_DOT_2_invlist_UNI_IN__4_invlist_UNI_IN__4_DOT_1_invlist_UNI_IN__5_invlist_UNI_IN__5_DOT_1_invlist_UNI_IN__5_DOT_2_invlist_UNI_IN__6_invlist_UNI_IN__6_DOT_1_invlist_UNI_IN__6_DOT_2_invlist_UNI_IN__6_DOT_3_invlist_UNI_IN__7_invlist_UNI_IN__8_invlist_UNI_IN__9_invlist_UNI_IN__NA_invlist_UNI_IPAEXT_invlist_UNI_ITAL_invlist_UNI_JAMO_invlist_UNI_JAMOEXTA_invlist_UNI_JAMOEXTB_invlist_UNI_JAVA_invlist_UNI_JG__AFRICANFEH_invlist_UNI_JG__AFRICANNOON_invlist_UNI_JG__AFRICANQAF_invlist_UNI_JG__AIN_invlist_UNI_JG__ALAPH_invlist_UNI_JG__ALEF_invlist_UNI_JG__BEH_invlist_UNI_JG__BETH_invlist_UNI_JG__BURUSHASKIYEHBARREE_invlist_UNI_JG__DAL_invlist_UNI_JG__DALATHRISH_invlist_UNI_JG__E_invlist_UNI_JG__FARSIYEH_invlist_UNI_JG__FE_invlist_UNI_JG__FEH_invlist_UNI_JG__FINALSEMKATH_invlist_UNI_JG__GAF_invlist_UNI_JG__GAMAL_invlist_UNI_JG__HAH_invlist_UNI_JG__HAMZAONHEHGOAL_invlist_UNI_JG__HANIFIROHINGYAKINNAYA_invlist_UNI_JG__HANIFIROHINGYAPA_invlist_UNI_JG__HE_invlist_UNI_JG__HEH_invlist_UNI_JG__HEHGOAL_invlist_UNI_JG__HETH_invlist_UNI_JG__KAF_invlist_UNI_JG__KAPH_invlist_UNI_JG__KHAPH_invlist_UNI_JG__KNOTTEDHEH_invlist_UNI_JG__LAM_invlist_UNI_JG__LAMADH_invlist_UNI_JG__MALAYALAMBHA_invlist_UNI_JG__MALAYALAMJA_invlist_UNI_JG__MALAYALAMLLA_invlist_UNI_JG__MALAYALAMLLLA_invlist_UNI_JG__MALAYALAMNGA_invlist_UNI_JG__MALAYALAMNNA_invlist_UNI_JG__MALAYALAMNNNA_invlist_UNI_JG__MALAYALAMNYA_invlist_UNI_JG__MALAYALAMRA_invlist_UNI_JG__MALAYALAMSSA_invlist_UNI_JG__MALAYALAMTTA_invlist_UNI_JG__MANICHAEANALEPH_invlist_UNI_JG__MANICHAEANAYIN_invlist_UNI_JG__MANICHAEANBETH_invlist_UNI_JG__MANICHAEANDALETH_invlist_UNI_JG__MANICHAEANDHAMEDH_invlist_UNI_JG__MANICHAEANFIVE_invlist_UNI_JG__MANICHAEANGIMEL_invlist_UNI_JG__MANICHAEANHETH_invlist_UNI_JG__MANICHAEANHUNDRED_invlist_UNI_JG__MANICHAEANKAPH_invlist_UNI_JG__MANICHAEANLAMEDH_invlist_UNI_JG__MANICHAEANMEM_invlist_UNI_JG__MANICHAEANNUN_invlist_UNI_JG__MANICHAEANONE_invlist_UNI_JG__MANICHAEANPE_invlist_UNI_JG__MANICHAEANQOPH_invlist_UNI_JG__MANICHAEANRESH_invlist_UNI_JG__MANICHAEANSADHE_invlist_UNI_JG__MANICHAEANSAMEKH_invlist_UNI_JG__MANICHAEANTAW_invlist_UNI_JG__MANICHAEANTEN_invlist_UNI_JG__MANICHAEANTETH_invlist_UNI_JG__MANICHAEANTHAMEDH_invlist_UNI_JG__MANICHAEANTWENTY_invlist_UNI_JG__MANICHAEANWAW_invlist_UNI_JG__MANICHAEANYODH_invlist_UNI_JG__MANICHAEANZAYIN_invlist_UNI_JG__MEEM_invlist_UNI_JG__MIM_invlist_UNI_JG__NOJOININGGROUP_invlist_UNI_JG__NOON_invlist_UNI_JG__NUN_invlist_UNI_JG__NYA_invlist_UNI_JG__PE_invlist_UNI_JG__QAF_invlist_UNI_JG__QAPH_invlist_UNI_JG__REH_invlist_UNI_JG__REVERSEDPE_invlist_UNI_JG__ROHINGYAYEH_invlist_UNI_JG__SAD_invlist_UNI_JG__SADHE_invlist_UNI_JG__SEEN_invlist_UNI_JG__SEMKATH_invlist_UNI_JG__SHIN_invlist_UNI_JG__STRAIGHTWAW_invlist_UNI_JG__SWASHKAF_invlist_UNI_JG__SYRIACWAW_invlist_UNI_JG__TAH_invlist_UNI_JG__TAW_invlist_UNI_JG__TEHMARBUTA_invlist_UNI_JG__TETH_invlist_UNI_JG__THINYEH_invlist_UNI_JG__VERTICALTAIL_invlist_UNI_JG__WAW_invlist_UNI_JG__YEH_invlist_UNI_JG__YEHBARREE_invlist_UNI_JG__YEHWITHTAIL_invlist_UNI_JG__YUDH_invlist_UNI_JG__YUDHHE_invlist_UNI_JG__ZAIN_invlist_UNI_JG__ZHAIN_invlist_UNI_JOINC_invlist_UNI_JT__C_invlist_UNI_JT__D_invlist_UNI_JT__L_invlist_UNI_JT__R_invlist_UNI_JT__T_invlist_UNI_JT__U_invlist_UNI_KAKTOVIKNUMERALS_invlist_UNI_KALI_invlist_UNI_KANA_invlist_UNI_KANAEXTA_invlist_UNI_KANAEXTB_invlist_UNI_KANASUP_invlist_UNI_KANBUN_invlist_UNI_KANGXI_invlist_UNI_KATAKANAEXT_invlist_UNI_KAWI_invlist_UNI_KHAR_invlist_UNI_KHMERSYMBOLS_invlist_UNI_KHMR_invlist_UNI_KHOJ_invlist_UNI_KITS_invlist_UNI_KNDA_invlist_UNI_KTHI_invlist_UNI_L_invlist_UNI_LANA_invlist_UNI_LAO_invlist_UNI_LATIN1_invlist_UNI_LATINEXTA_invlist_UNI_LATINEXTADDITIONAL_invlist_UNI_LATINEXTB_invlist_UNI_LATINEXTC_invlist_UNI_LATINEXTD_invlist_UNI_LATINEXTE_invlist_UNI_LATINEXTF_invlist_UNI_LATINEXTG_invlist_UNI_LATN_invlist_UNI_LB__AI_invlist_UNI_LB__AL_invlist_UNI_LB__B2_invlist_UNI_LB__BA_invlist_UNI_LB__BB_invlist_UNI_LB__BK_invlist_UNI_LB__CB_invlist_UNI_LB__CJ_invlist_UNI_LB__CL_invlist_UNI_LB__CM_invlist_UNI_LB__CP_invlist_UNI_LB__CR_invlist_UNI_LB__EX_invlist_UNI_LB__GL_invlist_UNI_LB__H2_invlist_UNI_LB__H3_invlist_UNI_LB__HL_invlist_UNI_LB__HY_invlist_UNI_LB__ID_invlist_UNI_LB__IN_invlist_UNI_LB__IS_invlist_UNI_LB__LF_invlist_UNI_LB__NL_invlist_UNI_LB__NS_invlist_UNI_LB__NU_invlist_UNI_LB__OP_invlist_UNI_LB__PO_invlist_UNI_LB__PR_invlist_UNI_LB__QU_invlist_UNI_LB__SA_invlist_UNI_LB__SG_invlist_UNI_LB__SP_invlist_UNI_LB__SY_invlist_UNI_LB__WJ_invlist_UNI_LB__XX_invlist_UNI_LB__ZW_invlist_UNI_LB__ZWJ_invlist_UNI_LEPC_invlist_UNI_LETTERLIKESYMBOLS_invlist_UNI_LIMB_invlist_UNI_LINA_invlist_UNI_LINB_invlist_UNI_LINEARBIDEOGRAMS_invlist_UNI_LINEARBSYLLABARY_invlist_UNI_LISU_invlist_UNI_LISUSUP_invlist_UNI_LM_invlist_UNI_LO_invlist_UNI_LOE_invlist_UNI_LOWERCASELETTER_invlist_UNI_LOWSURROGATES_invlist_UNI_LYCI_invlist_UNI_LYDI_invlist_UNI_M_invlist_UNI_MAHJ_invlist_UNI_MAHJONG_invlist_UNI_MAKA_invlist_UNI_MAND_invlist_UNI_MANI_invlist_UNI_MARC_invlist_UNI_MATH_invlist_UNI_MATHALPHANUM_invlist_UNI_MATHOPERATORS_invlist_UNI_MAYANNUMERALS_invlist_UNI_MC_invlist_UNI_ME_invlist_UNI_MEDF_invlist_UNI_MEETEIMAYEKEXT_invlist_UNI_MEND_invlist_UNI_MERC_invlist_UNI_MERO_invlist_UNI_MIAO_invlist_UNI_MISCARROWS_invlist_UNI_MISCMATHSYMBOLSA_invlist_UNI_MISCMATHSYMBOLSB_invlist_UNI_MISCPICTOGRAPHS_invlist_UNI_MISCSYMBOLS_invlist_UNI_MISCTECHNICAL_invlist_UNI_MLYM_invlist_UNI_MN_invlist_UNI_MODI_invlist_UNI_MODIFIERLETTERS_invlist_UNI_MODIFIERTONELETTERS_invlist_UNI_MONG_invlist_UNI_MONGOLIANSUP_invlist_UNI_MRO_invlist_UNI_MTEI_invlist_UNI_MULT_invlist_UNI_MUSIC_invlist_UNI_MYANMAREXTA_invlist_UNI_MYANMAREXTB_invlist_UNI_MYMR_invlist_UNI_N_invlist_UNI_NAGM_invlist_UNI_NAND_invlist_UNI_NARB_invlist_UNI_NB_invlist_UNI_NBAT_invlist_UNI_NEWA_invlist_UNI_NFCQC__M_invlist_UNI_NFCQC__Y_invlist_UNI_NFDQC__Y_invlist_UNI_NFKCQC__N_invlist_UNI_NFKCQC__Y_invlist_UNI_NFKDQC__N_invlist_UNI_NKO_invlist_UNI_NL_invlist_UNI_NO_invlist_UNI_NSHU_invlist_UNI_NT__DI_invlist_UNI_NT__NU_invlist_UNI_NUMBERFORMS_invlist_UNI_NV__0_invlist_UNI_NV__1_invlist_UNI_NV__10_invlist_UNI_NV__100_invlist_UNI_NV__1000_invlist_UNI_NV__10000_invlist_UNI_NV__100000_invlist_UNI_NV__1000000_invlist_UNI_NV__10000000_invlist_UNI_NV__100000000_invlist_UNI_NV__10000000000_invlist_UNI_NV__1000000000000_invlist_UNI_NV__11_invlist_UNI_NV__11_SLASH_12_invlist_UNI_NV__11_SLASH_2_invlist_UNI_NV__12_invlist_UNI_NV__13_invlist_UNI_NV__13_SLASH_2_invlist_UNI_NV__14_invlist_UNI_NV__15_invlist_UNI_NV__15_SLASH_2_invlist_UNI_NV__16_invlist_UNI_NV__17_invlist_UNI_NV__17_SLASH_2_invlist_UNI_NV__18_invlist_UNI_NV__19_invlist_UNI_NV__1_SLASH_10_invlist_UNI_NV__1_SLASH_12_invlist_UNI_NV__1_SLASH_16_invlist_UNI_NV__1_SLASH_160_invlist_UNI_NV__1_SLASH_2_invlist_UNI_NV__1_SLASH_20_invlist_UNI_NV__1_SLASH_3_invlist_UNI_NV__1_SLASH_32_invlist_UNI_NV__1_SLASH_320_invlist_UNI_NV__1_SLASH_4_invlist_UNI_NV__1_SLASH_40_invlist_UNI_NV__1_SLASH_5_invlist_UNI_NV__1_SLASH_6_invlist_UNI_NV__1_SLASH_64_invlist_UNI_NV__1_SLASH_7_invlist_UNI_NV__1_SLASH_8_invlist_UNI_NV__1_SLASH_80_invlist_UNI_NV__1_SLASH_9_invlist_UNI_NV__2_invlist_UNI_NV__20_invlist_UNI_NV__200_invlist_UNI_NV__2000_invlist_UNI_NV__20000_invlist_UNI_NV__200000_invlist_UNI_NV__20000000_invlist_UNI_NV__21_invlist_UNI_NV__216000_invlist_UNI_NV__22_invlist_UNI_NV__23_invlist_UNI_NV__24_invlist_UNI_NV__25_invlist_UNI_NV__26_invlist_UNI_NV__27_invlist_UNI_NV__28_invlist_UNI_NV__29_invlist_UNI_NV__2_SLASH_3_invlist_UNI_NV__2_SLASH_5_invlist_UNI_NV__3_invlist_UNI_NV__30_invlist_UNI_NV__300_invlist_UNI_NV__3000_invlist_UNI_NV__30000_invlist_UNI_NV__300000_invlist_UNI_NV__31_invlist_UNI_NV__32_invlist_UNI_NV__33_invlist_UNI_NV__34_invlist_UNI_NV__35_invlist_UNI_NV__36_invlist_UNI_NV__37_invlist_UNI_NV__38_invlist_UNI_NV__39_invlist_UNI_NV__3_SLASH_16_invlist_UNI_NV__3_SLASH_2_invlist_UNI_NV__3_SLASH_20_invlist_UNI_NV__3_SLASH_4_invlist_UNI_NV__3_SLASH_5_invlist_UNI_NV__3_SLASH_64_invlist_UNI_NV__3_SLASH_8_invlist_UNI_NV__3_SLASH_80_invlist_UNI_NV__4_invlist_UNI_NV__40_invlist_UNI_NV__400_invlist_UNI_NV__4000_invlist_UNI_NV__40000_invlist_UNI_NV__400000_invlist_UNI_NV__41_invlist_UNI_NV__42_invlist_UNI_NV__43_invlist_UNI_NV__432000_invlist_UNI_NV__44_invlist_UNI_NV__45_invlist_UNI_NV__46_invlist_UNI_NV__47_invlist_UNI_NV__48_invlist_UNI_NV__49_invlist_UNI_NV__4_SLASH_5_invlist_UNI_NV__5_invlist_UNI_NV__50_invlist_UNI_NV__500_invlist_UNI_NV__5000_invlist_UNI_NV__50000_invlist_UNI_NV__500000_invlist_UNI_NV__5_SLASH_12_invlist_UNI_NV__5_SLASH_2_invlist_UNI_NV__5_SLASH_6_invlist_UNI_NV__5_SLASH_8_invlist_UNI_NV__6_invlist_UNI_NV__60_invlist_UNI_NV__600_invlist_UNI_NV__6000_invlist_UNI_NV__60000_invlist_UNI_NV__600000_invlist_UNI_NV__7_invlist_UNI_NV__70_invlist_UNI_NV__700_invlist_UNI_NV__7000_invlist_UNI_NV__70000_invlist_UNI_NV__700000_invlist_UNI_NV__7_SLASH_12_invlist_UNI_NV__7_SLASH_2_invlist_UNI_NV__7_SLASH_8_invlist_UNI_NV__8_invlist_UNI_NV__80_invlist_UNI_NV__800_invlist_UNI_NV__8000_invlist_UNI_NV__80000_invlist_UNI_NV__800000_invlist_UNI_NV__9_invlist_UNI_NV__90_invlist_UNI_NV__900_invlist_UNI_NV__9000_invlist_UNI_NV__90000_invlist_UNI_NV__900000_invlist_UNI_NV__9_SLASH_2_invlist_UNI_NV__NAN_invlist_UNI_NV___MINUS_1_SLASH_2_invlist_UNI_OCR_invlist_UNI_OGAM_invlist_UNI_OLCK_invlist_UNI_ORKH_invlist_UNI_ORNAMENTALDINGBATS_invlist_UNI_ORYA_invlist_UNI_OSGE_invlist_UNI_OSMA_invlist_UNI_OTTOMANSIYAQNUMBERS_invlist_UNI_OUGR_invlist_UNI_P_invlist_UNI_PALM_invlist_UNI_PATSYN_invlist_UNI_PAUC_invlist_UNI_PC_invlist_UNI_PCM_invlist_UNI_PD_invlist_UNI_PE_invlist_UNI_PERM_invlist_UNI_PF_invlist_UNI_PHAG_invlist_UNI_PHAISTOS_invlist_UNI_PHLI_invlist_UNI_PHLP_invlist_UNI_PHNX_invlist_UNI_PHONETICEXT_invlist_UNI_PHONETICEXTSUP_invlist_UNI_PI_invlist_UNI_PLAYINGCARDS_invlist_UNI_PO_invlist_UNI_POSIXALNUM_invlist_UNI_POSIXALPHA_invlist_UNI_POSIXBLANK_invlist_UNI_POSIXCNTRL_invlist_UNI_POSIXDIGIT_invlist_UNI_POSIXGRAPH_invlist_UNI_POSIXLOWER_invlist_UNI_POSIXPRINT_invlist_UNI_POSIXPUNCT_invlist_UNI_POSIXSPACE_invlist_UNI_POSIXUPPER_invlist_UNI_POSIXWORD_invlist_UNI_POSIXXDIGIT_invlist_UNI_PRTI_invlist_UNI_PS_invlist_UNI_PUA_invlist_UNI_QAAI_invlist_UNI_QMARK_invlist_UNI_RADICAL_invlist_UNI_RI_invlist_UNI_RJNG_invlist_UNI_ROHG_invlist_UNI_RUMI_invlist_UNI_RUNR_invlist_UNI_S_invlist_UNI_SAMR_invlist_UNI_SARB_invlist_UNI_SAUR_invlist_UNI_SB__AT_invlist_UNI_SB__CL_invlist_UNI_SB__EX_invlist_UNI_SB__FO_invlist_UNI_SB__LE_invlist_UNI_SB__LO_invlist_UNI_SB__NU_invlist_UNI_SB__SC_invlist_UNI_SB__SE_invlist_UNI_SB__SP_invlist_UNI_SB__ST_invlist_UNI_SB__UP_invlist_UNI_SB__XX_invlist_UNI_SC_invlist_UNI_SC__ADLM_invlist_UNI_SC__ARAB_invlist_UNI_SC__BENG_invlist_UNI_SC__BOPO_invlist_UNI_SC__BUGI_invlist_UNI_SC__BUHD_invlist_UNI_SC__CAKM_invlist_UNI_SC__COPT_invlist_UNI_SC__CPMN_invlist_UNI_SC__CPRT_invlist_UNI_SC__CYRL_invlist_UNI_SC__DEVA_invlist_UNI_SC__DOGR_invlist_UNI_SC__DUPL_invlist_UNI_SC__GEOR_invlist_UNI_SC__GLAG_invlist_UNI_SC__GONG_invlist_UNI_SC__GONM_invlist_UNI_SC__GRAN_invlist_UNI_SC__GREK_invlist_UNI_SC__GUJR_invlist_UNI_SC__GURU_invlist_UNI_SC__HAN_invlist_UNI_SC__HANG_invlist_UNI_SC__HANO_invlist_UNI_SC__HIRA_invlist_UNI_SC__JAVA_invlist_UNI_SC__KALI_invlist_UNI_SC__KANA_invlist_UNI_SC__KHOJ_invlist_UNI_SC__KNDA_invlist_UNI_SC__KTHI_invlist_UNI_SC__LATN_invlist_UNI_SC__LIMB_invlist_UNI_SC__LINA_invlist_UNI_SC__LINB_invlist_UNI_SC__MAHJ_invlist_UNI_SC__MAND_invlist_UNI_SC__MANI_invlist_UNI_SC__MLYM_invlist_UNI_SC__MODI_invlist_UNI_SC__MONG_invlist_UNI_SC__MULT_invlist_UNI_SC__MYMR_invlist_UNI_SC__NAND_invlist_UNI_SC__NKO_invlist_UNI_SC__ORYA_invlist_UNI_SC__OUGR_invlist_UNI_SC__PERM_invlist_UNI_SC__PHAG_invlist_UNI_SC__PHLP_invlist_UNI_SC__QAAI_invlist_UNI_SC__ROHG_invlist_UNI_SC__SHRD_invlist_UNI_SC__SIND_invlist_UNI_SC__SINH_invlist_UNI_SC__SOGD_invlist_UNI_SC__SYLO_invlist_UNI_SC__SYRC_invlist_UNI_SC__TAGB_invlist_UNI_SC__TAKR_invlist_UNI_SC__TALE_invlist_UNI_SC__TAML_invlist_UNI_SC__TELU_invlist_UNI_SC__TGLG_invlist_UNI_SC__THAA_invlist_UNI_SC__TIRH_invlist_UNI_SC__YEZI_invlist_UNI_SC__YI_invlist_UNI_SC__ZYYY_invlist_UNI_SD_invlist_UNI_SGNW_invlist_UNI_SHAW_invlist_UNI_SHORTHANDFORMATCONTROLS_invlist_UNI_SHRD_invlist_UNI_SIDD_invlist_UNI_SIND_invlist_UNI_SINH_invlist_UNI_SINHALAARCHAICNUMBERS_invlist_UNI_SK_invlist_UNI_SM_invlist_UNI_SMALLFORMS_invlist_UNI_SMALLKANAEXT_invlist_UNI_SO_invlist_UNI_SOGD_invlist_UNI_SOGO_invlist_UNI_SORA_invlist_UNI_SOYO_invlist_UNI_SPECIALS_invlist_UNI_STERM_invlist_UNI_SUND_invlist_UNI_SUNDANESESUP_invlist_UNI_SUPARROWSA_invlist_UNI_SUPARROWSB_invlist_UNI_SUPARROWSC_invlist_UNI_SUPERANDSUB_invlist_UNI_SUPMATHOPERATORS_invlist_UNI_SUPPUAA_invlist_UNI_SUPPUAB_invlist_UNI_SUPPUNCTUATION_invlist_UNI_SUPSYMBOLSANDPICTOGRAPHS_invlist_UNI_SUTTONSIGNWRITING_invlist_UNI_SYLO_invlist_UNI_SYMBOLSANDPICTOGRAPHSEXTA_invlist_UNI_SYMBOLSFORLEGACYCOMPUTING_invlist_UNI_SYRC_invlist_UNI_SYRIACSUP_invlist_UNI_TAGB_invlist_UNI_TAGS_invlist_UNI_TAIXUANJING_invlist_UNI_TAKR_invlist_UNI_TALE_invlist_UNI_TALU_invlist_UNI_TAMILSUP_invlist_UNI_TAML_invlist_UNI_TANG_invlist_UNI_TANGUTCOMPONENTS_invlist_UNI_TANGUTSUP_invlist_UNI_TAVT_invlist_UNI_TELU_invlist_UNI_TERM_invlist_UNI_TFNG_invlist_UNI_TGLG_invlist_UNI_THAA_invlist_UNI_THAI_invlist_UNI_TIBT_invlist_UNI_TIRH_invlist_UNI_TITLE_invlist_UNI_TNSA_invlist_UNI_TOTO_invlist_UNI_TRANSPORTANDMAP_invlist_UNI_UCAS_invlist_UNI_UCASEXT_invlist_UNI_UCASEXTA_invlist_UNI_UGAR_invlist_UNI_UIDEO_invlist_UNI_UPPERCASELETTER_invlist_UNI_VAI_invlist_UNI_VEDICEXT_invlist_UNI_VERTICALFORMS_invlist_UNI_VERTSPACE_invlist_UNI_VITH_invlist_UNI_VO__R_invlist_UNI_VO__TR_invlist_UNI_VO__TU_invlist_UNI_VO__U_invlist_UNI_VS_invlist_UNI_VSSUP_invlist_UNI_WARA_invlist_UNI_WB__DQ_invlist_UNI_WB__EB_invlist_UNI_WB__EX_invlist_UNI_WB__EXTEND_invlist_UNI_WB__FO_invlist_UNI_WB__KA_invlist_UNI_WB__LE_invlist_UNI_WB__MB_invlist_UNI_WB__ML_invlist_UNI_WB__MN_invlist_UNI_WB__NL_invlist_UNI_WB__NU_invlist_UNI_WB__SQ_invlist_UNI_WB__WSEGSPACE_invlist_UNI_WB__XX_invlist_UNI_WCHO_invlist_UNI_XIDC_invlist_UNI_XIDS_invlist_UNI_XPEO_invlist_UNI_XPOSIXALNUM_invlist_UNI_XPOSIXALPHA_invlist_UNI_XPOSIXBLANK_invlist_UNI_XPOSIXCNTRL_invlist_UNI_XPOSIXDIGIT_invlist_UNI_XPOSIXGRAPH_invlist_UNI_XPOSIXLOWER_invlist_UNI_XPOSIXPRINT_invlist_UNI_XPOSIXPUNCT_invlist_UNI_XPOSIXSPACE_invlist_UNI_XPOSIXUPPER_invlist_UNI_XPOSIXWORD_invlist_UNI_XPOSIXXDIGIT_invlist_UNI_XSUX_invlist_UNI_YEZI_invlist_UNI_YI_invlist_UNI_YIJING_invlist_UNI_YIRADICALS_invlist_UNI_YISYLLABLES_invlist_UNI_Z_invlist_UNI_ZANB_invlist_UNI_ZL_invlist_UNI_ZNAMENNYMUSIC_invlist_UNI_ZP_invlist_UNI_ZS_invlist_UNI_ZYYY_invlist_UNI_ZZZZ_invlist_UNI__PERL_ANY_FOLDS_invlist_UNI__PERL_CHARNAME_BEGIN_invlist_UNI__PERL_CHARNAME_CONTINUE_invlist_UNI__PERL_FOLDS_TO_MULTI_CHAR_invlist_UNI__PERL_IDCONT_invlist_UNI__PERL_IDSTART_invlist_UNI__PERL_IS_IN_MULTI_CHAR_FOLD_invlist_UNI__PERL_NCHAR_invlist_UNI__PERL_PATWS_invlist_UNI__PERL_PROBLEMATIC_LOCALE_FOLDEDS_START_invlist_UNI__PERL_PROBLEMATIC_LOCALE_FOLDS_invlist_UNI__PERL_QUOTEMETA_invlist_UNI__PERL_SURROGATE_invlist__Perl_GCB_invmap__Perl_SCX_invmap_SCX_AUX_TABLE_lengths_script_zeros_sets_utf8_locale_required_b_utf8_locale_required__Perl_LB_invmap__Perl_SB_invmap__Perl_WB_invmap_LB_table_WB_table_GCB_table_SCX_AUX_TABLE_1_SCX_AUX_TABLE_2_SCX_AUX_TABLE_3_SCX_AUX_TABLE_4_SCX_AUX_TABLE_5_SCX_AUX_TABLE_6_SCX_AUX_TABLE_7_SCX_AUX_TABLE_8_SCX_AUX_TABLE_9_SCX_AUX_TABLE_10_SCX_AUX_TABLE_11_SCX_AUX_TABLE_12_SCX_AUX_TABLE_13_SCX_AUX_TABLE_14_SCX_AUX_TABLE_15_SCX_AUX_TABLE_16_SCX_AUX_TABLE_17_SCX_AUX_TABLE_18_SCX_AUX_TABLE_19_SCX_AUX_TABLE_20_SCX_AUX_TABLE_21_SCX_AUX_TABLE_22_SCX_AUX_TABLE_23_SCX_AUX_TABLE_24_SCX_AUX_TABLE_25_SCX_AUX_TABLE_26_SCX_AUX_TABLE_27_SCX_AUX_TABLE_28_SCX_AUX_TABLE_29_SCX_AUX_TABLE_30_SCX_AUX_TABLE_31_SCX_AUX_TABLE_32_SCX_AUX_TABLE_33_SCX_AUX_TABLE_34_SCX_AUX_TABLE_35_SCX_AUX_TABLE_36_SCX_AUX_TABLE_37_SCX_AUX_TABLE_38_SCX_AUX_TABLE_39_SCX_AUX_TABLE_40_SCX_AUX_TABLE_41_SCX_AUX_TABLE_42_SCX_AUX_TABLE_43_SCX_AUX_TABLE_44_SCX_AUX_TABLE_45_SCX_AUX_TABLE_46_SCX_AUX_TABLE_47_SCX_AUX_TABLE_48_SCX_AUX_TABLE_49_SCX_AUX_TABLE_50_SCX_AUX_TABLE_51_SCX_AUX_TABLE_52_SCX_AUX_TABLE_53_SCX_AUX_TABLE_54_SCX_AUX_TABLE_55_SCX_AUX_TABLE_56_SCX_AUX_TABLE_57_SCX_AUX_TABLE_58_SCX_AUX_TABLE_59_Perl_new_version.underscore_Perl_boot_core_mro.file_builtin_not_recognised_S_strtab_error_bodies_by_type_bodies_by_type_bodies_by_type_fake_rv_fake_hv_with_aux_Perl_sv_vcatpvfn_flags.nullstr_int2str_table_S_destroy_bodies_by_type_leave_scope_arg_counts_bodies_by_type_bodies_by_type_zero_but_true_bodies_by_type_malformed_text_unees_Uppercase_Mapping_invmap_UC_AUX_TABLE_lengths_Titlecase_Mapping_invmap_TC_AUX_TABLE_lengths_Lowercase_Mapping_invmap_LC_AUX_TABLE_lengths_Case_Folding_invmap_CF_AUX_TABLE_lengths_Simple_Case_Folding_invmap__Perl_IVCF_invmap_IVCF_AUX_TABLE_lengths_bodies_by_type_UC_AUX_TABLE_1_UC_AUX_TABLE_2_UC_AUX_TABLE_3_UC_AUX_TABLE_4_UC_AUX_TABLE_5_UC_AUX_TABLE_6_UC_AUX_TABLE_7_UC_AUX_TABLE_8_UC_AUX_TABLE_9_UC_AUX_TABLE_10_UC_AUX_TABLE_11_UC_AUX_TABLE_12_UC_AUX_TABLE_13_UC_AUX_TABLE_14_UC_AUX_TABLE_15_UC_AUX_TABLE_16_UC_AUX_TABLE_17_UC_AUX_TABLE_18_UC_AUX_TABLE_19_UC_AUX_TABLE_20_UC_AUX_TABLE_21_UC_AUX_TABLE_22_UC_AUX_TABLE_23_UC_AUX_TABLE_24_UC_AUX_TABLE_25_UC_AUX_TABLE_26_UC_AUX_TABLE_27_UC_AUX_TABLE_28_UC_AUX_TABLE_29_UC_AUX_TABLE_30_UC_AUX_TABLE_31_UC_AUX_TABLE_32_UC_AUX_TABLE_33_UC_AUX_TABLE_34_UC_AUX_TABLE_35_UC_AUX_TABLE_36_UC_AUX_TABLE_37_UC_AUX_TABLE_38_UC_AUX_TABLE_39_UC_AUX_TABLE_40_UC_AUX_TABLE_41_UC_AUX_TABLE_42_UC_AUX_TABLE_43_UC_AUX_TABLE_44_UC_AUX_TABLE_45_UC_AUX_TABLE_46_UC_AUX_TABLE_47_UC_AUX_TABLE_48_UC_AUX_TABLE_49_UC_AUX_TABLE_50_UC_AUX_TABLE_51_UC_AUX_TABLE_52_UC_AUX_TABLE_53_UC_AUX_TABLE_54_UC_AUX_TABLE_55_UC_AUX_TABLE_56_UC_AUX_TABLE_57_UC_AUX_TABLE_58_UC_AUX_TABLE_59_UC_AUX_TABLE_60_UC_AUX_TABLE_61_UC_AUX_TABLE_62_UC_AUX_TABLE_63_UC_AUX_TABLE_64_UC_AUX_TABLE_65_UC_AUX_TABLE_66_UC_AUX_TABLE_67_UC_AUX_TABLE_68_UC_AUX_TABLE_69_UC_AUX_TABLE_70_UC_AUX_TABLE_71_UC_AUX_TABLE_72_TC_AUX_TABLE_1_TC_AUX_TABLE_2_TC_AUX_TABLE_3_TC_AUX_TABLE_4_TC_AUX_TABLE_5_TC_AUX_TABLE_6_TC_AUX_TABLE_7_TC_AUX_TABLE_8_TC_AUX_TABLE_9_TC_AUX_TABLE_10_TC_AUX_TABLE_11_TC_AUX_TABLE_12_TC_AUX_TABLE_13_TC_AUX_TABLE_14_TC_AUX_TABLE_15_TC_AUX_TABLE_16_TC_AUX_TABLE_17_TC_AUX_TABLE_18_TC_AUX_TABLE_19_TC_AUX_TABLE_20_TC_AUX_TABLE_21_TC_AUX_TABLE_22_TC_AUX_TABLE_23_TC_AUX_TABLE_24_TC_AUX_TABLE_25_TC_AUX_TABLE_26_TC_AUX_TABLE_27_TC_AUX_TABLE_28_TC_AUX_TABLE_29_TC_AUX_TABLE_30_TC_AUX_TABLE_31_TC_AUX_TABLE_32_TC_AUX_TABLE_33_TC_AUX_TABLE_34_TC_AUX_TABLE_35_TC_AUX_TABLE_36_TC_AUX_TABLE_37_TC_AUX_TABLE_38_TC_AUX_TABLE_39_TC_AUX_TABLE_40_TC_AUX_TABLE_41_TC_AUX_TABLE_42_TC_AUX_TABLE_43_TC_AUX_TABLE_44_TC_AUX_TABLE_45_LC_AUX_TABLE_1_CF_AUX_TABLE_1_CF_AUX_TABLE_2_CF_AUX_TABLE_3_CF_AUX_TABLE_4_CF_AUX_TABLE_5_CF_AUX_TABLE_6_CF_AUX_TABLE_7_CF_AUX_TABLE_8_CF_AUX_TABLE_9_CF_AUX_TABLE_10_CF_AUX_TABLE_11_CF_AUX_TABLE_12_CF_AUX_TABLE_13_CF_AUX_TABLE_14_CF_AUX_TABLE_15_CF_AUX_TABLE_16_CF_AUX_TABLE_17_CF_AUX_TABLE_18_CF_AUX_TABLE_19_CF_AUX_TABLE_20_CF_AUX_TABLE_21_CF_AUX_TABLE_22_CF_AUX_TABLE_23_CF_AUX_TABLE_24_CF_AUX_TABLE_25_CF_AUX_TABLE_26_CF_AUX_TABLE_27_CF_AUX_TABLE_28_CF_AUX_TABLE_29_CF_AUX_TABLE_30_CF_AUX_TABLE_31_CF_AUX_TABLE_32_CF_AUX_TABLE_33_CF_AUX_TABLE_34_CF_AUX_TABLE_35_CF_AUX_TABLE_36_CF_AUX_TABLE_37_CF_AUX_TABLE_38_CF_AUX_TABLE_39_CF_AUX_TABLE_40_CF_AUX_TABLE_41_CF_AUX_TABLE_42_CF_AUX_TABLE_43_CF_AUX_TABLE_44_CF_AUX_TABLE_45_CF_AUX_TABLE_46_CF_AUX_TABLE_47_CF_AUX_TABLE_48_CF_AUX_TABLE_49_CF_AUX_TABLE_50_CF_AUX_TABLE_51_CF_AUX_TABLE_52_CF_AUX_TABLE_53_CF_AUX_TABLE_54_CF_AUX_TABLE_55_CF_AUX_TABLE_56_CF_AUX_TABLE_57_CF_AUX_TABLE_58_CF_AUX_TABLE_59_CF_AUX_TABLE_60_CF_AUX_TABLE_61_CF_AUX_TABLE_62_CF_AUX_TABLE_63_CF_AUX_TABLE_64_CF_AUX_TABLE_65_CF_AUX_TABLE_66_CF_AUX_TABLE_67_CF_AUX_TABLE_68_CF_AUX_TABLE_69_CF_AUX_TABLE_70_CF_AUX_TABLE_71_CF_AUX_TABLE_72_CF_AUX_TABLE_73_IVCF_AUX_TABLE_1_IVCF_AUX_TABLE_2_IVCF_AUX_TABLE_3_IVCF_AUX_TABLE_4_IVCF_AUX_TABLE_5_IVCF_AUX_TABLE_6_IVCF_AUX_TABLE_7_IVCF_AUX_TABLE_8_IVCF_AUX_TABLE_9_IVCF_AUX_TABLE_10_IVCF_AUX_TABLE_11_IVCF_AUX_TABLE_12_IVCF_AUX_TABLE_13_IVCF_AUX_TABLE_14_IVCF_AUX_TABLE_15_IVCF_AUX_TABLE_16_IVCF_AUX_TABLE_17_IVCF_AUX_TABLE_18_IVCF_AUX_TABLE_19_IVCF_AUX_TABLE_20_IVCF_AUX_TABLE_21_IVCF_AUX_TABLE_22_IVCF_AUX_TABLE_23_IVCF_AUX_TABLE_24_IVCF_AUX_TABLE_25_IVCF_AUX_TABLE_26_IVCF_AUX_TABLE_27_IVCF_AUX_TABLE_28_categories_C_decimal_point_packprops_length_of_year_days_in_month_julian_days_by_month_safe_years_custom_op_register_vtbl_these_details_PL_AMG_names_Perl_scan_num.bases_Perl_scan_num.Bases_Perl_scan_num.maxima_uni_prop_ptrs_UNI_prop_value_ptrs_UNI_age_values_UNI_ahex_values_UNI_bc_values_UNI_blk_values_UNI_bpt_values_UNI_ccc_values_UNI_dt_values_UNI_ea_values_UNI_gc_values_UNI_gcb_values_UNI_hst_values_UNI_identifierstatus_values_UNI_identifiertype_values_UNI_inpc_values_UNI_insc_values_UNI_jg_values_UNI_jt_values_UNI_lb_values_UNI_nfcqc_values_UNI_nfdqc_values_UNI_nt_values_UNI_nv_values_UNI_sb_values_UNI_sc_values_UNI_vo_values_UNI_wb_values_SCX_AUX_TABLE_ptrs_svshorttypenames_magic_names_svtypenames_dfs_alg_builtins_context_name_Perl_pp_gmtime.dayname_Perl_pp_gmtime.monname_argvout_vtbl_UC_AUX_TABLE_ptrs_TC_AUX_TABLE_ptrs_LC_AUX_TABLE_ptrs_CF_AUX_TABLE_ptrs_IVCF_AUX_TABLE_ptrs_update_functions_category_names__MergedGlobals k kfXU5J@  1libperl.dylibUz>4@bV`QJ wI{ ހ5 o^<.4݇q2>uܹ>q{ZI&2'Do?9~{EJ:] [\I1IpEKIE?6 3v{F\;b0 D <$Ƭ|bJZ{B=gj *l?96@aS {§(-B7DV ֟'L|  ↉G8=id1Gmn_$hUm]aLR r@tQڠB`U|tTw@x0MZJKvbQyy`<o}gWT3Ag`2⭳FVuH,|%Ko(;j튊V{yӾゝX@?e-T*Bh'B0 #Z(YNFN!4\גѰKؓ*:Gjɚliۢڋ]bXͭ=e|~|rcɹ%yx}v#Q>o+W:lbK7m5Kƾw|`]/Vlb%XV fXk"!N*TŹR] Ґkh /m-ݤv&GQw*q*i* s@I(܀pYKtmr& df 7OՂ'eܼU͞^IJ[YA#qCЃtQy^ 렃N6{)o!$%Hʼn352*CMu4}F~?!lO$;6+&^:QYQulxA1+LKm,v x|h}fxyxYĿ4;̨ln5J $>\j8*ΌX8Cg# 膳&Wp*}LѰ.J/K_Ƿʛ 4Cz]5g;-*C|Z<\ށ>n65LSS bXw+yVOb (QJ)δS_>vר,m> d^t̎2M5-*>VtcjW ێn*cor0i.ں9X?xLC|fP uFqՕ+9 ƮdUF&sMݯ+͡z:oHwUHH't%GEېdya[7阼JbZFq%gt96o7n*,n4c] Z_g? \Hp>W4>*w>vV7؇)4zU8Jβ?BPkfCɹqxFdZ=,VIuawp$"'D+ mt=^~k sbg2ZT_$w\pԺsԱ@!{˗Vm{ +PL5 @Omyp7/REk = &(H=  ͆?W#!7;:^Jq-|LI'!y^NGMlI+/o w K' 4%q1otUD%5ol7pl) O|b,xt=`h8︍ {M @OJޞ f HnbT0Rwd - lA*Bk)s[YXCm/_`V}ދ@k/^<{\N ڃf3j MWM|לQ07{?b4>ag:VDn-OƘI0[MJOn.= @7}Os2э,K b(d\yk UdިSc7GsJKl_?"Lm)*aA0znmUɨ'#% B)dwBe^mNk&C=gkм̩ '31e7jC+Tք1H}*nO% qo>@%n|e>xIPym9>"}Hl^*(';Cm=ary`ܯLWMb͉5} .${cy}lݮB:0n=iߚq^DkU3EnEZ='zץʒ]9d>Y?!#(?ԃji.l*43{mA7x|/_+O=yK;O\HkrbHB75JSNZRgDm6, B3GB>opQlc& QS#,СN6ۚI e~sAUBGh4v+K(u'W۸FCGP`F6Т4 n+F8O?:Үsfo\%=퟉ hOf^Sw*T>~Ǫ[I;5>pHhRcTAq Xpw|\*ڣjxCƄ%:%z y7>-=8yZLr(>*TJO})Iaij* 컩:S|u{?IʰﮛЦ(3NV+r뎔O>-QgcT9k pg|q}h㧣TZ95RU꫒Shagz}J gr%"@UiDP5^H(Ivg֬ēꖲw="oc-y uevȝO>1OR$L$a{oZ=uǸu[wlZ(.l~ ȧ2<*ߏn(ZUMvgt#gp&$_N$r>Y6 2QR&c>);0'1?@L&2ߔ93'%&7;G:tg\dMVl'FӤ;7u㥒fJ7)j_C spM[%-!@q-El O6Yo4]#gTgb|z`VFau(o &6jФcr܄~zxj&hZ.S#L巛vŸ?уْJC{!mQٷ-Ne'Br4HH탑: FXږ F̘.BB#TQ#ߏv)R&:fȑ ;*i~: ;]\[[qX BPw]ArYS 9.Ü@!oaD5.W#*D U8!XܜR[ˆ)/*I%.BBj/iTQ  Ǜxm:7nQxJ8Q'* ]}? FE3;mg9K6ntlds5Qk;^aYl||`^+q4*+^hk:# ISph' ąY\uOV`eһjC~6nH^cBIv'L1[luu`+0,M>ƧA~sϱn-2ُ]!D1%c&>V $j[¢xG &o;9`#عiƱ1hvu69_ZpQbe@JLXuk9,zzj-],87`?H!(hΤK آG/IH2[*fSӎH#_ױ_"<)UzrT(ثh9B%!dܟXl 7plQ)M,pd4:WRM]ѷmEGoQ{%ɂ1WȜ}ڟ+6(m遆k\|+CZLrmibnqb&eV췽 _I)Vc4l ,ɿgt9>1$#/ޙ`m?}ZM@1^@s6XF0z[Y6SWxL y #)Hz}_4>M6QczuM?gBqomKd z>a0jcirpa> 1zW#Y0|۱l0T:^7Yg9?P3E_7JZw]y0yl J5<TR,HѦF ]@ > SG ~((bL`գ+JF'PQC14t0W:S Lv64X a}6&E s:?Qpỏ X糬r_=[`#]kQz* 0U­4Q$p{<,{Y{11'-[!/:,bokӞ3;Z`6ݹ>dԢH>LdF+˛ՅmfUD'^G@@tKP;SIZ;ަ%!S ZDR$IaLtM d|Ͱڲ;"@^RvalTMu; 9G|OB{}Yp1_W' KkNnF gh۞6:y1nk6\ VWHyB; RFY4%0ǩ:'բHD%nD<75zZX>2(gvm5fܢߔDKM&R"!|}(7LyWw«`bşeJ@ca(}/OԹgi$O\[aHa bli4:_Н2h3[gs0Zypss544eNii I$R)V2eY|SoƘDj6?)dڋQ,0D`o#uZY)q*D'4xxlpfHcƽ?,!:Wp5x]_˭ɠKN[ !ai-- " \qhPyMC3hO"oWirr-(AhXҧр*)8 PzƬر g<Ν,TXlUɷrHCe7.`Ӈp'4S ʛ>eo{7P_8;ft$hcb'׾n:ftK!WHp畱6S. 6+JDoxՃx~*bGRP;%Vm0H$Y c09Έ8vpn-Nq7!R3h4 CDxlFJ h\7SB? )]7)5́Jz]KhC7FbZUhe:<YŊɩwb Uhh qc tc:n^%b⁚be9/.:%1wr#b[5 XT`L/O!E 7^}#`x܏ rXc\ʸX9aN3g"ɓ+,%)4{R AW$R9a$>0a8@mt՘ Sa*!#-,v^˧X>E$ _l Y:EUBL1JҬ6\вH0<tQմ@[0 %&* iuH+]3L_C]R#5{Y,D=#F iq$$xpK'Ro5їQEԶۅZL%k,FVY؝AFfTԠALF#}fsߋOMn?'7j>nްQ#>TFX7So5}z߉Q10p Ԙj3GTu})o(V3yvMʸӸNg9,Rʂԋ(E[\{@Ҡ(?%(YSk`-kmQ) w.kg*:"Ю` SYnQԍc,KthƏ6,]^@6joZTIfu͵8ꫤϹ4I vy&ٕ^%,\}fKOi+Pua$xǙ ^Cy\&3ed1>wBgU,N!-%j"PV+K`뚷w-Mҁ!f"3 BAHlaQ 8q˾_}rO/N )EZ|*lQq1emeΚn_+Q_6``aYqTc?!I>or Rqr@. +Z"¼;u$@a$ך[Ix|9};ʃ<[mF͜ˡwebkl|ScѾQˢFD|FwKveU@9%7NgтZ E<-[:P[PE)_I(5B"PE)A Au`nOX32VB?8yWum<']yEgk<@Zv\ysa&쳼$AZ ((h9PFeH;c]XܺAD@KHU_/={t' Bi|w w3bq$>J}L~s.$U1̎v-͕]Zt7QK@lp „dԐ40s9`Gxр-Qǧb̀3zO<>rFEЪۨsn!kphew5 lSu?,lw)*-P_:mIhH󾾏qFY f&17j|$b &kueth8݊<l%v,V2̈GR9Gädj}#yH˖{2؛XD="x`G47*c?_a )۪Oh=&)BtIWROt-|;)~?,,hA )v3Svt)QKYf-\Q:-[=,'M) A:|y{P.e*@X5]!]SzLOΖ"Ɨ<ȭ3Ƴ|I 5ÜW ͦi1tRtӌ=Df#>U=W T_.36^fh#6~dx6Wǩ{jl=SKujmQպL`qet%т"LMkfڥƹ(+zr3ެxuIXUҾԼRh ߊ9)-͈%7rq U鯘L$IO,pv@16hx#gD9A㈩ v\Ѩ9@C|Fm8I'{w8þ!+0vՎ>4hvǾbYEuC~!*G㱥h'gGGӇz0[ rGY-m䬳arÛY1kUN5ÀG! ::P(/׹,4\X趡jL,ReO6->j_/MHm봄S0/?c3n[nwvԘ&W8EOie7BNx8vfa^ OA[clp[aAjyr\)^=C~,i:ÃG&;:GἾZ٥8{0YWP8i2)d+EVG\2:rA[.40iB)3gC+I[$G6eIx&k4/N|fҪ,2S[&wVPꓑdBm x'O5 J*@VlKo,B_p UqS@.kIC5fb7WjxR2uN$U~׳zҮs&&7I^ꮞ+SD0>ˌ}V6Jnh0j/dk E%8{ݥn5YøQ#ZQ :`ͽJYֲ?qئzιZ[&},L4B$#q:M/XTO$*Xb]; <¯H"K.m(סtmwϘ|{ѺUس:7&D ?vxS|a$l&g=flcv*B`ho7 eMUmzUF֟$j(ۡc-5 NRgn-[!RyF큧3PYSp!0uoZA$pΈPpkօ5{d"Kmբ@ɧ1K'Sō?,&uH =#ּLHϐ<[UAF| ZdgZ4#-  Ng>+&m͹Qg#ؗ(+JeˍZSvNLKA gZj絾u}.8–]SSW>|%Jc_s!,. i*x (/S\ MW*HƬܟtDz5א'ܲ۔$,Fcanmojaa){U ʷE]*P6Qc2'B0-mBՠF{v#l8na +L^hiutmI >-pAvfs˅pX"S㳲9 O*mDS&<}%ĩ& xBKdfu' r0զ F+*Di͊KV&Z8<Ί05EUF%P:ΐq3@0w/KJa&`Fр?wp cPqcG.kƏ."d5sÏ_S&3lݟ7rz}LA\'kpwո؆/J׽ 1=[29$3% P25-[nSN*N[͡3c$ 6j(lBҺp:7- hؐ40HӱJꟅ4{n˴֪/WUƹuI3!LuxU^?[ L1sRhn;; E<9"_wF(jtr_EJ&M~ i9(뗓: 56r|*]CnefF#`>ߒ:􌰜~o@M=O3V(NJl W*X`7i@3sO%|SƔfV-[GQC.wڒm:^TPzokl+H[A'}1*}90hՠ'E0hH,kW#$('Pxs7 )$w y^#2 8ɠT{"3q'/3O#>Җr[V7=nnk?y"0Xsq1t+ "2Q {s]xjw S;Sw~\6/a"gӪEDLr-$>uj}k9 tT=ӚU_/"G] Qq^9c-`Fv"5 }.1^0v_r݈9"Ŕ>>GR+93o9)]q]7R8J4Z<)XAߪ'Yhv슂fUi8l11&,)AUR_Iacs0WLK5{M(џzmxDuP.){ʁ~,] 9r@v.zNvadBTPPtG ~_,C}ʰ4)1rYsYd봙/_5 9M6|)p|-]H ,HF0GIɳ(?w_p. bFA:pr>QM 2iˎ:dʑf(neŊ\ˆw9U -EC\ҴKWdzYΗ0^ &6\5;,uf++yϾr7lx&IqpͭSBͣ?zJK1U%;h+t{G .7h3( rWuY'uwDHs t-Cb *-dǷ&*ߎzŊrLidrNi+{5k4W ͯtfH妀pyT'}wZoP " ,R;Scݜ#XdE $2cD~^Hl}@єؠ0IB<&9I\u:YXz?{:k괩ʆ}ٚ?U'\ǔ4An<m,=p B[oܓ"eMhdNK,BʕIGS[qP}@3Η)7)k9ni%ۆ.Pxg*qaR?bLD^s킟*#H eve i5==9Qm+b+Vaúgcnqciu |"UAܚNZ 63㔇Oi[yUZIweia^Zzj2bvw}vɬ]T;{-1ʌ,D M-isj~Z(n$H(:ǯ@^-$N*/Uԣu8u)LMlxU浦kWC%#"rkSFftxӬҲadRhCsx0TA ‰86TDf&zjXBr{ Vt|>RcGcxd@>69/p2%^Y {r גxOwlyЀM+ʛ+q Xc 1RT0em\">Q:OeJv'6 QŘ;r< ID7NSn $In$ me^X|y=$B^U 2/*^ou:)}#H!¼!d`M[4Xw7C>2hx+Pď/Y ^,3+-8q;mrx60W/J 7nz|vc=;A^4#MA\\4B}4d<2`Q7&܂X /5vP c' tUӛEw!~o Uf&K|[UO:}f]S#ɧ4?뿙?^b,VxE?vퟧek``r;9{L%0ˬ`N{Nw8Gw`PJl{ IբM-vxdJEMgS^N937!=osm-E$͟'mr + \@%c/u1Ŋ/>V ~DI-LRtMT6:ŭCg q6NXqPG |#U?w/dӇb `%%dJF, Zk. 1M֖xEXk$Tz(dp%:!vey^T 0W#u/ߊWky AS|VʈMuT+:!R1(qt?>) ,v긃uc%-DK0ۻvXxvᘰ" 0&W@]_jK~+ QxNܹ9 2}mYq ,/:;$(ώG?]V{BGK[0qՆ'm+icͯ@y#E;bQ97kEr\9J"Da]|E7km(ظl: l~:P2xZD̈ጪ47ԙM*FC~`⁉Kӿ\t7}Ou۶B}*o!̞UP3B8Ƶ0pn&"Q Ad;U(o'zFp'4r4!uwIZW6 ͱxc3,C_5#ǔCE+~U5,a+ E } =돆h2#A*f!B'ϏgLou8Foώin1!7 /[K:<)m*K:+7J4D @HJ5uʱ" IMe?G_VM?P;[d{ISbDIe^bN]MHBVg(Z+=LUv&n7, !;W.ё}FŸ8^ a6KW4*Qc CKIeݎ=-LzvF:K bn0xv;l]{.{Ae~ߑ j3 rdؾXdF~YӘGDBB&W͏OM_fe _L2OtDF}Yww7*6 ]7f\C>~ k>".+̅$XSUݢJ3?&Riu!Z\|.g! 7mt^~ЀwdVq_LZu"xv[v!N>SXq3C#/CbWZ_vT2pũJgS"S rZ\k[?HK)C̱L4[COgRa2Zٱ%~Ҳ Ys7L(|q]F hK~S&i"z:*ZSK +[Ayū!?߾.D ^;Bp;֑ NR_׌Yz޳{ښ$`  eika*m'A2KR=0z9TT$x=(tZ72;㤢YgTHO\a`"|mv8tM?CyKƫ)1΀f;E 1G/+FCM@9f,e!m^. ?pO=sϓ0Aܼ l3!:h`t7 ']~mHc`w?l${U[Ub{16[j%%J4:AmUO7PGT[ 1cI>ܾW]lE5? a}{:|έ/Gݬ,O3OD('鑳Y^'o/D7Aǎ+Te~HPI&Ͼ 9%F&J܄<'65k#yU6=FE,?~N"G52#m 'N*-EITʞ">- & kpRv:yx|]@!֔ /J(,i btbtX\5>}-Ί5e;&IM)Y9cvdGg,11^{x %e`y3Mpո@WR\*Ђ^0gٽϜ{g;ƲPȃB,Oalc"^tDy7 ïFW l/8i (';nZ=(?P s"ԡQ%5skF+>rٸf-ec؃V V) GZܿws=<DW(]]S$?@w:Xh5G+_'D|_OFn|SdJ:Y|XyF4-qgHot[j_!3`r6>q iz<J2IWaCW *!Q,BW+#!:T`FJ*+ð;474p}"y`;ʓ[7p%a&cZF`|#;!:@3bV$vR {"΋x$;Oe|S X*^HZF{ f7I)$~'%Oԍ~7Twp[)˾) h"diz1L P 3 ^Dc7X~͐[7$0:4!VjѥrO(μ*:1 m9ï8)qГu?G!'=r]gG,HBh) ũ7ZaCpiZl{Ay[?QN1iX٪>7nS\P4Pإ&0 Es'_tǬKUS+,dc n] ǣMMBZ2<3CNǿv;\O:^R]$i흁‼j^iQEᔊƕBKKb~FT>4eR;9ߚތ:RLLqO˿Ѕ +͡+o6n>J/v:BsqZ,/o]V$N ; _ޢ~3o {!WLuNvSǘ$"<ڷqy=Mz!?Nyv*f {.γ8wTㄐTAگ ʥT$&&ecxα[2}^Yٯϝ,9V)eMw~Vn:F=Eg>[cf)('|-@G:$r8LӖKK8QM U@ qlĽz鮤V|p<)iwՓakPo \K)x Iv04O}rLL󋲿?P?/-~C?מwӝa~~$\=V"9s*:\)sI$RChq qȶ>>E 9Cm7jp7I]:ɤ&%i#iɺ!*YȫM52hy&kևЖ6E7k"`e Ye'Z}dơ /FbqRm[]͈e;b{eÂJ {*+ٱ><Zِ|͊;>N{NA y_J'drP[iԇKcxwBzƏO>{J0m{s:ۅ尳Дo{gɠY;9;)x֊e/jƘ i̩>Ԁ\Hg~d֬!<1_P\Kq,ֹ(z P۬&i1 h"p 䝇w"G ѽ!vCg pYd?Vcq˜CyM=kkmESvx_"zn1MG6-)<*rZ*̎3wx'f?*Nθq7P+aa<Ф ω u^6wc1{7~4ߖoUOƐR׶lY͓"Mo.{$LCs@-γ0$l, }VSEc}fm Db@.h v?xyeA22^;iG/K 0ѡDɣ_[mE^7.:'(ӈ49^ϛic. V`0Q)Gp'(rYnʥ%я3=7nrZ[12ioT_TvsLF'C.k6ӣc!677!@sܬ\ktxI7n4B1UlKꕌp &x7MMI#jR(Sy[r P|(]~ށ)U+UJ:}5-sVUuXaaN@OE\`n6盥YNle}?\kTH,e4U\Ĩ²⚳)gβ?H{|jhQ\WYcƉgeeYͥ0iy( t6Kj8t@֠էQMSEz84^(NHH ǨAfg7_r){Ȇ=Mg3Ϩ8UN_3bC^Uw?y !C@3/e} v;IDpTʰbMaMh0=OOP]N&@4%_藘XJ #5Ħ+ *&VZ?7~tڣimP|\9(+/$Pªdavjov=̜K3Wƛh?l~ "/_!XcA^t<^(,fcCY<XcѮg ?gkSM`FT?'g,C@US "% ]ˆ%+X:iB*yRhHKh gvH_n_pOJ>Әd/h0~(:Y[N^9=є齾&/#8:: u ;)[/nJqGEikA>PTh;IXuv@T?2itG_WW0}w@fc؈sĔA/y*cNMRߙa}p!h\4GHZ (/9[g_FP.O6B/%oqP(x =C*HCE4QEQQ&[ eųkO _ۅR7%Gp K^UbªϡwhW%`%XO8ٽVX@%ҿFP ʶ^+zKd-*&!_w5Nf!_w-`b([~tM[B-وdPZ~x1Ezͺ/rj4 ;T ưժb]"Luk[ytxB LZt#ut׬o$X#6d64\,B(1l4[w}mlm:1ՒJȄMBT]!6gNO*wˍ[JC퉬]J? os28_-{ƶEV y{+2Pa[ZIuh%:E)UBGwp8QT?Z x0`hg sx2aFʖs8n*Bp'#Tc΅U6jHE5Ցg C"E$626uHYĂ=5) a!ī..fb c(FKG0^t&Q[ #<^:)+n=wYAGVXL!CJernoY4ї(ڋa-N0޵TCu\xCf2:?$o "AQ|4Z=.~N$5˦xA)ˈy4 U٢4ՋpQ(IB1I7cpd9֟cr+(?'eG@g5}|ߥc ~[qQz-Sf,sZs BBpɀ}>Ӣ%GJArh')6m j LxI|8@3ߡ ^E=ؓ8y^*" >9+S; 'aZ1չ+^e%8=՟N F5;VǶMR|1;qB2-xKl1v @z?wpL o\v]pz/)Y嬁w7OUjMդ.fρ@>dtIJ7c#&9 Tc&(rKNv|:@+itz |+ &#W5gjN}% 0J@Q@ʃ~ w$EPk=PFY\Xick:n)XYfKQF=ǚ'- 5l1-MWkF>+` jrZX&qr㖜YL;"l?oMKzX` ̱T-e*61<~/ "!)O=K3B y_;NxIJ82ݴ!iywi(a/bkir;_T$V[cc "`OmW2 t@:a%z6~~C+8P3}מ9$+H0]_>|1`!2V"5º}6}_Gg%zvKTOB6nlꮐ0%kW:)~sڃbH@f%~2&PZ1lXofkOX||zڽH,XofkOX||zڽH,SՀoe!$ڻLb ?|N~ r$K&.|*fWԵIx$bUf?G)enR^L -.$˩O815$>9+I4 +~ߡ1nKv{xԔz[ꃜJ}Oe{WS^:|VaR/9.s"E훰Y]bYOVeC5f7Ws5Dj,^>L2b~RBM?WlS5TXovonWZ:8اO ۿي 0&`~AdDtVN MҍhhX ^mQT2}!L2t*obiue m]Gu\bqswk4XX՜%1JX?&wxmkkf,Pry-@r> }i!`8PGZ8nM̞9 T a5eȝ#c?J {zE*ZfSUxԎ T:{'9/Dڵ3VG+R2׆?cDodi pi`4{)xuk@ k*:&'=B)ޓ|#,%>(D *N1m7ݰKE9h4tH^.6m GJQgS;#vB3΅︈Q4Yk 7$1fF\e1APkxN,BW;,4'>DE@PTT}?*wuy9n:/nn+#d`xHUdjRP t;)a !S늳vv]7N^铵cP% xVuAPOB0ʂ6DJ0o ոL8v%uk8%@pw DXR:}DI^grInAk"8MJ@~ r6oW:v+*`s0OluChcU]=鿕9Fyŀ8("ܺ?H&Z7kLr%2I/̩tM)F"o: Tw4|-²:ōȻƺc>8STaגZK8px*UL痧~\B_L9/'UNo,=f_@EI?K5\+?p j9X+?"f`iFs]9uvAx)'~k;gmv{5$`0v< ~Lqbc]+72a1A ]m" (KYT|iH]vc\m)$ȇQ* $G}U?3tQ;sBÜΎFe J-ځ(^Q˯6EkM?(%4n=Qݵ g3Ȇsa2X4ntb?vLEu.+ h@50@@($6Tx 0@P\lz"4BN`l~ 0@\l|___chkstk_darwin___error___sprintf_chk___stack_chk_fail___stack_chk_guard___stderrp___strcpy_chk_access_bzero_chmod_close_closedir_environ_execve_execvp_exit_fclose_fopen_fork_fprintf_fread_free_fseek_getpid_getpwuid_getuid_lseek_malloc_memcpy_memmove_mkdir_open_opendir_read_readdir_realloc_rename_rmdir_sprintf_stat_strchr_strcmp_strdup_strlen_strncmp_strrchr_strtok_sysctlbyname_system_unlink_vfprintf_waitpid_write_xleanupurrent_exec%̃eArnameGxbasenamec*diMenv_cleanYfindprog_init_envdmktmpdirjsetup_libpathpar_vp_version_infoܹfinalinitupdateanitise_tmpha__mh_execute_header get_username_from_getpwuid mainpread_magicsx,4 t@ @"? [ be*(:pEMU_Gis} ! " # $$ /% :& E' P( [) f* q+|,-./012345678 9:!;,<7=B>M?X@cAnByCDEFGHIJKLMNO P Q!R!)S"4T"?U#JV#UW$`X$kY%vZ%[&\&]'^'_(`(a)b)c*d*e+f+g,h,i-&j-1k.<l.Gm/Rn/]o0hp0sq1~r1s2t2u3v3w4x4y5z5{6|6}7 ~77L2]8AFYS<<edLnA{KD<BMLh\\vc d$-<Nalz #,39BHQZbirx __mh_execute_header_get_username_from_getpwuid_main_par_basename_par_cleanup_par_current_exec_par_die_par_dirname_par_env_clean_par_findprog_par_init_env_par_mktmpdir_par_setup_libpath_pp_version_info_read_magic_sanitise_tmp_sha_final_sha_init_sha_update___chkstk_darwin___error___sprintf_chk___stack_chk_fail___stack_chk_guard___stderrp___strcpy_chk_access_bzero_chmod_close_closedir_environ_execve_execvp_exit_fclose_fopen_fork_fprintf_fread_free_fseek_getpid_getpwuid_getuid_lseek_malloc_memcpy_memmove_mkdir_open_opendir_read_readdir_realloc_rename_rmdir_sprintf_stat_strchr_strcmp_strdup_strlen_strncmp_strrchr_strtok_sysctlbyname_system_unlink_vfprintf_waitpid_write_par_setenv_par_rmtmpdir_extract_embedded_file_sha_transform_embedded_files_PAR_MAGIC_file00_file01_file00_0_file00_1_file00_2_file01_0_file01_1_file01_2_file01_3_file01_4_file01_5_file01_6_file01_7_file01_8_file01_9_file01_10_file01_11_file01_12_file01_13_file01_14_file01_15_file01_16_file01_17_file01_18_file01_19_file01_20_file01_21_file01_22_file01_23_file01_24_file01_25_file01_26_file01_27_file01_28_file01_29_file01_30_file01_31_file01_32_file01_33_file01_34_file01_35_file01_36_file01_37_file01_38_file01_39_file01_40_file01_41_file01_42_file01_43_file01_44_file01_45_file01_46_file01_47_file01_48_file01_49_file01_50_file01_51_file01_52_file01_53_file01_54_file01_55_file01_56_file01_57_file01_58_file01_59_file01_60_file01_61_file01_62_file01_63_file01_64_file01_65_file01_66_file01_67_file01_68_file01_69_file01_70_file01_71_file01_72_file01_73_file01_74_file01_75_file01_76_file01_77_file01_78_file01_79_file01_80_file01_81_file01_82_file01_83_file01_84_file01_85_file01_86_file01_87_file01_88_file01_89_file01_90_file01_91_file01_92_file01_93_file01_94_file01_95_file01_96_file01_97_file01_98_file01_99_file01_100_file01_101_file01_102_file01_103_file01_104_file01_105_file01_106_file01_107_par_setenv.alloced p p]X8  ;boot4 Խ(l _@b`뤎nG XofkOX||zڽH,XofkOX||zڽH,*egfakH`\3/7 i+:ІɷoO= vߢS 秮ϱſߥ2*'y]K`6 \&-ؖ;?bĂRq~&A_ 0! tdU7Dp"GR9>J"{e8̭XofkOX||zڽH,XofkOX||zڽH,XofkOX||zڽH,es:Jd'X,^5sܻXofkOX||zڽH,XofkOX||zڽH,XofkOX||zڽH,+q+gf[EzR̓@#uXbK"&|NoV3q{!{[qy,`j2PPB۠go˛qF˫Kh/xRQr/ =:bd#(LeB>%" K $#PhOcnZs^ն[sjO9dB.aWQ>ԻIlE>O->A`̞F:Iq%jg>/E֩ ),1.<E-gȓ%9ÙXofkOX||zڽH,XofkOX||zڽH,XofkOX||zڽH,=2#$"w֮c^xY9^)XofkOX||zڽH,XofkOX||zڽH,XofkOX||zڽH, nY=^OY>CF`94}^L}UqZvJ_icp1mz@DnBwg="Y? 7U4BZySq̢g+(wdPQoǃȜڙc9J {3&0^Hg]J^nG0Wޏ^/j>ѭVOFrYӯ Rb42UTfJ׫UۖnI2{oP %CmvbCCkهƫW%;OT"i n7n{2?=}D F`d0C5}9(6Pa8>?H i|^zA(V-%#n <@~1_wRVv MA$|GWw , jjgg;:5K axRyrOΏ73L`|jp@;:W@VOxͯ?{$Ov"NV`.[ضԻ@x QGǷ+X4ݻk/ ^*)g(t#Ә!LSQOɟL l&1aly؋ $pqs$ &ih!b8EnǗ?2s,M2ܢtUݖeJٮ7IΛSč0ުk5hMLӦit5[BO`M~ >nbl`ffr tgs=F@2;_.E} &A\ ZX4X5D 47VNgW}pOI)֌2I7wWp*M9>v2:;/;c;ayTެ 1 V i&tfJ x: N'{++~D gguH.Â}'(iL[.>A~әf+hZ |Ԣ<"aCXl41D8Ν.Ҧj{Mf<$Ɩܴ;9z|ot=KIaZ$+Qk)zYv8Yo?ݥKW=Gā@QUڙ%饧 ΀ ($\, ܮs%U$gC;ɉ ,ۓ}[X5ZD/O S|}՟* Tc%w=IhwpG pIZrZ4ZfXMrE4MP}l)rQv:\"BpfBp/LBIa쬖'. 5g1Aya ;ֵVD@y(3Ϗ*I4uZ{d!g6>W;`&Ca\`U$@/M6\MF8&%[06d1c̡uEFbFCR?k5n,+l75&Gqz̢8D1d]F83{ņQ9q NՋle>dJ~#}4(fkA_E€% (+gBMl+kQt߭Tu8\?RH\]R>H #͛iE{_,"QS@׭+jU6zSNT_NgۉfɕTJ`bk=? W+քhmQ$Kn/(B'%az{|.#ϵDnիF;@m,Ϭhilh߈!.TRh-6/ GLߵf[A]{'﹪$3ëd+%hԳ߽,!uS3c$]bv8h Hh_j==.+95>ƔnXŵxj{@d匆HG7o i%q" ,9EIk1L|Dj{[wO A. F7+ӗ.B7[ CTWB'xCH:/CbadtSLf}~1y-P(/9wLy@)scr\PFmub1hAs-Y90"0*CfrC_OɟiY(I{ 覞{[bZntqZ&+[t}1Kh*:F].h8ʕќ!#C4xg:oD э 1܉{!۾m3 :׾\ij)KHc.j YQ̌T ^};Dؗ{pGڸfd}FZgXI9;ֺj'NPҋی O. UPW{AL]Ok`@'AUY}g7h][^~?rܻpk$ҽŎG]y"g'/&I^O4"0^k3|mOn&>{skߗJ1T\O Pr^7:U1)k1zkE>+.vu~˗{[ې~5 Qy|7+KĸomFRTO#ay(G%NiP(ڣQ_k5,ASr[ݹrlRUy=|ǝPI W_vgX%8\w2˱s|*|M-1b7`wq;M祃hi/&#vM^rԗX$ 損,=PN`I&]ik PuPs6Y ؽv8^%﮴;n+C,nֈKIQf]3 g vtƹy@_%(x/Ir>n4)L8VQva0k#[M-u+Tn7Đܽ#n2sOH3V Bz!&j#+ 1j=k~d|\v)(?d},'"UՅV8JwCW2 iqAi30Du>Q Sq@&oiI##d׉kr'kظe xg!Uses\3-IeE7a`] E&wg0_IߦZrX^ 'hR?$J7щId3n Y.K'ASڐJƔ "+íc`qdwŃ;P|R7G!KJe;i.M Wjn2ev3H{)}(T0ӣr;0-`(Mg,։ )t`vc.ճ:ѣZnb4P/:^ 9 l[zKK$R@ ٕȸdA[:4wۈ)=WeKؿ\.F՜ 4nJ_>hsZ͡G_L Emz225BaC/.]ߎ#MY7 B .e cR09bU߀Wp*{u/û<WE6]FXT T~!a3I |T#t 8Qy#4 X )9|jAJ?ζzܗ67.shҘX .h!zV_vC;S׀~39-4nHHeB_D# Q ~"SE+YI)OR~ȸ:f yC5,; S֣AlN<6sdBB/HfFV}}s͓y b{[fCOr*VZZU'ق)<bJ72lBmɱvT28~z iS4nöz j Dr˯GU3u砹\y7@CS#% pP7F1lAaz6M{fqm/WAlsY򩓱U~,9m&4%U^`aEƗDZ$ij {vE;;D>JƊW8hW ub>aUi{PZ}*H孌 h"pjaJn 09ˁXK0$ ѬT([>KJq:tOwXJYV"4, y؂ͭ Gy!е7;<1y1k:.-Z27Y8d*28y0j)| 6M* 923yWi{q2leR'I$җ5cJL =}(Na ScQS aڿ峞^.DׁdY\MFI~QqoNgفMUsDLݰ<|Mf[Z\_qЁ:ajśZp\2:0""i; t-GJu4 A/.h8e黀ZLl}7%_oL0i0C 5:ýΔyk]PK3eEq"Ä2QA<ޝukuG|(IE$Df [zELYb#x\>Yl$=Bܖ1or|nixөaVcX"?E]Q"dxEr1O_\&wM}JH6[idKχڬ(̃ׯ'ΦQ> tW|lS0%mB3HoEʸttS^zl٨[}9b>%j!VLL^)L=?9R+%ݺXG>AQ#x8c?/vV}E\~BYb!"xp-7?< E  U xBxpqj_5-K:`*!4"y5)=i 9;öZV[qa|R\U'>4L9Y QGctv5=+FF(Nz~I|bi-u+kQ=b̀\cnabQ HyV @3'IbXX++)Ved-8hXCLVng(&P.Q-z_)[ɶ«zcPB۵x縜2M~+FP]#fH*=VjŊ[.+\! >Om3\\76i(𽷲@[Q}-*!"϶ t1Twu\u ] 1ڐOVz37Foң MJ)} w{fC#WcX1tt#o4mHO0vagȜP!tdcъFo+'өh.z2f9i%&g"8c@MdjjRDZ3I ZTfO7? wyhZCdOt$aIV&tT7󦒺EJz!dBnczgcfwq8O-- # 7RJjpb?x-*jgR9I1t0|_hTZ$$rw0(^C e^oѢZ}l~ ꍠ`I<>F5|{<&WNעSo0N'kcr+J< <șx3`:@aƞ ` p-DXtĬxg"tw%pnux 惝b Rm;:A5SgC`+x R<^E ?Oksą K̤P赣wHsTذ=άTlZK\KDS~F" xJNsY$|ɩ# z7IN}Əf\1o+^cu 2R_Fޔc|{]AD"b7:mZSCk9bȾJqϧm.FzwaxNju3Q/i|gjw'h҄J_:0[r  ˁuҥ'pq暕,JWgnzv!0W;m|w)Ko "O[hyPnT>y (NQWV9-G(byQ%}hKxz׶X> `o;m7vFRpȃ,6q~K&N3nm\sZՖ5;2՚ͻ#G n)p!im0_8.\!{gtهD+"r(y]n0ly~Ko Q8GZB\_H0c6.X{wxL2l$lG2<$tfkQާ;-L)@Z|2( \5Ȧc_]+&bb+wA6(|m5Od_szgT'sfl({`1cǭ6)Z8Z33.;1ˮpݘ~|m$_.Ds9 8`|)T=1*^&e[\jjԭ*i+HV]03? )˾%ׅΆ*$.?w.h,BeK56B7rw8bPO3V>k#cɭx@h#KRϻ܅*eع_Gb!CSp!ZAgʺ&f-Ih/7͍ 16rF6pQ0Ӑ%4t$efe<{ ZV Z h-bZ}J] ZF8ゴ{",蚛"]Q#tGK@ V?_|1yU1%dqZs'/ZtkT\*%ݟtɶ,`kь&ÍzyWD0f2VvLdtdv~VI}fh[$ R"Y^1Xi]$YB<,?Mz2ugRx],̥&r\d'|mq8ww@ɇTl%T`h=N"k/ƔlA 5]rNr/[FƤ2Su/[bFU/}ܻ ()GJtE+ծ5ǴF?LIPV/ Cڪzo BЈ;?;UQSģD>*S(uy;a;1 u(J[e*dvcqlq  "u*k%SSaPq/4H_L>f]Ʉv(BkL 7{˔2g9qPP##FkP Dl$fᙫt4r|BH:lV*l7wk&(#@o`}DьLeń1)]ڼl[kdz![%*4 >ilRe'efDWrӻ30%4L 7uSƟQ; 0gCBK~Ȃ'pH}o G$\O%6ƩR`(¯̶No ɖi'^X̕0=1(;S ML t]n.ɘVץQtNP\HNv ,&|t!(f@./f :vFe_\o8$K u]?7ѣ9w .I)⽷~t|2q Kn8䖎 9_Ȕm3a,q/+T9UPM"Iu㶖}Mi^>zO~ ;w| -xYf]DJ^7&fNB:ZR1HJ3pujxltcһ ,{HU} H0 ,lt=2t5>:\%?!荾r0&6uEjXUS#H\5Z[+KS&MnqOZ“̉l7'd!J@X]#α |.EhM?ҴޥJU3iYc}AU1Kk?U^&!f>rHVd_F q/vޤoB>X@g"Hpcl/BmCCB47z+݌dGj"Y&xRk0vO:Df ҉)ZS~"Bk#JqLS|P&c+d)D3Sp-}2O-N$|2U,{3]=fA!#.[??/4{kL:njmSauJF,Df@P0l / NlMڹS蒥#-(U2ky `h50HմTxV,&7}(ݎ^4[/耲KG<+J`n$Fd,g;CX;b<@ƥ_2DS5em6֜&v4o 7}5Rz[ i`-=4ę *E=꪿ѫ+> n`2ˠQpVhVgsqo^~VDrhJLp`nX{y "ݭGU-+ y lp &,\2k}(B^c%@c U!Wa5!%B~$sgY瑂Z5hFVݔ #MhmK냽nՃ+GuI5d"Yķm2\BXdxT/[|F@}wJn-ˑoZ`˜G!OL(dK X+Q[\};{]˞љV.4t9'!."0>/0MEkѝҟb<$KafgNt h 谅'xAsÙ.*[0lޞkLke§M<ތ)Ń4[EvUQA;dXM|^q< @Qx!e 9yaDXI/ khK;N*C2Apuѐ`r2!"f2V\4ԡDY$aڳ$d7?k.r..*z#G\E=?SCA[8ӴǏGso4${UtrWP[y;D=qM&?0l)^1j܋-%# bIt 3k(hj^^:z~c}>!p^e#JN<陚1+xH uZuƍBP-Ja<,}y3yG+[q#PN1YrbN+ Knd;V3gr}q^SUiO daJZzoZ@# 4dAz'EW%A2(%ar͑l}&xL]"Fu"p};yC0{|7vq,Lވ;[=+6oǂ9QLOūzT^vVҘlpI^Byl|{~gB ^鯅Dco&YHN5%žA]D@-@v5袚8 uq@ue! ckT!e֟[>x{(V6e鏴AC_έS1u 0ޱZH/ߊ,7kc:AKTG%aV嘟d~(9Vؘ}}IT9G$&9;Ḫ\n0WqrmLB$϶92eaƲOC{B۷q6cݱ7-Qu^~ԴuhDXN='WޑRֆd@1m`3}Oa 02GRs[^?(FjvҸ~b[?;9+~VSrv@g41@ ,H Ωw96I+7X E*J6Y%zpZq$-z)f[dvr3 T->tol[ҁA#;ϱ1`FIMWxTLjV/j$Yy@Z'^^GlL|trj>7VZy .(|{G~lCQ[~K7eҎi(\&,Z7E>Qfi-s9r4%KQ&$L~juMU2ZjP_$+ބtLJR0ǣb)>iE_e'I Svi\>ȁu<W^ÚJ2GVcSÀpٱw[ky8QH  #Y  J[42P}HIRs^v98 ]Z 9R蛥|b!P•Q+`U?o E;y{9g~*ԶOy |yMY9cDfY˕F;%sQbdd虥Iv >3)ƴ H-|ȴ%|$W]?f=p={A^v<3Дd$jG,~Q'n~mNA>w1eˊR~Lj25Ʉ^_`#wd$'!;Tpl{\oTh;ry|EŮ\_àG\kBudw} 14_EI$~;L ?#pՉ-X%s}SL+XURU?飕3J`cMdDnY`I+)>@d78Xw.pPUgPp}^27w_=-jV.sl%Gy~!w1훔Vp4*x(" ?kKC=0#EXAX@ i,S[0dMNNv}L@|aّs#4[_֬h й H3Qvv)A`bSX`B=%"e.pPLqvj|{CwOnRuPXdڢ&A3}w5tTGPcyJ{Ƈ!W#Hi]h NW2%h߾]򤸿HzM_>\45|R>mr6+â猛a$v$K &}HʗzZ.#^!1զB!Ō]=ȌX.l~sÖqf-bopq /*"T}79,p:Os[1cTTB$R^O8MSf85ǪZ Ye6ХY/L {&OƝDD%pȼ*A o5VDfLsO˛Qs, ց9)rdT@'j"}_9lhCnαl26β:@=DɷѯhVq5WumOx#Ux(?F8dѪ%үu zt82YʶQHk1,HbD 8TJd k%,XKfqǢ+s<@KW7,N tJBz+$l@ Ñ2u#ylMlGzalWzIGo`j#!cG=W*/J{G&*'b"D]4ؤS*)KH9'jS%et{M95`a6Lp' D6YXd;aR<<>kI]e |иRv7\I#e!cLGaU3xˊۇhL תN4j6Gdt&"8%=i1lR*}Ua`Mryp (^V{t?JDKN YV>鮻nR7zB4Zj-.]$S,U9zaG;l%`&?]~MwX5(^_"hLyE~yP#gO1 ,x >K.?4 "53_˧bg6uӐ
    Y?TjQZQ$CDa8RŽ$Y~zZW%CXכԘ MSS˙-K ӟjiP@1eCr]lE5N& YG[ʪk*xb2^"tƂuOVSi(mxvx/QZa_؂DDL O8@]r,_0*;mqŋI5-<&ޔp!Ro魲:(v͵q;S H[D} v"d;McRԧꛤ:G#, ~ IBa1 ,#va~۳ΩOS*Б70\va{9>uOaևsG" zJfN\}8 E{9I`O-*- %p:<}L.S*v_fPt.Ct[x7 8^5C%?辋ozx!P)gST@Sh23ԟ$g?Ͼ)zߔ޿2:ߺ/O}dK&2ͷ˚^9&WZ~\#ʈ8i :Р>XR68vfQ6u +zOzFe{ h6,cћU%wSגcDrjT$^FXmD5l cOgWW79 ။z0hDs@kN} 旈U:TC@T+$uEI^k!,xىEox/&?v@3+BTqִDm–Fց2 MP}f}=C>3*@9 滆\muB5F4B̖b*,-@?BfmM\=K곃rtT`xt}^gp8b֢LF=jJk1Qp0ȯp+0$5 1dpDL_"}xQs+1po~qHAib+1>ՑMlE?bdefulSŮT#_2$gpHt^3"d l"Hb*mjՓǒ?1˿SnQ:TPTl&umO%2N<$SKr:ꝕRGwbK{Gc8} _hO3oœ@yJpK1Xa׵o93 ǀ4T\}KAn'R#YJXtI&8URv߽.(sԑre C801mEbN# 5y|`ŬE8j9dWG3ylUD8n+EEZ.>ޮ4G(q E1Sӽ^Jޫ(3L(*d{럔!uV=cKC qת>,.պ}ST1-[~*f[%3 s08M=2rC[؂ƳV9qUKFxeO1?#1ɟh݋ [yl8Bm(!J8=[#b!fΉ=dC7&?h'W~4pə=#[^漐'|L̨DRHE3fҼA|׊!5nf}.ĥ*(ssHt}#bPhN1;G%~k6)ED0uiĄ R;- ؽ&5u{<L(5nin%d;TbUȝW7|0^F>'$j& .d0K; p!Otf-J5);j4? 3m ut]cAټ/Ls< )*3+g5ѕ"϶l4nS˖EtVjDȉDI7pq/A ;Mhd"=SU}m>"K9cn!n RON%$3x֊R<tNӳZž!T-l8+~ä"|DSiXM6Ep:ңnAY_8\TFE5B*J?tX_35KKkhlb2XڴJRYVvHvTn~t@sCx#挎5O>oL,m`H(&lG_o*\^zYD>ܸK7om=w* \mG KI R! +X/Al"/w3+25;A`3ߡ3zhiHGeī'VSX9,֡i0/hhvµWK䪁wB1;\t;Ȯ4aLrGX>o$ d) 0s|P^Z#i# (&.|р$\ꈭ]u{@@#Xha~fR `:~E7Jrt ZbfaIkÙE%T ٦tzkgh`.3E۲19;d3 Pei]F4StS[8ewv3W4`LB?l1 xbOl 7`ex-Z(g`(6w1>aBHjbnHHӸpS%N_ZAޫ8+ಸa~$Y2ƛY=Aq0wUGdR5/N]0olQqeOG}/xD7&#FN᝷h8xB5XClX#kAv7do 'n 5l'DV$x@JٞL,-\5OInrRBa4fTslLR\47ڨ}qP~X96NCBI@g! %xgy29: R`2F$/ `%+`H%~[IJd+P1f̀byӤ[&m=?X+Rs4(dӇS}cV 7_E@4*11w zOf/ $ae!hmßC|s 9ΝUsKCbQGfw$8解E*[TAOqkЅel+3֤{Enڲ3FD9|ONiQ~H2Q,vBrӡ!o}qE]%ΦLR|xt#lj x%Q朡#_p|$º[/#$Kj1ƲKj%jn;W-i^!>k_5j6K΃^(s[@|C 6"X1*o r1j;x"9:|K ZR oo#[x9qc7uGBBDnu@S]ܡUF!ᇩ8PM R1BbaȇRtԭp fV1'GGbSR|ugbUA[m}Yu,E]oGњ3Z\vi#/&кkC/]vDkdۼ_lehv]wS  ۠qy=ayhݍ3T';7{ wl{U|Ěq$G (e$xB_ܪEKcmEɮ]1H&튾NX,ecT[{EPyJ7@1-ۊ68Gso7[ I»g.nni z|u8,F)gkd Zș}tqD, o͟/Zmҋsj$! 2ΊlY"Q| Ͽ k$1}D4a.+G3 E.)Rkx?88\6 7_|C+~'ţ4-Kzx4 +]_+ɾbX/%RZNVO:-R#, )թ*!^Mr' 𭜤ǟ-w.RTtMjN$ˆMߝ\\`7 zп py]ɂ w4SMtV(?kg7:kxX9=({84Z?NNa>gd|B؈ MC#B+8z3q nc)n.M8;{,-o~TMe2x.N^֟-L1I"9ŭv4ftl*2Ko9Hm:Фkt.许q/E;G9Zȭ8l fqN8/()O~ԉv59•\:Uo2 X-\ s~ px+c'/Ier%3FË[Zޚ,QQ>{hYߗ5"+uQra.ĵ* ?bGvx~]T-:'nc#"T)cvG;5(-\E:}Ojىtq3k3, ,qbX=ǭX}lECP\ 6LHZttCaWXofkOX||zڽH,XofkOX||zڽH,q&#Ž*I! !iBurMF#oU`߸3=aw_wwne"FILE'0feac68e/IO/Compress/Adapter/Deflate.pmpackage IO::Compress::Adapter::Deflate ; use strict; use warnings; use bytes; use IO::Compress::Base::Common 2.204 qw(:Status); use Compress::Raw::Zlib 2.204 qw( !crc32 !adler32 ) ; require Exporter; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, @EXPORT, %DEFLATE_CONSTANTS); $VERSION = '2.204'; @ISA = qw(Exporter); @EXPORT_OK = @Compress::Raw::Zlib::DEFLATE_CONSTANTS; %EXPORT_TAGS = %Compress::Raw::Zlib::DEFLATE_CONSTANTS; @EXPORT = @EXPORT_OK; %DEFLATE_CONSTANTS = %EXPORT_TAGS ; sub mkCompObject { my $crc32 = shift ; my $adler32 = shift ; my $level = shift ; my $strategy = shift ; my ($def, $status) = Compress::Raw::Zlib::Deflate->new( -AppendOutput => 1, -CRC32 => $crc32, -ADLER32 => $adler32, -Level => $level, -Strategy => $strategy, -WindowBits => - MAX_WBITS); return (undef, "Cannot create Deflate object: $status", $status) if $status != Z_OK; return bless {'Def' => $def, 'Error' => '', } ; } sub mkCompObject1 { my $crc32 = shift ; my $adler32 = shift ; my $level = shift ; my $strategy = shift ; my ($def, $status) = Compress::Raw::Zlib::Deflate->new( -AppendOutput => 1, -CRC32 => $crc32, -ADLER32 => $adler32, -Level => $level, -Strategy => $strategy, -WindowBits => MAX_WBITS); return (undef, "Cannot create Deflate object: $status", $status) if $status != Z_OK; return bless {'Def' => $def, 'Error' => '', } ; } sub compr { my $self = shift ; my $def = $self->{Def}; my $status = $def->deflate($_[0], $_[1]) ; $self->{ErrorNo} = $status; if ($status != Z_OK) { $self->{Error} = "Deflate Error: $status"; return STATUS_ERROR; } return STATUS_OK; } sub flush { my $self = shift ; my $def = $self->{Def}; my $opt = $_[1] || Z_FINISH; my $status = $def->flush($_[0], $opt); $self->{ErrorNo} = $status; if ($status != Z_OK) { $self->{Error} = "Deflate Error: $status"; return STATUS_ERROR; } return STATUS_OK; } sub close { my $self = shift ; my $def = $self->{Def}; $def->flush($_[0], Z_FINISH) if defined $def ; } sub reset { my $self = shift ; my $def = $self->{Def}; my $status = $def->deflateReset() ; $self->{ErrorNo} = $status; if ($status != Z_OK) { $self->{Error} = "Deflate Error: $status"; return STATUS_ERROR; } return STATUS_OK; } sub deflateParams { my $self = shift ; my $def = $self->{Def}; my $status = $def->deflateParams(@_); $self->{ErrorNo} = $status; if ($status != Z_OK) { $self->{Error} = "deflateParams Error: $status"; return STATUS_ERROR; } return STATUS_OK; } #sub total_out #{ # my $self = shift ; # $self->{Def}->total_out(); #} # #sub total_in #{ # my $self = shift ; # $self->{Def}->total_in(); #} sub compressedBytes { my $self = shift ; $self->{Def}->compressedBytes(); } sub uncompressedBytes { my $self = shift ; $self->{Def}->uncompressedBytes(); } sub crc32 { my $self = shift ; $self->{Def}->crc32(); } sub adler32 { my $self = shift ; $self->{Def}->adler32(); } 1; __END__ FILE6c0dc0cf/FileHandle.pmpackage FileHandle; use 5.006; use strict; our($VERSION, @ISA, @EXPORT, @EXPORT_OK); $VERSION = "2.05"; require IO::File; @ISA = qw(IO::File); @EXPORT = qw(_IOFBF _IOLBF _IONBF); @EXPORT_OK = qw( pipe autoflush output_field_separator output_record_separator input_record_separator input_line_number format_page_number format_lines_per_page format_lines_left format_name format_top_name format_line_break_characters format_formfeed print printf getline getlines ); # # Everything we're willing to export, we must first import. # IO::Handle->import( grep { !defined(&$_) } @EXPORT, @EXPORT_OK ); # # Some people call "FileHandle::function", so all the functions # that were in the old FileHandle class must be imported, too. # { no strict 'refs'; my %import = ( 'IO::Handle' => [qw(DESTROY new_from_fd fdopen close fileno getc ungetc gets eof flush error clearerr setbuf setvbuf _open_mode_string)], 'IO::Seekable' => [qw(seek tell getpos setpos)], 'IO::File' => [qw(new new_tmpfile open)] ); for my $pkg (keys %import) { for my $func (@{$import{$pkg}}) { my $c = *{"${pkg}::$func"}{CODE} or die "${pkg}::$func missing"; *$func = $c; } } } # # Specialized importer for Fcntl magic. # sub import { my $pkg = shift; my $callpkg = caller; require Exporter; Exporter::export($pkg, $callpkg, @_); # # If the Fcntl extension is available, # export its constants. # eval { require Fcntl; Exporter::export('Fcntl', $callpkg); }; } ################################################ # This is the only exported function we define; # the rest come from other classes. # sub pipe { my $r = IO::Handle->new; my $w = IO::Handle->new; CORE::pipe($r, $w) or return undef; ($r, $w); } # Rebless standard file handles bless *STDIN{IO}, "FileHandle" if ref *STDIN{IO} eq "IO::Handle"; bless *STDOUT{IO}, "FileHandle" if ref *STDOUT{IO} eq "IO::Handle"; bless *STDERR{IO}, "FileHandle" if ref *STDERR{IO} eq "IO::Handle"; 1; __END__ =head1 NAME FileHandle - supply object methods for filehandles =head1 SYNOPSIS use FileHandle; my $fh = FileHandle->new; if ($fh->open("< file")) { print <$fh>; $fh->close; } my $fh = FileHandle->new("> FOO"); if (defined $fh) { print $fh "bar\n"; $fh->close; } my $fh = FileHandle->new("file", "r"); if (defined $fh) { print <$fh>; undef $fh; # automatically closes the file } my $fh = FileHandle->new("file", O_WRONLY|O_APPEND); if (defined $fh) { print $fh "corge\n"; undef $fh; # automatically closes the file } my $pos = $fh->getpos; $fh->setpos($pos); $fh->setvbuf(my $buffer_var, _IOLBF, 1024); my ($readfh, $writefh) = FileHandle::pipe; autoflush STDOUT 1; =head1 DESCRIPTION NOTE: This class is now a front-end to the IO::* classes. C creates a C, which is a reference to a newly created symbol (see the L package). If it receives any parameters, they are passed to C; if the open fails, the C object is destroyed. Otherwise, it is returned to the caller. C creates a C like C does. It requires two parameters, which are passed to C; if the fdopen fails, the C object is destroyed. Otherwise, it is returned to the caller. C accepts one parameter or two. With one parameter, it is just a front end for the built-in C function. With two parameters, the first parameter is a filename that may include whitespace or other special characters, and the second parameter is the open mode, optionally followed by a file permission value. If C receives a Perl mode string (">", "+<", etc.) or a POSIX fopen() mode string ("w", "r+", etc.), it uses the basic Perl C operator. If C is given a numeric mode, it passes that mode and the optional permissions value to the Perl C operator. For convenience, C tries to import the O_XXX constants from the Fcntl module. If dynamic loading is not available, this may fail, but the rest of FileHandle will still work. C is like C except that its first parameter is not a filename but rather a file handle name, a FileHandle object, or a file descriptor number. If the C functions fgetpos() and fsetpos() are available, then C returns an opaque value that represents the current position of the FileHandle, and C uses that value to return to a previously visited position. If the C function setvbuf() is available, then C sets the buffering policy for the FileHandle. The calling sequence for the Perl function is the same as its C counterpart, including the macros C<_IOFBF>, C<_IOLBF>, and C<_IONBF>, except that the buffer parameter specifies a scalar variable to use as a buffer. WARNING: A variable used as a buffer by C must not be modified in any way until the FileHandle is closed or until C is called again, or memory corruption may result! See L for complete descriptions of each of the following supported C methods, which are just front ends for the corresponding built-in functions: close fileno getc gets eof clearerr seek tell See L for complete descriptions of each of the following supported C methods: autoflush output_field_separator output_record_separator input_record_separator input_line_number format_page_number format_lines_per_page format_lines_left format_name format_top_name format_line_break_characters format_formfeed Furthermore, for doing normal I/O you might need these: =over 4 =item $fh->print See L. =item $fh->printf See L. =item $fh->getline This works like <$fh> described in L except that it's more readable and can be safely called in a list context but still returns just one line. =item $fh->getlines This works like <$fh> when called in a list context to read all the remaining lines in a file, except that it's more readable. It will also croak() if accidentally called in a scalar context. =back There are many other functions available since FileHandle is descended from IO::File, IO::Seekable, and IO::Handle. Please see those respective pages for documentation on more functions. =head1 SEE ALSO The B extension, L, L. =cut FILE66058cac/File/Temp.pm]package File::Temp; # git description: v0.2310-3-gc7148fe # ABSTRACT: return name and handle of a temporary file safely our $VERSION = '0.2311'; #pod =begin :__INTERNALS #pod #pod =head1 PORTABILITY #pod #pod This section is at the top in order to provide easier access to #pod porters. It is not expected to be rendered by a standard pod #pod formatting tool. Please skip straight to the SYNOPSIS section if you #pod are not trying to port this module to a new platform. #pod #pod This module is designed to be portable across operating systems and it #pod currently supports Unix, VMS, DOS, OS/2, Windows and Mac OS #pod (Classic). When porting to a new OS there are generally three main #pod issues that have to be solved: #pod #pod =over 4 #pod #pod =item * #pod #pod Can the OS unlink an open file? If it can not then the #pod C<_can_unlink_opened_file> method should be modified. #pod #pod =item * #pod #pod Are the return values from C reliable? By default all the #pod return values from C are compared when unlinking a temporary #pod file using the filename and the handle. Operating systems other than #pod unix do not always have valid entries in all fields. If utility function #pod C fails then the C comparison should be #pod modified accordingly. #pod #pod =item * #pod #pod Security. Systems that can not support a test for the sticky bit #pod on a directory can not use the MEDIUM and HIGH security tests. #pod The C<_can_do_level> method should be modified accordingly. #pod #pod =back #pod #pod =end :__INTERNALS #pod #pod =head1 SYNOPSIS #pod #pod use File::Temp qw/ tempfile tempdir /; #pod #pod $fh = tempfile(); #pod ($fh, $filename) = tempfile(); #pod #pod ($fh, $filename) = tempfile( $template, DIR => $dir); #pod ($fh, $filename) = tempfile( $template, SUFFIX => '.dat'); #pod ($fh, $filename) = tempfile( $template, TMPDIR => 1 ); #pod #pod binmode( $fh, ":utf8" ); #pod #pod $dir = tempdir( CLEANUP => 1 ); #pod ($fh, $filename) = tempfile( DIR => $dir ); #pod #pod Object interface: #pod #pod require File::Temp; #pod use File::Temp (); #pod use File::Temp qw/ :seekable /; #pod #pod $fh = File::Temp->new(); #pod $fname = $fh->filename; #pod #pod $fh = File::Temp->new(TEMPLATE => $template); #pod $fname = $fh->filename; #pod #pod $tmp = File::Temp->new( UNLINK => 0, SUFFIX => '.dat' ); #pod print $tmp "Some data\n"; #pod print "Filename is $tmp\n"; #pod $tmp->seek( 0, SEEK_END ); #pod #pod $dir = File::Temp->newdir(); # CLEANUP => 1 by default #pod #pod The following interfaces are provided for compatibility with #pod existing APIs. They should not be used in new code. #pod #pod MkTemp family: #pod #pod use File::Temp qw/ :mktemp /; #pod #pod ($fh, $file) = mkstemp( "tmpfileXXXXX" ); #pod ($fh, $file) = mkstemps( "tmpfileXXXXXX", $suffix); #pod #pod $tmpdir = mkdtemp( $template ); #pod #pod $unopened_file = mktemp( $template ); #pod #pod POSIX functions: #pod #pod use File::Temp qw/ :POSIX /; #pod #pod $file = tmpnam(); #pod $fh = tmpfile(); #pod #pod ($fh, $file) = tmpnam(); #pod #pod Compatibility functions: #pod #pod $unopened_file = File::Temp::tempnam( $dir, $pfx ); #pod #pod =head1 DESCRIPTION #pod #pod C can be used to create and open temporary files in a safe #pod way. There is both a function interface and an object-oriented #pod interface. The File::Temp constructor or the tempfile() function can #pod be used to return the name and the open filehandle of a temporary #pod file. The tempdir() function can be used to create a temporary #pod directory. #pod #pod The security aspect of temporary file creation is emphasized such that #pod a filehandle and filename are returned together. This helps guarantee #pod that a race condition can not occur where the temporary file is #pod created by another process between checking for the existence of the #pod file and its opening. Additional security levels are provided to #pod check, for example, that the sticky bit is set on world writable #pod directories. See L<"safe_level"> for more information. #pod #pod For compatibility with popular C library functions, Perl implementations of #pod the mkstemp() family of functions are provided. These are, mkstemp(), #pod mkstemps(), mkdtemp() and mktemp(). #pod #pod Additionally, implementations of the standard L #pod tmpnam() and tmpfile() functions are provided if required. #pod #pod Implementations of mktemp(), tmpnam(), and tempnam() are provided, #pod but should be used with caution since they return only a filename #pod that was valid when function was called, so cannot guarantee #pod that the file will not exist by the time the caller opens the filename. #pod #pod Filehandles returned by these functions support the seekable methods. #pod #pod =cut # Toolchain targets v5.8.1, but we'll try to support back to v5.6 anyway. # It might be possible to make this v5.5, but many v5.6isms are creeping # into the code and tests. use 5.006; use strict; use Carp; use File::Spec 0.8; use Cwd (); use File::Path 2.06 qw/ rmtree /; use Fcntl 1.03; use IO::Seekable; # For SEEK_* use Errno; use Scalar::Util 'refaddr'; require VMS::Stdio if $^O eq 'VMS'; # pre-emptively load Carp::Heavy. If we don't when we run out of file # handles and attempt to call croak() we get an error message telling # us that Carp::Heavy won't load rather than an error telling us we # have run out of file handles. We either preload croak() or we # switch the calls to croak from _gettemp() to use die. eval { require Carp::Heavy; }; # Need the Symbol package if we are running older perl require Symbol if $] < 5.006; ### For the OO interface use parent 0.221 qw/ IO::Handle IO::Seekable /; use overload '""' => "STRINGIFY", '0+' => "NUMIFY", fallback => 1; our $DEBUG = 0; our $KEEP_ALL = 0; # We are exporting functions use Exporter 5.57 'import'; # 5.57 lets us import 'import' # Export list - to allow fine tuning of export table our @EXPORT_OK = qw{ tempfile tempdir tmpnam tmpfile mktemp mkstemp mkstemps mkdtemp unlink0 cleanup SEEK_SET SEEK_CUR SEEK_END }; # Groups of functions for export our %EXPORT_TAGS = ( 'POSIX' => [qw/ tmpnam tmpfile /], 'mktemp' => [qw/ mktemp mkstemp mkstemps mkdtemp/], 'seekable' => [qw/ SEEK_SET SEEK_CUR SEEK_END /], ); # add contents of these tags to @EXPORT Exporter::export_tags('POSIX','mktemp','seekable'); # This is a list of characters that can be used in random filenames my @CHARS = (qw/ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9 _ /); # Maximum number of tries to make a temp file before failing use constant MAX_TRIES => 1000; # Minimum number of X characters that should be in a template use constant MINX => 4; # Default template when no template supplied use constant TEMPXXX => 'X' x 10; # Constants for the security level use constant STANDARD => 0; use constant MEDIUM => 1; use constant HIGH => 2; # OPENFLAGS. If we defined the flag to use with Sysopen here this gives # us an optimisation when many temporary files are requested my $OPENFLAGS = O_CREAT | O_EXCL | O_RDWR; my $LOCKFLAG; unless ($^O eq 'MacOS') { for my $oflag (qw/ NOFOLLOW BINARY LARGEFILE NOINHERIT /) { my ($bit, $func) = (0, "Fcntl::O_" . $oflag); no strict 'refs'; $OPENFLAGS |= $bit if eval { # Make sure that redefined die handlers do not cause problems # e.g. CGI::Carp local $SIG{__DIE__} = sub {}; local $SIG{__WARN__} = sub {}; $bit = &$func(); 1; }; } # Special case O_EXLOCK $LOCKFLAG = eval { local $SIG{__DIE__} = sub {}; local $SIG{__WARN__} = sub {}; &Fcntl::O_EXLOCK(); }; } # On some systems the O_TEMPORARY flag can be used to tell the OS # to automatically remove the file when it is closed. This is fine # in most cases but not if tempfile is called with UNLINK=>0 and # the filename is requested -- in the case where the filename is to # be passed to another routine. This happens on windows. We overcome # this by using a second open flags variable my $OPENTEMPFLAGS = $OPENFLAGS; unless ($^O eq 'MacOS') { for my $oflag (qw/ TEMPORARY /) { my ($bit, $func) = (0, "Fcntl::O_" . $oflag); local($@); no strict 'refs'; $OPENTEMPFLAGS |= $bit if eval { # Make sure that redefined die handlers do not cause problems # e.g. CGI::Carp local $SIG{__DIE__} = sub {}; local $SIG{__WARN__} = sub {}; $bit = &$func(); 1; }; } } # Private hash tracking which files have been created by each process id via the OO interface my %FILES_CREATED_BY_OBJECT; # INTERNAL ROUTINES - not to be used outside of package # Generic routine for getting a temporary filename # modelled on OpenBSD _gettemp() in mktemp.c # The template must contain X's that are to be replaced # with the random values # Arguments: # TEMPLATE - string containing the XXXXX's that is converted # to a random filename and opened if required # Optionally, a hash can also be supplied containing specific options # "open" => if true open the temp file, else just return the name # default is 0 # "mkdir"=> if true, we are creating a temp directory rather than tempfile # default is 0 # "suffixlen" => number of characters at end of PATH to be ignored. # default is 0. # "unlink_on_close" => indicates that, if possible, the OS should remove # the file as soon as it is closed. Usually indicates # use of the O_TEMPORARY flag to sysopen. # Usually irrelevant on unix # "use_exlock" => Indicates that O_EXLOCK should be used. Default is false. # "file_permissions" => file permissions for sysopen(). Default is 0600. # Optionally a reference to a scalar can be passed into the function # On error this will be used to store the reason for the error # "ErrStr" => \$errstr # "open" and "mkdir" can not both be true # "unlink_on_close" is not used when "mkdir" is true. # The default options are equivalent to mktemp(). # Returns: # filehandle - open file handle (if called with doopen=1, else undef) # temp name - name of the temp file or directory # For example: # ($fh, $name) = _gettemp($template, "open" => 1); # for the current version, failures are associated with # stored in an error string and returned to give the reason whilst debugging # This routine is not called by any external function sub _gettemp { croak 'Usage: ($fh, $name) = _gettemp($template, OPTIONS);' unless scalar(@_) >= 1; # the internal error string - expect it to be overridden # Need this in case the caller decides not to supply us a value # need an anonymous scalar my $tempErrStr; # Default options my %options = ( "open" => 0, "mkdir" => 0, "suffixlen" => 0, "unlink_on_close" => 0, "use_exlock" => 0, "ErrStr" => \$tempErrStr, "file_permissions" => undef, ); # Read the template my $template = shift; if (ref($template)) { # Use a warning here since we have not yet merged ErrStr carp "File::Temp::_gettemp: template must not be a reference"; return (); } # Check that the number of entries on stack are even if (scalar(@_) % 2 != 0) { # Use a warning here since we have not yet merged ErrStr carp "File::Temp::_gettemp: Must have even number of options"; return (); } # Read the options and merge with defaults %options = (%options, @_) if @_; # Make sure the error string is set to undef ${$options{ErrStr}} = undef; # Can not open the file and make a directory in a single call if ($options{"open"} && $options{"mkdir"}) { ${$options{ErrStr}} = "doopen and domkdir can not both be true\n"; return (); } # Find the start of the end of the Xs (position of last X) # Substr starts from 0 my $start = length($template) - 1 - $options{"suffixlen"}; # Check that we have at least MINX x X (e.g. 'XXXX") at the end of the string # (taking suffixlen into account). Any fewer is insecure. # Do it using substr - no reason to use a pattern match since # we know where we are looking and what we are looking for if (substr($template, $start - MINX + 1, MINX) ne 'X' x MINX) { ${$options{ErrStr}} = "The template must end with at least ". MINX . " 'X' characters\n"; return (); } # Replace all the X at the end of the substring with a # random character or just all the XX at the end of a full string. # Do it as an if, since the suffix adjusts which section to replace # and suffixlen=0 returns nothing if used in the substr directly # and generate a full path from the template my $path = _replace_XX($template, $options{"suffixlen"}); # Split the path into constituent parts - eventually we need to check # whether the directory exists # We need to know whether we are making a temp directory # or a tempfile my ($volume, $directories, $file); my $parent; # parent directory if ($options{"mkdir"}) { # There is no filename at the end ($volume, $directories, $file) = File::Spec->splitpath( $path, 1); # The parent is then $directories without the last directory # Split the directory and put it back together again my @dirs = File::Spec->splitdir($directories); # If @dirs only has one entry (i.e. the directory template) that means # we are in the current directory if ($#dirs == 0) { $parent = File::Spec->curdir; } else { if ($^O eq 'VMS') { # need volume to avoid relative dir spec $parent = File::Spec->catdir($volume, @dirs[0..$#dirs-1]); $parent = 'sys$disk:[]' if $parent eq ''; } else { # Put it back together without the last one $parent = File::Spec->catdir(@dirs[0..$#dirs-1]); # ...and attach the volume (no filename) $parent = File::Spec->catpath($volume, $parent, ''); } } } else { # Get rid of the last filename (use File::Basename for this?) ($volume, $directories, $file) = File::Spec->splitpath( $path ); # Join up without the file part $parent = File::Spec->catpath($volume,$directories,''); # If $parent is empty replace with curdir $parent = File::Spec->curdir unless $directories ne ''; } # Check that the parent directories exist # Do this even for the case where we are simply returning a name # not a file -- no point returning a name that includes a directory # that does not exist or is not writable unless (-e $parent) { ${$options{ErrStr}} = "Parent directory ($parent) does not exist"; return (); } unless (-d $parent) { ${$options{ErrStr}} = "Parent directory ($parent) is not a directory"; return (); } # Check the stickiness of the directory and chown giveaway if required # If the directory is world writable the sticky bit # must be set if (File::Temp->safe_level == MEDIUM) { my $safeerr; unless (_is_safe($parent,\$safeerr)) { ${$options{ErrStr}} = "Parent directory ($parent) is not safe ($safeerr)"; return (); } } elsif (File::Temp->safe_level == HIGH) { my $safeerr; unless (_is_verysafe($parent, \$safeerr)) { ${$options{ErrStr}} = "Parent directory ($parent) is not safe ($safeerr)"; return (); } } my $perms = $options{file_permissions}; my $has_perms = defined $perms; $perms = 0600 unless $has_perms; # Now try MAX_TRIES time to open the file for (my $i = 0; $i < MAX_TRIES; $i++) { # Try to open the file if requested if ($options{"open"}) { my $fh; # If we are running before perl5.6.0 we can not auto-vivify if ($] < 5.006) { $fh = &Symbol::gensym; } # Try to make sure this will be marked close-on-exec # XXX: Win32 doesn't respect this, nor the proper fcntl, # but may have O_NOINHERIT. This may or may not be in Fcntl. local $^F = 2; # Attempt to open the file my $open_success = undef; if ( $^O eq 'VMS' and $options{"unlink_on_close"} && !$KEEP_ALL) { # make it auto delete on close by setting FAB$V_DLT bit $fh = VMS::Stdio::vmssysopen($path, $OPENFLAGS, $perms, 'fop=dlt'); $open_success = $fh; } else { my $flags = ( ($options{"unlink_on_close"} && !$KEEP_ALL) ? $OPENTEMPFLAGS : $OPENFLAGS ); $flags |= $LOCKFLAG if (defined $LOCKFLAG && $options{use_exlock}); $open_success = sysopen($fh, $path, $flags, $perms); } if ( $open_success ) { # in case of odd umask force rw chmod($perms, $path) unless $has_perms; # Opened successfully - return file handle and name return ($fh, $path); } else { # Error opening file - abort with error # if the reason was anything but EEXIST unless ($!{EEXIST}) { ${$options{ErrStr}} = "Could not create temp file $path: $!"; return (); } # Loop round for another try } } elsif ($options{"mkdir"}) { # Open the temp directory if (mkdir( $path, 0700)) { # in case of odd umask chmod(0700, $path); return undef, $path; } else { # Abort with error if the reason for failure was anything # except EEXIST unless ($!{EEXIST}) { ${$options{ErrStr}} = "Could not create directory $path: $!"; return (); } # Loop round for another try } } else { # Return true if the file can not be found # Directory has been checked previously return (undef, $path) unless -e $path; # Try again until MAX_TRIES } # Did not successfully open the tempfile/dir # so try again with a different set of random letters # No point in trying to increment unless we have only # 1 X say and the randomness could come up with the same # file MAX_TRIES in a row. # Store current attempt - in principle this implies that the # 3rd time around the open attempt that the first temp file # name could be generated again. Probably should store each # attempt and make sure that none are repeated my $original = $path; my $counter = 0; # Stop infinite loop my $MAX_GUESS = 50; do { # Generate new name from original template $path = _replace_XX($template, $options{"suffixlen"}); $counter++; } until ($path ne $original || $counter > $MAX_GUESS); # Check for out of control looping if ($counter > $MAX_GUESS) { ${$options{ErrStr}} = "Tried to get a new temp name different to the previous value $MAX_GUESS times.\nSomething wrong with template?? ($template)"; return (); } } # If we get here, we have run out of tries ${ $options{ErrStr} } = "Have exceeded the maximum number of attempts (" . MAX_TRIES . ") to open temp file/dir"; return (); } # Internal routine to replace the XXXX... with random characters # This has to be done by _gettemp() every time it fails to # open a temp file/dir # Arguments: $template (the template with XXX), # $ignore (number of characters at end to ignore) # Returns: modified template sub _replace_XX { croak 'Usage: _replace_XX($template, $ignore)' unless scalar(@_) == 2; my ($path, $ignore) = @_; # Do it as an if, since the suffix adjusts which section to replace # and suffixlen=0 returns nothing if used in the substr directly # Alternatively, could simply set $ignore to length($path)-1 # Don't want to always use substr when not required though. my $end = ( $] >= 5.006 ? "\\z" : "\\Z" ); if ($ignore) { substr($path, 0, - $ignore) =~ s/X(?=X*$end)/$CHARS[ int( rand( @CHARS ) ) ]/ge; } else { $path =~ s/X(?=X*$end)/$CHARS[ int( rand( @CHARS ) ) ]/ge; } return $path; } # Internal routine to force a temp file to be writable after # it is created so that we can unlink it. Windows seems to occasionally # force a file to be readonly when written to certain temp locations sub _force_writable { my $file = shift; chmod 0600, $file; } # internal routine to check to see if the directory is safe # First checks to see if the directory is not owned by the # current user or root. Then checks to see if anyone else # can write to the directory and if so, checks to see if # it has the sticky bit set # Will not work on systems that do not support sticky bit #Args: directory path to check # Optionally: reference to scalar to contain error message # Returns true if the path is safe and false otherwise. # Returns undef if can not even run stat() on the path # This routine based on version written by Tom Christiansen # Presumably, by the time we actually attempt to create the # file or directory in this directory, it may not be safe # anymore... Have to run _is_safe directly after the open. sub _is_safe { my $path = shift; my $err_ref = shift; # Stat path my @info = stat($path); unless (scalar(@info)) { $$err_ref = "stat(path) returned no values"; return 0; } ; return 1 if $^O eq 'VMS'; # owner delete control at file level # Check to see whether owner is neither superuser (or a system uid) nor me # Use the effective uid from the $> variable # UID is in [4] if ($info[4] > File::Temp->top_system_uid() && $info[4] != $>) { Carp::cluck(sprintf "uid=$info[4] topuid=%s euid=$> path='$path'", File::Temp->top_system_uid()); $$err_ref = "Directory owned neither by root nor the current user" if ref($err_ref); return 0; } # check whether group or other can write file # use 066 to detect either reading or writing # use 022 to check writability # Do it with S_IWOTH and S_IWGRP for portability (maybe) # mode is in info[2] if (($info[2] & &Fcntl::S_IWGRP) || # Is group writable? ($info[2] & &Fcntl::S_IWOTH) ) { # Is world writable? # Must be a directory unless (-d $path) { $$err_ref = "Path ($path) is not a directory" if ref($err_ref); return 0; } # Must have sticky bit set unless (-k $path) { $$err_ref = "Sticky bit not set on $path when dir is group|world writable" if ref($err_ref); return 0; } } return 1; } # Internal routine to check whether a directory is safe # for temp files. Safer than _is_safe since it checks for # the possibility of chown giveaway and if that is a possibility # checks each directory in the path to see if it is safe (with _is_safe) # If _PC_CHOWN_RESTRICTED is not set, does the full test of each # directory anyway. # Takes optional second arg as scalar ref to error reason sub _is_verysafe { # Need POSIX - but only want to bother if really necessary due to overhead require POSIX; my $path = shift; print "_is_verysafe testing $path\n" if $DEBUG; return 1 if $^O eq 'VMS'; # owner delete control at file level my $err_ref = shift; # Should Get the value of _PC_CHOWN_RESTRICTED if it is defined # and If it is not there do the extensive test local($@); my $chown_restricted; $chown_restricted = &POSIX::_PC_CHOWN_RESTRICTED() if eval { &POSIX::_PC_CHOWN_RESTRICTED(); 1}; # If chown_resticted is set to some value we should test it if (defined $chown_restricted) { # Return if the current directory is safe return _is_safe($path,$err_ref) if POSIX::sysconf( $chown_restricted ); } # To reach this point either, the _PC_CHOWN_RESTRICTED symbol # was not available or the symbol was there but chown giveaway # is allowed. Either way, we now have to test the entire tree for # safety. # Convert path to an absolute directory if required unless (File::Spec->file_name_is_absolute($path)) { $path = File::Spec->rel2abs($path); } # Split directory into components - assume no file my ($volume, $directories, undef) = File::Spec->splitpath( $path, 1); # Slightly less efficient than having a function in File::Spec # to chop off the end of a directory or even a function that # can handle ../ in a directory tree # Sometimes splitdir() returns a blank at the end # so we will probably check the bottom directory twice in some cases my @dirs = File::Spec->splitdir($directories); # Concatenate one less directory each time around foreach my $pos (0.. $#dirs) { # Get a directory name my $dir = File::Spec->catpath($volume, File::Spec->catdir(@dirs[0.. $#dirs - $pos]), '' ); print "TESTING DIR $dir\n" if $DEBUG; # Check the directory return 0 unless _is_safe($dir,$err_ref); } return 1; } # internal routine to determine whether unlink works on this # platform for files that are currently open. # Returns true if we can, false otherwise. # Currently WinNT, OS/2 and VMS can not unlink an opened file # On VMS this is because the O_EXCL flag is used to open the # temporary file. Currently I do not know enough about the issues # on VMS to decide whether O_EXCL is a requirement. sub _can_unlink_opened_file { if (grep $^O eq $_, qw/MSWin32 os2 VMS dos MacOS haiku/) { return 0; } else { return 1; } } # internal routine to decide which security levels are allowed # see safe_level() for more information on this # Controls whether the supplied security level is allowed # $cando = _can_do_level( $level ) sub _can_do_level { # Get security level my $level = shift; # Always have to be able to do STANDARD return 1 if $level == STANDARD; # Currently, the systems that can do HIGH or MEDIUM are identical if ( $^O eq 'MSWin32' || $^O eq 'os2' || $^O eq 'cygwin' || $^O eq 'dos' || $^O eq 'MacOS' || $^O eq 'mpeix') { return 0; } else { return 1; } } # This routine sets up a deferred unlinking of a specified # filename and filehandle. It is used in the following cases: # - Called by unlink0 if an opened file can not be unlinked # - Called by tempfile() if files are to be removed on shutdown # - Called by tempdir() if directories are to be removed on shutdown # Arguments: # _deferred_unlink( $fh, $fname, $isdir ); # # - filehandle (so that it can be explicitly closed if open # - filename (the thing we want to remove) # - isdir (flag to indicate that we are being given a directory) # [and hence no filehandle] # Status is not referred to since all the magic is done with an END block { # Will set up two lexical variables to contain all the files to be # removed. One array for files, another for directories They will # only exist in this block. # This means we only have to set up a single END block to remove # all files. # in order to prevent child processes inadvertently deleting the parent # temp files we use a hash to store the temp files and directories # created by a particular process id. # %files_to_unlink contains values that are references to an array of # array references containing the filehandle and filename associated with # the temp file. my (%files_to_unlink, %dirs_to_unlink); # Set up an end block to use these arrays END { local($., $@, $!, $^E, $?); cleanup(at_exit => 1); } # Cleanup function. Always triggered on END (with at_exit => 1) but # can be invoked manually. sub cleanup { my %h = @_; my $at_exit = delete $h{at_exit}; $at_exit = 0 if not defined $at_exit; { my @k = sort keys %h; die "unrecognized parameters: @k" if @k } if (!$KEEP_ALL) { # Files my @files = (exists $files_to_unlink{$$} ? @{ $files_to_unlink{$$} } : () ); foreach my $file (@files) { # close the filehandle without checking its state # in order to make real sure that this is closed # if its already closed then I don't care about the answer # probably a better way to do this close($file->[0]); # file handle is [0] if (-f $file->[1]) { # file name is [1] _force_writable( $file->[1] ); # for windows unlink $file->[1] or warn "Error removing ".$file->[1]; } } # Dirs my @dirs = (exists $dirs_to_unlink{$$} ? @{ $dirs_to_unlink{$$} } : () ); my ($cwd, $cwd_to_remove); foreach my $dir (@dirs) { if (-d $dir) { # Some versions of rmtree will abort if you attempt to remove # the directory you are sitting in. For automatic cleanup # at program exit, we avoid this by chdir()ing out of the way # first. If not at program exit, it's best not to mess with the # current directory, so just let it fail with a warning. if ($at_exit) { $cwd = Cwd::abs_path(File::Spec->curdir) if not defined $cwd; my $abs = Cwd::abs_path($dir); if ($abs eq $cwd) { $cwd_to_remove = $dir; next; } } eval { rmtree($dir, $DEBUG, 0); }; warn $@ if ($@ && $^W); } } if (defined $cwd_to_remove) { # We do need to clean up the current directory, and everything # else is done, so get out of there and remove it. chdir $cwd_to_remove or die "cannot chdir to $cwd_to_remove: $!"; my $updir = File::Spec->updir; chdir $updir or die "cannot chdir to $updir: $!"; eval { rmtree($cwd_to_remove, $DEBUG, 0); }; warn $@ if ($@ && $^W); } # clear the arrays @{ $files_to_unlink{$$} } = () if exists $files_to_unlink{$$}; @{ $dirs_to_unlink{$$} } = () if exists $dirs_to_unlink{$$}; } } # This is the sub called to register a file for deferred unlinking # This could simply store the input parameters and defer everything # until the END block. For now we do a bit of checking at this # point in order to make sure that (1) we have a file/dir to delete # and (2) we have been called with the correct arguments. sub _deferred_unlink { croak 'Usage: _deferred_unlink($fh, $fname, $isdir)' unless scalar(@_) == 3; my ($fh, $fname, $isdir) = @_; warn "Setting up deferred removal of $fname\n" if $DEBUG; # make sure we save the absolute path for later cleanup # OK to untaint because we only ever use this internally # as a file path, never interpolating into the shell $fname = Cwd::abs_path($fname); ($fname) = $fname =~ /^(.*)$/; # If we have a directory, check that it is a directory if ($isdir) { if (-d $fname) { # Directory exists so store it # first on VMS turn []foo into [.foo] for rmtree $fname = VMS::Filespec::vmspath($fname) if $^O eq 'VMS'; $dirs_to_unlink{$$} = [] unless exists $dirs_to_unlink{$$}; push (@{ $dirs_to_unlink{$$} }, $fname); } else { carp "Request to remove directory $fname could not be completed since it does not exist!\n" if $^W; } } else { if (-f $fname) { # file exists so store handle and name for later removal $files_to_unlink{$$} = [] unless exists $files_to_unlink{$$}; push(@{ $files_to_unlink{$$} }, [$fh, $fname]); } else { carp "Request to remove file $fname could not be completed since it is not there!\n" if $^W; } } } } # normalize argument keys to upper case and do consistent handling # of leading template vs TEMPLATE sub _parse_args { my $leading_template = (scalar(@_) % 2 == 1 ? shift(@_) : '' ); my %args = @_; %args = map +(uc($_) => $args{$_}), keys %args; # template (store it in an array so that it will # disappear from the arg list of tempfile) my @template = ( exists $args{TEMPLATE} ? $args{TEMPLATE} : $leading_template ? $leading_template : () ); delete $args{TEMPLATE}; return( \@template, \%args ); } #pod =head1 OBJECT-ORIENTED INTERFACE #pod #pod This is the primary interface for interacting with #pod C. Using the OO interface a temporary file can be created #pod when the object is constructed and the file can be removed when the #pod object is no longer required. #pod #pod Note that there is no method to obtain the filehandle from the #pod C object. The object itself acts as a filehandle. The object #pod isa C and isa C so all those methods are #pod available. #pod #pod Also, the object is configured such that it stringifies to the name of the #pod temporary file and so can be compared to a filename directly. It numifies #pod to the C the same as other handles and so can be compared to other #pod handles with C<==>. #pod #pod $fh eq $filename # as a string #pod $fh != \*STDOUT # as a number #pod #pod Available since 0.14. #pod #pod =over 4 #pod #pod =item B #pod #pod Create a temporary file object. #pod #pod my $tmp = File::Temp->new(); #pod #pod by default the object is constructed as if C #pod was called without options, but with the additional behaviour #pod that the temporary file is removed by the object destructor #pod if UNLINK is set to true (the default). #pod #pod Supported arguments are the same as for C: UNLINK #pod (defaulting to true), DIR, EXLOCK, PERMS and SUFFIX. #pod Additionally, the filename #pod template is specified using the TEMPLATE option. The OPEN option #pod is not supported (the file is always opened). #pod #pod $tmp = File::Temp->new( TEMPLATE => 'tempXXXXX', #pod DIR => 'mydir', #pod SUFFIX => '.dat'); #pod #pod Arguments are case insensitive. #pod #pod Can call croak() if an error occurs. #pod #pod Available since 0.14. #pod #pod TEMPLATE available since 0.23 #pod #pod =cut sub new { my $proto = shift; my $class = ref($proto) || $proto; my ($maybe_template, $args) = _parse_args(@_); # see if they are unlinking (defaulting to yes) my $unlink = (exists $args->{UNLINK} ? $args->{UNLINK} : 1 ); delete $args->{UNLINK}; # Protect OPEN delete $args->{OPEN}; # Open the file and retain file handle and file name my ($fh, $path) = tempfile( @$maybe_template, %$args ); print "Tmp: $fh - $path\n" if $DEBUG; # Store the filename in the scalar slot ${*$fh} = $path; # Cache the filename by pid so that the destructor can decide whether to remove it $FILES_CREATED_BY_OBJECT{$$}{$path} = 1; # Store unlink information in hash slot (plus other constructor info) %{*$fh} = %$args; # create the object bless $fh, $class; # final method-based configuration $fh->unlink_on_destroy( $unlink ); return $fh; } #pod =item B #pod #pod Create a temporary directory using an object oriented interface. #pod #pod $dir = File::Temp->newdir(); #pod #pod By default the directory is deleted when the object goes out of scope. #pod #pod Supports the same options as the C function. Note that directories #pod created with this method default to CLEANUP => 1. #pod #pod $dir = File::Temp->newdir( $template, %options ); #pod #pod A template may be specified either with a leading template or #pod with a TEMPLATE argument. #pod #pod Available since 0.19. #pod #pod TEMPLATE available since 0.23. #pod #pod =cut sub newdir { my $self = shift; my ($maybe_template, $args) = _parse_args(@_); # handle CLEANUP without passing CLEANUP to tempdir my $cleanup = (exists $args->{CLEANUP} ? $args->{CLEANUP} : 1 ); delete $args->{CLEANUP}; my $tempdir = tempdir( @$maybe_template, %$args); # get a safe absolute path for cleanup, just like # happens in _deferred_unlink my $real_dir = Cwd::abs_path( $tempdir ); ($real_dir) = $real_dir =~ /^(.*)$/; return bless { DIRNAME => $tempdir, REALNAME => $real_dir, CLEANUP => $cleanup, LAUNCHPID => $$, }, "File::Temp::Dir"; } #pod =item B #pod #pod Return the name of the temporary file associated with this object #pod (if the object was created using the "new" constructor). #pod #pod $filename = $tmp->filename; #pod #pod This method is called automatically when the object is used as #pod a string. #pod #pod Current API available since 0.14 #pod #pod =cut sub filename { my $self = shift; return ${*$self}; } sub STRINGIFY { my $self = shift; return $self->filename; } # For reference, can't use '0+'=>\&Scalar::Util::refaddr directly because # refaddr() demands one parameter only, whereas overload.pm calls with three # even for unary operations like '0+'. sub NUMIFY { return refaddr($_[0]); } #pod =item B #pod #pod Return the name of the temporary directory associated with this #pod object (if the object was created using the "newdir" constructor). #pod #pod $dirname = $tmpdir->dirname; #pod #pod This method is called automatically when the object is used in string context. #pod #pod =item B #pod #pod Control whether the file is unlinked when the object goes out of scope. #pod The file is removed if this value is true and $KEEP_ALL is not. #pod #pod $fh->unlink_on_destroy( 1 ); #pod #pod Default is for the file to be removed. #pod #pod Current API available since 0.15 #pod #pod =cut sub unlink_on_destroy { my $self = shift; if (@_) { ${*$self}{UNLINK} = shift; } return ${*$self}{UNLINK}; } #pod =item B #pod #pod When the object goes out of scope, the destructor is called. This #pod destructor will attempt to unlink the file (using L) #pod if the constructor was called with UNLINK set to 1 (the default state #pod if UNLINK is not specified). #pod #pod No error is given if the unlink fails. #pod #pod If the object has been passed to a child process during a fork, the #pod file will be deleted when the object goes out of scope in the parent. #pod #pod For a temporary directory object the directory will be removed unless #pod the CLEANUP argument was used in the constructor (and set to false) or #pod C was modified after creation. Note that if a temp #pod directory is your current directory, it cannot be removed - a warning #pod will be given in this case. C out of the directory before #pod letting the object go out of scope. #pod #pod If the global variable $KEEP_ALL is true, the file or directory #pod will not be removed. #pod #pod =cut sub DESTROY { local($., $@, $!, $^E, $?); my $self = shift; # Make sure we always remove the file from the global hash # on destruction. This prevents the hash from growing uncontrollably # and post-destruction there is no reason to know about the file. my $file = $self->filename; my $was_created_by_proc; if (exists $FILES_CREATED_BY_OBJECT{$$}{$file}) { $was_created_by_proc = 1; delete $FILES_CREATED_BY_OBJECT{$$}{$file}; } if (${*$self}{UNLINK} && !$KEEP_ALL) { print "# ---------> Unlinking $self\n" if $DEBUG; # only delete if this process created it return unless $was_created_by_proc; # The unlink1 may fail if the file has been closed # by the caller. This leaves us with the decision # of whether to refuse to remove the file or simply # do an unlink without test. Seems to be silly # to do this when we are trying to be careful # about security _force_writable( $file ); # for windows unlink1( $self, $file ) or unlink($file); } } #pod =back #pod #pod =head1 FUNCTIONS #pod #pod This section describes the recommended interface for generating #pod temporary files and directories. #pod #pod =over 4 #pod #pod =item B #pod #pod This is the basic function to generate temporary files. #pod The behaviour of the file can be changed using various options: #pod #pod $fh = tempfile(); #pod ($fh, $filename) = tempfile(); #pod #pod Create a temporary file in the directory specified for temporary #pod files, as specified by the tmpdir() function in L. #pod #pod ($fh, $filename) = tempfile($template); #pod #pod Create a temporary file in the current directory using the supplied #pod template. Trailing `X' characters are replaced with random letters to #pod generate the filename. At least four `X' characters must be present #pod at the end of the template. #pod #pod ($fh, $filename) = tempfile($template, SUFFIX => $suffix) #pod #pod Same as previously, except that a suffix is added to the template #pod after the `X' translation. Useful for ensuring that a temporary #pod filename has a particular extension when needed by other applications. #pod But see the WARNING at the end. #pod #pod ($fh, $filename) = tempfile($template, DIR => $dir); #pod #pod Translates the template as before except that a directory name #pod is specified. #pod #pod ($fh, $filename) = tempfile($template, TMPDIR => 1); #pod #pod Equivalent to specifying a DIR of "File::Spec->tmpdir", writing the file #pod into the same temporary directory as would be used if no template was #pod specified at all. #pod #pod ($fh, $filename) = tempfile($template, UNLINK => 1); #pod #pod Return the filename and filehandle as before except that the file is #pod automatically removed when the program exits (dependent on #pod $KEEP_ALL). Default is for the file to be removed if a file handle is #pod requested and to be kept if the filename is requested. In a scalar #pod context (where no filename is returned) the file is always deleted #pod either (depending on the operating system) on exit or when it is #pod closed (unless $KEEP_ALL is true when the temp file is created). #pod #pod Use the object-oriented interface if fine-grained control of when #pod a file is removed is required. #pod #pod If the template is not specified, a template is always #pod automatically generated. This temporary file is placed in tmpdir() #pod (L) unless a directory is specified explicitly with the #pod DIR option. #pod #pod $fh = tempfile( DIR => $dir ); #pod #pod If called in scalar context, only the filehandle is returned and the #pod file will automatically be deleted when closed on operating systems #pod that support this (see the description of tmpfile() elsewhere in this #pod document). This is the preferred mode of operation, as if you only #pod have a filehandle, you can never create a race condition by fumbling #pod with the filename. On systems that can not unlink an open file or can #pod not mark a file as temporary when it is opened (for example, Windows #pod NT uses the C flag) the file is marked for deletion when #pod the program ends (equivalent to setting UNLINK to 1). The C #pod flag is ignored if present. #pod #pod (undef, $filename) = tempfile($template, OPEN => 0); #pod #pod This will return the filename based on the template but #pod will not open this file. Cannot be used in conjunction with #pod UNLINK set to true. Default is to always open the file #pod to protect from possible race conditions. A warning is issued #pod if warnings are turned on. Consider using the tmpnam() #pod and mktemp() functions described elsewhere in this document #pod if opening the file is not required. #pod #pod To open the temporary filehandle with O_EXLOCK (open with exclusive #pod file lock) use C<< EXLOCK=>1 >>. This is supported only by some #pod operating systems (most notably BSD derived systems). By default #pod EXLOCK will be false. Former C versions set EXLOCK to #pod true, so to be sure to get an unlocked filehandle also with older #pod versions, explicitly set C<< EXLOCK=>0 >>. #pod #pod ($fh, $filename) = tempfile($template, EXLOCK => 1); #pod #pod By default, the temp file is created with 0600 file permissions. #pod Use C to change this: #pod #pod ($fh, $filename) = tempfile($template, PERMS => 0666); #pod #pod Options can be combined as required. #pod #pod Will croak() if there is an error. #pod #pod Available since 0.05. #pod #pod UNLINK flag available since 0.10. #pod #pod TMPDIR flag available since 0.19. #pod #pod EXLOCK flag available since 0.19. #pod #pod PERMS flag available since 0.2310. #pod #pod =cut sub tempfile { if ( @_ && $_[0] eq 'File::Temp' ) { croak "'tempfile' can't be called as a method"; } # Can not check for argument count since we can have any # number of args # Default options my %options = ( "DIR" => undef, # Directory prefix "SUFFIX" => '', # Template suffix "UNLINK" => 0, # Do not unlink file on exit "OPEN" => 1, # Open file "TMPDIR" => 0, # Place tempfile in tempdir if template specified "EXLOCK" => 0, # Open file with O_EXLOCK "PERMS" => undef, # File permissions ); # Check to see whether we have an odd or even number of arguments my ($maybe_template, $args) = _parse_args(@_); my $template = @$maybe_template ? $maybe_template->[0] : undef; # Read the options and merge with defaults %options = (%options, %$args); # First decision is whether or not to open the file if (! $options{"OPEN"}) { warn "tempfile(): temporary filename requested but not opened.\nPossibly unsafe, consider using tempfile() with OPEN set to true\n" if $^W; } if ($options{"DIR"} and $^O eq 'VMS') { # on VMS turn []foo into [.foo] for concatenation $options{"DIR"} = VMS::Filespec::vmspath($options{"DIR"}); } # Construct the template # Have a choice of trying to work around the mkstemp/mktemp/tmpnam etc # functions or simply constructing a template and using _gettemp() # explicitly. Go for the latter # First generate a template if not defined and prefix the directory # If no template must prefix the temp directory if (defined $template) { # End up with current directory if neither DIR not TMPDIR are set if ($options{"DIR"}) { $template = File::Spec->catfile($options{"DIR"}, $template); } elsif ($options{TMPDIR}) { $template = File::Spec->catfile(_wrap_file_spec_tmpdir(), $template ); } } else { if ($options{"DIR"}) { $template = File::Spec->catfile($options{"DIR"}, TEMPXXX); } else { $template = File::Spec->catfile(_wrap_file_spec_tmpdir(), TEMPXXX); } } # Now add a suffix $template .= $options{"SUFFIX"}; # Determine whether we should tell _gettemp to unlink the file # On unix this is irrelevant and can be worked out after the file is # opened (simply by unlinking the open filehandle). On Windows or VMS # we have to indicate temporary-ness when we open the file. In general # we only want a true temporary file if we are returning just the # filehandle - if the user wants the filename they probably do not # want the file to disappear as soon as they close it (which may be # important if they want a child process to use the file) # For this reason, tie unlink_on_close to the return context regardless # of OS. my $unlink_on_close = ( wantarray ? 0 : 1); # Create the file my ($fh, $path, $errstr); croak "Error in tempfile() using template $template: $errstr" unless (($fh, $path) = _gettemp($template, "open" => $options{OPEN}, "mkdir" => 0, "unlink_on_close" => $unlink_on_close, "suffixlen" => length($options{SUFFIX}), "ErrStr" => \$errstr, "use_exlock" => $options{EXLOCK}, "file_permissions" => $options{PERMS}, ) ); # Set up an exit handler that can do whatever is right for the # system. This removes files at exit when requested explicitly or when # system is asked to unlink_on_close but is unable to do so because # of OS limitations. # The latter should be achieved by using a tied filehandle. # Do not check return status since this is all done with END blocks. _deferred_unlink($fh, $path, 0) if $options{"UNLINK"}; # Return if (wantarray()) { if ($options{'OPEN'}) { return ($fh, $path); } else { return (undef, $path); } } else { # Unlink the file. It is up to unlink0 to decide what to do with # this (whether to unlink now or to defer until later) unlink0($fh, $path) or croak "Error unlinking file $path using unlink0"; # Return just the filehandle. return $fh; } } # On Windows under taint mode, File::Spec could suggest "C:\" as a tempdir # which might not be writable. If that is the case, we fallback to a # user directory. See https://rt.cpan.org/Ticket/Display.html?id=60340 { my ($alt_tmpdir, $checked); sub _wrap_file_spec_tmpdir { return File::Spec->tmpdir unless $^O eq "MSWin32" && ${^TAINT}; if ( $checked ) { return $alt_tmpdir ? $alt_tmpdir : File::Spec->tmpdir; } # probe what File::Spec gives and find a fallback my $xxpath = _replace_XX( "X" x 10, 0 ); # First, see if File::Spec->tmpdir is writable my $tmpdir = File::Spec->tmpdir; my $testpath = File::Spec->catdir( $tmpdir, $xxpath ); if (mkdir( $testpath, 0700) ) { $checked = 1; rmdir $testpath; return $tmpdir; } # Next, see if CSIDL_LOCAL_APPDATA is writable require Win32; my $local_app = File::Spec->catdir( Win32::GetFolderPath( Win32::CSIDL_LOCAL_APPDATA() ), 'Temp' ); $testpath = File::Spec->catdir( $local_app, $xxpath ); if ( -e $local_app or mkdir( $local_app, 0700 ) ) { if (mkdir( $testpath, 0700) ) { $checked = 1; rmdir $testpath; return $alt_tmpdir = $local_app; } } # Can't find something writable croak << "HERE"; Couldn't find a writable temp directory in taint mode. Tried: $tmpdir $local_app Try setting and untainting the TMPDIR environment variable. HERE } } #pod =item B #pod #pod This is the recommended interface for creation of temporary #pod directories. By default the directory will not be removed on exit #pod (that is, it won't be temporary; this behaviour can not be changed #pod because of issues with backwards compatibility). To enable removal #pod either use the CLEANUP option which will trigger removal on program #pod exit, or consider using the "newdir" method in the object interface which #pod will allow the directory to be cleaned up when the object goes out of #pod scope. #pod #pod The behaviour of the function depends on the arguments: #pod #pod $tempdir = tempdir(); #pod #pod Create a directory in tmpdir() (see L). #pod #pod $tempdir = tempdir( $template ); #pod #pod Create a directory from the supplied template. This template is #pod similar to that described for tempfile(). `X' characters at the end #pod of the template are replaced with random letters to construct the #pod directory name. At least four `X' characters must be in the template. #pod #pod $tempdir = tempdir ( DIR => $dir ); #pod #pod Specifies the directory to use for the temporary directory. #pod The temporary directory name is derived from an internal template. #pod #pod $tempdir = tempdir ( $template, DIR => $dir ); #pod #pod Prepend the supplied directory name to the template. The template #pod should not include parent directory specifications itself. Any parent #pod directory specifications are removed from the template before #pod prepending the supplied directory. #pod #pod $tempdir = tempdir ( $template, TMPDIR => 1 ); #pod #pod Using the supplied template, create the temporary directory in #pod a standard location for temporary files. Equivalent to doing #pod #pod $tempdir = tempdir ( $template, DIR => File::Spec->tmpdir); #pod #pod but shorter. Parent directory specifications are stripped from the #pod template itself. The C option is ignored if C is set #pod explicitly. Additionally, C is implied if neither a template #pod nor a directory are supplied. #pod #pod $tempdir = tempdir( $template, CLEANUP => 1); #pod #pod Create a temporary directory using the supplied template, but #pod attempt to remove it (and all files inside it) when the program #pod exits. Note that an attempt will be made to remove all files from #pod the directory even if they were not created by this module (otherwise #pod why ask to clean it up?). The directory removal is made with #pod the rmtree() function from the L module. #pod Of course, if the template is not specified, the temporary directory #pod will be created in tmpdir() and will also be removed at program exit. #pod #pod Will croak() if there is an error. #pod #pod Current API available since 0.05. #pod #pod =cut # ' sub tempdir { if ( @_ && $_[0] eq 'File::Temp' ) { croak "'tempdir' can't be called as a method"; } # Can not check for argument count since we can have any # number of args # Default options my %options = ( "CLEANUP" => 0, # Remove directory on exit "DIR" => '', # Root directory "TMPDIR" => 0, # Use tempdir with template ); # Check to see whether we have an odd or even number of arguments my ($maybe_template, $args) = _parse_args(@_); my $template = @$maybe_template ? $maybe_template->[0] : undef; # Read the options and merge with defaults %options = (%options, %$args); # Modify or generate the template # Deal with the DIR and TMPDIR options if (defined $template) { # Need to strip directory path if using DIR or TMPDIR if ($options{'TMPDIR'} || $options{'DIR'}) { # Strip parent directory from the filename # # There is no filename at the end $template = VMS::Filespec::vmspath($template) if $^O eq 'VMS'; my ($volume, $directories, undef) = File::Spec->splitpath( $template, 1); # Last directory is then our template $template = (File::Spec->splitdir($directories))[-1]; # Prepend the supplied directory or temp dir if ($options{"DIR"}) { $template = File::Spec->catdir($options{"DIR"}, $template); } elsif ($options{TMPDIR}) { # Prepend tmpdir $template = File::Spec->catdir(_wrap_file_spec_tmpdir(), $template); } } } else { if ($options{"DIR"}) { $template = File::Spec->catdir($options{"DIR"}, TEMPXXX); } else { $template = File::Spec->catdir(_wrap_file_spec_tmpdir(), TEMPXXX); } } # Create the directory my $tempdir; my $suffixlen = 0; if ($^O eq 'VMS') { # dir names can end in delimiters $template =~ m/([\.\]:>]+)$/; $suffixlen = length($1); } if ( ($^O eq 'MacOS') && (substr($template, -1) eq ':') ) { # dir name has a trailing ':' ++$suffixlen; } my $errstr; croak "Error in tempdir() using $template: $errstr" unless ((undef, $tempdir) = _gettemp($template, "open" => 0, "mkdir"=> 1 , "suffixlen" => $suffixlen, "ErrStr" => \$errstr, ) ); # Install exit handler; must be dynamic to get lexical if ( $options{'CLEANUP'} && -d $tempdir) { _deferred_unlink(undef, $tempdir, 1); } # Return the dir name return $tempdir; } #pod =back #pod #pod =head1 MKTEMP FUNCTIONS #pod #pod The following functions are Perl implementations of the #pod mktemp() family of temp file generation system calls. #pod #pod =over 4 #pod #pod =item B #pod #pod Given a template, returns a filehandle to the temporary file and the name #pod of the file. #pod #pod ($fh, $name) = mkstemp( $template ); #pod #pod In scalar context, just the filehandle is returned. #pod #pod The template may be any filename with some number of X's appended #pod to it, for example F. The trailing X's are replaced #pod with unique alphanumeric combinations. #pod #pod Will croak() if there is an error. #pod #pod Current API available since 0.05. #pod #pod =cut sub mkstemp { croak "Usage: mkstemp(template)" if scalar(@_) != 1; my $template = shift; my ($fh, $path, $errstr); croak "Error in mkstemp using $template: $errstr" unless (($fh, $path) = _gettemp($template, "open" => 1, "mkdir"=> 0 , "suffixlen" => 0, "ErrStr" => \$errstr, ) ); if (wantarray()) { return ($fh, $path); } else { return $fh; } } #pod =item B #pod #pod Similar to mkstemp(), except that an extra argument can be supplied #pod with a suffix to be appended to the template. #pod #pod ($fh, $name) = mkstemps( $template, $suffix ); #pod #pod For example a template of C and suffix of C<.dat> #pod would generate a file similar to F. #pod #pod Returns just the filehandle alone when called in scalar context. #pod #pod Will croak() if there is an error. #pod #pod Current API available since 0.05. #pod #pod =cut sub mkstemps { croak "Usage: mkstemps(template, suffix)" if scalar(@_) != 2; my $template = shift; my $suffix = shift; $template .= $suffix; my ($fh, $path, $errstr); croak "Error in mkstemps using $template: $errstr" unless (($fh, $path) = _gettemp($template, "open" => 1, "mkdir"=> 0 , "suffixlen" => length($suffix), "ErrStr" => \$errstr, ) ); if (wantarray()) { return ($fh, $path); } else { return $fh; } } #pod =item B #pod #pod Create a directory from a template. The template must end in #pod X's that are replaced by the routine. #pod #pod $tmpdir_name = mkdtemp($template); #pod #pod Returns the name of the temporary directory created. #pod #pod Directory must be removed by the caller. #pod #pod Will croak() if there is an error. #pod #pod Current API available since 0.05. #pod #pod =cut #' # for emacs sub mkdtemp { croak "Usage: mkdtemp(template)" if scalar(@_) != 1; my $template = shift; my $suffixlen = 0; if ($^O eq 'VMS') { # dir names can end in delimiters $template =~ m/([\.\]:>]+)$/; $suffixlen = length($1); } if ( ($^O eq 'MacOS') && (substr($template, -1) eq ':') ) { # dir name has a trailing ':' ++$suffixlen; } my ($junk, $tmpdir, $errstr); croak "Error creating temp directory from template $template\: $errstr" unless (($junk, $tmpdir) = _gettemp($template, "open" => 0, "mkdir"=> 1 , "suffixlen" => $suffixlen, "ErrStr" => \$errstr, ) ); return $tmpdir; } #pod =item B #pod #pod Returns a valid temporary filename but does not guarantee #pod that the file will not be opened by someone else. #pod #pod $unopened_file = mktemp($template); #pod #pod Template is the same as that required by mkstemp(). #pod #pod Will croak() if there is an error. #pod #pod Current API available since 0.05. #pod #pod =cut sub mktemp { croak "Usage: mktemp(template)" if scalar(@_) != 1; my $template = shift; my ($tmpname, $junk, $errstr); croak "Error getting name to temp file from template $template: $errstr" unless (($junk, $tmpname) = _gettemp($template, "open" => 0, "mkdir"=> 0 , "suffixlen" => 0, "ErrStr" => \$errstr, ) ); return $tmpname; } #pod =back #pod #pod =head1 POSIX FUNCTIONS #pod #pod This section describes the re-implementation of the tmpnam() #pod and tmpfile() functions described in L #pod using the mkstemp() from this module. #pod #pod Unlike the L implementations, the directory used #pod for the temporary file is not specified in a system include #pod file (C) but simply depends on the choice of tmpdir() #pod returned by L. On some implementations this #pod location can be set using the C environment variable, which #pod may not be secure. #pod If this is a problem, simply use mkstemp() and specify a template. #pod #pod =over 4 #pod #pod =item B #pod #pod When called in scalar context, returns the full name (including path) #pod of a temporary file (uses mktemp()). The only check is that the file does #pod not already exist, but there is no guarantee that that condition will #pod continue to apply. #pod #pod $file = tmpnam(); #pod #pod When called in list context, a filehandle to the open file and #pod a filename are returned. This is achieved by calling mkstemp() #pod after constructing a suitable template. #pod #pod ($fh, $file) = tmpnam(); #pod #pod If possible, this form should be used to prevent possible #pod race conditions. #pod #pod See L for information on the choice of temporary #pod directory for a particular operating system. #pod #pod Will croak() if there is an error. #pod #pod Current API available since 0.05. #pod #pod =cut sub tmpnam { # Retrieve the temporary directory name my $tmpdir = _wrap_file_spec_tmpdir(); # XXX I don't know under what circumstances this occurs, -- xdg 2016-04-02 croak "Error temporary directory is not writable" if $tmpdir eq ''; # Use a ten character template and append to tmpdir my $template = File::Spec->catfile($tmpdir, TEMPXXX); if (wantarray() ) { return mkstemp($template); } else { return mktemp($template); } } #pod =item B #pod #pod Returns the filehandle of a temporary file. #pod #pod $fh = tmpfile(); #pod #pod The file is removed when the filehandle is closed or when the program #pod exits. No access to the filename is provided. #pod #pod If the temporary file can not be created undef is returned. #pod Currently this command will probably not work when the temporary #pod directory is on an NFS file system. #pod #pod Will croak() if there is an error. #pod #pod Available since 0.05. #pod #pod Returning undef if unable to create file added in 0.12. #pod #pod =cut sub tmpfile { # Simply call tmpnam() in a list context my ($fh, $file) = tmpnam(); # Make sure file is removed when filehandle is closed # This will fail on NFS unlink0($fh, $file) or return undef; return $fh; } #pod =back #pod #pod =head1 ADDITIONAL FUNCTIONS #pod #pod These functions are provided for backwards compatibility #pod with common tempfile generation C library functions. #pod #pod They are not exported and must be addressed using the full package #pod name. #pod #pod =over 4 #pod #pod =item B #pod #pod Return the name of a temporary file in the specified directory #pod using a prefix. The file is guaranteed not to exist at the time #pod the function was called, but such guarantees are good for one #pod clock tick only. Always use the proper form of C #pod with C if you must open such a filename. #pod #pod $filename = File::Temp::tempnam( $dir, $prefix ); #pod #pod Equivalent to running mktemp() with $dir/$prefixXXXXXXXX #pod (using unix file convention as an example) #pod #pod Because this function uses mktemp(), it can suffer from race conditions. #pod #pod Will croak() if there is an error. #pod #pod Current API available since 0.05. #pod #pod =cut sub tempnam { croak 'Usage tempnam($dir, $prefix)' unless scalar(@_) == 2; my ($dir, $prefix) = @_; # Add a string to the prefix $prefix .= 'XXXXXXXX'; # Concatenate the directory to the file my $template = File::Spec->catfile($dir, $prefix); return mktemp($template); } #pod =back #pod #pod =head1 UTILITY FUNCTIONS #pod #pod Useful functions for dealing with the filehandle and filename. #pod #pod =over 4 #pod #pod =item B #pod #pod Given an open filehandle and the associated filename, make a safe #pod unlink. This is achieved by first checking that the filename and #pod filehandle initially point to the same file and that the number of #pod links to the file is 1 (all fields returned by stat() are compared). #pod Then the filename is unlinked and the filehandle checked once again to #pod verify that the number of links on that file is now 0. This is the #pod closest you can come to making sure that the filename unlinked was the #pod same as the file whose descriptor you hold. #pod #pod unlink0($fh, $path) #pod or die "Error unlinking file $path safely"; #pod #pod Returns false on error but croaks() if there is a security #pod anomaly. The filehandle is not closed since on some occasions this is #pod not required. #pod #pod On some platforms, for example Windows NT, it is not possible to #pod unlink an open file (the file must be closed first). On those #pod platforms, the actual unlinking is deferred until the program ends and #pod good status is returned. A check is still performed to make sure that #pod the filehandle and filename are pointing to the same thing (but not at #pod the time the end block is executed since the deferred removal may not #pod have access to the filehandle). #pod #pod Additionally, on Windows NT not all the fields returned by stat() can #pod be compared. For example, the C and C fields seem to be #pod different. Also, it seems that the size of the file returned by stat() #pod does not always agree, with C being more accurate than #pod C, presumably because of caching issues even when #pod using autoflush (this is usually overcome by waiting a while after #pod writing to the tempfile before attempting to C it). #pod #pod Finally, on NFS file systems the link count of the file handle does #pod not always go to zero immediately after unlinking. Currently, this #pod command is expected to fail on NFS disks. #pod #pod This function is disabled if the global variable $KEEP_ALL is true #pod and an unlink on open file is supported. If the unlink is to be deferred #pod to the END block, the file is still registered for removal. #pod #pod This function should not be called if you are using the object oriented #pod interface since the it will interfere with the object destructor deleting #pod the file. #pod #pod Available Since 0.05. #pod #pod If can not unlink open file, defer removal until later available since 0.06. #pod #pod =cut sub unlink0 { croak 'Usage: unlink0(filehandle, filename)' unless scalar(@_) == 2; # Read args my ($fh, $path) = @_; cmpstat($fh, $path) or return 0; # attempt remove the file (does not work on some platforms) if (_can_unlink_opened_file()) { # return early (Without unlink) if we have been instructed to retain files. return 1 if $KEEP_ALL; # XXX: do *not* call this on a directory; possible race # resulting in recursive removal croak "unlink0: $path has become a directory!" if -d $path; unlink($path) or return 0; # Stat the filehandle my @fh = stat $fh; print "Link count = $fh[3] \n" if $DEBUG; # Make sure that the link count is zero # - Cygwin provides deferred unlinking, however, # on Win9x the link count remains 1 # On NFS the link count may still be 1 but we can't know that # we are on NFS. Since we can't be sure, we'll defer it return 1 if $fh[3] == 0 || $^O eq 'cygwin'; } # fall-through if we can't unlink now _deferred_unlink($fh, $path, 0); return 1; } #pod =item B #pod #pod Compare C of filehandle with C of provided filename. This #pod can be used to check that the filename and filehandle initially point #pod to the same file and that the number of links to the file is 1 (all #pod fields returned by stat() are compared). #pod #pod cmpstat($fh, $path) #pod or die "Error comparing handle with file"; #pod #pod Returns false if the stat information differs or if the link count is #pod greater than 1. Calls croak if there is a security anomaly. #pod #pod On certain platforms, for example Windows, not all the fields returned by stat() #pod can be compared. For example, the C and C fields seem to be #pod different in Windows. Also, it seems that the size of the file #pod returned by stat() does not always agree, with C being more #pod accurate than C, presumably because of caching issues #pod even when using autoflush (this is usually overcome by waiting a while #pod after writing to the tempfile before attempting to C it). #pod #pod Not exported by default. #pod #pod Current API available since 0.14. #pod #pod =cut sub cmpstat { croak 'Usage: cmpstat(filehandle, filename)' unless scalar(@_) == 2; # Read args my ($fh, $path) = @_; warn "Comparing stat\n" if $DEBUG; # Stat the filehandle - which may be closed if someone has manually # closed the file. Can not turn off warnings without using $^W # unless we upgrade to 5.006 minimum requirement my @fh; { local ($^W) = 0; @fh = stat $fh; } return unless @fh; if ($fh[3] > 1 && $^W) { carp "unlink0: fstat found too many links; SB=@fh" if $^W; } # Stat the path my @path = stat $path; unless (@path) { carp "unlink0: $path is gone already" if $^W; return; } # this is no longer a file, but may be a directory, or worse unless (-f $path) { confess "panic: $path is no longer a file: SB=@fh"; } # Do comparison of each member of the array # On WinNT dev and rdev seem to be different # depending on whether it is a file or a handle. # Cannot simply compare all members of the stat return # Select the ones we can use my @okstat = (0..$#fh); # Use all by default if ($^O eq 'MSWin32') { @okstat = (1,2,3,4,5,7,8,9,10); } elsif ($^O eq 'os2') { @okstat = (0, 2..$#fh); } elsif ($^O eq 'VMS') { # device and file ID are sufficient @okstat = (0, 1); } elsif ($^O eq 'dos') { @okstat = (0,2..7,11..$#fh); } elsif ($^O eq 'mpeix') { @okstat = (0..4,8..10); } # Now compare each entry explicitly by number for (@okstat) { print "Comparing: $_ : $fh[$_] and $path[$_]\n" if $DEBUG; # Use eq rather than == since rdev, blksize, and blocks (6, 11, # and 12) will be '' on platforms that do not support them. This # is fine since we are only comparing integers. unless ($fh[$_] eq $path[$_]) { warn "Did not match $_ element of stat\n" if $DEBUG; return 0; } } return 1; } #pod =item B #pod #pod Similar to C except after file comparison using cmpstat, the #pod filehandle is closed prior to attempting to unlink the file. This #pod allows the file to be removed without using an END block, but does #pod mean that the post-unlink comparison of the filehandle state provided #pod by C is not available. #pod #pod unlink1($fh, $path) #pod or die "Error closing and unlinking file"; #pod #pod Usually called from the object destructor when using the OO interface. #pod #pod Not exported by default. #pod #pod This function is disabled if the global variable $KEEP_ALL is true. #pod #pod Can call croak() if there is a security anomaly during the stat() #pod comparison. #pod #pod Current API available since 0.14. #pod #pod =cut sub unlink1 { croak 'Usage: unlink1(filehandle, filename)' unless scalar(@_) == 2; # Read args my ($fh, $path) = @_; cmpstat($fh, $path) or return 0; # Close the file close( $fh ) or return 0; # Make sure the file is writable (for windows) _force_writable( $path ); # return early (without unlink) if we have been instructed to retain files. return 1 if $KEEP_ALL; # remove the file return unlink($path); } #pod =item B #pod #pod Calling this function will cause any temp files or temp directories #pod that are registered for removal to be removed. This happens automatically #pod when the process exits but can be triggered manually if the caller is sure #pod that none of the temp files are required. This method can be registered as #pod an Apache callback. #pod #pod Note that if a temp directory is your current directory, it cannot be #pod removed. C out of the directory first before calling #pod C. (For the cleanup at program exit when the CLEANUP flag #pod is set, this happens automatically.) #pod #pod On OSes where temp files are automatically removed when the temp file #pod is closed, calling this function will have no effect other than to remove #pod temporary directories (which may include temporary files). #pod #pod File::Temp::cleanup(); #pod #pod Not exported by default. #pod #pod Current API available since 0.15. #pod #pod =back #pod #pod =head1 PACKAGE VARIABLES #pod #pod These functions control the global state of the package. #pod #pod =over 4 #pod #pod =item B #pod #pod Controls the lengths to which the module will go to check the safety of the #pod temporary file or directory before proceeding. #pod Options are: #pod #pod =over 8 #pod #pod =item STANDARD #pod #pod Do the basic security measures to ensure the directory exists and is #pod writable, that temporary files are opened only if they do not already #pod exist, and that possible race conditions are avoided. Finally the #pod L function is used to remove files safely. #pod #pod =item MEDIUM #pod #pod In addition to the STANDARD security, the output directory is checked #pod to make sure that it is owned either by root or the user running the #pod program. If the directory is writable by group or by other, it is then #pod checked to make sure that the sticky bit is set. #pod #pod Will not work on platforms that do not support the C<-k> test #pod for sticky bit. #pod #pod =item HIGH #pod #pod In addition to the MEDIUM security checks, also check for the #pod possibility of ``chown() giveaway'' using the L #pod sysconf() function. If this is a possibility, each directory in the #pod path is checked in turn for safeness, recursively walking back to the #pod root directory. #pod #pod For platforms that do not support the L #pod C<_PC_CHOWN_RESTRICTED> symbol (for example, Windows NT) it is #pod assumed that ``chown() giveaway'' is possible and the recursive test #pod is performed. #pod #pod =back #pod #pod The level can be changed as follows: #pod #pod File::Temp->safe_level( File::Temp::HIGH ); #pod #pod The level constants are not exported by the module. #pod #pod Currently, you must be running at least perl v5.6.0 in order to #pod run with MEDIUM or HIGH security. This is simply because the #pod safety tests use functions from L that are not #pod available in older versions of perl. The problem is that the version #pod number for Fcntl is the same in perl 5.6.0 and in 5.005_03 even though #pod they are different versions. #pod #pod On systems that do not support the HIGH or MEDIUM safety levels #pod (for example Win NT or OS/2) any attempt to change the level will #pod be ignored. The decision to ignore rather than raise an exception #pod allows portable programs to be written with high security in mind #pod for the systems that can support this without those programs failing #pod on systems where the extra tests are irrelevant. #pod #pod If you really need to see whether the change has been accepted #pod simply examine the return value of C. #pod #pod $newlevel = File::Temp->safe_level( File::Temp::HIGH ); #pod die "Could not change to high security" #pod if $newlevel != File::Temp::HIGH; #pod #pod Available since 0.05. #pod #pod =cut { # protect from using the variable itself my $LEVEL = STANDARD; sub safe_level { my $self = shift; if (@_) { my $level = shift; if (($level != STANDARD) && ($level != MEDIUM) && ($level != HIGH)) { carp "safe_level: Specified level ($level) not STANDARD, MEDIUM or HIGH - ignoring\n" if $^W; } else { # Don't allow this on perl 5.005 or earlier if ($] < 5.006 && $level != STANDARD) { # Cant do MEDIUM or HIGH checks croak "Currently requires perl 5.006 or newer to do the safe checks"; } # Check that we are allowed to change level # Silently ignore if we can not. $LEVEL = $level if _can_do_level($level); } } return $LEVEL; } } #pod =item TopSystemUID #pod #pod This is the highest UID on the current system that refers to a root #pod UID. This is used to make sure that the temporary directory is #pod owned by a system UID (C, C, C etc) rather than #pod simply by root. #pod #pod This is required since on many unix systems C is not owned #pod by root. #pod #pod Default is to assume that any UID less than or equal to 10 is a root #pod UID. #pod #pod File::Temp->top_system_uid(10); #pod my $topid = File::Temp->top_system_uid; #pod #pod This value can be adjusted to reduce security checking if required. #pod The value is only relevant when C is set to MEDIUM or higher. #pod #pod Available since 0.05. #pod #pod =cut { my $TopSystemUID = 10; $TopSystemUID = 197108 if $^O eq 'interix'; # "Administrator" sub top_system_uid { my $self = shift; if (@_) { my $newuid = shift; croak "top_system_uid: UIDs should be numeric" unless $newuid =~ /^\d+$/s; $TopSystemUID = $newuid; } return $TopSystemUID; } } #pod =item B<$KEEP_ALL> #pod #pod Controls whether temporary files and directories should be retained #pod regardless of any instructions in the program to remove them #pod automatically. This is useful for debugging but should not be used in #pod production code. #pod #pod $File::Temp::KEEP_ALL = 1; #pod #pod Default is for files to be removed as requested by the caller. #pod #pod In some cases, files will only be retained if this variable is true #pod when the file is created. This means that you can not create a temporary #pod file, set this variable and expect the temp file to still be around #pod when the program exits. #pod #pod =item B<$DEBUG> #pod #pod Controls whether debugging messages should be enabled. #pod #pod $File::Temp::DEBUG = 1; #pod #pod Default is for debugging mode to be disabled. #pod #pod Available since 0.15. #pod #pod =back #pod #pod =head1 WARNING #pod #pod For maximum security, endeavour always to avoid ever looking at, #pod touching, or even imputing the existence of the filename. You do not #pod know that that filename is connected to the same file as the handle #pod you have, and attempts to check this can only trigger more race #pod conditions. It's far more secure to use the filehandle alone and #pod dispense with the filename altogether. #pod #pod If you need to pass the handle to something that expects a filename #pod then on a unix system you can use C<"/dev/fd/" . fileno($fh)> for #pod arbitrary programs. Perl code that uses the 2-argument version of #pod C<< open >> can be passed C<< "+<=&" . fileno($fh) >>. Otherwise you #pod will need to pass the filename. You will have to clear the #pod close-on-exec bit on that file descriptor before passing it to another #pod process. #pod #pod use Fcntl qw/F_SETFD F_GETFD/; #pod fcntl($tmpfh, F_SETFD, 0) #pod or die "Can't clear close-on-exec flag on temp fh: $!\n"; #pod #pod =head2 Temporary files and NFS #pod #pod Some problems are associated with using temporary files that reside #pod on NFS file systems and it is recommended that a local filesystem #pod is used whenever possible. Some of the security tests will most probably #pod fail when the temp file is not local. Additionally, be aware that #pod the performance of I/O operations over NFS will not be as good as for #pod a local disk. #pod #pod =head2 Forking #pod #pod In some cases files created by File::Temp are removed from within an #pod END block. Since END blocks are triggered when a child process exits #pod (unless C is used by the child) File::Temp takes care #pod to only remove those temp files created by a particular process ID. This #pod means that a child will not attempt to remove temp files created by the #pod parent process. #pod #pod If you are forking many processes in parallel that are all creating #pod temporary files, you may need to reset the random number seed using #pod srand(EXPR) in each child else all the children will attempt to walk #pod through the same set of random file names and may well cause #pod themselves to give up if they exceed the number of retry attempts. #pod #pod =head2 Directory removal #pod #pod Note that if you have chdir'ed into the temporary directory and it is #pod subsequently cleaned up (either in the END block or as part of object #pod destruction), then you will get a warning from File::Path::rmtree(). #pod #pod =head2 Taint mode #pod #pod If you need to run code under taint mode, updating to the latest #pod L is highly recommended. On Windows, if the directory #pod given by L isn't writable, File::Temp will attempt #pod to fallback to the user's local application data directory or croak #pod with an error. #pod #pod =head2 BINMODE #pod #pod The file returned by File::Temp will have been opened in binary mode #pod if such a mode is available. If that is not correct, use the C #pod function to change the mode of the filehandle. #pod #pod Note that you can modify the encoding of a file opened by File::Temp #pod also by using C. #pod #pod =head1 HISTORY #pod #pod Originally began life in May 1999 as an XS interface to the system #pod mkstemp() function. In March 2000, the OpenBSD mkstemp() code was #pod translated to Perl for total control of the code's #pod security checking, to ensure the presence of the function regardless of #pod operating system and to help with portability. The module was shipped #pod as a standard part of perl from v5.6.1. #pod #pod Thanks to Tom Christiansen for suggesting that this module #pod should be written and providing ideas for code improvements and #pod security enhancements. #pod #pod =head1 SEE ALSO #pod #pod L, L, L, L #pod #pod See L and L, L for #pod different implementations of temporary file handling. #pod #pod See L for an alternative object-oriented wrapper for #pod the C function. #pod #pod =cut package ## hide from PAUSE File::Temp::Dir; our $VERSION = '0.2311'; use File::Path qw/ rmtree /; use strict; use overload '""' => "STRINGIFY", '0+' => \&File::Temp::NUMIFY, fallback => 1; # private class specifically to support tempdir objects # created by File::Temp->newdir # ostensibly the same method interface as File::Temp but without # inheriting all the IO::Seekable methods and other cruft # Read-only - returns the name of the temp directory sub dirname { my $self = shift; return $self->{DIRNAME}; } sub STRINGIFY { my $self = shift; return $self->dirname; } sub unlink_on_destroy { my $self = shift; if (@_) { $self->{CLEANUP} = shift; } return $self->{CLEANUP}; } sub DESTROY { my $self = shift; local($., $@, $!, $^E, $?); if ($self->unlink_on_destroy && $$ == $self->{LAUNCHPID} && !$File::Temp::KEEP_ALL) { if (-d $self->{REALNAME}) { # Some versions of rmtree will abort if you attempt to remove # the directory you are sitting in. We protect that and turn it # into a warning. We do this because this occurs during object # destruction and so can not be caught by the user. eval { rmtree($self->{REALNAME}, $File::Temp::DEBUG, 0); }; warn $@ if ($@ && $^W); } } } 1; # vim: ts=2 sts=2 sw=2 et: __END__ =pod =encoding UTF-8 =head1 NAME File::Temp - return name and handle of a temporary file safely =head1 VERSION version 0.2311 =head1 SYNOPSIS use File::Temp qw/ tempfile tempdir /; $fh = tempfile(); ($fh, $filename) = tempfile(); ($fh, $filename) = tempfile( $template, DIR => $dir); ($fh, $filename) = tempfile( $template, SUFFIX => '.dat'); ($fh, $filename) = tempfile( $template, TMPDIR => 1 ); binmode( $fh, ":utf8" ); $dir = tempdir( CLEANUP => 1 ); ($fh, $filename) = tempfile( DIR => $dir ); Object interface: require File::Temp; use File::Temp (); use File::Temp qw/ :seekable /; $fh = File::Temp->new(); $fname = $fh->filename; $fh = File::Temp->new(TEMPLATE => $template); $fname = $fh->filename; $tmp = File::Temp->new( UNLINK => 0, SUFFIX => '.dat' ); print $tmp "Some data\n"; print "Filename is $tmp\n"; $tmp->seek( 0, SEEK_END ); $dir = File::Temp->newdir(); # CLEANUP => 1 by default The following interfaces are provided for compatibility with existing APIs. They should not be used in new code. MkTemp family: use File::Temp qw/ :mktemp /; ($fh, $file) = mkstemp( "tmpfileXXXXX" ); ($fh, $file) = mkstemps( "tmpfileXXXXXX", $suffix); $tmpdir = mkdtemp( $template ); $unopened_file = mktemp( $template ); POSIX functions: use File::Temp qw/ :POSIX /; $file = tmpnam(); $fh = tmpfile(); ($fh, $file) = tmpnam(); Compatibility functions: $unopened_file = File::Temp::tempnam( $dir, $pfx ); =head1 DESCRIPTION C can be used to create and open temporary files in a safe way. There is both a function interface and an object-oriented interface. The File::Temp constructor or the tempfile() function can be used to return the name and the open filehandle of a temporary file. The tempdir() function can be used to create a temporary directory. The security aspect of temporary file creation is emphasized such that a filehandle and filename are returned together. This helps guarantee that a race condition can not occur where the temporary file is created by another process between checking for the existence of the file and its opening. Additional security levels are provided to check, for example, that the sticky bit is set on world writable directories. See L<"safe_level"> for more information. For compatibility with popular C library functions, Perl implementations of the mkstemp() family of functions are provided. These are, mkstemp(), mkstemps(), mkdtemp() and mktemp(). Additionally, implementations of the standard L tmpnam() and tmpfile() functions are provided if required. Implementations of mktemp(), tmpnam(), and tempnam() are provided, but should be used with caution since they return only a filename that was valid when function was called, so cannot guarantee that the file will not exist by the time the caller opens the filename. Filehandles returned by these functions support the seekable methods. =begin :__INTERNALS =head1 PORTABILITY This section is at the top in order to provide easier access to porters. It is not expected to be rendered by a standard pod formatting tool. Please skip straight to the SYNOPSIS section if you are not trying to port this module to a new platform. This module is designed to be portable across operating systems and it currently supports Unix, VMS, DOS, OS/2, Windows and Mac OS (Classic). When porting to a new OS there are generally three main issues that have to be solved: =over 4 =item * Can the OS unlink an open file? If it can not then the C<_can_unlink_opened_file> method should be modified. =item * Are the return values from C reliable? By default all the return values from C are compared when unlinking a temporary file using the filename and the handle. Operating systems other than unix do not always have valid entries in all fields. If utility function C fails then the C comparison should be modified accordingly. =item * Security. Systems that can not support a test for the sticky bit on a directory can not use the MEDIUM and HIGH security tests. The C<_can_do_level> method should be modified accordingly. =back =end :__INTERNALS =head1 OBJECT-ORIENTED INTERFACE This is the primary interface for interacting with C. Using the OO interface a temporary file can be created when the object is constructed and the file can be removed when the object is no longer required. Note that there is no method to obtain the filehandle from the C object. The object itself acts as a filehandle. The object isa C and isa C so all those methods are available. Also, the object is configured such that it stringifies to the name of the temporary file and so can be compared to a filename directly. It numifies to the C the same as other handles and so can be compared to other handles with C<==>. $fh eq $filename # as a string $fh != \*STDOUT # as a number Available since 0.14. =over 4 =item B Create a temporary file object. my $tmp = File::Temp->new(); by default the object is constructed as if C was called without options, but with the additional behaviour that the temporary file is removed by the object destructor if UNLINK is set to true (the default). Supported arguments are the same as for C: UNLINK (defaulting to true), DIR, EXLOCK, PERMS and SUFFIX. Additionally, the filename template is specified using the TEMPLATE option. The OPEN option is not supported (the file is always opened). $tmp = File::Temp->new( TEMPLATE => 'tempXXXXX', DIR => 'mydir', SUFFIX => '.dat'); Arguments are case insensitive. Can call croak() if an error occurs. Available since 0.14. TEMPLATE available since 0.23 =item B Create a temporary directory using an object oriented interface. $dir = File::Temp->newdir(); By default the directory is deleted when the object goes out of scope. Supports the same options as the C function. Note that directories created with this method default to CLEANUP => 1. $dir = File::Temp->newdir( $template, %options ); A template may be specified either with a leading template or with a TEMPLATE argument. Available since 0.19. TEMPLATE available since 0.23. =item B Return the name of the temporary file associated with this object (if the object was created using the "new" constructor). $filename = $tmp->filename; This method is called automatically when the object is used as a string. Current API available since 0.14 =item B Return the name of the temporary directory associated with this object (if the object was created using the "newdir" constructor). $dirname = $tmpdir->dirname; This method is called automatically when the object is used in string context. =item B Control whether the file is unlinked when the object goes out of scope. The file is removed if this value is true and $KEEP_ALL is not. $fh->unlink_on_destroy( 1 ); Default is for the file to be removed. Current API available since 0.15 =item B When the object goes out of scope, the destructor is called. This destructor will attempt to unlink the file (using L) if the constructor was called with UNLINK set to 1 (the default state if UNLINK is not specified). No error is given if the unlink fails. If the object has been passed to a child process during a fork, the file will be deleted when the object goes out of scope in the parent. For a temporary directory object the directory will be removed unless the CLEANUP argument was used in the constructor (and set to false) or C was modified after creation. Note that if a temp directory is your current directory, it cannot be removed - a warning will be given in this case. C out of the directory before letting the object go out of scope. If the global variable $KEEP_ALL is true, the file or directory will not be removed. =back =head1 FUNCTIONS This section describes the recommended interface for generating temporary files and directories. =over 4 =item B This is the basic function to generate temporary files. The behaviour of the file can be changed using various options: $fh = tempfile(); ($fh, $filename) = tempfile(); Create a temporary file in the directory specified for temporary files, as specified by the tmpdir() function in L. ($fh, $filename) = tempfile($template); Create a temporary file in the current directory using the supplied template. Trailing `X' characters are replaced with random letters to generate the filename. At least four `X' characters must be present at the end of the template. ($fh, $filename) = tempfile($template, SUFFIX => $suffix) Same as previously, except that a suffix is added to the template after the `X' translation. Useful for ensuring that a temporary filename has a particular extension when needed by other applications. But see the WARNING at the end. ($fh, $filename) = tempfile($template, DIR => $dir); Translates the template as before except that a directory name is specified. ($fh, $filename) = tempfile($template, TMPDIR => 1); Equivalent to specifying a DIR of "File::Spec->tmpdir", writing the file into the same temporary directory as would be used if no template was specified at all. ($fh, $filename) = tempfile($template, UNLINK => 1); Return the filename and filehandle as before except that the file is automatically removed when the program exits (dependent on $KEEP_ALL). Default is for the file to be removed if a file handle is requested and to be kept if the filename is requested. In a scalar context (where no filename is returned) the file is always deleted either (depending on the operating system) on exit or when it is closed (unless $KEEP_ALL is true when the temp file is created). Use the object-oriented interface if fine-grained control of when a file is removed is required. If the template is not specified, a template is always automatically generated. This temporary file is placed in tmpdir() (L) unless a directory is specified explicitly with the DIR option. $fh = tempfile( DIR => $dir ); If called in scalar context, only the filehandle is returned and the file will automatically be deleted when closed on operating systems that support this (see the description of tmpfile() elsewhere in this document). This is the preferred mode of operation, as if you only have a filehandle, you can never create a race condition by fumbling with the filename. On systems that can not unlink an open file or can not mark a file as temporary when it is opened (for example, Windows NT uses the C flag) the file is marked for deletion when the program ends (equivalent to setting UNLINK to 1). The C flag is ignored if present. (undef, $filename) = tempfile($template, OPEN => 0); This will return the filename based on the template but will not open this file. Cannot be used in conjunction with UNLINK set to true. Default is to always open the file to protect from possible race conditions. A warning is issued if warnings are turned on. Consider using the tmpnam() and mktemp() functions described elsewhere in this document if opening the file is not required. To open the temporary filehandle with O_EXLOCK (open with exclusive file lock) use C<< EXLOCK=>1 >>. This is supported only by some operating systems (most notably BSD derived systems). By default EXLOCK will be false. Former C versions set EXLOCK to true, so to be sure to get an unlocked filehandle also with older versions, explicitly set C<< EXLOCK=>0 >>. ($fh, $filename) = tempfile($template, EXLOCK => 1); By default, the temp file is created with 0600 file permissions. Use C to change this: ($fh, $filename) = tempfile($template, PERMS => 0666); Options can be combined as required. Will croak() if there is an error. Available since 0.05. UNLINK flag available since 0.10. TMPDIR flag available since 0.19. EXLOCK flag available since 0.19. PERMS flag available since 0.2310. =item B This is the recommended interface for creation of temporary directories. By default the directory will not be removed on exit (that is, it won't be temporary; this behaviour can not be changed because of issues with backwards compatibility). To enable removal either use the CLEANUP option which will trigger removal on program exit, or consider using the "newdir" method in the object interface which will allow the directory to be cleaned up when the object goes out of scope. The behaviour of the function depends on the arguments: $tempdir = tempdir(); Create a directory in tmpdir() (see L). $tempdir = tempdir( $template ); Create a directory from the supplied template. This template is similar to that described for tempfile(). `X' characters at the end of the template are replaced with random letters to construct the directory name. At least four `X' characters must be in the template. $tempdir = tempdir ( DIR => $dir ); Specifies the directory to use for the temporary directory. The temporary directory name is derived from an internal template. $tempdir = tempdir ( $template, DIR => $dir ); Prepend the supplied directory name to the template. The template should not include parent directory specifications itself. Any parent directory specifications are removed from the template before prepending the supplied directory. $tempdir = tempdir ( $template, TMPDIR => 1 ); Using the supplied template, create the temporary directory in a standard location for temporary files. Equivalent to doing $tempdir = tempdir ( $template, DIR => File::Spec->tmpdir); but shorter. Parent directory specifications are stripped from the template itself. The C option is ignored if C is set explicitly. Additionally, C is implied if neither a template nor a directory are supplied. $tempdir = tempdir( $template, CLEANUP => 1); Create a temporary directory using the supplied template, but attempt to remove it (and all files inside it) when the program exits. Note that an attempt will be made to remove all files from the directory even if they were not created by this module (otherwise why ask to clean it up?). The directory removal is made with the rmtree() function from the L module. Of course, if the template is not specified, the temporary directory will be created in tmpdir() and will also be removed at program exit. Will croak() if there is an error. Current API available since 0.05. =back =head1 MKTEMP FUNCTIONS The following functions are Perl implementations of the mktemp() family of temp file generation system calls. =over 4 =item B Given a template, returns a filehandle to the temporary file and the name of the file. ($fh, $name) = mkstemp( $template ); In scalar context, just the filehandle is returned. The template may be any filename with some number of X's appended to it, for example F. The trailing X's are replaced with unique alphanumeric combinations. Will croak() if there is an error. Current API available since 0.05. =item B Similar to mkstemp(), except that an extra argument can be supplied with a suffix to be appended to the template. ($fh, $name) = mkstemps( $template, $suffix ); For example a template of C and suffix of C<.dat> would generate a file similar to F. Returns just the filehandle alone when called in scalar context. Will croak() if there is an error. Current API available since 0.05. =item B Create a directory from a template. The template must end in X's that are replaced by the routine. $tmpdir_name = mkdtemp($template); Returns the name of the temporary directory created. Directory must be removed by the caller. Will croak() if there is an error. Current API available since 0.05. =item B Returns a valid temporary filename but does not guarantee that the file will not be opened by someone else. $unopened_file = mktemp($template); Template is the same as that required by mkstemp(). Will croak() if there is an error. Current API available since 0.05. =back =head1 POSIX FUNCTIONS This section describes the re-implementation of the tmpnam() and tmpfile() functions described in L using the mkstemp() from this module. Unlike the L implementations, the directory used for the temporary file is not specified in a system include file (C) but simply depends on the choice of tmpdir() returned by L. On some implementations this location can be set using the C environment variable, which may not be secure. If this is a problem, simply use mkstemp() and specify a template. =over 4 =item B When called in scalar context, returns the full name (including path) of a temporary file (uses mktemp()). The only check is that the file does not already exist, but there is no guarantee that that condition will continue to apply. $file = tmpnam(); When called in list context, a filehandle to the open file and a filename are returned. This is achieved by calling mkstemp() after constructing a suitable template. ($fh, $file) = tmpnam(); If possible, this form should be used to prevent possible race conditions. See L for information on the choice of temporary directory for a particular operating system. Will croak() if there is an error. Current API available since 0.05. =item B Returns the filehandle of a temporary file. $fh = tmpfile(); The file is removed when the filehandle is closed or when the program exits. No access to the filename is provided. If the temporary file can not be created undef is returned. Currently this command will probably not work when the temporary directory is on an NFS file system. Will croak() if there is an error. Available since 0.05. Returning undef if unable to create file added in 0.12. =back =head1 ADDITIONAL FUNCTIONS These functions are provided for backwards compatibility with common tempfile generation C library functions. They are not exported and must be addressed using the full package name. =over 4 =item B Return the name of a temporary file in the specified directory using a prefix. The file is guaranteed not to exist at the time the function was called, but such guarantees are good for one clock tick only. Always use the proper form of C with C if you must open such a filename. $filename = File::Temp::tempnam( $dir, $prefix ); Equivalent to running mktemp() with $dir/$prefixXXXXXXXX (using unix file convention as an example) Because this function uses mktemp(), it can suffer from race conditions. Will croak() if there is an error. Current API available since 0.05. =back =head1 UTILITY FUNCTIONS Useful functions for dealing with the filehandle and filename. =over 4 =item B Given an open filehandle and the associated filename, make a safe unlink. This is achieved by first checking that the filename and filehandle initially point to the same file and that the number of links to the file is 1 (all fields returned by stat() are compared). Then the filename is unlinked and the filehandle checked once again to verify that the number of links on that file is now 0. This is the closest you can come to making sure that the filename unlinked was the same as the file whose descriptor you hold. unlink0($fh, $path) or die "Error unlinking file $path safely"; Returns false on error but croaks() if there is a security anomaly. The filehandle is not closed since on some occasions this is not required. On some platforms, for example Windows NT, it is not possible to unlink an open file (the file must be closed first). On those platforms, the actual unlinking is deferred until the program ends and good status is returned. A check is still performed to make sure that the filehandle and filename are pointing to the same thing (but not at the time the end block is executed since the deferred removal may not have access to the filehandle). Additionally, on Windows NT not all the fields returned by stat() can be compared. For example, the C and C fields seem to be different. Also, it seems that the size of the file returned by stat() does not always agree, with C being more accurate than C, presumably because of caching issues even when using autoflush (this is usually overcome by waiting a while after writing to the tempfile before attempting to C it). Finally, on NFS file systems the link count of the file handle does not always go to zero immediately after unlinking. Currently, this command is expected to fail on NFS disks. This function is disabled if the global variable $KEEP_ALL is true and an unlink on open file is supported. If the unlink is to be deferred to the END block, the file is still registered for removal. This function should not be called if you are using the object oriented interface since the it will interfere with the object destructor deleting the file. Available Since 0.05. If can not unlink open file, defer removal until later available since 0.06. =item B Compare C of filehandle with C of provided filename. This can be used to check that the filename and filehandle initially point to the same file and that the number of links to the file is 1 (all fields returned by stat() are compared). cmpstat($fh, $path) or die "Error comparing handle with file"; Returns false if the stat information differs or if the link count is greater than 1. Calls croak if there is a security anomaly. On certain platforms, for example Windows, not all the fields returned by stat() can be compared. For example, the C and C fields seem to be different in Windows. Also, it seems that the size of the file returned by stat() does not always agree, with C being more accurate than C, presumably because of caching issues even when using autoflush (this is usually overcome by waiting a while after writing to the tempfile before attempting to C it). Not exported by default. Current API available since 0.14. =item B Similar to C except after file comparison using cmpstat, the filehandle is closed prior to attempting to unlink the file. This allows the file to be removed without using an END block, but does mean that the post-unlink comparison of the filehandle state provided by C is not available. unlink1($fh, $path) or die "Error closing and unlinking file"; Usually called from the object destructor when using the OO interface. Not exported by default. This function is disabled if the global variable $KEEP_ALL is true. Can call croak() if there is a security anomaly during the stat() comparison. Current API available since 0.14. =item B Calling this function will cause any temp files or temp directories that are registered for removal to be removed. This happens automatically when the process exits but can be triggered manually if the caller is sure that none of the temp files are required. This method can be registered as an Apache callback. Note that if a temp directory is your current directory, it cannot be removed. C out of the directory first before calling C. (For the cleanup at program exit when the CLEANUP flag is set, this happens automatically.) On OSes where temp files are automatically removed when the temp file is closed, calling this function will have no effect other than to remove temporary directories (which may include temporary files). File::Temp::cleanup(); Not exported by default. Current API available since 0.15. =back =head1 PACKAGE VARIABLES These functions control the global state of the package. =over 4 =item B Controls the lengths to which the module will go to check the safety of the temporary file or directory before proceeding. Options are: =over 8 =item STANDARD Do the basic security measures to ensure the directory exists and is writable, that temporary files are opened only if they do not already exist, and that possible race conditions are avoided. Finally the L function is used to remove files safely. =item MEDIUM In addition to the STANDARD security, the output directory is checked to make sure that it is owned either by root or the user running the program. If the directory is writable by group or by other, it is then checked to make sure that the sticky bit is set. Will not work on platforms that do not support the C<-k> test for sticky bit. =item HIGH In addition to the MEDIUM security checks, also check for the possibility of ``chown() giveaway'' using the L sysconf() function. If this is a possibility, each directory in the path is checked in turn for safeness, recursively walking back to the root directory. For platforms that do not support the L C<_PC_CHOWN_RESTRICTED> symbol (for example, Windows NT) it is assumed that ``chown() giveaway'' is possible and the recursive test is performed. =back The level can be changed as follows: File::Temp->safe_level( File::Temp::HIGH ); The level constants are not exported by the module. Currently, you must be running at least perl v5.6.0 in order to run with MEDIUM or HIGH security. This is simply because the safety tests use functions from L that are not available in older versions of perl. The problem is that the version number for Fcntl is the same in perl 5.6.0 and in 5.005_03 even though they are different versions. On systems that do not support the HIGH or MEDIUM safety levels (for example Win NT or OS/2) any attempt to change the level will be ignored. The decision to ignore rather than raise an exception allows portable programs to be written with high security in mind for the systems that can support this without those programs failing on systems where the extra tests are irrelevant. If you really need to see whether the change has been accepted simply examine the return value of C. $newlevel = File::Temp->safe_level( File::Temp::HIGH ); die "Could not change to high security" if $newlevel != File::Temp::HIGH; Available since 0.05. =item TopSystemUID This is the highest UID on the current system that refers to a root UID. This is used to make sure that the temporary directory is owned by a system UID (C, C, C etc) rather than simply by root. This is required since on many unix systems C is not owned by root. Default is to assume that any UID less than or equal to 10 is a root UID. File::Temp->top_system_uid(10); my $topid = File::Temp->top_system_uid; This value can be adjusted to reduce security checking if required. The value is only relevant when C is set to MEDIUM or higher. Available since 0.05. =item B<$KEEP_ALL> Controls whether temporary files and directories should be retained regardless of any instructions in the program to remove them automatically. This is useful for debugging but should not be used in production code. $File::Temp::KEEP_ALL = 1; Default is for files to be removed as requested by the caller. In some cases, files will only be retained if this variable is true when the file is created. This means that you can not create a temporary file, set this variable and expect the temp file to still be around when the program exits. =item B<$DEBUG> Controls whether debugging messages should be enabled. $File::Temp::DEBUG = 1; Default is for debugging mode to be disabled. Available since 0.15. =back =head1 WARNING For maximum security, endeavour always to avoid ever looking at, touching, or even imputing the existence of the filename. You do not know that that filename is connected to the same file as the handle you have, and attempts to check this can only trigger more race conditions. It's far more secure to use the filehandle alone and dispense with the filename altogether. If you need to pass the handle to something that expects a filename then on a unix system you can use C<"/dev/fd/" . fileno($fh)> for arbitrary programs. Perl code that uses the 2-argument version of C<< open >> can be passed C<< "+<=&" . fileno($fh) >>. Otherwise you will need to pass the filename. You will have to clear the close-on-exec bit on that file descriptor before passing it to another process. use Fcntl qw/F_SETFD F_GETFD/; fcntl($tmpfh, F_SETFD, 0) or die "Can't clear close-on-exec flag on temp fh: $!\n"; =head2 Temporary files and NFS Some problems are associated with using temporary files that reside on NFS file systems and it is recommended that a local filesystem is used whenever possible. Some of the security tests will most probably fail when the temp file is not local. Additionally, be aware that the performance of I/O operations over NFS will not be as good as for a local disk. =head2 Forking In some cases files created by File::Temp are removed from within an END block. Since END blocks are triggered when a child process exits (unless C is used by the child) File::Temp takes care to only remove those temp files created by a particular process ID. This means that a child will not attempt to remove temp files created by the parent process. If you are forking many processes in parallel that are all creating temporary files, you may need to reset the random number seed using srand(EXPR) in each child else all the children will attempt to walk through the same set of random file names and may well cause themselves to give up if they exceed the number of retry attempts. =head2 Directory removal Note that if you have chdir'ed into the temporary directory and it is subsequently cleaned up (either in the END block or as part of object destruction), then you will get a warning from File::Path::rmtree(). =head2 Taint mode If you need to run code under taint mode, updating to the latest L is highly recommended. On Windows, if the directory given by L isn't writable, File::Temp will attempt to fallback to the user's local application data directory or croak with an error. =head2 BINMODE The file returned by File::Temp will have been opened in binary mode if such a mode is available. If that is not correct, use the C function to change the mode of the filehandle. Note that you can modify the encoding of a file opened by File::Temp also by using C. =head1 HISTORY Originally began life in May 1999 as an XS interface to the system mkstemp() function. In March 2000, the OpenBSD mkstemp() code was translated to Perl for total control of the code's security checking, to ensure the presence of the function regardless of operating system and to help with portability. The module was shipped as a standard part of perl from v5.6.1. Thanks to Tom Christiansen for suggesting that this module should be written and providing ideas for code improvements and security enhancements. =head1 SEE ALSO L, L, L, L See L and L, L for different implementations of temporary file handling. See L for an alternative object-oriented wrapper for the C function. =for Pod::Coverage STRINGIFY NUMIFY top_system_uid =head1 SUPPORT Bugs may be submitted through L (or L). There is also a mailing list available for users of this distribution, at L. There is also an irc channel available for users of this distribution, at L on C|irc://irc.perl.org/#toolchain>. =head1 AUTHOR Tim Jenness =head1 CONTRIBUTORS =for stopwords Tim Jenness Karen Etheridge David Golden Slaven Rezic mohawk2 Roy Ivy III Peter Rabbitson Olivier Mengué John Acklam Gim Yee Nicolas R Brian Mowrey Dagfinn Ilmari Mannsåker Steinbrunner Ed Avis Guillem Jover James E. Keenan Kevin Ryde Ben Tilly =over 4 =item * Tim Jenness =item * Karen Etheridge =item * David Golden =item * Slaven Rezic =item * mohawk2 =item * Roy Ivy III =item * Peter Rabbitson =item * Olivier Mengué =item * Peter John Acklam =item * Tim Gim Yee =item * Nicolas R =item * Brian Mowrey =item * Dagfinn Ilmari Mannsåker =item * David Steinbrunner =item * Ed Avis =item * Guillem Jover =item * James E. Keenan =item * Kevin Ryde =item * Ben Tilly =back =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2020 by Tim Jenness and the UK Particle Physics and Astronomy Research Council. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut FILE8902686e/File/Path.pmpackage File::Path; use 5.005_04; use strict; use Cwd 'getcwd'; use File::Basename (); use File::Spec (); BEGIN { if ( $] < 5.006 ) { # can't say 'opendir my $dh, $dirname' # need to initialise $dh eval 'use Symbol'; } } use Exporter (); use vars qw($VERSION @ISA @EXPORT @EXPORT_OK); $VERSION = '2.18'; $VERSION = eval $VERSION; @ISA = qw(Exporter); @EXPORT = qw(mkpath rmtree); @EXPORT_OK = qw(make_path remove_tree); BEGIN { for (qw(VMS MacOS MSWin32 os2)) { no strict 'refs'; *{"_IS_\U$_"} = $^O eq $_ ? sub () { 1 } : sub () { 0 }; } # These OSes complain if you want to remove a file that you have no # write permission to: *_FORCE_WRITABLE = ( grep { $^O eq $_ } qw(amigaos dos epoc MSWin32 MacOS os2) ) ? sub () { 1 } : sub () { 0 }; # Unix-like systems need to stat each directory in order to detect # race condition. MS-Windows is immune to this particular attack. *_NEED_STAT_CHECK = !(_IS_MSWIN32()) ? sub () { 1 } : sub () { 0 }; } sub _carp { require Carp; goto &Carp::carp; } sub _croak { require Carp; goto &Carp::croak; } sub _error { my $arg = shift; my $message = shift; my $object = shift; if ( $arg->{error} ) { $object = '' unless defined $object; $message .= ": $!" if $!; push @{ ${ $arg->{error} } }, { $object => $message }; } else { _carp( defined($object) ? "$message for $object: $!" : "$message: $!" ); } } sub __is_arg { my ($arg) = @_; # If client code blessed an array ref to HASH, this will not work # properly. We could have done $arg->isa() wrapped in eval, but # that would be expensive. This implementation should suffice. # We could have also used Scalar::Util:blessed, but we choose not # to add this dependency return ( ref $arg eq 'HASH' ); } sub make_path { push @_, {} unless @_ and __is_arg( $_[-1] ); goto &mkpath; } sub mkpath { my $old_style = !( @_ and __is_arg( $_[-1] ) ); my $data; my $paths; if ($old_style) { my ( $verbose, $mode ); ( $paths, $verbose, $mode ) = @_; $paths = [$paths] unless UNIVERSAL::isa( $paths, 'ARRAY' ); $data->{verbose} = $verbose; $data->{mode} = defined $mode ? $mode : oct '777'; } else { my %args_permitted = map { $_ => 1 } ( qw| chmod error group mask mode owner uid user verbose | ); my %not_on_win32_args = map { $_ => 1 } ( qw| group owner uid user | ); my @bad_args = (); my @win32_implausible_args = (); my $arg = pop @_; for my $k (sort keys %{$arg}) { if (! $args_permitted{$k}) { push @bad_args, $k; } elsif ($not_on_win32_args{$k} and _IS_MSWIN32) { push @win32_implausible_args, $k; } else { $data->{$k} = $arg->{$k}; } } _carp("Unrecognized option(s) passed to mkpath() or make_path(): @bad_args") if @bad_args; _carp("Option(s) implausible on Win32 passed to mkpath() or make_path(): @win32_implausible_args") if @win32_implausible_args; $data->{mode} = delete $data->{mask} if exists $data->{mask}; $data->{mode} = oct '777' unless exists $data->{mode}; ${ $data->{error} } = [] if exists $data->{error}; unless (@win32_implausible_args) { $data->{owner} = delete $data->{user} if exists $data->{user}; $data->{owner} = delete $data->{uid} if exists $data->{uid}; if ( exists $data->{owner} and $data->{owner} =~ /\D/ ) { my $uid = ( getpwnam $data->{owner} )[2]; if ( defined $uid ) { $data->{owner} = $uid; } else { _error( $data, "unable to map $data->{owner} to a uid, ownership not changed" ); delete $data->{owner}; } } if ( exists $data->{group} and $data->{group} =~ /\D/ ) { my $gid = ( getgrnam $data->{group} )[2]; if ( defined $gid ) { $data->{group} = $gid; } else { _error( $data, "unable to map $data->{group} to a gid, group ownership not changed" ); delete $data->{group}; } } if ( exists $data->{owner} and not exists $data->{group} ) { $data->{group} = -1; # chown will leave group unchanged } if ( exists $data->{group} and not exists $data->{owner} ) { $data->{owner} = -1; # chown will leave owner unchanged } } $paths = [@_]; } return _mkpath( $data, $paths ); } sub _mkpath { my $data = shift; my $paths = shift; my ( @created ); foreach my $path ( @{$paths} ) { next unless defined($path) and length($path); $path .= '/' if _IS_OS2 and $path =~ /^\w:\z/s; # feature of CRT # Logic wants Unix paths, so go with the flow. if (_IS_VMS) { next if $path eq '/'; $path = VMS::Filespec::unixify($path); } next if -d $path; my $parent = File::Basename::dirname($path); # Coverage note: It's not clear how we would test the condition: # '-d $parent or $path eq $parent' unless ( -d $parent or $path eq $parent ) { push( @created, _mkpath( $data, [$parent] ) ); } print "mkdir $path\n" if $data->{verbose}; if ( mkdir( $path, $data->{mode} ) ) { push( @created, $path ); if ( exists $data->{owner} ) { # NB: $data->{group} guaranteed to be set during initialisation if ( !chown $data->{owner}, $data->{group}, $path ) { _error( $data, "Cannot change ownership of $path to $data->{owner}:$data->{group}" ); } } if ( exists $data->{chmod} ) { # Coverage note: It's not clear how we would trigger the next # 'if' block. Failure of 'chmod' might first result in a # system error: "Permission denied". if ( !chmod $data->{chmod}, $path ) { _error( $data, "Cannot change permissions of $path to $data->{chmod}" ); } } } else { my $save_bang = $!; # From 'perldoc perlvar': $EXTENDED_OS_ERROR ($^E) is documented # as: # Error information specific to the current operating system. At the # moment, this differs from "$!" under only VMS, OS/2, and Win32 # (and for MacPerl). On all other platforms, $^E is always just the # same as $!. my ( $e, $e1 ) = ( $save_bang, $^E ); $e .= "; $e1" if $e ne $e1; # allow for another process to have created it meanwhile if ( ! -d $path ) { $! = $save_bang; if ( $data->{error} ) { push @{ ${ $data->{error} } }, { $path => $e }; } else { _croak("mkdir $path: $e"); } } } } return @created; } sub remove_tree { push @_, {} unless @_ and __is_arg( $_[-1] ); goto &rmtree; } sub _is_subdir { my ( $dir, $test ) = @_; my ( $dv, $dd ) = File::Spec->splitpath( $dir, 1 ); my ( $tv, $td ) = File::Spec->splitpath( $test, 1 ); # not on same volume return 0 if $dv ne $tv; my @d = File::Spec->splitdir($dd); my @t = File::Spec->splitdir($td); # @t can't be a subdir if it's shorter than @d return 0 if @t < @d; return join( '/', @d ) eq join( '/', splice @t, 0, +@d ); } sub rmtree { my $old_style = !( @_ and __is_arg( $_[-1] ) ); my ($arg, $data, $paths); if ($old_style) { my ( $verbose, $safe ); ( $paths, $verbose, $safe ) = @_; $data->{verbose} = $verbose; $data->{safe} = defined $safe ? $safe : 0; if ( defined($paths) and length($paths) ) { $paths = [$paths] unless UNIVERSAL::isa( $paths, 'ARRAY' ); } else { _carp("No root path(s) specified\n"); return 0; } } else { my %args_permitted = map { $_ => 1 } ( qw| error keep_root result safe verbose | ); my @bad_args = (); my $arg = pop @_; for my $k (sort keys %{$arg}) { if (! $args_permitted{$k}) { push @bad_args, $k; } else { $data->{$k} = $arg->{$k}; } } _carp("Unrecognized option(s) passed to remove_tree(): @bad_args") if @bad_args; ${ $data->{error} } = [] if exists $data->{error}; ${ $data->{result} } = [] if exists $data->{result}; # Wouldn't it make sense to do some validation on @_ before assigning # to $paths here? # In the $old_style case we guarantee that each path is both defined # and non-empty. We don't check that here, which means we have to # check it later in the first condition in this line: # if ( $ortho_root_length && _is_subdir( $ortho_root, $ortho_cwd ) ) { # Granted, that would be a change in behavior for the two # non-old-style interfaces. $paths = [@_]; } $data->{prefix} = ''; $data->{depth} = 0; my @clean_path; $data->{cwd} = getcwd() or do { _error( $data, "cannot fetch initial working directory" ); return 0; }; for ( $data->{cwd} ) { /\A(.*)\Z/s; $_ = $1 } # untaint for my $p (@$paths) { # need to fixup case and map \ to / on Windows my $ortho_root = _IS_MSWIN32 ? _slash_lc($p) : $p; my $ortho_cwd = _IS_MSWIN32 ? _slash_lc( $data->{cwd} ) : $data->{cwd}; my $ortho_root_length = length($ortho_root); $ortho_root_length-- if _IS_VMS; # don't compare '.' with ']' if ( $ortho_root_length && _is_subdir( $ortho_root, $ortho_cwd ) ) { local $! = 0; _error( $data, "cannot remove path when cwd is $data->{cwd}", $p ); next; } if (_IS_MACOS) { $p = ":$p" unless $p =~ /:/; $p .= ":" unless $p =~ /:\z/; } elsif ( _IS_MSWIN32 ) { $p =~ s{[/\\]\z}{}; } else { $p =~ s{/\z}{}; } push @clean_path, $p; } @{$data}{qw(device inode)} = ( lstat $data->{cwd} )[ 0, 1 ] or do { _error( $data, "cannot stat initial working directory", $data->{cwd} ); return 0; }; return _rmtree( $data, \@clean_path ); } sub _rmtree { my $data = shift; my $paths = shift; my $count = 0; my $curdir = File::Spec->curdir(); my $updir = File::Spec->updir(); my ( @files, $root ); ROOT_DIR: foreach my $root (@$paths) { # since we chdir into each directory, it may not be obvious # to figure out where we are if we generate a message about # a file name. We therefore construct a semi-canonical # filename, anchored from the directory being unlinked (as # opposed to being truly canonical, anchored from the root (/). my $canon = $data->{prefix} ? File::Spec->catfile( $data->{prefix}, $root ) : $root; my ( $ldev, $lino, $perm ) = ( lstat $root )[ 0, 1, 2 ] or next ROOT_DIR; if ( -d _ ) { $root = VMS::Filespec::vmspath( VMS::Filespec::pathify($root) ) if _IS_VMS; if ( !chdir($root) ) { # see if we can escalate privileges to get in # (e.g. funny protection mask such as -w- instead of rwx) # This uses fchmod to avoid traversing outside of the proper # location (CVE-2017-6512) my $root_fh; if (open($root_fh, '<', $root)) { my ($fh_dev, $fh_inode) = (stat $root_fh )[0,1]; $perm &= oct '7777'; my $nperm = $perm | oct '700'; local $@; if ( !( $data->{safe} or $nperm == $perm or !-d _ or $fh_dev ne $ldev or $fh_inode ne $lino or eval { chmod( $nperm, $root_fh ) } ) ) { _error( $data, "cannot make child directory read-write-exec", $canon ); next ROOT_DIR; } close $root_fh; } if ( !chdir($root) ) { _error( $data, "cannot chdir to child", $canon ); next ROOT_DIR; } } my ( $cur_dev, $cur_inode, $perm ) = ( stat $curdir )[ 0, 1, 2 ] or do { _error( $data, "cannot stat current working directory", $canon ); next ROOT_DIR; }; if (_NEED_STAT_CHECK) { ( $ldev eq $cur_dev and $lino eq $cur_inode ) or _croak( "directory $canon changed before chdir, expected dev=$ldev ino=$lino, actual dev=$cur_dev ino=$cur_inode, aborting." ); } $perm &= oct '7777'; # don't forget setuid, setgid, sticky bits my $nperm = $perm | oct '700'; # notabene: 0700 is for making readable in the first place, # it's also intended to change it to writable in case we have # to recurse in which case we are better than rm -rf for # subtrees with strange permissions if ( !( $data->{safe} or $nperm == $perm or chmod( $nperm, $curdir ) ) ) { _error( $data, "cannot make directory read+writeable", $canon ); $nperm = $perm; } my $d; $d = gensym() if $] < 5.006; if ( !opendir $d, $curdir ) { _error( $data, "cannot opendir", $canon ); @files = (); } else { if ( !defined ${^TAINT} or ${^TAINT} ) { # Blindly untaint dir names if taint mode is active @files = map { /\A(.*)\z/s; $1 } readdir $d; } else { @files = readdir $d; } closedir $d; } if (_IS_VMS) { # Deleting large numbers of files from VMS Files-11 # filesystems is faster if done in reverse ASCIIbetical order. # include '.' to '.;' from blead patch #31775 @files = map { $_ eq '.' ? '.;' : $_ } reverse @files; } @files = grep { $_ ne $updir and $_ ne $curdir } @files; if (@files) { # remove the contained files before the directory itself my $narg = {%$data}; @{$narg}{qw(device inode cwd prefix depth)} = ( $cur_dev, $cur_inode, $updir, $canon, $data->{depth} + 1 ); $count += _rmtree( $narg, \@files ); } # restore directory permissions of required now (in case the rmdir # below fails), while we are still in the directory and may do so # without a race via '.' if ( $nperm != $perm and not chmod( $perm, $curdir ) ) { _error( $data, "cannot reset chmod", $canon ); } # don't leave the client code in an unexpected directory chdir( $data->{cwd} ) or _croak("cannot chdir to $data->{cwd} from $canon: $!, aborting."); # ensure that a chdir upwards didn't take us somewhere other # than we expected (see CVE-2002-0435) ( $cur_dev, $cur_inode ) = ( stat $curdir )[ 0, 1 ] or _croak( "cannot stat prior working directory $data->{cwd}: $!, aborting." ); if (_NEED_STAT_CHECK) { ( $data->{device} eq $cur_dev and $data->{inode} eq $cur_inode ) or _croak( "previous directory $data->{cwd} " . "changed before entering $canon, " . "expected dev=$ldev ino=$lino, " . "actual dev=$cur_dev ino=$cur_inode, aborting." ); } if ( $data->{depth} or !$data->{keep_root} ) { if ( $data->{safe} && ( _IS_VMS ? !&VMS::Filespec::candelete($root) : !-w $root ) ) { print "skipped $root\n" if $data->{verbose}; next ROOT_DIR; } if ( _FORCE_WRITABLE and !chmod $perm | oct '700', $root ) { _error( $data, "cannot make directory writeable", $canon ); } print "rmdir $root\n" if $data->{verbose}; if ( rmdir $root ) { push @{ ${ $data->{result} } }, $root if $data->{result}; ++$count; } else { _error( $data, "cannot remove directory", $canon ); if ( _FORCE_WRITABLE && !chmod( $perm, ( _IS_VMS ? VMS::Filespec::fileify($root) : $root ) ) ) { _error( $data, sprintf( "cannot restore permissions to 0%o", $perm ), $canon ); } } } } else { # not a directory $root = VMS::Filespec::vmsify("./$root") if _IS_VMS && !File::Spec->file_name_is_absolute($root) && ( $root !~ m/(?]+/ ); # not already in VMS syntax if ( $data->{safe} && ( _IS_VMS ? !&VMS::Filespec::candelete($root) : !( -l $root || -w $root ) ) ) { print "skipped $root\n" if $data->{verbose}; next ROOT_DIR; } my $nperm = $perm & oct '7777' | oct '600'; if ( _FORCE_WRITABLE and $nperm != $perm and not chmod $nperm, $root ) { _error( $data, "cannot make file writeable", $canon ); } print "unlink $canon\n" if $data->{verbose}; # delete all versions under VMS for ( ; ; ) { if ( unlink $root ) { push @{ ${ $data->{result} } }, $root if $data->{result}; } else { _error( $data, "cannot unlink file", $canon ); _FORCE_WRITABLE and chmod( $perm, $root ) or _error( $data, sprintf( "cannot restore permissions to 0%o", $perm ), $canon ); last; } ++$count; last unless _IS_VMS && lstat $root; } } } return $count; } sub _slash_lc { # fix up slashes and case on MSWin32 so that we can determine that # c:\path\to\dir is underneath C:/Path/To my $path = shift; $path =~ tr{\\}{/}; return lc($path); } 1; __END__ =head1 NAME File::Path - Create or remove directory trees =head1 VERSION 2.18 - released November 4 2020. =head1 SYNOPSIS use File::Path qw(make_path remove_tree); @created = make_path('foo/bar/baz', '/zug/zwang'); @created = make_path('foo/bar/baz', '/zug/zwang', { verbose => 1, mode => 0711, }); make_path('foo/bar/baz', '/zug/zwang', { chmod => 0777, }); $removed_count = remove_tree('foo/bar/baz', '/zug/zwang', { verbose => 1, error => \my $err_list, safe => 1, }); # legacy (interface promoted before v2.00) @created = mkpath('/foo/bar/baz'); @created = mkpath('/foo/bar/baz', 1, 0711); @created = mkpath(['/foo/bar/baz', 'blurfl/quux'], 1, 0711); $removed_count = rmtree('foo/bar/baz', 1, 1); $removed_count = rmtree(['foo/bar/baz', 'blurfl/quux'], 1, 1); # legacy (interface promoted before v2.06) @created = mkpath('foo/bar/baz', '/zug/zwang', { verbose => 1, mode => 0711 }); $removed_count = rmtree('foo/bar/baz', '/zug/zwang', { verbose => 1, mode => 0711 }); =head1 DESCRIPTION This module provides a convenient way to create directories of arbitrary depth and to delete an entire directory subtree from the filesystem. The following functions are provided: =over =item make_path( $dir1, $dir2, .... ) =item make_path( $dir1, $dir2, ...., \%opts ) The C function creates the given directories if they don't exist before, much like the Unix command C. The function accepts a list of directories to be created. Its behaviour may be tuned by an optional hashref appearing as the last parameter on the call. The function returns the list of directories actually created during the call; in scalar context the number of directories created. The following keys are recognised in the option hash: =over =item mode => $num The numeric permissions mode to apply to each created directory (defaults to C<0777>), to be modified by the current C. If the directory already exists (and thus does not need to be created), the permissions will not be modified. C is recognised as an alias for this parameter. =item chmod => $num Takes a numeric mode to apply to each created directory (not modified by the current C). If the directory already exists (and thus does not need to be created), the permissions will not be modified. =item verbose => $bool If present, will cause C to print the name of each directory as it is created. By default nothing is printed. =item error => \$err If present, it should be a reference to a scalar. This scalar will be made to reference an array, which will be used to store any errors that are encountered. See the L section for more information. If this parameter is not used, certain error conditions may raise a fatal error that will cause the program to halt, unless trapped in an C block. =item owner => $owner =item user => $owner =item uid => $owner If present, will cause any created directory to be owned by C<$owner>. If the value is numeric, it will be interpreted as a uid; otherwise a username is assumed. An error will be issued if the username cannot be mapped to a uid, the uid does not exist or the process lacks the privileges to change ownership. Ownership of directories that already exist will not be changed. C and C are aliases of C. =item group => $group If present, will cause any created directory to be owned by the group C<$group>. If the value is numeric, it will be interpreted as a gid; otherwise a group name is assumed. An error will be issued if the group name cannot be mapped to a gid, the gid does not exist or the process lacks the privileges to change group ownership. Group ownership of directories that already exist will not be changed. make_path '/var/tmp/webcache', {owner=>'nobody', group=>'nogroup'}; =back =item mkpath( $dir ) =item mkpath( $dir, $verbose, $mode ) =item mkpath( [$dir1, $dir2,...], $verbose, $mode ) =item mkpath( $dir1, $dir2,..., \%opt ) The C function provide the legacy interface of C with a different interpretation of the arguments passed. The behaviour and return value of the function is otherwise identical to C. =item remove_tree( $dir1, $dir2, .... ) =item remove_tree( $dir1, $dir2, ...., \%opts ) The C function deletes the given directories and any files and subdirectories they might contain, much like the Unix command C or the Windows commands C and C. The function accepts a list of directories to be removed. (In point of fact, it will also accept filesystem entries which are not directories, such as regular files and symlinks. But, as its name suggests, its intent is to remove trees rather than individual files.) C's behaviour may be tuned by an optional hashref appearing as the last parameter on the call. If an empty string is passed to C, an error will occur. B For security reasons, we strongly advise use of the hashref-as-final-argument syntax -- specifically, with a setting of the C element to a true value. remove_tree( $dir1, $dir2, ...., { safe => 1, ... # other key-value pairs }, ); The function returns the number of files successfully deleted. The following keys are recognised in the option hash: =over =item verbose => $bool If present, will cause C to print the name of each file as it is unlinked. By default nothing is printed. =item safe => $bool When set to a true value, will cause C to skip the files for which the process lacks the required privileges needed to delete files, such as delete privileges on VMS. In other words, the code will make no attempt to alter file permissions. Thus, if the process is interrupted, no filesystem object will be left in a more permissive mode. =item keep_root => $bool When set to a true value, will cause all files and subdirectories to be removed, except the initially specified directories. This comes in handy when cleaning out an application's scratch directory. remove_tree( '/tmp', {keep_root => 1} ); =item result => \$res If present, it should be a reference to a scalar. This scalar will be made to reference an array, which will be used to store all files and directories unlinked during the call. If nothing is unlinked, the array will be empty. remove_tree( '/tmp', {result => \my $list} ); print "unlinked $_\n" for @$list; This is a useful alternative to the C key. =item error => \$err If present, it should be a reference to a scalar. This scalar will be made to reference an array, which will be used to store any errors that are encountered. See the L section for more information. Removing things is a much more dangerous proposition than creating things. As such, there are certain conditions that C may encounter that are so dangerous that the only sane action left is to kill the program. Use C to trap all that is reasonable (problems with permissions and the like), and let it die if things get out of hand. This is the safest course of action. =back =item rmtree( $dir ) =item rmtree( $dir, $verbose, $safe ) =item rmtree( [$dir1, $dir2,...], $verbose, $safe ) =item rmtree( $dir1, $dir2,..., \%opt ) The C function provide the legacy interface of C with a different interpretation of the arguments passed. The behaviour and return value of the function is otherwise identical to C. B For security reasons, we strongly advise use of the hashref-as-final-argument syntax, specifically with a setting of the C element to a true value. rmtree( $dir1, $dir2, ...., { safe => 1, ... # other key-value pairs }, ); =back =head2 ERROR HANDLING =over 4 =item B The following error handling mechanism is consistent throughout all code paths EXCEPT in cases where the ROOT node is nonexistent. In version 2.11 the maintainers attempted to rectify this inconsistency but too many downstream modules encountered problems. In such case, if you require root node evaluation or error checking prior to calling C or C, you should take additional precautions. =back If C or C encounters an error, a diagnostic message will be printed to C via C (for non-fatal errors) or via C (for fatal errors). If this behaviour is not desirable, the C attribute may be used to hold a reference to a variable, which will be used to store the diagnostics. The variable is made a reference to an array of hash references. Each hash contain a single key/value pair where the key is the name of the file, and the value is the error message (including the contents of C<$!> when appropriate). If a general error is encountered the diagnostic key will be empty. An example usage looks like: remove_tree( 'foo/bar', 'bar/rat', {error => \my $err} ); if ($err && @$err) { for my $diag (@$err) { my ($file, $message) = %$diag; if ($file eq '') { print "general error: $message\n"; } else { print "problem unlinking $file: $message\n"; } } } else { print "No error encountered\n"; } Note that if no errors are encountered, C<$err> will reference an empty array. This means that C<$err> will always end up TRUE; so you need to test C<@$err> to determine if errors occurred. =head2 NOTES C blindly exports C and C into the current namespace. These days, this is considered bad style, but to change it now would break too much code. Nonetheless, you are invited to specify what it is you are expecting to use: use File::Path 'rmtree'; The routines C and C are B exported by default. You must specify which ones you want to use. use File::Path 'remove_tree'; Note that a side-effect of the above is that C and C are no longer exported at all. This is due to the way the C module works. If you are migrating a codebase to use the new interface, you will have to list everything explicitly. But that's just good practice anyway. use File::Path qw(remove_tree rmtree); =head3 API CHANGES The API was changed in the 2.0 branch. For a time, C and C tried, unsuccessfully, to deal with the two different calling mechanisms. This approach was considered a failure. The new semantics are now only available with C and C. The old semantics are only available through C and C. Users are strongly encouraged to upgrade to at least 2.08 in order to avoid surprises. =head3 SECURITY CONSIDERATIONS There were race conditions in the 1.x implementations of File::Path's C function (although sometimes patched depending on the OS distribution or platform). The 2.0 version contains code to avoid the problem mentioned in CVE-2002-0435. See the following pages for more information: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=286905 http://www.nntp.perl.org/group/perl.perl5.porters/2005/01/msg97623.html http://www.debian.org/security/2005/dsa-696 Additionally, unless the C parameter is set (or the third parameter in the traditional interface is TRUE), should a C be interrupted, files that were originally in read-only mode may now have their permissions set to a read-write (or "delete OK") mode. The following CVE reports were previously filed against File-Path and are believed to have been addressed: =over 4 =item * L =item * L =back In February 2017 the cPanel Security Team reported an additional vulnerability in File-Path. The C logic to make directories traversable can be abused to set the mode on an attacker-chosen file to an attacker-chosen value. This is due to the time-of-check-to-time-of-use (TOCTTOU) race condition (L) between the C that decides the inode is a directory and the C that tries to make it user-rwx. CPAN versions 2.13 and later incorporate a patch provided by John Lightsey to address this problem. This vulnerability has been reported as CVE-2017-6512. =head1 DIAGNOSTICS FATAL errors will cause the program to halt (C), since the problem is so severe that it would be dangerous to continue. (This can always be trapped with C, but it's not a good idea. Under the circumstances, dying is the best thing to do). SEVERE errors may be trapped using the modern interface. If the they are not trapped, or if the old interface is used, such an error will cause the program will halt. All other errors may be trapped using the modern interface, otherwise they will be Ced about. Program execution will not be halted. =over 4 =item mkdir [path]: [errmsg] (SEVERE) C was unable to create the path. Probably some sort of permissions error at the point of departure or insufficient resources (such as free inodes on Unix). =item No root path(s) specified C was not given any paths to create. This message is only emitted if the routine is called with the traditional interface. The modern interface will remain silent if given nothing to do. =item No such file or directory On Windows, if C gives you this warning, it may mean that you have exceeded your filesystem's maximum path length. =item cannot fetch initial working directory: [errmsg] C attempted to determine the initial directory by calling C, but the call failed for some reason. No attempt will be made to delete anything. =item cannot stat initial working directory: [errmsg] C attempted to stat the initial directory (after having successfully obtained its name via C), however, the call failed for some reason. No attempt will be made to delete anything. =item cannot chdir to [dir]: [errmsg] C attempted to set the working directory in order to begin deleting the objects therein, but was unsuccessful. This is usually a permissions issue. The routine will continue to delete other things, but this directory will be left intact. =item directory [dir] changed before chdir, expected dev=[n] ino=[n], actual dev=[n] ino=[n], aborting. (FATAL) C recorded the device and inode of a directory, and then moved into it. It then performed a C on the current directory and detected that the device and inode were no longer the same. As this is at the heart of the race condition problem, the program will die at this point. =item cannot make directory [dir] read+writeable: [errmsg] C attempted to change the permissions on the current directory to ensure that subsequent unlinkings would not run into problems, but was unable to do so. The permissions remain as they were, and the program will carry on, doing the best it can. =item cannot read [dir]: [errmsg] C tried to read the contents of the directory in order to acquire the names of the directory entries to be unlinked, but was unsuccessful. This is usually a permissions issue. The program will continue, but the files in this directory will remain after the call. =item cannot reset chmod [dir]: [errmsg] C, after having deleted everything in a directory, attempted to restore its permissions to the original state but failed. The directory may wind up being left behind. =item cannot remove [dir] when cwd is [dir] The current working directory of the program is F and you are attempting to remove an ancestor, such as F. The directory tree is left untouched. The solution is to C out of the child directory to a place outside the directory tree to be removed. =item cannot chdir to [parent-dir] from [child-dir]: [errmsg], aborting. (FATAL) C, after having deleted everything and restored the permissions of a directory, was unable to chdir back to the parent. The program halts to avoid a race condition from occurring. =item cannot stat prior working directory [dir]: [errmsg], aborting. (FATAL) C was unable to stat the parent directory after having returned from the child. Since there is no way of knowing if we returned to where we think we should be (by comparing device and inode) the only way out is to C. =item previous directory [parent-dir] changed before entering [child-dir], expected dev=[n] ino=[n], actual dev=[n] ino=[n], aborting. (FATAL) When C returned from deleting files in a child directory, a check revealed that the parent directory it returned to wasn't the one it started out from. This is considered a sign of malicious activity. =item cannot make directory [dir] writeable: [errmsg] Just before removing a directory (after having successfully removed everything it contained), C attempted to set the permissions on the directory to ensure it could be removed and failed. Program execution continues, but the directory may possibly not be deleted. =item cannot remove directory [dir]: [errmsg] C attempted to remove a directory, but failed. This may be because some objects that were unable to be removed remain in the directory, or it could be a permissions issue. The directory will be left behind. =item cannot restore permissions of [dir] to [0nnn]: [errmsg] After having failed to remove a directory, C was unable to restore its permissions from a permissive state back to a possibly more restrictive setting. (Permissions given in octal). =item cannot make file [file] writeable: [errmsg] C attempted to force the permissions of a file to ensure it could be deleted, but failed to do so. It will, however, still attempt to unlink the file. =item cannot unlink file [file]: [errmsg] C failed to remove a file. Probably a permissions issue. =item cannot restore permissions of [file] to [0nnn]: [errmsg] After having failed to remove a file, C was also unable to restore the permissions on the file to a possibly less permissive setting. (Permissions given in octal). =item unable to map [owner] to a uid, ownership not changed"); C was instructed to give the ownership of created directories to the symbolic name [owner], but C did not return the corresponding numeric uid. The directory will be created, but ownership will not be changed. =item unable to map [group] to a gid, group ownership not changed C was instructed to give the group ownership of created directories to the symbolic name [group], but C did not return the corresponding numeric gid. The directory will be created, but group ownership will not be changed. =back =head1 SEE ALSO =over 4 =item * L Allows files and directories to be moved to the Trashcan/Recycle Bin (where they may later be restored if necessary) if the operating system supports such functionality. This feature may one day be made available directly in C. =item * L When removing directory trees, if you want to examine each file to decide whether to delete it (and possibly leaving large swathes alone), F offers a convenient and flexible approach to examining directory trees. =back =head1 BUGS AND LIMITATIONS The following describes F limitations and how to report bugs. =head2 MULTITHREADED APPLICATIONS F C and C will not work with multithreaded applications due to its use of C. At this time, no warning or error is generated in this situation. You will certainly encounter unexpected results. The implementation that surfaces this limitation will not be changed. See the F module for functionality similar to F but which does not C. =head2 NFS Mount Points F is not responsible for triggering the automounts, mirror mounts, and the contents of network mounted filesystems. If your NFS implementation requires an action to be performed on the filesystem in order for F to perform operations, it is strongly suggested you assure filesystem availability by reading the root of the mounted filesystem. =head2 REPORTING BUGS Please report all bugs on the RT queue, either via the web interface: L or by email: bug-File-Path@rt.cpan.org In either case, please B patches to the bug report rather than including them inline in the web post or the body of the email. You can also send pull requests to the Github repository: L =head1 ACKNOWLEDGEMENTS Paul Szabo identified the race condition originally, and Brendan O'Dea wrote an implementation for Debian that addressed the problem. That code was used as a basis for the current code. Their efforts are greatly appreciated. Gisle Aas made a number of improvements to the documentation for 2.07 and his advice and assistance is also greatly appreciated. =head1 AUTHORS Prior authors and maintainers: Tim Bunce, Charles Bailey, and David Landgren >. Current maintainers are Richard Elberger > and James (Jim) Keenan >. =head1 CONTRIBUTORS Contributors to File::Path, in alphabetical order by first name. =over 1 =item > =item Charlie Gonzalez > =item Craig A. Berry > =item James E Keenan > =item John Lightsey > =item Nigel Horne > =item Richard Elberger > =item Ryan Yee > =item Skye Shaw > =item Tom Lutz > =item Will Sheppard > =back =head1 COPYRIGHT This module is copyright (C) Charles Bailey, Tim Bunce, David Landgren, James Keenan and Richard Elberger 1995-2020. All rights reserved. =head1 LICENSE This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut FILE9f207e19/File/GlobMapper.pm=Cpackage File::GlobMapper; use strict; use warnings; use Carp; our ($CSH_GLOB); BEGIN { if ($] < 5.006) { require File::BSDGlob; import File::BSDGlob qw(:glob) ; $CSH_GLOB = File::BSDGlob::GLOB_CSH() ; *globber = \&File::BSDGlob::csh_glob; } else { require File::Glob; import File::Glob qw(:glob) ; $CSH_GLOB = File::Glob::GLOB_CSH() ; #*globber = \&File::Glob::bsd_glob; *globber = \&File::Glob::csh_glob; } } our ($Error); our ($VERSION, @EXPORT_OK); $VERSION = '1.001'; @EXPORT_OK = qw( globmap ); our ($noPreBS, $metachars, $matchMetaRE, %mapping, %wildCount); $noPreBS = '(? '([^/]*)', '?' => '([^/])', '.' => '\.', '[' => '([', '(' => '(', ')' => ')', ); %wildCount = map { $_ => 1 } qw/ * ? . { ( [ /; sub globmap ($$;) { my $inputGlob = shift ; my $outputGlob = shift ; my $obj = File::GlobMapper->new($inputGlob, $outputGlob, @_) or croak "globmap: $Error" ; return $obj->getFileMap(); } sub new { my $class = shift ; my $inputGlob = shift ; my $outputGlob = shift ; # TODO -- flags needs to default to whatever File::Glob does my $flags = shift || $CSH_GLOB ; #my $flags = shift ; $inputGlob =~ s/^\s*\<\s*//; $inputGlob =~ s/\s*\>\s*$//; $outputGlob =~ s/^\s*\<\s*//; $outputGlob =~ s/\s*\>\s*$//; my %object = ( InputGlob => $inputGlob, OutputGlob => $outputGlob, GlobFlags => $flags, Braces => 0, WildCount => 0, Pairs => [], Sigil => '#', ); my $self = bless \%object, ref($class) || $class ; $self->_parseInputGlob() or return undef ; $self->_parseOutputGlob() or return undef ; my @inputFiles = globber($self->{InputGlob}, $flags) ; if (GLOB_ERROR) { $Error = $!; return undef ; } #if (whatever) { my $missing = grep { ! -e $_ } @inputFiles ; if ($missing) { $Error = "$missing input files do not exist"; return undef ; } } $self->{InputFiles} = \@inputFiles ; $self->_getFiles() or return undef ; return $self; } sub _retError { my $string = shift ; $Error = "$string in input fileglob" ; return undef ; } sub _unmatched { my $delimeter = shift ; _retError("Unmatched $delimeter"); return undef ; } sub _parseBit { my $self = shift ; my $string = shift ; my $out = ''; my $depth = 0 ; while ($string =~ s/(.*?)$noPreBS(,|$matchMetaRE)//) { $out .= quotemeta($1) ; $out .= $mapping{$2} if defined $mapping{$2}; ++ $self->{WildCount} if $wildCount{$2} ; if ($2 eq ',') { return _unmatched("(") if $depth ; $out .= '|'; } elsif ($2 eq '(') { ++ $depth ; } elsif ($2 eq ')') { return _unmatched(")") if ! $depth ; -- $depth ; } elsif ($2 eq '[') { # TODO -- quotemeta & check no '/' # TODO -- check for \] & other \ within the [] $string =~ s#(.*?\])## or return _unmatched("["); $out .= "$1)" ; } elsif ($2 eq ']') { return _unmatched("]"); } elsif ($2 eq '{' || $2 eq '}') { return _retError("Nested {} not allowed"); } } $out .= quotemeta $string; return _unmatched("(") if $depth ; return $out ; } sub _parseInputGlob { my $self = shift ; my $string = $self->{InputGlob} ; my $inGlob = ''; # Multiple concatenated *'s don't make sense #$string =~ s#\*\*+#*# ; # TODO -- Allow space to delimit patterns? #my @strings = split /\s+/, $string ; #for my $str (@strings) my $out = ''; my $depth = 0 ; while ($string =~ s/(.*?)$noPreBS($matchMetaRE)//) { $out .= quotemeta($1) ; $out .= $mapping{$2} if defined $mapping{$2}; ++ $self->{WildCount} if $wildCount{$2} ; if ($2 eq '(') { ++ $depth ; } elsif ($2 eq ')') { return _unmatched(")") if ! $depth ; -- $depth ; } elsif ($2 eq '[') { # TODO -- quotemeta & check no '/' or '(' or ')' # TODO -- check for \] & other \ within the [] $string =~ s#(.*?\])## or return _unmatched("["); $out .= "$1)" ; } elsif ($2 eq ']') { return _unmatched("]"); } elsif ($2 eq '}') { return _unmatched("}"); } elsif ($2 eq '{') { # TODO -- check no '/' within the {} # TODO -- check for \} & other \ within the {} my $tmp ; unless ( $string =~ s/(.*?)$noPreBS\}//) { return _unmatched("{"); } #$string =~ s#(.*?)\}##; #my $alt = join '|', # map { quotemeta $_ } # split "$noPreBS,", $1 ; my $alt = $self->_parseBit($1); defined $alt or return 0 ; $out .= "($alt)" ; ++ $self->{Braces} ; } } return _unmatched("(") if $depth ; $out .= quotemeta $string ; $self->{InputGlob} =~ s/$noPreBS[\(\)]//g; $self->{InputPattern} = $out ; #print "# INPUT '$self->{InputGlob}' => '$out'\n"; return 1 ; } sub _parseOutputGlob { my $self = shift ; my $string = $self->{OutputGlob} ; my $maxwild = $self->{WildCount}; if ($self->{GlobFlags} & GLOB_TILDE) #if (1) { $string =~ s{ ^ ~ # find a leading tilde ( # save this in $1 [^/] # a non-slash character * # repeated 0 or more times (0 means me) ) }{ $1 ? (getpwnam($1))[7] : ( $ENV{HOME} || $ENV{LOGDIR} ) }ex; } # max #1 must be == to max no of '*' in input while ( $string =~ m/#(\d)/g ) { croak "Max wild is #$maxwild, you tried #$1" if $1 > $maxwild ; } my $noPreBS = '(?{OutputGlob}' => '$string'\n"; $self->{OutputPattern} = $string ; return 1 ; } sub _getFiles { my $self = shift ; my %outInMapping = (); my %inFiles = () ; foreach my $inFile (@{ $self->{InputFiles} }) { next if $inFiles{$inFile} ++ ; my $outFile = $inFile ; if ( $inFile =~ m/$self->{InputPattern}/ ) { no warnings 'uninitialized'; eval "\$outFile = $self->{OutputPattern};" ; if (defined $outInMapping{$outFile}) { $Error = "multiple input files map to one output file"; return undef ; } $outInMapping{$outFile} = $inFile; push @{ $self->{Pairs} }, [$inFile, $outFile]; } } return 1 ; } sub getFileMap { my $self = shift ; return $self->{Pairs} ; } sub getHash { my $self = shift ; return { map { $_->[0] => $_->[1] } @{ $self->{Pairs} } } ; } 1; __END__ =head1 NAME File::GlobMapper - Extend File Glob to Allow Input and Output Files =head1 SYNOPSIS use File::GlobMapper qw( globmap ); my $aref = globmap $input => $output or die $File::GlobMapper::Error ; my $gm = File::GlobMapper->new( $input => $output ) or die $File::GlobMapper::Error ; =head1 DESCRIPTION This module needs Perl5.005 or better. This module takes the existing C module as a starting point and extends it to allow new filenames to be derived from the files matched by C. This can be useful when carrying out batch operations on multiple files that have both an input filename and output filename and the output file can be derived from the input filename. Examples of operations where this can be useful include, file renaming, file copying and file compression. =head2 Behind The Scenes To help explain what C does, consider what code you would write if you wanted to rename all files in the current directory that ended in C<.tar.gz> to C<.tgz>. So say these files are in the current directory alpha.tar.gz beta.tar.gz gamma.tar.gz and they need renamed to this alpha.tgz beta.tgz gamma.tgz Below is a possible implementation of a script to carry out the rename (error cases have been omitted) foreach my $old ( glob "*.tar.gz" ) { my $new = $old; $new =~ s#(.*)\.tar\.gz$#$1.tgz# ; rename $old => $new or die "Cannot rename '$old' to '$new': $!\n; } Notice that a file glob pattern C<*.tar.gz> was used to match the C<.tar.gz> files, then a fairly similar regular expression was used in the substitute to allow the new filename to be created. Given that the file glob is just a cut-down regular expression and that it has already done a lot of the hard work in pattern matching the filenames, wouldn't it be handy to be able to use the patterns in the fileglob to drive the new filename? Well, that's I what C does. Here is same snippet of code rewritten using C for my $pair (globmap '<*.tar.gz>' => '<#1.tgz>' ) { my ($from, $to) = @$pair; rename $from => $to or die "Cannot rename '$old' to '$new': $!\n; } So how does it work? Behind the scenes the C function does a combination of a file glob to match existing filenames followed by a substitute to create the new filenames. Notice how both parameters to C are strings that are delimited by <>. This is done to make them look more like file globs - it is just syntactic sugar, but it can be handy when you want the strings to be visually distinctive. The enclosing <> are optional, so you don't have to use them - in fact the first thing globmap will do is remove these delimiters if they are present. The first parameter to C, C<*.tar.gz>, is an I. Once the enclosing "< ... >" is removed, this is passed (more or less) unchanged to C to carry out a file match. Next the fileglob C<*.tar.gz> is transformed behind the scenes into a full Perl regular expression, with the additional step of wrapping each transformed wildcard metacharacter sequence in parenthesis. In this case the input fileglob C<*.tar.gz> will be transformed into this Perl regular expression ([^/]*)\.tar\.gz Wrapping with parenthesis allows the wildcard parts of the Input File Glob to be referenced by the second parameter to C, C<#1.tgz>, the I. This parameter operates just like the replacement part of a substitute command. The difference is that the C<#1> syntax is used to reference sub-patterns matched in the input fileglob, rather than the C<$1> syntax that is used with perl regular expressions. In this case C<#1> is used to refer to the text matched by the C<*> in the Input File Glob. This makes it easier to use this module where the parameters to C are typed at the command line. The final step involves passing each filename matched by the C<*.tar.gz> file glob through the derived Perl regular expression in turn and expanding the output fileglob using it. The end result of all this is a list of pairs of filenames. By default that is what is returned by C. In this example the data structure returned will look like this ( ['alpha.tar.gz' => 'alpha.tgz'], ['beta.tar.gz' => 'beta.tgz' ], ['gamma.tar.gz' => 'gamma.tgz'] ) Each pair is an array reference with two elements - namely the I filename, that C has matched, and a I filename that is derived from the I filename. =head2 Limitations C has been kept simple deliberately, so it isn't intended to solve all filename mapping operations. Under the hood C (or for older versions of Perl, C) is used to match the files, so you will never have the flexibility of full Perl regular expression. =head2 Input File Glob The syntax for an Input FileGlob is identical to C, except for the following =over 5 =item 1. No nested {} =item 2. Whitespace does not delimit fileglobs. =item 3. The use of parenthesis can be used to capture parts of the input filename. =item 4. If an Input glob matches the same file more than once, only the first will be used. =back The syntax =over 5 =item B<~> =item B<~user> =item B<.> Matches a literal '.'. Equivalent to the Perl regular expression \. =item B<*> Matches zero or more characters, except '/'. Equivalent to the Perl regular expression [^/]* =item B Matches zero or one character, except '/'. Equivalent to the Perl regular expression [^/]? =item B<\> Backslash is used, as usual, to escape the next character. =item B<[]> Character class. =item B<{,}> Alternation =item B<()> Capturing parenthesis that work just like perl =back Any other character it taken literally. =head2 Output File Glob The Output File Glob is a normal string, with 2 glob-like features. The first is the '*' metacharacter. This will be replaced by the complete filename matched by the input file glob. So *.c *.Z The second is Output FileGlobs take the =over 5 =item "*" The "*" character will be replaced with the complete input filename. =item #1 Patterns of the form /#\d/ will be replaced with the =back =head2 Returned Data =head1 EXAMPLES =head2 A Rename script Below is a simple "rename" script that uses C to determine the source and destination filenames. use File::GlobMapper qw(globmap) ; use File::Copy; die "rename: Usage rename 'from' 'to'\n" unless @ARGV == 2 ; my $fromGlob = shift @ARGV; my $toGlob = shift @ARGV; my $pairs = globmap($fromGlob, $toGlob) or die $File::GlobMapper::Error; for my $pair (@$pairs) { my ($from, $to) = @$pair; move $from => $to ; } Here is an example that renames all c files to cpp. $ rename '*.c' '#1.cpp' =head2 A few example globmaps Below are a few examples of globmaps To copy all your .c file to a backup directory '' '' If you want to compress all '' '<*.gz>' To uncompress '' '' =head1 SEE ALSO L =head1 AUTHOR The I module was written by Paul Marquess, F. =head1 COPYRIGHT AND LICENSE Copyright (c) 2005 Paul Marquess. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. FILEa3d4c093/File/Find.pm"package File::Find; use 5.006; use strict; use warnings; use warnings::register; our $VERSION = '1.43'; use Exporter 'import'; require Cwd; our @EXPORT = qw(find finddepth); use strict; my $Is_VMS = $^O eq 'VMS'; my $Is_Win32 = $^O eq 'MSWin32'; require File::Basename; require File::Spec; # Should ideally be my() not our() but local() currently # refuses to operate on lexicals our %SLnkSeen; our ($wanted_callback, $avoid_nlink, $bydepth, $no_chdir, $follow, $follow_skip, $full_check, $untaint, $untaint_skip, $untaint_pat, $pre_process, $post_process, $dangling_symlinks); sub contract_name { my ($cdir,$fn) = @_; return substr($cdir,0,rindex($cdir,'/')) if $fn eq $File::Find::current_dir; $cdir = substr($cdir,0,rindex($cdir,'/')+1); $fn =~ s|^\./||; my $abs_name= $cdir . $fn; if (substr($fn,0,3) eq '../') { 1 while $abs_name =~ s!/[^/]*/\.\./+!/!; } return $abs_name; } sub _is_absolute { return $_[0] =~ m|^(?:[A-Za-z]:)?/| if $Is_Win32; return substr($_[0], 0, 1) eq '/'; } sub _is_root { return $_[0] =~ m|^(?:[A-Za-z]:)?/\z| if $Is_Win32; return $_[0] eq '/'; } sub PathCombine($$) { my ($Base,$Name) = @_; my $AbsName; if (_is_absolute($Name)) { $AbsName= $Name; } else { $AbsName= contract_name($Base,$Name); } # (simple) check for recursion my $newlen= length($AbsName); if ($newlen <= length($Base)) { if (($newlen == length($Base) || substr($Base,$newlen,1) eq '/') && $AbsName eq substr($Base,0,$newlen)) { return undef; } } return $AbsName; } sub Follow_SymLink($) { my ($AbsName) = @_; my ($NewName,$DEV, $INO); ($DEV, $INO)= lstat $AbsName; while (-l _) { if ($SLnkSeen{$DEV, $INO}++) { if ($follow_skip < 2) { die "$AbsName is encountered a second time"; } else { return undef; } } my $Link = readlink($AbsName); # canonicalize directory separators $Link =~ s|\\|/|g if $Is_Win32; $NewName= PathCombine($AbsName, $Link); unless(defined $NewName) { if ($follow_skip < 2) { die "$AbsName is a recursive symbolic link"; } else { return undef; } } else { $AbsName= $NewName; } ($DEV, $INO) = lstat($AbsName); return undef unless defined $DEV; # dangling symbolic link } if ($full_check && defined $DEV && $SLnkSeen{$DEV, $INO}++) { if ( ($follow_skip < 1) || ((-d _) && ($follow_skip < 2)) ) { die "$AbsName encountered a second time"; } else { return undef; } } return $AbsName; } our($dir, $name, $fullname, $prune); sub _find_dir_symlnk($$$); sub _find_dir($$$); # check whether or not a scalar variable is tainted # (code straight from the Camel, 3rd ed., page 561) sub is_tainted_pp { my $arg = shift; my $nada = substr($arg, 0, 0); # zero-length local $@; eval { eval "# $nada" }; return length($@) != 0; } sub _find_opt { my $wanted = shift; return unless @_; die "invalid top directory" unless defined $_[0]; # This function must local()ize everything because callbacks may # call find() or finddepth() local %SLnkSeen; local ($wanted_callback, $avoid_nlink, $bydepth, $no_chdir, $follow, $follow_skip, $full_check, $untaint, $untaint_skip, $untaint_pat, $pre_process, $post_process, $dangling_symlinks); local($dir, $name, $fullname, $prune); local *_ = \my $a; my $cwd = $wanted->{bydepth} ? Cwd::fastcwd() : Cwd::getcwd(); if ($Is_VMS) { # VMS returns this by default in VMS format which just doesn't # work for the rest of this module. $cwd = VMS::Filespec::unixpath($cwd); # Apparently this is not expected to have a trailing space. # To attempt to make VMS/UNIX conversions mostly reversible, # a trailing slash is needed. The run-time functions ignore the # resulting double slash, but it causes the perl tests to fail. $cwd =~ s#/\z##; # This comes up in upper case now, but should be lower. # In the future this could be exact case, no need to change. } my $cwd_untainted = $cwd; my $check_t_cwd = 1; $wanted_callback = $wanted->{wanted}; $bydepth = $wanted->{bydepth}; $pre_process = $wanted->{preprocess}; $post_process = $wanted->{postprocess}; $no_chdir = $wanted->{no_chdir}; $full_check = $wanted->{follow}; $follow = $full_check || $wanted->{follow_fast}; $follow_skip = $wanted->{follow_skip}; $untaint = $wanted->{untaint}; $untaint_pat = $wanted->{untaint_pattern}; $untaint_skip = $wanted->{untaint_skip}; $dangling_symlinks = $wanted->{dangling_symlinks}; # for compatibility reasons (find.pl, find2perl) local our ($topdir, $topdev, $topino, $topmode, $topnlink); # a symbolic link to a directory doesn't increase the link count $avoid_nlink = $follow || $File::Find::dont_use_nlink; my ($abs_dir, $Is_Dir); Proc_Top_Item: foreach my $TOP (@_) { my $top_item = $TOP; $top_item = VMS::Filespec::unixify($top_item) if $Is_VMS; ($topdev,$topino,$topmode,$topnlink) = $follow ? stat $top_item : lstat $top_item; # canonicalize directory separators $top_item =~ s|[/\\]|/|g if $Is_Win32; # no trailing / unless path is root $top_item =~ s|/\z|| unless _is_root($top_item); $Is_Dir= 0; if ($follow) { if (_is_absolute($top_item)) { $abs_dir = $top_item; } elsif ($top_item eq $File::Find::current_dir) { $abs_dir = $cwd; } else { # care about any ../ $top_item =~ s/\.dir\z//i if $Is_VMS; $abs_dir = contract_name("$cwd/",$top_item); } $abs_dir= Follow_SymLink($abs_dir); unless (defined $abs_dir) { if ($dangling_symlinks) { if (ref $dangling_symlinks eq 'CODE') { $dangling_symlinks->($top_item, $cwd); } else { warnings::warnif "$top_item is a dangling symbolic link\n"; } } next Proc_Top_Item; } if (-d _) { $top_item =~ s/\.dir\z//i if $Is_VMS; _find_dir_symlnk($wanted, $abs_dir, $top_item); $Is_Dir= 1; } } else { # no follow $topdir = $top_item; unless (defined $topnlink) { warnings::warnif "Can't stat $top_item: $!\n"; next Proc_Top_Item; } if (-d _) { $top_item =~ s/\.dir\z//i if $Is_VMS; _find_dir($wanted, $top_item, $topnlink); $Is_Dir= 1; } else { $abs_dir= $top_item; } } unless ($Is_Dir) { unless (($_,$dir) = File::Basename::fileparse($abs_dir)) { ($dir,$_) = ('./', $top_item); } $abs_dir = $dir; if (( $untaint ) && (is_tainted($dir) )) { ( $abs_dir ) = $dir =~ m|$untaint_pat|; unless (defined $abs_dir) { if ($untaint_skip == 0) { die "directory $dir is still tainted"; } else { next Proc_Top_Item; } } } unless ($no_chdir || chdir $abs_dir) { warnings::warnif "Couldn't chdir $abs_dir: $!\n"; next Proc_Top_Item; } $name = $abs_dir . $_; # $File::Find::name $_ = $name if $no_chdir; { $wanted_callback->() }; # protect against wild "next" } unless ( $no_chdir ) { if ( ($check_t_cwd) && (($untaint) && (is_tainted($cwd) )) ) { ( $cwd_untainted ) = $cwd =~ m|$untaint_pat|; unless (defined $cwd_untainted) { die "insecure cwd in find(depth)"; } $check_t_cwd = 0; } unless (chdir $cwd_untainted) { die "Can't cd to $cwd: $!\n"; } } } } # API: # $wanted # $p_dir : "parent directory" # $nlink : what came back from the stat # preconditions: # chdir (if not no_chdir) to dir sub _find_dir($$$) { my ($wanted, $p_dir, $nlink) = @_; my ($CdLvl,$Level) = (0,0); my @Stack; my @filenames; my ($subcount,$sub_nlink); my $SE= []; my $dir_name= $p_dir; my $dir_pref; my $dir_rel = $File::Find::current_dir; my $tainted = 0; my $no_nlink; if ($Is_VMS) { # VMS is returning trailing .dir on directories # and trailing . on files and symbolic links # in UNIX syntax. # $p_dir =~ s/\.(dir)?$//i unless $p_dir eq '.'; $dir_pref = ($p_dir =~ m/[\]>]+$/ ? $p_dir : "$p_dir/" ); } else { $dir_pref = _is_root($p_dir) ? $p_dir : "$p_dir/"; } local ($dir, $name, $prune); unless ( $no_chdir || ($p_dir eq $File::Find::current_dir)) { my $udir = $p_dir; if (( $untaint ) && (is_tainted($p_dir) )) { ( $udir ) = $p_dir =~ m|$untaint_pat|; unless (defined $udir) { if ($untaint_skip == 0) { die "directory $p_dir is still tainted"; } else { return; } } } unless (chdir ($Is_VMS && $udir !~ /[\/\[<]+/ ? "./$udir" : $udir)) { warnings::warnif "Can't cd to $udir: $!\n"; return; } } # push the starting directory push @Stack,[$CdLvl,$p_dir,$dir_rel,-1] if $bydepth; while (defined $SE) { unless ($bydepth) { $dir= $p_dir; # $File::Find::dir $name= $dir_name; # $File::Find::name $_= ($no_chdir ? $dir_name : $dir_rel ); # $_ # prune may happen here $prune= 0; { $wanted_callback->() }; # protect against wild "next" next if $prune; } # change to that directory unless ($no_chdir || ($dir_rel eq $File::Find::current_dir)) { my $udir= $dir_rel; if ( ($untaint) && (($tainted) || ($tainted = is_tainted($dir_rel) )) ) { ( $udir ) = $dir_rel =~ m|$untaint_pat|; unless (defined $udir) { if ($untaint_skip == 0) { die "directory (" . ($p_dir ne '/' ? $p_dir : '') . "/) $dir_rel is still tainted"; } else { # $untaint_skip == 1 next; } } } unless (chdir ($Is_VMS && $udir !~ /[\/\[<]+/ ? "./$udir" : $udir)) { warnings::warnif "Can't cd to (" . ($p_dir ne '/' ? $p_dir : '') . "/) $udir: $!\n"; next; } $CdLvl++; } $dir= $dir_name; # $File::Find::dir # Get the list of files in the current directory. my $dh; unless (opendir $dh, ($no_chdir ? $dir_name : $File::Find::current_dir)) { warnings::warnif "Can't opendir($dir_name): $!\n"; next; } @filenames = readdir $dh; closedir($dh); @filenames = $pre_process->(@filenames) if $pre_process; push @Stack,[$CdLvl,$dir_name,"",-2] if $post_process; # default: use whatever was specified # (if $nlink >= 2, and $avoid_nlink == 0, this will switch back) $no_nlink = $avoid_nlink; # if dir has wrong nlink count, force switch to slower stat method $no_nlink = 1 if ($nlink < 2); if ($nlink == 2 && !$no_nlink) { # This dir has no subdirectories. for my $FN (@filenames) { if ($Is_VMS) { # Big hammer here - Compensate for VMS trailing . and .dir # No win situation until this is changed, but this # will handle the majority of the cases with breaking the fewest $FN =~ s/\.dir\z//i; $FN =~ s#\.$## if ($FN ne '.'); } next if $FN =~ $File::Find::skip_pattern; $name = $dir_pref . $FN; # $File::Find::name $_ = ($no_chdir ? $name : $FN); # $_ { $wanted_callback->() }; # protect against wild "next" } } else { # This dir has subdirectories. $subcount = $nlink - 2; # HACK: insert directories at this position, so as to preserve # the user pre-processed ordering of files (thus ensuring # directory traversal is in user sorted order, not at random). my $stack_top = @Stack; for my $FN (@filenames) { next if $FN =~ $File::Find::skip_pattern; if ($subcount > 0 || $no_nlink) { # Seen all the subdirs? # check for directoriness. # stat is faster for a file in the current directory $sub_nlink = (lstat ($no_chdir ? $dir_pref . $FN : $FN))[3]; if (-d _) { --$subcount; $FN =~ s/\.dir\z//i if $Is_VMS; # HACK: replace push to preserve dir traversal order #push @Stack,[$CdLvl,$dir_name,$FN,$sub_nlink]; splice @Stack, $stack_top, 0, [$CdLvl,$dir_name,$FN,$sub_nlink]; } else { $name = $dir_pref . $FN; # $File::Find::name $_= ($no_chdir ? $name : $FN); # $_ { $wanted_callback->() }; # protect against wild "next" } } else { $name = $dir_pref . $FN; # $File::Find::name $_= ($no_chdir ? $name : $FN); # $_ { $wanted_callback->() }; # protect against wild "next" } } } } continue { while ( defined ($SE = pop @Stack) ) { ($Level, $p_dir, $dir_rel, $nlink) = @$SE; if ($CdLvl > $Level && !$no_chdir) { my $tmp; if ($Is_VMS) { $tmp = '[' . ('-' x ($CdLvl-$Level)) . ']'; } else { $tmp = join('/',('..') x ($CdLvl-$Level)); } die "Can't cd to $tmp from $dir_name: $!" unless chdir ($tmp); $CdLvl = $Level; } if ($^O eq 'VMS') { if ($p_dir =~ m/[\]>]+$/) { $dir_name = $p_dir; $dir_name =~ s/([\]>]+)$/.$dir_rel$1/; $dir_pref = $dir_name; } else { $dir_name = "$p_dir/$dir_rel"; $dir_pref = "$dir_name/"; } } else { $dir_name = _is_root($p_dir) ? "$p_dir$dir_rel" : "$p_dir/$dir_rel"; $dir_pref = "$dir_name/"; } if ( $nlink == -2 ) { $name = $dir = $p_dir; # $File::Find::name / dir $_ = $File::Find::current_dir; $post_process->(); # End-of-directory processing } elsif ( $nlink < 0 ) { # must be finddepth, report dirname now $name = $dir_name; if ( substr($name,-2) eq '/.' ) { substr($name, length($name) == 2 ? -1 : -2) = ''; } $dir = $p_dir; $_ = ($no_chdir ? $dir_name : $dir_rel ); if ( substr($_,-2) eq '/.' ) { substr($_, length($_) == 2 ? -1 : -2) = ''; } { $wanted_callback->() }; # protect against wild "next" } else { push @Stack,[$CdLvl,$p_dir,$dir_rel,-1] if $bydepth; last; } } } } # API: # $wanted # $dir_loc : absolute location of a dir # $p_dir : "parent directory" # preconditions: # chdir (if not no_chdir) to dir sub _find_dir_symlnk($$$) { my ($wanted, $dir_loc, $p_dir) = @_; # $dir_loc is the absolute directory my @Stack; my @filenames; my $new_loc; my $updir_loc = $dir_loc; # untainted parent directory my $SE = []; my $dir_name = $p_dir; my $dir_pref; my $loc_pref; my $dir_rel = $File::Find::current_dir; my $byd_flag; # flag for pending stack entry if $bydepth my $tainted = 0; my $ok = 1; $dir_pref = _is_root($p_dir) ? $p_dir : "$p_dir/"; $loc_pref = _is_root($dir_loc) ? $dir_loc : "$dir_loc/"; local ($dir, $name, $fullname, $prune); unless ($no_chdir) { # untaint the topdir if (( $untaint ) && (is_tainted($dir_loc) )) { ( $updir_loc ) = $dir_loc =~ m|$untaint_pat|; # parent dir, now untainted # once untainted, $updir_loc is pushed on the stack (as parent directory); # hence, we don't need to untaint the parent directory every time we chdir # to it later unless (defined $updir_loc) { if ($untaint_skip == 0) { die "directory $dir_loc is still tainted"; } else { return; } } } $ok = chdir($updir_loc) unless ($p_dir eq $File::Find::current_dir); unless ($ok) { warnings::warnif "Can't cd to $updir_loc: $!\n"; return; } } push @Stack,[$dir_loc,$updir_loc,$p_dir,$dir_rel,-1] if $bydepth; while (defined $SE) { unless ($bydepth) { # change (back) to parent directory (always untainted) unless ($no_chdir) { unless (chdir $updir_loc) { warnings::warnif "Can't cd to $updir_loc: $!\n"; next; } } $dir= $p_dir; # $File::Find::dir $name= $dir_name; # $File::Find::name $_= ($no_chdir ? $dir_name : $dir_rel ); # $_ $fullname= $dir_loc; # $File::Find::fullname # prune may happen here $prune= 0; lstat($_); # make sure file tests with '_' work { $wanted_callback->() }; # protect against wild "next" next if $prune; } # change to that directory unless ($no_chdir || ($dir_rel eq $File::Find::current_dir)) { $updir_loc = $dir_loc; if ( ($untaint) && (($tainted) || ($tainted = is_tainted($dir_loc) )) ) { # untaint $dir_loc, what will be pushed on the stack as (untainted) parent dir ( $updir_loc ) = $dir_loc =~ m|$untaint_pat|; unless (defined $updir_loc) { if ($untaint_skip == 0) { die "directory $dir_loc is still tainted"; } else { next; } } } unless (chdir $updir_loc) { warnings::warnif "Can't cd to $updir_loc: $!\n"; next; } } $dir = $dir_name; # $File::Find::dir # Get the list of files in the current directory. my $dh; unless (opendir $dh, ($no_chdir ? $dir_loc : $File::Find::current_dir)) { warnings::warnif "Can't opendir($dir_loc): $!\n"; next; } @filenames = readdir $dh; closedir($dh); for my $FN (@filenames) { if ($Is_VMS) { # Big hammer here - Compensate for VMS trailing . and .dir # No win situation until this is changed, but this # will handle the majority of the cases with breaking the fewest. $FN =~ s/\.dir\z//i; $FN =~ s#\.$## if ($FN ne '.'); } next if $FN =~ $File::Find::skip_pattern; # follow symbolic links / do an lstat $new_loc = Follow_SymLink($loc_pref.$FN); # ignore if invalid symlink unless (defined $new_loc) { if (!defined -l _ && $dangling_symlinks) { $fullname = undef; if (ref $dangling_symlinks eq 'CODE') { $dangling_symlinks->($FN, $dir_pref); } else { warnings::warnif "$dir_pref$FN is a dangling symbolic link\n"; } } else { $fullname = $loc_pref . $FN; } $name = $dir_pref . $FN; $_ = ($no_chdir ? $name : $FN); { $wanted_callback->() }; next; } if (-d _) { if ($Is_VMS) { $FN =~ s/\.dir\z//i; $FN =~ s#\.$## if ($FN ne '.'); $new_loc =~ s/\.dir\z//i; $new_loc =~ s#\.$## if ($new_loc ne '.'); } push @Stack,[$new_loc,$updir_loc,$dir_name,$FN,1]; } else { $fullname = $new_loc; # $File::Find::fullname $name = $dir_pref . $FN; # $File::Find::name $_ = ($no_chdir ? $name : $FN); # $_ { $wanted_callback->() }; # protect against wild "next" } } } continue { while (defined($SE = pop @Stack)) { ($dir_loc, $updir_loc, $p_dir, $dir_rel, $byd_flag) = @$SE; $dir_name = _is_root($p_dir) ? "$p_dir$dir_rel" : "$p_dir/$dir_rel"; $dir_pref = "$dir_name/"; $loc_pref = "$dir_loc/"; if ( $byd_flag < 0 ) { # must be finddepth, report dirname now unless ($no_chdir || ($dir_rel eq $File::Find::current_dir)) { unless (chdir $updir_loc) { # $updir_loc (parent dir) is always untainted warnings::warnif "Can't cd to $updir_loc: $!\n"; next; } } $fullname = $dir_loc; # $File::Find::fullname $name = $dir_name; # $File::Find::name if ( substr($name,-2) eq '/.' ) { substr($name, length($name) == 2 ? -1 : -2) = ''; # $File::Find::name } $dir = $p_dir; # $File::Find::dir $_ = ($no_chdir ? $dir_name : $dir_rel); # $_ if ( substr($_,-2) eq '/.' ) { substr($_, length($_) == 2 ? -1 : -2) = ''; } lstat($_); # make sure file tests with '_' work { $wanted_callback->() }; # protect against wild "next" } else { push @Stack,[$dir_loc, $updir_loc, $p_dir, $dir_rel,-1] if $bydepth; last; } } } } sub wrap_wanted { my $wanted = shift; if ( ref($wanted) eq 'HASH' ) { # RT #122547 my %valid_options = map {$_ => 1} qw( wanted bydepth preprocess postprocess follow follow_fast follow_skip dangling_symlinks no_chdir untaint untaint_pattern untaint_skip ); my @invalid_options = (); for my $v (keys %{$wanted}) { push @invalid_options, $v unless exists $valid_options{$v}; } warn "Invalid option(s): @invalid_options" if @invalid_options; unless( exists $wanted->{wanted} and ref( $wanted->{wanted} ) eq 'CODE' ) { die 'no &wanted subroutine given'; } if ( $wanted->{follow} || $wanted->{follow_fast}) { $wanted->{follow_skip} = 1 unless defined $wanted->{follow_skip}; } if ( $wanted->{untaint} ) { $wanted->{untaint_pattern} = $File::Find::untaint_pattern unless defined $wanted->{untaint_pattern}; $wanted->{untaint_skip} = 0 unless defined $wanted->{untaint_skip}; } return $wanted; } elsif( ref( $wanted ) eq 'CODE' ) { return { wanted => $wanted }; } else { die 'no &wanted subroutine given'; } } sub find { my $wanted = shift; _find_opt(wrap_wanted($wanted), @_); } sub finddepth { my $wanted = wrap_wanted(shift); $wanted->{bydepth} = 1; _find_opt($wanted, @_); } # default $File::Find::skip_pattern = qr/^\.{1,2}\z/; $File::Find::untaint_pattern = qr|^([-+@\w./]+)$|; # this _should_ work properly on all platforms # where File::Find can be expected to work $File::Find::current_dir = File::Spec->curdir || '.'; $File::Find::dont_use_nlink = 1; # We need a function that checks if a scalar is tainted. Either use the # Scalar::Util module's tainted() function or our (slower) pure Perl # fallback is_tainted_pp() { local $@; eval { require Scalar::Util }; *is_tainted = $@ ? \&is_tainted_pp : \&Scalar::Util::tainted; } 1; __END__ =head1 NAME File::Find - Traverse a directory tree. =head1 SYNOPSIS use File::Find; find(\&wanted, @directories_to_search); sub wanted { ... } use File::Find; finddepth(\&wanted, @directories_to_search); sub wanted { ... } use File::Find; find({ wanted => \&process, follow => 1 }, '.'); =head1 DESCRIPTION These are functions for searching through directory trees doing work on each file found similar to the Unix I command. File::Find exports two functions, C and C. They work similarly but have subtle differences. =over 4 =item B find(\&wanted, @directories); find(\%options, @directories); C does a depth-first search over the given C<@directories> in the order they are given. For each file or directory found, it calls the C<&wanted> subroutine. (See below for details on how to use the C<&wanted> function). Additionally, for each directory found, it will C into that directory and continue the search, invoking the C<&wanted> function on each file or subdirectory in the directory. =item B finddepth(\&wanted, @directories); finddepth(\%options, @directories); C works just like C except that it invokes the C<&wanted> function for a directory I invoking it for the directory's contents. It does a postorder traversal instead of a preorder traversal, working from the bottom of the directory tree up where C works from the top of the tree down. =back Despite the name of the C function, both C and C perform a depth-first search of the directory hierarchy. =head2 %options The first argument to C is either a code reference to your C<&wanted> function, or a hash reference describing the operations to be performed for each file. The code reference is described in L below. Here are the possible keys for the hash: =over 4 =item C The value should be a code reference. This code reference is described in L below. The C<&wanted> subroutine is mandatory. =item C Reports the name of a directory only AFTER all its entries have been reported. Entry point C is a shortcut for specifying C<< { bydepth => 1 } >> in the first argument of C. =item C The value should be a code reference. This code reference is used to preprocess the current directory. The name of the currently processed directory is in C<$File::Find::dir>. Your preprocessing function is called after C, but before the loop that calls the C function. It is called with a list of strings (actually file/directory names) and is expected to return a list of strings. The code can be used to sort the file/directory names alphabetically, numerically, or to filter out directory entries based on their name alone. When I or I are in effect, C is a no-op. =item C The value should be a code reference. It is invoked just before leaving the currently processed directory. It is called in void context with no arguments. The name of the current directory is in C<$File::Find::dir>. This hook is handy for summarizing a directory, such as calculating its disk usage. When I or I are in effect, C is a no-op. =item C Causes symbolic links to be followed. Since directory trees with symbolic links (followed) may contain files more than once and may even have cycles, a hash has to be built up with an entry for each file. This might be expensive both in space and time for a large directory tree. See L and L below. If either I or I is in effect: =over 4 =item * It is guaranteed that an I has been called before the user's C function is called. This enables fast file checks involving C<_>. Note that this guarantee no longer holds if I or I are not set. =item * There is a variable C<$File::Find::fullname> which holds the absolute pathname of the file with all symbolic links resolved. If the link is a dangling symbolic link, then fullname will be set to C. =back =item C This is similar to I except that it may report some files more than once. It does detect cycles, however. Since only symbolic links have to be hashed, this is much cheaper both in space and time. If processing a file more than once (by the user's C function) is worse than just taking time, the option I should be used. =item C C, which is the default, causes all files which are neither directories nor symbolic links to be ignored if they are about to be processed a second time. If a directory or a symbolic link are about to be processed a second time, File::Find dies. C causes File::Find to die if any file is about to be processed a second time. C causes File::Find to ignore any duplicate files and directories but to proceed normally otherwise. =item C Specifies what to do with symbolic links whose target doesn't exist. If true and a code reference, will be called with the symbolic link name and the directory it lives in as arguments. Otherwise, if true and warnings are on, a warning of the form C<"symbolic_link_name is a dangling symbolic link\n"> will be issued. If false, the dangling symbolic link will be silently ignored. =item C Does not C to each directory as it recurses. The C function will need to be aware of this, of course. In this case, C<$_> will be the same as C<$File::Find::name>. =item C If find is used in L (-T command line switch or if EUID != UID or if EGID != GID), then internally directory names have to be untainted before they can be C'd to. Therefore they are checked against a regular expression I. Note that all names passed to the user's C function are still tainted. If this option is used while not in taint-mode, C is a no-op. =item C See above. This should be set using the C quoting operator. The default is set to C. Note that the parentheses are vital. =item C If set, a directory which fails the I is skipped, including all its sub-directories. The default is to C in such a case. =back =head2 The wanted function The C function does whatever verifications you want on each file and directory. Note that despite its name, the C function is a generic callback function, and does B tell File::Find if a file is "wanted" or not. In fact, its return value is ignored. The wanted function takes no arguments but rather does its work through a collection of variables. =over 4 =item C<$File::Find::dir> is the current directory name, =item C<$_> is the current filename within that directory =item C<$File::Find::name> is the complete pathname to the file. =back The above variables have all been localized and may be changed without affecting data outside of the wanted function. For example, when examining the file F you will have: $File::Find::dir = /some/path/ $_ = foo.ext $File::Find::name = /some/path/foo.ext You are chdir()'d to C<$File::Find::dir> when the function is called, unless C was specified. Note that when changing to directories is in effect, the root directory (F) is a somewhat special case inasmuch as the concatenation of C<$File::Find::dir>, C<'/'> and C<$_> is not literally equal to C<$File::Find::name>. The table below summarizes all variants: $File::Find::name $File::Find::dir $_ default / / . no_chdir=>0 /etc / etc /etc/x /etc x no_chdir=>1 / / / /etc / /etc /etc/x /etc /etc/x When C or C are in effect, there is also a C<$File::Find::fullname>. The function may set C<$File::Find::prune> to prune the tree unless C was specified. Unless C or C is specified, for compatibility reasons (find.pl, find2perl) there are in addition the following globals available: C<$File::Find::topdir>, C<$File::Find::topdev>, C<$File::Find::topino>, C<$File::Find::topmode> and C<$File::Find::topnlink>. This library is useful for the C tool (distributed as part of the App-find2perl CPAN distribution), which when fed, find2perl / -name .nfs\* -mtime +7 \ -exec rm -f {} \; -o -fstype nfs -prune produces something like: sub wanted { /^\.nfs.*\z/s && (($dev, $ino, $mode, $nlink, $uid, $gid) = lstat($_)) && int(-M _) > 7 && unlink($_) || ($nlink || (($dev, $ino, $mode, $nlink, $uid, $gid) = lstat($_))) && $dev < 0 && ($File::Find::prune = 1); } Notice the C<_> in the above C: the C<_> is a magical filehandle that caches the information from the preceding C, C, or filetest. Here's another interesting wanted function. It will find all symbolic links that don't resolve: sub wanted { -l && !-e && print "bogus link: $File::Find::name\n"; } Note that you may mix directories and (non-directory) files in the list of directories to be searched by the C function. find(\&wanted, "./foo", "./bar", "./baz/epsilon"); In the example above, no file in F<./baz/> other than F<./baz/epsilon> will be evaluated by C. See also the script C on CPAN for a nice application of this module. =head1 WARNINGS If you run your program with the C<-w> switch, or if you use the C pragma, File::Find will report warnings for several weird situations. You can disable these warnings by putting the statement no warnings 'File::Find'; in the appropriate scope. See L for more info about lexical warnings. =head1 BUGS AND CAVEATS =over 4 =item $dont_use_nlink You can set the variable C<$File::Find::dont_use_nlink> to 0 if you are sure the filesystem you are scanning reflects the number of subdirectories in the parent directory's C count. If you do set C<$File::Find::dont_use_nlink> to 0, you may notice an improvement in speed at the risk of not recursing into subdirectories if a filesystem doesn't populate C as expected. C<$File::Find::dont_use_nlink> now defaults to 1 on all platforms. =item symlinks Be aware that the option to follow symbolic links can be dangerous. Depending on the structure of the directory tree (including symbolic links to directories) you might traverse a given (physical) directory more than once (only if C is in effect). Furthermore, deleting or changing files in a symbolically linked directory might cause very unpleasant surprises, since you delete or change files in an unknown directory. =back =head1 HISTORY File::Find used to produce incorrect results if called recursively. During the development of perl 5.8 this bug was fixed. The first fixed version of File::Find was 1.01. =head1 SEE ALSO L, find2perl. =cut FILEcbb56b69/File/Copy.pm?0# File/Copy.pm. Written in 1994 by Aaron Sherman . This # source code has been placed in the public domain by the author. # Please be kind and preserve the documentation. # # Additions copyright 1996 by Charles Bailey. Permission is granted # to distribute the revised code under the same terms as Perl itself. package File::Copy; use 5.035007; use strict; use warnings; no warnings 'newline'; no warnings 'experimental::builtin'; use builtin 'blessed'; use overload; use File::Spec; use Config; # We want HiRes stat and utime if available BEGIN { eval q{ use Time::HiRes qw( stat utime ) } }; our(@ISA, @EXPORT, @EXPORT_OK, $VERSION, $Too_Big, $Syscopy_is_copy); sub copy; sub syscopy; sub cp; sub mv; $VERSION = '2.41'; require Exporter; @ISA = qw(Exporter); @EXPORT = qw(copy move); @EXPORT_OK = qw(cp mv); $Too_Big = 1024 * 1024 * 2; sub croak { require Carp; goto &Carp::croak; } sub carp { require Carp; goto &Carp::carp; } sub _catname { my($from, $to) = @_; if (not defined &basename) { require File::Basename; File::Basename->import( 'basename' ); } return File::Spec->catfile($to, basename($from)); } # _eq($from, $to) tells whether $from and $to are identical sub _eq { my ($from, $to) = map { blessed($_) && overload::Method($_, q{""}) ? "$_" : $_ } (@_); return '' if ( (ref $from) xor (ref $to) ); return $from == $to if ref $from; return $from eq $to; } sub copy { croak("Usage: copy(FROM, TO [, BUFFERSIZE]) ") unless(@_ == 2 || @_ == 3); my $from = shift; my $to = shift; my $size; if (@_) { $size = shift(@_) + 0; croak("Bad buffer size for copy: $size\n") unless ($size > 0); } my $from_a_handle = (ref($from) ? (ref($from) eq 'GLOB' || UNIVERSAL::isa($from, 'GLOB') || UNIVERSAL::isa($from, 'IO::Handle')) : (ref(\$from) eq 'GLOB')); my $to_a_handle = (ref($to) ? (ref($to) eq 'GLOB' || UNIVERSAL::isa($to, 'GLOB') || UNIVERSAL::isa($to, 'IO::Handle')) : (ref(\$to) eq 'GLOB')); if (_eq($from, $to)) { # works for references, too carp("'$from' and '$to' are identical (not copied)"); return 0; } if (!$from_a_handle && !$to_a_handle && -d $to && ! -d $from) { $to = _catname($from, $to); } if ((($Config{d_symlink} && $Config{d_readlink}) || $Config{d_link}) && !($^O eq 'os2')) { my @fs = stat($from); if (@fs) { my @ts = stat($to); if (@ts && $fs[0] == $ts[0] && $fs[1] eq $ts[1] && !-p $from) { carp("'$from' and '$to' are identical (not copied)"); return 0; } } } elsif (_eq($from, $to)) { carp("'$from' and '$to' are identical (not copied)"); return 0; } if (defined &syscopy && !$Syscopy_is_copy && !$to_a_handle && !($from_a_handle && $^O eq 'os2' ) # OS/2 cannot handle handles && !($from_a_handle && $^O eq 'MSWin32') ) { if ($^O eq 'VMS' && -e $from && ! -d $to && ! -d $from) { # VMS natively inherits path components from the source of a # copy, but we want the Unixy behavior of inheriting from # the current working directory. Also, default in a trailing # dot for null file types. $to = VMS::Filespec::rmsexpand(VMS::Filespec::vmsify($to), '.'); # Get rid of the old versions to be like UNIX 1 while unlink $to; } return syscopy($from, $to) || 0; } my $closefrom = 0; my $closeto = 0; my ($status, $r, $buf); local($\) = ''; my $from_h; if ($from_a_handle) { $from_h = $from; } else { open $from_h, "<", $from or goto fail_open1; binmode $from_h or die "($!,$^E)"; $closefrom = 1; } # Seems most logical to do this here, in case future changes would want to # make this croak for some reason. unless (defined $size) { $size = tied(*$from_h) ? 0 : -s $from_h || 0; $size = 1024 if ($size < 512); $size = $Too_Big if ($size > $Too_Big); } my $to_h; if ($to_a_handle) { $to_h = $to; } else { $to_h = \do { local *FH }; # XXX is this line obsolete? open $to_h, ">", $to or goto fail_open2; binmode $to_h or die "($!,$^E)"; $closeto = 1; } $! = 0; for (;;) { my ($r, $w, $t); defined($r = sysread($from_h, $buf, $size)) or goto fail_inner; last unless $r; for ($w = 0; $w < $r; $w += $t) { $t = syswrite($to_h, $buf, $r - $w, $w) or goto fail_inner; } } close($to_h) || goto fail_open2 if $closeto; close($from_h) || goto fail_open1 if $closefrom; # Use this idiom to avoid uninitialized value warning. return 1; # All of these contortions try to preserve error messages... fail_inner: if ($closeto) { $status = $!; $! = 0; close $to_h; $! = $status unless $!; } fail_open2: if ($closefrom) { $status = $!; $! = 0; close $from_h; $! = $status unless $!; } fail_open1: return 0; } sub cp { my($from,$to) = @_; my(@fromstat) = stat $from; my(@tostat) = stat $to; my $perm; return 0 unless copy(@_) and @fromstat; if (@tostat) { $perm = $tostat[2]; } else { $perm = $fromstat[2] & ~(umask || 0); @tostat = stat $to; } # Might be more robust to look for S_I* in Fcntl, but we're # trying to avoid dependence on any XS-containing modules, # since File::Copy is used during the Perl build. $perm &= 07777; if ($perm & 06000) { croak("Unable to check setuid/setgid permissions for $to: $!") unless @tostat; if ($perm & 04000 and # setuid $fromstat[4] != $tostat[4]) { # owner must match $perm &= ~06000; } if ($perm & 02000 && $> != 0) { # if not root, setgid my $ok = $fromstat[5] == $tostat[5]; # group must match if ($ok) { # and we must be in group $ok = grep { $_ == $fromstat[5] } split /\s+/, $) } $perm &= ~06000 unless $ok; } } return 0 unless @tostat; return 1 if $perm == ($tostat[2] & 07777); return eval { chmod $perm, $to; } ? 1 : 0; } sub _move { croak("Usage: move(FROM, TO) ") unless @_ == 3; my($from,$to,$fallback) = @_; my($fromsz,$tosz1,$tomt1,$tosz2,$tomt2,$sts,$ossts); if (-d $to && ! -d $from) { $to = _catname($from, $to); } ($tosz1,$tomt1) = (stat($to))[7,9]; $fromsz = -s $from; if ($^O eq 'os2' and defined $tosz1 and defined $fromsz) { # will not rename with overwrite unlink $to; } if ($^O eq 'VMS' && -e $from && ! -d $to && ! -d $from) { # VMS natively inherits path components from the source of a # copy, but we want the Unixy behavior of inheriting from # the current working directory. Also, default in a trailing # dot for null file types. $to = VMS::Filespec::rmsexpand(VMS::Filespec::vmsify($to), '.'); # Get rid of the old versions to be like UNIX 1 while unlink $to; } return 1 if rename $from, $to; # Did rename return an error even though it succeeded, because $to # is on a remote NFS file system, and NFS lost the server's ack? return 1 if defined($fromsz) && !-e $from && # $from disappeared (($tosz2,$tomt2) = (stat($to))[7,9]) && # $to's there ((!defined $tosz1) || # not before or ($tosz1 != $tosz2 or $tomt1 != $tomt2)) && # was changed $tosz2 == $fromsz; # it's all there ($tosz1,$tomt1) = (stat($to))[7,9]; # just in case rename did something { local $@; eval { local $SIG{__DIE__}; $fallback->($from,$to) or die; my($atime, $mtime) = (stat($from))[8,9]; utime($atime, $mtime, $to); unlink($from) or die; }; return 1 unless $@; } ($sts,$ossts) = ($! + 0, $^E + 0); ($tosz2,$tomt2) = ((stat($to))[7,9],0,0) if defined $tomt1; unlink($to) if !defined($tomt1) or $tomt1 != $tomt2 or $tosz1 != $tosz2; ($!,$^E) = ($sts,$ossts); return 0; } sub move { _move(@_,\©); } sub mv { _move(@_,\&cp); } # &syscopy is an XSUB under OS/2 unless (defined &syscopy) { if ($^O eq 'VMS') { *syscopy = \&rmscopy; } elsif ($^O eq 'MSWin32' && defined &DynaLoader::boot_DynaLoader) { # Win32::CopyFile() fill only work if we can load Win32.xs *syscopy = sub { return 0 unless @_ == 2; return Win32::CopyFile(@_, 1); }; } else { $Syscopy_is_copy = 1; *syscopy = \© } } 1; __END__ =head1 NAME File::Copy - Copy files or filehandles =head1 SYNOPSIS use File::Copy; copy("sourcefile", "destinationfile") or die "Copy failed: $!"; copy("Copy.pm", \*STDOUT); move("/dev1/sourcefile", "/dev2/destinationfile"); use File::Copy "cp"; my $n = FileHandle->new("/a/file", "r"); cp($n, "x"); =head1 DESCRIPTION The File::Copy module provides two basic functions, C and C, which are useful for getting the contents of a file from one place to another. =over 4 =item copy X X The C function takes two parameters: a file to copy from and a file to copy to. Either argument may be a string, a FileHandle reference or a FileHandle glob. Obviously, if the first argument is a filehandle of some sort, it will be read from, and if it is a file I it will be opened for reading. Likewise, the second argument will be written to. If the second argument does not exist but the parent directory does exist, then it will be created. Trying to copy a file into a non-existent directory is an error. Trying to copy a file on top of itself is also an error. C will not overwrite read-only files. If the destination (second argument) already exists and is a directory, and the source (first argument) is not a filehandle, then the source file will be copied into the directory specified by the destination, using the same base name as the source file. It's a failure to have a filehandle as the source when the destination is a directory. B Files are opened in binary mode where applicable. To get a consistent behaviour when copying from a filehandle to a file, use C on the filehandle. An optional third parameter can be used to specify the buffer size used for copying. This is the number of bytes from the first file, that will be held in memory at any given time, before being written to the second file. The default buffer size depends upon the file, but will generally be the whole file (up to 2MB), or 1k for filehandles that do not reference files (eg. sockets). You may use the syntax C to get at the C alias for this function. The syntax is I the same. The behavior is nearly the same as well: as of version 2.15, C will preserve the source file's permission bits like the shell utility C would do with default options, while C uses the default permissions for the target file (which may depend on the process' C, file ownership, inherited ACLs, etc.). That is, if the destination file already exists, C will leave its permissions unchanged; otherwise the permissions are taken from the source file and modified by the C. If an error occurs in setting permissions, C will return 0, regardless of whether the file was successfully copied. =item move X X X The C function also takes two parameters: the current name and the intended name of the file to be moved. If the destination already exists and is a directory, and the source is not a directory, then the source file will be renamed into the directory specified by the destination. If possible, move() will simply rename the file. Otherwise, it copies the file to the new location and deletes the original. If an error occurs during this copy-and-delete process, you may be left with a (possibly partial) copy of the file under the destination name. You may use the C alias for this function in the same way that you may use the C alias for C. =item syscopy X File::Copy also provides the C routine, which copies the file specified in the first parameter to the file specified in the second parameter, preserving OS-specific attributes and file structure. For Unix systems, this is equivalent to the simple C routine, which doesn't preserve OS-specific attributes. For VMS systems, this calls the C routine (see below). For OS/2 systems, this calls the C XSUB directly. For Win32 systems, this calls C. B is defined (OS/2, VMS and Win32)>: If both arguments to C are not file handles, then C will perform a "system copy" of the input file to a new output file, in order to preserve file attributes, indexed file structure, I The buffer size parameter is ignored. If either argument to C is a handle to an opened file, then data is copied using Perl operators, and no effort is made to preserve file attributes or record structure. The system copy routine may also be called directly under VMS and OS/2 as C (or under VMS as C, which is the routine that does the actual work for syscopy). =item rmscopy($from,$to[,$date_flag]) X The first and second arguments may be strings, typeglobs, typeglob references, or objects inheriting from IO::Handle; they are used in all cases to obtain the I of the input and output files, respectively. The name and type of the input file are used as defaults for the output file, if necessary. A new version of the output file is always created, which inherits the structure and RMS attributes of the input file, except for owner and protections (and possibly timestamps; see below). All data from the input file is copied to the output file; if either of the first two parameters to C is a file handle, its position is unchanged. (Note that this means a file handle pointing to the output file will be associated with an old version of that file after C returns, not the newly created version.) The third parameter is an integer flag, which tells C how to handle timestamps. If it is E 0, none of the input file's timestamps are propagated to the output file. If it is E 0, then it is interpreted as a bitmask: if bit 0 (the LSB) is set, then timestamps other than the revision date are propagated; if bit 1 is set, the revision date is propagated. If the third parameter to C is 0, then it behaves much like the DCL COPY command: if the name or type of the output file was explicitly specified, then no timestamps are propagated, but if they were taken implicitly from the input filespec, then all timestamps other than the revision date are propagated. If this parameter is not supplied, it defaults to 0. C is VMS specific and cannot be exported; it must be referenced by its full name, e.g.: File::Copy::rmscopy($from, $to) or die $!; Like C, C returns 1 on success. If an error occurs, it sets C<$!>, deletes the output file, and returns 0. =back =head1 RETURN All functions return 1 on success, 0 on failure. $! will be set if an error was encountered. =head1 NOTES Before calling copy() or move() on a filehandle, the caller should close or flush() the file to avoid writes being lost. Note that this is the case even for move(), because it may actually copy the file, depending on the OS-specific implementation, and the underlying filesystem(s). =head1 AUTHOR File::Copy was written by Aaron Sherman Iajs@ajs.comE> in 1995, and updated by Charles Bailey Ibailey@newman.upenn.eduE> in 1996. =cut FILE75585812/File/Basename.pm+=head1 NAME File::Basename - Parse file paths into directory, filename and suffix. =head1 SYNOPSIS use File::Basename; my ($name, $path, $suffix) = fileparse($fullname, @suffixlist); my $name = fileparse($fullname, @suffixlist); my $basename = basename($fullname, @suffixlist); my $dirname = dirname($fullname); =head1 DESCRIPTION These routines allow you to parse file paths into their directory, filename and suffix. B: C and C emulate the behaviours, and quirks, of the shell and C functions of the same name. See each function's documentation for details. If your concern is just parsing paths it is safer to use L's C and C methods. It is guaranteed that # Where $path_separator is / for Unix, \ for Windows, etc... dirname($path) . $path_separator . basename($path); is equivalent to the original path for all systems but VMS. =cut package File::Basename; # File::Basename is used during the Perl build, when the re extension may # not be available, but we only actually need it if running under tainting. BEGIN { if (${^TAINT}) { require re; re->import('taint'); } } use strict; use 5.006; use warnings; our(@ISA, @EXPORT, $VERSION, $Fileparse_fstype, $Fileparse_igncase); require Exporter; @ISA = qw(Exporter); @EXPORT = qw(fileparse fileparse_set_fstype basename dirname); $VERSION = "2.86"; fileparse_set_fstype($^O); =over 4 =item C X my($filename, $dirs, $suffix) = fileparse($path); my($filename, $dirs, $suffix) = fileparse($path, @suffixes); my $filename = fileparse($path, @suffixes); The C routine divides a file path into its $dirs, $filename and (optionally) the filename $suffix. $dirs contains everything up to and including the last directory separator in the $path including the volume (if applicable). The remainder of the $path is the $filename. # On Unix returns ("baz", "/foo/bar/", "") fileparse("/foo/bar/baz"); # On Windows returns ("baz", 'C:\foo\bar\', "") fileparse('C:\foo\bar\baz'); # On Unix returns ("", "/foo/bar/baz/", "") fileparse("/foo/bar/baz/"); If @suffixes are given each element is a pattern (either a string or a C) matched against the end of the $filename. The matching portion is removed and becomes the $suffix. # On Unix returns ("baz", "/foo/bar/", ".txt") fileparse("/foo/bar/baz.txt", qr/\.[^.]*/); If type is non-Unix (see L) then the pattern matching for suffix removal is performed case-insensitively, since those systems are not case-sensitive when opening existing files. You are guaranteed that C<$dirs . $filename . $suffix> will denote the same location as the original $path. =cut sub fileparse { my($fullname,@suffices) = @_; unless (defined $fullname) { require Carp; Carp::croak("fileparse(): need a valid pathname"); } my $orig_type = ''; my($type,$igncase) = ($Fileparse_fstype, $Fileparse_igncase); my($taint) = substr($fullname,0,0); # Is $fullname tainted? if ($type eq "VMS" and $fullname =~ m{/} ) { # We're doing Unix emulation $orig_type = $type; $type = 'Unix'; } my($dirpath, $basename); if (grep { $type eq $_ } qw(MSDOS DOS MSWin32 Epoc)) { ($dirpath,$basename) = ($fullname =~ /^((?:.*[:\\\/])?)(.*)/s); $dirpath .= '.\\' unless $dirpath =~ /[\\\/]\z/; } elsif ($type eq "OS2") { ($dirpath,$basename) = ($fullname =~ m#^((?:.*[:\\/])?)(.*)#s); $dirpath = './' unless $dirpath; # Can't be 0 $dirpath .= '/' unless $dirpath =~ m#[\\/]\z#; } elsif ($type eq "MacOS") { ($dirpath,$basename) = ($fullname =~ /^(.*:)?(.*)/s); $dirpath = ':' unless $dirpath; } elsif ($type eq "AmigaOS") { ($dirpath,$basename) = ($fullname =~ /(.*[:\/])?(.*)/s); $dirpath = './' unless $dirpath; } elsif ($type eq 'VMS' ) { ($dirpath,$basename) = ($fullname =~ /^(.*[:>\]])?(.*)/s); $dirpath ||= ''; # should always be defined } else { # Default to Unix semantics. ($dirpath,$basename) = ($fullname =~ m{^(.*/)?(.*)}s); if ($orig_type eq 'VMS' and $fullname =~ m{^(/[^/]+/000000(/|$))(.*)}) { # dev:[000000] is top of VMS tree, similar to Unix '/' # so strip it off and treat the rest as "normal" my $devspec = $1; my $remainder = $3; ($dirpath,$basename) = ($remainder =~ m{^(.*/)?(.*)}s); $dirpath ||= ''; # should always be defined $dirpath = $devspec.$dirpath; } $dirpath = './' unless $dirpath; } my $tail = ''; my $suffix = ''; if (@suffices) { foreach $suffix (@suffices) { my $pat = ($igncase ? '(?i)' : '') . "($suffix)\$"; if ($basename =~ s/$pat//s) { $taint .= substr($suffix,0,0); $tail = $1 . $tail; } } } # Ensure taint is propagated from the path to its pieces. $tail .= $taint; wantarray ? ($basename .= $taint, $dirpath .= $taint, $tail) : ($basename .= $taint); } =item C X X my $filename = basename($path); my $filename = basename($path, @suffixes); This function is provided for compatibility with the Unix shell command C. It does B always return the file name portion of a path as you might expect. To be safe, if you want the file name portion of a path use C. C returns the last level of a filepath even if the last level is clearly directory. In effect, it is acting like C for paths. This differs from C's behaviour. # Both return "bar" basename("/foo/bar"); basename("/foo/bar/"); @suffixes work as in C except all regex metacharacters are quoted. # These two function calls are equivalent. my $filename = basename("/foo/bar/baz.txt", ".txt"); my $filename = fileparse("/foo/bar/baz.txt", qr/\Q.txt\E/); Also note that in order to be compatible with the shell command, C does not strip off a suffix if it is identical to the remaining characters in the filename. =cut sub basename { my($path) = shift; # From BSD basename(1) # The basename utility deletes any prefix ending with the last slash '/' # character present in string (after first stripping trailing slashes) _strip_trailing_sep($path); my($basename, $dirname, $suffix) = fileparse( $path, map("\Q$_\E",@_) ); # From BSD basename(1) # The suffix is not stripped if it is identical to the remaining # characters in string. if( length $suffix and !length $basename ) { $basename = $suffix; } # Ensure that basename '/' == '/' if( !length $basename ) { $basename = $dirname; } return $basename; } =item C X This function is provided for compatibility with the Unix shell command C and has inherited some of its quirks. In spite of its name it does B always return the directory name as you might expect. To be safe, if you want the directory name of a path use C. Only on VMS (where there is no ambiguity between the file and directory portions of a path) and AmigaOS (possibly due to an implementation quirk in this module) does C work like C, returning just the $dirs. # On VMS and AmigaOS my $dirs = dirname($path); When using Unix or MSDOS syntax this emulates the C shell function which is subtly different from how C works. It returns all but the last level of a file path even if the last level is clearly a directory. In effect, it is not returning the directory portion but simply the path one level up acting like C for file paths. Also unlike C, C does not include a trailing slash on its returned path. # returns /foo/bar. fileparse() would return /foo/bar/ dirname("/foo/bar/baz"); # also returns /foo/bar despite the fact that baz is clearly a # directory. fileparse() would return /foo/bar/baz/ dirname("/foo/bar/baz/"); # returns '.'. fileparse() would return 'foo/' dirname("foo/"); Under VMS, if there is no directory information in the $path, then the current default device and directory is used. =cut sub dirname { my $path = shift; my($type) = $Fileparse_fstype; if( $type eq 'VMS' and $path =~ m{/} ) { # Parse as Unix local($File::Basename::Fileparse_fstype) = ''; return dirname($path); } my($basename, $dirname) = fileparse($path); if ($type eq 'VMS') { $dirname ||= $ENV{DEFAULT}; } elsif ($type eq 'MacOS') { if( !length($basename) && $dirname !~ /^[^:]+:\z/) { _strip_trailing_sep($dirname); ($basename,$dirname) = fileparse $dirname; } $dirname .= ":" unless $dirname =~ /:\z/; } elsif (grep { $type eq $_ } qw(MSDOS DOS MSWin32 OS2)) { _strip_trailing_sep($dirname); unless( length($basename) ) { ($basename,$dirname) = fileparse $dirname; _strip_trailing_sep($dirname); } } elsif ($type eq 'AmigaOS') { if ( $dirname =~ /:\z/) { return $dirname } chop $dirname; $dirname =~ s{[^:/]+\z}{} unless length($basename); } else { _strip_trailing_sep($dirname); unless( length($basename) ) { ($basename,$dirname) = fileparse $dirname; _strip_trailing_sep($dirname); } } $dirname; } # Strip the trailing path separator. sub _strip_trailing_sep { my $type = $Fileparse_fstype; if ($type eq 'MacOS') { $_[0] =~ s/([^:]):\z/$1/s; } elsif (grep { $type eq $_ } qw(MSDOS DOS MSWin32 OS2)) { $_[0] =~ s/([^:])[\\\/]*\z/$1/; } else { $_[0] =~ s{(.)/*\z}{$1}s; } } =item C X my $type = fileparse_set_fstype(); my $previous_type = fileparse_set_fstype($type); Normally File::Basename will assume a file path type native to your current operating system (ie. /foo/bar style on Unix, \foo\bar on Windows, etc...). With this function you can override that assumption. Valid $types are "MacOS", "VMS", "AmigaOS", "OS2", "RISCOS", "MSWin32", "DOS" (also "MSDOS" for backwards bug compatibility), "Epoc" and "Unix" (all case-insensitive). If an unrecognized $type is given "Unix" will be assumed. If you've selected VMS syntax, and the file specification you pass to one of these routines contains a "/", they assume you are using Unix emulation and apply the Unix syntax rules instead, for that function call only. =back =cut BEGIN { my @Ignore_Case = qw(MacOS VMS AmigaOS OS2 RISCOS MSWin32 MSDOS DOS Epoc); my @Types = (@Ignore_Case, qw(Unix)); sub fileparse_set_fstype { my $old = $Fileparse_fstype; if (@_) { my $new_type = shift; $Fileparse_fstype = 'Unix'; # default foreach my $type (@Types) { $Fileparse_fstype = $type if $new_type =~ /^$type/i; } $Fileparse_igncase = (grep $Fileparse_fstype eq $_, @Ignore_Case) ? 1 : 0; } return $old; } } 1; =head1 SEE ALSO L, L, L FILEf70cb08a/Exporter/Heavy.pmpackage Exporter::Heavy; use strict; no strict 'refs'; # On one line so MakeMaker will see it. our $VERSION = '5.77'; =head1 NAME Exporter::Heavy - Exporter guts =head1 SYNOPSIS (internal use only) =head1 DESCRIPTION No user-serviceable parts inside. =cut # # We go to a lot of trouble not to 'require Carp' at file scope, # because Carp requires Exporter, and something has to give. # sub _rebuild_cache { my ($pkg, $exports, $cache) = @_; s/^&// foreach @$exports; @{$cache}{@$exports} = (1) x @$exports; my $ok = \@{"${pkg}::EXPORT_OK"}; if (@$ok) { s/^&// foreach @$ok; @{$cache}{@$ok} = (1) x @$ok; } } sub heavy_export { # Save the old __WARN__ handler in case it was defined my $oldwarn = $SIG{__WARN__}; # First make import warnings look like they're coming from the "use". local $SIG{__WARN__} = sub { # restore it back so proper stacking occurs local $SIG{__WARN__} = $oldwarn; my $text = shift; if ($text =~ s/ at \S*Exporter\S*.pm line \d+.*\n//) { require Carp; local $Carp::CarpLevel = 1; # ignore package calling us too. Carp::carp($text); } else { warn $text; } }; local $SIG{__DIE__} = sub { require Carp; local $Carp::CarpLevel = 1; # ignore package calling us too. Carp::croak("$_[0]Illegal null symbol in \@${1}::EXPORT") if $_[0] =~ /^Unable to create sub named "(.*?)::"/; }; my($pkg, $callpkg, @imports) = @_; my($type, $sym, $cache_is_current, $oops); my($exports, $export_cache) = (\@{"${pkg}::EXPORT"}, $Exporter::Cache{$pkg} ||= {}); if (@imports) { if (!%$export_cache) { _rebuild_cache ($pkg, $exports, $export_cache); $cache_is_current = 1; } if (grep m{^[/!:]}, @imports) { my $tagsref = \%{"${pkg}::EXPORT_TAGS"}; my $tagdata; my %imports; my($remove, $spec, @names, @allexports); # negated first item implies starting with default set: unshift @imports, ':DEFAULT' if $imports[0] =~ m/^!/; foreach $spec (@imports){ $remove = $spec =~ s/^!//; if ($spec =~ s/^://){ if ($spec eq 'DEFAULT'){ @names = @$exports; } elsif ($tagdata = $tagsref->{$spec}) { @names = @$tagdata; } else { warn qq["$spec" is not defined in %${pkg}::EXPORT_TAGS]; ++$oops; next; } } elsif ($spec =~ m:^/(.*)/$:){ my $patn = $1; @allexports = keys %$export_cache unless @allexports; # only do keys once @names = grep(/$patn/, @allexports); # not anchored by default } else { @names = ($spec); # is a normal symbol name } warn "Import ".($remove ? "del":"add").": @names " if $Exporter::Verbose; if ($remove) { foreach $sym (@names) { delete $imports{$sym} } } else { @imports{@names} = (1) x @names; } } @imports = keys %imports; } my @carp; foreach $sym (@imports) { if (!$export_cache->{$sym}) { if ($sym =~ m/^\d/) { $pkg->VERSION($sym); # inherit from UNIVERSAL # If the version number was the only thing specified # then we should act as if nothing was specified: if (@imports == 1) { @imports = @$exports; last; } # We need a way to emulate 'use Foo ()' but still # allow an easy version check: "use Foo 1.23, ''"; if (@imports == 2 and !$imports[1]) { @imports = (); last; } } elsif ($sym !~ s/^&// || !$export_cache->{$sym}) { # Last chance - see if they've updated EXPORT_OK since we # cached it. unless ($cache_is_current) { %$export_cache = (); _rebuild_cache ($pkg, $exports, $export_cache); $cache_is_current = 1; } if (!$export_cache->{$sym}) { # accumulate the non-exports push @carp, qq["$sym" is not exported by the $pkg module]; $oops++; } } } } if ($oops) { require Carp; Carp::croak(join("\n", @carp, "Can't continue after import errors")); } } else { @imports = @$exports; } my($fail, $fail_cache) = (\@{"${pkg}::EXPORT_FAIL"}, $Exporter::FailCache{$pkg} ||= {}); if (@$fail) { if (!%$fail_cache) { # Build cache of symbols. Optimise the lookup by adding # barewords twice... both with and without a leading &. # (Technique could be applied to $export_cache at cost of memory) my @expanded = map { /^\w/ ? ($_, '&'.$_) : $_ } @$fail; warn "${pkg}::EXPORT_FAIL cached: @expanded" if $Exporter::Verbose; @{$fail_cache}{@expanded} = (1) x @expanded; } my @failed; foreach $sym (@imports) { push(@failed, $sym) if $fail_cache->{$sym} } if (@failed) { @failed = $pkg->export_fail(@failed); foreach $sym (@failed) { require Carp; Carp::carp(qq["$sym" is not implemented by the $pkg module ], "on this architecture"); } if (@failed) { require Carp; Carp::croak("Can't continue after import errors"); } } } warn "Importing into $callpkg from $pkg: ", join(", ",sort @imports) if $Exporter::Verbose; foreach $sym (@imports) { # shortcut for the common case of no type character (*{"${callpkg}::$sym"} = \&{"${pkg}::$sym"}, next) unless $sym =~ s/^(\W)//; $type = $1; no warnings 'once'; *{"${callpkg}::$sym"} = $type eq '&' ? \&{"${pkg}::$sym"} : $type eq '$' ? \${"${pkg}::$sym"} : $type eq '@' ? \@{"${pkg}::$sym"} : $type eq '%' ? \%{"${pkg}::$sym"} : $type eq '*' ? *{"${pkg}::$sym"} : do { require Carp; Carp::croak("Can't export symbol: $type$sym") }; } } sub heavy_export_to_level { my $pkg = shift; my $level = shift; (undef) = shift; # XXX redundant arg my $callpkg = caller($level); $pkg->export($callpkg, @_); } # Utility functions sub _push_tags { my($pkg, $var, $syms) = @_; my @nontag = (); my $export_tags = \%{"${pkg}::EXPORT_TAGS"}; push(@{"${pkg}::$var"}, map { $export_tags->{$_} ? @{$export_tags->{$_}} : scalar(push(@nontag,$_),$_) } (@$syms) ? @$syms : keys %$export_tags); if (@nontag and $^W) { # This may change to a die one day require Carp; Carp::carp(join(", ", @nontag)." are not tags of $pkg"); } } sub heavy_require_version { my($self, $wanted) = @_; my $pkg = ref $self || $self; return ${pkg}->VERSION($wanted); } sub heavy_export_tags { _push_tags((caller)[0], "EXPORT", \@_); } sub heavy_export_ok_tags { _push_tags((caller)[0], "EXPORT_OK", \@_); } 1; FILEefc924aa/Compress/Zlib.pm/ package Compress::Zlib; require 5.006 ; require Exporter; use Carp ; use IO::Handle ; use Scalar::Util qw(dualvar); use IO::Compress::Base::Common 2.204 ; use Compress::Raw::Zlib 2.204 ; use IO::Compress::Gzip 2.204 ; use IO::Uncompress::Gunzip 2.204 ; use strict ; use warnings ; use bytes ; our ($VERSION, $XS_VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS); $VERSION = '2.204'; $XS_VERSION = $VERSION; $VERSION = eval $VERSION; @ISA = qw(Exporter); # Items to export into callers namespace by default. Note: do not export # names by default without a very good reason. Use EXPORT_OK instead. # Do not simply export all your public functions/methods/constants. @EXPORT = qw( deflateInit inflateInit compress uncompress gzopen $gzerrno ); push @EXPORT, @Compress::Raw::Zlib::EXPORT ; @EXPORT_OK = qw(memGunzip memGzip zlib_version); %EXPORT_TAGS = ( ALL => \@EXPORT ); BEGIN { *zlib_version = \&Compress::Raw::Zlib::zlib_version; } use constant FLAG_APPEND => 1 ; use constant FLAG_CRC => 2 ; use constant FLAG_ADLER => 4 ; use constant FLAG_CONSUME_INPUT => 8 ; our (@my_z_errmsg); @my_z_errmsg = ( "need dictionary", # Z_NEED_DICT 2 "stream end", # Z_STREAM_END 1 "", # Z_OK 0 "file error", # Z_ERRNO (-1) "stream error", # Z_STREAM_ERROR (-2) "data error", # Z_DATA_ERROR (-3) "insufficient memory", # Z_MEM_ERROR (-4) "buffer error", # Z_BUF_ERROR (-5) "incompatible version",# Z_VERSION_ERROR(-6) ); sub _set_gzerr { my $value = shift ; if ($value == 0) { $Compress::Zlib::gzerrno = 0 ; } elsif ($value == Z_ERRNO() || $value > 2) { $Compress::Zlib::gzerrno = $! ; } else { $Compress::Zlib::gzerrno = dualvar($value+0, $my_z_errmsg[2 - $value]); } return $value ; } sub _set_gzerr_undef { _set_gzerr(@_); return undef; } sub _save_gzerr { my $gz = shift ; my $test_eof = shift ; my $value = $gz->errorNo() || 0 ; my $eof = $gz->eof() ; if ($test_eof) { # gzread uses Z_STREAM_END to denote a successful end $value = Z_STREAM_END() if $gz->eof() && $value == 0 ; } _set_gzerr($value) ; } sub gzopen($$) { my ($file, $mode) = @_ ; my $gz ; my %defOpts = (Level => Z_DEFAULT_COMPRESSION(), Strategy => Z_DEFAULT_STRATEGY(), ); my $writing ; $writing = ! ($mode =~ /r/i) ; $writing = ($mode =~ /[wa]/i) ; $defOpts{Level} = $1 if $mode =~ /(\d)/; $defOpts{Strategy} = Z_FILTERED() if $mode =~ /f/i; $defOpts{Strategy} = Z_HUFFMAN_ONLY() if $mode =~ /h/i; $defOpts{Append} = 1 if $mode =~ /a/i; my $infDef = $writing ? 'deflate' : 'inflate'; my @params = () ; croak "gzopen: file parameter is not a filehandle or filename" unless isaFilehandle $file || isaFilename $file || (ref $file && ref $file eq 'SCALAR'); return undef unless $mode =~ /[rwa]/i ; _set_gzerr(0) ; if ($writing) { $gz = IO::Compress::Gzip->new($file, Minimal => 1, AutoClose => 1, %defOpts) or $Compress::Zlib::gzerrno = $IO::Compress::Gzip::GzipError; } else { $gz = IO::Uncompress::Gunzip->new($file, Transparent => 1, Append => 0, AutoClose => 1, MultiStream => 1, Strict => 0) or $Compress::Zlib::gzerrno = $IO::Uncompress::Gunzip::GunzipError; } return undef if ! defined $gz ; bless [$gz, $infDef], 'Compress::Zlib::gzFile'; } sub Compress::Zlib::gzFile::gzread { my $self = shift ; return _set_gzerr(Z_STREAM_ERROR()) if $self->[1] ne 'inflate'; my $len = defined $_[1] ? $_[1] : 4096 ; my $gz = $self->[0] ; if ($self->gzeof() || $len == 0) { # Zap the output buffer to match ver 1 behaviour. $_[0] = "" ; _save_gzerr($gz, 1); return 0 ; } my $status = $gz->read($_[0], $len) ; _save_gzerr($gz, 1); return $status ; } sub Compress::Zlib::gzFile::gzreadline { my $self = shift ; my $gz = $self->[0] ; { # Maintain backward compatibility with 1.x behaviour # It didn't support $/, so this can't either. local $/ = "\n" ; $_[0] = $gz->getline() ; } _save_gzerr($gz, 1); return defined $_[0] ? length $_[0] : 0 ; } sub Compress::Zlib::gzFile::gzwrite { my $self = shift ; my $gz = $self->[0] ; return _set_gzerr(Z_STREAM_ERROR()) if $self->[1] ne 'deflate'; $] >= 5.008 and (utf8::downgrade($_[0], 1) or croak "Wide character in gzwrite"); my $status = $gz->write($_[0]) ; _save_gzerr($gz); return $status ; } sub Compress::Zlib::gzFile::gztell { my $self = shift ; my $gz = $self->[0] ; my $status = $gz->tell() ; _save_gzerr($gz); return $status ; } sub Compress::Zlib::gzFile::gzseek { my $self = shift ; my $offset = shift ; my $whence = shift ; my $gz = $self->[0] ; my $status ; eval { local $SIG{__DIE__}; $status = $gz->seek($offset, $whence) ; }; if ($@) { my $error = $@; $error =~ s/^.*: /gzseek: /; $error =~ s/ at .* line \d+\s*$//; croak $error; } _save_gzerr($gz); return $status ; } sub Compress::Zlib::gzFile::gzflush { my $self = shift ; my $f = shift ; my $gz = $self->[0] ; my $status = $gz->flush($f) ; my $err = _save_gzerr($gz); return $status ? 0 : $err; } sub Compress::Zlib::gzFile::gzclose { my $self = shift ; my $gz = $self->[0] ; my $status = $gz->close() ; my $err = _save_gzerr($gz); return $status ? 0 : $err; } sub Compress::Zlib::gzFile::gzeof { my $self = shift ; my $gz = $self->[0] ; return 0 if $self->[1] ne 'inflate'; my $status = $gz->eof() ; _save_gzerr($gz); return $status ; } sub Compress::Zlib::gzFile::gzsetparams { my $self = shift ; croak "Usage: Compress::Zlib::gzFile::gzsetparams(file, level, strategy)" unless @_ eq 2 ; my $gz = $self->[0] ; my $level = shift ; my $strategy = shift; return _set_gzerr(Z_STREAM_ERROR()) if $self->[1] ne 'deflate'; my $status = *$gz->{Compress}->deflateParams(-Level => $level, -Strategy => $strategy); _save_gzerr($gz); return $status ; } sub Compress::Zlib::gzFile::gzerror { my $self = shift ; my $gz = $self->[0] ; return $Compress::Zlib::gzerrno ; } sub compress($;$) { my ($x, $output, $err, $in) =('', '', '', '') ; if (ref $_[0] ) { $in = $_[0] ; croak "not a scalar reference" unless ref $in eq 'SCALAR' ; } else { $in = \$_[0] ; } $] >= 5.008 and (utf8::downgrade($$in, 1) or croak "Wide character in compress"); my $level = (@_ == 2 ? $_[1] : Z_DEFAULT_COMPRESSION() ); $x = Compress::Raw::Zlib::_deflateInit(FLAG_APPEND, $level, Z_DEFLATED, MAX_WBITS, MAX_MEM_LEVEL, Z_DEFAULT_STRATEGY, 4096, '') or return undef ; $err = $x->deflate($in, $output) ; return undef unless $err == Z_OK() ; $err = $x->flush($output) ; return undef unless $err == Z_OK() ; return $output ; } sub uncompress($) { my ($output, $in) =('', '') ; if (ref $_[0] ) { $in = $_[0] ; croak "not a scalar reference" unless ref $in eq 'SCALAR' ; } else { $in = \$_[0] ; } $] >= 5.008 and (utf8::downgrade($$in, 1) or croak "Wide character in uncompress"); my ($obj, $status) = Compress::Raw::Zlib::_inflateInit(0, MAX_WBITS, 4096, "") ; $status == Z_OK or return undef; $obj->inflate($in, $output) == Z_STREAM_END or return undef; return $output; } sub deflateInit(@) { my ($got) = ParseParameters(0, { 'bufsize' => [IO::Compress::Base::Common::Parse_unsigned, 4096], 'level' => [IO::Compress::Base::Common::Parse_signed, Z_DEFAULT_COMPRESSION()], 'method' => [IO::Compress::Base::Common::Parse_unsigned, Z_DEFLATED()], 'windowbits' => [IO::Compress::Base::Common::Parse_signed, MAX_WBITS()], 'memlevel' => [IO::Compress::Base::Common::Parse_unsigned, MAX_MEM_LEVEL()], 'strategy' => [IO::Compress::Base::Common::Parse_unsigned, Z_DEFAULT_STRATEGY()], 'dictionary' => [IO::Compress::Base::Common::Parse_any, ""], }, @_ ) ; croak "Compress::Zlib::deflateInit: Bufsize must be >= 1, you specified " . $got->getValue('bufsize') unless $got->getValue('bufsize') >= 1; my $obj ; my $status = 0 ; ($obj, $status) = Compress::Raw::Zlib::_deflateInit(0, $got->getValue('level'), $got->getValue('method'), $got->getValue('windowbits'), $got->getValue('memlevel'), $got->getValue('strategy'), $got->getValue('bufsize'), $got->getValue('dictionary')) ; my $x = ($status == Z_OK() ? bless $obj, "Zlib::OldDeflate" : undef) ; return wantarray ? ($x, $status) : $x ; } sub inflateInit(@) { my ($got) = ParseParameters(0, { 'bufsize' => [IO::Compress::Base::Common::Parse_unsigned, 4096], 'windowbits' => [IO::Compress::Base::Common::Parse_signed, MAX_WBITS()], 'dictionary' => [IO::Compress::Base::Common::Parse_any, ""], }, @_) ; croak "Compress::Zlib::inflateInit: Bufsize must be >= 1, you specified " . $got->getValue('bufsize') unless $got->getValue('bufsize') >= 1; my $status = 0 ; my $obj ; ($obj, $status) = Compress::Raw::Zlib::_inflateInit(FLAG_CONSUME_INPUT, $got->getValue('windowbits'), $got->getValue('bufsize'), $got->getValue('dictionary')) ; my $x = ($status == Z_OK() ? bless $obj, "Zlib::OldInflate" : undef) ; wantarray ? ($x, $status) : $x ; } package Zlib::OldDeflate ; our (@ISA); @ISA = qw(Compress::Raw::Zlib::deflateStream); sub deflate { my $self = shift ; my $output ; my $status = $self->SUPER::deflate($_[0], $output) ; wantarray ? ($output, $status) : $output ; } sub flush { my $self = shift ; my $output ; my $flag = shift || Compress::Zlib::Z_FINISH(); my $status = $self->SUPER::flush($output, $flag) ; wantarray ? ($output, $status) : $output ; } package Zlib::OldInflate ; our (@ISA); @ISA = qw(Compress::Raw::Zlib::inflateStream); sub inflate { my $self = shift ; my $output ; my $status = $self->SUPER::inflate($_[0], $output) ; wantarray ? ($output, $status) : $output ; } package Compress::Zlib ; use IO::Compress::Gzip::Constants 2.204 ; sub memGzip($) { _set_gzerr(0); my $x = Compress::Raw::Zlib::_deflateInit(FLAG_APPEND|FLAG_CRC, Z_BEST_COMPRESSION, Z_DEFLATED, -MAX_WBITS(), MAX_MEM_LEVEL, Z_DEFAULT_STRATEGY, 4096, '') or return undef ; # if the deflation buffer isn't a reference, make it one my $string = (ref $_[0] ? $_[0] : \$_[0]) ; $] >= 5.008 and (utf8::downgrade($$string, 1) or croak "Wide character in memGzip"); my $out; my $status ; $x->deflate($string, $out) == Z_OK or return undef ; $x->flush($out) == Z_OK or return undef ; return IO::Compress::Gzip::Constants::GZIP_MINIMUM_HEADER . $out . pack("V V", $x->crc32(), $x->total_in()); } sub _removeGzipHeader($) { my $string = shift ; return Z_DATA_ERROR() if length($$string) < GZIP_MIN_HEADER_SIZE ; my ($magic1, $magic2, $method, $flags, $time, $xflags, $oscode) = unpack ('CCCCVCC', $$string); return Z_DATA_ERROR() unless $magic1 == GZIP_ID1 and $magic2 == GZIP_ID2 and $method == Z_DEFLATED() and !($flags & GZIP_FLG_RESERVED) ; substr($$string, 0, GZIP_MIN_HEADER_SIZE) = '' ; # skip extra field if ($flags & GZIP_FLG_FEXTRA) { return Z_DATA_ERROR() if length($$string) < GZIP_FEXTRA_HEADER_SIZE ; my ($extra_len) = unpack ('v', $$string); $extra_len += GZIP_FEXTRA_HEADER_SIZE; return Z_DATA_ERROR() if length($$string) < $extra_len ; substr($$string, 0, $extra_len) = ''; } # skip orig name if ($flags & GZIP_FLG_FNAME) { my $name_end = index ($$string, GZIP_NULL_BYTE); return Z_DATA_ERROR() if $name_end == -1 ; substr($$string, 0, $name_end + 1) = ''; } # skip comment if ($flags & GZIP_FLG_FCOMMENT) { my $comment_end = index ($$string, GZIP_NULL_BYTE); return Z_DATA_ERROR() if $comment_end == -1 ; substr($$string, 0, $comment_end + 1) = ''; } # skip header crc if ($flags & GZIP_FLG_FHCRC) { return Z_DATA_ERROR() if length ($$string) < GZIP_FHCRC_SIZE ; substr($$string, 0, GZIP_FHCRC_SIZE) = ''; } return Z_OK(); } sub _ret_gun_error { $Compress::Zlib::gzerrno = $IO::Uncompress::Gunzip::GunzipError; return undef; } sub memGunzip($) { # if the buffer isn't a reference, make it one my $string = (ref $_[0] ? $_[0] : \$_[0]); $] >= 5.008 and (utf8::downgrade($$string, 1) or croak "Wide character in memGunzip"); _set_gzerr(0); my $status = _removeGzipHeader($string) ; $status == Z_OK() or return _set_gzerr_undef($status); my $bufsize = length $$string > 4096 ? length $$string : 4096 ; my $x = Compress::Raw::Zlib::_inflateInit(FLAG_CRC | FLAG_CONSUME_INPUT, -MAX_WBITS(), $bufsize, '') or return _ret_gun_error(); my $output = '' ; $status = $x->inflate($string, $output); if ( $status == Z_OK() ) { _set_gzerr(Z_DATA_ERROR()); return undef; } return _ret_gun_error() if ($status != Z_STREAM_END()); if (length $$string >= 8) { my ($crc, $len) = unpack ("VV", substr($$string, 0, 8)); substr($$string, 0, 8) = ''; return _set_gzerr_undef(Z_DATA_ERROR()) unless $len == length($output) and $crc == Compress::Raw::Zlib::crc32($output); } else { $$string = ''; } return $output; } # Autoload methods go after __END__, and are processed by the autosplit program. 1; __END__ =head1 NAME Compress::Zlib - Interface to zlib compression library =head1 SYNOPSIS use Compress::Zlib ; ($d, $status) = deflateInit( [OPT] ) ; $status = $d->deflate($input, $output) ; $status = $d->flush([$flush_type]) ; $d->deflateParams(OPTS) ; $d->deflateTune(OPTS) ; $d->dict_adler() ; $d->crc32() ; $d->adler32() ; $d->total_in() ; $d->total_out() ; $d->msg() ; $d->get_Strategy(); $d->get_Level(); $d->get_BufSize(); ($i, $status) = inflateInit( [OPT] ) ; $status = $i->inflate($input, $output [, $eof]) ; $status = $i->inflateSync($input) ; $i->dict_adler() ; $d->crc32() ; $d->adler32() ; $i->total_in() ; $i->total_out() ; $i->msg() ; $d->get_BufSize(); $dest = compress($source) ; $dest = uncompress($source) ; $gz = gzopen($filename or filehandle, $mode) ; $bytesread = $gz->gzread($buffer [,$size]) ; $bytesread = $gz->gzreadline($line) ; $byteswritten = $gz->gzwrite($buffer) ; $status = $gz->gzflush($flush) ; $offset = $gz->gztell() ; $status = $gz->gzseek($offset, $whence) ; $status = $gz->gzclose() ; $status = $gz->gzeof() ; $status = $gz->gzsetparams($level, $strategy) ; $errstring = $gz->gzerror() ; $gzerrno $dest = Compress::Zlib::memGzip($buffer) ; $dest = Compress::Zlib::memGunzip($buffer) ; $crc = adler32($buffer [,$crc]) ; $crc = crc32($buffer [,$crc]) ; $crc = crc32_combine($crc1, $crc2, $len2); $adler = adler32_combine($adler1, $adler2, $len2); my $version = Compress::Raw::Zlib::zlib_version(); =head1 DESCRIPTION The I module provides a Perl interface to the I compression library (see L for details about where to get I). The C module can be split into two general areas of functionality, namely a simple read/write interface to I files and a low-level in-memory compression/decompression interface. Each of these areas will be discussed in the following sections. =head2 Notes for users of Compress::Zlib version 1 The main change in C version 2.x is that it does not now interface directly to the zlib library. Instead it uses the C and C modules for reading/writing gzip files, and the C module for some low-level zlib access. The interface provided by version 2 of this module should be 100% backward compatible with version 1. If you find a difference in the expected behaviour please contact the author (See L). See L With the creation of the C and C modules no new features are planned for C - the new modules do everything that C does and then some. Development on C will be limited to bug fixes only. If you are writing new code, your first port of call should be one of the new C or C modules. =head1 GZIP INTERFACE A number of functions are supplied in I for reading and writing I files that conform to RFC 1952. This module provides an interface to most of them. If you have previously used C 1.x, the following enhancements/changes have been made to the C interface: =over 5 =item 1 If you want to open either STDIN or STDOUT with C, you can now optionally use the special filename "C<->" as a synonym for C<\*STDIN> and C<\*STDOUT>. =item 2 In C version 1.x, C used the zlib library to open the underlying file. This made things especially tricky when a Perl filehandle was passed to C. Behind the scenes the numeric C file descriptor had to be extracted from the Perl filehandle and this passed to the zlib library. Apart from being non-portable to some operating systems, this made it difficult to use C in situations where you wanted to extract/create a gzip data stream that is embedded in a larger file, without having to resort to opening and closing the file multiple times. It also made it impossible to pass a perl filehandle that wasn't associated with a real filesystem file, like, say, an C. In C version 2.x, the C interface has been completely rewritten to use the L for writing gzip files and L for reading gzip files. None of the limitations mentioned above apply. =item 3 Addition of C to provide a restricted C interface. =item 4. Added C. =back A more complete and flexible interface for reading/writing gzip files/buffers is included with the module C. See L and L for more details. =over 5 =item B<$gz = gzopen($filename, $mode)> =item B<$gz = gzopen($filehandle, $mode)> This function opens either the I file C<$filename> for reading or writing or attaches to the opened filehandle, C<$filehandle>. It returns an object on success and C on failure. When writing a gzip file this interface will I create the smallest possible gzip header (exactly 10 bytes). If you want greater control over what gets stored in the gzip header (like the original filename or a comment) use L instead. Similarly if you want to read the contents of the gzip header use L. The second parameter, C<$mode>, is used to specify whether the file is opened for reading or writing and to optionally specify a compression level and compression strategy when writing. The format of the C<$mode> parameter is similar to the mode parameter to the 'C' function C, so "rb" is used to open for reading, "wb" for writing and "ab" for appending (writing at the end of the file). To specify a compression level when writing, append a digit between 0 and 9 to the mode string -- 0 means no compression and 9 means maximum compression. If no compression level is specified Z_DEFAULT_COMPRESSION is used. To specify the compression strategy when writing, append 'f' for filtered data, 'h' for Huffman only compression, or 'R' for run-length encoding. If no strategy is specified Z_DEFAULT_STRATEGY is used. So, for example, "wb9" means open for writing with the maximum compression using the default strategy and "wb4R" means open for writing with compression level 4 and run-length encoding. Refer to the I documentation for the exact format of the C<$mode> parameter. =item B<$bytesread = $gz-Egzread($buffer [, $size]) ;> Reads C<$size> bytes from the compressed file into C<$buffer>. If C<$size> is not specified, it will default to 4096. If the scalar C<$buffer> is not large enough, it will be extended automatically. Returns the number of bytes actually read. On EOF it returns 0 and in the case of an error, -1. =item B<$bytesread = $gz-Egzreadline($line) ;> Reads the next line from the compressed file into C<$line>. Returns the number of bytes actually read. On EOF it returns 0 and in the case of an error, -1. It is legal to intermix calls to C and C. To maintain backward compatibility with version 1.x of this module C ignores the C<$/> variable - it I uses the string C<"\n"> as the line delimiter. If you want to read a gzip file a line at a time and have it respect the C<$/> variable (or C<$INPUT_RECORD_SEPARATOR>, or C<$RS> when C is in use) see L. =item B<$byteswritten = $gz-Egzwrite($buffer) ;> Writes the contents of C<$buffer> to the compressed file. Returns the number of bytes actually written, or 0 on error. =item B<$status = $gz-Egzflush($flush_type) ;> Flushes all pending output into the compressed file. This method takes an optional parameter, C<$flush_type>, that controls how the flushing will be carried out. By default the C<$flush_type> used is C. Other valid values for C<$flush_type> are C, C, C and C. It is strongly recommended that you only set the C parameter if you fully understand the implications of what it does - overuse of C can seriously degrade the level of compression achieved. See the C documentation for details. Returns 0 on success. =item B<$offset = $gz-Egztell() ;> Returns the uncompressed file offset. =item B<$status = $gz-Egzseek($offset, $whence) ;> Provides a sub-set of the C functionality, with the restriction that it is only legal to seek forward in the compressed file. It is a fatal error to attempt to seek backward. When opened for writing, empty parts of the file will have NULL (0x00) bytes written to them. The C<$whence> parameter should be one of SEEK_SET, SEEK_CUR or SEEK_END. Returns 1 on success, 0 on failure. =item B<$gz-Egzclose> Closes the compressed file. Any pending data is flushed to the file before it is closed. Returns 0 on success. =item B<$gz-Egzsetparams($level, $strategy> Change settings for the deflate stream C<$gz>. The list of the valid options is shown below. Options not specified will remain unchanged. Note: This method is only available if you are running zlib 1.0.6 or better. =over 5 =item B<$level> Defines the compression level. Valid values are 0 through 9, C, C, C, and C. =item B<$strategy> Defines the strategy used to tune the compression. The valid values are C, C and C. =back =item B<$gz-Egzerror> Returns the I error message or number for the last operation associated with C<$gz>. The return value will be the I error number when used in a numeric context and the I error message when used in a string context. The I error number constants, shown below, are available for use. Z_OK Z_STREAM_END Z_ERRNO Z_STREAM_ERROR Z_DATA_ERROR Z_MEM_ERROR Z_BUF_ERROR =item B<$gzerrno> The C<$gzerrno> scalar holds the error code associated with the most recent I routine. Note that unlike C, the error is I associated with a particular file. As with C it returns an error number in numeric context and an error message in string context. Unlike C though, the error message will correspond to the I message when the error is associated with I itself, or the UNIX error message when it is not (i.e. I returned C). As there is an overlap between the error numbers used by I and UNIX, C<$gzerrno> should only be used to check for the presence of I error in numeric context. Use C to check for specific I errors. The I example below shows how the variable can be used safely. =back =head2 Examples Here is an example script which uses the interface. It implements a I function. use strict ; use warnings ; use Compress::Zlib ; # use stdin if no files supplied @ARGV = '-' unless @ARGV ; foreach my $file (@ARGV) { my $buffer ; my $gz = gzopen($file, "rb") or die "Cannot open $file: $gzerrno\n" ; print $buffer while $gz->gzread($buffer) > 0 ; die "Error reading from $file: $gzerrno" . ($gzerrno+0) . "\n" if $gzerrno != Z_STREAM_END ; $gz->gzclose() ; } Below is a script which makes use of C. It implements a very simple I like script. use strict ; use warnings ; use Compress::Zlib ; die "Usage: gzgrep pattern [file...]\n" unless @ARGV >= 1; my $pattern = shift ; # use stdin if no files supplied @ARGV = '-' unless @ARGV ; foreach my $file (@ARGV) { my $gz = gzopen($file, "rb") or die "Cannot open $file: $gzerrno\n" ; while ($gz->gzreadline($_) > 0) { print if /$pattern/ ; } die "Error reading from $file: $gzerrno\n" if $gzerrno != Z_STREAM_END ; $gz->gzclose() ; } This script, I, does the opposite of the I script above. It reads from standard input and writes a gzip data stream to standard output. use strict ; use warnings ; use Compress::Zlib ; binmode STDOUT; # gzopen only sets it on the fd my $gz = gzopen(\*STDOUT, "wb") or die "Cannot open stdout: $gzerrno\n" ; while (<>) { $gz->gzwrite($_) or die "error writing: $gzerrno\n" ; } $gz->gzclose ; =head2 Compress::Zlib::memGzip This function is used to create an in-memory gzip file with the minimum possible gzip header (exactly 10 bytes). $dest = Compress::Zlib::memGzip($buffer) or die "Cannot compress: $gzerrno\n"; If successful, it returns the in-memory gzip file. Otherwise it returns C and the C<$gzerrno> variable will store the zlib error code. The C<$buffer> parameter can either be a scalar or a scalar reference. See L for an alternative way to carry out in-memory gzip compression. =head2 Compress::Zlib::memGunzip This function is used to uncompress an in-memory gzip file. $dest = Compress::Zlib::memGunzip($buffer) or die "Cannot uncompress: $gzerrno\n"; If successful, it returns the uncompressed gzip file. Otherwise it returns C and the C<$gzerrno> variable will store the zlib error code. The C<$buffer> parameter can either be a scalar or a scalar reference. The contents of the C<$buffer> parameter are destroyed after calling this function. If C<$buffer> consists of multiple concatenated gzip data streams only the first will be uncompressed. Use C with the C option in the C module if you need to deal with concatenated data streams. See L for an alternative way to carry out in-memory gzip uncompression. =head1 COMPRESS/UNCOMPRESS Two functions are provided to perform in-memory compression/uncompression of RFC 1950 data streams. They are called C and C. =over 5 =item B<$dest = compress($source [, $level] ) ;> Compresses C<$source>. If successful it returns the compressed data. Otherwise it returns I. The source buffer, C<$source>, can either be a scalar or a scalar reference. The C<$level> parameter defines the compression level. Valid values are 0 through 9, C, C, C, and C. If C<$level> is not specified C will be used. =item B<$dest = uncompress($source) ;> Uncompresses C<$source>. If successful it returns the uncompressed data. Otherwise it returns I. The source buffer can either be a scalar or a scalar reference. =back Please note: the two functions defined above are I compatible with the Unix commands of the same name. See L and L included with this distribution for an alternative interface for reading/writing RFC 1950 files/buffers. =head1 Deflate Interface This section defines an interface that allows in-memory compression using the I interface provided by zlib. Here is a definition of the interface available: =head2 B<($d, $status) = deflateInit( [OPT] )> Initialises a deflation stream. It combines the features of the I functions C, C and C. If successful, it will return the initialised deflation stream, C<$d> and C<$status> of C in a list context. In scalar context it returns the deflation stream, C<$d>, only. If not successful, the returned deflation stream (C<$d>) will be I and C<$status> will hold the exact I error code. The function optionally takes a number of named options specified as C<< -Name=>value >> pairs. This allows individual options to be tailored without having to specify them all in the parameter list. For backward compatibility, it is also possible to pass the parameters as a reference to a hash containing the name=>value pairs. The function takes one optional parameter, a reference to a hash. The contents of the hash allow the deflation interface to be tailored. Here is a list of the valid options: =over 5 =item B<-Level> Defines the compression level. Valid values are 0 through 9, C, C, C, and C. The default is Z_DEFAULT_COMPRESSION. =item B<-Method> Defines the compression method. The only valid value at present (and the default) is Z_DEFLATED. =item B<-WindowBits> To create an RFC 1950 data stream, set C to a positive number. To create an RFC 1951 data stream, set C to C<-MAX_WBITS>. For a full definition of the meaning and valid values for C refer to the I documentation for I. Defaults to MAX_WBITS. =item B<-MemLevel> For a definition of the meaning and valid values for C refer to the I documentation for I. Defaults to MAX_MEM_LEVEL. =item B<-Strategy> Defines the strategy used to tune the compression. The valid values are C, C and C. The default is Z_DEFAULT_STRATEGY. =item B<-Dictionary> When a dictionary is specified I will automatically call C directly after calling C. The Adler32 value for the dictionary can be obtained by calling the method C<< $d->dict_adler() >>. The default is no dictionary. =item B<-Bufsize> Sets the initial size for the deflation buffer. If the buffer has to be reallocated to increase the size, it will grow in increments of C. The default is 4096. =back Here is an example of using the C optional parameter list to override the default buffer size and compression level. All other options will take their default values. deflateInit( -Bufsize => 300, -Level => Z_BEST_SPEED ) ; =head2 B<($out, $status) = $d-Edeflate($buffer)> Deflates the contents of C<$buffer>. The buffer can either be a scalar or a scalar reference. When finished, C<$buffer> will be completely processed (assuming there were no errors). If the deflation was successful it returns the deflated output, C<$out>, and a status value, C<$status>, of C. On error, C<$out> will be I and C<$status> will contain the I error code. In a scalar context C will return C<$out> only. As with the I function in I, it is not necessarily the case that any output will be produced by this method. So don't rely on the fact that C<$out> is empty for an error test. =head2 B<($out, $status) = $d-Eflush()> =head2 B<($out, $status) = $d-Eflush($flush_type)> Typically used to finish the deflation. Any pending output will be returned via C<$out>. C<$status> will have a value C if successful. In a scalar context C will return C<$out> only. Note that flushing can seriously degrade the compression ratio, so it should only be used to terminate a decompression (using C) or when you want to create a I (using C). By default the C used is C. Other valid values for C are C, C, C and C. It is strongly recommended that you only set the C parameter if you fully understand the implications of what it does. See the C documentation for details. =head2 B<$status = $d-EdeflateParams([OPT])> Change settings for the deflate stream C<$d>. The list of the valid options is shown below. Options not specified will remain unchanged. =over 5 =item B<-Level> Defines the compression level. Valid values are 0 through 9, C, C, C, and C. =item B<-Strategy> Defines the strategy used to tune the compression. The valid values are C, C and C. =back =head2 B<$d-Edict_adler()> Returns the adler32 value for the dictionary. =head2 B<$d-Emsg()> Returns the last error message generated by zlib. =head2 B<$d-Etotal_in()> Returns the total number of bytes uncompressed bytes input to deflate. =head2 B<$d-Etotal_out()> Returns the total number of compressed bytes output from deflate. =head2 Example Here is a trivial example of using C. It simply reads standard input, deflates it and writes it to standard output. use strict ; use warnings ; use Compress::Zlib ; binmode STDIN; binmode STDOUT; my $x = deflateInit() or die "Cannot create a deflation stream\n" ; my ($output, $status) ; while (<>) { ($output, $status) = $x->deflate($_) ; $status == Z_OK or die "deflation failed\n" ; print $output ; } ($output, $status) = $x->flush() ; $status == Z_OK or die "deflation failed\n" ; print $output ; =head1 Inflate Interface This section defines the interface available that allows in-memory uncompression using the I interface provided by zlib. Here is a definition of the interface: =head2 B<($i, $status) = inflateInit()> Initialises an inflation stream. In a list context it returns the inflation stream, C<$i>, and the I status code in C<$status>. In a scalar context it returns the inflation stream only. If successful, C<$i> will hold the inflation stream and C<$status> will be C. If not successful, C<$i> will be I and C<$status> will hold the I error code. The function optionally takes a number of named options specified as C<< -Name=>value >> pairs. This allows individual options to be tailored without having to specify them all in the parameter list. For backward compatibility, it is also possible to pass the parameters as a reference to a hash containing the name=>value pairs. The function takes one optional parameter, a reference to a hash. The contents of the hash allow the deflation interface to be tailored. Here is a list of the valid options: =over 5 =item B<-WindowBits> To uncompress an RFC 1950 data stream, set C to a positive number. To uncompress an RFC 1951 data stream, set C to C<-MAX_WBITS>. For a full definition of the meaning and valid values for C refer to the I documentation for I. Defaults to MAX_WBITS. =item B<-Bufsize> Sets the initial size for the inflation buffer. If the buffer has to be reallocated to increase the size, it will grow in increments of C. Default is 4096. =item B<-Dictionary> The default is no dictionary. =back Here is an example of using the C optional parameter to override the default buffer size. inflateInit( -Bufsize => 300 ) ; =head2 B<($out, $status) = $i-Einflate($buffer)> Inflates the complete contents of C<$buffer>. The buffer can either be a scalar or a scalar reference. Returns C if successful and C if the end of the compressed data has been successfully reached. If not successful, C<$out> will be I and C<$status> will hold the I error code. The C<$buffer> parameter is modified by C. On completion it will contain what remains of the input buffer after inflation. This means that C<$buffer> will be an empty string when the return status is C. When the return status is C the C<$buffer> parameter will contains what (if anything) was stored in the input buffer after the deflated data stream. This feature is useful when processing a file format that encapsulates a compressed data stream (e.g. gzip, zip). =head2 B<$status = $i-EinflateSync($buffer)> Scans C<$buffer> until it reaches either a I or the end of the buffer. If a I is found, C is returned and C<$buffer> will be have all data up to the flush point removed. This can then be passed to the C method. Any other return code means that a flush point was not found. If more data is available, C can be called repeatedly with more compressed data until the flush point is found. =head2 B<$i-Edict_adler()> Returns the adler32 value for the dictionary. =head2 B<$i-Emsg()> Returns the last error message generated by zlib. =head2 B<$i-Etotal_in()> Returns the total number of bytes compressed bytes input to inflate. =head2 B<$i-Etotal_out()> Returns the total number of uncompressed bytes output from inflate. =head2 Example Here is an example of using C. use strict ; use warnings ; use Compress::Zlib ; my $x = inflateInit() or die "Cannot create a inflation stream\n" ; my $input = '' ; binmode STDIN; binmode STDOUT; my ($output, $status) ; while (read(STDIN, $input, 4096)) { ($output, $status) = $x->inflate(\$input) ; print $output if $status == Z_OK or $status == Z_STREAM_END ; last if $status != Z_OK ; } die "inflation failed\n" unless $status == Z_STREAM_END ; =head1 CHECKSUM FUNCTIONS Two functions are provided by I to calculate checksums. For the Perl interface, the order of the two parameters in both functions has been reversed. This allows both running checksums and one off calculations to be done. $crc = adler32($buffer [,$crc]) ; $crc = crc32($buffer [,$crc]) ; The buffer parameters can either be a scalar or a scalar reference. If the $crc parameters is C, the crc value will be reset. If you have built this module with zlib 1.2.3 or better, two more CRC-related functions are available. $crc = crc32_combine($crc1, $crc2, $len2); $adler = adler32_combine($adler1, $adler2, $len2); These functions allow checksums to be merged. Refer to the I documentation for more details. =head1 Misc =head2 my $version = Compress::Zlib::zlib_version(); Returns the version of the zlib library. =head1 CONSTANTS All the I constants are automatically imported when you make use of I. =head1 SUPPORT General feedback/questions/bug reports should be sent to L (preferred) or L. =head1 SEE ALSO L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L L L, L, L, L For RFC 1950, 1951 and 1952 see L, L and L The I compression library was written by Jean-loup Gailly C and Mark Adler C. The primary site for the I compression library is L. The primary site for the I compression library is L. The primary site for gzip is L. =head1 AUTHOR This module was written by Paul Marquess, C. =head1 MODIFICATION HISTORY See the Changes file. =head1 COPYRIGHT AND LICENSE Copyright (c) 1995-2023 Paul Marquess. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. FILE57006cdb/Carp/Heavy.pmpackage Carp::Heavy; use Carp (); our $VERSION = '1.54'; $VERSION =~ tr/_//d; # Carp::Heavy was merged into Carp in version 1.12. Any mismatched versions # after this point are not significant and can be ignored. if(($Carp::VERSION || 0) < 1.12) { my $cv = defined($Carp::VERSION) ? $Carp::VERSION : "undef"; die "Version mismatch between Carp $cv ($INC{q(Carp.pm)}) and Carp::Heavy $VERSION ($INC{q(Carp/Heavy.pm)}). Did you alter \@INC after Carp was loaded?\n"; } 1; # Most of the machinery of Carp used to be here. # It has been moved in Carp.pm now, but this placeholder remains for # the benefit of modules that like to preload Carp::Heavy directly. # This must load Carp, because some modules rely on the historical # behaviour of Carp::Heavy loading Carp. FILEb956cb79/Digest/base.pmpackage Digest::base; use strict; use warnings; our $VERSION = "1.20"; # subclass is supposed to implement at least these sub new; sub clone; sub add; sub digest; sub reset { my $self = shift; $self->new(@_); # ugly } sub addfile { my ( $self, $handle ) = @_; my $n; my $buf = ""; while ( ( $n = read( $handle, $buf, 4 * 1024 ) ) ) { $self->add($buf); } unless ( defined $n ) { require Carp; Carp::croak("Read failed: $!"); } $self; } sub add_bits { my $self = shift; my $bits; my $nbits; if ( @_ == 1 ) { my $arg = shift; $bits = pack( "B*", $arg ); $nbits = length($arg); } else { ( $bits, $nbits ) = @_; } if ( ( $nbits % 8 ) != 0 ) { require Carp; Carp::croak("Number of bits must be multiple of 8 for this algorithm"); } return $self->add( substr( $bits, 0, $nbits / 8 ) ); } sub hexdigest { my $self = shift; return unpack( "H*", $self->digest(@_) ); } sub b64digest { my $self = shift; my $b64 = $self->base64_padded_digest; $b64 =~ s/=+$//; return $b64; } sub base64_padded_digest { my $self = shift; require MIME::Base64; return MIME::Base64::encode( $self->digest(@_), "" ); } 1; __END__ =head1 NAME Digest::base - Digest base class =head1 SYNOPSIS package Digest::Foo; use base 'Digest::base'; =head1 DESCRIPTION The C class provide implementations of the methods C and C in terms of C, and of the methods C and C in terms of C. Digest implementations might want to inherit from this class to get this implementations of the alternative I and I methods. A minimal subclass needs to implement the following methods by itself: new clone add digest The arguments and expected behaviour of these methods are described in L. =head1 SEE ALSO L FILE78eee0ed/Exporter.pmK package Exporter; use strict; no strict 'refs'; our $Debug = 0; our $ExportLevel = 0; our $Verbose ||= 0; our $VERSION = '5.77'; our %Cache; sub as_heavy { require Exporter::Heavy; # Unfortunately, this does not work if the caller is aliased as *name = \&foo # Thus the need to create a lot of identical subroutines my $c = (caller(1))[3]; $c =~ s/.*:://; \&{"Exporter::Heavy::heavy_$c"}; } sub export { goto &{as_heavy()}; } sub import { my $pkg = shift; my $callpkg = caller($ExportLevel); if ($pkg eq "Exporter" and @_ and $_[0] eq "import") { *{$callpkg."::import"} = \&import; return; } # We *need* to treat @{"$pkg\::EXPORT_FAIL"} since Carp uses it :-( my $exports = \@{"$pkg\::EXPORT"}; # But, avoid creating things if they don't exist, which saves a couple of # hundred bytes per package processed. my $fail = ${$pkg . '::'}{EXPORT_FAIL} && \@{"$pkg\::EXPORT_FAIL"}; return export $pkg, $callpkg, @_ if $Verbose or $Debug or $fail && @$fail > 1; my $export_cache = ($Cache{$pkg} ||= {}); my $args = @_ or @_ = @$exports; if ($args and not %$export_cache) { s/^&//, $export_cache->{$_} = 1 foreach (@$exports, @{"$pkg\::EXPORT_OK"}); } my $heavy; # Try very hard not to use {} and hence have to enter scope on the foreach # We bomb out of the loop with last as soon as heavy is set. if ($args or $fail) { ($heavy = (/\W/ or $args and not exists $export_cache->{$_} or $fail and @$fail and $_ eq $fail->[0])) and last foreach (@_); } else { ($heavy = /\W/) and last foreach (@_); } return export $pkg, $callpkg, ($args ? @_ : ()) if $heavy; local $SIG{__WARN__} = sub {require Carp; &Carp::carp} if not $SIG{__WARN__}; # shortcut for the common case of no type character *{"$callpkg\::$_"} = \&{"$pkg\::$_"} foreach @_; } # Default methods sub export_fail { my $self = shift; @_; } # Unfortunately, caller(1)[3] "does not work" if the caller is aliased as # *name = \&foo. Thus the need to create a lot of identical subroutines # Otherwise we could have aliased them to export(). sub export_to_level { goto &{as_heavy()}; } sub export_tags { goto &{as_heavy()}; } sub export_ok_tags { goto &{as_heavy()}; } sub require_version { goto &{as_heavy()}; } 1; __END__ =head1 NAME Exporter - Implements default import method for modules =head1 SYNOPSIS In module F: package YourModule; use Exporter 'import'; our @EXPORT_OK = qw(munge frobnicate); # symbols to export on request or package YourModule; require Exporter; our @ISA = qw(Exporter); # inherit all of Exporter's methods our @EXPORT_OK = qw(munge frobnicate); # symbols to export on request or package YourModule; use parent 'Exporter'; # inherit all of Exporter's methods our @EXPORT_OK = qw(munge frobnicate); # symbols to export on request In other files which wish to use C: use YourModule qw(frobnicate); # import listed symbols frobnicate ($left, $right) # calls YourModule::frobnicate Take a look at L for some variants you will like to use in modern Perl code. =head1 DESCRIPTION The Exporter module implements an C method which allows a module to export functions and variables to its users' namespaces. Many modules use Exporter rather than implementing their own C method because Exporter provides a highly flexible interface, with an implementation optimised for the common case. Perl automatically calls the C method when processing a C statement for a module. Modules and C are documented in L and L. Understanding the concept of modules and how the C statement operates is important to understanding the Exporter. =head2 How to Export The arrays C<@EXPORT> and C<@EXPORT_OK> in a module hold lists of symbols that are going to be exported into the users name space by default, or which they can request to be exported, respectively. The symbols can represent functions, scalars, arrays, hashes, or typeglobs. The symbols must be given by full name with the exception that the ampersand in front of a function is optional, e.g. our @EXPORT = qw(afunc $scalar @array); # afunc is a function our @EXPORT_OK = qw(&bfunc %hash *typeglob); # explicit prefix on &bfunc If you are only exporting function names it is recommended to omit the ampersand, as the implementation is faster this way. =head2 Selecting What to Export Do B export method names! Do B export anything else by default without a good reason! Exports pollute the namespace of the module user. If you must export try to use C<@EXPORT_OK> in preference to C<@EXPORT> and avoid short or common symbol names to reduce the risk of name clashes. Generally anything not exported is still accessible from outside the module using the C (or C<< $blessed_ref->method >>) syntax. By convention you can use a leading underscore on names to informally indicate that they are 'internal' and not for public use. (It is actually possible to get private functions by saying: my $subref = sub { ... }; $subref->(@args); # Call it as a function $obj->$subref(@args); # Use it as a method However if you use them for methods it is up to you to figure out how to make inheritance work.) As a general rule, if the module is trying to be object oriented then export nothing. If it's just a collection of functions then C<@EXPORT_OK> anything but use C<@EXPORT> with caution. For function and method names use barewords in preference to names prefixed with ampersands for the export lists. Other module design guidelines can be found in L. =head2 How to Import In other files which wish to use your module there are three basic ways for them to load your module and import its symbols: =over 4 =item C This imports all the symbols from YourModule's C<@EXPORT> into the namespace of the C statement. =item C This causes perl to load your module but does not import any symbols. =item C This imports only the symbols listed by the caller into their namespace. All listed symbols must be in your C<@EXPORT> or C<@EXPORT_OK>, else an error occurs. The advanced export features of Exporter are accessed like this, but with list entries that are syntactically distinct from symbol names. =back Unless you want to use its advanced features, this is probably all you need to know to use Exporter. =head1 Advanced Features =head2 Specialised Import Lists If any of the entries in an import list begins with !, : or / then the list is treated as a series of specifications which either add to or delete from the list of names to import. They are processed left to right. Specifications are in the form: [!]name This name only [!]:DEFAULT All names in @EXPORT [!]:tag All names in $EXPORT_TAGS{tag} anonymous array [!]/pattern/ All names in @EXPORT and @EXPORT_OK which match A leading ! indicates that matching names should be deleted from the list of names to import. If the first specification is a deletion it is treated as though preceded by :DEFAULT. If you just want to import extra names in addition to the default set you will still need to include :DEFAULT explicitly. e.g., F defines: our @EXPORT = qw(A1 A2 A3 A4 A5); our @EXPORT_OK = qw(B1 B2 B3 B4 B5); our %EXPORT_TAGS = (T1 => [qw(A1 A2 B1 B2)], T2 => [qw(A1 A2 B3 B4)]); Note that you cannot use tags in @EXPORT or @EXPORT_OK. Names in EXPORT_TAGS must also appear in @EXPORT or @EXPORT_OK. An application using Module can say something like: use Module qw(:DEFAULT :T2 !B3 A3); Other examples include: use Socket qw(!/^[AP]F_/ !SOMAXCONN !SOL_SOCKET); use POSIX qw(:errno_h :termios_h !TCSADRAIN !/^EXIT/); Remember that most patterns (using //) will need to be anchored with a leading ^, e.g., C rather than C. You can say C to see how the specifications are being processed and what is actually being imported into modules. =head2 Exporting Without Using Exporter's import Method Exporter has a special method, 'export_to_level' which is used in situations where you can't directly call Exporter's import method. The export_to_level method looks like: MyPackage->export_to_level( $where_to_export, $package, @what_to_export ); where C<$where_to_export> is an integer telling how far up the calling stack to export your symbols, and C<@what_to_export> is an array telling what symbols *to* export (usually this is C<@_>). The C<$package> argument is currently unused. For example, suppose that you have a module, A, which already has an import function: package A; our @ISA = qw(Exporter); our @EXPORT_OK = qw($b); sub import { $A::b = 1; # not a very useful import method } and you want to Export symbol C<$A::b> back to the module that called package A. Since Exporter relies on the import method to work, via inheritance, as it stands Exporter::import() will never get called. Instead, say the following: package A; our @ISA = qw(Exporter); our @EXPORT_OK = qw($b); sub import { $A::b = 1; A->export_to_level(1, @_); } This will export the symbols one level 'above' the current package - ie: to the program or module that used package A. Note: Be careful not to modify C<@_> at all before you call export_to_level - or people using your package will get very unexplained results! =head2 Exporting Without Inheriting from Exporter By including Exporter in your C<@ISA> you inherit an Exporter's import() method but you also inherit several other helper methods which you probably don't want and complicate the inheritance tree. To avoid this you can do: package YourModule; use Exporter qw(import); which will export Exporter's own import() method into YourModule. Everything will work as before but you won't need to include Exporter in C<@YourModule::ISA>. Note: This feature was introduced in version 5.57 of Exporter, released with perl 5.8.3. =head2 Module Version Checking The Exporter module will convert an attempt to import a number from a module into a call to C<< $module_name->VERSION($value) >>. This can be used to validate that the version of the module being used is greater than or equal to the required version. For historical reasons, Exporter supplies a C method that simply delegates to C. Originally, before C existed, Exporter would call C. Since the C method treats the C<$VERSION> number as a simple numeric value it will regard version 1.10 as lower than 1.9. For this reason it is strongly recommended that you use numbers with at least two decimal places, e.g., 1.09. =head2 Managing Unknown Symbols In some situations you may want to prevent certain symbols from being exported. Typically this applies to extensions which have functions or constants that may not exist on some systems. The names of any symbols that cannot be exported should be listed in the C<@EXPORT_FAIL> array. If a module attempts to import any of these symbols the Exporter will give the module an opportunity to handle the situation before generating an error. The Exporter will call an export_fail method with a list of the failed symbols: @failed_symbols = $module_name->export_fail(@failed_symbols); If the C method returns an empty list then no error is recorded and all the requested symbols are exported. If the returned list is not empty then an error is generated for each symbol and the export fails. The Exporter provides a default C method which simply returns the list unchanged. Uses for the C method include giving better error messages for some symbols and performing lazy architectural checks (put more symbols into C<@EXPORT_FAIL> by default and then take them out if someone actually tries to use them and an expensive check shows that they are usable on that platform). =head2 Tag Handling Utility Functions Since the symbols listed within C<%EXPORT_TAGS> must also appear in either C<@EXPORT> or C<@EXPORT_OK>, two utility functions are provided which allow you to easily add tagged sets of symbols to C<@EXPORT> or C<@EXPORT_OK>: our %EXPORT_TAGS = (foo => [qw(aa bb cc)], bar => [qw(aa cc dd)]); Exporter::export_tags('foo'); # add aa, bb and cc to @EXPORT Exporter::export_ok_tags('bar'); # add aa, cc and dd to @EXPORT_OK Any names which are not tags are added to C<@EXPORT> or C<@EXPORT_OK> unchanged but will trigger a warning (with C<-w>) to avoid misspelt tags names being silently added to C<@EXPORT> or C<@EXPORT_OK>. Future versions may make this a fatal error. =head2 Generating Combined Tags If several symbol categories exist in C<%EXPORT_TAGS>, it's usually useful to create the utility ":all" to simplify "use" statements. The simplest way to do this is: our %EXPORT_TAGS = (foo => [qw(aa bb cc)], bar => [qw(aa cc dd)]); # add all the other ":class" tags to the ":all" class, # deleting duplicates { my %seen; push @{$EXPORT_TAGS{all}}, grep {!$seen{$_}++} @{$EXPORT_TAGS{$_}} foreach keys %EXPORT_TAGS; } F creates an ":all" tag which contains some (but not really all) of its categories. That could be done with one small change: # add some of the other ":class" tags to the ":all" class, # deleting duplicates { my %seen; push @{$EXPORT_TAGS{all}}, grep {!$seen{$_}++} @{$EXPORT_TAGS{$_}} foreach qw/html2 html3 netscape form cgi internal/; } Note that the tag names in C<%EXPORT_TAGS> don't have the leading ':'. =head2 Ced Constants Many modules make use of Cing for constant subroutines to avoid having to compile and waste memory on rarely used values (see L for details on constant subroutines). Calls to such constant subroutines are not optimized away at compile time because they can't be checked at compile time for constancy. Even if a prototype is available at compile time, the body of the subroutine is not (it hasn't been Ced yet). perl needs to examine both the C<()> prototype and the body of a subroutine at compile time to detect that it can safely replace calls to that subroutine with the constant value. A workaround for this is to call the constants once in a C block: package My ; use Socket ; foo( SO_LINGER ); ## SO_LINGER NOT optimized away; called at runtime BEGIN { SO_LINGER } foo( SO_LINGER ); ## SO_LINGER optimized away at compile time. This forces the C for C to take place before SO_LINGER is encountered later in C package. If you are writing a package that Cs, consider forcing an C for any constants explicitly imported by other packages or which are usually used when your package is Cd. =head1 Good Practices =head2 Declaring C<@EXPORT_OK> and Friends When using C with the standard C and C pragmas, the C keyword is needed to declare the package variables C<@EXPORT_OK>, C<@EXPORT>, C<@ISA>, etc. our @ISA = qw(Exporter); our @EXPORT_OK = qw(munge frobnicate); If backward compatibility for Perls B 5.6 is important, one must write instead a C statement. use vars qw(@ISA @EXPORT_OK); @ISA = qw(Exporter); @EXPORT_OK = qw(munge frobnicate); =head2 Playing Safe There are some caveats with the use of runtime statements like C and the assignment to package variables, which can be very subtle for the unaware programmer. This may happen for instance with mutually recursive modules, which are affected by the time the relevant constructions are executed. The ideal way to never have to think about that is to use C blocks and the simple import method. So the first part of the L code could be rewritten as: package YourModule; use strict; use warnings; use Exporter 'import'; BEGIN { our @EXPORT_OK = qw(munge frobnicate); # symbols to export on request } Or if you need to inherit from Exporter: package YourModule; use strict; use warnings; BEGIN { require Exporter; our @ISA = qw(Exporter); # inherit all of Exporter's methods our @EXPORT_OK = qw(munge frobnicate); # symbols to export on request } The C will assure that the loading of F and the assignments to C<@ISA> and C<@EXPORT_OK> happen immediately like C, leaving no room for something to get awry or just plain wrong. With respect to loading C and inheriting, there are alternatives with the use of modules like C and C. use base qw(Exporter); # or use parent qw(Exporter); Any of these statements are nice replacements for C with the same compile-time effect. The basic difference is that C code interacts with declared C while C is a streamlined version of the older C code to just establish the IS-A relationship. For more details, see the documentation and code of L and L. Another thorough remedy to that runtime vs. compile-time trap is to use L, which is a wrapper of Exporter that allows all boilerplate code at a single gulp in the use statement. use Exporter::Easy ( OK => [ qw(munge frobnicate) ], ); # @ISA setup is automatic # all assignments happen at compile time =head2 What Not to Export You have been warned already in L to not export: =over 4 =item * method names (because you don't need to and that's likely to not do what you want), =item * anything by default (because you don't want to surprise your users... badly) =item * anything you don't need to (because less is more) =back There's one more item to add to this list. Do B export variable names. Just because C lets you do that, it does not mean you should. @EXPORT_OK = qw($svar @avar %hvar); # DON'T! Exporting variables is not a good idea. They can change under the hood, provoking horrible effects at-a-distance that are too hard to track and to fix. Trust me: they are not worth it. To provide the capability to set/get class-wide settings, it is best instead to provide accessors as subroutines or class methods instead. =head1 SEE ALSO C is definitely not the only module with symbol exporter capabilities. At CPAN, you may find a bunch of them. Some are lighter. Some provide improved APIs and features. Pick the one that fits your needs. The following is a sample list of such modules. Exporter::Easy Exporter::Lite Exporter::Renaming Exporter::Tidy Sub::Exporter / Sub::Installer Perl6::Export / Perl6::Export::Attrs =head1 LICENSE This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself. =cut FILE81b1434e/Carp.pmpackage Carp; { use 5.006; } use strict; use warnings; BEGIN { # Very old versions of warnings.pm load Carp. This can go wrong due # to the circular dependency. If warnings is invoked before Carp, # then warnings starts by loading Carp, then Carp (above) tries to # invoke warnings, and gets nothing because warnings is in the process # of loading and hasn't defined its import method yet. If we were # only turning on warnings ("use warnings" above) this wouldn't be too # bad, because Carp would just gets the state of the -w switch and so # might not get some warnings that it wanted. The real problem is # that we then want to turn off Unicode warnings, but "no warnings # 'utf8'" won't be effective if we're in this circular-dependency # situation. So, if warnings.pm is an affected version, we turn # off all warnings ourselves by directly setting ${^WARNING_BITS}. # On unaffected versions, we turn off just Unicode warnings, via # the proper API. if(!defined($warnings::VERSION) || eval($warnings::VERSION) < 1.06) { ${^WARNING_BITS} = ""; } else { "warnings"->unimport("utf8"); } } sub _fetch_sub { # fetch sub without autovivifying my($pack, $sub) = @_; $pack .= '::'; # only works with top-level packages return unless exists($::{$pack}); for ($::{$pack}) { return unless ref \$_ eq 'GLOB' && *$_{HASH} && exists $$_{$sub}; for ($$_{$sub}) { return ref \$_ eq 'GLOB' ? *$_{CODE} : undef } } } # UTF8_REGEXP_PROBLEM is a compile-time constant indicating whether Carp # must avoid applying a regular expression to an upgraded (is_utf8) # string. There are multiple problems, on different Perl versions, # that require this to be avoided. All versions prior to 5.13.8 will # load utf8_heavy.pl for the swash system, even if the regexp doesn't # use character classes. Perl 5.6 and Perls [5.11.2, 5.13.11) exhibit # specific problems when Carp is being invoked in the aftermath of a # syntax error. BEGIN { if("$]" < 5.013011) { *UTF8_REGEXP_PROBLEM = sub () { 1 }; } else { *UTF8_REGEXP_PROBLEM = sub () { 0 }; } } # is_utf8() is essentially the utf8::is_utf8() function, which indicates # whether a string is represented in the upgraded form (using UTF-8 # internally). As utf8::is_utf8() is only available from Perl 5.8 # onwards, extra effort is required here to make it work on Perl 5.6. BEGIN { if(defined(my $sub = _fetch_sub utf8 => 'is_utf8')) { *is_utf8 = $sub; } else { # black magic for perl 5.6 *is_utf8 = sub { unpack("C", "\xaa".$_[0]) != 170 }; } } # The downgrade() function defined here is to be used for attempts to # downgrade where it is acceptable to fail. It must be called with a # second argument that is a true value. BEGIN { if(defined(my $sub = _fetch_sub utf8 => 'downgrade')) { *downgrade = \&{"utf8::downgrade"}; } else { *downgrade = sub { my $r = ""; my $l = length($_[0]); for(my $i = 0; $i != $l; $i++) { my $o = ord(substr($_[0], $i, 1)); return if $o > 255; $r .= chr($o); } $_[0] = $r; }; } } # is_safe_printable_codepoint() indicates whether a character, specified # by integer codepoint, is OK to output literally in a trace. Generally # this is if it is a printable character in the ancestral character set # (ASCII or EBCDIC). This is used on some Perls in situations where a # regexp can't be used. BEGIN { *is_safe_printable_codepoint = "$]" >= 5.007_003 ? eval(q(sub ($) { my $u = utf8::native_to_unicode($_[0]); $u >= 0x20 && $u <= 0x7e; })) : ord("A") == 65 ? sub ($) { $_[0] >= 0x20 && $_[0] <= 0x7e } : sub ($) { # Early EBCDIC # 3 EBCDIC code pages supported then; all controls but one # are the code points below SPACE. The other one is 0x5F on # POSIX-BC; FF on the other two. # FIXME: there are plenty of unprintable codepoints other # than those that this code and the comment above identifies # as "controls". $_[0] >= ord(" ") && $_[0] <= 0xff && $_[0] != (ord ("^") == 106 ? 0x5f : 0xff); } ; } sub _univ_mod_loaded { return 0 unless exists($::{"UNIVERSAL::"}); for ($::{"UNIVERSAL::"}) { return 0 unless ref \$_ eq "GLOB" && *$_{HASH} && exists $$_{"$_[0]::"}; for ($$_{"$_[0]::"}) { return 0 unless ref \$_ eq "GLOB" && *$_{HASH} && exists $$_{"VERSION"}; for ($$_{"VERSION"}) { return 0 unless ref \$_ eq "GLOB"; return ${*$_{SCALAR}}; } } } } # _maybe_isa() is usually the UNIVERSAL::isa function. We have to avoid # the latter if the UNIVERSAL::isa module has been loaded, to avoid infi- # nite recursion; in that case _maybe_isa simply returns true. my $isa; BEGIN { if (_univ_mod_loaded('isa')) { *_maybe_isa = sub { 1 } } else { # Since we have already done the check, record $isa for use below # when defining _StrVal. *_maybe_isa = $isa = _fetch_sub(UNIVERSAL => "isa"); } } # We need an overload::StrVal or equivalent function, but we must avoid # loading any modules on demand, as Carp is used from __DIE__ handlers and # may be invoked after a syntax error. # We can copy recent implementations of overload::StrVal and use # overloading.pm, which is the fastest implementation, so long as # overloading is available. If it is not available, we use our own pure- # Perl StrVal. We never actually use overload::StrVal, for various rea- # sons described below. # overload versions are as follows: # undef-1.00 (up to perl 5.8.0) uses bless (avoid!) # 1.01-1.17 (perl 5.8.1 to 5.14) uses Scalar::Util # 1.18+ (perl 5.16+) uses overloading # The ancient 'bless' implementation (that inspires our pure-Perl version) # blesses unblessed references and must be avoided. Those using # Scalar::Util use refaddr, possibly the pure-Perl implementation, which # has the same blessing bug, and must be avoided. Also, Scalar::Util is # loaded on demand. Since we avoid the Scalar::Util implementations, we # end up having to implement our own overloading.pm-based version for perl # 5.10.1 to 5.14. Since it also works just as well in more recent ver- # sions, we use it there, too. BEGIN { if (eval { require "overloading.pm" }) { *_StrVal = eval 'sub { no overloading; "$_[0]" }' } else { # Work around the UNIVERSAL::can/isa modules to avoid recursion. # _mycan is either UNIVERSAL::can, or, in the presence of an # override, overload::mycan. *_mycan = _univ_mod_loaded('can') ? do { require "overload.pm"; _fetch_sub overload => 'mycan' } : \&UNIVERSAL::can; # _blessed is either UNIVERSAL::isa(...), or, in the presence of an # override, a hideous, but fairly reliable, workaround. *_blessed = $isa ? sub { &$isa($_[0], "UNIVERSAL") } : sub { my $probe = "UNIVERSAL::Carp_probe_" . rand; no strict 'refs'; local *$probe = sub { "unlikely string" }; local $@; local $SIG{__DIE__} = sub{}; (eval { $_[0]->$probe } || '') eq 'unlikely string' }; *_StrVal = sub { my $pack = ref $_[0]; # Perl's overload mechanism uses the presence of a special # "method" named "((" or "()" to signal it is in effect. # This test seeks to see if it has been set up. "((" post- # dates overloading.pm, so we can skip it. return "$_[0]" unless _mycan($pack, "()"); # Even at this point, the invocant may not be blessed, so # check for that. return "$_[0]" if not _blessed($_[0]); bless $_[0], "Carp"; my $str = "$_[0]"; bless $_[0], $pack; $pack . substr $str, index $str, "="; } } } our $VERSION = '1.54'; $VERSION =~ tr/_//d; our $MaxEvalLen = 0; our $Verbose = 0; our $CarpLevel = 0; our $MaxArgLen = 64; # How much of each argument to print. 0 = all. our $MaxArgNums = 8; # How many arguments to print. 0 = all. our $RefArgFormatter = undef; # allow caller to format reference arguments require Exporter; our @ISA = ('Exporter'); our @EXPORT = qw(confess croak carp); our @EXPORT_OK = qw(cluck verbose longmess shortmess); our @EXPORT_FAIL = qw(verbose); # hook to enable verbose mode # The members of %Internal are packages that are internal to perl. # Carp will not report errors from within these packages if it # can. The members of %CarpInternal are internal to Perl's warning # system. Carp will not report errors from within these packages # either, and will not report calls *to* these packages for carp and # croak. They replace $CarpLevel, which is deprecated. The # $Max(EvalLen|(Arg(Len|Nums)) variables are used to specify how the eval # text and function arguments should be formatted when printed. our %CarpInternal; our %Internal; # disable these by default, so they can live w/o require Carp $CarpInternal{Carp}++; $CarpInternal{warnings}++; $Internal{Exporter}++; $Internal{'Exporter::Heavy'}++; # if the caller specifies verbose usage ("perl -MCarp=verbose script.pl") # then the following method will be called by the Exporter which knows # to do this thanks to @EXPORT_FAIL, above. $_[1] will contain the word # 'verbose'. sub export_fail { shift; $Verbose = shift if $_[0] eq 'verbose'; @_ } sub _cgc { no strict 'refs'; return \&{"CORE::GLOBAL::caller"} if defined &{"CORE::GLOBAL::caller"}; return; } sub longmess { local($!, $^E); # Icky backwards compatibility wrapper. :-( # # The story is that the original implementation hard-coded the # number of call levels to go back, so calls to longmess were off # by one. Other code began calling longmess and expecting this # behaviour, so the replacement has to emulate that behaviour. my $cgc = _cgc(); my $call_pack = $cgc ? $cgc->() : caller(); if ( $Internal{$call_pack} or $CarpInternal{$call_pack} ) { return longmess_heavy(@_); } else { local $CarpLevel = $CarpLevel + 1; return longmess_heavy(@_); } } our @CARP_NOT; sub shortmess { local($!, $^E); my $cgc = _cgc(); # Icky backwards compatibility wrapper. :-( local @CARP_NOT = scalar( $cgc ? $cgc->() : caller() ); shortmess_heavy(@_); } sub croak { die shortmess @_ } sub confess { die longmess @_ } sub carp { warn shortmess @_ } sub cluck { warn longmess @_ } BEGIN { if("$]" >= 5.015002 || ("$]" >= 5.014002 && "$]" < 5.015) || ("$]" >= 5.012005 && "$]" < 5.013)) { *CALLER_OVERRIDE_CHECK_OK = sub () { 1 }; } else { *CALLER_OVERRIDE_CHECK_OK = sub () { 0 }; } } sub caller_info { my $i = shift(@_) + 1; my %call_info; my $cgc = _cgc(); { # Some things override caller() but forget to implement the # @DB::args part of it, which we need. We check for this by # pre-populating @DB::args with a sentinel which no-one else # has the address of, so that we can detect whether @DB::args # has been properly populated. However, on earlier versions # of perl this check tickles a bug in CORE::caller() which # leaks memory. So we only check on fixed perls. @DB::args = \$i if CALLER_OVERRIDE_CHECK_OK; package DB; @call_info{ qw(pack file line sub has_args wantarray evaltext is_require) } = $cgc ? $cgc->($i) : caller($i); } unless ( defined $call_info{file} ) { return (); } my $sub_name = Carp::get_subname( \%call_info ); if ( $call_info{has_args} ) { # Guard our serialization of the stack from stack refcounting bugs # NOTE this is NOT a complete solution, we cannot 100% guard against # these bugs. However in many cases Perl *is* capable of detecting # them and throws an error when it does. Unfortunately serializing # the arguments on the stack is a perfect way of finding these bugs, # even when they would not affect normal program flow that did not # poke around inside the stack. Inside of Carp.pm it makes little # sense reporting these bugs, as Carp's job is to report the callers # errors, not the ones it might happen to tickle while doing so. # See: https://rt.perl.org/Public/Bug/Display.html?id=131046 # and: https://rt.perl.org/Public/Bug/Display.html?id=52610 # for more details and discussion. - Yves my @args = map { my $arg; local $@= $@; eval { $arg = $_; 1; } or do { $arg = '** argument not available anymore **'; }; $arg; } @DB::args; if (CALLER_OVERRIDE_CHECK_OK && @args == 1 && ref $args[0] eq ref \$i && $args[0] == \$i ) { @args = (); # Don't let anyone see the address of $i local $@; my $where = eval { my $func = $cgc or return ''; my $gv = (_fetch_sub B => 'svref_2object' or return '') ->($func)->GV; my $package = $gv->STASH->NAME; my $subname = $gv->NAME; return unless defined $package && defined $subname; # returning CORE::GLOBAL::caller isn't useful for tracing the cause: return if $package eq 'CORE::GLOBAL' && $subname eq 'caller'; " in &${package}::$subname"; } || ''; @args = "** Incomplete caller override detected$where; \@DB::args were not set **"; } else { my $overflow; if ( $MaxArgNums and @args > $MaxArgNums ) { # More than we want to show? $#args = $MaxArgNums - 1; $overflow = 1; } @args = map { Carp::format_arg($_) } @args; if ($overflow) { push @args, '...'; } } # Push the args onto the subroutine $sub_name .= '(' . join( ', ', @args ) . ')'; } $call_info{sub_name} = $sub_name; return wantarray() ? %call_info : \%call_info; } # Transform an argument to a function into a string. our $in_recurse; sub format_arg { my $arg = shift; if ( my $pack= ref($arg) ) { # legitimate, let's not leak it. if (!$in_recurse && _maybe_isa( $arg, 'UNIVERSAL' ) && do { local $@; local $in_recurse = 1; local $SIG{__DIE__} = sub{}; eval {$arg->can('CARP_TRACE') } }) { return $arg->CARP_TRACE(); } elsif (!$in_recurse && defined($RefArgFormatter) && do { local $@; local $in_recurse = 1; local $SIG{__DIE__} = sub{}; eval {$arg = $RefArgFormatter->($arg); 1} }) { return $arg; } else { # Argument may be blessed into a class with overloading, and so # might have an overloaded stringification. We don't want to # risk getting the overloaded stringification, so we need to # use _StrVal, our overload::StrVal()-equivalent. return _StrVal $arg; } } return "undef" if !defined($arg); downgrade($arg, 1); return $arg if !(UTF8_REGEXP_PROBLEM && is_utf8($arg)) && $arg =~ /\A-?[0-9]+(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?\z/; my $suffix = ""; if ( 2 < $MaxArgLen and $MaxArgLen < length($arg) ) { substr ( $arg, $MaxArgLen - 3 ) = ""; $suffix = "..."; } if(UTF8_REGEXP_PROBLEM && is_utf8($arg)) { for(my $i = length($arg); $i--; ) { my $c = substr($arg, $i, 1); my $x = substr($arg, 0, 0); # work around bug on Perl 5.8.{1,2} if($c eq "\"" || $c eq "\\" || $c eq "\$" || $c eq "\@") { substr $arg, $i, 0, "\\"; next; } my $o = ord($c); substr $arg, $i, 1, sprintf("\\x{%x}", $o) unless is_safe_printable_codepoint($o); } } else { $arg =~ s/([\"\\\$\@])/\\$1/g; # This is all the ASCII printables spelled-out. It is portable to all # Perl versions and platforms (such as EBCDIC). There are other more # compact ways to do this, but may not work everywhere every version. $arg =~ s/([^ !"#\$\%\&'()*+,\-.\/0123456789:;<=>?\@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]^_`abcdefghijklmnopqrstuvwxyz\{|}~])/sprintf("\\x{%x}",ord($1))/eg; } downgrade($arg, 1); return "\"".$arg."\"".$suffix; } sub Regexp::CARP_TRACE { my $arg = "$_[0]"; downgrade($arg, 1); if(UTF8_REGEXP_PROBLEM && is_utf8($arg)) { for(my $i = length($arg); $i--; ) { my $o = ord(substr($arg, $i, 1)); my $x = substr($arg, 0, 0); # work around bug on Perl 5.8.{1,2} substr $arg, $i, 1, sprintf("\\x{%x}", $o) unless is_safe_printable_codepoint($o); } } else { # See comment in format_arg() about this same regex. $arg =~ s/([^ !"#\$\%\&'()*+,\-.\/0123456789:;<=>?\@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]^_`abcdefghijklmnopqrstuvwxyz\{|}~])/sprintf("\\x{%x}",ord($1))/eg; } downgrade($arg, 1); my $suffix = ""; if($arg =~ /\A\(\?\^?([a-z]*)(?:-[a-z]*)?:(.*)\)\z/s) { ($suffix, $arg) = ($1, $2); } if ( 2 < $MaxArgLen and $MaxArgLen < length($arg) ) { substr ( $arg, $MaxArgLen - 3 ) = ""; $suffix = "...".$suffix; } return "qr($arg)$suffix"; } # Takes an inheritance cache and a package and returns # an anon hash of known inheritances and anon array of # inheritances which consequences have not been figured # for. sub get_status { my $cache = shift; my $pkg = shift; $cache->{$pkg} ||= [ { $pkg => $pkg }, [ trusts_directly($pkg) ] ]; return @{ $cache->{$pkg} }; } # Takes the info from caller() and figures out the name of # the sub/require/eval sub get_subname { my $info = shift; if ( defined( $info->{evaltext} ) ) { my $eval = $info->{evaltext}; if ( $info->{is_require} ) { return "require $eval"; } else { $eval =~ s/([\\\'])/\\$1/g; return "eval '" . str_len_trim( $eval, $MaxEvalLen ) . "'"; } } # this can happen on older perls when the sub (or the stash containing it) # has been deleted if ( !defined( $info->{sub} ) ) { return '__ANON__::__ANON__'; } return ( $info->{sub} eq '(eval)' ) ? 'eval {...}' : $info->{sub}; } # Figures out what call (from the point of view of the caller) # the long error backtrace should start at. sub long_error_loc { my $i; my $lvl = $CarpLevel; { ++$i; my $cgc = _cgc(); my @caller = $cgc ? $cgc->($i) : caller($i); my $pkg = $caller[0]; unless ( defined($pkg) ) { # This *shouldn't* happen. if (%Internal) { local %Internal; $i = long_error_loc(); last; } elsif (defined $caller[2]) { # this can happen when the stash has been deleted # in that case, just assume that it's a reasonable place to # stop (the file and line data will still be intact in any # case) - the only issue is that we can't detect if the # deleted package was internal (so don't do that then) # -doy redo unless 0 > --$lvl; last; } else { return 2; } } redo if $CarpInternal{$pkg}; redo unless 0 > --$lvl; redo if $Internal{$pkg}; } return $i - 1; } sub longmess_heavy { if ( ref( $_[0] ) ) { # don't break references as exceptions return wantarray ? @_ : $_[0]; } my $i = long_error_loc(); return ret_backtrace( $i, @_ ); } BEGIN { if("$]" >= 5.017004) { # The LAST_FH constant is a reference to the variable. $Carp::{LAST_FH} = \eval '\${^LAST_FH}'; } else { eval '*LAST_FH = sub () { 0 }'; } } # Returns a full stack backtrace starting from where it is # told. sub ret_backtrace { my ( $i, @error ) = @_; my $mess; my $err = join '', @error; $i++; my $tid_msg = ''; if ( defined &threads::tid ) { my $tid = threads->tid; $tid_msg = " thread $tid" if $tid; } my %i = caller_info($i); $mess = "$err at $i{file} line $i{line}$tid_msg"; if( $. ) { # Use ${^LAST_FH} if available. if (LAST_FH) { if (${+LAST_FH}) { $mess .= sprintf ", <%s> %s %d", *${+LAST_FH}{NAME}, ($/ eq "\n" ? "line" : "chunk"), $. } } else { local $@ = ''; local $SIG{__DIE__}; eval { CORE::die; }; if($@ =~ /^Died at .*(, <.*?> (?:line|chunk) \d+).$/ ) { $mess .= $1; } } } $mess .= "\.\n"; while ( my %i = caller_info( ++$i ) ) { $mess .= "\t$i{sub_name} called at $i{file} line $i{line}$tid_msg\n"; } return $mess; } sub ret_summary { my ( $i, @error ) = @_; my $err = join '', @error; $i++; my $tid_msg = ''; if ( defined &threads::tid ) { my $tid = threads->tid; $tid_msg = " thread $tid" if $tid; } my %i = caller_info($i); return "$err at $i{file} line $i{line}$tid_msg\.\n"; } sub short_error_loc { # You have to create your (hash)ref out here, rather than defaulting it # inside trusts *on a lexical*, as you want it to persist across calls. # (You can default it on $_[2], but that gets messy) my $cache = {}; my $i = 1; my $lvl = $CarpLevel; { my $cgc = _cgc(); my $called = $cgc ? $cgc->($i) : caller($i); $i++; my $caller = $cgc ? $cgc->($i) : caller($i); if (!defined($caller)) { my @caller = $cgc ? $cgc->($i) : caller($i); if (@caller) { # if there's no package but there is other caller info, then # the package has been deleted - treat this as a valid package # in this case redo if defined($called) && $CarpInternal{$called}; redo unless 0 > --$lvl; last; } else { return 0; } } redo if $Internal{$caller}; redo if $CarpInternal{$caller}; redo if $CarpInternal{$called}; redo if trusts( $called, $caller, $cache ); redo if trusts( $caller, $called, $cache ); redo unless 0 > --$lvl; } return $i - 1; } sub shortmess_heavy { return longmess_heavy(@_) if $Verbose; return @_ if ref( $_[0] ); # don't break references as exceptions my $i = short_error_loc(); if ($i) { ret_summary( $i, @_ ); } else { longmess_heavy(@_); } } # If a string is too long, trims it with ... sub str_len_trim { my $str = shift; my $max = shift || 0; if ( 2 < $max and $max < length($str) ) { substr( $str, $max - 3 ) = '...'; } return $str; } # Takes two packages and an optional cache. Says whether the # first inherits from the second. # # Recursive versions of this have to work to avoid certain # possible endless loops, and when following long chains of # inheritance are less efficient. sub trusts { my $child = shift; my $parent = shift; my $cache = shift; my ( $known, $partial ) = get_status( $cache, $child ); # Figure out consequences until we have an answer while ( @$partial and not exists $known->{$parent} ) { my $anc = shift @$partial; next if exists $known->{$anc}; $known->{$anc}++; my ( $anc_knows, $anc_partial ) = get_status( $cache, $anc ); my @found = keys %$anc_knows; @$known{@found} = (); push @$partial, @$anc_partial; } return exists $known->{$parent}; } # Takes a package and gives a list of those trusted directly sub trusts_directly { my $class = shift; no strict 'refs'; my $stash = \%{"$class\::"}; for my $var (qw/ CARP_NOT ISA /) { # Don't try using the variable until we know it exists, # to avoid polluting the caller's namespace. if ( $stash->{$var} && ref \$stash->{$var} eq 'GLOB' && *{$stash->{$var}}{ARRAY} && @{$stash->{$var}} ) { return @{$stash->{$var}} } } return; } if(!defined($warnings::VERSION) || do { no warnings "numeric"; $warnings::VERSION < 1.03 }) { # Very old versions of warnings.pm import from Carp. This can go # wrong due to the circular dependency. If Carp is invoked before # warnings, then Carp starts by loading warnings, then warnings # tries to import from Carp, and gets nothing because Carp is in # the process of loading and hasn't defined its import method yet. # So we work around that by manually exporting to warnings here. no strict "refs"; *{"warnings::$_"} = \&$_ foreach @EXPORT; } 1; __END__ =head1 NAME Carp - alternative warn and die for modules =head1 SYNOPSIS use Carp; # warn user (from perspective of caller) carp "string trimmed to 80 chars"; # die of errors (from perspective of caller) croak "We're outta here!"; # die of errors with stack backtrace confess "not implemented"; # cluck, longmess and shortmess not exported by default use Carp qw(cluck longmess shortmess); cluck "This is how we got here!"; # warn with stack backtrace my $long_message = longmess( "message from cluck() or confess()" ); my $short_message = shortmess( "message from carp() or croak()" ); =head1 DESCRIPTION The Carp routines are useful in your own modules because they act like C or C, but with a message which is more likely to be useful to a user of your module. In the case of C and C, that context is a summary of every call in the call-stack; C returns the contents of the error message. For a shorter message you can use C or C which report the error as being from where your module was called. C returns the contents of this error message. There is no guarantee that that is where the error was, but it is a good educated guess. C takes care not to clobber the status variables C<$!> and C<$^E> in the course of assembling its error messages. This means that a C<$SIG{__DIE__}> or C<$SIG{__WARN__}> handler can capture the error information held in those variables, if it is required to augment the error message, and if the code calling C left useful values there. Of course, C can't guarantee the latter. You can also alter the way the output and logic of C works, by changing some global variables in the C namespace. See the section on L below. Here is a more complete description of how C and C work. What they do is search the call-stack for a function call stack where they have not been told that there shouldn't be an error. If every call is marked safe, they give up and give a full stack backtrace instead. In other words they presume that the first likely looking potential suspect is guilty. Their rules for telling whether a call shouldn't generate errors work as follows: =over 4 =item 1. Any call from a package to itself is safe. =item 2. Packages claim that there won't be errors on calls to or from packages explicitly marked as safe by inclusion in C<@CARP_NOT>, or (if that array is empty) C<@ISA>. The ability to override what @ISA says is new in 5.8. =item 3. The trust in item 2 is transitive. If A trusts B, and B trusts C, then A trusts C. So if you do not override C<@ISA> with C<@CARP_NOT>, then this trust relationship is identical to, "inherits from". =item 4. Any call from an internal Perl module is safe. (Nothing keeps user modules from marking themselves as internal to Perl, but this practice is discouraged.) =item 5. Any call to Perl's warning system (eg Carp itself) is safe. (This rule is what keeps it from reporting the error at the point where you call C or C.) =item 6. C<$Carp::CarpLevel> can be set to skip a fixed number of additional call levels. Using this is not recommended because it is very difficult to get it to behave correctly. =back =head2 Forcing a Stack Trace As a debugging aid, you can force Carp to treat a croak as a confess and a carp as a cluck across I modules. In other words, force a detailed stack trace to be given. This can be very helpful when trying to understand why, or from where, a warning or error is being generated. This feature is enabled by 'importing' the non-existent symbol 'verbose'. You would typically enable it by saying perl -MCarp=verbose script.pl or by including the string C<-MCarp=verbose> in the PERL5OPT environment variable. Alternately, you can set the global variable C<$Carp::Verbose> to true. See the L section below. =head2 Stack Trace formatting At each stack level, the subroutine's name is displayed along with its parameters. For simple scalars, this is sufficient. For complex data types, such as objects and other references, this can simply display C<'HASH(0x1ab36d8)'>. Carp gives two ways to control this. =over 4 =item 1. For objects, a method, C, will be called, if it exists. If this method doesn't exist, or it recurses into C, or it otherwise throws an exception, this is skipped, and Carp moves on to the next option, otherwise checking stops and the string returned is used. It is recommended that the object's type is part of the string to make debugging easier. =item 2. For any type of reference, C<$Carp::RefArgFormatter> is checked (see below). This variable is expected to be a code reference, and the current parameter is passed in. If this function doesn't exist (the variable is undef), or it recurses into C, or it otherwise throws an exception, this is skipped, and Carp moves on to the next option, otherwise checking stops and the string returned is used. =item 3. Otherwise, if neither C nor C<$Carp::RefArgFormatter> is available, stringify the value ignoring any overloading. =back =head1 GLOBAL VARIABLES =head2 $Carp::MaxEvalLen This variable determines how many characters of a string-eval are to be shown in the output. Use a value of C<0> to show all text. Defaults to C<0>. =head2 $Carp::MaxArgLen This variable determines how many characters of each argument to a function to print. Use a value of C<0> to show the full length of the argument. Defaults to C<64>. =head2 $Carp::MaxArgNums This variable determines how many arguments to each function to show. Use a false value to show all arguments to a function call. To suppress all arguments, use C<-1> or C<'0 but true'>. Defaults to C<8>. =head2 $Carp::Verbose This variable makes C and C generate stack backtraces just like C and C. This is how C is implemented internally. Defaults to C<0>. =head2 $Carp::RefArgFormatter This variable sets a general argument formatter to display references. Plain scalars and objects that implement C will not go through this formatter. Calling C from within this function is not supported. local $Carp::RefArgFormatter = sub { require Data::Dumper; Data::Dumper->Dump($_[0]); # not necessarily safe }; =head2 @CARP_NOT This variable, I, says which packages are I to be considered as the location of an error. The C and C functions will skip over callers when reporting where an error occurred. NB: This variable must be in the package's symbol table, thus: # These work our @CARP_NOT; # file scope use vars qw(@CARP_NOT); # package scope @My::Package::CARP_NOT = ... ; # explicit package variable # These don't work sub xyz { ... @CARP_NOT = ... } # w/o declarations above my @CARP_NOT; # even at top-level Example of use: package My::Carping::Package; use Carp; our @CARP_NOT; sub bar { .... or _error('Wrong input') } sub _error { # temporary control of where'ness, __PACKAGE__ is implicit local @CARP_NOT = qw(My::Friendly::Caller); carp(@_) } This would make C report the error as coming from a caller not in C, nor from C. Also read the L section above, about how C decides where the error is reported from. Use C<@CARP_NOT>, instead of C<$Carp::CarpLevel>. Overrides C's use of C<@ISA>. =head2 %Carp::Internal This says what packages are internal to Perl. C will never report an error as being from a line in a package that is internal to Perl. For example: $Carp::Internal{ (__PACKAGE__) }++; # time passes... sub foo { ... or confess("whatever") }; would give a full stack backtrace starting from the first caller outside of __PACKAGE__. (Unless that package was also internal to Perl.) =head2 %Carp::CarpInternal This says which packages are internal to Perl's warning system. For generating a full stack backtrace this is the same as being internal to Perl, the stack backtrace will not start inside packages that are listed in C<%Carp::CarpInternal>. But it is slightly different for the summary message generated by C or C. There errors will not be reported on any lines that are calling packages in C<%Carp::CarpInternal>. For example C itself is listed in C<%Carp::CarpInternal>. Therefore the full stack backtrace from C will not start inside of C, and the short message from calling C is not placed on the line where C was called. =head2 $Carp::CarpLevel This variable determines how many additional call frames are to be skipped that would not otherwise be when reporting where an error occurred on a call to one of C's functions. It is fairly easy to count these call frames on calls that generate a full stack backtrace. However it is much harder to do this accounting for calls that generate a short message. Usually people skip too many call frames. If they are lucky they skip enough that C goes all of the way through the call stack, realizes that something is wrong, and then generates a full stack backtrace. If they are unlucky then the error is reported from somewhere misleading very high in the call stack. Therefore it is best to avoid C<$Carp::CarpLevel>. Instead use C<@CARP_NOT>, C<%Carp::Internal> and C<%Carp::CarpInternal>. Defaults to C<0>. =head1 BUGS The Carp routines don't handle exception objects currently. If called with a first argument that is a reference, they simply call die() or warn(), as appropriate. =head1 SEE ALSO L, L =head1 CONTRIBUTING L is maintained by the perl 5 porters as part of the core perl 5 version control repository. Please see the L perldoc for how to submit patches and contribute to it. =head1 AUTHOR The Carp module first appeared in Larry Wall's perl 5.000 distribution. Since then it has been modified by several of the perl 5 porters. Andrew Main (Zefram) divested Carp into an independent distribution. =head1 COPYRIGHT Copyright (C) 1994-2013 Larry Wall Copyright (C) 2011, 2012, 2013 Andrew Main (Zefram) =head1 LICENSE This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. FILEf88cde52/IO/Compress/Base.pm] package IO::Compress::Base ; require 5.006 ; use strict ; use warnings; use IO::Compress::Base::Common 2.204 ; use IO::File (); ; use Scalar::Util (); #use File::Glob; #require Exporter ; use Carp() ; use Symbol(); #use bytes; our (@ISA, $VERSION); @ISA = qw(IO::File Exporter); $VERSION = '2.204'; #Can't locate object method "SWASHNEW" via package "utf8" (perhaps you forgot to load "utf8"?) at .../ext/Compress-Zlib/Gzip/blib/lib/Compress/Zlib/Common.pm line 16. sub saveStatus { my $self = shift ; ${ *$self->{ErrorNo} } = shift() + 0 ; ${ *$self->{Error} } = '' ; return ${ *$self->{ErrorNo} } ; } sub saveErrorString { my $self = shift ; my $retval = shift ; ${ *$self->{Error} } = shift ; ${ *$self->{ErrorNo} } = shift() + 0 if @_ ; return $retval; } sub croakError { my $self = shift ; $self->saveErrorString(0, $_[0]); Carp::croak $_[0]; } sub closeError { my $self = shift ; my $retval = shift ; my $errno = *$self->{ErrorNo}; my $error = ${ *$self->{Error} }; $self->close(); *$self->{ErrorNo} = $errno ; ${ *$self->{Error} } = $error ; return $retval; } sub error { my $self = shift ; return ${ *$self->{Error} } ; } sub errorNo { my $self = shift ; return ${ *$self->{ErrorNo} } ; } sub writeAt { my $self = shift ; my $offset = shift; my $data = shift; if (defined *$self->{FH}) { my $here = tell(*$self->{FH}); return $self->saveErrorString(undef, "Cannot seek to end of output filehandle: $!", $!) if $here < 0 ; seek(*$self->{FH}, $offset, IO::Handle::SEEK_SET) or return $self->saveErrorString(undef, "Cannot seek to end of output filehandle: $!", $!) ; defined *$self->{FH}->write($data, length $data) or return $self->saveErrorString(undef, $!, $!) ; seek(*$self->{FH}, $here, IO::Handle::SEEK_SET) or return $self->saveErrorString(undef, "Cannot seek to end of output filehandle: $!", $!) ; } else { substr(${ *$self->{Buffer} }, $offset, length($data)) = $data ; } return 1; } sub outputPayload { my $self = shift ; return $self->output(@_); } sub output { my $self = shift ; my $data = shift ; my $last = shift ; return 1 if length $data == 0 && ! $last ; if ( *$self->{FilterContainer} ) { *_ = \$data; &{ *$self->{FilterContainer} }(); } if (length $data) { if ( defined *$self->{FH} ) { defined *$self->{FH}->write( $data, length $data ) or return $self->saveErrorString(0, $!, $!); } else { ${ *$self->{Buffer} } .= $data ; } } return 1; } sub getOneShotParams { return ( 'multistream' => [IO::Compress::Base::Common::Parse_boolean, 1], ); } our %PARAMS = ( # Generic Parameters 'autoclose' => [IO::Compress::Base::Common::Parse_boolean, 0], 'encode' => [IO::Compress::Base::Common::Parse_any, undef], 'strict' => [IO::Compress::Base::Common::Parse_boolean, 1], 'append' => [IO::Compress::Base::Common::Parse_boolean, 0], 'binmodein' => [IO::Compress::Base::Common::Parse_boolean, 0], 'filtercontainer' => [IO::Compress::Base::Common::Parse_code, undef], ); sub checkParams { my $self = shift ; my $class = shift ; my $got = shift || IO::Compress::Base::Parameters::new(); $got->parse( { %PARAMS, $self->getExtraParams(), *$self->{OneShot} ? $self->getOneShotParams() : (), }, @_) or $self->croakError("${class}: " . $got->getError()) ; return $got ; } sub _create { my $obj = shift; my $got = shift; *$obj->{Closed} = 1 ; my $class = ref $obj; $obj->croakError("$class: Missing Output parameter") if ! @_ && ! $got ; my $outValue = shift ; my $oneShot = 1 ; if (! $got) { $oneShot = 0 ; $got = $obj->checkParams($class, undef, @_) or return undef ; } my $lax = ! $got->getValue('strict') ; my $outType = IO::Compress::Base::Common::whatIsOutput($outValue); $obj->ckOutputParam($class, $outValue) or return undef ; if ($outType eq 'buffer') { *$obj->{Buffer} = $outValue; } else { my $buff = "" ; *$obj->{Buffer} = \$buff ; } # Merge implies Append my $merge = $got->getValue('merge') ; my $appendOutput = $got->getValue('append') || $merge ; *$obj->{Append} = $appendOutput; *$obj->{FilterContainer} = $got->getValue('filtercontainer') ; if ($merge) { # Switch off Merge mode if output file/buffer is empty/doesn't exist if (($outType eq 'buffer' && length $$outValue == 0 ) || ($outType ne 'buffer' && (! -e $outValue || (-w _ && -z _))) ) { $merge = 0 } } # If output is a file, check that it is writable #no warnings; #if ($outType eq 'filename' && -e $outValue && ! -w _) # { return $obj->saveErrorString(undef, "Output file '$outValue' is not writable" ) } $obj->ckParams($got) or $obj->croakError("${class}: " . $obj->error()); if ($got->getValue('encode')) { my $want_encoding = $got->getValue('encode'); *$obj->{Encoding} = IO::Compress::Base::Common::getEncoding($obj, $class, $want_encoding); my $x = *$obj->{Encoding}; } else { *$obj->{Encoding} = undef; } $obj->saveStatus(STATUS_OK) ; my $status ; if (! $merge) { *$obj->{Compress} = $obj->mkComp($got) or return undef; *$obj->{UnCompSize} = U64->new; *$obj->{CompSize} = U64->new; if ( $outType eq 'buffer') { ${ *$obj->{Buffer} } = '' unless $appendOutput ; } else { if ($outType eq 'handle') { *$obj->{FH} = $outValue ; setBinModeOutput(*$obj->{FH}) ; #$outValue->flush() ; *$obj->{Handle} = 1 ; if ($appendOutput) { seek(*$obj->{FH}, 0, IO::Handle::SEEK_END) or return $obj->saveErrorString(undef, "Cannot seek to end of output filehandle: $!", $!) ; } } elsif ($outType eq 'filename') { no warnings; my $mode = '>' ; $mode = '>>' if $appendOutput; *$obj->{FH} = IO::File->new( "$mode $outValue" ) or return $obj->saveErrorString(undef, "cannot open file '$outValue': $!", $!) ; *$obj->{StdIO} = ($outValue eq '-'); setBinModeOutput(*$obj->{FH}) ; } } *$obj->{Header} = $obj->mkHeader($got) ; $obj->output( *$obj->{Header} ) or return undef; $obj->beforePayload(); } else { *$obj->{Compress} = $obj->createMerge($outValue, $outType) or return undef; } *$obj->{Closed} = 0 ; *$obj->{AutoClose} = $got->getValue('autoclose') ; *$obj->{Output} = $outValue; *$obj->{ClassName} = $class; *$obj->{Got} = $got; *$obj->{OneShot} = 0 ; return $obj ; } sub ckOutputParam { my $self = shift ; my $from = shift ; my $outType = IO::Compress::Base::Common::whatIsOutput($_[0]); $self->croakError("$from: output parameter not a filename, filehandle or scalar ref") if ! $outType ; #$self->croakError("$from: output filename is undef or null string") #if $outType eq 'filename' && (! defined $_[0] || $_[0] eq '') ; $self->croakError("$from: output buffer is read-only") if $outType eq 'buffer' && Scalar::Util::readonly(${ $_[0] }); return 1; } sub _def { my $obj = shift ; my $class= (caller)[0] ; my $name = (caller(1))[3] ; $obj->croakError("$name: expected at least 1 parameters\n") unless @_ >= 1 ; my $input = shift ; my $haveOut = @_ ; my $output = shift ; my $x = IO::Compress::Base::Validator->new($class, *$obj->{Error}, $name, $input, $output) or return undef ; push @_, $output if $haveOut && $x->{Hash}; *$obj->{OneShot} = 1 ; my $got = $obj->checkParams($name, undef, @_) or return undef ; $x->{Got} = $got ; # if ($x->{Hash}) # { # while (my($k, $v) = each %$input) # { # $v = \$input->{$k} # unless defined $v ; # # $obj->_singleTarget($x, 1, $k, $v, @_) # or return undef ; # } # # return keys %$input ; # } if ($x->{GlobMap}) { $x->{oneInput} = 1 ; foreach my $pair (@{ $x->{Pairs} }) { my ($from, $to) = @$pair ; $obj->_singleTarget($x, 1, $from, $to, @_) or return undef ; } return scalar @{ $x->{Pairs} } ; } if (! $x->{oneOutput} ) { my $inFile = ($x->{inType} eq 'filenames' || $x->{inType} eq 'filename'); $x->{inType} = $inFile ? 'filename' : 'buffer'; foreach my $in ($x->{oneInput} ? $input : @$input) { my $out ; $x->{oneInput} = 1 ; $obj->_singleTarget($x, $inFile, $in, \$out, @_) or return undef ; push @$output, \$out ; #if ($x->{outType} eq 'array') # { push @$output, \$out } #else # { $output->{$in} = \$out } } return 1 ; } # finally the 1 to 1 and n to 1 return $obj->_singleTarget($x, 1, $input, $output, @_); Carp::croak "should not be here" ; } sub _singleTarget { my $obj = shift ; my $x = shift ; my $inputIsFilename = shift; my $input = shift; if ($x->{oneInput}) { $obj->getFileInfo($x->{Got}, $input) if isaScalar($input) || (isaFilename($input) and $inputIsFilename) ; my $z = $obj->_create($x->{Got}, @_) or return undef ; defined $z->_wr2($input, $inputIsFilename) or return $z->closeError(undef) ; return $z->close() ; } else { my $afterFirst = 0 ; my $inputIsFilename = ($x->{inType} ne 'array'); my $keep = $x->{Got}->clone(); #for my $element ( ($x->{inType} eq 'hash') ? keys %$input : @$input) for my $element ( @$input) { my $isFilename = isaFilename($element); if ( $afterFirst ++ ) { defined addInterStream($obj, $element, $isFilename) or return $obj->closeError(undef) ; } else { $obj->getFileInfo($x->{Got}, $element) if isaScalar($element) || $isFilename; $obj->_create($x->{Got}, @_) or return undef ; } defined $obj->_wr2($element, $isFilename) or return $obj->closeError(undef) ; *$obj->{Got} = $keep->clone(); } return $obj->close() ; } } sub _wr2 { my $self = shift ; my $source = shift ; my $inputIsFilename = shift; my $input = $source ; if (! $inputIsFilename) { $input = \$source if ! ref $source; } if ( ref $input && ref $input eq 'SCALAR' ) { return $self->syswrite($input, @_) ; } if ( ! ref $input || isaFilehandle($input)) { my $isFilehandle = isaFilehandle($input) ; my $fh = $input ; if ( ! $isFilehandle ) { $fh = IO::File->new( "<$input" ) or return $self->saveErrorString(undef, "cannot open file '$input': $!", $!) ; } binmode $fh ; my $status ; my $buff ; my $count = 0 ; while ($status = read($fh, $buff, 16 * 1024)) { $count += length $buff; defined $self->syswrite($buff, @_) or return undef ; } return $self->saveErrorString(undef, $!, $!) if ! defined $status ; if ( (!$isFilehandle || *$self->{AutoClose}) && $input ne '-') { $fh->close() or return undef ; } return $count ; } Carp::croak "Should not be here"; return undef; } sub addInterStream { my $self = shift ; my $input = shift ; my $inputIsFilename = shift ; if (*$self->{Got}->getValue('multistream')) { $self->getFileInfo(*$self->{Got}, $input) #if isaFilename($input) and $inputIsFilename ; if isaScalar($input) || isaFilename($input) ; # TODO -- newStream needs to allow gzip/zip header to be modified return $self->newStream(); } elsif (*$self->{Got}->getValue('autoflush')) { #return $self->flush(Z_FULL_FLUSH); } return 1 ; } sub getFileInfo { } sub TIEHANDLE { return $_[0] if ref($_[0]); die "OOPS\n" ; } sub UNTIE { my $self = shift ; } sub DESTROY { my $self = shift ; local ($., $@, $!, $^E, $?); $self->close() ; # TODO - memory leak with 5.8.0 - this isn't called until # global destruction # %{ *$self } = () ; undef $self ; } sub filterUncompressed { } sub syswrite { my $self = shift ; my $buffer ; if (ref $_[0] ) { $self->croakError( *$self->{ClassName} . "::write: not a scalar reference" ) unless ref $_[0] eq 'SCALAR' ; $buffer = $_[0] ; } else { $buffer = \$_[0] ; } if (@_ > 1) { my $slen = defined $$buffer ? length($$buffer) : 0; my $len = $slen; my $offset = 0; $len = $_[1] if $_[1] < $len; if (@_ > 2) { $offset = $_[2] || 0; $self->croakError(*$self->{ClassName} . "::write: offset outside string") if $offset > $slen; if ($offset < 0) { $offset += $slen; $self->croakError( *$self->{ClassName} . "::write: offset outside string") if $offset < 0; } my $rem = $slen - $offset; $len = $rem if $rem < $len; } $buffer = \substr($$buffer, $offset, $len) ; } return 0 if (! defined $$buffer || length $$buffer == 0) && ! *$self->{FlushPending}; # *$self->{Pending} .= $$buffer ; # # return length $$buffer # if (length *$self->{Pending} < 1024 * 16 && ! *$self->{FlushPending}) ; # # $$buffer = *$self->{Pending} ; # *$self->{Pending} = ''; if (*$self->{Encoding}) { $$buffer = *$self->{Encoding}->encode($$buffer); } else { $] >= 5.008 and ( utf8::downgrade($$buffer, 1) or Carp::croak "Wide character in " . *$self->{ClassName} . "::write:"); } $self->filterUncompressed($buffer); my $buffer_length = defined $$buffer ? length($$buffer) : 0 ; *$self->{UnCompSize}->add($buffer_length) ; my $outBuffer=''; my $status = *$self->{Compress}->compr($buffer, $outBuffer) ; return $self->saveErrorString(undef, *$self->{Compress}{Error}, *$self->{Compress}{ErrorNo}) if $status == STATUS_ERROR; *$self->{CompSize}->add(length $outBuffer) ; $self->outputPayload($outBuffer) or return undef; return $buffer_length; } sub print { my $self = shift; #if (ref $self) { # $self = *$self{GLOB} ; #} if (defined $\) { if (defined $,) { defined $self->syswrite(join($,, @_) . $\); } else { defined $self->syswrite(join("", @_) . $\); } } else { if (defined $,) { defined $self->syswrite(join($,, @_)); } else { defined $self->syswrite(join("", @_)); } } } sub printf { my $self = shift; my $fmt = shift; defined $self->syswrite(sprintf($fmt, @_)); } sub _flushCompressed { my $self = shift ; my $outBuffer=''; my $status = *$self->{Compress}->flush($outBuffer, @_) ; return $self->saveErrorString(0, *$self->{Compress}{Error}, *$self->{Compress}{ErrorNo}) if $status == STATUS_ERROR; if ( defined *$self->{FH} ) { *$self->{FH}->clearerr(); } *$self->{CompSize}->add(length $outBuffer) ; $self->outputPayload($outBuffer) or return 0; return 1; } sub flush { my $self = shift ; $self->_flushCompressed(@_) or return 0; if ( defined *$self->{FH} ) { defined *$self->{FH}->flush() or return $self->saveErrorString(0, $!, $!); } return 1; } sub beforePayload { } sub _newStream { my $self = shift ; my $got = shift; my $class = ref $self; $self->_writeTrailer() or return 0 ; $self->ckParams($got) or $self->croakError("newStream: $self->{Error}"); if ($got->getValue('encode')) { my $want_encoding = $got->getValue('encode'); *$self->{Encoding} = IO::Compress::Base::Common::getEncoding($self, $class, $want_encoding); } else { *$self->{Encoding} = undef; } *$self->{Compress} = $self->mkComp($got) or return 0; *$self->{Header} = $self->mkHeader($got) ; $self->output(*$self->{Header} ) or return 0; *$self->{UnCompSize}->reset(); *$self->{CompSize}->reset(); $self->beforePayload(); return 1 ; } sub newStream { my $self = shift ; my $got = $self->checkParams('newStream', *$self->{Got}, @_) or return 0 ; $self->_newStream($got); # *$self->{Compress} = $self->mkComp($got) # or return 0; # # *$self->{Header} = $self->mkHeader($got) ; # $self->output(*$self->{Header} ) # or return 0; # # *$self->{UnCompSize}->reset(); # *$self->{CompSize}->reset(); # # $self->beforePayload(); # # return 1 ; } sub reset { my $self = shift ; return *$self->{Compress}->reset() ; } sub _writeTrailer { my $self = shift ; my $trailer = ''; my $status = *$self->{Compress}->close($trailer) ; return $self->saveErrorString(0, *$self->{Compress}{Error}, *$self->{Compress}{ErrorNo}) if $status == STATUS_ERROR; *$self->{CompSize}->add(length $trailer) ; $trailer .= $self->mkTrailer(); defined $trailer or return 0; return $self->output($trailer); } sub _writeFinalTrailer { my $self = shift ; return $self->output($self->mkFinalTrailer()); } sub close { my $self = shift ; return 1 if *$self->{Closed} || ! *$self->{Compress} ; *$self->{Closed} = 1 ; untie *$self if $] >= 5.008 ; *$self->{FlushPending} = 1 ; $self->_writeTrailer() or return 0 ; $self->_writeFinalTrailer() or return 0 ; $self->output( "", 1 ) or return 0; if (defined *$self->{FH}) { if ((! *$self->{Handle} || *$self->{AutoClose}) && ! *$self->{StdIO}) { $! = 0 ; *$self->{FH}->close() or return $self->saveErrorString(0, $!, $!); } delete *$self->{FH} ; # This delete can set $! in older Perls, so reset the errno $! = 0 ; } return 1; } #sub total_in #sub total_out #sub msg # #sub crc #{ # my $self = shift ; # return *$self->{Compress}->crc32() ; #} # #sub msg #{ # my $self = shift ; # return *$self->{Compress}->msg() ; #} # #sub dict_adler #{ # my $self = shift ; # return *$self->{Compress}->dict_adler() ; #} # #sub get_Level #{ # my $self = shift ; # return *$self->{Compress}->get_Level() ; #} # #sub get_Strategy #{ # my $self = shift ; # return *$self->{Compress}->get_Strategy() ; #} sub tell { my $self = shift ; return *$self->{UnCompSize}->get32bit() ; } sub eof { my $self = shift ; return *$self->{Closed} ; } sub seek { my $self = shift ; my $position = shift; my $whence = shift ; my $here = $self->tell() ; my $target = 0 ; #use IO::Handle qw(SEEK_SET SEEK_CUR SEEK_END); use IO::Handle ; if ($whence == IO::Handle::SEEK_SET) { $target = $position ; } elsif ($whence == IO::Handle::SEEK_CUR || $whence == IO::Handle::SEEK_END) { $target = $here + $position ; } else { $self->croakError(*$self->{ClassName} . "::seek: unknown value, $whence, for whence parameter"); } # short circuit if seeking to current offset return 1 if $target == $here ; # Outlaw any attempt to seek backwards $self->croakError(*$self->{ClassName} . "::seek: cannot seek backwards") if $target < $here ; # Walk the file to the new offset my $offset = $target - $here ; my $buffer ; defined $self->syswrite("\x00" x $offset) or return 0; return 1 ; } sub binmode { 1; # my $self = shift ; # return defined *$self->{FH} # ? binmode *$self->{FH} # : 1 ; } sub fileno { my $self = shift ; return defined *$self->{FH} ? *$self->{FH}->fileno() : undef ; } sub opened { my $self = shift ; return ! *$self->{Closed} ; } sub autoflush { my $self = shift ; return defined *$self->{FH} ? *$self->{FH}->autoflush(@_) : undef ; } sub input_line_number { return undef ; } sub _notAvailable { my $name = shift ; return sub { Carp::croak "$name Not Available: File opened only for output" ; } ; } { no warnings 'once'; *read = _notAvailable('read'); *READ = _notAvailable('read'); *readline = _notAvailable('readline'); *READLINE = _notAvailable('readline'); *getc = _notAvailable('getc'); *GETC = _notAvailable('getc'); *FILENO = \&fileno; *PRINT = \&print; *PRINTF = \&printf; *WRITE = \&syswrite; *write = \&syswrite; *SEEK = \&seek; *TELL = \&tell; *EOF = \&eof; *CLOSE = \&close; *BINMODE = \&binmode; } #*sysread = \&_notAvailable; #*syswrite = \&_write; 1; __END__ =head1 NAME IO::Compress::Base - Base Class for IO::Compress modules =head1 SYNOPSIS use IO::Compress::Base ; =head1 DESCRIPTION This module is not intended for direct use in application code. Its sole purpose is to be sub-classed by IO::Compress modules. =head1 SUPPORT General feedback/questions/bug reports should be sent to L (preferred) or L. =head1 SEE ALSO L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L L L, L, L, L =head1 AUTHOR This module was written by Paul Marquess, C. =head1 MODIFICATION HISTORY See the Changes file. =head1 COPYRIGHT AND LICENSE Copyright (c) 2005-2023 Paul Marquess. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. FILE#0c079e18/IO/Compress/Base/Common.pmXpackage IO::Compress::Base::Common; use strict ; use warnings; use bytes; use Carp; use Scalar::Util qw(blessed readonly); use File::GlobMapper; require Exporter; our ($VERSION, @ISA, @EXPORT, %EXPORT_TAGS, $HAS_ENCODE); @ISA = qw(Exporter); $VERSION = '2.204'; @EXPORT = qw( isaFilehandle isaFilename isaScalar whatIsInput whatIsOutput isaFileGlobString cleanFileGlobString oneTarget setBinModeInput setBinModeOutput ckInOutParams createSelfTiedObject isGeMax32 MAX32 WANT_CODE WANT_EXT WANT_UNDEF WANT_HASH STATUS_OK STATUS_ENDSTREAM STATUS_EOF STATUS_ERROR ); %EXPORT_TAGS = ( Status => [qw( STATUS_OK STATUS_ENDSTREAM STATUS_EOF STATUS_ERROR )]); use constant STATUS_OK => 0; use constant STATUS_ENDSTREAM => 1; use constant STATUS_EOF => 2; use constant STATUS_ERROR => -1; use constant MAX16 => 0xFFFF ; use constant MAX32 => 0xFFFFFFFF ; use constant MAX32cmp => 0xFFFFFFFF + 1 - 1; # for 5.6.x on 32-bit need to force an non-IV value sub isGeMax32 { return $_[0] >= MAX32cmp ; } sub hasEncode() { if (! defined $HAS_ENCODE) { eval { require Encode; Encode->import(); }; $HAS_ENCODE = $@ ? 0 : 1 ; } return $HAS_ENCODE; } sub getEncoding($$$) { my $obj = shift; my $class = shift ; my $want_encoding = shift ; $obj->croakError("$class: Encode module needed to use -Encode") if ! hasEncode(); my $encoding = Encode::find_encoding($want_encoding); $obj->croakError("$class: Encoding '$want_encoding' is not available") if ! $encoding; return $encoding; } our ($needBinmode); $needBinmode = ($^O eq 'MSWin32' || ($] >= 5.006 && eval ' ${^UNICODE} || ${^UTF8LOCALE} ')) ? 1 : 1 ; sub setBinModeInput($) { my $handle = shift ; binmode $handle if $needBinmode; } sub setBinModeOutput($) { my $handle = shift ; binmode $handle if $needBinmode; } sub isaFilehandle($) { use utf8; # Pragma needed to keep Perl 5.6.0 happy return (defined $_[0] and (UNIVERSAL::isa($_[0],'GLOB') or UNIVERSAL::isa($_[0],'IO::Handle') or UNIVERSAL::isa(\$_[0],'GLOB')) ) } sub isaScalar { return ( defined($_[0]) and ref($_[0]) eq 'SCALAR' and defined ${ $_[0] } ) ; } sub isaFilename($) { return (defined $_[0] and ! ref $_[0] and UNIVERSAL::isa(\$_[0], 'SCALAR')); } sub isaFileGlobString { return defined $_[0] && $_[0] =~ /^<.*>$/; } sub cleanFileGlobString { my $string = shift ; $string =~ s/^\s*<\s*(.*)\s*>\s*$/$1/; return $string; } use constant WANT_CODE => 1 ; use constant WANT_EXT => 2 ; use constant WANT_UNDEF => 4 ; #use constant WANT_HASH => 8 ; use constant WANT_HASH => 0 ; sub whatIsInput($;$) { my $got = whatIs(@_); if (defined $got && $got eq 'filename' && defined $_[0] && $_[0] eq '-') { #use IO::File; $got = 'handle'; $_[0] = *STDIN; #$_[0] = IO::File->new("<-"); } return $got; } sub whatIsOutput($;$) { my $got = whatIs(@_); if (defined $got && $got eq 'filename' && defined $_[0] && $_[0] eq '-') { $got = 'handle'; $_[0] = *STDOUT; #$_[0] = IO::File->new(">-"); } return $got; } sub whatIs ($;$) { return 'handle' if isaFilehandle($_[0]); my $wantCode = defined $_[1] && $_[1] & WANT_CODE ; my $extended = defined $_[1] && $_[1] & WANT_EXT ; my $undef = defined $_[1] && $_[1] & WANT_UNDEF ; my $hash = defined $_[1] && $_[1] & WANT_HASH ; return 'undef' if ! defined $_[0] && $undef ; if (ref $_[0]) { return '' if blessed($_[0]); # is an object #return '' if UNIVERSAL::isa($_[0], 'UNIVERSAL'); # is an object return 'buffer' if UNIVERSAL::isa($_[0], 'SCALAR'); return 'array' if UNIVERSAL::isa($_[0], 'ARRAY') && $extended ; return 'hash' if UNIVERSAL::isa($_[0], 'HASH') && $hash ; return 'code' if UNIVERSAL::isa($_[0], 'CODE') && $wantCode ; return ''; } return 'fileglob' if $extended && isaFileGlobString($_[0]); return 'filename'; } sub oneTarget { return $_[0] =~ /^(code|handle|buffer|filename)$/; } sub IO::Compress::Base::Validator::new { my $class = shift ; my $Class = shift ; my $error_ref = shift ; my $reportClass = shift ; my %data = (Class => $Class, Error => $error_ref, reportClass => $reportClass, ) ; my $obj = bless \%data, $class ; local $Carp::CarpLevel = 1; my $inType = $data{inType} = whatIsInput($_[0], WANT_EXT|WANT_HASH); my $outType = $data{outType} = whatIsOutput($_[1], WANT_EXT|WANT_HASH); my $oneInput = $data{oneInput} = oneTarget($inType); my $oneOutput = $data{oneOutput} = oneTarget($outType); if (! $inType) { $obj->croakError("$reportClass: illegal input parameter") ; #return undef ; } # if ($inType eq 'hash') # { # $obj->{Hash} = 1 ; # $obj->{oneInput} = 1 ; # return $obj->validateHash($_[0]); # } if (! $outType) { $obj->croakError("$reportClass: illegal output parameter") ; #return undef ; } if ($inType ne 'fileglob' && $outType eq 'fileglob') { $obj->croakError("Need input fileglob for outout fileglob"); } # if ($inType ne 'fileglob' && $outType eq 'hash' && $inType ne 'filename' ) # { # $obj->croakError("input must ne filename or fileglob when output is a hash"); # } if ($inType eq 'fileglob' && $outType eq 'fileglob') { $data{GlobMap} = 1 ; $data{inType} = $data{outType} = 'filename'; my $mapper = File::GlobMapper->new($_[0], $_[1]); if ( ! $mapper ) { return $obj->saveErrorString($File::GlobMapper::Error) ; } $data{Pairs} = $mapper->getFileMap(); return $obj; } $obj->croakError("$reportClass: input and output $inType are identical") if $inType eq $outType && $_[0] eq $_[1] && $_[0] ne '-' ; if ($inType eq 'fileglob') # && $outType ne 'fileglob' { my $glob = cleanFileGlobString($_[0]); my @inputs = glob($glob); if (@inputs == 0) { # TODO -- legal or die? die "globmap matched zero file -- legal or die???" ; } elsif (@inputs == 1) { $obj->validateInputFilenames($inputs[0]) or return undef; $_[0] = $inputs[0] ; $data{inType} = 'filename' ; $data{oneInput} = 1; } else { $obj->validateInputFilenames(@inputs) or return undef; $_[0] = [ @inputs ] ; $data{inType} = 'filenames' ; } } elsif ($inType eq 'filename') { $obj->validateInputFilenames($_[0]) or return undef; } elsif ($inType eq 'array') { $data{inType} = 'filenames' ; $obj->validateInputArray($_[0]) or return undef ; } return $obj->saveErrorString("$reportClass: output buffer is read-only") if $outType eq 'buffer' && readonly(${ $_[1] }); if ($outType eq 'filename' ) { $obj->croakError("$reportClass: output filename is undef or null string") if ! defined $_[1] || $_[1] eq '' ; if (-e $_[1]) { if (-d _ ) { return $obj->saveErrorString("output file '$_[1]' is a directory"); } } } return $obj ; } sub IO::Compress::Base::Validator::saveErrorString { my $self = shift ; ${ $self->{Error} } = shift ; return undef; } sub IO::Compress::Base::Validator::croakError { my $self = shift ; $self->saveErrorString($_[0]); croak $_[0]; } sub IO::Compress::Base::Validator::validateInputFilenames { my $self = shift ; foreach my $filename (@_) { $self->croakError("$self->{reportClass}: input filename is undef or null string") if ! defined $filename || $filename eq '' ; next if $filename eq '-'; if (! -e $filename ) { return $self->saveErrorString("input file '$filename' does not exist"); } if (-d _ ) { return $self->saveErrorString("input file '$filename' is a directory"); } # if (! -r _ ) # { # return $self->saveErrorString("cannot open file '$filename': $!"); # } } return 1 ; } sub IO::Compress::Base::Validator::validateInputArray { my $self = shift ; if ( @{ $_[0] } == 0 ) { return $self->saveErrorString("empty array reference") ; } foreach my $element ( @{ $_[0] } ) { my $inType = whatIsInput($element); if (! $inType) { $self->croakError("unknown input parameter") ; } elsif($inType eq 'filename') { $self->validateInputFilenames($element) or return undef ; } else { $self->croakError("not a filename") ; } } return 1 ; } #sub IO::Compress::Base::Validator::validateHash #{ # my $self = shift ; # my $href = shift ; # # while (my($k, $v) = each %$href) # { # my $ktype = whatIsInput($k); # my $vtype = whatIsOutput($v, WANT_EXT|WANT_UNDEF) ; # # if ($ktype ne 'filename') # { # return $self->saveErrorString("hash key not filename") ; # } # # my %valid = map { $_ => 1 } qw(filename buffer array undef handle) ; # if (! $valid{$vtype}) # { # return $self->saveErrorString("hash value not ok") ; # } # } # # return $self ; #} sub createSelfTiedObject { my $class = shift || (caller)[0] ; my $error_ref = shift ; my $obj = bless Symbol::gensym(), ref($class) || $class; tie *$obj, $obj if $] >= 5.005; *$obj->{Closed} = 1 ; $$error_ref = ''; *$obj->{Error} = $error_ref ; my $errno = 0 ; *$obj->{ErrorNo} = \$errno ; return $obj; } #package Parse::Parameters ; # # #require Exporter; #our ($VERSION, @ISA, @EXPORT); #$VERSION = '2.000_08'; #@ISA = qw(Exporter); $EXPORT_TAGS{Parse} = [qw( ParseParameters Parse_any Parse_unsigned Parse_signed Parse_boolean Parse_string Parse_code Parse_writable_scalar ) ]; push @EXPORT, @{ $EXPORT_TAGS{Parse} } ; use constant Parse_any => 0x01; use constant Parse_unsigned => 0x02; use constant Parse_signed => 0x04; use constant Parse_boolean => 0x08; use constant Parse_string => 0x10; use constant Parse_code => 0x20; #use constant Parse_store_ref => 0x100 ; #use constant Parse_multiple => 0x100 ; use constant Parse_writable => 0x200 ; use constant Parse_writable_scalar => 0x400 | Parse_writable ; use constant OFF_PARSED => 0 ; use constant OFF_TYPE => 1 ; use constant OFF_DEFAULT => 2 ; use constant OFF_FIXED => 3 ; #use constant OFF_FIRST_ONLY => 4 ; #use constant OFF_STICKY => 5 ; use constant IxError => 0; use constant IxGot => 1 ; sub ParseParameters { my $level = shift || 0 ; my $sub = (caller($level + 1))[3] ; local $Carp::CarpLevel = 1 ; return $_[1] if @_ == 2 && defined $_[1] && UNIVERSAL::isa($_[1], "IO::Compress::Base::Parameters"); my $p = IO::Compress::Base::Parameters->new(); $p->parse(@_) or croak "$sub: $p->[IxError]" ; return $p; } use strict; use warnings; use Carp; sub Init { my $default = shift ; my %got ; my $obj = IO::Compress::Base::Parameters::new(); while (my ($key, $v) = each %$default) { croak "need 2 params [@$v]" if @$v != 2 ; my ($type, $value) = @$v ; # my ($first_only, $sticky, $type, $value) = @$v ; my $sticky = 0; my $x ; $obj->_checkType($key, \$value, $type, 0, \$x) or return undef ; $key = lc $key; # if (! $sticky) { # $x = [] # if $type & Parse_multiple; # $got{$key} = [0, $type, $value, $x, $first_only, $sticky] ; $got{$key} = [0, $type, $value, $x] ; # } # # $got{$key}[OFF_PARSED] = 0 ; } return bless \%got, "IO::Compress::Base::Parameters::Defaults" ; } sub IO::Compress::Base::Parameters::new { #my $class = shift ; my $obj; $obj->[IxError] = ''; $obj->[IxGot] = {} ; return bless $obj, 'IO::Compress::Base::Parameters' ; } sub IO::Compress::Base::Parameters::setError { my $self = shift ; my $error = shift ; my $retval = @_ ? shift : undef ; $self->[IxError] = $error ; return $retval; } sub IO::Compress::Base::Parameters::getError { my $self = shift ; return $self->[IxError] ; } sub IO::Compress::Base::Parameters::parse { my $self = shift ; my $default = shift ; my $got = $self->[IxGot] ; my $firstTime = keys %{ $got } == 0 ; my (@Bad) ; my @entered = () ; # Allow the options to be passed as a hash reference or # as the complete hash. if (@_ == 0) { @entered = () ; } elsif (@_ == 1) { my $href = $_[0] ; return $self->setError("Expected even number of parameters, got 1") if ! defined $href or ! ref $href or ref $href ne "HASH" ; foreach my $key (keys %$href) { push @entered, $key ; push @entered, \$href->{$key} ; } } else { my $count = @_; return $self->setError("Expected even number of parameters, got $count") if $count % 2 != 0 ; for my $i (0.. $count / 2 - 1) { push @entered, $_[2 * $i] ; push @entered, \$_[2 * $i + 1] ; } } foreach my $key (keys %$default) { my ($type, $value) = @{ $default->{$key} } ; if ($firstTime) { $got->{$key} = [0, $type, $value, $value] ; } else { $got->{$key}[OFF_PARSED] = 0 ; } } my %parsed = (); for my $i (0.. @entered / 2 - 1) { my $key = $entered[2* $i] ; my $value = $entered[2* $i+1] ; #print "Key [$key] Value [$value]" ; #print defined $$value ? "[$$value]\n" : "[undef]\n"; $key =~ s/^-// ; my $canonkey = lc $key; if ($got->{$canonkey}) { my $type = $got->{$canonkey}[OFF_TYPE] ; my $parsed = $parsed{$canonkey}; ++ $parsed{$canonkey}; return $self->setError("Muliple instances of '$key' found") if $parsed ; my $s ; $self->_checkType($key, $value, $type, 1, \$s) or return undef ; $value = $$value ; $got->{$canonkey} = [1, $type, $value, $s] ; } else { push (@Bad, $key) } } if (@Bad) { my ($bad) = join(", ", @Bad) ; return $self->setError("unknown key value(s) $bad") ; } return 1; } sub IO::Compress::Base::Parameters::_checkType { my $self = shift ; my $key = shift ; my $value = shift ; my $type = shift ; my $validate = shift ; my $output = shift; #local $Carp::CarpLevel = $level ; #print "PARSE $type $key $value $validate $sub\n" ; if ($type & Parse_writable_scalar) { return $self->setError("Parameter '$key' not writable") if readonly $$value ; if (ref $$value) { return $self->setError("Parameter '$key' not a scalar reference") if ref $$value ne 'SCALAR' ; $$output = $$value ; } else { return $self->setError("Parameter '$key' not a scalar") if ref $value ne 'SCALAR' ; $$output = $value ; } return 1; } $value = $$value ; if ($type & Parse_any) { $$output = $value ; return 1; } elsif ($type & Parse_unsigned) { return $self->setError("Parameter '$key' must be an unsigned int, got 'undef'") if ! defined $value ; return $self->setError("Parameter '$key' must be an unsigned int, got '$value'") if $value !~ /^\d+$/; $$output = defined $value ? $value : 0 ; return 1; } elsif ($type & Parse_signed) { return $self->setError("Parameter '$key' must be a signed int, got 'undef'") if ! defined $value ; return $self->setError("Parameter '$key' must be a signed int, got '$value'") if $value !~ /^-?\d+$/; $$output = defined $value ? $value : 0 ; return 1 ; } elsif ($type & Parse_boolean) { return $self->setError("Parameter '$key' must be an int, got '$value'") if defined $value && $value !~ /^\d*$/; $$output = defined $value && $value != 0 ? 1 : 0 ; return 1; } elsif ($type & Parse_string) { $$output = defined $value ? $value : "" ; return 1; } elsif ($type & Parse_code) { return $self->setError("Parameter '$key' must be a code reference, got '$value'") if (! defined $value || ref $value ne 'CODE') ; $$output = defined $value ? $value : "" ; return 1; } $$output = $value ; return 1; } sub IO::Compress::Base::Parameters::parsed { return $_[0]->[IxGot]{$_[1]}[OFF_PARSED] ; } sub IO::Compress::Base::Parameters::getValue { return $_[0]->[IxGot]{$_[1]}[OFF_FIXED] ; } sub IO::Compress::Base::Parameters::setValue { $_[0]->[IxGot]{$_[1]}[OFF_PARSED] = 1; $_[0]->[IxGot]{$_[1]}[OFF_DEFAULT] = $_[2] ; $_[0]->[IxGot]{$_[1]}[OFF_FIXED] = $_[2] ; } sub IO::Compress::Base::Parameters::valueRef { return $_[0]->[IxGot]{$_[1]}[OFF_FIXED] ; } sub IO::Compress::Base::Parameters::valueOrDefault { my $self = shift ; my $name = shift ; my $default = shift ; my $value = $self->[IxGot]{$name}[OFF_DEFAULT] ; return $value if defined $value ; return $default ; } sub IO::Compress::Base::Parameters::wantValue { return defined $_[0]->[IxGot]{$_[1]}[OFF_DEFAULT] ; } sub IO::Compress::Base::Parameters::clone { my $self = shift ; my $obj = [] ; my %got ; my $hash = $self->[IxGot] ; for my $k (keys %{ $hash }) { $got{$k} = [ @{ $hash->{$k} } ]; } $obj->[IxError] = $self->[IxError]; $obj->[IxGot] = \%got ; return bless $obj, 'IO::Compress::Base::Parameters' ; } package U64; use constant MAX32 => 0xFFFFFFFF ; use constant HI_1 => MAX32 + 1 ; use constant LOW => 0 ; use constant HIGH => 1; sub new { return bless [ 0, 0 ], $_[0] if @_ == 1 ; return bless [ $_[1], 0 ], $_[0] if @_ == 2 ; return bless [ $_[2], $_[1] ], $_[0] if @_ == 3 ; } sub newUnpack_V64 { my ($low, $hi) = unpack "V V", $_[0] ; bless [ $low, $hi ], "U64"; } sub newUnpack_V32 { my $string = shift; my $low = unpack "V", $string ; bless [ $low, 0 ], "U64"; } sub reset { $_[0]->[HIGH] = $_[0]->[LOW] = 0; } sub clone { bless [ @{$_[0]} ], ref $_[0] ; } sub getHigh { return $_[0]->[HIGH]; } sub getLow { return $_[0]->[LOW]; } sub get32bit { return $_[0]->[LOW]; } sub get64bit { # Not using << here because the result will still be # a 32-bit value on systems where int size is 32-bits return $_[0]->[HIGH] * HI_1 + $_[0]->[LOW]; } sub add { # my $self = shift; my $value = $_[1]; if (ref $value eq 'U64') { $_[0]->[HIGH] += $value->[HIGH] ; $value = $value->[LOW]; } elsif ($value > MAX32) { $_[0]->[HIGH] += int($value / HI_1) ; $value = $value % HI_1; } my $available = MAX32 - $_[0]->[LOW] ; if ($value > $available) { ++ $_[0]->[HIGH] ; $_[0]->[LOW] = $value - $available - 1; } else { $_[0]->[LOW] += $value ; } } sub add32 { # my $self = shift; my $value = $_[1]; if ($value > MAX32) { $_[0]->[HIGH] += int($value / HI_1) ; $value = $value % HI_1; } my $available = MAX32 - $_[0]->[LOW] ; if ($value > $available) { ++ $_[0]->[HIGH] ; $_[0]->[LOW] = $value - $available - 1; } else { $_[0]->[LOW] += $value ; } } sub subtract { my $self = shift; my $value = shift; if (ref $value eq 'U64') { if ($value->[HIGH]) { die "bad" if $self->[HIGH] == 0 || $value->[HIGH] > $self->[HIGH] ; $self->[HIGH] -= $value->[HIGH] ; } $value = $value->[LOW] ; } if ($value > $self->[LOW]) { -- $self->[HIGH] ; $self->[LOW] = MAX32 - $value + $self->[LOW] + 1 ; } else { $self->[LOW] -= $value; } } sub equal { my $self = shift; my $other = shift; return $self->[LOW] == $other->[LOW] && $self->[HIGH] == $other->[HIGH] ; } sub isZero { my $self = shift; return $self->[LOW] == 0 && $self->[HIGH] == 0 ; } sub gt { my $self = shift; my $other = shift; return $self->cmp($other) > 0 ; } sub cmp { my $self = shift; my $other = shift ; if ($self->[LOW] == $other->[LOW]) { return $self->[HIGH] - $other->[HIGH] ; } else { return $self->[LOW] - $other->[LOW] ; } } sub is64bit { return $_[0]->[HIGH] > 0 ; } sub isAlmost64bit { return $_[0]->[HIGH] > 0 || $_[0]->[LOW] == MAX32 ; } sub getPacked_V64 { return pack "V V", @{ $_[0] } ; } sub getPacked_V32 { return pack "V", $_[0]->[LOW] ; } sub pack_V64 { return pack "V V", $_[0], 0; } sub full32 { return $_[0] == MAX32 ; } sub Value_VV64 { my $buffer = shift; my ($lo, $hi) = unpack ("V V" , $buffer); no warnings 'uninitialized'; return $hi * HI_1 + $lo; } package IO::Compress::Base::Common; 1; FILE37b6870b/IO/Compress/Gzip.pmpackage IO::Compress::Gzip ; require 5.006 ; use strict ; use warnings; use bytes; require Exporter ; use IO::Compress::RawDeflate 2.204 () ; use IO::Compress::Adapter::Deflate 2.204 ; use IO::Compress::Base::Common 2.204 qw(:Status ); use IO::Compress::Gzip::Constants 2.204 ; use IO::Compress::Zlib::Extra 2.204 ; BEGIN { if (defined &utf8::downgrade ) { *noUTF8 = \&utf8::downgrade } else { *noUTF8 = sub {} } } our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $GzipError); $VERSION = '2.204'; $GzipError = '' ; @ISA = qw(IO::Compress::RawDeflate Exporter); @EXPORT_OK = qw( $GzipError gzip ) ; %EXPORT_TAGS = %IO::Compress::RawDeflate::DEFLATE_CONSTANTS ; push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ; Exporter::export_ok_tags('all'); sub new { my $class = shift ; my $obj = IO::Compress::Base::Common::createSelfTiedObject($class, \$GzipError); $obj->_create(undef, @_); } sub gzip { my $obj = IO::Compress::Base::Common::createSelfTiedObject(undef, \$GzipError); return $obj->_def(@_); } #sub newHeader #{ # my $self = shift ; # #return GZIP_MINIMUM_HEADER ; # return $self->mkHeader(*$self->{Got}); #} sub getExtraParams { my $self = shift ; return ( # zlib behaviour $self->getZlibParams(), # Gzip header fields 'minimal' => [IO::Compress::Base::Common::Parse_boolean, 0], 'comment' => [IO::Compress::Base::Common::Parse_any, undef], 'name' => [IO::Compress::Base::Common::Parse_any, undef], 'time' => [IO::Compress::Base::Common::Parse_any, undef], 'textflag' => [IO::Compress::Base::Common::Parse_boolean, 0], 'headercrc' => [IO::Compress::Base::Common::Parse_boolean, 0], 'os_code' => [IO::Compress::Base::Common::Parse_unsigned, $Compress::Raw::Zlib::gzip_os_code], 'extrafield'=> [IO::Compress::Base::Common::Parse_any, undef], 'extraflags'=> [IO::Compress::Base::Common::Parse_any, undef], ); } sub ckParams { my $self = shift ; my $got = shift ; # gzip always needs crc32 $got->setValue('crc32' => 1); return 1 if $got->getValue('merge') ; my $strict = $got->getValue('strict') ; { if (! $got->parsed('time') ) { # Modification time defaults to now. $got->setValue(time => time) ; } # Check that the Name & Comment don't have embedded NULLs # Also check that they only contain ISO 8859-1 chars. if ($got->parsed('name') && defined $got->getValue('name')) { my $name = $got->getValue('name'); return $self->saveErrorString(undef, "Null Character found in Name", Z_DATA_ERROR) if $strict && $name =~ /\x00/ ; return $self->saveErrorString(undef, "Non ISO 8859-1 Character found in Name", Z_DATA_ERROR) if $strict && $name =~ /$GZIP_FNAME_INVALID_CHAR_RE/o ; } if ($got->parsed('comment') && defined $got->getValue('comment')) { my $comment = $got->getValue('comment'); return $self->saveErrorString(undef, "Null Character found in Comment", Z_DATA_ERROR) if $strict && $comment =~ /\x00/ ; return $self->saveErrorString(undef, "Non ISO 8859-1 Character found in Comment", Z_DATA_ERROR) if $strict && $comment =~ /$GZIP_FCOMMENT_INVALID_CHAR_RE/o; } if ($got->parsed('os_code') ) { my $value = $got->getValue('os_code'); return $self->saveErrorString(undef, "OS_Code must be between 0 and 255, got '$value'") if $value < 0 || $value > 255 ; } # gzip only supports Deflate at present $got->setValue('method' => Z_DEFLATED) ; if ( ! $got->parsed('extraflags')) { $got->setValue('extraflags' => 2) if $got->getValue('level') == Z_BEST_COMPRESSION ; $got->setValue('extraflags' => 4) if $got->getValue('level') == Z_BEST_SPEED ; } my $data = $got->getValue('extrafield') ; if (defined $data) { my $bad = IO::Compress::Zlib::Extra::parseExtraField($data, $strict, 1) ; return $self->saveErrorString(undef, "Error with ExtraField Parameter: $bad", Z_DATA_ERROR) if $bad ; $got->setValue('extrafield' => $data) ; } } return 1; } sub mkTrailer { my $self = shift ; return pack("V V", *$self->{Compress}->crc32(), *$self->{UnCompSize}->get32bit()); } sub getInverseClass { no warnings 'once'; return ('IO::Uncompress::Gunzip', \$IO::Uncompress::Gunzip::GunzipError); } sub getFileInfo { my $self = shift ; my $params = shift; my $filename = shift ; return if IO::Compress::Base::Common::isaScalar($filename); my $defaultTime = (stat($filename))[9] ; $params->setValue('name' => $filename) if ! $params->parsed('name') ; $params->setValue('time' => $defaultTime) if ! $params->parsed('time') ; } sub mkHeader { my $self = shift ; my $param = shift ; # short-circuit if a minimal header is requested. return GZIP_MINIMUM_HEADER if $param->getValue('minimal') ; # METHOD my $method = $param->valueOrDefault('method', GZIP_CM_DEFLATED) ; # FLAGS my $flags = GZIP_FLG_DEFAULT ; $flags |= GZIP_FLG_FTEXT if $param->getValue('textflag') ; $flags |= GZIP_FLG_FHCRC if $param->getValue('headercrc') ; $flags |= GZIP_FLG_FEXTRA if $param->wantValue('extrafield') ; $flags |= GZIP_FLG_FNAME if $param->wantValue('name') ; $flags |= GZIP_FLG_FCOMMENT if $param->wantValue('comment') ; # MTIME my $time = $param->valueOrDefault('time', GZIP_MTIME_DEFAULT) ; # EXTRA FLAGS my $extra_flags = $param->valueOrDefault('extraflags', GZIP_XFL_DEFAULT); # OS CODE my $os_code = $param->valueOrDefault('os_code', GZIP_OS_DEFAULT) ; my $out = pack("C4 V C C", GZIP_ID1, # ID1 GZIP_ID2, # ID2 $method, # Compression Method $flags, # Flags $time, # Modification Time $extra_flags, # Extra Flags $os_code, # Operating System Code ) ; # EXTRA if ($flags & GZIP_FLG_FEXTRA) { my $extra = $param->getValue('extrafield') ; $out .= pack("v", length $extra) . $extra ; } # NAME if ($flags & GZIP_FLG_FNAME) { my $name .= $param->getValue('name') ; $name =~ s/\x00.*$//; $out .= $name ; # Terminate the filename with NULL unless it already is $out .= GZIP_NULL_BYTE if !length $name or substr($name, 1, -1) ne GZIP_NULL_BYTE ; } # COMMENT if ($flags & GZIP_FLG_FCOMMENT) { my $comment .= $param->getValue('comment') ; $comment =~ s/\x00.*$//; $out .= $comment ; # Terminate the comment with NULL unless it already is $out .= GZIP_NULL_BYTE if ! length $comment or substr($comment, 1, -1) ne GZIP_NULL_BYTE; } # HEADER CRC $out .= pack("v", Compress::Raw::Zlib::crc32($out) & 0x00FF ) if $param->getValue('headercrc') ; noUTF8($out); return $out ; } sub mkFinalTrailer { return ''; } 1; __END__ =head1 NAME IO::Compress::Gzip - Write RFC 1952 files/buffers =head1 SYNOPSIS use IO::Compress::Gzip qw(gzip $GzipError) ; my $status = gzip $input => $output [,OPTS] or die "gzip failed: $GzipError\n"; my $z = IO::Compress::Gzip->new( $output [,OPTS] ) or die "gzip failed: $GzipError\n"; $z->print($string); $z->printf($format, $string); $z->write($string); $z->syswrite($string [, $length, $offset]); $z->flush(); $z->tell(); $z->eof(); $z->seek($position, $whence); $z->binmode(); $z->fileno(); $z->opened(); $z->autoflush(); $z->input_line_number(); $z->newStream( [OPTS] ); $z->deflateParams(); $z->close() ; $GzipError ; # IO::File mode print $z $string; printf $z $format, $string; tell $z eof $z seek $z, $position, $whence binmode $z fileno $z close $z ; =head1 DESCRIPTION This module provides a Perl interface that allows writing compressed data to files or buffer as defined in RFC 1952. All the gzip headers defined in RFC 1952 can be created using this module. For reading RFC 1952 files/buffers, see the companion module L. =head1 Functional Interface A top-level function, C, is provided to carry out "one-shot" compression between buffers and/or files. For finer control over the compression process, see the L section. use IO::Compress::Gzip qw(gzip $GzipError) ; gzip $input_filename_or_reference => $output_filename_or_reference [,OPTS] or die "gzip failed: $GzipError\n"; The functional interface needs Perl5.005 or better. =head2 gzip $input_filename_or_reference => $output_filename_or_reference [, OPTS] C expects at least two parameters, C<$input_filename_or_reference> and C<$output_filename_or_reference> and zero or more optional parameters (see L) =head3 The C<$input_filename_or_reference> parameter The parameter, C<$input_filename_or_reference>, is used to define the source of the uncompressed data. It can take one of the following forms: =over 5 =item A filename If the C<$input_filename_or_reference> parameter is a simple scalar, it is assumed to be a filename. This file will be opened for reading and the input data will be read from it. =item A filehandle If the C<$input_filename_or_reference> parameter is a filehandle, the input data will be read from it. The string '-' can be used as an alias for standard input. =item A scalar reference If C<$input_filename_or_reference> is a scalar reference, the input data will be read from C<$$input_filename_or_reference>. =item An array reference If C<$input_filename_or_reference> is an array reference, each element in the array must be a filename. The input data will be read from each file in turn. The complete array will be walked to ensure that it only contains valid filenames before any data is compressed. =item An Input FileGlob string If C<$input_filename_or_reference> is a string that is delimited by the characters "<" and ">" C will assume that it is an I. The input is the list of files that match the fileglob. See L for more details. =back If the C<$input_filename_or_reference> parameter is any other type, C will be returned. In addition, if C<$input_filename_or_reference> is a simple filename, the default values for the C and C' => '<*.gz>' or die "gzip failed: $GzipError\n"; and if you want to compress each file one at a time, this will do the trick use strict ; use warnings ; use IO::Compress::Gzip qw(gzip $GzipError) ; for my $input ( glob "/my/home/*.txt" ) { my $output = "$input.gz" ; gzip $input => $output or die "Error compressing '$input': $GzipError\n"; } =head1 OO Interface =head2 Constructor The format of the constructor for C is shown below my $z = IO::Compress::Gzip->new( $output [,OPTS] ) or die "IO::Compress::Gzip failed: $GzipError\n"; It returns an C object on success and undef on failure. The variable C<$GzipError> will contain an error message on failure. If you are running Perl 5.005 or better the object, C<$z>, returned from IO::Compress::Gzip can be used exactly like an L filehandle. This means that all normal output file operations can be carried out with C<$z>. For example, to write to a compressed file/buffer you can use either of these forms $z->print("hello world\n"); print $z "hello world\n"; The mandatory parameter C<$output> is used to control the destination of the compressed data. This parameter can take one of these forms. =over 5 =item A filename If the C<$output> parameter is a simple scalar, it is assumed to be a filename. This file will be opened for writing and the compressed data will be written to it. =item A filehandle If the C<$output> parameter is a filehandle, the compressed data will be written to it. The string '-' can be used as an alias for standard output. =item A scalar reference If C<$output> is a scalar reference, the compressed data will be stored in C<$$output>. =back If the C<$output> parameter is any other type, C::new will return undef. =head2 Constructor Options C is any combination of zero or more the following options: =over 5 =item C<< AutoClose => 0|1 >> This option is only valid when the C<$output> parameter is a filehandle. If specified, and the value is true, it will result in the C<$output> being closed once either the C method is called or the C object is destroyed. This parameter defaults to 0. =item C<< Append => 0|1 >> Opens C<$output> in append mode. The behaviour of this option is dependent on the type of C<$output>. =over 5 =item * A Buffer If C<$output> is a buffer and C is enabled, all compressed data will be append to the end of C<$output>. Otherwise C<$output> will be cleared before any data is written to it. =item * A Filename If C<$output> is a filename and C is enabled, the file will be opened in append mode. Otherwise the contents of the file, if any, will be truncated before any compressed data is written to it. =item * A Filehandle If C<$output> is a filehandle, the file pointer will be positioned to the end of the file via a call to C before any compressed data is written to it. Otherwise the file pointer will not be moved. =back This parameter defaults to 0. =item C<< Merge => 0|1 >> This option is used to compress input data and append it to an existing compressed data stream in C<$output>. The end result is a single compressed data stream stored in C<$output>. It is a fatal error to attempt to use this option when C<$output> is not an RFC 1952 data stream. There are a number of other limitations with the C option: =over 5 =item 1 This module needs to have been built with zlib 1.2.1 or better to work. A fatal error will be thrown if C is used with an older version of zlib. =item 2 If C<$output> is a file or a filehandle, it must be seekable. =back This parameter defaults to 0. =item -Level Defines the compression level used by zlib. The value should either be a number between 0 and 9 (0 means no compression and 9 is maximum compression), or one of the symbolic constants defined below. Z_NO_COMPRESSION Z_BEST_SPEED Z_BEST_COMPRESSION Z_DEFAULT_COMPRESSION The default is Z_DEFAULT_COMPRESSION. Note, these constants are not imported by C by default. use IO::Compress::Gzip qw(:strategy); use IO::Compress::Gzip qw(:constants); use IO::Compress::Gzip qw(:all); =item -Strategy Defines the strategy used to tune the compression. Use one of the symbolic constants defined below. Z_FILTERED Z_HUFFMAN_ONLY Z_RLE Z_FIXED Z_DEFAULT_STRATEGY The default is Z_DEFAULT_STRATEGY. =item C<< Minimal => 0|1 >> If specified, this option will force the creation of the smallest possible compliant gzip header (which is exactly 10 bytes long) as defined in RFC 1952. See the section titled "Compliance" in RFC 1952 for a definition of the values used for the fields in the gzip header. All other parameters that control the content of the gzip header will be ignored if this parameter is set to 1. This parameter defaults to 0. =item C<< Comment => $comment >> Stores the contents of C<$comment> in the COMMENT field in the gzip header. By default, no comment field is written to the gzip file. If the C<-Strict> option is enabled, the comment can only consist of ISO 8859-1 characters plus line feed. If the C<-Strict> option is disabled, the comment field can contain any character except NULL. If any null characters are present, the field will be truncated at the first NULL. =item C<< Name => $string >> Stores the contents of C<$string> in the gzip NAME header field. If C is not specified, no gzip NAME field will be created. If the C<-Strict> option is enabled, C<$string> can only consist of ISO 8859-1 characters. If C<-Strict> is disabled, then C<$string> can contain any character except NULL. If any null characters are present, the field will be truncated at the first NULL. =item C<< Time => $number >> Sets the MTIME field in the gzip header to $number. This field defaults to the time the C object was created if this option is not specified. =item C<< TextFlag => 0|1 >> This parameter controls the setting of the FLG.FTEXT bit in the gzip header. It is used to signal that the data stored in the gzip file/buffer is probably text. The default is 0. =item C<< HeaderCRC => 0|1 >> When true this parameter will set the FLG.FHCRC bit to 1 in the gzip header and set the CRC16 header field to the CRC of the complete gzip header except the CRC16 field itself. B that gzip files created with the C flag set to 1 cannot be read by most, if not all, of the standard gunzip utilities, most notably gzip version 1.2.4. You should therefore avoid using this option if you want to maximize the portability of your gzip files. This parameter defaults to 0. =item C<< OS_Code => $value >> Stores C<$value> in the gzip OS header field. A number between 0 and 255 is valid. If not specified, this parameter defaults to the OS code of the Operating System this module was built on. The value 3 is used as a catch-all for all Unix variants and unknown Operating Systems. =item C<< ExtraField => $data >> This parameter allows additional metadata to be stored in the ExtraField in the gzip header. An RFC 1952 compliant ExtraField consists of zero or more subfields. Each subfield consists of a two byte header followed by the subfield data. The list of subfields can be supplied in any of the following formats -ExtraField => [$id1, $data1, $id2, $data2, ... ] -ExtraField => [ [$id1 => $data1], [$id2 => $data2], ... ] -ExtraField => { $id1 => $data1, $id2 => $data2, ... } Where C<$id1>, C<$id2> are two byte subfield ID's. The second byte of the ID cannot be 0, unless the C option has been disabled. If you use the hash syntax, you have no control over the order in which the ExtraSubFields are stored, plus you cannot have SubFields with duplicate ID. Alternatively the list of subfields can by supplied as a scalar, thus -ExtraField => $rawdata If you use the raw format, and the C option is enabled, C will check that C<$rawdata> consists of zero or more conformant sub-fields. When C is disabled, C<$rawdata> can consist of any arbitrary byte stream. The maximum size of the Extra Field 65535 bytes. =item C<< ExtraFlags => $value >> Sets the XFL byte in the gzip header to C<$value>. If this option is not present, the value stored in XFL field will be determined by the setting of the C option. If C<< Level => Z_BEST_SPEED >> has been specified then XFL is set to 2. If C<< Level => Z_BEST_COMPRESSION >> has been specified then XFL is set to 4. Otherwise XFL is set to 0. =item C<< Strict => 0|1 >> C will optionally police the values supplied with other options to ensure they are compliant with RFC1952. This option is enabled by default. If C is enabled the following behaviour will be policed: =over 5 =item * The value supplied with the C option can only contain ISO 8859-1 characters. =item * The value supplied with the C option can only contain ISO 8859-1 characters plus line-feed. =item * The values supplied with the C<-Name> and C<-Comment> options cannot contain multiple embedded nulls. =item * If an C option is specified and it is a simple scalar, it must conform to the sub-field structure as defined in RFC 1952. =item * If an C option is specified the second byte of the ID will be checked in each subfield to ensure that it does not contain the reserved value 0x00. =back When C is disabled the following behaviour will be policed: =over 5 =item * The value supplied with C<-Name> option can contain any character except NULL. =item * The value supplied with C<-Comment> option can contain any character except NULL. =item * The values supplied with the C<-Name> and C<-Comment> options can contain multiple embedded nulls. The string written to the gzip header will consist of the characters up to, but not including, the first embedded NULL. =item * If an C option is specified and it is a simple scalar, the structure will not be checked. The only error is if the length is too big. =item * The ID header in an C sub-field can consist of any two bytes. =back =back =head2 Examples TODO =head1 Methods =head2 print Usage is $z->print($data) print $z $data Compresses and outputs the contents of the C<$data> parameter. This has the same behaviour as the C built-in. Returns true if successful. =head2 printf Usage is $z->printf($format, $data) printf $z $format, $data Compresses and outputs the contents of the C<$data> parameter. Returns true if successful. =head2 syswrite Usage is $z->syswrite $data $z->syswrite $data, $length $z->syswrite $data, $length, $offset Compresses and outputs the contents of the C<$data> parameter. Returns the number of uncompressed bytes written, or C if unsuccessful. =head2 write Usage is $z->write $data $z->write $data, $length $z->write $data, $length, $offset Compresses and outputs the contents of the C<$data> parameter. Returns the number of uncompressed bytes written, or C if unsuccessful. =head2 flush Usage is $z->flush; $z->flush($flush_type); Flushes any pending compressed data to the output file/buffer. This method takes an optional parameter, C<$flush_type>, that controls how the flushing will be carried out. By default the C<$flush_type> used is C. Other valid values for C<$flush_type> are C, C, C and C. It is strongly recommended that you only set the C parameter if you fully understand the implications of what it does - overuse of C can seriously degrade the level of compression achieved. See the C documentation for details. Returns true on success. =head2 tell Usage is $z->tell() tell $z Returns the uncompressed file offset. =head2 eof Usage is $z->eof(); eof($z); Returns true if the C method has been called. =head2 seek $z->seek($position, $whence); seek($z, $position, $whence); Provides a sub-set of the C functionality, with the restriction that it is only legal to seek forward in the output file/buffer. It is a fatal error to attempt to seek backward. Empty parts of the file/buffer will have NULL (0x00) bytes written to them. The C<$whence> parameter takes one the usual values, namely SEEK_SET, SEEK_CUR or SEEK_END. Returns 1 on success, 0 on failure. =head2 binmode Usage is $z->binmode binmode $z ; This is a noop provided for completeness. =head2 opened $z->opened() Returns true if the object currently refers to a opened file/buffer. =head2 autoflush my $prev = $z->autoflush() my $prev = $z->autoflush(EXPR) If the C<$z> object is associated with a file or a filehandle, this method returns the current autoflush setting for the underlying filehandle. If C is present, and is non-zero, it will enable flushing after every write/print operation. If C<$z> is associated with a buffer, this method has no effect and always returns C. B that the special variable C<$|> B be used to set or retrieve the autoflush setting. =head2 input_line_number $z->input_line_number() $z->input_line_number(EXPR) This method always returns C when compressing. =head2 fileno $z->fileno() fileno($z) If the C<$z> object is associated with a file or a filehandle, C will return the underlying file descriptor. Once the C method is called C will return C. If the C<$z> object is associated with a buffer, this method will return C. =head2 close $z->close() ; close $z ; Flushes any pending compressed data and then closes the output file/buffer. For most versions of Perl this method will be automatically invoked if the IO::Compress::Gzip object is destroyed (either explicitly or by the variable with the reference to the object going out of scope). The exceptions are Perl versions 5.005 through 5.00504 and 5.8.0. In these cases, the C method will be called automatically, but not until global destruction of all live objects when the program is terminating. Therefore, if you want your scripts to be able to run on all versions of Perl, you should call C explicitly and not rely on automatic closing. Returns true on success, otherwise 0. If the C option has been enabled when the IO::Compress::Gzip object was created, and the object is associated with a file, the underlying file will also be closed. =head2 newStream([OPTS]) Usage is $z->newStream( [OPTS] ) Closes the current compressed data stream and starts a new one. OPTS consists of any of the options that are available when creating the C<$z> object. See the L section for more details. =head2 deflateParams Usage is $z->deflateParams TODO =head1 Importing A number of symbolic constants are required by some methods in C. None are imported by default. =over 5 =item :all Imports C, C<$GzipError> and all symbolic constants that can be used by C. Same as doing this use IO::Compress::Gzip qw(gzip $GzipError :constants) ; =item :constants Import all symbolic constants. Same as doing this use IO::Compress::Gzip qw(:flush :level :strategy) ; =item :flush These symbolic constants are used by the C method. Z_NO_FLUSH Z_PARTIAL_FLUSH Z_SYNC_FLUSH Z_FULL_FLUSH Z_FINISH Z_BLOCK =item :level These symbolic constants are used by the C option in the constructor. Z_NO_COMPRESSION Z_BEST_SPEED Z_BEST_COMPRESSION Z_DEFAULT_COMPRESSION =item :strategy These symbolic constants are used by the C option in the constructor. Z_FILTERED Z_HUFFMAN_ONLY Z_RLE Z_FIXED Z_DEFAULT_STRATEGY =back =head1 EXAMPLES =head2 Apache::GZip Revisited See L =head2 Working with Net::FTP See L =head1 SUPPORT General feedback/questions/bug reports should be sent to L (preferred) or L. =head1 SEE ALSO L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L L L, L, L, L For RFC 1950, 1951 and 1952 see L, L and L The I compression library was written by Jean-loup Gailly C and Mark Adler C. The primary site for the I compression library is L. The primary site for the I compression library is L. The primary site for gzip is L. =head1 AUTHOR This module was written by Paul Marquess, C. =head1 MODIFICATION HISTORY See the Changes file. =head1 COPYRIGHT AND LICENSE Copyright (c) 2005-2023 Paul Marquess. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. FILE&7cb7291f/IO/Compress/Gzip/Constants.pm+package IO::Compress::Gzip::Constants; use strict ; use warnings; use bytes; require Exporter; our ($VERSION, @ISA, @EXPORT, %GZIP_OS_Names); our ($GZIP_FNAME_INVALID_CHAR_RE, $GZIP_FCOMMENT_INVALID_CHAR_RE); $VERSION = '2.204'; @ISA = qw(Exporter); @EXPORT= qw( GZIP_ID_SIZE GZIP_ID1 GZIP_ID2 GZIP_FLG_DEFAULT GZIP_FLG_FTEXT GZIP_FLG_FHCRC GZIP_FLG_FEXTRA GZIP_FLG_FNAME GZIP_FLG_FCOMMENT GZIP_FLG_RESERVED GZIP_CM_DEFLATED GZIP_MIN_HEADER_SIZE GZIP_TRAILER_SIZE GZIP_MTIME_DEFAULT GZIP_XFL_DEFAULT GZIP_FEXTRA_HEADER_SIZE GZIP_FEXTRA_MAX_SIZE GZIP_FEXTRA_SUBFIELD_HEADER_SIZE GZIP_FEXTRA_SUBFIELD_ID_SIZE GZIP_FEXTRA_SUBFIELD_LEN_SIZE GZIP_FEXTRA_SUBFIELD_MAX_SIZE $GZIP_FNAME_INVALID_CHAR_RE $GZIP_FCOMMENT_INVALID_CHAR_RE GZIP_FHCRC_SIZE GZIP_ISIZE_MAX GZIP_ISIZE_MOD_VALUE GZIP_NULL_BYTE GZIP_OS_DEFAULT %GZIP_OS_Names GZIP_MINIMUM_HEADER ); # Constant names derived from RFC 1952 use constant GZIP_ID_SIZE => 2 ; use constant GZIP_ID1 => 0x1F; use constant GZIP_ID2 => 0x8B; use constant GZIP_MIN_HEADER_SIZE => 10 ;# minimum gzip header size use constant GZIP_TRAILER_SIZE => 8 ; use constant GZIP_FLG_DEFAULT => 0x00 ; use constant GZIP_FLG_FTEXT => 0x01 ; use constant GZIP_FLG_FHCRC => 0x02 ; # called CONTINUATION in gzip use constant GZIP_FLG_FEXTRA => 0x04 ; use constant GZIP_FLG_FNAME => 0x08 ; use constant GZIP_FLG_FCOMMENT => 0x10 ; #use constant GZIP_FLG_ENCRYPTED => 0x20 ; # documented in gzip sources use constant GZIP_FLG_RESERVED => (0x20 | 0x40 | 0x80) ; use constant GZIP_XFL_DEFAULT => 0x00 ; use constant GZIP_MTIME_DEFAULT => 0x00 ; use constant GZIP_FEXTRA_HEADER_SIZE => 2 ; use constant GZIP_FEXTRA_MAX_SIZE => 0xFFFF ; use constant GZIP_FEXTRA_SUBFIELD_ID_SIZE => 2 ; use constant GZIP_FEXTRA_SUBFIELD_LEN_SIZE => 2 ; use constant GZIP_FEXTRA_SUBFIELD_HEADER_SIZE => GZIP_FEXTRA_SUBFIELD_ID_SIZE + GZIP_FEXTRA_SUBFIELD_LEN_SIZE; use constant GZIP_FEXTRA_SUBFIELD_MAX_SIZE => GZIP_FEXTRA_MAX_SIZE - GZIP_FEXTRA_SUBFIELD_HEADER_SIZE ; if (ord('A') == 193) { # EBCDIC $GZIP_FNAME_INVALID_CHAR_RE = '[\x00-\x3f\xff]'; $GZIP_FCOMMENT_INVALID_CHAR_RE = '[\x00-\x0a\x11-\x14\x16-\x3f\xff]'; } else { $GZIP_FNAME_INVALID_CHAR_RE = '[\x00-\x1F\x7F-\x9F]'; $GZIP_FCOMMENT_INVALID_CHAR_RE = '[\x00-\x09\x11-\x1F\x7F-\x9F]'; } use constant GZIP_FHCRC_SIZE => 2 ; # aka CONTINUATION in gzip use constant GZIP_CM_DEFLATED => 8 ; use constant GZIP_NULL_BYTE => "\x00"; use constant GZIP_ISIZE_MAX => 0xFFFFFFFF ; use constant GZIP_ISIZE_MOD_VALUE => GZIP_ISIZE_MAX + 1 ; # OS Names sourced from http://www.gzip.org/format.txt use constant GZIP_OS_DEFAULT=> 0xFF ; %GZIP_OS_Names = ( 0 => 'MS-DOS', 1 => 'Amiga', 2 => 'VMS', 3 => 'Unix', 4 => 'VM/CMS', 5 => 'Atari TOS', 6 => 'HPFS (OS/2, NT)', 7 => 'Macintosh', 8 => 'Z-System', 9 => 'CP/M', 10 => 'TOPS-20', 11 => 'NTFS (NT)', 12 => 'SMS QDOS', 13 => 'Acorn RISCOS', 14 => 'VFAT file system (Win95, NT)', 15 => 'MVS', 16 => 'BeOS', 17 => 'Tandem/NSK', 18 => 'THEOS', GZIP_OS_DEFAULT() => 'Unknown', ) ; use constant GZIP_MINIMUM_HEADER => pack("C4 V C C", GZIP_ID1, GZIP_ID2, GZIP_CM_DEFLATED, GZIP_FLG_DEFAULT, GZIP_MTIME_DEFAULT, GZIP_XFL_DEFAULT, GZIP_OS_DEFAULT) ; 1; FILE"b239a116/IO/Compress/RawDeflate.pmipackage IO::Compress::RawDeflate ; # create RFC1951 # use strict ; use warnings; use bytes; use IO::Compress::Base 2.204 ; use IO::Compress::Base::Common 2.204 qw(:Status :Parse); use IO::Compress::Adapter::Deflate 2.204 ; use Compress::Raw::Zlib 2.204 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY); require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %DEFLATE_CONSTANTS, %EXPORT_TAGS, $RawDeflateError); $VERSION = '2.204'; $RawDeflateError = ''; @ISA = qw(IO::Compress::Base Exporter); @EXPORT_OK = qw( $RawDeflateError rawdeflate ) ; push @EXPORT_OK, @IO::Compress::Adapter::Deflate::EXPORT_OK ; %EXPORT_TAGS = %IO::Compress::Adapter::Deflate::DEFLATE_CONSTANTS; { my %seen; foreach (keys %EXPORT_TAGS ) { push @{$EXPORT_TAGS{constants}}, grep { !$seen{$_}++ } @{ $EXPORT_TAGS{$_} } } $EXPORT_TAGS{all} = $EXPORT_TAGS{constants} ; } %DEFLATE_CONSTANTS = %EXPORT_TAGS; #push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ; Exporter::export_ok_tags('all'); sub new { my $class = shift ; my $obj = IO::Compress::Base::Common::createSelfTiedObject($class, \$RawDeflateError); return $obj->_create(undef, @_); } sub rawdeflate { my $obj = IO::Compress::Base::Common::createSelfTiedObject(undef, \$RawDeflateError); return $obj->_def(@_); } sub ckParams { my $self = shift ; my $got = shift; return 1 ; } sub mkComp { my $self = shift ; my $got = shift ; my ($obj, $errstr, $errno) = IO::Compress::Adapter::Deflate::mkCompObject( $got->getValue('crc32'), $got->getValue('adler32'), $got->getValue('level'), $got->getValue('strategy') ); return $self->saveErrorString(undef, $errstr, $errno) if ! defined $obj; return $obj; } sub mkHeader { my $self = shift ; return ''; } sub mkTrailer { my $self = shift ; return ''; } sub mkFinalTrailer { return ''; } #sub newHeader #{ # my $self = shift ; # return ''; #} sub getExtraParams { my $self = shift ; return getZlibParams(); } our %PARAMS = ( #'method' => [IO::Compress::Base::Common::Parse_unsigned, Z_DEFLATED], 'level' => [IO::Compress::Base::Common::Parse_signed, Z_DEFAULT_COMPRESSION], 'strategy' => [IO::Compress::Base::Common::Parse_signed, Z_DEFAULT_STRATEGY], 'crc32' => [IO::Compress::Base::Common::Parse_boolean, 0], 'adler32' => [IO::Compress::Base::Common::Parse_boolean, 0], 'merge' => [IO::Compress::Base::Common::Parse_boolean, 0], ); sub getZlibParams { return %PARAMS; } sub getInverseClass { no warnings 'once'; return ('IO::Uncompress::RawInflate', \$IO::Uncompress::RawInflate::RawInflateError); } sub getFileInfo { my $self = shift ; my $params = shift; my $file = shift ; } use Fcntl qw(SEEK_SET); sub createMerge { my $self = shift ; my $outValue = shift ; my $outType = shift ; my ($invClass, $error_ref) = $self->getInverseClass(); eval "require $invClass" or die "aaaahhhh" ; my $inf = $invClass->new( $outValue, Transparent => 0, #Strict => 1, AutoClose => 0, Scan => 1) or return $self->saveErrorString(undef, "Cannot create InflateScan object: $$error_ref" ) ; my $end_offset = 0; $inf->scan() or return $self->saveErrorString(undef, "Error Scanning: $$error_ref", $inf->errorNo) ; $inf->zap($end_offset) or return $self->saveErrorString(undef, "Error Zapping: $$error_ref", $inf->errorNo) ; my $def = *$self->{Compress} = $inf->createDeflate(); *$self->{Header} = *$inf->{Info}{Header}; *$self->{UnCompSize} = *$inf->{UnCompSize}->clone(); *$self->{CompSize} = *$inf->{CompSize}->clone(); # TODO -- fix this #*$self->{CompSize} = U64->new(0, *$self->{UnCompSize_32bit}); if ( $outType eq 'buffer') { substr( ${ *$self->{Buffer} }, $end_offset) = '' } elsif ($outType eq 'handle' || $outType eq 'filename') { *$self->{FH} = *$inf->{FH} ; delete *$inf->{FH}; *$self->{FH}->flush() ; *$self->{Handle} = 1 if $outType eq 'handle'; #seek(*$self->{FH}, $end_offset, SEEK_SET) *$self->{FH}->seek($end_offset, SEEK_SET) or return $self->saveErrorString(undef, $!, $!) ; } return $def ; } #### zlib specific methods sub deflateParams { my $self = shift ; my $level = shift ; my $strategy = shift ; my $status = *$self->{Compress}->deflateParams(Level => $level, Strategy => $strategy) ; return $self->saveErrorString(0, *$self->{Compress}{Error}, *$self->{Compress}{ErrorNo}) if $status == STATUS_ERROR; return 1; } 1; __END__ =head1 NAME IO::Compress::RawDeflate - Write RFC 1951 files/buffers =head1 SYNOPSIS use IO::Compress::RawDeflate qw(rawdeflate $RawDeflateError) ; my $status = rawdeflate $input => $output [,OPTS] or die "rawdeflate failed: $RawDeflateError\n"; my $z = IO::Compress::RawDeflate->new( $output [,OPTS] ) or die "rawdeflate failed: $RawDeflateError\n"; $z->print($string); $z->printf($format, $string); $z->write($string); $z->syswrite($string [, $length, $offset]); $z->flush(); $z->tell(); $z->eof(); $z->seek($position, $whence); $z->binmode(); $z->fileno(); $z->opened(); $z->autoflush(); $z->input_line_number(); $z->newStream( [OPTS] ); $z->deflateParams(); $z->close() ; $RawDeflateError ; # IO::File mode print $z $string; printf $z $format, $string; tell $z eof $z seek $z, $position, $whence binmode $z fileno $z close $z ; =head1 DESCRIPTION This module provides a Perl interface that allows writing compressed data to files or buffer as defined in RFC 1951. Note that RFC 1951 data is not a good choice of compression format to use in isolation, especially if you want to auto-detect it. For reading RFC 1951 files/buffers, see the companion module L. =head1 Functional Interface A top-level function, C, is provided to carry out "one-shot" compression between buffers and/or files. For finer control over the compression process, see the L section. use IO::Compress::RawDeflate qw(rawdeflate $RawDeflateError) ; rawdeflate $input_filename_or_reference => $output_filename_or_reference [,OPTS] or die "rawdeflate failed: $RawDeflateError\n"; The functional interface needs Perl5.005 or better. =head2 rawdeflate $input_filename_or_reference => $output_filename_or_reference [, OPTS] C expects at least two parameters, C<$input_filename_or_reference> and C<$output_filename_or_reference> and zero or more optional parameters (see L) =head3 The C<$input_filename_or_reference> parameter The parameter, C<$input_filename_or_reference>, is used to define the source of the uncompressed data. It can take one of the following forms: =over 5 =item A filename If the C<$input_filename_or_reference> parameter is a simple scalar, it is assumed to be a filename. This file will be opened for reading and the input data will be read from it. =item A filehandle If the C<$input_filename_or_reference> parameter is a filehandle, the input data will be read from it. The string '-' can be used as an alias for standard input. =item A scalar reference If C<$input_filename_or_reference> is a scalar reference, the input data will be read from C<$$input_filename_or_reference>. =item An array reference If C<$input_filename_or_reference> is an array reference, each element in the array must be a filename. The input data will be read from each file in turn. The complete array will be walked to ensure that it only contains valid filenames before any data is compressed. =item An Input FileGlob string If C<$input_filename_or_reference> is a string that is delimited by the characters "<" and ">" C will assume that it is an I. The input is the list of files that match the fileglob. See L for more details. =back If the C<$input_filename_or_reference> parameter is any other type, C will be returned. =head3 The C<$output_filename_or_reference> parameter The parameter C<$output_filename_or_reference> is used to control the destination of the compressed data. This parameter can take one of these forms. =over 5 =item A filename If the C<$output_filename_or_reference> parameter is a simple scalar, it is assumed to be a filename. This file will be opened for writing and the compressed data will be written to it. =item A filehandle If the C<$output_filename_or_reference> parameter is a filehandle, the compressed data will be written to it. The string '-' can be used as an alias for standard output. =item A scalar reference If C<$output_filename_or_reference> is a scalar reference, the compressed data will be stored in C<$$output_filename_or_reference>. =item An Array Reference If C<$output_filename_or_reference> is an array reference, the compressed data will be pushed onto the array. =item An Output FileGlob If C<$output_filename_or_reference> is a string that is delimited by the characters "<" and ">" C will assume that it is an I. The output is the list of files that match the fileglob. When C<$output_filename_or_reference> is an fileglob string, C<$input_filename_or_reference> must also be a fileglob string. Anything else is an error. See L for more details. =back If the C<$output_filename_or_reference> parameter is any other type, C will be returned. =head2 Notes When C<$input_filename_or_reference> maps to multiple files/buffers and C<$output_filename_or_reference> is a single file/buffer the input files/buffers will be stored in C<$output_filename_or_reference> as a concatenated series of compressed data streams. =head2 Optional Parameters The optional parameters for the one-shot function C are (for the most part) identical to those used with the OO interface defined in the L section. The exceptions are listed below =over 5 =item C<< AutoClose => 0|1 >> This option applies to any input or output data streams to C that are filehandles. If C is specified, and the value is true, it will result in all input and/or output filehandles being closed once C has completed. This parameter defaults to 0. =item C<< BinModeIn => 0|1 >> This option is now a no-op. All files will be read in binmode. =item C<< Append => 0|1 >> The behaviour of this option is dependent on the type of output data stream. =over 5 =item * A Buffer If C is enabled, all compressed data will be append to the end of the output buffer. Otherwise the output buffer will be cleared before any compressed data is written to it. =item * A Filename If C is enabled, the file will be opened in append mode. Otherwise the contents of the file, if any, will be truncated before any compressed data is written to it. =item * A Filehandle If C is enabled, the filehandle will be positioned to the end of the file via a call to C before any compressed data is written to it. Otherwise the file pointer will not be moved. =back When C is specified, and set to true, it will I all compressed data to the output data stream. So when the output is a filehandle it will carry out a seek to the eof before writing any compressed data. If the output is a filename, it will be opened for appending. If the output is a buffer, all compressed data will be appended to the existing buffer. Conversely when C is not specified, or it is present and is set to false, it will operate as follows. When the output is a filename, it will truncate the contents of the file before writing any compressed data. If the output is a filehandle its position will not be changed. If the output is a buffer, it will be wiped before any compressed data is output. Defaults to 0. =back =head2 Examples Here are a few example that show the capabilities of the module. =head3 Streaming This very simple command line example demonstrates the streaming capabilities of the module. The code reads data from STDIN, compresses it, and writes the compressed data to STDOUT. $ echo hello world | perl -MIO::Compress::RawDeflate=rawdeflate -e 'rawdeflate \*STDIN => \*STDOUT' >output.1951 The special filename "-" can be used as a standin for both C<\*STDIN> and C<\*STDOUT>, so the above can be rewritten as $ echo hello world | perl -MIO::Compress::RawDeflate=rawdeflate -e 'rawdeflate "-" => "-"' >output.1951 =head3 Compressing a file from the filesystem To read the contents of the file C and write the compressed data to the file C. use strict ; use warnings ; use IO::Compress::RawDeflate qw(rawdeflate $RawDeflateError) ; my $input = "file1.txt"; rawdeflate $input => "$input.1951" or die "rawdeflate failed: $RawDeflateError\n"; =head3 Reading from a Filehandle and writing to an in-memory buffer To read from an existing Perl filehandle, C<$input>, and write the compressed data to a buffer, C<$buffer>. use strict ; use warnings ; use IO::Compress::RawDeflate qw(rawdeflate $RawDeflateError) ; use IO::File ; my $input = IO::File->new( " \$buffer or die "rawdeflate failed: $RawDeflateError\n"; =head3 Compressing multiple files To compress all files in the directory "/my/home" that match "*.txt" and store the compressed data in the same directory use strict ; use warnings ; use IO::Compress::RawDeflate qw(rawdeflate $RawDeflateError) ; rawdeflate '' => '<*.1951>' or die "rawdeflate failed: $RawDeflateError\n"; and if you want to compress each file one at a time, this will do the trick use strict ; use warnings ; use IO::Compress::RawDeflate qw(rawdeflate $RawDeflateError) ; for my $input ( glob "/my/home/*.txt" ) { my $output = "$input.1951" ; rawdeflate $input => $output or die "Error compressing '$input': $RawDeflateError\n"; } =head1 OO Interface =head2 Constructor The format of the constructor for C is shown below my $z = IO::Compress::RawDeflate->new( $output [,OPTS] ) or die "IO::Compress::RawDeflate failed: $RawDeflateError\n"; It returns an C object on success and undef on failure. The variable C<$RawDeflateError> will contain an error message on failure. If you are running Perl 5.005 or better the object, C<$z>, returned from IO::Compress::RawDeflate can be used exactly like an L filehandle. This means that all normal output file operations can be carried out with C<$z>. For example, to write to a compressed file/buffer you can use either of these forms $z->print("hello world\n"); print $z "hello world\n"; The mandatory parameter C<$output> is used to control the destination of the compressed data. This parameter can take one of these forms. =over 5 =item A filename If the C<$output> parameter is a simple scalar, it is assumed to be a filename. This file will be opened for writing and the compressed data will be written to it. =item A filehandle If the C<$output> parameter is a filehandle, the compressed data will be written to it. The string '-' can be used as an alias for standard output. =item A scalar reference If C<$output> is a scalar reference, the compressed data will be stored in C<$$output>. =back If the C<$output> parameter is any other type, C::new will return undef. =head2 Constructor Options C is any combination of zero or more the following options: =over 5 =item C<< AutoClose => 0|1 >> This option is only valid when the C<$output> parameter is a filehandle. If specified, and the value is true, it will result in the C<$output> being closed once either the C method is called or the C object is destroyed. This parameter defaults to 0. =item C<< Append => 0|1 >> Opens C<$output> in append mode. The behaviour of this option is dependent on the type of C<$output>. =over 5 =item * A Buffer If C<$output> is a buffer and C is enabled, all compressed data will be append to the end of C<$output>. Otherwise C<$output> will be cleared before any data is written to it. =item * A Filename If C<$output> is a filename and C is enabled, the file will be opened in append mode. Otherwise the contents of the file, if any, will be truncated before any compressed data is written to it. =item * A Filehandle If C<$output> is a filehandle, the file pointer will be positioned to the end of the file via a call to C before any compressed data is written to it. Otherwise the file pointer will not be moved. =back This parameter defaults to 0. =item C<< Merge => 0|1 >> This option is used to compress input data and append it to an existing compressed data stream in C<$output>. The end result is a single compressed data stream stored in C<$output>. It is a fatal error to attempt to use this option when C<$output> is not an RFC 1951 data stream. There are a number of other limitations with the C option: =over 5 =item 1 This module needs to have been built with zlib 1.2.1 or better to work. A fatal error will be thrown if C is used with an older version of zlib. =item 2 If C<$output> is a file or a filehandle, it must be seekable. =back This parameter defaults to 0. =item -Level Defines the compression level used by zlib. The value should either be a number between 0 and 9 (0 means no compression and 9 is maximum compression), or one of the symbolic constants defined below. Z_NO_COMPRESSION Z_BEST_SPEED Z_BEST_COMPRESSION Z_DEFAULT_COMPRESSION The default is Z_DEFAULT_COMPRESSION. Note, these constants are not imported by C by default. use IO::Compress::RawDeflate qw(:strategy); use IO::Compress::RawDeflate qw(:constants); use IO::Compress::RawDeflate qw(:all); =item -Strategy Defines the strategy used to tune the compression. Use one of the symbolic constants defined below. Z_FILTERED Z_HUFFMAN_ONLY Z_RLE Z_FIXED Z_DEFAULT_STRATEGY The default is Z_DEFAULT_STRATEGY. =item C<< Strict => 0|1 >> This is a placeholder option. =back =head2 Examples TODO =head1 Methods =head2 print Usage is $z->print($data) print $z $data Compresses and outputs the contents of the C<$data> parameter. This has the same behaviour as the C built-in. Returns true if successful. =head2 printf Usage is $z->printf($format, $data) printf $z $format, $data Compresses and outputs the contents of the C<$data> parameter. Returns true if successful. =head2 syswrite Usage is $z->syswrite $data $z->syswrite $data, $length $z->syswrite $data, $length, $offset Compresses and outputs the contents of the C<$data> parameter. Returns the number of uncompressed bytes written, or C if unsuccessful. =head2 write Usage is $z->write $data $z->write $data, $length $z->write $data, $length, $offset Compresses and outputs the contents of the C<$data> parameter. Returns the number of uncompressed bytes written, or C if unsuccessful. =head2 flush Usage is $z->flush; $z->flush($flush_type); Flushes any pending compressed data to the output file/buffer. This method takes an optional parameter, C<$flush_type>, that controls how the flushing will be carried out. By default the C<$flush_type> used is C. Other valid values for C<$flush_type> are C, C, C and C. It is strongly recommended that you only set the C parameter if you fully understand the implications of what it does - overuse of C can seriously degrade the level of compression achieved. See the C documentation for details. Returns true on success. =head2 tell Usage is $z->tell() tell $z Returns the uncompressed file offset. =head2 eof Usage is $z->eof(); eof($z); Returns true if the C method has been called. =head2 seek $z->seek($position, $whence); seek($z, $position, $whence); Provides a sub-set of the C functionality, with the restriction that it is only legal to seek forward in the output file/buffer. It is a fatal error to attempt to seek backward. Empty parts of the file/buffer will have NULL (0x00) bytes written to them. The C<$whence> parameter takes one the usual values, namely SEEK_SET, SEEK_CUR or SEEK_END. Returns 1 on success, 0 on failure. =head2 binmode Usage is $z->binmode binmode $z ; This is a noop provided for completeness. =head2 opened $z->opened() Returns true if the object currently refers to a opened file/buffer. =head2 autoflush my $prev = $z->autoflush() my $prev = $z->autoflush(EXPR) If the C<$z> object is associated with a file or a filehandle, this method returns the current autoflush setting for the underlying filehandle. If C is present, and is non-zero, it will enable flushing after every write/print operation. If C<$z> is associated with a buffer, this method has no effect and always returns C. B that the special variable C<$|> B be used to set or retrieve the autoflush setting. =head2 input_line_number $z->input_line_number() $z->input_line_number(EXPR) This method always returns C when compressing. =head2 fileno $z->fileno() fileno($z) If the C<$z> object is associated with a file or a filehandle, C will return the underlying file descriptor. Once the C method is called C will return C. If the C<$z> object is associated with a buffer, this method will return C. =head2 close $z->close() ; close $z ; Flushes any pending compressed data and then closes the output file/buffer. For most versions of Perl this method will be automatically invoked if the IO::Compress::RawDeflate object is destroyed (either explicitly or by the variable with the reference to the object going out of scope). The exceptions are Perl versions 5.005 through 5.00504 and 5.8.0. In these cases, the C method will be called automatically, but not until global destruction of all live objects when the program is terminating. Therefore, if you want your scripts to be able to run on all versions of Perl, you should call C explicitly and not rely on automatic closing. Returns true on success, otherwise 0. If the C option has been enabled when the IO::Compress::RawDeflate object was created, and the object is associated with a file, the underlying file will also be closed. =head2 newStream([OPTS]) Usage is $z->newStream( [OPTS] ) Closes the current compressed data stream and starts a new one. OPTS consists of any of the options that are available when creating the C<$z> object. See the L section for more details. =head2 deflateParams Usage is $z->deflateParams TODO =head1 Importing A number of symbolic constants are required by some methods in C. None are imported by default. =over 5 =item :all Imports C, C<$RawDeflateError> and all symbolic constants that can be used by C. Same as doing this use IO::Compress::RawDeflate qw(rawdeflate $RawDeflateError :constants) ; =item :constants Import all symbolic constants. Same as doing this use IO::Compress::RawDeflate qw(:flush :level :strategy) ; =item :flush These symbolic constants are used by the C method. Z_NO_FLUSH Z_PARTIAL_FLUSH Z_SYNC_FLUSH Z_FULL_FLUSH Z_FINISH Z_BLOCK =item :level These symbolic constants are used by the C option in the constructor. Z_NO_COMPRESSION Z_BEST_SPEED Z_BEST_COMPRESSION Z_DEFAULT_COMPRESSION =item :strategy These symbolic constants are used by the C option in the constructor. Z_FILTERED Z_HUFFMAN_ONLY Z_RLE Z_FIXED Z_DEFAULT_STRATEGY =back =head1 EXAMPLES =head2 Apache::GZip Revisited See L =head2 Working with Net::FTP See L =head1 SUPPORT General feedback/questions/bug reports should be sent to L (preferred) or L. =head1 SEE ALSO L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L L L, L, L, L For RFC 1950, 1951 and 1952 see L, L and L The I compression library was written by Jean-loup Gailly C and Mark Adler C. The primary site for the I compression library is L. The primary site for the I compression library is L. The primary site for gzip is L. =head1 AUTHOR This module was written by Paul Marquess, C. =head1 MODIFICATION HISTORY See the Changes file. =head1 COPYRIGHT AND LICENSE Copyright (c) 2005-2023 Paul Marquess. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. FILE"8437bc4c/IO/Compress/Zlib/Extra.pmpackage IO::Compress::Zlib::Extra; require 5.006 ; use strict ; use warnings; use bytes; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS); $VERSION = '2.204'; use IO::Compress::Gzip::Constants 2.204 ; sub ExtraFieldError { return $_[0]; return "Error with ExtraField Parameter: $_[0]" ; } sub validateExtraFieldPair { my $pair = shift ; my $strict = shift; my $gzipMode = shift ; return ExtraFieldError("Not an array ref") unless ref $pair && ref $pair eq 'ARRAY'; return ExtraFieldError("SubField must have two parts") unless @$pair == 2 ; return ExtraFieldError("SubField ID is a reference") if ref $pair->[0] ; return ExtraFieldError("SubField Data is a reference") if ref $pair->[1] ; # ID is exactly two chars return ExtraFieldError("SubField ID not two chars long") unless length $pair->[0] == GZIP_FEXTRA_SUBFIELD_ID_SIZE ; # Check that the 2nd byte of the ID isn't 0 return ExtraFieldError("SubField ID 2nd byte is 0x00") if $strict && $gzipMode && substr($pair->[0], 1, 1) eq "\x00" ; return ExtraFieldError("SubField Data too long") if length $pair->[1] > GZIP_FEXTRA_SUBFIELD_MAX_SIZE ; return undef ; } sub parseRawExtra { my $data = shift ; my $extraRef = shift; my $strict = shift; my $gzipMode = shift ; #my $lax = shift ; #return undef # if $lax ; my $XLEN = length $data ; return ExtraFieldError("Too Large") if $XLEN > GZIP_FEXTRA_MAX_SIZE; my $offset = 0 ; while ($offset < $XLEN) { return ExtraFieldError("Truncated in FEXTRA Body Section") if $offset + GZIP_FEXTRA_SUBFIELD_HEADER_SIZE > $XLEN ; my $id = substr($data, $offset, GZIP_FEXTRA_SUBFIELD_ID_SIZE); $offset += GZIP_FEXTRA_SUBFIELD_ID_SIZE; my $subLen = unpack("v", substr($data, $offset, GZIP_FEXTRA_SUBFIELD_LEN_SIZE)); $offset += GZIP_FEXTRA_SUBFIELD_LEN_SIZE ; return ExtraFieldError("Truncated in FEXTRA Body Section") if $offset + $subLen > $XLEN ; my $bad = validateExtraFieldPair( [$id, substr($data, $offset, $subLen)], $strict, $gzipMode ); return $bad if $bad ; push @$extraRef, [$id => substr($data, $offset, $subLen)] if defined $extraRef;; $offset += $subLen ; } return undef ; } sub findID { my $id_want = shift ; my $data = shift; my $XLEN = length $data ; my $offset = 0 ; while ($offset < $XLEN) { return undef if $offset + GZIP_FEXTRA_SUBFIELD_HEADER_SIZE > $XLEN ; my $id = substr($data, $offset, GZIP_FEXTRA_SUBFIELD_ID_SIZE); $offset += GZIP_FEXTRA_SUBFIELD_ID_SIZE; my $subLen = unpack("v", substr($data, $offset, GZIP_FEXTRA_SUBFIELD_LEN_SIZE)); $offset += GZIP_FEXTRA_SUBFIELD_LEN_SIZE ; return undef if $offset + $subLen > $XLEN ; return substr($data, $offset, $subLen) if $id eq $id_want ; $offset += $subLen ; } return undef ; } sub mkSubField { my $id = shift ; my $data = shift ; return $id . pack("v", length $data) . $data ; } sub parseExtraField { my $dataRef = $_[0]; my $strict = $_[1]; my $gzipMode = $_[2]; #my $lax = @_ == 2 ? $_[1] : 1; # ExtraField can be any of # # -ExtraField => $data # # -ExtraField => [$id1, $data1, # $id2, $data2] # ... # ] # # -ExtraField => [ [$id1 => $data1], # [$id2 => $data2], # ... # ] # # -ExtraField => { $id1 => $data1, # $id2 => $data2, # ... # } if ( ! ref $dataRef ) { return undef if ! $strict; return parseRawExtra($dataRef, undef, 1, $gzipMode); } my $data = $dataRef; my $out = '' ; if (ref $data eq 'ARRAY') { if (ref $data->[0]) { foreach my $pair (@$data) { return ExtraFieldError("Not list of lists") unless ref $pair eq 'ARRAY' ; my $bad = validateExtraFieldPair($pair, $strict, $gzipMode) ; return $bad if $bad ; $out .= mkSubField(@$pair); } } else { return ExtraFieldError("Not even number of elements") unless @$data % 2 == 0; for (my $ix = 0; $ix <= @$data -1 ; $ix += 2) { my $bad = validateExtraFieldPair([$data->[$ix], $data->[$ix+1]], $strict, $gzipMode) ; return $bad if $bad ; $out .= mkSubField($data->[$ix], $data->[$ix+1]); } } } elsif (ref $data eq 'HASH') { while (my ($id, $info) = each %$data) { my $bad = validateExtraFieldPair([$id, $info], $strict, $gzipMode); return $bad if $bad ; $out .= mkSubField($id, $info); } } else { return ExtraFieldError("Not a scalar, array ref or hash ref") ; } return ExtraFieldError("Too Large") if length $out > GZIP_FEXTRA_MAX_SIZE; $_[0] = $out ; return undef; } 1; __END__ FILE)c469705a/IO/Uncompress/Adapter/Inflate.pm package IO::Uncompress::Adapter::Inflate; use strict; use warnings; use bytes; use IO::Compress::Base::Common 2.204 qw(:Status); use Compress::Raw::Zlib 2.204 qw(Z_OK Z_BUF_ERROR Z_STREAM_END Z_FINISH MAX_WBITS); our ($VERSION); $VERSION = '2.204'; sub mkUncompObject { my $crc32 = shift || 1; my $adler32 = shift || 1; my $scan = shift || 0; my $inflate ; my $status ; if ($scan) { ($inflate, $status) = Compress::Raw::Zlib::InflateScan->new( #LimitOutput => 1, CRC32 => $crc32, ADLER32 => $adler32, WindowBits => - MAX_WBITS ); } else { ($inflate, $status) = Compress::Raw::Zlib::Inflate->new( AppendOutput => 1, LimitOutput => 1, CRC32 => $crc32, ADLER32 => $adler32, WindowBits => - MAX_WBITS ); } return (undef, "Could not create Inflation object: $status", $status) if $status != Z_OK ; return bless {'Inf' => $inflate, 'CompSize' => 0, 'UnCompSize' => 0, 'Error' => '', 'ConsumesInput' => 1, } ; } sub uncompr { my $self = shift ; my $from = shift ; my $to = shift ; my $eof = shift ; my $inf = $self->{Inf}; my $status = $inf->inflate($from, $to, $eof); $self->{ErrorNo} = $status; if ($status != Z_OK && $status != Z_STREAM_END && $status != Z_BUF_ERROR) { $self->{Error} = "Inflation Error: $status"; return STATUS_ERROR; } return STATUS_OK if $status == Z_BUF_ERROR ; # ??? return STATUS_OK if $status == Z_OK ; return STATUS_ENDSTREAM if $status == Z_STREAM_END ; return STATUS_ERROR ; } sub reset { my $self = shift ; $self->{Inf}->inflateReset(); return STATUS_OK ; } #sub count #{ # my $self = shift ; # $self->{Inf}->inflateCount(); #} sub crc32 { my $self = shift ; $self->{Inf}->crc32(); } sub compressedBytes { my $self = shift ; $self->{Inf}->compressedBytes(); } sub uncompressedBytes { my $self = shift ; $self->{Inf}->uncompressedBytes(); } sub adler32 { my $self = shift ; $self->{Inf}->adler32(); } sub sync { my $self = shift ; ( $self->{Inf}->inflateSync(@_) == Z_OK) ? STATUS_OK : STATUS_ERROR ; } sub getLastBlockOffset { my $self = shift ; $self->{Inf}->getLastBlockOffset(); } sub getEndOffset { my $self = shift ; $self->{Inf}->getEndOffset(); } sub resetLastBlockByte { my $self = shift ; $self->{Inf}->resetLastBlockByte(@_); } sub createDeflateStream { my $self = shift ; my $deflate = $self->{Inf}->createDeflateStream(@_); return bless {'Def' => $deflate, 'CompSize' => 0, 'UnCompSize' => 0, 'Error' => '', }, 'IO::Compress::Adapter::Deflate'; } 1; __END__ FILE00f4c5d7/IO/Uncompress/Base.pm? package IO::Uncompress::Base ; use strict ; use warnings; use bytes; our (@ISA, $VERSION, @EXPORT_OK, %EXPORT_TAGS); @ISA = qw(IO::File Exporter); $VERSION = '2.204'; use constant G_EOF => 0 ; use constant G_ERR => -1 ; use IO::Compress::Base::Common 2.204 ; use IO::File ; use Symbol; use Scalar::Util (); use List::Util (); use Carp ; %EXPORT_TAGS = ( ); push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ; sub smartRead { my $self = $_[0]; my $out = $_[1]; my $size = $_[2]; $$out = "" ; my $offset = 0 ; my $status = 1; if (defined *$self->{InputLength}) { return 0 if *$self->{InputLengthRemaining} <= 0 ; $size = List::Util::min($size, *$self->{InputLengthRemaining}); } if ( length *$self->{Prime} ) { $$out = substr(*$self->{Prime}, 0, $size) ; substr(*$self->{Prime}, 0, $size) = '' ; if (length $$out == $size) { *$self->{InputLengthRemaining} -= length $$out if defined *$self->{InputLength}; return length $$out ; } $offset = length $$out ; } my $get_size = $size - $offset ; if (defined *$self->{FH}) { if ($offset) { # Not using this # # *$self->{FH}->read($$out, $get_size, $offset); # # because the filehandle may not support the offset parameter # An example is Net::FTP my $tmp = ''; $status = *$self->{FH}->read($tmp, $get_size) ; substr($$out, $offset) = $tmp if defined $status && $status > 0 ; } else { $status = *$self->{FH}->read($$out, $get_size) } } elsif (defined *$self->{InputEvent}) { my $got = 1 ; while (length $$out < $size) { last if ($got = *$self->{InputEvent}->($$out, $get_size)) <= 0; } if (length $$out > $size ) { *$self->{Prime} = substr($$out, $size, length($$out)); substr($$out, $size, length($$out)) = ''; } *$self->{EventEof} = 1 if $got <= 0 ; } else { no warnings 'uninitialized'; my $buf = *$self->{Buffer} ; $$buf = '' unless defined $$buf ; substr($$out, $offset) = substr($$buf, *$self->{BufferOffset}, $get_size); if (*$self->{ConsumeInput}) { substr($$buf, 0, $get_size) = '' } else { *$self->{BufferOffset} += length($$out) - $offset } } *$self->{InputLengthRemaining} -= length($$out) #- $offset if defined *$self->{InputLength}; if (! defined $status) { $self->saveStatus($!) ; return STATUS_ERROR; } $self->saveStatus(length $$out < 0 ? STATUS_ERROR : STATUS_OK) ; return length $$out; } sub pushBack { my $self = shift ; return if ! defined $_[0] || length $_[0] == 0 ; if (defined *$self->{FH} || defined *$self->{InputEvent} ) { *$self->{Prime} = $_[0] . *$self->{Prime} ; *$self->{InputLengthRemaining} += length($_[0]); } else { my $len = length $_[0]; if($len > *$self->{BufferOffset}) { *$self->{Prime} = substr($_[0], 0, $len - *$self->{BufferOffset}) . *$self->{Prime} ; *$self->{InputLengthRemaining} = *$self->{InputLength}; *$self->{BufferOffset} = 0 } else { *$self->{InputLengthRemaining} += length($_[0]); *$self->{BufferOffset} -= length($_[0]) ; } } } sub smartSeek { my $self = shift ; my $offset = shift ; my $truncate = shift; my $position = shift || SEEK_SET; # TODO -- need to take prime into account *$self->{Prime} = ''; if (defined *$self->{FH}) { *$self->{FH}->seek($offset, $position) } else { if ($position == SEEK_END) { *$self->{BufferOffset} = length(${ *$self->{Buffer} }) + $offset ; } elsif ($position == SEEK_CUR) { *$self->{BufferOffset} += $offset ; } else { *$self->{BufferOffset} = $offset ; } substr(${ *$self->{Buffer} }, *$self->{BufferOffset}) = '' if $truncate; return 1; } } sub smartTell { my $self = shift ; if (defined *$self->{FH}) { return *$self->{FH}->tell() } else { return *$self->{BufferOffset} } } sub smartWrite { my $self = shift ; my $out_data = shift ; if (defined *$self->{FH}) { # flush needed for 5.8.0 defined *$self->{FH}->write($out_data, length $out_data) && defined *$self->{FH}->flush() ; } else { my $buf = *$self->{Buffer} ; substr($$buf, *$self->{BufferOffset}, length $out_data) = $out_data ; *$self->{BufferOffset} += length($out_data) ; return 1; } } sub smartReadExact { return $_[0]->smartRead($_[1], $_[2]) == $_[2]; } sub smartEof { my ($self) = $_[0]; local $.; return 0 if length *$self->{Prime} || *$self->{PushMode}; if (defined *$self->{FH}) { # Could use # # *$self->{FH}->eof() # # here, but this can cause trouble if # the filehandle is itself a tied handle, but it uses sysread. # Then we get into mixing buffered & non-buffered IO, # which will cause trouble my $info = $self->getErrInfo(); my $buffer = ''; my $status = $self->smartRead(\$buffer, 1); $self->pushBack($buffer) if length $buffer; $self->setErrInfo($info); return $status == 0 ; } elsif (defined *$self->{InputEvent}) { *$self->{EventEof} } else { *$self->{BufferOffset} >= length(${ *$self->{Buffer} }) } } sub clearError { my $self = shift ; *$self->{ErrorNo} = 0 ; ${ *$self->{Error} } = '' ; } sub getErrInfo { my $self = shift ; return [ *$self->{ErrorNo}, ${ *$self->{Error} } ] ; } sub setErrInfo { my $self = shift ; my $ref = shift; *$self->{ErrorNo} = $ref->[0] ; ${ *$self->{Error} } = $ref->[1] ; } sub saveStatus { my $self = shift ; my $errno = shift() + 0 ; *$self->{ErrorNo} = $errno; ${ *$self->{Error} } = '' ; return *$self->{ErrorNo} ; } sub saveErrorString { my $self = shift ; my $retval = shift ; ${ *$self->{Error} } = shift ; *$self->{ErrorNo} = @_ ? shift() + 0 : STATUS_ERROR ; return $retval; } sub croakError { my $self = shift ; $self->saveErrorString(0, $_[0]); croak $_[0]; } sub closeError { my $self = shift ; my $retval = shift ; my $errno = *$self->{ErrorNo}; my $error = ${ *$self->{Error} }; $self->close(); *$self->{ErrorNo} = $errno ; ${ *$self->{Error} } = $error ; return $retval; } sub error { my $self = shift ; return ${ *$self->{Error} } ; } sub errorNo { my $self = shift ; return *$self->{ErrorNo}; } sub HeaderError { my ($self) = shift; return $self->saveErrorString(undef, "Header Error: $_[0]", STATUS_ERROR); } sub TrailerError { my ($self) = shift; return $self->saveErrorString(G_ERR, "Trailer Error: $_[0]", STATUS_ERROR); } sub TruncatedHeader { my ($self) = shift; return $self->HeaderError("Truncated in $_[0] Section"); } sub TruncatedTrailer { my ($self) = shift; return $self->TrailerError("Truncated in $_[0] Section"); } sub postCheckParams { return 1; } sub checkParams { my $self = shift ; my $class = shift ; my $got = shift || IO::Compress::Base::Parameters::new(); my $Valid = { 'blocksize' => [IO::Compress::Base::Common::Parse_unsigned, 16 * 1024], 'autoclose' => [IO::Compress::Base::Common::Parse_boolean, 0], 'strict' => [IO::Compress::Base::Common::Parse_boolean, 0], 'append' => [IO::Compress::Base::Common::Parse_boolean, 0], 'prime' => [IO::Compress::Base::Common::Parse_any, undef], 'multistream' => [IO::Compress::Base::Common::Parse_boolean, 0], 'transparent' => [IO::Compress::Base::Common::Parse_any, 1], 'scan' => [IO::Compress::Base::Common::Parse_boolean, 0], 'inputlength' => [IO::Compress::Base::Common::Parse_unsigned, undef], 'binmodeout' => [IO::Compress::Base::Common::Parse_boolean, 0], #'decode' => [IO::Compress::Base::Common::Parse_any, undef], #'consumeinput' => [IO::Compress::Base::Common::Parse_boolean, 0], $self->getExtraParams(), #'Todo - Revert to ordinary file on end Z_STREAM_END'=> 0, # ContinueAfterEof } ; $Valid->{trailingdata} = [IO::Compress::Base::Common::Parse_writable_scalar, undef] if *$self->{OneShot} ; $got->parse($Valid, @_ ) or $self->croakError("${class}: " . $got->getError()) ; $self->postCheckParams($got) or $self->croakError("${class}: " . $self->error()) ; return $got; } sub _create { my $obj = shift; my $got = shift; my $append_mode = shift ; my $class = ref $obj; $obj->croakError("$class: Missing Input parameter") if ! @_ && ! $got ; my $inValue = shift ; *$obj->{OneShot} = 0 ; if (! $got) { $got = $obj->checkParams($class, undef, @_) or return undef ; } my $inType = whatIsInput($inValue, 1); $obj->ckInputParam($class, $inValue, 1) or return undef ; *$obj->{InNew} = 1; $obj->ckParams($got) or $obj->croakError("${class}: " . *$obj->{Error}); if ($inType eq 'buffer' || $inType eq 'code') { *$obj->{Buffer} = $inValue ; *$obj->{InputEvent} = $inValue if $inType eq 'code' ; } else { if ($inType eq 'handle') { *$obj->{FH} = $inValue ; *$obj->{Handle} = 1 ; # Need to rewind for Scan *$obj->{FH}->seek(0, SEEK_SET) if $got->getValue('scan'); } else { no warnings ; my $mode = '<'; $mode = '+<' if $got->getValue('scan'); *$obj->{StdIO} = ($inValue eq '-'); *$obj->{FH} = IO::File->new( "$mode $inValue" ) or return $obj->saveErrorString(undef, "cannot open file '$inValue': $!", $!) ; } *$obj->{LineNo} = $. = 0; setBinModeInput(*$obj->{FH}) ; my $buff = "" ; *$obj->{Buffer} = \$buff ; } # if ($got->getValue('decode')) { # my $want_encoding = $got->getValue('decode'); # *$obj->{Encoding} = IO::Compress::Base::Common::getEncoding($obj, $class, $want_encoding); # } # else { # *$obj->{Encoding} = undef; # } *$obj->{InputLength} = $got->parsed('inputlength') ? $got->getValue('inputlength') : undef ; *$obj->{InputLengthRemaining} = $got->getValue('inputlength'); *$obj->{BufferOffset} = 0 ; *$obj->{AutoClose} = $got->getValue('autoclose'); *$obj->{Strict} = $got->getValue('strict'); *$obj->{BlockSize} = $got->getValue('blocksize'); *$obj->{Append} = $got->getValue('append'); *$obj->{AppendOutput} = $append_mode || $got->getValue('append'); *$obj->{ConsumeInput} = $got->getValue('consumeinput'); *$obj->{Transparent} = $got->getValue('transparent'); *$obj->{MultiStream} = $got->getValue('multistream'); # TODO - move these two into RawDeflate *$obj->{Scan} = $got->getValue('scan'); *$obj->{ParseExtra} = $got->getValue('parseextra') || $got->getValue('strict') ; *$obj->{Type} = ''; *$obj->{Prime} = $got->getValue('prime') || '' ; *$obj->{Pending} = ''; *$obj->{Plain} = 0; *$obj->{PlainBytesRead} = 0; *$obj->{InflatedBytesRead} = 0; *$obj->{UnCompSize} = U64->new; *$obj->{CompSize} = U64->new; *$obj->{TotalInflatedBytesRead} = 0; *$obj->{NewStream} = 0 ; *$obj->{EventEof} = 0 ; *$obj->{ClassName} = $class ; *$obj->{Params} = $got ; if (*$obj->{ConsumeInput}) { *$obj->{InNew} = 0; *$obj->{Closed} = 0; return $obj } my $status = $obj->mkUncomp($got); return undef unless defined $status; *$obj->{InNew} = 0; *$obj->{Closed} = 0; return $obj if *$obj->{Pause} ; if ($status) { # Need to try uncompressing to catch the case # where the compressed file uncompresses to an # empty string - so eof is set immediately. my $out_buffer = ''; $status = $obj->read(\$out_buffer); if ($status < 0) { *$obj->{ReadStatus} = [ $status, $obj->error(), $obj->errorNo() ]; } $obj->ungetc($out_buffer) if length $out_buffer; } else { return undef unless *$obj->{Transparent}; $obj->clearError(); *$obj->{Type} = 'plain'; *$obj->{Plain} = 1; $obj->pushBack(*$obj->{HeaderPending}) ; } push @{ *$obj->{InfoList} }, *$obj->{Info} ; $obj->saveStatus(STATUS_OK) ; *$obj->{InNew} = 0; *$obj->{Closed} = 0; return $obj; } sub ckInputParam { my $self = shift ; my $from = shift ; my $inType = whatIsInput($_[0], $_[1]); $self->croakError("$from: input parameter not a filename, filehandle, array ref or scalar ref") if ! $inType ; # if ($inType eq 'filename' ) # { # return $self->saveErrorString(1, "$from: input filename is undef or null string", STATUS_ERROR) # if ! defined $_[0] || $_[0] eq '' ; # # if ($_[0] ne '-' && ! -e $_[0] ) # { # return $self->saveErrorString(1, # "input file '$_[0]' does not exist", STATUS_ERROR); # } # } return 1; } sub _inf { my $obj = shift ; my $class = (caller)[0] ; my $name = (caller(1))[3] ; $obj->croakError("$name: expected at least 1 parameters\n") unless @_ >= 1 ; my $input = shift ; my $haveOut = @_ ; my $output = shift ; my $x = IO::Compress::Base::Validator->new($class, *$obj->{Error}, $name, $input, $output) or return undef ; push @_, $output if $haveOut && $x->{Hash}; *$obj->{OneShot} = 1 ; my $got = $obj->checkParams($name, undef, @_) or return undef ; if ($got->parsed('trailingdata')) { # my $value = $got->valueRef('TrailingData'); # warn "TD $value "; # #$value = $$value; ## warn "TD $value $$value "; # # return retErr($obj, "Parameter 'TrailingData' not writable") # if readonly $$value ; # # if (ref $$value) # { # return retErr($obj,"Parameter 'TrailingData' not a scalar reference") # if ref $$value ne 'SCALAR' ; # # *$obj->{TrailingData} = $$value ; # } # else # { # return retErr($obj,"Parameter 'TrailingData' not a scalar") # if ref $value ne 'SCALAR' ; # # *$obj->{TrailingData} = $value ; # } *$obj->{TrailingData} = $got->getValue('trailingdata'); } *$obj->{MultiStream} = $got->getValue('multistream'); $got->setValue('multistream', 0); $x->{Got} = $got ; # if ($x->{Hash}) # { # while (my($k, $v) = each %$input) # { # $v = \$input->{$k} # unless defined $v ; # # $obj->_singleTarget($x, $k, $v, @_) # or return undef ; # } # # return keys %$input ; # } if ($x->{GlobMap}) { $x->{oneInput} = 1 ; foreach my $pair (@{ $x->{Pairs} }) { my ($from, $to) = @$pair ; $obj->_singleTarget($x, $from, $to, @_) or return undef ; } return scalar @{ $x->{Pairs} } ; } if (! $x->{oneOutput} ) { my $inFile = ($x->{inType} eq 'filenames' || $x->{inType} eq 'filename'); $x->{inType} = $inFile ? 'filename' : 'buffer'; foreach my $in ($x->{oneInput} ? $input : @$input) { my $out ; $x->{oneInput} = 1 ; $obj->_singleTarget($x, $in, $output, @_) or return undef ; } return 1 ; } # finally the 1 to 1 and n to 1 return $obj->_singleTarget($x, $input, $output, @_); croak "should not be here" ; } sub retErr { my $x = shift ; my $string = shift ; ${ $x->{Error} } = $string ; return undef ; } sub _singleTarget { my $self = shift ; my $x = shift ; my $input = shift; my $output = shift; my $buff = ''; $x->{buff} = \$buff ; my $fh ; if ($x->{outType} eq 'filename') { my $mode = '>' ; $mode = '>>' if $x->{Got}->getValue('append') ; $x->{fh} = IO::File->new( "$mode $output" ) or return retErr($x, "cannot open file '$output': $!") ; binmode $x->{fh} ; } elsif ($x->{outType} eq 'handle') { $x->{fh} = $output; binmode $x->{fh} ; if ($x->{Got}->getValue('append')) { seek($x->{fh}, 0, SEEK_END) or return retErr($x, "Cannot seek to end of output filehandle: $!") ; } } elsif ($x->{outType} eq 'buffer' ) { $$output = '' unless $x->{Got}->getValue('append'); $x->{buff} = $output ; } if ($x->{oneInput}) { defined $self->_rd2($x, $input, $output) or return undef; } else { for my $element ( ($x->{inType} eq 'hash') ? keys %$input : @$input) { defined $self->_rd2($x, $element, $output) or return undef ; } } if ( ($x->{outType} eq 'filename' && $output ne '-') || ($x->{outType} eq 'handle' && $x->{Got}->getValue('autoclose'))) { $x->{fh}->close() or return retErr($x, $!); delete $x->{fh}; } return 1 ; } sub _rd2 { my $self = shift ; my $x = shift ; my $input = shift; my $output = shift; my $z = IO::Compress::Base::Common::createSelfTiedObject($x->{Class}, *$self->{Error}); $z->_create($x->{Got}, 1, $input, @_) or return undef ; my $status ; my $fh = $x->{fh}; while (1) { while (($status = $z->read($x->{buff})) > 0) { if ($fh) { local $\; print $fh ${ $x->{buff} } or return $z->saveErrorString(undef, "Error writing to output file: $!", $!); ${ $x->{buff} } = '' ; } } if (! $x->{oneOutput} ) { my $ot = $x->{outType} ; if ($ot eq 'array') { push @$output, $x->{buff} } elsif ($ot eq 'hash') { $output->{$input} = $x->{buff} } my $buff = ''; $x->{buff} = \$buff; } last if $status < 0 || $z->smartEof(); last unless *$self->{MultiStream}; $status = $z->nextStream(); last unless $status == 1 ; } return $z->closeError(undef) if $status < 0 ; ${ *$self->{TrailingData} } = $z->trailingData() if defined *$self->{TrailingData} ; $z->close() or return undef ; return 1 ; } sub TIEHANDLE { return $_[0] if ref($_[0]); die "OOPS\n" ; } sub UNTIE { my $self = shift ; } sub getHeaderInfo { my $self = shift ; wantarray ? @{ *$self->{InfoList} } : *$self->{Info}; } sub readBlock { my $self = shift ; my $buff = shift ; my $size = shift ; if (defined *$self->{CompressedInputLength}) { if (*$self->{CompressedInputLengthRemaining} == 0) { delete *$self->{CompressedInputLength}; *$self->{CompressedInputLengthDone} = 1; return STATUS_OK ; } $size = List::Util::min($size, *$self->{CompressedInputLengthRemaining} ); *$self->{CompressedInputLengthRemaining} -= $size ; } my $status = $self->smartRead($buff, $size) ; return $self->saveErrorString(STATUS_ERROR, "Error Reading Data: $!", $!) if $status == STATUS_ERROR ; if ($status == 0 ) { *$self->{Closed} = 1 ; *$self->{EndStream} = 1 ; return $self->saveErrorString(STATUS_ERROR, "unexpected end of file", STATUS_ERROR); } return STATUS_OK; } sub postBlockChk { return STATUS_OK; } sub _raw_read { # return codes # >0 - ok, number of bytes read # =0 - ok, eof # <0 - not ok my $self = shift ; return G_EOF if *$self->{Closed} ; return G_EOF if *$self->{EndStream} ; my $buffer = shift ; my $scan_mode = shift ; if (*$self->{Plain}) { my $tmp_buff ; my $len = $self->smartRead(\$tmp_buff, *$self->{BlockSize}) ; return $self->saveErrorString(G_ERR, "Error reading data: $!", $!) if $len == STATUS_ERROR ; if ($len == 0 ) { *$self->{EndStream} = 1 ; } else { *$self->{PlainBytesRead} += $len ; $$buffer .= $tmp_buff; } return $len ; } if (*$self->{NewStream}) { $self->gotoNextStream() > 0 or return G_ERR; # For the headers that actually uncompressed data, put the # uncompressed data into the output buffer. $$buffer .= *$self->{Pending} ; my $len = length *$self->{Pending} ; *$self->{Pending} = ''; return $len; } my $temp_buf = ''; my $outSize = 0; my $status = $self->readBlock(\$temp_buf, *$self->{BlockSize}, $outSize) ; return G_ERR if $status == STATUS_ERROR ; my $buf_len = 0; if ($status == STATUS_OK) { my $beforeC_len = length $temp_buf; my $before_len = defined $$buffer ? length $$buffer : 0 ; $status = *$self->{Uncomp}->uncompr(\$temp_buf, $buffer, defined *$self->{CompressedInputLengthDone} || $self->smartEof(), $outSize); # Remember the input buffer if it wasn't consumed completely $self->pushBack($temp_buf) if *$self->{Uncomp}{ConsumesInput}; return $self->saveErrorString(G_ERR, *$self->{Uncomp}{Error}, *$self->{Uncomp}{ErrorNo}) if $self->saveStatus($status) == STATUS_ERROR; $self->postBlockChk($buffer, $before_len) == STATUS_OK or return G_ERR; $buf_len = defined $$buffer ? length($$buffer) - $before_len : 0; *$self->{CompSize}->add($beforeC_len - length $temp_buf) ; *$self->{InflatedBytesRead} += $buf_len ; *$self->{TotalInflatedBytesRead} += $buf_len ; *$self->{UnCompSize}->add($buf_len) ; $self->filterUncompressed($buffer, $before_len); # if (*$self->{Encoding}) { # use Encode ; # *$self->{PendingDecode} .= substr($$buffer, $before_len) ; # my $got = *$self->{Encoding}->decode(*$self->{PendingDecode}, Encode::FB_QUIET) ; # substr($$buffer, $before_len) = $got; # } } if ($status == STATUS_ENDSTREAM) { *$self->{EndStream} = 1 ; my $trailer; my $trailer_size = *$self->{Info}{TrailerLength} ; my $got = 0; if (*$self->{Info}{TrailerLength}) { $got = $self->smartRead(\$trailer, $trailer_size) ; } if ($got == $trailer_size) { $self->chkTrailer($trailer) == STATUS_OK or return G_ERR; } else { return $self->TrailerError("trailer truncated. Expected " . "$trailer_size bytes, got $got") if *$self->{Strict}; $self->pushBack($trailer) ; } # TODO - if want file pointer, do it here if (! $self->smartEof()) { *$self->{NewStream} = 1 ; if (*$self->{MultiStream}) { *$self->{EndStream} = 0 ; return $buf_len ; } } } # return the number of uncompressed bytes read return $buf_len ; } sub reset { my $self = shift ; return *$self->{Uncomp}->reset(); } sub filterUncompressed { } #sub isEndStream #{ # my $self = shift ; # return *$self->{NewStream} || # *$self->{EndStream} ; #} sub nextStream { my $self = shift ; # An uncompressed file cannot have a next stream, so # return immediately. return 0 if *$self->{Plain} ; my $status = $self->gotoNextStream(); $status == 1 or return $status ; *$self->{Pending} = '' if $self !~ /IO::Uncompress::RawInflate/ && ! *$self->{MultiStream}; *$self->{TotalInflatedBytesRead} = 0 ; *$self->{LineNo} = $. = 0; return 1; } sub gotoNextStream { my $self = shift ; if (! *$self->{NewStream}) { my $status = 1; my $buffer ; # TODO - make this more efficient if know the offset for the end of # the stream and seekable $status = $self->read($buffer) while $status > 0 ; return $status if $status < 0; } *$self->{NewStream} = 0 ; *$self->{EndStream} = 0 ; *$self->{CompressedInputLengthDone} = undef ; *$self->{CompressedInputLength} = undef ; $self->reset(); *$self->{UnCompSize}->reset(); *$self->{CompSize}->reset(); my $magic = $self->ckMagic(); if ( ! defined $magic) { if (! *$self->{Transparent} || $self->eof()) { *$self->{EndStream} = 1 ; return 0; } # Not EOF, so Transparent mode kicks in now for trailing data # Reset member name in case anyone calls getHeaderInfo()->{Name} *$self->{Info} = { Name => undef, Type => 'plain' }; $self->clearError(); *$self->{Type} = 'plain'; *$self->{Plain} = 1; $self->pushBack(*$self->{HeaderPending}) ; } else { *$self->{Info} = $self->readHeader($magic); if ( ! defined *$self->{Info} ) { *$self->{EndStream} = 1 ; return -1; } } push @{ *$self->{InfoList} }, *$self->{Info} ; return 1; } sub streamCount { my $self = shift ; return 1 if ! defined *$self->{InfoList}; return scalar @{ *$self->{InfoList} } ; } sub read { # return codes # >0 - ok, number of bytes read # =0 - ok, eof # <0 - not ok my $self = shift ; if (defined *$self->{ReadStatus} ) { my $status = *$self->{ReadStatus}[0]; $self->saveErrorString( @{ *$self->{ReadStatus} } ); delete *$self->{ReadStatus} ; return $status ; } return G_EOF if *$self->{Closed} ; my $buffer ; if (ref $_[0] ) { $self->croakError(*$self->{ClassName} . "::read: buffer parameter is read-only") if Scalar::Util::readonly(${ $_[0] }); $self->croakError(*$self->{ClassName} . "::read: not a scalar reference $_[0]" ) unless ref $_[0] eq 'SCALAR' ; $buffer = $_[0] ; } else { $self->croakError(*$self->{ClassName} . "::read: buffer parameter is read-only") if Scalar::Util::readonly($_[0]); $buffer = \$_[0] ; } my $length = $_[1] ; my $offset = $_[2] || 0; if (! *$self->{AppendOutput}) { if (! $offset) { $$buffer = '' ; } else { if ($offset > length($$buffer)) { $$buffer .= "\x00" x ($offset - length($$buffer)); } else { substr($$buffer, $offset) = ''; } } } elsif (! defined $$buffer) { $$buffer = '' ; } return G_EOF if !length *$self->{Pending} && *$self->{EndStream} ; # the core read will return 0 if asked for 0 bytes return 0 if defined $length && $length == 0 ; $length = $length || 0; $self->croakError(*$self->{ClassName} . "::read: length parameter is negative") if $length < 0 ; # Short-circuit if this is a simple read, with no length # or offset specified. unless ( $length || $offset) { if (length *$self->{Pending}) { $$buffer .= *$self->{Pending} ; my $len = length *$self->{Pending}; *$self->{Pending} = '' ; return $len ; } else { my $len = 0; $len = $self->_raw_read($buffer) while ! *$self->{EndStream} && $len == 0 ; return $len ; } } # Need to jump through more hoops - either length or offset # or both are specified. my $out_buffer = *$self->{Pending} ; *$self->{Pending} = ''; while (! *$self->{EndStream} && length($out_buffer) < $length) { my $buf_len = $self->_raw_read(\$out_buffer); return $buf_len if $buf_len < 0 ; } $length = length $out_buffer if length($out_buffer) < $length ; return 0 if $length == 0 ; $$buffer = '' if ! defined $$buffer; $offset = length $$buffer if *$self->{AppendOutput} ; *$self->{Pending} = $out_buffer; $out_buffer = \*$self->{Pending} ; substr($$buffer, $offset) = substr($$out_buffer, 0, $length) ; substr($$out_buffer, 0, $length) = '' ; return $length ; } sub _getline { my $self = shift ; my $status = 0 ; # Slurp Mode if ( ! defined $/ ) { my $data ; 1 while ($status = $self->read($data)) > 0 ; return ($status, \$data); } # Record Mode if ( ref $/ eq 'SCALAR' && ${$/} =~ /^\d+$/ && ${$/} > 0) { my $reclen = ${$/} ; my $data ; $status = $self->read($data, $reclen) ; return ($status, \$data); } # Paragraph Mode if ( ! length $/ ) { my $paragraph ; while (($status = $self->read($paragraph)) > 0 ) { if ($paragraph =~ s/^(.*?\n\n+)//s) { *$self->{Pending} = $paragraph ; my $par = $1 ; return (1, \$par); } } return ($status, \$paragraph); } # $/ isn't empty, or a reference, so it's Line Mode. { my $line ; my $p = \*$self->{Pending} ; while (($status = $self->read($line)) > 0 ) { my $offset = index($line, $/); if ($offset >= 0) { my $l = substr($line, 0, $offset + length $/ ); substr($line, 0, $offset + length $/) = ''; $$p = $line; return (1, \$l); } } return ($status, \$line); } } sub getline { my $self = shift; if (defined *$self->{ReadStatus} ) { $self->saveErrorString( @{ *$self->{ReadStatus} } ); delete *$self->{ReadStatus} ; return undef; } return undef if *$self->{Closed} || (!length *$self->{Pending} && *$self->{EndStream}) ; my $current_append = *$self->{AppendOutput} ; *$self->{AppendOutput} = 1; my ($status, $lineref) = $self->_getline(); *$self->{AppendOutput} = $current_append; return undef if $status < 0 || length $$lineref == 0 ; $. = ++ *$self->{LineNo} ; return $$lineref ; } sub getlines { my $self = shift; $self->croakError(*$self->{ClassName} . "::getlines: called in scalar context\n") unless wantarray; my($line, @lines); push(@lines, $line) while defined($line = $self->getline); return @lines; } sub READLINE { goto &getlines if wantarray; goto &getline; } sub getc { my $self = shift; my $buf; return $buf if $self->read($buf, 1); return undef; } sub ungetc { my $self = shift; *$self->{Pending} = "" unless defined *$self->{Pending} ; *$self->{Pending} = $_[0] . *$self->{Pending} ; } sub trailingData { my $self = shift ; if (defined *$self->{FH} || defined *$self->{InputEvent} ) { return *$self->{Prime} ; } else { my $buf = *$self->{Buffer} ; my $offset = *$self->{BufferOffset} ; return substr($$buf, $offset) ; } } sub eof { my $self = shift ; return (*$self->{Closed} || (!length *$self->{Pending} && ( $self->smartEof() || *$self->{EndStream}))) ; } sub tell { my $self = shift ; my $in ; if (*$self->{Plain}) { $in = *$self->{PlainBytesRead} ; } else { $in = *$self->{TotalInflatedBytesRead} ; } my $pending = length *$self->{Pending} ; return 0 if $pending > $in ; return $in - $pending ; } sub close { # todo - what to do if close is called before the end of the gzip file # do we remember any trailing data? my $self = shift ; return 1 if *$self->{Closed} ; untie *$self if $] >= 5.008 ; my $status = 1 ; if (defined *$self->{FH}) { if ((! *$self->{Handle} || *$self->{AutoClose}) && ! *$self->{StdIO}) { local $.; $! = 0 ; $status = *$self->{FH}->close(); return $self->saveErrorString(0, $!, $!) if !*$self->{InNew} && $self->saveStatus($!) != 0 ; } delete *$self->{FH} ; $! = 0 ; } *$self->{Closed} = 1 ; return 1; } sub DESTROY { my $self = shift ; local ($., $@, $!, $^E, $?); $self->close() ; } sub seek { my $self = shift ; my $position = shift; my $whence = shift ; my $here = $self->tell() ; my $target = 0 ; if ($whence == SEEK_SET) { $target = $position ; } elsif ($whence == SEEK_CUR) { $target = $here + $position ; } elsif ($whence == SEEK_END) { $target = $position ; $self->croakError(*$self->{ClassName} . "::seek: SEEK_END not allowed") ; } else { $self->croakError(*$self->{ClassName} ."::seek: unknown value, $whence, for whence parameter"); } # short circuit if seeking to current offset if ($target == $here) { # On ordinary filehandles, seeking to the current # position also clears the EOF condition, so we # emulate this behavior locally while simultaneously # cascading it to the underlying filehandle if (*$self->{Plain}) { *$self->{EndStream} = 0; seek(*$self->{FH},0,1) if *$self->{FH}; } return 1; } # Outlaw any attempt to seek backwards $self->croakError( *$self->{ClassName} ."::seek: cannot seek backwards") if $target < $here ; # Walk the file to the new offset my $offset = $target - $here ; my $got; while (($got = $self->read(my $buffer, List::Util::min($offset, *$self->{BlockSize})) ) > 0) { $offset -= $got; last if $offset == 0 ; } $here = $self->tell() ; return $offset == 0 ? 1 : 0 ; } sub fileno { my $self = shift ; return defined *$self->{FH} ? fileno *$self->{FH} : undef ; } sub binmode { 1; # my $self = shift ; # return defined *$self->{FH} # ? binmode *$self->{FH} # : 1 ; } sub opened { my $self = shift ; return ! *$self->{Closed} ; } sub autoflush { my $self = shift ; return defined *$self->{FH} ? *$self->{FH}->autoflush(@_) : undef ; } sub input_line_number { my $self = shift ; my $last = *$self->{LineNo}; $. = *$self->{LineNo} = $_[1] if @_ ; return $last; } sub _notAvailable { my $name = shift ; return sub { croak "$name Not Available: File opened only for intput" ; } ; } { no warnings 'once'; *BINMODE = \&binmode; *SEEK = \&seek; *READ = \&read; *sysread = \&read; *TELL = \&tell; *EOF = \&eof; *FILENO = \&fileno; *CLOSE = \&close; *print = _notAvailable('print'); *PRINT = _notAvailable('print'); *printf = _notAvailable('printf'); *PRINTF = _notAvailable('printf'); *write = _notAvailable('write'); *WRITE = _notAvailable('write'); #*sysread = \&read; #*syswrite = \&_notAvailable; } package IO::Uncompress::Base ; 1 ; __END__ =head1 NAME IO::Uncompress::Base - Base Class for IO::Uncompress modules =head1 SYNOPSIS use IO::Uncompress::Base ; =head1 DESCRIPTION This module is not intended for direct use in application code. Its sole purpose is to be sub-classed by IO::Uncompress modules. =head1 SUPPORT General feedback/questions/bug reports should be sent to L (preferred) or L. =head1 SEE ALSO L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L L L, L, L, L =head1 AUTHOR This module was written by Paul Marquess, C. =head1 MODIFICATION HISTORY See the Changes file. =head1 COPYRIGHT AND LICENSE Copyright (c) 2005-2023 Paul Marquess. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. FILE 1476416a/IO/Uncompress/Gunzip.pm~ package IO::Uncompress::Gunzip ; require 5.006 ; # for RFC1952 use strict ; use warnings; use bytes; use IO::Uncompress::RawInflate 2.204 ; use Compress::Raw::Zlib 2.204 () ; use IO::Compress::Base::Common 2.204 qw(:Status ); use IO::Compress::Gzip::Constants 2.204 ; use IO::Compress::Zlib::Extra 2.204 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $GunzipError); @ISA = qw(IO::Uncompress::RawInflate Exporter); @EXPORT_OK = qw( $GunzipError gunzip ); %EXPORT_TAGS = %IO::Uncompress::RawInflate::DEFLATE_CONSTANTS ; push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ; Exporter::export_ok_tags('all'); $GunzipError = ''; $VERSION = '2.204'; sub new { my $class = shift ; $GunzipError = ''; my $obj = IO::Compress::Base::Common::createSelfTiedObject($class, \$GunzipError); $obj->_create(undef, 0, @_); } sub gunzip { my $obj = IO::Compress::Base::Common::createSelfTiedObject(undef, \$GunzipError); return $obj->_inf(@_) ; } sub getExtraParams { return ( 'parseextra' => [IO::Compress::Base::Common::Parse_boolean, 0] ) ; } sub ckParams { my $self = shift ; my $got = shift ; # gunzip always needs crc32 $got->setValue('crc32' => 1); return 1; } sub ckMagic { my $self = shift; my $magic ; $self->smartReadExact(\$magic, GZIP_ID_SIZE); *$self->{HeaderPending} = $magic ; return $self->HeaderError("Minimum header size is " . GZIP_MIN_HEADER_SIZE . " bytes") if length $magic != GZIP_ID_SIZE ; return $self->HeaderError("Bad Magic") if ! isGzipMagic($magic) ; *$self->{Type} = 'rfc1952'; return $magic ; } sub readHeader { my $self = shift; my $magic = shift; return $self->_readGzipHeader($magic); } sub chkTrailer { my $self = shift; my $trailer = shift; # Check CRC & ISIZE my ($CRC32, $ISIZE) = unpack("V V", $trailer) ; *$self->{Info}{CRC32} = $CRC32; *$self->{Info}{ISIZE} = $ISIZE; if (*$self->{Strict}) { return $self->TrailerError("CRC mismatch") if $CRC32 != *$self->{Uncomp}->crc32() ; my $exp_isize = *$self->{UnCompSize}->get32bit(); return $self->TrailerError("ISIZE mismatch. Got $ISIZE" . ", expected $exp_isize") if $ISIZE != $exp_isize ; } return STATUS_OK; } sub isGzipMagic { my $buffer = shift ; return 0 if length $buffer < GZIP_ID_SIZE ; my ($id1, $id2) = unpack("C C", $buffer) ; return $id1 == GZIP_ID1 && $id2 == GZIP_ID2 ; } sub _readFullGzipHeader($) { my ($self) = @_ ; my $magic = '' ; $self->smartReadExact(\$magic, GZIP_ID_SIZE); *$self->{HeaderPending} = $magic ; return $self->HeaderError("Minimum header size is " . GZIP_MIN_HEADER_SIZE . " bytes") if length $magic != GZIP_ID_SIZE ; return $self->HeaderError("Bad Magic") if ! isGzipMagic($magic) ; my $status = $self->_readGzipHeader($magic); delete *$self->{Transparent} if ! defined $status ; return $status ; } sub _readGzipHeader($) { my ($self, $magic) = @_ ; my ($HeaderCRC) ; my ($buffer) = '' ; $self->smartReadExact(\$buffer, GZIP_MIN_HEADER_SIZE - GZIP_ID_SIZE) or return $self->HeaderError("Minimum header size is " . GZIP_MIN_HEADER_SIZE . " bytes") ; my $keep = $magic . $buffer ; *$self->{HeaderPending} = $keep ; # now split out the various parts my ($cm, $flag, $mtime, $xfl, $os) = unpack("C C V C C", $buffer) ; $cm == GZIP_CM_DEFLATED or return $self->HeaderError("Not Deflate (CM is $cm)") ; # check for use of reserved bits return $self->HeaderError("Use of Reserved Bits in FLG field.") if $flag & GZIP_FLG_RESERVED ; my $EXTRA ; my @EXTRA = () ; if ($flag & GZIP_FLG_FEXTRA) { $EXTRA = "" ; $self->smartReadExact(\$buffer, GZIP_FEXTRA_HEADER_SIZE) or return $self->TruncatedHeader("FEXTRA Length") ; my ($XLEN) = unpack("v", $buffer) ; $self->smartReadExact(\$EXTRA, $XLEN) or return $self->TruncatedHeader("FEXTRA Body"); $keep .= $buffer . $EXTRA ; if ($XLEN && *$self->{'ParseExtra'}) { my $bad = IO::Compress::Zlib::Extra::parseRawExtra($EXTRA, \@EXTRA, 1, 1); return $self->HeaderError($bad) if defined $bad; } } my $origname ; if ($flag & GZIP_FLG_FNAME) { $origname = "" ; while (1) { $self->smartReadExact(\$buffer, 1) or return $self->TruncatedHeader("FNAME"); last if $buffer eq GZIP_NULL_BYTE ; $origname .= $buffer } $keep .= $origname . GZIP_NULL_BYTE ; return $self->HeaderError("Non ISO 8859-1 Character found in Name") if *$self->{Strict} && $origname =~ /$GZIP_FNAME_INVALID_CHAR_RE/o ; } my $comment ; if ($flag & GZIP_FLG_FCOMMENT) { $comment = ""; while (1) { $self->smartReadExact(\$buffer, 1) or return $self->TruncatedHeader("FCOMMENT"); last if $buffer eq GZIP_NULL_BYTE ; $comment .= $buffer } $keep .= $comment . GZIP_NULL_BYTE ; return $self->HeaderError("Non ISO 8859-1 Character found in Comment") if *$self->{Strict} && $comment =~ /$GZIP_FCOMMENT_INVALID_CHAR_RE/o ; } if ($flag & GZIP_FLG_FHCRC) { $self->smartReadExact(\$buffer, GZIP_FHCRC_SIZE) or return $self->TruncatedHeader("FHCRC"); $HeaderCRC = unpack("v", $buffer) ; my $crc16 = Compress::Raw::Zlib::crc32($keep) & 0xFF ; return $self->HeaderError("CRC16 mismatch.") if *$self->{Strict} && $crc16 != $HeaderCRC; $keep .= $buffer ; } # Assume compression method is deflated for xfl tests #if ($xfl) { #} *$self->{Type} = 'rfc1952'; return { 'Type' => 'rfc1952', 'FingerprintLength' => 2, 'HeaderLength' => length $keep, 'TrailerLength' => GZIP_TRAILER_SIZE, 'Header' => $keep, 'isMinimalHeader' => $keep eq GZIP_MINIMUM_HEADER ? 1 : 0, 'MethodID' => $cm, 'MethodName' => $cm == GZIP_CM_DEFLATED ? "Deflated" : "Unknown" , 'TextFlag' => $flag & GZIP_FLG_FTEXT ? 1 : 0, 'HeaderCRCFlag' => $flag & GZIP_FLG_FHCRC ? 1 : 0, 'NameFlag' => $flag & GZIP_FLG_FNAME ? 1 : 0, 'CommentFlag' => $flag & GZIP_FLG_FCOMMENT ? 1 : 0, 'ExtraFlag' => $flag & GZIP_FLG_FEXTRA ? 1 : 0, 'Name' => $origname, 'Comment' => $comment, 'Time' => $mtime, 'OsID' => $os, 'OsName' => defined $GZIP_OS_Names{$os} ? $GZIP_OS_Names{$os} : "Unknown", 'HeaderCRC' => $HeaderCRC, 'Flags' => $flag, 'ExtraFlags' => $xfl, 'ExtraFieldRaw' => $EXTRA, 'ExtraField' => [ @EXTRA ], #'CompSize'=> $compsize, #'CRC32'=> $CRC32, #'OrigSize'=> $ISIZE, } } 1; __END__ =head1 NAME IO::Uncompress::Gunzip - Read RFC 1952 files/buffers =head1 SYNOPSIS use IO::Uncompress::Gunzip qw(gunzip $GunzipError) ; my $status = gunzip $input => $output [,OPTS] or die "gunzip failed: $GunzipError\n"; my $z = IO::Uncompress::Gunzip->new( $input [OPTS] ) or die "gunzip failed: $GunzipError\n"; $status = $z->read($buffer) $status = $z->read($buffer, $length) $status = $z->read($buffer, $length, $offset) $line = $z->getline() $char = $z->getc() $char = $z->ungetc() $char = $z->opened() $status = $z->inflateSync() $data = $z->trailingData() $status = $z->nextStream() $data = $z->getHeaderInfo() $z->tell() $z->seek($position, $whence) $z->binmode() $z->fileno() $z->eof() $z->close() $GunzipError ; # IO::File mode <$z> read($z, $buffer); read($z, $buffer, $length); read($z, $buffer, $length, $offset); tell($z) seek($z, $position, $whence) binmode($z) fileno($z) eof($z) close($z) =head1 DESCRIPTION This module provides a Perl interface that allows the reading of files/buffers that conform to RFC 1952. For writing RFC 1952 files/buffers, see the companion module IO::Compress::Gzip. =head1 Functional Interface A top-level function, C, is provided to carry out "one-shot" uncompression between buffers and/or files. For finer control over the uncompression process, see the L section. use IO::Uncompress::Gunzip qw(gunzip $GunzipError) ; gunzip $input_filename_or_reference => $output_filename_or_reference [,OPTS] or die "gunzip failed: $GunzipError\n"; The functional interface needs Perl5.005 or better. =head2 gunzip $input_filename_or_reference => $output_filename_or_reference [, OPTS] C expects at least two parameters, C<$input_filename_or_reference> and C<$output_filename_or_reference> and zero or more optional parameters (see L) =head3 The C<$input_filename_or_reference> parameter The parameter, C<$input_filename_or_reference>, is used to define the source of the compressed data. It can take one of the following forms: =over 5 =item A filename If the C<$input_filename_or_reference> parameter is a simple scalar, it is assumed to be a filename. This file will be opened for reading and the input data will be read from it. =item A filehandle If the C<$input_filename_or_reference> parameter is a filehandle, the input data will be read from it. The string '-' can be used as an alias for standard input. =item A scalar reference If C<$input_filename_or_reference> is a scalar reference, the input data will be read from C<$$input_filename_or_reference>. =item An array reference If C<$input_filename_or_reference> is an array reference, each element in the array must be a filename. The input data will be read from each file in turn. The complete array will be walked to ensure that it only contains valid filenames before any data is uncompressed. =item An Input FileGlob string If C<$input_filename_or_reference> is a string that is delimited by the characters "<" and ">" C will assume that it is an I. The input is the list of files that match the fileglob. See L for more details. =back If the C<$input_filename_or_reference> parameter is any other type, C will be returned. =head3 The C<$output_filename_or_reference> parameter The parameter C<$output_filename_or_reference> is used to control the destination of the uncompressed data. This parameter can take one of these forms. =over 5 =item A filename If the C<$output_filename_or_reference> parameter is a simple scalar, it is assumed to be a filename. This file will be opened for writing and the uncompressed data will be written to it. =item A filehandle If the C<$output_filename_or_reference> parameter is a filehandle, the uncompressed data will be written to it. The string '-' can be used as an alias for standard output. =item A scalar reference If C<$output_filename_or_reference> is a scalar reference, the uncompressed data will be stored in C<$$output_filename_or_reference>. =item An Array Reference If C<$output_filename_or_reference> is an array reference, the uncompressed data will be pushed onto the array. =item An Output FileGlob If C<$output_filename_or_reference> is a string that is delimited by the characters "<" and ">" C will assume that it is an I. The output is the list of files that match the fileglob. When C<$output_filename_or_reference> is an fileglob string, C<$input_filename_or_reference> must also be a fileglob string. Anything else is an error. See L for more details. =back If the C<$output_filename_or_reference> parameter is any other type, C will be returned. =head2 Notes When C<$input_filename_or_reference> maps to multiple compressed files/buffers and C<$output_filename_or_reference> is a single file/buffer, after uncompression C<$output_filename_or_reference> will contain a concatenation of all the uncompressed data from each of the input files/buffers. =head2 Optional Parameters The optional parameters for the one-shot function C are (for the most part) identical to those used with the OO interface defined in the L section. The exceptions are listed below =over 5 =item C<< AutoClose => 0|1 >> This option applies to any input or output data streams to C that are filehandles. If C is specified, and the value is true, it will result in all input and/or output filehandles being closed once C has completed. This parameter defaults to 0. =item C<< BinModeOut => 0|1 >> This option is now a no-op. All files will be written in binmode. =item C<< Append => 0|1 >> The behaviour of this option is dependent on the type of output data stream. =over 5 =item * A Buffer If C is enabled, all uncompressed data will be append to the end of the output buffer. Otherwise the output buffer will be cleared before any uncompressed data is written to it. =item * A Filename If C is enabled, the file will be opened in append mode. Otherwise the contents of the file, if any, will be truncated before any uncompressed data is written to it. =item * A Filehandle If C is enabled, the filehandle will be positioned to the end of the file via a call to C before any uncompressed data is written to it. Otherwise the file pointer will not be moved. =back When C is specified, and set to true, it will I all uncompressed data to the output data stream. So when the output is a filehandle it will carry out a seek to the eof before writing any uncompressed data. If the output is a filename, it will be opened for appending. If the output is a buffer, all uncompressed data will be appended to the existing buffer. Conversely when C is not specified, or it is present and is set to false, it will operate as follows. When the output is a filename, it will truncate the contents of the file before writing any uncompressed data. If the output is a filehandle its position will not be changed. If the output is a buffer, it will be wiped before any uncompressed data is output. Defaults to 0. =item C<< MultiStream => 0|1 >> If the input file/buffer contains multiple compressed data streams, this option will uncompress the whole lot as a single data stream. Defaults to 0. =item C<< TrailingData => $scalar >> Returns the data, if any, that is present immediately after the compressed data stream once uncompression is complete. This option can be used when there is useful information immediately following the compressed data stream, and you don't know the length of the compressed data stream. If the input is a buffer, C will return everything from the end of the compressed data stream to the end of the buffer. If the input is a filehandle, C will return the data that is left in the filehandle input buffer once the end of the compressed data stream has been reached. You can then use the filehandle to read the rest of the input file. Don't bother using C if the input is a filename. If you know the length of the compressed data stream before you start uncompressing, you can avoid having to use C by setting the C option. =back =head2 Examples To read the contents of the file C and write the uncompressed data to the file C. use strict ; use warnings ; use IO::Uncompress::Gunzip qw(gunzip $GunzipError) ; my $input = "file1.txt.gz"; my $output = "file1.txt"; gunzip $input => $output or die "gunzip failed: $GunzipError\n"; To read from an existing Perl filehandle, C<$input>, and write the uncompressed data to a buffer, C<$buffer>. use strict ; use warnings ; use IO::Uncompress::Gunzip qw(gunzip $GunzipError) ; use IO::File ; my $input = IO::File->new( " \$buffer or die "gunzip failed: $GunzipError\n"; To uncompress all files in the directory "/my/home" that match "*.txt.gz" and store the compressed data in the same directory use strict ; use warnings ; use IO::Uncompress::Gunzip qw(gunzip $GunzipError) ; gunzip '' => '' or die "gunzip failed: $GunzipError\n"; and if you want to compress each file one at a time, this will do the trick use strict ; use warnings ; use IO::Uncompress::Gunzip qw(gunzip $GunzipError) ; for my $input ( glob "/my/home/*.txt.gz" ) { my $output = $input; $output =~ s/.gz// ; gunzip $input => $output or die "Error compressing '$input': $GunzipError\n"; } =head1 OO Interface =head2 Constructor The format of the constructor for IO::Uncompress::Gunzip is shown below my $z = IO::Uncompress::Gunzip->new( $input [OPTS] ) or die "IO::Uncompress::Gunzip failed: $GunzipError\n"; Returns an C object on success and undef on failure. The variable C<$GunzipError> will contain an error message on failure. If you are running Perl 5.005 or better the object, C<$z>, returned from IO::Uncompress::Gunzip can be used exactly like an L filehandle. This means that all normal input file operations can be carried out with C<$z>. For example, to read a line from a compressed file/buffer you can use either of these forms $line = $z->getline(); $line = <$z>; The mandatory parameter C<$input> is used to determine the source of the compressed data. This parameter can take one of three forms. =over 5 =item A filename If the C<$input> parameter is a scalar, it is assumed to be a filename. This file will be opened for reading and the compressed data will be read from it. =item A filehandle If the C<$input> parameter is a filehandle, the compressed data will be read from it. The string '-' can be used as an alias for standard input. =item A scalar reference If C<$input> is a scalar reference, the compressed data will be read from C<$$input>. =back =head2 Constructor Options The option names defined below are case insensitive and can be optionally prefixed by a '-'. So all of the following are valid -AutoClose -autoclose AUTOCLOSE autoclose OPTS is a combination of the following options: =over 5 =item C<< AutoClose => 0|1 >> This option is only valid when the C<$input> parameter is a filehandle. If specified, and the value is true, it will result in the file being closed once either the C method is called or the IO::Uncompress::Gunzip object is destroyed. This parameter defaults to 0. =item C<< MultiStream => 0|1 >> Allows multiple concatenated compressed streams to be treated as a single compressed stream. Decompression will stop once either the end of the file/buffer is reached, an error is encountered (premature eof, corrupt compressed data) or the end of a stream is not immediately followed by the start of another stream. This parameter defaults to 0. =item C<< Prime => $string >> This option will uncompress the contents of C<$string> before processing the input file/buffer. This option can be useful when the compressed data is embedded in another file/data structure and it is not possible to work out where the compressed data begins without having to read the first few bytes. If this is the case, the uncompression can be I with these bytes using this option. =item C<< Transparent => 0|1 >> If this option is set and the input file/buffer is not compressed data, the module will allow reading of it anyway. In addition, if the input file/buffer does contain compressed data and there is non-compressed data immediately following it, setting this option will make this module treat the whole file/buffer as a single data stream. This option defaults to 1. =item C<< BlockSize => $num >> When reading the compressed input data, IO::Uncompress::Gunzip will read it in blocks of C<$num> bytes. This option defaults to 4096. =item C<< InputLength => $size >> When present this option will limit the number of compressed bytes read from the input file/buffer to C<$size>. This option can be used in the situation where there is useful data directly after the compressed data stream and you know beforehand the exact length of the compressed data stream. This option is mostly used when reading from a filehandle, in which case the file pointer will be left pointing to the first byte directly after the compressed data stream. This option defaults to off. =item C<< Append => 0|1 >> This option controls what the C method does with uncompressed data. If set to 1, all uncompressed data will be appended to the output parameter of the C method. If set to 0, the contents of the output parameter of the C method will be overwritten by the uncompressed data. Defaults to 0. =item C<< Strict => 0|1 >> This option controls whether the extra checks defined below are used when carrying out the decompression. When Strict is on, the extra tests are carried out, when Strict is off they are not. The default for this option is off. =over 5 =item 1 If the FHCRC bit is set in the gzip FLG header byte, the CRC16 bytes in the header must match the crc16 value of the gzip header actually read. =item 2 If the gzip header contains a name field (FNAME) it consists solely of ISO 8859-1 characters. =item 3 If the gzip header contains a comment field (FCOMMENT) it consists solely of ISO 8859-1 characters plus line-feed. =item 4 If the gzip FEXTRA header field is present it must conform to the sub-field structure as defined in RFC 1952. =item 5 The CRC32 and ISIZE trailer fields must be present. =item 6 The value of the CRC32 field read must match the crc32 value of the uncompressed data actually contained in the gzip file. =item 7 The value of the ISIZE fields read must match the length of the uncompressed data actually read from the file. =back =item C<< ParseExtra => 0|1 >> If the gzip FEXTRA header field is present and this option is set, it will force the module to check that it conforms to the sub-field structure as defined in RFC 1952. If the C is on it will automatically enable this option. Defaults to 0. =back =head2 Examples TODO =head1 Methods =head2 read Usage is $status = $z->read($buffer) Reads a block of compressed data (the size of the compressed block is determined by the C option in the constructor), uncompresses it and writes any uncompressed data into C<$buffer>. If the C parameter is set in the constructor, the uncompressed data will be appended to the C<$buffer> parameter. Otherwise C<$buffer> will be overwritten. Returns the number of uncompressed bytes written to C<$buffer>, zero if eof or a negative number on error. =head2 read Usage is $status = $z->read($buffer, $length) $status = $z->read($buffer, $length, $offset) $status = read($z, $buffer, $length) $status = read($z, $buffer, $length, $offset) Attempt to read C<$length> bytes of uncompressed data into C<$buffer>. The main difference between this form of the C method and the previous one, is that this one will attempt to return I C<$length> bytes. The only circumstances that this function will not is if end-of-file or an IO error is encountered. Returns the number of uncompressed bytes written to C<$buffer>, zero if eof or a negative number on error. =head2 getline Usage is $line = $z->getline() $line = <$z> Reads a single line. This method fully supports the use of the variable C<$/> (or C<$INPUT_RECORD_SEPARATOR> or C<$RS> when C is in use) to determine what constitutes an end of line. Paragraph mode, record mode and file slurp mode are all supported. =head2 getc Usage is $char = $z->getc() Read a single character. =head2 ungetc Usage is $char = $z->ungetc($string) =head2 inflateSync Usage is $status = $z->inflateSync() TODO =head2 getHeaderInfo Usage is $hdr = $z->getHeaderInfo(); @hdrs = $z->getHeaderInfo(); This method returns either a hash reference (in scalar context) or a list or hash references (in array context) that contains information about each of the header fields in the compressed data stream(s). =over 5 =item Name The contents of the Name header field, if present. If no name is present, the value will be undef. Note this is different from a zero length name, which will return an empty string. =item Comment The contents of the Comment header field, if present. If no comment is present, the value will be undef. Note this is different from a zero length comment, which will return an empty string. =back =head2 tell Usage is $z->tell() tell $z Returns the uncompressed file offset. =head2 eof Usage is $z->eof(); eof($z); Returns true if the end of the compressed input stream has been reached. =head2 seek $z->seek($position, $whence); seek($z, $position, $whence); Provides a sub-set of the C functionality, with the restriction that it is only legal to seek forward in the input file/buffer. It is a fatal error to attempt to seek backward. Note that the implementation of C in this module does not provide true random access to a compressed file/buffer. It works by uncompressing data from the current offset in the file/buffer until it reaches the uncompressed offset specified in the parameters to C. For very small files this may be acceptable behaviour. For large files it may cause an unacceptable delay. The C<$whence> parameter takes one the usual values, namely SEEK_SET, SEEK_CUR or SEEK_END. Returns 1 on success, 0 on failure. =head2 binmode Usage is $z->binmode binmode $z ; This is a noop provided for completeness. =head2 opened $z->opened() Returns true if the object currently refers to a opened file/buffer. =head2 autoflush my $prev = $z->autoflush() my $prev = $z->autoflush(EXPR) If the C<$z> object is associated with a file or a filehandle, this method returns the current autoflush setting for the underlying filehandle. If C is present, and is non-zero, it will enable flushing after every write/print operation. If C<$z> is associated with a buffer, this method has no effect and always returns C. B that the special variable C<$|> B be used to set or retrieve the autoflush setting. =head2 input_line_number $z->input_line_number() $z->input_line_number(EXPR) Returns the current uncompressed line number. If C is present it has the effect of setting the line number. Note that setting the line number does not change the current position within the file/buffer being read. The contents of C<$/> are used to determine what constitutes a line terminator. =head2 fileno $z->fileno() fileno($z) If the C<$z> object is associated with a file or a filehandle, C will return the underlying file descriptor. Once the C method is called C will return C. If the C<$z> object is associated with a buffer, this method will return C. =head2 close $z->close() ; close $z ; Closes the output file/buffer. For most versions of Perl this method will be automatically invoked if the IO::Uncompress::Gunzip object is destroyed (either explicitly or by the variable with the reference to the object going out of scope). The exceptions are Perl versions 5.005 through 5.00504 and 5.8.0. In these cases, the C method will be called automatically, but not until global destruction of all live objects when the program is terminating. Therefore, if you want your scripts to be able to run on all versions of Perl, you should call C explicitly and not rely on automatic closing. Returns true on success, otherwise 0. If the C option has been enabled when the IO::Uncompress::Gunzip object was created, and the object is associated with a file, the underlying file will also be closed. =head2 nextStream Usage is my $status = $z->nextStream(); Skips to the next compressed data stream in the input file/buffer. If a new compressed data stream is found, the eof marker will be cleared and C<$.> will be reset to 0. Returns 1 if a new stream was found, 0 if none was found, and -1 if an error was encountered. =head2 trailingData Usage is my $data = $z->trailingData(); Returns the data, if any, that is present immediately after the compressed data stream once uncompression is complete. It only makes sense to call this method once the end of the compressed data stream has been encountered. This option can be used when there is useful information immediately following the compressed data stream, and you don't know the length of the compressed data stream. If the input is a buffer, C will return everything from the end of the compressed data stream to the end of the buffer. If the input is a filehandle, C will return the data that is left in the filehandle input buffer once the end of the compressed data stream has been reached. You can then use the filehandle to read the rest of the input file. Don't bother using C if the input is a filename. If you know the length of the compressed data stream before you start uncompressing, you can avoid having to use C by setting the C option in the constructor. =head1 Importing No symbolic constants are required by IO::Uncompress::Gunzip at present. =over 5 =item :all Imports C and C<$GunzipError>. Same as doing this use IO::Uncompress::Gunzip qw(gunzip $GunzipError) ; =back =head1 EXAMPLES =head2 Working with Net::FTP See L =head1 SUPPORT General feedback/questions/bug reports should be sent to L (preferred) or L. =head1 SEE ALSO L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L L L, L, L, L For RFC 1950, 1951 and 1952 see L, L and L The I compression library was written by Jean-loup Gailly C and Mark Adler C. The primary site for the I compression library is L. The primary site for the I compression library is L. The primary site for gzip is L. =head1 AUTHOR This module was written by Paul Marquess, C. =head1 MODIFICATION HISTORY See the Changes file. =head1 COPYRIGHT AND LICENSE Copyright (c) 2005-2023 Paul Marquess. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. FILE$eeb3cf40/IO/Uncompress/RawInflate.pm|package IO::Uncompress::RawInflate ; # for RFC1951 use strict ; use warnings; use bytes; use Compress::Raw::Zlib 2.204 ; use IO::Compress::Base::Common 2.204 qw(:Status ); use IO::Uncompress::Base 2.204 ; use IO::Uncompress::Adapter::Inflate 2.204 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $RawInflateError); $VERSION = '2.204'; $RawInflateError = ''; @ISA = qw(IO::Uncompress::Base Exporter); @EXPORT_OK = qw( $RawInflateError rawinflate ) ; %DEFLATE_CONSTANTS = (); %EXPORT_TAGS = %IO::Uncompress::Base::EXPORT_TAGS ; push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ; Exporter::export_ok_tags('all'); #{ # # Execute at runtime # my %bad; # for my $module (qw(Compress::Raw::Zlib IO::Compress::Base::Common IO::Uncompress::Base IO::Uncompress::Adapter::Inflate)) # { # my $ver = ${ $module . "::VERSION"} ; # # $bad{$module} = $ver # if $ver ne $VERSION; # } # # if (keys %bad) # { # my $string = join "\n", map { "$_ $bad{$_}" } keys %bad; # die caller(0)[0] . "needs version $VERSION mismatch\n$string\n"; # } #} sub new { my $class = shift ; my $obj = IO::Compress::Base::Common::createSelfTiedObject($class, \$RawInflateError); $obj->_create(undef, 0, @_); } sub rawinflate { my $obj = IO::Compress::Base::Common::createSelfTiedObject(undef, \$RawInflateError); return $obj->_inf(@_); } sub getExtraParams { return (); } sub ckParams { my $self = shift ; my $got = shift ; return 1; } sub mkUncomp { my $self = shift ; my $got = shift ; my ($obj, $errstr, $errno) = IO::Uncompress::Adapter::Inflate::mkUncompObject( $got->getValue('crc32'), $got->getValue('adler32'), $got->getValue('scan'), ); return $self->saveErrorString(undef, $errstr, $errno) if ! defined $obj; *$self->{Uncomp} = $obj; my $magic = $self->ckMagic() or return 0; *$self->{Info} = $self->readHeader($magic) or return undef ; return 1; } sub ckMagic { my $self = shift; return $self->_isRaw() ; } sub readHeader { my $self = shift; my $magic = shift ; return { 'Type' => 'rfc1951', 'FingerprintLength' => 0, 'HeaderLength' => 0, 'TrailerLength' => 0, 'Header' => '' }; } sub chkTrailer { return STATUS_OK ; } sub _isRaw { my $self = shift ; my $got = $self->_isRawx(@_); if ($got) { *$self->{Pending} = *$self->{HeaderPending} ; } else { $self->pushBack(*$self->{HeaderPending}); *$self->{Uncomp}->reset(); } *$self->{HeaderPending} = ''; return $got ; } sub _isRawx { my $self = shift ; my $magic = shift ; $magic = '' unless defined $magic ; my $buffer = ''; $self->smartRead(\$buffer, *$self->{BlockSize}) >= 0 or return $self->saveErrorString(undef, "No data to read"); my $temp_buf = $magic . $buffer ; *$self->{HeaderPending} = $temp_buf ; $buffer = ''; my $status = *$self->{Uncomp}->uncompr(\$temp_buf, \$buffer, $self->smartEof()) ; return $self->saveErrorString(undef, *$self->{Uncomp}{Error}, STATUS_ERROR) if $status == STATUS_ERROR; $self->pushBack($temp_buf) ; return $self->saveErrorString(undef, "unexpected end of file", STATUS_ERROR) if $self->smartEof() && $status != STATUS_ENDSTREAM; #my $buf_len = *$self->{Uncomp}->uncompressedBytes(); my $buf_len = length $buffer; if ($status == STATUS_ENDSTREAM) { if (*$self->{MultiStream} && (length $temp_buf || ! $self->smartEof())){ *$self->{NewStream} = 1 ; *$self->{EndStream} = 0 ; } else { *$self->{EndStream} = 1 ; } } *$self->{HeaderPending} = $buffer ; *$self->{InflatedBytesRead} = $buf_len ; *$self->{TotalInflatedBytesRead} += $buf_len ; *$self->{Type} = 'rfc1951'; $self->saveStatus(STATUS_OK); return { 'Type' => 'rfc1951', 'HeaderLength' => 0, 'TrailerLength' => 0, 'Header' => '' }; } sub inflateSync { my $self = shift ; # inflateSync is a no-op in Plain mode return 1 if *$self->{Plain} ; return 0 if *$self->{Closed} ; #return G_EOF if !length *$self->{Pending} && *$self->{EndStream} ; return 0 if ! length *$self->{Pending} && *$self->{EndStream} ; # Disable CRC check *$self->{Strict} = 0 ; my $status ; while (1) { my $temp_buf ; if (length *$self->{Pending} ) { $temp_buf = *$self->{Pending} ; *$self->{Pending} = ''; } else { $status = $self->smartRead(\$temp_buf, *$self->{BlockSize}) ; return $self->saveErrorString(0, "Error Reading Data") if $status < 0 ; if ($status == 0 ) { *$self->{EndStream} = 1 ; return $self->saveErrorString(0, "unexpected end of file", STATUS_ERROR); } } $status = *$self->{Uncomp}->sync($temp_buf) ; if ($status == STATUS_OK) { *$self->{Pending} .= $temp_buf ; return 1 ; } last unless $status == STATUS_ERROR ; } return 0; } #sub performScan #{ # my $self = shift ; # # my $status ; # my $end_offset = 0; # # $status = $self->scan() # #or return $self->saveErrorString(undef, "Error Scanning: $$error_ref", $self->errorNo) ; # or return $self->saveErrorString(G_ERR, "Error Scanning: $status") # # $status = $self->zap($end_offset) # or return $self->saveErrorString(G_ERR, "Error Zapping: $status"); # #or return $self->saveErrorString(undef, "Error Zapping: $$error_ref", $self->errorNo) ; # # #(*$obj->{Deflate}, $status) = $inf->createDeflate(); # ## *$obj->{Header} = *$inf->{Info}{Header}; ## *$obj->{UnCompSize_32bit} = ## *$obj->{BytesWritten} = *$inf->{UnCompSize_32bit} ; ## *$obj->{CompSize_32bit} = *$inf->{CompSize_32bit} ; # # ## if ( $outType eq 'buffer') ## { substr( ${ *$self->{Buffer} }, $end_offset) = '' } ## elsif ($outType eq 'handle' || $outType eq 'filename') { ## *$self->{FH} = *$inf->{FH} ; ## delete *$inf->{FH}; ## *$obj->{FH}->flush() ; ## *$obj->{Handle} = 1 if $outType eq 'handle'; ## ## #seek(*$obj->{FH}, $end_offset, SEEK_SET) ## *$obj->{FH}->seek($end_offset, SEEK_SET) ## or return $obj->saveErrorString(undef, $!, $!) ; ## } # #} sub scan { my $self = shift ; return 1 if *$self->{Closed} ; return 1 if !length *$self->{Pending} && *$self->{EndStream} ; my $buffer = '' ; my $len = 0; $len = $self->_raw_read(\$buffer, 1) while ! *$self->{EndStream} && $len >= 0 ; #return $len if $len < 0 ? $len : 0 ; return $len < 0 ? 0 : 1 ; } sub zap { my $self = shift ; my $headerLength = *$self->{Info}{HeaderLength}; my $block_offset = $headerLength + *$self->{Uncomp}->getLastBlockOffset(); $_[0] = $headerLength + *$self->{Uncomp}->getEndOffset(); #printf "# End $_[0], headerlen $headerLength \n";; #printf "# block_offset $block_offset %x\n", $block_offset; my $byte ; ( $self->smartSeek($block_offset) && $self->smartRead(\$byte, 1) ) or return $self->saveErrorString(0, $!, $!); #printf "#byte is %x\n", unpack('C*',$byte); *$self->{Uncomp}->resetLastBlockByte($byte); #printf "#to byte is %x\n", unpack('C*',$byte); ( $self->smartSeek($block_offset) && $self->smartWrite($byte) ) or return $self->saveErrorString(0, $!, $!); #$self->smartSeek($end_offset, 1); return 1 ; } sub createDeflate { my $self = shift ; my ($def, $status) = *$self->{Uncomp}->createDeflateStream( -AppendOutput => 1, -WindowBits => - MAX_WBITS, -CRC32 => *$self->{Params}->getValue('crc32'), -ADLER32 => *$self->{Params}->getValue('adler32'), ); return wantarray ? ($status, $def) : $def ; } 1; __END__ =head1 NAME IO::Uncompress::RawInflate - Read RFC 1951 files/buffers =head1 SYNOPSIS use IO::Uncompress::RawInflate qw(rawinflate $RawInflateError) ; my $status = rawinflate $input => $output [,OPTS] or die "rawinflate failed: $RawInflateError\n"; my $z = IO::Uncompress::RawInflate->new( $input [OPTS] ) or die "rawinflate failed: $RawInflateError\n"; $status = $z->read($buffer) $status = $z->read($buffer, $length) $status = $z->read($buffer, $length, $offset) $line = $z->getline() $char = $z->getc() $char = $z->ungetc() $char = $z->opened() $status = $z->inflateSync() $data = $z->trailingData() $status = $z->nextStream() $data = $z->getHeaderInfo() $z->tell() $z->seek($position, $whence) $z->binmode() $z->fileno() $z->eof() $z->close() $RawInflateError ; # IO::File mode <$z> read($z, $buffer); read($z, $buffer, $length); read($z, $buffer, $length, $offset); tell($z) seek($z, $position, $whence) binmode($z) fileno($z) eof($z) close($z) =head1 DESCRIPTION This module provides a Perl interface that allows the reading of files/buffers that conform to RFC 1951. For writing RFC 1951 files/buffers, see the companion module IO::Compress::RawDeflate. =head1 Functional Interface A top-level function, C, is provided to carry out "one-shot" uncompression between buffers and/or files. For finer control over the uncompression process, see the L section. use IO::Uncompress::RawInflate qw(rawinflate $RawInflateError) ; rawinflate $input_filename_or_reference => $output_filename_or_reference [,OPTS] or die "rawinflate failed: $RawInflateError\n"; The functional interface needs Perl5.005 or better. =head2 rawinflate $input_filename_or_reference => $output_filename_or_reference [, OPTS] C expects at least two parameters, C<$input_filename_or_reference> and C<$output_filename_or_reference> and zero or more optional parameters (see L) =head3 The C<$input_filename_or_reference> parameter The parameter, C<$input_filename_or_reference>, is used to define the source of the compressed data. It can take one of the following forms: =over 5 =item A filename If the C<$input_filename_or_reference> parameter is a simple scalar, it is assumed to be a filename. This file will be opened for reading and the input data will be read from it. =item A filehandle If the C<$input_filename_or_reference> parameter is a filehandle, the input data will be read from it. The string '-' can be used as an alias for standard input. =item A scalar reference If C<$input_filename_or_reference> is a scalar reference, the input data will be read from C<$$input_filename_or_reference>. =item An array reference If C<$input_filename_or_reference> is an array reference, each element in the array must be a filename. The input data will be read from each file in turn. The complete array will be walked to ensure that it only contains valid filenames before any data is uncompressed. =item An Input FileGlob string If C<$input_filename_or_reference> is a string that is delimited by the characters "<" and ">" C will assume that it is an I. The input is the list of files that match the fileglob. See L for more details. =back If the C<$input_filename_or_reference> parameter is any other type, C will be returned. =head3 The C<$output_filename_or_reference> parameter The parameter C<$output_filename_or_reference> is used to control the destination of the uncompressed data. This parameter can take one of these forms. =over 5 =item A filename If the C<$output_filename_or_reference> parameter is a simple scalar, it is assumed to be a filename. This file will be opened for writing and the uncompressed data will be written to it. =item A filehandle If the C<$output_filename_or_reference> parameter is a filehandle, the uncompressed data will be written to it. The string '-' can be used as an alias for standard output. =item A scalar reference If C<$output_filename_or_reference> is a scalar reference, the uncompressed data will be stored in C<$$output_filename_or_reference>. =item An Array Reference If C<$output_filename_or_reference> is an array reference, the uncompressed data will be pushed onto the array. =item An Output FileGlob If C<$output_filename_or_reference> is a string that is delimited by the characters "<" and ">" C will assume that it is an I. The output is the list of files that match the fileglob. When C<$output_filename_or_reference> is an fileglob string, C<$input_filename_or_reference> must also be a fileglob string. Anything else is an error. See L for more details. =back If the C<$output_filename_or_reference> parameter is any other type, C will be returned. =head2 Notes When C<$input_filename_or_reference> maps to multiple compressed files/buffers and C<$output_filename_or_reference> is a single file/buffer, after uncompression C<$output_filename_or_reference> will contain a concatenation of all the uncompressed data from each of the input files/buffers. =head2 Optional Parameters The optional parameters for the one-shot function C are (for the most part) identical to those used with the OO interface defined in the L section. The exceptions are listed below =over 5 =item C<< AutoClose => 0|1 >> This option applies to any input or output data streams to C that are filehandles. If C is specified, and the value is true, it will result in all input and/or output filehandles being closed once C has completed. This parameter defaults to 0. =item C<< BinModeOut => 0|1 >> This option is now a no-op. All files will be written in binmode. =item C<< Append => 0|1 >> The behaviour of this option is dependent on the type of output data stream. =over 5 =item * A Buffer If C is enabled, all uncompressed data will be append to the end of the output buffer. Otherwise the output buffer will be cleared before any uncompressed data is written to it. =item * A Filename If C is enabled, the file will be opened in append mode. Otherwise the contents of the file, if any, will be truncated before any uncompressed data is written to it. =item * A Filehandle If C is enabled, the filehandle will be positioned to the end of the file via a call to C before any uncompressed data is written to it. Otherwise the file pointer will not be moved. =back When C is specified, and set to true, it will I all uncompressed data to the output data stream. So when the output is a filehandle it will carry out a seek to the eof before writing any uncompressed data. If the output is a filename, it will be opened for appending. If the output is a buffer, all uncompressed data will be appended to the existing buffer. Conversely when C is not specified, or it is present and is set to false, it will operate as follows. When the output is a filename, it will truncate the contents of the file before writing any uncompressed data. If the output is a filehandle its position will not be changed. If the output is a buffer, it will be wiped before any uncompressed data is output. Defaults to 0. =item C<< MultiStream => 0|1 >> This option is a no-op. =item C<< TrailingData => $scalar >> Returns the data, if any, that is present immediately after the compressed data stream once uncompression is complete. This option can be used when there is useful information immediately following the compressed data stream, and you don't know the length of the compressed data stream. If the input is a buffer, C will return everything from the end of the compressed data stream to the end of the buffer. If the input is a filehandle, C will return the data that is left in the filehandle input buffer once the end of the compressed data stream has been reached. You can then use the filehandle to read the rest of the input file. Don't bother using C if the input is a filename. If you know the length of the compressed data stream before you start uncompressing, you can avoid having to use C by setting the C option. =back =head2 Examples To read the contents of the file C and write the uncompressed data to the file C. use strict ; use warnings ; use IO::Uncompress::RawInflate qw(rawinflate $RawInflateError) ; my $input = "file1.txt.1951"; my $output = "file1.txt"; rawinflate $input => $output or die "rawinflate failed: $RawInflateError\n"; To read from an existing Perl filehandle, C<$input>, and write the uncompressed data to a buffer, C<$buffer>. use strict ; use warnings ; use IO::Uncompress::RawInflate qw(rawinflate $RawInflateError) ; use IO::File ; my $input = IO::File->new( " \$buffer or die "rawinflate failed: $RawInflateError\n"; To uncompress all files in the directory "/my/home" that match "*.txt.1951" and store the compressed data in the same directory use strict ; use warnings ; use IO::Uncompress::RawInflate qw(rawinflate $RawInflateError) ; rawinflate '' => '' or die "rawinflate failed: $RawInflateError\n"; and if you want to compress each file one at a time, this will do the trick use strict ; use warnings ; use IO::Uncompress::RawInflate qw(rawinflate $RawInflateError) ; for my $input ( glob "/my/home/*.txt.1951" ) { my $output = $input; $output =~ s/.1951// ; rawinflate $input => $output or die "Error compressing '$input': $RawInflateError\n"; } =head1 OO Interface =head2 Constructor The format of the constructor for IO::Uncompress::RawInflate is shown below my $z = IO::Uncompress::RawInflate->new( $input [OPTS] ) or die "IO::Uncompress::RawInflate failed: $RawInflateError\n"; Returns an C object on success and undef on failure. The variable C<$RawInflateError> will contain an error message on failure. If you are running Perl 5.005 or better the object, C<$z>, returned from IO::Uncompress::RawInflate can be used exactly like an L filehandle. This means that all normal input file operations can be carried out with C<$z>. For example, to read a line from a compressed file/buffer you can use either of these forms $line = $z->getline(); $line = <$z>; The mandatory parameter C<$input> is used to determine the source of the compressed data. This parameter can take one of three forms. =over 5 =item A filename If the C<$input> parameter is a scalar, it is assumed to be a filename. This file will be opened for reading and the compressed data will be read from it. =item A filehandle If the C<$input> parameter is a filehandle, the compressed data will be read from it. The string '-' can be used as an alias for standard input. =item A scalar reference If C<$input> is a scalar reference, the compressed data will be read from C<$$input>. =back =head2 Constructor Options The option names defined below are case insensitive and can be optionally prefixed by a '-'. So all of the following are valid -AutoClose -autoclose AUTOCLOSE autoclose OPTS is a combination of the following options: =over 5 =item C<< AutoClose => 0|1 >> This option is only valid when the C<$input> parameter is a filehandle. If specified, and the value is true, it will result in the file being closed once either the C method is called or the IO::Uncompress::RawInflate object is destroyed. This parameter defaults to 0. =item C<< MultiStream => 0|1 >> Allows multiple concatenated compressed streams to be treated as a single compressed stream. Decompression will stop once either the end of the file/buffer is reached, an error is encountered (premature eof, corrupt compressed data) or the end of a stream is not immediately followed by the start of another stream. This parameter defaults to 0. =item C<< Prime => $string >> This option will uncompress the contents of C<$string> before processing the input file/buffer. This option can be useful when the compressed data is embedded in another file/data structure and it is not possible to work out where the compressed data begins without having to read the first few bytes. If this is the case, the uncompression can be I with these bytes using this option. =item C<< Transparent => 0|1 >> If this option is set and the input file/buffer is not compressed data, the module will allow reading of it anyway. In addition, if the input file/buffer does contain compressed data and there is non-compressed data immediately following it, setting this option will make this module treat the whole file/buffer as a single data stream. This option defaults to 1. =item C<< BlockSize => $num >> When reading the compressed input data, IO::Uncompress::RawInflate will read it in blocks of C<$num> bytes. This option defaults to 4096. =item C<< InputLength => $size >> When present this option will limit the number of compressed bytes read from the input file/buffer to C<$size>. This option can be used in the situation where there is useful data directly after the compressed data stream and you know beforehand the exact length of the compressed data stream. This option is mostly used when reading from a filehandle, in which case the file pointer will be left pointing to the first byte directly after the compressed data stream. This option defaults to off. =item C<< Append => 0|1 >> This option controls what the C method does with uncompressed data. If set to 1, all uncompressed data will be appended to the output parameter of the C method. If set to 0, the contents of the output parameter of the C method will be overwritten by the uncompressed data. Defaults to 0. =item C<< Strict => 0|1 >> This option is a no-op. =back =head2 Examples TODO =head1 Methods =head2 read Usage is $status = $z->read($buffer) Reads a block of compressed data (the size of the compressed block is determined by the C option in the constructor), uncompresses it and writes any uncompressed data into C<$buffer>. If the C parameter is set in the constructor, the uncompressed data will be appended to the C<$buffer> parameter. Otherwise C<$buffer> will be overwritten. Returns the number of uncompressed bytes written to C<$buffer>, zero if eof or a negative number on error. =head2 read Usage is $status = $z->read($buffer, $length) $status = $z->read($buffer, $length, $offset) $status = read($z, $buffer, $length) $status = read($z, $buffer, $length, $offset) Attempt to read C<$length> bytes of uncompressed data into C<$buffer>. The main difference between this form of the C method and the previous one, is that this one will attempt to return I C<$length> bytes. The only circumstances that this function will not is if end-of-file or an IO error is encountered. Returns the number of uncompressed bytes written to C<$buffer>, zero if eof or a negative number on error. =head2 getline Usage is $line = $z->getline() $line = <$z> Reads a single line. This method fully supports the use of the variable C<$/> (or C<$INPUT_RECORD_SEPARATOR> or C<$RS> when C is in use) to determine what constitutes an end of line. Paragraph mode, record mode and file slurp mode are all supported. =head2 getc Usage is $char = $z->getc() Read a single character. =head2 ungetc Usage is $char = $z->ungetc($string) =head2 inflateSync Usage is $status = $z->inflateSync() TODO =head2 getHeaderInfo Usage is $hdr = $z->getHeaderInfo(); @hdrs = $z->getHeaderInfo(); This method returns either a hash reference (in scalar context) or a list or hash references (in array context) that contains information about each of the header fields in the compressed data stream(s). =head2 tell Usage is $z->tell() tell $z Returns the uncompressed file offset. =head2 eof Usage is $z->eof(); eof($z); Returns true if the end of the compressed input stream has been reached. =head2 seek $z->seek($position, $whence); seek($z, $position, $whence); Provides a sub-set of the C functionality, with the restriction that it is only legal to seek forward in the input file/buffer. It is a fatal error to attempt to seek backward. Note that the implementation of C in this module does not provide true random access to a compressed file/buffer. It works by uncompressing data from the current offset in the file/buffer until it reaches the uncompressed offset specified in the parameters to C. For very small files this may be acceptable behaviour. For large files it may cause an unacceptable delay. The C<$whence> parameter takes one the usual values, namely SEEK_SET, SEEK_CUR or SEEK_END. Returns 1 on success, 0 on failure. =head2 binmode Usage is $z->binmode binmode $z ; This is a noop provided for completeness. =head2 opened $z->opened() Returns true if the object currently refers to a opened file/buffer. =head2 autoflush my $prev = $z->autoflush() my $prev = $z->autoflush(EXPR) If the C<$z> object is associated with a file or a filehandle, this method returns the current autoflush setting for the underlying filehandle. If C is present, and is non-zero, it will enable flushing after every write/print operation. If C<$z> is associated with a buffer, this method has no effect and always returns C. B that the special variable C<$|> B be used to set or retrieve the autoflush setting. =head2 input_line_number $z->input_line_number() $z->input_line_number(EXPR) Returns the current uncompressed line number. If C is present it has the effect of setting the line number. Note that setting the line number does not change the current position within the file/buffer being read. The contents of C<$/> are used to determine what constitutes a line terminator. =head2 fileno $z->fileno() fileno($z) If the C<$z> object is associated with a file or a filehandle, C will return the underlying file descriptor. Once the C method is called C will return C. If the C<$z> object is associated with a buffer, this method will return C. =head2 close $z->close() ; close $z ; Closes the output file/buffer. For most versions of Perl this method will be automatically invoked if the IO::Uncompress::RawInflate object is destroyed (either explicitly or by the variable with the reference to the object going out of scope). The exceptions are Perl versions 5.005 through 5.00504 and 5.8.0. In these cases, the C method will be called automatically, but not until global destruction of all live objects when the program is terminating. Therefore, if you want your scripts to be able to run on all versions of Perl, you should call C explicitly and not rely on automatic closing. Returns true on success, otherwise 0. If the C option has been enabled when the IO::Uncompress::RawInflate object was created, and the object is associated with a file, the underlying file will also be closed. =head2 nextStream Usage is my $status = $z->nextStream(); Skips to the next compressed data stream in the input file/buffer. If a new compressed data stream is found, the eof marker will be cleared and C<$.> will be reset to 0. Returns 1 if a new stream was found, 0 if none was found, and -1 if an error was encountered. =head2 trailingData Usage is my $data = $z->trailingData(); Returns the data, if any, that is present immediately after the compressed data stream once uncompression is complete. It only makes sense to call this method once the end of the compressed data stream has been encountered. This option can be used when there is useful information immediately following the compressed data stream, and you don't know the length of the compressed data stream. If the input is a buffer, C will return everything from the end of the compressed data stream to the end of the buffer. If the input is a filehandle, C will return the data that is left in the filehandle input buffer once the end of the compressed data stream has been reached. You can then use the filehandle to read the rest of the input file. Don't bother using C if the input is a filename. If you know the length of the compressed data stream before you start uncompressing, you can avoid having to use C by setting the C option in the constructor. =head1 Importing No symbolic constants are required by IO::Uncompress::RawInflate at present. =over 5 =item :all Imports C and C<$RawInflateError>. Same as doing this use IO::Uncompress::RawInflate qw(rawinflate $RawInflateError) ; =back =head1 EXAMPLES =head2 Working with Net::FTP See L =head1 SUPPORT General feedback/questions/bug reports should be sent to L (preferred) or L. =head1 SEE ALSO L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L L L, L, L, L For RFC 1950, 1951 and 1952 see L, L and L The I compression library was written by Jean-loup Gailly C and Mark Adler C. The primary site for the I compression library is L. The primary site for the I compression library is L. The primary site for gzip is L. =head1 AUTHOR This module was written by Paul Marquess, C. =head1 MODIFICATION HISTORY See the Changes file. =head1 COPYRIGHT AND LICENSE Copyright (c) 2005-2023 Paul Marquess. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. FILE0a70d587/PerlIO.pm7package PerlIO; our $VERSION = '1.12'; # Map layer name to package that defines it our %alias; sub import { my $class = shift; while (@_) { my $layer = shift; if (exists $alias{$layer}) { $layer = $alias{$layer} } else { $layer = "${class}::$layer"; } eval { require $layer =~ s{::}{/}gr . '.pm' }; warn $@ if $@; } } sub F_UTF8 () { 0x8000 } 1; __END__ =head1 NAME PerlIO - On demand loader for PerlIO layers and root of PerlIO::* name space =head1 SYNOPSIS # support platform-native and CRLF text files open(my $fh, "<:crlf", "my.txt") or die "open failed: $!"; # append UTF-8 encoded text open(my $fh, ">>:encoding(UTF-8)", "some.log") or die "open failed: $!"; # portably open a binary file for reading open(my $fh, "<", "his.jpg") or die "open failed: $!"; binmode($fh) or die "binmode failed: $!"; Shell: PERLIO=:perlio perl .... =head1 DESCRIPTION When an undefined layer 'foo' is encountered in an C or C layer specification then C code performs the equivalent of: use PerlIO 'foo'; The Perl code in PerlIO.pm then attempts to locate a layer by doing require PerlIO::foo; Otherwise the C package is a place holder for additional PerlIO related functions. =head2 Layers Generally speaking, PerlIO layers (previously sometimes referred to as "disciplines") are an ordered stack applied to a filehandle (specified as a space- or colon-separated list, conventionally written with a leading colon). Each layer performs some operation on any input or output, except when bypassed such as with C or C. Read operations go through the stack in the order they are set (left to right), and write operations in the reverse order. There are also layers which actually just set flags on lower layers, or layers that modify the current stack but don't persist on the stack themselves; these are referred to as pseudo-layers. When opening a handle, it will be opened with any layers specified explicitly in the open() call (or the platform defaults, if specified as a colon with no following layers). If layers are not explicitly specified, the handle will be opened with the layers specified by the L<${^OPEN}|perlvar/"${^OPEN}"> variable (usually set by using the L pragma for a lexical scope, or the C<-C> command-line switch or C environment variable for the main program scope). If layers are not specified in the open() call or C<${^OPEN}> variable, the handle will be opened with the default layer stack configured for that architecture; see L. Some layers will automatically insert required lower level layers if not present; for example C<:perlio> will insert C<:unix> below itself for low level IO, and C<:encoding> will insert the platform defaults for buffered IO. The C function can be called on an opened handle to push additional layers onto the stack, which may also modify the existing layers. C called with no layers will remove or unset any existing layers which transform the byte stream, making the handle suitable for binary data. The following layers are currently defined: =over 4 =item :unix Lowest level layer which provides basic PerlIO operations in terms of UNIX/POSIX numeric file descriptor calls (open(), read(), write(), lseek(), close()). It is used even on non-Unix architectures, and most other layers operate on top of it. =item :stdio Layer which calls C, C and C/C etc. Note that as this is "real" stdio it will ignore any layers beneath it and go straight to the operating system via the C library as usual. This layer implements both low level IO and buffering, but is rarely used on modern architectures. =item :perlio A from scratch implementation of buffering for PerlIO. Provides fast access to the buffer for C which implements Perl's readline/EE and in general attempts to minimize data copying. C<:perlio> will insert a C<:unix> layer below itself to do low level IO. =item :crlf A layer that implements DOS/Windows like CRLF line endings. On read converts pairs of CR,LF to a single "\n" newline character. On write converts each "\n" to a CR,LF pair. Note that this layer will silently refuse to be pushed on top of itself. It currently does I mimic MS-DOS as far as treating of Control-Z as being an end-of-file marker. On DOS/Windows like architectures where this layer is part of the defaults, it also acts like the C<:perlio> layer, and removing the CRLF translation (such as with C<:raw>) will only unset the CRLF translation flag. Since Perl 5.14, you can also apply another C<:crlf> layer later, such as when the CRLF translation must occur after an encoding layer. On other architectures, it is a mundane CRLF translation layer and can be added and removed normally. # translate CRLF after encoding on Perl 5.14 or newer binmode $fh, ":raw:encoding(UTF-16LE):crlf" or die "binmode failed: $!"; =item :utf8 Pseudo-layer that declares that the stream accepts Perl's I upgraded encoding of characters, which is approximately UTF-8 on ASCII machines, but UTF-EBCDIC on EBCDIC machines. This allows any character Perl can represent to be read from or written to the stream. This layer (which actually sets a flag on the preceding layer, and is implicitly set by any C<:encoding> layer) does not translate or validate byte sequences. It instead indicates that the byte stream will have been arranged by other layers to be provided in Perl's internal upgraded encoding, which Perl code (and correctly written XS code) will interpret as decoded Unicode characters. B: Do not use this layer to translate from UTF-8 bytes, as invalid UTF-8 or binary data will result in malformed Perl strings. It is unlikely to produce invalid UTF-8 when used for output, though it will instead produce UTF-EBCDIC on EBCDIC systems. The C<:encoding(UTF-8)> layer (hyphen is significant) is preferred as it will ensure translation between valid UTF-8 bytes and valid Unicode characters. =item :bytes This is the inverse of the C<:utf8> pseudo-layer. It turns off the flag on the layer below so that data read from it is considered to be Perl's internal downgraded encoding, thus interpreted as the native single-byte encoding of Latin-1 or EBCDIC. Likewise on output Perl will warn if a "wide" character (a codepoint not in the range 0..255) is written to a such a stream. This is very dangerous to push on a handle using an C<:encoding> layer, as such a layer assumes to be working with Perl's internal upgraded encoding, so you will likely get a mangled result. Instead use C<:raw> or C<:pop> to remove encoding layers. =item :raw The C<:raw> pseudo-layer is I as being identical to calling C - the stream is made suitable for passing binary data, i.e. each byte is passed as-is. The stream will still be buffered (but this was not always true before Perl 5.14). In Perl 5.6 and some books the C<:raw> layer is documented as the inverse of the C<:crlf> layer. That is no longer the case - other layers which would alter the binary nature of the stream are also disabled. If you want UNIX line endings on a platform that normally does CRLF translation, but still want UTF-8 or encoding defaults, the appropriate thing to do is to add C<:perlio> to the PERLIO environment variable, or open the handle explicitly with that layer, to replace the platform default of C<:crlf>. The implementation of C<:raw> is as a pseudo-layer which when "pushed" pops itself and then any layers which would modify the binary data stream. (Undoing C<:utf8> and C<:crlf> may be implemented by clearing flags rather than popping layers but that is an implementation detail.) As a consequence of the fact that C<:raw> normally pops layers, it usually only makes sense to have it as the only or first element in a layer specification. When used as the first element it provides a known base on which to build e.g. open(my $fh,">:raw:encoding(UTF-8)",...) or die "open failed: $!"; will construct a "binary" stream regardless of the platform defaults, but then enable UTF-8 translation. =item :pop A pseudo-layer that removes the top-most layer. Gives Perl code a way to manipulate the layer stack. Note that C<:pop> only works on real layers and will not undo the effects of pseudo-layers or flags like C<:utf8>. An example of a possible use might be: open(my $fh,...) or die "open failed: $!"; ... binmode($fh,":encoding(...)") or die "binmode failed: $!"; # next chunk is encoded ... binmode($fh,":pop") or die "binmode failed: $!"; # back to un-encoded A more elegant (and safer) interface is needed. =back =head2 Custom Layers It is possible to write custom layers in addition to the above builtin ones, both in C/XS and Perl, as a module named C<< PerlIO:: >>. Some custom layers come with the Perl distribution. =over 4 =item :encoding Use C<:encoding(ENCODING)> to transparently do character set and encoding transformations, for example from Shift-JIS to Unicode. Note that an C<:encoding> also enables C<:utf8>. See L for more information. =item :mmap A layer which implements "reading" of files by using C to make a (whole) file appear in the process's address space, and then using that as PerlIO's "buffer". This I be faster in certain circumstances for large files, and may result in less physical memory use when multiple processes are reading the same file. Files which are not C-able revert to behaving like the C<:perlio> layer. Writes also behave like the C<:perlio> layer, as C for write needs extra house-keeping (to extend the file) which negates any advantage. The C<:mmap> layer will not exist if the platform does not support C. See L for more information. =item :via C<:via(MODULE)> allows a transformation to be applied by an arbitrary Perl module, for example compression / decompression, encryption / decryption. See L for more information. =item :scalar A layer implementing "in memory" files using scalar variables, automatically used in place of the platform defaults for IO when opening such a handle. As such, the scalar is expected to act like a file, only containing or storing bytes. See L for more information. =back =head2 Alternatives to raw To get a binary stream an alternate method is to use: open(my $fh,"<","whatever") or die "open failed: $!"; binmode($fh) or die "binmode failed: $!"; This has the advantage of being backward compatible with older versions of Perl that did not use PerlIO or where C<:raw> was buggy (as it was before Perl 5.14). To get an unbuffered stream specify an unbuffered layer (e.g. C<:unix>) in the open call: open(my $fh,"<:unix",$path) or die "open failed: $!"; =head2 Defaults and how to override them If the platform is MS-DOS like and normally does CRLF to "\n" translation for text files then the default layers are: :unix:crlf Otherwise if C found out how to do "fast" IO using the system's stdio (not common on modern architectures), then the default layers are: :stdio Otherwise the default layers are :unix:perlio Note that the "default stack" depends on the operating system and on the Perl version, and both the compile-time and runtime configurations of Perl. The default can be overridden by setting the environment variable PERLIO to a space or colon separated list of layers, however this cannot be used to set layers that require loading modules like C<:encoding>. This can be used to see the effect of/bugs in the various layers e.g. cd .../perl/t PERLIO=:stdio ./perl harness PERLIO=:perlio ./perl harness For the various values of PERLIO see L. The following table summarizes the default layers on UNIX-like and DOS-like platforms and depending on the setting of C<$ENV{PERLIO}>: PERLIO UNIX-like DOS-like ------ --------- -------- unset / "" :unix:perlio / :stdio [1] :unix:crlf :stdio :stdio :stdio :perlio :unix:perlio :unix:perlio # [1] ":stdio" if Configure found out how to do "fast stdio" (depends # on the stdio implementation) and in Perl 5.8, else ":unix:perlio" =head2 Querying the layers of filehandles The following returns the B of the PerlIO layers on a filehandle. my @layers = PerlIO::get_layers($fh); # Or FH, *FH, "FH". The layers are returned in the order an open() or binmode() call would use them, and without colons. By default the layers from the input side of the filehandle are returned; to get the output side, use the optional C argument: my @layers = PerlIO::get_layers($fh, output => 1); (Usually the layers are identical on either side of a filehandle but for example with sockets there may be differences.) There is no set_layers(), nor does get_layers() return a tied array mirroring the stack, or anything fancy like that. This is not accidental or unintentional. The PerlIO layer stack is a bit more complicated than just a stack (see for example the behaviour of C<:raw>). You are supposed to use open() and binmode() to manipulate the stack. B The arguments to layers are by default returned in parentheses after the name of the layer, and certain layers (like C<:utf8>) are not real layers but instead flags on real layers; to get all of these returned separately, use the optional C
    argument: my @layer_and_args_and_flags = PerlIO::get_layers($fh, details => 1); The result will be up to be three times the number of layers: the first element will be a name, the second element the arguments (unspecified arguments will be C), the third element the flags, the fourth element a name again, and so forth. B =head1 AUTHOR Nick Ing-Simmons Enick@ing-simmons.netE =head1 SEE ALSO L, L, L, L, L =cut FILE4a50329b/SelectSaver.pm4package SelectSaver; our $VERSION = '1.02'; =head1 NAME SelectSaver - save and restore selected file handle =head1 SYNOPSIS use SelectSaver; { my $saver = SelectSaver->new(FILEHANDLE); # FILEHANDLE is selected } # previous handle is selected { my $saver = SelectSaver->new; # new handle may be selected, or not } # previous handle is selected =head1 DESCRIPTION A C object contains a reference to the file handle that was selected when it was created. If its C method gets an extra parameter, then that parameter is selected; otherwise, the selected file handle remains unchanged. When a C is destroyed, it re-selects the file handle that was selected when it was created. =cut require 5.000; use Carp; use Symbol; sub new { @_ >= 1 && @_ <= 2 or croak 'usage: SelectSaver->new( [FILEHANDLE] )'; my $fh = select; my $self = bless \$fh, $_[0]; select qualify($_[1], caller) if @_ > 1; $self; } sub DESTROY { my $self = $_[0]; select $$self; } 1; FILE477ebe95/Symbol.pm)package Symbol; use strict; use warnings; =head1 NAME Symbol - manipulate Perl symbols and their names =head1 SYNOPSIS use Symbol; $sym = gensym; open($sym, '<', "filename"); $_ = <$sym>; # etc. ungensym $sym; # no effect # replace *FOO{IO} handle but not $FOO, %FOO, etc. *FOO = geniosym; print qualify("x"), "\n"; # "main::x" print qualify("x", "FOO"), "\n"; # "FOO::x" print qualify("BAR::x"), "\n"; # "BAR::x" print qualify("BAR::x", "FOO"), "\n"; # "BAR::x" print qualify("STDOUT", "FOO"), "\n"; # "main::STDOUT" (global) print qualify(\*x), "\n"; # returns \*x print qualify(\*x, "FOO"), "\n"; # returns \*x use strict refs; print { qualify_to_ref $fh } "foo!\n"; $ref = qualify_to_ref $name, $pkg; use Symbol qw(delete_package); delete_package('Foo::Bar'); print "deleted\n" unless exists $Foo::{'Bar::'}; =head1 DESCRIPTION C creates an anonymous glob and returns a reference to it. Such a glob reference can be used as a file or directory handle. For backward compatibility with older implementations that didn't support anonymous globs, C is also provided. But it doesn't do anything. C creates an anonymous IO handle. This can be assigned into an existing glob without affecting the non-IO portions of the glob. C turns unqualified symbol names into qualified variable names (e.g. "myvar" -E "MyPackage::myvar"). If it is given a second parameter, C uses it as the default package; otherwise, it uses the package of its caller. Regardless, global variable names (e.g. "STDOUT", "ENV", "SIG") are always qualified with "main::". Qualification applies only to symbol names (strings). References are left unchanged under the assumption that they are glob references, which are qualified by their nature. C is just like C except that it returns a glob ref rather than a symbol name, so you can use the result even if C is in effect. C wipes out a whole package namespace. Note this routine is not exported by default--you may want to import it explicitly. =head1 BUGS C is a bit too powerful. It undefines every symbol that lives in the specified package. Since perl, for performance reasons, does not perform a symbol table lookup each time a function is called or a global variable is accessed, some code that has already been loaded and that makes use of symbols in package C may stop working after you delete C, even if you reload the C module afterwards. =cut require Exporter; our @ISA = qw(Exporter); our @EXPORT = qw(gensym ungensym qualify qualify_to_ref); our @EXPORT_OK = qw(delete_package geniosym); our $VERSION = '1.09'; my $genpkg = "Symbol::"; my $genseq = 0; my %global = map {$_ => 1} qw(ARGV ARGVOUT ENV INC SIG STDERR STDIN STDOUT); # # Note that we never _copy_ the glob; we just make a ref to it. # If we did copy it, then SVf_FAKE would be set on the copy, and # glob-specific behaviors (e.g. C<*$ref = \&func>) wouldn't work. # sub gensym () { my $name = "GEN" . $genseq++; no strict 'refs'; my $ref = \*{$genpkg . $name}; delete $$genpkg{$name}; $ref; } sub geniosym () { my $sym = gensym(); # force the IO slot to be filled select(select $sym); *$sym{IO}; } sub ungensym ($) {} sub qualify ($;$) { my ($name) = @_; if (!ref($name) && index($name, '::') == -1 && index($name, "'") == -1) { my $pkg; # Global names: special character, "^xyz", or other. if ($name =~ /^(([^a-z])|(\^[a-z_]+))\z/i || $global{$name}) { # RGS 2001-11-05 : translate leading ^X to control-char $name =~ s/^\^([a-z_])/'qq(\c'.$1.')'/eei; $pkg = "main"; } else { $pkg = (@_ > 1) ? $_[1] : caller; } $name = $pkg . "::" . $name; } $name; } sub qualify_to_ref ($;$) { no strict 'refs'; return \*{ qualify $_[0], @_ > 1 ? $_[1] : caller }; } # # of Safe.pm lineage # sub delete_package ($) { my $pkg = shift; # expand to full symbol table name if needed unless ($pkg =~ /^main::.*::$/) { $pkg = "main$pkg" if $pkg =~ /^::/; $pkg = "main::$pkg" unless $pkg =~ /^main::/; $pkg .= '::' unless $pkg =~ /::$/; } my($stem, $leaf) = $pkg =~ m/(.*::)(\w+::)$/; no strict 'refs'; my $stem_symtab = *{$stem}{HASH}; return unless defined $stem_symtab and exists $stem_symtab->{$leaf}; # free all the symbols in the package my $leaf_symtab = *{$stem_symtab->{$leaf}}{HASH}; foreach my $name (keys %$leaf_symtab) { undef *{$pkg . $name}; } use strict 'refs'; # delete the symbol table %$leaf_symtab = (); delete $stem_symtab->{$leaf}; } 1; FILE!a90b71ff/Tie/Hash/NamedCapture.pm.use strict; package Tie::Hash::NamedCapture; our $VERSION = "0.13"; __END__ =head1 NAME Tie::Hash::NamedCapture - Named regexp capture buffers =head1 SYNOPSIS tie my %hash, "Tie::Hash::NamedCapture"; # %hash now behaves like %+ tie my %hash, "Tie::Hash::NamedCapture", all => 1; # %hash now access buffers from regexp in $qr like %- =head1 DESCRIPTION This module is used to implement the special hashes C<%+> and C<%->, but it can be used to tie other variables as you choose. When the C parameter is provided, then the tied hash elements will be array refs listing the contents of each capture buffer whose name is the same as the associated hash key. If none of these buffers were involved in the match, the contents of that array ref will be as many C values as there are capture buffers with that name. In other words, the tied hash will behave as C<%->. When the C parameter is omitted or false, then the tied hash elements will be the contents of the leftmost defined buffer with the name of the associated hash key. In other words, the tied hash will behave as C<%+>. The keys of C<%->-like hashes correspond to all buffer names found in the regular expression; the keys of C<%+>-like hashes list only the names of buffers that have captured (and that are thus associated to defined values). This implementation has been moved into the core executable, but you can still load this module for backward compatibility. =head1 SEE ALSO L, L, L, L, L. =cut FILEfc27010d/Time/Local.pm?package Time::Local; use strict; use Carp (); use Exporter; our $VERSION = '1.30'; use parent 'Exporter'; our @EXPORT = qw( timegm timelocal ); our @EXPORT_OK = qw( timegm_modern timelocal_modern timegm_nocheck timelocal_nocheck timegm_posix timelocal_posix ); my @MonthDays = ( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ); # Determine breakpoint for rolling century my $ThisYear = ( localtime() )[5]; my $Breakpoint = ( $ThisYear + 50 ) % 100; my $NextCentury = $ThisYear - $ThisYear % 100; $NextCentury += 100 if $Breakpoint < 50; my $Century = $NextCentury - 100; my $SecOff = 0; my ( %Options, %Cheat ); use constant SECS_PER_MINUTE => 60; use constant SECS_PER_HOUR => 3600; use constant SECS_PER_DAY => 86400; my $MaxDay; if ( $] < 5.012000 ) { require Config; ## no critic (Variables::ProhibitPackageVars) my $MaxInt; if ( $^O eq 'MacOS' ) { # time_t is unsigned... $MaxInt = ( 1 << ( 8 * $Config::Config{ivsize} ) ) - 1; ## no critic qw(ProhibitPackageVars) } else { $MaxInt = ( ( 1 << ( 8 * $Config::Config{ivsize} - 2 ) ) - 1 ) * 2 + 1; ## no critic qw(ProhibitPackageVars) } $MaxDay = int( ( $MaxInt - ( SECS_PER_DAY / 2 ) ) / SECS_PER_DAY ) - 1; } else { # recent localtime()'s limit is the year 2**31 $MaxDay = 365 * ( 2**31 ); } # Determine the EPOC day for this machine my $Epoc = 0; if ( $^O eq 'vos' ) { # work around posix-977 -- VOS doesn't handle dates in the range # 1970-1980. $Epoc = _daygm( 0, 0, 0, 1, 0, 70, 4, 0 ); } elsif ( $^O eq 'MacOS' ) { $MaxDay *= 2; # time_t unsigned ... quick hack? # MacOS time() is seconds since 1 Jan 1904, localtime # so we need to calculate an offset to apply later $Epoc = 693901; $SecOff = timelocal( localtime(0) ) - timelocal( gmtime(0) ); $Epoc += _daygm( gmtime(0) ); } else { $Epoc = _daygm( gmtime(0) ); } %Cheat = (); # clear the cache as epoc has changed sub _daygm { # This is written in such a byzantine way in order to avoid # lexical variables and sub calls, for speed return $_[3] + ( $Cheat{ pack( 'ss', @_[ 4, 5 ] ) } ||= do { my $month = ( $_[4] + 10 ) % 12; my $year = $_[5] + 1900 - int( $month / 10 ); ( ( 365 * $year ) + int( $year / 4 ) - int( $year / 100 ) + int( $year / 400 ) + int( ( ( $month * 306 ) + 5 ) / 10 ) ) - $Epoc; } ); } sub _timegm { my $sec = $SecOff + $_[0] + ( SECS_PER_MINUTE * $_[1] ) + ( SECS_PER_HOUR * $_[2] ); return $sec + ( SECS_PER_DAY * &_daygm ); } sub timegm { my ( $sec, $min, $hour, $mday, $month, $year ) = @_; if ( $Options{no_year_munging} ) { $year -= 1900; } elsif ( !$Options{posix_year} ) { if ( $year >= 1000 ) { $year -= 1900; } elsif ( $year < 100 and $year >= 0 ) { $year += ( $year > $Breakpoint ) ? $Century : $NextCentury; } } unless ( $Options{no_range_check} ) { Carp::croak("Month '$month' out of range 0..11") if $month > 11 or $month < 0; my $md = $MonthDays[$month]; ++$md if $month == 1 && _is_leap_year( $year + 1900 ); Carp::croak("Day '$mday' out of range 1..$md") if $mday > $md or $mday < 1; Carp::croak("Hour '$hour' out of range 0..23") if $hour > 23 or $hour < 0; Carp::croak("Minute '$min' out of range 0..59") if $min > 59 or $min < 0; Carp::croak("Second '$sec' out of range 0..59") if $sec >= 60 or $sec < 0; } my $days = _daygm( undef, undef, undef, $mday, $month, $year ); unless ( $Options{no_range_check} or abs($days) < $MaxDay ) { my $msg = q{}; $msg .= "Day too big - $days > $MaxDay\n" if $days > $MaxDay; $year += 1900; $msg .= "Cannot handle date ($sec, $min, $hour, $mday, $month, $year)"; Carp::croak($msg); } return $sec + $SecOff + ( SECS_PER_MINUTE * $min ) + ( SECS_PER_HOUR * $hour ) + ( SECS_PER_DAY * $days ); } sub _is_leap_year { return 0 if $_[0] % 4; return 1 if $_[0] % 100; return 0 if $_[0] % 400; return 1; } sub timegm_nocheck { local $Options{no_range_check} = 1; return &timegm; } sub timegm_modern { local $Options{no_year_munging} = 1; return &timegm; } sub timegm_posix { local $Options{posix_year} = 1; return &timegm; } sub timelocal { my $ref_t = &timegm; my $loc_for_ref_t = _timegm( localtime($ref_t) ); my $zone_off = $loc_for_ref_t - $ref_t or return $loc_for_ref_t; # Adjust for timezone my $loc_t = $ref_t - $zone_off; # Are we close to a DST change or are we done my $dst_off = $ref_t - _timegm( localtime($loc_t) ); # If this evaluates to true, it means that the value in $loc_t is # the _second_ hour after a DST change where the local time moves # backward. if ( !$dst_off && ( ( $ref_t - SECS_PER_HOUR ) - _timegm( localtime( $loc_t - SECS_PER_HOUR ) ) < 0 ) ) { return $loc_t - SECS_PER_HOUR; } # Adjust for DST change $loc_t += $dst_off; return $loc_t if $dst_off > 0; # If the original date was a non-existent gap in a forward DST jump, we # should now have the wrong answer - undo the DST adjustment my ( $s, $m, $h ) = localtime($loc_t); $loc_t -= $dst_off if $s != $_[0] || $m != $_[1] || $h != $_[2]; return $loc_t; } sub timelocal_nocheck { local $Options{no_range_check} = 1; return &timelocal; } sub timelocal_modern { local $Options{no_year_munging} = 1; return &timelocal; } sub timelocal_posix { local $Options{posix_year} = 1; return &timelocal; } 1; # ABSTRACT: Efficiently compute time from local and GMT time __END__ =pod =encoding UTF-8 =head1 NAME Time::Local - Efficiently compute time from local and GMT time =head1 VERSION version 1.30 =head1 SYNOPSIS use Time::Local qw( timelocal_posix timegm_posix ); my $time = timelocal_posix( $sec, $min, $hour, $mday, $mon, $year ); my $time = timegm_posix( $sec, $min, $hour, $mday, $mon, $year ); =head1 DESCRIPTION This module provides functions that are the inverse of built-in perl functions C and C. They accept a date as a six-element array, and return the corresponding C value in seconds since the system epoch (Midnight, January 1, 1970 GMT on Unix, for example). This value can be positive or negative, though POSIX only requires support for positive values, so dates before the system's epoch may not work on all operating systems. It is worth drawing particular attention to the expected ranges for the values provided. The value for the day of the month is the actual day (i.e. 1..31), while the month is the number of months since January (0..11). This is consistent with the values returned from C and C. =head1 FUNCTIONS =head2 C and C These functions are the exact inverse of Perl's built-in C and C functions. That means that calling C<< timelocal_posix( localtime($value) ) >> will always give you the same C<$value> you started with. The same applies to C<< timegm_posix( gmtime($value) ) >>. The one exception is when the value returned from C represents an ambiguous local time because of a DST change. See the documentation below for more details. These functions expect the year value to be the number of years since 1900, which is what the C and C built-ins returns. They perform range checking by default on the input C<$sec>, C<$min>, C<$hour>, C<$mday>, and C<$mon> values and will croak (using C) if given a value outside the allowed ranges. While it would be nice to make this the default behavior, that would almost certainly break a lot of code, so you must explicitly import these functions and use them instead of the default C and C. You are B encouraged to use these functions in any new code which uses this module. It will almost certainly make your code's behavior less surprising. =head2 C and C When C was first written, it was a common practice to represent years as a two-digit value like C<99> for C<1999> or C<1> for C<2001>. This caused all sorts of problems (google "Y2K problem" if you're very young) and developers eventually realized that this was a terrible idea. The default exports of C and C do a complicated calculation when given a year value less than 1000. This leads to surprising results in many cases. See L for details. The C functions do not do this year munging and simply take the year value as provided. They perform range checking by default on the input C<$sec>, C<$min>, C<$hour>, C<$mday>, and C<$mon> values and will croak (using C) if given a value outside the allowed ranges. =head2 C and C This module exports two functions by default, C and C. They perform range checking by default on the input C<$sec>, C<$min>, C<$hour>, C<$mday>, and C<$mon> values and will croak (using C) if given a value outside the allowed ranges. B or C<*_modern> functions if possible.> =head2 C and C If you are working with data you know to be valid, you can use the "nocheck" variants, C and C. These variants must be explicitly imported. If you supply data which is not valid (month 27, second 1,000) the results will be unpredictable (so don't do that). Note that my benchmarks show that this is just a 3% speed increase over the checked versions, so unless calling C is the hottest spot in your application, using these nocheck variants is unlikely to have much impact on your application. =head2 Year Value Interpretation B or C<*_modern> functions. Use those exports if you want to ensure consistent behavior as your code ages.> Strictly speaking, the year should be specified in a form consistent with C, i.e. the offset from 1900. In order to make the interpretation of the year easier for humans, however, who are more accustomed to seeing years as two-digit or four-digit values, the following conventions are followed: =over 4 =item * Years greater than 999 are interpreted as being the actual year, rather than the offset from 1900. Thus, 1964 would indicate the year Martin Luther King won the Nobel prize, not the year 3864. =item * Years in the range 100..999 are interpreted as offset from 1900, so that 112 indicates 2012. This rule also applies to years less than zero (but see note below regarding date range). =item * Years in the range 0..99 are interpreted as shorthand for years in the rolling "current century," defined as 50 years on either side of the current year. Thus, today, in 1999, 0 would refer to 2000, and 45 to 2045, but 55 would refer to 1955. Twenty years from now, 55 would instead refer to 2055. This is messy, but matches the way people currently think about two digit dates. Whenever possible, use an absolute four digit year instead. =back The scheme above allows interpretation of a wide range of dates, particularly if 4-digit years are used. But it also means that the behavior of your code changes as time passes, because the rolling "current century" changes each year. =head2 Limits of time_t On perl versions older than 5.12.0, the range of dates that can be actually be handled depends on the size of C (usually a signed integer) on the given platform. Currently, this is 32 bits for most systems, yielding an approximate range from Dec 1901 to Jan 2038. Both C and C croak if given dates outside the supported range. As of version 5.12.0, perl has stopped using the time implementation of the operating system it's running on. Instead, it has its own implementation of those routines with a safe range of at least +/- 2**52 (about 142 million years) =head2 Ambiguous Local Times (DST) Because of DST changes, there are many time zones where the same local time occurs for two different GMT times on the same day. For example, in the "Europe/Paris" time zone, the local time of 2001-10-28 02:30:00 can represent either 2001-10-28 00:30:00 GMT, B 2001-10-28 01:30:00 GMT. When given an ambiguous local time, the timelocal() function will always return the epoch for the I of the two possible GMT times. =head2 Non-Existent Local Times (DST) When a DST change causes a locale clock to skip one hour forward, there will be an hour's worth of local times that don't exist. Again, for the "Europe/Paris" time zone, the local clock jumped from 2001-03-25 01:59:59 to 2001-03-25 03:00:00. If the C function is given a non-existent local time, it will simply return an epoch value for the time one hour later. =head2 Negative Epoch Values On perl version 5.12.0 and newer, negative epoch values are fully supported. On older versions of perl, negative epoch (C) values, which are not officially supported by the POSIX standards, are known not to work on some systems. These include MacOS (pre-OSX) and Win32. On systems which do support negative epoch values, this module should be able to cope with dates before the start of the epoch, down the minimum value of time_t for the system. =head1 IMPLEMENTATION These routines are quite efficient and yet are always guaranteed to agree with C and C. We manage this by caching the start times of any months we've seen before. If we know the start time of the month, we can always calculate any time within the month. The start times are calculated using a mathematical formula. Unlike other algorithms that do multiple calls to C. The C function is implemented using the same cache. We just assume that we're translating a GMT time, and then fudge it when we're done for the timezone and daylight savings arguments. Note that the timezone is evaluated for each date because countries occasionally change their official timezones. Assuming that C corrects for these changes, this routine will also be correct. =head1 AUTHORS EMERITUS This module is based on a Perl 4 library, timelocal.pl, that was included with Perl 4.036, and was most likely written by Tom Christiansen. The current version was written by Graham Barr. =head1 BUGS The whole scheme for interpreting two-digit years can be considered a bug. Bugs may be submitted at L. There is a mailing list available for users of this distribution, L. I am also usually active on IRC as 'autarch' on C. =head1 SOURCE The source code repository for Time-Local can be found at L. =head1 AUTHOR Dave Rolsky =head1 CONTRIBUTORS =for stopwords Florian Ragwitz J. Nick Koston Unknown =over 4 =item * Florian Ragwitz =item * J. Nick Koston =item * Unknown =back =head1 COPYRIGHT AND LICENSE This software is copyright (c) 1997 - 2020 by Graham Barr & Dave Rolsky. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. The full text of the license can be found in the F file included with this distribution. =cut FILE43d8bfb2/XSLoader.pm,# Generated from XSLoader_pm.PL (resolved %Config::Config value) # This file is unique for every OS use strict; no strict 'refs'; package XSLoader; our $VERSION = "0.32"; # remember to update version in POD! package DynaLoader; # No prizes for guessing why we don't say 'bootstrap DynaLoader;' here. # NOTE: All dl_*.xs (including dl_none.xs) define a dl_error() XSUB boot_DynaLoader('DynaLoader') if defined(&boot_DynaLoader) && !defined(&dl_error); package XSLoader; sub load { package DynaLoader; my ($caller, $modlibname) = caller(); my $module = $caller; if (@_) { $module = $_[0]; } else { $_[0] = $module; } # work with static linking too my $boots = "$module\::bootstrap"; goto &$boots if defined &$boots; goto \&XSLoader::bootstrap_inherit; my @modparts = split(/::/,$module); my $modfname = $modparts[-1]; my $modfname_orig = $modfname; # For .bs file search my $modpname = join('/',@modparts); my $c = () = split(/::/,$caller,-1); $modlibname =~ s,[\\/][^\\/]+$,, while $c--; # Q&D basename # Does this look like a relative path? if ($modlibname !~ m{^/}) { # Someone may have a #line directive that changes the file name, or # may be calling XSLoader::load from inside a string eval. We cer- # tainly do not want to go loading some code that is not in @INC, # as it could be untrusted. # # We could just fall back to DynaLoader here, but then the rest of # this function would go untested in the perl core, since all @INC # paths are relative during testing. That would be a time bomb # waiting to happen, since bugs could be introduced into the code. # # So look through @INC to see if $modlibname is in it. A rela- # tive $modlibname is not a common occurrence, so this block is # not hot code. FOUND: { for (@INC) { if ($_ eq $modlibname) { last FOUND; } } # Not found. Fall back to DynaLoader. goto \&XSLoader::bootstrap_inherit; } } my $file = "$modlibname/auto/$modpname/$modfname.bundle"; # print STDERR "XSLoader::load for $module ($file)\n" if $dl_debug; # N.B. The .bs file does not following the naming convention used # by mod2fname, so use the unedited version of the name. my $bs = "$modlibname/auto/$modpname/$modfname_orig.bs"; # This calls DynaLoader::bootstrap, which will load the .bs file if present goto \&XSLoader::bootstrap_inherit if not -f $file or -s $bs; my $bootname = "boot_$module"; $bootname =~ s/\W/_/g; @DynaLoader::dl_require_symbols = ($bootname); my $boot_symbol_ref; if ($boot_symbol_ref = dl_find_symbol( 0, $bootname )) { goto boot; #extension library has already been loaded, e.g. darwin } # Many dynamic extension loading problems will appear to come from # this section of code: XYZ failed at line 123 of DynaLoader.pm. # Often these errors are actually occurring in the initialisation # C code of the extension XS file. Perl reports the error as being # in this perl code simply because this was the last perl code # it executed. my $libref = dl_load_file($file, 0) or do { require Carp; Carp::croak("Can't load '$file' for module $module: " . dl_error()); }; push(@DynaLoader::dl_librefs,$libref); # record loaded object $boot_symbol_ref = dl_find_symbol($libref, $bootname) or do { require Carp; Carp::croak("Can't find '$bootname' symbol in $file\n"); }; push(@DynaLoader::dl_modules, $module); # record loaded module boot: my $xs = dl_install_xsub($boots, $boot_symbol_ref, $file); # See comment block above push(@DynaLoader::dl_shared_objects, $file); # record files loaded return &$xs(@_); } # Can't test with DynaLoader->can('bootstrap_inherit') when building in the # core, as XSLoader gets built before DynaLoader. sub bootstrap_inherit { require DynaLoader; goto \&DynaLoader::bootstrap_inherit; } 1; __END__ =head1 NAME XSLoader - Dynamically load C libraries into Perl code =head1 VERSION Version 0.32 =head1 SYNOPSIS package YourPackage; require XSLoader; XSLoader::load(__PACKAGE__, $VERSION); =head1 DESCRIPTION This module defines a standard I interface to the dynamic linking mechanisms available on many platforms. Its primary purpose is to implement cheap automatic dynamic loading of Perl modules. For a more complicated interface, see L. Many (most) features of C are not implemented in C, like for example the C, not honored by C. =head2 Migration from C A typical module using L starts like this: package YourPackage; require DynaLoader; our @ISA = qw( OnePackage OtherPackage DynaLoader ); our $VERSION = '0.01'; __PACKAGE__->bootstrap($VERSION); Change this to package YourPackage; use XSLoader; our @ISA = qw( OnePackage OtherPackage ); our $VERSION = '0.01'; XSLoader::load(__PACKAGE__, $VERSION); In other words: replace C by C, remove C from C<@ISA>, change C by C. Do not forget to quote the name of your package on the C line, and add comma (C<,>) before the arguments (C<$VERSION> above). Of course, if C<@ISA> contained only C, there is no need to have the C<@ISA> assignment at all; moreover, if instead of C one uses the more backward-compatible use vars qw($VERSION @ISA); one can remove this reference to C<@ISA> together with the C<@ISA> assignment. If no C<$VERSION> was specified on the C line, the last line becomes XSLoader::load(__PACKAGE__); in which case it can be further simplified to XSLoader::load(); as C will use C to determine the package. =head2 Backward compatible boilerplate If you want to have your cake and eat it too, you need a more complicated boilerplate. package YourPackage; our @ISA = qw( OnePackage OtherPackage ); our $VERSION = '0.01'; eval { require XSLoader; XSLoader::load(__PACKAGE__, $VERSION); 1; } or do { require DynaLoader; push @ISA, 'DynaLoader'; __PACKAGE__->bootstrap($VERSION); }; The parentheses about C arguments are needed since we replaced C by C, so the compiler does not know that a function C is present. This boilerplate uses the low-overhead C if present; if used with an antique Perl which has no C, it falls back to using C. =head1 Order of initialization: early load() I section in your XS file (see L). What is described here is equally applicable to the L interface.> A sufficiently complicated module using XS would have both Perl code (defined in F) and XS code (defined in F). If this Perl code makes calls into this XS code, and/or this XS code makes calls to the Perl code, one should be careful with the order of initialization. The call to C (or C) calls the module's bootstrap code. For modules build by F (nearly all modules) this has three side effects: =over =item * A sanity check is done to ensure that the versions of the F<.pm> and the (compiled) F<.xs> parts are compatible. If C<$VERSION> was specified, this is used for the check. If not specified, it defaults to C<$XS_VERSION // $VERSION> (in the module's namespace) =item * the XSUBs are made accessible from Perl =item * if a C section was present in the F<.xs> file, the code there is called. =back Consequently, if the code in the F<.pm> file makes calls to these XSUBs, it is convenient to have XSUBs installed before the Perl code is defined; for example, this makes prototypes for XSUBs visible to this Perl code. Alternatively, if the C section makes calls to Perl functions (or uses Perl variables) defined in the F<.pm> file, they must be defined prior to the call to C (or C). The first situation being much more frequent, it makes sense to rewrite the boilerplate as package YourPackage; use XSLoader; our ($VERSION, @ISA); BEGIN { @ISA = qw( OnePackage OtherPackage ); $VERSION = '0.01'; # Put Perl code used in the BOOT: section here XSLoader::load(__PACKAGE__, $VERSION); } # Put Perl code making calls into XSUBs here =head2 The most hairy case If the interdependence of your C section and Perl code is more complicated than this (e.g., the C section makes calls to Perl functions which make calls to XSUBs with prototypes), get rid of the C section altogether. Replace it with a function C, and call it like this: package YourPackage; use XSLoader; our ($VERSION, @ISA); BEGIN { @ISA = qw( OnePackage OtherPackage ); $VERSION = '0.01'; XSLoader::load(__PACKAGE__, $VERSION); } # Put Perl code used in onBOOT() function here; calls to XSUBs are # prototype-checked. onBOOT; # Put Perl initialization code assuming that XS is initialized here =head1 DIAGNOSTICS =over =item C B<(F)> The bootstrap symbol could not be found in the extension module. =item C B<(F)> The loading or initialisation of the extension module failed. The detailed error follows. =item C B<(W)> As the message says, some symbols stay undefined although the extension module was correctly loaded and initialised. The list of undefined symbols follows. =back =head1 LIMITATIONS To reduce the overhead as much as possible, only one possible location is checked to find the extension DLL (this location is where C would put the DLL). If not found, the search for the DLL is transparently delegated to C, which looks for the DLL along the C<@INC> list. In particular, this is applicable to the structure of C<@INC> used for testing not-yet-installed extensions. This means that running uninstalled extensions may have much more overhead than running the same extensions after C. =head1 KNOWN BUGS The new simpler way to call C with no arguments at all does not work on Perl 5.8.4 and 5.8.5. =head1 BUGS Please report any bugs or feature requests via the perlbug(1) utility. =head1 SEE ALSO L =head1 AUTHORS Ilya Zakharevich originally extracted C from C. CPAN version is currently maintained by SEbastien Aperghis-Tramoni Esebastien@aperghis.netE. Previous maintainer was Michael G Schwern . =head1 COPYRIGHT & LICENSE Copyright (C) 1990-2011 by Larry Wall and others. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut FILE65b9a8f7/base.pm*use 5.008; package base; use strict 'vars'; our $VERSION = '2.27'; $VERSION =~ tr/_//d; # simplest way to avoid indexing of the package: no package statement sub base::__inc::unhook { @INC = grep !(ref eq 'CODE' && $_ == $_[0]), @INC } # instance is blessed array of coderefs to be removed from @INC at scope exit sub base::__inc::scope_guard::DESTROY { base::__inc::unhook $_ for @{$_[0]} } # constant.pm is slow sub SUCCESS () { 1 } sub PUBLIC () { 2**0 } sub PRIVATE () { 2**1 } sub INHERITED () { 2**2 } sub PROTECTED () { 2**3 } my $Fattr = \%fields::attr; sub has_fields { my($base) = shift; my $fglob = ${"$base\::"}{FIELDS}; return( ($fglob && 'GLOB' eq ref($fglob) && *$fglob{HASH}) ? 1 : 0 ); } sub has_attr { my($proto) = shift; my($class) = ref $proto || $proto; return exists $Fattr->{$class}; } sub get_attr { $Fattr->{$_[0]} = [1] unless $Fattr->{$_[0]}; return $Fattr->{$_[0]}; } if ($] < 5.009) { *get_fields = sub { # Shut up a possible typo warning. () = \%{$_[0].'::FIELDS'}; my $f = \%{$_[0].'::FIELDS'}; # should be centralized in fields? perhaps # fields::mk_FIELDS_be_OK. Peh. As long as %{ $package . '::FIELDS' } # is used here anyway, it doesn't matter. bless $f, 'pseudohash' if (ref($f) ne 'pseudohash'); return $f; } } else { *get_fields = sub { # Shut up a possible typo warning. () = \%{$_[0].'::FIELDS'}; return \%{$_[0].'::FIELDS'}; } } if ($] < 5.008) { *_module_to_filename = sub { (my $fn = $_[0]) =~ s!::!/!g; $fn .= '.pm'; return $fn; } } else { *_module_to_filename = sub { (my $fn = $_[0]) =~ s!::!/!g; $fn .= '.pm'; utf8::encode($fn); return $fn; } } sub import { my $class = shift; return SUCCESS unless @_; # List of base classes from which we will inherit %FIELDS. my $fields_base; my $inheritor = caller(0); my @bases; foreach my $base (@_) { if ( $inheritor eq $base ) { warn "Class '$inheritor' tried to inherit from itself\n"; } next if grep $_->isa($base), ($inheritor, @bases); # Following blocks help isolate $SIG{__DIE__} and @INC changes { my $sigdie; { local $SIG{__DIE__}; my $fn = _module_to_filename($base); my $dot_hidden; eval { my $guard; if ($INC[-1] eq '.' && %{"$base\::"}) { # So: the package already exists => this an optional load # And: there is a dot at the end of @INC => we want to hide it # However: we only want to hide it during our *own* require() # (i.e. without affecting nested require()s). # So we add a hook to @INC whose job is to hide the dot, but which # first checks checks the callstack depth, because within nested # require()s the callstack is deeper. # Since CORE::GLOBAL::require makes it unknowable in advance what # the exact relevant callstack depth will be, we have to record it # inside a hook. So we put another hook just for that at the front # of @INC, where it's guaranteed to run -- immediately. # The dot-hiding hook does its job by sitting directly in front of # the dot and removing itself from @INC when reached. This causes # the dot to move up one index in @INC, causing the loop inside # pp_require() to skip it. # Loaded coded may disturb this precise arrangement, but that's OK # because the hook is inert by that time. It is only active during # the top-level require(), when @INC is in our control. The only # possible gotcha is if other hooks already in @INC modify @INC in # some way during that initial require(). # Note that this jiggery hookery works just fine recursively: if # a module loaded via base.pm uses base.pm itself, there will be # one pair of hooks in @INC per base::import call frame, but the # pairs from different nestings do not interfere with each other. my $lvl; unshift @INC, sub { return if defined $lvl; 1 while defined caller ++$lvl; () }; splice @INC, -1, 0, sub { return if defined caller $lvl; ++$dot_hidden, &base::__inc::unhook; () }; $guard = bless [ @INC[0,-2] ], 'base::__inc::scope_guard'; } require $fn }; if ($dot_hidden && (my @fn = grep -e && !( -d _ || -b _ ), $fn.'c', $fn)) { require Carp; Carp::croak(<]*> (?:line|chunk) [0-9]+)?\.\n\z/s || $@ =~ /Compilation failed in require at .* line [0-9]+(?:, <[^>]*> (?:line|chunk) [0-9]+)?\.\n\z/; unless (%{"$base\::"}) { require Carp; local $" = " "; Carp::croak(<[0] = @$battr; if( keys %$dfields ) { warn <<"END"; $derived is inheriting from $base but already has its own fields! This will cause problems. Be sure you use base BEFORE declaring fields. END } # Iterate through the base's fields adding all the non-private # ones to the derived class. Hang on to the original attribute # (Public, Private, etc...) and add Inherited. # This is all too complicated to do efficiently with add_fields(). while (my($k,$v) = each %$bfields) { my $fno; if ($fno = $dfields->{$k} and $fno != $v) { require Carp; Carp::croak ("Inherited fields can't override existing fields"); } if( $battr->[$v] & PRIVATE ) { $dattr->[$v] = PRIVATE | INHERITED; } else { $dattr->[$v] = INHERITED | $battr->[$v]; $dfields->{$k} = $v; } } foreach my $idx (1..$#{$battr}) { next if defined $dattr->[$idx]; $dattr->[$idx] = $battr->[$idx] & INHERITED; } } 1; __END__ =head1 NAME base - Establish an ISA relationship with base classes at compile time =head1 SYNOPSIS package Baz; use base qw(Foo Bar); =head1 DESCRIPTION Unless you are using the C pragma, consider this module discouraged in favor of the lighter-weight C. Allows you to both load one or more modules, while setting up inheritance from those modules at the same time. Roughly similar in effect to package Baz; BEGIN { require Foo; require Bar; push @ISA, qw(Foo Bar); } When C tries to C a module, it will not die if it cannot find the module's file, but will die on any other error. After all this, should your base class be empty, containing no symbols, C will die. This is useful for inheriting from classes in the same file as yourself but where the filename does not match the base module name, like so: # in Bar.pm package Foo; sub exclaim { "I can have such a thing?!" } package Bar; use base "Foo"; There is no F, but because C defines a symbol (the C subroutine), C will not die when the C fails to load F. C will also initialize the fields if one of the base classes has it. Multiple inheritance of fields is B supported, if two or more base classes each have inheritable fields the 'base' pragma will croak. See L for a description of this feature. The base class' C method is B called. =head1 DIAGNOSTICS =over 4 =item Base class package "%s" is empty. base.pm was unable to require the base package, because it was not found in your path. =item Class 'Foo' tried to inherit from itself Attempting to inherit from yourself generates a warning. package Foo; use base 'Foo'; =back =head1 HISTORY This module was introduced with Perl 5.004_04. =head1 CAVEATS Due to the limitations of the implementation, you must use base I you declare any of your own fields. =head1 SEE ALSO L =cut FILEf923cf11/builtin.pm(package builtin 0.008; use strict; use warnings; # All code, including &import, is implemented by always-present functions in # the perl interpreter itself. # See also `builtin.c` in perl source 1; __END__ =head1 NAME builtin - Perl pragma to import built-in utility functions =head1 SYNOPSIS use builtin qw( true false is_bool weaken unweaken is_weak blessed refaddr reftype created_as_string created_as_number ceil floor indexed trim is_tainted export_lexically ); =head1 DESCRIPTION Perl provides several utility functions in the C package. These are plain functions, and look and behave just like regular user-defined functions do. They do not provide new syntax or require special parsing. These functions are always present in the interpreter and can be called at any time by their fully-qualified names. By default they are not available as short names, but can be requested for convenience. Individual named functions can be imported by listing them as import parameters on the C statement for this pragma. The overall C mechanism, as well as every individual function it provides, are currently B. B: At present, the entire C namespace is experimental. Calling functions in it will trigger warnings of the C category. =head2 Lexical Import This pragma module creates I aliases in the currently-compiling scope to these builtin functions. This is similar to the lexical effect of other pragmas such as L and L. sub classify { my $val = shift; use builtin 'is_bool'; return is_bool($val) ? "boolean" : "not a boolean"; } # the is_bool() function is no longer visible here # but may still be called by builtin::is_bool() Because these functions are imported lexically, rather than by package symbols, the user does not need to take any special measures to ensure they don't accidentally appear as object methods from a class. package An::Object::Class { use builtin 'true', 'false'; ... } # does not appear as a method An::Object::Class->true; # Can't locate object method "true" via package "An::Object::Class" # at ... =head1 FUNCTIONS =head2 true $val = true; Returns the boolean truth value. While any scalar value can be tested for truth and most defined, non-empty and non-zero values are considered "true" by perl, this one is special in that L considers it to be a distinguished boolean value. This gives an equivalent value to expressions like C or C. =head2 false $val = false; Returns the boolean fiction value. While any non-true scalar value is considered "false" by perl, this one is special in that L considers it to be a distinguished boolean value. This gives an equivalent value to expressions like C or C. =head2 is_bool $bool = is_bool($val); Returns true when given a distinguished boolean value, or false if not. A distinguished boolean value is the result of any boolean-returning builtin function (such as C or C itself), boolean-returning operator (such as the C or C<==> comparison tests or the C negation operator), or any variable containing one of these results. This function used to be named C. A compatibility alias is provided currently but will be removed in a later version. =head2 weaken weaken($ref); Weakens a reference. A weakened reference does not contribute to the reference count of its referent. If only weakened references to a referent remain, it will be disposed of, and all remaining weak references to it will have their value set to C. =head2 unweaken unweaken($ref); Strengthens a reference, undoing the effects of a previous call to L. =head2 is_weak $bool = is_weak($ref); Returns true when given a weakened reference, or false if not a reference or not weak. This function used to be named C. A compatibility alias is provided currently but will be removed in a later version. =head2 blessed $str = blessed($ref); Returns the package name for an object reference, or C for a non-reference or reference that is not an object. =head2 refaddr $num = refaddr($ref); Returns the memory address for a reference, or C for a non-reference. This value is not likely to be very useful for pure Perl code, but is handy as a means to test for referential identity or uniqueness. =head2 reftype $str = reftype($ref); Returns the basic container type of the referent of a reference, or C for a non-reference. This is returned as a string in all-capitals, such as C for array references, or C for hash references. =head2 created_as_string $bool = created_as_string($val); Returns a boolean representing if the argument value was originally created as a string. It will return true for any scalar expression whose most recent assignment or modification was of a string-like nature - such as assignment from a string literal, or the result of a string operation such as concatenation or regexp. It will return false for references (including any object), numbers, booleans and undef. It is unlikely that you will want to use this for regular data validation within Perl, as it will not return true for regular numbers that are still perfectly usable as strings, nor for any object reference - especially objects that overload the stringification operator in an attempt to behave more like strings. For example my $val = URI->new( "https://metacpan.org/" ); if( created_as_string $val ) { ... } # this will not execute =head2 created_as_number $bool = created_as_number($val); Returns a boolean representing if the argument value was originally created as a number. It will return true for any scalar expression whose most recent assignment or modification was of a numerical nature - such as assignment from a number literal, or the result of a numerical operation such as addition. It will return false for references (including any object), strings, booleans and undef. It is unlikely that you will want to use this for regular data validation within Perl, as it will not return true for regular strings of decimal digits that are still perfectly usable as numbers, nor for any object reference - especially objects that overload the numification operator in an attempt to behave more like numbers. For example my $val = Math::BigInt->new( 123 ); if( created_as_number $val ) { ... } # this will not execute While most Perl code should operate on scalar values without needing to know their creation history, these two functions are intended to be used by data serialisation modules such as JSON encoders or similar situations, where language interoperability concerns require making a distinction between values that are fundamentally stringlike versus numberlike in nature. =head2 ceil $num = ceil($num); Returns the smallest integer value greater than or equal to the given numerical argument. =head2 floor $num = floor($num); Returns the largest integer value less than or equal to the given numerical argument. =head2 indexed @ivpairs = indexed(@items) Returns an even-sized list of number/value pairs, where each pair is formed of a number giving an index in the original list followed by the value at that position in it. I.e. returns a list twice the size of the original, being equal to (0, $items[0], 1, $items[1], 2, $items[2], ...) Note that unlike the core C function, this function returns copies of its original arguments, not aliases to them. Any modifications of these copies are I reflected in modifications to the original. my @x = ...; $_++ for indexed @x; # The @x array remains unaffected This function is primarily intended to be useful combined with multi-variable C loop syntax; as foreach my ($index, $value) (indexed LIST) { ... } In scalar context this function returns the size of the list that it would otherwise have returned, and provokes a warning in the C category. =head2 trim $stripped = trim($string); Returns the input string with whitespace stripped from the beginning and end. trim() will remove these characters: " ", an ordinary space. "\t", a tab. "\n", a new line (line feed). "\r", a carriage return. and all other Unicode characters that are flagged as whitespace. A complete list is in L. $var = " Hello world "; # "Hello world" $var = "\t\t\tHello world"; # "Hello world" $var = "Hello world\n"; # "Hello world" $var = "\x{2028}Hello world\x{3000}"; # "Hello world" C is equivalent to: $str =~ s/\A\s+|\s+\z//urg; For Perl versions where this feature is not available look at the L module for a comparable implementation. =head2 is_tainted $bool = is_tainted($var); Returns true when given a tainted variable. =head2 export_lexically export_lexically($name1, $ref1, $name2, $ref2, ...) Exports new lexical names into the scope currently being compiled. Names given by the first of each pair of values will refer to the corresponding item whose reference is given by the second. Types of item that are permitted are subroutines, and scalar, array, and hash variables. If the item is a subroutine, the name may optionally be prefixed with the C<&> sigil, but for convenience it doesn't have to. For items that are variables the sigil is required, and must match the type of the variable. export_lexically func => \&func, '&func' => \&func; # same as above export_lexically '$scalar' => \my $var; Z<> # The following are not permitted export_lexically '$var' => \@arr; # sigil does not match export_lexically name => \$scalar; # implied '&' sigil does not match export_lexically '*name' => \*globref; # globrefs are not supported This must be called at compile time; which typically means during a C block. Usually this would be used as part of an C method of a module, when invoked as part of a C statement. =head1 SEE ALSO L, L, L FILEd780df67/bytes.pmpackage bytes; use strict; use warnings; our $VERSION = '1.08'; $bytes::hint_bits = 0x00000008; sub import { $^H |= $bytes::hint_bits; } sub unimport { $^H &= ~$bytes::hint_bits; } our $AUTOLOAD; sub AUTOLOAD { require "bytes_heavy.pl"; goto &$AUTOLOAD if defined &$AUTOLOAD; require Carp; Carp::croak("Undefined subroutine $AUTOLOAD called"); } sub length (_); sub chr (_); sub ord (_); sub substr ($$;$$); sub index ($$;$); sub rindex ($$;$); 1; __END__ =head1 NAME bytes - Perl pragma to expose the individual bytes of characters =head1 NOTICE Because the bytes pragma breaks encapsulation (i.e. it exposes the innards of how the perl executable currently happens to store a string), the byte values that result are in an unspecified encoding. B If you feel that the functions here within might be useful for your application, this possibly indicates a mismatch between your mental model of Perl Unicode and the current reality. In that case, you may wish to read some of the perl Unicode documentation: L, L, L and L. =head1 SYNOPSIS use bytes; ... chr(...); # or bytes::chr ... index(...); # or bytes::index ... length(...); # or bytes::length ... ord(...); # or bytes::ord ... rindex(...); # or bytes::rindex ... substr(...); # or bytes::substr no bytes; =head1 DESCRIPTION Perl's characters are stored internally as sequences of one or more bytes. This pragma allows for the examination of the individual bytes that together comprise a character. Originally the pragma was designed for the loftier goal of helping incorporate Unicode into Perl, but the approach that used it was found to be defective, and the one remaining legitimate use is for debugging when you need to non-destructively examine characters' individual bytes. Just insert this pragma temporarily, and remove it after the debugging is finished. The original usage can be accomplished by explicit (rather than this pragma's implicit) encoding using the L module: use Encode qw/encode/; my $utf8_byte_string = encode "UTF8", $string; my $latin1_byte_string = encode "Latin1", $string; Or, if performance is needed and you are only interested in the UTF-8 representation: utf8::encode(my $utf8_byte_string = $string); C can be used to reverse the effect of C within the current lexical scope. As an example, when Perl sees C<$x = chr(400)>, it encodes the character in UTF-8 and stores it in C<$x>. Then it is marked as character data, so, for instance, C returns C<1>. However, in the scope of the C pragma, C<$x> is treated as a series of bytes - the bytes that make up the UTF8 encoding - and C returns C<2>: $x = chr(400); print "Length is ", length $x, "\n"; # "Length is 1" printf "Contents are %vd\n", $x; # "Contents are 400" { use bytes; # or "require bytes; bytes::length()" print "Length is ", length $x, "\n"; # "Length is 2" printf "Contents are %vd\n", $x; # "Contents are 198.144 (on # ASCII platforms)" } C, C, C, C and C behave similarly. For more on the implications, see L and L. C is admittedly handy if you need to know the B of a Perl scalar. But a more modern way is: use Encode 'encode'; length(encode('UTF-8', $scalar)) =head1 LIMITATIONS C does not work as an I. =head1 SEE ALSO L, L, L, L =cut FILEcd5536a3/constant.pm9package constant; use 5.008; use strict; use warnings::register; our $VERSION = '1.33'; our %declared; #======================================================================= # Some names are evil choices. my %keywords = map +($_, 1), qw{ BEGIN INIT CHECK END DESTROY AUTOLOAD }; $keywords{UNITCHECK}++ if $] > 5.009; my %forced_into_main = map +($_, 1), qw{ STDIN STDOUT STDERR ARGV ARGVOUT ENV INC SIG }; my %forbidden = (%keywords, %forced_into_main); my $normal_constant_name = qr/^_?[^\W_0-9]\w*\z/; my $tolerable = qr/^[A-Za-z_]\w*\z/; my $boolean = qr/^[01]?\z/; BEGIN { # We'd like to do use constant _CAN_PCS => $] > 5.009002 # but that's a bit tricky before we load the constant module :-) # By doing this, we save several run time checks for *every* call # to import. my $const = $] > 5.009002; my $downgrade = $] < 5.015004; # && $] >= 5.008 my $constarray = exists &_make_const; if ($const) { Internals::SvREADONLY($const, 1); Internals::SvREADONLY($downgrade, 1); $constant::{_CAN_PCS} = \$const; $constant::{_DOWNGRADE} = \$downgrade; $constant::{_CAN_PCS_FOR_ARRAY} = \$constarray; } else { no strict 'refs'; *{"_CAN_PCS"} = sub () {$const}; *{"_DOWNGRADE"} = sub () { $downgrade }; *{"_CAN_PCS_FOR_ARRAY"} = sub () { $constarray }; } } #======================================================================= # import() - import symbols into user's namespace # # What we actually do is define a function in the caller's namespace # which returns the value. The function we create will normally # be inlined as a constant, thereby avoiding further sub calling # overhead. #======================================================================= sub import { my $class = shift; return unless @_; # Ignore 'use constant;' my $constants; my $multiple = ref $_[0]; my $caller = caller; my $flush_mro; my $symtab; if (_CAN_PCS) { no strict 'refs'; $symtab = \%{$caller . '::'}; }; if ( $multiple ) { if (ref $_[0] ne 'HASH') { require Carp; Carp::croak("Invalid reference type '".ref(shift)."' not 'HASH'"); } $constants = shift; } else { unless (defined $_[0]) { require Carp; Carp::croak("Can't use undef as constant name"); } $constants->{+shift} = undef; } foreach my $name ( keys %$constants ) { my $pkg; my $symtab = $symtab; my $orig_name = $name; if ($name =~ s/(.*)(?:::|')(?=.)//s) { $pkg = $1; if (_CAN_PCS && $pkg ne $caller) { no strict 'refs'; $symtab = \%{$pkg . '::'}; } } else { $pkg = $caller; } # Normal constant name if ($name =~ $normal_constant_name and !$forbidden{$name}) { # Everything is okay # Name forced into main, but we're not in main. Fatal. } elsif ($forced_into_main{$name} and $pkg ne 'main') { require Carp; Carp::croak("Constant name '$name' is forced into main::"); # Starts with double underscore. Fatal. } elsif ($name =~ /^__/) { require Carp; Carp::croak("Constant name '$name' begins with '__'"); # Maybe the name is tolerable } elsif ($name =~ $tolerable) { # Then we'll warn only if you've asked for warnings if (warnings::enabled()) { if ($keywords{$name}) { warnings::warn("Constant name '$name' is a Perl keyword"); } elsif ($forced_into_main{$name}) { warnings::warn("Constant name '$name' is " . "forced into package main::"); } } # Looks like a boolean # use constant FRED == fred; } elsif ($name =~ $boolean) { require Carp; if (@_) { Carp::croak("Constant name '$name' is invalid"); } else { Carp::croak("Constant name looks like boolean value"); } } else { # Must have bad characters require Carp; Carp::croak("Constant name '$name' has invalid characters"); } { no strict 'refs'; my $full_name = "${pkg}::$name"; $declared{$full_name}++; if ($multiple || @_ == 1) { my $scalar = $multiple ? $constants->{$orig_name} : $_[0]; if (_DOWNGRADE) { # for 5.8 to 5.14 # Work around perl bug #31991: Sub names (actually glob # names in general) ignore the UTF8 flag. So we have to # turn it off to get the "right" symbol table entry. utf8::is_utf8 $name and utf8::encode $name; } # The constant serves to optimise this entire block out on # 5.8 and earlier. if (_CAN_PCS) { # Use a reference as a proxy for a constant subroutine. # If this is not a glob yet, it saves space. If it is # a glob, we must still create it this way to get the # right internal flags set, as constants are distinct # from subroutines created with sub(){...}. # The check in Perl_ck_rvconst knows that inlinable # constants from cv_const_sv are read only. So we have to: Internals::SvREADONLY($scalar, 1); if (!exists $symtab->{$name}) { $symtab->{$name} = \$scalar; ++$flush_mro->{$pkg}; } else { local $constant::{_dummy} = \$scalar; *$full_name = \&{"_dummy"}; } } else { *$full_name = sub () { $scalar }; } } elsif (@_) { my @list = @_; if (_CAN_PCS_FOR_ARRAY) { _make_const($list[$_]) for 0..$#list; _make_const(@list); if (!exists $symtab->{$name}) { $symtab->{$name} = \@list; $flush_mro->{$pkg}++; } else { local $constant::{_dummy} = \@list; *$full_name = \&{"_dummy"}; } } else { *$full_name = sub () { @list }; } } else { *$full_name = sub () { }; } } } # Flush the cache exactly once if we make any direct symbol table changes. if (_CAN_PCS && $flush_mro) { mro::method_changed_in($_) for keys %$flush_mro; } } 1; __END__ =head1 NAME constant - Perl pragma to declare constants =head1 SYNOPSIS use constant PI => 4 * atan2(1, 1); use constant DEBUG => 0; print "Pi equals ", PI, "...\n" if DEBUG; use constant { SEC => 0, MIN => 1, HOUR => 2, MDAY => 3, MON => 4, YEAR => 5, WDAY => 6, YDAY => 7, ISDST => 8, }; use constant WEEKDAYS => qw( Sunday Monday Tuesday Wednesday Thursday Friday Saturday ); print "Today is ", (WEEKDAYS)[ (localtime)[WDAY] ], ".\n"; =head1 DESCRIPTION This pragma allows you to declare constants at compile-time. When you declare a constant such as C using the method shown above, each machine your script runs upon can have as many digits of accuracy as it can use. Also, your program will be easier to read, more likely to be maintained (and maintained correctly), and far less likely to send a space probe to the wrong planet because nobody noticed the one equation in which you wrote C<3.14195>. When a constant is used in an expression, Perl replaces it with its value at compile time, and may then optimize the expression further. In particular, any code in an C block will be optimized away if the constant is false. =head1 NOTES As with all C directives, defining a constant happens at compile time. Thus, it's probably not correct to put a constant declaration inside of a conditional statement (like C). Constants defined using this module cannot be interpolated into strings like variables. However, concatenation works just fine: print "Pi equals PI...\n"; # WRONG: does not expand "PI" print "Pi equals ".PI."...\n"; # right Even though a reference may be declared as a constant, the reference may point to data which may be changed, as this code shows. use constant ARRAY => [ 1,2,3,4 ]; print ARRAY->[1]; ARRAY->[1] = " be changed"; print ARRAY->[1]; Constants belong to the package they are defined in. To refer to a constant defined in another package, specify the full package name, as in C. Constants may be exported by modules, and may also be called as either class or instance methods, that is, as C<< Some::Package->CONSTANT >> or as C<< $obj->CONSTANT >> where C<$obj> is an instance of C. Subclasses may define their own constants to override those in their base class. As of version 1.32 of this module, constants can be defined in packages other than the caller, by including the package name in the name of the constant: use constant "OtherPackage::FWIBBLE" => 7865; constant->import("Other::FWOBBLE",$value); # dynamically at run time The use of all caps for constant names is merely a convention, although it is recommended in order to make constants stand out and to help avoid collisions with other barewords, keywords, and subroutine names. Constant names must begin with a letter or underscore. Names beginning with a double underscore are reserved. Some poor choices for names will generate warnings, if warnings are enabled at compile time. =head2 List constants Constants may be lists of more (or less) than one value. A constant with no values evaluates to C in scalar context. Note that constants with more than one value do I return their last value in scalar context as one might expect. They currently return the number of values, but B. Do not use constants with multiple values in scalar context. B This implies that the expression defining the value of a constant is evaluated in list context. This may produce surprises: use constant TIMESTAMP => localtime; # WRONG! use constant TIMESTAMP => scalar localtime; # right The first line above defines C as a 9-element list, as returned by C in list context. To set it to the string returned by C in scalar context, an explicit C keyword is required. List constants are lists, not arrays. To index or slice them, they must be placed in parentheses. my @workdays = WEEKDAYS[1 .. 5]; # WRONG! my @workdays = (WEEKDAYS)[1 .. 5]; # right =head2 Defining multiple constants at once Instead of writing multiple C statements, you may define multiple constants in a single statement by giving, instead of the constant name, a reference to a hash where the keys are the names of the constants to be defined. Obviously, all constants defined using this method must have a single value. use constant { FOO => "A single value", BAR => "This", "won't", "work!", # Error! }; This is a fundamental limitation of the way hashes are constructed in Perl. The error messages produced when this happens will often be quite cryptic -- in the worst case there may be none at all, and you'll only later find that something is broken. When defining multiple constants, you cannot use the values of other constants defined in the same declaration. This is because the calling package doesn't know about any constant within that group until I the C statement is finished. use constant { BITMASK => 0xAFBAEBA8, NEGMASK => ~BITMASK, # Error! }; =head2 Magic constants Magical values and references can be made into constants at compile time, allowing for way cool stuff like this. (These error numbers aren't totally portable, alas.) use constant E2BIG => ($! = 7); print E2BIG, "\n"; # something like "Arg list too long" print 0+E2BIG, "\n"; # "7" You can't produce a tied constant by giving a tied scalar as the value. References to tied variables, however, can be used as constants without any problems. =head1 TECHNICAL NOTES In the current implementation, scalar constants are actually inlinable subroutines. As of version 5.004 of Perl, the appropriate scalar constant is inserted directly in place of some subroutine calls, thereby saving the overhead of a subroutine call. See L for details about how and when this happens. In the rare case in which you need to discover at run time whether a particular constant has been declared via this module, you may use this function to examine the hash C<%constant::declared>. If the given constant name does not include a package name, the current package is used. sub declared ($) { use constant 1.01; # don't omit this! my $name = shift; $name =~ s/^::/main::/; my $pkg = caller; my $full_name = $name =~ /::/ ? $name : "${pkg}::$name"; $constant::declared{$full_name}; } =head1 CAVEATS List constants are not inlined unless you are using Perl v5.20 or higher. In v5.20 or higher, they are still not read-only, but that may change in future versions. It is not possible to have a subroutine or a keyword with the same name as a constant in the same package. This is probably a Good Thing. A constant with a name in the list C is not allowed anywhere but in package C, for technical reasons. Unlike constants in some languages, these cannot be overridden on the command line or via environment variables. You can get into trouble if you use constants in a context which automatically quotes barewords (as is true for any subroutine call). For example, you can't say C<$hash{CONSTANT}> because C will be interpreted as a string. Use C<$hash{CONSTANT()}> or C<$hash{+CONSTANT}> to prevent the bareword quoting mechanism from kicking in. Similarly, since the C<< => >> operator quotes a bareword immediately to its left, you have to say C<< CONSTANT() => 'value' >> (or simply use a comma in place of the big arrow) instead of C<< CONSTANT => 'value' >>. =head1 SEE ALSO L - Facility for creating read-only scalars, arrays, hashes. L - Make read-only variables via attribute L - Perl extension to the C scalar flag L - A selection of general-utility hash subroutines (mostly to lock/unlock keys and values) =head1 BUGS Please report any bugs or feature requests via the perlbug(1) utility. =head1 AUTHORS Tom Phoenix, EFE, with help from many other folks. Multiple constant declarations at once added by Casey West, EFE. Documentation mostly rewritten by Ilmari Karonen, EFE. This program is maintained by the Perl 5 Porters. The CPAN distribution is maintained by SEbastien Aperghis-Tramoni EFE. =head1 COPYRIGHT & LICENSE Copyright (C) 1997, 1999 Tom Phoenix This module is free software; you can redistribute it or modify it under the same terms as Perl itself. =cut FILEd7b5e0d6/Compress/Raw/Zlib.pm package Compress::Raw::Zlib; require 5.006 ; require Exporter; use Carp ; use strict ; use warnings ; use bytes ; our ($VERSION, $XS_VERSION, @ISA, @EXPORT, %EXPORT_TAGS, @EXPORT_OK, $AUTOLOAD, %DEFLATE_CONSTANTS, @DEFLATE_CONSTANTS); $VERSION = '2.204_001'; $XS_VERSION = $VERSION; $VERSION = eval $VERSION; @ISA = qw(Exporter); %EXPORT_TAGS = ( flush => [qw{ Z_NO_FLUSH Z_PARTIAL_FLUSH Z_SYNC_FLUSH Z_FULL_FLUSH Z_FINISH Z_BLOCK }], level => [qw{ Z_NO_COMPRESSION Z_BEST_SPEED Z_BEST_COMPRESSION Z_DEFAULT_COMPRESSION }], strategy => [qw{ Z_FILTERED Z_HUFFMAN_ONLY Z_RLE Z_FIXED Z_DEFAULT_STRATEGY }], status => [qw{ Z_OK Z_STREAM_END Z_NEED_DICT Z_ERRNO Z_STREAM_ERROR Z_DATA_ERROR Z_MEM_ERROR Z_BUF_ERROR Z_VERSION_ERROR }], ); %DEFLATE_CONSTANTS = %EXPORT_TAGS; # Items to export into callers namespace by default. Note: do not export # names by default without a very good reason. Use EXPORT_OK instead. # Do not simply export all your public functions/methods/constants. @DEFLATE_CONSTANTS = @EXPORT = qw( ZLIB_VERSION ZLIB_VERNUM OS_CODE MAX_MEM_LEVEL MAX_WBITS Z_ASCII Z_BEST_COMPRESSION Z_BEST_SPEED Z_BINARY Z_BLOCK Z_BUF_ERROR Z_DATA_ERROR Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY Z_DEFLATED Z_ERRNO Z_FILTERED Z_FIXED Z_FINISH Z_FULL_FLUSH Z_HUFFMAN_ONLY Z_MEM_ERROR Z_NEED_DICT Z_NO_COMPRESSION Z_NO_FLUSH Z_NULL Z_OK Z_PARTIAL_FLUSH Z_RLE Z_STREAM_END Z_STREAM_ERROR Z_SYNC_FLUSH Z_TREES Z_UNKNOWN Z_VERSION_ERROR ZLIBNG_VERSION ZLIBNG_VERNUM ZLIBNG_VER_MAJOR ZLIBNG_VER_MINOR ZLIBNG_VER_REVISION ZLIBNG_VER_STATUS ZLIBNG_VER_MODIFIED WANT_GZIP WANT_GZIP_OR_ZLIB ); push @EXPORT, qw(crc32 adler32 DEF_WBITS); use constant WANT_GZIP => 16; use constant WANT_GZIP_OR_ZLIB => 32; sub AUTOLOAD { my($constname); ($constname = $AUTOLOAD) =~ s/.*:://; my ($error, $val) = constant($constname); Carp::croak $error if $error; no strict 'refs'; *{$AUTOLOAD} = sub { $val }; goto &{$AUTOLOAD}; } use constant FLAG_APPEND => 1 ; use constant FLAG_CRC => 2 ; use constant FLAG_ADLER => 4 ; use constant FLAG_CONSUME_INPUT => 8 ; use constant FLAG_LIMIT_OUTPUT => 16 ; eval { require XSLoader; XSLoader::load('Compress::Raw::Zlib', $XS_VERSION); 1; } or do { require DynaLoader; local @ISA = qw(DynaLoader); bootstrap Compress::Raw::Zlib $XS_VERSION ; }; use constant Parse_any => 0x01; use constant Parse_unsigned => 0x02; use constant Parse_signed => 0x04; use constant Parse_boolean => 0x08; #use constant Parse_string => 0x10; #use constant Parse_custom => 0x12; #use constant Parse_store_ref => 0x100 ; use constant OFF_PARSED => 0 ; use constant OFF_TYPE => 1 ; use constant OFF_DEFAULT => 2 ; use constant OFF_FIXED => 3 ; use constant OFF_FIRST_ONLY => 4 ; use constant OFF_STICKY => 5 ; sub ParseParameters { my $level = shift || 0 ; my $sub = (caller($level + 1))[3] ; #local $Carp::CarpLevel = 1 ; my $p = new Compress::Raw::Zlib::Parameters() ; $p->parse(@_) or croak "$sub: $p->{Error}" ; return $p; } sub Compress::Raw::Zlib::Parameters::new { my $class = shift ; my $obj = { Error => '', Got => {}, } ; #return bless $obj, ref($class) || $class || __PACKAGE__ ; return bless $obj, 'Compress::Raw::Zlib::Parameters' ; } sub Compress::Raw::Zlib::Parameters::setError { my $self = shift ; my $error = shift ; my $retval = @_ ? shift : undef ; $self->{Error} = $error ; return $retval; } #sub getError #{ # my $self = shift ; # return $self->{Error} ; #} sub Compress::Raw::Zlib::Parameters::parse { my $self = shift ; my $default = shift ; my $got = $self->{Got} ; my $firstTime = keys %{ $got } == 0 ; my (@Bad) ; my @entered = () ; # Allow the options to be passed as a hash reference or # as the complete hash. if (@_ == 0) { @entered = () ; } elsif (@_ == 1) { my $href = $_[0] ; return $self->setError("Expected even number of parameters, got 1") if ! defined $href or ! ref $href or ref $href ne "HASH" ; foreach my $key (keys %$href) { push @entered, $key ; push @entered, \$href->{$key} ; } } else { my $count = @_; return $self->setError("Expected even number of parameters, got $count") if $count % 2 != 0 ; for my $i (0.. $count / 2 - 1) { push @entered, $_[2* $i] ; push @entered, \$_[2* $i+1] ; } } while (my ($key, $v) = each %$default) { croak "need 4 params [@$v]" if @$v != 4 ; my ($first_only, $sticky, $type, $value) = @$v ; my $x ; $self->_checkType($key, \$value, $type, 0, \$x) or return undef ; $key = lc $key; if ($firstTime || ! $sticky) { $got->{$key} = [0, $type, $value, $x, $first_only, $sticky] ; } $got->{$key}[OFF_PARSED] = 0 ; } for my $i (0.. @entered / 2 - 1) { my $key = $entered[2* $i] ; my $value = $entered[2* $i+1] ; #print "Key [$key] Value [$value]" ; #print defined $$value ? "[$$value]\n" : "[undef]\n"; $key =~ s/^-// ; my $canonkey = lc $key; if ($got->{$canonkey} && ($firstTime || ! $got->{$canonkey}[OFF_FIRST_ONLY] )) { my $type = $got->{$canonkey}[OFF_TYPE] ; my $s ; $self->_checkType($key, $value, $type, 1, \$s) or return undef ; #$value = $$value unless $type & Parse_store_ref ; $value = $$value ; $got->{$canonkey} = [1, $type, $value, $s] ; } else { push (@Bad, $key) } } if (@Bad) { my ($bad) = join(", ", @Bad) ; return $self->setError("unknown key value(s) @Bad") ; } return 1; } sub Compress::Raw::Zlib::Parameters::_checkType { my $self = shift ; my $key = shift ; my $value = shift ; my $type = shift ; my $validate = shift ; my $output = shift; #local $Carp::CarpLevel = $level ; #print "PARSE $type $key $value $validate $sub\n" ; # if ( $type & Parse_store_ref) # { # #$value = $$value # # if ref ${ $value } ; # # $$output = $value ; # return 1; # } $value = $$value ; if ($type & Parse_any) { $$output = $value ; return 1; } elsif ($type & Parse_unsigned) { return $self->setError("Parameter '$key' must be an unsigned int, got 'undef'") if $validate && ! defined $value ; return $self->setError("Parameter '$key' must be an unsigned int, got '$value'") if $validate && $value !~ /^\d+$/; $$output = defined $value ? $value : 0 ; return 1; } elsif ($type & Parse_signed) { return $self->setError("Parameter '$key' must be a signed int, got 'undef'") if $validate && ! defined $value ; return $self->setError("Parameter '$key' must be a signed int, got '$value'") if $validate && $value !~ /^-?\d+$/; $$output = defined $value ? $value : 0 ; return 1 ; } elsif ($type & Parse_boolean) { return $self->setError("Parameter '$key' must be an int, got '$value'") if $validate && defined $value && $value !~ /^\d*$/; $$output = defined $value ? $value != 0 : 0 ; return 1; } # elsif ($type & Parse_string) # { # $$output = defined $value ? $value : "" ; # return 1; # } $$output = $value ; return 1; } sub Compress::Raw::Zlib::Parameters::parsed { my $self = shift ; my $name = shift ; return $self->{Got}{lc $name}[OFF_PARSED] ; } sub Compress::Raw::Zlib::Parameters::value { my $self = shift ; my $name = shift ; if (@_) { $self->{Got}{lc $name}[OFF_PARSED] = 1; $self->{Got}{lc $name}[OFF_DEFAULT] = $_[0] ; $self->{Got}{lc $name}[OFF_FIXED] = $_[0] ; } return $self->{Got}{lc $name}[OFF_FIXED] ; } our $OPTIONS_deflate = { 'AppendOutput' => [1, 1, Parse_boolean, 0], 'CRC32' => [1, 1, Parse_boolean, 0], 'ADLER32' => [1, 1, Parse_boolean, 0], 'Bufsize' => [1, 1, Parse_unsigned, 4096], 'Level' => [1, 1, Parse_signed, Z_DEFAULT_COMPRESSION()], 'Method' => [1, 1, Parse_unsigned, Z_DEFLATED()], 'WindowBits' => [1, 1, Parse_signed, MAX_WBITS()], 'MemLevel' => [1, 1, Parse_unsigned, MAX_MEM_LEVEL()], 'Strategy' => [1, 1, Parse_unsigned, Z_DEFAULT_STRATEGY()], 'Dictionary' => [1, 1, Parse_any, ""], }; sub Compress::Raw::Zlib::Deflate::new { my $pkg = shift ; my ($got) = ParseParameters(0, $OPTIONS_deflate, @_); croak "Compress::Raw::Zlib::Deflate::new: Bufsize must be >= 1, you specified " . $got->value('Bufsize') unless $got->value('Bufsize') >= 1; my $flags = 0 ; $flags |= FLAG_APPEND if $got->value('AppendOutput') ; $flags |= FLAG_CRC if $got->value('CRC32') ; $flags |= FLAG_ADLER if $got->value('ADLER32') ; my $windowBits = $got->value('WindowBits'); $windowBits += MAX_WBITS() if ($windowBits & MAX_WBITS()) == 0 ; _deflateInit($flags, $got->value('Level'), $got->value('Method'), $windowBits, $got->value('MemLevel'), $got->value('Strategy'), $got->value('Bufsize'), $got->value('Dictionary')) ; } sub Compress::Raw::Zlib::deflateStream::STORABLE_freeze { my $type = ref shift; croak "Cannot freeze $type object\n"; } sub Compress::Raw::Zlib::deflateStream::STORABLE_thaw { my $type = ref shift; croak "Cannot thaw $type object\n"; } our $OPTIONS_inflate = { 'AppendOutput' => [1, 1, Parse_boolean, 0], 'LimitOutput' => [1, 1, Parse_boolean, 0], 'CRC32' => [1, 1, Parse_boolean, 0], 'ADLER32' => [1, 1, Parse_boolean, 0], 'ConsumeInput' => [1, 1, Parse_boolean, 1], 'Bufsize' => [1, 1, Parse_unsigned, 4096], 'WindowBits' => [1, 1, Parse_signed, MAX_WBITS()], 'Dictionary' => [1, 1, Parse_any, ""], } ; sub Compress::Raw::Zlib::Inflate::new { my $pkg = shift ; my ($got) = ParseParameters(0, $OPTIONS_inflate, @_); croak "Compress::Raw::Zlib::Inflate::new: Bufsize must be >= 1, you specified " . $got->value('Bufsize') unless $got->value('Bufsize') >= 1; my $flags = 0 ; $flags |= FLAG_APPEND if $got->value('AppendOutput') ; $flags |= FLAG_CRC if $got->value('CRC32') ; $flags |= FLAG_ADLER if $got->value('ADLER32') ; $flags |= FLAG_CONSUME_INPUT if $got->value('ConsumeInput') ; $flags |= FLAG_LIMIT_OUTPUT if $got->value('LimitOutput') ; my $windowBits = $got->value('WindowBits'); $windowBits += MAX_WBITS() if ($windowBits & MAX_WBITS()) == 0 ; _inflateInit($flags, $windowBits, $got->value('Bufsize'), $got->value('Dictionary')) ; } sub Compress::Raw::Zlib::inflateStream::STORABLE_freeze { my $type = ref shift; croak "Cannot freeze $type object\n"; } sub Compress::Raw::Zlib::inflateStream::STORABLE_thaw { my $type = ref shift; croak "Cannot thaw $type object\n"; } sub Compress::Raw::Zlib::InflateScan::new { my $pkg = shift ; my ($got) = ParseParameters(0, { 'CRC32' => [1, 1, Parse_boolean, 0], 'ADLER32' => [1, 1, Parse_boolean, 0], 'Bufsize' => [1, 1, Parse_unsigned, 4096], 'WindowBits' => [1, 1, Parse_signed, -MAX_WBITS()], 'Dictionary' => [1, 1, Parse_any, ""], }, @_) ; croak "Compress::Raw::Zlib::InflateScan::new: Bufsize must be >= 1, you specified " . $got->value('Bufsize') unless $got->value('Bufsize') >= 1; my $flags = 0 ; #$flags |= FLAG_APPEND if $got->value('AppendOutput') ; $flags |= FLAG_CRC if $got->value('CRC32') ; $flags |= FLAG_ADLER if $got->value('ADLER32') ; #$flags |= FLAG_CONSUME_INPUT if $got->value('ConsumeInput') ; _inflateScanInit($flags, $got->value('WindowBits'), $got->value('Bufsize'), '') ; } sub Compress::Raw::Zlib::inflateScanStream::createDeflateStream { my $pkg = shift ; my ($got) = ParseParameters(0, { 'AppendOutput' => [1, 1, Parse_boolean, 0], 'CRC32' => [1, 1, Parse_boolean, 0], 'ADLER32' => [1, 1, Parse_boolean, 0], 'Bufsize' => [1, 1, Parse_unsigned, 4096], 'Level' => [1, 1, Parse_signed, Z_DEFAULT_COMPRESSION()], 'Method' => [1, 1, Parse_unsigned, Z_DEFLATED()], 'WindowBits' => [1, 1, Parse_signed, - MAX_WBITS()], 'MemLevel' => [1, 1, Parse_unsigned, MAX_MEM_LEVEL()], 'Strategy' => [1, 1, Parse_unsigned, Z_DEFAULT_STRATEGY()], }, @_) ; croak "Compress::Raw::Zlib::InflateScan::createDeflateStream: Bufsize must be >= 1, you specified " . $got->value('Bufsize') unless $got->value('Bufsize') >= 1; my $flags = 0 ; $flags |= FLAG_APPEND if $got->value('AppendOutput') ; $flags |= FLAG_CRC if $got->value('CRC32') ; $flags |= FLAG_ADLER if $got->value('ADLER32') ; $pkg->_createDeflateStream($flags, $got->value('Level'), $got->value('Method'), $got->value('WindowBits'), $got->value('MemLevel'), $got->value('Strategy'), $got->value('Bufsize'), ) ; } sub Compress::Raw::Zlib::inflateScanStream::inflate { my $self = shift ; my $buffer = $_[1]; my $eof = $_[2]; my $status = $self->scan(@_); if ($status == Z_OK() && $_[2]) { my $byte = ' '; $status = $self->scan(\$byte, $_[1]) ; } return $status ; } sub Compress::Raw::Zlib::deflateStream::deflateParams { my $self = shift ; my ($got) = ParseParameters(0, { 'Level' => [1, 1, Parse_signed, undef], 'Strategy' => [1, 1, Parse_unsigned, undef], 'Bufsize' => [1, 1, Parse_unsigned, undef], }, @_) ; croak "Compress::Raw::Zlib::deflateParams needs Level and/or Strategy" unless $got->parsed('Level') + $got->parsed('Strategy') + $got->parsed('Bufsize'); croak "Compress::Raw::Zlib::Inflate::deflateParams: Bufsize must be >= 1, you specified " . $got->value('Bufsize') if $got->parsed('Bufsize') && $got->value('Bufsize') <= 1; my $flags = 0; $flags |= 1 if $got->parsed('Level') ; $flags |= 2 if $got->parsed('Strategy') ; $flags |= 4 if $got->parsed('Bufsize') ; $self->_deflateParams($flags, $got->value('Level'), $got->value('Strategy'), $got->value('Bufsize')); } 1; __END__ =head1 NAME Compress::Raw::Zlib - Low-Level Interface to zlib or zlib-ng compression library =head1 SYNOPSIS use Compress::Raw::Zlib ; ($d, $status) = new Compress::Raw::Zlib::Deflate( [OPT] ) ; $status = $d->deflate($input, $output) ; $status = $d->flush($output [, $flush_type]) ; $d->deflateReset() ; $d->deflateParams(OPTS) ; $d->deflateTune(OPTS) ; $d->dict_adler() ; $d->crc32() ; $d->adler32() ; $d->total_in() ; $d->total_out() ; $d->msg() ; $d->get_Strategy(); $d->get_Level(); $d->get_BufSize(); ($i, $status) = new Compress::Raw::Zlib::Inflate( [OPT] ) ; $status = $i->inflate($input, $output [, $eof]) ; $status = $i->inflateSync($input) ; $i->inflateReset() ; $i->dict_adler() ; $d->crc32() ; $d->adler32() ; $i->total_in() ; $i->total_out() ; $i->msg() ; $d->get_BufSize(); $crc = adler32($buffer [,$crc]) ; $crc = crc32($buffer [,$crc]) ; $crc = crc32_combine($crc1, $crc2, $len2); $adler = adler32_combine($adler1, $adler2, $len2); my $version = Compress::Raw::Zlib::zlib_version(); my $flags = Compress::Raw::Zlib::zlibCompileFlags(); is_zlib_native(); is_zlibng_native(); is_zlibng_compat(); is_zlibng(); =head1 DESCRIPTION The I module provides a Perl interface to the I or I compression libraries (see L for details about where to get I or I). In the text below all references to I are also applicable to I unless otherwise stated. =head1 Compress::Raw::Zlib::Deflate This section defines an interface that allows in-memory compression using the I interface provided by zlib. Here is a definition of the interface available: =head2 B<($d, $status) = new Compress::Raw::Zlib::Deflate( [OPT] ) > Initialises a deflation object. If you are familiar with the I library, it combines the features of the I functions C, C and C. If successful, it will return the initialised deflation object, C<$d> and a C<$status> of C in a list context. In scalar context it returns the deflation object, C<$d>, only. If not successful, the returned deflation object, C<$d>, will be I and C<$status> will hold the a I error code. The function optionally takes a number of named options specified as C<< Name => value >> pairs. This allows individual options to be tailored without having to specify them all in the parameter list. For backward compatibility, it is also possible to pass the parameters as a reference to a hash containing the name=>value pairs. Below is a list of the valid options: =over 5 =item B<-Level> Defines the compression level. Valid values are 0 through 9, C, C, C, and C. The default is C. =item B<-Method> Defines the compression method. The only valid value at present (and the default) is C. =item B<-WindowBits> To compress an RFC 1950 data stream, set C to a positive number between 8 and 15. To compress an RFC 1951 data stream, set C to C<-MAX_WBITS>. To compress an RFC 1952 data stream (i.e. gzip), set C to C. For a definition of the meaning and valid values for C refer to the I documentation for I. Defaults to C. =item B<-MemLevel> For a definition of the meaning and valid values for C refer to the I documentation for I. Defaults to MAX_MEM_LEVEL. =item B<-Strategy> Defines the strategy used to tune the compression. The valid values are C, C, C, C and C. The default is C. =item B<-Dictionary> When a dictionary is specified I will automatically call C directly after calling C. The Adler32 value for the dictionary can be obtained by calling the method C<$d-Edict_adler()>. The default is no dictionary. =item B<-Bufsize> Sets the initial size for the output buffer used by the C<$d-Edeflate> and C<$d-Eflush> methods. If the buffer has to be reallocated to increase the size, it will grow in increments of C. The default buffer size is 4096. =item B<-AppendOutput> This option controls how data is written to the output buffer by the C<$d-Edeflate> and C<$d-Eflush> methods. If the C option is set to false, the output buffers in the C<$d-Edeflate> and C<$d-Eflush> methods will be truncated before uncompressed data is written to them. If the option is set to true, uncompressed data will be appended to the output buffer in the C<$d-Edeflate> and C<$d-Eflush> methods. This option defaults to false. =item B<-CRC32> If set to true, a crc32 checksum of the uncompressed data will be calculated. Use the C<$d-Ecrc32> method to retrieve this value. This option defaults to false. =item B<-ADLER32> If set to true, an adler32 checksum of the uncompressed data will be calculated. Use the C<$d-Eadler32> method to retrieve this value. This option defaults to false. =back Here is an example of using the C optional parameter list to override the default buffer size and compression level. All other options will take their default values. my $d = new Compress::Raw::Zlib::Deflate ( -Bufsize => 300, -Level => Z_BEST_SPEED ) ; =head2 B<$status = $d-Edeflate($input, $output)> Deflates the contents of C<$input> and writes the compressed data to C<$output>. The C<$input> and C<$output> parameters can be either scalars or scalar references. When finished, C<$input> will be completely processed (assuming there were no errors). If the deflation was successful it writes the deflated data to C<$output> and returns a status value of C. On error, it returns a I error code. If the C option is set to true in the constructor for the C<$d> object, the compressed data will be appended to C<$output>. If it is false, C<$output> will be truncated before any compressed data is written to it. B: This method will not necessarily write compressed data to C<$output> every time it is called. So do not assume that there has been an error if the contents of C<$output> is empty on returning from this method. As long as the return code from the method is C, the deflate has succeeded. =head2 B<$status = $d-Eflush($output [, $flush_type]) > Typically used to finish the deflation. Any pending output will be written to C<$output>. Returns C if successful. Note that flushing can seriously degrade the compression ratio, so it should only be used to terminate a decompression (using C) or when you want to create a I (using C). By default the C used is C. Other valid values for C are C, C, C and C. It is strongly recommended that you only set the C parameter if you fully understand the implications of what it does. See the C documentation for details. If the C option is set to true in the constructor for the C<$d> object, the compressed data will be appended to C<$output>. If it is false, C<$output> will be truncated before any compressed data is written to it. =head2 B<$status = $d-EdeflateReset() > This method will reset the deflation object C<$d>. It can be used when you are compressing multiple data streams and want to use the same object to compress each of them. It should only be used once the previous data stream has been flushed successfully, i.e. a call to C<< $d->flush(Z_FINISH) >> has returned C. Returns C if successful. =head2 B<$status = $d-EdeflateParams([OPT])> Change settings for the deflate object C<$d>. The list of the valid options is shown below. Options not specified will remain unchanged. =over 5 =item B<-Level> Defines the compression level. Valid values are 0 through 9, C, C, C, and C. =item B<-Strategy> Defines the strategy used to tune the compression. The valid values are C, C and C. =item B<-BufSize> Sets the initial size for the output buffer used by the C<$d-Edeflate> and C<$d-Eflush> methods. If the buffer has to be reallocated to increase the size, it will grow in increments of C. =back =head2 B<$status = $d-EdeflateTune($good_length, $max_lazy, $nice_length, $max_chain)> Tune the internal settings for the deflate object C<$d>. This option is only available if you are running zlib 1.2.2.3 or better. Refer to the documentation in zlib.h for instructions on how to fly C. =head2 B<$d-Edict_adler()> Returns the adler32 value for the dictionary. =head2 B<$d-Ecrc32()> Returns the crc32 value for the uncompressed data to date. If the C option is not enabled in the constructor for this object, this method will always return 0; =head2 B<$d-Eadler32()> Returns the adler32 value for the uncompressed data to date. =head2 B<$d-Emsg()> Returns the last error message generated by zlib. =head2 B<$d-Etotal_in()> Returns the total number of bytes uncompressed bytes input to deflate. =head2 B<$d-Etotal_out()> Returns the total number of compressed bytes output from deflate. =head2 B<$d-Eget_Strategy()> Returns the deflation strategy currently used. Valid values are C, C and C. =head2 B<$d-Eget_Level()> Returns the compression level being used. =head2 B<$d-Eget_BufSize()> Returns the buffer size used to carry out the compression. =head2 Example Here is a trivial example of using C. It simply reads standard input, deflates it and writes it to standard output. use strict ; use warnings ; use Compress::Raw::Zlib ; binmode STDIN; binmode STDOUT; my $x = new Compress::Raw::Zlib::Deflate or die "Cannot create a deflation stream\n" ; my ($output, $status) ; while (<>) { $status = $x->deflate($_, $output) ; $status == Z_OK or die "deflation failed\n" ; print $output ; } $status = $x->flush($output) ; $status == Z_OK or die "deflation failed\n" ; print $output ; =head1 Compress::Raw::Zlib::Inflate This section defines an interface that allows in-memory uncompression using the I interface provided by zlib. Here is a definition of the interface: =head2 B< ($i, $status) = new Compress::Raw::Zlib::Inflate( [OPT] ) > Initialises an inflation object. In a list context it returns the inflation object, C<$i>, and the I status code (C<$status>). In a scalar context it returns the inflation object only. If successful, C<$i> will hold the inflation object and C<$status> will be C. If not successful, C<$i> will be I and C<$status> will hold the I error code. The function optionally takes a number of named options specified as C<< -Name => value >> pairs. This allows individual options to be tailored without having to specify them all in the parameter list. For backward compatibility, it is also possible to pass the parameters as a reference to a hash containing the C<< name=>value >> pairs. Here is a list of the valid options: =over 5 =item B<-WindowBits> To uncompress an RFC 1950 data stream, set C to a positive number between 8 and 15. To uncompress an RFC 1951 data stream, set C to C<-MAX_WBITS>. To uncompress an RFC 1952 data stream (i.e. gzip), set C to C. To auto-detect and uncompress an RFC 1950 or RFC 1952 data stream (i.e. gzip), set C to C. For a full definition of the meaning and valid values for C refer to the I documentation for I. Defaults to C. =item B<-Bufsize> Sets the initial size for the output buffer used by the C<$i-Einflate> method. If the output buffer in this method has to be reallocated to increase the size, it will grow in increments of C. Default is 4096. =item B<-Dictionary> The default is no dictionary. =item B<-AppendOutput> This option controls how data is written to the output buffer by the C<$i-Einflate> method. If the option is set to false, the output buffer in the C<$i-Einflate> method will be truncated before uncompressed data is written to it. If the option is set to true, uncompressed data will be appended to the output buffer by the C<$i-Einflate> method. This option defaults to false. =item B<-CRC32> If set to true, a crc32 checksum of the uncompressed data will be calculated. Use the C<$i-Ecrc32> method to retrieve this value. This option defaults to false. =item B<-ADLER32> If set to true, an adler32 checksum of the uncompressed data will be calculated. Use the C<$i-Eadler32> method to retrieve this value. This option defaults to false. =item B<-ConsumeInput> If set to true, this option will remove compressed data from the input buffer of the C<< $i->inflate >> method as the inflate progresses. This option can be useful when you are processing compressed data that is embedded in another file/buffer. In this case the data that immediately follows the compressed stream will be left in the input buffer. This option defaults to true. =item B<-LimitOutput> The C option changes the behavior of the C<< $i->inflate >> method so that the amount of memory used by the output buffer can be limited. When C is used the size of the output buffer used will either be the value of the C option or the amount of memory already allocated to C<$output>, whichever is larger. Predicting the output size available is tricky, so don't rely on getting an exact output buffer size. When C is not specified C<< $i->inflate >> will use as much memory as it takes to write all the uncompressed data it creates by uncompressing the input buffer. If C is enabled, the C option will also be enabled. This option defaults to false. See L for a discussion on why C is needed and how to use it. =back Here is an example of using an optional parameter to override the default buffer size. my ($i, $status) = new Compress::Raw::Zlib::Inflate( -Bufsize => 300 ) ; =head2 B< $status = $i-Einflate($input, $output [,$eof]) > Inflates the complete contents of C<$input> and writes the uncompressed data to C<$output>. The C<$input> and C<$output> parameters can either be scalars or scalar references. Returns C if successful and C if the end of the compressed data has been successfully reached. If not successful C<$status> will hold the I error code. If the C option has been set to true when the C object is created, the C<$input> parameter is modified by C. On completion it will contain what remains of the input buffer after inflation. In practice, this means that when the return status is C the C<$input> parameter will contain an empty string, and when the return status is C the C<$input> parameter will contains what (if anything) was stored in the input buffer after the deflated data stream. This feature is useful when processing a file format that encapsulates a compressed data stream (e.g. gzip, zip) and there is useful data immediately after the deflation stream. If the C option is set to true in the constructor for this object, the uncompressed data will be appended to C<$output>. If it is false, C<$output> will be truncated before any uncompressed data is written to it. The C<$eof> parameter needs a bit of explanation. Prior to version 1.2.0, zlib assumed that there was at least one trailing byte immediately after the compressed data stream when it was carrying out decompression. This normally isn't a problem because the majority of zlib applications guarantee that there will be data directly after the compressed data stream. For example, both gzip (RFC 1950) and zip both define trailing data that follows the compressed data stream. The C<$eof> parameter only needs to be used if B of the following conditions apply =over 5 =item 1 You are either using a copy of zlib that is older than version 1.2.0 or you want your application code to be able to run with as many different versions of zlib as possible. =item 2 You have set the C parameter to C<-MAX_WBITS> in the constructor for this object, i.e. you are uncompressing a raw deflated data stream (RFC 1951). =item 3 There is no data immediately after the compressed data stream. =back If B of these are the case, then you need to set the C<$eof> parameter to true on the final call (and only the final call) to C<$i-Einflate>. If you have built this module with zlib >= 1.2.0, the C<$eof> parameter is ignored. You can still set it if you want, but it won't be used behind the scenes. =head2 B<$status = $i-EinflateSync($input)> This method can be used to attempt to recover good data from a compressed data stream that is partially corrupt. It scans C<$input> until it reaches either a I or the end of the buffer. If a I is found, C is returned and C<$input> will be have all data up to the flush point removed. This data can then be passed to the C<$i-Einflate> method to be uncompressed. Any other return code means that a flush point was not found. If more data is available, C can be called repeatedly with more compressed data until the flush point is found. Note I are not present by default in compressed data streams. They must have been added explicitly when the data stream was created by calling C with C. =head2 B<$status = $i-EinflateReset() > This method will reset the inflation object C<$i>. It can be used when you are uncompressing multiple data streams and want to use the same object to uncompress each of them. Returns C if successful. =head2 B<$i-Edict_adler()> Returns the adler32 value for the dictionary. =head2 B<$i-Ecrc32()> Returns the crc32 value for the uncompressed data to date. If the C option is not enabled in the constructor for this object, this method will always return 0; =head2 B<$i-Eadler32()> Returns the adler32 value for the uncompressed data to date. If the C option is not enabled in the constructor for this object, this method will always return 0; =head2 B<$i-Emsg()> Returns the last error message generated by zlib. =head2 B<$i-Etotal_in()> Returns the total number of bytes compressed bytes input to inflate. =head2 B<$i-Etotal_out()> Returns the total number of uncompressed bytes output from inflate. =head2 B<$d-Eget_BufSize()> Returns the buffer size used to carry out the decompression. =head2 Examples Here is an example of using C. use strict ; use warnings ; use Compress::Raw::Zlib; my $x = new Compress::Raw::Zlib::Inflate() or die "Cannot create a inflation stream\n" ; my $input = '' ; binmode STDIN; binmode STDOUT; my ($output, $status) ; while (read(STDIN, $input, 4096)) { $status = $x->inflate($input, $output) ; print $output ; last if $status != Z_OK ; } die "inflation failed\n" unless $status == Z_STREAM_END ; The next example show how to use the C option. Notice the use of two nested loops in this case. The outer loop reads the data from the input source - STDIN and the inner loop repeatedly calls C until C<$input> is exhausted, we get an error, or the end of the stream is reached. One point worth remembering is by using the C option you also get C set as well - this makes the code below much simpler. use strict ; use warnings ; use Compress::Raw::Zlib; my $x = new Compress::Raw::Zlib::Inflate(LimitOutput => 1) or die "Cannot create a inflation stream\n" ; my $input = '' ; binmode STDIN; binmode STDOUT; my ($output, $status) ; OUTER: while (read(STDIN, $input, 4096)) { do { $status = $x->inflate($input, $output) ; print $output ; last OUTER unless $status == Z_OK || $status == Z_BUF_ERROR ; } while ($status == Z_OK && length $input); } die "inflation failed\n" unless $status == Z_STREAM_END ; =head1 CHECKSUM FUNCTIONS Two functions are provided by I to calculate checksums. For the Perl interface, the order of the two parameters in both functions has been reversed. This allows both running checksums and one off calculations to be done. $crc = adler32($buffer [,$crc]) ; $crc = crc32($buffer [,$crc]) ; The buffer parameters can either be a scalar or a scalar reference. If the $crc parameters is C, the crc value will be reset. If you have built this module with zlib 1.2.3 or better, two more CRC-related functions are available. $crc = crc32_combine($crc1, $crc2, $len2); $adler = adler32_combine($adler1, $adler2, $len2); These functions allow checksums to be merged. Refer to the I documentation for more details. =head1 Misc =head2 my $version = Compress::Raw::Zlib::zlib_version(); Returns the version of the I library if this module has been built with the I library. If this module has been built with I in native mode, this function will return a empty string. If this module has been built with I in compat mode, this function will return the Izlib> API verion that I is supporting. =head2 my $version = Compress::Raw::Zlib::zlibng_version(); Returns the version of the zlib-ng library if this module has been built with the I library. If this module has been built with I, this function will return a empty string. =head2 my $flags = Compress::Raw::Zlib::zlibCompileFlags(); Returns the flags indicating compile-time options that were used to build the zlib or zlib-ng library. See the zlib documentation for a description of the flags returned by C. Note that when the zlib sources are built along with this module the C flags (bits 24, 25 and 26) should be ignored. If you are using zlib 1.2.0 or older, C will return 0. =head2 is_zlib_native(); =head2 is_zlibng_native(); =head2 is_zlibng_compat(); =head2 is_zlibng(); These function can use used to check if C was been built with I or I. The function C returns true if C was built with I. The function C returns true if C was built with I. The I library has an option to build with a zlib-compataible API. The c function retuens true if zlib-ng has ben built with this API. Finally, C returns true if I was built with its native API. =head1 The LimitOutput option. By default C<< $i->inflate($input, $output) >> will uncompress I data in C<$input> and write I of the uncompressed data it has generated to C<$output>. This makes the interface to C much simpler - if the method has uncompressed C<$input> successfully I compressed data in C<$input> will have been dealt with. So if you are reading from an input source and uncompressing as you go the code will look something like this use strict ; use warnings ; use Compress::Raw::Zlib; my $x = new Compress::Raw::Zlib::Inflate() or die "Cannot create a inflation stream\n" ; my $input = '' ; my ($output, $status) ; while (read(STDIN, $input, 4096)) { $status = $x->inflate($input, $output) ; print $output ; last if $status != Z_OK ; } die "inflation failed\n" unless $status == Z_STREAM_END ; The points to note are =over 5 =item * The main processing loop in the code handles reading of compressed data from STDIN. =item * The status code returned from C will only trigger termination of the main processing loop if it isn't C. When C has not been used the C status means that the end of the compressed data stream has been reached or there has been an error in uncompression. =item * After the call to C I of the uncompressed data in C<$input> will have been processed. This means the subsequent call to C can overwrite it's contents without any problem. =back For most use-cases the behavior described above is acceptable (this module and it's predecessor, C, have used it for over 10 years without an issue), but in a few very specific use-cases the amount of memory required for C<$output> can prohibitively large. For example, if the compressed data stream contains the same pattern repeated thousands of times, a relatively small compressed data stream can uncompress into hundreds of megabytes. Remember C will keep allocating memory until I the uncompressed data has been written to the output buffer - the size of C<$output> is unbounded. The C option is designed to help with this use-case. The main difference in your code when using C is having to deal with cases where the C<$input> parameter still contains some uncompressed data that C hasn't processed yet. The status code returned from C will be C if uncompression took place and C if the output buffer is full. Below is typical code that shows how to use C. use strict ; use warnings ; use Compress::Raw::Zlib; my $x = new Compress::Raw::Zlib::Inflate(LimitOutput => 1) or die "Cannot create a inflation stream\n" ; my $input = '' ; binmode STDIN; binmode STDOUT; my ($output, $status) ; OUTER: while (read(STDIN, $input, 4096)) { do { $status = $x->inflate($input, $output) ; print $output ; last OUTER unless $status == Z_OK || $status == Z_BUF_ERROR ; } while ($status == Z_OK && length $input); } die "inflation failed\n" unless $status == Z_STREAM_END ; Points to note this time: =over 5 =item * There are now two nested loops in the code: the outer loop for reading the compressed data from STDIN, as before; and the inner loop to carry out the uncompression. =item * There are two exit points from the inner uncompression loop. Firstly when C has returned a status other than C or C. This means that either the end of the compressed data stream has been reached (C) or there is an error in the compressed data. In either of these cases there is no point in continuing with reading the compressed data, so both loops are terminated. The second exit point tests if there is any data left in the input buffer, C<$input> - remember that the C option is automatically enabled when C is used. When the input buffer has been exhausted, the outer loop can run again and overwrite a now empty C<$input>. =back =head1 ACCESSING ZIP FILES Although it is possible (with some effort on your part) to use this module to access .zip files, there are other perl modules available that will do all the hard work for you. Check out C, C, C and C. =head1 FAQ =head2 Compatibility with Unix compress/uncompress. This module is not compatible with Unix C. If you have the C program available, you can use this to read compressed files open F, "uncompress -c $filename |"; while () { ... Alternatively, if you have the C program available, you can use this to read compressed files open F, "gunzip -c $filename |"; while () { ... and this to write compress files, if you have the C program available open F, "| compress -c $filename "; print F "data"; ... close F ; =head2 Accessing .tar.Z files See previous FAQ item. If the C module is installed and either the C or C programs are available, you can use one of these workarounds to read C<.tar.Z> files. Firstly with C use strict; use warnings; use Archive::Tar; open F, "uncompress -c $filename |"; my $tar = Archive::Tar->new(*F); ... and this with C use strict; use warnings; use Archive::Tar; open F, "gunzip -c $filename |"; my $tar = Archive::Tar->new(*F); ... Similarly, if the C program is available, you can use this to write a C<.tar.Z> file use strict; use warnings; use Archive::Tar; use IO::File; my $fh = new IO::File "| compress -c >$filename"; my $tar = Archive::Tar->new(); ... $tar->write($fh); $fh->close ; =head2 Zlib Library Version Support By default C will build with a private copy of version 1.2.5 of the zlib library. (See the F file for details of how to override this behaviour) If you decide to use a different version of the zlib library, you need to be aware of the following issues =over 5 =item * First off, you must have zlib 1.0.5 or better. =item * You need to have zlib 1.2.1 or better if you want to use the C<-Merge> option with C, C and C. =back =head1 CONSTANTS All the I constants are automatically imported when you make use of I. =head1 SUPPORT General feedback/questions/bug reports should be sent to L (preferred) or L. =head1 SEE ALSO L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L L L, L, L, L For RFC 1950, 1951 and 1952 see L, L and L The I compression library was written by Jean-loup Gailly C and Mark Adler C. The primary site for the I compression library is L. The primary site for the I compression library is L. The primary site for gzip is L. =head1 AUTHOR This module was written by Paul Marquess, C. =head1 MODIFICATION HISTORY See the Changes file. =head1 COPYRIGHT AND LICENSE Copyright (c) 2005-2023 Paul Marquess. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. FILE0697ed04/Config.pmA# This file was created by configpm when Perl was built. Any changes # made to this file will be lost the next time perl is built. # for a description of the variables, please have a look at the # Glossary file, as written in the Porting folder, or use the url: # https://github.com/Perl/perl5/blob/blead/Porting/Glossary package Config; use strict; use warnings; our ( %Config, $VERSION ); $VERSION = "5.038002"; # Skip @Config::EXPORT because it only contains %Config, which we special # case below as it's not a function. @Config::EXPORT won't change in the # lifetime of Perl 5. my %Export_Cache = (myconfig => 1, config_sh => 1, config_vars => 1, config_re => 1, compile_date => 1, local_patches => 1, bincompat_options => 1, non_bincompat_options => 1, header_files => 1); @Config::EXPORT = qw(%Config); @Config::EXPORT_OK = keys %Export_Cache; # Need to stub all the functions to make code such as print Config::config_sh # keep working sub bincompat_options; sub compile_date; sub config_re; sub config_sh; sub config_vars; sub header_files; sub local_patches; sub myconfig; sub non_bincompat_options; # Define our own import method to avoid pulling in the full Exporter: sub import { shift; @_ = @Config::EXPORT unless @_; my @funcs = grep $_ ne '%Config', @_; my $export_Config = @funcs < @_ ? 1 : 0; no strict 'refs'; my $callpkg = caller(0); foreach my $func (@funcs) { die qq{"$func" is not exported by the Config module\n} unless $Export_Cache{$func}; *{$callpkg.'::'.$func} = \&{$func}; } *{"$callpkg\::Config"} = \%Config if $export_Config; return; } die "$0: Perl lib version (5.38.2) doesn't match executable '$^X' version ($])" unless $^V; $^V eq 5.38.2 or die sprintf "%s: Perl lib version (5.38.2) doesn't match executable '$^X' version (%vd)", $0, $^V; sub FETCH { my($self, $key) = @_; # check for cached value (which may be undef so we use exists not defined) return exists $self->{$key} ? $self->{$key} : $self->fetch_string($key); } sub TIEHASH { bless $_[1], $_[0]; } sub DESTROY { } sub AUTOLOAD { require 'Config_heavy.pl'; goto \&launcher unless $Config::AUTOLOAD =~ /launcher$/; die "&Config::AUTOLOAD failed on $Config::AUTOLOAD"; } # tie returns the object, so the value returned to require will be true. tie %Config, 'Config', { archlibexp => '/Users/runner/hostedtoolcache/perl/5.38.2/arm64/lib/5.38.2/darwin-2level', archname => 'darwin-2level', cc => 'cc', d_readlink => 'define', d_symlink => 'define', dlext => 'bundle', dlsrc => 'dl_dlopen.xs', dont_use_nlink => undef, exe_ext => '', inc_version_list => ' ', intsize => '4', ldlibpthname => 'DYLD_LIBRARY_PATH', libpth => '/Applications/Xcode_15.0.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/lib /Library/Developer/CommandLineTools/SDKs/MacOSX14.2.sdk/usr/lib /Applications/Xcode_15.0.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib /usr/lib', osname => 'darwin', osvers => '23.2.0', path_sep => ':', privlibexp => '/Users/runner/hostedtoolcache/perl/5.38.2/arm64/lib/5.38.2', scriptdir => '/Users/runner/hostedtoolcache/perl/5.38.2/arm64/bin', sitearchexp => '/Users/runner/hostedtoolcache/perl/5.38.2/arm64/lib/site_perl/5.38.2/darwin-2level', sitelibexp => '/Users/runner/hostedtoolcache/perl/5.38.2/arm64/lib/site_perl/5.38.2', so => 'dylib', useithreads => undef, usevendorprefix => undef, version => '5.38.2', }; FILEc33fbebe/Config_git.pl###################################################################### # WARNING: 'lib/Config_git.pl' is generated by make_patchnum.pl # DO NOT EDIT DIRECTLY - edit make_patchnum.pl instead ###################################################################### $Config::Git_Data=<<'ENDOFGIT'; git_commit_id='' git_describe='' git_branch='' git_uncommitted_changes='' git_commit_id_title='' ENDOFGIT FILEd8160175/Config_heavy.pl# This file was created by configpm when Perl was built. Any changes # made to this file will be lost the next time perl is built. package Config; use strict; use warnings; our %Config; sub bincompat_options { return split ' ', (Internals::V())[0]; } sub non_bincompat_options { return split ' ', (Internals::V())[1]; } sub compile_date { return (Internals::V())[2] } sub local_patches { my (undef, undef, undef, @patches) = Internals::V(); return @patches; } sub _V { die "Perl lib was built for 'darwin' but is being run on '$^O'" unless "darwin" eq $^O; my ($bincompat, $non_bincompat, $date, @patches) = Internals::V(); my @opts = sort split ' ', "$bincompat $non_bincompat"; print Config::myconfig(); print "\nCharacteristics of this binary (from libperl): \n"; print " Compile-time options:\n"; print " $_\n" for @opts; if (@patches) { print " Locally applied patches:\n"; print " $_\n" foreach @patches; } print " Built under darwin\n"; print " $date\n" if defined $date; my @env = map { "$_=\"$ENV{$_}\"" } sort grep {/^PERL/} keys %ENV; if (@env) { print " \%ENV:\n"; print " $_\n" foreach @env; } print " \@INC:\n"; print " $_\n" foreach @INC; } sub header_files { return qw(EXTERN.h INTERN.h XSUB.h av.h config.h cop.h cv.h dosish.h embed.h embedvar.h form.h gv.h handy.h hv.h hv_func.h intrpvar.h iperlsys.h keywords.h mg.h nostdio.h op.h opcode.h pad.h parser.h patchlevel.h perl.h perlio.h perliol.h perlsdio.h perlvars.h perly.h pp.h pp_proto.h proto.h regcomp.h regexp.h regnodes.h scope.h sv.h thread.h time64.h unixish.h utf8.h util.h); } ## ## This file was produced by running the Configure script. It holds all the ## definitions figured out by Configure. Should you modify one of these values, ## do not forget to propagate your changes by running "Configure -der". You may ## instead choose to run each of the .SH files by yourself, or "Configure -S". ## # ## Package name : perl5 ## Source directory : . ## Configuration time: Wed Feb 14 13:43:35 UTC 2024 ## Configured by : root ## Target system : darwin mac-1707916776537.local 23.2.0 darwin kernel version 23.2.0: wed nov 15 21:54:25 pst 2023; root:xnu-10002.61.3~2release_arm64_vmapple arm64 # #: Configure command line arguments. # #: Variables propagated from previous config.sh file. our $summary = <<'!END!'; Summary of my $package (revision $revision $version_patchlevel_string) configuration: $git_commit_id_title $git_commit_id$git_ancestor_line Platform: osname=$osname osvers=$osvers archname=$archname uname='$myuname' config_args='$config_args' hint=$hint useposix=$useposix d_sigaction=$d_sigaction useithreads=$useithreads usemultiplicity=$usemultiplicity use64bitint=$use64bitint use64bitall=$use64bitall uselongdouble=$uselongdouble usemymalloc=$usemymalloc default_inc_excludes_dot=$default_inc_excludes_dot Compiler: cc='$cc' ccflags ='$ccflags' optimize='$optimize' cppflags='$cppflags' ccversion='$ccversion' gccversion='$gccversion' gccosandvers='$gccosandvers' intsize=$intsize longsize=$longsize ptrsize=$ptrsize doublesize=$doublesize byteorder=$byteorder doublekind=$doublekind d_longlong=$d_longlong longlongsize=$longlongsize d_longdbl=$d_longdbl longdblsize=$longdblsize longdblkind=$longdblkind ivtype='$ivtype' ivsize=$ivsize nvtype='$nvtype' nvsize=$nvsize Off_t='$lseektype' lseeksize=$lseeksize alignbytes=$alignbytes prototype=$prototype Linker and Libraries: ld='$ld' ldflags ='$ldflags' libpth=$libpth libs=$libs perllibs=$perllibs libc=$libc so=$so useshrplib=$useshrplib libperl=$libperl gnulibc_version='$gnulibc_version' Dynamic Linking: dlsrc=$dlsrc dlext=$dlext d_dlsymun=$d_dlsymun ccdlflags='$ccdlflags' cccdlflags='$cccdlflags' lddlflags='$lddlflags' !END! my $summary_expanded; sub myconfig { return $summary_expanded if $summary_expanded; ($summary_expanded = $summary) =~ s{\$(\w+)} { my $c; if ($1 eq 'git_ancestor_line') { if ($Config::Config{git_ancestor}) { $c= "\n Ancestor: $Config::Config{git_ancestor}"; } else { $c= ""; } } else { $c = $Config::Config{$1}; } defined($c) ? $c : 'undef' }ge; $summary_expanded; } local *_ = \my $a; $_ = <<'!END!'; Author='' CONFIG='true' Date='' Header='' Id='' LANG='C' LC_ALL='C' Locker='' Log='' PATCHLEVEL='38' PERL_API_REVISION='5' PERL_API_SUBVERSION='0' PERL_API_VERSION='38' PERL_CONFIG_SH='true' PERL_PATCHLEVEL='' PERL_REVISION='5' PERL_SUBVERSION='2' PERL_VERSION='38' RCSfile='' Revision='' SUBVERSION='2' Source='' State='' _a='.a' _exe='' _o='.o' afs='false' afsroot='/afs' alignbytes='8' aphostname='/bin/hostname' api_revision='5' api_subversion='0' api_version='38' api_versionstring='5.38.0' ar='ar' archlib='/Users/runner/hostedtoolcache/perl/5.38.2/arm64/lib/5.38.2/darwin-2level' archlibexp='/Users/runner/hostedtoolcache/perl/5.38.2/arm64/lib/5.38.2/darwin-2level' archname='darwin-2level' archname64='' archobjs='' asctime_r_proto='0' awk='awk' baserev='5.0' bash='' bin='/Users/runner/hostedtoolcache/perl/5.38.2/arm64/bin' bin_ELF='undef' binexp='/Users/runner/hostedtoolcache/perl/5.38.2/arm64/bin' bison='bison' byacc='byacc' byteorder='ffff' c='\c' castflags='1' cat='cat' cc='cc' cccdlflags='-fPIC' ccdlflags=' ' ccflags='-fno-common -DPERL_DARWIN -mmacosx-version-min=14.2 -DNO_POSIX_2008_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong' ccflags_uselargefiles='' ccname='gcc' ccsymbols='__GCC_HAVE_DWARF2_CFI_ASM=1' ccversion='' cf_by='root' cf_email='root@mac-1707916776537.local' cf_time='Wed Feb 14 13:43:35 UTC 2024' charbits='8' charsize='1' chgrp='' chmod='chmod' chown='' clocktype='clock_t' comm='comm' compiler_warning='grep -i warning' compress='' config_arg0='Configure' config_arg1='-Dprefix=/Users/runner/hostedtoolcache/perl/5.38.2/arm64' config_arg2='-de' config_arg3='-Dman1dir=none' config_arg4='-Dman3dir=none' config_arg5='-Dcccdlflags=-fPIC' config_arg6='-Duseshrplib' config_arg7='-A'eval:scriptdir=/Users/runner/hostedtoolcache/perl/5.38.2/arm64/bin'' config_argc='7' config_args='-Dprefix=/Users/runner/hostedtoolcache/perl/5.38.2/arm64 -de -Dman1dir=none -Dman3dir=none -Dcccdlflags=-fPIC -Duseshrplib -A'eval:scriptdir=/Users/runner/hostedtoolcache/perl/5.38.2/arm64/bin'' contains='grep' cp='cp' cpio='' cpp='cpp' cpp_stuff='42' cppccsymbols='' cppflags='-fno-common -DPERL_DARWIN -mmacosx-version-min=14.2 -DNO_POSIX_2008_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong' cpplast='-' cppminus='-' cpprun='cc -E' cppstdin='cc -E' cppsymbols='_FORTIFY_SOURCE=2 _LP64=1 __BYTE_ORDER__=1234 __GNUC_MINOR__=2 __GNUC__=4 __LITTLE_ENDIAN__=1 __LP64__=1 __MACH__=1 __PIC__=2 __STDC__=1 __aarch64__=1 __clang__=1 __pic__=2' crypt_r_proto='0' cryptlib='' csh='csh' ctermid_r_proto='0' ctime_r_proto='0' d_Gconvert='sprintf((b),"%.*g",(n),(x))' d_PRIEUldbl='define' d_PRIFUldbl='define' d_PRIGUldbl='define' d_PRIXU64='define' d_PRId64='define' d_PRIeldbl='define' d_PRIfldbl='define' d_PRIgldbl='define' d_PRIi64='define' d_PRIo64='define' d_PRIu64='define' d_PRIx64='define' d_SCNfldbl='define' d__fwalk='undef' d_accept4='undef' d_access='define' d_accessx='undef' d_acosh='define' d_aintl='undef' d_alarm='define' d_archlib='define' d_asctime64='undef' d_asctime_r='undef' d_asinh='define' d_atanh='define' d_atolf='undef' d_atoll='define' d_attribute_always_inline='define' d_attribute_deprecated='define' d_attribute_format='define' d_attribute_malloc='define' d_attribute_nonnull='define' d_attribute_noreturn='define' d_attribute_pure='define' d_attribute_unused='define' d_attribute_visibility='define' d_attribute_warn_unused_result='define' d_backtrace='define' d_bsd='undef' d_bsdgetpgrp='undef' d_bsdsetpgrp='undef' d_builtin_add_overflow='define' d_builtin_choose_expr='define' d_builtin_expect='define' d_builtin_mul_overflow='define' d_builtin_sub_overflow='define' d_c99_variadic_macros='define' d_casti32='define' d_castneg='undef' d_cbrt='define' d_chown='define' d_chroot='define' d_chsize='undef' d_class='undef' d_clearenv='undef' d_closedir='define' d_cmsghdr_s='define' d_copysign='define' d_copysignl='define' d_cplusplus='undef' d_crypt='define' d_crypt_r='undef' d_csh='define' d_ctermid='define' d_ctermid_r='undef' d_ctime64='undef' d_ctime_r='undef' d_cuserid='undef' d_dbminitproto='undef' d_difftime='define' d_difftime64='undef' d_dir_dd_fd='undef' d_dirfd='define' d_dirnamlen='define' d_dladdr='define' d_dlerror='define' d_dlopen='define' d_dlsymun='undef' d_dosuid='undef' d_double_has_inf='define' d_double_has_nan='define' d_double_has_negative_zero='define' d_double_has_subnormals='define' d_double_style_cray='undef' d_double_style_ibm='undef' d_double_style_ieee='define' d_double_style_vax='undef' d_drand48_r='undef' d_drand48proto='define' d_dup2='define' d_dup3='undef' d_duplocale='define' d_eaccess='undef' d_endgrent='define' d_endgrent_r='undef' d_endhent='define' d_endhostent_r='undef' d_endnent='define' d_endnetent_r='undef' d_endpent='define' d_endprotoent_r='undef' d_endpwent='define' d_endpwent_r='undef' d_endsent='define' d_endservent_r='undef' d_eofnblk='define' d_erf='define' d_erfc='define' d_eunice='undef' d_exp2='define' d_expm1='define' d_faststdio='define' d_fchdir='define' d_fchmod='define' d_fchmodat='define' d_fchown='define' d_fcntl='define' d_fcntl_can_lock='define' d_fd_macros='define' d_fd_set='define' d_fdclose='undef' d_fdim='define' d_fds_bits='define' d_fegetround='define' d_ffs='define' d_ffsl='define' d_fgetpos='define' d_finite='undef' d_finitel='undef' d_flexfnam='define' d_flock='define' d_flockproto='define' d_fma='define' d_fmax='define' d_fmin='define' d_fork='define' d_fp_class='undef' d_fp_classify='undef' d_fp_classl='undef' d_fpathconf='define' d_fpclass='undef' d_fpclassify='define' d_fpclassl='undef' d_fpgetround='undef' d_fpos64_t='undef' d_freelocale='define' d_frexpl='define' d_fs_data_s='undef' d_fseeko='define' d_fsetpos='define' d_fstatfs='define' d_fstatvfs='define' d_fsync='define' d_ftello='define' d_ftime='undef' d_futimes='define' d_gai_strerror='define' d_gdbm_ndbm_h_uses_prototypes='undef' d_gdbmndbm_h_uses_prototypes='undef' d_getaddrinfo='define' d_getcwd='define' d_getenv_preserves_other_thread='define' d_getespwnam='undef' d_getfsstat='define' d_getgrent='define' d_getgrent_r='undef' d_getgrgid_r='undef' d_getgrnam_r='undef' d_getgrps='define' d_gethbyaddr='define' d_gethbyname='define' d_gethent='define' d_gethname='define' d_gethostbyaddr_r='undef' d_gethostbyname_r='undef' d_gethostent_r='undef' d_gethostprotos='define' d_getitimer='define' d_getlogin='define' d_getlogin_r='undef' d_getmnt='undef' d_getmntent='undef' d_getnameinfo='define' d_getnbyaddr='define' d_getnbyname='define' d_getnent='define' d_getnetbyaddr_r='undef' d_getnetbyname_r='undef' d_getnetent_r='undef' d_getnetprotos='define' d_getpagsz='define' d_getpbyname='define' d_getpbynumber='define' d_getpent='define' d_getpgid='define' d_getpgrp='define' d_getpgrp2='undef' d_getppid='define' d_getprior='define' d_getprotobyname_r='undef' d_getprotobynumber_r='undef' d_getprotoent_r='undef' d_getprotoprotos='define' d_getprpwnam='undef' d_getpwent='define' d_getpwent_r='undef' d_getpwnam_r='undef' d_getpwuid_r='undef' d_getsbyname='define' d_getsbyport='define' d_getsent='define' d_getservbyname_r='undef' d_getservbyport_r='undef' d_getservent_r='undef' d_getservprotos='define' d_getspnam='undef' d_getspnam_r='undef' d_gettimeod='define' d_gmtime64='undef' d_gmtime_r='undef' d_gnulibc='undef' d_grpasswd='define' d_has_C_UTF8='false' d_hasmntopt='undef' d_htonl='define' d_hypot='define' d_ilogb='define' d_ilogbl='define' d_inc_version_list='undef' d_inetaton='define' d_inetntop='define' d_inetpton='define' d_int64_t='define' d_ip_mreq='define' d_ip_mreq_source='define' d_ipv6_mreq='define' d_ipv6_mreq_source='undef' d_isascii='define' d_isblank='define' d_isfinite='define' d_isfinitel='undef' d_isinf='define' d_isinfl='undef' d_isless='define' d_isnan='define' d_isnanl='undef' d_isnormal='define' d_j0='define' d_j0l='undef' d_killpg='define' d_lc_monetary_2008='define' d_lchown='define' d_ldbl_dig='define' d_ldexpl='define' d_lgamma='define' d_lgamma_r='define' d_libm_lib_version='undef' d_libname_unique='undef' d_link='define' d_linkat='define' d_llrint='define' d_llrintl='define' d_llround='define' d_llroundl='define' d_localeconv_l='define' d_localtime64='undef' d_localtime_r='undef' d_localtime_r_needs_tzset='undef' d_locconv='define' d_lockf='define' d_log1p='define' d_log2='define' d_logb='define' d_long_double_style_ieee='undef' d_long_double_style_ieee_doubledouble='undef' d_long_double_style_ieee_extended='undef' d_long_double_style_ieee_std='undef' d_long_double_style_vax='undef' d_longdbl='define' d_longlong='define' d_lrint='define' d_lrintl='define' d_lround='define' d_lroundl='define' d_lseekproto='define' d_lstat='define' d_madvise='define' d_malloc_good_size='define' d_malloc_size='define' d_malloc_usable_size='undef' d_mblen='define' d_mbrlen='define' d_mbrtowc='define' d_mbstowcs='define' d_mbtowc='define' d_memmem='define' d_memrchr='undef' d_mkdir='define' d_mkdtemp='define' d_mkfifo='define' d_mkostemp='undef' d_mkstemp='define' d_mkstemps='define' d_mktime='define' d_mktime64='undef' d_mmap='define' d_modfl='define' d_modflproto='define' d_mprotect='define' d_msg='define' d_msg_ctrunc='define' d_msg_dontroute='define' d_msg_oob='define' d_msg_peek='define' d_msg_proxy='undef' d_msgctl='define' d_msgget='define' d_msghdr_s='define' d_msgrcv='define' d_msgsnd='define' d_msync='define' d_munmap='define' d_mymalloc='undef' d_nan='define' d_nanosleep='define' d_ndbm='define' d_ndbm_h_uses_prototypes='define' d_nearbyint='define' d_newlocale='define' d_nextafter='define' d_nexttoward='define' d_nice='define' d_nl_langinfo='define' d_nl_langinfo_l='undef' d_non_int_bitfields='define' d_nv_preserves_uv='undef' d_nv_zero_is_allbits_zero='define' d_off64_t='undef' d_old_pthread_create_joinable='undef' d_oldpthreads='undef' d_oldsock='undef' d_open3='define' d_openat='define' d_pathconf='define' d_pause='define' d_perl_otherlibdirs='undef' d_phostname='undef' d_pipe='define' d_pipe2='undef' d_poll='undef' d_portable='define' d_prctl='undef' d_prctl_set_name='undef' d_printf_format_null='define' d_procselfexe='undef' d_pseudofork='undef' d_pthread_atfork='define' d_pthread_attr_setscope='define' d_pthread_yield='undef' d_ptrdiff_t='define' d_pwage='undef' d_pwchange='define' d_pwclass='define' d_pwcomment='undef' d_pwexpire='define' d_pwgecos='define' d_pwpasswd='define' d_pwquota='undef' d_qgcvt='undef' d_quad='define' d_querylocale='define' d_random_r='undef' d_re_comp='undef' d_readdir='define' d_readdir64_r='undef' d_readdir_r='undef' d_readlink='define' d_readv='define' d_recvmsg='define' d_regcmp='undef' d_regcomp='define' d_remainder='define' d_remquo='define' d_rename='define' d_renameat='define' d_rewinddir='define' d_rint='define' d_rmdir='define' d_round='define' d_sbrkproto='define' d_scalbn='define' d_scalbnl='define' d_sched_yield='define' d_scm_rights='define' d_seekdir='define' d_select='define' d_sem='define' d_semctl='define' d_semctl_semid_ds='define' d_semctl_semun='define' d_semget='define' d_semop='define' d_sendmsg='define' d_setegid='define' d_setenv='define' d_seteuid='define' d_setgrent='define' d_setgrent_r='undef' d_setgrps='define' d_sethent='define' d_sethostent_r='undef' d_setitimer='define' d_setlinebuf='define' d_setlocale='define' d_setlocale_accepts_any_locale_name='undef' d_setlocale_r='undef' d_setnent='define' d_setnetent_r='undef' d_setpent='define' d_setpgid='define' d_setpgrp='define' d_setpgrp2='undef' d_setprior='define' d_setproctitle='undef' d_setprotoent_r='undef' d_setpwent='define' d_setpwent_r='undef' d_setregid='define' d_setresgid='undef' d_setresuid='undef' d_setreuid='define' d_setrgid='define' d_setruid='define' d_setsent='define' d_setservent_r='undef' d_setsid='define' d_setvbuf='define' d_shm='define' d_shmat='define' d_shmatprototype='define' d_shmctl='define' d_shmdt='define' d_shmget='define' d_sigaction='define' d_siginfo_si_addr='define' d_siginfo_si_band='define' d_siginfo_si_errno='define' d_siginfo_si_fd='undef' d_siginfo_si_pid='define' d_siginfo_si_status='define' d_siginfo_si_uid='define' d_siginfo_si_value='define' d_signbit='define' d_sigprocmask='define' d_sigsetjmp='define' d_sin6_scope_id='define' d_sitearch='define' d_snprintf='define' d_sockaddr_in6='define' d_sockaddr_sa_len='define' d_sockaddr_storage='define' d_sockatmark='define' d_sockatmarkproto='define' d_socket='define' d_socklen_t='define' d_sockpair='define' d_socks5_init='undef' d_sqrtl='define' d_srand48_r='undef' d_srandom_r='undef' d_sresgproto='undef' d_sresuproto='undef' d_stat='define' d_statblks='define' d_statfs_f_flags='define' d_statfs_s='define' d_static_inline='define' d_statvfs='define' d_stdio_cnt_lval='define' d_stdio_ptr_lval='define' d_stdio_ptr_lval_nochange_cnt='undef' d_stdio_ptr_lval_sets_cnt='undef' d_stdio_stream_array='undef' d_stdiobase='undef' d_stdstdio='define' d_strcoll='define' d_strerror_l='undef' d_strerror_r='undef' d_strftime='define' d_strlcat='define' d_strlcpy='define' d_strnlen='define' d_strtod='define' d_strtod_l='define' d_strtol='define' d_strtold='define' d_strtold_l='define' d_strtoll='define' d_strtoq='define' d_strtoul='define' d_strtoull='define' d_strtouq='define' d_strxfrm='define' d_strxfrm_l='define' d_suidsafe='undef' d_symlink='define' d_syscall='undef' d_syscallproto='define' d_sysconf='define' d_sysernlst='' d_syserrlst='define' d_system='define' d_tcgetpgrp='define' d_tcsetpgrp='define' d_telldir='define' d_telldirproto='define' d_tgamma='define' d_thread_local='undef' d_thread_safe_nl_langinfo_l='undef' d_time='define' d_timegm='define' d_times='define' d_tm_tm_gmtoff='define' d_tm_tm_zone='define' d_tmpnam_r='undef' d_towlower='define' d_towupper='define' d_trunc='define' d_truncate='define' d_truncl='define' d_ttyname_r='undef' d_tzname='define' d_u32align='define' d_ualarm='define' d_umask='define' d_uname='define' d_union_semun='define' d_unlinkat='define' d_unordered='undef' d_unsetenv='define' d_uselocale='define' d_usleep='define' d_usleepproto='define' d_ustat='undef' d_vendorarch='undef' d_vendorbin='undef' d_vendorlib='undef' d_vendorscript='undef' d_vfork='define' d_void_closedir='undef' d_voidsig='define' d_voidtty='' d_vsnprintf='define' d_wait4='define' d_waitpid='define' d_wcrtomb='define' d_wcscmp='define' d_wcstombs='define' d_wcsxfrm='define' d_wctomb='define' d_writev='define' d_xenix='undef' date='date' db_hashtype='u_int32_t' db_prefixtype='size_t' db_version_major='1' db_version_minor='0' db_version_patch='0' default_inc_excludes_dot='define' direntrytype='struct dirent' dlext='bundle' dlsrc='dl_dlopen.xs' doubleinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f' doublekind='3' doublemantbits='52' doublenanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f' doublesize='8' drand01='Perl_drand48()' drand48_r_proto='0' dtrace='' dtraceobject='' dtracexnolibs='' dynamic_ext='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd DB_File Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc NDBM_File Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize XS/APItest XS/Typemap attributes mro re threads threads/shared' eagain='EAGAIN' ebcdic='undef' echo='echo' egrep='egrep' emacs='' endgrent_r_proto='0' endhostent_r_proto='0' endnetent_r_proto='0' endprotoent_r_proto='0' endpwent_r_proto='0' endservent_r_proto='0' eunicefix=':' exe_ext='' expr='expr' extensions='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd DB_File Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc NDBM_File Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize XS/APItest XS/Typemap attributes mro re threads threads/shared Archive/Tar Attribute/Handlers AutoLoader CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Config/Perl/V Devel/SelfStubber Digest Dumpvalue Env Errno Exporter ExtUtils/CBuilder ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/PL2Bat ExtUtils/ParseXS File/Fetch File/Find File/Path File/Temp FileCache Filter/Simple FindBin Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 JSON/PP Locale/Maketext Locale/Maketext/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NEXT Net/Ping Params/Check Perl/OSType PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Hash/NamedCapture Tie/Memoize Tie/RefHash Time/Local XSLoader autodie autouse base bignum constant encoding/warnings experimental if lib libnet parent perlfaq podlators version' extern_C='extern' extras='' fflushNULL='define' fflushall='undef' find='' firstmakefile='GNUmakefile' flex='' fpossize='8' fpostype='fpos_t' freetype='void' from=':' full_ar='/usr/bin/ar' full_csh='/bin/csh' full_sed='/usr/bin/sed' gccansipedantic='' gccosandvers='' gccversion='Apple LLVM 15.0.0 (clang-1500.0.40.1)' getgrent_r_proto='0' getgrgid_r_proto='0' getgrnam_r_proto='0' gethostbyaddr_r_proto='0' gethostbyname_r_proto='0' gethostent_r_proto='0' getlogin_r_proto='0' getnetbyaddr_r_proto='0' getnetbyname_r_proto='0' getnetent_r_proto='0' getprotobyname_r_proto='0' getprotobynumber_r_proto='0' getprotoent_r_proto='0' getpwent_r_proto='0' getpwnam_r_proto='0' getpwuid_r_proto='0' getservbyname_r_proto='0' getservbyport_r_proto='0' getservent_r_proto='0' getspnam_r_proto='0' gidformat='"u"' gidsign='1' gidsize='4' gidtype='gid_t' glibpth='/usr/shlib /lib /usr/lib /usr/lib/386 /lib/386 /usr/ccs/lib /usr/ucblib /usr/local/lib ' gmake='gmake' gmtime_r_proto='0' gnulibc_version='' grep='grep' groupcat='cat /etc/group' groupstype='gid_t' gzip='gzip' h_fcntl='false' h_sysfile='true' hint='recommended' hostcat='cat /etc/hosts' hostgenerate='' hostosname='' hostperl='' html1dir=' ' html1direxp='' html3dir=' ' html3direxp='' i16size='2' i16type='short' i32dformat='"d"' i32size='4' i32type='int' i64size='8' i64type='long' i8size='1' i8type='signed char' i_arpainet='define' i_bfd='undef' i_bsdioctl='' i_crypt='undef' i_db='define' i_dbm='undef' i_dirent='define' i_dlfcn='define' i_execinfo='define' i_fcntl='undef' i_fenv='define' i_fp='undef' i_fp_class='undef' i_gdbm='undef' i_gdbm_ndbm='undef' i_gdbmndbm='undef' i_grp='define' i_ieeefp='undef' i_inttypes='define' i_langinfo='define' i_libutil='undef' i_limits='define' i_locale='define' i_machcthr='undef' i_malloc='undef' i_mallocmalloc='define' i_mntent='undef' i_ndbm='define' i_netdb='define' i_neterrno='undef' i_netinettcp='define' i_niin='define' i_poll='undef' i_prot='undef' i_pthread='define' i_pwd='define' i_quadmath='undef' i_rpcsvcdbm='undef' i_sgtty='undef' i_shadow='undef' i_socks='undef' i_stdbool='define' i_stdint='define' i_stdlib='define' i_string='define' i_sunmath='undef' i_sysaccess='undef' i_sysdir='define' i_sysfile='define' i_sysfilio='define' i_sysin='undef' i_sysioctl='define' i_syslog='define' i_sysmman='define' i_sysmode='undef' i_sysmount='define' i_sysndir='undef' i_sysparam='define' i_syspoll='define' i_sysresrc='define' i_syssecrt='undef' i_sysselct='define' i_syssockio='define' i_sysstat='define' i_sysstatfs='undef' i_sysstatvfs='define' i_syssyscall='define' i_systime='define' i_systimek='undef' i_systimes='define' i_systypes='define' i_sysuio='define' i_sysun='define' i_sysutsname='define' i_sysvfs='undef' i_syswait='define' i_termio='undef' i_termios='define' i_time='define' i_unistd='define' i_ustat='undef' i_utime='define' i_vfork='undef' i_wchar='define' i_wctype='define' i_xlocale='define' ignore_versioned_solibs='' inc_version_list=' ' inc_version_list_init='0' incpath='' incpth='/Applications/Xcode_15.0.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/include /Library/Developer/CommandLineTools/SDKs/MacOSX14.2.sdk/usr/include /Applications/Xcode_15.0.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include' inews='' initialinstalllocation='/Users/runner/hostedtoolcache/perl/5.38.2/arm64/bin' installarchlib='/Users/runner/hostedtoolcache/perl/5.38.2/arm64/lib/5.38.2/darwin-2level' installbin='/Users/runner/hostedtoolcache/perl/5.38.2/arm64/bin' installhtml1dir='' installhtml3dir='' installman1dir='' installman3dir='' installprefix='/Users/runner/hostedtoolcache/perl/5.38.2/arm64' installprefixexp='/Users/runner/hostedtoolcache/perl/5.38.2/arm64' installprivlib='/Users/runner/hostedtoolcache/perl/5.38.2/arm64/lib/5.38.2' installscript='/Users/runner/hostedtoolcache/perl/5.38.2/arm64/bin' installsitearch='/Users/runner/hostedtoolcache/perl/5.38.2/arm64/lib/site_perl/5.38.2/darwin-2level' installsitebin='/Users/runner/hostedtoolcache/perl/5.38.2/arm64/bin' installsitehtml1dir='' installsitehtml3dir='' installsitelib='/Users/runner/hostedtoolcache/perl/5.38.2/arm64/lib/site_perl/5.38.2' installsiteman1dir='' installsiteman3dir='' installsitescript='/Users/runner/hostedtoolcache/perl/5.38.2/arm64/bin' installstyle='lib' installusrbinperl='undef' installvendorarch='' installvendorbin='' installvendorhtml1dir='' installvendorhtml3dir='' installvendorlib='' installvendorman1dir='' installvendorman3dir='' installvendorscript='' intsize='4' issymlink='test -h' ivdformat='"ld"' ivsize='8' ivtype='long' known_extensions='Amiga/ARexx Amiga/Exec Archive/Tar Attribute/Handlers AutoLoader B CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Compress/Raw/Bzip2 Compress/Raw/Zlib Config/Perl/V Cwd DB_File Data/Dumper Devel/PPPort Devel/Peek Devel/SelfStubber Digest Digest/MD5 Digest/SHA Dumpvalue Encode Env Errno Exporter ExtUtils/CBuilder ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/PL2Bat ExtUtils/ParseXS Fcntl File/DosGlob File/Fetch File/Find File/Glob File/Path File/Temp FileCache Filter/Simple Filter/Util/Call FindBin GDBM_File Getopt/Long HTTP/Tiny Hash/Util Hash/Util/FieldHash I18N/Collate I18N/LangTags I18N/Langinfo IO IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 IPC/SysV JSON/PP List/Util Locale/Maketext Locale/Maketext/Simple MIME/Base64 Math/BigInt Math/BigInt/FastCalc Math/BigRat Math/Complex Memoize Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NDBM_File NEXT Net/Ping ODBM_File Opcode POSIX Params/Check Perl/OSType PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Perldoc Pod/Simple Pod/Usage SDBM_File Safe Search/Dict SelfLoader Socket Storable Sys/Hostname Sys/Syslog Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Hash/NamedCapture Tie/Memoize Tie/RefHash Time/HiRes Time/Local Time/Piece Unicode/Collate Unicode/Normalize VMS/DCLsym VMS/Filespec VMS/Stdio Win32 Win32API/File Win32CORE XS/APItest XS/Typemap XSLoader attributes autodie autouse base bignum constant encoding/warnings experimental if lib libnet mro parent perlfaq podlators re threads threads/shared version ' ksh='' ld='cc' ld_can_script='undef' lddlflags=' -mmacosx-version-min=14.2 -bundle -undefined dynamic_lookup -fstack-protector-strong' ldflags=' -mmacosx-version-min=14.2 -fstack-protector-strong' ldflags_uselargefiles='' ldlibpthname='DYLD_LIBRARY_PATH' less='less' lib_ext='.a' libc='' libperl='libperl.dylib' libpth='/Applications/Xcode_15.0.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/lib /Library/Developer/CommandLineTools/SDKs/MacOSX14.2.sdk/usr/lib /Applications/Xcode_15.0.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib /usr/lib' libs=' ' libsdirs='' libsfiles='' libsfound='' libspath=' /Applications/Xcode_15.0.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/lib /Library/Developer/CommandLineTools/SDKs/MacOSX14.2.sdk/usr/lib /Applications/Xcode_15.0.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib /usr/lib' libswanted='cl pthread socket bind inet ndbm gdbm dbm db malloc dl ld sun m crypt sec util c cposix posix ucb bsd BSD' libswanted_uselargefiles='' line='' lint='' lkflags='' ln='ln' lns='/bin/ln -s' localtime_r_proto='0' locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include' loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib' longdblinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f' longdblkind='0' longdblmantbits='52' longdblnanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f' longdblsize='8' longlongsize='8' longsize='8' lp='' lpr='' ls='ls' lseeksize='8' lseektype='off_t' mail='' mailx='' make='make' make_set_make='#' malloc_cflags='ccflags="-DUSE_PERL_SBRK -DPERL_SBRK_VIA_MALLOC $ccflags"' mallocobj='' mallocsrc='' malloctype='void *' man1dir=' ' man1direxp='' man1ext='0' man3dir=' ' man3direxp='' man3ext='0' mips_type='' mistrustnm='' mkdir='mkdir' mmaptype='void *' modetype='mode_t' more='more' multiarch='define' mv='' myarchname='arm64-darwin' mydomain='.local' myhostname='mac-1707916776537' myuname='darwin mac-1707916776537.local 23.2.0 darwin kernel version 23.2.0: wed nov 15 21:54:25 pst 2023; root:xnu-10002.61.3~2release_arm64_vmapple arm64 ' n='' need_va_copy='undef' netdb_hlen_type='size_t' netdb_host_type='char *' netdb_name_type='const char *' netdb_net_type='in_addr_t' nm='nm' nm_opt='' nm_so_opt='' nonxs_ext='Archive/Tar Attribute/Handlers AutoLoader CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Config/Perl/V Devel/SelfStubber Digest Dumpvalue Env Errno Exporter ExtUtils/CBuilder ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/PL2Bat ExtUtils/ParseXS File/Fetch File/Find File/Path File/Temp FileCache Filter/Simple FindBin Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 JSON/PP Locale/Maketext Locale/Maketext/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NEXT Net/Ping Params/Check Perl/OSType PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Hash/NamedCapture Tie/Memoize Tie/RefHash Time/Local XSLoader autodie autouse base bignum constant encoding/warnings experimental if lib libnet parent perlfaq podlators version' nroff='nroff' nvEUformat='"E"' nvFUformat='"F"' nvGUformat='"G"' nv_overflows_integers_at='256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0' nv_preserves_uv_bits='53' nveformat='"e"' nvfformat='"f"' nvgformat='"g"' nvmantbits='52' nvsize='8' nvtype='double' o_nonblock='O_NONBLOCK' obj_ext='.o' old_pthread_create_joinable='' optimize='-O3' orderlib='false' osname='darwin' osvers='23.2.0' otherlibdirs=' ' package='perl5' pager='/usr/bin/less -R' passcat='cat /etc/passwd' patchlevel='38' path_sep=':' perl='perl' perl5='/opt/homebrew/opt/perl/bin/perl' perl_patchlevel='' perl_revision='5' perl_static_inline='static __inline__' perl_subversion='2' perl_thread_local='_Thread_local' perl_version='38' perladmin='root@mac-1707916776537.local' perllibs='' perlpath='/Users/runner/hostedtoolcache/perl/5.38.2/arm64/bin/perl' pg='pg' phostname='hostname' pidtype='pid_t' plibpth='' pmake='' pr='' prefix='/Users/runner/hostedtoolcache/perl/5.38.2/arm64' prefixexp='/Users/runner/hostedtoolcache/perl/5.38.2/arm64' privlib='/Users/runner/hostedtoolcache/perl/5.38.2/arm64/lib/5.38.2' privlibexp='/Users/runner/hostedtoolcache/perl/5.38.2/arm64/lib/5.38.2' procselfexe='' prototype='define' ptrsize='8' quadkind='2' quadtype='long' randbits='48' randfunc='Perl_drand48' random_r_proto='0' randseedtype='U32' ranlib='ranlib' rd_nodata='-1' readdir64_r_proto='0' readdir_r_proto='0' revision='5' rm='rm' rm_try='/bin/rm -f try try a.out .out try.[cho] try..o core core.try* try.core*' rmail='' run='' runnm='false' sGMTIME_max='67768036191676799' sGMTIME_min='-62167219200' sLOCALTIME_max='67768036191676799' sLOCALTIME_min='-62167219200' sPRIEUldbl='"E"' sPRIFUldbl='"F"' sPRIGUldbl='"G"' sPRIXU64='"lX"' sPRId64='"ld"' sPRIeldbl='"e"' sPRIfldbl='"f"' sPRIgldbl='"g"' sPRIi64='"li"' sPRIo64='"lo"' sPRIu64='"lu"' sPRIx64='"lx"' sSCNfldbl='"f"' sched_yield='sched_yield()' scriptdir='/Users/runner/hostedtoolcache/perl/5.38.2/arm64/bin' scriptdirexp='/Users/runner/hostedtoolcache/perl/5.38.2/arm64/bin' sed='sed' seedfunc='Perl_drand48_init' selectminbits='32' selecttype='fd_set *' sendmail='' setgrent_r_proto='0' sethostent_r_proto='0' setlocale_r_proto='0' setnetent_r_proto='0' setprotoent_r_proto='0' setpwent_r_proto='0' setservent_r_proto='0' sh='/bin/sh' shar='' sharpbang='#!' shmattype='void *' shortsize='2' shrpenv='env LD_RUN_PATH=/Users/runner/hostedtoolcache/perl/5.38.2/arm64/lib/5.38.2/darwin-2level/CORE' shsharp='true' sig_count='32' sig_name='ZERO HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH INFO USR1 USR2 IOT ' sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "EMT", "FPE", "KILL", "BUS", "SEGV", "SYS", "PIPE", "ALRM", "TERM", "URG", "STOP", "TSTP", "CONT", "CHLD", "TTIN", "TTOU", "IO", "XCPU", "XFSZ", "VTALRM", "PROF", "WINCH", "INFO", "USR1", "USR2", "IOT", 0' sig_num='0 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 6 ' sig_num_init='0, 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, 6, 0' sig_size='33' signal_t='void' sitearch='/Users/runner/hostedtoolcache/perl/5.38.2/arm64/lib/site_perl/5.38.2/darwin-2level' sitearchexp='/Users/runner/hostedtoolcache/perl/5.38.2/arm64/lib/site_perl/5.38.2/darwin-2level' sitebin='/Users/runner/hostedtoolcache/perl/5.38.2/arm64/bin' sitebinexp='/Users/runner/hostedtoolcache/perl/5.38.2/arm64/bin' sitehtml1dir='' sitehtml1direxp='' sitehtml3dir='' sitehtml3direxp='' sitelib='/Users/runner/hostedtoolcache/perl/5.38.2/arm64/lib/site_perl/5.38.2' sitelib_stem='/Users/runner/hostedtoolcache/perl/5.38.2/arm64/lib/site_perl' sitelibexp='/Users/runner/hostedtoolcache/perl/5.38.2/arm64/lib/site_perl/5.38.2' siteman1dir='' siteman1direxp='' siteman3dir='' siteman3direxp='' siteprefix='/Users/runner/hostedtoolcache/perl/5.38.2/arm64' siteprefixexp='/Users/runner/hostedtoolcache/perl/5.38.2/arm64' sitescript='/Users/runner/hostedtoolcache/perl/5.38.2/arm64/bin' sitescriptexp='/Users/runner/hostedtoolcache/perl/5.38.2/arm64/bin' sizesize='8' sizetype='size_t' sleep='' smail='' so='dylib' sockethdr='' socketlib='' socksizetype='socklen_t' sort='sort' spackage='Perl5' spitshell='cat' srand48_r_proto='0' srandom_r_proto='0' src='.' ssizetype='ssize_t' st_dev_sign='-1' st_dev_size='4' st_ino_sign='1' st_ino_size='8' startperl='#!/Users/runner/hostedtoolcache/perl/5.38.2/arm64/bin/perl' startsh='#!/bin/sh' static_ext=' ' stdchar='char' stdio_base='((fp)->_ub._base ? (fp)->_ub._base : (fp)->_bf._base)' stdio_bufsiz='((fp)->_ub._base ? (fp)->_ub._size : (fp)->_bf._size)' stdio_cnt='((fp)->_r)' stdio_filbuf='' stdio_ptr='((fp)->_p)' stdio_stream_array='' strerror_r_proto='0' submit='' subversion='2' sysman='/usr/share/man/man1' sysroot='' tail='' taint_disabled='' taint_support='' tar='' targetarch='' targetdir='' targetenv='' targethost='' targetmkdir='' targetport='' targetsh='/bin/sh' tbl='' tee='' test='test' timeincl='/Library/Developer/CommandLineTools/SDKs/MacOSX14.2.sdk/usr/include/sys/time.h ' timetype='time_t' tmpnam_r_proto='0' to=':' touch='touch' tr='tr' trnl='\n' troff='' ttyname_r_proto='0' u16size='2' u16type='unsigned short' u32XUformat='"X"' u32oformat='"o"' u32size='4' u32type='unsigned int' u32uformat='"u"' u32xformat='"x"' u64size='8' u64type='unsigned long' u8size='1' u8type='unsigned char' uidformat='"u"' uidsign='1' uidsize='4' uidtype='uid_t' uname='uname' uniq='uniq' uquadtype='unsigned long' use64bitall='define' use64bitint='define' usecbacktrace='undef' usecrosscompile='undef' usedefaultstrict='undef' usedevel='undef' usedl='define' usedtrace='undef' usefaststdio='undef' useithreads='undef' usekernprocpathname='undef' uselanginfo='true' uselargefiles='define' uselongdouble='undef' usemallocwrap='define' usemorebits='undef' usemultiplicity='undef' usemymalloc='n' usenm='false' usensgetexecutablepath='define' useopcode='true' useperlio='define' useposix='true' usequadmath='undef' usereentrant='undef' userelocatableinc='undef' useshrplib='true' usesitecustomize='undef' usesocks='undef' usethreads='undef' usevendorprefix='undef' useversionedarchname='undef' usevfork='true' usrinc='/usr/include' uuname='' uvXUformat='"lX"' uvoformat='"lo"' uvsize='8' uvtype='unsigned long' uvuformat='"lu"' uvxformat='"lx"' vendorarch='' vendorarchexp='' vendorbin='' vendorbinexp='' vendorhtml1dir=' ' vendorhtml1direxp='' vendorhtml3dir=' ' vendorhtml3direxp='' vendorlib='' vendorlib_stem='' vendorlibexp='' vendorman1dir=' ' vendorman1direxp='' vendorman3dir=' ' vendorman3direxp='' vendorprefix='' vendorprefixexp='' vendorscript='' vendorscriptexp='' version='5.38.2' version_patchlevel_string='version 38 subversion 2' versiononly='undef' vi='' xlibpth='/usr/lib/386 /lib/386' xlocale_needed='define' yacc='yacc' yaccflags='' zcat='' zip='zip' !END! my $i = ord(8); foreach my $c (7,6,5,4,3,2,1) { $i <<= 8; $i |= ord($c); } our $byteorder = join('', unpack('aaaaaaaa', pack('L!', $i))); s/(byteorder=)(['"]).*?\2/$1$2$Config::byteorder$2/m; { # We have to set this up late as Win32 does not build miniperl # with the same defines and CC flags as it builds perl itself. my $defines = join " ", (Internals::V)[0,1]; if ( $defines =~ /\b(SILENT_NO_TAINT_SUPPORT)\b/ || $defines =~ /\b(NO_TAINT_SUPPORT)\b/ ){ my $which = $1; my $taint_disabled = ($which eq "SILENT_NO_TAINT_SUPPORT") ? "silent" : "define"; s/^(taint_disabled=['"])(["'])/$1$taint_disabled$2/m; } else { my $taint_support = 'define'; s/^(taint_support=['"])(["'])/$1$taint_support$2/m; } } my $config_sh_len = length $_; our $Config_SH_expanded = "\n$_" . << 'EOVIRTUAL'; ccflags_nolargefiles='-fno-common -DPERL_DARWIN -mmacosx-version-min=14.2 -DNO_POSIX_2008_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong' ldflags_nolargefiles=' -mmacosx-version-min=14.2 -fstack-protector-strong' libs_nolargefiles=' ' libswanted_nolargefiles='cl pthread socket bind inet ndbm gdbm dbm db malloc dl ld sun m crypt sec util c cposix posix ucb bsd BSD' ccwarnflags=' -Wall -Werror=pointer-arith -Werror=vla -Wextra -Wno-long-long -Wno-declaration-after-statement -Wc++-compat -Wwrite-strings' ccstdflags=' -std=c99' EOVIRTUAL eval { # do not have hairy conniptions if this isnt available require 'Config_git.pl'; $Config_SH_expanded .= $Config::Git_Data; 1; } or warn "Warning: failed to load Config_git.pl, something strange about this perl...\n"; # Search for it in the big string sub fetch_string { my($self, $key) = @_; return undef unless $Config_SH_expanded =~ /\n$key=\'(.*?)\'\n/s; # So we can say "if $Config{'foo'}". $self->{$key} = $1 eq 'undef' ? undef : $1; } my $prevpos = 0; sub FIRSTKEY { $prevpos = 0; substr($Config_SH_expanded, 1, index($Config_SH_expanded, '=') - 1 ); } sub NEXTKEY { my $pos = index($Config_SH_expanded, qq('\n), $prevpos) + 2; my $len = index($Config_SH_expanded, "=", $pos) - $pos; $prevpos = $pos; $len > 0 ? substr($Config_SH_expanded, $pos, $len) : undef; } sub EXISTS { return 1 if exists($_[0]->{$_[1]}); return(index($Config_SH_expanded, "\n$_[1]='") != -1 ); } sub STORE { die "\%Config::Config is read-only\n" } *DELETE = *CLEAR = \*STORE; # Typeglob aliasing uses less space sub config_sh { substr $Config_SH_expanded, 1, $config_sh_len; } sub config_re { my $re = shift; return map { chomp; $_ } grep eval{ /^(?:$re)=/ }, split /^/, $Config_SH_expanded; } sub config_vars { # implements -V:cfgvar option (see perlrun -V:) foreach (@_) { # find optional leading, trailing colons; and query-spec my ($notag,$qry,$lncont) = m/^(:)?(.*?)(:)?$/; # flags fore and aft, # map colon-flags to print decorations my $prfx = $notag ? '': "$qry="; # tag-prefix for print my $lnend = $lncont ? ' ' : ";\n"; # line ending for print # all config-vars are by definition \w only, any \W means regex if ($qry =~ /\W/) { my @matches = config_re($qry); print map "$_$lnend", @matches ? @matches : "$qry: not found" if !$notag; print map { s/\w+=//; "$_$lnend" } @matches ? @matches : "$qry: not found" if $notag; } else { my $v = (exists $Config::Config{$qry}) ? $Config::Config{$qry} : 'UNKNOWN'; $v = 'undef' unless defined $v; print "${prfx}'${v}'$lnend"; } } } # Called by the real AUTOLOAD sub launcher { undef &AUTOLOAD; goto \&$Config::AUTOLOAD; } 1; FILEe678ed5b/Cwd.pmTopackage Cwd; use strict; use Exporter; our $VERSION = '3.89'; my $xs_version = $VERSION; $VERSION =~ tr/_//d; our @ISA = qw/ Exporter /; our @EXPORT = qw(cwd getcwd fastcwd fastgetcwd); push @EXPORT, qw(getdcwd) if $^O eq 'MSWin32'; our @EXPORT_OK = qw(chdir abs_path fast_abs_path realpath fast_realpath); # sys_cwd may keep the builtin command # All the functionality of this module may provided by builtins, # there is no sense to process the rest of the file. # The best choice may be to have this in BEGIN, but how to return from BEGIN? if ($^O eq 'os2') { local $^W = 0; *cwd = defined &sys_cwd ? \&sys_cwd : \&_os2_cwd; *getcwd = \&cwd; *fastgetcwd = \&cwd; *fastcwd = \&cwd; *fast_abs_path = \&sys_abspath if defined &sys_abspath; *abs_path = \&fast_abs_path; *realpath = \&fast_abs_path; *fast_realpath = \&fast_abs_path; return 1; } # Need to look up the feature settings on VMS. The preferred way is to use the # VMS::Feature module, but that may not be available to dual life modules. my $use_vms_feature; BEGIN { if ($^O eq 'VMS') { if (eval { local $SIG{__DIE__}; local @INC = @INC; pop @INC if $INC[-1] eq '.'; require VMS::Feature; }) { $use_vms_feature = 1; } } } # Need to look up the UNIX report mode. This may become a dynamic mode # in the future. sub _vms_unix_rpt { my $unix_rpt; if ($use_vms_feature) { $unix_rpt = VMS::Feature::current("filename_unix_report"); } else { my $env_unix_rpt = $ENV{'DECC$FILENAME_UNIX_REPORT'} || ''; $unix_rpt = $env_unix_rpt =~ /^[ET1]/i; } return $unix_rpt; } # Need to look up the EFS character set mode. This may become a dynamic # mode in the future. sub _vms_efs { my $efs; if ($use_vms_feature) { $efs = VMS::Feature::current("efs_charset"); } else { my $env_efs = $ENV{'DECC$EFS_CHARSET'} || ''; $efs = $env_efs =~ /^[ET1]/i; } return $efs; } # If loading the XS stuff doesn't work, we can fall back to pure perl if(! defined &getcwd && defined &DynaLoader::boot_DynaLoader) { # skipped on miniperl require XSLoader; XSLoader::load( __PACKAGE__, $xs_version); } # Big nasty table of function aliases my %METHOD_MAP = ( VMS => { cwd => '_vms_cwd', getcwd => '_vms_cwd', fastcwd => '_vms_cwd', fastgetcwd => '_vms_cwd', abs_path => '_vms_abs_path', fast_abs_path => '_vms_abs_path', }, MSWin32 => { # We assume that &_NT_cwd is defined as an XSUB or in the core. cwd => '_NT_cwd', getcwd => '_NT_cwd', fastcwd => '_NT_cwd', fastgetcwd => '_NT_cwd', abs_path => 'fast_abs_path', realpath => 'fast_abs_path', }, dos => { cwd => '_dos_cwd', getcwd => '_dos_cwd', fastgetcwd => '_dos_cwd', fastcwd => '_dos_cwd', abs_path => 'fast_abs_path', }, # QNX4. QNX6 has a $os of 'nto'. qnx => { cwd => '_qnx_cwd', getcwd => '_qnx_cwd', fastgetcwd => '_qnx_cwd', fastcwd => '_qnx_cwd', abs_path => '_qnx_abs_path', fast_abs_path => '_qnx_abs_path', }, cygwin => { getcwd => 'cwd', fastgetcwd => 'cwd', fastcwd => 'cwd', abs_path => 'fast_abs_path', realpath => 'fast_abs_path', }, amigaos => { getcwd => '_backtick_pwd', fastgetcwd => '_backtick_pwd', fastcwd => '_backtick_pwd', abs_path => 'fast_abs_path', } ); $METHOD_MAP{NT} = $METHOD_MAP{MSWin32}; # Find the pwd command in the expected locations. We assume these # are safe. This prevents _backtick_pwd() consulting $ENV{PATH} # so everything works under taint mode. my $pwd_cmd; if($^O ne 'MSWin32') { foreach my $try ('/bin/pwd', '/usr/bin/pwd', '/QOpenSys/bin/pwd', # OS/400 PASE. ) { if( -x $try ) { $pwd_cmd = $try; last; } } } # Android has a built-in pwd. Using $pwd_cmd will DTRT if # this perl was compiled with -Dd_useshellcmds, which is the # default for Android, but the block below is needed for the # miniperl running on the host when cross-compiling, and # potentially for native builds with -Ud_useshellcmds. if ($^O =~ /android/) { # If targetsh is executable, then we're either a full # perl, or a miniperl for a native build. if ( exists($Config::Config{targetsh}) && -x $Config::Config{targetsh}) { $pwd_cmd = "$Config::Config{targetsh} -c pwd" } else { my $sh = $Config::Config{sh} || (-x '/system/bin/sh' ? '/system/bin/sh' : 'sh'); $pwd_cmd = "$sh -c pwd" } } my $found_pwd_cmd = defined($pwd_cmd); # Lazy-load Carp sub _carp { require Carp; Carp::carp(@_) } sub _croak { require Carp; Carp::croak(@_) } # The 'natural and safe form' for UNIX (pwd may be setuid root) sub _backtick_pwd { # Localize %ENV entries in a way that won't create new hash keys. # Under AmigaOS we don't want to localize as it stops perl from # finding 'sh' in the PATH. my @localize = grep exists $ENV{$_}, qw(IFS CDPATH ENV BASH_ENV) if $^O ne "amigaos"; local @ENV{@localize} if @localize; # empty PATH is the same as "." on *nix, so localize it to /something/ # we won't *use* the path as code above turns $pwd_cmd into a specific # executable, but it will blow up anyway under taint. We could set it to # anything absolute. Perhaps "/" would be better. local $ENV{PATH}= "/usr/bin" if $^O ne "amigaos"; my $cwd = `$pwd_cmd`; # Belt-and-suspenders in case someone said "undef $/". local $/ = "\n"; # `pwd` may fail e.g. if the disk is full chomp($cwd) if defined $cwd; $cwd; } # Since some ports may predefine cwd internally (e.g., NT) # we take care not to override an existing definition for cwd(). unless ($METHOD_MAP{$^O}{cwd} or defined &cwd) { if( $found_pwd_cmd ) { *cwd = \&_backtick_pwd; } else { # getcwd() might have an empty prototype *cwd = sub { getcwd(); }; } } if ($^O eq 'cygwin') { # We need to make sure cwd() is called with no args, because it's # got an arg-less prototype and will die if args are present. local $^W = 0; my $orig_cwd = \&cwd; *cwd = sub { &$orig_cwd() } } # set a reasonable (and very safe) default for fastgetcwd, in case it # isn't redefined later (20001212 rspier) *fastgetcwd = \&cwd; # A non-XS version of getcwd() - also used to bootstrap the perl build # process, when miniperl is running and no XS loading happens. sub _perl_getcwd { abs_path('.'); } # By John Bazik # # Usage: $cwd = &fastcwd; # # This is a faster version of getcwd. It's also more dangerous because # you might chdir out of a directory that you can't chdir back into. sub fastcwd_ { my($odev, $oino, $cdev, $cino, $tdev, $tino); my(@path, $path); local(*DIR); my($orig_cdev, $orig_cino) = stat('.'); ($cdev, $cino) = ($orig_cdev, $orig_cino); for (;;) { my $direntry; ($odev, $oino) = ($cdev, $cino); CORE::chdir('..') || return undef; ($cdev, $cino) = stat('.'); last if $odev == $cdev && $oino eq $cino; opendir(DIR, '.') || return undef; for (;;) { $direntry = readdir(DIR); last unless defined $direntry; next if $direntry eq '.'; next if $direntry eq '..'; ($tdev, $tino) = lstat($direntry); last unless $tdev != $odev || $tino ne $oino; } closedir(DIR); return undef unless defined $direntry; # should never happen unshift(@path, $direntry); } $path = '/' . join('/', @path); if ($^O eq 'apollo') { $path = "/".$path; } # At this point $path may be tainted (if tainting) and chdir would fail. # Untaint it then check that we landed where we started. $path =~ /^(.*)\z/s # untaint && CORE::chdir($1) or return undef; ($cdev, $cino) = stat('.'); die "Unstable directory path, current directory changed unexpectedly" if $cdev != $orig_cdev || $cino ne $orig_cino; $path; } if (not defined &fastcwd) { *fastcwd = \&fastcwd_ } # Keeps track of current working directory in PWD environment var # Usage: # use Cwd 'chdir'; # chdir $newdir; my $chdir_init = 0; sub chdir_init { if ($ENV{'PWD'} and $^O ne 'os2' and $^O ne 'dos' and $^O ne 'MSWin32') { my($dd,$di) = stat('.'); my($pd,$pi) = stat($ENV{'PWD'}); if (!defined $dd or !defined $pd or $di ne $pi or $dd != $pd) { $ENV{'PWD'} = cwd(); } } else { my $wd = cwd(); $wd = Win32::GetFullPathName($wd) if $^O eq 'MSWin32'; $ENV{'PWD'} = $wd; } # Strip an automounter prefix (where /tmp_mnt/foo/bar == /foo/bar) if ($^O ne 'MSWin32' and $ENV{'PWD'} =~ m|(/[^/]+(/[^/]+/[^/]+))(.*)|s) { my($pd,$pi) = stat($2); my($dd,$di) = stat($1); if (defined $pd and defined $dd and $di ne $pi and $dd == $pd) { $ENV{'PWD'}="$2$3"; } } $chdir_init = 1; } sub chdir { my $newdir = @_ ? shift : ''; # allow for no arg (chdir to HOME dir) if ($^O eq "cygwin") { $newdir =~ s|\A///+|//|; $newdir =~ s|(?<=[^/])//+|/|g; } elsif ($^O ne 'MSWin32') { $newdir =~ s|///*|/|g; } chdir_init() unless $chdir_init; my $newpwd; if ($^O eq 'MSWin32') { # get the full path name *before* the chdir() $newpwd = Win32::GetFullPathName($newdir); } return 0 unless CORE::chdir $newdir; if ($^O eq 'VMS') { return $ENV{'PWD'} = $ENV{'DEFAULT'} } elsif ($^O eq 'MSWin32') { $ENV{'PWD'} = $newpwd; return 1; } if (ref $newdir eq 'GLOB') { # in case a file/dir handle is passed in $ENV{'PWD'} = cwd(); } elsif ($newdir =~ m#^/#s) { $ENV{'PWD'} = $newdir; } else { my @curdir = split(m#/#,$ENV{'PWD'}); @curdir = ('') unless @curdir; my $component; foreach $component (split(m#/#, $newdir)) { next if $component eq '.'; pop(@curdir),next if $component eq '..'; push(@curdir,$component); } $ENV{'PWD'} = join('/',@curdir) || '/'; } 1; } sub _perl_abs_path { my $start = @_ ? shift : '.'; my($dotdots, $cwd, @pst, @cst, $dir, @tst); unless (@cst = stat( $start )) { return undef; } unless (-d _) { # Make sure we can be invoked on plain files, not just directories. # NOTE that this routine assumes that '/' is the only directory separator. my ($dir, $file) = $start =~ m{^(.*)/(.+)$} or return cwd() . '/' . $start; # Can't use "-l _" here, because the previous stat was a stat(), not an lstat(). if (-l $start) { my $link_target = readlink($start); die "Can't resolve link $start: $!" unless defined $link_target; require File::Spec; $link_target = $dir . '/' . $link_target unless File::Spec->file_name_is_absolute($link_target); return abs_path($link_target); } return $dir ? abs_path($dir) . "/$file" : "/$file"; } $cwd = ''; $dotdots = $start; do { $dotdots .= '/..'; @pst = @cst; local *PARENT; unless (opendir(PARENT, $dotdots)) { return undef; } unless (@cst = stat($dotdots)) { my $e = $!; closedir(PARENT); $! = $e; return undef; } if ($pst[0] == $cst[0] && $pst[1] eq $cst[1]) { $dir = undef; } else { do { unless (defined ($dir = readdir(PARENT))) { closedir(PARENT); require Errno; $! = Errno::ENOENT(); return undef; } $tst[0] = $pst[0]+1 unless (@tst = lstat("$dotdots/$dir")) } while ($dir eq '.' || $dir eq '..' || $tst[0] != $pst[0] || $tst[1] ne $pst[1]); } $cwd = (defined $dir ? "$dir" : "" ) . "/$cwd" ; closedir(PARENT); } while (defined $dir); chop($cwd) unless $cwd eq '/'; # drop the trailing / $cwd; } my $Curdir; sub fast_abs_path { local $ENV{PWD} = $ENV{PWD} || ''; # Guard against clobberage my $cwd = getcwd(); defined $cwd or return undef; require File::Spec; my $path = @_ ? shift : ($Curdir ||= File::Spec->curdir); # Detaint else we'll explode in taint mode. This is safe because # we're not doing anything dangerous with it. ($path) = $path =~ /(.*)/s; ($cwd) = $cwd =~ /(.*)/s; unless (-e $path) { require Errno; $! = Errno::ENOENT(); return undef; } unless (-d _) { # Make sure we can be invoked on plain files, not just directories. my ($vol, $dir, $file) = File::Spec->splitpath($path); return File::Spec->catfile($cwd, $path) unless length $dir; if (-l $path) { my $link_target = readlink($path); defined $link_target or return undef; $link_target = File::Spec->catpath($vol, $dir, $link_target) unless File::Spec->file_name_is_absolute($link_target); return fast_abs_path($link_target); } return $dir eq File::Spec->rootdir ? File::Spec->catpath($vol, $dir, $file) : fast_abs_path(File::Spec->catpath($vol, $dir, '')) . '/' . $file; } if (!CORE::chdir($path)) { return undef; } my $realpath = getcwd(); if (! ((-d $cwd) && (CORE::chdir($cwd)))) { _croak("Cannot chdir back to $cwd: $!"); } $realpath; } # added function alias to follow principle of least surprise # based on previous aliasing. --tchrist 27-Jan-00 *fast_realpath = \&fast_abs_path; # --- PORTING SECTION --- # VMS: $ENV{'DEFAULT'} points to default directory at all times # 06-Mar-1996 Charles Bailey bailey@newman.upenn.edu # Note: Use of Cwd::chdir() causes the logical name PWD to be defined # in the process logical name table as the default device and directory # seen by Perl. This may not be the same as the default device # and directory seen by DCL after Perl exits, since the effects # the CRTL chdir() function persist only until Perl exits. sub _vms_cwd { return $ENV{'DEFAULT'}; } sub _vms_abs_path { return $ENV{'DEFAULT'} unless @_; my $path = shift; my $efs = _vms_efs; my $unix_rpt = _vms_unix_rpt; if (defined &VMS::Filespec::vmsrealpath) { my $path_unix = 0; my $path_vms = 0; $path_unix = 1 if ($path =~ m#(?<=\^)/#); $path_unix = 1 if ($path =~ /^\.\.?$/); $path_vms = 1 if ($path =~ m#[\[<\]]#); $path_vms = 1 if ($path =~ /^--?$/); my $unix_mode = $path_unix; if ($efs) { # In case of a tie, the Unix report mode decides. if ($path_vms == $path_unix) { $unix_mode = $unix_rpt; } else { $unix_mode = 0 if $path_vms; } } if ($unix_mode) { # Unix format return VMS::Filespec::unixrealpath($path); } # VMS format my $new_path = VMS::Filespec::vmsrealpath($path); # Perl expects directories to be in directory format $new_path = VMS::Filespec::pathify($new_path) if -d $path; return $new_path; } # Fallback to older algorithm if correct ones are not # available. if (-l $path) { my $link_target = readlink($path); die "Can't resolve link $path: $!" unless defined $link_target; return _vms_abs_path($link_target); } # may need to turn foo.dir into [.foo] my $pathified = VMS::Filespec::pathify($path); $path = $pathified if defined $pathified; return VMS::Filespec::rmsexpand($path); } sub _os2_cwd { my $pwd = `cmd /c cd`; chomp $pwd; $pwd =~ s:\\:/:g ; $ENV{'PWD'} = $pwd; return $pwd; } sub _win32_cwd_simple { my $pwd = `cd`; chomp $pwd; $pwd =~ s:\\:/:g ; $ENV{'PWD'} = $pwd; return $pwd; } sub _win32_cwd { my $pwd; $pwd = Win32::GetCwd(); $pwd =~ s:\\:/:g ; $ENV{'PWD'} = $pwd; return $pwd; } *_NT_cwd = defined &Win32::GetCwd ? \&_win32_cwd : \&_win32_cwd_simple; sub _dos_cwd { my $pwd; if (!defined &Dos::GetCwd) { chomp($pwd = `command /c cd`); $pwd =~ s:\\:/:g ; } else { $pwd = Dos::GetCwd(); } $ENV{'PWD'} = $pwd; return $pwd; } sub _qnx_cwd { local $ENV{PATH} = ''; local $ENV{CDPATH} = ''; local $ENV{ENV} = ''; my $pwd = `/usr/bin/fullpath -t`; chomp $pwd; $ENV{'PWD'} = $pwd; return $pwd; } sub _qnx_abs_path { local $ENV{PATH} = ''; local $ENV{CDPATH} = ''; local $ENV{ENV} = ''; my $path = @_ ? shift : '.'; local *REALPATH; defined( open(REALPATH, '-|') || exec '/usr/bin/fullpath', '-t', $path ) or die "Can't open /usr/bin/fullpath: $!"; my $realpath = ; close REALPATH; chomp $realpath; return $realpath; } # Now that all the base-level functions are set up, alias the # user-level functions to the right places if (exists $METHOD_MAP{$^O}) { my $map = $METHOD_MAP{$^O}; foreach my $name (keys %$map) { local $^W = 0; # assignments trigger 'subroutine redefined' warning no strict 'refs'; *{$name} = \&{$map->{$name}}; } } # built-in from 5.30 *getcwd = \&Internals::getcwd if !defined &getcwd && defined &Internals::getcwd; # In case the XS version doesn't load. *abs_path = \&_perl_abs_path unless defined &abs_path; *getcwd = \&_perl_getcwd unless defined &getcwd; # added function alias for those of us more # used to the libc function. --tchrist 27-Jan-00 *realpath = \&abs_path; 1; __END__ =head1 NAME Cwd - get pathname of current working directory =head1 SYNOPSIS use Cwd; my $dir = getcwd; use Cwd 'abs_path'; my $abs_path = abs_path($file); =head1 DESCRIPTION This module provides functions for determining the pathname of the current working directory. It is recommended that getcwd (or another *cwd() function) be used in I code to ensure portability. By default, it exports the functions cwd(), getcwd(), fastcwd(), and fastgetcwd() (and, on Win32, getdcwd()) into the caller's namespace. =head2 getcwd and friends Each of these functions are called without arguments and return the absolute path of the current working directory. =over 4 =item getcwd my $cwd = getcwd(); Returns the current working directory. On error returns C, with C<$!> set to indicate the error. Exposes the POSIX function getcwd(3) or re-implements it if it's not available. =item cwd my $cwd = cwd(); The cwd() is the most natural form for the current architecture. For most systems it is identical to `pwd` (but without the trailing line terminator). =item fastcwd my $cwd = fastcwd(); A more dangerous version of getcwd(), but potentially faster. It might conceivably chdir() you out of a directory that it can't chdir() you back into. If fastcwd encounters a problem it will return undef but will probably leave you in a different directory. For a measure of extra security, if everything appears to have worked, the fastcwd() function will check that it leaves you in the same directory that it started in. If it has changed it will C with the message "Unstable directory path, current directory changed unexpectedly". That should never happen. =item fastgetcwd my $cwd = fastgetcwd(); The fastgetcwd() function is provided as a synonym for cwd(). =item getdcwd my $cwd = getdcwd(); my $cwd = getdcwd('C:'); The getdcwd() function is also provided on Win32 to get the current working directory on the specified drive, since Windows maintains a separate current working directory for each drive. If no drive is specified then the current drive is assumed. This function simply calls the Microsoft C library _getdcwd() function. =back =head2 abs_path and friends These functions are exported only on request. They each take a single argument and return the absolute pathname for it. If no argument is given they'll use the current working directory. =over 4 =item abs_path my $abs_path = abs_path($file); Uses the same algorithm as getcwd(). Symbolic links and relative-path components ("." and "..") are resolved to return the canonical pathname, just like realpath(3). On error returns C, with C<$!> set to indicate the error. =item realpath my $abs_path = realpath($file); A synonym for abs_path(). =item fast_abs_path my $abs_path = fast_abs_path($file); A more dangerous, but potentially faster version of abs_path. =back =head2 $ENV{PWD} If you ask to override your chdir() built-in function, use Cwd qw(chdir); then your PWD environment variable will be kept up to date. Note that it will only be kept up to date if all packages which use chdir import it from Cwd. =head1 NOTES =over 4 =item * Since the path separators are different on some operating systems ('/' on Unix, ':' on MacPerl, etc...) we recommend you use the File::Spec modules wherever portability is a concern. =item * Actually, on Mac OS, the C, C and C functions are all aliases for the C function, which, on Mac OS, calls `pwd`. Likewise, the C function is an alias for C. =back =head1 AUTHOR Maintained by perl5-porters >. =head1 COPYRIGHT Copyright (c) 2004 by the Perl 5 Porters. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. Portions of the C code in this library are copyright (c) 1994 by the Regents of the University of California. All rights reserved. The license on this code is compatible with the licensing of the rest of the distribution - please see the source code in F for the details. =head1 SEE ALSO L =cut FILEb56a5696/Digest/SHA.pmW2package Digest::SHA; require 5.003000; use strict; use warnings; use vars qw($VERSION @ISA @EXPORT_OK $errmsg); use Fcntl qw(O_RDONLY O_RDWR); use Cwd qw(getcwd); use integer; $VERSION = '6.04'; require Exporter; @ISA = qw(Exporter); @EXPORT_OK = qw( $errmsg hmac_sha1 hmac_sha1_base64 hmac_sha1_hex hmac_sha224 hmac_sha224_base64 hmac_sha224_hex hmac_sha256 hmac_sha256_base64 hmac_sha256_hex hmac_sha384 hmac_sha384_base64 hmac_sha384_hex hmac_sha512 hmac_sha512_base64 hmac_sha512_hex hmac_sha512224 hmac_sha512224_base64 hmac_sha512224_hex hmac_sha512256 hmac_sha512256_base64 hmac_sha512256_hex sha1 sha1_base64 sha1_hex sha224 sha224_base64 sha224_hex sha256 sha256_base64 sha256_hex sha384 sha384_base64 sha384_hex sha512 sha512_base64 sha512_hex sha512224 sha512224_base64 sha512224_hex sha512256 sha512256_base64 sha512256_hex); # Inherit from Digest::base if possible eval { require Digest::base; push(@ISA, 'Digest::base'); }; # The following routines aren't time-critical, so they can be left in Perl sub new { my($class, $alg) = @_; $alg =~ s/\D+//g if defined $alg; if (ref($class)) { # instance method if (!defined($alg) || ($alg == $class->algorithm)) { sharewind($class); return($class); } return shainit($class, $alg) ? $class : undef; } $alg = 1 unless defined $alg; return $class->newSHA($alg); } BEGIN { *reset = \&new } sub add_bits { my($self, $data, $nbits) = @_; unless (defined $nbits) { $nbits = length($data); $data = pack("B*", $data); } $nbits = length($data) * 8 if $nbits > length($data) * 8; shawrite($data, $nbits, $self); return($self); } sub _bail { my $msg = shift; $errmsg = $!; $msg .= ": $!"; require Carp; Carp::croak($msg); } { my $_can_T_filehandle; sub _istext { local *FH = shift; my $file = shift; if (! defined $_can_T_filehandle) { local $^W = 0; my $istext = eval { -T FH }; $_can_T_filehandle = $@ ? 0 : 1; return $_can_T_filehandle ? $istext : -T $file; } return $_can_T_filehandle ? -T FH : -T $file; } } sub _addfile { my ($self, $handle) = @_; my $n; my $buf = ""; while (($n = read($handle, $buf, 4096))) { $self->add($buf); } _bail("Read failed") unless defined $n; $self; } sub addfile { my ($self, $file, $mode) = @_; return(_addfile($self, $file)) unless ref(\$file) eq 'SCALAR'; $mode = defined($mode) ? $mode : ""; my ($binary, $UNIVERSAL, $BITS) = map { $_ eq $mode } ("b", "U", "0"); ## Always interpret "-" to mean STDIN; otherwise use ## sysopen to handle full range of POSIX file names. ## If $file is a directory, force an EISDIR error ## by attempting to open with mode O_RDWR local *FH; if ($file eq '-') { if (-d STDIN) { sysopen(FH, getcwd(), O_RDWR) or _bail('Open failed'); } open(FH, '< -') or _bail('Open failed'); } else { sysopen(FH, $file, -d $file ? O_RDWR : O_RDONLY) or _bail('Open failed'); } if ($BITS) { my ($n, $buf) = (0, ""); while (($n = read(FH, $buf, 4096))) { $buf =~ tr/01//cd; $self->add_bits($buf); } _bail("Read failed") unless defined $n; close(FH); return($self); } binmode(FH) if $binary || $UNIVERSAL; if ($UNIVERSAL && _istext(*FH, $file)) { $self->_addfileuniv(*FH); } else { $self->_addfilebin(*FH) } close(FH); $self; } sub getstate { my $self = shift; my $alg = $self->algorithm or return; my $state = $self->_getstate or return; my $nD = $alg <= 256 ? 8 : 16; my $nH = $alg <= 256 ? 32 : 64; my $nB = $alg <= 256 ? 64 : 128; my($H, $block, $blockcnt, $lenhh, $lenhl, $lenlh, $lenll) = $state =~ /^(.{$nH})(.{$nB})(.{4})(.{4})(.{4})(.{4})(.{4})$/s; for ($alg, $H, $block, $blockcnt, $lenhh, $lenhl, $lenlh, $lenll) { return unless defined $_; } my @s = (); push(@s, "alg:" . $alg); push(@s, "H:" . join(":", unpack("H*", $H) =~ /.{$nD}/g)); push(@s, "block:" . join(":", unpack("H*", $block) =~ /.{2}/g)); push(@s, "blockcnt:" . unpack("N", $blockcnt)); push(@s, "lenhh:" . unpack("N", $lenhh)); push(@s, "lenhl:" . unpack("N", $lenhl)); push(@s, "lenlh:" . unpack("N", $lenlh)); push(@s, "lenll:" . unpack("N", $lenll)); join("\n", @s) . "\n"; } sub putstate { my($class, $state) = @_; my %s = (); for (split(/\n/, $state)) { s/^\s+//; s/\s+$//; next if (/^(#|$)/); my @f = split(/[:\s]+/); my $tag = shift(@f); $s{$tag} = join('', @f); } # H and block may contain arbitrary values, but check everything else grep { $_ == $s{'alg'} } (1,224,256,384,512,512224,512256) or return; length($s{'H'}) == ($s{'alg'} <= 256 ? 64 : 128) or return; length($s{'block'}) == ($s{'alg'} <= 256 ? 128 : 256) or return; { no integer; for (qw(blockcnt lenhh lenhl lenlh lenll)) { 0 <= $s{$_} or return; $s{$_} <= 4294967295 or return; } $s{'blockcnt'} < ($s{'alg'} <= 256 ? 512 : 1024) or return; } my $packed_state = ( pack("H*", $s{'H'}) . pack("H*", $s{'block'}) . pack("N", $s{'blockcnt'}) . pack("N", $s{'lenhh'}) . pack("N", $s{'lenhl'}) . pack("N", $s{'lenlh'}) . pack("N", $s{'lenll'}) ); return $class->new($s{'alg'})->_putstate($packed_state); } sub dump { my $self = shift; my $file = shift; my $state = $self->getstate or return; $file = "-" if (!defined($file) || $file eq ""); local *FH; open(FH, "> $file") or return; print FH $state; close(FH); return($self); } sub load { my $class = shift; my $file = shift; $file = "-" if (!defined($file) || $file eq ""); local *FH; open(FH, "< $file") or return; my $str = join('', ); close(FH); $class->putstate($str); } eval { require XSLoader; XSLoader::load('Digest::SHA', $VERSION); 1; } or do { require DynaLoader; push @ISA, 'DynaLoader'; Digest::SHA->bootstrap($VERSION); }; 1; __END__ =head1 NAME Digest::SHA - Perl extension for SHA-1/224/256/384/512 =head1 SYNOPSIS In programs: # Functional interface use Digest::SHA qw(sha1 sha1_hex sha1_base64 ...); $digest = sha1($data); $digest = sha1_hex($data); $digest = sha1_base64($data); $digest = sha256($data); $digest = sha384_hex($data); $digest = sha512_base64($data); # Object-oriented use Digest::SHA; $sha = Digest::SHA->new($alg); $sha->add($data); # feed data into stream $sha->addfile(*F); $sha->addfile($filename); $sha->add_bits($bits); $sha->add_bits($data, $nbits); $sha_copy = $sha->clone; # make copy of digest object $state = $sha->getstate; # save current state to string $sha->putstate($state); # restore previous $state $digest = $sha->digest; # compute digest $digest = $sha->hexdigest; $digest = $sha->b64digest; From the command line: $ shasum files $ shasum --help =head1 SYNOPSIS (HMAC-SHA) # Functional interface only use Digest::SHA qw(hmac_sha1 hmac_sha1_hex ...); $digest = hmac_sha1($data, $key); $digest = hmac_sha224_hex($data, $key); $digest = hmac_sha256_base64($data, $key); =head1 ABSTRACT Digest::SHA is a complete implementation of the NIST Secure Hash Standard. It gives Perl programmers a convenient way to calculate SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, and SHA-512/256 message digests. The module can handle all types of input, including partial-byte data. =head1 DESCRIPTION Digest::SHA is written in C for speed. If your platform lacks a C compiler, you can install the functionally equivalent (but much slower) L module. The programming interface is easy to use: it's the same one found in CPAN's L module. So, if your applications currently use L and you'd prefer the stronger security of SHA, it's a simple matter to convert them. The interface provides two ways to calculate digests: all-at-once, or in stages. To illustrate, the following short program computes the SHA-256 digest of "hello world" using each approach: use Digest::SHA qw(sha256_hex); $data = "hello world"; @frags = split(//, $data); # all-at-once (Functional style) $digest1 = sha256_hex($data); # in-stages (OOP style) $state = Digest::SHA->new(256); for (@frags) { $state->add($_) } $digest2 = $state->hexdigest; print $digest1 eq $digest2 ? "whew!\n" : "oops!\n"; To calculate the digest of an n-bit message where I is not a multiple of 8, use the I method. For example, consider the 446-bit message consisting of the bit-string "110" repeated 148 times, followed by "11". Here's how to display its SHA-1 digest: use Digest::SHA; $bits = "110" x 148 . "11"; $sha = Digest::SHA->new(1)->add_bits($bits); print $sha->hexdigest, "\n"; Note that for larger bit-strings, it's more efficient to use the two-argument version I, where I<$data> is in the customary packed binary format used for Perl strings. The module also lets you save intermediate SHA states to a string. The I method generates portable, human-readable text describing the current state of computation. You can subsequently restore that state with I to resume where the calculation left off. To see what a state description looks like, just run the following: use Digest::SHA; print Digest::SHA->new->add("Shaw" x 1962)->getstate; As an added convenience, the Digest::SHA module offers routines to calculate keyed hashes using the HMAC-SHA-1/224/256/384/512 algorithms. These services exist in functional form only, and mimic the style and behavior of the I, I, and I functions. # Test vector from draft-ietf-ipsec-ciph-sha-256-01.txt use Digest::SHA qw(hmac_sha256_hex); print hmac_sha256_hex("Hi There", chr(0x0b) x 32), "\n"; =head1 UNICODE AND SIDE EFFECTS Perl supports Unicode strings as of version 5.6. Such strings may contain wide characters, namely, characters whose ordinal values are greater than 255. This can cause problems for digest algorithms such as SHA that are specified to operate on sequences of bytes. The rule by which Digest::SHA handles a Unicode string is easy to state, but potentially confusing to grasp: the string is interpreted as a sequence of byte values, where each byte value is equal to the ordinal value (viz. code point) of its corresponding Unicode character. That way, the Unicode string 'abc' has exactly the same digest value as the ordinary string 'abc'. Since a wide character does not fit into a byte, the Digest::SHA routines croak if they encounter one. Whereas if a Unicode string contains no wide characters, the module accepts it quite happily. The following code illustrates the two cases: $str1 = pack('U*', (0..255)); print sha1_hex($str1); # ok $str2 = pack('U*', (0..256)); print sha1_hex($str2); # croaks Be aware that the digest routines silently convert UTF-8 input into its equivalent byte sequence in the native encoding (cf. utf8::downgrade). This side effect influences only the way Perl stores the data internally, but otherwise leaves the actual value of the data intact. =head1 NIST STATEMENT ON SHA-1 NIST acknowledges that the work of Prof. Xiaoyun Wang constitutes a practical collision attack on SHA-1. Therefore, NIST encourages the rapid adoption of the SHA-2 hash functions (e.g. SHA-256) for applications requiring strong collision resistance, such as digital signatures. ref. L =head1 PADDING OF BASE64 DIGESTS By convention, CPAN Digest modules do B pad their Base64 output. Problems can occur when feeding such digests to other software that expects properly padded Base64 encodings. For the time being, any necessary padding must be done by the user. Fortunately, this is a simple operation: if the length of a Base64-encoded digest isn't a multiple of 4, simply append "=" characters to the end of the digest until it is: while (length($b64_digest) % 4) { $b64_digest .= '='; } To illustrate, I is computed to be ungWv48Bz+pBQUDeXa4iI7ADYaOWF3qctBD/YfIAFa0 which has a length of 43. So, the properly padded version is ungWv48Bz+pBQUDeXa4iI7ADYaOWF3qctBD/YfIAFa0= =head1 EXPORT None by default. =head1 EXPORTABLE FUNCTIONS Provided your C compiler supports a 64-bit type (e.g. the I of C99, or I<__int64> used by Microsoft C/C++), all of these functions will be available for use. Otherwise, you won't be able to perform the SHA-384 and SHA-512 transforms, both of which require 64-bit operations. I =over 4 =item B =item B =item B =item B =item B =item B =item B Logically joins the arguments into a single string, and returns its SHA-1/224/256/384/512 digest encoded as a binary string. =item B =item B =item B =item B =item B =item B =item B Logically joins the arguments into a single string, and returns its SHA-1/224/256/384/512 digest encoded as a hexadecimal string. =item B =item B =item B =item B =item B =item B =item B Logically joins the arguments into a single string, and returns its SHA-1/224/256/384/512 digest encoded as a Base64 string. It's important to note that the resulting string does B contain the padding characters typical of Base64 encodings. This omission is deliberate, and is done to maintain compatibility with the family of CPAN Digest modules. See L for details. =back I =over 4 =item B Returns a new Digest::SHA object. Allowed values for I<$alg> are 1, 224, 256, 384, 512, 512224, or 512256. It's also possible to use common string representations of the algorithm (e.g. "sha256", "SHA-384"). If the argument is missing, SHA-1 will be used by default. Invoking I as an instance method will reset the object to the initial state associated with I<$alg>. If the argument is missing, the object will continue using the same algorithm that was selected at creation. =item B This method has exactly the same effect as I. In fact, I is just an alias for I. =item B Returns the number of digest bits for this object. The values are 160, 224, 256, 384, 512, 224, and 256 for SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 and SHA-512/256, respectively. =item B Returns the digest algorithm for this object. The values are 1, 224, 256, 384, 512, 512224, and 512256 for SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, and SHA-512/256, respectively. =item B Returns a duplicate copy of the object. =item B Logically joins the arguments into a single string, and uses it to update the current digest state. In other words, the following statements have the same effect: $sha->add("a"); $sha->add("b"); $sha->add("c"); $sha->add("a")->add("b")->add("c"); $sha->add("a", "b", "c"); $sha->add("abc"); The return value is the updated object itself. =item B =item B Updates the current digest state by appending bits to it. The return value is the updated object itself. The first form causes the most-significant I<$nbits> of I<$data> to be appended to the stream. The I<$data> argument is in the customary binary format used for Perl strings. The second form takes an ASCII string of "0" and "1" characters as its argument. It's equivalent to $sha->add_bits(pack("B*", $bits), length($bits)); So, the following two statements do the same thing: $sha->add_bits("111100001010"); $sha->add_bits("\xF0\xA0", 12); Note that SHA-1 and SHA-2 use I for their internal state. This means that $sha3->add_bits("110"); is equivalent to $sha3->add_bits("1")->add_bits("1")->add_bits("0"); =item B Reads from I until EOF, and appends that data to the current state. The return value is the updated object itself. =item B Reads the contents of I<$filename>, and appends that data to the current state. The return value is the updated object itself. By default, I<$filename> is simply opened and read; no special modes or I/O disciplines are used. To change this, set the optional I<$mode> argument to one of the following values: "b" read file in binary mode "U" use universal newlines "0" use BITS mode The "U" mode is modeled on Python's "Universal Newlines" concept, whereby DOS and Mac OS line terminators are converted internally to UNIX newlines before processing. This ensures consistent digest values when working simultaneously across multiple file systems. B, namely those passing Perl's I<-T> test; binary files are processed with no translation whatsoever. The BITS mode ("0") interprets the contents of I<$filename> as a logical stream of bits, where each ASCII '0' or '1' character represents a 0 or 1 bit, respectively. All other characters are ignored. This provides a convenient way to calculate the digest values of partial-byte data by using files, rather than having to write separate programs employing the I method. =item B Returns a string containing a portable, human-readable representation of the current SHA state. =item B Returns a Digest::SHA object representing the SHA state contained in I<$str>. The format of I<$str> matches the format of the output produced by method I. If called as a class method, a new object is created; if called as an instance method, the object is reset to the state contained in I<$str>. =item B Writes the output of I to I<$filename>. If the argument is missing, or equal to the empty string, the state information will be written to STDOUT. =item B Returns a Digest::SHA object that results from calling I on the contents of I<$filename>. If the argument is missing, or equal to the empty string, the state information will be read from STDIN. =item B Returns the digest encoded as a binary string. Note that the I method is a read-once operation. Once it has been performed, the Digest::SHA object is automatically reset in preparation for calculating another digest value. Call I<$sha-Eclone-Edigest> if it's necessary to preserve the original digest state. =item B Returns the digest encoded as a hexadecimal string. Like I, this method is a read-once operation. Call I<$sha-Eclone-Ehexdigest> if it's necessary to preserve the original digest state. =item B Returns the digest encoded as a Base64 string. Like I, this method is a read-once operation. Call I<$sha-Eclone-Eb64digest> if it's necessary to preserve the original digest state. It's important to note that the resulting string does B contain the padding characters typical of Base64 encodings. This omission is deliberate, and is done to maintain compatibility with the family of CPAN Digest modules. See L for details. =back I =over 4 =item B =item B =item B =item B =item B =item B =item B Returns the HMAC-SHA-1/224/256/384/512 digest of I<$data>/I<$key>, with the result encoded as a binary string. Multiple I<$data> arguments are allowed, provided that I<$key> is the last argument in the list. =item B =item B =item B =item B =item B =item B =item B Returns the HMAC-SHA-1/224/256/384/512 digest of I<$data>/I<$key>, with the result encoded as a hexadecimal string. Multiple I<$data> arguments are allowed, provided that I<$key> is the last argument in the list. =item B =item B =item B =item B =item B =item B =item B Returns the HMAC-SHA-1/224/256/384/512 digest of I<$data>/I<$key>, with the result encoded as a Base64 string. Multiple I<$data> arguments are allowed, provided that I<$key> is the last argument in the list. It's important to note that the resulting string does B contain the padding characters typical of Base64 encodings. This omission is deliberate, and is done to maintain compatibility with the family of CPAN Digest modules. See L for details. =back =head1 SEE ALSO L, L The Secure Hash Standard (Draft FIPS PUB 180-4) can be found at: L The Keyed-Hash Message Authentication Code (HMAC): L =head1 AUTHOR Mark Shelor =head1 ACKNOWLEDGMENTS The author is particularly grateful to Gisle Aas H. Merijn Brand Sean Burke Chris Carey Alexandr Ciornii Chris David Jim Doble Thomas Drugeon Julius Duque Jeffrey Friedl Robert Gilmour Brian Gladman Jarkko Hietaniemi Adam Kennedy Mark Lawrence Andy Lester Alex Muntada Steve Peters Chris Skiscim Martin Thurn Gunnar Wolf Adam Woodbury "who by trained skill rescued life from such great billows and such thick darkness and moored it in so perfect a calm and in so brilliant a light" - Lucretius =head1 COPYRIGHT AND LICENSE Copyright (C) 2003-2022 Mark Shelor This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. L =cut FILE179c3734/DynaLoader.pmf # Generated from DynaLoader_pm.PL, this file is unique for every OS use strict; package DynaLoader; # And Gandalf said: 'Many folk like to know beforehand what is to # be set on the table; but those who have laboured to prepare the # feast like to keep their secret; for wonder makes the words of # praise louder.' # (Quote from Tolkien suggested by Anno Siegel.) # # See pod text at end of file for documentation. # See also ext/DynaLoader/README in source tree for other information. # # Tim.Bunce@ig.co.uk, August 1994 BEGIN { our $VERSION = '1.54'; } # Note: in almost any other piece of code "our" would have been a better # option than "use vars", but DynaLoader's bootstrap files need the # side effect of the variable being declared in any scope whose current # package is DynaLoader, not just the current lexical one. use vars qw(@dl_library_path @dl_resolve_using @dl_require_symbols $dl_debug @dl_librefs @dl_modules @dl_shared_objects $dl_dlext $dl_so $dlsrc @args $module @dirs $file $bscode); use Config; # enable debug/trace messages from DynaLoader perl code $dl_debug = $ENV{PERL_DL_DEBUG} || 0 unless defined $dl_debug; # # Flags to alter dl_load_file behaviour. Assigned bits: # 0x01 make symbols available for linking later dl_load_file's. # (only known to work on Solaris 2 using dlopen(RTLD_GLOBAL)) # (ignored under VMS; effect is built-in to image linking) # (ignored under Android; the linker always uses RTLD_LOCAL) # # This is called as a class method $module->dl_load_flags. The # definition here will be inherited and result on "default" loading # behaviour unless a sub-class of DynaLoader defines its own version. # sub dl_load_flags { 0x00 } ($dl_dlext, $dl_so, $dlsrc) = @Config::Config{qw(dlext so dlsrc)}; # Some systems need special handling to expand file specifications # (VMS support by Charles Bailey ) # See dl_expandspec() for more details. Should be harmless but # inefficient to define on systems that don't need it. use vars qw($do_expand); $do_expand = 0; @dl_require_symbols = (); # names of symbols we need @dl_library_path = (); # path to look for files #XSLoader.pm may have added elements before we were required #@dl_shared_objects = (); # shared objects for symbols we have #@dl_librefs = (); # things we have loaded #@dl_modules = (); # Modules we have loaded # Initialise @dl_library_path with the 'standard' library path # for this platform as determined by Configure. push(@dl_library_path, split(' ', $Config::Config{libpth})); my $ldlibpthname = $Config::Config{ldlibpthname}; my $ldlibpthname_defined = defined $Config::Config{ldlibpthname}; my $pthsep = $Config::Config{path_sep}; # Add to @dl_library_path any extra directories we can gather from environment # during runtime. if ($ldlibpthname_defined && exists $ENV{$ldlibpthname}) { push(@dl_library_path, split(/$pthsep/, $ENV{$ldlibpthname})); } # E.g. HP-UX supports both its native SHLIB_PATH *and* LD_LIBRARY_PATH. if ($ldlibpthname_defined && $ldlibpthname ne 'LD_LIBRARY_PATH' && exists $ENV{LD_LIBRARY_PATH}) { push(@dl_library_path, split(/$pthsep/, $ENV{LD_LIBRARY_PATH})); } # No prizes for guessing why we don't say 'bootstrap DynaLoader;' here. # NOTE: All dl_*.xs (including dl_none.xs) define a dl_error() XSUB boot_DynaLoader('DynaLoader') if defined(&boot_DynaLoader) && !defined(&dl_error); if ($dl_debug) { print STDERR "DynaLoader.pm loaded (@INC, @dl_library_path)\n"; print STDERR "DynaLoader not linked into this perl\n" unless defined(&boot_DynaLoader); } 1; # End of main code sub croak { require Carp; Carp::croak(@_) } sub bootstrap_inherit { my $module = $_[0]; no strict qw/refs vars/; local *isa = *{"$module\::ISA"}; local @isa = (@isa, 'DynaLoader'); # Cannot goto due to delocalization. Will report errors on a wrong line? bootstrap(@_); } sub bootstrap { # use local vars to enable $module.bs script to edit values local(@args) = @_; local($module) = $args[0]; local(@dirs, $file); unless ($module) { require Carp; Carp::confess("Usage: DynaLoader::bootstrap(module)"); } # A common error on platforms which don't support dynamic loading. # Since it's fatal and potentially confusing we give a detailed message. croak("Can't load module $module, dynamic loading not available in this perl.\n". " (You may need to build a new perl executable which either supports\n". " dynamic loading or has the $module module statically linked into it.)\n") unless defined(&dl_load_file); my @modparts = split(/::/,$module); my $modfname = $modparts[-1]; my $modfname_orig = $modfname; # For .bs file search # Some systems have restrictions on files names for DLL's etc. # mod2fname returns appropriate file base name (typically truncated) # It may also edit @modparts if required. $modfname = &mod2fname(\@modparts) if defined &mod2fname; my $modpname = join('/',@modparts); print STDERR "DynaLoader::bootstrap for $module ", "(auto/$modpname/$modfname.$dl_dlext)\n" if $dl_debug; my $dir; foreach (@INC) { $dir = "$_/auto/$modpname"; next unless -d $dir; # skip over uninteresting directories # check for common cases to avoid autoload of dl_findfile my $try = "$dir/$modfname.$dl_dlext"; last if $file = ($do_expand) ? dl_expandspec($try) : ((-f $try) && $try); # no luck here, save dir for possible later dl_findfile search push @dirs, $dir; } # last resort, let dl_findfile have a go in all known locations $file = dl_findfile(map("-L$_",@dirs,@INC), $modfname) unless $file; croak("Can't locate loadable object for module $module in \@INC (\@INC contains: @INC)") unless $file; # wording similar to error from 'require' my $bootname = "boot_$module"; $bootname =~ s/\W/_/g; @dl_require_symbols = ($bootname); # Execute optional '.bootstrap' perl script for this module. # The .bs file can be used to configure @dl_resolve_using etc to # match the needs of the individual module on this architecture. # N.B. The .bs file does not following the naming convention used # by mod2fname. my $bs = "$dir/$modfname_orig"; $bs =~ s/(\.\w+)?(;\d*)?$/\.bs/; # look for .bs 'beside' the library if (-s $bs) { # only read file if it's not empty print STDERR "BS: $bs ($^O, $dlsrc)\n" if $dl_debug; eval { local @INC = ('.'); do $bs; }; warn "$bs: $@\n" if $@; } my $boot_symbol_ref; if ($boot_symbol_ref = dl_find_symbol(0, $bootname, 1)) { goto boot; #extension library has already been loaded, e.g. darwin } # Many dynamic extension loading problems will appear to come from # this section of code: XYZ failed at line 123 of DynaLoader.pm. # Often these errors are actually occurring in the initialisation # C code of the extension XS file. Perl reports the error as being # in this perl code simply because this was the last perl code # it executed. my $flags = $module->dl_load_flags; my $libref = dl_load_file($file, $flags) or croak("Can't load '$file' for module $module: ".dl_error()); push(@dl_librefs,$libref); # record loaded object $boot_symbol_ref = dl_find_symbol($libref, $bootname) or croak("Can't find '$bootname' symbol in $file\n"); push(@dl_modules, $module); # record loaded module boot: my $xs = dl_install_xsub("${module}::bootstrap", $boot_symbol_ref, $file); # See comment block above push(@dl_shared_objects, $file); # record files loaded &$xs(@args); } sub dl_findfile { # This function does not automatically consider the architecture # or the perl library auto directories. my (@args) = @_; my (@dirs, $dir); # which directories to search my (@found); # full paths to real files we have found #my $dl_ext= 'bundle'; # $Config::Config{'dlext'} suffix for perl extensions #my $dl_so = 'dylib'; # $Config::Config{'so'} suffix for shared libraries print STDERR "dl_findfile(@args)\n" if $dl_debug; # accumulate directories but process files as they appear arg: foreach(@args) { # Special fast case: full filepath requires no search if (m:/: && -f $_) { push(@found,$_); last arg unless wantarray; next; } # Deal with directories first: # Using a -L prefix is the preferred option (faster and more robust) if ( s{^-L}{} ) { push(@dirs, $_); next; } # Otherwise we try to try to spot directories by a heuristic # (this is a more complicated issue than it first appears) if (m:/: && -d $_) { push(@dirs, $_); next; } # Only files should get this far... my(@names, $name); # what filenames to look for if ( s{^-l}{} ) { # convert -lname to appropriate library name push(@names, "lib$_.$dl_so", "lib$_.a"); } else { # Umm, a bare name. Try various alternatives: # these should be ordered with the most likely first push(@names,"$_.$dl_dlext") unless m/\.$dl_dlext$/o; push(@names,"$_.$dl_so") unless m/\.$dl_so$/o; push(@names,"lib$_.$dl_so") unless m:/:; push(@names, $_); } my $dirsep = '/'; foreach $dir (@dirs, @dl_library_path) { next unless -d $dir; foreach $name (@names) { my($file) = "$dir$dirsep$name"; print STDERR " checking in $dir for $name\n" if $dl_debug; if ($do_expand && ($file = dl_expandspec($file))) { push @found, $file; next arg; # no need to look any further } elsif (-f $file) { push(@found, $file); next arg; # no need to look any further } elsif (dl_load_file($file, 0)) { push @found, $file; next arg; # no need to look any further } } } } if ($dl_debug) { foreach(@dirs) { print STDERR " dl_findfile ignored non-existent directory: $_\n" unless -d $_; } print STDERR "dl_findfile found: @found\n"; } return $found[0] unless wantarray; @found; } sub dl_expandspec { my($spec) = @_; # Optional function invoked if DynaLoader.pm sets $do_expand. # Most systems do not require or use this function. # Some systems may implement it in the dl_*.xs file in which case # this Perl version should be excluded at build time. # This function is designed to deal with systems which treat some # 'filenames' in a special way. For example VMS 'Logical Names' # (something like unix environment variables - but different). # This function should recognise such names and expand them into # full file paths. # Must return undef if $spec is invalid or file does not exist. my $file = $spec; # default output to input return undef unless -f $file; print STDERR "dl_expandspec($spec) => $file\n" if $dl_debug; $file; } sub dl_find_symbol_anywhere { my $sym = shift; my $libref; foreach $libref (@dl_librefs) { my $symref = dl_find_symbol($libref,$sym,1); return $symref if $symref; } return undef; } __END__ =head1 NAME DynaLoader - Dynamically load C libraries into Perl code =head1 SYNOPSIS package YourPackage; require DynaLoader; @ISA = qw(... DynaLoader ...); __PACKAGE__->bootstrap; # optional method for 'global' loading sub dl_load_flags { 0x01 } =head1 DESCRIPTION This document defines a standard generic interface to the dynamic linking mechanisms available on many platforms. Its primary purpose is to implement automatic dynamic loading of Perl modules. This document serves as both a specification for anyone wishing to implement the DynaLoader for a new platform and as a guide for anyone wishing to use the DynaLoader directly in an application. The DynaLoader is designed to be a very simple high-level interface that is sufficiently general to cover the requirements of SunOS, HP-UX, Linux, VMS and other platforms. It is also hoped that the interface will cover the needs of OS/2, NT etc and also allow pseudo-dynamic linking (using C at runtime). It must be stressed that the DynaLoader, by itself, is practically useless for accessing non-Perl libraries because it provides almost no Perl-to-C 'glue'. There is, for example, no mechanism for calling a C library function or supplying arguments. A C::DynaLib module is available from CPAN sites which performs that function for some common system types. And since the year 2000, there's also Inline::C, a module that allows you to write Perl subroutines in C. Also available from your local CPAN site. DynaLoader Interface Summary @dl_library_path @dl_resolve_using @dl_require_symbols $dl_debug $dl_dlext @dl_librefs @dl_modules @dl_shared_objects Implemented in: bootstrap($modulename) Perl @filepaths = dl_findfile(@names) Perl $flags = $modulename->dl_load_flags Perl $symref = dl_find_symbol_anywhere($symbol) Perl $libref = dl_load_file($filename, $flags) C $status = dl_unload_file($libref) C $symref = dl_find_symbol($libref, $symbol) C @symbols = dl_undef_symbols() C dl_install_xsub($name, $symref [, $filename]) C $message = dl_error C =over 4 =item @dl_library_path The standard/default list of directories in which dl_findfile() will search for libraries etc. Directories are searched in order: $dl_library_path[0], [1], ... etc @dl_library_path is initialised to hold the list of 'normal' directories (F, etc) determined by B (C<$Config{'libpth'}>). This should ensure portability across a wide range of platforms. @dl_library_path should also be initialised with any other directories that can be determined from the environment at runtime (such as LD_LIBRARY_PATH for SunOS). After initialisation @dl_library_path can be manipulated by an application using push and unshift before calling dl_findfile(). Unshift can be used to add directories to the front of the search order either to save search time or to override libraries with the same name in the 'normal' directories. The load function that dl_load_file() calls may require an absolute pathname. The dl_findfile() function and @dl_library_path can be used to search for and return the absolute pathname for the library/object that you wish to load. =item @dl_resolve_using A list of additional libraries or other shared objects which can be used to resolve any undefined symbols that might be generated by a later call to load_file(). This is only required on some platforms which do not handle dependent libraries automatically. For example the Socket Perl extension library (F) contains references to many socket functions which need to be resolved when it's loaded. Most platforms will automatically know where to find the 'dependent' library (e.g., F). A few platforms need to be told the location of the dependent library explicitly. Use @dl_resolve_using for this. Example usage: @dl_resolve_using = dl_findfile('-lsocket'); =item @dl_require_symbols A list of one or more symbol names that are in the library/object file to be dynamically loaded. This is only required on some platforms. =item @dl_librefs An array of the handles returned by successful calls to dl_load_file(), made by bootstrap, in the order in which they were loaded. Can be used with dl_find_symbol() to look for a symbol in any of the loaded files. =item @dl_modules An array of module (package) names that have been bootstrap'ed. =item @dl_shared_objects An array of file names for the shared objects that were loaded. =item dl_error() Syntax: $message = dl_error(); Error message text from the last failed DynaLoader function. Note that, similar to errno in unix, a successful function call does not reset this message. Implementations should detect the error as soon as it occurs in any of the other functions and save the corresponding message for later retrieval. This will avoid problems on some platforms (such as SunOS) where the error message is very temporary (e.g., dlerror()). =item $dl_debug Internal debugging messages are enabled when $dl_debug is set true. Currently setting $dl_debug only affects the Perl side of the DynaLoader. These messages should help an application developer to resolve any DynaLoader usage problems. $dl_debug is set to C<$ENV{'PERL_DL_DEBUG'}> if defined. For the DynaLoader developer/porter there is a similar debugging variable added to the C code (see dlutils.c) and enabled if Perl was built with the B<-DDEBUGGING> flag. This can also be set via the PERL_DL_DEBUG environment variable. Set to 1 for minimal information or higher for more. =item $dl_dlext When specified (localised) in a module's F<.pm> file, indicates the extension which the module's loadable object will have. For example: local $DynaLoader::dl_dlext = 'unusual_ext'; would indicate that the module's loadable object has an extension of C instead of the more usual C<$Config{dlext}>. NOTE: This also requires that the module's F specify (in C): DLEXT => 'unusual_ext', =item dl_findfile() Syntax: @filepaths = dl_findfile(@names) Determine the full paths (including file suffix) of one or more loadable files given their generic names and optionally one or more directories. Searches directories in @dl_library_path by default and returns an empty list if no files were found. Names can be specified in a variety of platform independent forms. Any names in the form B<-lname> are converted into F, where F<.*> is an appropriate suffix for the platform. If a name does not already have a suitable prefix and/or suffix then the corresponding file will be searched for by trying combinations of prefix and suffix appropriate to the platform: "$name.o", "lib$name.*" and "$name". If any directories are included in @names they are searched before @dl_library_path. Directories may be specified as B<-Ldir>. Any other names are treated as filenames to be searched for. Using arguments of the form C<-Ldir> and C<-lname> is recommended. Example: @dl_resolve_using = dl_findfile(qw(-L/usr/5lib -lposix)); =item dl_expandspec() Syntax: $filepath = dl_expandspec($spec) Some unusual systems, such as VMS, require special filename handling in order to deal with symbolic names for files (i.e., VMS's Logical Names). To support these systems a dl_expandspec() function can be implemented either in the F file or code can be added to the dl_expandspec() function in F. See F for more information. =item dl_load_file() Syntax: $libref = dl_load_file($filename, $flags) Dynamically load $filename, which must be the path to a shared object or library. An opaque 'library reference' is returned as a handle for the loaded object. Returns undef on error. The $flags argument to alters dl_load_file behaviour. Assigned bits: 0x01 make symbols available for linking later dl_load_file's. (only known to work on Solaris 2 using dlopen(RTLD_GLOBAL)) (ignored under VMS; this is a normal part of image linking) (On systems that provide a handle for the loaded object such as SunOS and HPUX, $libref will be that handle. On other systems $libref will typically be $filename or a pointer to a buffer containing $filename. The application should not examine or alter $libref in any way.) This is the function that does the real work. It should use the current values of @dl_require_symbols and @dl_resolve_using if required. SunOS: dlopen($filename) HP-UX: shl_load($filename) Linux: dld_create_reference(@dl_require_symbols); dld_link($filename) VMS: lib$find_image_symbol($filename,$dl_require_symbols[0]) (The dlopen() function is also used by Solaris and some versions of Linux, and is a common choice when providing a "wrapper" on other mechanisms as is done in the OS/2 port.) =item dl_unload_file() Syntax: $status = dl_unload_file($libref) Dynamically unload $libref, which must be an opaque 'library reference' as returned from dl_load_file. Returns one on success and zero on failure. This function is optional and may not necessarily be provided on all platforms. If it is defined and perl is compiled with the C macro C defined, then it is called automatically when the interpreter exits for every shared object or library loaded by DynaLoader::bootstrap. All such library references are stored in @dl_librefs by DynaLoader::Bootstrap as it loads the libraries. The files are unloaded in last-in, first-out order. This unloading is usually necessary when embedding a shared-object perl (e.g. one configured with -Duseshrplib) within a larger application, and the perl interpreter is created and destroyed several times within the lifetime of the application. In this case it is possible that the system dynamic linker will unload and then subsequently reload the shared libperl without relocating any references to it from any files DynaLoaded by the previous incarnation of the interpreter. As a result, any shared objects opened by DynaLoader may point to a now invalid 'ghost' of the libperl shared object, causing apparently random memory corruption and crashes. This behaviour is most commonly seen when using Apache and mod_perl built with the APXS mechanism. SunOS: dlclose($libref) HP-UX: ??? Linux: ??? VMS: ??? (The dlclose() function is also used by Solaris and some versions of Linux, and is a common choice when providing a "wrapper" on other mechanisms as is done in the OS/2 port.) =item dl_load_flags() Syntax: $flags = dl_load_flags $modulename; Designed to be a method call, and to be overridden by a derived class (i.e. a class which has DynaLoader in its @ISA). The definition in DynaLoader itself returns 0, which produces standard behavior from dl_load_file(). =item dl_find_symbol() Syntax: $symref = dl_find_symbol($libref, $symbol) Return the address of the symbol $symbol or C if not found. If the target system has separate functions to search for symbols of different types then dl_find_symbol() should search for function symbols first and then other types. The exact manner in which the address is returned in $symref is not currently defined. The only initial requirement is that $symref can be passed to, and understood by, dl_install_xsub(). SunOS: dlsym($libref, $symbol) HP-UX: shl_findsym($libref, $symbol) Linux: dld_get_func($symbol) and/or dld_get_symbol($symbol) VMS: lib$find_image_symbol($libref,$symbol) =item dl_find_symbol_anywhere() Syntax: $symref = dl_find_symbol_anywhere($symbol) Applies dl_find_symbol() to the members of @dl_librefs and returns the first match found. =item dl_undef_symbols() Example @symbols = dl_undef_symbols() Return a list of symbol names which remain undefined after load_file(). Returns C<()> if not known. Don't worry if your platform does not provide a mechanism for this. Most do not need it and hence do not provide it, they just return an empty list. =item dl_install_xsub() Syntax: dl_install_xsub($perl_name, $symref [, $filename]) Create a new Perl external subroutine named $perl_name using $symref as a pointer to the function which implements the routine. This is simply a direct call to newXS()/newXS_flags(). Returns a reference to the installed function. The $filename parameter is used by Perl to identify the source file for the function if required by die(), caller() or the debugger. If $filename is not defined then "DynaLoader" will be used. =item bootstrap() Syntax: bootstrap($module [...]) This is the normal entry point for automatic dynamic loading in Perl. It performs the following actions: =over 8 =item * locates an auto/$module directory by searching @INC =item * uses dl_findfile() to determine the filename to load =item * sets @dl_require_symbols to C<("boot_$module")> =item * executes an F file if it exists (typically used to add to @dl_resolve_using any files which are required to load the module on the current platform) =item * calls dl_load_flags() to determine how to load the file. =item * calls dl_load_file() to load the file =item * calls dl_undef_symbols() and warns if any symbols are undefined =item * calls dl_find_symbol() for "boot_$module" =item * calls dl_install_xsub() to install it as "${module}::bootstrap" =item * calls &{"${module}::bootstrap"} to bootstrap the module (actually it uses the function reference returned by dl_install_xsub for speed) =back All arguments to bootstrap() are passed to the module's bootstrap function. The default code generated by F expects $module [, $version] If the optional $version argument is not given, it defaults to C<$XS_VERSION // $VERSION> in the module's symbol table. The default code compares the Perl-space version with the version of the compiled XS code, and croaks with an error if they do not match. =back =head1 AUTHOR Tim Bunce, 11 August 1994. This interface is based on the work and comments of (in no particular order): Larry Wall, Robert Sanders, Dean Roehrich, Jeff Okamoto, Anno Siegel, Thomas Neumann, Paul Marquess, Charles Bailey, myself and others. Larry Wall designed the elegant inherited bootstrap mechanism and implemented the first Perl 5 dynamic loader using it. Solaris global loading added by Nick Ing-Simmons with design/coding assistance from Tim Bunce, January 1996. =cut FILEc6a146cd/strict.pmpackage strict; $strict::VERSION = "1.12"; my ( %bitmask, %explicit_bitmask ); BEGIN { # Verify that we're called correctly so that strictures will work. # Can't use Carp, since Carp uses us! # see also warnings.pm. die sprintf "Incorrect use of pragma '%s' at %s line %d.\n", __PACKAGE__, +(caller)[1,2] if __FILE__ !~ ( '(?x) \b '.__PACKAGE__.' \.pmc? \z' ) && __FILE__ =~ ( '(?x) \b (?i:'.__PACKAGE__.') \.pmc? \z' ); %bitmask = ( refs => 0x00000002, subs => 0x00000200, vars => 0x00000400, ); %explicit_bitmask = ( refs => 0x00000020, subs => 0x00000040, vars => 0x00000080, ); my $bits = 0; $bits |= $_ for values %bitmask; my $inline_all_bits = $bits; *all_bits = sub () { $inline_all_bits }; $bits = 0; $bits |= $_ for values %explicit_bitmask; my $inline_all_explicit_bits = $bits; *all_explicit_bits = sub () { $inline_all_explicit_bits }; } sub bits { my $bits = 0; my @wrong; foreach my $s (@_) { if (exists $bitmask{$s}) { $^H |= $explicit_bitmask{$s}; $bits |= $bitmask{$s}; } else { push @wrong, $s; } } if (@wrong) { require Carp; Carp::croak("Unknown 'strict' tag(s) '@wrong'"); } $bits; } sub import { shift; $^H |= @_ ? &bits : all_bits | all_explicit_bits; } sub unimport { shift; if (@_) { $^H &= ~&bits; } else { $^H &= ~all_bits; $^H |= all_explicit_bits; } } 1; __END__ =head1 NAME strict - Perl pragma to restrict unsafe constructs =head1 SYNOPSIS use strict; use strict "vars"; use strict "refs"; use strict "subs"; use strict; no strict "vars"; =head1 DESCRIPTION The C pragma disables certain Perl expressions that could behave unexpectedly or are difficult to debug, turning them into errors. The effect of this pragma is limited to the current file or scope block. If no import list is supplied, all possible restrictions are assumed. (This is the safest mode to operate in, but is sometimes too strict for casual programming.) Currently, there are three possible things to be strict about: "subs", "vars", and "refs". =over 6 =item C This generates a runtime error if you use symbolic references (see L). use strict 'refs'; $ref = \$foo; print $$ref; # ok $ref = "foo"; print $$ref; # runtime error; normally ok $file = "STDOUT"; print $file "Hi!"; # error; note: no comma after $file There is one exception to this rule: $bar = \&{'foo'}; &$bar; is allowed so that C would not break under stricture. =item C This generates a compile-time error if you access a variable that was neither explicitly declared (using any of C, C, C, or C) nor fully qualified. (Because this is to avoid variable suicide problems and subtle dynamic scoping issues, a merely C variable isn't good enough.) See L, L, L, L, and L. use strict 'vars'; $X::foo = 1; # ok, fully qualified my $foo = 10; # ok, my() var local $baz = 9; # blows up, $baz not declared before package Cinna; our $bar; # Declares $bar in current package $bar = 'HgS'; # ok, global declared via pragma The local() generated a compile-time error because you just touched a global name without fully qualifying it. Because of their special use by sort(), the variables $a and $b are exempted from this check. =item C This disables the poetry optimization, generating a compile-time error if you try to use a bareword identifier that's not a subroutine, unless it is a simple identifier (no colons) and that it appears in curly braces, on the left hand side of the C<< => >> symbol, or has the unary minus operator applied to it. use strict 'subs'; $SIG{PIPE} = Plumber; # blows up $SIG{PIPE} = "Plumber"; # fine: quoted string is always ok $SIG{PIPE} = \&Plumber; # preferred form =back See L. =head1 HISTORY C, with Perl 5.6.1, erroneously permitted to use an unquoted compound identifier (e.g. C) as a hash key (before C<< => >> or inside curlies), but without forcing it always to a literal string. Starting with Perl 5.8.1 strict is strict about its restrictions: if unknown restrictions are used, the strict pragma will abort with Unknown 'strict' tag(s) '...' As of version 1.04 (Perl 5.10), strict verifies that it is used as "strict" to avoid the dreaded Strict trap on case insensitive file systems. =cut FILE24b540f9/utf8.pm*package utf8; use strict; use warnings; our $hint_bits = 0x00800000; our $VERSION = '1.25'; our $AUTOLOAD; sub import { $^H |= $hint_bits; } sub unimport { $^H &= ~$hint_bits; } sub AUTOLOAD { goto &$AUTOLOAD if defined &$AUTOLOAD; require Carp; Carp::croak("Undefined subroutine $AUTOLOAD called"); } 1; __END__ =head1 NAME utf8 - Perl pragma to enable/disable UTF-8 (or UTF-EBCDIC) in source code =head1 SYNOPSIS use utf8; no utf8; # Convert the internal representation of a Perl scalar to/from UTF-8. $num_octets = utf8::upgrade($string); $success = utf8::downgrade($string[, $fail_ok]); # Change each character of a Perl scalar to/from a series of # characters that represent the UTF-8 bytes of each original character. utf8::encode($string); # "\x{100}" becomes "\xc4\x80" utf8::decode($string); # "\xc4\x80" becomes "\x{100}" # Convert a code point from the platform native character set to # Unicode, and vice-versa. $unicode = utf8::native_to_unicode(ord('A')); # returns 65 on both # ASCII and EBCDIC # platforms $native = utf8::unicode_to_native(65); # returns 65 on ASCII # platforms; 193 on # EBCDIC $flag = utf8::is_utf8($string); # since Perl 5.8.1 $flag = utf8::valid($string); =head1 DESCRIPTION The C pragma tells the Perl parser to allow UTF-8 in the program text in the current lexical scope. The C pragma tells Perl to switch back to treating the source text as literal bytes in the current lexical scope. (On EBCDIC platforms, technically it is allowing UTF-EBCDIC, and not UTF-8, but this distinction is academic, so in this document the term UTF-8 is used to mean both). B The utility functions described below are directly usable without C. Because it is not possible to reliably tell UTF-8 from native 8 bit encodings, you need either a Byte Order Mark at the beginning of your source code, or C, to instruct perl. When UTF-8 becomes the standard source format, this pragma will effectively become a no-op. See also the effects of the C<-C> switch and its cousin, the C environment variable, in L. Enabling the C pragma has the following effect: =over 4 =item * Bytes in the source text that are not in the ASCII character set will be treated as being part of a literal UTF-8 sequence. This includes most literals such as identifier names, string constants, and constant regular expression patterns. =back Note that if you have non-ASCII, non-UTF-8 bytes in your script (for example embedded Latin-1 in your string literals), C will be unhappy. If you want to have such bytes under C, you can disable this pragma until the end the block (or file, if at top level) by C. =head2 Utility functions The following functions are defined in the C package by the Perl core. You do not need to say C to use these and in fact you should not say that unless you really want to have UTF-8 source code. =over 4 =item * C<$num_octets = utf8::upgrade($string)> (Since Perl v5.8.0) Converts in-place the internal representation of the string from an octet sequence in the native encoding (Latin-1 or EBCDIC) to UTF-8. The logical character sequence itself is unchanged. If I<$string> is already upgraded, then this is a no-op. Returns the number of octets necessary to represent the string as UTF-8. Since Perl v5.38, if C<$string> is C no action is taken; prior to that, it would be converted to be defined and zero-length. If your code needs to be compatible with versions of perl without C, you can force Unicode semantics on a given string: # force unicode semantics for $string without the # "unicode_strings" feature utf8::upgrade($string); For example: # without explicit or implicit use feature 'unicode_strings' my $x = "\xDF"; # LATIN SMALL LETTER SHARP S $x =~ /ss/i; # won't match my $y = uc($x); # won't convert utf8::upgrade($x); $x =~ /ss/i; # matches my $z = uc($x); # converts to "SS" B; use L instead. =item * C<$success = utf8::downgrade($string[, $fail_ok])> (Since Perl v5.8.0) Converts in-place the internal representation of the string from UTF-8 to the equivalent octet sequence in the native encoding (Latin-1 or EBCDIC). The logical character sequence itself is unchanged. If I<$string> is already stored as native 8 bit, then this is a no-op. Can be used to make sure that the UTF-8 flag is off, e.g. when you want to make sure that the substr() or length() function works with the usually faster byte algorithm. Fails if the original UTF-8 sequence cannot be represented in the native 8 bit encoding. On failure dies or, if the value of I<$fail_ok> is true, returns false. Returns true on success. If your code expects an octet sequence this can be used to validate that you've received one: # throw an exception if not representable as octets utf8::downgrade($string) # or do your own error handling utf8::downgrade($string, 1) or die "string must be octets"; B; use L instead. =item * C (Since Perl v5.8.0) Converts in-place the character sequence to the corresponding octet sequence in Perl's extended UTF-8. That is, every (possibly wide) character gets replaced with a sequence of one or more characters that represent the individual UTF-8 bytes of the character. The UTF8 flag is turned off. Returns nothing. my $x = "\x{100}"; # $x contains one character, with ord 0x100 utf8::encode($x); # $x contains two characters, with ords (on # ASCII platforms) 0xc4 and 0x80. On EBCDIC # 1047, this would instead be 0x8C and 0x41. Similar to: use Encode; $x = Encode::encode("utf8", $x); B; use L instead. =item * C<$success = utf8::decode($string)> (Since Perl v5.8.0) Attempts to convert in-place the octet sequence encoded in Perl's extended UTF-8 to the corresponding character sequence. That is, it replaces each sequence of characters in the string whose ords represent a valid (extended) UTF-8 byte sequence, with the corresponding single character. The UTF-8 flag is turned on only if the source string contains multiple-byte UTF-8 characters. If I<$string> is invalid as extended UTF-8, returns false; otherwise returns true. my $x = "\xc4\x80"; # $x contains two characters, with ords # 0xc4 and 0x80 utf8::decode($x); # On ASCII platforms, $x contains one char, # with ord 0x100. Since these bytes aren't # legal UTF-EBCDIC, on EBCDIC platforms, $x is # unchanged and the function returns FALSE. my $y = "\xc3\x83\xc2\xab"; This has been encoded twice; this # example is only for ASCII platforms utf8::decode($y); # Converts $y to \xc3\xab, returns TRUE; utf8::decode($y); # Further converts to \xeb, returns TRUE; utf8::decode($y); # Returns FALSE, leaves $y unchanged B; use L instead. =item * C<$unicode = utf8::native_to_unicode($code_point)> (Since Perl v5.8.0) This takes an unsigned integer (which represents the ordinal number of a character (or a code point) on the platform the program is being run on) and returns its Unicode equivalent value. Since ASCII platforms natively use the Unicode code points, this function returns its input on them. On EBCDIC platforms it converts from EBCDIC to Unicode. A meaningless value will currently be returned if the input is not an unsigned integer. Since Perl v5.22.0, calls to this function are optimized out on ASCII platforms, so there is no performance hit in using it there. =item * C<$native = utf8::unicode_to_native($code_point)> (Since Perl v5.8.0) This is the inverse of C, converting the other direction. Again, on ASCII platforms, this returns its input, but on EBCDIC platforms it will find the native platform code point, given any Unicode one. A meaningless value will currently be returned if the input is not an unsigned integer. Since Perl v5.22.0, calls to this function are optimized out on ASCII platforms, so there is no performance hit in using it there. =item * C<$flag = utf8::is_utf8($string)> (Since Perl 5.8.1) Test whether I<$string> is marked internally as encoded in UTF-8. Functionally the same as C. Typically only necessary for debugging and testing, if you need to dump the internals of an SV, L Dump() provides more detail in a compact form. If you still think you need this outside of debugging, testing or dealing with filenames, you should probably read L and L. Don't use this flag as a marker to distinguish character and binary data: that should be decided for each variable when you write your code. To force unicode semantics in code portable to perl 5.8 and 5.10, call C unconditionally. =item * C<$flag = utf8::valid($string)> [INTERNAL] Test whether I<$string> is in a consistent state regarding UTF-8. Will return true if it is well-formed Perl extended UTF-8 and has the UTF-8 flag on B if I<$string> is held as bytes (both these states are 'consistent'). The main reason for this routine is to allow Perl's test suite to check that operations have left strings in a consistent state. =back C is like C, but the UTF8 flag is cleared. See L, and the C API functions C>, C>, C>, and C>, which are wrapped by the Perl functions C, C, C and C. Also, the functions C, C, C, C, C, and C are actually internal, and thus always available, without a C statement. =head1 BUGS Some filesystems may not support UTF-8 file names, or they may be supported incompatibly with Perl. Therefore UTF-8 names that are visible to the filesystem, such as module names may not work. =head1 SEE ALSO L, L, L, L, L =cut FILEab7f7a02/vars.pm package vars; use 5.006; our $VERSION = '1.05'; use warnings::register; use strict qw(vars subs); sub import { my $callpack = caller; my (undef, @imports) = @_; my ($sym, $ch); foreach (@imports) { if (($ch, $sym) = /^([\$\@\%\*\&])(.+)/) { if ($sym =~ /\W/) { # time for a more-detailed check-up if ($sym =~ /^\w+[[{].*[]}]$/) { require Carp; Carp::croak("Can't declare individual elements of hash or array"); } elsif (warnings::enabled() and length($sym) == 1 and $sym !~ tr/a-zA-Z//) { warnings::warn("No need to declare built-in vars"); } elsif (($^H & strict::bits('vars'))) { require Carp; Carp::croak("'$_' is not a valid variable name under strict vars"); } } $sym = "${callpack}::$sym" unless $sym =~ /::/; *$sym = ( $ch eq "\$" ? \$$sym : $ch eq "\@" ? \@$sym : $ch eq "\%" ? \%$sym : $ch eq "\*" ? \*$sym : $ch eq "\&" ? \&$sym : do { require Carp; Carp::croak("'$_' is not a valid variable name"); }); } else { require Carp; Carp::croak("'$_' is not a valid variable name"); } } }; 1; __END__ =head1 NAME vars - Perl pragma to predeclare global variable names =head1 SYNOPSIS use vars qw($frob @mung %seen); =head1 DESCRIPTION NOTE: For use with variables in the current package for a single scope, the functionality provided by this pragma has been superseded by C declarations, available in Perl v5.6.0 or later, and use of this pragma is discouraged. See L. This pragma will predeclare all the variables whose names are in the list, allowing you to use them under C, and disabling any typo warnings for them. Unlike pragmas that affect the C<$^H> hints variable, the C and C declarations are not lexically scoped to the block they appear in: they affect the entire package in which they appear. It is not possible to rescind these declarations with C or C. Packages such as the B and B that delay loading of subroutines within packages can create problems with package lexicals defined using C. While the B pragma cannot duplicate the effect of package lexicals (total transparency outside of the package), it can act as an acceptable substitute by pre-declaring global symbols, ensuring their availability to the later-loaded routines. See L. =cut FILE61bd46fa/warnings.pm# -*- mode: Perl; buffer-read-only: t -*- # !!!!!!! DO NOT EDIT THIS FILE !!!!!!! # This file is built by regen/warnings.pl. # Any changes made here will be lost! package warnings; our $VERSION = "1.65"; # Verify that we're called correctly so that warnings will work. # Can't use Carp, since Carp uses us! # String regexps because constant folding = smaller optree = less memory vs regexp literal # see also strict.pm. die sprintf "Incorrect use of pragma '%s' at %s line %d.\n", __PACKAGE__, +(caller)[1,2] if __FILE__ !~ ( '(?x) \b '.__PACKAGE__.' \.pmc? \z' ) && __FILE__ =~ ( '(?x) \b (?i:'.__PACKAGE__.') \.pmc? \z' ); our %Offsets = ( # Warnings Categories added in Perl 5.008 'all' => 0, 'closure' => 2, 'deprecated' => 4, 'exiting' => 6, 'glob' => 8, 'io' => 10, 'closed' => 12, 'exec' => 14, 'layer' => 16, 'newline' => 18, 'pipe' => 20, 'unopened' => 22, 'misc' => 24, 'numeric' => 26, 'once' => 28, 'overflow' => 30, 'pack' => 32, 'portable' => 34, 'recursion' => 36, 'redefine' => 38, 'regexp' => 40, 'severe' => 42, 'debugging' => 44, 'inplace' => 46, 'internal' => 48, 'malloc' => 50, 'signal' => 52, 'substr' => 54, 'syntax' => 56, 'ambiguous' => 58, 'bareword' => 60, 'digit' => 62, 'parenthesis' => 64, 'precedence' => 66, 'printf' => 68, 'prototype' => 70, 'qw' => 72, 'reserved' => 74, 'semicolon' => 76, 'taint' => 78, 'threads' => 80, 'uninitialized' => 82, 'unpack' => 84, 'untie' => 86, 'utf8' => 88, 'void' => 90, # Warnings Categories added in Perl 5.011 'imprecision' => 92, 'illegalproto' => 94, # Warnings Categories added in Perl 5.011003 'deprecated::goto_construct' => 96, 'deprecated::unicode_property_name' => 98, # Warnings Categories added in Perl 5.013 'non_unicode' => 100, 'nonchar' => 102, 'surrogate' => 104, # Warnings Categories added in Perl 5.017 'experimental' => 106, 'experimental::regex_sets' => 108, # Warnings Categories added in Perl 5.019 'syscalls' => 110, # Warnings Categories added in Perl 5.021 'experimental::const_attr' => 112, 'experimental::re_strict' => 114, 'experimental::refaliasing' => 116, 'locale' => 118, 'missing' => 120, 'redundant' => 122, # Warnings Categories added in Perl 5.025 'experimental::declared_refs' => 124, # Warnings Categories added in Perl 5.025011 'deprecated::dot_in_inc' => 126, # Warnings Categories added in Perl 5.027 'shadow' => 128, # Warnings Categories added in Perl 5.029 'experimental::private_use' => 130, 'experimental::uniprop_wildcards' => 132, 'experimental::vlb' => 134, # Warnings Categories added in Perl 5.033 'experimental::try' => 136, # Warnings Categories added in Perl 5.035 'experimental::args_array_with_signatures'=> 138, 'experimental::builtin' => 140, 'experimental::defer' => 142, 'experimental::extra_paired_delimiters'=> 144, 'experimental::for_list' => 146, 'scalar' => 148, # Warnings Categories added in Perl 5.035009 'deprecated::version_downgrade' => 150, # Warnings Categories added in Perl 5.03501 'deprecated::delimiter_will_be_paired'=> 152, # Warnings Categories added in Perl 5.037 'experimental::class' => 154, # Warnings Categories added in Perl 5.037009 'deprecated::apostrophe_as_package_separator'=> 156, # Warnings Categories added in Perl 5.03701 'deprecated::smartmatch' => 158, ); our %Bits = ( 'all' => "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55", # [0..79] 'ambiguous' => "\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [29] 'bareword' => "\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [30] 'closed' => "\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [6] 'closure' => "\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [1] 'debugging' => "\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [22] 'deprecated' => "\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x40\x00\x00\x40\x51", # [2,48,49,63,75,76,78,79] 'deprecated::apostrophe_as_package_separator'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10", # [78] 'deprecated::delimiter_will_be_paired'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01", # [76] 'deprecated::dot_in_inc' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00", # [63] 'deprecated::goto_construct' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00", # [48] 'deprecated::smartmatch' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40", # [79] 'deprecated::unicode_property_name' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00", # [49] 'deprecated::version_downgrade' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00", # [75] 'digit' => "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [31] 'exec' => "\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [7] 'exiting' => "\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [3] 'experimental' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14\x15\x10\x54\x55\x05\x04", # [53,54,56..58,62,65..73,77] 'experimental::args_array_with_signatures'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00", # [69] 'experimental::builtin' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00", # [70] 'experimental::class' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04", # [77] 'experimental::const_attr' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00", # [56] 'experimental::declared_refs' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00", # [62] 'experimental::defer' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00", # [71] 'experimental::extra_paired_delimiters'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00", # [72] 'experimental::for_list' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00", # [73] 'experimental::private_use' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00", # [65] 'experimental::re_strict' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00", # [57] 'experimental::refaliasing' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00", # [58] 'experimental::regex_sets' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00", # [54] 'experimental::try' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00", # [68] 'experimental::uniprop_wildcards' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00", # [66] 'experimental::vlb' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00", # [67] 'glob' => "\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [4] 'illegalproto' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00", # [47] 'imprecision' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00", # [46] 'inplace' => "\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [23] 'internal' => "\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [24] 'io' => "\x00\x54\x55\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00", # [5..11,55] 'layer' => "\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [8] 'locale' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00", # [59] 'malloc' => "\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [25] 'misc' => "\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [12] 'missing' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00", # [60] 'newline' => "\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [9] 'non_unicode' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00", # [50] 'nonchar' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00", # [51] 'numeric' => "\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [13] 'once' => "\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [14] 'overflow' => "\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [15] 'pack' => "\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [16] 'parenthesis' => "\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [32] 'pipe' => "\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [10] 'portable' => "\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [17] 'precedence' => "\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [33] 'printf' => "\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [34] 'prototype' => "\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [35] 'qw' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [36] 'recursion' => "\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [18] 'redefine' => "\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [19] 'redundant' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00", # [61] 'regexp' => "\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [20] 'reserved' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [37] 'scalar' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00", # [74] 'semicolon' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [38] 'severe' => "\x00\x00\x00\x00\x00\x54\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [21..25] 'shadow' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00", # [64] 'signal' => "\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [26] 'substr' => "\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [27] 'surrogate' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00", # [52] 'syntax' => "\x00\x00\x00\x00\x00\x00\x00\x55\x55\x15\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00", # [28..38,47] 'syscalls' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00", # [55] 'taint' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [39] 'threads' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [40] 'uninitialized' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [41] 'unopened' => "\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [11] 'unpack' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [42] 'untie' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [43] 'utf8' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x50\x01\x00\x00\x00\x00\x00\x00", # [44,50..52] 'void' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00", # [45] ); our %DeadBits = ( 'all' => "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa", # [0..79] 'ambiguous' => "\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [29] 'bareword' => "\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [30] 'closed' => "\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [6] 'closure' => "\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [1] 'debugging' => "\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [22] 'deprecated' => "\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x80\x00\x00\x80\xa2", # [2,48,49,63,75,76,78,79] 'deprecated::apostrophe_as_package_separator'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20", # [78] 'deprecated::delimiter_will_be_paired'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02", # [76] 'deprecated::dot_in_inc' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00", # [63] 'deprecated::goto_construct' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00", # [48] 'deprecated::smartmatch' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80", # [79] 'deprecated::unicode_property_name' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00", # [49] 'deprecated::version_downgrade' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00", # [75] 'digit' => "\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [31] 'exec' => "\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [7] 'exiting' => "\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [3] 'experimental' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x2a\x20\xa8\xaa\x0a\x08", # [53,54,56..58,62,65..73,77] 'experimental::args_array_with_signatures'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00", # [69] 'experimental::builtin' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00", # [70] 'experimental::class' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08", # [77] 'experimental::const_attr' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00", # [56] 'experimental::declared_refs' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00", # [62] 'experimental::defer' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00", # [71] 'experimental::extra_paired_delimiters'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00", # [72] 'experimental::for_list' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00", # [73] 'experimental::private_use' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00", # [65] 'experimental::re_strict' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00", # [57] 'experimental::refaliasing' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00", # [58] 'experimental::regex_sets' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00", # [54] 'experimental::try' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00", # [68] 'experimental::uniprop_wildcards' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00", # [66] 'experimental::vlb' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00", # [67] 'glob' => "\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [4] 'illegalproto' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00", # [47] 'imprecision' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00", # [46] 'inplace' => "\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [23] 'internal' => "\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [24] 'io' => "\x00\xa8\xaa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00", # [5..11,55] 'layer' => "\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [8] 'locale' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00", # [59] 'malloc' => "\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [25] 'misc' => "\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [12] 'missing' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00", # [60] 'newline' => "\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [9] 'non_unicode' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00", # [50] 'nonchar' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00", # [51] 'numeric' => "\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [13] 'once' => "\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [14] 'overflow' => "\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [15] 'pack' => "\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [16] 'parenthesis' => "\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [32] 'pipe' => "\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [10] 'portable' => "\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [17] 'precedence' => "\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [33] 'printf' => "\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [34] 'prototype' => "\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [35] 'qw' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [36] 'recursion' => "\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [18] 'redefine' => "\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [19] 'redundant' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00", # [61] 'regexp' => "\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [20] 'reserved' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [37] 'scalar' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00", # [74] 'semicolon' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [38] 'severe' => "\x00\x00\x00\x00\x00\xa8\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [21..25] 'shadow' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00", # [64] 'signal' => "\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [26] 'substr' => "\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [27] 'surrogate' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00", # [52] 'syntax' => "\x00\x00\x00\x00\x00\x00\x00\xaa\xaa\x2a\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00", # [28..38,47] 'syscalls' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00", # [55] 'taint' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [39] 'threads' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [40] 'uninitialized' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [41] 'unopened' => "\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [11] 'unpack' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [42] 'untie' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [43] 'utf8' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\xa0\x02\x00\x00\x00\x00\x00\x00", # [44,50..52] 'void' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00", # [45] ); our %NoOp = ( 'experimental::alpha_assertions' => 1, 'experimental::bitwise' => 1, 'experimental::isa' => 1, 'experimental::lexical_subs' => 1, 'experimental::postderef' => 1, 'experimental::script_run' => 1, 'experimental::signatures' => 1, 'experimental::smartmatch' => 1, ); # These are used by various things, including our own tests our $NONE = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"; our $DEFAULT = "\x10\x01\x00\x00\x00\x50\x04\x00\x00\x00\x00\x00\x05\x00\x55\x50\x54\x55\x45\x55"; # [2,4,22,23,25,48,49,56..59,62,63,65..73,75..79] our $LAST_BIT = 160 ; our $BYTES = 20 ; sub Croaker { require Carp; # this initializes %CarpInternal local $Carp::CarpInternal{'warnings'}; delete $Carp::CarpInternal{'warnings'}; Carp::croak(@_); } sub _expand_bits { my $bits = shift; my $want_len = ($LAST_BIT + 7) >> 3; my $len = length($bits); if ($len != $want_len) { if ($bits eq "") { $bits = "\x00" x $want_len; } elsif ($len > $want_len) { substr $bits, $want_len, $len-$want_len, ""; } else { my $x = vec($bits, $Offsets{all} >> 1, 2); $x |= $x << 2; $x |= $x << 4; $bits .= chr($x) x ($want_len - $len); } } return $bits; } sub _bits { my $mask = shift ; my $catmask ; my $fatal = 0 ; my $no_fatal = 0 ; $mask = _expand_bits($mask); foreach my $word ( @_ ) { next if $NoOp{$word}; if ($word eq 'FATAL') { $fatal = 1; $no_fatal = 0; } elsif ($word eq 'NONFATAL') { $fatal = 0; $no_fatal = 1; } elsif ($catmask = $Bits{$word}) { $mask |= $catmask ; $mask |= $DeadBits{$word} if $fatal ; $mask = ~(~$mask | $DeadBits{$word}) if $no_fatal ; } else { Croaker("Unknown warnings category '$word'")} } return $mask ; } sub bits { # called from B::Deparse.pm push @_, 'all' unless @_ ; return _bits("", @_) ; } sub import { my $invocant = shift; # append 'all' when implied (empty import list or after a lone # "FATAL" or "NONFATAL") push @_, 'all' if !@_ || (@_==1 && ($_[0] eq 'FATAL' || $_[0] eq 'NONFATAL')); my @fatal = (); foreach my $warning (@_) { if($warning =~ /^(NON)?FATAL$/) { @fatal = ($warning); } elsif(substr($warning, 0, 1) ne '-') { my $mask = ${^WARNING_BITS} // ($^W ? $Bits{all} : $DEFAULT) ; ${^WARNING_BITS} = _bits($mask, @fatal, $warning); } else { $invocant->unimport(substr($warning, 1)); } } } sub unimport { shift; my $catmask ; my $mask = ${^WARNING_BITS} // ($^W ? $Bits{all} : $DEFAULT) ; # append 'all' when implied (empty import list or after a lone "FATAL") push @_, 'all' if !@_ || @_==1 && $_[0] eq 'FATAL'; $mask = _expand_bits($mask); foreach my $word ( @_ ) { next if $NoOp{$word}; if ($word eq 'FATAL') { next; } elsif ($catmask = $Bits{$word}) { $mask = ~(~$mask | $catmask | $DeadBits{$word}); } else { Croaker("Unknown warnings category '$word'")} } ${^WARNING_BITS} = $mask ; } my %builtin_type; @builtin_type{qw(SCALAR ARRAY HASH CODE REF GLOB LVALUE Regexp)} = (); sub LEVEL () { 8 }; sub MESSAGE () { 4 }; sub FATAL () { 2 }; sub NORMAL () { 1 }; sub __chk { my $category ; my $offset ; my $isobj = 0 ; my $wanted = shift; my $has_message = $wanted & MESSAGE; my $has_level = $wanted & LEVEL ; if ($has_level) { if (@_ != ($has_message ? 3 : 2)) { my $sub = (caller 1)[3]; my $syntax = $has_message ? "category, level, 'message'" : 'category, level'; Croaker("Usage: $sub($syntax)"); } } elsif (not @_ == 1 || @_ == ($has_message ? 2 : 0)) { my $sub = (caller 1)[3]; my $syntax = $has_message ? "[category,] 'message'" : '[category]'; Croaker("Usage: $sub($syntax)"); } my $message = pop if $has_message; if (@_) { # check the category supplied. $category = shift ; if (my $type = ref $category) { Croaker("not an object") if exists $builtin_type{$type}; $category = $type; $isobj = 1 ; } $offset = $Offsets{$category}; Croaker("Unknown warnings category '$category'") unless defined $offset; } else { $category = caller(1); $offset = $Offsets{$category}; Croaker("package '$category' not registered for warnings") unless defined $offset ; } my $i; if ($isobj) { my $pkg; $i = 2; while (do { { package DB; $pkg = (caller($i++))[0] } } ) { last unless @DB::args && $DB::args[0] =~ /^$category=/ ; } $i -= 2 ; } elsif ($has_level) { $i = 2 + shift; } else { $i = _error_loc(); # see where Carp will allocate the error } # Default to 0 if caller returns nothing. Default to $DEFAULT if it # explicitly returns undef. my(@callers_bitmask) = (caller($i))[9] ; my $callers_bitmask = @callers_bitmask ? $callers_bitmask[0] // $DEFAULT : 0 ; length($callers_bitmask) > ($offset >> 3) or $offset = $Offsets{all}; my @results; foreach my $type (FATAL, NORMAL) { next unless $wanted & $type; push @results, vec($callers_bitmask, $offset + $type - 1, 1); } # &enabled and &fatal_enabled return $results[0] unless $has_message; # &warnif, and the category is neither enabled as warning nor as fatal return if ($wanted & (NORMAL | FATAL | MESSAGE)) == (NORMAL | FATAL | MESSAGE) && !($results[0] || $results[1]); # If we have an explicit level, bypass Carp. if ($has_level and @callers_bitmask) { # logic copied from util.c:mess_sv my $stuff = " at " . join " line ", (caller $i)[1,2]; $stuff .= sprintf ", <%s> %s %d", *${^LAST_FH}{NAME}, ($/ eq "\n" ? "line" : "chunk"), $. if $. && ${^LAST_FH}; die "$message$stuff.\n" if $results[0]; return warn "$message$stuff.\n"; } require Carp; Carp::croak($message) if $results[0]; # will always get here for &warn. will only get here for &warnif if the # category is enabled Carp::carp($message); } sub _mkMask { my ($bit) = @_; my $mask = ""; vec($mask, $bit, 1) = 1; return $mask; } sub register_categories { my @names = @_; for my $name (@names) { if (! defined $Bits{$name}) { $Offsets{$name} = $LAST_BIT; $Bits{$name} = _mkMask($LAST_BIT++); $DeadBits{$name} = _mkMask($LAST_BIT++); if (length($Bits{$name}) > length($Bits{all})) { $Bits{all} .= "\x55"; $DeadBits{all} .= "\xaa"; } } } } sub _error_loc { require Carp; goto &Carp::short_error_loc; # don't introduce another stack frame } sub enabled { return __chk(NORMAL, @_); } sub fatal_enabled { return __chk(FATAL, @_); } sub warn { return __chk(FATAL | MESSAGE, @_); } sub warnif { return __chk(NORMAL | FATAL | MESSAGE, @_); } sub enabled_at_level { return __chk(NORMAL | LEVEL, @_); } sub fatal_enabled_at_level { return __chk(FATAL | LEVEL, @_); } sub warn_at_level { return __chk(FATAL | MESSAGE | LEVEL, @_); } sub warnif_at_level { return __chk(NORMAL | FATAL | MESSAGE | LEVEL, @_); } # These are not part of any public interface, so we can delete them to save # space. delete @warnings::{qw(NORMAL FATAL MESSAGE LEVEL)}; 1; __END__ =head1 NAME warnings - Perl pragma to control optional warnings =head1 SYNOPSIS use warnings; no warnings; # Standard warnings are enabled by use v5.35 or above use v5.35; use warnings "all"; no warnings "uninitialized"; # or equivalent to those last two ... use warnings qw(all -uninitialized); use warnings::register; if (warnings::enabled()) { warnings::warn("some warning"); } if (warnings::enabled("void")) { warnings::warn("void", "some warning"); } if (warnings::enabled($object)) { warnings::warn($object, "some warning"); } warnings::warnif("some warning"); warnings::warnif("void", "some warning"); warnings::warnif($object, "some warning"); =head1 DESCRIPTION The C pragma gives control over which warnings are enabled in which parts of a Perl program. It's a more flexible alternative for both the command line flag B<-w> and the equivalent Perl variable, C<$^W>. This pragma works just like the C pragma. This means that the scope of the warning pragma is limited to the enclosing block. It also means that the pragma setting will not leak across files (via C, C or C). This allows authors to independently define the degree of warning checks that will be applied to their module. By default, optional warnings are disabled, so any legacy code that doesn't attempt to control the warnings will work unchanged. All warnings are enabled in a block by either of these: use warnings; use warnings 'all'; Similarly all warnings are disabled in a block by either of these: no warnings; no warnings 'all'; For example, consider the code below: use warnings; my @x; { no warnings; my $y = @x[0]; } my $z = @x[0]; The code in the enclosing block has warnings enabled, but the inner block has them disabled. In this case that means the assignment to the scalar C<$z> will trip the C<"Scalar value @x[0] better written as $x[0]"> warning, but the assignment to the scalar C<$y> will not. All warnings are enabled automatically within the scope of a C> (or higher) declaration. =head2 Default Warnings and Optional Warnings Before the introduction of lexical warnings, Perl had two classes of warnings: mandatory and optional. As its name suggests, if your code tripped a mandatory warning, you would get a warning whether you wanted it or not. For example, the code below would always produce an C<"isn't numeric"> warning about the "2:". my $x = "2:" + 3; With the introduction of lexical warnings, mandatory warnings now become I warnings. The difference is that although the previously mandatory warnings are still enabled by default, they can then be subsequently enabled or disabled with the lexical warning pragma. For example, in the code below, an C<"isn't numeric"> warning will only be reported for the C<$x> variable. my $x = "2:" + 3; no warnings; my $y = "2:" + 3; Note that neither the B<-w> flag or the C<$^W> can be used to disable/enable default warnings. They are still mandatory in this case. =head2 "Negative warnings" As a convenience, you can (as of Perl 5.34) pass arguments to the C method both positively and negatively. Negative warnings are those with a C<-> sign prepended to their names; positive warnings are anything else. This lets you turn on some warnings and turn off others in one command. So, assuming that you've already turned on a bunch of warnings but want to tweak them a bit in some block, you can do this: { use warnings qw(uninitialized -redefine); ... } which is equivalent to: { use warnings qw(uninitialized); no warnings qw(redefine); ... } The argument list is processed in the order you specify. So, for example, if you don't want to be warned about use of experimental features, except for C that you really dislike, you can say this: use warnings qw(all -experimental experimental::somefeature); which is equivalent to: use warnings 'all'; no warnings 'experimental'; use warnings 'experimental::somefeature'; As experimental features become regular features of Perl, the corresponding warnings are not printed anymore. They also stop being listed in the L below. It is still possible to request turning on or off these warnings, but doing so has no effect. =head2 What's wrong with B<-w> and C<$^W> Although very useful, the big problem with using B<-w> on the command line to enable warnings is that it is all or nothing. Take the typical scenario when you are writing a Perl program. Parts of the code you will write yourself, but it's very likely that you will make use of pre-written Perl modules. If you use the B<-w> flag in this case, you end up enabling warnings in pieces of code that you haven't written. Similarly, using C<$^W> to either disable or enable blocks of code is fundamentally flawed. For a start, say you want to disable warnings in a block of code. You might expect this to be enough to do the trick: { local ($^W) = 0; my $x =+ 2; my $y; chop $y; } When this code is run with the B<-w> flag, a warning will be produced for the C<$x> line: C<"Reversed += operator">. The problem is that Perl has both compile-time and run-time warnings. To disable compile-time warnings you need to rewrite the code like this: { BEGIN { $^W = 0 } my $x =+ 2; my $y; chop $y; } And note that unlike the first example, this will permanently set C<$^W> since it cannot both run during compile-time and be localized to a run-time block. The other big problem with C<$^W> is the way you can inadvertently change the warning setting in unexpected places in your code. For example, when the code below is run (without the B<-w> flag), the second call to C will trip a C<"Use of uninitialized value"> warning, whereas the first will not. sub doit { my $y; chop $y; } doit(); { local ($^W) = 1; doit() } This is a side-effect of C<$^W> being dynamically scoped. Lexical warnings get around these limitations by allowing finer control over where warnings can or can't be tripped. =head2 Controlling Warnings from the Command Line There are three Command Line flags that can be used to control when warnings are (or aren't) produced: =over 5 =item B<-w> X<-w> This is the existing flag. If the lexical warnings pragma is B used in any of your code, or any of the modules that you use, this flag will enable warnings everywhere. See L for details of how this flag interacts with lexical warnings. =item B<-W> X<-W> If the B<-W> flag is used on the command line, it will enable all warnings throughout the program regardless of whether warnings were disabled locally using C or C<$^W =0>. This includes all files that get included via C, C or C. Think of it as the Perl equivalent of the "lint" command. =item B<-X> X<-X> Does the exact opposite to the B<-W> flag, i.e. it disables all warnings. =back =head2 Backward Compatibility If you are used to working with a version of Perl prior to the introduction of lexically scoped warnings, or have code that uses both lexical warnings and C<$^W>, this section will describe how they interact. How Lexical Warnings interact with B<-w>/C<$^W>: =over 5 =item 1. If none of the three command line flags (B<-w>, B<-W> or B<-X>) that control warnings is used and neither C<$^W> nor the C pragma are used, then default warnings will be enabled and optional warnings disabled. This means that legacy code that doesn't attempt to control the warnings will work unchanged. =item 2. The B<-w> flag just sets the global C<$^W> variable as in 5.005. This means that any legacy code that currently relies on manipulating C<$^W> to control warning behavior will still work as is. =item 3. Apart from now being a boolean, the C<$^W> variable operates in exactly the same horrible uncontrolled global way, except that it cannot disable/enable default warnings. =item 4. If a piece of code is under the control of the C pragma, both the C<$^W> variable and the B<-w> flag will be ignored for the scope of the lexical warning. =item 5. The only way to override a lexical warnings setting is with the B<-W> or B<-X> command line flags. =back The combined effect of 3 & 4 is that it will allow code which uses the C pragma to control the warning behavior of $^W-type code (using a C) if it really wants to, but not vice-versa. =head2 Category Hierarchy X A hierarchy of "categories" have been defined to allow groups of warnings to be enabled/disabled in isolation. The current hierarchy is: all -+ | +- closure | +- deprecated ----+ | | | +- deprecated::apostrophe_as_package_separator | | | +- deprecated::delimiter_will_be_paired | | | +- deprecated::dot_in_inc | | | +- deprecated::goto_construct | | | +- deprecated::smartmatch | | | +- deprecated::unicode_property_name | | | +- deprecated::version_downgrade | +- exiting | +- experimental --+ | | | +- experimental::args_array_with_signatures | | | +- experimental::builtin | | | +- experimental::class | | | +- experimental::const_attr | | | +- experimental::declared_refs | | | +- experimental::defer | | | +- experimental::extra_paired_delimiters | | | +- experimental::for_list | | | +- experimental::private_use | | | +- experimental::re_strict | | | +- experimental::refaliasing | | | +- experimental::regex_sets | | | +- experimental::try | | | +- experimental::uniprop_wildcards | | | +- experimental::vlb | +- glob | +- imprecision | +- io ------------+ | | | +- closed | | | +- exec | | | +- layer | | | +- newline | | | +- pipe | | | +- syscalls | | | +- unopened | +- locale | +- misc | +- missing | +- numeric | +- once | +- overflow | +- pack | +- portable | +- recursion | +- redefine | +- redundant | +- regexp | +- scalar | +- severe --------+ | | | +- debugging | | | +- inplace | | | +- internal | | | +- malloc | +- shadow | +- signal | +- substr | +- syntax --------+ | | | +- ambiguous | | | +- bareword | | | +- digit | | | +- illegalproto | | | +- parenthesis | | | +- precedence | | | +- printf | | | +- prototype | | | +- qw | | | +- reserved | | | +- semicolon | +- taint | +- threads | +- uninitialized | +- unpack | +- untie | +- utf8 ----------+ | | | +- non_unicode | | | +- nonchar | | | +- surrogate | +- void Just like the "strict" pragma any of these categories can be combined use warnings qw(void redefine); no warnings qw(io syntax untie); Also like the "strict" pragma, if there is more than one instance of the C pragma in a given scope the cumulative effect is additive. use warnings qw(void); # only "void" warnings enabled ... use warnings qw(io); # only "void" & "io" warnings enabled ... no warnings qw(void); # only "io" warnings enabled To determine which category a specific warning has been assigned to see L. Note: Before Perl 5.8.0, the lexical warnings category "deprecated" was a sub-category of the "syntax" category. It is now a top-level category in its own right. Note: Before 5.21.0, the "missing" lexical warnings category was internally defined to be the same as the "uninitialized" category. It is now a top-level category in its own right. =head2 Fatal Warnings X The presence of the word "FATAL" in the category list will escalate warnings in those categories into fatal errors in that lexical scope. B FATAL warnings should be used with care, particularly C<< FATAL => 'all' >>. Libraries using L for custom warning categories generally don't expect L to be fatal and can wind up in an unexpected state as a result. For XS modules issuing categorized warnings, such unanticipated exceptions could also expose memory leak bugs. Moreover, the Perl interpreter itself has had serious bugs involving fatalized warnings. For a summary of resolved and unresolved problems as of January 2015, please see L. While some developers find fatalizing some warnings to be a useful defensive programming technique, using C<< FATAL => 'all' >> to fatalize all possible warning categories -- including custom ones -- is particularly risky. Therefore, the use of C<< FATAL => 'all' >> is L. The L module on CPAN offers one example of a warnings subset that the module's authors believe is relatively safe to fatalize. B Users of FATAL warnings, especially those using C<< FATAL => 'all' >>, should be fully aware that they are risking future portability of their programs by doing so. Perl makes absolutely no commitments to not introduce new warnings or warnings categories in the future; indeed, we explicitly reserve the right to do so. Code that may not warn now may warn in a future release of Perl if the Perl5 development team deems it in the best interests of the community to do so. Should code using FATAL warnings break due to the introduction of a new warning we will NOT consider it an incompatible change. Users of FATAL warnings should take special caution during upgrades to check to see if their code triggers any new warnings and should pay particular attention to the fine print of the documentation of the features they use to ensure they do not exploit features that are documented as risky, deprecated, or unspecified, or where the documentation says "so don't do that", or anything with the same sense and spirit. Use of such features in combination with FATAL warnings is ENTIRELY AT THE USER'S RISK. The following documentation describes how to use FATAL warnings but the perl5 porters strongly recommend that you understand the risks before doing so, especially for library code intended for use by others, as there is no way for downstream users to change the choice of fatal categories. In the code below, the use of C