ELF> @@8@ QtdPtddGdGdGlzlz;; ff<f<<<pp0"0B0B$$XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXR \hQkV[c|~  a g^1 IYڣ.AK@'_g }^A۱FA 6+ 8 d R"B3c,fr{k(B /3_דO~A@S@A} ,U_~FT u(Ys :+)le n+(ȣѷl~v*?gV^z/ V[Oo3sc]0X?!`I<02@ g ^yQP8. %#i08R"kw",ma!@7<p# eqb.Z"0g   n  %]B` >2`[\ eW Bҷ"Z_` G" ^`Io"pz ?+1W" "}]! D<8m" ݖ!:< `(:f@MB"T0g"p9X! }$"? 2 %CP"4p"@6J+9"9YAPB%#G+5P8 =W"2x6! <(JR"a [Wu^!<0 R.:i  Bj" *"@.W|_ a1u!@T<@ Уp m8!<"v:,2>"зDP 8Kש %!0 <5`8 Y%BãDQh YB!pH<]8 0 + {<`X"%%Cg 'p/"> ~!i! @,  E3[!<HO !P\<g" 9GP98j` Ƙ!/<(?c7PPjjT"  VK j:kY@O{ B}"p/2 ";H!`! ]]X&"Р-Q r< n " J4@pP. 3F0qx DB"P!0< N|`"P $2E! `A#] Ua" #P rf09 tbK.pb"C]"W}1 5<" S.0%)R AO! K4Y@R h"  \"P@ 4!O<X! (͕" pn-H"@ ZP7"mtA ~"` w! m,X"5 ? P ""36P"i! i0@"lO"p"9; <"pN>@+*!+<"O0  V" !@N<0[M't"{7pP5ñ"p]""[)Fpss! <(R!J<d"i"#"5! *(P, @Z" 3+õ q AA!<!/< KP[ 65| X^P #/"`PoPZX&04 P4&& @#& " 2HPz@ /np O"@WH SE,/ I Ou"1N"05~@ =FvG jU0I ;Gcv "9 @!@@<@{01! <08: "d Bk >}U@ V"`PpPa9"%R b+Wp03 &x@&")F\i"qoCu  ` 5kRUT!PK<I~ "5 ps!D< HjLe V[r6 "@  g"8y@}D kN! f,! $0 )U Da" ]b,Oe*fWQb a "D"P`y`N %"`&0R"0^z" "pE! <(p=wBZpR l  ' tI n"`ww dP 5TGL *' 8E RjR"0sZh"0t4i7p: R-1 rp2 `۶@ qBt W M "P R)!), ,@*P__`! ``// I 0 "u*U/;~"  [~" ^_1 5 4z U "ps OT4! 0M %Hly !\<4v@ , !<  9[! <M`ifP 3!L<Hh R]0 "9 v*/&"4;!O<\="@ j":>p"0sCp!R<@." P$"p ~B /g!P1<""@$vNpPK"q x]  M=l &v"PY',`1 #;"`epW"@K,-" @ "0 ZEA"ІCX&6@9 0I` x&^͵ }ZSG{" R %"cB/"0@:s tAC"H@e U< >!<8/@"!N<0S"`@ }!S<nc! 0%* g093mBpjw"`; $/2 F` "0: Ĝ"Tp0 90i "O!<(e"`!<ik; < " m %#nV"P7>"E 7@?"0Yr!`<(RfjY"4"@ $n~@q J39B 3! @7D0p3 3"Pc" Ѱ <~ `}^u&P"]WL2n"`"Q]"Ǵuj" "NP$R;"@@ehpp.@9-j"p8?"@"< $R 03B.@ *Q0 QP6 h! "E!L<-7g]_PnM"'\0?P9!I<\`W j`vi pQ"0@ O @t"B A!H<! J<0:"p n! 59@,@EJ"P " 2Xe! /="pe ~1YJ"P(7-C!6<h>|ٳ 7206 ,p~ "pn@ *m03 3&l"0 w"PdN5|`y e=("U"MӡP/g[!N<[1;i 2"p= 2"@rC M}@PV)p# #a"@ I04 Lx|-m  .&@)!!`<0`v 8!`b<BP+Ie!B<_!$<[H!A<l0 !K<0:@; C"PZ|~[o"z{! p}ZxK=G%^`" d! 1*bw$"0\4`g _50Hw"r6A HG0tA Ve~29 p0. "? 3 l˰! 0<x}"> D"| ]<j " = $"UAL pU"[>1T*M {n.2 !Bt "p< 5"`$!@W<@!@<,7`v@  0 "pR& j0w="P; c~M"0! t-"@bMw"F""E@${!<1 P\@B"!/<>/0" yWm"l08s! @' g \Pp&^@Y=! 8m!Q<G"c0?8: rP pYnCv C!<[F<4! 3!L<X' H".  "oP x(|2p,|)"" y3f G7Iqh"9u! T< *! 0k jKpl)"> nm#"`$i 1@ k"? P"@-I"0 j!*<#b! `h0"o! ;%"p @"pH" +?"E eY @"? EA"9<"Q0uJG giM KBu Gq\% !G<0.8H~ 5j 1"`= |Mx_ /4p7 6v4G"-o@V!`X<[4gy@Cp2"P^ dM2d " n2p9 !/"@ "r"p jQv`B#F?IЫ S0pa!<?D"9 ˳"`\  e|` )\#"0(70: 30] 8hI@n"z9 U"Ю Z"; 0`@x(0, "`x k2 ~ "V&`9 "@UD! ,0L" &g k Q ~" q!`<ZY!PB<rV_\0 N"U 2Na w+! 41 8" S 09! 0?]a"p +D! `@*K&!@=<=0vi! 177!c<Ħ"0 vEe! Э*"- '+ .s" VL Y0R POy r! #1""0Z l!! cM<"< 3z9@X:*@U4"H=\qP?",*"`K o"4 ! q)"p Jk "Shf" $i"""0 F% +(`z.( "J[ 7P@"KЪ -b"0 ׸"`vH{m" "v!@a< "0!@<0! )yM z"s ȊPw.ppO"!J<H! <H@p/l0 f"p$m "E3p.;Z`W,"`op-ہ!L< iB<RCGW "|I"@ Q"P. 0j!Q<"+{` ',3X=!0P<Й A"и* . yw"Hծ"W<! <p@! P0"_ 0Z""c"0 [p.@P !q04jP"0 t5y -"`C RM!Pq ! pTK54M0 ":~"  v=¦vg@d" I@  'uA1"z1 Z0"0< ! <N0h "0B  0f8 <!><",~_90 4 1'0 4s"  40 s0*l  p3"?"j! ;OY;P8A"{ s'+ I!`5<1K|p hGD v 0`4 "Ȇнd [eT_" 9`7*"".@uR ~"; 3k`wc6"m"0 *9" o 0i!p)<hkZuAZ"@0"pn6& Pyrp ' l  x" ,2"@ h"=qY"R o!@`<h|!P+<"`F~""$p ~ ` Cpx!X<0  SR@6 q ` 3PgB̠EkF)M0 \Y"`Uc" [P@7H6,{ VP8!pX< Py ! pVV"> ^@a>!U<aE"| ]!\<(CPu fYl"w"`%WPgbZ"5 0{?R D#$ FF" i  =b"E[@ /@K<  @0mP'L9@M"0i:"r5y tJP5%!1<" 5Ѳ" Z":3]@[ " "J'! /ƊU   )0eHG"#$ 3E!<P #!0M< R<"0zZCW dB!^<(b Mo!<*"Ў:C3Bؼ")NW UqoP+ 8V". YA!@< %ЭO+7?\"'!=<lP ! 3<OB̯"`0V=8   'H ev"V! @ .yq"`SS ->d"?L" e"`76i"0!xLZ  ȸ<]"A "@okw t" dPu' $(p i@(-T" Z"P^BS" Md/; (, 9!d<( @*K `s1pE BOZ %p b]X/"YA! d?b$  "P=ub"p!Jg EM0 \S5Hx#tPA-Q}yM{`:i"9EKu+` L\f &r/ v" V #"+xmp>ymD6"@ g!F<8+! d<(  ;#P$ l`UpI Dk"0 @\)MX$ RCO" YD! @d^ɟACccE! F05 + 6p5K `Iy !@O<0"C N!" {X~ Xf"8!`F<PBt "X0 :! Z& ! -<x!X== J" #14 6֨"U%q"P "? 2 ! 3F!p<~"@6J 9"1I"rFP^*t"08%0Wd!P/<v")mVK cs"]BKJ" 1 Y "@ 2F)"p}-!@<&" p5 *` *mPv58 C` !M<03!<pV@ lwH#"qx@y "%"q 0 ֱk="0<kܚ ("pA !5 +P $H!c<^YE!< Pk\pX@"@7F 7 IRR[R vdz"> V XpN !c<8.00Gk<u*!<f p,"qig" 9G;` $I"P.q)0- J" B:>` m>5"[)hĎ"6He o2!M<0G `P_ B! ?U" {" J!8<an"0z0p! <j!` <(!V< 9!6<"@> B"P"`d.7-1  "@ #'j!P_<"`Tk@)" v=% Y(!"<[ C (]"7.!`f<p l6ڶ"t["8G=\|M`@>"U! s3N8"5["P" uM@ 4" $0> [n"Pz3 # "   Y Bq"]! O!./ v` `g_!&<f0 "` DF"`} =Бy t@"8Q ?bz"pN" ! 2pZ", 0wZX! r, 5s"{0kE! 0AHn03O:p @P5,~_!e< {ֿ " 0+|H0 @n:CT $~" 0X{ t"q Ѽ"p`SP!e< !  :5P !<84E&!;<`wO"0"PA 0(4&o" [p a Fׅ"P]:vW&u"1c"P]"AB" @ЀmqД "9 /!Aqp7B@i`"pZ&IO@ Y" u!<G03 '|  +!<` 1g@ Jފ0 OE!<! @;!`M<@@!P:<T! %`Ӊs"x@7(!><(> {@<l V@ELpkH< "0"j03_PlH_!(<8f"8)!=<9y 'gb"0 f`""PRZ"pP5 "n0DS#p "s"`{7"%" "*u}@  Y"в  "p @ 3"`w ?0= `~!:<0! ` : cd]P[pdP 2^r3 "4,oU~0bGܶi B 0! V<0t"D Wtz3_` Ё9q 5"p M"c"g`"P 5!+9Y\"0˞ D~" }W" 5_"-5"% um rPpC Yq~E" !pe<Xp ! +a"K `".7" #l.02 đ"P$7"xp<Qr0pP. 3],5!P ]p F6"T Lpp0D!0<!N<!@<0 ~@q /3 ]9: !5<BR ۗ!U<h|D!]< V!@Q<" g).O٨0v="Ps Z C!@<"JSTwI X=BPU@RIj! h! <!PU<p"9 &"LA"@ tj":1oG0Q![<"  &K0>! @V"a`Tg" vP$  ATP $"U[  [mI7.n" z(=p3IKЂ Sc! *<h4FP%s;"`qgp G;0m "mr"  "0 ZN  SUjX" @^"0 ;xt!F<pnp~ o">; z" R r6ܽ"cK ! @* LN0WNyFy {LW"l0 ^CP ?"'"`@ "074S""`D pn3͸ &Z* !1Ap~ !;<@P9B]pA7! U:"s^\ d !<p"{F*Q C<v >"PE 0"P4 sQj  Vec" _z!T< 6@P:.36 3iO n",0* !<Y&`g _! <%f `Dz"NH"P< ,"@$!V<(4< >1QPD4i_e9"0o `pV.1 pkM "= ѷ!c<dNn36 &c(+"- paG} l2;"W}D"pR 5|S08f[", dm! pG} 2!< 2p4 P zI A` ': pQrP 0,b20:"o f"?v" sX"5` 5,+{00 X"o,{^ s"P(S! p%.=@S"pn۩ln18 CV iq. " \"mnPd0!{ P= !]<  !6<K)"! `WS]N! f`~pm! *I Prx().O`"P #pq E{0{PWbKе10R"; O!o"`z9p;h2dp :"]p"VcP_+"`# xZ"0i"9!7<odv0 B" M<" _N}0R"?ap0. ! RV@ ;֕"M@c  $VPh PuAb\T*B-! [+Nsp Ik!D<(!\PU XP 3pD"#?"0t nς!T<}! `%t`95"!P <G&@* C"@bpl"]U@E@$"4G"@@ j ТKPyR4jp ""c"lo" C"p5Na" ]| W A! "0> `X>! <;G%W8ݸ!d< 5_@^ WD@ S"qTB"`n@ RiUvlV"-|*!=<xc!P^<9V@7" c" P x"P k("(!0<o"?^!C<~"!0<Ef jJp"> 6p9 x29 "й i{@_ {|"> %@]6I" M %V ,O"UX! $ZP/"Z"pP5 @~2ю q"`$j r 1 t@`[P Wy|! p$@"a" y. 2 %& s"R=U.V(jX,!0<|Mx{0M"0 IVp TP " ? 4 /f! `<'D0x K( {T! <H;"; $e> "P fJ A": IO |M p! P0sUW!Y<0@a"P 5Lu@5 "r"!U` /r!Q<"A"Yp@"` mOMPB1$& [0 4!2<8"9 P!@A<0` 8  ) -/ %X! ,m"z)P- CF xpa!b<("V& @ &! 0aV"0 @T!]R6"U  "}" 8@` V"p c! :3iJp8CE!?<iu$ A`R dNЈ  Pa0Qpp2@:sP /S4G"UrR`6:"i5H"Z d"#dS! '],!><(0 H@& PP9-m0X! .&P B*! `6Ve!9< 6> x"p G0!`.<x "@g" "0'"pX`z.$!7|!+<ٛ!b<(! `2?@9y0mJP "6 bQ!@%N` }J $n"r%6" Pu"D 1P"s's"{H^""ЎJp8|!pS<·"pu] m0  s3 Liz"-Q.=Ap%"mR0+u" 5QPX"0$A )kTJ0` 5Pr&@les5 ;" !Y<u"|BG} C!<@?!  ! `O&G^ 2t"+Ճ d05Q 1"o7t a"W< " 5!@H<0 @  4p M">CCp !K<wD!<( P c@M@\"`H"P(prrR !Qo & "qP Qv!\<;@g}! '"P J@p5"[!b<"0y"= "@A `sk>@,I3  T-1 30 D4`7   p"z"? Ig 0"4* *sQP !`L<0T,ס)!@JP3(` bs" !O< 7ZKB! ?+g"?73>"U^=p3  =Էt" 5' qGp. 8, P 0" ,?1A!;< pi"p> `_"  ! 1Hi4 $ 2"5ׅ $/p9 i Op? (S0EL4*v"pjP;a0J?q G*Puf"0 5YH@ "`n.l "T<riTp (Lk !7< Y"R 0R7IOE ~"apJ'!<"-= ! , BkА|! `"%"P03 +@wxwPMBzN ;m! @%NY"`U.IG8`f ,d#  R"pYlP) CK[ 6D`&J 5kE}"3kxPm!  %x"P%[V!`Q<(@$=r"r6p9 xks!R<@`IY(ЏP( 0">P !<?r@ x "0:00! ]!7<0`_xK "=p 0"W '(Pq&F"003 4ߍAh^H>2r M! ""> D!<qЎ:mm,Y|!<q- ЈL^"=<p upD"o3%6"i^w9T#B"à@n@ "o $#p B-7"P] @ !-<  Rp3^V"@d"  '+ 7"00h" uJ*` 5Կ"j&5p ;,1 !/< H Ɛ!P< #"0M"9  "B " E!@;<0#*"<3"P^S" 0x(, 9?"82 B"`ORPO' j"@ 8! <B!0<  J g% H( 0@{qx,! )< "W=!W< Ϣ C (xK ku /7 P!Z<S"uyM p "e 09 !<(| ЈL`H mK}PX{7U@J  15t u"    @g"@J @GL.)ڨd)< }!S<a>G} .P2 HMLa\ V 3"PE"@ LE!?<"! `,Цg 5 Fsr@oP;"t] p 7[wPJ W zv'`6MQp@!8<P$4V! `#/2 b8"`0S! z" yAQ"/w\! VUе:o&* DNY(E!T<8+!0<()@% YB[@qI@ .mGq@ 9" Rn BNPp=< pj! E<@Cy"0vUD1  .Ī .&U-8"1 wU+IT[@ u"`"! c<8! I_   x%`LB"@ -CZ! s+ 0pz9:xK @"`ip{ p/3 B@L; 3x @ R^`x" F! `r!Oa"P oi@:P_Z"PO~dn!e<(y I ="0<S"pG @"9 P1Rw D"YG"" D >! (ZOq!`[<PPF_ 2J" 4<u*!L<0"yz<Tߤ`6M!@<<`"# @Q w TyC F @%pّ $XI~ Wzp #"$ 3}c % R\m x`>z"KR9"P#8-Ђ9Գ"m7?(, a"0 A"P"$! 9/%MQ?= M=01PM50#g]i,h`5! `]Jp -{"pddkp 5"'>Hvp B"[8R]p"? $е ‹ U0p"U ngL!<0IM w\"0%W cP b!^<09Xx"P17s!D<8  u! =#p7[L!b<p!jF~f t@hN@dRnd] ! # &" "3 PP"&W" 5N =CQ !<<F`2P Bz r" Ux"Ip99!@<( ep(p` " I/vw!*<+_!`C<(X)Վp ["Ts"{0;)G"3Y" #ޔ"ж+ @H.1 P<Bp]0z z"PA0@W++  f/@1*^p&+pw2WPa"u 6!W<@w"Hz[` b0"PQ^"N@Psp`L"0b%s!`R<@RS'"@RĬLG)P %Q>"``rU` /Q 8.$k!Q<ki -1 3 0G0W d' "p00Gb}b W"0|` y"9 ˬ5.i "W^K @"" #"0JpTA^X'U":<0xu!:<007 gP"k($}a &D>(! v @iϤ" A"pp~J" / ! ,"D[p\8 \P  /}d KD^U'"=`^0h +V`"-)1@e` "W" -"o $\f  3r=GNll } ! NN!I<|" /H< P/z "0pסY>93"= :S! Y!l3 yb" !p <D! @(9h1! ;PZM!`$<ЙZs"0{0;! `" $" "l~!@,<0` 0 U}Y/m &Hd9=!< O"0 tsЌ ] =\P )g a&3"= @e %`"r/dP 2ڗLBP E<@|BnU"݅` !<\A& V"@! @:'3" JTaINbnp) "9 Ъ` c! h'p964 EK!<"%C@L"0E m@."S ?]"PD %6T1 L\}>!<0ma"ݭ7t! 0k$!`=<0! WY!<<`.02 ]"" @"@ ""P$U [3h$@PTCp "B C"# T6"T г x /3 I " 2$SPP3ARP7f`o"pejZ0[! e<PvT"hRpF@[z! 6"@ % 9w` 'jp( P C: %@)!&"rCjj":166"? tz39%"P 0 z6J;¯" v2"U"$M;< RYǁ@ '%" p5`vjuu`l}%@8ń Bи ="E ="@ !  =<"`!2"xR!O<exK hXu !@ <^" q4Fxm"p"{R` ~A">N@ #8"r13[! C<(3"p> p^U  F! e! < ! /b o S!@<9 i |` ]"Й/jp`"0w ^J t *)G9MS"*K@ЀK"-.+P9XGo^ ] 9%"2 }VX=4?Pq  Xp`!0/<rp6]@U"  `O\ ! q#?0/K"N>"PE 0»n"!W<E!  l "0]#FP^ 70(! R_`/0 " >5"@ ;o  &?#@l9P^e @ 5(0, 7G \ } hB14 1ہtHp~   -( 017P@ Q"H2@", u! 2%" Md`N&O"A!P<R+"0> >ir!R<hn3?y` yE F"pZl:"o fԺe #!@F<G"@}nDx ޭ"5E!d<(  E"`} =v"d!)<h! X<8aw>Ah!0_<b+"pyo"4 |nN mkCP\M"PJ^-0"pYx"T B  { !<#{!+<0{F` T  ("g,X! B<v]dXX@&*- 1СV"epŻ D0p 9p e kA! ?; r6G b pɢ0C&Lp3`T Z"n"`zt"<S waz"05,}TKWz@?= M"R! $!<"@ N3E&{ s2C-VP"`2vS Ѻ". 7S0 ""5! Q05@pq xd"P l"0 dpN;a"**LV)<!@?<R"0@n!X<D! -B  <{'"ж UpH 5vB""P> ?"s fP4x2!` <@2@@K" p $zW .4";"1/P2   " @ n  5g}H Sa`>bpY~ g "`? 3G)- !pO<F@" #j!I<" ?u! m'!@3<p  o Ag18"}! `q$OPy х}"p!G<Ef G;j G pEJq]g ;v/:*&"-K"P s>"  l"P ["@v@B(" Yà!p1<";\ Jp` 5`}]7On"P.P#"7"t).yP  T"0J"]:p,"5 " G6"> zp1-h "p7=@I" ,NP *"@-%yK0 96rT2YO`C="@ oV%O @-"> O&!=<03: zE!<s" |m~pm{СWI\W b!`ci= (ZQ)"q4M"@ Č0,B"> #9Jp ,47 R"I06܌0 JC! @!b"!jmD! A-v"? ߪA"O"p "P f0k}! r&^J# ePQ != w J04'pBOCu 0*{` o(}0RC"p]XP 0^@Cp5`8 YI!F<$ TFY "c" 0?RZd"?2D" *|p`  ` g, "@> $]"@. eI7*<["`"@g@ ` x"'&~q4L#"."Uq"= 3̬"Ua0qEd4 < >:%0  R!X<G"Z =!`?<@  Cw0I &0һ! "+". n0 D["P-.lr"Z01P;N|!`S<Z "@"  #p  ( @}]#P$ l3@S!  t?@{eY"PJ!0vk" ;@,"/P3 >]\ G  S~_F" hl""hL" `LJ17 (! `96"gW"A #!P"l; E0^ f"0$Ek,! [0(f]eYpQ/! U<0c R#% "@: $7z:c!@)<0!`d<@("|B?@m*!@><(6pK?Wp)Dp x]Ь "+"n0$0' z-! #n"C RO0 U@t} V'"o P@ D@8!?<@aw3$G! P0@ l["0T"0*e @[! s-1 E%,!p><p!@5<! ,{!T< ږ! r#;p< ." B Cf&inJ"P J! O/z!S< % c H~ Cju$N`"P H= p2Ԏ q[ "@A %j" W^gaena" '<U@o"pz{!-<xu!`<U# HypM.") '"0;J;Q! V z"pdЍ  "T$"?0@! <(zO  "A :<"D =6^ @P!P<XO \KwZ! G<8pa99dp ;!PV<c{1?~cp f=p ei"pu5 0Z[$ ' *! -r`,"`n7:]Wq /p2 $qv@ ,[T s! @E- 8K8`h @ @ }"״Zr>o &"Pp $t! S<@"-E!,"@? wx!a<J* hvE":}_94Q SGk"0;N^t2pY>p "]"0"; EZ@{o@"F c"0irP1 Y8: (q/q. 8֍U0dom! +2P6 i! @,>1!I<0T"P%v"N%0) ":| tG} m8<0OЏS">3'+ k!@.<|" t! <"P# "] P"0:*E!]<fn" !6< { q1`5 fmi"9' lU1@?dW AP1" F"o!p;<0]  e"#/+*y"   \z\","G Os l" !8<(bM{ sc` T"pC! <LP6!N<(j"n@1" l";)HpP ~*8Q N'0iA"  d"N @  [(H`"` |c!^<0c@'P^ %" LK-P v܇"00h" PSp"368 b P "i"!2P9 v!*<8X("/n">S@E+pH"9 z$jC@!U<8! ]$|Hp 1< $&+ W Aޮ?ҋ!,<@!]<(0 _"0 ^/p2 $982"JSE! ,f I WI*pvV@L X" xfy{Tb7nu" 8F  <͗! pA!<Uz"$~@{O z"u6 gT0H 5"0A !M<s$ K0a (`R" p OP AL!2<RD"p5! @#$z`  ٟ!@2<8u" > T [-! `s3^Q " e5= E nbBMp sp"J6u"  "na"#  1\p Km@ 0vH \5g"9`S ! Y<0 !\< )[0 "hT! t+"sP%" "h R. z" Vz"J$ "Px\t$"9 $yL xrP1 t"C 9!1<8{_ >L!$<(f!B<x4i! ~B!`:<nGW _"p# T" @=< pc!0^<3"0vU"0sZ [ w r! 3A @`,rN^ 2U! -! U-[`T OPG:p! `t*! Tu"`"fI đе(" uS"`_"@ U ! `4*Uh15 -! :/@ @O"Л X~" B_!p<!9<x"0. 34Ю 2e=! d.2 !(1t9x" !e<^ uM M-!!`Y<0?:@n*0V 0 3"9 AP1RC `}d~ce185;h"9l"x! +<0p zh bpK} !W<"6V;"p"pj/ /$' )0x"0 5017 @: XA"ІM%C! 9<VL |_ <!`P<0@T 403"ph"P E!0L<\"0PU7&: d"> "P1d{"T"pXX"cS L! `J1  "0-b". Y3! 3@!`<(@""@ M"p ' @"[=NPW L1 sn"Ў! JHip R;`.k>!2<@!< ~P} g"TP, , o|! @"N0 K@4$"%!! ]p! I<8+LOWN Ri"pu5;XG!<!5g k(!/<c" ^uT;ZPR Wn"E!?<a" " y,";>B! @?']"G47 3" wO~"Nc`" m"px>Rpvw"``(! P ʄ!+<HP"0F )|M`)Cg"@>p k"w|n ! `7w0D"9 @ _0 '}`~"'\R"= m&S"""L 0EQsk(",?! %*[! @C$B1"PJi tJ"P "n &ǯ0AMpP#  {;`< 3"\` ccPY&25 1l|x"`(>O! f>1n! M't@(i"9G (+ @ 4< >ǩ,*-  e"#T*( 2p5 "/Dp! 98NP<!`"<#Y>%!V<3"p= 2I+0! 6oC`1)p- 3b" FX Fpo*- $&* h"9PLs! `,sPA-Ls"0{0"1L`"Peӂ:",`A!K<0"pE 1r`-$Ed" B! ?v  ?p $B9i  +pP"Pb d"$2!;<#b"P#)"0 Ք"Ja"7: <"pO5J"t]l+"lI 09ܼ zvʾb"55"T D`Gz! 4< Z! g@ ,u!Z<"I>!:< s0de!B<"@ pSP0 W F 3"2аp}q{"`p3T"sC-"J!J*-  7"5@'`  "` 5yM Mò"Мc67A"{ I"`?  *X S ! +-f! 'Wf@&."`$m! 'RX`O 0"? @5t"A P`vNk [$%( A!@<@Z0  }| }N!Pf<ݯR]'%yP4"p Q"pX&P *!" 2$ ECZ"PO3,O^" O x ``\!B<8_ "A"w@Wb!(<v_Pc[V `pIP(& UN|PLn"@z! `%("p} QP"E"S̕`8z!+<"0T!B<-< v-0P>%S"-:`i G"<ΘL9"r5L! X_ZВ}! EX $վ" 1 Y] "@ hP_"s&~v`B#VuAsi "A "-" BL"peP "`> |"Eo"zbU"Ю Z z0!<`/2 L! 1<("`{L0X a)`Hp0 Fz6G d ֈO!@<0F!,<x`6wPMM" @!p<;L0 "q;uLK"qE"@ ""H2oC!`<d", L"0 Qb1I)U!p,<5"`^"`\"@KR@7<orD$;; i9P2 MPOF"pZL*"tK[ 7!`J<0"ʃp /u"."`?x"IH} #~ )+"`Go"4 " SL\ wM@ O"E! "P0"pYxyG"Txp|b(" IYO`" oq4q3"e;ip RH$S!@<{`g "/"P\" #S!@<1 B{")~"з"0< I$' $>pp ]J!$< @i Vs4 "0'VX?~@"k ˬP)S!&<V 4\S 036 3 $Q#w tc-0 wq"P "@  "P. 0C! 0@P.G"+ z! o"+t"]w"и%][+C`" Oդ@A" XD HL` v%`) bP m"VvBv?"s f8TNp DW_IX  !<//`y"` E  =T" @H0G "k" t"" @ M x"Y}p5 x! "P3"b_20CК`~9ܛP]  =ES"!  VH@ <"@ /  C69 3`s" ǧP8,ȹ"&"48OSZ`R  L@/:*!H<2 U42! W<"  !`<pP @W`"<}!S<Gv@ ]TLp N`7*] r! /".m! R<@ = "w6"mI"]}" "@06&HN }PyrP W;uL 8" v=bSp? @ Ъ "0UH tt 7" o"0@"ptL}Ix"@ Y"R xY=H ~ IG IJ"pB C6m8! :<0r!`D<Ix25 1fOP_ p @ (ZE  &x! 3$%@ `E0o"> L 1>ZTkEN"05`nS`3ڪq8{ !<0)@ RDn">N E"> b e 'p$ !< `M9/CPu f-1 p -/ %2p6 #$ F" tBpP"p5" HG H"  " '! f<(4@!@<@H G! @P04"p: O!4<6!P<0"y"J;@gq. F!A<0 "B 4.1 }`*Y!0B<{k {" Jb0Tq! 2 >`~m;c-7"P=="0zZPK"P]y0 0 d H=8: a"@-p@&  /e! `5`"Ѥ! <@Q! `%K{@ '`pIs"p-7"0ng"r4@Ju`,BG"dd@"E G!Z<N"КJX7p! 1"оf 9:  @@N !,7bBr"`Sh R;"= I"0 F<`mt"A 2Pnd!pB<r+19 5T2`9 {04H`M8N"p rЙ!0K<"@ "0]j": os@," b@c!F<0"5 `/8B7H W" A@"`^o6"U ["U\S" ! JD0x"l_ wPjYӘ@ D!.<407 )]XJT!@ <H R@ `I0Շ`!X<DTKT!H<0!<("@T"n0 | BS!`<<`0a` [y0,"0|! ,"@^IP t"| ;r0"UXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXj P&y `0ii ui V ui  ӯkt); ;@ ;p ; ; ;@ ;p ; ; ; ;0 ;` ; ; (; 0; 8;P @; H; P; X; `;@ h;p p; x; ; ; ;@ ;` ; ; ; ;@ ;p ; ; ; ;0 ;` ; ; ; ; ;P ; ; (; 0; 8;@ @;p H; P; X; `;0 h;` p; x; ; ; ;P ; ; ; ; ;@ ;p ; ; ; ;0 ;` ; ; ; ; ;P ; ; (; 0; 8;@ @;p H; P; X; `;0 h;` p; x; ; ; ;P ; ; ; ; ;` ; ; ; ; ;P ; ; ; ; ;@ ;p ; ; (; 0;0 8;` @; H; P; X; `;P h; p; x; ; ;@ ;p ; ; ; ;0 ;` ; ; ; ; ;P ; ; ; ; ;@ ;p ; ; (; 0;0 8;` @; H; P; X; `;P h; p; x; ;0 ;` ; ; ; ; ;P ; ; ; ; ;@ ;p ; ; ; ;0 ;` ; ; ; (;  0;P 8; @; H; P; X;@ `;p h; p; x; ;0 ;` ; ; ; ;  ;P ; ; ; ; ;@ ;p ; ; ; <0 <` < < < (< 0<P 8< @< H< P< X<@ `<p h< p< x< <0 <` < < < < <P < < < < <@ <p < < < < (<p <0<Q 8<Q @< Q h<P <p<Q x<Q <@Q <0 <<Q <Q <PQ < <<pQ <R <`Q < Q< <8<Q<@<h<_<p<<^<<<<<< <B8 <BX <@Bx <B<[<<< < (< hG<G<`G<G<QG<PG<PP< P<P<P<P< P<0Q<(Q<(]< H]< ]<P]<`X]<ph]<p]<@x]<P^<1_<@1_< 2_<_<_<P`<``<ha< 9a<8a<a<a<a<a<(b<`a<8b<P%Hb<Pb<Xf< Ghf<@Gf<`4f<4f<p4f<4<<<<<p<<0<<U-<o-<~-<- <-(<-0<-8<-@<-H< .P<-X<.<S<S<S<S@<S`<S<S<S<S <S0 <SP <Sp <S <SP <Sp <S <S <Sp<SP<Sp<S<S<S<S<S0<S`<S<S<S<Sp<S<S<S<SP<S` <S`"<S`$<S$<S&<S(<S )<Sp)<S*<S+<SP+<S+<S,<S-<S@.<S.<S/<S0/<SP/<S0<S0<SP1<Sp1<S1<S2<S 3<S4<S7<S9<S`:<S:<S;<Sp;<S;<S@<<S=<Sp><S><S?<S?<S@<SB<S0B<SB<SB<SB<S`D<SD<SF<S`G<SG<SH<SpH<SH<SH<SI<SI<SJ<SK<S0K<SPK<S0L<S0M<SM<SM<SN<SN<SO<SO<S0P<SP<SQ<S Q<S@Q<SQ<SQ<SQ<SR<SS<SS<ST<SU<SPU<SU<SPV<SV<SW<S W<SW<SX<SpX<SX<SX<SY<SZ<S`[<SP\<S\<S ]<S]<S0^<SP^<S^<S_<SP_<S_<S`<S`<Sa<S`a<Sa<S`b<Sb<Sc<Sd<Spe<Sf<S< m< <s <s <s $<s &<s (k<s <<?<><` <`H<` <`p<`<`p$<`pb<`e<`f<`o<`<`<0<8<8<8<8<8 <80 <8@ <8 <8 <8P<8<8<8<80<8@<8*<8+<8p,<8/<8@5<85<86<86<807<88<88<8 9<8P:<8<<8@=<8=<8=<8@?<8?<8@<8@<8 B<8pB<8@F<8F<8I<8L<8L<8pO<8O<8Q<8`S<8pS<8S<8`X<8\<8]<8b<8`c<8c<8c<8e<8e<8Pf<8`f<88<H<) P< < V< h<f p<H9<<<<8H<8 <8@K<8`K<8U<8@^<8`^<8<H<s <i < < `< < <<+<L<i<(<&<&0p<&0<+8<@<PH<;<;<;<;<; <;"<;%<;'<;P<<<%<'<X<h<h`<N <N h< (< p< 0< < 0< < < "< 0'< x< <<H<H<H%<H'<< P< P< P%< P'< <lX<l<lX<l<l <l"<lX%<lX'<l<`<<xh<x(<xh<x<x!<x#<xh%<x<p<< x< x< x%< x'< <p<p<<<( < < X< < 8< 8!< 8#< %< '< <<`<<@<@!<@#<%<'<<(<(h<(<(H<(H!<(H#<(%<('<(< < p< < P< P!< P#< %< '< < < x< < X< X!< X#< %< '< <r<r<r<r`<r`!<r`#<r%<r'<r<R <R <R <R h<R h!<R h#<R %<R '<R < < < < p< p!< p#< %< '< <<<<x<x!<x#<%<'< <<<<<!<#<%<'<(<;<;<;<;<;!<;#<;%<;'<;0<<<<<!<#<%<'<8<A <A <A <A <A !<A #<A %<A @< H<<P<<X<) <) `< <h<b(<bp<x 0<x x<8<<1@<1<H<<P<<aX<a<aX<a<a!<a#<aX&<aX(<a<`< <`< <"<$<`&<`(<<h<h<h&<<p<<x<8<x< <"<$<x&<x(<<D<D@<D<D <D "<D $<D&<D(<D<p<pH<p<p( <p("<p($<p&<p(<p<<P<<0 <0"<0$<&<(<<<X<<8 <8"<8$<&<(<<<<<<<}<}<<<<<<<C <<(<o<oP< @q< X<`<<< < <@<$<b<e<@f<<Ji<Jе<J<Pn<P<< p< <j<< < <G <I(<I<I<I <I <I <I <I <I <I <I <I <I <I <I<I<I<I<I <I(<IH<IX<I`<I<I<I <I(<I8<I@<I`<Ip<I<I<I<I<I<I<I<I@<IH<IP<I<I<I<Ip<Ih)<I,<I,<I,<I,<IP,<I,<I,<I,<I,<I,<I,<I,<I,<I-<I-<I-<I/<I 6<I7<I7<I7<I7<I8=<I=<I ><I?<I @<I(@<I0@<I8@<IA<IA<IA<IA<IA<IC<I0C<IF<IF<I0G<I8G<IJ<IJ<IM<IM<IM<IM<IX<IX<I]<I@_<Ic<I0d<If<If<IH<P< X<`<` h<<<I <c<`9<< h9< <p9<<x9<<=9<=<M9<M<9<<9<<# 9<# <'9<'<9<<9<< 9< <9<<Z9<Z<H 9<H <~9<~(<9<P<X<W`<<@ <h< K< <<3<h<< a<<< <P < H <P < X < ` <l h <t p < x <m< <j <N < <~ < <^ <? < <5 < <9 < <@ <` < < < <e < <e <p <`m<`< <hq< < 8 < H <X <` < < N< PQ< _< `< x <( < < < < < <( <r 0 <d8 <H @ <% h <p <x </ < <z <e < < <0]< < < <d <d`]<d <( <0 <8 <p H < h <p < x <\ < < < < < < < < < < < < < <<<p<0<<<0<<<<p<0<<8<<<<x<8<<@< < < < < @< < P<W <W <W <W P<W <W x<<j<< < <<< << <<?<%(< 0< 8<<@<` X<+x<<<!<O< (<T0< 8< @<.H<P< X<8l<`<r<<<<< < <<<h<o<<U<< <Y H<P<|X<.`<Mh<u x< <: <z< <<L < <_< < <B</ <. <(<8<@<H< P<[X<`<h<i< << < <{ <<<<W<<] <<G <(<(H<"X<`<<1< <<< <`<< <Z< <<<<K <l8<@<<(<*<`1<1<1<pG<P<T<X<pa<X<)h<H<<<7 <`<`<`h<`+<``+<`O<`@P<`< <<?l<?ȵ<?< j< <H<FP<X<p< x< < < X< xP< <k<@ <<< < T< <o<o)<o*<oG<oP<oT<o@X<o@b<o<Hj<H<<k < <(<H0< 8<p<p&<< << <H<<* <7(<H<P<`<;h< x<o <`<p <p"<hi<<<I<<< <"<<< <"<< < < "< <#<# <#"<#<;<<< <"<<< <"< <<!<#<0< 8<@< < !< #<H<P<5<<<<!<#<<<!<#<< < !< #< <<!<#<<<!<#<<<!<#<< < !< #< <|<|!<|#<|< < !< #< (< <"<$<0< <"<$<`<@ <@"<@$<h<$H <$H"<$H$<$p< <^< 1< 2< P2< G< P< T< 0X< 0b< <<< H)< `_< _< < P)< _< _< 8< H<h<y0)<yx<n <a<8<N o<N <I< <P m<P < <<n 8<@<<<<y<< (<xm<0< 0j< 8<X<< l< <~<n<<]< <<q(< 0< <<`P <Oh < < p< < < < < <Q!<!<(!<0!<!<!<N P"<h"< "<0m<"<Y"<"<w "< "<#<[#<(#<0#< #<`#<qP$<[h$<$<$<x xl<x $<@k<$<Z$<j<$<$<h%<J %< %<(%<[0%<c8%<@%< `%< p%<%<G%<%<&<&<&<g&<3 &<f (&<v0&<08&<@&<H&<B P&<&<J&<z &<&<&<l<&<t&< '<'< '<('<8'<?@'< `'<*h'< p'<F'<D'< '<O'<(<4(< (< (< (<((<k0(<8(< @(< H(<kP(<h(< p(<g(<(<(<(<\(<K(<(<)< )<()< X)<q `)<ix)<>)<[(*<[`U<[ `<[a<[)<s)<x)<4)<1 )<H*<U<h`<a<)<xP*<xU<xp`<xa<x)<X*<U<x`<a<)<Z `*<Z U<Z `<Z a<Z )<h*<U<`<a<)<)<*<*<U<`<b<*< 0*<P8*<.@*<4p*<1U<1a<1x*<Z U<Z a<Z *<8*< *<*<*< *<3+<(+<Y0+<8+<@+<H+<n X+<-+<+< +<+<[+<4 +<z+<D +<EJ<E+<z+< ,<} M<}H,<G< H<@L<M<X,<`,<h,<x,< ,<,<,<,<I ,<4(-<-<P.<.<0-< 8-<@-<4 -<4 .<4 @0<4 H-< -< .< P-<>-<>.<>X-<-<.<X0<`-</.</.</h-<8.<8.<8h0<8p-< .< .< p0< x-<-< .<.<0<-<(.<.<0<-<0.<.<0<-<o -< -<-< .< H.<o h.<p.<& x.<.<?.<%/</< /<3@/<3`/<3/<38/<=X/</</</<#0<#1<#/</< /<= /<(/< 0<q0<0<(0<00<% 80<H0<P0<`0<x0<X0<_ 0<0< 0<0<0<(1< 01<81<v@1<O X1<x1<1<T1<'1<0 1< 1<K1<, 2<& 2<@ 2<(2<02<H2<X2<|`2<~h2<p2<@2<D 2<"h5<"Y<"k<"2<68i<62<* 2<W2<5< Z<2< 5< (Z< 2<95<90Z<92<5<8Z<2< 5< @Z< 2<5<HZ<2<5<PZ<2<x5<xXZ<x3<j 5<j `Z<j 3<5<3<3<5<xZ<(3<03<6<Z<o<H3<o<P3<X3<`3<Jh3<(6<Z<p3<06<Z<x3<#86<#Z<#3<@6<Z<3<H6<Z<3< P6< Z< 3< X6< Z< 3<`6<[<3<fh6<f[<f3<p6<[<3<m 3< 6< [< 3<6<([<3<6<0[<3<k 3<6<@[<3< 6< H[< 3<6<P[<3<6<X[<4<m4<H7<7<(4<04<84<w@4<Z `7<Z 8<Z [<Z H4< h7< 8< [< P4< p7< 8< [< X4<x7<8<[<`4<7< 8<[<h4<7<(8<[<p4<7<08<[<x4<!4<7<@8<[<4<4<4<4<4<4< 4<4<4<b4<4<d4<4<v 4<4<m5<5<5<5<  5< (5<I05< 85< H5<3 p5<Bx5<5< 5<6<6<Cx6< [< 6<8[<6<K 6<6<6<6<7<:<:< ;< 7<(7<F87<P7<}X7<`7<O7<[ p[<[ pn<[ 7<,7<88<j[<jH8<(P8<p [<p X8<t[<t`8<\<h8<\<p8<p\<px8< \< 8<v \<v 8<# (\<# 8<r0\<r8< 8\< 8< @\< 8< H\< 8<8<`V<`\<8< 8<pm<8<8<9<- 9<X 9<6(9< P9<VX9<39<(:<0:< 8:<X@:<H:<X:<$h:<)p:<R:<R;<R:< :<':<:<o:< :<:<= :<^ :<\;<;<^;<H;<$P;<X;<4`;<Uh;<A x;<W;<;<_;<;< ;< P<< << ;<;<|;<\ << << =< <<n<<n=<n<<<<=<<<<<=< <<<< =<(<< << (=< 0<<# <<# 0=<# 8<<]H<<h<< p<<$x<<<< <<<<<<H=<sh=<H<I<p=<tx=<=<=< I< J< =<=<N<=<=<=<=<M=<=<e><e><e>< ><GH><P>< X><`><x><><!><>< ><><| >< h?< ?< ?<J?<l?< ?<?<`@<(?<0?<; ?<; p@<; 8?<1 H?<p?<x?<-?< h@< ?<L?<?<K ?<@<D<@<N@<H@< P@<?X@<x@<@<:@<@<@<B@<@<@< @< @<@<k<@<A<B<l< A< (A<HA< n< PA< XA< `A< hA<A<B<D<A<w C<w 0E<w A<A<C<PE<A<cC<cXE<cA<C<`E<A<^A<A< D< E< A< D< E< A< D< E< A<D<E<B< Xl< (B< 8B<h@B< Q< 0Q< _< 8_< XB<`B<hxB<B<B<(C<pD<B<B<%B<[B<[D<[xq<[B<0D<F<B<Z8D<ZF<ZC< C<8C<@C<hC<pC<jxC<+C<C<C<C<C<2 C<" C<5C< (D<j@D<?HD< PD<hD<JD<eD<D<*D<lD<'D<E<N(E< E< 8E<@E<HE< hE<YpE<xE< E<E<E<E<E<E< E< E<E<KE<F< F<(F<0F<+HF<%hF< pF<xF<F<2F<'F<F<gF<F<F< F< F<F<H< K<N< O<G<CG<(G< I< @M< @G<HG<CPG<$PI<$M<$G< G< G<G<H< H<H<.HH<9PH< XH<`H<! hH<"xH<%H<H<H<H<DH<H<iH<(I<0I<N8I<&@I<HI<hI<pI<xI< I<I<I<Y I< I<I<I<I< (J< 0J<.8J< @J<1HJ<hJ<f pJ<xJ<mJ<]J<8J<Tm<TJ<J<J<!J<J<HJ<5K<K<x8K< XK<K<K<PK<* K<]K<K<CK<K<<K<L<L<gL<a L< (L<k8L<#hL<pL<D xL<L< L<L<'L<<L<sL<V L<L<L< 8M< hM<pM<xM<5M<M< M<2 M<M</M<M< M<RM<< M<fN<HN<PN<XN<`N< hN<N<N<N<-N<eN<~N<N<N<O< O<O< HO< PO<P XO<`O<)hO< xO<O< V< \< O<~O<R O<O<-O<O<g O<P<P<P<5 P<O(P</ 8P</hP<pP<P<2P<HQ</ hQ<pQ<xQ<+ 0q<+ Q<Q<m Q<bQ<0Q<0(R<0S<0Q<Q<$ R<$ 0W<$ i<$ Q<R<yR<XhR<XW<Xk<X0R<8R<{@R<R<R<S<@S<`T<`W<W<HR<R<R<S<HS<hT<hW<W<PR<QR<QR<QS<QPS<QpT<QpW<QW<QXR<R<R<S<XS<xT<xW<W<pR<xR<R<w j<w R<=R< R<{ R<r(S<xo<0S< 8S<LhS<#xS<g S<S<T<W<S< S<gS< S<S<T<BT<(T<D0T<V 8T<rHT<QPT<uXT<#T< T<T<T<TT<T<` T<U<= (U<0U<8U< @U<kHU< XU<U<U<U<~ U<U<(V<0V<A8V< @V<RHV<XV<V<[V< V<n<V< V<V<V<MV</ W<(W<HW< i<PW<S XW<wW<<Hl<<W< W<W< W<J W<,W<X<(X< 8X<&HX<PX<hX<xX<uX<X<X<X<X<X<;Y< Y<o(Y<0Y<`8Y<Q@Y<<HY< hY< pY<xY<Y<Y<V Y<Y< Y<Y< Y<yY< Z<n<Z<Z< hZ< pZ<l Z<Z<l<Z<AZ<Z<h[<R[< `n< [< [<[<[X\<d \<\<\< m< \<\< \< \<\< \< ]< ]< ]<]<]< ]<]<]<j]<I^<^<C ^< ^< 8^<SX^<^<t^< ^<^<^<^<^<;^< ^<^< X_<_<_< _<_<X `<H`<P`<X`<9``< `<`<`<o `<?`<Q `<a< a<tHa<Pa< Xa<phb< b<j<b<p<b<b< b<b< b< b<Kb<, (c< 0c<!8c< @c<7 Hc< Pc< hc< c<c<c<9c<; c<Wc<Ec<c<c<Yc<Ud<U(d<Ud<u 8d<@d<hd<pd<xd< d< d<V d<rd<d<d<d<Hd< d<d< d<e< e<_(e<0e<8e< @e<He<Pe<H Xe<. `e<Bhe< xe<Ae<0i<e<@ l<@ e<:e<e<$e<e<Xf< (f<ho<0f<j<8f<3f<7h<7f<h< h<h< i<i<~i<k(i<@i<LHi<Pi<cXi<`i<pi<"xi< i<i<i<i<yi<+i<i<i<i<<i< i<i< i< i< j< j<R(j< 8j< @j< Hj< Pj< Xj<`j<hj<pj<xj<$j<Lj<tj< j<Zj<j<j<j<J j<Oj<j< j<u k<X k< k<k< k<0k<8k<Hk<NPk<FXk< `k<hk<*pk<xk< k<k<k<k<_k< k<}k<k<,k<-k<8 k<k<Ek<cl<ol<f l< (l< 0l<,@l< Pl<4`l<W hl<Fpl<Ml<l<al<7l<l<l<l<l<l<l<l<= l<m<m<m< m<1(m<S8m<b @m<Hm<KPm<DXm<hm<m<m<m<m<' m<^m< m<m<m<am<m<m<{n<+n<n<In< n<](n< 0n<8n<@n<Hn<Pn<iXn<hn<Mxn<dn<n<n<Pn<;n< n< n<n< n<n<=n<n< o<o<o<k o<)(o< 0o<8o<@o<:Ho< < Po<^Xo<`o< po< o< o<o<o< o<9o< o<eo<-o<o<o<o<o<p<ip<(p<M 8p<@p<PHp< Pp<Xp<`p<hp<pp<mxp< p<p< p<p<p<p<p<Tp< p<p<p<p<Xp<p<p<p<] q<q< q<Qq< q<(q< 8q<Hq< Pq<Xq<>`q<pq<q< <w<<Mص<N< q<q<q<\q<fq<q<c q< q<?q<q< q< q<sr<+ r<\ r<. r< r<? (r< 0r<8r<@r<qHr<Pr<Xr< `r<hr< pr<xr<c r< r<r< r<br<r<kr<r<r< r<r<r< r<{r<\r<6r<}s<s<s<Ws< s<(s<)0s<18s<0 @s<1Hs<zPs< Xs< `s<uhs<ps<Wxs<s<ks<s<s< s<s<s<G s<s< s<s< s<!s<ws< s<s< t< t<Ft<t< t<(t<0t<8t<@t<Ht<Pt<Xt<`t<nht<pt< xt<6t<1 t<t<t<t<t< t< t<t<t< t<t<6t<yt<h t< t<f u<u<u<u< u<(u<50u<' 8u<( @u<IHu<Pu<Xu< `u<.hu<:pu< xu<u<Iu<u<u<u<u<u< u< u< u<u<u<u< u<u<lu<v< v< v< v<' v<G(v<0v<8v<@v<Hv< Pv<U Xv<G`v<hv<a pv<xv<v<<v<v<v<v<v<7 v<Iv<v< v< v<<v<v< v<uv<v< w<mw< w<w< w< (w<0w<$8w<@w<G Hw< Pw< Xw<{`w<hw< pw< xw<w<w<w<?w< w<w<w<w<w<+w<Qw<w<w<$ w<cw< w<x<x<$ x<W x< x<(x<0x<8x< @x<Hx<Px<Xx< `x<hx<Epx<xx<x<Rx< x<x< x<x<x<c x<nx<x<3x<x<x<x<x<x<; y<y<* y<@y< y<(y<0y<{ 8y<)@y<Hy<rPy<Xy<6 `y<hy<py<xy< y<\y<y<,y<y<{y<y< y<cy<| y<y<y<S y<y<y<0y<z<z<z<z<F z<(z< 0z<,8z<@z<% Hz< Pz<Xz<`z<hz<Lpz< xz<Rz<z<iz<l z<Dz<z< z<z<z< z<z<z<2z< z< z< z<{<={<V {<{< {<s({< 0{<8{<$@{<H{<P{<+X{<`{<h{<!p{<>x{<{< {<n{<{<{<{<h{<{<F{<{<{<@ {<A{<{<{<{<|<|<[|< |<< |<D(|<0|<*8|<@|< H|<O P|<X|<`|<h|<p|<j x|<y |< |<t|<|<c|<|< |<>|< |<U|<|< |<|< |<w|<f|<}<F }<N}<` }< }<(}<.0}<8}<S@}<2 H}<P}<2X}< `}<h}<Fp}<)x}<}<P}<g}<i}<4}<}< }<}<}<}<}<}< }<}<{}<C}<~< ~<4~<~< ~< (~<0~<8~<@~< H~< P~<X~<`~< h~<p~<x~<~<~<~<~<~<~<~<* ~<B~<~< ~<e~<~<~<~<c~<<< < <; <"(<0<n8<X@<[H<P< X<`<ah<p<4 x<1 <<^ <<<A<4 <u<p <<0<p<v <<B <E < < < <<8 <(<Y 0< 8< @< H<6P<X<`<h<p<%x<<< < <<} <<<< <Ȁ<Ѐ<(؀<S<*< <M<> <<<< <(< 0<]8< @</H<fP<GX<^ `<h<cp< x<0 << <B<1< <m<<M<ȁ<Ё<؁<<R<<0<!<6 <<"< <l(<0<8<@<H<P<2X<`<x h<_ p<x< <<|<<A<<< <X<VȂ<AЂ<#؂<<<|<<<_<<<p <g(< 0<8< @<$H<P< X<"`<h<p<x<|<9<"<%<<&<^<9<+<ȃ<uЃ<؃<<'<m<<w<<N <$<O < (< 0< 8<@<H<P<X<6`<h<p<(x<<]<< </<)<<<|<Ȅ<Є<؄< < <+<<\< <<<F <(<u0<8<@<pH<P<6X<r `<h<p<}x<<f<7<<<< <<<6ȅ<Ѕ<q ؅<<<<|< <U <<\<B <5 (<0<8< @<t H<=P< X<`< h< p<x<< <)<S<*<< <<<Ȇ<І<.؆< << <<G</< <<S <(<0<b8<@<H<P<X<`<h<9p<+ x< <<Y<} << <<l<<ȇ<Ї<0؇< <<<<<1<C << < (<0<D8<@<qH<P<1X<`<h<p<x< < <<d < << <<<sȈ<Ј< ؈<<+ <<h <<5<;<*<T <(<X0<d8< @< H< P<X<v`< h<2p<x<<<%<<<< <3<<ȉ<Љ<؉<<<<<H<<h<< <p(<0< 8<5@<EH<6P<X< `<h<p<lx<<<<<<<<<d<Ȋ<Њ<؊<<<d<<`<< <e < <@(<0<8<@<H<P<ZX<G `<h<Op<a x< <w<}<j<B<<<<<ȋ<~Ћ<? ؋< <z<<< <<<< < (<M0< 8<s@< H<P<YX<`<h<hp<x<<N<< <S<<<< <Ȍ<Ќ<6،<, <><d <<<<7<< < (<0 0< 8<@<H< P<" X<`<h<p<T x<<< <t <<< < <5<~ȍ<Ѝ< ؍<< <<e</< <Z<5< <(<X0<Y8<r @< H<P<X<`<h<p< x<<q< <_<<<]<9 < <~Ȏ<8Ў< ؎< <=< <<< <'<F < <9(<0<;8<@<% H<P<mX<:`<- h<p<jx<<<Y<U<2<<<D <:<ȏ<Џ<T؏< <<* <<<<<;<O < (<^0<Z8<@<, H<+P<3 X<Q`<h<"p<x<i<< <*<<<<n < <B <0Ȑ<А<ؐ< <<T <<u< < <^<  < (<J0<E8<@<H<P<GX<<`<h<p<Cx<}< <<#<=<<<H< <>ȑ<7Б<o ؑ<5<G<><a <C < <<< <&(<v0<J8<:@</H<BP< X< `<h< p<x<k <<g< <Z <y<<<<Ȓ<В<7 ؒ<< <)<< <C<<@< < (< 0<8< @<H<[ P<X<`<h<9p<Ax<<U<<c<B<<<<L < ȓ<Г< ؓ<<<<e< <f<5 <<O < (<0< 8<@< H<P<I X<`<h<3p<]x< <v<<U< <>< <4<<Ȕ<zД<yؔ<I < <'<<<%<<^< <(<0< 8<*@<@H<oP<xX<`<h<p<*x<C<< <<< <<< <Vȕ<Е< ؕ<4<<- < <<|<. < <V < (< 0<A8< @<H<P<DX<`<e h<p<x< <<?<< <<.<k <<-Ȗ< Ж<ؖ<O<@<d << << <C <N <E(< 0< 8<@<GH<fP< X<`<A h<Fp<( x<#<G<G<< <M< < <(<ȗ<8 З<ؗ<m<K<<<1 <<3<<} <(<J0<8<@< H<P<`X< `< h<p<x<H<o<< < <=<<< <Ș<HИ<ؘ< < <l <$<< <<< <(<z0<8<*@<uH<SP< X<p`<f h<Jp<bx<<J <n<<M<n<w<A<<ș<Й< ؙ< <|<> <<q<<K<<  < (<o0< 8< @<mH< P<X< `<h<(p<Ux< <<< < < <<a<X < Ț<К< ؚ< <L<!<<<<<d<k <D(< 0<8<v @< H<P<aX<4`<h<p<x< < <4<[ <<$ < <<<ț<LЛ<D ؛<<<><<<<<9 < <O(<0<88<@<H<] P<X<0`<h<p<x<"<<M <<M<<+<2 <E<K Ȝ< М<r ؜<t<% < < <<<<< <h(< 0< 8<@<9 H< P<g X<# `<sh< p< x<q < <_ <P <A</<< < <&ȝ<vН<'؝<<<"<- <<j<u<e < <Q(</0<8<@<P H<P<= X<3`<bh<Xp< x<5<b<< << < <<n<Ȟ<$О<R؞< <<< <3<<T<T< <(<I 0<8<@< H<P<NX<`<) h< p<ex<</< <g<d<U< <<j< ȟ<!П< ؟<< < <<e< <<B<V <W(<40<8<W@<H<P< X<L `<h<p<x<X<i<O <e<Y<1<< <<y Ƞ<Р< ؠ< <<5<<a<(<<,<Z <t(< 0<#8< @<fH<YP<X<`<h<p<x< <6 < <<. <^<<<~< ȡ<С<ء<<@<<<8 <<<0<N < (< 0<t 8<I @<^ H< P<[X<`<h<lp<@x< < <w <<<<U<< <\Ȣ<Z Т< آ<]<< << <<<<Q <(<0< 8<J@< H< P<X<`< h< p<x<,< <_<#<<<a<<<`ȣ<У<`أ<j <g<<< <1<<4 <a <](<0<q8<@< H<P<mX< `<h<&p<x<B<<<Q <<< <<< Ȥ<u Ф<? ؤ<< <<<!<? < <v <@ <(<0<y 8< @<H<N P<X< `<h<p<x<<Y <c<<b<e<< <V< ȥ<Х<إ<;< < <m <<1</<c <c <y (< 0<8<^@< H<dP<X<`<h<^p<2 x<<< <O<b <<i< << Ȧ<# Ц<ئ<-<} <q<f<<< <| < <(<0<78<&@<H<g P<X< `<h<p< x<g< < <<<Q<I<<<ȧ<Ч<hا<<{ <T<<6<&<<< <(<_0< 8<D@<pH<MP<X<w`<Uh<p<F x<< <Q<<< < <&<f<Ȩ< Ш< ب<<<+<<{<< <~ < <%(<0<8<@<xH<P< X<`<Vh<%p<% x<<|<.<u< < <_<<<ȩ<jЩ<ة<< < <E<< <k<< <(<l0<8<@<H<P<X<`<h<p<x< <<r <y<< <_ <2<7<Ȫ<PЪ<ت< < <6 <}< << <r<7 < (<0<)8< @<EH<y P<X< `< h< p<x<<<<E<<<x<x <w<m ȫ<Ы< ث<'<<<x<< <n<<g <(<0<k8<4@<H<P<X<`<xh< p< x<<<w<<o< <<<p<qȬ<F Ь< ج<<i <<E <,<=<<,<w <(< 0<8<" @<rH<P<X<q`<sh<7p< x<T < <<I<< <&<b <d<>ȭ<Э<ح<<S<}< <<< < <, <t(<+0< 8< @<nH< P<X<p`<h<3p<vx<^<<<<u<v< <<z<Ȯ<QЮ<خ<C<N< << <<U <D<~ <(<0<J8<@<H<P<X<`<h<p<x<<x<</ <0<< <<!<yȯ<Я< د<b< <<&<< <-<< <(< 0<T 8<}@<6H<6 P<LX<z`<h<B p<x<p <K<T< <{<<Q <~<<Ȱ<|а< ذ<<]<< <<<<C<2 <(<^0<A8<E@<H<} P< X< `<h<<p<x<<? <<C<}<_<<i<<~ȱ<б<Kر<<L<< <<u<< <- <(<0<8<K@< H<P<X<`<S h<p<x<<<k <<<<><<<Ȳ<в<8ز< <<V<~<<<<H<  <(<0<8<@<Q H<P<PX< `<h<'p<x<< <o<< <s << <<ȳ<г<س< < <<<!< <]<.<@ <(<0<8< @<H<P<z X<`<h< p<x<<<<<S<q <<; <<ȴ<( д< ش<'<<<n<< <<" < <(<0<8<@<H<P<X<"`<h<p<HH5j3%l3@%j3h%b3h%Z3h%R3h%J3h%B3h%:3h%23hp%*3h`%"3h P%3h @%3h 0% 3h %3h %3h%3h%3h%3h%3h%3h%3h%3h%3h%3hp%3h`%3hP%3h@%3h0%3h %3h%z3h%r3h%j3h %b3h!%Z3h"%R3h#%J3h$%B3h%%:3h&%23h'p%*3h(`%"3h)P%3h*@%3h+0% 3h, %3h-%3h.%3h/%3h0%3h1%3h2%3h3%3h4%3h5%3h6%3h7p%3h8`%3h9P%3h:@%3h;0%3h< %3h=%z3h>%r3h?%j3h@%b3hA%Z3hB%R3hC%J3hD%B3hE%:3hF%23hGp%*3hH`%"3hIP%3hJ@%3hK0% 3hL %3hM%3hN%3hO%3hP%3hQ%3hR%3hS%3hT%3hU%3hV%3hWp%3hX`%3hYP%3hZ@%3h[0%3h\ %3h]%z3h^%r3h_%j3h`%b3ha%Z3hb%R3hc%J3hd%B3he%:3hf%23hgp%*3hh`%"3hiP%3hj@%3hk0% 3hl %3hm%3hn%3ho%3hp%3hq%3hr%3hs%3ht%3hu%3hv%3hwp%3hx`%3hyP%3hz@%3h{0%3h| %3h}%z3h~%r3h%j3h%b3h%Z3h%R3h%J3h%B3h%:3h%23hp%*3h`%"3hP%3h@%3h0% 3h %3h%3h%3h%3h%3h%3h%3h%3h%3h%3h%3hp%3h`%3hP%3h@%3h0%3h %3h%z3h%r3h%j3h%b3h%Z3h%R3h%J3h%B3h%:3h%23hp%*3h`%"3hP%3h@%3h0% 3h %3h%3h%3h%3h%3h%3h%3h%3h%3h%3h%3hp%3h`%3hP%3h@%3h0%3h %3h%z3h%r3h%j3h%b3h%Z3h%R3h%J3h%B3h%:3h%23hp%*3h`%"3hP%3h@%3h0% 3h %3h%3h%3h%3h%3h%3h%3h%3h%3h%3h%3hp%3h`%3hP%3h@%3h0%3h %3h%z3h%r3h%j3h%b3h%Z3h%R3h%J3h%B3h%:3h%23hp%*3h`%"3hP%3h@%3h0% 3h %3h%3h%3h%3h%3h%3h%3h%3h%3h%3h%3hp%3h`%3hP%3h@%3h0%3h %3h%z3h%r3h%j3h%b3h%Z3h%R3h%J3h%B3h%:3h%23hp%*3h`%"3h P%3h @%3h 0% 3h  %3h %3h%3h%3h%3h%3h%3h%3h%3h%3h%3hp%3h`%3hP%3h@%3h0%3h %3h%z3h%r3h%j3h %b3h!%Z3h"%R3h#%J3h$%B3h%%:3h&%23h'p%*3h(`%"3h)P%3h*@%3h+0% 3h, %3h-%3h.%3h/%3h0%3h1%3h2%3h3%3h4%3h5%3h6%3h7p%3h8`%3h9P%3h:@%3h;0%3h< %3h=%z3h>%r3h?%j3h@%b3hA%Z3hB%R3hC%J3hD%B3hE%:3hF%23hGp%*3hH`%"3hIP%3hJ@%3hK0% 3hL %3hM%3hN%3hO%3hP%3hQ%3hR%3hS%3hT%3hU%3hV%3hWp%3hX`%3hYP%3hZ@%3h[0%3h\ %3h]%z3h^%r3h_%j3h`%b3ha%Z3hb%R3hc%J3hd%B3he%:3hf%23hgp%*3hh`%"3hiP%3hj@%3hk0% 3hl %3hm%3hn%3ho%3hp%3hq%3hr%3hs%3ht%3hu%3hv%3hwp%3hx`%3hyP%3hz@%3h{0%3h| %3h}%z3h~%r3h%j3h%b3h%Z3h%R3h%J3h%B3h%:3h%23hp%*3h`%"3hP%3h@%3h0% 3h %3h%3h%3h%3h%3h%3h%3h%3h%3h%3h%3hp%3h`%3hP%3h@%3h0%3h %3h%z3h%r3h%j3h%b3h%Z3h%R3h%J3h%B3h%:3h%23hp%*3h`%"3hP%3h@%3h0% 3h %3h%3h%3h%3h%3h%3h%3h%3h%3h%3h%3hp%3h`%3hP%3h@%3h0%3h %3h%z3h%r3h%j3h%b3h%Z3h%R3h%J3h%B3h%:3h%23hp%*3h`%"3hP%3h@%3h0% 3h %3h%3h%3h%3h%3h%3h%3h%3h%3h%3h%3hp%3h`%3hP%3h@%3h0%3h %3h%z3h%r3h%j3h%b3h%Z3h%R3h%J3h%B3h%:3h%23hp%*3h`%"3hP%3h@%3h0% 3h %3h%3h%3h%3h%3h%3h%3h%3h%3h%3h%3hp%3h`%3hP%3h@%3h0%3h %3h%z3h%r3h%j3h%b3h%Z3h%R3h%J3h%B3h%:3h%23hp%*3h`%"3h P%3h @%3h 0% 3h  %3h %3h%3h%3h%3h%3h%3h%3h%3h%3h%3hp%3h`%3hP%3h@%3h0%3h %3h%z3h%r3h%j3h %b3h!%Z3h"%R3h#%J3h$%B3h%%:3h&%23h'p%*3h(`%"3h)P%3h*@%3h+0% 3h, %3h-% 3h.% 3h/% 3h0% 3h1% 3h2% 3h3% 3h4% 3h5% 3h6% 3h7p% 3h8`% 3h9P% 3h:@% 3h;0% 3h< % 3h=%z 3h>%r 3h?%j 3h@%b 3hA%Z 3hB%R 3hC%J 3hD%B 3hE%: 3hF%2 3hGp%* 3hH`%" 3hIP% 3hJ@% 3hK0% 3hL % 3hM% 3hN% 3hO% 3hP% 3hQ% 3hR% 3hS% 3hT% 3hU% 3hV% 3hWp% 3hX`% 3hYP% 3hZ@% 3h[0% 3h\ % 3h]%z 3h^%r 3h_%j 3h`%b 3ha%Z 3hb%R 3hc%J 3hd%B 3he%: 3hf%2 3hgp%* 3hh`%" 3hiP% 3hj@% 3hk0% 3hl % 3hm% 3hn% 3ho% 3hp% 3hq% 3hr% 3hs% 3ht% 3hu% 3hv% 3hwp% 3hx`% 3hyP% 3hz@% 3h{0% 3h| % 3h}%z 3h~%r 3h%j 3h%b 3h%Z 3h%R 3h%J 3h%B 3h%: 3h%2 3hp%* 3h`%" 3hP% 3h@% 3h0% 3h % 3h% 3h% 3h% 3h% 3h% 3h% 3h% 3h% 3h% 3h% 3hp% 3h`% 3hP% 3h@% 3h0% 3h % 3h%z 3h%r 3h%j 3h%b 3h%Z 3h%R 3h%J 3h%B 3h%: 3h%2 3hp%* 3h`%" 3hP% 3h@% 3h0% 3h % 3h% 3h% 3h% 3h% 3h% 3h% 3h% 3h% 3h% 3h% 3hp% 3h`% 3hP% 3h@% 3h0% 3h % 3h%z 3h%r 3h%j 3h%b 3h%Z 3h%R 3h%J 3h%B 3h%: 3h%2 3hp%* 3h`%" 3hP% 3h@% 3h0% 3h % 3h%3h%3h%3h%3h%3h%3h%3h%3h%3h%3hp%3h`%3hP%3h@%3h0%3h %3h%z3h%r3h%j3h%b3h%Z3h%R3h%J3h%B3h%:3h%23hp%*3h`%"3hP%3h@%3h0% 3h %3h%3h%3h%3h%3h%3h%3h%3h%3h%3h%3hp%3h`%3hP%3h@%3h0%3h %3h%z3h%r3h%j3h%b3h%Z3h%R3h%J3h%B3h%:3h%23hp%*3h`%"3h P%3h @%3h 0% 3h  %3h %3h%3h%3h%3h%3h%3h%3h%3h%3h%3hp%3h`%3hP%3h@%3h0%3h %3h%z3h%r3h%j3h %b3h!%Z3h"%R3h#%J3h$%B3h%%:3h&%23h'p%*3h(`%"3h)P%3h*@%3h+0% 3h, %3h-%3h.%3h/%3h0%3h1%3h2%3h3%3h4%3h5%3h6%3h7p%3h8`%3h9P%3h:@%3h;0%3h< %3h=%z3h>%r3h?%j3h@%b3hA%Z3hB%R3hC%J3hD%B3hE%:3hF%23hGp%*3hH`%"3hIP%3hJ@%3hK0% 3hL %3hM%3hN%3hO%3hP%3hQ%3hR%3hS%3hT%3hU%3hV%3hWp%3hX`%3hYP%3hZ@%3h[0%3h\ %3h]%z3h^%r3h_%j3h`%b3ha%Z3hb%R3hc%J3hd%B3he%:3hf%23hgp%*3hh`%"3hiP%3hj@%3hk0% 3hl %3hm%3hn%3ho%3hp%3hq%3hr%3hs%3ht%3hu%3hv%3hwp%3hx`%3hyP%3hz@%3h{0%3h| %3h}%z3h~%r3h%j3h%b3h%Z3h%R3h%J3h%B3h%:3h%23hp%*3h`%"3hP%3h@%3h0% 3h %3h%3h%3h%3h%3h%3h%3h%3h%3h%3h%3hp%3h`%3hP%3h@%3h0%3h %3h%z3h%r3h%j3h%b3h%Z3h%R3h%J3h%B3h%:3h%23hp%*3h`%"3hP%3h@%3h0% 3h %3h%3h%3h%3h%3h%3h%3h%3h%3h%3h%3hp%3h`%3hP%3h@%3h0%3h %3h%z3h%r3h%j3h%b3h%Z3h%R3h%J3h%B3h%:3h%23hp%*3h`%"3hP%3h@%3h0% 3h %3h%3h%3h%3h%3h%3h%3h%3h%3h%3h%3hp%3h`%3hP%3h@%3h0%3h %3h%z3h%r3h%j3h%b3h%Z3h%R3h%J3h%B3h%:3h%23hp%*3h`%"3hP%3h@%3h0% 3h %3h%2h%2h%2h%2h%2h%2h%2h%2h%2h%2hp%2h`%2hP%2h@%2h0%2h %2h%z2h%r2h%j2h%b2hп%Z2h%R2h鰿%J2h頿%B2h鐿%:2h逿%22hp%*2h`%"2h P%2h @%2h 0% 2h  %2h %2h%2h%2h%2hо%2h%2h鰾%2h頾%2h鐾%2h逾%2hp%2h`%2hP%2h@%2h0%2h %2h%z2h%r2h%j2h %b2h!н%Z2h"%R2h#鰽%J2h$頽%B2h%鐽%:2h&逽%22h'p%*2h(`%"2h)P%2h*@%2h+0% 2h, %2h-%2h.%2h/%2h0%2h1м%2h2%2h3鰼%2h4頼%2h5鐼%2h6逼%2h7p%2h8`%2h9P%2h:@%2h;0%2h< %2h=%z2h>%r2h?%j2h@%b2hAл%Z2hB%R2hC鰻%J2hD頻%B2hE鐻%:2hF逻%22hGp%*2hH`%"2hIP%2hJ@%2hK0% 2hL %2hM%2hN%2hO%2hP%2hQк%2hR%2hS鰺%2hT頺%2hU鐺%2hV逺%2hWp%2hX`%2hYP%2hZ@%2h[0%2h\ %2h]%z2h^%r2h_%j2h`%b2haй%Z2hb%R2hc鰹%J2hd頹%B2he鐹%:2hf逹%22hgp%*2hh`%"2hiP%2hj@%2hk0% 2hl %2hm%2hn%2ho%2hp%2hqи%2hr%2hs鰸%2ht頸%2hu鐸%2hv逸%2hwp%2hx`%2hyP%2hz@%2h{0%2h| %2h}%z2h~%r2h%j2h%b2hз%Z2h%R2h鰷%J2h頷%B2h鐷%:2h逷%22hp%*2h`%"2hP%2h@%2h0% 2h %2h%2h%2h%2h%2hж%2h%2h鰶%2h頶%2h鐶%2h逶%2hp%2h`%2hP%2h@%2h0%2h %2h%z2h%r2h%j2h%b2hе%Z2h%R2h鰵%J2h頵%B2h鐵%:2h逵%22hp%*2h`%"2hP%2h@%2h0% 2h %2h%2h%2h%2h%2hд%2h%2h鰴%2h頴%2h鐴%2h逴%2hp%2h`%2hP%2h@%2h0%2h %2h%z2h%r2h%j2h%b2hг%Z2h%R2h鰳%J2h頳%B2h鐳%:2h逳%22hp%*2h`%"2hP%2h@%2h0% 2h %2h%2h%2h%2h%2hв%2h%2h鰲%2h頲%2h鐲%2h進%2hp%2h`%2hP%2h@%2h0%2h %2h%z2h%r2h%j2h%b2hб%Z2h%R2h鰱%J2h頱%B2h鐱%:2h週%22hp%*2h`%"2hP%2h@%2h0% 2h %2h%2h%2h%2h%2hа%2h%2h鰰%2h頰%2h鐰%2h逰%2hp%2h`%2hP%2h@%2h0%2h %2h%z2h%r2h%j2h%b2hЯ%Z2h%R2h鰯%J2h頯%B2h鐯%:2h逯%22hp%*2h`%"2h P%2h @%2h 0% 2h  %2h %2h%2h%2h%2hЮ%2h%2h鰮%2h頮%2h鐮%2h逮%2hp%2h`%2hP%2h@%2h0%2h %2h%z2h%r2h%j2h %b2h!Э%Z2h"%R2h#鰭%J2h$頭%B2h%鐭%:2h&逭%22h'p%*2h(`%"2h)P%2h*@%2h+0% 2h, %2h-%2h.%2h/%2h0%2h1Ь%2h2%2h3鰬%2h4頬%2h5鐬%2h6逬%2h7p%2h8`%2h9P%2h:@%2h;0%2h< %2h=%z2h>%r2h?%j2h@%b2hAЫ%Z2hB%R2hC鰫%J2hD頫%B2hE鐫%:2hF逫%22hGp%*2hH`%"2hIP%2hJ@%2hK0% 2hL %2hM%2hN%2hO%2hP%2hQЪ%2hR%2hS鰪%2hT頪%2hU鐪%2hV逪%2hWp%2hX`%2hYP%2hZ@%2h[0%2h\ %2h]%z2h^%r2h_%j2h`%b2haЩ%Z2hb%R2hc鰩%J2hd頩%B2he鐩%:2hf逩%22hgp%*2hh`%"2hiP%2hj@%2hk0% 2hl %2hm%2hn%2ho%2hp%2hqШ%2hr%2hs鰨%2ht頨%2hu鐨%2hv逨%2hwp%2hx`%2hyP%2hz@%2h{0%2h| %2h}%z2h~%r2h%j2h%b2hЧ%Z2h%R2h鰧%J2h頧%B2h鐧%:2h逧%22hp%*2h`%"2hP%2h@%2h0% 2h %2h%2h%2h%2h%2hЦ%2h%2h鰦%2h頦%2h鐦%2h逦%2hp%2h`%2hP%2h@%2h0%2h %2h%z2h%r2h%j2h%b2hХ%Z2h%R2h鰥%J2h頥%B2h鐥%:2h逥%22hp%*2h`%"2hP%2h@%2h0% 2h %2h%2h%2h%2h%2hФ%2h%2h鰤%2h頤%2h鐤%2h逤%2hp%2h`%2hP%2h@%2h0%2h %2h%z2h%r2h%j2h%b2hУ%Z2h%R2h鰣%J2h頣%B2h鐣%:2h連%22hp%*2h`%"2hP%2h@%2h0% 2h %2h%2h%2h%2h%2hТ%2h%2h鰢%2h頢%2h鐢%2h逢%2hp%2h`%2hP%2h@%2h0%2h %2h%z2h%r2h%j2h%b2hС%Z2h%R2h鰡%J2h頡%B2h鐡%:2h逡%22hp%*2h`%"2hP%2h@%2h0% 2h %2h%2h%2h%2h%2hР%2h%2h鰠%2h頠%2h鐠%2h造%2hp%2h`%2hP%2h@%2h0%2h %2h%z2h%r2h%j2h%b2hП%Z2h%R2h鰟%J2h頟%B2h鐟%:2h速%22hp%*2h`%"2h P%2h @%2h 0% 2h  %2h %2h%2h%2h%2hО%2h%2h鰞%2h頞%2h鐞%2h逞%2hp%2h`%2hP%2h@%2h0%2h %2h%z2h%r2h%j2h %b2h!Н%Z2h"%R2h#鰝%J2h$頝%B2h%鐝%:2h&逝%22h'p%*2h(`%"2h)P%2h*@%2h+0% 2h, %2h-%2h.%2h/%2h0%2h1М%2h2%2h3鰜%2h4頜%2h5鐜%2h6逜%2h7p%2h8`%2h9P%2h:@%2h;0%2h< %2h=%z2h>%r2h?%j2h@%b2hAЛ%Z2hB%R2hC鰛%J2hD頛%B2hE鐛%:2hF逛%22hGp%*2hH`%"2hIP%2hJ@%2hK0% 2hL %2hM%2hN%2hO%2hP%2hQК%2hR%2hS鰚%2hT頚%2hU鐚%2hV通%2hWp%2hX`%2hYP%2hZ@%2h[0%2h\ %2h]%z2h^%r2h_%j2h`%b2haЙ%Z2hb%R2hc鰙%J2hd頙%B2he鐙%:2hf這%22hgp%*2hh`%"2hiP%2hj@%2hk0% 2hl %2hm%2hn%2ho%2hp%2hqИ%2hr%2hs鰘%2ht領%2hu鐘%2hv逘%2hwp%2hx`%2hyP%2hz@%2h{0%2h| %2h}%z2h~%r2h%j2h%b2hЗ%Z2h%R2h鰗%J2h頗%B2h鐗%:2h逗%22hp%*2h`%"2hP%2h@%2h0% 2h %2h%2h%2h%2h%2hЖ%2h%2h鰖%2h頖%2h鐖%2h逖%2hp%2h`%2hP%2h@%2h0%2h %2h%z2h%r2h%j2h%b2hЕ%Z2h%R2h鰕%J2h頕%B2h鐕%:2h逕%22hp%*2h`%"2hP%2h@%2h0% 2h %2h%2h%2h%2h%2hД%2h%2h鰔%2h頔%2h鐔%2h途%2hp%2h`%2hP%2h@%2h0%2h %2h%z2h%r2h%j2h%b2hГ%Z2h%R2h鰓%J2h頓%B2h鐓%:2h逓%22hp%*2h`%"2hP%2h@%2h0% 2h %2h%2h%2h%2h%2hВ%2h%2h鰒%2h頒%2h鐒%2h递%2hp%2h`%2hP%2h@%2h0%2h %2h%z2h%r2h%j2h%b2hБ%Z2h%R2h鰑%J2h頑%B2h鐑%:2h逑%22hp%*2h`%"2hP%2h@%2h0% 2h %2h%2h%2h%2h%2hА%2h%2h鰐%2h預%2h鐐%2h逐%2hp%2h`%2hP%2h@%2h0%2h %2h%z2h%r2h%j2h%b2hЏ%Z2h%R2h鰏%J2h頏%B2h鐏%:2h透%22hp%*2h`%"2h P%2h @%2h 0% 2h  %2h %2h%2h%2h%2hЎ%2h%2h鰎%2h頎%2h鐎%2h逎%2hp%2h`%2hP%2h@%2h0%2h %2h%z2h%r2h%j2h %b2h!Ѝ%Z2h"%R2h#鰍%J2h$頍%B2h%鐍%:2h&逍%22h'p%*2h(`%"2h)P%2h*@%2h+0% 2h, %2h-%2h.%2h/%2h0%2h1Ќ%2h2%2h3鰌%2h4頌%2h5鐌%2h6逌%2h7p%2h8`%2h9P%2h:@%2h;0%2h< %2h=%z2h>%r2h?%j2h@%b2hAЋ%Z2hB%R2hC鰋%J2hD頋%B2hE鐋%:2hF逋%22hGp%*2hH`%"2hIP%2hJ@%2hK0% 2hL %2hM%2hN%2hO%2hP%2hQЊ%2hR%2hS鰊%2hT頊%2hU鐊%2hV逊%2hWp%2hX`%2hYP%2hZ@%2h[0%2h\ %2h]%z2h^%r2h_%j2h`%b2haЉ%Z2hb%R2hc鰉%J2hd頉%B2he鐉%:2hf选%22hgp%*2hh`%"2hiP%2hj@%2hk0% 2hl %2hm%2hn%2ho%2hp%2hqЈ%2hr%2hs鰈%2ht須%2hu鐈%2hv逈%2hwp%2hx`%2hyP%2hz@%2h{0%2h| %2h}%z2h~%r2h%j2h%b2hЇ%Z2h%R2h鰇%J2h頇%B2h鐇%:2h逇%22hp%*2h`%"2hP%2h@%2h0% 2h %2h%2h%2h%2h%2hІ%2h%2h鰆%2h順%2h鐆%2h逆%2hp%2h`%2hP%2h@%2h0%2h %2h%z2h%r2h%j2h%b2hЅ%Z2h%R2h鰅%J2h項%B2h鐅%:2h逅%22hp%*2h`%"2hP%2h@%2h0% 2h %2h%2h%2h%2h%2hЄ%2h%2h鰄%2h頄%2h鐄%2h逄%2hp%2h`%2hP%2h@%2h0%2h %2h%z2h%r2h%j2h%b2hЃ%Z2h%R2h鰃%J2h頃%B2h鐃%:2h逃%22hp%*2h`%"2hP%2h@%2h0% 2h %2h%2h%2h%2h%2hЂ%2h%2h鰂%2h頂%2h鐂%2h适%2hp%2h`%2hP%2h@%2h0%2h %2h%z2h%r2h%j2h%b2hЁ%Z2h%R2h鰁%J2h頁%B2h鐁%:2h送%22hp%*2h`%"2hP%2h@%2h0% 2h %2h%2h%2h%2h%2hЀ%2h%2h鰀%2h頀%2h鐀%2h退%2hp%2h`%2hP%2h@%2h0%2h %2h%z2h%r2h%j2h%b2h%Z2h%R2h%J2h%B2h%:2h%22hp%*2h`%"2h P%2h @%2h 0% 2h  %2h %2h%2h~%2h~%2h~%2h~%2h~%2h~%2h~%2h~%2hp~%2h`~%2hP~%2h@~%2h0~%2h ~%2h~%z2h~%r2h}%j2h }%b2h!}%Z2h"}%R2h#}%J2h$}%B2h%}%:2h&}%22h'p}%*2h(`}%"2h)P}%2h*@}%2h+0}% 2h, }%2h-}%2h.}%2h/|%2h0|%2h1|%2h2|%2h3|%2h4|%2h5|%2h6|%2h7p|%2h8`|%2h9P|%2h:@|%2h;0|%2h< |%2h=|%z2h>|%r2h?{%j2h@{%b2hA{%Z2hB{%R2hC{%J2hD{%B2hE{%:2hF{%22hGp{%*2hH`{%"2hIP{%2hJ@{%2hK0{% 2hL {%2hM{%2hN{%2hOz%2hPz%2hQz%2hRz%2hSz%2hTz%2hUz%2hVz%2hWpz%2hX`z%2hYPz%2hZ@z%2h[0z%2h\ z%2h]z%z2h^z%r2h_y%j2h`y%b2hay%Z2hby%R2hcy%J2hdy%B2hey%:2hfy%22hgpy%*2hh`y%"2hiPy%2hj@y%2hk0y% 2hl y%2hmy%2hny%2hox%2hpx%2hqx%2hrx%2hsx%2htx%2hux%2hvx%2hwpx%2hx`x%2hyPx%2hz@xPHHxw ZPHHxw ZPHHxw ZPHHxw ZPHHxw ZPHHxw tZPHHxw _ZÐH y PH5}x H=\ 7 H e PH5]x H=[ 7PHHxw  ZÐHSHtH?HtPH[G[PHHxw ZPHHxw ZÐH PH5# H=Z jPHHxw ZÐH M PH5m H= X4HSHtHHt譊H[養[PHHxw /ZPHHxw ZPHHxw ZPHHxw ZPHHxw ZÐH PH5A H=Y 舋HSHtH?HtH[[PHHxw ZPHHxw oZÐH հ PH5՚ H=fY tH U PH5 H=FY PHHxw ZPHHxw ZPHHxw ZPHHxw ZHSHtH?Ht"H[[ÐHSHtH?HtH[[ÐH PH5 H=g DHSHtH?Ht辈H[鵈[PHHxw @ZPHHxw +ZPHHxw ZPHHxw ZPHHxw ZPHHxw ZPHHxw ZPHHxw ZÐH 3PH5 H=mX 7ZPHHxw wZÐH PH5e H=$HSHt?H2HHHxH@HHHtHPH[l[H PH5H=h躈H PH5H=W 蚈HSHtH?HtH[ [PHHxw ZPHHxw ZÐHSHtH?HtȆH[鿆[ÐH -PH5u$H=VV HSHtH?Ht膆H[}[ÐHSHt HHtHPHCH[Q[ÐH 76PH5$H=U |螇H w:PH5#H=U t~H 9PH5#H=U ^H 8PH5#H=U >ATHIUStDHo H_H9tH;H蹅I|$Ht蘅I<$Ht芅[]LA\~[]A\ÐATHIUStDHo H_H9tH;HcI|$HtBI<$Ht4[]LA\([]A\ÐH K@PH5 H=U 7rPHHxw ZPHHxw zZPHHxw eZÐHSHt蔫H[髄[ÐHSHtH?Ht蒄H[鉄[ÐHSHtH?HtpH[g[ÐHSHtHh肕HZpH[A[PHHxw ZHSHtH?HtH[ [PHHxw Z@H==2H耉H=i2HJ 2H52HBfH1 2H5*2H=oH"H 2H52H=nH2H52H=nH2H52H=nHГH=2HH=Ɉ2H2H52H颓fH=2H谈H=2Hz2H52HrfH=2H耈H=i2HJ2H5g2HBfH=Y2HPH=92H2H5;2HfH=-2H H= 2H2H52HfH=2HH=ه2H2H52H鲒fH=2HH=2H2H52H邒fH=2H萇H=y2HZ2H52HRfH=}2H`H=I2H*2H5_2H"fH=Q2H0H=2H2H532HfH=%2HH=2H2H52H‘fH=2HІH=2H2H52H钑fH=2H蠆H=2Hj2H52HbfH=2HpH=Y2H:2H52H2fH=u2H@H=)2H 2H5W2HfH=I2HH=2H2H5+2HҐfH=2HH=Ʌ2H2H52H颐fH=2H谅H=2Hz2H52HrfH=2H者H=i2HJ2H52HBfH=2HPH=92H2H5{2HfH=m2H H= 2H2H5O2HfH2Z @@fH=A2HЄH=2H2H5#2H钏fH=2Hz2H5{2vfDH=2HZ2H5c2VfDH=2H`H=I2H*2H52&H52H=(2H 2HH=2HH=2H2H5k2HҎfH=]2HH=Ƀ2H2H5?2H颎fH=2H调H=2Hz2H5c2HrfH=U2H考H=i2HJ2H572HBfH=)2HPH=92H2H5 2HfH=2H H= 2H2H52HfH=2HH=ق2H2H52H鲍fH=2HH=2H2H52H邍fH=y2H萂H=y2HZ2H5[2HRfH=M2H`H=I2H*2H5/2H"fH=!2H0H=2H2H52HfH=2HH=2H2H52HŒfH=2HЁH=2H2H52H钌fH=2H蠁H=2Hj2H52HbfH=q2HpH=Y2H:2H5S2H2fH=E2H@H=)2H 2H5'2HfH=2HH=2H2H52HҋfH=2HH=ɀ2H2H52H颋fH=2H谀H=2Hz2H52HrfH=2H耀H=i2HJ2H5w2HBfH=i2HPH=92H2H5K2HfH==2H H= 2H2H52HfH=2HH=2H2H52H鲊fH=2HH=2H2H52H邊fH=2HH=y2HZ2H52HRfH=2H`H=I2H*2H5o2H"fH=a2H0H=2H2H5C2HfH=52HH=~2H2H52H‰fH= 2H~H=~2H2H52H钉fH=2H~H=~2Hj2H52HbfH=2Hp~H=Y~2H:2H52H2fH=2H@~H=)~2H 2H5g2HfH=Y2H~H=}2H2H5;2H҈fH=-2H}H=}2H2H52H颈fH=2H}H=}2Hz2H52HrfH=2H}H=i}2HJ2H52HBfH=2HP}H=9}2H2H52HfH=}2H }H= }2H2H5_2HfH=Q2H|H=|2H2H532H鲇fH=%2H|H=|2H2H52H邇fH=2H|H=y|2HZ2H52HRfH=2H`|H=I|2H*2H52H"fH=2H0|H=|2H2H52HfH=2H|H={2H2H52H†fH=q2H{H={2H2H5S2H钆fH=E2H{H={2Hj2H5'2HbfH=2Hp{H=Y{2H:2H52H2fH=2H@{H=){2H 2H52HfH=2H{H=z2H2H52H҅fH=2HzH=z2H2H5w2H颅fH=i2HzH=z2Hz2H5K2HrfH=Q2HzH=iz2HJ2H532HBfH=%2HPzH=9z2H2H52HfH=2H zH= z2H2H52HfH=2HyH=y2H2H52H鲄fH=2HyH=y2H2H52H還fH=u2HyH=yy2HZ2H5W2HRfH=I2H`yH=Iy2H*2H5+2H"fH=2H0yH=y2H2H52HfH=2HyH=x2H2H52HƒfH=2HxH=x2H2H52H钃fH=2HxH=x2Hj2H5{2HbfH=y2HpxH=Yx2H:2H5[2H2fH=M2H@xH=)x2H 2H5/2HfH=!2HxH=w2H2H52H҂fH=2HwH=w2H2H52H颂fH=2HwH=w2Hz2H52vHo{2fW CM @HHH=2H`wH=Iw2H*2H5w2H"fH=i2H0wH=w2H 2H5K2HfH==2HwH=v2H 2H52HfH=2HvH=v2H 2H52H钁fH=2HvH=v2Hj 2H52HbfH=2HpvH=Yv2H: 2H52H2fH=2H@vH=)v2H 2H5o2HfH=a2HvH=u2H 2H5C2HҀfH=52HuH=u2H 2H52H颀fH= 2HuH=u2Hz 2H52HrfH=2HuH=iu2HJ 2H52HBfH=2HPuH=9u2H 2H52HfH=2H uH= u2H 2H5g2HfH=Y2HtH=t2H 2H5;2HfH=-2HtH=t2H 2H52HfH=2HtH=yt2HZ 2H52HRfH=2H`tH=It2H* 2H52H"fH=2H0tH=t2H 2H52H~fH=}2HtH=s2H 2H5_2H~fH=Q2HsH=s2H 2H532H~fH=%2HsH=s2Hj 2H52Hb~fH=2HpsH=Ys2H: 2H52H2~fH=2H@sH=)s2H 2H52H~fH=2HsH=r2H 2H52H}fH=u2HrH=r2H 2H5W2H}fH=I2HrH=r2Hz 2H5+2Hr}fH=2HrH=ir2HJ 2H52HB}fH=2HPrH=9r2H 2H5ӿ2H}fH=ſ2H rH= r2H2H52H|fH=2HqH=q2H2H5{2H|fH=m2HqH=q2H2H5O2H|fH=A2HqH=yq2HZ2H5#2HR|fH=2H`qH=Iq2H*2H52H"|fH=2H0qH=q2H2H5˾2H{fH=2HqH=p2H2H52H{fH=2HpH=p2H2H5s2H{fH=e2HpH=p2Hj2H5G2Hb{fH=92HppH=Yp2H:2H52H2{fH= 2H@pH=)p2H 2H52H{fH=2HpH=o2H2H5ý2HzfH=2HoH=o2H2H52HzfH=2HoH=o2Hz2H5k2HrzfH=]2HoH=io2HJ2H5?2HBzfH=12HPoH=9o2H2H52HzfH=2H oH= o2H2H52HyfH=ټ2HnH=n2H2H52HyfH=2HnH=n2H2H52HyfH=2HnH=yn2HZ2H5c2HRyfH=U2H`nH=In2H*2H572H"yfH=)2H0nH=n2H2H5 2HxfH=2HnH=m2H2H5߻2HxfH=ѻ2HmH=m2H2H52HxfH=2HmH=m2Hj2H52HbxfH=y2HpmH=Ym2H:2H5[2H2xfH=M2H@mH=)m2H 2H5/2HxfH=!2HmH=l2H2H52wH5m2H=Hr2H2HwH=պ2HlH=l2H2H52HwfH=2HlH=yl2HZ2H52HRwfH=}2H`lH=Il2H*2H5_2H"wfH=Q2H0lH=l2H2H532HvfH=%2HlH=k2H2H52HvfH=2HkH=k2H2H5۹2HvfH=͹2HkH=k2Hj2H52HbvfH=2HpkH=Yk2H:2H52H2vfH=u2H@kH=)k2H 2H5W2HvfH=I2HkH=j2H2H5+2HufH=2HjH=j2H2H52HufH=2HjH=j2Hz2H5Ӹ2HrufH=Ÿ2HjH=ij2HJ2H52HBufH=2HPjH=9j2H2H5{2HufH=m2H jH= j2H2H5O2HtfH=A2HiH=i2H2H5#2HtfH=)2HiH=i2H2H5 2HtfH=2HiH=yi2HZ2H5߷2HRtfH=ѷ2H`iH=Ii2H*2H52H"tfH=2H0iH=i2H1H52HsfH=y2HiH=h2H1H5[2HsfH=M2HhH=h2H1H5/2HsfH=!2HhH=h2Hj1H52HbsfH=2HphH=Yh2H:1H5׶2H2sfH=ɶ2H@hH=)h2H 1H52HsfH=2HhH=g2H1H52HrfH=q2HgH=g2H1H5S2HrfH=E2HgH=g2Hz1H5'2HrrfH=2HgH=ig2HJ1H52HBrfH=2HPgH=9g2H1H5ϵ2HrfH=2H gH= g2H1H52HqfH=2HfH=f2H1H5w2HqfH=i2HfH=f2H1H5K2HqfH==2HfH=yf2HZ1H52HRqfH=2H`fH=If2H*1H52H"qfH=2H0fH=f2H1H5Ǵ2HpfH=ɴ2HfH=e2H1H52HpfH=2HeH=e2H1H52HpfH=q2HeH=e2Hj1H5S2HbpfH=E2HpeH=Ye2H:1H5'2H2pfH=2H@eH=)e2H 1H52HpfH=2HeH=d2H1H5ϳ2HofH=2HdH=d2H1H52HofH=2HdH=d2Hz1H5w2HrofH=i2HdH=id2HJ1H5K2HBofH==2HPdH=9d2H1H52HofH=2H dH= d2H1H52HnfH=2HcH=c2H1H5Dz2HnfH=2HcH=c2H1H52HnfH=2HcH=yc2HZ1H5o2HRnfH=a2H`cH=Ic2H*1H5C2H"nfH=52H0cH=c2H1H52HmfH= 2HcH=b2H1H52HmfH=ݱ2HbH=b2H1H52HmfH=2HbH=b2Hj1H52HbmfH=2HpbH=Yb2H:1H5g2H2mfH=Y2H@bH=)b2H 1H5;2HmfH=-2HbH=a2H1H52HlfH=2HaH=a2H1H52HlfH=հ2HaH=a2Hz1H52HrlfH=2HaH=ia2HJ1H52HBlfH=}2HPaH=9a2H1H5_2HlfH=Q2H aH= a2H1H532HkfH=%2H`H=`2H1H52HkfH=2H`H=`2H1H5ۯ2HkfH=ͯ2H`H=y`2HZ1H52HRkfH=2H``H=I`2H*1H52H"kfH=u2H0`H=`2H1H5W2HjfH=I2H`H=_2H1H5+2HjfH=2H_H=_2H1H52HjfH=2H_H=_2Hj1H5Ӯ2HbjfH=Ů2Hp_H=Y_2H:1H52H2jfH=2H@_H=)_2H 1H5{2HjfH=m2H_H=^2H1H5O2HifH=A2H^H=^2H1H5#2HifH=2H^H=^2Hz1H52HrifH=2H^H=i^2HJ1H5˭2HBifH=2HP^H=9^2H1H52HifH=2H ^H= ^2H1H5s2HhfH=e2H]H=]2H1H5G2HhfH=2H]H=]2H1H5s2HhfHH\2HtHfH 2H=2UH)HHw]HT]2Ht]@H2H=2UH)HHHH?HHu]H]2Ht]H@=2u'H=]2UHt H=1zh]2fffff.H=1t&HO[2HtUH=1H]WKf.H1_2HHÐHHH@fHGÐf.SHH[Vfffff.USH(H11HHvH+HH[]HHfVHfffff.AUIATIUSH(H裿LLHHuH+HH[]A\A]HHVHNfffff.AUIATIUSH(HCLLHHH+HH[]A\A]HHUHfffff.AUIATIUSH(HLLHHNH+HH[]A\A]HHFUH莿fffff.ATIUSH(茾LHHnKH+H[]A\HHTH@ATHoZ2IUHSHH`HtHPI|$PID$`HtHPI|$8ID$PHtTIl$ I\$H9tA@H;HtHRHHH9uI|$Ht[]A\WT[]A\HfDSH角H[.Tfffff.SHH7HAHC[Ðf.SHH7H!HC[Ðf.SHWHHHC[fDfffff.Hi^2HwÐfffff.fffff.HwÐf.7Ðfff.UHwSHH(HeHCHHRD u CH([]ÿHl$ HT$H5N# HHHHg{HD$Ht$Hx4SHeW2H5\2H~HH3H HHD$Ht$HxRؐfUHoSHHH(HeHCHHRD u3HFH([]ÿHl$@HT$H5" HH)HHzHD$Ht$HxkRHV2H5[2H赩HHjHBHHD$Ht$Hx,Rf.UHoSHHH(HBdHCHHRD u3H覹H([]ÿHl$pHT$H5! HHYHHyHD$Ht$HxQHU2H5[2HHH蚟HrHHD$Ht$Hx\Qf.UHoSHHH(HrcHCHHRD u3HƻD$D$H([]ÿHl$蔛HT$H5 HH}HHxHD$Ht$HxPHT2H59Z2H HH辞H薺HHD$Ht$HxPfffff.@weÐf.GeÐf.GfÐf.@wfÐf.HHHHHe@HHcÐ@HGhÐf.GdÐf.HwhÐf.HGpÐf.HwpÐf.HGxÐf.HxVHwxÐf.HwhH@HG Ðf.HHtNffffff.HG(Ðf.HG0Ðf.HV2HHHFHGHFHGHFHGHF HG HF(HG(HF0HG0ÐHV2HHHHGHFHGHFHGHHG HBHG(HBHG0ÐfHHW HwHHY?D$D$HHN HVHw HH_D$D$HfDHHW HwHH9D$D$HHHGHFHGHFHGHHG HBHG(HBHG0ÐHt Hu HG HGH $ PH5 H= uNf.Ht Hu HG HGH T$ PH5 H=Q [Nf.HV H鳐fGD$G(D$D$f.D$1f.D$DÐfffff.GD$G D$D$f.D$1f.D$DÐfffff.HtfHH /# PH5 H= MfDHHw HpHSt HҦH[H f" H5 H=O QMHHG D$GD$D$\D$D$G(L$D$ GD$(D$ \D$(D$0D$0k<D$8D$8HHf.S HH F($F D$FD$FH5 D$LD$H^H5e HH'D$H9H57 HHD$HH5e HH݆$HH5t HH蹆H H[fffff.Ht6DH o PH5W H=OI (KfDÐfff.HGD$fWf.D$w D$HH  H5 H=n 7[Kf.D$D$FD$D$GFD$D$GFD$D$GÐHXT$D$D$$\D$L$D$ $\D$D$(D$ YD$ D$0D$(YD$(D$8D$0XD$8D$@QD$@f.zD$HD$HHXD$@$fGD$D$fffff.GD$D$fffff.GD$D$fffff.D$D$Ðfffff.L$D$D$T$f.D$\$v2GD$L$f.D$w2GD$G@D$GD$f.D$vL$GOf.D$L$T$\$T$\$L$D$[f.BD$F\$D$T$D$L$D$D$ {Mf.FD$T$D$f(D$f(…f}f.D$GD$D$f.D$r]D$D$f.D$rEFD$GD$D$f.D$r!GD$D$f.D$fD1Ðfff.GD$D$D$f.D$Ðf.SHH0D$ $yD$D$f.D$D$vKL$f.D$vCCD$ D$ f.$$vCKL$(f.D$(vCH0[fDD$C$CCH0[fff.FD$L$D$D$z=f.SHH xu7CD$D$D$\D$D$D$H [@HD$D$H [ÐfSHH 3xu7CD$CD$D$\D$D$D$H [HD$D$H [ÐfUHSHHHwt 1HH[]fHwuE$CD$$f.D$wED$D$D$f.D$wED$ CD$(D$ f.D$(wED$0CD$8D$8f.D$0UNQf.D$GL$D$D$f.D$rSD$D$f.D$r;GD$D$f.D$r"GD$D$f.D$1Ð@FD$L$D$D$:gf.fW, GOG[cf.[f. GGÐ1D$D$f.D$z@GD$D$f.D${GD$D$f.D$fff.D$L$D$T$D$GD$GÐfff.SHHH HJ2D$L$HT$HG$L$D$ ] H{  $D$H []@HI2fWfWS HHHHG]H{ fW[fW z]f.SHHĀD$G(e D$GD$D$\D$D$ D$ YD$D$(D$XD$(D$0G L$0D$8GH|$`D$@D$8\D$@D$HD$HYD$D$PD$@XD$PD$XD$X\HD$`HHD$hHCHD$pHCH[fff.SHH`G  $n G(D$$XD$D$D$YD$GD$ G H|$@D$(D$ XD$(D$0YL$0L$8L$D$8[HD$@HHD$HHCHD$PHCH`[D$D$D$f.D$z6u4GD$FD$D$f.D$1f.D$D1Ð@ f.D$D$D$f.D$wND$f.D$wCGD$FD$D$f.D$wD$1f.D$DfDSHwHH oax [fH[W2fDD$D$D$f.D$z&u$GD$FD$D$f.D${1@uGD$FD$D$f.D${1f.D${D$f.D$øu뱐fDHX$D$$\D$D$GD$FD$ D$\D$ D$(D$YD$D$0D$(YD$(D$8D$0XD$8D$@QD$@f.zD$HD$HHXD$@BHw HH?ED$D$Hfffff.D$D$D$\D$D$GD$FD$D$\D$D$D$YD$D$D$YD$D$D$XD$D$D$Ð@HHH1_HÐHHH_Hfff.UHHvSHHH)uH1[]f.HH{ Hu [])fff.USHHHGHHhHPH{HpH{H1HPHHH[]|)fff.HGHÐfffff.USHH8D$ D$ D$fWf.D$ z]u[1KL$(f.D$(L$(L$zuH81[H1]@H|$iǾ|H8H[H1]H|$iǾD$ND$H낐fGfff.HG Ðf.SH'*HXA2HH[ÐfDATIUSH@蜣LHHH+H[]A\HH:HPSH)Hx=2HH[ÐfDATIUSH@HHtvH8H;HKH)HHLlHtHHh^H;IHtH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.AVAULoATIUHoSHH_ Ht$HufDHSHt!HHS Ht$H\D$D$D$f. v \D$D$D$fDD$\D$D$@UHSHHHH(9mHHD$(mD$D$L$0D$D$H([]f.@HHWHH)HHHHJHD$D$fD@HHD$D$\D$D$@ D$@H9D$D$\D$D$D$YD$D$D$XD$D$ub YD$D$D$HD$D$Hg%$ j $fTD$D$HATUHSH`HP0HIwH$$H`[]A\HE1HIPHD$H@HED$@PHD$8D$@D$ D$\D$HD$)DD$ D$@D$D$D$XD$ HUHHHRL9D$P@D$XD$P\D$HD$D$@\D$XD$(D$YD$(D$0D$8XD$0D$8e YD$8$$H`[]A\@HGc$ $fTD$D$HÉƃ)ƃÐfff.f.ÐÐHI2HHÐH92HHÐH)2HHÐH2HHÐH 2HHmfff.H2HHMfff.H2HH-fff.H2HH fff.Hqc2HYc2HAc2H)c2 f.H92HHÐH)2HHf.HGh  D$D$fTD$fWL$f.G  k D$D$^D$D$^D$D$D$G(D$D$^D$D$^D$D$D$FH@OpL$L$f.vYG8D$D$^D$D$D$G@D$D$^D$D$D$FHËGx~iGPD$*D$D$^D$D$D$GX$$^D$D$D$FH1UHSHH*{HH}HHSHHPHSHPHEtH[]@H[]ÐD$D$D$XD$D$D$D$XD$D$D$GD$FD$D$XD$D$BD$D$XD$D$D$AÐfD$D$D$\D$D$BD$GD$D$\D$D$D$YD$D$D$D$\D$D$FD$D$\D$D$D$YD$D$D$\D$D$D$fff.AUIATIUHSHHxEA T$HKLLH!CLLH/D$C D$D$YD$D$ CD$(D$ L$(YL$0L$XL$0L$8L$8K K(L$@KL$HL$HYL$PL$@XL$PL$XL$XK(KhL$`XD$`D$hD$hChHx[]A\A]f( \$fff.GPGxD$D$D$XD$D$D$GPGXD$FD$D$XD$D$D$GXfDAWAVAUIHATU1SHHHP0HD$HD$Lpf.LL9^HLeHLPIHHHPD$ @D$(AD$0AGD$8D$ \D$0$D$(\D$8$$Y$$$Y$$$X$$Q$f.$fW$f.$D$HHHX$D$PLHHD$@PHHHD$HD$@XD$HD$P YD$PD$XAE8D$`D$XY$D$hD$`XD$hD$pD$pAE8P@LHHD$xP@$D$xX$$ Y$$AE@$$Y$$$X$$$AE@fWAEpfWf.T$$D$X$1f.\$$$D„AEpuH[]A\A]A^A_H|$tHH1PHLH[]A\A]A^A_U$Cwfffff.AWAVAUIHATUSHHHP0HIu{HIE1D$ DIHIl$HHPIHLHPDD$ IuLHLYL9rHHL[]A\A]A^A_H1HPLHHIl뺐fAWAVAUIHATE1USHHaDHHP0HHD$u FIHIl$HHPIHLHPIuELHL(YH9l$uHHL[]A\A]A^A_HATIHUHS1HLH>)HHH!:HLH> Hv+H9r[]A\fff.ATUHHSHHPpL% 2H 21HL:>HtHHR([HH]A\]SDH21LH>HtH[HH]A\HH 21HL=HHtH$pHs,2H9uH$hHW,21H9pH9@[I|$IUE1AHHD$HH$E1/HH!H¸H)6LLEIH$H$HH$H$PH$Hxi$X$8'ʀ$XLMI$XMt @$XH$HH$PH$@H$H1H9@ƺLI`L$ IVE1AHHD$IH$HGH HD$H)$LLCLt$IH$H$(H$H$0H$HxK$8$8ʀ$8LKIMC$8@6H$H1H9@ƺLzIDvfD@@W1fHLH$`BIDHLH$`BHD$$8$X@1]11-@N@NH9@BHH 'HBHH$H$`HxҸof.AWIAVIAUIATUSHHHL$H$ D$@LD$@;AH$D$HHHD$D$H$H$1ɺHHt$H$H$H$H$H$H$H$$$8H$H$ H$H$(H$H$0AELD$PD$P^AGL|$D$XLD$X?$1ɺH$H$H$H$H$H$H$$$8H$H$ H$H$(H$H$0H$HHD$ AELD$`D$`LD$hD$hp$H$HIHL$(1L׈$H$H$H$H$H$H$$$8H$H$ H$H$(H$H$0AELD$pD$pCLH$D$xD$x$1ɺHHH\$8$H$H$H$H$H$H$$$8H$H$ H$H$(H$H$0HT$ HL$(IHt$LƄ$HDŽ$HHHDº?HDŽ$HDŽ$H)IuH?HH?HH\$1HH1HHHHuHH$H$HD$1H1HHHHuHL$ 1H\$HH1HHHHHuHH$$H$ H$@$8H$(H$H$0i $@X H$ H\$0u5  Ƅ$8 HDŽ$ HDŽ$(HDŽ$0H$$H$H$@$H$H$H$ HD$ I|$E1AHHD$HH$1HPN?HH)Ht$ L;HH)RHt$H|$;HH$0H$H$8H$H$(H $$8Oʀ$H|$ CH$Ht @$H$H$H$f$X$H$@H$@H$HHH$PH߈$8H$H$ H$H$(H$H$0u$Ht$8L爄$H$H$H$H$H$H$d$H$H$H$H$@$H$H$] HD$(E1AHHD$H$E1HPHD$HxH fDHt$0H|$H$HHt$0H|$H$yHY$$Ht$0H|$H$,IHt$0H|$H$,HHt$0LH$,HaHt$LH${,H+$$t$8t$HD$HX1HH@H)HHIHH1HH IEHHL!H1H 4HHHuHHD$HX1H1HHHHuH11<1 1m11ff.AWIAVAUMATIUHSHH(H$L$D$@D$@AD$L$L$@D$HLLL$ D$HkAEH$D$PD$PLAELL$D$XD$X*H$ D$`D$` CLH$D$hD$hEH$`D$pD$pELH$D$xD$x$XH$1ɺHވ$H$@H$H$HH$H$PH$$$H$H$H$H$H$H$($xL$1ɺHLLD$$H$`H$H$hH$H$pH$$8$H$ H$H$(H$H$0H$$xLHL$$H$`H$H$hH$H$pH$t$8LLL$$H$ H$H$(H$H$0H$$1ɺHL$H$H$H$H$H$H$$$H$H$H$H$H$H$M$H$1ɺHވ$H$H$H$H$H$H$$$H$H$H$H$H$H$$1ɺHވ$8H$H$ H$H$(H$H$0$$H$H$H$H$H$H$H$ HHD$($LL$ HLΈ$H$H$H$H$H$H$$LLL$@$H$H$H$H$H$H$$1ɺHL$XH$H$@H$H$HH$H$P$$H$H$H$H$H$H$$8LH$H$ H$H$(H$H$0H$$LL爄$H$H$H$H$H$H$$H$`1ɺHވ$xH$H$`H$H$hH$H$p$$H$H$H$H$H$H$$LH$H$H$H$H$H$H$$LL爄$H$H$H$H$H$H$O$H$1ɺHވ$H$H$H$H$H$H$$$H$H$H$H$H$H$z$LD$HLƈ$H$H$H$H$H$H$f$H$H$H$H$@$H$H$u$8@@@L$$$$LH$H$H$H1Ɉ$H$H$H$H$H$H$O$xH$`H$hH$pH$@$H$H$u$@@@ \@H$H=H=O3H=HH)HHIH$ HHH!H H$Dƒ@ e H$1H$HHH$HDŽ$HDŽ$E1H$H$HDŽ$HDŽ$H$" HHLLIH$H$H$H$H$H$$8Rʀ$L@(I$MW@O@  Ƅ$ HDŽ$1HDŽ$HDŽ$ 11L$,= $$H$H$H$@$H$H$H$$@@ƒ@  @H$H=H=OH=rHH)HHIH$ HHH!H H$D$I% IGf.$Agz$f.$- 5 A/Aw H$1H$HHH$HDŽ$HDŽ$1H$H$HDŽ$HDŽ$H$9HHxLLHH$H$H$H$H$H$$8Yʀ$LW%H$H@$I=p IGf.$AHDŽ$ f(fT$ $f.K$fT$$f."AA_H(L[]A\A]A^A_f.HDŽ$@fDL$ = $Rf.= $;fH$'H1H9@ƺL衻H0fH$H1H9@ƺLaIfHD$(I|$E1AHHD$HH$E1HPL$HZH),Ht$(LIH$H$H$H$H$Hxo$$88ʀ$L"I$Mt @$H$H$H$fDH$H1H9@ƺL!IZf- $cf.5 $2f.H$H~HҺHIHH4H!H6H H H H$H$H~HҺHIHH4H!HH H H H$Ht$0LHD$0>HnfDHt$0LHD$0IefD$$LLH$}ID$ 1,11]- AoDf.@SHID$HL$H H!H H5H=<Ht7H-~H?HGHHH ЈOHG1[HH?HWHHHHDи?HGH)ЈOIt^H?HHIY11HH1HHHHuHɹ1H1HHHHuHfDLT$Ht$1LH1HHHHHuH#fDG H1HGHG[fO@1[HHGHuLHG?rDHH@H)HHIHH1HH IEHHL!H1H 4HHHuH1H1HHHHuH@AVIAAAUAT@USH?H|$uVI@t[]A\@A]AAA^Ð8H\$1LH1HHHHHuHHD$HAA EZA EYIABIIIRIIAIQIRIBIAIQEZIBA DEiHT$AHIzMbHIAI?1E1@fDMt)[]A\A]AI@A^Az@ At2[]A\A]1A^ ?ARII9'IQIJH9IQIJH9Af.EIAEAE8IY1ҸH)H)sHHHuH1IIAHIQHHAAI AA1IfHH9HD$HD$Ht$1H1HHHHHuHDʀARl@Aa1AA6IY1ҸH)HsHHHuHHHH\HuHɸI11HLH)HsHHHuH1HIH?HH-HrH?HHIDHHHAHHIz@1IZH<HH9uHAt@)HHItAH?HtH(H1HH\HuHɹ1HH\HuHHAAAz@@8tXIY1H1HHHHHuHE1ҸSf.IrDAE1fDIY1H1HHHHHuHE1HtEDEHH\HuHɸHI1AH1LH)HsHHHuHH>MI?2E1E1sAIZH9„HHHTIBIBAAHAa1A?HHHDI)t^I?LHIY1HH1HHHHuHɹ1H1HHHHuHfDI9IHt$ML\$I?1LH?H1HHHHHuHHuEt I9/Mu@tIHH?{D1oLHHPIAIAcHH@H)HHIHH1HH IEHHL!H1H 4HHHuH 1HHH@H)HHIHH1HHHH IEH HL!H1H 4HHHuHHHAaHIQHн@IA[1H1HHHHuHWE1IZIB?IBIBDIALIA?IA 1IZ1E1E1|SHGIHx3HWHu:HGH G1[fg1[gHHWHA@HGA?HHHDI)t\I?LHIYi1HH1HHHHuHɹ1H1HHHHuH@I9MHt$MLT$I?1LH?H1HHHHHuHHuEt I9M@I[HH?LHHIAIAbf.HH@H)HHIHH1HH IEHHL!H1H 4HHHuHf.gE1v@[f1H1HHHHuHIALIA?IAJLLS1HI?I?H1HHHHHuHMu EtH?x&MuEtH[HH?1[@[Ð@StGt8t@H_1ҸH)HsHHHuHHuD1[H_1ҸH)H)sHHHuH1DHH\HuHɸH71HHH)HsHHHuH1HjH[H?f.SHHHuHHu1[E1HHtTHHIH4IHTHIHtHHTHHuH)HHHuA?HSHHHDI)tRI?LwYHH1H1HHHHuHɹ1H1HHHHuHK[f.LHHH)HHH4HHHTHHuH)HHHuLɃ?tG1HH@H)HHIHH1HH IEHHL!H1H 4HHHuH81H1HHHHuHfHHCHCHCf.fLLS1HI?I?H1HHHHHuHMu MuH?x&EtEtH[HH?1[@[ÐATIAAU1SHHHNHD$HD$LL$HD$HGLd$HL$I@I@HT$HD$HD$HD$II@]f.LHLH1HHHHuHHt*LHLLH1HHHHHuHHu3It-HLLLH1HHHHHuHHHt[]A\f.1HH?SHHHHtdIHLHH@H)HHIHH1HH IEHHL!H1H 4HHHuHIL[ÐHH1HHHHuHAHLH1HHHHuHIL[fI1HA?HHHwdAH)I)HLHL LƒH4ItHHuL)H HHuM9LDHtH HKHKHK[DMuHATIIE1AUHSH\$HD$HD$HD$HD$1fDK4N$ILHHHHLH)H4HHHsHHHuHHHuIIu1HHTHHu[]A\AWMAVAUATUSHLl$8L|$@HHAHAHAMM9LO(IHMNO4)H,M)Af.M9vXO L@JtILHHHHHH)H4HHHsHHHuHHI9uIIM9u[]A\A]A^A_f.AWAVAUATAUHSHHhH9tlO@t@KHh[]A\A]A^A_Ðv@@u1 u߃ C HHCHCHh[]A\A]A^A_@HWHD$ HG@T$8HD$(HGHD$01 rHl$ H{Lt$@HD$H$AHUE1LHIHHHuE1ɸLHD$Ht$1I?H1HHHHHuH@LtMu MEEMII?H|$ I?1HH?H1HHHHHuHMuHu H;E@HHH?J,HD$PEHCHD$XHCtHD$HHnSD$88ʀSHH1HK@DH{Ll$@HUE1AHD$HLH$LH)E1HH IHD$PEHCHD$XHCt@HT$HHy6H|$@H1H9@ƺHIKU8t\ɀKHI1M @WHt$ HHT$ NI1fDKH|$@HH9HLH^161'SdE1HHtTHHII IHTHIHtIHTHHuH)IHHuA?HD$XLHHHDI)1LL)L)u/LE1E1h1AHH?AAUIIATUHSH(HFH*HFH'HFH$HHBH1HHHDHUHHUHHMHHUE1HIHIDHI 1H>HUHEHuH}HEHEHH$HT$Ht$H|$HEHE&HH'HH"11HHDHHHfMHEHEHEHEIIC1ICICH([]A\A]HL$HL9sI)IH$IBMIHD$IBHD$IBHD$t_I?LHHp1LH1HHHHuHɹI1HH1HHHHuHLHLIHD$HD$(LhM7 HxuBHx> E1H8u7H|$@tcHD$@HH@H@H@=AL;d$seHt$@Ht#H\$(HHHCHFHCHFHCHFHD$(HH@H@H@1HX[]A\A]A^A_cHH|$H\$IHL$PLHD$HkH)HD$HFHD$XHFHD$`HFHD$hL\PHIHDظ?H)HD$Ht6H|$P1HI1H|$(1L"HD$KIL\PLl$ItHD$(JHD$HD$PHt$pHDŽ$Ht$0HT$0H$HD$XH$HD$`H$HD$hH$HD$HHwHHHuHD$H\$(L$ H$L$L$HHD$8HD$H4(LHt$ H\$Ht$8IIMdH\$LlPH$H$1HH$ @E1H$(HDŽ$HDŽ$LLIHHHHuH$II1HHtRH$LHHL9u,I9sHI1IIHPH9vbHDLH9vHH)H)sHHHuHMH$ffDHt$HHHԐwIHHu1IHHHu0HIHHuMHDŽ$HDŽ$HDŽ$HDŽ$HDŽ$E1HK4L¹HHHHLH)H4HHHsHHHuHIIuH$@LHHLH)HsHHHuHй1LHH1HHHHHuHHt*I1LLH1HHHHHuH1IIHH9wH|$ wHĐHt$(H\$ HH\$Hl$Hl$ H|$HD$0LtMHD$I4L\PIHt$HD$E1cLHDHL$sH|$@HHD$(tfHHHuH|$HtWH|$H?H|$HH|$H1H\$(HH\HuHɹ1HH\HuHHD$(HHt$@H\$(HHCHFHCHFHCHFH\$(HD$pHHD$xHCH$HCH$HC1/1HH\$(HCHHsH{HHCHH$ H$8H$(H$0HCHCHH{HHeH1H|$(1HHHHt H HD$@H)H@H@H@H1XHT$HHHHt$(HHH HHH4H4HHuH)Ht$(HHHuHd$H?Hg1H\$(HL$HHH@H)HHIHH1HHHH IEH HL!H1H 4HHHuHHMt5H|$(J JH9>LHH H9%HuHD$(HH9OH|$@t$HD$@HH@H@H@HD$(H@H@H@H11H\$(HH\HuH+HD$HD$HD$(HH@H@H@1AHD$A1JH95f.AUII1AATE1USHHBHBHBHHHH1HHHHuHHLHLH1HHHHHuHILHLLH1HHHHHuHHI{HH1HHHHuH[]A\1A]f.LHHH1HHHHuHILHLLH1HHHHHuHHLLLH1HHHHHuHHuXIuLHH1HHHHuHɹ1LLH1HHHHHuH[]A\1A]HAUIIATUSHHH~H~H~u H>0HsHu9Hk1H?u-MtPII@I@I@/fH9sSMtHIHGI@HGI@HGI@HHG1HGHGHH[]A\A]@H9#ML9II@1I@I@AE1HHHH1HHHHuHHLHLH1HHHHHuHILHLLH1HHHHHuHHI{HH1HHHHuH1DLHHH1HHHHuHILHLLH1HHHHHuHHLLLH1HHHHHuHHu`IuLHH1HHHHuHɹ1LLH1HHHHHuHHH1[]A\A]HHHt$ LHD$ HGHD$(HGHD$0HGHD$8@HH[]A\A]L9HL!HumHI9oMtII@I@I@HGHG1HGHHH[]A\A]HtHI H9tH9PHHt$ HHD$ HGHD$(HGHD$0HGHD$80f.AVAUIATLgUHSHĀHI$HHM$ED$$\D$D$CD$ED$ D$\D$ D$(D$0D$0\D$D$8BD$@D$@\D$ D$HD$YD$D$PD$(YD$(D$XD$PXD$XD$`D$8YD$8D$hD$HYD$HD$pD$hXD$pD$xD$xf.D$`wI]H[]A\A]A^fI$IIEMfff.AWAVAUIATIUSHH9LH_HH9<H3I$H$ED$$\D$D$FD$ED$ D$\D$ D$(D$0D$0\D$D$8BD$@D$@\D$ D$HD$YD$D$PD$(YD$(D$XD$PXD$XD$`D$8YD$8D$hD$HYD$HD$pD$hXD$pD$xD$xf.D$`w/LsHH0M9LHĈ[]A\A]A^A_fL;LsL)HHtHLLH)7M<$뱐AWHIHAVIAUII?ATLIULSHH8HD$H|$HL$Ht$(HT$ H9| @IMOHK IO, LSIuOLT$IL\$D$0ED$8D$0\D$8D$@FD$HED$PD$H\D$PD$XD$`D$`\D$8D$hBD$pD$p\D$PD$xL\$LT$D$@YD$@$D$XYD$X$$X$$D$hYD$h$D$xYD$x$$X$$$f.$.MH;\$IKqD$ uL|$ ILH?III9t'H;\$(I3@L0H8[]A\A]A^A_H\H;\$(IHK~HCII?IIOD$ D$f.D$(w+BD$0@D$8D$8f.D$0D$@(ֻHt%H@H@H@HHP |$LHH)H$HH9\$HLLӚHHtHD$uHI4$LMvHL9I$H$P+wD$xfDHF$GD$$\D$D$D$D$ D$\D$ D$(D$YD$(D$0D$8D$ \D$8D$@BD$HD$H\$D$PD$@YD$PD$XD$0\D$XD$`D$(  YD$(D$hD$PYD$PD$pD$hXD$pD$xD$`^D$x$$fT$QD$xf.z5$$Y$$$HĨD$x蚭AUIATIUHSHHH$$$f.$z#AE$A$$ $f.$ MLLHH|HHL6HHL$$$f.$$$8LLHޥ$$f.$8]LLH该$$f.$8w $8$8D$SG$F$$f.$HL+D$D$HH[]A\A]ÐAE$(AD$$0$(f.$0vpHHL迤D$ED$D$D$\D$D$ AD$L$ D$(AED$0D$(\D$0D$8D$8YD$@ED$HCD$PD$H\D$PD$XA$T$XD$`AED$hD$`\D$hD$pD$pYD$xD$@\D$x$fWf.$zr\$P\\$0$\$pY$$\$\\$h$\$8Y$$$\$$$^$$f.$ $f.Y$Y$$$$\$$$^$$f.$O$f.1H͒D$hRHHD$Ht$HxG;H_H7HfUSHGD$FL$D$f(\D$D$D$ YL$ D$(D$ \D$(L$@D$0D$YD$(D$8D$8\D$@D$HBD$PAL$PD$Xf(\D$XD$`D$hYL$h\$D$pD$hT$`\D$p$D$xD$XYD$p$$\$$D$0Y$$D$xYD$H$$\$$D$xY$D$0Y$$\$$$^$$$  f(fT$ f.$rxYT$HY$$$$\$$$^$$$fT$f.$s/MHHgHC1H5t?1H@- A APAhH[]HHzHRffW 4 GOÐ@D$L$D$T$D$GD$GÐfff.  D$D$FOD$D$GFD$BL$D$f(\D$D$D$D$YL$D$D$\D$L$D$D$GD$YD$D$D$\D$D$D$GÐfff.HhFD$BL$D$f(\D$D$D$YL$D$D$\D$L$D$D$YD$D$D$\D$D$AD$A@L$D$f(\D$D$AD$D$YL$D$T$\D$L$L$$D$YD$D$D$\D$D$D$YD$D$ $YD$D$(D$ \D$(D$0D$0D$YD$8D$YY$D$@D$8\D$@D$HD$HGT$PYL$D$PL$X\D$XD$`D$`GHhfDHFD$BD$D$YD$D$BD$FD$D$YD$D$D$\D$D$D$D$D$YD$D$D$D$YD$D$D$\D$D$D$GBD$D$YD$D$F$D$Y$D$D$\D$D$D$GHÐUSH( ^ $GD$$^D$D$D$fTL$ ] f.L$rH([]ÿL~HHbH>1H5s:1HHH蠁HxUSH(G  $GD$$^D$D$D$fTL$  f.L$rH([]ÿ}HHpaH=1H591HJHHHלfDUHSHHO4H$bkD$ D$K$CH[]@SHH FD$FD$H5˞ D$'nD$H9H5 HHnD$HH5 HHmD$HH5 HHmH H[f.DH;1HH]Cf.H;1SHHH9CH[01GD$fWf.D$w!HHHGHFHGHFD1Ð@AWIHAVAUIATUSHH@IEL$@L$p$X$pD$@ YD$@D$H X$XD$0$$h  Y$h$L$`$HH9OHHv)@$D$`f.$HHHD$L$H$=f.$zu f.D$8 f.L$`zuf.$A$$$$f.$G\$$\$\$$$$$$^$$^$$X$$$$H$H;$$D$HtHH$HHHP0H99HHuHPIHHHPAD$$$f.D$`@v$$f.D$`wD$8D$`f.$v f.D$8kL$8f.$PLHLHVL9LHHG$xG$H$Hf.$xw S@HHHH@$H$Hf.$xw$xHH9z(HHHD$0$>H4$L{#gHHD$0H$HHt0&HxAUATIHUSHHHPpH-*1H+11HHD[HtHLH[]A\A]jcf.H(11HH [HHt:HHPXHIt)1ېHUHHHR`LH蔖 L9uH[]A\A]Ðfffff.fW  GOWD@AUATAUSHH(HWH+HHLHt$\H HHCHt$IH)HHD$It D$AEHHtHHcH;IHt$H+LLkHkH([]A\A]HH9v IbHHIH9LFAf.ATIUHSH H9LGI9@ALD$ED$D$f.D$wyA@I@D$D$f.D$wfDHHHH@D$D$f.D$wD$IXL9IoH []A\fDIXI)IMtJHHH)aD$ELHBD$II?IIL9}dI*D$HD$D$L9B}@IKLHAD$D$D$f.D$vD$HDuHHH?HHH9HH9|D$DHHII?LHD$D$f.D$vL$L$f.L$L HAHH?HHH9|3LHDHD$D$XD L$f.D$vL$HHL$끐AUIHH)ATUHSHHHMlLgHH)EHIHD$0H?HHHDD$8D$8Nf.D$05L$@L$@f.L$8|f.L$0ED$PMD$PFML$M$L$HLfDL$f.L$v f.HD$f.L$w$Hf.D$v#fH$$f.D$wH9v6HD$@$D$ED$cLH0=HHH)H}MHL$`L$`f.L$0wcf.L$8MEL$xD$xF$ED$ED$MEL$HD$HEL$0D$hMD$hEL$VD$$rD$XL$0D$XMEMD$pD$pHLbIIIBDLLHD$D$=%MuHII)1HD$ LHEHD$(D$(CD$ $IHĈ[]A\A]f.DHxD$FD$ GD$(GD$0D$\D$(D$@D$ \D$0D$HD$@YD$@D$PD$HYD$HD$XD$PXD$XD$`QD$`f.zN?D$htG D$8D$8f.D$hv%HHG(HFHG0HFHG8D$hG HxD$`Ht$H<$蹉Ht$H<$fffff.AUIHATUHSHHP0L`Iv)HUHHHRLHzI9uH[]A\A]@AUATUSHHHH-!1H&11IHH,RHt'HHLH[]A\A]uf.H11HHQHHt5HHPXHIt$1ېHUHHHR`LHL9uH[]A\A]@ATIHUSHHP0HHu[]A\H1HPLHyHvHHuHP[]LHA\yAUATUSHHHH- 1H%11IHH QHt'HHLH[]A\A]lf.H11HHPHHt5HHPXHIt$1ېHUHHHR`LH脍L9uH[]A\A]@UHSHHHHGa HG Q HG( HG0GHwO8W Hu.;tH[]f.HHH[]ߌHH-Őf.tHW(HHW0HVHW8HVHxHD$FD$ GD$(GD$0D$\D$(D$@D$ \D$0D$HD$@YD$@D$PD$HYD$HD$XD$PXD$XD$`QD$`f.zFD$hG D$8D$8f.D$hv"HHG(HFHG0HFHG8D$hG HxD$`Ht$H<$蘅Ht$H<$H H5| H=C Dfffff.AUATUSHHHH-1H11IHHLNHt'HHR(HLH[]A\A]).fH11HH NHHt5HHPXHIt$1ېHUHHHR`LHvL9uH[]A\A]@UHSHHHHG HG HG( HG0GHwO8W HuH[]HH[H]tu@tHW(HHW0HVHW8HVH8HD$D$t$f.t$pDD$DD$FD$BD$l$f.l$"|$|$D$fA(AfTfUfVf(D$D$fTfUfVD$D$AD$T$f.T$d$d$A$A@D$L$f. $H$\$D$fD(fDTfUfAVfD(D$D$fDTfUfAVD$D$f.D$vD$D$f.D$v D$D$D$f.D$vD$D$f.D$v D$D$D$D J XD$D$D$AYD$D$\t$XD$D\D$\T$\d$t$@D$ DD$0DYL$ T$`d$PDL$(\|$(\l$(\L$(\\$(|$8l$HD$8L$h\D$HL$@\$XD$pf(\D$0D$xD$0YD$H$YL$8$T$p$L$`\$$D$X\D$h$f(YL$X\D$P$$D$P$YD$h$$\$$D$xY$$$Y$$$\$$$Y$$Y$Y$H$H@YL$x\$- h$$$$\$$$^$$$^$$$f.$$f.$ f(fT$( $(f.w]fT$0$0f.wAXD$XL$($$ $$ @H85 = 0xH8L$$T$d$hl$|$t$DD$f.@AWIAVIHAUILATMUHLSLH(RwLLLD$>w$D$f.$w$LLLLwD$$f.D$wSD$LLLvD$D$f.D$IGHHEHCHEHCHEH(H[]A\A]A^A_L뮐f.H D$T$D$f(\D$D$ D$ fTD$(BD$0F\$0D$8f(\D$8D$@D$@fTD$D$pD$gf.D$pzf.T$pd$XT$p\T$T$HT$HfTT$PT$X\T$8T$`T$`fTL$(f.L$T$h L$hL$fWf.L$f.D$pzT$hf.T$PT$ffDd$xd$8f.d$xf.T$pd$xd$X*$f.\$XL$(f.L$vL$fWf.L$zWuUf.D$pzuD$8f.D$Xf.H I H5 H= qbHD$D$HĈL$PL$T$8f.T$X[T$PfuDfffff.AWAVAUATIUHSHHv(L$Lt$`L Hu L L|$0HuLs H\$HuHb H5 H^HHD1HT$ HSHHT$ HD$0HJHHpH;rv H;pH|$ L{HH|$@H5( HT$@HSHHHT$PHSHHT$PHD$`HJHHpH;rv H;p H|$PL{HH|$pH5? HT$pHSHHH$HSHH$H$HJHHpH;rv H;pH$L{HL$H5 LH$HSHHI$HSHH$HxH9H$HxH9uHD$pHxH95HD$PHxH9HD$@HxH9HD$ HxH9CHD$HxH9yHD$0HxH9MHD$`HxH9H$HxH9H}t}pu8H5 L$}puH}t2HĸL[]A\A]A^A_fH5 LH}uH5 L1L^7{f1LF71L67{H=Y1HW"LH(H=+1HWjL(]H=1HW'Ht$'H=1HWfL'YH=1HW\L'OH=q1HWZL`'H=C1HWlL2'H=1HWL'H=1HW0L&H=1HWL&L$HHD$LHx HD$0LHx HD$`LHx H$LHxq HisHL$HL$HL$뽋PJHZL$HHD$pLHx HD$PLHx HD$@LHxHD$ LHx&HL$HL$HL$HH$Ht$HxH$LHx^HL$I<$HLHeH]rPJHPJHPJHPJH1PJHPJHPJHPJHPJHfff.D$fWL$f.D$1f.D$Ef.D$f.D$Eu6f.D$wL$f.vL$f.@f.D$vڸÐ1Ðfff.HWHtoH01D$DHHH9tKD$D$f.D$zuGD$FD$D$f.D$zuD1Ð@HHRHHHHHH|0H40HT D$D$HfUHc1HSHH HH$ D$$f.D$wD`DdH[]D`DdH[]ÐS1HOH߾[OfDATLcUHcSHIDlHcH@HD0[]A\ÐfDATLcUHcSHIDl[]A\ÐLGMHc1HFHHL HG0HAD$@D$D$f.D$z0u.HL$AIL$L$f.L$z tWHO L$f.D$z*u(@D$AD$D$f.D$ztff.HHL9W1fff.S1H%9t [H߾[ 9f.H^B\$D$T$D$f.T$f.D$$$$f.$zAu?g$f$$f.$zf$f.${(f(\T$T$ fWf.T$ zdubHfuW$R$$f.$zuf.T$D$H@$\$\$D$(BD$0FL$`D$8D$0\D$8D$@D$(YD$(D$HD$@YD$@D$PD$HXD$PD$XGD$hD$h\D$8D$pD$`YD$`D$xD$pYD$p$D$xX$$$^D$X$Q$f.zb$D$ $Y$$$X$$$D$D$H$Ht$mHt$^|fff.AUIHATIUHHSHHhGpLxuHCHh[]A\A]ÐHLLbnuHLLPnuECpD$(AEL$(D$0f.L$0ED$8AED$@D$8f.D$@CpHELLHHC0HEHC8HEHC@"D$D$f.D$zDK@L$L$f.L$z&XD$D$ YD$D$ D$ C@HCHh[]A\A]DA$D$Hf.L$HRLED$PAD$D$XD$Pf.D$X"fff.AUIATIUHHHLSHuH[]A\A]@LHLltH1ۉ[]A\A]LLHltfff.AWIAVILAUATIHLULSHHx2HLLD$ LHHALHH߈D$Eu0|$1Hx[]A\A]A^A_fD|$tHLLHIG0HCIG8HCIG@ D$HD$Hf.D$HS X D$PC$H$Hf.$HzD$PX$HD$P*D$XD$P^D$XD$`D$`AG@HELLHIGHHEIGPHEIGX D$hD$hf.D$h X D$pE$@$@f.$@zD$pX$@D$p*D$xD$p^D$x$$AGXl@|$]|$BEED$XD$D$H`[]A\HD$D$H`[]A\D$HQf.UHSHHHwHGH)HHHWHtAHHN0HVHAH$HC HD$HC(HD$HC0HĈ[] | D$@-f FD$HD$@XD$HD$PD$PYD$XFD$`F D$hD$`XD$hD$pD$XYL$po0G L$xD$xG(HĈ[]ÿHl$0a/HT$.H5= HHJHHOH0HHHD$0HxH;=q0uxH80H5 0H;fh ` %X W _(g0HĈ[]HHG HFHG(HFHG0HĈ[]H=0HWtIkHt$/\HH1HMHHD$0Ht$/Hx؋PJH뱐fH HrHH9t8HfDBD$AD$D$f.D$HGHH9uHHHQHPHQHPfUHSHHHj%5 -- 5% H9g/w~= fW|$8d 3$AD$@$f.D$@zD$PD$P\D$@D$Hf.T$H\$L$XL$HD$XYD$XD$`D$HYD$hD$`XD$hD$pQD$pf.D$xD$8^L$x$f.$v%HHHSHPHSHP$D$8HH9tV$$$f.$CD$PAD$@fHĨ[]fDD$HfWD$HD$pHL$f)\$ HD$T$*ML$Hf(\$ HL$HD$T$AWAVIAUATUSHXHLjL9 HME1T$D$ED$ D$f.D$ z-u+KL$(ML$0L$(f.L$0ztvDA $L$8f.D$8z,u*CD$@AD$D$HD$@f.D$Hzt3fLHHR6D$D$f.D$vD$ID$HI92IIIGIFIGIFHXL[]A\A]A^A_E1Ӑ@AWAVIAUATUSHH?HPptH[]A\A]A^A_DI>HP8HI6H|$ HHt$ H|$0HP0H|$0L|$`HD$`HD$hHD$pLHP8HT$`HD$hD$@@D$HD$@f.D$Hz1u/BD$P@D$XD$Pf.D$Xz DH)HHHH9H$LLHH$HLLHHD$hH+D$`HHHH=HAL$HD$C@H$H$H$H$H$H$IL;l$IHLLL52HLH<HHLHP(IVI;VHtHH HHHJH@HBHIVIFIVMnH9Ht#H$HH$HHH$HHHIFH9Ht#H$HH$HHH$HHHIFH9HH$HH$HPH$HPHLHLIFIVI~HHLIFIVuLLHLIFIVL$%HT$H5 LH LHH0HHH$HxH;=0uYH0H5[0H2HH|$`HtYH|$0HtHPHD$0H|$ HtHPHxDH=@0HWtLHt$5HH$Ht$Hx:HHO(rHHfPJH뮐SHH`HGH9GtH`[HsC K($$f.$HCL$XL$\D$HL$ D$(D$X\D$ D$0D$(YD$(D$8D$0YD$0D$@D$8XD$@D$HQD$Hf.zWD$PD$PC8H`[fDL$L$f.L$LS0T$T$f.T$/D$HD뜐ATUHHSHH0,C D$D$f.D$zqHHs Hx=C8ID$fWf.D$zuLeH0H[]A\DD$LHMtI$LPH0H[]A\@C(D$ D$ f.D$ rC0D$(D$(f.D$(UHHHpH$HEiMHt I$LPHAATUHHSHH +HSH+SHHHHHH;HHHcHHRHr LAPH<$Hs1HPHH<$HSHCHH)HHtQHHH|$HHp-H<$HD$HHEtHPH H[]A\fHHs Hx0Ld$0HLHT$0HSHHD$0HxH9uIHD$ HxH9H0HHEHD$HxH9uCH0HHEHH[]A\A]H=0HWHt$H=z0HWLmH=S0HWtk\LFOHHD$0Hl$HHxHHD$ HHx7HD$Ht$Hx$H$HHl$ʋPJHHHD$ Ht$0HxH뱋PJHPJH/f.AWAVAUATUSHHHP0HHHP0LhH1HPMIE1HHHP@D$(AD$D$0D$(f.D$0LGf.D$0LGHI9sLHHHIDHHPD$`A$D$hD$`f.D$hz3u1@D$pAD$D$xD$pf.D$xz u L9u@MIG1HIHHT$IHP$A$$$f.$zHuF@$AD$$$f.$zuM9tfHHHPHHHHt$PEHD$8A$D$@D$8f.D$@{k L$HL$@f.L$Hf.D$HzHLH$ED$PD$XD$Pf.D$XD@uM$AL$$$f.$]W1H[]A\A]A^A_fDSK$AL$$$f.$E$C$$f.$]E1^Hl$ HT$H5t HHHHHD$ Ht$Hx3H0H5u0H} HH2H HHD$ Ht$HxfAWAVIHAUATIUSHHP0HIu1H[]A\A]A^A_f.I$1LPIIvл@II$HLPLHLH_uHL9uffffff.f.H<HÐfff. f.H<Hf.@u @uG@SHHH HP($D$$f.D$zt H [f@D$CD$D$f.D$zuH 1[fATHUHSHHpHE$@D$D$f.$rD$$f.D$sHp[]A\ED$@D$ D$ f.D$r@D$(D$f.D$(rHèIHHI$1LPED$0D$8D$0f.D$8z5u3ED$@@D$HD$@f.D$Hzu 3I$LHXP0LHpED$PD$XD$Pf.D$Xz.u,ED$`@D$hD$`f.D$hztfDLH<UHHSHH8HE$@D$D$f.$rD$$f.D$sH8[]ED$@D$ D$ f.D$r@D$(D$f.D$(rHHHHM¸uHH<fffff.AVAUIATIHUSHHPpt[]A\A]A^@HȽHtrHLL<t̀tH1kHIu 9HL9t/HHLHLt<uָfD1tH H5m H=x "fAWAVAUIATUSHHH-0Hp01HILHHt0HLH#HH߉[]A\A]A^A_ f.H901HLHtHLH虬H01HL\HHLHH01HL/HtRHh(Lp0L9tEHUI9^Hf.HHUI9=LHԛI9uH[]A\A]A^A_fHA01HLHItjHLPXHItE1?fDH!01HHtHLHI肫H߉M9wILLP`Hu1Hӵ01HL&HIHLPXHI-E19Hy01HHHLHIJH߉0M9ILLP`Hu1H H5 H= b裯fAUATIUHHSHHHPp¸tH[]A\A]fDL-0H01HL=HtHHL[]A\A]H@H01LH HtHHL[]A\A]H_HLHEEƙ}¸VU1I};@USHHH0HoxHHHtH}HtH H{pHCxHtHPHs8H{(HCp.HH[]pUSHHH0HoxHHHtH}Ht袬H蚬H{pHCxHtHPHs8H{(HCpHHH[]XATIUHSHH`H D$D$D$f.D$L$XL$X $f.$ BD$ CD$(D$ f.D$(xMD$HL$0D$(L$0D$PDf.L$HvD$Hf.D$PsD$Pf.D$Hv\D$Hf.D$0rNHHCD$8ED$@D$@f.D$8G…~AD$H`[]A\L$f.D$wL$ $f.$JL$HKL$PML$0L$0f.L$HT$Pf.T$HL$f. $w$ $T$f.$SD$f.D$AAD$ H`[]A\f uGЃ)Ѓfff.AVAUATUHSHHH<$D$HD$ IP0HIw@@HL9t3HEHsHPHUIHHRLHL+ |$ tL̙H[]A\A]A^Ðfffff.AVAUATIUSHHHnH<$D$ID$ H)HHv=1AI@II9t#I $HHTH4LHX |$ tL4H[]A\A]A^ÐfDH<Hf.f.ATIUHSHH`H D$D$D$f.D$L$XL$X $f.$ BD$ CD$(D$ f.D$(xMD$HL$0D$(L$0D$PDf.L$HvD$Hf.D$PsD$Pf.D$Hv\D$Hf.D$0rNHHCD$8ED$@D$@f.D$8Gƒu AD$H`[]A\L$f.D$wL$ $f.$JL$HKL$PML$0L$0f.L$HT$Pf.T$HL$f. $w$ $T$f.$SD$f.D$AAD$ H`[]A\f uGЃ)Ѓfff.AVAUATUHSHHH<$D$HD$ IP0HIw@@HL9t3HEHsHPHUIHHRLHL˛|$ tLlH[]A\A]A^Ðfffff.AVAUATIUSHHHnH<$D$ID$ H)HHv=1AI@II9t#I $HHTH4LHX3|$ tLԪH[]A\A]A^ÐfDH跪<Hf.USHD$(T$T$(L$ f( \$fT$ f.$r"d$ f(fT$f.$s[H\$@HT$>H5P HHuHHHD$@Ht$?Hx跤H0H50H\$f(fT$f.$rl$fT$f.$afWf.L$(1f.L$(D„tpf.L$ 1f.L$ D„u8f.L$f.L$D„u"f.v,1f.DH[]DH1[]@1f.DҐf.L$f.L$D„vf.L$ f.L$ D„uf.L$f.L$D„t*f.1f.H[D]ff.~f.f.l$ s)\$(T$l$ d$T$(\$f.f.f.\$(K$$f.D$ f.L$f.L$f(L$$^D$$$>$\$$$YYD$L$$\$$D$ \$T$(D$ f.L$ T$ f.T$D$(X\$X$f.$I$$f.D$f.L$ \f.L$(f(L$$^D$(D$pD$p5D$xT$(D$x$YYD$ L$$\$$D$\$\$D$f.L$\$f.\$ D$XT$(X$f.$$D$ f.$f(\D$\\$D$\$D$D$f.$wNf(\D$ \T$(D$ T$(fWf.|$ fWf.|$(z5@H[]@f.f.T$~} fWfWT$(D$\$2Df.L} VfWfWd$ f.l$ D$(T$(fD1f.DfD5| fWfWl$HD$Hf.D$ \$D$\$fWf.|$^fWf.|$zDD$XD$ \$(D$D$Xl$ D$T$(\$\$PD$ D$PT$D$(d$T$(\$`fDf.d$fWrlfWT$(fWfW\$d$ D$T$(\$fWf.|$`fWf.|$(UfWT$`fWػfWd$h\$(D$ D$hT$(D$D$`D$\$HHD$@Ht$?Hx萝HHHf.HHV Hfffff.@D$L$t@L$D$鷽fDSH0H0HFH\$Ht$Ht$ D$D$HH\$(HD$ D$D$f(܎H贌H0[fffff.AWIHAVMwHAUATUHSHHP0HIv~HEHHPIHEHsHPIOPI;OXthHt?HD0HHHHQHPHQH@HAI$HA ID$HA(ID$HA0H8IOPHL9uH[]A\A]A^A_@LHLrATUHHSH@Ht$ HD$ HD$(HD$0-Ld$(H\$ L9t"fDH;蠐HHHI9uLePH]HL9uN}D$L$D$HHfTfU $fVD$D$H8I9t1CD$C(D$T$f.T$wL$ $H|$ Ht葚H@[]A\H|$ HHtvHfffff.UHSHHHHHGHGHGHG HG(HG0G8G@HGHHGPHGXHPpt C@H[]fHHŦH[]H{HHH{虣H!HATI`UHSHHH~Il$I\$HLePH]HI9f.HHH8I9uH}HHt1Le H]I9tq@HHH(I9uH}HtLeH]I9tF@HHH I9uH}Htј[H]A\ŘD[]A\LxLLHH螘HfDAVAUATIUSHH H0HHHHsHGH@HhH20HpH9}*H#H$0HpH9HH0HpH9HtwHl$HT$H5{ HIHLVHD$Ht$HxHL0H550L=H0H;htHY0H;huLHH []A\A]A^IHkHt|LuPLeHM9t/I$LI8IHD$Ht$HxjLH}HHtLu LeM9tCI$LI(H}HtؖHЖH0HCLHHH}Ht褖LuLeM9tI$LI IfH10HHÐHɞ0HHÐH0HHÐH0HH=f.H0HHf.Hi0HHf.AUATIUSHH0HoHHHLmPH]HI9HHH8I9uH}HHt葕Lm H]I9HHH(I9uH}HtaLmH]I9t[@HHH I9uH}Ht1H)Hڜ0ID$HI$H[]A\A]LcLL@AUATIUSHH0HoHHHLmPH]HI9HHH8I9uH}HHt葔Lm H]I9HHH(I9uH}HtaLmH]I9tb@HHH I9uH}Ht1H)Hڛ0ID$LHI$H[]A\A]L\LLf.ATIUSHoHH9t2DHHH H9uI<$Ht[]A\饓D[]A\HfDATIUSHoHH9t2DHHH(H9uI<$Ht[]A\UD[]A\HfDATIUSHoHH9t2DHHH8H9uI<$Ht[]A\D[]A\HfDAWHm۶m۶mAVAUA8ATUHSHHGH+HHHLHT$H4$H]H}ILx8Hm۶m۶mHH)HHH HH)LtEH 0H4$HT$HHHHHHNHHHNHHH HH HJHH(HRHP0H9HLHt>HL0HHHAHBHAHBHAHBHA HB HA(HB(HA0HB0H8H8H9uLw8HHm۶m۶ L)HHHH!HHHH)M|8 DI8HI9LuH}HtYLeML}LeH[]A\A]A^A_H H9v IlH$I$IH9wHIHII)Gff.fAVAUATUHHSHH HPptH []A\A]A^HHEH$ED$$L$ԴtHHЅHHuHE1覲HIuu@IM9thLHHHIEHD$ED$D$L$KtLOHH$<tu1DATIHUSHH []A\HHPXHt91$DHHHP`LH<uHHHPXH9r묐H1HP`Ht'H510H01HH[]LA\I1@UHHSHH8HPptH8[]HHE$@D$D$f.$rD$$f.D$rED$@D$ D$ f.D$r@D$(D$f.D$(kH8HH[]Hw<Hf.AWAVAUIATUHSHHFPD$D$f.i /k ^D$D$D$h$ s $f.shL,1LHIIHEP0HI9HEraHL`P0HHpAHHHPHSH@HCHĘH[]A\A]A^A_f\HL,I1LHPIHEIvHPMD$AD$ D$\D$ D$(I*D$01D$(^D$0D$8@LID$@AGD$HD$@H\D$HD$PD$P^D$0D$XH*D$`g D$`SYD$8D$hD$ XD$hD$pD$XYD$`D$xD$HXD$x$D$p$CDHHHPjLLHH H*XHЃHH H*X.fDAWLRAVIIIAUIATIUSHHHL f HDŽ$f HDŽ$J4f $HDŽ$HDŽ$$Ƅ$($ ~8HuH[]A\A]A^A_H$LHHMLT$HHD$L $膠H$pHLHHHD$h$pH$pD$P$xH$H$xD$X$H$D$`H$$D$hH$H$D$P\D$`H$H$H$H$D$pD$XH$HL \D$hD$xD$pYD$p$D$xYD$x$$X$$Ƅ$(L$$LT$$ \HHMIL$1MMLHL$LHL$H$HPH$HPH$HPH$HP H$HP(H$HP0H@8H$H$IE$JD$8QD$8f.$Q$f.c$H$$f.$HGD$HHHPHSHPHSHPHSHP HS HP(HS(HP0HS0@8C8IEN4LfDIEN4HEIHEIFHE IFHE(IFHE0IF HE8IF(HE@IF0EHAF8LfHCMLMLHHLT$L\$H$I3HL\$MLLHH$0HPMH$8HPH$@HPH$HHP H$PHP(H$XHP0H@8H$`H$H$hHL\$MLLHH$pHPMH$xHPH$HPH$HP H$HP(H$HP0H@8H$HH$H1H2HqHrHqHrHqHrHq Hr Hq(Hr(Hq0Hr0Hq8Hr8H@H@H9uHD$HCHIQHD$pqHI9LKHH9D$ZH\$HHHIHHfDHtVIMY HY %Y L)HH@PH@HD\`0@8H@HuvH|$0HP0H|$@HD$HP0HD$@H|Hl$hH\$`IH9tH;Ht}HH9uH|$`HHt}}LH|$@HtHPHD$@H|$0HtHPHHH9\$(Hl$(tH}Ht'}HH9u虁$HH|$`Ht|MzL|mHeHvHffDUHHSHD$fWW H|$@L$W Ht$Hf. Y %W Ƅ$D$PD$XT$`D$hD$p\$x$$wOf.D$sGH|$@H$y$D$0QD$0f.zpD$8D$8HĨ[]ÿHl$ HT$H5` HH貫HHWHD$ Ht$Hx{HM0H560H>D$0HHD$ Ht$Hx{HHHfDHxHHH|$ V V H|$V Ht$HHD$ HD$(L$0HD$8HD$@T$HD$XHD$`\$P3D$P$Q$f.zD$D$Hx$AVAUATUHSH@HuH@[]A\A]A^fHIHHrLPIIEHLPHD$HA$D$D$\D$D$}H*D$ HD$^D$ D$(@D$0AD$D$8D$0\D$8D$@D$@^D$ D$H*D$8LsH1L$ $D$$f$[P$$S`$\$Kh$$$\$$$Y$$$Y$$$X$$C8$$f.$HCHHCHCPHCHCXHCHC`HC HChHC(HCpHC0d$x$D$x$\$$$$\$$$Y$$$Y$$$X$$$C8C@HH;A$$AD$$HH*D$PHLD$(L-R YD$P$0D$XD$XX$D$`D$HYD$PD$hD$hX$ƃD$pD$`$ D$p$({@cHP[PS`Kh@HHHH H*X HHHH H*Xkf.AUIATIUHLSHHH5~0-Q HDŽ$X5Q HDŽ$`H=yQ H$PH$h$HDŽ$pHDŽ$x$Ƅ$H$P-#Q 5Q =Q HDŽ$HDŽ$$HDŽ$HDŽ$$Ƅ$$H$({8$X?d$X$pD$XT$h$`\D$h\$`$xL$pD$xD$`\D$p$D$xYD$x$$Y$$$X$$C0$$f.$d$H$XT$ D$\$H\D$ L$(H$`HCH$hD$0HCH$pD$\D$(HCH$xHC H$D$8D$0HC(YD$0D$@D$8YD$8D$HD$@XD$HD$PD$PC0C8EPD$fWL$f.H$Hx0Ƅ$0$Ƅ$pL$x$$H$8H$$@$P$XRP jN ^D$$SN %KN -CN 5;N =3N $$ $$($H$`$h$ W $f.;H,H$I$H$LX}H$V$$$$$\$$$$$ $\$$($ Y$ $0$(Y$($8$0X$8$@E@$H$@f.$HH$HEH$HEH$HE H$HE(H$HE0H$ HE8$$$$\$$$$\$$$Y$$$Y$$$X$$$E@EHHĘ[]A\A]\H,H$HH1$$`$p$xl$$$vAUATIUHSHD$fWJ H|$@L$J Ht$Hf. L %J Ƅ$D$PD$XT$`D$hD$p\$x$$wrf.D$sjH\$@Ll$PHH$LHGLLHH6$D$0QD$0f.ztD$8D$8HĨ[]A\A]ÿHl$ 袹HT$H5S HH苞HH0HD$ Ht$HxnH&w0H5r0HD$0|HHD$ Ht$HxnH詼HHfff.AUHATIUHSHxH\$Ll$ H|$ VI Ht$II H>I LHL$0HD$ T$HHD$(HD$8\$PHD$@D$XHD$`ϤLLHH辤D$P$Q$f.zD$D$Hx[]A\A]$DHav0HHÐ1f.1f.H1v0HHÐHx0HHÐHv0HHlf.Hu0HHlf.Hw0HHlf.H R H5 R H=p HImf.H )R H5Q H=@ HUmf.SHWHHHƇH讝{@cHwd$PS`D$PT$`[P\D$`\$XKhL$hD$pD$X\D$hD$xD$pYD$p$D$xYD$x$$X$$C8$$f.$d$HCHT$D$\$HC\D$L$ HCPHCHCXD$(HCHC`D$\D$ HC HChHC(HCpD$0D$(HC0YD$(D$8D$0YD$0D$@D$8XD$@D$HD$HC8C@HĠ[[PS`Kh+@AWAVAUATUHSHH(_IHLP0HIuH([]A\A]A^A_fDHir0 yE qE 1gE HDŽ$HHDŽ$$H$H$HDŽ$HDŽ$$LHH$H$La HDŽ$$H$IHDŽ$L$PHIH$HPH$H@H$H$MAHD$@$D$$D$ ED$(ED$0D$\D$(D$8D$ \D$0D$@D$8YD$8D$HD$@YD$@D$PD$HXD$PD$XC0D$`D$`f.D$XvJH$D$XHH$HCH$HCHEHCHEHC HEC0C8HC(IM9LLİILLPHH<$HIHPIWH@HT$IGY{8H$$HH$HCH$HCHEHCHEHC HED$h$D$pHC(ED$xE$D$h\D$x$D$p\$$$Y$$$Y$$$X$$C8$C0UHSHH B H$HDŽ$HDŽ$${8$D$$D$ED$ED$ D$\D$D$(D$\D$ D$0D$(YD$(D$8D$0YD$0D$@D$8XD$@D$HC0D$PD$Pf.D$HvJH$D$HHH$HCH$HCHEHCHEHC HEC0C8HC(H[]fDH$$HH$HCH$HCHEHCHEHC HED$X$D$`HC(ED$hED$pD$X\D$hD$xD$`\D$p$D$xYD$x$$Y$$$X$$C8$C0H[]ÐfAVIAUIATUHS1pLHLTH蒆HIt,f.HHHLLHsTL9u[]A\A]A^Ð@AUIATIUHSHHHh0Hm01H)Ht$HĨLL[]A\A]H TfHyi01HHHtHĨLL[]A\A]H @Hf01HH贘HHtL1&HHHHP`LLH”HHPXH9rHĨ[]A\A]fDHEHP(A|$8D$@D$AED$AED$ D$\D$D$(D$\D$ D$0D$(YD$(D$8D$0YD$0D$@D$8XD$@D$HAD$0D$PD$Pf.D$H0HD$HI$HPIT$H@ID$IEID$IEID$ IEAD$0AD$8ID$(HI$HPIT$HPIT$IUIT$IUIT$ IUIT$(D$X@D$`AED$hAED$pD$X\D$hD$xD$`\D$p$D$xYD$x$$Y$$$X$$AD$8$AD$0f.Had0USHH8FD$D$f.D$FzyD$ D$(D$(H5{ HHǜD$ HH5p{ HǺH袜D$HH8H[]f.D$D$D$H5{ HHND$H`fffff.AWAVAUATIUSHH\$0Ht$H{XyYHc0Ƅ$hHHDŽ$`Ƅ$i1HDŽ$pHDŽ$xHHDŽ$HDŽ$H$Hd0HhLxH}Hl$0L?UL-&c0H{@HD$@HD$HHD$PHD$XHD$`IEHD$hHD$0IE@H$Hh0HHD$8zHb0L5i0HsH{XD$xHHD$8IFH$貟HD$0Ht$HH@HD8xIFI$HD$`HHt$PHT$$H9H|$XfHD$ HD$ LHHD$HD$ HxL9 IEHD$0IE@H$Ha0HHD$8H$HxL9Hg0H{@HHD$8HEHl$0H{XL|0Ha0HH$裦HĘL[]A\A]A^A_fDH|$XH fHD$ HD$ LHHD$*@HsPL輭'H=of0HW@Ht$ \z1H=?f0HWt1Ht$0zHHH8PJHH{IoHEHl$0LL|0H`0H{XHH$蒥HHHHD$ HD$I<$Ht$H\yHHD$ Ht$Hx\PJH SHHH_0HHHGHHxH;=[f0uHe0H{8HHH[H=e0HWtHt$ y뾋PJHf.SHHHq_0HHHGHHxH;=e0u%Hbe0H{8HHrHz[H[H=d0HWtHt$x붋PJHfATH9USHtlHtH)I1LgIHHHu2EH;-Ee0ud[]HA\11E1gHHHHLHbHDHe0[]HHA\HDHtH=4C 菫ELeB!f.AUATIU1SHH8HP0HIujf.$$vf.D$vCCD$ D$ f.D$D$vCKL$(f.D$(vCHL9toI$HLR$@D$D$CD$D$f.D$V$HL9CD$CCuH8[]A\A]fff.SfWH4 HH HCKCH[ÐHHtfrDHt v4 L$D$HDHP@D$D$H@HPD$D$HDHP@D$D$H@AUATUHSH(HP0HIwf.HL9tHEHHPHUIHsHR$A$D$$f.D$zu@D$AD$D$D$f.D$zuH([]A\A]DH(1[]A\A]Ðf.UHHSHHHP0H9sHHHH$HH[]AUATUHSH(HP0HIwf.HL9tHEHHPHUIHsHR$A$D$$f.D$zu@D$AD$D$D$f.D$zuH([]A\A]DH(1[]A\A]Ðf.AUATUHSH(HP0HI1E1@MtpHUHHRA$$D$D$f.$wQ$f.D$w4AD$D$@D$D$f.D$wD$f.D$vHEHHPIHL9nH(L[]A\A]E1fAUATIHUHS1H(HP0HIu{HL9toHUHHRA$$D$$f.D$zuAD$D$@D$D$f.D$zuH(H[]A\A]H(H[]A\A]fffff.AWAVAUATUHHHSH(AHIuH([]A\A]A^A_DHEHP0HIH$HD$HD$HD$HD$E11L4[1I DL$$HEMHHPHHIL9I$HPIT$H@ID$uHEHHPPH<$H@GTH([]A\A]A^A_H I9KvHH}HH$LH\$HHtK/ HHBBHHuM9H\$snM)IĻM}fHHEH[I4HMdPHL9I$HPIT$H@ID$L$$uH<$HHt]SH襽I1VfDAVAUATUHS1H HP0LhHIu[$f.D$@D$AD$D$D$f.D$w]D$f.D$wkHL9tbHELHH)PIHEHHP$A$D$D$f.$lH []A\A]A^f.H []A\A]A^fffff.AWAVAUATU1SHH8HLl$P0L`LHHD$HHHMI)PHLHHT$HPHT$H@HD$ HLpHPHHHAHLLHHPHH9l$sH8[]A\A]A^A_Ðfffff.AWAVAUATIUHSH(H9HAHAtE1H(D[]A\A]A^A_@HP0II$LP0I9u1MtyI$HLPIHEHHP$AED$$f.D$zu@D$AED$D$f.D$a[HL9uAGDAVAUATIH5T UHS豌I$LP0HItTI$1L1PI-@I$HLRHItH5D H_LHH`jL9uH5 H7[H]A\A]A^ff.ff.HHÐfffff.AWIAVAUATUSHH\$PHt$(H{h9IHZS0H-S0HƄ$HDŽ$1Ƅ$HDŽ$HLmHDŽ$H$HEHDŽ$HDŽ$Ll$PHHD$IEHLPHD$XI}Lu 1IFLt$`H|HE(HHD$ُHEL%Q0H{PHU0HD$H@HT$ HTPID$HD$pHD$xHDŽ$HD$PID$hHDŽ$HDŽ$HDŽ$H$ID$@HD$`HX0HHD$h˅HQ0HsH{hDŽ$HHD$hHQX0HH$Ht$(H{CH+X0HIH$H[H$HT$?$H9H$,VHl$@LHD$@H7HD$@HxH;=W0JID$HD$PID$hH$ID$@HD$`HQ0HHD$hH$HxH;=}W0HW0H{PHHD$hHD$HL$ H{hH@HLPIFHL$Lt$`HL`IEHL$Ll$PHLPHP0HD$XHH$谕HL[]A\A]A^A_H$HUHl$@LHD$@H#fDHs`L̜H=U0HWHt$@liH=OU0HWHt$>HxLPJHcIUHL$HLl$PHLPHD$XHSO0H{hHH$fH辵HH{I=^HuHL뺋PJHf.fHP0HHÐHH1P`D$D$HHHP`D$D$HHP0HHJf.USH(H11HH.jH+HH[]HHJHδf.@AUIATIUSH(HóLLHHiH+HH[]A\A]HH&JHnf.@AUIATIUSH(HcLLHHH+HH[]A\A]HHIHf.@AUIATIUSH(HLLHH2BH+HH[]A\A]HHfIH讳f.@ATIUSH(謲LHH?H+H[]A\HHIH`HGH+GHHHÐ@HGHvHÐfHOHvHHH HHHJH@HBÐfff.HRHWHHHHVHPHVHPÐfff.HWHGH9uofDf.D$D$vf.D$vFFD$D$f.D$D$vFNL$f.D$vFHH9tdD$@D$D$FD$D$f.D$`D$HH9FD$FFufffff.AUIATUHSHLgH_L9tHEHHHPI9uIE H[]A\A]ÐfDATUHSLgH_L9t@HEHHHPI9u[]A\Ðfff.HG Hu-HWH9Wt!BD$D$f.D$zHG HG Ð@HQ0HGHGHGHG HHÐAUATIUHSHHH~Q0HGHGHGHHHu"HG1HMLe H[]A\A]DH H9wNL,vILqJ (HEHEHMHtC! HH@@HHu΢HoK0HHHUfDHP0HGHGHGHHHHGHHNHGHOHFHNHGHOHFHW ÐfDHQP0SHHGHGHGHW HHHtMHHGHVHHGHWHVHFHGHWH>HFHtDH[Df[fffff.ATHO0HE1UHHSH1HVH+VHHGHGHGHHHu|IHCHCLcH}LML9tHLHf.HtH1H2LALBLALBHHH9uIL)HHDHCHEHPXHC []A\ÐH H9wL$L1`ǠHhI0HHHH{HHtCHԐf.ATIUSH(ܬLHH~^H+H[]A\HHHCH萭AWAVIAUIATUSHH=N0HHHHP0HHIFIFIFIF1IFIELPXInM~E1IF H1I)ILMu <@InIELHLPHHIL9HUHPHUH@HEuH[]A\A]A^A_ÐH H9wYH,[HH豫HIFIFH(IFfDHt{ HHBBHHuHG0HHI-I~HHtAHԐfDHGu0H;Gt*@D$D$D$f.D$zt5DH9GtRHtHHHVHPHVHPHHGfD@D$FD$D$f.D$zuHQfDAVAAUIHATAUHSHP0EHu;HEt&fHEHHHPDHLQ6Hu[]A\A]A^HtEE1@HELHIPDHL6I9u[]A\A]A^ÐfHGH;Gt&HtHHHVHPHVHPHHGfHQfDAUATIUHSHHhuHP0HIu[HCKdH{H4HCH;C]H9$HEHT$@HD$@HEHD$HHEHD$PLHh[]A\A]@Mu{M9sHLHPD$ED$D$f.D$hb@D$0ED$8D$0f.D$8:4{f.HIt$HP$ED$$f.D$RL@D$ ED$(D$ f.D$($@HtHEHHEHFHEHFHHsHh[]A\A]ÐH踪Hh[]A\A]Ðfff.HHVH6H$0H蛒HWHvD$H@H[]A\A]A^A_HvHwD$HHOHvD$H@H$HBL|$ Ht$PHD$PLuHHɝH葤L|$ Hu`L菊]H=BC0HWL1WH=C0HWLWH=B0HWZHt$VKH=B0HWtU@LV3IHD$PHt$0Hx9HD$ Ht$Hx9HL谇PJHIT$Ld$`HLt`HD$hIGH}hH$HFH}HKIuH讈H=A0HWt&Lt$0LU4PJHI5HxLl$IHD$@LHx8HD$0Ht$Hx8IHD$@Ht$PHx8IIHD$PLl$LHxr8띋PJH-PJHPJH;HGH9G@HB0SHHHHHt7Hq=0HH[HB0SHHHHHt7HA=0HHH[y7fAUATUSHHHGH;GHtHHHHHHHHHHHHHHIHH)HKHHIH 'HHLHLLAL@LAL@uHHHBHFHBHFH[]A\A]H?HIH)HIHII)IMHHT$H4$LKH;L@H4$HT$IKDmIHtH HHJHHHRHPH9HLHtHHHAHBLALBHHH9uHGHH)HHMl0L9tEHLHtLLLBLALBLAHHL9uHH)HMlHt5LL#LkHkL L9v,IHHI)ILMdI M9wII,I)IHMMIAE1AUATUSHHHGH;GHtHHHHHHHHHHHHHHIHH)HKHHIH 'HHLHLLAL@LAL@uHHHBHFHBHFH[]A\A]H?HIH)HIHII)IMHHT$H4$苝LKH;L@H4$HT$IKDmIHtH HHJHHHRHPH9HLHtHHHAHBLALBHHH9uHGHH)HHMl0L9tEHLHtLLLBLALBLAHHL9uHH)HMlHt>3LL#LkHkL L9v,IHHI)ILMdI M9wII,I)IHMMIAE1AUIATII)UHILSIHHMHEH)HIH9 LMLH)HIML9wRH~;I1HHHTHTHTHTHIuHH HMH[]A\A]LII1M~,fDH<H<H|H|H|H|HIuI9LLt?HtH0H1HpHqHpHqHHH9uIL)HMLLMH[]A\A]fHHH H9IHT$H4$L蜚H}H4$IHT$H9Mt,@MtH3I0HsIpHsIpHIH9uHt0MLmLeLeH[]A\A]@HE1E1H9'AUII)ATIIMUMSHH(HGHMH)HII9HH)HLM9J,HHH)H9It(HtMLMXLYMXLYIHL9uHIHH)HkHIH~(@HLHHLLGL@LGL@u1M~+DH H HLHLHLHLHIuH([]A\A]fDHIL*L9Mt-DMtI9I8IyIxIyIxIIL9uM)H9IK RL LKLt.fDHtI8H9IxHyIxHyIHL9uLHLH)HkHH1HL-0L=X0HƄ$HDŽ$1Ƅ$HDŽ$MeIGMuHDŽ$HDŽ$H$HDŽ$ID$Ld$`Lt`HD$hI|$ MIE 1HD$pH@H|IE(HLIEIU0H}PH@HT`H0HDŽ$HDŽ$HDŽ$HDŽ$HPHDŽ$HDŽ$HT$`HPhH@HD$pH80H$HHD$xBH 0L%0HuH}hDŽ$HHD$xID$H$LH}H5 1GH}HoUHID$HD$ H$HH$HT$@$H9sH$&L|$ Ht$PHD$PL/xHD$PHxL9Lt$0HT$H5 LT:Ll$@LLH5> LLLUxHLl$PHLHT$PIT$HHD$PHxL9uHD$@HxL9H20HHHD$0HxL9H 0HHHD$ HxL9HZ0H5C 0HKaHvD$DH[]A\A]A^A_fDHvD$DfDHvD$DfDH$HL|$ Ht$PHD$PLvHHlHQsL|$ Hu`LOYmH=0HWL% H=0HWL%H=0HWjHt$%[H=v0HWtUPLi%CIHD$PHt$0HxnHD$ Ht$Hx[HLpVPJHIT$Ld$`HLt`HD$hIGH}hH$PHrH}HIuHnWH=0HWt&Lt$0L$4PJHI5HxLl$IHD$@LHxHD$0Ht$HxoIHD$@Ht$PHxTIIHD$PLl$LHx2띋PJH-PJHPJH;AWAVAUATUSHHHD$dFHHl$`H}hL- 0L=( 0HƄ$HDŽ$1Ƅ$HDŽ$MeIGMuHDŽ$HDŽ$H$HDŽ$ID$Ld$`Lt`HD$hI|$FIE 1HD$pH@H|IE(HFIEIU0H}PH@HT`H0HDŽ$HDŽ$HDŽ$HDŽ$HPHDŽ$HDŽ$HT$`HPhH@HD$pH0H$HHD$xHD$ Ht$Hx+HL@PPJHIT$Ld$`HLt`HD$hIGH}hH$~JHkH}HZIuH>QH= 0HWt&Lt$0Lr4PJHI5HxLl$IHD$@LHxRHD$0Ht$Hx?IHD$@Ht$PHx$IIHD$PLl$LHx띋PJH-PJHPJH;AWAVAUATUSHHHD$dFHHl$`H}hL-w0L=0HƄ$HDŽ$1Ƅ$HDŽ$MeIGMuHDŽ$HDŽ$H$HDŽ$ID$Ld$`Lt`HD$hI|$@IE 1HD$pH@H|IE(H@IEIU0H}PH@HT`H0HDŽ$HDŽ$HDŽ$HDŽ$HPHDŽ$HDŽ$HT$`HPhH@HD$pH0H$HHD$x6H0L%$ 0HuH}hDŽ$HHD$xID$H$?H}H5 :H}H%c{IHID$HD$ H$HH$HT$@$H9sH$L|$ Ht$PHD$PLkHD$PHxL9Lt$0HT$H54 L-Ll$@LL4 H5 L0LLkHLl$PHLHT$PIT$HHD$PHxL9uHD$@HxL9H0HHHD$0HxL9H0HHHD$ HxL9H0H50HTHvD$DH[]A\A]A^A_fDHvD$DfDHvD$DfDH$HPL|$ Ht$PHD$PLYjHH)`HfL|$ Hu`LLmH=0HWL H=t0HWLcH=F0HWjHt$3[H=0HWtUPL CIHD$PHt$0HxHD$ Ht$HxHLJPJHIT$Ld$`HLt`HD$hIGH}hH$NDHeH}H*IuHKH=T0HWt&Lt$0LB4PJHI5HxLl$IHD$@LHx"HD$0Ht$HxIHD$@Ht$PHxIIHD$PLl$LHx띋PJH-PJHPJH;H9'AUII)ATIIMUMSHH(HGHMH)HII9HH)HLM9J,HHH)H9It(HtMLMXLYMXLYIHL9uHIHH)HkHIH~(@HLHHLLGL@LGL@u1M~+DH H HLHLHLHLHIuH([]A\A]fDHIL*L9Mt-DMtI9I8IyIxIyIxIIL9uM)H9IK RL LKLt.fDHtI8H9IxHyIxHyIHL9uLHLH)HkHH1HHfAWGAVAUATUSHHHEHD$ H$HH$HT$@$H9!H$HqL|$ Ht$PHD$PLz`HD$PHxH9Lt$0HT$H5 L"Ll$@LLH5 LLL`HLl$PHLHT$PHUHaHD$PHxH9uHD$@HxH95H~/HHHD$0HxH9HV/HHHD$ HxH9H/H5/HIH$SL|$ Ht$PHD$PL\_HhH HP0@HL:H[fL|$ It$PLAdH=|/HWFLk9H=N/HWL=H= /HWeLH=/HWt\nHt$ _HHD$PHt$0HxHD$ Ht$HxHH>H؋PJHHHD$@Ht$PHxHD$0Ht$HxHH=F/HWLt$0EL0 8HIFI|$XH$8H*ZHHD$PLl$LHxHD$@LHx^HLl$PJHtPJHI|$HTIELl$`L|`iPJHPJH'fff.AWGAVAUATUSHHn HcH␸TH[]A\A]A^A_fDFf0f1f2f*fLd$`I|$X!L5B/Ƅ$LHDŽ$Ƅ$1HDŽ$HDŽ$IFHDŽ$HDŽ$H$HN/LhLxI}Ll$`L?.H/I|$@HD$pHD$xHDŽ$HDŽ$HDŽ$HPH@HDŽ$H$Hh/HT$`HHD$h%H>/H-/It$I|$XDŽ$HHD$hHEH$H.H5\ Ld)LIHH@IH{8CCLYHN37HHEHD$ H$HH$HT$@$H9H$HL|$ Ht$PHD$PL&ZHD$PHxH9Lt$0HT$H5 LKLl$@LLH55 LLLLZHLl$PHLHT$PHUH HD$PHxH9qHD$@HxH91H*/HHHD$0HxH9H/HHHD$ HxH9HR/H5;/HCCH$L|$ Ht$PHD$PL YHH HP0DHL:4HUfL|$ It$PL~;H=,/HWJL=H=/HWLH=/HWeLH=/HWt\rHt$cHHD$PHt$0HxHD$ Ht$HxHH8H؋PJHHHD$@Ht$PHxMHD$0Ht$Hx:HH=/HWLt$0ILIHD$ Ht$Hx렋APQlH=/HOt&LHT$HT$L딋Hqpfffff.AU1ҹATUHH5, SHHHxHUHrHPH9HN Ld$HLl$ L=HT$H5f LH|$PLLH&HD$ H-/HxH9HD$P11HxZHD$P11D$0HxBHD$P11D$8Hx*HD$P11D$@H8D$HD$@f.D$HL$HC D$0f.D$8CD$8CLd$XH\$PI9HHzH9uwHI9uH|$PHtHD$HxH9Hx[]A\A]D$HCD$0f.D$8mL$8CKhLH=u/HOtPjLf]HHD$ H\$HHxhHD$HHxWHOyHHD$ Ht$Hx#PJH f.DAWAVAAUIATUSH(HGH+HHLH4$6ImMEIH@HL)HHLtH4$L%/HHIT$HI9L%o/LLML$@Ht H2H1L HHH9uIXHLL$H)HIDHIHQL9uZH9IuI}Ht H$H$MM}IEMuH([]A\A]A^A_@HH9vNILH=/HrtJLHHD$L $HD$L $iHH9wIIq~yfHH5/H@fff.HHHHHf.HSHH[fffff.ATH9UHSHHAHEHA9HHt1HEH)1)[]A\PpuAHHPpuTHEHPp¸uHHH[]A\HfHEHPptf[]1A\f념fWÐf.fWÐf.HHHHHfffff.HHHHH@fffff.HHHHH@fffff.HHHHHfffff.SHHHGHtH[fHHHH{H$H$HHCtH<$HtHCH[Ðf.ATUHSHHH H H$HHD$D$uHH H[]A\DH}H.HH H[]A\Ðfff.USHHH/H|$H|$D$ HD$(D$0HCHD$xH|$(HSD$ HT$D$ HH[]H|$(HSHHT$H3UHHSHHHHsHHHH[]Ðfffff.ATIUSHH HLHH\H H[]A\HD$D$HfDH/SHHHHH{HtHC[Ðfff.SH5H[fffff.SHH0H\$HHH|$ Ht D$ D$ H0[H|$ HHtH1fff.ATUHSHH HD$IHEHLHhD$1D$f.D$w$HHHpD$D$f.D$H []A\Ð@HHtAHH@HxHH@HpH9t1?*t HfDHSH5 HHHT$wHH[fffff.SH5 HHHT$GHH[fffff.USHHH/HGHwHG HHHHtGCH[]s*HHCH{HHtHCH0UHSHH(H-/HGHHHHPH}HC CH{HmHtu .EH{$H$ED$D$@ED$D$@ED$D$@HCtH{H([]H{HHtHCH'/fDATUHS1H HP0HIusHL9tgHUHHRD$D$f.D${@D$D$f.D${@D$D$f.D${ f1H []A\Ð@AUATUHHSHHhHr Ll$ H$HD$D$HLtvtA|6HLItAH{HL1HEHhH[]A\A]fHLImuHEHhH[]A\A]HLI*uHEΐfffff.HHH@Ht 'fffff.HHSHH[fATUHSHHH`HIHHD$ @D$(D$ f.D$(w'A $L$0AL$L$8L$0f.L$8vH`[]A\f.L$(wf.D$8wAD$D$@@D$HD$@f.D$HwAD$D$P@D$XD$Xf.D$PwH|$HHH|$-H|$HlD$ D$ H`[]A\H|$HHtH,@ATUHSHHH`HIHHD$ @D$(D$ f.D$(w'A $L$0AL$L$8L$0f.L$8v 1H`[]A\ff.L$(wf.D$8wAD$D$@@D$HD$@f.D$HwAD$D$P@D$XD$Xf.D$PwH|$HH贳HEHHHH|$Ɖ H|$HRD$ D$ H`[]A\H|$HHteH*fff.ATUHHSHH`HIHEHD$@D$D$f.D$w'A $L$ AL$L$(L$ f.L$(v 1H`[]A\Ðf.L$wf.D$(wAD$D$0@D$8D$0f.D$8wAD$D$@@D$HD$Hf.D$@wHEHPxtDH?/H5P/1HHD$PHHH|$PHHD$XKH`[]A\HHPxtEH/H5/1H]HD$PHHH|$PHHD$XDH|$PHH谱H|$PH|$PHD$ 蟾D$ H|$PHHt脾H(fff.ATUHHSHH HHHHHIHEHLH!u 1H []A\fHEHPxuH|$HHҰH|$"H|$HtÉD$ ŽD$ HEHUHEHSHHD$D$f. X(H|$HHtNH'fDATUHSHHH`HIHHD$ @D$(D$ f.D$(w'A $L$0AL$L$8L$0f.L$8v 1H`[]A\ff.L$(wf.D$8wAD$D$@@D$HD$@f.D$HwAD$D$P@D$XD$Xf.D$PwH|$HHDHEHHHH|$Ɖ{H|$HRD$ D$ H`[]A\H|$HHtH=&fff.ATUHHSHH HHHHHIHEHLH葼u 1H []A\fHEHPxH7/H5H/1HHHH|$HHD$)fDHEHMHEHCHHD$D$f.c HH|$HH蠭H|$FH|$HD$ 菺D$ H|$HHttH$fff.ATUHSHHH`HIHHD$ @D$(D$ f.D$(w'A $L$0AL$L$8L$0f.L$8v 1H`[]A\ff.L$(wf.D$8wAD$D$@@D$HD$@f.D$HwAD$D$P@D$XD$Xf.D$PwH|$HHdHEHHHH|$ƉH|$HRD$ 4D$ H`[]A\H|$HHtH]#fff.SHHHHH H|$իH|$HH|$Ht D$ ŸD$ H [H|$HHt詸H"ATUHSHHH HIHHLHuH []A\HHPpHHEujPpu]H|$HHHEHHHH|$4H|$HtD$ D$ H []A\@HHPpH []A\H|$HHt輷H"@AT1IUSHH0HT/HYHLH[H0H[]A\Ðfffff.SHHHD$D$HHH[fffff.SHHֺHD$D$软HHH[ÐSHH։HD$D$萯HHH[@USH(HtH([]ÿHl$HT$H5 HHoHHHD$Ht$Hx豶H /H5/H HHH HHD$Ht$HxrHHvHH)HHHL LBM)ILMLL1D$D$D$f.D$vD$f.D$wLAD$BD$D$f.D$wD$f.D$wHH9t/HHL9vHzH+:HH1H9fATIUHSHHFH)HHtkHID$H)HHtI1DH轤f.H H5ҏ H=  HC荤f.AUIH5m ATUSHHHLd$HT$ Hl$ LLHH5 HLHHH-/Ld$0HLHT$0HUH蒟HD$0HxH9udHD$ HxH9H/HHHD$HxH9ufH/} HCHCC HHHH[]A\A]H=8/HW{Ht$%lH=/HWyLlH=ڪ/HWtk3L;&HHD$0Hl$HHxϡHD$ HHx辡HD$Ht$Hx諡H HHl$ʋPJHHHD$ Ht$0HxvH뱋PJHPJH(f.DAVIHAUATIUHSHpLl$@H\$0LLHH5 HHT$0HD$@HJHHpH;rv H;p:LHHH/Lt$H5ʍ LHT$ HSHHT$ 8Ll$PLLxH5" LtLt$ LL4HLl$`HLHT$`HSHHD$`HxH9HD$PHxH9H/HHEHD$HxH9(HD$ HxH9HD$0HxH9u~HD$@HxH9uIH/HHEI$HEID$HEID$HE Hp[]A\A]A^@1L.H=Q/HW LDH=*/HWaLTH=/HW%LH=Χ/HWL轻H=/HWL菻H=r/HWt?ZHt$cKH\$HHD$@HHxeH]PJHHHD$`H\$HHx7HD$PHHx&HD$H\$HHxHD$ HHxHD$0LHxsHHD$0Ht$ H\$HxΝSHLt$ H\$HH\$vHHD$PHt$`Lt$ Hx蒝gHLt$ ZHLt$ H\$^PJHPJHPJHQPJHPJH_f.@UHSHHHǸHHHHH[]H;Ht$HH˜HSHIHHHHHHHrH;pvH;rv)La HHHt/HHH[H1LАAWAVAAUATIUSHHHAt_@tHĈD[]A\A]A^A_DHl$PFHHLxHAtyH|$`Ht芛H-ɞ/Ld$XLd$PD$`HD$hLD$pHEHD$PAuL| EIuqHEH|$hHD$P@Et(Ld$@H HLHLHHD$@Ht$0Hx)Hž/H5/Hs(LI^L|$0LHD$LɎLt$ H$ HL肱Ld$@LLL?HT$LL/HD$@Ht$Hx蜚HD$ LHx苚HD$0LHxzH/H5/LHH|$hHEHD$PHFHH|$`HtH,IHD$@H\$HHxHD$ HHxHD$0HLHxLIH\$IH\$HHHD$@Ht$0Hx赙HeHAVHH9AUATUSH/HWHH)HH9w[]A\A]A^fDLgI)IHtXL4L`IMtIHLLVH;HtɘL+MMLcLk[]A\A]A^E1E1H=> @AWAVAAUIHATIUHLSHHH$H$LHLHIEH|$ LHt$ H辔I$H|$0LHt$0H裔Ld$0HD$ H|$PHt$@$LHD$@HT$PH|$pHt$`$Ld$`Ht$pH|$PD西HEHHvL$HT$H5„ LjLmIELDL$HLLLH$HtH$HxH;=L/H|$pHtHPH|$PHD$pHtHPH|$0HD$PHtHPH|$ HD$0HtHPHHD$ zHHH[]A\A]A^A_D(L$^H LLIYLL.H$H$Hx腖H/H5/LHa/L$L$Ƅ$ HDŽ$(LƄ$0HH$ALIƿ(LIYL$LHD$LL$H LLwL$LLL1HT$LL!H$L$LHx腕H$LHxqH$LHx]H/H5Ǜ/LH9/H$(HH$IH$Ht軔H$Ht$HxH}HtHPHELH|$pHtHPHD$pH|$PHtHPHD$PH|$0HtHPHD$0H|$ HtHPHD$ HHgIH]/H$(HH$4H= /HWt)H$IPJHHOH`HqIHHIH$H$Hx贓LIIH$L$LHx胓H$LHxoH$LHx[LsIL$IL$If.DAWAVAUATUSHHXHL$H4$HT$H5 HT$]L$L|H$L$H5 HLHD$ UL$LL蒡H5HHtvH8H;HKH)HHLlHtHHxH;IHtH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.SHHHHtAHI/H5Z/1軺HHD$t"H{HWH;Wt+HtHHGHHGH[f1@Ht$^f.fAUATAUSHHHWH+HHLHt$HHtvH8H;HKH)HHLlHtHHH;IHtgH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.SHHHHtAH/H5ڈ/1;HHD$t"H{HWH;Wt+HtHHGHHGH[f1@Ht$~}f.fAUATAUSHHHWH+HHLHt$LHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHxH;IHtH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.SHHHHtAHQ/H5Z/1軷HHD$t"H{HWH;Wt+HtHHGHHGH[f1@Ht$f.fAUATAUSHHHWH+HHLHt$HHtvH8H;HKH)HHLlHtHHH;IHtgH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.HGH;Gt&HHtHHGHHGfD1@{}f.ATAUSHo0H_(wH9tfH;HDHP H9u[]A\fDUSHHo0H_(H9u#HH9tH;HPpuH[]H[]fff.ATUSH_(Lg0L9t$f.H;H9LHI9u[]A\Ðfffff.ATUSH_(Lg0L9t$f.H;H9LHI9u[]A\Ðfffff.ATUSH_(Lg0L9t$f.H;H9LHI9u[]A\Ðfffff.HG0H+G(HÐfHG(HÐfDATU1SH_(Lg0L9tDH;HHP8HI9u[H]A\Ðf.ATIUSHo0H_(H9t@H;HLH H9u[]A\Ðf.ATIUSHo0H_(H9t@H;HLH(H9u[]A\Ðf.ATUHSHHHHLc0H[(L9tfDH;HHH8I9u[]A\Ðf.ATUHSHHHHPLc0H[(L9tDH;HHH0I9u[]A\Ðf.USHHo0H_(H9u+HH9tH;HPpuH;HH@(H[]H1[]ÐfDUSHH_(Ho0HD$H9t/@H;HHx$H9D$X$D$uD$H[]USHH_(Ho0HD$H9t/@H;HH$H9D$X$D$uD$H[]ATUHSHHHHLc0H[(L9u*@H;HHH@I9tHEHPt[]A\Ðfff.ATUHSHHHHPLc0H[(L9u)H;HHHHI9tHEHPt[]A\Ðfff.f.SH5pm HHHT$跫HH[fffff.ATUH SH Lc0H[(V H V H@L9@HHEt#fH;HH}HHI9u[H]A\H}HHt&{HEHffDHSHHt,H5~/H5/1OHs(HHP([fD1@AUATUHSHHHD$AtLHtDH}/H5/1HHIt$HM(HU0H@(It$0H)H)HHH9tE1HD[]A\A]1Hu&HM(HU0HH)HH9sID$(H L臞H\$0LH}H5qN H[LHHHx/Ld$@HLHT$@HSHBkHD$@HxH9ufHD$0HxH9Hcx/HHEHD$ HxH9H:w/HHEHD$HxH9uFHv/H5vq/H~H=v/HW;yHt$ӊjH=v/HWL詊H=v/HWUL~HH=av/HWt/ LTHH脻H\PJHLd$HHD$0LHx6mHD$ Ht$ Hx#mHD$Ht$ HxmHHD$0Ht$@HxlHHHD$@Ld$LHxlH뮋PJHPJHPJHATUHHSHH jnHt/HC0HC(HC8HHHEHC(HEHUHC0HS0HEHUHC8HS8HEH{0HS(HH)HHHHH:HzHzHzu*fDHz tIHxtbHxtkHxttHHB HHuHH)HHtdHtTHuH>u fH9sHeH []A\Hr(f.Hr0f.Hr8H>tHH>tHHHHrHrHrHH{( tHdHLd$荵HT$H5\ LHvLHHD$Ht$HxjHs/H5m/HIHL贸zIHD$Ht$HxyjؐfDAVAUATIUHSH虍Hr/HHEID$0I+D$(HE(HE0HE8HHuHE8HE0H[]A\A]A^fHH9L,HLHHE(HE0J(HHE8@HtHHHuHE0H)HHt1IDID$(L4LH4HLHE(H$H$H8HHtHPH<$HtHRHE0H+E(HHH9rH[]A\A]A^HHrH H}(Hqfff.AWIAVAUATUSHXHH|$HPpMg0I_(HD$0HD$8HD$@LH)HHHHD$@11I9HT$8Lt$ tV@H3Ll$0LHHD$ HD$ H}HEHtHPH|$ HtHPHHI9uLl$0IwH|$L8Hl$8H\$0HD$HL$H9HH;HtHPHHH9uH|$0HtcgHD$HX[]A\A]A^A_HH9wvHHHHD$0HT$@HtHHHuMg0I_(Hl$0ILH|${HiHLpHfffff.AVAUIHATUHSH0hHo/HE(HE0HE8HMHEGI}I]HH)HHHHsH;zH{fH{lH{jH/@Hy taHxHxHxHHA HHuHH)HHHHuH>ufDH9MeL9Lu(11,HHtHHHI9HE0t$HE0HU8H9uHLEHH>7H"HHHsHHsHsLHD$mHAHD$HLd$ eHT$H5yV LHNLHHD$ Ht$HxdHl/H5g/HڻLu({IHD$ Ht$HxYdHqLIf.ATHgl/IUHSHo0H_(HH9t?fDH;HtHRHHH9uI|$(Htc[]LA\/Hf.ATHk/IUHSHo0H_(HH9tGfDH;HtHRHHH9uI|$(HtcLÀ[]LA\cHfATIUSHoHH9tBDH;HtHRHHH9uI<$Ht[]A\b[]A\HfDATIUSH@LHHnaH+H[]A\HHhbHAWAVAUAATUHSHHGH+HHLHt$H}LEILxHt$HL)HHLtHI9LLHt HHHHHH9uLuH]IL)HI9M|t&@H;HtHPHHL9uLuMtLaLeML}LeH[]A\A]A^A_HH9vIMHH9wIIf.H T H5T H= Hmbfff.H S H5S H= H$=bf.Hi/HHÐHi/HH`f.SHvHHP H[Ðfff.Hih/HHÐH)i/HHÐHi/HH=`fff.SHwH[`fffff.H h/SHHHHG$dCC(HC C,[ÐfDUSH0H-HH{H+HH[]HH_HfAUAATIUHSHHHHog/HHGcHDkC(C,tHEHCHEHCMtLc H[]A\A]f.;HC @AVIAUAATIUSH0bLDLHH^H+H[]A\A]A^HH^H fff.UHSHHHHf/HHGbHCC(C,tHk H[]f.{HC @ATIUSH0LHHNH+H[]A\HH^H`UHSHHHHe/HHGbCHHC C(C,tHEHCHEHCH[]Ð@ATIUSH0 LHHNH+H[]A\HHx]HATHge/AUHHSHHH|aDccHHC C(C,tHEHCHEHC[]A\f.AUAATIUSH0HcDLHHRRH+HH[]A\A]HH\Hfffff.UHHvSHHHHd/HHGvECHE C(C,HC H[]ATIUSH0LHHmH+H[]A\HH(\HpHGÐf.ATIUSHXlL1HHH+H[]A\HH[Hfffff.ATIUSHH D$D$f.D$z*XLHHHuHH []A\FD$D$f.D${FD$D$f.D${HLdH$HH"[Hjf.USH(HtBHHHH$HFHD$HFHD$聻HHTH{H:H([]H lO H5N H=Y \@ATIXUHSLHHH{H[]A\HHhZHATIUSHHHPXH,$H$LHHH%H<$HtHPHH[]A\HH<$HtHPH@HHYHATIUSH@fffff.ATI0UHSI.HtHPIUIEHH)HH9%HH(L[]A\A]fDHI9JH襧H H$LHL$DHtHHHuHL$1HEHHPHLXH$LI8IHtHPHL9uHCĚLH=HFHHHAUHATIUHSH(HFH+H$HD$HD$HHHHD$HD$@蘦LHHIHTH9tpH)HHt3HAHHtwt2H[]fDH/;H;HH[]fDCH[]@HtHk;Hc;HHH$H[]D}H[]@#H[]fff.SHH HBH H9H)HHtKHHt$H$ `H|$H$Ht$tG~tYDRHD$HH H[HHHH H[f.{6HD$HH H[f. HD$HH H[f.RHD$HH H[f.H|$ƑHD$HvUHSHHHFHH9H)HHt_H?HHt<tt"fH[]fD>H[]@3vH[]@0H[]@H2HHH$H[]fHHH$f.DHB/HHÐH B/HH-9f.ATUHSHWHH9tdH)H8HHHPPHMAHEH)HvG HMHUHH)HH9s H1[f{TPu{ TPuҋ{TPu{t1뵐SH?TpPt {t>1[f{TSPu{ TBPuҋ{T1Pu{t1뵐W OHO WOWOWOWOWAWAVE1AUATUHSH(HD$H4$H5{ HHD$^H$1N<0AFf.@H//SHHHH(HtHPHHC(EH[F(fDATIUSH0蜑LHH\H+H[]A\HH(HPGHG D$GHGHG(D$GHGD$HG0D$G HGD$G(D$G0Ð@H8ND$G$D$f.$zL$(O L$O(f.D$.L$0\$L$\ $D$D$L$OYD$L$L$0\L$D$D$(\D$L$L$YL$D$D$L$YD$L$YL$D$D$L$XD$L$XL$D$D$L$^D$D$D$D$D$H8L$OL$L$f.L$HD$D$H8L$ L$ f.L$(4 T$D$H8ÐfHwD$fWf.D$w%D$  f.v L$D$HD$D$HÐfffff.UHSHHD$XGD$`D$Xf.D$`zK L$xf.D$x!Hw$C( $D$Cg D$D$\D$D$D$YD$ D$XD$ D$(C D$0CD$8D$0\D$8D$@D$8YL$@L$HXD$HD$PD$PED$(UEHĘ[]fNL$hOL$pL$hf.L$pHHEHFHEHFHEfDF$C($$f.$tfffff.AULnATILI UHSHHXuLH$}u $D$ f.rL$1f.rHX[]A\A]fWf.$ HT$LHHD$T$ HD$Hq HT$0LHHD$0HD$8\$@HHD$HEHD$HEHD$ HEHD$0HE HD$8HE(HD$@HE0HX[]A\A]f.D$K1'fff.ATIUHSHHWtD$D$f. v f.D$CD$CD$D$UT$ \D$ ML$(D$PD$\D$(D$XD$PYD$PD$`D$XYD$XD$hD$`XD$hD$pQD$pf.@D$xC T$@D$0C(L$HD$8D$0\D$@$D$8\D$H$$Y$$$Y$$$X$$Q$f.$$f.D$xw'HC I$HC(ID$HC0ID$Hİ[]A\ÐHCI$HCID$HCID$Hİ[]A\f.HİHH[]LA\FD$p蜌UM$If.GD$FD$D$f.D$D$f.D$GD$FD$D$f.D$D$f.D$w~G D$F D$D$f.D$wUD$иf.D$wBG(D$F(D$D$f.D$wD$1f.D$@fDGD$FD$D$f.D$ztJN L$f.D$z/u-GD$F(D$D$f.D$z 1DOL$NL$L$f.L$zuO L$N L$L$f.L$z6u4O(L$N(L$L$f.L$zuL$L$0G D$D$f.D$C=G(D$FD$D$f.D$1f.D$D@AUHVIATLg UHoLSHH IU LHxx9ډMH[]A\A]1~H[]A\A]ÐfSHHJL@ HV HHĀH HH$ HD$HD$0HD$8D$@HD$HHD$PL$XD$pW:H|$u/7 H, %$ [cH[HD$0HHD$8HCHD$@HCHH[Ðfff.ATIUHSHH0H$#$$$f.$zAH$H$H$HCHC(HH HSHKHS H0[]A\$$$f.${$$$f.$o H$It$HHDŽ$HDŽ$$I$D$$D$AD$D$ AD$D$(D$\D$ $D$\D$($$Y$$$Y$$$X$$Q$f.$H$It$ $H% $HDŽ$HDŽ$$$$x$$AD$$AD$$AD$$wH$D$0$D$8AD$ D$@AD$(D$HD$0\D$@$D$8\D$H$$Y$$$Y$$$X$$Q$f.!D$$f.D$uD$ h H$HuLHDŽ$HDŽ$$SG$D$P$D$XED$`ED$hD$P\D$`$D$X\D$h$ $Y$$($ Y$ $0$(X$0$8Q$8f.$@D$f.$@voE$E$xE$$$$$$$$@D$ H$Hu LHDŽ$HDŽ$$ E$D$p$D$xE $E($D$p\$$HD$x\$$P$HY$H$X$PY$P$`$XX$`$hQ$hf.G$pD$f.$pv`E $E($xE0$$$$$$ $$H$xC$C$C$C $C(H0[]A\$$$$x$$AD$ $AD$($AD$0$&$hh$8U$B$/Ff.HSHJL@ HV HHH[Ðfffff.USHD$G L$D$PGD$XD$P\D$XD$`D$T$`YYT$`D$hD$XXD$hD$pG(D$xG$$D$x\$$D$$YY$$$X$$$$X$$Q$f.$fWf.D$f.$D$`YD$$$^$D$@$YD$$$^$D$HD$pa \D$H^$$XD$@$$$FH[]/D$HD$@$Ht$~Ht$Hl$0`]HT$.H5 HHIBHHkHD$0Ht$/HxH4/H5u/HiHH`Hb|HHD$0Ht$/HxLf.AUI1ATUHSHHHr HHPH<$Iu1HPHH<$Iu HPHHHH-H<$HtHPHH[]A\A]H<$HHtHPH{H/HHM#f.H/SHHH)#H[ AUIH5] ATUHSHHLd$HT$ H\$ L@LH' H5 H#LH~HH/Ld$0HLHT$0HSH HD$0HxH9uIHD$ HxH9H/HHEHD$HxH9uCH/HHEHH[]A\A]H=c/HWHt$T-H=:/HWL--H=/HWtk\L-OHHD$0Hl$HHxHD$ HHxHD$Ht$HxHyHHl$ʋPJHHHD$ Ht$0HxH뱋PJHPJH/f.HH(HPXHÐfff.HHHÐUHSHHHHPptHHH[]fDHEHH1HH[]@ATUHHSHHPptHEH[]A\fHHLP8HHPHA[H]A\Ðf.SHHPpuH{(1[HH@f1[fff.AUIATU1SHHH(HP0HIu0f.HL9tH Iu(HHQHHR tH[]A\A]Ðfffff.f.UHHSHHHPpuWHs(H~HHPH<$hH{HtDH4$H$^wH<$HEHtHPHH[]ÐHHHHH[]H  H5 H=$ CLH H5 H= @-H<$HHtHPHvfSH5b HHHT$wKfffff.AVAUIATIUHSH HHFH$HD$HD$H)HHHHD$11HHt$tBHHH$H HH8HHtHPIUIEHH)HH9rLHHHLd$H$I9H;HtHPHHI9uH<$Ht,H.HHEH []A\A]A^HH9wSL4HL^VJ40H$Ht$HtHHHuIUIMH)HLxIHHHVfDAWAVAUATUSHXHH<$Ht$HPp\HD$HD$0Ld$0HD$8HD$@Lt$ Lh(Lx0M9Hl$IuLHH|$ HPXH1?H|$ HHP`HHHHL<[H|$HtHPHH|$ HPXH9rH|$ HtHPIM9kHD$LLHpgHl$8H\$0HD$ H $H9HtqH;HtHPHHH9uH|$0Ht/H$HX[]A\A]A^A_LLZdHD$H|$0HpHD$0H $HHHL+H#UHH|$ HtHPH|$HHtHPfff.ATIUH@SSLHH.H.HHH]H[]A\HH9HTAWAVAUAATUHSHHGH+HHLHt$hSH}HMILxHH)HLHHt$HHH}HuHH9tvHLfDHt HHHHHH9uLuH]HH)HI9M|H;HtHPHHI9uH}Ht4LeML}LeH[]A\A]A^A_fDHH9vIH:HH9wIILHGH;Gt.Ht!HHHHGHHG1@GPÐ@GPÐf.f.1Ðfff.f.PHuH@(H(1H@1Ðfff.AUIATLgHUHSH_0HI9tHEHHHPI9uIEHH[]A\A]ÐfDHHHHH@fffff.HHHHHfffff.HHHHHfffff.HHHHH@fffff.1Ðfff.UHHSHH(HPpHHP(HH$P(HHD$P(@HHD$P(@ D$,PD$f.$wG$@D$f.D$vMD$@D$@HEH(H[]$D$@D$f.D$w@D$@@ O v Hg H@HPHEH([H]Ðfffff.SH5 HHHT$HH[fffff.SHHHvH<=H$HHH[fff.USHHH(HHL.H5U.1HHP(HHHP($ED$D$f.$w`$f.D$w5@D$ED$D$f.D$w*D$1f.D$H([]1vfATUHSHHHD$tAHHg.H5p.1HHt}HEHPpHuHPpt&H1[]A\H@pHH[]A\HEHP(IHHP(Ht@Mt;D$H[HLH]A\\)H H5( H=O =H H5 H= fffff.ATUHSHHPpt []A\HEHL`HP([HHL]A\UHSHHHPpt H[]HE1Hs(HPHEHP(tHHHH[]fff.UHSHHHPpt H[]HEHs(H1H@H[]fDHGHHtDG@D$D$f.D$zHGHfHGHfUH(SHHKHH`.fWHB  HBHBJHC0HBHC8HBHC@HBHUH[H]AUATUHHSHH(Hy.9 HC0HC8C@HCHCPHHH.HHHC(t=HEHP0HHEt9HP0HwNCPHEHPH([]A\A]@CPH([]A\A]Ð1HPHHS0HPHS8H@HC@붿Ll$,HT$H5 LILL*HD$Ht$Hx;H.H5}.L8IHEHPHy.HHHC(aLJIHD$Ht$HxLM.IUHHSHHH.fW HCHCPHK@HHJ.C8C0HHC(HEHC0HEHC8HEHC@H[]ÐUHSHHH.HHH.HHC(HE0HC0HE8HC8HE@HC@HEHHCHEPCPH[]@USHH(HPpu HHP(D$D$H([]ÿHl$N*HT$H5u HH7HH|HD$Ht$HxyH2.H5c.H6HHx-HPIHHD$Ht$Hx:USHH(HPpu!HHP(@D$D$H([]ÿHl$)HT$H5 HHvHHHD$Ht$HxHq.H5.H6HH,HHHHD$Ht$HxyؐfDUSHH(HPpu!HHP(@D$D$H([]ÿHl$(HT$H5, HH HHHD$Ht$HxH.H5.HB5HH+HGHHD$Ht$HxؐfDHG(f.f.@HSHH[f1f.Ha.HH f.HA.SHHHH[Hq.HHH.HHG(nf.@HA.SHHHHO.HHG(:H[AUIH5y ATUHSHHLd$HT$ H\$ LB LHH51 HLHHJHH^.Ld$0HLHT$0HSHHD$0HxH9uIHD$ HxH9H#.HHEHD$HxH9uCH.HHEHH[]A\A]H=.HWHt$H=.HWLH=s.HWtk\LfOHHD$0Hl$HHxhHD$ HHxWHD$Ht$HxDHufDI9I9Lu0Lu'MfHHtHHHI9HE8t$HE8H;E@uHLHI9ufDI}Ht¾L躾H@[]A\A]A^DH](H@[]A\A]A^MeI}D$$LI9mH\$ O HT$H5+ HI8HLHD$ Ht$0HxzH.H5.L@Hq(Hq0Hq8H>HH>HHuH|$H}(HD$HD$HHE(tHPH|$HtHPMHHHDHs2Hs)Hs Lu0HLH}(HtHPHHE(Hj'ȿH\$0HT$H5 HIHLHD$0Ht$ Hx$H}.H5f.LnHmaHHD$0Ht$ HxLLu0 AHD+HHD$ Ht$0Hx赼א f.ATIHUHSHH@gH.HHI$I$HC8HC@HC0HC(HEHC0HEHUHC8HS8HEHUHC@HS@HEH{(HHPpH{8HS0HH)HHHHH:HzHzHzu8Hz taHxHxHxHHB HHuHH)HH:H"HuH>ufDH9H@[]A\fDHk8H{0D$$HH9Hl$ HT$H5{ HIHL-HD$ Ht$0HxʺH#.H5 .L@Hr(_Hr0OHr8?HsH|$bH{(HD$HD$HHC(tHPH|$HtHPH{($H>HH>HHrHHHrHrHHD$ Ht$0HxֹLH{0%H{(HtHPHHC(H#Hl$0/HT$H5 HIHLHD$0Ht$ HxZH.H5.LHfHfHHD$0Ht$ HxCf.ATHw.IUHSHo8H_0HH9tXfDH;HtHRHHH9uI|$0Ht[I|$(HtHP[]ID$(LA\H̐ATH.IUHSHo8H_0HH9t`fDH;HtHRHHH9uI|$0Ht۷I|$(HtHPLID$(j[]LA\鮷HfATIUSH0 LHHnH+H[]A\HHhH!ATIUSHoHH9tBDH;HtHRHHH9uI<$Ht[]A\[]A\HfDATIUSHH\ LHH~H+H[]A\HHȶH!AWH AVAUATUSHH9HHGHIH)HHH9wH[]A\A]A^A_@LgMI)ILH}H,vHHI}IL9Lt.fDHtH H HKHJHKHJHHI9uHtKvLM}ImIIEH[]A\A]A^A_H1E1H=d f.AWAVAUAATUHSHHGH+HHLHt$H}LEILxHt$HL)HHLtHI9LLHt HHHHHH9uLuH]IL)HI9M|t&@H;HtHPHHL9uLuMtLѴLeML}LeH[]A\A]A^A_HH9vIMHH9wIIf.ATIUHH)HHSHHHDhfDH{HPptrH{HPpH{HPpH HtH;HPpuH[]A\LH)HHt2HtHt7[]LA\@HC[]A\H;HPptHH;HPptHH;HPpufDHC[]A\HC[]A\f.DATIUHH)HHSHHHDhfDH{HPptrH{HPpH{HPpH HtH;HPpuH[]A\LH)HHt2HtHt7[]LA\@HC[]A\H;HPptHH;HPptHH;HPpufDHC[]A\HC[]A\f.DHXD$tD$D$ D$ HXGH<$D$(D$YD$(D$0D$0H<$D$8GD$@D$8^D$@D$HD$HD$ D$ HXfDL$fZL$T$ZT$ D$ HXfDUHSH(?tPH$$| D$HD$CD$D$S D$D$CH([]Ðf.HGÐ8 7GFD$D$GÐ@@t)tҸt+f.f.f.H8fWGD$f.L$wlD$j D$fWD$^R D$D$f.v ˨D$ L$ ,H8fD D$(D$(,X$@USH8D$fWf.D$s*D$ z fTD$(D$(GH8[]ÿHl$ HT$H5 HHxHHHD$ Ht$Hx躯H.H5.HHHHHHD$ Ht$Hx{ؐD$D$ID$D$)fWÐf.fWff.ATUHSHH HA 1A8t H[]A\C$fWf.$w5ML$f.D$w"$f.D$f.D$DH[]A\"UHSH"H19úMH[]AWAVIAUATIUSHH\$@H{X苧H.Ƅ$xHHDŽ$pƄ$y1HDŽ$HDŽ$HHDŽ$HDŽ$H$H.HhLxH}Hl$@L?gL-8.H{@HD$PHD$XHD$`HD$hHD$pIEHD$xHD$@IE@H$Hڶ.HHD$HH.HsH{XDŽ$HHD$HH.HH$A4L,LD$(~D$0AFD$8fWf.D$8H5 HD$8HH5 HIcD$0LuH5ح HI>D$(LPH5 Hf.H5 HH.HI$HD$pHWHt$`HT$$H9H|$hH Lt$ LHD$ LHD$ HxH;=.IIEHD$@IE@H$H.HHD$HH$HxH;=h.H.H{@HHD$HHEHl$@H{XL|@H.HH$HĨL[]A\A]A^A_f.H|$h6Lt$ LHD$ LA&@H5 HH5 HHsPLH=_.HWHt$ LH=/.HWHt$FHH.H{XHH$H HHHH{I|HEHl$@LL|@HHD$ Ht$HxéI<$LH賩HLt$ ̋PJHPJH7DHGD$G D$D$g0d$ \D$ _8\$(D$pD$\D$(D$xD$pYD$p$D$xYD$x$$X$$Q$f.$T$0OD$0d$@L$8\D$@\$H$D$8\D$H$$Y$$$Y$$$X$$Q$f.dT$PL$X$GD$`G D$hD$P\D$`$D$X\D$h$$Y$$$Y$$$X$$Q$f.$$f.$1f.$$Ef.$f.$Euf.$f.$DH$H|$H|$g0_8$U$H|$H|$Ovfffff.HGD$G D$D$g0d$ \D$ _8\$($D$\D$($$Y$$ $Y$$($ X$($0Q$0f.h$8T$0OD$0d$@L$8\D$@\$H$@D$8\D$H$H$@Y$@$P$HY$H$X$PX$X$`Q$`f.T$PL$X$hGD$`G D$hD$P\D$`$pD$X\D$h$x$pY$p$$xY$x$$X$$Q$f.&$$8X$hD$pD$pX$D$x$$Y$8$G$$Y$h$$X$$G0$$Y$$$X$$$^D$x$G$$Y$8$G -*~ $$Y$h$$X$$G8$$Y$$$X$$$n^D$x$$$FHĨ$0Ht$H<$0H<$Ht$g0_8i$Ht$H<$Ht$H<$$`Ht$H<$ H<$Ht$O@SHHHH0HPHH HH$HHD$HCHD$HCH [ÐfD$\$D$L$YD$T$D$D$YD$D$D$\D$D$D$Ðf.UHSHHG0$G8D$D$D$\$D$GD$ D$ \D$D$(GL$(D$0D$0\$D$8G T$8D$@D$@\D$D$HD$\$HD$PHT$HD$PL$(XD$XD$8YD$8D$`D$HYD$hD$`XD$hD$pD$\$pYD$D$xD$(Y$L$xX$$$4\$pH$T$8$D$$$%z ^D$X$$\$$$^D$X$$eXD$$$E$EH[]Ðfff.SfWHHPH y H$HFGOHHD$HFHHD$HHD$HBHD$ HBHD$(HHD$0HAHD$8HAHD$@&HPH[f.H9.HwHHÐfff.USHHH迌HHHHH[]ÐUHHSHHHPPtHHPPtHHPPuHHP(H}Ht$HD$ܴH[]Ð@UHHSHHHPPtHHPPtHHPPuHHP(H}Ht$HD$|H[]DH.HHÐH.HHf.AUATAUSHHHWH+HHLHt$LHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHH;IHtGH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.HGH;Gt&HHtHHGHHGfD1@ f.AVAUATUHSHH H-L-v.HW.IIH1LHtWH跐M$HLHHAPH|$HL#HD$HEH<$HtHPH H[]A\A]A^H.1LHTHt/HGM$HLHHAPH|$HL#뎐H.1LH HtOHM$H|$LHHAPHt$LHD$裙H|$HEH@A@HHH-H|$HHtHPH}H<$HHuf.H٢.HHÐHɢ.HHf.SHHD$MH.D$HC HH[fffff.fWSHH@H[Ðf.UHSHHH\H$HH荕H<$HtHPHH[]H<$HHtHPHzf.ATIUHSHH HHtHHPPtDH$H|$LH<$HD$HD$HHEtHPH H[]A\fDH$HEH H[]A\H<$HHtHPHfHwÐf.USH8D$fWf.D$sD$H8[]ÿHl$ (HT$H5Ú HHHHHD$ Ht$HxSH.H5.HHHRH*HHD$ Ht$HxfATIUSHH@Hl$D$HD$IT$HHH@H[]A\ÐUHHSH(H\$D$H聧D$HHHXH(H[]fffff.AWAVAUATUSHxHFL>H$@H|$Ht$ D$(HHH$@H$HI9HL$L$PIHAID$8AG$(AGH9$A$AG$ tQH$H@$D$8f.$z*u(H$$f.$(ztZ@(Ht6D$8HH@@$(@$@ HHD$8\$$$(\$ $$Y$$$Y$$$X$$Q$f.$$f(^L$(L$@L$@D,AAA*̻L$H^D$HD$P$ \$($0$\D$8$8*Lo L$`D$XD$XYD$PD$`D$`^$D$h$0L$hYY$8D$pD$p$X$(D$xD$8X$$$$PD$x$X貍H9$@tx$PH$H$@$$f.$zHHtvH8H;HKH)HHLlHtHHH;IHtwH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.AUATAUSHHHWH+HHLHt$LLHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHH;IHtwH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.HH7fff.AWIAVAUATIUHSHxHHH|$HH|$HD$PHD$XHD$`HPXHIHD$P1Lt$@HD$@H|$@HtHPHL9tgH|$HHP`HHLLHH|$@HPpuHD$XH;D$`HtHT$@HD$@HHHD$XH|$HPPH|$HPPH|$HPPI4$HT$PL3Hl$XH\$PH9H;HtHPHHH9uH|$PHtsH|$HtHPHxL[]A\A]A^A_ÐH|$LC}I4$H|$ HT$PHD$ IkI4$H|$0HT$P~HD$0IKI4$H|$@HT$P軚HD$@I+HYIHl$XH\$PH9t%H;HtHPHHH9uH|$PHHt蒂H|$HtHPLH|$@IHtHP뒐@AVAUIATIUHSHHH>tZHL5*.Hc.1HL~HHt]fDHLLH$HHH[]A\A]A^HBL5Ն.1H .HHL&HHuHtiH.1LHHtpHLHLH$HHH[]A\A]A^Hi.1LH輶Hu@H 9 H5B H=S d衂H.1LH|HtIEI $HLHHH[]A\A]A^@AWAVIAUIATUSHHHD$0H|$H$HHHLH|$0HD$0HH.H5.1II$LPptSI>I9|$t911`HL$HI$LPHD$HH[]A\A]A^A_f.HD$L fDL訌H|$ LHL|H|$ HD$ HH׆.H5.1IHD$H|$HPp 7HH@LH@IHHD$1HHPHH;l$HLMH<$LHL[{H|$0HD$0HH.H5..1菴HHHHPpuH\$0IGI;GtwHtbHIGHHH;l$IGlHt$I>Lđ_I>11謑HL$H|$HHP<@1@E1H4$LHD$H H5b H=n HHD$H|$t H|$HPI$LPHpHHHPHI?Ht~L}HHfHH@AUATAUSHHHWH+HHLHt$LHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHػH;IHtG}H+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.HSHHPH[fffff.AUATIUHSHHHHLhHHLHAH4$H}H${H<$HHtHPHH[]A\A]H<$HHtHPHAVAUIATUHSHHH HLp|qHHHLAHuH|$H\H<$HD$HHtHPH H[]A\A]A^H<$HHtHPH f.AVAUATIUHHSHH0HILppHHLHAH<$HP0HHw{t@HsH|$ L?HD$ HEH<$HtHPH0H[]A\A]A^HsH|$HoHD$HEH<$HHtHPH:f.H).HGHGGGGHGHÐ@wÐf.AU1ATIUHHSHH(HBL-u.HSHZ~.HFLƯHt!L1HHLAPH(L[]A\A]ÐH).1LH茯Ht'LHHL1AP H(L[]A\A]Hـ.1LHLHtL1HHLAP(HɃ.1LHHtL1HHLAP0QH.1LHHtL1HHLAP8!HI.1LH輮HtL1HHLAP@H9.1LH茮HtL1HHLAPHHA|.1LH\HtL1HHLAPPHl$HT$H5K} HH誨HHOHD$Ht$HxxHE.H5.|.H6HHHHHD$Ht$Hxxؐf.SHHVH1Hr HLBHHAH[fDAWAVAUIATIUSHHHH|$HD$ Hl$ HD$(HD$0HPXHI1Lt$&fH|$HtHPHL9I$Hl$ HLP`HHi{.H5r|.1HЬHHIEHl$ LLLPH|$HtHHl$ PprHl$ LH]DHl$ IuH|$H›Hl$(H\$ H9tDH;HtHPHHH9uH|$ HtvHD$HH[]A\A]A^A_Hf.H i} H52{ H=8 wH|$HHtHPHHHAWAVAUIATIUSHHHH|$HD$ Hl$ HD$(HD$0HPXHI1Lt$&fH|$HtHPHL9I$Hl$ HLP`HH.H5z.1HHHIEHl$ LLLP0H|$HtHHl$ PprHl$ LH]DHl$ IuH|$HHl$(H\$ H9tDH;HtHPHHH9uH|$ HttHD$HH[]A\A]A^A_Hf.H z H5by H=< !vH|$HHtHPH}HHAWAVAUATIUHSHH|$H܀H6LEH|$0LHHH|$(AP(H\$0Ht.H{.H5y.1HvHtHHPp.D$LHD$PHD$XHD$`(HI$HD$p1L|$@HD$HD$PHD$ $H|$@HtHPHL9HL`HLELHHLAP(H|$@HtHPpuLl$@MtuHz.H5/x.1L荨HtXHz.H5x.1LHD$@gHT$XH;T$`HD$p*Ht=HH|$@HHT$X4}L D$f1@|$H|$0HD$0HH_y.H5pw.1ѧHuH|$pHL$PHT$@HD$@H|$@HD$pHL$HHtHPHl$XH\$PH9\@H;HtHPHHH9uH|$PHtqH|$0HtHPHD$HĘ[]A\A]A^A_@Ht$H|$ ` @H|$0HD$pLd$pHD$xHDŽ$t Ht$(LLl$XH\$PLt$@L9t7@HLHLHD$@H|$@HtHPHI9uHuH|$LܕHl$xH\$pH9tTDH;HtHPHHH9uH|$pHpD$H1HHH v H5Fu H=Wu "rH|$@HHtHPLd$XH\$PI9t%H;HtHPHHI9uH|$PLHtApH|$0HtHPHyHHH u H5t H=t nqHLCylH|$@HHtHPސAWAVAUIATIUSHHHH|$HD$ Hl$ HD$(HD$0HPXHI1Lt$&fH|$HtHPHL9I$Hl$ HLP`HHu.H5"t.1H耤HHIEHl$ LLLP@H|$HtHHl$ PprHl$ LHB]DHl$ IuH|$HrHl$(H\$ H9tDH;HtHPHHH9uH|$ HtsnHD$HH[]A\A]A^A_Hf.H s H5r H=0 YoH|$HHtHPHfwH^HAWAVAUATIUHSHHHH|$HD$ L|$ HD$(HD$0HPXHItx1L|$ Ll$,LLH|$HtHPHL9tLHEHHP`HLL|H|$HtA|$tHPptDL|$ fA|$|It$H|$L蒄HD$HL$HHl$(H\$ H9tbfDH;HtHPHHH9uH|$ HtlHD$HH[]A\A]A^A_It$H|$LVHH|$HHtHPLuHHHs.HHÐHs.HH=lf.AWAVAUAATUHSHHGH+HHLHt$hH}LEILxHt$HL)HHLtHI9LLHt HHHHHH9uLuH]IL)HI9M|t&@H;HtHPHHL9uLuMtLQkLeML}LeH[]A\A]A^A_HH9vIMHH9wIIf.Ht.HwHHÐfff.USHHHHHHHH[]ÐSHHHHtAHt.H5zo.1۟HHD$t"H{HWH;Wt+HtHHGHHGH[f1@Ht$dfff.SHHHHtAH t.H5n.1[HHD$t"H{HWH;Wt+HtHHGHHGH[f1@Ht$cf.fHr.HHÐHyr.HH}if.Hp.HwHHÐfff.USHHH菟HHH8H[]ÐSHHHHtAHl.H5m.1[HHD$t"H{HWH;Wt+HtHHGHHGH[f1@Ht$螅fff.SHHHHtAHql.H5zm.1۝HHD$t"H{HWH;Wt+HtHHGHHGH[f1@Ht$f.fHm.HHÐHm.HHgf.H9s.HwHHÐfff.USHHH`HHH8H[]ÐSHHHHtAHim.H5zl.1ۜHHD$t"H{HWH;Wt+HtHHGHHGH[f1@Ht$~fff.SHHHHtAHl.H5k.1[HHD$t"H{HWH;Wt+HtHHGHHGH[f1@Ht$f.fHIl.HHÐH9l.HH}ff.AVAUIATIHUSH1PXHIu@sDHyi.H52k.1H萛Ht1HL萛A|$u>HL9t5IUHLR`HHuI$HLI$LPtAD$[]A\A]A^ÐAWAVAUIHvATUSHH|$H|$PYHl$PE$XE$X$`f.$`$`\$X$h@ Y$h$pAE`fW$f.$$HB f.$$x$Y$pAEXX$pHDŽ$HDŽ$XHc$H$p$Y$x$EHDŽ$$$X$p$HDŽ$11ɅH$4HL$ L|$HLt$@1E1HL$A*A$*$L$$f(^$$A*E\$$Y$$$f($$$? \$$Y$$$s$LLd@ L$X$$l> Y$$$Y$$$X$$\> ^$$Y$$ $ bD$@H|$L$D$H$$$($(Y$$0$0X$$8$$@$@Y$$H$HX$$P$8$PEZHD$ HDHD$(HDHD$0HDAEXHH$D9vMcKdHDHU1HHUHPHUHl$`HHPIEH$Hp HPH\$pIuHHiIuH|$H薢H|$pHtHPH|$`HD$pHtHPH$HD$`Ht`H|$PHt`HD$Hĸ[]A\A]A^A_@HDŽ$p\H H9L$[ILJ HH$HH$Ht%; HHBbHHuAEX@-P= $$x$ Hv\$$xHH$Ht_H|$PHt_HH|$pHHtHPHD$pH|$`HtHPHD$`HtHH|$PHHfSHHHPX1Ht [H1HP`Ht/Hd.H5 d.1HhHHtKH‰[H i H5h H=h JB`fUHHSHHHPPt.HHPPt H}HPHHH[]MDH[]fff.t+SHHGt uH[ÐH[D1DHHHt$PXHvHt$HH[Bf1fff.AWIAVAUILATUSHHt$0HD$HD$HD$ HD$0HD$8HD$@v[HD$0Ld$8I)IMH$1Lt$PH $HL$HL$8DHHD$HHD$H|$PHtHPHI9HD$0H4LHP0XHl$PHD$PHYg.Lh@ H@(H@@H@HHHhPHH`.HHPHP HP0HP8HT$H;T$ H$tH?1@H4$H|$6DH|$0Hty\L%*`.I7 HDŽ$ 7 HDŽ$ID$HDŽ$HDŽ$$HDŽ$HDŽ$HD$PH$$Ƅ$HD$XD$`D$bD$cD$dHD$hHD$pD$aEHT$PHt$H#D$bHl$1AGD$cAGD$dAGHD$H)HHu #fDHD$HHHtvH8H;HKH)HHLlHtHH(H;IHtXH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.HHHHHHHHPHHfffff.HHHHHHHHHHHHHGWfDHHwH1WATUHHSHH0HH}IHLHkXuH0[]A\fDLd$ HT$H5Jb LH}LHyHT$ HzH;=Pa.tH=&`.HOt=Ht$D$ tD$ HHD$ Ht$HxWHJqrfDHHwHwH-fff.UHHSHHxHPPHHP(H}HH$@D$D$f.$ED$$f.D$*CD$@D$ D$ f.D$@D$(D$f.D$(Hx[]fH}HHHD$0@1D$8D$0f.D$8w L$@KL$HL$@f.L$Hwf.L$8wf.D$H{CD$PAD$XD$Pf.D$XSCD$`AD$hD$hf.D$`)fHx1[]ÐfDUHHSHHHPPHHt1H}HHHHH[]Uf.P(H}HHH$CD$$L$H[]xUSHHHY.HGHGHG HH茔H[]H{HHtTH-_.HHH>fffff.AVAUIATIUS1HHGHoIH)HHu;HH9t/ID$H4LLch<tH[]A\A]A^DH1[]A\A]A^ÐSHvHHH[f.Hi^.HHÐHGf.HI^.HH Sf.HiX.SHHHHHtRH ^.HH[H9X.SHHHHHtRH].HHH[RATUHSH H'HHHHPPwHHuE&u`(譻HHIOrH;L#HtHPH H[]A\fXvHHI\fDHVHHIHH\.ID$(ID$0ID$8ID$@HI$H;L#Hrs(HHIH1T.HI$H;L#H67Hl$6HT$H5\ HHHHĚHD$Ht$HxaQHY.H5T.H諨LHPH;HtHPHH#HHD$Ht$Hx QH%HHfDHUHSHHO=tHHH,$,H[]Ð@ATH[.IUHSHW0Ho8HHH)HHt$1fHHtHHRI|$0HH9uHtPI\$(Ht3H{HtOH;HCHtHPHHOH2U.I|$ID$(HHI$tOHZ.[]HI$A\fffff.SHH[nOfffff.AWAVAUATUSHHHHG(HtHH[]A\A]A^A_HG0H$HPHt$ HIHD$ HD$(HD$0LHD$ Ll$(I)IMwHL$1L|$HL$;f.HHC8HHC8H|$HtHPHI9HD$ H4LHP0XLd$HD$ڷHX.Lp@ H@(H@@H@HHL`PHHRR.HD$HHPHP HP0HP8HS8H;S@tHF1FHt$H<$j4DH|$ HtM7H4$HIhaHk(LLc(H^H}HtMH}HEHtHPHEHoMHC( HHH|$ HtOMH藷HLLH膶fDAWAVAUIATUSHhHt$@H|$LHD$ HD$(HD$0HD$@HD$HHD$PIHD$@Ld$HI)IMHL$1Lt$L|$ H $9fDHHD$(HHD$(H|$HtHPHI9HD$@H4LHP0XHl$HD$踴HU.Lh@ H@(H@@H@HHHhPHH0O.HD$HHPHP HP0HP8HT$(H;T$0tHB1CH4$LL8H|$@HtJHD$H84Ht$ H|AHl$(HD$ 1H)HHu'f.HD$ HHD$@Ll$HI)IMHL$1Lt$H $HL$ HL$:HHD$(HHD$(H|$HtHPHI9HD$@H4LHP0XHl$HD$HI.L`@ H@(H@@H@HHHhPHHC.HD$HHPHP HP0HP8HT$(H;T$0tHB1CH4$H|$誕6DH|$@Ht?IHt$ HkpAHl$(HD$ 1H)HHu #fDHD$ H I$LPPtI$LPPtIGLLHPT+ÃH:HH|$@HtC>H|$ Ht4>H|H|$HHtHPH@f.@SHHHPHH[=fDH1D.HHÐH!D.HH=f.AWAAVAUATIUSHxH|$详tHxD[]A\A]A^A_fI$1LAt E1DHt$PLHD$0HD$8HD$@HD$PHD$XHD$`:HD$PLl$XI)IMHL$(1Lt$ HL$HL$0HL$9fDHHD$8HHD$8H|$ HtHPHI9HD$PH4LHP0XHl$ HD$ HF.L`@ H@(H@@H@HHHhPHH`@.HD$(HHPHP HP0HP8HT$8H;T$@tHB1CHt$H|$y5@H|$PHt;HD$Hxc|Ht$0H6mAHl$8HD$01H)HHu&fHD$0H.HI$HD$pHHt$`HT$/$H9H|$h=Lt$0LHD$0LHD$0HxH;=>. IEHD$@IE@H$H7.HHD$HH$HxH;=c>.H=.H{@HHD$HHEHl$@H{XL|@H7.HH$|HĨL[]A\A]A^A_DH|$hH3(fHsPL$H=<.HWAHt$0P2H=g<.HWt1Ht$.XPHH|H`PJHH{IEHEHl$@LL|@H6.H{XHH${HHLt$0HI<$LH2HHD$0Ht$.Hx2PJHf@t@1@!fD@u@ATHcHUSHH t9uH []A\ÿ(|HHHPH\$HT$H5@ IHaLHH蝄HD$Ht$Hx 2H5.H5t8.HTHH HHHD$Ht$Hx1ؐSHHHڀ{d[DfHGh@wfHt@pfH @ PH5 H=#@ 2fffff.wO@t2@v!uS1|uAHH9wvu 1 @|uHH9r!D1D1@W1vut WvutE1Ð@HGdPD@ p fWDG@wH P@fL$fOT$WGu#@v WDGW<vGWGWÐATAUHSH*H3.DcdCeCfHChHCpHHHCxHHǃHǃǃǃǃHEHP`Hvh{dH{HuBP`H{L`HpHRpH{HLHPpHHH_HW1[]A\fPpH{H1HPpH `> H5m H== \(0H A> H5N H== [ 0H6.HHHӘfAWAVAAUATAUSHHHH؀{dDDE1AAGl-/ADDHA5HDH[D]A\A]A^A_5fDATIH5O{ USHH0Hl$ H]A|$dIt$tAHLd$LLH՛HD$HxH;=7.ueH0H[]A\HHHH虛HD$ HxH;=7.tH=6.HWHt$pJH=V6.HWtuHMJuIHD$HLHxQ-H;Ht$H@-H8HHD$ Ht$Hx"-ϋPJHrH뺋PJHfffff.AWAVAUATUHSHH\$`H|$H{h&H:0.L-0.HƄ$HDŽ$1Ƅ$HDŽ$HMeHDŽ$H$IEHDŽ$HDŽ$Ld$`HHD$ID$HL`HD$hI|$lM} 1IGL|$pH|IE(HHD$ lIEL5..H{PIM0HD$(H@HL$0HL`IFHDŽ$HDŽ$HDŽ$HD$`IFhHDŽ$HDŽ$HDŽ$H$IF@HD$pH4.HHD$xbH..HsH{hDŽ$HHD$xH,5.HH$kHD$PHHHD$85Ht$PH{HVfHD$PHxH;=4.H*H{H5sE D$DT$fH{DPH5}9 HIyft$L-H5 HIVft$L H5~ H6f}etH{H5'9 fH{H59 LeH{LcHHt5H{H5t eH{HH5j~ HeH3.HL$HHH$H^H$Ll$O$LH9H$1Ht$8H|$HD$PHD$PHxH;=P3.IFHD$`IFhH$IF@HD$pH,.HHD$xH$HxH;= 3.H2.H{PHHD$x蚔HD$(HT$0H{hHL$ H@HT`IGL|$pHT$HLpID$Ld$`HT`H-,.HD$hHH$;qHD$H[]A\A]A^A_@H$H0Ht$8H|$HD$P謕H|$Hs`Ll$OMxH=1.HWNHt$8DH=0.HW.Ll$OLDH=0.HWtg^Ht$NDOIT$HL$HLd$`HL`HD$hH*.H{hHH$ pHeH׋PJHHHD$LH8H<'HdH,HHD$PHt$NHx'HH{H9IuHwviHHD$PHt$OHx&묋PJHPJHHG f.H9..HHÐH)..HH-&f.USHHHtXH).H5+.1HHW[HtHEHHHH[]H < H55 H=6 3*'H < H55 H=5 2 'f.USHHBeHHCXCYCZC[C\C]C^C_P0HHHP(H9HtUH@ HtrHPHtJz t zwCXzt z wC\NQH9tHP Ht6HRHtHfH[]H r: H54 H= :&H S: H54 H=4 &f.AWAVAUATUHSHHHHLl$0nLH6H4 1LNPHL5..HIVHHD$0HxL9HHEHPPIHD$HEHPHL9IHh H*L|$ @Il$ HH&.H5).1H2YHH54 HHEHLP`LH轑HD$ HxL9 H5$N HH53 HHuhHHLP`LHbHD$0HxL9uzH5M HpLXOH;D$IHHH[]A\A]A^A_H a4 H52 H=#4 I$H B4 H52 H=2 *$H=+.HWcL?VH 3 H52 H=2 #H=+.HWt[Lt?HHD$ LHx{"H;Ht$Hj"HbPJHcPJHHH=+.HWtWHt$ >HHD$0Ht$ Hx!HHHD$0LHx!`PJHfffff.AWAVAUATUSHHHP0IHHP(L9HX HI1L53$.L-&.fHX Ht`I1LLHdVHt%{eL0MI9uH[]A\A]A^A_H 7 H50 H=2 @+"1H 7 H50 H=0 ?"AWIAVAUATUSHHHP0IHHP(L9Lh MH1L5P#.fDLh MtkHH5%.1LLUHt,1M9HELI9uH[]A\A]A^A_H X6 H5/ H=1 Q@!1H 56 H5/ H=/ P!fff.AVAUATUSHH HP(HHHP0H9&Le M[L5j".L-#%.1LLLTHHzKHHHP0H9HHP0H$HX H1LLHWTHI$LP HHP vHvH []A\A]A^DvI$LP0fWD$f.L${H L[]A\A]A^uHL$HP0L$D$f.L$Hf1H U4 H5N. H=w/ dH 64 H5/. H=X/ o~H 4 H5. H=4. c_H 3 H5- H=. n@sH 3 H5- H= f.AWAVAUATUSHHHP0IHHP(L9t}HX HIL5i .L-"#.HX HI1LLHRHt?HkhHtUHuH{{HuH{x{L@II9uH[]A\A]A^A_H 52 H5, H=. =H 2 H5, H= - H 1 H5, H=, fffff.AVAUATUHSHHP0IHEHP(L9Hx HL5J.L-".H1LLQHH{t;1ҀyHAt8thqHHH9r{t{1ҀyHAt8t?qHHH9rHGI9tIHx Ht Hh@8@8H i0 H5+ H= []A\A]A^ÐfDHHGHLW@L9}HPHHJhHHE1E1(H;tgI9t?HPHHJhHHt|Mt3tH;@LD@I9ut2HfH;LDMIQxMtYI9MtfMAxHH - H5n* H=* (H - H5O* H=* %H w- H50* H=* AH X- H5* H=d* C`H 9- H5) H=b* BAH - H5) H=&* :"fAWAVAUATUSHHH(HHP8HH|$HP@H,$Lt$L9E1E1HLjplHL9t\IHYHX IHtxH>.H5.1HNHtHHtvH8H;HKH)HHLlHtHHKH;IHt' H+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.HG Ðf.USHHH.HHHpHt H{hHtHPH-.HkHChHHHC@tH}HtN HF H.HCHHH[]ÐSHH[ fffff.ATUSHHhHtjHP0HvYHCHt []A\fD(6uHHH!LcHHkMtI|$Ht L HC袀H # H5# H=YA W HH\ Hu@USHH(HhHHP0H{ vHHP`Ht"1H([]@{vHHP`HuH{hHPH{hH1HP$ED$$f.D$zu@D$ED$D$f.D$1f.D$DjH " H5" H=K@ W AUK@ATLd0UHLLmSHHHH8 HD$HP`I9rAH{pD$HLH{hHHP0HH8[]A\A]@H{hLHPA$D$D$D$f.D$zuAD$D$ @D$(D$ f.D$(b\LHD$Ks~H ! H5 H=*? W AWAVAUATUHSH(HhHHIP0HHEHP`II$LP`I9tH(1[]A\A]A^A_f1E1Mt|I|$hHHPH}hIHHP$AD$$f.D$zu@D$AFD$D$f.D$ysADI9wH([]A\A]A^A_H H5 H= > W .}fAVIAUIATIUHS1H~t&I$ILLHLHH9]wI|$hHtHP0Hv([]A\A]A^H  H58 H== W|f.AWAVAUIATUSHXHhHHIP0HIELP`II$LP`I9tHX1[]A\A]A^A_f1MIoD$D$2fAOL$0ANL$8L$0f.L$8T$L$(f.D$(AGD$@@D$HD$@f.D$H|$HHHI}hHHRI|$hIHHPI|$hIHHPAD$AD$ D$f.D$ D$2@D$HHHwHX[]A\A]A^A_H % H5F H=; W zUHSHHtW{t3H C<vb{v <SvsH{vS{vsHH[]{wH[]ÐfATUHHSHH/ .HCH{ HHHHEP L%[.H{pCHCLCPHCTCXID$C\C`CdHkhHC@,H{hHtxHP0Hv4[]A\HH{HtfyH{ .HCHHH\n#yH{pHHtH{hHtHPID$HChHC@H = H5^ H=9 W%HATUSHHHhHHP0H(l1ҾHHHEH{h1L`HHP1HHAHEH{hL`HHPHHAԀ{ D$D$D$D$D$D$tDC{$tGC D$UlHHHH8HH[]A\fwH  H5. H=w8 WHHzHlHHgHlfffff.ATUHSH6H.HCH{ HHHHEP L%.H{pCHCLCPHCTCXID$C\C`CdHkhHC@(*H{hHtxHP0Hv4[]A\HH{HtvH.HCHHHkvH{pHHtiH{hHtHPID$HChHC@H  H5 H=7 WHAUATUHH5Œ SHH/=LehH5 HDm`=LHH5 HI_IUHL$HLl$PHLPHD$XH-H{hHH$(>H_Hl$@II?HHiHXLY_IHD$@Ht$>HxCIH{IHuHLDxPJHH^PJHf@wf.Gf.Gf.Gf.Gf.@wf.HhHH@0Ht HHH ( PH5 H==x of.DSHHhHtHP0Hv%HCp[H : H5[ H=) W"hf.SHHhHtHP0Hv%HC@[H H5 H=T) Wyhf.H@wdHhHtHP0Hv$HH H5 H=) W&hf.SHHhHtHR0Hv%Cd[H J H5k H=( W2gf.Hw`HhHtHP0Hv$HH H5 H=b( Wgf.SHHhHtHR0Hv%HCh[H H5 H=( W9gf.SHHhHtHR0Hv$C`[H [ H5| H=' WCff.@SHHhHtHP0Hv.HHP`[HH  H5" H=k' Wf@USHHHhHt%HHR0Hv5H{hHHH@H[]H H5 H= ' W1fDSHHhHtHR0Hv/H{h1[HH@H P H5q H=& W8eATUSHH HhHHP0HHkhHHEL`HP`HHpAH{hH1HP$ED$$f.D$zAu?@D$ED$D$f.D$1f.D$DH []A\fDH 1[]A\eH a H5 H=% WIfSHHH{hHtHP0Hv![H  H56 H=% WdHG8Ðf.G`fff.GPD$D$fffff.GXD$D$fffff.HGÐf.HH@PfDfffff.H(HGP$FPD$$f.D$z&u$GXD$FXD$D$f.D${;F`9G`#|AHF8HW8H~ H(H[fH(fDu1H(H r H5 H=hr f.SHH HHwHP`$C D$$f.D$zt(H q H5 H= 9f@D$C(D$D$f.D$zuH [@SHH@HHG HFHG(HFHG0HHG8HBG8HG@HBHGH$G D$$\D$D$O@D$GPL$O(L$ L$\L$ L$(L$(OXA"CPC`D$0fWf.D$0zuKXL$8f.D$8{H@[uH  H5s H=x i f.Hy-fW HGGGHGGHGG GGG(GO0HGG8G@G`OHGPGXfDH-fW ]HwGGHGGHGG GGG(GO0HGG8G@G`OHGPGXf.HHH s-HwfW HHHAfOAHOAHOAHfOAHOAHG G(HGG`O0G8G@OOHGPGX\Pfff.fWHHH -Hw 3GG GGHG(GO0HHG8GG@GOHGGPGGXHGG`Offff.AT UHH57 SHH q&Hu HuH5! HQ&Hu8HUH5 H1&EPD$EXL$D$D$u`HD$H5V HI%D$LYH5 Hߺ%HuH H H[]A\AWAVAUATIUSHH\$0Ht$H{XH -Ƅ$hHHDŽ$`Ƅ$i1HDŽ$pHDŽ$xHHDŽ$HDŽ$H$H-HhLxH}Hl$0L?)L--H{@HD$@HD$HHD$PHD$XHD$`IEHD$hHD$0IE@H$H8-HHD$8H-L5-HsH{XD$xHHD$8IFH$")Ht$HIFI$HD$`HHt$PHT$$H9H|$X^HD$ HD$ LHHD$dUHD$ HxL9IEHD$0IE@H$HV-HHD$8H$HxL9HA-H{@HHD$8OSHEHl$0H{XL|0H-HH$%0HĘL[]A\A]A^A_H|$XHHD$ HD$ LHHD$T0@HsPLD7-H=-HWFHt$ 7H=-HWt1Ht$HHx/HPPJHH{I7HEHl$0LL|0H-H{XHH$/HrPHHHD$ HD$I<$Ht$HNyHHD$ Ht$Hx3PJH f.DH-HHÐH-HHf.ATUSHD$fW $f.D$1f.D$EЄuEL$f. $rf.HĐ[]A\f.HĐ[]A\f.$f.$D„tH\$0HLH5HDH5Q H5D$HUH52 H$HTH59 HHFLd$ u/HsLHd ApAVAUATAUHcSHH H0uH D[]A\A]A^ÐHHHP8H<$Hx cHH|$HP8H|$H@ ]HHD(x DhAHHP(IHHP0L9HgIF HHT(r@~L0D8uAV H9tQHP Ht}HT*r@vOHE@DbtJA8uH E1[]DA\A]A^H A[]DA\A]A^H 3H5H=EH H5H=b H H5H=H H5H=H H58H=ɭlfffff.AWAVLcAUATUSHHHP(IHHP0L9IIo H3A LHN,HO HJD)xv @<E I9HuIDJD5Pt[8tVvHuPXXLa I9It]Io HuH H5|H=/a (a@Pt8L I9IuHĈ[]A\A]A^A_H H5H=EH H5H=` H H5H=GRH H5H=-M @('IHEHPLl$HT$ H5IL Hl$@LH+H\$0LHH5C HHT$0HD$@HJHHpH;reH;p[1HHH-Ll$Lt$ H5HT$PHSLHLR Hl$`LHH5<HLt$PHLNIHHl$pLHHT$pHSHHD$pHxH9HD$`HxH9ZH,-HI$HD$ HxH9HD$PHxH9UHD$0HxH9sHD$@HxH9H-HI$IID$IGID$IGID$ HD$HxH9HB-H5-L1HHXHHHD$0Ht$PLl$H\$ HxcHD$@LHxRHD$HHxALY(H1DHLl$H\$ HH\$ HH=-HWGH:H=-HWHH={-HWHh{H=K-HWtjnHHD$ HD$ LHHD$DBHD$ HxL9IEHD$0IE@H$H6-HHD$8H$HxL9H!-H{@HHD$8/@HEHl$0H{XL|0H-HH$HĘL[]A\A]A^A_H|$XHsHD$ HD$ LHHD$yA0@HsPL$$-H=-HWFHt$ 7H=-HWt1Ht$HHXH=PJHH{IHEHl$0LL|0H-H{XHH$HR=HHHD$ HD$I<$Ht$H.yHHD$ Ht$HxPJH f.DHI-HwHHHGt@H)-SHHwHHHGPH[WHHGHGGHw HH9GÐ@HHWH9tdD$H(H9tGD$D$f.D$zu@D$FD$D$f.D$zuÐ1Ðfff.SHH0HGH;HT$$H|$H9xtfHT$HHf{tHHHCH)HH H HT BD$ HR @D$(H;P r tOCH0[f@D$$D$D$f.D$rtkHT$H빐D$(f.D$ wUSHHH HP`HhHC 1HxhHPfW1HHHC HHxhHPHHH[]fWHfffff.AWAVIAUIATAUHSHhHG Hr HxhIM+~ HI_PED$D$f.-H HD$@HD$HH9HD$PHH|$@LsI^ HE Lt$@HH9v\DIE HHxhHPHL$HH;L$PHtHHHPHQH@HAHHL$HHE HH9rNEuH9uHT$HH;T$PJHtHMH HMHJHMHJHHH9HT$HsfDEt5HD$HH;D$PsHtHUHHUHPHUHPHHD$H(8Ht$@1HHMe I7LHHHwH|$@HthHhH[]A\A]A^A_fDHLL<[IL7H|$@HHtIH\$@H\$HI9L|$PCHtIHIFHCIFHCHH\$H*HLED$ D$(D$ f.D$(z(u&ED$0@D$8D$0f.D$8zt A}I_E1qH|$@HH|$@HtHD$BHD$H7HH*HH=bHHHH|$@fff.AVAUATIUHH5&SHI$H@IH{8CCL9H}LmH]L9u0ECLH(M9HL9CLs HLD$bH5Hź H;HL0H5qHHD$H+IH)L0Hl$@II?HH}IHD$@Ht$>HxePJHcIUHL$HLl$PHLPHD$XH-H{hHH$H0HH{IHuHLn뺋PJHfff.AVAUATIUHSH*A|$ID$I4$Ll$H^(H9u&L@HHEHHEHC(I;D$t.HHHLe HUH;UHD$tHu1DH[]A\A]A^LH Ml$M4$M9,LHLL)LHHHº?HH?HH)H{HLLSI\$I<$HH9I|$1H9tbH)HHHH~EH1fDH4H4HtHtHtHtHtHtHt Ht H(HuHHHID$AD${ILHI9BDHH(DI9u'LL%ID$H9ufDHHG(H9H@D$@D$HH H9HuD$f.D$zuH9|H(H9tWGD$BD$HJ H9O t;H H(HO(HJHO0HJHO8HJHO@HJHOHHH(H9ufD$f.D$zufDHDf.DAUATA(USHH8HGH+HHHHLHL$HT$Ht$+LCH;HHL$Lh(HT$LH)HL HD$(t*Ht$D$(HHHVHPHV@LH HPL9tQHHHt&H2H1HrHqHrHqHrHqHr Hq H(H(L9uHG(H)HLlPHtH+LLkHkH8[]A\A]DH<H9v IIfffffffL9wL$IHGH;GtFHHD$t%HD$HHNHHHN@HP HHH(HGfD{'f.AUATAUSHHHWH+HHLHt$ *LHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHH;IHt7H+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.HhFD$LF BD$HB I9AD$LI M9_AL9 H HG D$HHHJGHOHJD$PGHOHJD$XGHOHJ D$`D$HHO HB D$PBD$XBD$`BHhÐD$f.D$/fDAD$LI L9H HG D$HHJGHOHJD$GHOHJD$GHOHJ D$D$HO HB D$BD$BD$BHhM9C*HHG D$HHVGHWHVD$GHWHVD$GHWHV $D$HW HF D$FD$F$FHhD$f.D$HHG D$(HHQGHWHQD$0GHWHQD$8GHWHQ D$@D$(HW HA D$0AD$8AD$@AHhDD$f.D$HHG D$HHQGHWHQD$GHWHQD$GHWHQ D$D$HW HA D$AD$AD$AHhDD$f.D$fDHHG D$HHVGHWHVD$GHWHVD$GHWHV D$ D$HW HF D$FD$FD$ FHhD$f.D$gHO HGD$GD$GD$GD$DH9H H@D$wDt2D$HO D$GD$GD$GfD$f.D$vfH0H(H7Hp0HwHp8HwHp@HwHpHHw Hvf.@AUIATIUSH8H9Ho(H9H$fDH H}(I9HED$LE AD$D$M;D$ sHEL)H}(HD$(HED$ EHD$~8H@H(HHHHHHHHHHHHHHHHHHHH uD$(I9HA$D$ AD$D$AD$D$MD$ AD$)H8[]A\A]D$f.D$'fHBSII?IIL9IHHtvH8H;HKH)HHLlHtHHXH;IHtǮH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.AUATAUSHHHWH+HHLHt$LHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHXH;IHtǭH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.HGHcH@AUATIUHS1HHGHWH)HA6fDHA9~'HEHHI4HuH}藤L1H]HLuIIMl$ K>HHt/HI$HL HEHL[]A\A]A^A_LufHUI$LeI$HtHB 1HuLM$HEHUHDH H3Lu(jHHLңMHH f.AWIAVAUATUHSHHL4Mt`IIILK M9t+fDLMt@MH 1LHuI9u.M9ILuHsLWtHL[]A\A]A^A_ÐH1[]A\A]A^A_f.DH H5H=DH]fff.ATUHSHGpHt[]A\H_Lg L9tH;Ht0HDHH{HtH9u-I9u[HEp]A\H ,H5H=ԣH H5H=赣@ATUHSHpt[HEX]A\fH_Lg L9tH;HtFHDI9tHH{Ht)H9tH H5fH=5H nH5GH=äfDATUHSHpt[HE`]A\fH_Lg L9tH;HtFHDI9tHH{Ht)yH9tH H5ƿH=x蕢H H5H=#vfDATUHSHGpHt[H]A\DH_Lg L9tH;Ht6HDHH{HtH9u3I9uHEp[]HA\H >H5H=H H5H=ǡfDATUHSHptH}`[Eh]A\fDH_Lg L9tH;HtFHDI9tHH{Ht)!H9tH H5nH= =H vH5OH=ˢH H5A H=]fffff.AUATUSHHH-HwHWHGHG HG(HG0HG8HHG@HGH(HH葍HkPLc HkC[CXCYCZC_L9C\C]C^HC`ChHCpt0H}Ht2HDHH}HtH9u/I9uH[]A\A]H :H5H=H H5H=ßH{`IHtHPH{PHC`HtHPHCPH{8HtLk HkI9tH}HtHPHEHH{HtܝL$HIɝIfATUSHpH~S[Ht{XuO1 |XuAHH9r1S_Ht{\u71 |\u)HH9w[]A\Df[]A\fHoLg L9qH}HtEHI9YHH}Ht)%H9tH H5rH=$AH zH5SH=ϟ"fATUHSH HptH}`twH []A\fDH_Lg L9tH;HHfI9tHH{HuH9tH H5ºH=t葝H}PwHuEhH|$HEPHHEPH$H}`HD$HD$HHE`tHPH|$HtHPH<$HtHPH}pH]Le L9H;Ht7HfI9HH{HtH9tKH H5ڹH=V詜H<$HHtHPHofffff.ATUHSHpt[HE8]A\fH_Lg L9tH;HtFHDI9tHH{Ht)H9tH ]H56H=H >H5H=fDATUSHoHG0fDHEHP@HHRhHIH-H5-1HH}HL-;C0~C0HHHPH;CHuc0H{pt[]A\HkLc L9tH}HtOHDI9tHH}Ht2H9t@H dH5; H=>H %H5H=z͚fff.ATUHSHptE0xk[]A\fDH_Lg L9tH;Ht[HDI9tHH{Ht>)H9tH H5vH=(EDHH[E0]A\H iH5BH=ATUHSH_DH{HRH[pH;]uH}pt[]A\H]Le L9tH;HtFHDI9tHH{Ht)aH9tH չH5H=`}H H5H= ^fffff.AVIAULcATUHSHptPAIMA~vAFfffff.ATHUHHSHuptHUH}pt[]A\fH]Le L9tH;HtFHDI9tHH{Ht)艺H9tH H5֫H=襎H ޮH5H=3膎fDAWHAVAUATLg8USHHHwHt$xLl$xoHHS@HD$xHHS@xHp~HHD$x@HPdHp蝎HHHt$xHPHHt$xHPH;CHD$xt{1HH;HS@H;SHtAHh1mxxH ?H53. H=臍LLxHD$x/H{ptHĈ[]A\A]A^A_HkLc L9tH}HHI9tHH}Hr͸H9tH AH5H=̪(_H|$xIHPLd$HT$ H5hIL5H\$@LHuHl$0LHeH5iHaxHT$0HD$@HJHHpH;rH;p1HζHH-Lt$Ld$ H5,xHT$PHSLHL蜺Hl$`LHܙH5jHwLd$PHLHHl$pLHHT$pHSHYHD$pHxH9HD$`HxH9:Hv-HIEHD$ HxH9HD$PHxH9HD$0HxH9WHD$@HxH9H-HIEIIEIGIEIGIE HD$HxH9.H-H5`-L@(H\$@qHT$H5UHIZLd$PHT$ H5vLAHl$`LH聘H5+iH}vHHBHHX-Hl$pLHHT$pHSHHD$pHxH9wHD$`HxH99H-HIEHD$PHxH9H-dIEIEAE HIEHD$@HxH9H=-HW6H}HHURH ٩H5H=.聉H=)-HWtJHH=-HWt+HPJH벋PJHH=-HWtLH訤H=-HWt-jHt$0z[PJH밋PJHHHD$pHl$0HHxbHD$`HHxQHD$PHt$Hx>HD$@Ht$Hx+LCHHHl$0HHD$`Ht$pHxHHÐHH=-HWtJH袣}H=-HWt+LHv?PJH벋PJHH=?-HWtJH0H=-HWt+HPJH벋PJHH=͎-HWKHt$踢HcIHHD$HD$IDxtgA(tcI_xMpI9t$fDLDLI(LgL9uL9t$xM>HD$IIDxuAuIGxHH$IGpH9HHHHH)HD$HHHѹ?HH?HcH)HHwHHD$HHHCH9$tDHH(H9$uI_xIpHƷH9Ix1H9t_H)HHHH~BHDH4H4HtHtHtHtHtHtHt Ht H(HuHHHI_xAƇkf.H4$HtIH([]A\A]A^A_H<$HHH9;I_xH H5l{H=9tkfAWEAVAAUMATIPUHSHH(IHs-HaEABAB AB HAB AB IIBIBIj(AB0AB1AB4IB8IB@ABHM$Ez bMHL{H$HD$HD$tH{ HHLgjtsLk MHp-H50n-1L莞HtyAHEI$LHshH:_H<$HthHEHPH(L[]A\A]A^A_IWI7HLIkLk MxHn-H5m-1LHfHo-H5ym-1LםHEHI<$HtHPI$HH<$HHt9hHtHEHPSMHE1~H[fHq-HHÐHqr-HHÐHp-HHgf.HAr-HHgf.UHHOSHHHt#H~HC(HH[]H9t1HB H9E @AVIAUATIUHSHHPH9Ll$f.H;HH|$D$@D$D$f.D$AL$ ANL$(L$ f.L$(f.L$wf.D$(wwAFD$0@D$8D$0f.D$8wRAFD$@@D$HD$Hf.D$@w-ID$I;D$tEHHT$t7HID$HID$fDHH9 HP[]A\A]A^fD1LL9}UHSHH_HtWHfHCAHtHHS H9wHCE1HuEIu!1HH9HGIGHH[]H_1H9_HtHqIHMHP Hf.AUHGIATUHSHHH9L"L;f s7HGH9Ht HpL;` Hvr1HzHEHEH[]A\A]vnHW H9tuH=L;` Hs<1H{HEHDH[]A\A]f.H(tHW IEH9B r+LH-H[]A\A]fHH1[]A\A]1nf@wGÐfDHW Ht#um1f|uYHH9r1WHt uO1 | uAHH9wH qH56H=B<YeffuHH@XHfffff.Hk-G GG G GHG G HGGGGGÐHj-HHfGFG FG FfG FGFGGGGGfDHqj-HHÐHaj-HHbf.ATUHH5qSHHHH5HIHuLH[]A\Ðfffff.AWIAVAUATUSHH\$PHt$(H{h \H*f-H-f-HƄ$HDŽ$1Ƅ$HDŽ$HLmHDŽ$H$HEHDŽ$HDŽ$Ll$PHHD$IEHLPHD$XI}΢Lu 1IFLt$`H|HE(HHD$詢HEL%d-H{PHU0HD$H@HT$ HTPID$HD$pHD$xHDŽ$HD$PID$hHDŽ$HDŽ$HDŽ$H$ID$@HD$`Hj-HHD$h蛘Hd-HsH{hDŽ$HHD$hH!k-HH$СHt$(H{Hj-HIH$H[H$HT$?$H9H$hHl$@LHD$@HHD$@HxH;=j-JID$HD$PID$hH$ID$@HD$`Hc-HHD$hH$HxH;=Mj-Hi-H{PHHD$hHD$HL$ H{hH@HLPIFHL$Lt$`HL`IEHL$Ll$PHLPHrc-HD$XHH$耨HL[]A\A]A^A_H$HgHl$@LHD$@HfDHs`L蜯H=Oh-HWHt$@<|H=h-HWHt$> |IHLLHl$@II?HH^IHD$@Ht$>Hx^PJHcIUHL$HLl$PHLPHD$XH#b-H{hHH$6HHH{I qHuHL뺋PJHf.fHG8Ðf.AVAUATUHSH H0HLHP(H}0HHP0H9IuA@uj@D$E D$D$f.D$zFuDHI9HtXH{ HHQ$ED$$f.D${H ͅH5.H=O^DH}0HHP(H}0HHP0H9ItpHk HL5_-L-b- HL9Ht@Hk H1LLH Ht-H}HPtH []A\A]A^H 1[]A\A]A^H H5 H=m~]H H5DH=y]H dH5 H=al}]fff.ATUSH HcHHDxt8H}0HHP(H}0HHP0H9IuA@uf@D$E D$D$f.D$zBu@HL9HtXH{ HtXHQ$ED$$f.D${H уH52H=S\fH []A\H H5H=6h\'fATUHSH Hfb-HHH0HHP(H}0HHP0H9IuGf.uj@D$E D$D$f.D$zFuDH谆L9HtXH{ HHQ$ED$$f.D${H H5H=?[DH}0HtHPH}8HtYHDa-HHEH []A\H dH5H=,[fff.SHUH[Yfffff.ATUHSH@O Ht(1fD|HH9rMHt'} 1D| HH9rD$D$D$D$D$D$D$D$THcH}0TD$T$HfED$f$fU E D$E D$D$ED$Eu2fH@[]A\H}0HcTHtHP(H}0HHP0H9IuHf.ul@D$0E D$8D$0f.D$8zHuFH`L9HtH{ HtHHQD$ ED$(D$ f.D$({H kH5}H=}3YH LH5}H=YH hH5hH=:'5XATUHSH H0HHP(H}0HHP0H9IuEuf@D$E D$D$f.D$zBu@HPL9HtXH{ Ht\HQ$ED$$f.D${H aH5|H=|)XfH HE[]A\H ,H5|H=W@AUATUSH(ZHcHHDxt8Hr@Ht&D*A1 <HH9rAH}0HHP(H}0HHP0H9IuBDuf@D$E D$D$f.D$zBu@HL9HtPH{ HtuHP$ED$$f.D${H ~H5j{H={VH(D[]A\A]f@DD@DDH }H5{H=QVBfffff.ATHNUHSH V Ht~ub1 fD<uRHH9rVHt ~ u:1 fD| u)HH9rH |H5, H=zUHEHHH}0HHP(H}0HHP0H9Iu@uf@D$E D$D$f.D$zBu@HPL9HtXH{ HtXHQ$ED$$f.D${H a|H5yH=y)UfH []A\H 0|H5yH=TATUHSH HG0HHHR(H}0HHP0H9IuBDuf@D$E D$D$f.D$zBu@HPL9HtXH{ Ht\HQ$ED$$f.D${H a{H5xH=x)TfHE0H []A\H ,{H5xH=S@ATUHSH H0HHP(H}0HHP0H9IuEuj@D$E D$D$f.D$zFuDHP~L9HtXH{ HHQ$ED$$f.D${H ]zH5wH=w%SDU Ht}uQ1 D|uAHH9r1UHt} u71 | u)HH9rH []A\ÐfH []A\H yH5wH=MRfffff.AT1UHSHH H} EHEHH}} H}0HHP(H}0HHP0H9IuA@uf@D$E D$D$f.D$zBu@H|L9HtXH{ HtwHQ$ED$$f.D${H xH5vH=#viQfH []A\}E H QxH5uH=QATUSHHHHHHPD$ED$ D$f.D$ zLd$`LHHPI|$H5uHeHHZiH5uHkeHuH?iHl$It$HH@HHuHD$Ht$HxOHkW-H5TR-H\@@D$0E D$8D$0f.D$8,&H}0HHHPHHHP8HEHLHP@HD$(D$(AH}0HHP(H}0HHP0H9Iu=uh@D$PE D$XD$Pf.D$XzDuBHzL9HtXH{ Ht[HRD$@ED$HD$@f.D$H{H vH5sH=sNH[]A\H uH5NsH=NHHD$Ht$HxMHH蔛L蜰HdHHH tH5 H=)[NH tH5w H=HHFH;{HHD$$HH{@CPL)HD$ HD$ X$D$(D$(CPH*L$0^D$0D$8D$8C(HĠ[f.H9SHĠ[fDHr(H9u0@Hr0H9ufHr8H9ufL$hf.D$h{[HL$pf.D$pzbHL$xf.D$x=HHH H*XuL LAHrHrHr$EH{8Ht$%ED$H{@LC8$#ATIUHSHH@HD$$D$D$D$D$D$D$VH!O-HHHEHHEHCHE HCHEPLe0HE8HE@HE(HEHCD$D$蝐H}0HHP0H}0IHP(.H{ HR@HD$D$UH-sL9HuH}0HHP(H}0HHP0H9IuEuh@D$0E D$8D$0f.D$8zDuBHrI9HtXH{ HtXHQD$ ED$(D$ f.D$({H nH50lH=QlGH@[]A\H nH5lH=6hGH}8HHtEH8M-HHHE AWAVAUATIUSHHH~0HHP(H{0HHP0H9IuA@ul@D$@C D$HD$@f.D$HzHuFHqL9HtXH} HHPD$0CD$8D$0f.D$8{H mH5kH=%kkFHl$PH}X>HH-Ƅ$HHDŽ$Ƅ$1HDŽ$HDŽ$HHDŽ$HDŽ$H$HI-LhLxI}Ll$PL?fL57H-H}@HD$`HD$hHD$pHD$xHDŽ$IFHDŽ$HD$PIF@H$HM-HHD$X{HG-HuH}XDŽ$HHD$XH N-HH$躄HHBHM-HI$H$HHt$pHT$$H9H|$xKH\$ LHD$ HHD$ HxH;=M-2IFHD$PIF@H$HF-HHD$XH$HxH;=KM-"HL-H}@HHD$XܮIELl$PH}XL|PHF-HH$貋HĸL[]A\A]A^A_DH|$xHKH\$ LHD$ H&(HuPLՒ-H jH5ZhH=CH\$ II<$HHBH1LyIHD$ Ht$HxcBH=)K-HWtNHt$_H=J-HWt-Ht$ ^PJH뮋PJHIZH}HgTIELl$PL|PH:E-H}XHH$MH襫H"f.f.@UXHSH荪1HHHHH[]HH@H@=I-tH8-H=1-H;t8H=D-H=-HH-gH=G-H,H5- QHݒ-HHC-HHÐHC-HH]@f.HqH-GHGHG0Hw8HHHGHG HG(f.HGLGHLD$L$7f.BD$FD$D$f.D$v-H@Ht0HP D$f.L$wD$f.D$vHH@HuI9t[HQ D$D$f.D$w2f.L$w2FD$BD$D$f.D$vfDfDHA(1Ðfffff.AVAUIH5]IATIUSH Hl$Lt$HnI]L9tEHs(HHHLլHD$HxH;=H-u HjL9HuH L[]A\A]A^H=G-HWtRL[HHD$H\$HHx>I<$HH>H}HH\$ދPJHfDATH/F-IUHoHSH_ HH9t%fDH{(HtHRHjH9Hu[]It$I|$A\f+fDSH{H[=fffff.AUATUSH_H(HG H9}HH(HL$HcILl$HfHiH9tKHH(HL$HT)zt߀:uIT$I;T$t:Ht1H IT$HHIT$@iH9uH([]A\A]D1LLHD$dHD$zH 3fH5MH=e t>f.ATUSHH`H_HIHP`LHHD$ HHtHHHPxH`H[]A\IT$I|$H Ht$ HD$@L$@0AD$PFD$XD$Xf.D$Pv-HRHt3HJ D$Hf.L$HwD$Hf.D$@vHHRfDH9tHP D$(D$(f.D$@v?HT$ HL$I|$LD$HHT$He7)HX(H`H[]A\f.L$(wFD$0BD$8D$8f.D$0wHH dH5ndH=KY~HHtvH8H;HKH)HHLlHtHHvH;IHtW8H+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.UHSHHH_HLAD$@f.AHL$ JL$(L$(f.L$ v;HCHt8HHS D$D$f.D$wL$f.L$vHC1HuȄu1D$HHD$f.D$v[1HH[]H_f.1H9_HtHBLEHH HHAD$D$D$f.D$wD$f.D$w)AD$0A@D$8D$8f.D$0nHHH1[]fAUHGATIUHSHHH9L*HF AED$0D$8D$8f.D$0wbL$0f.L$8AUT$@PT$HT$Hf.T$@w+f.L$8f.D$0vgHĈH1[]A\A]@H9]t6HrAHH@ D$PD$0f.D$PHzHHHĈ[]A\A]D$@f.D$HvfH9] t:HL$輑HP L$D$hD$hf.D$0vzH{Hu1HfD$Pf.D$0w2@D$XAED$`D$`f.D$XJfLHumHĈ[]A\A]f.L$hwAED$pBD$xD$xf.D$pUDH(tHHW HJ D$D$D$f.D$wDD$f.D$bAD$ @D$(D$(f.D$ :f.1{fAUIATIUH0SH8cHHt1H@H@H@IEHHC(HC HS LHk@Ht.HHMtEHxHE(H8H[]A\A]DHHD$k3HD$H8[]A\A]H9tHs HB D$D$D$f.D$wD$1f.D$wF1D$ @D$(D$(f.D$ @Tf.fHGÐf.HGÐf.AUATIUSHH<-HHHHtHPIl$HELmI)IMt31 fHEHH=tq.H *]H5=WH="hpR.fHGHtHH \]PH5WH=ҫa#.fSHHPHt[HHHH9t,HHt(H9Xt HHHtHH9XtH9u1[H NXH5VH=u<!-H /XH5VH=V-fDHGHtH@ H ZPH5MVH=2gb-fATH6-IUHSHH>@HH@H@HCLHH"HkHH@H@HC[]A\HHb+H誕f.ATHo5-UHSHH衔HH@H@HC1@ItLHHF"HkXHH@H@HC[]A\HH*H@ATUSHHD$@D$HD$@f.D$HztfDH1[]A\f.FD$PAD$XD$Pf.D$XzuHHLHHL$L$耗L$HL$uED$pD$xD$pf.D$xz:f.D$xE$C$$f.$҃A$$$f.$zjuhA@$A$$f.$$D$h$D$hf.$BGff.$A@$A$$f.$Ѓ9H[]A\f.E$C$$f.$$D$`$D$`f.$҃D$`C$H $Hl$ sH $HIHJ:HS1HiOHH\$0LHHT$0H2-HHsqHD$0Ht$Hx(HD$ HHx'HX0-H5A+-LIHl$ trHHI9H1HNHH\$0LHHT$0H1-HHpgD$hA$H\$0HHD$ HHxX'LpuHHHHHD$0Ht$Hx-'ffff.AWIAVAUIATUSH(HGHt$HH@HD$H)T$H|$H|$HH;E1iIHuLPHD$IHuLPLD$Ht$HLLIL;d$IEHJHHHPhHIHLP0HHvhILPHD$I1LPLD$Ht$HLL9H(H[]A\A]A^A_H(1[]A\A]A^A_H PH5OH=OJ&H PH5OH=OG&H OH5uOH=XD&f.AWAVAUATUSHHH.LvL9"HEHHD$8HL$HHLd$8L|$ Ll$0HL$HHGHHGLLLD$0V%HT$LLD$A%HD$0Ht$ HHD$ HFhHphHH@(HHt$0HH@(HD$0H|$0HtHPH|$ HD$0HtHPI9tBHEHHHD$8t?H{HWH;WtH111fL;*HH[]A\A]A^A_H PH5MH=%H|$0HHtHPHD$0H|$ HtHPH辍HHHHt$tFHHt\HGH;Gt'HtH0HGHHGHfD1@Ht$>:H uRH5HMH=+]$H VRH5)MH=>$fffff.SHHHHt$HtcHWH;WtHHHt$t6H2HWHt$HHWHttH{HtL-H[f1@Ht$>&Ht$H PQH5LH=L#H 1QH5dLH=I]y#H QH5ELH=(Z#f.ATIUSHHoHHE HUH9tsH+fDH HSIl$HHSH}HUH9tCHH(HtCHSH;StHu1Hp(HHD$'IIl$HD$H[]A\H OH5{KH=K"H iOH5\KH=A\q"AWIAVAUATUSHLd$pH|$ I|$XxH$-Ƅ$LHDŽ$Ƅ$1HDŽ$HDŽ$HHDŽ$HDŽ$H$H%-HHH@HyHL$pHL$(HD$0HJaH$-I|$@HDŽ$HDŽ$HDŽ$HDŽ$HDŽ$HHDŽ$HD$pH#-H@H$H)-HHD$xUWH~#-L-)-It$I|$XDŽ$HHD$xIEH$`H5JL[IWHLrI)IMHL$`1HL$HL$PHL$HL$OHL$8IGHH,H|$Hup9HEHH|$H5IL![HLvH5~IHHZHt$PHHVZHt$`HHVZHD$PHxL9tHD$`HxL9HL9LHL$ IEHH$H$H$HT$P$H9H$&H|$ Ht$`HD$`ċHD$`HxL9H!-HHD$pH!-H@H$H!-HHD$xH$HxL9H'-I|$@HHD$x蠉HD$(HL$0I|$XHD$pH@HLpHT!-HH$kfHD$ H[]A\A]A^A_H$H%H|$ Ht$`HD$`H|$ It$PmH=?&-HWiHt$8*:ZH= &-HWt3MHt$9>HLeHPJHI|$Hz/HD$(HL$0HD$pH@HLpHC -I|$XHH$UeH譆HH\$OHHD$ HH8HsHHD$`H\$OHHxnH=4%-HWtNHt$O#9H=%-HWt-Ht$`8PJH뮋PJHjHHD$PH\$OHHxHD$`HHxHH\$OPJHLAUATUSHHD*L&袄HHLDrH+HH[]A\A]HHHMf.AUATAUSHHHWH+HHLHt$,LHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHXH;IHtWH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.tEf.f9tB)Ѓ)Ѓt9NLuufDfDt9t9fDGNH9s@GGG1<tWHH9wDH9vf.uf.UHSHH~v HvwHHw{v HsHwHH[]fffff.AWIAVAUATUSHH\$PHt$(H{hH:-H--HƄ$HDŽ$1Ƅ$HDŽ$HLmHDŽ$H$HEHDŽ$HDŽ$Ll$PHHD$IEHLPHD$XI}XLu 1IFLt$`H|HE(HHD$XHEL%-H{PHU0HD$H@HT$ HTPID$HD$pHD$xHDŽ$HD$PID$hHDŽ$HDŽ$HDŽ$H$ID$@HD$`H -HHD$hNH-HsH{hDŽ$HHD$hH1!-HH$WHt$(H{"KH !-HIH$H[H$HT$?$H9H$ Hl$@LHD$@HHD$@HxH;= -JID$HD$PID$hH$ID$@HD$`H-HHD$hH$HxH;=] -H-H{PHHD$hHD$HL$ H{hH@HLPIFHL$Lt$`HL`IEHL$Ll$PHLPH-HD$XHH$^HL[]A\A]A^A_H$HHl$@LHD$@HfDHs`LeH=_-HWHt$@L2H=/-HWHt$>2IH\xL$Hl$@II?HH IHD$@Ht$>HxPJHcIUHL$HLl$PHLPHD$XH3-H{hHH$F]H~HH{I'HuHLc뺋PJHf.fUSHHHH7HPhH;HCHCHCHC tHSH|$H H;t&H[]H EH5DH=ڗ7 H eEH5DH=:H{HHtlH}@HGHtH DPH5eDH='I@@HGÐf.UH,SHH(HHSHH4PH{HSD$HHt*PD$D$f.D$wD$D$H([]DD$D$D$H([]ÐfDUH,SHH(HHSHH4PH{HSD$HHt*PD$D$f.D$wD$D$D$H([]Ðfffff.AWMAVIAUATILUHSHHHyHPH}ILHPH{HLHPH{ILHPHHL[]A\A]LHA^A_WofDAWMAVIAUIATIULSH(HD$`H|$HD$fL9HILL)HuLH)HH|$MILLL)thK,J\=HHI9sH9L9rVL9sAH9sHT$H|$HIILHD$H$LfL9HD$`H([]A\A]A^A_ÐHt$H|$HMILHD$H4$LfHD$yHL$H|$HIILHD$H $LafHD$<HD$IIH|$LH0H([]A\A]A^A_'[fDHHHRLWHHL HLIItL$IHeHÐfAWAVAUIATIUSHLHnL+H+nIHHIL|$t=I1Ht(E1LMLHLIxL9uHH9\$uH[]A\A]A^A_fAWAVAUATIUHHSHZHHHPIHELHPAID$@D$HD$@f.D$Hzf.D$HAFD$`AED$hD$`f.D$hEAAHEHP0H9I!AG$@$$f.$^$$$$f.$ɃA9HL9 HEHHLcPIHELHPAHD$pD$xD$pf.D$x2f.D$xAGT$F$$f.$уA9]LH[]A\A]A^A_fAFD$P@D$XD$Pf.D$XL$X$$$f.$EANHCHD$H\$ WHt$HHH1H 4HH\$0HHHT$0H-HHVHD$0Ht$Hx HD$ HHx H-H5-Hc$F$$AE$H\$ VLHH H)1H?3HH\$0HHHT$0H-HHIU.IHD$0Ht$Hx HD$ HHx HYLuIH\$0IAUATIUHSHHHBH;BH$HHH$HHCLl$fDHLmHKH;KHD$t>HtHHD$HHKH$HEHP0H$HH9wH[]A\A]LH]HD$1|HHDH$pf.AUATAUSHHHWH+HHu}LHt$sH HHCHt$IH)HH6HItIuHHtHHHH;IHt H+LLkHkH[]A\A]fDHH9v InHHIH9LFMf.H9t 1HG(HxuL9w LH)HtfHL)HސH(HHLD$HT$Ht$Ht$HT$LD$u1H(HLD$HHT$P`LD$HHT$I9tH9M!Hufffff.ATHUHStDHH;ZIr6fDHH;]s&H;HP`LH",t[]A\f[]1A\ÐAWIAVAUIATMUHSHH(H9uL9uH([]A\A]A^A_f.ICHLLL$PhIHLLPHD$IIuLPIHEHPhIHLLPHD$IIt$LPH{(HL$IHt$L%HC(Hx]{1LL$C4MHLLHLL$3){0CLL$Ls(I~A~pIF0{ HCIF8HCIF@C HC tC HS8LH]HS@LH\C ILLL$1HE1HLL$@I1LLLHEHs(LHLs(I~+A~p @H -GHHf.AWHAVIAUIATIUSHHPhHIELPhHHEHP0IHHP0IL|$tGHh1fHt(E1MLHLLIPL9uHH;\$uH[]A\A]A^A_ÐAWAVAUIATAU1SHHL~H<$HT$GI)IMt[L41EuHL9t'IEHI9tHL$H<$LH;L9uHL9tIEH[]A\A]A^A_Ðfff.AWIAVAUIATIUSH(H~HZH+HHt$AD$H|$H)D$H|$HD$HH|$tZHt$E1HH,t%IHLJLI?:I9uHD$HD$H9D$t HD$HH([]A\A]A^A_f.DHq-HHÐHa-HHf.H7HGFD$L$HHBD$D$f.D$w!f.L$wH~t H7fDHztHHH@AWAVIAUIATIUH,SHHH9LyLD$rnfDHHI9v[ID$H(HxuIUHpHtH;tHNHVHIwIHLD$A$I9wfH[]A\A]A^A_ÐAWAVAUIATUSHHHHHHHD$ \LpL+0HD$(IIHC HD$HD$(H$HD$ HD$HCpHD$6HC`H{PHD$0H(H9HtD$0H1L?H{PLg(L9cXHChLcPdH|$ Ht$(I(oHC`H{PD$8H(H9LHtD$8HLL?H{PH(H{PHD$(HI9HD$(HHHH9xHH|$ Ht$(tH-H}HuHHEHHH;HHhHHKhHC(HH+S IHH)HwH|$1Ҿ2Lch"jID$H{PHtD$0H1L>HShHBHChHRHHSXHSPHK`L`IfDHKhHC(HH+S IHH)HwH|$1Ҿx1L{hiIGH{PHtD$8HLL >HChHPHShH@HHCXHCPHS`RHt$H|$H$MKHt$(H|$ HHH[]A\A]A^A_HbHChHx|HbHChHxbH%\HiH\Hifff.ATIUHSH1HFH)HHt(H4LHHMHUHEH)HH9r[]A\@AUIATIUHS1HHHFH)HHt/H4LLHHMHEH)HH9rH[]A\A]fffff.AWHIH)AVIAUATUSH8H=HHLgHL)IO$HLLHHH?HHILHL[D$f.D$(w Hy7HBLHA@D$ D$ f.D$(wcf.L$ wIytLH9v_LHHMAAD$(L$(H IAD$f.L$sHDIxtHtHLHHL)H=~sHt IIHHXHHHI H$HLHuIILIML)1LHIIEH$wHH8[]A\A]A^A_fIyH fff.AWHAVAUATIUSH8HGHGHGHHD$ID$hI+D$HHHL@ID$PI+D$XHHH4ID$@I+D$0HHHN`HD$(I\$0Ml$@M|$PIl$Mt$HHD$)fHt H]ID$HhH(L9Il$t8I9tKI9l$HH\$(uHt$H|$H(L9Il$uI^II9Lu@Ml$HI9t~H?HL)LHHHH?HH)HHI$LHsMH9f.HHDH9uIl$ID$H)1HHt7kIT$HH@HtHX ID$HH)HH9rH8[]A\A]A^A_Ð$HLLIl$ID$됐@ATIUHSLJ17HEH+EHHu!RfA|$ uHHEH+EHHH9s3HEH HyuHQ MHHA|$ tD[]A\Ðf.UHSHHu HHH[]f.1ܐfDATIUHHSH{HHHmHL[]A\>f.@H -HHÐH,HHÐH,HH=f.H,HHf.AVHH9AUATUSH/HWHH)HH9w[]A\A]A^fDLgI)IHtXL4L bIMtIHLL7H;HtL+MMLcLk[]A\A]A^E1E1H=@AWAVAUATIUHSHHHOHHWH?HHIH)HH)Hvm{aIEHC0I $HUHtH5,HHHPHH0HCHHPHSHH@HHC8HC0HS@H[]A\A]A^A_fDHs(HH)HLpLhK6H9HL|HI9J<`LHHs(L)HL4HCHHPH)HHtHLHL$5HL$H;HL$ HL$L{H ILs(IOl.LkHHCHHC IEHC8HHC@L)HL4L9v9HH)HHtHLI 5ADHIH)HHdHK<.H)4KRSfAUATAUSHHHWH+HHLHt$|_LHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHH84H;IHtH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.AVIAUATIUSHH9H_H9u4$f.D$wH}t|LkH0M9Lt[H+I$E$@D$D$f.$vLkL)HHtHLLH)3M9I,$LuH[]A\A]A^Hxux@AWAVAUATUHSHHHOHHw(HH)HL`HGM<,KHS@AT1IUHSH1HFH)HHt0H4HHI$ID$H)HH9r[]A\f.AUE1IATIUHS1HHHFH)HHt.DJ4HLIMIEAH)HI9rH[]A\A]fff.AWHIH)AVIAUATUSH8H=HHLgHL)IO$HLLHHH?HHIL2L[D$f.D$(w Hy7HBLHA@D$ D$ f.D$(wcf.L$ wIytLH9v_LHHMAAD$(L$(H IAD$f.L$sHDIxtHtHLHHL)H=~sHt IIHHXHHHI H$HLHuIILIML)1LHIIEH$gHH8[]A\A]A^A_fIyH fff.AUIATUSHHoLgL9H?HL)LHHHH?HH)HH\$HLm8I}IuH)11HHt DH HIHtHA H9rH[]A\A]f.I$$LH 8H9t@HHdH9uDHHxfff.ATIUHSG 1 It$IT$E1HH)HHt$@J HytHH)AHI9r[]A\HQ LIL.IT$It$fUHSHHu 0HHH[]:>f.1MܐfDATIUHHSHLHHHLHL[]A\=f.@AUATAUSHHHWH+HHLHt$MLHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHx"H;IHtH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.D$H7HOHWHG D$GÐf.GD$FD$D$f.D$w<D$f.D$w!Ht 1H~H~fDfDf.AWAVAUIATIUSHH\$0H{X[L5,Hu,HƄ$hHDŽ$`1Ƅ$iHDŽ$pM~HHDŽ$xH$IFHDŽ$HDŽ$IL|$0HD$H2#H,H{@HD$@HD$HHD$PHD$XHD$`HHD$hHD$0H,H@H$H,HHD$8PHy,H-,HsH{XD$xHHD$8HEH$"H5HID$ AD$H5HD$(HD$yD$(HQH5HITHt$LEI|$H5|Hg HHD"HD$0H@L MA8AGCHMH'H5Z HIt$H{H|$ PHt$ HHVHD$ HxH9HEIEHD$`HXHt$PLd$$LH9H|$XHt$ LHD$ MHD$ HxH9>H,HHD$0H,H@H$H,HHD$8H$HxH9&H,H{@HHD$8KIFIVH{XHD$0H@HT0HN,HH$e(HĘL[]A\A]A^A_H|$XHHt$ LHD$ L"@LI LP0UDH5H4HsPLLd$G/HH'HIH=,HWHt$H=,HWHt$ H=,HWLd$LlHH,H{XHH$'H`HHHD$ Ht$HxJH{HIGHL$L|$0HL0렋PJHPJH3HHD$ Ht$HxI}LHH@PJHf.@UHSHHH,HwHHHHPhHkHCH[]H,HHHdG@SHH HHsHPH{HsD$HHPD$D$f.D$wD$D$H [@D$D$D$H [SHH HHsHPH{HsD$HHPD$D$f.D$wD$D$D$H [fffff.HIHNHWHwLL@"'fH,HHÐH,HHf.USHHHD$HD$%D$ D$f.D$ zbu` YL$L$(\D$(D$0D$(XD$0D$8DL$8HD$0HEHHH[]DH3H{H0HxHH[]HHHVEfDAT6USG HHHGHG ;DHH H),HHEHk[]A\HH;HtHDIHLU1HS1HHHGH)HHt"H<ʃTHUHEH)HH9rH}HtHPH}HtH[]H[]ÐHHtHH@0fD1Ð@HHtHH@8fD1Ð@HHtHH@@fD1Ð@UHSH CH}HHH@H@HHP HH[]fff.HHH@(fATIUHSBLHHH@H@HHtH[]A\fff.UHSHD$WBD$HHf(HHH[]18HHHBfffff.SHHH$C D$D$f.$v$f.vC H[ÐATIUHSHH*@C HD$D$0H9H$t"HKH;Kt>Ht1HHSH$HHSH{LHH[]A\fD1@HHuH$f.Df.H ,HHf.H,SHHHH[`AUATAUSHHHWH+HHLHt$@LHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHXH;IHtH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.fWGfD$L$D$L$f.D$Ov Gfff.D$L$D$L$7fFD$L$D$D$6f.D$D$Ðfffff.GD$D$fffff.GD$D$D$\D$D$D$fFD$GD$D$f.D$vGD$D$D$f.D$v D$ÐD$1L$D$D$f.D$wGD$D$f.D$fffff.FD$L$D$D$*'f.D$L$D$D$f.D$rGD$D$f.D$Ð1Ðfff.FD$L$D$D$f.D$D$D$f.D$r"GD$D$f.D$1f.HD$D$Hfffff.HgfDD$D$Ðfffff.Gfff.HGÐf.UHSHH8H$ D$D$^$D$D$8D$H{ $D$YD$ XL$ D$ L$(L$(H8[]3ATUHSHH1H{Cr;HIm5sLcHHfCHHߍpsH{Ht[]A\HL HT<@HGHG@DHa,SHHHH H[fff.SHG H[fffff.HHw H1ATAUHSHH H,Hk HDc0HHlH{ $D$$XD$D$YD$D$D$C(H []A\HH4H<;fff.AUATUHSH9:HHHH#H:HHIHHp8A9DLHH)HtHUH]HH[]A\A]HHDH:HH1Hy:HLHf:fDHG Ðf.UHSHHfHHDHt!HC(HD$D$uHH[]ÐATUHSHt`HD$H$8L$H$Ig88U0LHHÃY(HH[]A\DG(H $uD$DH /$E(D$sHLH79HHH$9@AUATUHSHHH HtHv nC(H} D$D$LcExDC09E0t)DHHIHp#NlH[]A\A]JlH[]A\A]H H5̂H=FzH H5H=4xrfATIUHS\7HHHMt9It$ HHLHH"H[H]A\fDHHH[H]A\HHzH7fHcSHHCHt[DHC[Ðfff.UHSHHfH߉HC(HD$D$ uHH[]f.HGÐf.ATIU1S1I|Ht HP09LHHu[E]A\fffff.ATIU1S1I|HtHP8HHuIT$[HBH+H]A\fATIU1S1I|HtHP@HHu[E]A\ÐUSHHH,HoHHHtH}HtHH{HtHPH{HtHPHCHCH[]Ð@SHWH[fffff.D$D$D$f.D$GD$D$f.D$CÐfffff.H,SHHH4HH@H@HCHCHC[ÐfDHHHt$HGH;Gt!HtH0HGHHGH1@Ht$N fff.AUIATIUSHHHPHHCuH[]A\A]@HHHLIu$1H|+Ht HLLP(HHuHCH[]A\A]UHSHHHHNHHw$輼H{Ht HHP H{Ht HHP HCH[]f.AUATAUSHHHWH+HHLHt$ 3LHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHH;IHt7H+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.AWAVAUATIUSHH9tzLGHGHH)HIHL)HH9MI)IL9sSL,MLLM)HHLLL)HEHHHLuaH[]A\A]A^A_ÐN LN< L)HHL)MHfLHLIHEDHLLL$L)H}MLL$HHHtvH8H;HKH)HHLlHtHHH;IHtH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.AWAVAUA ATUHSHHHGH+HHULHL$HT$Ht$Ht$H]IH}HT$Lx HL$HH)D$ HH LD$(t(D$ H,@D$(HHHH@H9HLHtPHl,HHHf,AD$0HD$0BAD$8D$8HBHAHBH H H9uLw HL)HM|@ fI HI9LuH}Ht1LeML}LeHH[]A\A]A^A_H<H9v IIL9wII{AUATAUSHHHWH+HHLHt$LHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHH;IHtGH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.AUIATUHSH_HL'HHEHHH3LAՄuLeH[]A\A]fDAWAVIAUATIUSHH9H_H9tyIHoGHH IL)HHt HHLHL$H)HL$HHM9I $t)I4$H;AՄuHIL.HHM9uH[]A\A]A^A_fAWHHAVIAUATII?ULSH8HD$H|$HD$Ht$ HT$(HL$LD$H9*IDIIOHD$L$ HM,I\$I}I,HuLHEIDH;\$HK|D$(uL|$(ILH?III9t0H;\$ I<DHT$HH8[]A\A]A^A_fH\H;\$ IHK~HCII?IIO$Ht$HD$I<$ЄuIf.I$IIGHH?HHL9|$ |LhLIH\$ f.@AWHH)AVAUATUHSHH(H=HT$Ht$H|$IHGHD$H)Hl$H}HHH?HHH\H3AԄHD$HpH;AԄHEHHUHHuH}Ll$HD$HHuH{HAԄIuM}fDI7MH}IAԄuI9vHIUHIEHCHuH{HT$Ht$LH譶HH)H=H|$H\$H}AԄtKH}HuH}Hu;HD$H}HpAԄtHEHL$HQHUHAHuH}HD$H;HpAԄHEIHHXIHHHLMLHH%HuIHELIH)1MHHIIFHHH([]A\A]A^A_f.@USH(=wH4H|$D$H([]ÿHl$HT$H5HHHHPHD$Ht$HxHF,H5/,H7HHH HHD$Ht$Hx订fff.D$HD$D$HGD$D$f.D$D$Ðfffff.HGH4%fHgH-Ðfff.SH D$H\$D$HRH誹H [@HHH!GÐfffff.SH0D$H\$ D$HH߾4UHMD$D$H0[Ðf.HHGÐf.AUIATIUS1H @4t0LމL9tH[]A\A]fH4[]A\A]ATUSH@D$fW $f.D$1f.D$D„t!HD$D$H@[]A\ff.$f.$D„uH\$ D$Hl$0H$HHHAA9uHH4H)HD$jfSH5HHHT$HH[fffff.USHH(D$Hl$D$H.HHӴH(H[]fH8 $D$$f(\L$L$fWf.L${p zfTD$D$fTD$ D$f.D$ w0D$^D$ D$(D$(胭H8D$ uH8@H8D$GD$D$f.D$wYD$\D$$GD$GD$ D$\D$ D$($f.D$(v-جH8H$$辬H8fDD$($$蛬H8HD$(Hfff.Gfff.HG Ðf.HHG  y$G(D$$XD$D$D$YD$G0D$ G8D$(D$ XD$(D$0YL$0L$8D$xD$8P@HHÐUHSHHxD$ED$ D$ ^D$D$(D$(L$D$0f(L$YD$0D$8T$8$ED$@D$@^D$D$HD$HvD$PL$D$P$YD$X\$XD$XXXL$8C\$`L$hL$hf.L$8v0K(L$`S f.L$Xw0K0C8Hx[]K L$`S(f.L$XvC0K8Hx[]ÐfDATUHSHHLc vC vHC C(HC0HK8HfDCHHߍpsHLYt[]A\fWG vvGWG O(G0O8Nf.@AUATIUSHLl$`LLK H.ELH$$ED$D$@ED$D$@ED$D$@hAHHHG,CH]@ uuHHED$ LCD$(D$ XD$(D$0D$0YD$8D$@CD$HD$@XD$HD$PYL$PL$XD$XEHD$8UXDm`EPI,$HĨ[]A\A]HHyHIHfLUHSHHfHHD HtHHsHHEuHH[]fDAUIATIUSHh7pDHF@FH$@D$AD$PD$@D$ D$Hf.$C $@D$f.D$ L$CKhEd$`HHAHN,CH]@ ssHHED$ LCD$(D$ XD$(D$0D$0YD$8D$@CD$HD$@XD$HD$PYL$PL$XD$XEHD$8UXDe`EPImHh[]A\A]fDHF@$FHCD$C$@DutaDE1HD[]A\A]A^A_H;H HW@uHG(@HHxuH9uHGH9GuHPHHHI9tHwI9t LH)HHtH_MEIMEiHz(Hz0Hz8L9>tHL9>tH3HHzHzHz낐f.HHGH;GHt$t%HtH0HGHHGH@1@Ht$HAUIATIUHSHHP(uH[]A\A]IL$IT$I\$ Iu$LI@L9tH;Ht HLHPHI9uH[]A\A]ATIUSHHk@H HHOHWHvL$H9tDH;HtLHH9uHL[]A\ÐfAWAVIAUATUSHH\$@H|$H{X~L=J,Ƅ$xHHȈ,HDŽ$p1Ƅ$yHDŽ$IoMgHHDŽ$HDŽ$H$HDŽ$H}Hl$@L'Hf,H{@HD$PHD$XHD$`HD$hHD$pHHD$xHD$@H,H@H$H,HHD$H賻H܇,L-U,HsH{XDŽ$HHD$HIEH$InI+nH5%HHHHMIHH@IH$}8hECLHHD$01HD$HD$/HD$H5H臿HHH5HhIt HHH|$PHt$0HHV>HD$0HxL9HD$@H@L0MA|$86AD$CHHHHDHL$IEHHD$pHHt$`Hl$/$HH9H|$hH|$Ht$0HD$0HD$0HxL9H,HHD$@H ,H@H$H,HHD$HH$HxL9UH̋,H{@HHD$HIGIWH{XHD$@H@HT@H,HH$HD$HĨ[]A\A]A^A_ÐLXI$ LP0@H53H蜽kH|$hHӉH|$Ht$0HD$0f.HHE HP0@H|$HsPHl$/]H=,HW7Ht$wIHLH=Ɖ,HWHt$0賝{ywIHD$0Ht$/Hx賀IHD$HH8H蚀IHD$0Ht$.Hx肀H=H,HWt Ht$.9뺋PJHH{IɒHEHl$@LLd@H,H{XHH$HH׋PJHPJHf.DAWAVAUATIUSHH9tzLGHGHH)HIHL)HH9MI)IL9sSL,MLLM)HHLLL)HEHHHLuaH[]A\A]A^A_ÐN LN< L)HHL)MHfLHL葻IHEDHLLL$L)hH}MLL$HHD$8HHD$~I$H|$ HLPH\$ H+L{L9HD$0HD$@fLl$8H{(HCH;Ct~HtqL(HCHHI9HCtyI$LmLI6P HH@H+CHI9D$(uI$t$ LPHt$I>HHD$0}zf.1@Ht$H{:HI9uH\$ HtH;Ht)hH!hHHL[]A\A]A^A_H H5H=m`iH|$ HHtHD$ I>HtIH HH H5H=/Ei@AWAVAUAATUSHr;r IMHZHjH9L|$IH;H|$HPt^HD$H'HH=l,HRHrH9>*t %H H5H=&:Th@HT$HHH=l,H@HpH9t3>*t $t%H VH5H=?gfDILDLPhHH9H[]A\A]A^A_DAuIT$I;T$tHtHID$HID$1LLHt$HHT${{H H5H=.Ug@AWIAVAUATUSH8HH|$HL$H|$HHP8MgMHHD$(M9HD$u zfIM9toM/HL0IELHHHAքtIELPtWHL$IUHAH;AHT$(tcHtZHHAHt$IHM9HFuDH8[]A\A]A^A_fH|$HL$LHHP`UD1Ht$H|$-8H H5H=ffHo,HHÐHG(f.f.HGf.Hn,HHÐHn,HH=df.Hn,HHdf.tHGH PH5H=yUeDHFH;tH@H PH5H="efAWAVAUATUSH(HwH/H|$H9Ht$u-HH9l$}uHEHHD$tHHHH9H $I@IL9<$twA?uI_HtLsHI9I fIM9t)A}uMeMtLI˳LbM9uH;HtbHIbL9<$uHD$H8HtbH|$HbH9l$#HD$H8HtH([]A\A]A^A_tbLH<$H([]A\A]A^A_H|$SHOIHvHH9tHH)HHu HLHK[LH蔠HKILHHK[AUATAUSHHHWH+HHLHt$HHtvH8H;HKH)HHLlHtHHH;IHtgaH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.AUATAUSHHHGH+HHLHt$HHtvH8H;HKH)HHLlHtHH踝H;IHt'_H+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.HGH;Gt&HHtHHGHHGfD1@ f.AUATAUSHHHWH+HHLHt$LHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHxH;IHt]H+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.HGHDÐ@GD$D$fffff.Ht+HHh,H5c,1蒒HH1Ðfff.SHH?T1҄uH{Eƒ[fff.USHH(Pu>H;HH{HHHtHHtCHHմD$D$H([]fH{HSH3HD$D$H([]ÿHl$NHT$H5HH7HHHHtvH8H;HKH)HHLlHtHHH;IHtWVH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.Hx$D$D$f.$v $D$FD$GD$D$f.D$v D$D$FD$ GD$(D$ f.D$(vD$(FD$0GD$8D$0f.D$8vD$8D$(\D$D$@D$8\D$D$HD$@YD$@D$PD$HYD$HD$XD$PXD$XD$`QD$`f.zD$hD$hHxD$`fHH~HrHpD$D$Hf.H $D$$f.D$rL$GHH H5^H=dUD$GD$D$XD$D$i/YD$D$D$fffff.GHD$FD$D$f.D$wYD$D$D$@D$D$D$f.D$vD$D$D$fD$1D$GD$D$f.D$w$FD$D$D$f.D$Ð@D$D$D$f.D$z6u4GD$FD$D$f.D$1f.D$D1DHH5DSHHHHH8H$HH#D$$f.D$H[ÐATHg[,IUHSHH0HtHPIl$@I\$8H9t=DH;HtQHHH9uI|$8HtQ[]LA\plHf.SHGH[Qfffff.USHHHV,GHHHH@H@HCƺHH@H@HC H_Z,HC( HH苺HU,HHHC0HC8HC@HCHH[]HHkH'fDUHSHHH V,GHHHH@H@HCHHH@H@HC Hk(vIHY,HH趹HGT,HHHC0HC8HC@HCHH[]HHjHMfff.ATAUH0SHHHHT,Hu(H{HCHCHCDc HHC(H6HZ,H} HHHGH;GH\$t5Ht HHWHD$HHWH[]A\H1fHt$覵HD$H{HHtOHY,HHHOHPAWAVAUATUSHHHHH9BL$ II>HH@LH@II$t$ PHD$8I>HD$8HHD$cI$H|$ HLPH\$ H+L{L9HD$0HD$@fLl$8H{(HCH;CtnHtaL(HCHHI9HCtiI$LmLI6P HH@H+CHI9D$(uI$t$ LPHt$I>HD$0Bc1@Ht$H{誩HI9uH\$ HtH;HtMHMHHL[]A\A]A^A_H H5qH=mNH|$ HHt8HD$ I>Ht"IHyHH H5H=*uN@ATIUSHH0D$ $L$f. $$T$ D$fTfUfVD$(L$(HD$ H\LHHHl$HC@H;CHtPHtHT$HD$HHHC@H|$HtCLH0[]A\f.L$ $UHt$H{8B}HHLHMH|$HHtKH3fAUE1ATIUHSH3HMH+ME1HHH@H@HHMLLCLkHuHM1H)HHtH,LHډILHkI$L+L9t|H?H L)HLHHHH?HH)HPH~WIHiLHNH9t!fH5IH聻HH9uHL[]A\A]f.HHLHL[]A\A]HH9wL,LItHHYJH衴I<$HHt*I$H耴HG(SHHt[ÐHP HC([@1f.HqO,HHÐHG0f.HQO,HHÐHAO,HHIf.H!O,HHIf.HN,SHHHHHtpIHS,HH[HyN,SHHHHHt@IHS,HHH[)IfH T,SHHHH(IHN,H{HHHtHHZS,HH[fAUATIUSHHOHGH)HHtf111/HHcMIL$IT$H)HH9s8HHHtvH8H;HKH)HHLlHtHHH;IHtFH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.AWAVAUAATUHSHHGH+HHLHt$XH}HMILxHH)HLHHt$HHH}HuHH9tuHLfDHt HHHHHH9uLuH]HH)HI9M|H;HtCEHHI9uH}Ht%ELeML}LeH[]A\A]A^A_HH9vIH:HH9wIILAUIATUHSH_HL'HHEHHH3LAՄuLeH[]A\A]fDAWAVIAUATIUSHH9H_H9tyIHoGHH IL)HHt HHLHL$H)萂HL$HHM9I $t)I4$H;AՄuHIL莴HHM9uH[]A\A]A^A_fAWHHAVIAUATII?ULSH8HD$H|$HD$Ht$ HT$(HL$LD$H9*IDIIOHD$L$ HM,I\$I}I,HuLHEIDH;\$HK|D$(uL|$(ILH?III9t0H;\$ I<DHT$HH8[]A\A]A^A_fH\H;\$ IHK~HCII?IIO$Ht$HD$I<$ЄuIf.I$IIGHH?HHL9|$ |LhLIH\$ f.@AWHH)AVAUATUHSHH(H=HT$Ht$H|$IHGHD$H)Hl$H}HHH?HHH\H3AԄHD$HpH;AԄHEHHUHHuH}Ll$HD$HHuH{HAԄIuM}fDI7MH}IAԄuI9vHIUHIEHCHuH{HT$Ht$LHMHH)H=H|$H\$H}AԄtKH}HuH}Hu;HD$H}HpAԄtHEHL$HQHUHAHuH}HD$H;HpAԄHEIHHXIHHHLMLHHE,HuIHELIH)1MHHIIFH,HH([]A\A]A^A_f.@1D$FD$D$f.D$w# L$JL$L$f.L$vfDf.L$wf.D$wBD$FD$D$f.D$wBD$FD$D$f.D$fDUSHHHHHHHHHHH@ ^$@D$$XD$D$D$YD$ED$ ED$(D$ XD$(D$0D$YL$0L$8f.D$8HH[]H H5ryH=+?H H5SyH=H0?H ƆH54yH=!/?H H5yH=,o?fffff.D$FD$D$f.D$vCH0f.UHSHHHB,GHHHH@H@HCӦHHH@H@HC Hk(v.HA,HPHHC0HZA,HHHC8H[]H YH5xH=a>SH]H[fAWAVIAUATIUSHhHFH+HH=H*MD$@ I*D$HD$@^D$HD$PD$P5D$X !D$Xf.sPH,åMHHH@H@u:H@H@HhH[]A\A]A^A_\HH,H1HI9JHIHD$?LHHCHHSfDHHIuHCMt$M+4$HCHD$8IHHD$(D$'E1E1f.֤H HHH@H@J)HJ<(٤M9vd|$'t]N1"H0HGHHGHIH9v4M9s/I$IJ4HHt$8J<(HGH;Gt%Hu1@IL9l$Q@Ht$(LT$HL$蔖LT$HL$LLHH H*XHƒHH H*XlHHQ:H虤ATAUH0SH蘣HH>?,Hu(H{HCHCHCDc HHC(H膣Ho=,H} HHHGH;GH\$t5Ht HHWHD$HHWH[]A\H1fHt$HD$H{HHtn9HC,HHHX9H蠣AWAVAUIATUSH8HH9BHt$IA荢ImHH@H@I$IEH)HHtrHt$ 1Ht$IEHHt$DH|$68HD$ HHHH9tKI<$Hw$wLt$ MtI>Ht8L8HH9uH8L[]A\A]A^A_H H5asH=y9HI<$HtfI$HzH ӁH5!sH={9H|$ HHt%믐fDAVAUATUHSH@HBHH9H)IHHAHhH*HD$HPXH+H*D$D$^D$D$D$0HD$ HHHPL$ ,*D$(QD$(f.D$0D$0/D$8H4$HD$8,Hc:vDHHLI&I}MeI)IMt.1H,HtH}Ht6H6I}HL9uHt6L6H$HtH;Ht6H6H@L[]A\A]A^@HƒHH H*XfDHƒHH H*XD$(kH H5qH=qlw7MHtI}Ht5L5H<$HtH#Hfffff.ATUSH`Ld$@Ht$Ht$D$HD$@HD$HLHD$PKHD$HH|$@1HHH)$HHp1f.HT$HH|$@H9fWD$f.HHdHD$8tD$8f.D$HT$HH|$@HHH)HHHHD$H(HT$HH|$@HD$8H9D$lH@H;\$HPHT$HuSH|$@H9HHHH)H~HJHZHH)$1HsHD$HH;\$HPHT$HtH54HT$HfDHHJH1HH)$HhsHD$HfDD$LH0H;\$H9H3vfDH1H=GHtwH;,H5:,1HhHHXGHtMH;,H59,1HhH;l$L`tHO3H|$@Ht@3H`HL[]A\11HH|$@Ht3H_Hl$0}HT$.H54{HHbHH/H=,Ht$/HHHD$0Hx 3H=,H5;,HWHHH nHHD$0Ht$/Hx2fff.HTpHf.AUIATUSHH(HP(IHHP(LLHH}UHHpH([]A\A]ÐfDAUIATIUHSHHHHPPH7,Hl$Hl$ Ll$HHH$HP(HLHH UHHoHH[]A\A]fDAUIATUSHHH(HP(IHHP(LLHHTHHOoH([]A\A]@USHhHl$@Ht$Ht$D$HD$@HD$HHHD$P2GHD$HH|$@1HHH)$HHpn L$(HD$@H9D$HtuHHi`D$0D$0f.D$HyMD$8D$f.D$8H$tED$f.D$0swHD$@H9D$HD$0D$(uH1Ht D$ <0D$ Hh[]ÐD$(HH/-Jf.H|$@1H|$@@H|$@H|$@HHt/Hfffff.AUIATUSHHH8HD$Hl$P(IHHP(LLHHRD$HHbH8[]A\A]ÐfAUATIUSHHI1諘IT$I+$E1HHH@H@HHLLLCHkI4$1IL$H)HHtH,LHPmILHkHID$H+I+$I]HHH9L#L9tzH?H KL)HLHHHH?HH)H覔H~MI$HLHqH9tfDH5HٞHH9uHL[]A\A]fHHL^qHL[]A\A]HH9wwH,HAIH vH5hH=u/H vH5hH=u.I}HHt覤IEH躗uHHZ-H袗fHG8f.H2,HHÐH2,HH-f.H0,SHHHH(,H2,H{HHHt,HJ7,HH[f鋅ff.H0f.{/ff.H0f.sff.H0f.AUATUSH(LgH_I9H;H I蠕AEH$$AED$D$@AED$D$@AED$D$@@H;HHHHiI9uH(H[]A\A]1fH90,HHH1,HHG8HL6,HHG0Ff.DH0H/,SHHHH0,HHG8H5,HHG0EH[+fH0f.H.,SHHHH(*H/,H{HHHt*H:5,HHH[*fAWAVAUATIUSHH9tzLGHGHH)HIHL)HH9MI)IL9sSL,MLLM)HHLLL)HEHHHLuaH[]A\A]A^A_ÐN LN< L)HHL)MHfLHLfIHEDHLLL$L)fH}MLL$HHHtvH8H;HKH)HHLlHtHHeH;IHt'H+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.AWIAVIAUIATUSHHH9|!KDHH[]A\A]A^A_f.HFII?IIKlH}VH$UD$$f.D$vHEKDID$HH?HHM9| H@MIAWIAVAUATUSHHHT$ HRHt$HL$(II?IHD$H|$HD$H9I@IINL, HM$I]I<$I,HEHD$3UH|$D$0#UD$8LD$0f.D$8HGf.D$8HKIFH;\$|Lt$ AuILH?III9t(HL$(HT$H$L蘖HH[]A\A]A^A_H\IKH\$D$HGHwHW D$tGÐfHÐfDHÐfDHGÐf.HGÐf.HwÐf.HG Ðf.D$D$D$f.D$w.D$f.D$w#F19GMfDHHHHfHHGHGGGÐfff.H?Ht#fffff.AWIAVMAUIATUH,SHHH9HL$rLfHHI9v=IL$(LtLHHOIHHt$LAGI9wH[]A\A]A^A_ÐfDATUHSHHH k(D$:D$H1HItUHCH;CL$$HtmL HCHHCHFm(D$H4$HHD$IUHCH;CLd$t?Ht"L HCHHCH []A\f1@1@HH"Ht$H&HL!H>fff.AWHH)AVAUATUHSHHHH=HT$Ht$4H|$HGLd$?HD$(HD$>HD$ H)HuH|$ HHl$D$>HH?HHH\HdHD$HPH3H|$ dHEHHUHHUHuLl$HD$(D$?@HHUHsHLIYduM}IHuLMI:duI9vHIUHIEHCHUHsHT$Ht$HHH)H=H|$H\$HuH|$ ctRHuHUHuHU)HD$HuH|$ HPctHEHL$HQHUHAHUHuHD$H3H|$ HPacHEIHHXIHHHLL$HHkHuIHELIH)1HHIIFH$RkHHH[]A\A]A^A_Ðfff.AUATIUSHt H[]A\A]fL/HoI9LtH?HL)LHHHH?HH)H$HI$LHH9H$H@HH9uI$Ml$I)1IMu;fHL9t0I$H,HptHHHHL9uAD$H[]A\A]fD$HLI$Ml$fDAWAVIAUATIUS1HGcI$Ml$I)IMuTHL9tDI$H,HtH[JHI0YHMLHLHXL9uH[]A\A]A^A_@AUATAUSHHHWH+HHLHt$̆LHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHH[H;IHtH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.AUATAUSHHHWH+HHLHt$̅LHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHZH;IHtH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.ATUHSH_L'HHEHHHH|$ L^uLe[]A\DAVAUIATUHSHH9tsH_H9u=hfDL3LcH)HHtHLHH)YM9LuLt-HUH3H|$@R^uLcH$NDM9LuH[]A\A]A^fAWHHAVAUATII?ULHSH8HD$H|$HD$Ht$HT$H $H98IIMGH|$pO4INdI^I4$LlIU]MMEIDH;\$IJD|D$uL|$ILH?III9t3H;\$HDD$/@fH $HH8[]A\A]A^A_f.H\H;\$D$/HDHJT~HCLl$/HH?L<INdH$LI4$\u HDI$HDIGHH?HHL9|$|L_LIH\$fDL$D$D$f.D$w&wD$D$HwD$G@D$HwL$D$GD$D$Ðfffff.GD$D$fffff.HGf.AUH5eATUHSHXLd$ HT$ Ll$L5HHT$ H5peL!HH\$0LHa'H5 H]LH"HH8",Ld$@HLHT$@HSHHD$@HxH9uWHD$0HxH9H!,HHEHD$HxH9uxHD$ HxH9uCH,HHEHX[]A\A]H= ,HWHt$4H=f ,HWLY4H=? ,HWgL.4ZH= ,HWL4HHD$@H\$HHxHD$0HHxHD$H\$HHxHD$ HHxH€HH\$݋PJHPJHPJH*HHD$0Ht$@Hxr|HtHH\$VPJHAUIH5cATUHSHHLd$HT$ H\$ LELH$H5HLH踃HH,Ld$0HLHT$0HSHrHD$0HxH9uIHD$ HxH9H,HHEHD$HxH9uCH,HHEHH[]A\A]H=3,HWHt$$2H= ,HWL1H=,HWtk\L1OHHD$0Hl$HHxHD$ HHxHD$Ht$HxH~HHl$ʋPJHHHD$ Ht$0HxH뱋PJHPJH/AVAUATIUHSHpH\$@H!#H5 aHLHHH,Lt$0H5`LHT$0HSHHLl$H5`LHT$ HSHHT$ [CLd$PLL"H5ELLl$ LLWHLd$`HLHT$`HSHHD$`HxH9HD$PHxH9PH5,HHEHD$HxH9HD$ HxH9HD$0HxH9HD$@HxH9uLH,HHEHp[]A\A]A^H=,HW^Ht$/OH=m,HWL`/H=F,HW^L5/QH=,HW L/H=,HWL.H=,HWL.HHD$PHt$`Ll$ HxHD$H\$HHxHD$ HHHxHD$0LHxpHD$@LHx_HW{PJHlHLl$ H\$HHD$PHHx$tHLt$0HLl$ H\$nHHD$`H\$HHxHHD$@Ht$`HxHzHLl$ )IHoLvHl$@II>HHu IHD$@Ht$>Hx] PJHcIUHt$HLl$PHtPHD$XH,H{hHH$THvHH{IHuHLf[뺋PJH@AVAUIATUHSHD$Ld$`H\$PD$Lm LHH5XH~HT$PHD$`HJHHpH;rv H;piLHyHH4,Lt$@H50XLHT$@HSHHLl$ H5WLHT$0HSHHT$:Ld$pLLH5LLl$0LLxHL$HLH$HSHNH$HxH9HD$pHxH9GHh,HHEHD$ HxH9THD$0HxH9HD$@HxH9HD$PHxH9ujHD$`HxH9u5H7,HHEHĐ[]A\A]A^1L5H=,HWbL&H=,HW[uLq&hH=T,HW'LC&H=&,HW L&H=,HWL%H=,HWL%~H=,HW*Ht$%HH$H\$HHxHD$pHHxwHD$ H\$HHxaHD$0HHHxMHD$@LHx<HD$PLHx+HD$`LHxHrPJHGHHD$PHt$@Ll$0HxHLl$0H\$rHLl$0yHLl$0HH\$'HHD$pH$Ll$0HxHLl$0HLt$@Ll$01PJHPJHPJHPJHPJHPJH$f.SHHHHwH5SHT$6HHCHHCH[H15CD$D$H@AUH5SATUSHHHLd$0Hl$ LH6H;HCLLIPH90N#w)AIA,H IQL)H5SH"(HIHMHK1HLHD$ HPI)bHL(LkH|$ LHD$0D$88D$8H{H5R1CRHT$ HzH;=u,HH[]A\A]@HHKLM@I9HD$ I)1HHPHHH@HCXH{HCH,U}fL)H5RH9 Ht3HHHHCAG@HPHS31$H= ,HOtDHt$D$ n!D$ HHD$ Ht$HxoHgnJqrf.ATH5RQUSHH@Ld$0Hl$ LH3H;HKHHHPH9H)H5 QHʹ8HH;H7H؀wHHSH)H5P%Ht}HHKHIHD$ I)1HHP H|$ L]HD$0D$88ueD$8H{H5gP1C`PHT$ HzH;=+ ,uLH@[]A\HHKLM@I9yf1@H{HCHSH= ,HOt=Ht$D$ D$ HHD$ Ht$HxHlJqr뽐@GD$D$fffff.SHHSH[ff.ft,uFGW  W W W W H ZPPH5NH= O,t$u;@>FFF@~FFH OPH5NH=N?fff.t\GWH8H0H H WH(H WH H WHH WHH WHH fWH8H0H WH WH(H WH H WHH WHH WHH H XNPH5MH=MWfffff.tTH@>HFHHFHHFHH FHH(FHH8H0@~FH@~H8HH0FHH(FHH FHHFHHFHHFH 'MPH5LH=Lsfffff.HwgHD$D$HÐfDD$HH|$ f.HHDHÐATHUSHH0,$HPHcHfH\$ IHT$H5NHH.HH'HD$ HxH;=,H,H5c,H3VH\$ aIHT$H5]MHHJ.HH&DH\$ )IHT$H5UMHH.HH&cfHD$(D$(H0[]A\Ld$HHLH!H\$ HT$H5MH-LHH HD$ L%,HxL9HD$HxL9H=,HWHH\$ 1HHT$H5LHH-HH%kf.H\$ GHT$H5LHH,HHO%+f.H PH5MH=m!H=,HWt.Ht$PJH PJHIHD$ H\$HHxHD$HHxHJL~fIH\$IHHD$ Ht$HxYHqJHIfHfH=,HWt$8Ht$)fËPJHff.|ff.fffff.AUIATIUHSHH(u8D$LHD$EY8D$LHD$E Cu1 MIEH{H(H[]A\A]fDLH7D$LHD$EIEBtLH7AVIHAUATUSHH F,-H LHcHHT$H5GLT*H L[]A\A]A^@Ld$1EHT$H5-JLH*LH"HD$HxH;=O,H+H5,HQLd$DHT$H5ILH)LH/"DDHHcLd$HT$H5ID$Lt)D$LHSHD$HxH;=,VH+H5',HPLd$HLHT$BHc؉LkI)JLXfHD$H,@LIHl$fffff.AUATIUHSHHXLl$L>H5@ALu=HuHL%j+HD$HxL9HXH[]A\A]f.Ll$0SHL$(LHLHD$0HD$8D$@H|$ LHhZHD$ L%+HxL9uH}LUHeH=+HWtaHt$ H=+HWtI5Ht$ s &HHD$Ht$HxxHpYPJH뙋PJHfDATUHSHHHaHuHH; H<$HtHPHH[]A\H<$HHtHPHXfDATUHSHHHaHuHHkH<$HtHPHH[]A\H<$HHtHPHXfDAWAVAUATIUSHHHl$0H|$HgPJHH=+HWYHt$@JHHD$@LHxLd$XH\$PI9t%H;HtHPHHI9uH|$PLHRfFHH|$0HHtHP뚋PJH_AVIAUIATUSHH@Hl$Ld$ H1LLLLH@HD$(HxH;=+uHH@H[]A\A]A^H=~+HWtBHt$sHHD$(Ht$Hx{HHk=HPJHfAWAVAUAATUHSHHGH+HHLHt$8+HHD$hH$HxH;=+H\$H +H{PHHD$h.4IGIW0H{hH@HTPIG IW(HD$`H@HT`IGIWHD$PH@HTPH+HD$XHH$HD$H[]A\A]A^A_DLl$H5}4I}1MmfDHtH5FLHEHHPpHED$@HHPhD$HLD$H7H52HIdD$@Lv7HL9uHD$H5Hx3fDH$HhH\$0H|$HD$0Hq4HD$H|$Hp`HHD$0Ht$.HxHD$HH8HH|$*H0HLt$HI~BIwL&H+H|$HHhH$%H}0HSH\$PHLdPHD$XHHH\$0aFH=+HWtN#Ht$.H=+HWt-QHt$0BPJH뮋PJH@AWIAVAUATUSHH\$`Ht$D$8H{hH+H-+HƄ$HDŽ$1Ƅ$HDŽ$HLmHDŽ$H$HEHDŽ$HDŽ$Ll$`HHD$IEHL`HD$hI}Lu 1IFLt$pH|HE(HHD$ HEL%+H{PHM0HD$(H@HL$0HL`ID$HDŽ$HDŽ$HDŽ$HD$`ID$hHDŽ$HDŽ$HDŽ$H$ID$@HD$pH+HHD$xH+HsH{hDŽ$HHD$xH+HH$HD$x HD$pH@HTHt$1H{D$8IHHB3H+HIH$HuH$HT$O$H9H$Hl$PLHD$PH0HD$PHxH;=I+dID$HD$`ID$hH$ID$@HD$pH+HHD$xH$HxH;=+H+H{PHHD$x.HD$(HT$0H{hH@HT`IFHT$ Lt$pHTpIEHT$Ll$`HT`H$+HD$hHH$2 HL[]A\A]A^A_DH$HHl$PLHD$PH/fDB%BNDHs`L4H=+HWHt$PH=+HW{Ht$NlH{ICHuHL$H+H{hHH$( H+Hl$PII?HHiH$LY+IHD$PHt$NHxCPJH)IUHL$HLl$`HL`HD$hgH_I땋PJHfffff.AWAVIAUIATIUSH8H\$HD$HD$iHLHD$H-+HxH9L|$H5HLHLHD$HxH9=AFLHD$ D$ HLHD$HxH9A}tH8[]A\A]A^A_ÐH5HLHLCHD$HxH9AFD$(D$(f.D$(zWLHlHLHD$HxH9tH=[+HWbHt$HSfWLHHLH= +HW Ht$H=+HWHt$H=+HW>Ht$/H=|+HWtLHt$mHHD$Ht$HxrHj(PJHPJHPJHPJH.D떋PJHCfffff.AWAVAUATIUHSH(HH\$Lt$H5K*ILHdHHHD$L-+HxL9HLL"H5HL HHHD$HxL9uMH([]A\A]A^A_H\$H5 HT$HHHHD$HxH;= +tH=+HWtcHt$H=+HWtM8Ht$)HHD$Ht$Hx購H&PJHыPJH뭐fff.AWAAVAUIH5ATIUSHH(Hl$Lt$HLHLHD$HxH;=+{u:{u4Mt/H57HLHL[HD$HxH;=+u LDLHȽH([]A\A]A^A_H=+HWtpHt$H=l+HWt<^Ht$]OHHD$Ht$HxbHZ%PJHӋPJHfffff.AWAVIHAUATIULSHHHT$PpZzLl$0L|$.H5b'LL~LH3HD$0HxH;=+I$L1P8HHD$D$D$HD$/HD$fDI$HLHHHLH;\$toHtH5 9LLLHHD$0HxH;=+HHHHHH9ut$HLnfDH5tLL~LH3HD$0HxH;=+HH[]A\A]A^A_fDH\$0H5C HT$.H/HHft$HL1rH=4+HWtl&Ht$#HHD$0Ht$/Hx(H #H=+HWt-DHt$/5PJH됋PJHH=+HWt%Ht$/cPJH@AWAAVAUIH5 ATIUSHH(Hl$Lt$HLHLHD$HxH;=/+{t#MDLH1H([]A\A]A^A_Ð{uIELPpuH5 HLHL?HD$HxH;=+tH=+HWtu}Ht$nH=i+HWt<KHt$ZH]HLHD$@HxH;=+HX[]A\A]A^A_DHD$>Ll$@H5LHHD$LL輾HD$@HxH;=<+:HEH1E1PXHL$?HHD$ D|$ HL$(f.HT$H5LLLQ:@H5+Hj+1HHH|$MDDH覸H;\$ tHt?HT$H5V/L6LLHD$@HxH;=k+u(D$ ADxHEHHP`Hm1H=+HWteHt$( HHD$@Ht$?HxH H=Ը+HWt-Ht$?PJH뗋PJHH=+HWt*Ht$?ye`PJHҐfff.AWAAVAUIH5ATIUSHH(Hl$Lt$HLHL菼HD$HxH;=+{t#LDLHBH([]A\A]A^A_{uIELPpuH5HLjHLHD$HxH;=+tH=u+HWtu}Ht$fnH=I+HWt<KHt$:HiHLHD$@HxH;=+HX[]A\A]A^A_fHD$>Ll$@H5LHHD$LLĺHD$@HxH;=D+2HEH1PXHL$?HHD$ D|$ HL$(DHT$H5LLLa>@H5+H+1HHH|$MDDHH;\$ tHt?HT$H5f+LFLLHD$@HxH;={+u(D$ ADxHEHHP`Hm1H=)+HWteHt$(HHD$@Ht$?Hx$HH=+HWt-Ht$?PJH뗋PJHH=+HWt* Ht$?e`PJHҐfff.AWAAVAUIH5ATIUSHH(Hl$Lt$HLHL蟸HD$HxH;=+{t#MDLH1H([]A\A]A^A_Ð{uIELPpuH5 HLzHL/HD$HxH;=+tH=+HWtu}Ht$vnH=Y+HWt<KHt$J+HsH{hDŽ$HHD$xH+HH$JH{H5eAGH{D$PAD$XD$X_ H5HH(D$PH: H5HH+HT$HHH$HbH$HT$?$H9H$ Hl$@H|$HD$@H HD$@HxH;=+QID$HD$`ID$hH$ID$@HD$pH+HHD$xH$HxH;=Z+Hݤ+H{PHHD$xHD$ HT$(H{hH@HT`IFHT$Lt$pHTpIEHT$Ll$`HT`H+HD$hHH$HD$H[]A\A]A^A_fDH$HHl$@H|$HD$@H@H|$Hs`H=U+HWHt$@BH=%+HWHt$>IHRLHl$@IHD$HH8HIHD$@Ht$>HxPJH^IUHL$HLl$`HL`HD$hH$+H{hHH$7HHH{IHuHL뺋PJHfff.AWIAVIAUATUSHH\$pH|$H{hvH+H-+HƄ$HDŽ$1Ƅ$HDŽ$HLeHDŽ$H$HEHDŽ$HDŽ$Ld$pHHD$ID$HLpHD$xI|$9Lm 1IEL$H|HE(HHD$HEHM0H{PHD$ H@HL$(HLpH+HDŽ$HDŽ$HDŽ$HDŽ$HHDŽ$HDŽ$HD$pH+HhH$H+H@H$H=+HH$H+HsH{hDŽ$HH$Ho+HH$AGH{H5 D$PAD$X"H{D$X3H5ʱHHD$PHAFH{H5D$`AD$hH{D$hH5jHHD$`HH{H5.yH+HT$HHH$HH$HT$?$H9;H$~Hl$@H|$HD$@HHD$@HxH;=+tH+HHD$pHҘ+HhH$H+H@H$HT+HH$H$HxH;=+H8+H{PHH$CHD$ HT$(H{hHL$H@HTpIEL$HT$HID$Ld$pHTpHИ+HD$xHH$HD$H[]A\A]A^A_H$H@Hl$@H|$HD$@HI@H|$Hs`H=+HWHt$@蒱H=u+HWkHt$>b\IHLjHl$@IHD$HH8HNIHD$@Ht$>Hx6PJH^IT$HL$HLd$pHLpHD$xHs+H{hHH$HHH{I]HuHL>뺋PJHf.fU0SH(@6H6@HcHfH([]Ðfffffff f nfD ^fD NfD >fD.fDfD1fHl$HT$H5HHHH_HD$HxH;=+u)H^+H5+HwHH,HH=̚+HWt/Ht$HHD$Ht$Hxɑ볋PJHf.SHHH +HCHC(HC0HC8C[Ð@AWAVAUATUHSHH('1HT$H1H$Ld$MLt$D$Ll$O@D$HLHHHD< D$LHD|$LH HHRD tHH1HxHT$H4$HMH(H[]A\A]A^A_Ðf.AVAUATU1SHLc H0H?CIƋCuI@苢HSHH@D sL9kD$(D$(AEvoHC(H{LL,кw0HCHHRD sL|D$ LD$ 9kD$D$AEwH0[]A\A]A^ÿH\$%HT$H5j_HHHH胷HD$Ht$HxPH+H5ʘ+HH\$HT$H5_HH贾HH)HHD$Ht$HxH HHUHHSHHX,{HC(tZ@H; iHt$0D$ L$@D$(D$(D$0D$ D$8HEHXH[]@@H;Ht$0D$@D$D$D$D$0D$D$8D$D$@'HEHXH[]ÐAWAVIAUATIUSHcHHAL$Hp HPI>HPXAT$H9HFЅI~V1L{L11Mt3ID$(I>HHD$D$PxL9rHL9uHL[]A\A]A^A_I>HHtHPIH!ATLf UHSHH H~L=HCHHRD uGsLLd$kHމLnH3LHШH|$HtHPH H[]A\ÿHl$5HT$H5z\HHHH蓴HD$Ht$Hx`H+H5ڕ+HH|$HHtHPH/HHD$Ht$HxH1H H@ATLf UHSHH H~LHCHHRD uGsLLd$KHމLNH3LH@H|$HtHPH H[]A\ÿHl$HT$H5Z[HHHHsHD$Ht$Hx@Hq+H5+HH|$HHtHPHHHD$Ht$HxHHH@AWAVIAUATUHSH^ HHH~HHEHHRD uH&AH$L|$ HLH<$HD$ HD$ HH$tHPH|$ HtHPA8A\$HD$ HD$(HD$0HcL,L%IHD$ Ll$0HtHHHuALl$(Ll$N$1fHLHHD$ HT$HD$H8HHtHPH|$HtHPHL9uHuHLLӵHl$(H\$ H9te@H;HtHPHHH9uH|$ HtӈH<$HtHPHHL[]A\A]A^A_fHuHL!H뽿L|$ {HT$H5XLHdLHٰHD$ HHx計Hٌ+H5"+HHl$(H\$ IH9t%H;HtHPHHH9uH|$ HHtLH<$HtHPH4HHD$ HHx H8HHHfDAWAVIAUATIUSH^ HH~HID$HHRD 7At$H@Hc؉HD$@HHD$HHD$PHD$P1HD$H1L,Hl$`*H+H5+1SHtbHL9LHL|$@qHHD$@HT$`HD$`H8HHtHPH|$`HtHPHD$@H<HuH}h#L%+L5=+HƄ$HDŽ$1Ƅ$HDŽ$I\$IFMl$HDŽ$HDŽ$H$HDŽ$HCH\$`Ll`HD$hH{ID$ 1HD$pH@H|ID$(HID$IT$0H}PH@HT`Hƈ+HDŽ$HDŽ$HDŽ$HDŽ$HPHDŽ$HDŽ$HT$`HPhH@HD$pH+H$HHD$xüH+L-e+HuH}hDŽ$HHD$xIEH$H}H5 H}H5IIEHD$ H$H.H$HT$$H9]H$HLd$0H\$ HD$0LHHD$0HxL9HL趬HD$ HxL9kH+H5+LfDL|$@I4$LLԛHl$HH\$@H9H;HtHPHHH9uH|$@HtÃHL[]A\A]A^A_fDHH9VL,LHHD$@J(HD$P@HtHHHu)HHL|$@HL舌HH$裋Ld$0H\$ HD$0LHLd$0HHD$ LHx;LSHHD$0Ht$HxH=+HWt8vHt$0ПgHHD$ Ht$0HxՂ똋PJHH=+HWt%Ht$}bPJH׿Hl$`HT$@H5\RHHHHuHD$`Ht$0HxBHs+H5+HH}H谔It$HIFH}hL|$@H$dHHD$`Ht$0HxށHHHH\$ Hu`HHSH\$`HLl`HD$hH|JHfAWAVAULn ATIUSHHH~L蔓I|$HH@D AD$ <?LZID$HHRD BAt$L膻Mbi})Ńt tlE1 AD$ulIT$0I+T$(At$HH9HHHcHf.AD$;fE1 AD$tI|$LzID$HHRD At$L覺AVfDI|$(H)ZfDAD$fH$LH;H$HDŽ$HHtHPH$Ht fDHPH;DHP HH[]A\A]A^A_ÐH$LpH;H$HDŽ$HHtHPH$Hu@H|$`L{H;HD$`HD$`HHlHPH|$`HRSDH|$PLÑH;HD$PHD$PHH$HPH|$PH DH|$@LH;HD$@HD$@HHHPH|$@HDH|$0LH;HD$0HD$0HHHPH|$0Hz{DH|$ L苌H;HD$ HD$ HHLHPH|$ H23DL$I|$hvL-+H+LƄ$HDŽ$1Ƅ$HDŽ$MuHM}H$HDŽ$HDŽ$HDŽ$IFL$LHDŽ$I~½IE 1H$H@I|IE(H蟽IEIU0I|$PH@HH+HDŽ$HDŽ$HDŽ$HDŽ$HPHDŽ$HDŽ$H$HPhH@H$H+H$HH$苳H+L5-+It$I|$hDŽ$HH$IFH$軼I|$H5aշI|$mH$HIFHD$pHH$HT$`$H9v|H$H̃Ll$pH$H$LH$HxL9aLHHD$pHxL9H~+H5DŽ+HH$SLl$pH$H$LVHL)H;HtHPHH@Ll$pIt$`LWL$OH$H5JLH5LH誢H$Ht$pHxtzH~+H5+HL$H$H5.JLHҩLHG뛿L$H$H5ILH虩LH_IH$Ht$PHxyHD$pHt$HxyHLIHH$Ht$pHxyHHHHH|+I|$hHH$\HTI|$H̋IuLIVL$HLHDŽ$H=с+HWt#Ht$P•sPJHH=+HWt?aH$聕OIHD$pH$HxxPJHfDSHVH裴H[fffff.AWAVAUATIUSHL|$`H<$Ht$8IheqH{+H{+LƄ$HDŽ$1Ƅ$HDŽ$HHKHDŽ$H$HCHDŽ$HDŽ$HHL$HD$`HHD$H@HT`HD$hHy"HC 1HD$pHD$H@I|HC(HHD$ HCHK0IPHD$(H@HL$0HL`Hy+HDŽ$HDŽ$HDŽ$HDŽ$HHDŽ$HDŽ$HD$`Hy+HhH$Hy+H@HD$pH'+HHD$x٭Hz+IwIhDŽ$HHD$xH_+HH$Ll$NMw?L?@LLD$NL蹬uHt$8H<$LHx+HHD$`Hx+HhH$Hx+H@HD$pH'y+HHD$xH$HxH;=+H+IPHHD$xHD$(HL$0IhH@HL`HD$HL$ HD$pH@HLpHD$HL$HD$`H@HL`Hx+HD$hHH$贽H$H[]A\A]A^A_ÿHl$P菿HT$MH5WHHxHHHD$PHxH;=~+u)Hx+H55~+HHLHH=Z}+HWtAHt$OMHHD$PHt$OHxUtHHjHPJHIH躆HsLHHw+IhHH$蟼HHL$HHQHL$`HL$HL`HD$hHH=|+HWt Ht$P胐 PJHܐAWAVIAUATIUSH^ HH~H褅ID$HHRD 7At$HЭHc؉HD$@HHD$HHD$PHD$P1HD$H1L,Hl$`*Hyv+H5w+1HtbHL9LHL|$@HHD$@HT$`HD$`H8HHtHPH|$`HtHPHD$@H<HuH}hkL%Lv+L5u+HƄ$HDŽ$1Ƅ$HDŽ$I\$IFMl$HDŽ$HDŽ$H$HDŽ$HCH\$`Ll`HD$hH{~ID$ 1HD$pH@H|ID$(H\ID$IT$0H}PH@HT`HVt+HDŽ$HDŽ$HDŽ$HDŽ$HPHDŽ$HDŽ$HT$`HPhH@HD$pHz+H$HHD$xSH|t+L-z+HuH}hDŽ$HHD$xIEH$舱H}H5 裬H}H5H 莬DIIEHD$ H$H.H$HT$$H9]H$HxLd$0H\$ HD$0LHHD$0HxL9HLFHD$ HxL9kHEt+H5y+L^fDL|$@I4$LL4Hl$HH\$@H9H;HtHPHHH9uH|$@HtSoHL[]A\A]A^A_fDHH9VL,LHHD$@J(HD$P@HtHHHu)HHL|$@HPLxHH$3wLd$0H\$ HD$0LH9Ld$0HHD$ LHxnLHHD$0Ht$HxnH=qw+HWt8vHt$0`gHHD$ Ht$0Hxen똋PJHH=w+HWt%Ht$ bPJH׿Hl$`觸HT$@H5=HH萝HHHD$`Ht$0HxmHr+H5Lw+HH}H@It$H#IFH}hL|$@H$)dHHD$`Ht$0HxnmH膻H^HH\$ Hu`HXHSH\$`HLl`HD$hH|HfAWAVIAUATIUSH^ HH~H$ID$HHRD 7At$HPHc؉HD$@HHD$HHD$PHD$P1HD$H1L,Hl$`*Hv+H5q+1cHtbHL9LHL|$@聨HHD$@HT$`HD$`H8HHtHPH|$`HtHPHD$@H<HuH}h3eL%o+L5Mo+HƄ$HDŽ$1Ƅ$HDŽ$I\$IFMl$HDŽ$HDŽ$H$HDŽ$HCH\$`Ll`HD$hH{ID$ 1HD$pH@H|ID$(HܫID$IT$0H}PH@HT`Hm+HDŽ$HDŽ$HDŽ$HDŽ$HPHDŽ$HDŽ$HT$`HPhH@HD$pH)t+H$HHD$xӡHm+L-ut+HuH}hDŽ$HHD$xIEH$H}H5 #H}H5Կ ĴIIEHD$ H$H.H$HT$$H9]H$H rLd$0H\$ HD$0LHHD$0HxL9HLƑHD$ HxL9kHm+H5s+LfDL|$@I4$LLeHl$HH\$@H9H;HtHPHHH9uH|$@HthHL[]A\A]A^A_fDHH9VL,LHHD$@J(HD$P@HtHHHu)HHL|$@HLqHH$pLd$0H\$ HD$0LHLd$0HHD$ LHxKhLcHHD$0Ht$Hx+hH=p+HWt8vHt$0gHHD$ Ht$0Hxg똋PJHH=p+HWt%Ht$荄bPJH׿Hl$`'HT$@H5l7HHHH腏HD$`Ht$0HxRgHk+H5p+H蜾H}HyIt$H裶IFH}hL|$@H$詯dHHD$`Ht$0HxfHHHH\$ Hu`HضHSH\$`HLl`HD$hH|ZHfAWAVIAUATUHSH^ HHH~HxHEHHRD vuH֠HcAHD$ HHD$(HD$0HD$01EHD$(~gALl$1N$@HLL|$ 0HHD$ HT$HD$H8HHtHPH|$HtHPHL9uL|$ HuLL|Hl$(H\$ H9fH;HtHPHHH9uH|$ HtdHHL[]A\A]A^A_ÐHH9wAL,L1HHD$ J(HD$0HtHHHuHL|$ lHT$H54LHULHʌHD$ Ht$HxdHh+H5n+HHLvmHnHHD$ Ht$HxXdHpHHHAVHAUATUSHt9HOHGHH)HH9w1HHHHHuHHE[]A\A]A^fDH?HHH)HH)H9H9HIHCHLH}HUIH)HHHL4tHLL裡H}KD5HH@HHHuHHtbMLmH]Le[]A\A]A^fH9lHuHE1E1vH=@PL$@f.FwwUSH(Hl$_HT$H5˹HHHHHHD$Ht$HxbHj+H5e+HԹHH艰HaHHD$Ht$HxKbؐwwATUSHH\$ HH5SHxHSH5Hw1HSH5iHwLd$gHsLHȹLHHD$Ht$HxaHi+H5d+HHH)HqIHD$Ht$Hx[aHLpIHQe+wWOHGHHFww USH(Hl$蠫HT$H5 HH艐HH.HD$Ht$Hx`H$i+H5 d+HHHʮHHHD$Ht$Hx`f.HG HHtH nxH WPH5CH=J^afffff.USHHk HSH&H{HH[]xfffff. E t Ecftu@Kf.AWAVAUATUSHH(HHHALg IDHHPhD$DLD$PH{LOwHED{LHPpD$DLD$H{LwEuH([]A\A]A^A_fHEDsLHP`D$DLD$ïH{H(L[]A\A]A^A_vH =H5H=&_@AVAUIHATUHSHP0A} IAƄu71MEt@HDHLHScL9u[]A\A]A^DL趣@UHSHHHHPHוHHPHTzHRHtHH[]HQH H5H=^fAUATIUHSHHEHPLRHEHPLyHEHPpH4pLIƢHNiHHRHHL蔲1Mt;DHHmHtkHQHt?HLHWL9uH[]A\A]HL1[]A\A],H %H5rH=]H H5SH=#n]H H54H=EO]H ȴH5H=|#0]UHHSHH(HPpuTHHHPHǓHHPHDxH蜱HtnH1HJH([]ÿHl$4HT$H5HHHH¤HD$Ht$Hx_[Hc+H5^+H該H H5/H=@J\HHD$Ht$Hx[H,HHfffff.AUIATUHSHHDgHDg HA9tL%e_+HN^+1LkHL赏HtHHH[]A\A]kH1d+1LH脏Ht7HHH[]A\A]:f.HEHC wH_+1LH4HtHHH[]A\A]JVf.Hc+1LHHtHHH[]A\A]DHY_+1LHĎHt HHN`+1LH衎Ht HHc\+1LH~HHtH H5EH=x`ZAVAUATIUHS;I$LPމHI$LPHuI$LPXHI芞H}DuEt`1Mt-I$HLP`Ht%HUHHH[L9uDu[]A\A]A^H ҰH5H=YH H5`H=g{Yf.AWAVAUATUSHH\$@H|$Ht$ HT$(H{hrQH[+H-\+HƄ$HDŽ$1Ƅ$HDŽ$HLmHDŽ$H$HEHDŽ$HDŽ$Ll$@HH$IEHL@HD$HI}8Lu 1IFLt$PH|HE(HHD$HE0L}H{PL%Z+HHD$IGHT@ID$HD$`HD$hHD$pHD$@ID$hHD$xHDŽ$HDŽ$H$ID$@HD$PH[`+HHD$X H6Z+HsH{hDŽ$HHD$XH`+HH$BHt$ H|$HS/Ht$(HID$HD$@ID$hH$ID$@HD$PHY+HHD$XH$HxH;=`+H_+H{PHHD$XIGHL$H{hH4$HL@IFHL$Lt$PHLPIELl$@Ht@HIY+HD$HHH$WHĸ[]A\A]A^A_H=m^+HW\Ht$?ZrMHH蚸HbIUH $HLl$@HL@HD$HHX+H{hHH$ȝH HH{IgHuHL耤뺋PJHbf.@Gf.fGf.fGf.GfHX+HHÐHX+HH-Tf.HY^+HHÐKTf.f.Hf.ff.@U1HSHH]+HH蝹HHtHoHHHH5ݭnH[]H}Ht$HHSH誽f.SHHH7+HHxH;=m]+uH[H==\+HWtHt$2pՋPJHH7fff.ATHUHSttL%W+H\+1HHLHt!HHHH[]A\f.HqX+1LH܇HHtHHH[]A\H H5H=۬MSAWIAVIAUIATIUSHH6Hl$PH|$H $HP0H@LHL謇LLdH詆tL=xHrH;uLѣuILHFHLddLkHL$LHD$ $HD$HLd$0Ll$PDD$ H$1D$(1HD$ Lf.D$(1f.D$(DtDD$(HL蓦H3LLHbIHxH[]A\A]ÿHl$PHT$0H5HHwHH裑HD$PHt$Hx@HHP+H5K+H芟HH?HHHD$PHt$HxHf.DH7fff.SHHHHD$dD$ fWf.D$ $f.D$ C$C$C $C($$\$$$\$$$Y$$$Y$$$X$$Q$f.$D$X$D$D$H[D$D$D$H[DD$0CD$8C D$@C(D$HD$0\D$@D$PD$8\D$HD$XD$PYD$PD$`D$XYD$XD$hD$`XD$hD$pQD$pf.zLD$xD$ YD$xD$(D$(XD$D$D$H[$蔱D$p脱fAWAVIAUATIUSH8HjM+H7H$ o g L$HHD$8H$HDŽ$$HDŽ$$ Hl$HDŽ$M} HDŽ$jD$8IEp"HD$XD$PHD$\$H @HhH1H8|uHH}HD$HHH$HD$H$HD$ H$xHD$Ht$LLH$HD$H$HD$ H$ `D$hLLD$XL3D$`D$Hf.D$hv D$`f.D$8vD$PD$hD$H$D$p$D$x$$$$D$p\$$D$x\$$$Y$$$Y$$$X$$Q$f.z@$D$XX$D$X%DD$PH8[]A\A]A^A_$袮Ho8D$D$Hfffff.UHHSHHXHHvD$D$H[]fffff.UHSHHHD$fWf.D$~H?HD$0D$f.D$0vD$0D$(D$(HH[]DHH7D$8D$f.D$8s9D$8D$(D$(HH[]KuD$(D$(HH[]ÿHl$ HT$H5EHHqHH觊HD$ Ht$HxDAHI+H5D+H莘HHCHHHD$ Ht$HxAؐfUHHSH(H\$D$HaWD$HHPD$D$H([]f.H7fff.AVfWAUIATUSHD$f.L$IH$H6L$H$H}HD$!D$f.D$>HdH.-HwuHLxHHTt$D$$D$ $D$($D$0D$\D$(D$PD$ \D$0D$XD$PYD$PD$`D$XYD$XD$hD$`XD$hD$pQD$pf.D$xD$XD$xD$8D$8f.D$wuD$DI6LPHL[]A\A]A^f.H2GHH7fWHHL襞fW1D$H\D$D$@D$@^D$xD$HFHHL7D$HHHLHVD$pHfSHH D$fWf.D$wD$HnH H[H>H4$HD$H4$D$XD$D$f.AUIATIUHHSHH6u.IEHEIEHEIEHEHH[]A\A]L踊I<$HHPXHH9sI<$HHPXHH9r#fWHH1*HH[]A\A]@I<$HHP`HHfWD$f.L$zt뮐AUAATUHSHHHD$fWf.D$wkLd$ D$HLmEt0HD$ HHD$(HCHD$0HCHHH[]A\A]LHH蒏HHH[]A\A]@H>HD$D$XD$D$lfDAVAUATUHSHH7H$Ll$pL$HyH$@$XD$$H_H(8HpsuHLQtHLp$D$$D$ D$pD$(D$xD$0D$\D$(D$HD$ \D$0D$PD$HYD$HD$XD$PYD$PD$`D$XXD$`D$hQD$hf.HD$8HIMCI9HPHI3I9H萞D$8D$8YD$D$@$XD$@D$D$D$D$H[]A\A]A^D$hdYfffff.UHHSHHlHHAD$D$H[]f.@SHHӝD$HD$f.DvOHH[H[Offfff.USHH(HwH;w rHH([]HHP`Ht)HBC+H53>+1HnHHtH([]fHHl$HT$H5^HHhHH舂HD$Ht$Hx%9H~A+H5g<+HoHH$HHHD$Ht$Hx8@HSHHGHGHwHPXHHC [™fATIUHSHHSLHC迅HCHEHHkPXHHC []A\}fff.HSHHOHWHwHPXHHC [Jf.HGHW H9sHH9t@1DSH_H?HP8H9r1[Ð[ÐUSHH$uH[]HCH;HhHHkP8H9rHCH詘HCH[]f.1HO H9Os!HHtSHH_HP8HH9[ÐHGÐf.HGÐf.Hfff.SHH>HvHHHHPH@HSHCH[ÐATUHSHHLfHHR8HI9r8H KS[]A\f.H}HuHHHHHPH@HSHCH[]A\f.fWH7 QHGHGHGG G!G0HG(G8O@Ð@w Ðf.@w!Ðf.AUATAUHSHHH(Ht4AH*HEHC0HEHC8HEHC@H[]A\A]D@(訞HI#Lk(LHL5HalfDHV0HHHV8HWHV@HWÐ@ATIUSH_HoH9t9@H;HtHRHH9uI|$Ht[]A\4fD[]A\Hfffff.USHH(H(HtOHP0HvRHs(H;膞Ht*HSH;SH$HHHCHHCHC(H([]{ uJ{!tH{(HP@uwH{(1HPHHHH$HPHT$H@HD$I_H{(HtHPHC(H([]f1jfH{Ht?XH HH5 H=g4HHt袝荖{ Ht  ~HH;+HuH{HHRBHK<+H;+HH56+HH螊HH#HHH裏HHfDSHG\HsH;[9f.HHD$fWf.D$;D$f.r#H HHJHRHOHWHD$D$D$\D$D$D$YD$D$D$XD$D$BD$FD$D$\D$D$D$YD$D$D$XD$D$BD$FD$D$\D$D$D$YD$$D$X$D$D$D$GD$GHHHHVHWHVHWHÐfff.D$HHwD$GÐfGD$fWf.D$w)!L$f.vHGHGGf.D$ztÐfffff.D$H7HWD$GfUHHSHXHHuP`HHZ:+H5K5+1HeHHHmHP8HH9r HHP8HhHHHHuHD$@HD$D$@$D$\D$D$ D$\$D$(D$ YD$ D$0D$(YD$(D$8D$0XD$8D$@QD$@f.zD$HD$HHX[]1D$@莛fff.SfWHH@D$GD$f.L$sD$f.M r H@[D $D$ C $D$(D$ T$(YT$0\D$0D$8D$8f.D$0rD$f.D$0w2D$0f.D$8rD$f.D$8w [eK[fDUHHSHHHPXHpHHHuP`HtEH.8+H53+H1}cHHP8L HHEEH[]1fff.UfWH1SHHYHH>HH[]@ATUHSL'HHHPXI9smLeHHP8I9s []A\fDHHuHP`HtVH_7+H5P2+H1bHHP8} HHEE[]A\HH[]A\>f1fff.Hfff.HGÐf.GD$D$fffff.GD$fWf.D$sD$f. f.AUIATUHSHHHXHH6P`H9HQ6+H5B1+1HaHIHEHPpI$IuLHImLHT$HPHT$H@HD$ I$P8HH9r0HD$HHD$HCHD$ HCHXH[]A\A]IMI$LHqHAEHt$HD$HT$0HPD$HT$8H@HT$0HD$@^HXH[]A\A]#HHHPH@HSHCHXH[]A\A]ÿHl$0vHT$H5HHZHHtHD$0Ht$Hx++H3+H5m.+HuHH*yHHHD$0Ht$Hx*f.AUATIHUHSHXHH6P`HHd4+H5U/+1H_HHHuHLmHD$@@D$8@HD$ P8HI9HHuHH8D$@D$@D$8D$@HH2+BD$8HBHLD$ BD$B D$B(D$B0I$HX[]A\A]HHP8HHp8D$0@D$(@D$H萒D$0H[1+@D$(H@HD$H@D$@@ D$8@(D$ @0I$HX[]LA\A]fD1aATUHSHHL'HHPXI9r1H[]A\fDHHuHP`HtnHg2+H5X-+1H]HLeHHP8I9wLeHHP8I9Et2D$fWf.D$wD$f.Jsf1@$fWf.$SM $L$뱐HH9rPwQHVH9Wr?wEGD$FD$D$f.D$wD$1f.D$fffff.H97D$r=w>H9Wr0w6GD$D$f.D$wD$1f.D$fffff.H9D$L$r7w8H9r+w.D$f.D$wD$1f.D$fDfffff.1HH9t@HOHVH9tcHH)Ht7H)1HuGD$fWf.D$f.D$Df.FD$fWf.D$zuDf.SHHHHH3R`H/+H5*+1HD[HtHHR8HH;CH[p_AT USHHL&HnFH5D$aLHH5HúHaHHH5fHH~aD$H萕H51HHYaHH[]A\f.H7fff.AVAUIATUHHSHpH1P`HH.+H5)+H1"ZHH1HHHT$0HPHT$8H@HD$@HEHX`PXHHpHJHs.+H5d)+1HYHHHLP8HHpAHIuLd$ LHT$PHPHT$XH@HD$`m00"fW1HH菐LkfW1L}HT$0LHIH$HHHD$HCHD$HCHED$(fWf.D$(z2u0HHCHCHC HCHC(HpH[]A\A]A^fHT$PHLL-H$HCHD$IEHD$IEHpH[]A\A]A^1f1ZHHvHVfDUHHSHHMHHkH[]f.AWIAVAUATIUSHH*+H6H\$p L$HHHL$ H$HDŽ$$HDŽ$HDŽ$$HDŽ$Hl$0`IE ~%HD$H$IE\$XHD$d$PHD$ HFH@HYuHHZHD$0HHH$HD$8H$HD$@H$?VHD$0H$LHt$H$HD$8H$HD$@H$LLD$hfWHD$`)HIMD$PHf.D$h(H|$ Ht#D$`HLHD$(HL$(D$`HL$Lt$D$XD$hD$P@HT$Ht$LD$X؀HL[]A\A]A^A_ÐfH7fff.S1H?H[ATIUSHHHjLHH\~HH[]A\AVIAUIATUHSHH`HLd$ H6L1HL$.~PLd$@HLLLZ?HL-xpHD$@HHD$HHCHD$PHCH`H[]A\A]A^ÐHD$ HHD$(HCHD$0HCH`H[]A\A]A^fD}H`H[]A\A]A^ÿHl$LjHT$H5|HH5OHHhHD$Ht$HxwH'+H5"+HvHHvmHNHHD$Ht$Hx8fDAUIATIUSHHHhLLHH脋HH[]A\A]fDATIUSHH5!|HZHH@HH}8ECHQHdIl$H5 6 H`ZHHEH5{HźH>ZHEH@LMtbA|$8tAAD$CHH8dH[]A\HAHE HP0X@LhAI$ LP0fUHSHƇPHH$+HkHHHHSHPHSH@HC8HC@HCHHHC HC(C0C1HC2HtHPH$+H\$ HD$(HD$0H{(HD$8HD$@HHD$ 6THHuxHDŽ$HDŽ$DŽ$HD$(LH@D$D$f.D$zƅHLHĨ[]@D$D$f.D${@ D$D$f.D${HLHHyLHAH|$0HHtH'HH +HHHHfDAUATUHSHXVHHHC8HS@H)HHHLd$@HPHHp0L%Hs8H\$HHV%H/y%1HGHH^%+H|$ H5yHT$ HSHLHHT$0HSHHT$0HD$@HJHHpH;rwrLl$0LLHHUHSHHD$0HxH9HD$ HxH9HD$HxH9HD$@HxH9uHXH[]A\A]fH;pw1LLl$0;FfHT$@H5wJHXH[]A\A]H=9#+HW^Ht$&7OH= #+HW`Ht$06QH="+HW"Ht$06H wH5HwH=Yw=H="+HWt.Ht$0{6PJH^PJH̋PJHPJHaHHD$0Ht$HxCHD$ LHx2HD$LHx!HD$@LHxHHLl$0HLl$0HLl$0f.AUATUSHH(HttH([]A\A]Dy(Ld$:cHHHLLha LLHjHD$Ht$Hx`H+H5+HoHH_fH7HHD$Ht$Hx!f.DH+HHÐH+HHÐHwf.H+HH}f.H+HH]f.ATIUSHX謀HH1H+x蔀HH;LoH@ _H@0H@8@@H@HH@PHX@pHCHP[]A\HHHH{HHtHCH;HtHPHHɀH@SHHHPH?HPC[fDUSHHH+HGD$ D$!D$"D$#HSHD$D$$HD$(HD$0HT$HT$|H|$0HSHT$HtHD$ RD$ HH[]H|$0HSHHT$HtHRHH+HHÐH+HHfff.H7HGHGHGHG fff.H*HHt$HH$HHHÐf.USHHHG HtH[]HHx$zHW~HHU+HjHj-HBH HH{ BPHB@HBHJhHBXHHB`ƂǂHS tHPHC QHBUSHHHHH4+H5%+1IHHHHR0XH,$H$k}HD+H{H@@ H@(H@@HH@HHhPHH+HD$HHPHP HP0HP8HWH;Wt8Ht+HHGHHGH<$HtHPH[]fD1@Ht$mH<$HHtHPH}f.AWAVAUATUSHHHHrH+2H|$(DŽ$HDŽ$H@HDŽ$HDŽ$HDŽ$HHDŽ$HD$H$HD$H$H$H$H$HHD$0?ZHCL3I9HD$HD$PL|$@Ld$pHD$ HD$`HD$8@I>HP HIHD$p_mH$D$xHuOfHCHt!HHk LHp{xHC1Hu߄H9$HcHx L7{IL9t$XHT$0Ht$H|$p| H$H$HD$pHL$(H9HfDH;HtHPHHH9uH$Ht0H$H|$HD$(H[]A\A]A^A_H9H8HD$HH9Hs LIzſ0*zHt0H@H@H@LL$pLT$xLH LP(HL$H@HHmUIEH$LLPHt$H|$ L,H$H;$H|$PHD$PH|$`tnHtHD$`H8H|$`HH$HtHPH|$PHtHPH|$@H&HPHD$HXHt$8H|$0 H|$`HZIH|$@HtHPH$H$H9t(H;HtHPHHH9uH$HHt7H|$H$}LmyH|$`IHtHPH|$PHkHP`IhAUATIUHSH(I<$HH$HD$HD$xLjHHHHHHPHLHIJI]MeL9txDH;HtHQHI9uI}HtCL;H$Ld$L9t=DH;HtHRHI9uH<$HtH(H[]A\A]HHHH<$Ht H"xHuH1qH$H\$H)HHtHHHtvH8H;HKH)HHLlHtHHIH;IHt H+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.ATHIUSHu 'HHsLIyHkH} Hu[]A\H9t 1HGHxuL9w LH)HtfHL)HސH(HHLD$HT$Ht$P(Ht$HT$LD$u1H(f.HLD$HHT$PLD$HHT$I9tH9M!Hufffff.AWAVIAUIATMUHSHHH9uL9uH[]A\A]A^A_f.HEAF,LHPH$IuHHEPIHLHPHD$HIt$HPI~HL$IH4$Lb&I~HzAF irt AF$AF MHLHLW!FL=X +H+1HAFL=H+1HLH=HHtWHtRIv1LHIvLHIFHxxpAF(AF AF H BgH5gH= gij f.1f.H +HHÐH +HHf.AWIAVAUMATIUHSHHH9uL9uH[]A\A]A^A_f.I$LLPII$IwLPHD$HELHPH$HEIuHPH{H $IHT$L$H{HtpuHSE1LBMu S@HSH{HGH;GHt#K vH HQ0HI0HHJHHHRHPHHGIM9uL5 +H5; +1LL;H5' +1HLI;HHtZMtUHsLL1HsHH[]A\LA]A^A_KvL$Ht0L$cH fH5eH= e:VfD1f.H +HHÐHy +HHf.AUIATI UHSHH +H\$0D$D$ D$ D$ HHD$D$ H$HGH{(D$$D$(HD$H +D$,HD$8HD$@HD$HHHD$PHD$0nHHtvH8H;HKH)HHLlHtHH9H;IHt'H+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.HxHI(Hv(HHfff.ATH+IUHSHH(HtHPIl$HI\$@H9fH;HtSHHH9uI|$@Ht4Il$I\$H9tJDH;HtHHH9uI|$HtH+[]HI$A\HHfDSHH[fffff.AWAVAUATUHSHH+LoHW HD$@HHD$8HD$pD$PH*HD$HL$hHD$XHD$`$HHD$x$HD$0HGHDŽ$HDŽ$HDŽ$H$I9HD$L|$Lt$0HE(HD$HD$HD$ I}HHXRH}(LHHD$Ld$I)IM1HL9tOHD$H4I}LBH}E8HPtH|$Ht!Hĸ[]A\A]A^A_H|$HtIL9l$.HH|$HHtHbATH+UHSHHGHHGHGHG @` HH.HU01HC0C4HEC8HC@HC(HCHHCP[]A\HH{r;H*HHH\aIHLfff.AWAVAUATUHHSHH8HHL$HD$HD$HD$ HL$P HL$HHHHL$vHuHHD$L}@H+u@H+D$LHHH-[H\$Lt$L9f.E0L#PLU0AD$@HE(HLhlPH}(LHAHLHI9uHl$H\$H9t&@H;HtHHH9uHl$HtHH8[]A\A]A^A_HH|$H9H_AUIATIUS1HHHnH)HHu"fI$H4LH,H9uH[]A\A]fff.AVAUATUHHSHH HH$HD$IHD$P HHHIHuHD$LmH+uH+$LHHHYH$Ld$L9tqE4HLPU4HB@vHI9uHl$H$H9t?H;Ht{HHH9uH<$Ht]H []A\A]A^HHL8H^AVAUATIUHSLwG0LoG8LM9G4tfH;HtHHI9uLuI$1Ml$I)IMu fDI$H4HH*L9u[H]A\A]A^'gHI*HHÐHA*HHH*HHG@HGf.@H *HH=f.H*HHHc*HHG@HG f.ATIUSHoHH9tBDH;HtHHH9uI<$Ht[]A\f[]A\HfDAWHAVAUATUSHH9HHGHH)HH9wH[]A\A]A^A_f.LMI)IHL4L[IL9Lt%fDHt HHHHHI9uL}H]I9Lt*fH;HtHHI9uH}HtKLeMLeHEH[]A\A]A^A_E1E1_H=#fAWAVAUAATUHSHHGH+HHLHt$ZH}HMILxHH)HLHHt$HHH}HuHH9tuHLfDHt HHHHHH9uLuH]HH)HI9M|H;HtHHI9uH}HtuLeML}LeH[]A\A]A^A_HH9vIH:HH9wIILHGH;Gt.Ht!HHHHGHHG1@aHPHH@fHGPÐf.ATUSHH HoPHEL`HPHHpAH{PH1HP$ED$$f.D$zAu?@D$ED$D$f.D$1f.D$DH []A\fDH 1[]A\Ðfff.AUIATUSHH5THH +HH@HH]}8ECH[H5ImPH5e H*HHH5%LHźH*HEH@LMA|$8AD$CH3[H4Im@H5THC*HHRIHH@IH}8tgECLZH04HH[]A\A]fHxHE HP0@LXI$ LP0F@H8HE HP0bfHGÐf.HGÐf.D$D$D$f.D$zt $GD$FD$D$f.D$zu1ÐfDATUHSHHPHH9v/HHuHPIHHHP[]LHA\\@[]A\fffff.AUATIUHSHHHHPHH9HLmHPI9r H{HL0HH[]A\A]fDH{PLHPA$D$ D$(D$ f.D$(zuAD$D$0@D$8D$0f.D$8LEf.D$8IKvHl$6HT$H5QHHHH-5HD$Ht$HxH#*H5 *HCHH9HUHHD$Ht$HxؐK@Ht0SfAWIAVIAUIATIUS1HHnHt ILLLLHH9uH[]A\A]A^A_fff.AVHAUATIUSHHoH9|H;HtKL5*L-6*Hf1LLHHt"LHkOH9t6HH{HuH PH5HP IHLP0LhIfDHI9I$HLPD$`ED$hD$`f.D$hzu@D$pED$xD$pf.D$xzuL$I}h"L5*H<*LƄ$HDŽ$1Ƅ$HDŽ$MfHM~H$HDŽ$HDŽ$HDŽ$ID$L$LHDŽ$I|$IF 1H$H@I|IF(HIFIV0I}PH@HH*HDŽ$HDŽ$HDŽ$HDŽ$HPHDŽ$HDŽ$H$HPhH@H$H*H$HH$H*L%P*IuI}hDŽ$HH$ID$H$I}H5dC%I}H5C I}H9@H5BHHHH(m&HID$HD$ H$HH$HT$@$H9TH$HLt$ Ht$PHD$PLHHD$PHxL9Hl$0HT$H5dH L|$@HL#H5ͺLLLHHHl$PHHHT$PIT$HHD$PHxL9vHD$@HxL9H*HHHD$0HxL9H* HCHCK HHHD$ HxL9urH*H5*H1IM9H[]A\A]A^A_H$dLt$ Ht$PHD$PLmGHL==HDH=*HW kH^H=*HWGHH=m*HWHl$0&HULd$HHD$@LHxWHD$0Ht$HxDHD$ Ht$Hx1HHF' I}HIvL(Hz*I}hHH$!HBHLt$ Iu`L(nHHD$PHt$0HxkHcIT$L$HLHDŽ$u벋PJHH=4*HWt>kHt$#\HHD$PLd$LHx%PJHH=*HWt.$HPJHPJHHkHHD$@Ht$PHxKPJHfAVAUATUHSHGxLpL M9t`DI<$IHP LmxHH1HPLHH2HLmxHP0HHpHRLHH1M9u[]A\A]A^fff.SHFHH[$fDATUSHD$fW $f.D$1f.D$EЄL$f(f.fT\$0$fTT$8r)f.D$0r]1f.D$8HĠ[]A\fDf.D$0rf.D$8HĠ[]A\Df.D$8Ѓff.D$8HĠ[]A\f.$f.$D„7H\$@H?=H5H=HD$HEH5cTH$HEH5*HLd$  HsLHy-LHHD$ Ht$HxKH*H5*H,HHH"?IHD$ Ht$Hx HL!#If.AUATUSHHD$ D$(D$ \D$(D$0FD$8GD$@D$8\D$@D$HfWf.D$H1f.D$HEЄuL$HD$0 Hĸ[]A\A]f.D$0f.D$0D„tHl$PIH;HHH5;H"H5q;HH4$HHVH$Ll$LHxtHuLH+LH HD$HHxH*H5*H*HH8H=IHD$LMHxiHL~!IHH$Ht$HxBHDHfff.AWAVAUIATAUSHHH@EHD$AE,IG1EdE1IcHD$HcHD$xDD$ f.D$(@D$0AGD$8D$8f.D$0wD$0f.D$8Hl$Ld$H9l$M9:teIELLPIHHHPD$ AD$(D$(f.D$ JHH[]A\A]A^A_fDt@HH[]A\A]A^A_@HL$It$P0L$HD$t$IEL$Lt$1P0EIƋL$t$HL$H߉t$E1P0L$Hht$IEt$LP0t$L`dHH1[]A\A]A^A_Äf.HNwHH?#f.AWAVAUIATIUSHHH?HP0I}HHP0H9tHH1[]A\A]A^A_AEA8D$1HLut}I}LH)HPI<$IHHPD$ AD$(D$ f.D$(zu@D$0AGD$8D$0f.D$8f`HH9uHH[]A\A]A^A_@Ht1I}HHPI<$IHHP$AD$$f.D$@D$AFD$D$f.D$HH9u\@AWAVAUIATUSHhH>HP0A}HfWHHD$8HLt$0l$HD$u.HhH[]A\A]A^A_fDuq1L1H1HtI}HHHPI\$D$Hf.\$HD$HD$8zIuGE1AD$d$D$Xf.d$XD$XD$0{iǾL?HwH|$iǾ?IHHHD$(E1fWHD$HD$ t$HD$ fut1L1IH1I9I}LHPIL$D$@f.L$@D$@D$(zMuKE1AFT$D$Pf.T$PD$PD$ {H|$iǾ>HrfDH|$iǾ>I1HATH7*IUHSH_0Ho8HH9t@fDH;HtHRHH9uI|$0HtH*[]HI$A\HݐSHH[nfffff.ATUSHHq*HnHH|$IHH9H$t&DH;HHP HLHH9uH[]A\fDSHHHHP{(tHHHD$ HD$H[Ðfff.AWAVAUATIUSHhH8*HH|$8HHD$0HFH)HHcHD$01HD$HD$@HD$HD$ HD$I$ID$HH)HH9#H,L4HEHP IHLP0IIHt$LILP0I9H|$NLHD$@HD$HD$P~fH|$LHD$ XHD$ LmI 4H*LhH@ H@(H@@H@HHLxPHH*HHPHP HP0HP8I$J2HEPH|$ HHPHh[]A\A]A^A_H Z2H52H=#2bH|$ HHtHPH'4fDUHSHH(t:H{HHHH[]@HGD$@D$D$^D$D$@D$D$XD$D$D$FD$D$^D$D$@ D$D$XD$D$D$FH*HHÐH*HHÐH*HHf.H*HHf.H I1H50H=9Hxf.UHSHHhHG$@D$$\D$D$@D$D$YD$D$ D$ D$PHED$PCD$(@ D$0D$(\D$0D$8@D$@D$8YD$@D$HD$H?D$XD$XCHh[]AWAVMAUIATIUHSHHH9uL9uH[]A\A]A^A_f.HHP HLHRIHHP HIuHRHHEHP HLHRIHEHP HIvHRI|$HILLHFIT$Hz]zpAD$AD$I|$ H0IT$HtHP(/HIMt$ LLI|$ H޺ۻI|$ LɻI|$ HH[]A\A]A^A_驻fA|$AD$^I|$MHLH:0f.H*SHHHH HtHPHx*HH[f.DHQ*SHHHH HtHPH8*HHH[ht1tGDu G@GUHSHH(HH7DGHGHBHGHBHG HHHK(PH9H;Hs(HPC$D$$f.D$zBu@CD$@D$D$f.D$f.D$DˆC H([]C H([]H :0H5.H=/2fHW(Hu  tH9fHF(H9G(rH8G$FD$$f.D${vNWL$OL$(L$f. $D$f.D$(wD$(1f.D$@ƃH .HcHfuOL$NL$ L$f.L$ zu1H8Ðf.WL$(L$ L$IfD1f.D$Iރt~؃¸EރtfD؃tE|sރEf؃uZH -H5|-H=3Q.@ATHUSnLfH5-HúHHL&H5,Hú HcHHHH@HHt:{8tCCH.[]A\HQHH HP0ӸAWAVAUIHATIUSHH(H8]0A+It$8EHLHHI\$Mt$HuLCMtLHs H.xLC1MuI9\$ HIHI .E$AED$$f.D${H 0H5--H=:-H@uED$AED$D$f.D$zuHIG H([]A\A]A^A_@IHI -_HI9AtHs H-AA()HHt"H@H@H@Hh LHDID$0H(H[]A\A]A^A_LE1HHտH*fff.USHHH8HPH{8Hh1HP1HHH{8HHPHHH[]Hfffff.H(HB(H~(H9F$BD$$f.D$z)u'FD$BD$D$f.D$zt1H(fH)z HH1HuHH9H(H r-H5+H=+f.ATIUSHpH8HP HHI$H8HfH1PHH1HPED$0D$8D$0f.D$8H\$ HHIUH+1HtHH\$ LHHT$ H**HH޺H*Ht$HI$HD$ Hx HD$HHxH*H5*LEDXED$@@D$HD$@f.D$H0*I$ID$H)HH|HHP HHHHL`P0HHpAHHHL`P0HHpAED$PD$XD$Pf.D$Xz(u&ED$`@D$hD$`f.D$hzt`H\$HHIH!)1HHH\$ LHHT$ H*HH\yHp[]A\H *H5(H=(蘽H )H5f(H=(yH )H5G(H=q(ZH )H5((H=G;H\$ HHD$HHxL H%HHD$ Ht$HxڻHfff.AWAVAUATUSHH8HH$H<$L<$IH8Iw(HHH+k(PD$LeIt A (w$1LHH觳HEHs1HPHH[(H$HH9X(9A fMHEI~8HHMgLhHHPLHHAH$H9X(sʀ|$tH4$HELHHPHIF8XHX#H*@ HXH@(H@@H@HHHhPHHD*HHPHP HP0HP8H8[]A\A]A^A_ÐH $AD$D$D$f.D$z)u'AD$ @D$(D$ f.D$(zt D$LeD$AHH肹H#H &H5%H=&˺H &H5%H=%謺fff.AUIATUHSHH^0H5%;HHH5%HúHHH@LMA|$8tqAD$CHI%H I]L9t6Lc H5HLH HI9HuHH[]A\A]LI$ LP0y7fDATHG*IUHoHSH_ HH9t$fDH{ HtH2H9Hu[]It$I|$A\闯fDSHǶH[龷fffff.AWIAVAUATIMl$USH(H Lt$Hw Ht$L9HHt$uYHI9HtHHHk LLHtIGI;Gt=HHT$tHHHIG`I9HuH([]A\A]A^A_fLL赺냐fAWAVAUIATIUSHHH8HPHI}8HPHHHD$HD$LI}8HsLsHPI}8ILHPAD$ D$(D$ f.D$(zPuNAGD$0@D$8D$0f.D$8z)u'ID$I;D$H\$t.HtHHID$DH9_HH[]A\A]A^A_Ht$LSِAUATIUSH(HH$HD$HD$HLfH$Ll$L9tII|$8H+HHPHHLHI9uH<$HtZH([]A\A]HH<$HHt9HAWAVIAUATIUSH('LI~ Ho HMn5L9HLx MHD$HD$HI9Ht`L{ Mt~HL"tLHLIT$I;T$HD$tAHt4HID$HID$HLI9HuH([]A\A]A^A_Ð1@Ht$L H "H5w H= 芵H c"H5X H= kf.ATHIUSHu 'HHsL艫HkH轳Hu[]A\AUATAUSHHHWH+HHu}LHt$H HHCHt$IH)HH6HItIuHHtHHH;IHt/H+LLkHkH[]A\A]fDHH9v InHHIH9LFMf.U SHH5"HHHH@HHtH}8t)ECHHHH[]H(HE HP0RfHHHHH@0f.@Ha*HHÐHQ*HH f.fAWIAVIAUATUSHIwHFL.HD$HI9Lt=H9MetIHHLLQ(H9uIL9l$t IInH[]A\A]A^A_Ð@AWAVIAUATUSHHHIHIP HI$LP H$HH1P0HHD$tGfDH<$E1HP0HHt fI~MILHLHL9uHH9\$uH[]A\A]A^A_H H5 H=")fHٳ*HHÐHɳ*HH鍰f.HWHSHu[HHPHH9[Ðf.D uaD$D$D$f.D${DuFD$BD$D$f.D$f.D$D1Ð@AWIAVAUEATUHDSHH(Dd$hD$`HT$LD$HDt$pD$E:tH([]A\A]A^A_fHT$EDELHuDL$Ht$EHHDDL$DL$uHT$Ht$H(HED[]A\A]A^A_fAWAVIAUIATIULSHHx1ueGD$XD$Xf.D$XzHx[]A\A]A^A_DGD$`D$`f.D$`{G D$hD$hf.D$h{fDM9D$HbA|$0t2HLLdu HLLRvf.IELHPHD$ IELHsPHD$(ILHPHD$@IHuLPIIEHLD$0PHSLH9IAHD$OPHUI|$HL$@Ht$ MH9HT$(AI|$E1H|$HtH)HH?H1H)HyADL$0HL$@D$D$OMHT$(Ht$ LAD\$HD$Aʼn$!D\$H,ID$@IT$HI\$8H9<HtHt$ HHHNHHHNHHHID$@H9RHtHt$(HHHNHHHNHHHID$@H9HtH|$@HHHOHHHOHHHID$@H9HtIHIWHPIWHPHID$@ID$HP0IT$HP8IT$H@@ID$(ID$ Hx[]A\A]A^A_DH9;A|$0fDEHx[]A\A]A^A_[AAHt$ HsID$@IT$HLHYRHt$@HGID$@IT$H Ht$(H+ID$@IT$Hf.fGD$D$f.D$zGD$D$f.D${G D$D$f.D$f.fH!*SHHHH8HtЪH*HH[H*SHHHH8Ht蠪HY*HHH[鉪fSHH@HHt H@[fDGp $^$D$HS L$BD$D$X\D$L$L$D$ D$(D$(X\D$L$0D$8D$0f.D$8vfD$8D$0@D$f.D$ v[D$ @D$@HHHyHDD$8@@D$ @fffff.AVAUATIUHSHH@HH?LAxH;HtptH@[]A\A]A^fDHLHHHL@06H;LoMtpuHLHHH0L@H H;LwMLLHIHHHHxt xphMM TED$CD$D$f.D${xA$D$D$f.D$AD$D$0CD$8D$0f.D$81f.D$8DDp/fuED$ CD$(D$ f.D$(^Xf.D$D$L$f.L$T$T$D$fTfUfVD$BD$FD$L$f.L$veT$T$D$fTfUfVD$D$D$f.D$wGxD$D$f.D$v71@L$T$f.L$T$1D$D$f.D$wD$D$f.D$w{f.ATIUHSHHĀGp$=f.$"ED$$YD$D$D$[D$ D$ C@ED$(CpD$0D$(YD$0D$8D$8D$@D$@CHA$D$CpD$HD$YD$HD$PD$PD$XD$XCXAD$D$`CpD$hD$`YD$hD$pD$pD$xHSXHs@HD$xC`H[]A\#HH[]A\ f.ATIUHSHHH?LAH;Ht[]A\@HLHHHL@0H;HuHLHHH0L@HH;HuLLHIHHHHx댐fff.AUATIUHSHHHHHPIHHuHPLHLstIt$ HH߉D$ ; D$ H[]A\A]fff.SHHH`HH$H)~H $Hf(X\HT$T$WxL$VL$T$T$f(\X\$ \$ D$(D$(Ht HP`H%~D$(`@-}5}D$0Cx=}D$8D$8@D$0h(@ D$@CxD$HD$H@0D$@p@@8D$PD$XD$X@HD$P@PxXH`[DHH)\HD$(D$L$fffff.USHHXHHD$ ~HGf.L$HF||%|HGHFW8D$Hw HG(_PHGHG0ghHG@GpHGHHGXHG`HLJHLJHLJHLJfWf.L$KL$YD$D$0D$0D$8D$8CCD$ CpD$(D$ YD$(D$@D$@D$HD$HCHsHHX[]YYH H5H=1[HHHtןHHǃHt軟H Ht|AUHATUSHHHOHGH)HHH9wTHHfDHtzHH@@HHuHvHHCH[]A\A]DH?HI H)HHLH)H9H9HHHCHHHt$GLKH;IHt$L9HLfHtLLLBLALBLAHHL9uHGH)HIDHHfHt yHHBJHHuHvHL,t3LL#LkHkL93HuI1E1=LH=2|DHkf.AUIATIUHHSHHH*H}HfWH\$` yLd$hHHLl$pHT$(Hc*D$0HD$D$8D$xL$@HD$HHT$ D$PH*L$XHH$HT$ HT$HQ D$xHĈ[]A\A]f.f.@HY*HHÐH*HHH#*HHGfH)*HH齜f.H*HHH*HHG鎜f.@SHv(HH9wHtH{@CX[@HGPH9tHJH9u[f.fHHWHwH= f.UHHSHH(H*H|$HL$HHH$HHP HHHH([]ÐAVAUATUSHHLnL9LwLd$HDLHLD$D$H11L H$HtYH$HDŽ$Ht;HI9uH[]A\A]A^HLH_fffff.AWAVIAUATIHUSHHP HHHP0HHD$M|$Ll$ 1fHEA$HHD$PD$LHLI$HLL tHEHHPHHLH$Ht8H$HDŽ$HtHH9\$[H[]A\A]A^A_HLH6fDAVAUATUSHHnH9t|IH;HtHL5*L-c*H1LLHHtL蛞H9t6HH{HuH B H5p H= Wʚf.[]A\A]A^ÐfDATUHSHH HH$HD$HD$HHHHjH<$HtH []A\H<$HHtҘHf.ATIUSHHĀH{*HH|$( HD$HD$HD$HHHD$ H$HǃD$hHD$pD$xHT$XHHHHtLHH*L9uHyH[]A\H 9 H5 H= sAHHFHH|$HHt謗f.UHSHorH rHH$HD$D$@HD$0HD$8L$XHD$HHD$PD$pHD$x艼HtH;HtHHĈ[]Ht%HHtH;HtHH*HHHRH=Z*HH-HuHA*SHHHHHt}H*HǃHH[fH*SHHHHHt=Hf*HǃHHH[f.H@SHHHtHHǃHt [ΕfD[fDAVAUATUSHHH@HH@HL`HI9tvH;HtLL5Ϝ*L-*1LLHHt!ưHHHGI9t*H;HuH H5H=D{[H]A\A]A^fff.HfWNH\*4pHwL$HwHGHpf.D$HG@ƇGHWPGXG`_hwD$HH X H5H=d7AWAVAUATUSHLfHH$HD$HD$I9tzH;HtSL5j*L-*HH@1LLKHHt%^HHII9t3HH{HuH g H50H=DI@nH|$  nHD$ HD$(HD$PD$`HD$XHD$hL$xHD$pƄ$L$茸H$Hl$H9t=fDH;HtHPHH9uH<$HtHĨ[]A\A]A^A_HHuVHLd$H$HL9tH;HtHPHI9uHEHPH=-*HHHH<$HtoHH/fff.AWAVAUATUSHHBL2I9HD$HGLd$ IHH$AH$LLD$D$ HEHP1HItHHLHI9uH$Ht觑H$HDŽ$Ht艑IL9t$jH[]A\A]A^A_HL=H@AUIATIUSHHnHH9u0BfH5ٔ*H*1{HLLH)H9tH;Hu1H[]A\A]Ð@AWIAVIAUATUSHHHt$H|$8HP HHD$ILP HD$ HHP0HHD$(LL|$P1HHD$0DH|$HHPHL$8HT$0HLHD$D$HD$HTH|$ HP0L9t$L`AIwOEtHI9t:H9tHLL'tHt$H|$HaHI9uH$Ht讏H$HDŽ$Ht萏HH9l$(H[]A\A]A^A_HLDHfff.AWAVAUATUSH(HNHHt$H9HL$IH8HL=r*L5*HHD$f1LLSHIHD$HHhH9tnH;Ht@Hf.1LLHHtLL@H9t3HH{HuH WH5jH=yߏHD$H9D$t7HD$HD$HxHDH H5 H=K蕏H([]A\A]A^A_fDUH SHH*H\$ HT$HL$HD$(HD$0HH{(HD$8H$H*HD$@HHD$ $HHDŽ$HDŽ$DŽ$Hd$(BHHĨ[]H|$0HHtNHHH軽HfATUSHH HtUHHH$HD$HD$;HHH蝯HH貄H<$HtԌH []A\H H5H=H<$HHt蛌HfUHWHSHHHĭHH9uHH[]jH H56H=mF諍f.HY*HHÐHI*HH f.UHSHH*HHHHHH)HHt@11HHtHHRHHHH)HH9rHtH[]|@H[]ÐSHWH[^fffff.HHH)HH9s HH@ H TPH5xH=f{f.Ht HHwH PH5<H=_n?fffff.AVHg*I fAU fHIATUSGHHO`HHGHGHG8HG@HGPHGXGxHLJHLJHLJHPHLHHH@HHHHL}HIHHvxzHH蒧ILL1HHHH(cILLHHHHh[]A\A]A^@LH荩H H5H=/茊H H5jH=,mHHHtH1IHֈLfffff.AWAVIAUIATIUSHHHO*HGcHG cHG8HGHHG@O`HHGPHGXGxHLJHLJHLJHPHLHHH@HHHHLtHIHHmxqHHLL1HHHH(LLHHHHhH[]A\A]A^A_DLH荧H DH5H=I茈H %H5jH=FmHHHtH1IHֆLfffff.ATHg*I bU bHSGHHO`HHGHGHG8HG@HGPHGXGxHLJHLJHLJHPHLHHHHHt`HH@VL1HHƀHH([]A\HHHt賅HIH蠅LH DH5H=\f.fHHtwH D$L$0BD$AD$D$f.D$v-HHt0HW D$f.L$wD$f.D$vHHHuÐfffff.fW 4`GOHHHFHGHFGGHG@HGHGfff.HwHGUHSHHHHPHkHCH[]fffff.AWAVAUATIUSHHH|$HPpD$tD$HĈ[]A\A]A^A_Ll$PD$XHD$`HD$xLIEHD$hHD$pI$PXHHD$k1Lt$(M}dfD(Ht'HT$(H@H@H@HP |$LHHGHD$xHH;\$I$HLP`H<H*H5*1HdHHHP(LLHD$("L9LLHHtHD$(L9HB HT$(D$0D$8D$8f.D$0D$0D$f.D$8BD$@@D$HD$Hf.D$@D$DD$Ht$`LfHT$(H HHJHHHL$HRHyHPHAHtfH iH5LH=T1Ht$`HLH髧f.AVAAUATIUHnSHpH~HLl$HT$LH9t/HL$HP D$0D$8D$8f.D$0 Ht$HH#I|$LHH9t/HL$HP D$PD$XD$Xf.D$PHL$ LD$HHLLl$ >HX(KD$0f.D$8w(AD$@BD$HD$Hf.D$@=HX(H0CDsHp[]A\A]A^D$Pf.D$XwAD$`BD$hD$hf.D$`;WHHHBfAWAVIHAUATUSHHLl$D$HD$ HD$8IEHD$(HD$0 }H(H;hHD$sk@H]HHDH1HPpDHLL(HHLxpP`HpHADHLLHD$HH;hrLd$(M}M9LtBHX(k@t{uOHUL9uI]@I|$(~L6H9Iu1Ht$ LOHH[]A\A]A^A_ÿ$HI~HHSHHPHSHPIFt~H\$(MeL9tfDH{(o~HL9HuHt$ HLH@AWAVAUATIHUSH8{HH;XHD$fWH+L$HEHIHEHxIL$HPI/H9uf.L$(zuH(H9tmHE ED$(HtI9t޿HUI|$HHUHHPHUHPID$t Z}H8[]A\A]A^A_fDHD$HH;X1fHhHH9qIH̹?I)HL$LHD$HHHHH?HcH)HH趲L$IHD$L$HH}IoI?L$HL$H9HL$I1H9tcH)HHHHH~F1fDHtH4HtHtHtHtHtHtHt Ht H(HuHHHIWAG@LHL趻L9L$t LI(L$VL9L$uIoI?HIW뛐AVAUIHATUHSH0HPptH0[]A\A]A^f.L$H1L+vVHT$ VHE1LHD$HD$D$PHD$@HD$HL$hHD$XHD$`Ƅ$٣H,$DuEHHPH*H$H$HHH$tH}HtszHkzH$HDŽ$HtHPH$I|$(HDŽ$~Lƾ} tJHUI}HHUHHPHU HPIEtTyH<$H+,DLL蕌uA}uH<$DΐH<$1LL譂ÃH<$H<$HHtHPH$LHHfgf.gf.ATIHUSH0Ht$HD$HD$HD$ vH\$Hl$H9u<@HH9tH3LtguH|$Ht D$ xD$ H0[]A\H߸H|$HHtxHfff.ATUHSHHHEHtpxHL%X}*HY*1HL謭HtHH[]A\fH *1LH|HuH}*1LHcHuH}*1LHJHtHH[]A\fDH*1LHHt[HH]A\鸝Hz*1LHHt[HH]A\[]A\fffff.SHHHCHtFwHsH[ATIUSHn0H^(H9u*f.HH9tH3Lu[]A\[]A\fDHWLGHH6LD$L$4AD$FD$D$f.D$v-HRHt0HJ D$f.L$wD$f.D$vHHRHuI9tNHP D$D$f.D$w2f.L$w2FD$BD$D$f.D$vfDL@fDATHIUSHu 'HHsLIHkHuHu[]A\UHSHHH_HLAD$@f.AHL$ JL$(L$(f.L$ v;HCHt8HHS D$D$f.D$wL$f.L$vHC1HuȄu1D$HHD$f.D$v[1HH[]H_f.1H9_HtHmLEHH HHAD$D$D$f.D$wD$f.D$w)AD$0A@D$8D$8f.D$0nHHH1[]fAUHGATIUHSHHH9L*HF AED$0D$8D$8f.D$0wbL$0f.L$8AUT$@PT$HT$Hf.T$@w+f.L$8f.D$0vgHĈH1[]A\A]@H9]t6H2HH@ D$PD$0f.D$PHzHHHĈ[]A\A]D$@f.D$HvfH9] t:HL$|HP L$D$hD$hf.D$0vzH{Hu1HfD$Pf.D$0w2@D$XAED$`D$`f.D$XJfLHŴHĈ[]A\A]f.L$hwAED$pBD$xD$xf.D$pUDH(tHHW HJ D$D$D$f.D$wDD$f.D$bAD$ @D$(D$(f.D$ :f.1{fAUIATIUH0SH8#HHt1H@H@H@IEHHC(HC HS LH+Ht.HHMtEHPHE(H8H[]A\A]DHHD$+qHD$H8[]A\A]H9tHs HB D$D$D$f.D$wD$1f.D$wF1D$ @D$(D$(f.D$ @Tf.fHWHÐfff.W1vOtWu ɰu1!fDUHSHHHt)pH}HtHPHHt pHrw*H}`HHHE0u HHoHuHEXH}P1HbH}PHEhHE`oH}8HtH[]o@H[]ÐUSHHHG HtH[]HGHtH0H/HHC H}(HEHEHE HEHv*HHEEhHEpHExH[]xHt$9Ht$J JH@@@H@0H@8HXH0H@HH@P0@pHCH r*HS@@ @ @ HH@HPH@ @$@(@,HCH CH5H=koH}HHtmHq*HHHEmHf.ATLg0ULSHH YkHH CHHfD$C D$C D$C fD$CD$CD$HEudCS s K{ fD$CT$f4$@|$L$ft$L$D$vT$@|$T$<vD$T$D$T$Ld$H}LRIt$H} DL蜯AHEHHUA4HHHPH []A\fHLUHH{HBH߉H []A\fAWAVAUATUSHHH8H|$bHHD$HHHHHHPHLpHD$L9L|$ fH+HEHLeP LH~HEHPH|$ HP0Hv6Ll$ HD$ !LLHH蠡H|$HpH|$ HtHPHI9vHD$H8HtdkH|$ZkHL$H|$H;y tHPH8[]A\A]A^A_HHH%kH|$ HtHPH]HHHw(H`H$HÐfDAWAVAUIATUSHHHnHD$ HD$(HD$0H)HHIHHp`HD$HFHD$@I1Ld$ H$Hr*LxHD$HD$PH0HD$(Ht$HHD$(HVHLH0{HH9IEHHp`HD$HH<$_E WELd$@L|$HHD$PD$`HD$XHD$hL$xHD$phH|$}H|$rpHD$(H;D$0tHHt$016Ht$L裎Ht$'fH|$ HtQiHĈ[]A\A]A^A_H H5H=+jH|$ HHtiHVfDAWHAVAUATIUSH8HHD$HD$Ht$HD$ P8HD$Ll$I)IM1Lt$HL9ttHD$H,HEHP8upHI苹HLL|$ID$I;D$HHT$HID$HHL9ID$uIl$M,$L9tyHL%p*HL)LHHLHH?Hcи?H)HljH~sILLH螃H9tfLHHH9uH|$HtgH8[]A\A]A^A_fD1HtpeLheHĸH[]A\A]A^A_L(~HH蝬L~LHHHt$HHHt$ H H5H=VfLHT$HD$THD$HT$HuKH1H\$(H+\$ HH9HD$ tL$MtLLdHHD$(hHH|$ HtgdMtI>HtUdLMdHH E1MIHHaLHfE11H H5H=K4LeHH1H뽐fDAWAVAUATUSHHHH|$D$hAH5h*1Hm*HݘHHD$8fWf.D$hXHD$HhHHD$8HT$L$ H@HB(HHH$HPH$HPH$H@DŽ$L$HDŽ$HDŽ$H$H:j*Ƅ$HDŽ$HDŽ$ HDŽ$(HHDŽ$8HDŽ$@H$0H$HDŽ$HHDŽ$XHDŽ$`HxpHDŽ$hDŽ$p?HDŽ$xHD$H-rHH$XH9UL4LbI1HLTL$PL|$HHt$8D$hHDŽ$HDŽ$LHDŽ$>ILHD$P^lIH|$pLHHDŽ$`HH$hL$pHDŽ$HDŽ$HDŽ$H|$HP0EH$H$AH$`AD$hEH$HDŽ$HtHPH$HtHPH$H$HDŽ$HDŽ$HDŽ$H)HH11L$EfHH$HH$H$H$H)HH9XL$Hoj*H@@ H@(H@@H@HHL`PHH d*HHPHP HP0HP8H$H;$H$tHC1GHt$HLOAH|$HH$襫HHD$`HH$HHHPIIvI+6HHH@IH@H躐IMnI)IM1L$(HID$HHL9ID$IHHHP HHLRHD$H$HDŽ$Hx(H$H$HtHPHHPID$I;D$tHH$c1dHt$HLPHL9`I>Ht5^L-^H$H$H)HHt)1HHFH)HHbHD$Hx(_HHD$H$LxHLPH$IHt$HP$@@$HA$$PAD$$X$@\$P$@$H\$X$H$@Y$@$P$HY$H$X$PX$X$`Q$`f.BH$h $hf.$HHL|$yfHD$H$L`HLPH$IHt$HP$@$A$AG$$\$$$\$$$Y$$$Y$$$X$$Q$f.L;d$$`$f.$HL9!Ld$ H$L}LHPH$IHHP$@$A$$AD$$$\$$$\$$$Y$$$Y$$$X$$ Q$ f.H$(x$(f.$-HHRL f.H$L}LHPH$IHHP$@$A$$AD$$$\$$$\$$$Y$$$Y$$$X$$Q$f.0H$0$f.$HH LfLd$1Ht$@H|$0L}Hft PH|$0OHD$H$Hp(9H$HD$ H8HtOH|$ OH|$HFH$HtHPH$HDŽ$HtOH$HtxOH|$pHtHPHH[]A\A]A^A_$腻$ rb$_ $`LHHH$H$|$P3$$$0ݺHNH|$0NH|$8HHH H5BH=jOH$HHtHuH,NH|$XHtHPH$Ht NH$HtMH|$pHtHPH|$PHD$pt H|$PHPHHH|$HDH$HtHPHDŽ$gH$HHtHPH$HtHPHD$ H8HtXMH|$ NMHH$HHtHtH'MHDŽ$HHHD$XHD$PH|$HHWH$8HHLHD>H|$ HB荗HH$H$H5HIh|LH H$H$HxLHT*H5O*HHHH$H$HxjLH肚HZHHHHfH$HHHPH$HHHP踨UHSHHS*HHH0Hu fDHHmKHuHE(H} 1H!>H} HE8HE08KH}HtH[]$K@H[]fUHSHHpR*HHH0Hu fDHHJHuHE(H} 1H=H} HE8HE0JH}HtJHH[]Jf.fAUATAUSHHHWH+HHLHt$輳LHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHxH;IHtIH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.AUATAUSHHHWH+HHLHt$輲LHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHxH;IHtHH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.AUIATUHSH_HL'HHEHHH3LAՄuLeH[]A\A]fDAWAVIAUATIUSHH9H_H9tyIHoGHH IL)HHt HHLHL$H)PHL$HHM9I $t)I4$H;AՄuHILHHM9uH[]A\A]A^A_fAWHHAVIAUATII?ULSH8HD$H|$HD$Ht$ HT$(HL$LD$H9*IDIIOHD$L$ HM,I\$I}I,HuLHEIDH;\$HK|D$(uL|$(ILH?III9t0H;\$ I<DHT$HH8[]A\A]A^A_fH\H;\$ IHK~HCII?IIO$Ht$HD$I<$ЄuIf.I$IIGHH?HHL9|$ |LhLIH\$ f.@AWHH)AVAUATUHSHH(H=HT$Ht$H|$IHGHD$H)Hl$H}HHH?HHH\H3AԄHD$HpH;AԄHEHHUHHuH}Ll$HD$HHuH{HAԄIuM}fDI7MH}IAԄuI9vHIUHIEHCHuH{HT$Ht$LH]GHH)H=H|$H\$H}AԄtKH}HuH}Hu;HD$H}HpAԄtHEHL$HQHUHAHuH}HD$H;HpAԄHEIHHXIHHHLMLHH:HuIHELIH)1MHHIIFH:HH([]A\A]A^A_f.@H7HGHGHG G(Ðfff.UHSH^HH?HR0H9sHU<uHH9s<tHH[]Ðfffff.AVI(AUATUHS般HI1H}HP01HIt6fHU<tH}HHP1HLL8HL9u[]A\M.LA]A^HLBHMHt IELPH׬fDAUIATIUHHSHHHH(D$趯1A;E(tH([]A\A]ÐLHH§D$D$f.D$H([]A\A]H(HHD$苧D$D$f.D$H(ÐAWIAVIHAUMATMI)LUHHSHHID$IMLDI9wMDLI9v@H}HHPD$HLLH nuH[]A\A]A^A_fH[]A\A]A^A_fff.SHHHHn;C([fDAWAVIAUATIUHSHHH?D$HPH;ILHPH;ILHPLHLHIxuH1[]A\A]A^A_D$LLLH)mtD$HHHM[]A\LLA]A^A_=fff.AVE1AUAATUSHHoHHHoI\CLLHHD$ID$胨tHCMALHPoHHHBoIH;HP0I9rHD[]A\A]A^ÐUHSHH(D$ &D$fTD$D$FfWf.D$wGH;HP0H{H#HC~HNuHH9H(H[]F(밐fffff.USHHHHl$D$H脱D$HH#zH|$ Ht>HHH[]H|$ HHt>HUSHHHHOH)HH9HO:II)IL9w+HtHH‰:HHuHHCH[]DH9t8HH9u:L)HHHtD8HHuHHCH[]DHu#HE11HHLCLCtH[]=H?H9wBH,HT$H4$HHT$H4$L( HfD HHuH;zf.UHSHH9w*H,H諦H1HH/HH[],fff.SHHD$@D$ L$ fTL$(HL$0L$0fTL$8L$(f.L$8wL$8$L$@L$@fTL$HHHD$T$HL$PT$L$PfTL$Xf.T$XD$XD$v T$XHD$$f.L$Xw$$fWD$f.X$X$L$`D$`D$hD$h^=D$pXD$pD$xD$x,)*$-$HĠ[Pj$sfATHG8 USHHHD$Hl$HB*HD$HD$ H}pHD$(HD$0HHD$8HD$HHD$@HD$PHD$XHD$hHD$pHD$xDŽ$?HDŽ$JHHD$h?C0H3HHD$`HDŽ$D$HDŽ$HDŽ$D$HCXHEHİ[]A\H|$HHHt0:HxHt HHDHMH{HpI]H{It$踖H讖fff.AWAVAUATUHSHHH|$0L$`GH=* I|$( H$HDŽ$HHDŽ$HDŽ$HD$`H$$ HDŽ$(HDŽ$0$8HD$xHD$`Ƅ$PH$hH@*D$hD$iD$jD$kHHD$pDŽ$DŽ$DŽ$DŽ$H$`HDŽ$pHDŽ$xHDŽ$oEDŽ$fWHDŽ$D$DŽ$f.\$D$H~A*L$ L$$HDŽ$HDŽ$0HH$I}pf.D$HDŽ$HDŽ$HDŽ$HDŽ$HDŽ$HDŽ$HDŽ$HDŽ$HDŽ$HDŽ$ HDŽ$(HDŽ$8f.D$HDŽ$@HDŽ$HDŽ$P?HDŽ$XDˆ$HC8H$H`>*HH$FHH$8oL3L$H$0HDŽ$`HDŽ$hL$HDŽ$pI~H$诛uQ@fWD$f.d$EfWD$ f.l$ D$f.D$ z HHt$@HHD$@Hl$HD$PD$QaL4$LC0LLD$(D$(}HHCXt HEHPL@L@L2fHĈ[]A\A]A^A_1荭HL\@L@LeHğH$HHt_5L$H$pHHt@5HHtHEHPf.USHH(G0H?$$?D$D$f.vHl$HBHHrH([]H 4H5H=6fff.AWAVLwAULoATAUHS H@H'H}Xuou(EHH<*HuH{HHwCHp?*H8*HH5:*HHHEHCHE HCHE(HC 請H[]A\A]A^A_HHt +HHH8HHpLI IwLLk(H^H֝fDSH7H{Xt[fDHHx茘tH[-DHH[fff.SHHD$D$G0 YD$D$D$=D$  \D$ D$(D$(H8f.SHgDHC0HC8HC@HCHHCPHCXHC`HCh[Ð@SHHh3-H{HHt%-H{0Ht [-fD[fffff.Hw0HO81H)HHtf.HHH9BfuÐfff.USHHHnhH04HH[]4fDAWAVIHAUATUSH8HHt$PhHH5*H55*1HaHH|$HPhIH$HLP0HILP(H9Lx MyIH-.*L%1*2IGhxfuALXH9Lx M7I1HLLaHAftLL<$LwILP(H9tNLx M1HLLI`HLLAGfrLoWH9uH8[]A\A]A^A_(uHHD$HHR`H\$ HT$H5LIHZLHH}HD$ Ht$Hx+H.*H5z1*HZf.H H5bH=;+H H5CH=;+H ˪H5$H=}+HHxH耔HHD$ Ht$Hxj*AUIATUS1HHG0Lg8I)IMuKHL9t?IE0H,؋~勅HxuHEeL9uf.H[]A\A]Ð@HHG`HtJHF`$D$D$f.$w$1f.D$Hf.H "H5H=*f.HFH~Ht3HfDHH@HtH9P sH@HuH9tH9Q 1Ðfff.AWAVAUATUHSH8HGhHtH8[]A\A]A^A_ÿ HU0Lu8 HH@I)HIPHEhMtHE1fDJ1HxHPhIHLP0HIuxfDf.$v $$f.D$vBBD$ D$ f.D$v D$BBD$(D$f.D$(vBHI9t}IHLPHUh$@D$D$BD$D$f.D$H$HI9$BD$BD$BuIM9t HE0HEheff.AWAVIAUIATUSH8H^8HnPH+^0H+nHH5¥bLL`H5`HIHHbHL&H5HźHbHHH5xHúHbHH@HH}8mECH1*HlIFHM~PI)IMu6fECLHHElL9IFHH5LL$aHLEH5HźHaLH#IHH@IH}8nH&IHE HP0VfIF0M~8I)IMXHL$ 1H $HL$HL$fDAD$CHH_kHt$ HHVaIHH@IHO}8ECL躑HkHD$ HxH;=.*HL9IF0H4H<$>H5 L`HLH5IHHx`HEH@LMA|$8 LGI$ LP0HGHE HP0@H8L[]A\A]A^A_HGHE HP0{H=,*HWtNHt$@HHD$ Ht$Hx#H豍[VPJH뮐AWAVAUATIUHHSH8HHt$P@HEPH;EXHH|$H8HEPH|$HHEPHPhIHLP(HIELP0H9ILs MjHD$ L=%*H$HE0HD$HD$(HD$%@HNL9HLs M H5((*1LLWHHE8H;E@Lt$ H~L0HE8LD$ HHE8IxhHP@HHD$(HR8rID$I;D$tvHHT$(tdHID$HHID$ NL9HKH8[]A\A]A^A_M1fDH4$H|$LD$ n1@Ht$L;I1nH}HHt$!IH|$^H H5 H=r2j"UHSH8H\$Ht$Ht$HD$HD$HHD$ HHwHGHHHD$,H|$H;|$uHt H8[]H|$HHt HSHiHs0H;fHCHHC`t[H H5.H=:P!fff.AWAVAUATUSHHLt$PH|$D$XHD$`HD$xHIFHD$hHD$pHD$@HD$HD$@HD$HHP@HD$(>HtHT$(HH@HPL|$HLalHt$(LttCfH\$@L9bHD$0HD$HD$8H$HCHHD$0' HOHt$L"tHt$0H|$s4H|$0HPhHHHP0HHHP(H9HLx ML-!*L%$*(HKH9HL{ M1LLLTHIhfuHP@H4$LHD$8estHtHT$8HH@HPHt$H kHJH9HmfH\$@H;\$Ht$`L賏HĈ[]A\A]A^A_H H5ÜH=,/RH|$@H;|$HtHH;\$tHHt$`LRHf.ATAUSHqOHk(DHTHHeHH[]A\seATHIUSHu 'HHsLَHkH-Hu[]A\AWAVIAUATIUHoSHH_HtWLf.HCAHtHHS L9wHCE1HuEIu!L9r@HH1[]A\A]A^A_HDMl$I9t&HI+(MHP HL9sMu1L9tsE1IE I9Aǿ(ÅHHt%H@H@H@IHC LHHDaID$(HH[]A\A]A^A_AHG@t,uHD$D$WfDHD$D$fD$D$^D$D$Ðfffff.AWAVIAUATUSHHXD$(D$(bD$0H|$LD$0AHl$HEHP0IL`HEHPIHE1HPLHH$lIAv.HELHPHHchIM9sH{ HYHL$LH$HH$HH$ 0H{HP0HH{LHELHPIHEIuHPLHH [D$0H|$  LfWD$8D$8@Ld$ I$LP0HhLpI$LHPII$LLPLHHj%@I$HLHPHH'gHuH{ H!HH$0HH$0HH$8HH$@H{HP0HUH{HI$1LPHI$LPHHHYH{HP0HMH|$ HtHPH|$HD$ HtHPHX[]A\A]A^A_f.HCHHH $HHPHT$P0HpH<$HT$$D$@$D$HD$P@D$XD$@\D$PD$`D$H\D$XD$hD$`YD$`D$pD$hYD$hD$xD$pXD$x$Q$f.$C($$f.$5ADH{1HPHkIHEHLhP0HpHAA$$$$f.$z=u;AD$$@$$f.$z H{LO f.LkIELLpP0HpLA$0$$8$$@$$\$$$\$$$Y$$$Y$$$X$$Q$f.zG$C($$f.$$́$躁H|$ HHtHPHD$ H|$HtHPHkHf.AWAVAUIATUHSHHD$D$u\D$\D$HH;H,$HEHP0ILpHE1HPIHEIt$HPLHLeMt7HEE1HAHHPDHLbHI9sI}HP0Hu"H<$HtHPHH[]A\A]A^A_@I}1HPI]HHHL`P0HpHAED$ D$(D$ f.D$(z3u1ED$0@D$8D$0f.D$8z eI}H HD$ \fWD$H<$HHtHPH}fAWAVAUATAUHSHHHD$0D$0ZED$8HEHP0E1HIL$ 8D$8H|$ HfWD$@D$@9Ld$I$LP0HhLpI$LHPII$LLPLHHcH{ H HL$ LH$ HH$(HH$0 H{HP0HH{L'fDI$HLHPHH_HuH|$HL{ILHPHT$P0LHpHT$$ D$H$(D$PD$X@D$`D$H\D$XD$hD$P\D$`D$pD$hYD$hD$xD$pYD$p$D$xX$$Q$f.b$C($$f.$wH{LVIM9HEHLPH{ HHLH$ HPH$(H@H$0T H{HP0HtL$ P0IMtrHEIHLPH{ HTHLH$ HPH$(H@H$0 H{HP0HH{LpMuH|$ D$8H6Ld$ I$LP0LpI$LPHI$1LPHHH`H{ HHL$ LH$ HH$(HH$0 H{HP0H'H{LIv)I$HLRHH\HI9sH|$ HtHPH{ HHLH$ HH$(HH$0pH{HP0HH{LH{HP0HIHH[]A\A]A^A_LsILLxP0LHpA$ $$($$@$$\$$$\$$ $Y$$($ Y$ $0$(X$0$8Q$8f.$@C($H$Hf.$@,H{1HPHkIHEHLhP0HHpAA$$$$f.$z=u;AD$$@$$f.$z "H{L fHkHEHL`P0HHpA$ $$($$@$$\$$$\$$$Y$$$Y$$$X$$Q$f.$C($$f.$LsILLxP0HpLA$ $$($$@$$\$$$\$$$Y$$$Y$$$X$$Q$f.v$C($$f.$!HkHEHLxP0HpHA$ $P$($X$`@$h$P\$`$p$X\$h$x$pY$p$$xY$x$$X$$Q$f.z9$C($$f.$$u$uw$8tT$tH|$ HHtHPHrH|$HHu$tATIUSHHD$qIT$HHIt$D$CH+HH[]A\HH HUr@AWAVAUATUSHhD$fWf.D$HHIIՉEHP0HhD$HOH|$ D$PHD$@ED$PH$ 9LfWD$XD$X.H$HEHP0II HXHEHHPIHELHPH|$ LHHHtvH8H;HKH)HHLlHtHH&H;IHt'H+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.USHHXD$GL$O0D$ $YD$D$ D$ WD$(HC $\D$(HD$0D$0YD$8D$8tEHPHPL$@kHC(HC8YD$@HC D$HD$HC(HX[]Ð(VPHH[C0HkD$@HHHQfDAUIATUHSHH(HG(D$OHILcL%)HC HC(ID$%-Lk85HD$Hk@HCHHCPHCxHǃHǃHǃƃC0HǃHǃHǃHǃHǃHǃHǃHǃ=H@ HxH8Hǃ(Hǃ0_%W-OHǃH5<HǃP=)Hǃ`HǃhXHǃHǃpHǃHǃHǃHǃHǃHǃǃEƃǃ*ȃL$ g^L$L$L$K~}tH.H([]A\A]fDCPH{IT$HHHxHH@HtHPHMHLiHMS1HV D$\T$ fD$ d$(N(\D$(L$8^\$@D$0D$8\D$@D$HD$0l$HYD$0D$PD$HYD$XD$PXD$XD$`QD$`f.GD$h*$D$pD$pYD$D$xD$xYl$xYD$0$$$^D$h$$^D$h$$\$$$A$$X$$$A$$\$$$A $$X$$$A(H[D$`HL$Ht$MHt$l$HHL$V fN(^{fDLHЉG0LLND$D$LLFLH0HHHHH@H`HhH@HLHHLPLXHpgfDAW1AVAUATUSHHXD$(L$ DD$( \D$ T$D$0D$0fTD$8GL$8D$@f(^D$@D$HcXD$HD$PD$P,Ѕ*D$Xf(^D$XD$`fWf.*H$Lt$Ll$L$0$FH{L$XD$`$D$8f.$$LLY$D$hD$hXD$(D$pD$p%D$H{ $ D$H$(ED$x$ $$YD$$D$xX$$E$$($$YD$$$X$$$L$0$$@$8H{HP0HlL{ILHPH$P0LHpH$$0$$8$$@$$\$$$\$$$Y$$$Y$$$X$$Q$f.zL$C($$f.$FRHX[]A\A]A^A_?U$H뤐AVAUATIUHSHHH)G0L$ H$`HDŽ$hLhHHDŽ$p%HDŽ$$xL$ L$`H$(HF$HDŽ$H$0HFLH$8HH$@HBH$HHBD$D$H$PwC0H$-D$LH5ɶL$D$$HDŽ$HDŽ$$HDŽ$HDŽ$ED$ A$D$(D$ \D$(D$0EL$0D$8AD$D$@D$8\D$@D$HD$HHC@D$P@qtH[]A\A]A^@H{ H8 H$L$LH$H$H$H$H$H{HP0H H{LL$PHC0f(H$]\X$$$$$rH{ Hb H$LH$H$H$H$H$-H{HP0HH{LH[]A\A]A^fH|$D$PH$ $D$$C0D$XD$XfTD$`$D$hD$`L$hYL$p$L$xYD$x$$$$$X$$$D$p$X$$$X$$$$X$H{ H$$L$=$L$$$aH{HP0HH{LH{ H-$L=$$$$H{HP0HHkHEHLhP0HHpA$$$$$@$$\$$$\$$$Y$$$Y$$$X$$Q$f.#$C($$f.$[H{ HH$L$LH$H$H$H$H$cH{HP0HH{LH{ H/H$LH$H$H$H$H$H{HP0HHkHEHLhP0HHpA$$$$$@$$\$$$\$$$Y$$$Y$$ $X$ $(Q$(f.P$0C($8$8f.$0bfDHkHEHLhP0HHpA$$$$$@$$\$$$\$$$Y$$$Y$$$X$$Q$f.$C($$f.$DPHkHEHLhP0HHpA$$@$$H$P@$X$@\$P$`$H\$X$h$`Y$`$p$hY$h$x$pX$x$Q$f.$C($$f.$"HkHEHLhP0HHpA$$8$$@$H@$P$8\$H$X$@\$P$`$XY$X$h$`Y$`$p$hX$p$xQ$xf.u$C($$f.$LkIELLpP0LHpA$$$$$@$$\$$$\$$$Y$$$Y$$$X$$ Q$ f.z9$(C($0$0f.$( ,G$ `;$xP;x$=;5$*;$;$(;fffff.AWAVEAUIATIUHSHHXD$D$D$ D$\D$ D$(BL$(D$0FD$8D$0\D$8D$@D$@D$A$D$HED$PD$H\D$PD$XAD$L$XD$`ED$hD$`\D$hD$pD$p豾AD$xyD$f.D$xr\QD$H{ H{IEH$0IEH$8IEL$0LH$@$H{HP0HH{LT$HL$xDD$HH{ HI$LH$0ID$H$8ID$H$@H{HP0HbH{L1HX[]A\A]A^A_L{ILHPH$P0LHpH$$0$$8$$@$$\$$$\$$$Y$$$Y$$$X$$Q$f.$C($$f.$-9fHkHEHL`P0HHpA$0$$8$$@$$\$$$\$$$Y$$$Y$$$X$$Q$f.zz$ C($($(f.$ ~D$xf.D$NXD$D$xB$:6X$'6sfAVAUATUHSHHH D$FHD$D$D$XD$D$ ZD$ L$ۤ$LD$$$"H{HP0Hu[H{L貾fWT$H MHH{HP0HH[]A\A]A^DLkIELLpP0LHpA$D$($D$0D$8@D$@D$(\D$8D$HD$0\D$@D$PD$HYD$HD$XD$PYD$PD$`D$XXD$`D$hQD$hf.D$pC(D$xD$xf.D$pH{1HPHkIHEHLhP0HHpAA$$$$f.$z=u;AD$$@$$f.$z nH{L׼H[]A\A]A^D$h|3?fAVAUATUHSHH0H D$FHD$D$XD$D$D$ D$ XD$D$(D$(L$ $LD$$ $`H{HP0H-H{LEH{ D$0HD$0\D$D$8ED$@D$@XD$D$HJD$HLt$D$8$ $辿H{HP0HH{LJEH{ D$PHD$P\D$D$XED$`D$`\D$D$hD$hLҠ$D$X$ $H{HP0HIH{L診EH{ D$pHD$pXD$D$xE$$\D$$$L%$$D$x$ $nH{HP0HH{LH{HP0HH0[]A\A]A^LkIELLpP0LHpA$$$$$@$$\$$$\$$$Y$$$Y$$$X$$Q$f.$C($$f.$LkIELLpP0LHpA$$$$$@$$\$$$\$$$Y$$$Y$$ $X$ $(Q$(f.h$0C($8$8f.$0!-LkIELLpP0LHpA$$@$$H$P@$X$@\$P$`$H\$X$h$`Y$`$p$hY$h$x$pX$x$Q$f.[$C($$f.$H{1HPHkIHEHLhP0HHpAA$$$$f.$z=u;AD$$@$$f.$z H{L藵H0[]A\A]A^HkHEHLhP0HHpA$$$$$@$$\$$$\$$$Y$$$Y$$$X$$Q$f.z_$C($$f.$Ual7$+h$(*$*$*fff.AUATAHUHSHHHLHHHH{Pv?HC@@vCC0HHAHD$HD$H[]A\A]DEH{ HHH$HH$HH$HH$mH{HP0HH{HH[]A\A]H{ HhHH$HH$HH$HH$H{HP0H;H{HzDLcI$LLhP0LHpA$D$h$D$pD$x@$D$h\D$x$D$p\$$$Y$$$Y$$$X$$Q$f.$C($$f.$TfLcI$LLhP0LHpA$D$$D$D$ @D$(D$\D$ D$0D$\D$(D$8D$0YD$0D$@D$8YD$8D$HD$@XD$HD$PQD$Pf.z@D$XC(D$`D$`f.D$X 3$ 'D$P'fffff.AUHHHATUSHHHLHH{P D$D$D$D$ D$\D$$D$\D$ $$Y$$$Y$$$X$$Q$f.% $ H{ C0D$(=YD$(D$0D$0f.$ H HH$HH$HH$HH$H{HP0HH{H菮C *H{ HD$8L$8D$@D$@YD$HD$PD$HXD$PD$X*D$`D$X^D$`D$hD$pYL$p$L$xD$xX$$$^D$`$ $H{$D$h$$űH{HP0H:H{HQCH{ *H$$$$Y$$$X$$*$$^$$$Y$$$$X$$$^$$) $H$$$$VH{HP0HH{HH{ H HHH$HH$HH$H{HP0HH{H|Hĸ[]A\A]fDHE HH$HH$HH$HH$rH{HP0HtLcI$LLhP0LHpA$$$$$@$$\$$$\$$$Y$$$Y$$$X$$Q$f.{$C($$f.$bnf.H{ HHCxH$HH$HH$HH$H{HP0HLcI$LLhP0LHpA$$($$0$8@$@$(\$8$H$0\$@$P$HY$H$X$PY$P$`$XX$`$hQ$hf.$pC($x$xf.$pDLcI$LLhP0LHpA$$$$$@$$\$$$\$$$Y$$$Y$$$X$$Q$f.$C($$f.$AMLcI$LLhP0LHpA$$0$$8$@@$H$0\$@$P$8\$H$X$PY$P$`$XY$X$h$`X$h$pQ$pf.$xC($$f.$xLcI$LLhP0LHpA$$$$$@$$\$$$\$$$Y$$$Y$$$X$$Q$f.'$ C($($(f.$ 4@LcI$LLhP0LHpA$$8$$@$H@$P$8\$H$X$@\$P$`$XY$X$h$`Y$`$p$hX$p$xQ$xf.$C($$f.$#H{ HqHHH$HH$HH$覧H{HP0HPLcI$LLhP0LHpA$$$$$@$$\$$$\$$$Y$$$Y$$$X$$ Q$ f.$(C($0$0f.$(,8+%$$h^$x $$ {h$h@$Ur$pBJfff.AUATL(UHSHHLHL$D$H`HLD$(H$;D$0YD$0D$8D$(XD$8D$@D$@DD$Hf/XD$HD$PD$PD$XH|$HD$X$$0D$$8D$YD$D$`D$8D$hH$@H D$hfTD$pD$pYD$`D$xD$\D$x$($$0$$YD$`$$X$$0$$8$$YD$`$$X$$H1)HDŽ$@$HDŽ$H H$H$H($$H$H0$$H$H8$PH$l H$`$H%xHDŽ$`fWHDŽ$h$p$"$H{ SH_H$`H$HH$H$hH$H$pH$JH{HP0HH{H֝H{ HH$@HH$H$HH$H$PH$H{HP0HVH{HmH[]A\A]LcI$LLhP0LHpA$$$$$@$$\$$$\$$$Y$$$Y$$$X$$Q$f.$C($$f.$MYLcI$LLhP0LHpA$$$$$@$$\$$$\$$$Y$$$Y$$$X$$Q$f.p$ C($($(f.$ H[]A\A]fDH H$@H$HH$H$HH$H$PH$H{HP0HH{H胚H{ HH$`HH$H$hH$H$pH$莞H{HP0HLcI$LLhP0LHpA$$($$0$8@$@$(\$8$H$0\$@$P$HY$H$X$PY$P$`$XX$`$hQ$hf.$pC($x$xf.$pfLcI$LLhP0LHpA$$$$$@$$\$$$\$$$Y$$$Y$$$X$$Q$f.z_$C($ $ f.$LX$`$u}$b$hRWfff.AUIATIUHSHHHHH(LH$D$蘟$$$D$8D$8f.D$8fWf.L$AML$\D$AML$ D$H$\D$ D$PD$HYD$HD$XD$PYD$PD$`D$XXD$`D$hQD$hf.D$p |D$fTD$(D$p^D$(D$HC@@D$0D$0f.D$sID$xL$xLD$HHH([]A\A]}T$H{ HH$H$HH$H$H$H$H$H{HP0HutH{HsH([]A\A]D$f.$C$L$@L$@f.L$@"HC@@D$xLcI$LLhP0LHpA$$$$$@$$\$$$\$$$Y$$$Y$$$X$$Q$f.zI$C($$f.$lD$h e$ fDAVAUATUSHHH HHF H$IH$HF(H$HF0HH$躗H{HP0HH{HFH{ HXID$HH$ID$H$ID$H$ZH{HP0HH{HH[]A\A]A^fDLkIELLpP0LHpA$$$D$D$@D$$\D$D$ D$\D$D$(D$ YD$ D$0D$(YD$(D$8D$0XD$8D$@QD$@f.=D$HC(D$PD$Pf.D$HLcI$LLhP0LHpA$D$X$D$`D$h@D$pD$X\D$hD$xD$`\D$p$D$xYD$x$$Y$$$X$$Q$f.zT$C($$f.$H[]A\A]A^D$@$~fff.AVAUATAUSHHD$D$ D$(D$0D$\D$(D$HD$ \D$0D$PD$HYD$HD$XD$PYD$PD$`D$XXD$`D$hQD$hf.D$pC0 nD$8D$8YL$@L$@f.L$pHC@@=MHHHHEH{ H;HH$HH$HH$HH$胓H{HP0Hu$H{HHĠ[]A\A]A^LcI$LLhP0LHpA$$($$0$8@$@$(\$8$H$0\$@$P$HY$H$X$PY$P$`$XX$`$hQ$hf.$pC($x$xf.$pH{ HHH$HH$HH$HH$֑H{HP0HOLcI$LLhP0LHpA$D$x$$$@$D$x\$$$\$$$Y$$$Y$$$X$$Q$f.z$C($$f.$1=H{ HHH$HH$HH$HH$VH{HP0Hu'H{HC0D$8D$83LkIELLpP0LHpA$$$$$@$$\$$$\$$$Y$$$Y$$$X$$Q$f.$C($ $ f.$C0D$8D$8fDHHxHH[fDHHxH:D$hT$ T$ H8[]ÃuH8H@[]ڐH8H@[]f.@SH聊HHSHPHSH@HC HC(HC[UHSHH HP@HHHHPhHH)H5)1HHtfHHPhH葲HHE xdu;H@hHE HxHHPhHHHR0EH[]H H56H={}H H5H=Yy^H H5H= ?H xH5H= H YH5H=H :H5H=fATUHSH HG HxH7HPhHHLceE7HHP0I9MHHߍqHcPUIHHߍrHcPH}LHHJAD$$ED$D$f.$vKL$f.D$v tFfD$f.D$v#CD$D$f.D$v tDH []A\mH []A\H H5eH=.謐H H5FH=荐H fH5'H=>nH GH5H=COfffff.AVIAUATUHSH0H~HHPhHI HL1P0HIuofDI$HLPD$ED$D$f.D$v+I$Lu Hމ]LPHHUHPHUH@HEHI9t\ED$D$f.D${ED$ D$ f.D$ fED$(D$(f.D$(It@H0[]A\A]A^H |H5H=H ]H5H=~@ATUHcSH H&H~HHPhHHxHDeHP0A9|H []A\fHHHMcP@HLH$P@D$$f.D${SHHHP@HLHD$P@1D$D$f.D$H []A\uRH H5~H=^ōH H5_H=t覍H H5@H=0臍fDAUAATIUHSH8xH[]A\A]DAULHy6HLHHUHPHUH@HEH[]A\A]ÐfDAVIAUATIUSH@HHnH)HHeH0H:1E1@HH9t+IH4H~dtLHI!H9uI|$ HQM A$tGLOIt$ A$LIt$( uID$ H@hID$(H@[]A\A]A^fHPAD$D$ D$(D$ f.D$(zEuCAD$D$0@D$8D$0f.D$8zuA$XL藨SfH IH5JH=;_葋H *H5+H=.CrH t>H H5H=TVLH H5 H=W-(Hl$HT$H5HH臹HHlHD$Ht$HxɉHb)H53)HHHHHHD$Ht$Hx芉AWAVIAUATIUS1HHzHT$HL$HPhIHLP0HT$0HHHT$ D$hD$xAD$HD$Hf.D$xwSA@D$PAED$XD$Pf.D$Xzt+ANL$`f.D$`wD$`f.D$XDH9IHLHPIIHLPAEIMD$8@D$@D$8f.D$@w ME1IAD$hAED$pD$pf.D$hD$xHĈ[]A\A]A^A_fDLLLL\$(LD$ 7L\$(HD$LD$ MI@T$ ID$I@ID$I@ID$ IEID$(IEID$0IEID$8H w)T$ HHIL$HD$0HHIL$HHIL$ HHIL$(HH IL$0HH(IL$8P8HH0HL$HQH;Qt-Ht$HHAHT$HHBY51Ht$H|$蛣6fDAWIAVAUIATIUHS1HHLrI)IMu4HL9t$IH؀zdtHLLHL9uH[]A\A]A^A_fff.AWIAVIAUIATUS1H8HHLbI)IMu@IHH,HAF$@D$D$f.$wk@D$$f.D$wSAD$D$ D$ f.D$w0@D$(D$f.D$(wHU0LLLDHL9SH8[]A\A]A^A_fff.AVAUATUSH`HT$@HD$@HD$HHD$PoLl$@Lt$HM9MeuHHHՀu_E$CD$D$f.$vGM@IM9I,$I]H^HtHHvty@$f.D$wED$ CD$(D$(f.D$ wD$ f.D$(wE D$C D$D$f.D$RD$f.D$GE(D$0C(D$8D$8f.D$0D$01f.D$8fH\$@Hl$HIEH9D`8tUfH;HtH)HHEHH9uH|$@DHt*H`[]A\A]A^L1HDH 5 H5 H= ]H  H5 H=b>H|$@HHt輂H@AUATAUSHHHWH+HHLHt$LHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHH;IHtH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.ATUSHHH H-s)HD$HD$HD$HEH$HH8HD$HHD$HCHD$HCH H[]A\IH\$HEHl$H$H9t$H;HtHHH9uH|$HHtLCfAUATUSHHHL&IID$HhH)HpH9tk}*HtUH=F)H9tIHt=Hf)HpH9t-Het!HJ)HpH9tHIu@DHAT$(0IL1HHHvHt$I}Hl$UH[]A\A]H;-)tHՆ)H;htHȅ)H;htH[]A\A]HHH@AUATUSHHHL&IID$HhH|)HpH9tk}*HitUH=)H9tIHt=H6)HpH9t-H5t!H)HpH9tHu@DHAT$(0I{L1HHHtHt$I}Hl$%H[]A\A]赧H;-v)tH)H;htH)H;htH[]A\A]HH~H@ATH_)IUHSHoH_HH9tFfDH;Ht[~HHH9uI|$Ht<~H)[]HI$A\HATH)IUHSHoH_HH9tMfDH;Ht}HHH9uI|$Ht}Hu)L[]HI$A\}Hf.fAWAVAUAATUHSHHGH+HHLHt$H}LEILxHt$HL)HHLtHI9LLHt HHHHHH9uLuH]IL)HI9M|t%@H;Ht|HHL9uLuMtL|LeML}LeH[]A\A]A^A_@HH9vIMHH9wIIf.HGH;GtHHtHHHGff.UHSHHHH@H@H)HH\$HHH$HE8HH[]Ð@AUATUHSHHL&IID$HXH)HpH9tK;*Hzt6H=')H9t*HtHG)HpH9tHFu1fHAT$(I}HD$HWH;Wt-Ht HHGHHGH[]A\A]fD1@Ht$^~ףH;)tHǀ)H;XtH[]A\A]fDHy)HHÐHi)HHzf.XH7HWHGHG HG(G0G8Ðfffff.@XH7HWHGHG HG(G0G8Ðfffff.D$H7HW WHG D$HG(O0G8GfDUSHHHHHuDHH HE HtyHCHCH}(HE(HtGH[]yHFHFH HE HtbyHHH}(HE(HuH[]@H~tH H5H=zf.AVIAUATIUHSH>HTI~LHI貍<t^IF0HEHEH;HHtx0 LLHHH{HkHt[]A\A]A^xD[]A\A]A^HHlxH@AWIAVIAUIATUSH(HFH.H9HD$tXMfIL9uZf.HI9tGHLHLAG0D$AGD$D$f.D$rH([]A\A]A^A_ÐHH9l$ufAWAVIAUIATUSHHFH6HT$ H9HD$(Ht$HD$L HD$ HPHH9HT$u9AED$XD$Xf.D$PHH9\$H+HEHP(II$LP(D$0@D$8AD$@AGD$HD$0\D$@D$`D$8\D$HD$hD$`YD$`D$pD$hYD$hD$xD$pXD$x$Q$f.$AE0D$PD$Pf.$I$$LAE0P(0HD$HL$1LHIlI>M>HtvHEHP(0HD$]HL$1HHIkI~M~HtuAE0D$PUDHD$HD$H9D$(f.HĘ[]A\A]A^A_$HL`uHfDAWIAVAUIHATUSHXHHt$@HT$HHL$0HILHH4D$xAE0$D$xf.$vHX[]A\A]A^A_@H|$@jH|$HHjHHHP0IHEHP0HIHD$HD$(Ld$htH$H$HD$8HL$PH$H$HD$`HL$XHD$E1HHD$ .@AE$$f.$+ML;d$(+HEM|$HLPHD$HELHPHD$HHHt$ PIHHt$HPHL$HT$LH^$AE0$$f.$>H$Ht$ HAE0PIHHHt$PHH~{)LHH$HHHH$HT$H$H@H$IH$IFH$IFH$HEPIHELHPHT$Ht$XH|$8H$HH$HPH$ H@HT$PH$(IH$0IFH$8IFH$@.0HL$8HT$HHt$@I*hHD$0H8L0Ht%r0HL$`Ht$HLHIgHD$0HxLpHtqAE0$HL$hHD$ H9HD$lHLqHfffff.AWIAVAUATIUSH(HFL.H$I9HD$tWH$ImHXL0I9u QIL9tGILHLfAG0D$AGD$D$f.D$rH([]A\A]A^A_ÐIL9l$ufAWIAVIAUIHATUSHHHt$ HT$(HILHHD$HAE0D$PD$Hf.D$PvH[]A\A]A^A_@H|$ 1eH|$(HHP(HD$HHP0HHD$HD$pHD$0H$HD$8#fDAED$hD$hf.D$`sLH;l$rHLeHLPIHHHPH|$LHYD$XAE0D$`D$`f.D$XvHD$XLHAE0PHD$HHHPH w)HT$Lt$0Ht$H|$8 JHH$HH$HHH$H@H$HHD$pH$HBHD$xH$HBL$H$h0NHt$ LHHHD$IdI?M7Htn0HL$Ht$(1HHdIIoHtnAE0D$`OH|$HbnHHHOnHfDAWIAVAUATIUSH(HFL.H$I9HD$tWH$ImHXL0I9u QIL9tGILHLgAG0D$AGD$D$f.D$rH([]A\A]A^A_ÐIL9l$ufAVAUATUSHHH?Ld$@HD$0HD$8HD$@HD$HHl$0LHD$PHD$`HD$hHD$pkLl$`H{Hl$0LjHl$0LLHHU1HH與C0$CD$D$f.$rVH|$`HtlH|$@HtlH|$8HtlH|$0HD$8HtlH[]A\A]A^ÐL$H{HDŽ$HDŽ$HDŽ$LH|$0HD$0Ht0lH|$8HD$8HtlHLLH71HH芆C0D$CD$D$f.D$rH$HkL$H;HDŽ$HDŽ$HDŽ$LAH|$0HD$0HtikH|$8HD$8HtQkHLLHpHHC0D$ CD$(D$(f.D$ sNH|$0HD$0HtjH|$8HD$8HtjHLLH[1HHNH$HjH$HHtjH$Ht|jH|$`HtmjH|$@Ht^jHfHHH@AUATUHSHHLd$0HD$0HD$8HD$@LqHD$0H9D$8HD$ HD$(~H\$pHuH聫Ll$ LHHLmE0$ED$D$f.$HT$ HHD$(HSH} HD$ HU Ht ^iHD$(H}(HD$(HE(Ht>iHl$xH\$pH9*H;HtiHHH9uH|$pHthH|$(HthH|$ HD$(HthH|$0HD$ HthHĘ[]A\A]Ld$xH\$pI9DH;HthHHI9uH|$pHtdhLd$PH}HD$PHD$XHD$`LoH|$PH9|$X"H\$pHuHǩLl$ LHHLlE0D$ED$D$f.D$HD$ H8HT$(HH} HD$(HU Ht gHD$ H}(HD$ HE(HtgHl$xH\$pH9tzH;HtcgHHH9uH|$pHtDgH|$P4f.Hl$xH\$pH9t(H;HtgHHH9uHHL}HHH-H|$PHtfLH|$0HtfHH H5iH=hH H5MH=kgH H5.H=LgHLl$ nHHLl$ kHH~HXH H5H= wgfDSHH8t H[@sC0$CD$D$f.$sHC8H[Ðfffff.USHH(H?Ht_H{tXHRptHD$D$H([]H{HPpuHuC0D$D$H([]fH\$HT$H5HHHH蟮HD$Ht$HxHHHCKt=HCHC C(HEI|$ lHI|$(HHPHSH@HCH]lH(HSHPHS H@HC(1HHH訁I]HL[]A\A]fDI|$(uIEHL[]A\A]H KH5H=3cHHaHH}HHtaHaHHHaHfff.USHHHHH,HHH|$(HtBaH|$ HD$(Ht*aHHH[]H} H$zH\f.fUHSH_HHt#fDHH;Ht`H9HuH[]@ATIUSHoHH9tBDH;Ht`HHH9uI<$Ht[]A\y`f[]A\HfDHGH+GÐfDHGH+GHUSHH HX;Ht$0HD$0m;HD$@T$8\$H蛈HkH;krm@f.D$D$vC f.D$vC(C0D$ D$ f.$$vC0K8L$(f.D$(vC8HH9kvtH;HHPpH;$HHPhD$C D$C(D$D$f.D$QD$HH9kC C($C0C8wHX[]ÐfWHI:HOLGHwO G(O0G8rfff.fWH7 :HWHOHGO G(O0G8rHG Ðf.HHwHHHRfff.AWIAVAUIATIUHSHHtf)9H$HH$H$HD$HD$H$IH$I@H$I@H$IH$IAH$IAH$#IT$It$Ld$ HHl$PLtSIwLHHbSHHSH9HCHt5HL$ HHL$(HHHL$0HHHL$8HHHL$@HH HL$HHH(H0HCH9toHt5HT$PHHT$XHPHT$`HPHT$hHPHT$pHP HT$xHP(H0HCH[]A\A]A^A_LHUHCHSHH=Ɛf.AWIAVAUIATUSH8HZ`:H|$HL$\$ I?HHkHPI?IHHPLHLIfWD$(f.L$(D$ f.D$(v?HD$HtH|$H$MMHLL蝟fWf.T$(s,D$(D$ HIGHH9YD$ D$(D$(H8[]A\A]A^A_xAWHMAVIAUMATIUSHH8H5c)H$PL$XH$`H$HxHH@H$H$H$H$HH$HH$HAH$HAH$HH$HBH$HBH$H$IH$IBH$IBH$YIvLt$0LHLd$`L]PIwHL$LLIPHHSH9HCHt5HL$0HHL$8HHHL$@HHHL$HHHHL$PHH HL$XHH(H0HCH9tvHt;HT$`HHT$hHPHT$pHPHT$xHPH$HP H$HP(H0HCH[]A\A]A^A_@LH5HCHSLHŐf.AWIAVAUATUSHXHGC7H|$0HT$(T$@HD$ HD$0H@HD$HH9D$ H\$0Lt$ H;LHPH;ILHHHD$8HPMwHD$fI?LI^HPI?HHHPHt$HHLIkjD$HD$@f.D$HrMHD$(Ht+HL$Ht$ MH|$0HD$MLd$H,$L"fWf.L$Hs>D$HD$@IIGHI9VHD$8HD$ D$@D$HD$HHX[]A\A]A^A_ÐfATUHSHHP]cHARcu.E-1HHؤ$$HP[]A\DEu;H}HuHPHH1H蝷$$HP[]A\f.H;HsHPH}HHuHPD$CD$D$@D$ D$\D$D$(D$\D$ D$0D$(YD$(D$8D$0YD$0D$@D$8XD$@D$HQD$Hf.D$HfDH;HsHPHH1H蛶$$HP[]A\AVAUATIUHSHHHĀaHAaHHCHCu]Eu(HHL*HH[]A\A]A^f.I<$It$HPHHHLHH[]A\A]A^EH}HuHPHLHL踵HHx0H0@HHPH8Hx8D$@ Hp0HH8HxHx@D$@(P@HxHxHD$D$HxHxP@HD$Hx HxX@PD$Hx(@XHH[]A\A]A^fDI<$It$HPH}IHuHPIT$It$H|$ LIJHUHuH|$PLJHH[]A\A]A^H;HHtTHAUHATU0SHHHGH+HHH HHt$追LCH;ILh0LH)HLt3Ht$HHHVHPHVHPHVHPHV HP HV(HP(I9t~HL@Ht.H1H2HqHrHqHrHqHrHq Hr Hq(Hr(H0H0I9uHG0I)H ILHI!KD@HMl0HtrSLL#LkHkH[]A\A]fHH9v HHUUUUUUUH9wH,Hf.DH[)HHÐH[)HHRfff.UHSH=HHH@H@HL=)H\$HHH$HEHHH[]HHo[)HHH$EH跼fDAVAUATUSH@軻HI軉HcKHH;XIt0H+I$HLhp SHHLAHI;^uI$LPPI>HtQLQ[]LA\A]A^LHMt I$LPHHHHLQHfAWAVIAUATUHS1H8HH|$HP0HD$LhHD$(HD$L HEHHL9HEwhL{@M9LC|$葺Ht$HLHIM(HEH;ELd$(t Hu1Ht$HHoxL9vf.H8[]A\A]A^A_HLPHfffff.ATHUSHtlH-U)HZ)1IHHօHt!HEHIT$H[]A\EHDH1T)1HH蜅HtH_D[]A\AUATAUSHHHWH+HHLHt$\LHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHH;IHtOH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.fWH7 q*HWGO(G GHHGHAHG HAHG(ffWH7 1*GHGO(G GHHGHBHG HBHG(fffff.Hfff.HGÐf.HGÐf.GÐf.AVAUIATUSHH`H|$@Hl$Lt$ Z\IuHHPHMEH5JV)H r H1H%1HyHH-X)Lt$ H5LHT$ HUH;HLd$0HLHT$0HUH踻HD$0HxH9umHD$ HxH9HD$HxH9H5H:IuLLH[HD$0HxH9u@H`H[]A\A]A^H=5V)HWrHt$"jcH=V)HWLiH=U)HW?Li2H=U)HWLiHHD$0Ht$HxLHD$ LHxLHD$LHxLH;LHsLHkHHD$0LHxWLӋPJHPJHPJH(HLt$ Ld$0HHLd$0`PJH%@UIHHAVAUATISHLPLXt&)`)p)U)])e)m)u)}LFHEHHIH H0L)Dž Dž0H\$H(HHALcIL9taI)H1LWIIHHt0HLHRHL;5T)u3I $HeL[A\A]A^]fAFHT)HHAFM.CD.HHHrHxD$D$HÐf.HHHrHx較D$D$HÐf.UH(HHSHH$H}HHHXHHgH5P)HD$Ht HHPHD$H[]HHt HHPHH޳fffff.ATH(IUSHHH0H$/I<$HHH]XH|$HHCHCHywHD$H;HD$HHD$HHD$HCHD$ HD$ HCtHH|$HtHH5O)HHt HEHPHH0H[]A\HHt HEHPHHH;IHtHLԐfffff.SH5N)HH?荶H;HtHPHH[fDUHSH~HHH$HtHD$bD$H[]HHJHBfUSHH(H迃H<$HHCHCRHSH;StuHtHH HHHJH@HBHHSH$Hx0QHSH;StKHtHH HHHJH@HBHHSH<$HtJGH(H[]HHWHHWH;HHtGH<$HtGHMfff.ATIUSHHH|LHHH$HubH HH[]A\HHHf.@HN)HHÐHxFHN)HH]Ff.USHHD$T$D$T$f.D$L$$L$W$OWsf. $sHH[]ÿHl$0ԐHT$.H50HHuHHbHD$0Ht$/HxEHXN)H5AI)HIHHH֯HHD$0Ht$/HxEfffff.ATIUSHHĀHv H|$Hl$`HPH|$C 1HHH@HD$ L$pD$(D$(D$`D$ D$hH|$C4 HHH@HD$0T$pD$8D$8D$`D$0D$hH|$CHHH@HD$@\$pCD$HD$HD$`D$@D$hH|$C%HHH@HD$Pd$pCD$XD$XD$`D$PD$hH\$1HHHhHPHHHt$LHD$*DH|$HtHHD$RHD$H[]A\H|$HHtHPH̭fff.SHgH1H[IVfHD$L$D$D$L$f.L$f.L$D$f.D$D$BD$L$f.L$D$f.D$wf.D$[\D$T$8T$\T$8D$XT$@f(\T$T$HT$@YT$HT$PD$P^D$XD$`D$8XD$`D$hD$hHĨBD$D$f.D$D$f.D$zuL$D$f.D$z\D$T$ $L$\ $D$ L$f(\L$L$L$YL$L$D$^D$ D$($XD$(D$0D$0]DBD$D$f.D$D$f.D$zuL$D$f.D$\D$T$L$pL$\L$p$L$xf(\L$$L$xY$$$^$$D$pX$$$HĨDD$T$f.D$oD$D$D$f.D$\D$T$T$\T$D$T$f(\T$T$T$YT$T$D$^D$D$D$XD$D$D$s_&@ATUSHH@HHHIXHD$ ,D$ED$ D$f.D$ vQED$(D$(f.D$v8ED$0D$f.D$0vED$8D$8f.D$wfDH@[]A\HHHH<$H$Ht4H5uC)H^B)1sHLdgH<$HtHP1H<$HHtHPH肨fAWAVAUATUHSHHtzHIIIHPpudHEHPXHItR18fDH5B)HA)1H0sHLLLH+OL9tHEHHP`Hu1H[]A\A]A^A_ÐHFH7HWHGH@ HGAWAVAUIATUHS1HXHH|$ HT$(HP8HHD$uHX[]A\A]A^A_HHDŽ$HDŽ$HDŽ$ Z2HH$HR8H$0H$HD$XAEHD$`HT$HT$p1$D$6HHT$8HT$hHT$@HT$`HT$HHTmL$$BL $$f.$$D$hL$pvdAU$$f.$vAAU$f.$v'AU$$f.$X$f.$HH9l$HTmHHD$xf.T$xfHDHH9l$HH@D$xf.T$xwB$D$x$f.$D$hL$pvbA]$$f.\$xvBA]$f.$v(A]$$f.$wf.T$xHDmHt$HLHH|$X$$T$XP$$T$`j#D$`0$D$X$AE$$`f.$`vmAE$h$hf.$vJAE$p$f.$pv'AE$x$xf.$k$`f.$h!$D$6H$HA]$$f.$ Hf.$jf.$AE$$f.$=AE$f.$jH9l$1Hs8iA]$f.$-Hf.$H9l$vJD'D$xD$xf.$wMH$$JD'D$x@$D$x$JD'0HH9l$2HH@D$xD$xf.$wJ$$sH9l$JD'@$f.$$D$xD$x(H9l$JD'@$$f.$[ D$xD$xAU$f.$IAU$$f.$"A]$f.$f.$#f.$z 1fDJD'0HH9l$HH@$f.$w$D$xD$xAED$6$AU$f.$zAU$$f.$SAU$$f.$,f.$`Zf.$z O1HDD$IIIfDHH9l$H$B $BD $$ AE$ $L$hf.$T$pvjAE$$f.$vGAE$f.$v-AE$$f.$ fD$f.$KHt$8H|$@HL@$($($0$0dD$p$8D$h$@AE$@$f.$AU$$f.$@xAU$$8f.$v-A]$$f.$8fD$f.$@H$J Z$Hf.$H$Pf.$HEʄu!f.$PD$7f.$PDфt #\$D$7M9|$6|$7H$D$6fDM,M9r |$6|$6IHH@H@D$`H$0= H$D$X$@$$$0$$8&It$H$KvHLm$LHH ELt$ H$01LIvHPH$0I~HDŽ$0进H|$(HH$0Ht HPH$AE$f.$AE$$f.$ AE$f.$f.$ztf.$zPuIf.$zKuI MD$!؃~M9wH|$6uAIfDII\$(1f.${f.$zufƙ|$6IHH@H@D$`Ht$%~ H$xD$X$@$$$0$x$8q$IwH$Kv$LHLCLt$ 1LH|$IvHPH$0I~HDŽ$0訙H|$(HH$0HtHPID$61t$8f薘|$6HHH@H@iD$`Ht$-N H$XD$X$@$`$`$0$X$8A#HsH$Kv$HHLB|$7t`D$pHt$5 H$hD$h$@$p$p$0$h$8"Lt$ 1HH|$IvHPH$0I~HDŽ$0H|$(HdH$0HtHPH$AEHfD1A]$f.$"A]$$f.$8A]$f.$f.$f.$1f.$f.$1JD'0HH9l$HH@$$f.$wD$xD$xEA]$f.$.f.$ztf.$"f.$ D$$Ht$8H|$@D$XL$$$f\D$`$D$X$AE$$f.$vuAE$$f.$vRAE$$f.$v8AU$$f.$v+D$$f.$T$p$T$h$$f.$vmA]$0$0f.$vJA]$8$f.$8v'A]$@$@f.$ $f.$ f.$f.$Eʄu f.$f.$Dф!؃KHH@0H@H'HP0HHHCHSt"=HHH@xt=H@H@ x(D$`1HS=$Lt$ HD$XH|$$Iv$$x@D$p=Y$D$h$$@$x(@ HPH$0I~HDŽ$0͒H|$(H H$0HtHPAE$@f.$QK )1"$`1$$AU$f.$AU$ $ f.$AU$(f.$(f.$ztf.$zt1f.$ $ af.$ICD$A]$Hf.$HA]$P$Pf.$A]$X$f.$Xf.$ztf.$Hzt1f.$P(" Ef.${v$f.$f.${Bf.$zЃf.$@D$u f=Ѓ f.$WHH%HH$HtHD$%HD$HH$0HHtHPHf.f.$Xf.$(<6.AWAVAUATIUSHxHHT$HIIHPpHl$0IULHEHl$0Hl$8HT$`HD$@HD$HHE HD$PHD$X.1LHHL wtqI$H|$ LH|$ HD$ H>H5e))HF*)1YHH|$RzH|$ HtHPHj$Hx[]A\A]A^A_H萐L`FHtLSFHHD$t1YDHLT0HD$FHt$HIWI}1L6H|$HyHH;\$ZHLqTLHHLuuHuHHt$H[fHHt$H[+1HHT#HlLH#H|$ HHtHPf.AWAVAUATIHUSHHHt$HT$0HIPpH$IT$H|$IHD$ H$H$H$H$0H$H$LH H$ H$(.LLHLHtHt$H$@HH$@HDŽ$@H[H5&)H')1OWHH|$0wH$@HtHPH|$ !HĈ[]A\A]A^A_H|$ AFH|$ D$@A$PD$HAFD$PD$P\D$HD$XD$XYD$`D$HXD$`D$hD$h$@AFD$pD$p\D$@D$xD$@YL$x$X$$$$H>-HH$@HHkH|$ H|$BHHD$yH$@1HC L{HD$H$HD$8S0趉LHHD$(I#TI|$1L3H|$ HvHH; H;l$HL$ID$HH|$H$@H$HL$PL$XH$`H$hH$pPLHHLI rEHu9LH+uHHHt$ HW<AFH|$H$$A$AF$$\$$PY$$$X$$$$AF$$\$$Y$$$X$$$$OHH|$8H>[H>:fH|$ LYH\$ Ht$0H1VH @H(H *H|$ .1HH|$ H݇H$@HHtHPH|$(HhHHHfDEu ƍfD;'f.AWAVAUATUHSHHHIIIDHPpumHEHPXHIt[1ۉD$ 7H5!)H")1H(RHDD$ LLLHuL9tHEHHP`Hu1H[]A\A]A^A_ÐAUATUSHHHtHIHIHPptH[]A\A]DLHHLntHHHH<$H$Ht7H5!)H &)1bQHHuH<$HtHPfD1H<$HHtHPHfAWAVAUATUHSHHtzHIIIHPpudHEHPXHItR18fDH5i )Hj%)1HPHLLLHYL9tHEHHP`Hu1H[]A\A]A^A_ÐAWAVAUATUSHH(HH-)IH)IIH1EH?PHt*LLHL9,H([]A\A]A^A_f.H$)1HHOHt'LLLHVYH([]A\A]A^A_Hi$)1HHOHtLLHLXxH! )1HHOHtLLHL9HH)1HH\OHtELLHLrH )1HH)OHtELLHL_wH)1HHNHHtELLLOHl$XdHT$H5ܧHHAIHH0HD$Ht$HxH<)H5m)HpHHgHZHHD$Ht$HxDfAWAVIAUATUSHHteHHIIEHPpuLILPXHHD$t9E1IHLHP`ELLHH6H;\$uH[]A\A]A^A_fDUHHE1SHHHVHNHD$H6HH$$Hd$HD$HD$HD$ HT$0HHD$ HD$(6HH9H,HHH[]HHH/fffff.USHH(HbHHPH(H[]f.UHHASHHHVHNHD$H6HH$$Hd$HD$HD$HD$ HT$0HHD$ HD$(5HH8HiHHH[]HHTHlfff.USHH(H/bHH$kH(H[]f.AUHATAUSHHHGH+HHHLHt$LCH;HLhLH)HHtHt$HHHVHPHVHPL9tAHHHtH2H1HrHqHrHqHHL9uHGH)HLl0HtH+LLkHkH[]A\A]DHH9v I8H H9wL$IHGH;Gt&HtHHHVHPHVHPHHGff.H9'AUII)ATIIMUMSHH(HGHMH)HII9HH)HLM9J,HHH)H9It(HtMLMXLYMXLYIHL9uHIHH)HkHIH~(@HLHHLLGL@LGL@u1M~+DH H HLHLHLHLHIuH([]A\A]fDHIL*L9Mt-DMtI9I8IyIxIyIxIIL9uM)H9IK RL LKLt.fDHtI8H9IxHyIxHyIHL9uLHLH)HkHH1HLnLHHCLpLIHEHP0II$LP0HuH8[]A\A]A^A_fMtI$HpLRIHE1HPD$AD$D$f.D$zu@D$ AGD$(D$ f.D$(xrHL"H<$1H,DMt IELPMt ILPH4$H{0H$yHkIHHCHkHH/H[xHHtHH@L`H[H<$HHPH<$HHtHPHyfff.ATUHSH?H9u HHH9uH}LeHmHmL9uHHuL9uH} LeLeLe L9ufHHEL9uLe Le([]A\Ðf1H9?t HWH9WuHG H9G f.UHSHHZwHtHH@HhHHH[]ZUHSH_HwHtHH@HhHHH[]@ZUHSH_ HvHtHH@HhHHH[]ZAUATIUHSHHH9tHsHcHI9uI\$Ml$L9tDHsH|fHI9uI\$ Ml$ L9tDHsH5HI9uHL[]A\A]ZSf.USH8D$L$$D$T$f.$$v#O$$f.L$$f.L$\$f.$v#G$$f.D$$Af.D$Q #$$H5HD$@DD$f.$zu f.d$OL$HL$f.L$Hzu f.\$WT$Pf.D$Pz u f. $WT$Xf.L$Xzuf.D$fDP,4HcHD$\$$D$@X$D$@$D$ f.1ҹ t`G$$f(\D$L$$D$@X$D$@fD1ҹut{G$$f(\D$L$$D$@X$D$@A8@ƒ"fDG$D$\$$D$@X$D$@$D$\\$ \d$\$`d$pD$`fTD$hD$pfTD$xD$hXD$x$D$@X$$$H8[]G$$$f.$G$$f.$A@O$L$f.$&O$$f.L$O$f.$O$$f.L$O$L$f.$f.$ztf.$f.$ bG$f.$G$ $ f.$pG$$$(f.$(Nf.$zAtf.$zAtE1f.$ zuA D15f.$(zuADf.$~Hl$0QHT$.H5PHHm6HHPHD$0Ht$/HxH)H5 )H]HHD$0Ht$/HxHTHspHfffff.UHHSH8HHFH)HH\LH1HR@HD$\$D$CT$D$L$D$ D$ GND$(D$(H8[]@H8HHFBH)HD$HD\$D$@T$D$L$D$ D$ MD$(D$(H8ÐH9HH vHHHtvH8H;HKH)HHLlHtHHX,H;IHtH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.SEHS%H(HH[ÐfUSHH HP(HBH+BHHH` Hx(3HHH(1HH9ty< Hx(3HHHhd1H9H Hx(3HH8HtNHx(H5(1!Ht4H[]fDH1[] Hx(Z3HH@H j~H5}H=~<H K~H5}H=}9Hi(HHÐG f.@w f.Gf.@wf.H(HHÐH (HHÐH(HHf.H(HH}f.H(HH]f.H (GG HGHGHG HHw(HÐfff.HG(f.H(SHHHHHtH)(HH[H(SHHHHHtH(HHH[fH(SHHHHHtpH(HH[HQ(SHHHHHt@H(HHH[)fAUATLg8UHSHLHt HHD$tH[]A\A]0NSI@@ H((HIEHEIEHEIEHEIE SH(H@H@H@@ HHIE(HCxH;Ll$t8Ht,L(HCxHt$HHCxLHD$H[]A\A]L1Ht$H{pLHt$HH[(LHIEHCSfAWAVAUATUHHSHH8HPptH8[]A\A]A^A_HH|$HH|$HP0HIH|$H1PH|$IIt$HPLHIELHIEH|$IƾHPpHD$QHL$ALLHIHLl$HD$HH;lH#L(HHHH|$It$HPpI)QE1LLLHIrHH;Ld$ HL HHH0PHHIHH;Ld$(HtuL HH|$(HHHT$ Ht$\SHt$(HoH|$H"HPH8[]A\A]A^A_@HufD1L1f13fH|$Ht$ M!@H|$Ht$M@Ht$(HH|$(:LHJH|$HtHPHPLH%Hfffff.U11SHHHD(HwxHOpHHHH)HHt1fDHHHtvH8H;HKH)HHLlHtHHh!H;IHtH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.AUATAUSHHHWH+HHLHt$KLHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHh H;IHtH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.AUATAUSHHHWH+HHLHt$JLHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHhH;IHtH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.ATHIUSHu 'HHsL"HkH=Hu[]A\H)(HwHHHG"@Hy(SHHwPH@HHGH(HHG"H{ HtH{Ht [@[f.@H(SHHwHHHG0"H[H(SHHwPH@HHGH^(HHG!H{ HtCH{Ht5H[,f.fUSHH8HH|(HGHGHGHGHGHHGHG#H(HCpHCxHǃHǃHǃHHǃHǃHHǃHǃHǃHǃHǃHǃHǃH[]H{ HHtH{HtHOHfffff.AUIATUSHHLI)HIMt51@H,HtH}HtHIHL9uHtHL[]A\A]'@Ht1HFH0AUIHATUHS1HHPXHItHDHEHHP`Ht(H(H5(1H^Ht HLHL9uH[]A\A]f.ATIUSHnHH9tDH3LH3H9u[]A\Ðfffff.ATIUSH(EHHHL DHt1HHHHHǾR(HDI9Hu[H]A\HHH_Ffffff.AWAVAUATIUSH(H~("IHMnI)IMHHHD$1L=(H$I$HD$$HL9IHHH5(1LHHHHHR uHL5I$I;$HD$tGHt:HI$HHL9I$sH([]A\A]A^A_1@H4$H|$5H oH5nH=nfffff.AUIH8ATUSH(HH$HD$HD$M5H$Ld$I)IMtn1@H$HHHP u/HS(HBH+BHHu@HLjHHP(HL9uH<$HtH([]A\A]HH nH5mH=m6H<$HHtHCfff.f.AUIH8ATUSH(HH$HD$HD$=4H<$Ld$I)IMtI1fDH,HU(HBH+BHHtHLkHEHP(H<$HL9uHtH([]A\A]H<$HHtH!Cf.AUATUSHHHtH[]A\A]fDHoXLgHI9tH}81HP(H4I9HuLcHkI9tH}H1HP(I9uHL1I)IMt7L$MtI|$HtLHHL9uHH1HyHH+1AIHH@H@HHuH@H@HfHH9L,L@HI$ID$J(1ID$fDHHH9uID$1ID$LLHIL HH<(H/I9I$u8HLHA3SHHHǃ[H(HHÐHy(HH}f.AUATAUSHHHWH+HHLHt$?LHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHhH;IHtH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.UHn`SHHFpH9t=1HP8HHJ(HQH+QHHrH9uՃH[]øAUATUSHLnL&M9tCf.I,$Ht'H}H9u @HHH9uHIM9uH[]A\A]fff.SHHtH*([ÐHFHfSHHH HH|$P0H|$pHt$H{HD$i>H|$HtHHD$RHD$H [H|$HHtHPHN>fffff.ATII`U1SHpL9tJH%HPH+PHH9sHHI9HtHO8HHA(uHXH+XHՐ[H]A\AVAUATUSHo(H,HHH9ItWE1E1 HI9t2H+HHHPuHILEHI9uMMD[]A\LA]A^E1fff.AVHAUATEUHSHH #IfDHPHHEIHHtvH8H;HKH)HHLlHtHHhH;IHtH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.AUATUHSH,Hù1HHH(HC(@HH,HS(HC HHL$w,I$LcH@I$LchHHS8HC@I$HS0HCpHǃHǃHHCXHCPHǃHǃHK`HǃHǃHǃHǃHCx+HSxHCpHHL$+I$LPI$LHHHI$E1HHHHHJ+H (HUHL!@@ 1HHP(@ H@ @ H@@ H@@0H@1@4H@8H@@@HHuA*HH@IH@HEHH@H)H~9@JfLHLIHEDHLLL$L)H}MLL$HDHhH HP0 PJHWHHD$@Ht$>Hx迱HD$HH8H諱LSHHH (I}XHH$HtI}HHD$HL$ HD$PH@HLPHHHD$@Ht$?Hx.קH|$IuPH\$?$HH&H=ù(HWt0Ht$@PJHPJHAVAAUAATIUDASHHHĀHD$0KD$0L$8AD$SL$8T$@AL$ T$@AT$(SEt$8El$L|$ HD$ HD$(HD$0HPXHI1L|$ Lt$HL9tWI<$HHP`HHHuHEHLLLH|$HtHHPL9ufI$H|$LHp Hl$(H\$ H9tE@H;HtHPHHH9uH|$ Ht HD$HH[]A\A]A^A_HL|$ H|$HHtHPL HHfHHHD$H0HHD$GHÐAWAVIAUATUSHXH|$H>Ll$0HD$0HD$8HD$@HPXHIHD$1Ll$0Ld$ H$/fDLLLH|$ HtHPHL9tOI>HHP`HHHHHuH<$H4$L3H|$HuHL9uIH|$LHp\Hl$8H\$0H9tFDH;HtHPHHH9uH|$0Ht[HD$HX[]A\A]A^A_HLl$0H|$HHtHPLpHh H|$ HHuH@HHHD$@D$ D$f.D$ wpD$ \D$D$wt@D$(@D$0D$(\D$0D$8D$8f.D$v6>YD$D$D$HHHD$DD$HD$8멐fff.SHH0SHD$Ht}Huc@D$fWf.D$ww#~^D$D$D$XD$ D$ ^A>D$(D$(f.D$vD$D$H0[H <;H5:H=:H :H5H=p7š@SHHH H$ D$D$f.$v$D$D$H[ÐAVAUATIUHSH@T L5(HHH@H@IHEHL$HIFD$HD$ HD$8LH$HD$HD$(HD$0I$(HELHXH+I$HP8H9r'Ht$ IFH|$H$H@H[]A\A]A^H Z:H5O9H=$9e肠Ht$ I}HIFH$9H(H}HHH$tHEH fff.AUATIUHSH(H|$D$ 0Ll$HHH(D$I$Lk(HC HHHʭHHPH\$HtH;Ht:H2H(H[]A\A]HHHHPH|$Ht(HNHHHHԐATIUSHLH@D$Hl$0Ht$H|$D$HH;HT$0HD$0HHtHRH|$0HtHPHHt$ HD$Ld$ H{HD$0HD$0HHCtHPH|$0HtHPH@[]A\AVAUAATIUHSH0HH|$D$x0Lt$YHH^H(D$I$Ls(HC HHH"EthLeMt_H}(H5(1LHtfWH|$ L&H}HD$ HD$ HHEtHPH|$ HtHPHHPH\$HtH;Ht%HH0H[]A\A]A^DH(H5(1LPH`H}IHtHPHELHHHPH|$HtHHHH蕛HHϐf.SHH D$Ht$Ht$D$ڿH H[ÐH(HHÐH(HH-f.ATUSHpHVHLd$0HHHD$0HD$8HD$@LHP8HL$0HT$8HE Ld$PD$`H)D$HHD$D$XHv+HDRD$HD$D$f.D${|1HU(Ht$PHD$a5HEH$1HHp HH$H@H,$HtH}HtHH|$0H$HtHpH[]A\ÐuAD$ @D$(D$ f.D$(1f.D$(DOH 5H53H=3= H$HHtH;Ht脙H|H$HH|$0HtbHHDUSHHH7HWHOHGHG HG(HH@H@HC0H[]H{HHtH/fffff.AWAVAUATUSHHH|$HHHh L`L9tafH](HHRhH)Hˡ(H5̡(1HHHHPhH舖HI9HuHD$HHHPIHMeI)IML0M1L=( fDHL9tIEL4MH5(1LLHLIn腽tHEHP0uILHPHHD$H8 HUHR L9u@H[]A\A]A^A_H :7H54H=X袘H 7H54H=4d胘fAUATIUHcSHHH?IHHPxI|$LH觫wDH[]A\A]H 5H5}4H=^f@AVIAUIATU1SHLfI)IMukHL9t_IEHHHPHtS Ht!{uK1|u9HH9w1HLHL9uf.[]A\A]A^HLsf.ATHAUHSHH觻t{fHCHD$t H[]A\H{DtH|$HP(uHEH;Et3HHT$t%HHEHHEH߾IH[]A\1Ht$Hoאfff.AWHAVAUATUSHHHHD$PHD$XHD$`P01HHD$HD$pHl$pLd$PuDyHD$XH;D$`HHt$ptH0Ht$pHHH9t$HD$XHt$pv7HHP@D$D$f.D${Ht$pHH9t$Ht$pwH|$XHD$PH9H0 oE1HD$pHD$x$HHH)HLLd$pHAJ,IM)IHHHPH$HLHPH $MAD$ @D$@D$ \D$@D$(I*D$0ID$(L9^D$0D$8v[DHLHPD$@HLHXD$8HT$pH@LHD$xHD$@D$@$PHIL9wH|$XHT$PHIH)HI9s;IHL袖Ht$pjLAHL H*X/LHD$HH9H|$PHt虒HĘ[]A\A]A^A_HHP@HD$P1Ld$pD$H8tMHHHPHD$LHHT$pH@H$HD$xHPHHD$PHL8I9wH|$XHHHPHH9l$@D$HHHtvH8H;HKH)HHLlHtHH(H;IHt藍H+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.AUATAUSHHHWH+HHLHt$lLHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHH(H;IHt藌H+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.USHHH9GD$(fWHfCD$0CD$8D$@FD$HD$0\D$@D$PD$8\D$HD$XD$PYD$PD$`D$XYD$XD$hD$`XD$hD$pQD$pf.zSD$xD$xf.D$(sf.L$x{#D$(HHH9>HĈH[]ÐuHĈH[]HD$pHL$L$Ht$AL$HL$Ht$뀐fffff.AWIAVAUATUSHH96H*LrIL9ufHI9.H]HA}MtMgILHL肵I9tHI;HPHSHPHSHP uA}tHIGHI9HPHSHPHSHP ufDH[]A\A]A^A_H +H56*H=7bfATUSHĀLbHGI9D$DHHgLfL$(NL$ \D$8D$PD$(\D$ D$XD$PYD$PD$`D$XYD$XD$hD$`XD$hD$pQD$pf.D$xD$f.D$xvD$xHD$HI9HHD$0D$8D$0Jf.D$8$L$@NL$HL$@f.L$Hzu HL[]A\ÐT$HL$(T$ LfDHH[]A\D$pHt$Ht$H #)H5(H=諉f.AWIAVIAUATUSHHHW(gcHD$hVcHD$pGHH9HD$`T$xHDŽ$HDŽ$$D$HHL$L$Ld$hNfD$pD$8ED$@D$8f.D$@A@LL9HCLHD$hHCD$hHD$pHS HT$xIPH$IPH$IP D$ EH$D$(D$ f.D$(I$D$0D$(f.D$0{LLLH>D$XD$Xf.D$rbHL9JfDHD$HĨ[]A\A]A^A_Ðu$D$HED$PD$Hf.D$PzufWf.L$X{!H\$HD$fLuH~HL$ofDAWAVAUATIUSHH96H|$HVHEH]H9HD$L;MH$H$HH$HL$H$H$HD$(HL$ f(I.Ht*HT$`HH@HPHT$hHPHT$pHP HHH9\$HL{MMIl$I$LH|$HLH9ItL(H"(LH<$HPH$IVH$IVH$IV H$IUH$IUH$IU H$jD$8D$8f.a@H$L9HT$`H$HT$hH$HT$pIH$IwH$IwH$IUH$IUH$IU !H2(ImLl$`LHPHD$H$H$HpH$H$H$H$H$HUH$HUH$HU H$HT$ H$HT$(LD$@HpD$HD$Hf.D$@(HfWf.D$8st(I.wHIHH@HPIWHPIWHP HD$xtIM,$IUIWIUIWIU DH$M;4$HT$`H$HT$hH$HT$pIH$IwH$IwH$IVH$IVH$IV HHq(InLt$`HT$ LHH$HEH$HEH$HE H$H$H$H$H$H$H$HD$Hp:H$HT$(LD$PHpD$XD$Xf.D$Pv#(HmH3(Ht*HT$`HH@HPHT$hHPHT$pHP LHH9\$fH[]A\A]A^A_fDHD$xqIMt$IVIWIVIWIV H !H5 H=ސ AWIAVIAUIATUSH(HHl$HL`Hl$Hl$I9tL(Ht&HHH@HPHSHPHSHP HHHI9uLHL1LHLSYHt$HHH@H@HIE$蚩H|$H9u fDHHH9uH(L[]A\A]A^A_H|$IH9t_HqH9tRHI]IHtH;HtNHFIELH|$H9tL')I9tLHLbHZf.HFpÐf.HUHSHHHh(HHHHfH~H[]HHH@ATIUSH_DHHP@HHRhHHt8H(H5(1H讳HtLHH[pI;\$u[]A\H W H5$ H=ќTfffff.AVAUATIUHSHH_Lt$ H[pH;]t^Hux2HUHHI0ID$I;D$Ll$t8Ht/L(ID$HID$H[pH;]uH[]A\A]A^1LLwHLL}H@UHSHHHH@H@HH舜HH[]fffff.AVAUATIUHSHH_Lt$ H[pH;]t^Hux"HUHHI ID$I;D$Ll$t8Ht/L(ID$HID$H[pH;]uH[]A\A]A^1LL輒wHL<|H@HHFxf.ATH(IUHSHH`HtHPI|$PID$`HtHPI|$8ID$PHt{Il$ I\$H9tA@H;HtHRHHH9uI|$Ht[]A\w{[]A\HfDATH߀(IUHSHH`HtHPI|$PID$`HtHPI|$8ID$PHt {Il$ I\$H9tA@H;HtHRHHH9uI|$Ht[]A\z[]A\HfDATH/(IUHSHH`HtHPI|$PID$`HtHPI|$8ID$PHt[zIl$ I\$H9t=@H;HtHRHHH9uI|$Htz[]LA\zHf.ATH(IUHSHH`HtHPI|$PID$`HtHPI|$8ID$PHtyIl$ I\$H9t=@H;HtHRHHH9uI|$Htky[]LA\_yHf.AUATAUSHHHWH+HHLHt$LHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHHH;IHtxH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.AUATAUSHHHWH+HHLHt$LHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHHH;IHtwH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.UHSHH?H0z(HHHH֋H|H[]HHH }H5H=`@HtH PH5H= T`@AVAUATIUSHH HHt$m\HHAHt$LpHFfD$F D$F D$F fD$FD$FD$HEHEHxHu)x u#xuxuxuxu LH袧Ll$HL蒧LLwIuH} jI$HI;$PHHT$HI$HHI$HH []A\A]A^f|$vD$T$D$T$|$+D$T$D$T$DHt$H3H []A\A]A^fD1~fHt$I$@^tjAWIAVAUIH@ATIUS1HhHHnLt$HT$H)HH1HH+MHrH+2DD$HIHHL$Ht$HL$Ht$HHH@H@HHJ9H91HuvIMIUH$HsIL$HI$$虚HMHUHHs$豯HH9CtpIHH8[]A\A]A^A_f.HHIH;HtHD$;ZHD$LHHCHHHSGDIMH|$ t$HPHHJ HP 譨H;Hl$ HtYHYH8H[]A\A]A^A_H=_GHH;HHtYHYH@AWA1AVAUATU1SHHpHHHITHHH4 4IHD$PD$XHD$`L$hktAA1HHqHHq^THLkL$1ILLH0踁H$HtHP TH1LILHp腁H$HtHPSHLIALHPH0kH$HtHPSHHD$Ll$HD$HD$ LH8|SHLHx詐dSHLHHNpHFASLLHDŽ$HDŽ$HDŽ$LHDŽ$HDŽ$HDŽ$72I|$02HDŽ$HDŽ$HDŽ$0$@HDŽ$8HDŽ$H$XHDŽ$PƄ$pH$xHDŽ$Ƅ$/LOBRHLH0+RHRH JRDHHCQHD$pHHIHD$HL׌L_HHhH+(IH藿HIHH@H@,H@H@H(I<$HtULH$UHHHHDHPH0HH\$0HD$8H|$0HH@H@DHD$@ H(H0EH8HH]HDHJHHphaH$HtUH|$QH|$HtTHĘ[]A\A]A^A_HH9L,L%J(IIFIV1@HHH9uIF1IFL(4@HQZ(H5bY(1ÉIH*HL9bL(I$H<(Hu1Hl$PLH|+Hl$PLLH{ HH|$PH|$HtSH'IHL MLHHtjHH$IHHtSH$HtSLHLH{SH$HHm`ScHe苶HH ("HH[(HuH{HHTbHM^(HV(HH5Y(HHHEHCHEHCHE HC 航H蠯HHHH%ސfSHgH[fffff.AWAVAUATIUHSHHH~H\(HHHEHǃHkLHL9HY(HHǃHǃHǃ HǃHǃHHǃǃ?HHǃ aHHH9>L4LHL1IUDHELHHǃ(Hǃ0Hǃ8Hǃ@HǃHHǃPL$$D$ @D$D$D$(@D$D$D$0@I$D$D$D$8L|$ HLixLHI}LpHLElHpL6lHH[]A\A]A^A_rHHHtNPLƫHH膺HLH&PH@HtPH9UHfAUATUHSHHY(H(HHHtH;HtOHOH0HtH;HtOHOH8HtH;HtOHOHHH@1HH)HHt3HH|$xHtHPH|$XHD$xHtHPH|$8HD$XHtHPHĸ[]HH-cH襨DSHHHt;>H{xHtHPH{XHCxHtHPH{8HCXHtHPHC8[@USHHHHP`H;HH-t H[]DH{H$H{HD$HWH;Wt)HtHHGHHGH[]fD1@Ht$螰fff.AVAAUIATUSHHHHX L`L9ul@HpI9HtXHk(HUHRuHEHuHEHPhHHR Hu-H}D|tHL24[]A\A]A^AuH}D|n@SHHC[ÐAUATAUSHHHWH+HHLHt$輥LHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHxzH;IHt;H+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.H7HGHGHG@ATIUSHWHoHH)HHt"1HHtHHRI|$HH9uHt []A\;f[]A\Ðf.AWAVAUIATUSH(HLfI)IMtH1E1E1fIEH,HbuAIHL9uAH(L[]A\A]A^A_E1(Hl$pHT$H5HHYjHH>HD$Ht$Hx:H4>(H5A(HHH蚈HrHHD$Ht$Hx\:f.AVHIAUIATLbUI)IS1Mu4HL9t(IEH,HatLHHLfL9u[]A\A]A^fffff.AWHAVAUATUSHH(׊IHLHLcL9HIHD$HD$fDIM9I?胊IHLHHHfWuHH:tLK.LHD$>.Ht$H^IHHQ<tH|$tH|$H9kIIHHD$HHM9HD$JDHD$H([]A\A]A^A_HD$AVIAUIATUSH LbHL9u @HI9t7H+HLeHuLHLgHt!HHHdI9uH []A\A]A^ÿ(Hl$ĂHT$H5HHgHH蒗HD$Ht$Hx7H;(H5Y>(H9HHHơHHD$Ht$Hx7fffff.AWAVIAUIATUS1H8HLfHL$(H<$HD$HBHL$HD$HI)IMuHt-HL9t}IEH,؀}et}wـ}vHuӿx/IH$HLHqIFI;FL|$(tAHt5L8IFH|$(HIFHDL9u@H8[]A\A]A^A_L1Ht$L-H|$(HHt舠HHL*6HHHl$H+l$SII^HH)LmL$HH9s!J< HtHPII9t IIJ:H蒒H f.AWAVIAUATIUHS1HHLnL|$I)IMu:zDHEH;EHHT$tpHHEHHEHL9tEIHHHtvH8H;HKH)HHLlHtHHhH;IHt*H+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.AUATAUSHHHWH+HHLHt$LHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHgH;IHt)H+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.AWAVAUATUSHHH9LOHGHH)IIHL)HH9MI)IL9N<HN4:L)HH~1fDMMHH9uMML)MIH HAH1fDH@HHuHH9uH$H$H$H$O-H$Ht,H$H$H9H;HtHPHHH9uH$Ht$H$nHHtHH|$@Hh HPHH$HD$8HHtHPL$H$HDŽ$I9H+HtH}HtHPHEHHHI9uH$HtmHl$PHtELeH]I9PH;HtHPHHI9uH}Ht&HH$HD$PHtELeH]I9#H;HtHPHHI9uH}HtHH$HDŽ$HtH$xHtH$hH$`H9+H;HtHPHHH9uH$`HtJH$HHt8H$0Ht&H$(HtHPHD$8Hĸ[]A\A]A^A_H1LHH$H;$tQHtH$HDŽ$HHH$H$HHPH$nLL H]H|$@HEHHh HPHHD$8HHHHHPLd$PMtGMl$I$I9t$H;HtHPHHI9uI<$LHtLHD$PH|$HW:H|H$HHt*)L$H$I9t(H;HtHPHHI9uH$LHtpL$H$I9tCL#Mt!I|$HtHPID$L2HHI9uH$LHLHH$HHtfHDŽ$_H$HHKHHKII?IIJLAD$8AGD$0D$8f.D$0wdHL8HHH[]A\A]A^A_ÐID$HH?HHHLAD$ AGD$(D$ f.D$(vJLIHDNtIHHHtH{HtHPHCH M9zLHL8HXH{HtHPHCHHH[]A\A]A^A_ H\JDLdI$I$L0HLMI~HtHPIFLl Lo@AUATIHUHS1H(HP0HIu{HL9toHUHHRA$$D$$f.D$zuAD$D$@D$D$f.D$zuH([]A\A]fDH(1[]A\A]ÐfAVIAUATUHSH1P0HIu 8HL9t/HUHHRLHIIu[]LA\A]A^@[]A\A]A^f.H7HGHGHGHG HG(HG0HG8HG@GHGIGJGKGLSHN8HV HH6Ht 4H[f;IH[fDAUIATAUHSHHP0EHt]Ht-E1HELHIP1HLI9uH[]A\A]fHEHHHP1HLHuH[]A\A]fAWAVAUATUHSHHG(HtH[]A\A]A^A_(Vp11HHH}(H](HtHPLuH]L9uYmDH (H5 (1H;IH;Lm(HBLAuHALH,I9tH;HuE1@HE(H[]A\A]A^A_HH*HrpfUHHSHHHs(H;MHEHH[]fSHG HHt[Ð{Hs(H;tH{ HC HtHPHC [HHtohkbHC [Ð@AWAVAUATUHSH8GHI6HLH]LmIL9HD$HD$f.HI9H;+GIHLLHH^#uLHtLCLI8LH *L;HD$I0HHHt$P<uH|$tH|$HXHHHHD$FHHI9HD$7f.HD$H8[]A\A]A^A_@H81[]A\A]A^A_L/FHD$(mHt$(HHD$ ~I0HD$ HIG0tHPI0%H|$ H|$ HHnfffff.SHEH{ HCH[ÐSHEHtH{ [HH@h@1[fff.UHHSHH\EHC HC HEHH[]fHurUSHH_HoH9u9MDH(H5b(1HX8H@pxHtHx@t!HH9tH;fGHu1D1H[]1Ð@ATUHSHGLu}H_LgL9u%nHx@HtJu LuVsHI9t]H;FHtHHI(H5(1H7H@pxHuHf@KEJEK[]A\D1@H]LeL9u=ߐH(H5R(1HH7H@pxHt H@@HtxJuHI9tH;NFHu1͐@AT11UHSHHHHGHt$HGLd$8HH|$t H:HSH|$HHSSH9HD$t#HSHCH9uLHSH|$@HH[]A\H;HHt HTk@HHGH;GHt$t%HtH0HGHHGH@1@Ht$H"ATIUHSHHHHH H2RI9Hu[]A\Ð@AUATUHSHH8Ht$Ht5HWH;WHHL$tH HHWH[]A\A]@iHH@HH@Lm8HE8MtMeI]I9tS@H;HtHRHHI9uI}HtLH}8NHt$]_Lfff.SHHH~@HLH4$HH$H<$HtHPH[H<$HHtHPHyifAUATAUSHHHWH+HHLHt$\hLHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHH=H;IHtH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.AUATAUSHHHWH+HHLHt$\gLHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHH9H'H|$HHD$HZ'HHD$@H(HHD$8dHX[]HHS'H{HHD$H'HHD$@H_(HHD$8!HbSEHc0H(HCpHCxHǃHH[HHHGxÐf.HwxÐf.HpÐfDHwpf.H'HHÐH 'HHf.H'GG HGHGHG HHw(HÐfff.HG(f.HA'SHHHHHt0Hy'HH[H'SHHHHHtHI'HHH[fAUE1ATUSHH(=HxH+8HHHu1MtLH[]A\A]HH9w]H_H3LcII)IMtIHLM4M9tL1fDH;HR <HI9uw7SMHÐtLH^`fffff.AVE1AUATIUSH(Ht2L(HHt$HHLXHD$H[]A\A]L1Ht$HHt$HH'LHIEoHWfDAVAUIATIUHSHHLt$HXLHHD$~#HEH;EtaHHT$tOHHEHHEH>HHtUI9tCHPtH hH5H=01@LHH[]A\A]A^H $H5kH=fff.AWAVAUATUSH(L.LvH$HD$HD$M9tlIfI]HLHHIH$Hl$H9tDDH;L%HH9uH<$IH|$M9uHtH([]A\A]A^A_HH<$HHtHUfATUHSHPHTHspHIYHH;Ld$tyHtmL HH|$HHHfHHt$Hk HHHtvH8H;HKH)HHLlHtHHH;IHtGH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.ATHIUSHu 'HHsL)HkHHu[]A\AWAVIAUATIUHoSHH_HtWLf.HCAHtHHS L9wHCE1HuEIu!L9r@HH1[]A\A]A^A_HDMl$I9t&HIMHP HL9sMu1L9tsE1IE I9Aǿ(CCHHt%H@H@H@IHC LHHDID$(HH[]A\A]A^A_AAUATAUSHHHWH+HHLHt$BLHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHhH;IHtH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.Hy'HwHHÐfff.UHSHH} @kHCHC HC(HC0HC8HC@HCHHCPHCXHC`HChHCpHCxHǃHǃHǃHǃH[]fffff.HHHHHHf.ATIUSHnHH9tDH3LHH9u[]A\Ðfffff.HHHHHHf.ATIUSHnHH9tDH3LHH9u[]A\Ðfffff.AUATUHSHHHHtHH[]A\A]UDLn@@HILH{LcHtHPH{DLHLXH@HSHHt,H='H5.'1 HtH{H[ D[fDATUSLgHL9t+H+HFHtxIu EKEJ@IHI9u[]A\USHHH{HHH9u&fDHH9tH;JuHeFH9uH[]ÐAVLwhAULATUHSHGhHGpHHLfHL9u8fDHUpH;UxHtuHHEpHHEpHI9tIH;hHxHuHH;t_Ht:HHHHHLI9u[]A\A]A^fD1@1@HLMzHL5bAVIAUATAUSHH=HH@IH@IHkHH9t_EH3u~Kt@LI>HGH;GtMHtH$H$HHHGH<$HtHPHH9uHL[]A\A]A^fLII.HtFLeH]I9t$H;HtHPHHI9uH}LHt]HUIL=H<$IHtHPfAVAUATIUHSHLoHIL9uFf.HEH;EHHHHEHHEH^I9t]H;uH3LbID$I;D$tfHtH$H$HHID$H<$HtHHPI9uH[]A\A]A^1rHHiLL@H<$HHtHPHi<AVAUATUHSHPHtHP[]A\A]A^f.HHHu Lt$UH}Hu8xH}LHD$HD$HD$ !LmPLeXHD$0HD$8HD$@M9Lt$fDH;HtHRHHI9uH\$0HUPLmXLHHH(HH}hH,} H 71HHm.LH$H$MHIl$I$H9YH;HtHRHHH9uI<$HtL|L$$MtGIl$I$H9H;HtHRHHH9uI<$Ht4L,H|$0HtH|$H HP[]A\A]A^DfD@P9HH@H@LHMIl$I$H9tM@H;HtHRHHH9uI<$HttLlpH!HHH|$0HHt@H|$Ht1Hy9H@UHHSHH 7HHǃHEHH[]fff.SH6HC [ÐSH6HC H9C([f.SH6HC8[ÐSH6HC8H9C@[f.SHw6HCP[ÐSHg6HCPH9CX[f.SHG6H*t 1[H87uH|?[H'HHÐH'HHf.HD$D$D$f.D${kJL$f.D${HFD$BD$D$f.D${DJL$f.D$1f.D$DuuuÐfDSHHHP(HH[+fDD$D$D$f.D${^FD$BD$D$f.D$HJL$f.D$fuNL$JL$L$f.L${BH L$f.D$ztJL$f.D$1f.D$DfDu*1DJL$f.D$1f.D$DAVAUIHATUS1;HHHP0HIu L@I9tCHEHHHPIHEHHPLHLu[]A\A]A^[]A\A]A^f.AUATIUSHHHH-8'H'1HHHt1H[]A\A]f.H'1HH\HtHLH[]A\A]fH'1HH,HtHLH[]A\A]fHH1PXHIu3HL9t'HHHR`LHx.uH9fffff.UHHSHHHH}HH9I1H9t_H)HHHH~BH1H4H4HtHtHtHtHtHtHt Ht H(HuHHHIWAGDLHLLL9EfHH(H9u-HH)IW몐AUIATUHSHHHGHGLbHL9tDH3HLHI9uHH[]A\A]H}HHtbH"f.ATHG'IUHSHWhHopHHH)HHt$1fHHtHHRI|$hHH9uHtH߿'[]HI$A\fSH H[ηfffff.AWAVAUATUHSHHvH8L|$L+HWg1LuHL-'Ld$ H5LHT$ IUH覤HHUIUHHD$ HxL9 HD$HxL9LspH[hL9tIH3LHP`LH%HD$ HxL9u/H5H'HI9uH8H[]A\A]A^A_H=Կ'HWtHLHHD$ LHxӶH}LHöH HPJHH=q'HWtLLb H=E'HWt-Ht$4PJH밋PJHHHD$ Ht$HxHD$LHxH HLd$ fff.HGhÐf.USHHHOhLOpL9s{L~HcH1E1LEDI9v&LHODAxtEAuAI9wڃEt DHzDH[]Ãw)HcH eH5RH=tAH zeH5RH=l"fLGpHGhL9sqHcLcL\IM1w`JLDIL9s  t>t/HI9vHyẁywHI9wfDfDAfHDBH ldH5QH=HlpUSHHHH߉[]fDUHSHHHGhHpH9E1fDHAH9tHywyDCHH9uEt]HHCCC1CCCCCHH1HH.HH߾[]HHCCC1CCCCCHHH[]@H闧fDHHGpH;GxHt$t%HtH0HGpHHGpH@1@Ht$HhjATUHHSHHPIHHPHsLCHHL[H4'HEhHHEpHExHHHE)[]A\H}hHHtHܹ'HHHE,f.fATUHSHHIHHP0I9t[HI|$ ]A\HHIHHL[]A\HHL_HfDATIUHSHP(HHEHP0H9Hu%fHH{ L HIH9u[]A\Ðfffff.ATH'IUHoHSH_ HH9t%fDH{ HtHRHH9HuHR'It$I|$[]HI$A\wfDSHgH[nf.@ATLUHSHH;^sfH3LH豻H;]r[]A\fDAUATIUHSHH(HHHHx HAHHH@Hx HA] ƒE @utH([]A\A]@tHA@tH\$H5aHT$HMHL肦dtftH\$H5aHT$HHLJ,H\$H5?aHT$HHLHD$HxH;=''H='HWJHt$fDfDH\$H5`HT$HYHL莥mfHl$H5`HT$H'HL\HD$HxH;=\'H=.'HWHt$fDHl$H5-`HT$HHLHD$HxH;=',H='HWt.Ht$PJHPJHHHD$Ht$Hx藭Hff.͋PJHf.AWIAVLcAUATAUSHHHJHH|$PHtHHt$DHHJ(HH RHH;tJHHT$t8HHHIHL;urH([]A\A]A^A_f.1@H|$L{VfDAWAAVLcAUATUHSH(HHJHt"IIHHD$HH[]A\A]A^A_ÐI?Ht$ HD$ HD$(HD$0ؘHD$ H\$(H)HHcHIHH@H@uDH@H@ILHxHL$HH|$ HJ蚐@DHH9L,LJ(I$ID$IT$1fHHH9uID$Lt$1ID$fDHD$ HLI,$H4HHD$HD$HEH|$HtHPHL9uH0H|$H!HH|$ Ht跏HLH褏fSHPHGH\$Ht$@Ht$0H|$8D$HHHD$0H|$ HH|$HD$ HtHHD$RHD$HP[H|$HHtHPHt@HHHHuu5HHuHHHH$1HÐHHH$fAVHHH)AUHATIUHSHHtfL,HIL}LLHHI}HLHHoHHt HHPMt ILP[H]A\A]A^@H;HKHp0H)HH9rO1H9sH4[H]A\A]A^ @HHV1H)HH9sH4[H1]A\A]A^ݽDHHHt HHPHMt ILPHHfHNH+1H|fffff.AWAVI0AUATUHSH(HH@HH@H@H@ H@(LeHmI9HD$L|$H$HCHD$FfDHCH;CHUHT$HHHCHHCHI9tjEuHuL,IHD$HCH;CHtyL(HCHHCHC H;C(thHHT$tNHHC HHI9HC uH(H[]A\A]A^A_@1hfLHňW1@1@H4$H|$~4DH4$H|~eH BH5;BH=RB(MHt IELPHHHAUATUSHHHHIMItNIl$ I\$H9tMfH;HTH9uI|$Ht0I<$Ht"LHL[]A\A]HMHtL)H?fffff.AWAVAUIATUSHxHHH9P#HH\$0H@HGH"IELpH(I9t*fLeI$LLHHHI9uHоHLHD$ HD$(HD$ H<HHL L9HL${L$$fH$H$H9D$H$8uH@HHD$tHHHH9HL$:IIL9|$|A?uIoHtLuHEI9I @IM9t)A}uMeMtLI[LsM9uH}Ht`HITL9|$uHD$H8Ht;H|$1H$H$H9D$HD$ H8Ht H|$ H'HHHD$0H_'HHD$hH'HHD$`iHD$(Hx[]A\A]A^A_LCH|$H|$WHD$(IH''HHHD$0H'HHD$hH4'HHD$`LIHD$ HtL`H(I9t}t/HI9uHD$ H8LHtH|$ rLmMtLL붐@HH<$HHD$׬HfAWAVAUATUSHHHo(Lg0HD$ HD$(HD$0L9E11Lt$ Ll$MDHI'H5Z'1軼L9HD$tAHtHH\$(HHI9H\$(t:H\$(L|$0H}Hu1L9HD$uLLuHI9u@LLt$HD$H|$ HtHD$ΆHD$HH[]A\A]A^A_Lt$ Ll$H|$ HHt蜆H@AUATAUSHHHWH+HHLHt$LHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHH;IHtH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.HHHHH+H$HfAWAVAUIATIU1SHHH|$HD$`Lt$HD$hHD$pL|$`DAML$0AML$8L$0f.L$8f.L$(f.D$8AED$@@D$HD$@f.D$HAED$P@D$XD$Xf.D$PHD$hH;D$pHHT$HHD$hHHD$hHHHPXH9HHHP`HHD$HD$ @D$(D$ f.D$(ID$I;D$t?HHT$t-HID$HID$z1cf1@LLKLL ;HD$Ht$`Hx}H|$`HtHD$iHD$HĈ[]A\A]A^A_H|$`HHt@HAVIHAUATILUSHH0Ll$HD$HD$HD$ LLLLHHHHIHH$HD$H;D$ |HtoHHD$HIHD$LL@HL,$t HHPMt I$LPHt HEHPH|$HtQH0L[]A\A]A^Ð1@HLIHIt HHPLMt I$LPHt HEHPH|$HtH/HHHffffff.AWAVIHAUATUHSHHhHIHHA$$AD$D$$f.D$w&IL$HL$L$f.L$v+H|$@HHHD$@Hh[]A\A]A^A_f.L$wf.D$wAED$ AD$D$(D$ f.D$(wAED$0AD$D$8D$8f.D$0sHEHPXHvWL|$@[[LLLHD$@T$HHD$P\$X%LHHL!HHPXHwHHHHHuu8HfDuHHHH$1HfHHH$fAVHHH)AUHATIUHSHHtfL,HILdLLHHIPHLHHHHt HHPMt ILP[H]A\A]A^@H;HKHp0H)HH9rO1H9sH4[H]A\A]A^L@HHV1H)HH9sH4[H1]A\A]A^DHHHt HHPHMt ILPHHfHNH+1H^fffff.AUATUSHHHHI耓MItNIl$ I\$H9tMfH;HD~H9uI|$Ht ~I<$Ht~L ~HL[]A\A]HMHtLoH/fffff.AWAVAUIATUSHxHHH9P#HH\$0H@HGHIELpH(I9t*fLeI$LLHH豑HI9uHHLHD$ HD$(HD$ H<HHL L9HL${L$$fH$H$H9D$H$8uH@HHD$tHHHH9HL$:IIL9|$|A?uIoHtLuHEI9I @IM9t)A}uMeMtLIKLc|M9uH}HtP|HID|L9|$uHD$H8Ht+|H|$!|H$H$H9D$HD$ H8Ht{H|$ {H'HHHD$0HO'HHD$hH'HHD$`YHD$(Hx[]A\A]A^A_LCH|$H|$WHD$(IH'HHHD$0H܀'HHD$hH$'HHD$`LIHD$ HtL`H(I9t}t/HI9uHD$ H8LHtzH|$ zrLmMtLLz붐@HH<$HHD$7HfAWAVI0AUATUHSH(HH@HH@H@H@ H@(LeHmI9HD$L|$H$HCHD$FfDHCH;CHUHT$HHHCHHCHI9tjEuHuLIHD$HCH;CHtyL(HCHHCHC H;C(thHHT$tNHHC HHI9HC uH(H[]A\A]A^A_@1hfLHvW1@1@H4$H|$k4DH4$HkeH 0H5n0H=/|hzMHt IELPHfH&HUHSHH9w*H,HH1HHkkHH[]fff.AWIAVIAUATUSHHLd$0LHsHHH@H@HH[Ll$ HuHK4IuH}7iL1H]HLuIIMl$@K>HHt/HI$HL HEHL[]A\A]A^A_LufHUI$LeI$HtHB@1HuLM$HEHUHDIHLu(mHWHHp'LHID$ghlH*HfAVAUATIHUHSHPHHtNHHfp'HHCHEHCHEHCHEHC HE HC(HE(HC0HE0HC@HC8CLkD$0D$0D$(fWf.D$0c]E1KL$8f.D$8L$8L$ 1K(L1L$@f.D$@L$@L$1K0H1L$Hf.D$HL$HL$zgue1H11LHHIt$ILLZHL(MH6o'HHHCfHPL1[]A\A]A^@H|$iǾtHH|$iǾD$ND$H/H|$ iǾD$&D$H,H|$(iǾD$D$I~HHLLbHP[]A\A]A^f.1Ðfff.1Ðfff.Hn'HHÐHn'HHeffff.H觇HÐfffff.ATUHSHHHIHEHfWH@LH CKCH[]A\Ð@HXH5\'HHL$HHD$ HHt$ $$D$(BD$D$D$0BD$D$D$8BD$D$D$@XHXfff.AUMATIHUHHLSHHHHGHGHRMtHLLH|RHH[]A\A]H;HHtdHffDUHSHHLAL+IMuHHHHH[]DHH=HHBVHH[]AVHAUATIUSHHPHLrHHl$HHHH\$0HHD$0HD$8HD$@HHHH|$ HLzfWHt$ LءH|$ HtHPHl$8H\$0HD$ H9teH;HtHRHHH9uH|$0HtbH|$HtHPH<$HD$HtHPHPL[]A\A]A^HHH<$HtHPHH|$ HHtHPHD$ HkH|$HtHPHD$HAUIATIUHHHSHHpHH[]A\A]HHtC.LHLH訾H蛾HfAWIAVMAUIATU1SHHHD$(Ht$HD$pHD$xHDŽ$Ld$ HD$HD$pHD$AML$@AML$HL$@f.L$Hf.L$8f.D$HAED$P@D$XD$Pf.D$XAED$`@D$hD$hf.D$`HD$xH;$HHT$(HHD$xHHD$xHHHPXH9HHHP`HHD$(HD$0@D$8D$0f.D$8Ht$(LHLLH|$ HtHPy1fHt$H|$j[DHD$Ht$pH8fH|$pIHt_HĘL[]A\A]A^A_HH|$pHt_HH|$ HHtHPAUATUSHHHuHĘ[]A\A]DHHIHrHPIHEHHPAEHD$AD$D$D$f.D$AL$L$L$f.L$AML$ AL$ L$(L$(f.L$ AL$L$0L$ f.L$0nL$$$f.T$L$f.$f.D$AML$`AL$L$hL$`f.L$hvzAL$ L$p\$pf.\$`v_f.T$wW L$xL$xf.$vHHtvH8H;HKH)HHLlHtHHH;IHtgUH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.AUIATUHSH_HL'HHEHHH3LAՄuLeH[]A\A]fDAWAVIAUATIUSHH9H_H9tyIHoGHH IL)HHt HHLHL$H)ВHL$HHM9I $t)I4$H;AՄuHILOHHM9uH[]A\A]A^A_fAWHHAVIAUATII?ULSH8HD$H|$HD$Ht$ HT$(HL$LD$H9*IDIIOHD$L$ HM,I\$I}I,HuLHEIDH;\$HK|D$(uL|$(ILH?III9t0H;\$ I<DHT$HH8[]A\A]A^A_fH\H;\$ IHK~HCII?IIO$Ht$HD$I<$ЄuIf.I$IIGHH?HHL9|$ |LhLIH\$ f.@AWHH)AVAUATUHSHH(H=HT$Ht$H|$IHGHD$H)Hl$H}HHH?HHH\H3AԄHD$HpH;AԄHEHHUHHuH}Ll$HD$HHuH{HAԄIuM}fDI7MH}IAԄuI9vHIUHIEHCHuH{HT$Ht$LHHH)H=H|$H\$H}AԄtKH}HuH}Hu;HD$H}HpAԄtHEHL$HQHUHAHuH}HD$H;HpAԄHEIHHXIHHHLMLHHHuIHELIH)1MHHIIFHcHH([]A\A]A^A_f.@HBH7HWHGAWAVAUATIUSHxL|$@H|$H>D$HHD$PIGHD$hHD$XHD$`HPXHI1Lt$HL9toI<$HHP`HHzS'H5T'1HHHHP(IT$HLH,d<uHL譹HL9u@Hl$hH-H4H HD$ HD$(H9HD$0ALlmILYHHD$ J(HHD$0DHt#*HHBBHHuH|$XIoHD$(H9t+fHG HHCHG(HCHG0HCzH9HuI|$Ht$ H|$ HHtFNIT$H|$HPHt HHPHt$PLɱHD$Hx[]A\A]A^A_It$H|$HHD$XI|$Hp QH@H aH5<H=-2)OĪHt$PHLTHH|$ HHtMHDHtHHD$HRHD$fUSHH(HHHDH(H[]f.ATHIUSHu 'HHsL蹰HkHLHu[]A\AWAVAUIATLgUHSHhH_HgD$ <ML$K(L$L$f.L$v8HCHt5HC D$D$f.D$ wL$ f.L$vHC1Hu˄D$XHD$ f.D$X HIM9lEAD$8AF D$@D$@f.D$8wD$8E0f.D$@8?HHt6H@H@H@HEHC HEHC(HEHC0LLHD耐IE(HhH[]A\A]A^A_LMuI91HVED$ @ D$XD$ f.D$XD$Xf.D$ w(@(D$(ED$0D$0f.D$(Hh1[]A\A]A^A_EE1D$HAF(D$PD$Pf.D$HAA1f.@H2HHtEH Ht-H(HH|$H|$YHD$HT$HH(DHH7DHHtHHDHAWAVAUATIUSHhHFHHH<$HHD$HF0Ln8I9HD$)HE1A1$fA9ǸDEHI9t!H;HEHyHAI9uHH H\$H$L$HDŽ$HDŽ$HDŽ$H3HHHL芸H$HtHPHI9uE}Ht$H$L``H$H$@H$H$H9 H;HtHPHHH9uH$HtHH$@IT$PHH|$0HHH$@HD$0HHD$tHPID$Ml$ I9HHD$ID$HE1A1HD$$fA9ǸDEHI9t!H;HEHyHAI9uHH H\$L$H$HDŽ$HDŽ$HDŽ$H3HHHLʶH$HtHPHI9uEHt$H$pL^H$pH$@H$H$H9_ H;HtHPHHH9uH$HtFH$@IT$PHH|$@H舔H$@Lt$@HtHPMl$I$I9HDŽ$ HDŽ$(1HDŽ$01H$ L$@9@Ht HH$(HHI9H$(t;H$(H$0HH9H$@uLH4HI9uHH$ HHtEH|$`H$@HLH$@L$ 苡H$ HtHPH$@HtHPH|$rHT$`HHt$H|$p輫H $HD$pHD$pH9HHtHPH|$pHtHPH$HHmH|$`HtHPH|$HD$`HtHPH$Hh[]A\A]A^A_f.HD$gfMl$I$E1I91H$ @HD$H8HGL$(H$H5LHtL$HT$)H52LsH$LH/SH5#H+1LHHL-N'H$@HHH$@IUH@H$@HxL9 H$HxL9: HM'HHEH$HxL9 HL'HHEH$HxL9] HK'H5F'H̚@HD$H8HL$0ȍH$H5LIrH$HT$-H5HrH$HHQH5y"H/LH萰HL-L'H$@LHH$@IUHD?H$@HxL9&H$HxL9H[L'HIH$HxL9|H0K'HIH$0HxL9H}J'H5fE'LnfDH$HL$H;H HHPHHD$Ht$H$H$H$@Ht$H$L==H$H$@hHt$H$PL=H$PH$@Ht$H$蜘H$H$@/H $HD$`HD$`H9HHHPH|$`H H5H=BDIt$HH$ ޣI|$PH$ HDŽ$ HID$PtHPH$ HtHPIT$PHt$H$LâH$H$@>Ht$H$LWH$H$@It$HH$2I|$PH$HDŽ$HID$PtHPH$HtHPIT$PIt$HH$H $H$HDŽ$H9HHZHPH$HCHP8Ht$H$@L輡H$@H$@Ht$H$`LVH$`H$@HL"HH$H8HtHPH$HHHHLGHHH HǡMl$ Il$HDŽ$@HDŽ$HHDŽ$PI9H$@L$ 11HMH9H$ Ht HH$HHH$HHI9\H$HH$P@HD$HD$H$@HH0H=HD$H$@HH0HHHDH$ HHtHPH$@HtHPH|$HHPwH$HHHHPLH9 H=/F'HWtR$H ZH$@HHtHvuHHH9tftHF@H9tH8HtDHfuHPHIUHPIUH@IE H[]A\A]H1[]A\A]H H5XH=1N3H H59H= C23H jH5H=;3fAWIAVIAUIATUS1H8HHnHL$(H)HL$HO(HHHL$u@HH9IH4؀~etHuIUxHt$H$-H$Ht$HIlIE0I;E8Ld$(tRHtEL IE0HIE0LHJ~LL8H9{H8[]A\A]A^A_1@Ht$H|$GHL,1Ht@AVAUATUHSH`HHH$HD$HD$ipLd$@HL֢HL[LHpxL訣LHD$ HD$(HD$0SH\$ HHHb8HELHHp _HHtH|$ Lt$(AAI)IMt=H?H1HD$ HHGHHGHHG H1HD$ RD$ H [HsxHVHHLH|$HuH [H|$HHtHPHMfff.AWAVAUATUSHH|$HaLxHH$I9!I_(H7H4'H54'1HaHHHPhHHHP0IHHP(L9HHh HL54'L-2'%@HxXL9H|Hk H1LLHoaHtsHB&HPH+HvH}1HPpHL$HHHPHH@HH[]A\A]A^A_LH9$I1H `H5H=l,H AH5H=g,fSHH HtHRH{Ht [.+fD[fDAUATIUSHH HtHP@j HHjbHS01HMl$HE1ID$ ID$I)IMu 6fDID$H,HHEHI|$ HHHQL9uH[]A\A]HHr*H躔f.AWAVAUATUSHHH|$"HSHCHT$ H)D$ H|$ H|$ HT$pHD$HT$(HL$L$LWL|$HD$LHD$pHD$xHDŽ$IG HHXI$I HT$(HHD$pL|$xI)IM1HD$pHHI9IHHII$LD$0@D$8D$0f.D$8AML$@AML$HL$@f.L$Hf.L$8f.D$HwzAED$P@D$XD$Pf.D$XwUAED$`@D$hD$hf.D$`w0HD$H|$HHtHHtLHeu@@HL9H|$pHtT(HD$HD$ H9D$t:HD$H@,H|$pHD$HHX(t(1HĘ[]A\A]A^A_øHH|$pHHt'H2fAVAUATUHHS1k:HHIHEHP01HIu>fDI9v.HEHPLHImu[]LA\A]A^fD[]A\A]1A^Ðfff.1 D$D$fTD$ f.D$r$WT$T$fTT$f.D$fDATUHHSH'u []A\DHho I+L HH/H][]A\HH&Hܐfff.AWAVAUATIUSHHH|$HHT$2IHLPpH|$ LAH|$!LHHIt41f.HLVHHHPpHL9uH +'Hl$0HHHD$ LePH]HI9fHHH8I9uH}HHt%Le H]I9HHH(I9uH}Htq%LeH]I9ZHHH I9uH}HtA%H9%HH[]A\A]A^A_f.HxHT$LHqHHt/E ]HHH-HD$HXH)'Hl$0HHHD$ zLePH]HI9fHHH8I9uH}HHt$Le H]I9HHH(I9uH}HtQ$LeH]I9t>@HHH I9uf.H|$Hf< LLHL`LhLIH('H\$0HHHD$ LcPHkHI9HEHH8I9uH{HHt#Lc HkI9tsHEHH(I9uH{Ht_#LcH+I9tLHEHH I9uH;Ht4#H,#LtHI#9LvLLfAVHAUIATIUSHGHH<HLHInHHtLH_Ht)LLLnHHtHH_1҄HE[]A\A]HA^H %H5H=\]#fff.AWAVIHAUIATIUHSHHH.HHD$vHt$LHInHtLHHD$_uH[]A\A]A^A_H1DHIuk@HL9t'HHRLHLLmHu@ HD$HT$HHl*I^H[]A\A]A^A_ÿ 迊HT$HH:*HH-!HufAWAVIHAUATE1UHSHHHT$PXHIHELHP`HH&'H5%'H1!VH9-HH$HPpuk1 @HL9twI9tHEHHP`HtXHY&'H5j%'1HUIILPpuHL$H4$LLdI~tH[]A\A]A^A_fDE1IM9$1Lf.ATUHSH@H}!H>u,HB IILt$ HD$1MH$M~uYDHL9tKHLTMHHHPpuHD$0H;D$8Hl$t{HtnH(HD$0HHL9HD$0uLu+ Hl$H艅HHH%HD$HXLkHX[]A\A]A^A_fD1@H4$L?HLLkHHHH@ATUHSHHHHH~H{tHĠ[]A\f1HHCHHI8H%'H\$xHHH$tH;HtHH|$pHD$xHtHPHt$8I|$(HD$p6L~_dHL>MHfDAWAVAUI1ATUSHA}MeHl$pH|$D$xHDŽ$HDŽ$HEH$H$iI]L9H(L|$L9fDH'HUD$L$6f@D$@CD$HD$Hf.D$@v-HvHt0HF D$8f.L$8wD$8f.D$vHHvHuHEH9HB D$ D$ f.D$~f.L$ vN HھHIa"HD$H$HL`oHĨ[]A\A]A^A_fDCD$(@D$0D$0f.D$(v@LHH\$ZHIt]HAtu(KHt'HT$H@H@H@HP HMALH]H$H(H$L9FHn)HEH9~HB HT$D$PD$XD$Xf.D$POD$PE1f.D$X:BD$`@D$hD$hf.D$`AMuM9-LHLL)LHHHHH?Hcи?H)HMHLLrWI]I}HdH9I}1H9tcH)HHHH~FH1H4H4HtHtHtHtHtHtHt Ht H(HuHHL$MeAEH$ILHVI9@fHH(dpI9u(LL%MeLHH$HlHրHATUHHS1HIH@1H)HHu!>DI $IT$H)HH9sHHLH=H}%HH H]BMuxHHm'H}HHtvH8H;HKH)HHLlHtHH8HH;IHt H+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.ATUHHSHHHPptHEHH[]A\ÐHHPPƒ1ɃL% 'H'HL5>HHH1P`HH'1LH>HHHH1L$$HHL(MRI$LPHH[]A\fH5A 'HB'H=HHuH H5H=J H H5aH=Ed H H5BH=INE H ~H5#H='P& MHt I$LPHqfff.AWIAVAUATILUSHH 'Lt$`HD$ HD$(HD$0D$xHHDŽ$HDŽ$HD$`HD$ HD$hIFH$H$HL(Hl$(H\$ HHD$@HD$HHD$PHH)HH9 H)HD$H9Md$Ll$@HD$u"VfDHtHHHH9HT$Ht6H3LkHT$HH;T$PHD$uHt$L=HH9u@H|$LLhHl$HH\$@HD$H9IDH;HtHPHHH9uH|$@HtH 'H$I~HHD$`\H'H|$ HHHD$`tHĨL[]A\A]A^A_fDHLl$@HHD$nH\$HLl$@HL9tZI}HtHPIEIL9uH|$@Ht1Hl$@Hl$HHl$H\$ Hl$PHl$(]HHLHFH 'H$I~HHD$`[H'H|$ HHHD$`tHnH=LLl$@HAWAVAUATUSHHH'H|$H$pH$xƄ$HDŽ$HƄ$H$pssHHHPPg5 H%'H5'1HL$PL$0H$$9HDŽ$PHDŽ$XIHDŽ$`HX(Lp0L9t5HLHr>HLrH$HtHPHI9uIwH$LH$XH$PH$HL$H9H fDH;HtHPHHH9uH$PHtH1'H$HH$pHD$HĨ[]A\A]A^A_H5'H 'H17H|$HLHk'H5t'1H7HDŽ$HDŽ$HDŽ$HDŽ$HDŽ$HDŽ$ HD$Lx(H@0I9HD$ I?H]H$PHl$PIH$fDH5'H '137HH!H<$L$vH$PHHL$L$PpH$PHL$L$PPh L$PMH'H5('1L6HX(Lp0L9L$DH3L$HHHLZpH|$PHtHPHI9uH$PHtHPL9|$t}IIHH H5H=dL$H4$L$LoL$H4$L$Lop1H$H$H9H)HvHD$L$H|$@LHpbH\$@H$H$H9H)HHD$L$H|$0LHpHl$0HHNHDŽ$PHDŽ$XHDŽ$`hHPHH$PH$`t HHtH@H$XH8HHtHPH$PHxHhHtHPHD$L$PH|$ LHphH$XH$PHD$ HL$H9HRfH;HtHPHHH9uH$PHQGHH|$HHPPtHHPP HH|$`HHt$`HH|$pH|$pHt$`H$Ht$pH$oH$H$H$RlH$?H$HDŽ$HtHPH$HDŽ$HtHPHCH$HH$ H$H L$L$PL$L$0LHT$pLLnH$H@ HPpH$LHH$H$HLH$0HHDŽ$0HHPH$Ht$pLkH$PHH|$pHDŽ$PHD$pHtHPH$PHtHPH$0HDŽ$PHtHPH$HDŽ$0HtHPH$HDŽ$HtHPHH|$pHPXHHDŽ$0HDŽ$8HDŽ$@)eHPH$0H$@DHtHHH9uH$8HL$0HPp1u"H$0H8HHH1@PH|$pL$0HPpu8H$0DeHT$pHD$pHH8HHxHDPH$L$0HPpu>H$0DeH$HDŽ$HH8HHHDP L$8H$0LH)HH9L$0kH4$H$LH$HL$HL$8H$0I9f.H}HtHPHEHI9uH$0HtHt HHPH$HtHPH$HDŽ$HtHPH$HDŽ$HtHPH|$pHDŽ$HtHPH|$`HD$pHtHPiHHD$HH$H$H9#H;HtHPHHH9uH$HtH$H$H9t{H;HtHPHHH9uH$H(HHHH$0HHHD$H-HLHfHD$H_HD$HH$H>HP3HHD$H(HL,M9Lt H}HtHPHEHI9uL$8L$0TL$0HH)L%91۽JDDH$H$1H9HD$HLXIHt HHPLL$L|LtHm&H$HH$pHLaHLL$9IHL)H$HHtHP޿AHHJ:H&H5&HDNH =H5H=LHHt HHPHH$HtHPHDŽ$H$HtHPHDŽ$H$HtHPHDŽ$H|$pHtHPHD$pH|$`HHPH sH5H=RH$0IHtHPHDŽ$0HH$HtHPHDŽ$LH$HHPH H5H=ɷHHHHHvCIHEHL$P?HHr8H&H5 &HL$L$\LHH$PHdHPYHL$IHHL$BHL$H1H H5H=@H|$PHHtHPL$mH+HIxH H5LH=pOH H5-H=H0HSH aH5H=% H8AWAVAUAATUHSHHGH+HHLHt$\H}LEILxHt$HL)HHLtHI9LLHt HHHHHH9uLuH]IL)HI9M|t&@H;HtHPHHL9uLuMtLLeML}LeH[]A\A]A^A_HH9vIMHH9wIIf.HtWAWAVAUIATUSHLHGL)HH9w6HLHtHHHuIIEH[]A\A]A^A_fH?LHHH)HH)H9H9HIHCHLHt$[M}I}HHt$L9HH@Ht HHHHHL9uHI]I)IJLM}HHHtHHHuL9L4tYH;HtHRHHI9uI}HtImLMuImH9'HuE115HLHoL$H=f.DfWH7HGHGHGO HG@HGHG(O0G8@SHH@HtHRH{Ht [fD[fDHGHÐf.AUATIhUSHYYHH&H{ HCHCHCHHgH0&Ml$HC`HC ID$I\$@1I)IMu 4@ID$H,HHEHI|$@HHHQL9uH[]A\A]H{HaH&HHHHcYfAWAVAUATUSHHH|$HSHCHT$ H)D$ H|$ H|$ HT$pHD$HT$(HL$L$LHD$I$LHT$HD$pHHD$xHDŽ$Hz@HT$(HQHD$pL|$xI)IM1fHD$pHHI9II$LIHHAED$0AED$8D$0f.D$8L$@HL$HL$@f.L$Hf.L$8f.D$H~@D$PAED$XD$Pf.D$XwY@D$`AED$hD$hf.D$`w4HD$H|$HH?9HHLHH*u@@HL9H|$pHtHD$HD$ H9D$t:HD$H@,H|$pHD$HHXHt1HĘ[]A\A]A^A_øHH ձH5H=bH|$pHHt{HVfSHHHGH;GHt$tAHHt1H0HCH|$HHCHH{ HLH[f1@HHt$H|$ATIUSHoHH9tBDH;HtHHH9uI<$Ht[]A\f[]A\HfDAWAVAUIATUSH8HH|$HP@TIHH@H@IELP0HLIm7IE1LPIIFI;FqHtI$HIT$HPIT$HPHIFIwBf.HtHHHSHPHSHPHIFHL9IIEHLPHD$A$D$D$f.D$z1u/@D$ AD$D$(D$ f.D$(z tIFI;FZHLHL9rfIELPXHſ(ySHLHH HD$HHD$H8[]A\A]A^A_@IELPX(H1SH1HHaLLdHHHSI>HHt|LtHSf.Hfff.AVIHAUATUHSH HP0HIHL9HEHHPIHEHsHP$A$D$$f.D$zu@D$AD$D$D$f.D$zuHEHHPHIHPIVH@IFH []A\A]A^@H 1[]A\A]A^ÐAVAUATIHUHSHLH#AtA[]A\A]DA^fDH1^ HIu@HL9tHHHDLH#t룐fAUIHATUHS1HHPXHIu;HL9t/HUHHR`LHgDtH[]A\A]H1[]A\A]ÐfAUIHATUHSH(HPpu1L%2&H&1HLHt!H([]A\A]@H(1ۉ[]A\A]ÐH&1LHLHuH&1HL3HHt#&LHk"H(É[]A\A]@H&1LHHtHL\DHq&1LHHtHL,H.&1LHHtHL9EHS&1LHnHtHL0HHE1Hl$HT$H@HH@8*@HHHHD$Ht$HxH&H5&H<=HH3HOHHD$Ht$HxؐAUIHATUHS1HHPXHIu;HL9t/HUHHR`LHAtH[]A\A]H1[]A\A]ÐfAUIHATUHS1HHPXHIu;HL9t/HUHHR`LHAtH[]A\A]H1[]A\A]AWAVIAUATUSHhHOHGHD$HL$H)D$H|$H|$fHL$1H,HIVHD$IFH$H)$H<$H<$u%IFL@IFI;FHHT$HIFHIFHH;,$t`HD$ L$HHLLd$HSLHAA8tIGI;GtVHHT$tDHIGHHH;,$IGuH|$ HtHH[]A\A]A^A_D1d1@Ht$LkQfDHt$LS9HH|$ HHt7HBfffff.ATIUHHHSH H LHHH []A\f.AUATAUSHHHWH+HHLHt$ALHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHH;IHtGH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.SHH@HQ&HG0!HGHHG(HW8HG@_PHHFGG HG(HFHwHW DG`HG0HF HG8HHG@HAG@HGHHAHGPD$G(D$D$\D$D$GHD$ G0D$(D$ \D$(D$0D$L$0< L$CdD$0D$8D$8ChH@[H &HHH?f.HGÐf.HwÐf.Gdfff.HG@Ðf.G`Ðf.HGÐf.HG Ðf.HGHÐfDGhD$D$fffff.HGXÐf.HwXÐf.Fd9Gd|&HF@HW@H~(H"Bff.f.&ff.AVLv(AULn@ATUHSHHHH@H@8*ILwLHHyH53HeLHjH5IĺHCLLHEhmdH5HD$HH5@HHD$HDHH[]A\A]A^HI4HHxw !*3fff.AUIATUHS1HHLgI)IMu'IfHHEHHEHL9t(IEH4HEH;Et&HHVu1fH[]A\A]DHHfUHSH=HD$ HxL9IEHD$0IE@H$Hv&HHD$8H$HxL9Ha&H{@HHD$8oHHM9uH[]A\A]A^A_fAWHHAVIAUATII?ULSH8HD$H|$HD$Ht$ HT$(HL$LD$H9*IDIIOHD$L$ HM,I\$I}I,HuLHEIDH;\$HK|D$(uL|$(ILH?III9t0H;\$ I<DHT$HH8[]A\A]A^A_fH\H;\$ IHK~HCII?IIO$Ht$HD$I<$ЄuIf.I$IIGHH?HHL9|$ |LhLIH\$ f.@AWHH)AVAUATUHSHH(H=HT$Ht$H|$IHGHD$H)Hl$H}HHH?HHH\H3AԄHD$HpH;AԄHEHHUHHuH}Ll$HD$HHuH{HAԄIuM}fDI7MH}IAԄuI9vHIUHIEHCHuH{HT$Ht$LHHH)H=H|$H\$H}AԄtKH}HuH}Hu;HD$H}HpAԄtHEHL$HQHUHAHuH}HD$H;HpAԄHEIHHXIHHHLMLHHHuIHELIH)1MHHIIFH賶HH([]A\A]A^A_f.@HGHcH@UHSHHHGH8H9HCt'Hxv1H9uHCHPHH[]DHH[]HÐf.UHSHHHGH8(H9HCt7HxH9tH1[]HCHxH[]DH8H[] f.UHSHH5DHHHP u.HHPtH5 HHH[]H5HtfUHoSHHHGH$HW Ht$H9HH0HGHW HHCH9HH$tHHCHHCH|$HH<$HH4$H|$EHt$H<$7H\$HHx(H辿H$HHx(H覿H[]1\HH+tHt$Hs+HCHS 9fDAUATIUSHHHF(H5-CHhH+h3HsL7H5; HIH HLa(HHP u4HHPtH5 LHL[]A\A]DH5Lf.ATUSHH@H(H$HD$HD$2 HH(H{(HD$ HD$(HD$0 Ht$ HV(H\$H,$H9Iܺ?HI)HLHHH?HH)H'ILHLL9tEMMIQLIAI9rHHHHPHxI9rILL9uH\$(Hl$ H9Iܺ?HI)HLHHH?HH)H~ILHLL9tLMMIQLIAL9wHHHHPHxI9rILL9u+HH@HH@LD$H$LL$(H|$ I9t:I9t5HHE1fHI9tI9tH2H;1rv8HI9uHt;.H<$Ht H@H[]A\@I2HHIHHH5HHuLIL9L ]LIL9LH|$ HHtH<$HtH*HfDAUIATIUSHH9tPLOI9tGfII;$LrDIQIAH9r aDHLHHPL@H9rIiHL9IuH[]A\A]IiM)IMtJHLH)ZI$Lf.DHBUHSH?HHH9I IKDLPL NM9LIBICH9J|uHII?III9tjHH9}BL@MI?MIN L9v(L I@NHH?HHL9| LH []ÐL L9vLIHDHL N Haf.@AUIHH)ATIUSHHHM HoHL)IL$IHH~HH?HHIHH9H9H9M $I<$LNMD$I $HH@I9sHLL9wHL9sHLL9rH9vL LHLLHI $LH5HHL)HMtIH(H9r&H9]I $I$H LNMD$I $UM$I $MD$LN?HHjIHHI LHLHuHI$HH L)1LHHHCHlHH[]A\A]f.HHttD$L$3fDG(D$BD$D$f.D$v*HHt-G D$f.L$wD$f.D$vHHHufHy&GHGHG0HHHGHG HG(fffff.HGÐf.AVAUIATLgUHSHPH_FD$HHFD$@F D$u3lK(L$L$f.L$@v9HSAHt6HC D$D$f.D$HwL$Hf.L$vHSE1HuE D$8ID$Hf.D$8w/D$8f.D$HC(D$ D$@f.D$ MM9AF D$(D$(f.D$HwD$H0f.D$(@\$HtCD$HH@H@@ H@Hh8D$@@(D$@0LLHƉIE0HPH[]A\A]A^L@Mu I99HI@ HD$8AF(1D$0D$0f.D$@5+UHoHSHHH(HH9Ht|$@ 1D$D$f.$w9$f.D$w<CD$A(D$D$f.D$vH([]fHA8H([]DH(1[]ÐfDUHoSHHHG H9u&@H HSHHSHH9tHSH;StHHH8u1DH[]ÐHp8HHD$/HD$AWAVAUATIUIl$SHHBHHI4I;D$ IHtWI9Mt$u/HHLHH?H臸Il$0I9uHL[]A\A]A^A_f.IT$I9uIt$HMl$ ID$Ml$(ID$0f.SH_H0HGHtPD$(L$($@$f.D$(v;HH@Ht!@ $f. $vH@HuHH0H[fP(T$VT$T$f.T$wf.D$(wf. $vmHxHHHtFA D$D$f.D$(w!f.L$w_A(D$ D$ f.D$vFHHIHuHH_f.D$f.D$|fHIrAUATIUHHSHXHt 1HIL1Lm ˽Hx(L_Hu(HM 1HH)HHt#fDHL; t'HH)ȉHH9rH[]A\A]HLHM Hu(AUATI1UHLLmS1HHH%LHH HuHM1HH)HHt!@HL; t'HH)ȉHH9rH[]A\A]HL肤HMHuAWAVAUATU1SHLk HH~(Ht$KHIH@H{1H)H<$HHL4LHt HH4H{(LC 1E1HL)HHt+I4L;6HAL)DHH9rLUHItHH1[]A\A]A^A_LMu I9t'HIDHP HH9sMu 1M9E1I9n Aǿ(HHt"H@H@H@Hh LLHDMe8Lt$&IE0H1IPLLHD$sHLLHD$V1HHLHiHHԶLHIHHغ[]A\A]A^A_AAUATAUSHHHWH+HHLHt$LHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHxH;IHtH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.HGH;Gt&HHtHHGHHGfD1@ f.AWAVIAUATIUSHHHHPHk(HHHDH9Iusf.HI9t`H+HlLHaHHHHPuIL$@ID$0HQH9t6HtH(ID$0HHI9ID$0uH[]A\A]A^A_IL$HID$HI+$IHH)Hw1ҾLM|$HIGID$0HtH(ID$HHPIT$HH@HID$8ID$0IT$@fAVI1AUATIUHSHLl$`H\$HD$`HD$hHD$pLHD$xHDŽ$HDŽ$HDŽ$HDŽ$HDŽ$HDŽ$X1HHD$HD$HD$ HD$(HD$0HD$8HD$@HD$HHD$PHD$XHD$`HLD$pH|$ Ht$(HL$0HT$8LD$ LD$xH|$pH|$@Ht$xHt$HLD$(L$H$HL$PLD$0L$H$HT$XLD$8L$H$LD$@L$H$LD$HL$H$LD$PL$H$HT$LD$XHD$HD$HT$`HT$hHD$hHT$LHL$PHD$@HQH9HtL0HD$@HHD$@H%DHGHwHD$@LHH%H|$@H9|$ tYH9|$HHT$XuHRHHt$xHD$XHt$HPHT$XH@HHD$HHHD$@HT$PHHHİ[]A\A]A^HL$XHD$HH+T$IHH)HvKlIEHD$@HtL0HD$XHPHT$XH@HHD$HHD$@HHT$P1ҾH\Ll$XHLHHHHfffff.ATIUHSHHEH{PCHCHC0HC8HHCHC@HCHHC HC(NHLH`H[]A\H{8HHtHsH{躾HҨHf.AWAVAUIATIUSHHHXXHhHH9t$@H{81HRHH9HuIELpHXL|$L9uj@HI9t]H;1=HeHHHPuHLjIT$I;T$HD$t9Ht,HID$HHI9ID$uH[]A\A]A^A_1@LLpATIUSH?HtAID$HI\$(HhH9vfDH;H蜧H9wI<$[]A\銧f.[]A\f.AUATAUSHHHWH+HHLHt$LHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHhH;IHtצH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.AVIAUATIHHUSH_HHHBI|$HIT$I$H)HL,IlI9s!LvHHH9wMl$(IUA?[HIT$ID$ HEID$HHE]IT$ID$8HJIL$@ID$0A\A]A^HI9sI}I荥I9rHKHI<$jI$ID$ԩHH@AWAVAUATUHSHHHOHHw(HH)HL`HGM<,KHtH2讜HHHEHH[]H ?jH5jH= j|fDAVAUIATUHSH HILuLLeMtL2LJH}LIELHH}H3ƝH[]A\A]A^HLHW H;HHtHPHH7 fDATUHSHH0H|$D$Ld$ =Ht$D$LZLHHl H|$ HtHPH|$HtHPH0H[]A\HH|$HtHPH H|$ HHtHPAWIAVIAUIATMUSH H( HH辿HCHHkHtHHD$HD$HH{LHl$H{LIHLI>HD$HD$HItHPH|$HtHPH{I6!IEHLI<$HD$HD$HI$tHPH|$HtHPH{I4$כH([]A\A]A^A_HHHe @ATUHHHSHHH0LD$HH$HD$۔Ld$ HT$H4$LLHHH|$ HtHPH|$HtHPH<$HD$HtHPH0H[]A\HH|$HtHPH<$HD$HtHPHH|$ HHtHP뻐f.ATUHHHSHHH0LD$HH$HD$Ld$ HT$H4$L腬LHHH|$ HtHPH|$HtHPH<$HD$HtHPH0H[]A\HH|$HtHPH<$HD$HtHPHH|$ HHtHP뻐f.ATUHHHSHHH0LD$HH$HD$Ld$ HT$H4$LU LHHH|$ HtHPH|$HtHPH<$HD$HtHPH0H[]A\HH|$HtHPH<$HD$HtHPHH|$ HHtHP뻐f.ATUHHHSHHH0LD$HH$HD$ Ld$ HT$H4$LLHHH|$ HtHPH|$HtHPH<$HD$HtHPH0H[]A\HH|$HtHPH<$HD$HtHPHH|$ HHtHPf.UHSHHHGvG8Hù1HHH&H{HH芕H{ 聕H]H[]HH&HHH͚H@HHtHH@fDfDUSHHHHHs(HkH} H}$D$ uD$K$CH[]fffff.Hfff.SHHPD$fWf.D$OL$f.D$zGH& wHD$(Ht$0D$HHD$0fWHD$D$fWD$ D$D$8D$ D$@D$(D$H HHHP[DGD$aSHH H&HH$HHD$HGHD$HGHHD$HH HHH H[f.D$GD$D$XD$D$D$FD$GD$D$XD$D$D$Ff.Hq&HHÐHa&HHÐHQ&HH=f.H1&HHf.H aH5aH=H8]f.H aH5`H=HO-f.UHSHHH$$EH{ D$D$H[]f.AWAVIAUIH5GbATUSHHHLd$0L|$Hl$ LLLHHD$0HxH;=M&uHHL&LLHHHD$ H.&HHHD$ ըHHH[]A\A]A^A_H=۟&HWHt$̳HHD$0Ht$HxԖHHHH}Hp(L蛻LLLL誻H|$HPht9H|$8HD$HD$HHEPJHHHHH*H&Hܠ&HH5&HHfHIH|$HtHPHD$H|$8HtHLHHVHHH訫H&HZ&HH5(&HHHIIHILfHHO&HHHD$ H>IHSLWHHÐ뻐AWAVIAUIH5_ATUSHHHLd$0L|$Hl$ LLxLH}HD$0HxH;=&uHH&LLHHHD$ H&HHHD$ 5HHH[]A\A]A^A_H=;&HWHt$,HHD$0Ht$Hx4H,HH H}HpLLLLL:H|$HPht9H|$8HD$HD$HHPJHH8HHH芩H{&H<&HH5 &HHHIH|$HtHPHD$H|$8Ht&HLHHHHHH&H&HH5&HHDHIIHILfH>H&HHHD$ VHIHLWHHÐ뻐AWAVIAUIH5]ATUSHHHLd$0L|$Hl$ LLLHݎHD$0HxH;= &uHH &LLHHHD$ H&HHHD$ 蕣HHH[]A\A]A^A_H=&HWHt$茮HHD$0Ht$Hx蔑HHHjH}Hp}L[LLLLzH|$HPht9H|$8HD$HD$HH PJHHHHHHۚ&H&HH5j&HH&HIH|$HtHPHD$H|$8Ht HLHHpHHHhHY&H&HH5&HHHIIHILKfHH&HHHD$ 趡HIHLWHHÐ[뻐AWAVIAUIH5gZATUSHHHLd$0L|$Hl$ LL8LH=HD$0HxH;=m&uHHl&LLHHHD$ HN&HHHD$ HHH[]A\A]A^A_H=&HWHt$HHD$0Ht$HxHHHH}HpHL軳LLLL躸H|$HPht9H|$8HD$HD$HHe PJHHHHHJH;&H&HH5ʖ&HHHIH|$HtHPHD$H|$8HtHLHHvHHHȣH&Hz&HH5H&HHHIIHILfHHo&HHHD$ H^IHsLWHHÐ뻐AWAVIH5WAUATUSHHXLl$@L|$ Hl$0D$LL蕼LH蚉HD$@HxH;=ʖ&uFL%ɖ&D$LHID$HD$0ID$HHD$0THXH[]A\A]A^A_H=Z&HWHt$KHHD$@Ht$HxSHKHH)H}Hp<LD$LLLH|$ HPht9H|$HHD$ HD$ HH"PJHETHHH覡ID$HZ&H5+&HHHIH|$ HtHPHD$ H|$HHtHHLHH2HHH*ID$Hޕ&H5&HHlHIIHILlHfID$HHD$0脜HIHLcH@H&@UHSHHHH&HHGkH[]HHYHaAVAUIATUHSHH0H6HHDeHH&DMHEHL$HLDd$ HHT$HHD$袅H0L[]A\A]A^fSHH7HCHCC[ÐfSHHJ RH轭H[AVIAUATIUSHHH>tMHE11fWHI<$tZMtL}Ht HEHPHH[]A\A]A^fDHNHRHL,$LL虬HH딐I~H3脬H;HHtHPHHHMtLHtHEHPH;IHtHPHLH1뾐UHSHHHL}tH$HHH[]DH<$HtH<$HPhuH$HHH<$HtHPHH[]H<$HHtHPH f.H &HHÐH阇H&HH}fff.AWE1AVIAUATUSHhLnHZ59ewLܗI91*fpL$8HL$@L$8f.L$@zT$@$$\D$0D$H$\$D$PD$HYD$HD$XD$PYD$PD$`D$XXD$`D$hQD$hf."D$pAFD$xD$xf.D$pvPI $IVD$pfWAFH IL$HJIL$HJHHJHHHJ H@HB(f.\$pHH藖H9sjLL'HIHA$D$(D$0D$(AL$f.D$0$H$fDILI9CL HAFfWD$ f.|$ H$ HD$HD$LH9D$  fDHH蜕H9kHt$L&HuHIHHI A$A$$$f.$z@u>AO$AL$$$f.$z UD$f.$z@u>AG$@$$f.$z HLLHD$}$HD$AF$$f.$H&$H|$LAFHH$ I$H$(IT$H$0IT$H$8HH$@HPH$HH@IVH$PIHHBIGHBIGHB衱fWf.$AFfWD$ f.t$ HH$ HD$HD$fDHhH9D$  fDHLDH9+Ht$HνHuLI追HLI豽A$A$$$f.$z@u>AO$AL$$$f.$z UD$f.$z@u>AG$@$$f.$z HLLHD$%$HD$AF$$f.$H&$H|$LAFHH$ I$H$(IT$H$0IT$H$8HH$@HPH$HH@IVH$PIHHBIGHBIGHBIfWf.$AFD$ D$ Hh[]A\A]A^A_@HD$UtfHD$HHD$hHD$HD$fDH7HG@AWAVAUATUSHHH|$tH[]A\A]A^A_ÐHHH@Hp H$HHD$HPH{H$HDŽ$HHCtHPH$HtHPHD$-k]H8hHPpbHD$H8(=@]HD$(H&0HDŽ$P$HHDŽ$XHDŽ$`H$@uHP0HH$PH$`t"=DZHHH@xt="ZH@H@ x(H|$(H$@H$X3IHE1f.LI91KL$`HL$hL$`f.L$hzT$h$8T$@\D$XD$p$8\D$@D$xD$pYD$p$D$xYD$x$$X$$Q$f.$$H$$f.$vWIMH$P$fW$HH IMHJIMHJHHJHHHJ H@HB(f.${zHH赍H9s`LLEHHI7AED$PD$XD$PAMf.D$Xi$8HL$@I'uL=Hv$HfWD$Hf.|$HH$pHD$HD$ fDLH9D$  fDHȞH9Ht$LVHuHIGHHI9AEI$A$$f.$z=u;AM$AN$$f.$z SA$f.$z?u=AE$AG$$f.$z DLLL$$H$$f.$H0&H$PL$H|$ H$HHH$pIH$xIFH$IFH$IH$IGH$IGH$IEHBIEHBIEHBӨfWf.$$HfWD$Hf.t$HEHD$fH訊H9D$ fDHL脊H9Ht$HHuLIHLIAEI$A$$f.$z=u;AM$AN$$f.$z SA$f.$z?u=AE$AG$ $f.$ z DLLLj$($H$0$0f.$(H&H$PL$(H|$H$HHH$IH$IFH$IFH$IH$IGH$IGH$IEHBIEHBIEHB苦fWf.$(fWf.$($HD$HH\$1D$HH$PH{CHPHH{H$PHHqPHH$PH&H$@HtvwH\$(Ht$H&H$HHIHHPH;fDHD$DHD$ H赇Hx!$HD$3HD$BHL|$(H:&Ht$0HD$0LMt ILPHHH$PHH&H$@Htvfff.SHHCD$D$H[fff.UHHSHH|CD$D$f. TwIHsHHPHH4$H$Hx,H<$HEHtHPHH[]HHHpHH[]H<$HHtHPHDAWIAVAUIATUSHHHHH|$HL$HP0HHD$uHHD$HH[]A\A]A^A_ÐIHH@H@H H9D$Hl$H\mHHqHIIFI^HHDHt;PHHBBHHuI^H1fI.L$[IEHLILPHLI6IHUHPHUH@HE?nHH;\$uH\$H|$ 1LHCHp HPHt$ H|$08L%)y&H*~&1HIHl$0LuHz&HLL1YHHEAtH|$ HD$ HtHPHEHP0H9r+HD$H(H|$ H@HP5f.HD$ HL$HHD$ HHEPHHEHPH|$ HtHPHTHL9sHI>HHt!sLsHfH{&HHÐH{&HHrf.H{&HHÐH{&HHrfff.H7G@wÐf.Hfff.GÐf.AWIAVAUIATUSHHHHH|$HL$HP0Hu!HHD$HH[]A\A]A^A_fDIELP0HHD$tHIHH@H@+H@H@H\$H|$ 1LHCHp HPHt$ H|$0襄HH=Cy&Hl$0H@H@H91ۀ8*tH)҃ۃH:x&HrH9s8*tH0HDItH|$ HD$ HtHPHEHP0H9r(HD$H(H|$ HHPHD$ HL$HHD$ HHEPH H9D$H\$H,[HHHIIFInHHHtKHHBBHHuInH11 IL$vIELILPHIM&HHPHSH@HCoLHiH;t$r eHLoHI>HHtoLoHHH|$ HtHPHHtHEHPHAUIATIUSHH(HHh&HL$LHHLl$HD$!kH(H[]A\A]H7HG@D$D$Gfffff.AWAVLvAUATUSHHI9Ht$HLvIILHv&HI9HD$@KHD$HKDHD$PKDHD$XHRIHHT$`HPHT$hH@HD$pHC IMhMHt$H$HD$`L$ Hl$HHD$fDIIL HT$K<)HD$(D$(f.D$ v D$ Ld$IL;$$uAGD$8D$8f.D$ rQIGH1fBpII9uHĈ[]A\A]A^A_GD$0D$0f.HsHD$HD$Lt$Ht$LLDHLL6@AVAUATIUHSHH@H@I$HEHXHH9-H)ÿHHHJHIHH@H@H@1IEH]LmHtH;HtlHlHE1HHPH+HHHHLHELhL+(HILMtn1fDHL9t[HUHfHHtvH8H;HKH)HHLlHtHHH;IHtwaH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.SHHHHWHxHt$Hv HJ H觾u H[DH{HGH;Gt*HHT$tHHGHHGH[1@Ht$o@AWAVAUAATUHSHHGH+HHLHt$H}HMILxHH)HLHHt$HHH}HuHH9tuHLfDHt HHHHHH9uLuH]HH)HI9M|H;Ht_HHI9uH}Ht_LeML}LeH[]A\A]A^A_HH9vIH:HH9wIILHHGHFHGHFHGHHG HBHG(HBHO8LG@HG0Hg&HHÐf.HHGHFHGHFHGHHG HBHG(HBHG8HG@HG0Hsg&HHÐfHFHGHFHGHFHGHF HG HF(HG(HF0HG0H1g&HHHF8HG8HF@HG@ÐHG8Ðf.HG@f.Haf&HHÐHQf&HH]f.ATUHSHG1LgI)IMuHEHHHtvH8H;HKH)HHLlHtHH踔H;IHt'VH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.AUATAUSHHHWH+HHLHt$LHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHH踓H;IHt'UH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.SHH7HWxfWH /H@@p@0@8H@@H@PHXHCHCC(HC [ÐfSHHHHJL@ HV HqH{[鶽fDAUATILUHSH(HuH|$HD$HLhL9uY@HI9tH3LH}tH\$Ht%H;Ht D$ SD$ H߉D$ SD$ H([]A\A]H1H|$HHtH½fAUIATUHHSHHudHI1}I9tH[]A\A]fDHyI;ErI;E@AWIAVIHAUIATUSH(I7H|$HL$~HD$HL`L9u zHI9tgH+LLHUuHT$HL{tH\$Ht%H;Ht D$RD$H߉D$sRD$H([]A\A]A^A_H\$1H1H|$HHtH膼fDAUIATIHUHSHHBOtH[]A\A]HHH[]LLA\A]u@AUIHATIUHSHHHPH+HH9w5H9vODHLH)iI}H-BH9wH[]A\A]H !H5 H= RH H5p H= Rfffff.AWAVIAUIATUHSHHH~ HHPH{ ILHPHHD$ZHT$LHI~HsLeLLHAH{HuĬHH[]A\A]A^A_HLPHߺH}HHtHPHEH轺fff.AWIAVIHAUATUHSHhHHL$PHILLPHmX&HHT$ HHT$(HPHT$0H@HD$8HHD$@HCHD$HHCI^H9HD$P| ++Ll$@Ld$(L$IHLPLLH6D$D$f.D$v D$IHH9wHD$D$HhL[]A\A]A^A_*T$ϐfffff.AWHFAVAUATIUHSHHH9HIAGDH{I?I9H{ HL$LH输C(H{ HD$LD$ D$D$(D$(f.D$ DGHPH{ IHHPHV&HsHL$@HHHT$@HHT$HHPHT$PH@HD$XIHD$`IFHD$hIFLt$0Hl$0Ld$8LHD$p umEthH|$HLHYHD$H{LHD$HD$0NH|$0HtHPH|$HtHPHĈ[]A\A]A^A_@HT$IHLH豜Ht$LLH螜@H/HILHHSH{Ht$@Hl$@豵H|$@HopfDH{>IWH9A-H|$0HHtHPH|$HtHPHDHHLH1H|$@HHufHStdHHwH蛯HHC t-HHR@t[H{ HP0HHP1[1镛H H5H=FMH oH5xH=BMD$HGD$@(f.HG^fDAUATUHSHiHù1HL-R&HH{ IEH:L%KQ&)HChHCpC`HCxID$HC H]Hù1HHIEH{ H: (ID$HChHCp0K`HC HCxH]Lm蟴HLHILeH[]A\A]H{H3\HU&HHHJH5LHJH}HthHEH}HtRHEHHH{I[H^U&HHHL|JHDHYS&HHÐHQ&HHÐHQ&HH=Jfff.HS&HHJfff.UHSHH9w*H,H[H1HHHPphL|$P HD$XHD$`HD$hI D$p?HD$xVHHD$XI}HD$PHB&L|$Ht$HD$HHH\$`MeHtSHsHH@HuHI<$uHmHuHsHL;HHuH\$ HxIUHA&HHL|$@HD$ UH\$`L$$Ht)HkHtH8HEHHuLM&{H|$PEHĈL[]A\A]A^A_DIuLHH H5TH=U_FH H55H=UYFH蜨H\$`Ht!HkHtH!8H9EHHuIHLzH|$PEHZf.AVAUATIUSH H\$D$H7D$Hp{HL%uHl$HH]HtH{HtDHCHDLmHEMMupI]hI9f.H;HtSDHHI9uI}hHt5DHK&I} HIEHI&HIE zMuI]I9DDH;HtCHHI9uI}HtCHN&LHIECLmHEMMupI]hI9H;HtCHHI9uI}hHteCHNJ&I} HIEHH&HIE zMuI]I9tkH;Ht#CHHI9uI}HtCHM&LHIEBHEHBH L[]A\A]A^LWLLzLHl$IHH]HtH{HtBHCHyBH]HEHLspLchM9tI<$HtIBI$IH{hHt-BHI&H{ HHHG&HHC xLsLcM9tI<$HtAI$IH{HtAHL&HHHAH]HEHLspLchM9tI<$HtAI$IH{hHtnAHWH&H{ HHHF&HHC xLsLcM9tI<$Ht-AI$IH{HtAHK&HHH@HEH@L3fAVHAUATUHSuHJ&H5E&1IHvHINHL<@HHHHLHI1MfөHH/HHhLh1HLIt$IHSLlHH8H@HD&H5s H&|H5H|H߾1H5Hú'H{HH@HH}8tXECH葬HMt-L\2[]A\LA]A^l?@HHLLWn[]A\A]A^fDHcHE HP0H,%6HL ?HSUHSHHHu @HH>HuHEH}1H1HEHEH[]f.AWIAVAUIATI̹UHH SHHWHwLw蜀HHIHuE1IHELUHu\@HHIH2HtGHHF1HHMI8HuHEHHuMH>HK4IuH}=1LLuHH]IIK>HHt8HI$HL HEHL[]A\A]A^A_LuIK>HHuHUI$LeI$HtHB1HuLM$HEHUHfI HpLu(AHHWL=AHҙHJf.FPH7D$D$f.lGÐfffff.AVAUIATUHSH HHHPHH`H}LHӫH؄tH []A\A]A^DH}IUH蘥H}HsLHP HIH9ID$@H}HPHLAP(IH@HP0HZHSHJHIHI0L;auH@HK0I9twHA0H@HXHCH@0HHhHEHxHtHSIEHsLHJHUHRHHPtH͕HCH@0HXH L[]A\A]A^HCH}H@0HXHs0Hl$HT$H5rHHjHHaHD$Ht$Hx>;HD&H5`?&H舒HH=HHHD$Ht$Hx:ؐfff.ATIUSHnHH9tDHLH [H9u[]A\f.DHD&HHMLf.HD&SHHH)LH[ :HHGHGSHHHLH;H$H$HHtHRH<$HtHPH[fffff.SfWHHH HCKCH[ÐAVAUATIHUHSH HP0HII$ID$ID$u|ID$1ID$1IF@HEHHPHLHHD$HHI$HBHD$HBHD$HBHUHR0H9rH L[]A\A]A^HI9wILHH HII$I\$ID$HfHtH賑H IuID$7jH蒛I9tILI I9uMLH#yHl$(H\$ H9t\@HHH H9uH|$ H0Hh[]A\A]A^A_DLL譊IH}HDHHH0LRHHf.SHHC[ÐATIUHSHHHuLHlMH[]A\@ATIUHSHHHuLHRH[]A\@ATIUSHoHH9t2DHHH H9uI<$Ht[]A\/D[]A\HfDHD$D$D$f.D$T$f.T$v} L$L$f.L$ HD$0HGHFD$8GHGHFD$@D$0HGD$8FD$@FHĈNL$JL$L$f.L$[ L$L$f.L$HD$HGHBD$GHGHBD$D$HGD$BD$BHĈfDf.T$f.L$wH{HkHHPHsH\$@H61LH]Hl$XH\$PH9td@HHH H9uH|$PH!HD$D$@LLn9HuHDHHHpLd$XH\$PI9tHHH HH|$PHt?H~D$8D$D$)HD$8 fUHHSHHL.HCHCHEHH[]fATIUHSHHH0.HuHLdH<$HPptH$HH0H[]A\H|$HU LcH$Ht$H|$ \wH|$HD$ HD$ HHtHPH<$HD$HtHPH0H[]A\H|$HHtHPHD$H<$HtHPHD}Hfffff.AUIATIHUSHH8-Hl$HsLH4HS HHR7H$HtaI$Hl$H\$H$H9tAfDH;HtHRHHH9uH|$HtKH8L[]A\A]HLLiH<$HtHPH<$HHtHPH$HJHB|Hf.HSHP HC[HGH@H@SHHHWHtz@uHHt$HPHSHt$H{9HCH[Ðfffff.H9&HwHGHHDH&HHÐH&HHÐH&HHf.H&HHf.AWAVAUIATUSHhHl$PLt$@Ht$H5HL@HL HD$PH&HxH9Hc&L|$ HT$H5jLHIEb@Ld$0LLH5LLHt$La~HLHHT$@HSH' HD$@HxH9HD$0HxH9HD&HHHD$P!HD$ HxH9u?Hh[]A\A]A^A_H=&HWPHt$0,H=&HW0H,H=&HWSL~,FH=a&HWtzHt$R,HHD$@Hl$HHxTHD$0HHxCHD$ Ht$Hx0H!&LHIE HyPJHHHl$HHD$0LHxHHHD$PHt$0HxHxH댋PJHPJHPJHf.fHA&HHH3&HHGfSHHHtaHWHtJHzHt#HPHCH@H@HCHPHt HHPHCH@H{HtHRHC[Hw8Ðf.HG8Ðf.SHWAH[n fffff.HO0LF0HQI@LJ0LP0LG0HN0LR0LH0ÐfDATUSHGHHP0H@H@LbH@0LHhU HCHHxE ID$HH@H@H@0Hp( HEH@H@H@0HpHCHx ID$H@HPHSHP HS H@(HC(HEHPHCHJH@HHHJ HH HR(HP([]A\ÐHq&SHHGHHHG|eHC0HC8C@CA[fAWIAVIAUATUSHH|$HmuHH`HXuHI}`HCuHIh`H.uHHS`IGLkMeIl$H]H[0Im0Md$0Lm0HCIGHC IGHC(HCIVH@HPIVHP IVHP(HD$HH[]A\A]A^A_HH7 HuHH$ HluHL HYuHL HFufDATIUHHRSHFHHpH.GID$H;H@H@H@0HpHHH@HxH[]A\H;HHtHPHHtfDHGGHPD$HBD$D$f.D$wD$Hf.D$vfDG HD$B D$D$f.D$wD$f.D$HGHGH@H@@@HGH@@@HG@@G@ÐfDGD$FD$D$f.D$z tf.1DG D$F D$D$f.D$zuHWHFHRH@BD$@D$D$f.D$zuB D$@ D$D$f.D$1f.D$DÐf.UHSHHJt H[]@HEHHpH[]Jf.ATHFI8USHHhrHH&HHHCHBHC HBHC(HBHEHB HE HB(HE(HB0LI$[]A\ATH&UHHSH_ H;_(Ht"H;HRH;HtHRHH;](uHHtHPLe`HHDžH HHI9uH} HtH}Ht[]A\[]A\ÐfSH'WH[~fffff.ATUHSHHD$xFL$x$f.$RFHDŽ$$Y$D$D$L$X$X$LL$D$2L$YD$D$ D$ TEH$LD$(HChH$D$(\D$HCpH$HCxD$0EL$0D$8D$8\D$D$@D$@;TEH$LD$HHH$D$H\D$HH$HD$PEL$PD$XD$XD$XD$`D$`SChH$$CpHH$$H$H$$H$f.$=$$$$f.$$$$HL-D$hD$p$$$f.$:f.D$hD$hvf.$v$$f.D$pD$pv$f.$vH[]A\Ð$$$$\D$x$F$F$$f($\$$$f.$NYD$RD$hD$pH[]A\$$$$HDŽ$XfDAVLAULo`LATIIĠUSHLHH>H$LLHH>H4$HHsH@HxLLH>H4$HCHsH@HxHCH3H@HxH[]A\A]A^ÐH>HGH@H@H@0H@HFH@H@H@H@0H@HFH@H@H@H@0H;xuUSH(Hl$LHT$H5HH1HH>KHD$Ht$HxH4 &H5&H%YHHOHkHHD$Ht$Hxf.ATIUSHFHHH@0HprHCHxHGH@0HpYIl$IT$HH)HHHHeH;dH;ZkH;ZXH;Zu1f]H;Z tZH;XH;XH;XHHB HHuHH)HHHHu|H;uwHH9tlHAH9twHH9tHHHH9uH9t?IT$H9tIH)1HHtHHH|>HID$H)HHID$H[]A\1@HJ(jHJ0ZHJ8JH;>HH;1H HHHJHJ HJ@AUATE1UHSHXLoL+oH_8IIM98ED$CD$ D$f.D$ z?u=ML$(K L$0L$(f.L$0zuHXH[]A\A]fHCH@HL$8f.D$8z-u+ED$@@ D$HD$@f.D$HztDHHCtHCHX,@Hs0HCuH[0HCHH@H@H@0H@H@HptC5HCH@H@H@0H@H@HXHl$HHT$H5+KHH-HHPHD$HxH;=&u)H&H5&HBUHHKHgH=&HWt1Ht$HHD$Ht$Hx뱋PJHːfAVAUATUHSHH`LLl$@I$LLphLLAHHPHJA$D$$f.D$D$8HEHD$0L$0$@HI0H9HqHvFD$8f.L$8zuF D$ ED$(D$ f.D$(zuH`H[]A\A]A^wI L$KL$L$f.L$OIHAHpHFD$87H`1[]A\A]A^ÐATIUHSHHHPEPH$AD$D$AD$D$@D$ @ D$(D$\D$ D$0D$\D$(D$8D$0YD$0D$@D$8YD$8D$HD$@XD$HD$PQD$Pf.D$X$f.D$X\EPD$HCAD$H@D$`AD$D$h@D$p@ D$xD$`\D$p$D$h\D$x$$Y$$$Y$$$X$$Q$f.$D$f.$wqHELHsHP HIHJIT$DHMHRHHQ(HPHB0HXHCH@H@HH0L;auHİL[]A\fDHİH[]A\D$Pen$eCfDFD$GhD$D$f.D$z&u$NL$OpL$L$f.L${6L$f.D${0L$f.D${R1uuNL$L$L$f.L$zufDuFD$D$D$f.D$1f.D$DfUHHvSHHtH[]HEHHpHduH[]ÐATIUSHH@HFH&HH@HjH,$H@H@0H@H@H@HPHT$HP H@(HT$HD$uRID$Ht$ HHl$ H@H@H@H@H@0H@H@H@HPHT$(HP H@(HT$0HD$8H@[]A\Ð@SHHfWHPH%HV D$8HL$@HD$D$0HFH@HT$HV HT$ HV(Ht$HT$(HPHT$0HP HT$8H@(HT$0HD$@j\D$CX$$f.D$HP[fDHGPD$ BD$0BD$8FD$@F D$HD$0\D$@D$PD$8\D$HD$XD$PYD$PD$`D$XYD$XD$hD$`XD$hD$pQD$pf.-D$xD$ f.D$xGPD$(HFBH@$B$@$@ $$\$$$\$$$Y$$$Y$$$X$$Q$f.zb$D$(f.$w 1HHD$pHT$Ht$H|$aHT$Ht$H|$$`뎐fff.u'HGHOH9tf.HHH9BAuƇSHH H|$0HC(H;C0HT$HD$HT$HtXHHC(HHC(HSH;StOHHD$t=HHSHD$HHSH|$HtHHD$RHD$H [Ð1@1@Ht$H{IHD$Ht$H{ jI|H|$HHtHPH]f.SHH H|$ HC(H;C0HT$HD$HT$HtXHHC(HHC(HSH;StOHHD$t=HHSHD$HHSH|$HtHHD$RHD$H [Ð1@1@Ht$H{HHD$Ht$H{ zH|H|$HHtHPH\f.AVAUIATUHo`SHH H%HGD$HGHGHG HG(D$HHHG0GPHCKH7KH+K ;Hǃ(HǃHI CPLƃLHD$D$^D$D$CX*Lk8HLHCH;CLsHHS8HHCHHCHC(H;C0Lc [HHS8HHC(HHC(HCH;CLk@HHS@HHCHHCHC(H;C03HHS@HHC(HHC(HCH;CLkHHHSHHHCHHCHC(H;C0HHSHtrHHC(HHC(H []A\A]A^fD1f1"f1@f1Zf1xf1@LLELLEGLLELLuEMLLeEcLLUE1AI)III9tI I$H$LH$IH{ Ht*H{HtLdYHIHtHPHǃLI9tI I$LLIIӺfMf.AV1E1AUIATIUHSHHHD$`HD$hLt$`HD$p@fDMtHPIHP IPH@(I@HCILD$hH@0HXH9L9HCtUA@D$@D$ D$f.D$ z0u.A@D$(@ D$0D$(f.D$0z tL;D$p]HpLyHCLD$hHt$`H@0HXH9lf.D$8A@D$@D$8f.D$@zL9D$pHII@HFI@HFI@LD$h(VHt$`1HH?;HLDWEH|$`H$I$D$E HD$XE(HP D$D$$D$X$D$$tHĠL[]A\A]A^@FD$HA@D$PD$Hf.D$P!H|$`fHHH=H|$`Ht.HvVHAV1E1AUIATIUHSHHHD$pHD$xLt$pHDŽ$=MtHPIHP IPH@(I@HCILD$xH@0HXH9I9HCtUA@D$(@D$0D$(f.D$0z0u.A@D$8@ D$@D$8f.D$@z tL9$ZHpLHCLD$xHt$pH@0HXH9iD$HA@D$PD$Hf.D$PzfL9$HII@HFI@HFI@LD$xLHH)HHHw3L9$@MtI@II@I@I@I@ILD$xIu 1LHHPLt$HLL"H$LLH+H|$H$HI$t HRI$EH<$D$ E HD$hE(D$D$ $D$h$D$$HZ tHPH|$pH$HtHİL[]A\A]A^ÐFD$XA@D$`D$Xf.D$`qkIpLLHt$pLD$xlH|$HHtHPH<$HtHPH$H|$pHtH#SHHߐAWIAVAUATUSHHhHt$T$Hl$0RHH@LmH@IHLpH[D$8HD$@HD$XLl$HL9Ll$PHD$ HD$HD$(HD$;HD$ H@HL`Ld$(ILL9tzHI9L#HLd$ ILL9uLHN|$I?HWH;WHHD$  HHWHD$ HHWhLHN|$I?HGH;GHHT$(HHGHHI9HGBHt$@H HhL[]A\A]A^A_fH|$L#I?HWH;W0Ht$<H|$LI?HGH;GIHt$x<11A1XHt$@HH+ I?Ht4bIHPfffff.AWIAVIAUATUSHLl$pHl$ T$O1HH@H@LIHD$pHD$xHDŽ$HDŽ$HDŽ$HDŽ$HDŽ$HDŽ$HDŽ$HDŽ$1HHD$ HD$(HD$0HD$8HD$@HD$HHD$PHD$XHD$`HD$hGHD$pHL$H|$0Ht$8HL$@HT$HLD$0L$H$H|$PH$Ht$XLD$8L$H$HL$`LD$@L$H$HT$hLD$HL$H$LD$PL$H$LD$XL$H$LD$`L$H$HT$ LD$hHD$ HD$(HT$pHT$xHD$xHT$(L.HL$`HD$PHQH9_HIW8tHHD$PHHD$PLUHD$HD$fHXHHD$P{At=HD$PH;D$0H9D$XHT$huHBHHNS{AuH8V|$HD$ID$I;D$8HHT$ HID$HID$HC0LHHD$pHCLHH@H@0HD$pHCCAH@@AHD$PH;D$0H|$ Ht[H'JH|$0HHtHPfAWIE1AVIAUIATU1SHH(L$HcńIt~LCM`A|$At>CAI@H@H@0HXI9uEu}H(I[]A\A]A^A_Iy@IA0HWH9toHt L IA0LCHIA0DHLL$LL$, L$DELL$U|$xH(1[]A\A]A^A_@IqHIAHI+HH)HvbL$LL$Ht$GHt$LL$L$HFIA0HtL IAHLCHPIQHH@HIA8IA0IQ@L1҉L$LL$.LL$L$IqHtAVI1AUDATIUSHH\$PHD$PHD$XHD$`HD$hHHHD$pHD$xHDŽ$HDŽ$HDŽ$HDŽ$1HH$HD$HD$HD$HD$ HD$(HD$0HD$8HD$@HD$HLHD$PHLD$`H|$Ht$HL$ HT$(LD$LD$hH|$`H|$0Ht$hHt$8LD$LD$pHL$pHL$@LD$ LD$xHT$xHT$HLD$(L$H$LD$0L$H$LD$8L$H$LD$@L$H$H$LD$HH$HD$HT$PHT$XHD$XHT$HMHL$@HD$0HQH9HIT$8tHHD$0HHD$0LsHXHHD$0{At5HD$0H;D$tQH9D$8HT$HuHBHHK{Au@DHHL4HtIHLDHHĠ[]A\A]A^HL$HHD$HH+$HHH)HvMDHCHD$0IT$8HtHHD$HHPHT$HH@HHD$8HD$0HT$@1ҾH*H\$HHHH!EHHHEfffff.H(H%Ht$HHH$H%HHD$ H(AWAVAUATUH1SHH|$HHt$@HD$@HD$HHD$PmHt$HH+t$@Ll$`HD$`HD$hLHD$pH!Lt$HH\$@HD$ Ld$L|$0H$L9tyDHHLH<$LH3HD$ LLHD$ HD$0IH|$0HtHPH|$ HtHPH|$HtHPHI9uH|$LHHl$hH\$`H9fH;HtHPHHH9uH|$`HtHl$HH\$@H9tM@H;HtHPHHH9uH|$@HtHD$HĈ[]A\A]A^A_HHILHl$HH\$@H9t%H;HtHPHHH9uH|$@HHtVLBIH|$HtHPH|$0IHtHPH|$ HtHPIĐtf.AWI׺AVAUIATIUSH8H%HHGHGHLHH$H|$1LHD$LHpH+0HLHD$HLpL9tqHl$ fDHLLH/HLFH|$ HtHPHI9uH\$HtH;Ht$HH8L[]A\A]A^A_HH|$ HHtHPH|$HtRHD$H%LHH$H AHHאATIUHSH HHgHHL Hl$H$H9t;H;HtHRHHH9uH<$HtLH L[]A\HHHHx@AWI׺AVAUIATIUSH8H%HHGHGHLHH$H|$1LHD$LHpH+0HlHD$HLpL9tqHl$ fDHLLHHLDH|$ HtHPHI9uH\$HtH;HtDHH%HHÐH%HHÐH%HHGH%HHfH%HHf.H%HHf.Hi%HHGHb%HHf.@ATUSHHHHFHVHl$@H$®HD$HqHID$Ht$@Hq HI(Ht$HHL$PHJHL$XHJ HL$`HR(HT$hHPHT$pHP HT$xH@(H$HHtReH|$ L>1HHL$(HHHRHJHL$0HJ HL$8HJ(uHĐ[]A\D묐AUATAUSHHHWH+HHLHt$;LHKHHt$L)HH>HHtvH8H;HKH)HHLlHtHHH;IHtH+LLkHkH[]A\A]fDHH9vIZLE1HHIH9LF.ATIUSH?HtAID$HI\$(HhH9vfDH;H\H9wI<$[]A\Jf.[]A\f.AWAVAUAATUHSHHGH+HHLHt$h:H}LEILxHt$HL)HHLtHI9LLHt HHHHHH9uLuH]IL)HI9M|t&@H;HtHPHHL9uLuMtLQLeML}LeH[]A\A]A^A_HH9vIMHH9wIIf.AUATUSHHHt:H%ILh fDHHsLyHkLk HHuH[]A\A]fHWHOHFHD$L$6fB0D$FD$D$f.D$v*HRHt-B(D$f.L$wD$f.D$vHHRHuH9tI@(D$D$f.D$w0f.L$w0FD$@0D$D$f.D$v @H@f.@AWAVAUIATLgUHSHhH_HvFD$ ;fDML$K0L$L$f.L$v8HCHt5HC(D$D$f.D$ wL$ f.L$vHC1Hu˄D$XHD$ f.D$XHIM9|EAD$8AF(D$@D$@f.D$8wD$8E0f.D$@ @6HHtEH@H@H@Hj%HHC HEHC(HEHC0HEHC8LLHD!IE(HhH[]A\A]A^A_LfMuI9!HED$ @(D$XD$ f.D$XD$Xf.D$ w(@0D$(ED$0D$0f.D$(Hh1[]A\A]A^A_EE1D$HAF0D$PD$Pf.D$HAA1f.@AVIAUATIHHUSH_HHHBI|$Hh5IT$I$H)HL,IlI9s!L65HHH9wMl$(IUA?[HIT$ID$ HEID$HHE]IT$ID$8HJIL$@ID$0A\A]A^H.I9sI}IMI9rH (Hs.I<$*I$ID$H'HT5@SHH8HCHHPHSHH@HHC8HHC0HS@[AWAVAUAATUHSHHGH+HHLHt$3H}HMILxHH)HLHHt$HHH}HuHH9tvHLfDHt HHHHHH9uLuH]HH)HI9M|H;HtHPHHI9uH}HtLeML}LeH[]A\A]A^A_fDHH9vIH:HH9wIILAVI(AUATUHSH021ҾHHHC%Ll$H$H1L`HTLd$LHBHD$HB HD$ HB(HHD$(HPHHH<$HuHuHHPHI~HGH;Gt9HtH$H$HHHGH<$HtHPH0[]A\A]A^ÐHhHHkH2H<$HHtHPH2fAWAVAUATUHSHHHOHHw(HH)HL`HGM<,KAG$AF$$f.$z AA$:!$'!bIHLԴHt HEHPH HHH譴H@D$H%L$D$T$HGHD$GD$Gfffff.USH HhF$BD$$XD$D$|L$YL$NL$ JL$(L$ XL$(L$0L$0YL$8NL$@JL$HL$@XL$HL$PYD$PD$XT$XHL$8HD$FH+HhH[]HH^HfDHa%HHHHGHFHGHFHGf.H1%fW mHGHGOfDHFGH@D$GD$@D$@ D$FD$F D$D$\D$D$D$\D$D$D$YD$D$D$\D$D$D$\D$D$D$YD$D$D$\D$D$D$f.fDHFGH@D$GD$FD$F D$@D$@ D$D$\D$D$D$\D$D$D$YD$D$D$\D$D$D$\D$D$D$YD$D$D$\D$D$D$f.ҌfDHD$FD$D$D$\D$D$L$D$D$\D$D$BT$D$D$\D$D$AD$D$\D$D$D$YD$D$YD$D$\D$D$D$D$\D$$GD$D$\D$D$D$YT$Y$YL$T$ D$эD$L$H\D$ D$(D$(^D$D$0D$fWD$8D$8Y$D$@D$@XD$HD$PD$P^D$D$XBD$`FD$hD$`\D$hD$pD$pYD$0D$xD$hXD$x$A$$\D$h$$YD$X$$X$$$HĨÐHD$ FD$(D$0BD$8D$ \D$0$D$(\D$8$$Y$$$Y$$$X$$Q$f.H$D$@GD$HD$PFD$XD$@\D$P$D$H\D$X$$Y$$$Y$$$X$$Q$f.$BD$`FD$hD$`\D$hD$p$^$D$xD$xYD$p$D$hX$$$H$HT$Ht$H|$HT$Ht$H|$$HT$Ht$HT$Ht$!ATUHSHHBL$ $LzFD$$\D$D$BD$FD$ D$\D$ D$(D$(YYL$D$0D$ XD$0L$@D$8D$L$8XD$@D$HD$H襜C؈D$PD$XD$PD$XD$0XD$XD$`CH$L$`D$hHD$h\D$(D$pD$@XD$pD$xD$x#HLHHH[]A\fDAVAUIATIUSH HPFD$0FD$8;L$0HD$8HHLHֱH|$LLƱHT$H4$H|$ H|$ HrH|$ D$@B D$HL$HHD$@I;H;L#HtHPH|$ HtH|$HD$ HtH<$HD$HtHH$t HEHPHPH[]A\A]A^HH躩HIIL褩MLHtuH;HtHPH|$ HHttHD$ LH|$HtYHD$H<$HtBH$Ht HEHPHsL[ IkHHÐHfH%HHÐH%HHͨf.AUIATIUSHHLLHH"H+HH[]A\A]HHvHf.@@7AVAUATUHSHPHHxLd$ HT$H5zLHLl$ Lt$H5}LLH\$0LH(H5҇H$LHHH%Ld$@HLHT$@HSH裤HD$@HxH9HD$0HxH9"H%HHEHD$HxH9HD$ HxH9H %H%HH54%HHEfDLd$ HT$H5|LIH\$0LH'H5цH#HHHH%Ld$@LLHT$@HSH袣HD$@HxH9uTHD$0HxH9uoHǰ%HIEHD$ HxH9H&%H%LH5M%HIEH=X%HWDHt$IH=/%HW;pLcH=%HW7Ht$(H=Ѯ%HW3L&H=%HW LH=u%HWLdH=G%HWtSL:HHD$Ht$ Hx?HD$ LHx.HFHPJHHHD$0Ht$@HxLd$HHD$0LHxHHD$@Ld$LHxŤHLHHHD$ Ht$Hx蚤HHD$0Ht$@Hx肤Lt$HHD$0LHxgH/HHHD$@Lt$LHx<‹PJHPJHPJHPJH8PJHPJHFf.AVAUIATUHSHH$$$f.$zIIEHxLt$`HT$ H5bLLl$@HL/Hl$HHHx 1HHH%H|$ H5xHT$ HSHHHT$0HSHHT$0HD$@HJHHpH;rWH;pM1LKHHT$PHSHHT$PHD$`HJHHpH;rH;p1L HL$H5wLHT$pHSHHT$H$LHH5ŁHLl$pHLHH$LHH$HSH蒞H$HxH9wH$HxH9H%HI$H$HxH9&H%HI$HD$pHxH9aHD$PHxH9HD$0HxH9kHD$ HxH9HD$HxH9HD$@HxH9!HD$`HxH9HX%H5%LQF$G$$f.$82H[]A\A]A^fDLt$`H55LL5@H|$PLCfDH|$0L+H=%HW@hHt$ YH=%HW HݼH=%HW2H诼H=%HWHH聼;H=d%HW>HS1H=6%HWxH%H=%HWHH=ڧ%HW<~HɻqH=%HWNtH蛻gH=~%HWHmHH$Hl$HHxlH$HHxXH$Ht$ HxBHD$pHt$ Hx/HD$PLHxHD$0LHx HD$ LHxHD$LHxHD$@LHxڝHD$`LHxɝLHHHl$@PJHHH$H$Ll$pHx{HLl$pHLl$pHLl$p HLl$p$HLl$p(HLl$p,HLl$p0HLl$p4H=PJHPJHPJHPJHPJHPJHPJHmPJHPJH@AUATIUSHhHI$Hx?H\$H5{LHHq1HHH%Ll$0H5qLHT$ HSHHT$Ld$@LL˪H5u{LLjLl$ LL HLd$PHLHT$PHSHHHD$PHxH9HD$@HxH9DHe%HHEHD$0HxH9Hğ%HHEHD$ HxH9HD$HxH9ujHu%H5Ɲ%HnfDH\$HT$ H5HH=%HWCHt$蟷4H=%HWuLqhH=T%HW[LC H=&%HWM LH=%HWLHHD$PLd$LHxHD$@LHxؙHD$0Ht$ HxřHD$ Ht$ Hx貙HD$LHx衙HHHHD$@Ht$PLl$ HxvHLl$ HLd$tPJH6HLl$ {HLl$ HPJHNPJHPJH^PJHf.DHѢ%HH}f.H%SHHHYH[PAUATIUHSHHHUIHk%HLHHHEHpQLLHSHHHH[]A\A]H;Ht$HH&Hf.@wXfff.SHHHHPHSH@HCHHSHPHS H@HC([ÐfH%SHHwHHHH{HCUCXd[fff.HHHFHGHFHGÐHgfDHHGHFHG HFHG(HǖfDD$D$G8G0ÐD$HD$kf.D$D$G0fffff.D$HD$f.D$D$G8fffff.D$HD${f.SHHD$pD$pf.D$pFD$8 F8$F0D$D$XD$pD$D$f.D$pwWD$p@$XD$8D$D$f.D$8@D$8@HHİH[fDD$pD$@롐D$xD$xf.D$x4N$$f.$F$F $f.$TN8 D$hL$ N0L$H oYL$HL$PD$P\T$PX$T$`D$XD$Xf.D$`D$`D$X@oYD$ D$(D$(XD$hD$0D$h\D$(D$@D$0f.D$@w`@D$@@HHİH[fD$8@D$@XDD$`@^@D$@@D$0@HHİH[$$f.$N($$f.$lF0 $F8$vfW$f.v=$@$f.w4@H@HHİH[H$f.vH@$@HHİH[ÐSHHD$ $D$m$WGH~HHH[ÐfDAWAVAUATIUSHxFXH|$DhDIAEBHcH,[HH|$0It${HD$0$@$ $f.$ $ \$$(A*D$p$(^D$pD$h@$0@$8$0\$8$@$@^D$p$HHHDŽ$PHDŽ$XHDŽ$`GHH$PHH$`HtlHHBRHHuIHD$H$X11H$ L$PHD$0H<$LD$x*Ã$$YD$h$D$xX$$@$$$腈HD$I.HD$ID.HD$ ID.HA9SHcE1H,@HDHD$0H<$LL$P@$@$A*$$Y$H$$X$$$$躇HD$AI/HD$ID/HD$ ID/HE9DHcE1H,@HfDHD$0H<$LL$P@$A*$$YD$h$$\$$@$$$HD$AI/HD$ID/HD$ ID/HE9GHcE1H,@HHD$0H<$LL$P$@$A*$$Y$H$$\$$$$#HD$AI/HD$ID/HD$ ID/HE9EH$PHcHl$@H[HHHH HHHJH@1HBID$H$PHp HPH\$PIt$HHIt$H|$HtH|$PHtHPH|$@HD$PHtHPH$PHD$@Ht谌H|$0Ht行HD$Hx[]A\A]A^A_f.A*D$`fW^D$`D$hD$h$HNxAaH|$PHHtHPHD$PH|$@HtHPHD$@H$PHtH|$0HtH-HHHfW^D$p$HfDAWAVAUATIHvUSHHH|$H|$@9H|$@$G$$f.$GHD$hHDŽ$$D$hHD$@X$D$p$X$D$xAT$XHDŽ$ HDŽ$(HDŽ$0ZHcHHDŽ$011H$(pHD$L|$8Lt$01H$fD*LLDk$*$T^$$$Y$$$D$0H<$H[L$D$8Hl$$$$YD$h$$XD$p$$$$Y$$$XD$x$$$݁HD$AT$XHHEHD$A9HEHD$ HEH$ McKDmHDHU1HHUHPHUHl$PHHPID$H$ Hp HPH\$`It$HH讐It$H|$H,H|$`HtHPH|$PHD$`HtHPH$ HD$PHthH|$@HtYHD$HH[]A\A]A^A_f$\$$c$YL$hO$O$$\$$Y$$$$v@H H9L,[ILHH$ J(HH$0HtbHHBRHHuAT$XHGHDŽ$$HH$ HtH|$@HtH(H|$`HHtHPHD$`H|$PHtHPHD$PHHfAWAVAUIHvATUSHXH|$H|$PD$HL$@ H|$P$G$$f.$GHD$pHDŽ$$D$pHD$PX$D$x$X$$ąfWf.D$@ TaD$@f.AEXHDŽ$0HDŽ$8HDŽ$@PHcH*$^$$HDŽ$@1҅H$8hHD$L|$8Lt$011H$*LL$$Y$$$XD$H$$D$0H<$LL$0$ D$8$($ $$YD$p$$XD$x$$($$Y$$$X$$$$~|HD$IHD$IDHD$ IDHA9mXIEH\$`H$01HHp HPIuH|$HH|$`HtHPH$0HD$`HtdH|$PHtUHD$HX[]A\A]A^A_fD$\$$}^$YL$p;O$O$$\$$Y$$$$@L$@D$@H H9wzH,[HHH(H$0H$@DHt]HH@PHHuAEX@]\$@D$@[HH|$PHtH(HH$0HtÁGHDŽ$$H|$`HHtHPHD$`@AWAVAUIHvATUSHxH|$H|$`D$XL$PH|$`$G$$f.$GHDŽ$HDŽ$0$8$HD$`X$$$0X$8$諀fWf.D$P ;\D$Pf.A]XHDŽ$PHDŽ$XHDŽ$`CHc*H$^$$HDŽ$`11Lt$0$$LLH$XxHD$0HEHD$8HEHD$@HEAEXHD$(1HD$HD$ HD$fD*Ht$H|$D{$$Y$$$XD$X$$,D$ LLL$P$@D$($H$@$$Y$$$X$$$H$$Y$0$$X$$$$ wHD$0I,HD$8ID,HD$@ID,HA9]XMcKH$L$LH$PvHD$0H$P1HDHD$8HDHD$@HDIEHl$pHHp HPH$IuHH超IuH|$H5H$HtHPH|$pHDŽ$HtHPH$PHD$pHtk}H|$`Ht\}HD$Hx[]A\A]A^A_D$\$$X$Y$^O$O$ $\$ $(Y$($0$ $8L$PD$P H H9L$[ILHH$PJ HH$`HtWHHBRHHuW\$PD$PtHH$PHt{H|$`Ht{HHH|$pHtHPHD$pGHDŽ$0$8H$HHtHPHDŽ$kH{Hс%HHÐH%HH-{f.1%!%%H%H=%ÐAVAUATUSHP%Ld$ HT$H5FQLH藪Lt$ Ll$H57QLL{H\$0LH軉H5eZHgLH|HH%Ld$@HLHT$@HSH6wHD$@HxH9ufHD$0HxH9HW%HHEHD$HxH9HD$ HxH9uUHP%H~%HH5%HHErH=ڂ%HW9yHt$ǖjH=%HWL蝖H=%HWULrHH=U%HWt/ LHHHxHPPJHLd$HHD$0LHx*yHD$Ht$ HxyHD$ LHxyHHD$0Ht$@HxxHHHD$@Ld$LHxxH밋PJHPJHPJHfDHHE%HtЀ=?%uH1%H递HQ%HHf.H1%SHHHىH[wHHD$H|$D$D$  XSD$ fT RD$(D$f.Sr`f.L$(w8T$(f.wTD$D$0TXD$0D$D$HHÐ;D$D$HHf.f.L$(voD$D$HHfT$(f.wD$D$8D$8\TD$D$HHfHHD$H|$D$D$( HRD$(fT QD$0D$f. Rr`f.L$0w8T$0f.wTD$D$8SXD$8D$ D$ HHÐ+D$ D$ HHf.f.L$0vnD$ D$ HHfT$0f.wD$D$ D$ HHffff.HD$H|$ D$D$0 EQD$0fT PD$8D$f.Qf.L$8T$8f.D$ D$@T$@YT$L$HL$Hf(L$L$D$PT$f.L$PX0RT$XD$XD$(D$(HĈD$(D$(HĈf.L$8v CmD$(D$(HĈT$8f.wD$ D$`T$`YT$L$hL$hf(L$EL$D$pT$f.L$pzt/\aQT$xD$xD$(Ef.T$(D$(HĈfDSHHCHCHCHC HC(HC0[Ð@H*G8D$D$Ðfff.H*G@D$D$Ðfff.GHD$D$fffff.H*G0D$D$Ðfff.HG H+GHÐf=i%tH0%H=Q%Hmt[H%H=6%%H%H%H%H%裙H=d}%H %H5% H%Hffff.ATUHHSHH ZH$]HD$ϔHD$聑HD$_H5IIĺHuH=!u%HWt-@Ht$1PJH벋PJHϐUHSH(H\$HzHH_\HT$HHzH;=u%uE`HCH([]H=t%HGt7ЅHt$腈HHD$Ht$HxkHBHJf.AWAVAUATUSHHLt$@H|$I~hdL-2o%Hn%LƄ$HDŽ$1Ƅ$HDŽ$ImHMeH$HDŽ$HDŽ$HDŽ$HEHl$@Ld@HD$HH}fIE 1HD$PH@I|IE(HFIEL=Sm%I~PIU0H@HT@IGHD$`HD$hHD$pHD$@IGhHD$xHDŽ$HDŽ$H$IG@HD$PHs%HHD$XKHtm%IvI~hDŽ$HHD$XHs%HH$耪Hs0I~wHs%HHD$ H$HHt$pH\$$HH9H|$xqLd$ Ht$0HD$0LHD$0HxH;=Gs%;HD$ HXHc~(fDH6HLHH|$LwH|$H5?UHD$ HxH;=r%IGHD$@IGhH$IG@HD$PH(l%HHD$XH$HxH;=r%Hr%I~PHHD$XIEIU0I~hH@HT@IE IU(HD$PH@HTPIEIUHD$@H@HT@Hk%HD$HHH$軰HD$Hĸ[]A\A]A^A_@H|$xH#pLd$ Ht$0HD$0L,pLd$ Iv`H\$LѷkHHD$0Ht$HxgHD$ HHxgLHHI~HzIuLHj%I~hHH$HDHUHl$@HLd@HD$HHHuZH=o%HWHt$ɃHHD$ Ht$Hxf4H=o%HWtNHt$0考H=co%HWt-Ht$0RPJH뮋PJHHHD$Ht$0H8H:fTPJH*DAVIAUATAUSHWHH+HHulLH3HHCIH)HHItIIMHHt HH;IHt[eH+LLkHk[]A\A]A^@HH9v IHHIH9LFaf.AWAVAUATUSHHHt{IL- o%L|$ fLHsL!Hk(LcHt#H}HtdHEHxL9u^HdHC HC(HxL9uHtdMuH[]A\A]A^A_H=xm%HWt?LmH=Sm%HWt'LHzPJH뽋PJHfHwGAWAVAUATUSHHoH|$H4$HH$L(M}$H=|yCHEHt@HLu LI^LI9IMFL軸uLH)H=~HE1Hu@LIucLL舸u/L)H~H1H[]A\A]A^A_@H|؅yِHL1[]A\A]A^A_HoHD$H9ht0HIjnH $Lp HL)I^M}L9LHFb1Hxf.AWHGIAVIAUATUSHHH9HN L"LiIl$HLH $I9IMFLLD$苷H $LD$HL)H=~LLLH^uI)IIDH1H[]A\A]A^A_fH=I9^HHtHPmHx HLIHOH9H $HF߶uH $H)HH| ȅ1I}HEIDHH[]A\A]A^A_oI9^ HnHp HLH$LnI9IFPH $L)H|@LLՁH[]A\A]A^A_fDH(tH_ H2H{ HnLgL9LHFuI)II|Dy1HDH| u1H{HEHEH]f.@AVIAUIATA UH0SH {HHt5L` I6H@H@H@LoHC(LLHZHIIt5HHMLH蘤HE(H H[]A\A]A^Hk(HH}Hte_HEL%i%HxL9HE_HC HC(HxL9H$_H L[]A\A]A^@H9_Hr H{ HL$LwLnLM9IF3HL$u"M)1I%ID1fL%h%OH=g%HWt_KHt${EfD(HG(HHtHHuB蒪HHXK Ct'K7>HLHtHKDKHHHHI Au £hKHD諣fAWAVIAUATUSHH8L|$ Ht$HL'D|$ tXHHPL,IEL9HD$#AEM% D$uAL$ |$uYID$HD$(HHB@ Ht$.uHHtHP0H8H[]A\A]A^A_DAD$ uHl$L)A$E$HufDHtEHPHHG(H;G0D(HHG(DHuHHxw 8\HIL`fILHt$HP`I9Hu̐I$LHt$HP`I9HtHHxw [H|$HPL$DHl$L)AEHdfHHPtvHHG(H;G0D(HHG(DHuHHxw 8[HHPL$H|$(HHxw  [5@L$I$HH PPHA$AAƄ$HRL$ IHtrH PPHAAƅAHRL$HDPhHDPh :HHu=ȦHHXK Ct"Gm:H5L PH襭G苦HHHHI Au GHDH@AVIHAUATUSHHHIp@<$tjHHHhLMDHHM$MLHARtHHHxw @YHD$HHB@ Ht fuHHt HP0tKHH[]A\A]A^HHt|H PPHHىƅAHJIfH|$HHxw XHH[]A\A]A^8HHuBHHXK Ct'0F8HLPNHH` FĤHHHHI Au ;fDEH#멐AVIHAUATUSHHHI><$tjHHHhLMDHHM$MLHAR tHHHxw WHD$HHB@ Ht 覥uHHt HP0tKHH[]A\A]A^HHt|H PPHHىƅAHJIfH|$HHxw VHH[]A\A]A^7HHuBFHHXK Ct'pD6HLLH(H蠜IDHHHHI Au {fDDHc멐AVAHAUATUSHHHI<<$tkHHHhLMDHHM$ELHARtHHHxw UHD$HHB@ Ht uHHt HP0tZHH[]A\A]A^f.HHH PPHHىƅAHJ=fDH|$HHxw UHH[]A\A]A^D5HHuBvHHXK Ct'B5HLJHXHКyB4HHHHI Au 諚fDKBH蓚멐AVIHAUATUSHHHI ;<$tjHHHhLMDHHM$MLHAR(tHHHxw SHD$HHB@ Ht uHHt HP0tKHH[]A\A]A^HHt|H PPHHىƅAHJIfH|$HHxw YSHH[]A\A]A^3HHuB趟HHXK Ct'@[3HLIH蘦H@tHHHHI Au fD@HӘ멐AVIHAUATUSHHHI`9<$tjHHHhLMDHHM$MLHAR0tHHHxw 0RHD$HHB@ Ht VuHHt HP0tKHH[]A\A]A^HHt|H PPHHىƅAHJIfH|$HHxw QHH[]A\A]A^1HHuBHHXK Ct' ?1HL@GHؤHP>贝HHHHI Au +fD>H멐AUHATUSHH(Ll$D$L7|$tmHHHhLMDHHM $D$LHAQ8tHHHxw iPHD$HHB@ Ht 菞uHHt HP0tTH(H[]A\A]fDHH~H PPHHىƅAHJAfDH|$HHxw OH(H[]A\A]/HHuB(HHXK Ct'R=/HLrEH H肕+=HHHHI Au ]= 0 && geomIndex < 2../include/geos/geomgraph/TopologyLocation.inl../include/geos/noding/MCIndexNoder.inlIllegalArgumentExceptionUnexpected EOF parsing WKBi == 1seglineLINESEGMENT(!(scale < 0)locationSize >= 3nodedSegStringsvirtual std::vector* geos::noding::MCIndexNoder::getNodedSubstrings() constvoid geos::geomgraph::TopologyLocation::setLocations(geos::geom::Location, geos::geom::Location, geos::geom::Location)void geos::geomgraph::Label::toLine(int)bool geos::geomgraph::Label::allPositionsEqual(int, geos::geom::Location) constbool geos::geomgraph::Label::isLine(int) constbool geos::geomgraph::Label::isArea(int) constbool geos::geomgraph::Label::isAnyNull(int) constbool geos::geomgraph::Label::isNull(int) constvoid geos::geomgraph::Label::setAllLocationsIfNull(int, geos::geom::Location)void geos::geomgraph::Label::setAllLocations(int, geos::geom::Location)void geos::geomgraph::Label::setLocation(int, geos::geom::Location)void geos::geomgraph::Label::setLocation(int, int, geos::geom::Location)geos::geom::Location geos::geomgraph::Label::getLocation(int) constgeos::geom::Location geos::geomgraph::Label::getLocation(int, int) constgeos::geomgraph::Label::Label(int, geos::geom::Location)double geos::geom::PrecisionModel::getScale() constvoid geos::geom::PrecisionModel::makePrecise(geos::geom::Coordinate*) conststd::array geos::geom::LineSegment::closestPoints(const geos::geom::LineSegment*)int geos::geom::LineSegment::orientationIndex(const geos::geom::LineSegment*) constgeos::geom::Coordinate& geos::geom::LineSegment::operator[](std::size_t)const geos::geom::Coordinate& geos::geom::LineSegment::operator[](std::size_t) constvirtual void geos::geom::CoordinateFilter::filter_ro(const geos::geom::Coordinate*)virtual void geos::geom::CoordinateFilter::filter_rw(geos::geom::Coordinate*) constN4geos4geom10LineStringEN4geos4util13GEOSExceptionEN4geos4util24IllegalArgumentExceptionEN4geos2io14ParseExceptionEN4geos9geomgraph8EdgeRingEN4geos9operation7overlay15MinimalEdgeRingEN4geos9geomgraph13GeometryGraphEN4geos4geom16CoordinateFilterEN4geos4util27UniqueCoordinateArrayFilterEN4geos4geom11LineSegmentEN4geos4geom25CoordinateSequenceFactoryEN4geos4geom30CoordinateArraySequenceFactoryEN4geos9geomgraph5DepthEN4geos6noding18BasicSegmentStringE?-DT!?-DT!?-DT!@f@-DT! @-DT! -DT!@*N4geos9algorithm12_GLOBAL__N_120Mod2BoundaryNodeRuleE*N4geos9algorithm12_GLOBAL__N_124EndPointBoundaryNodeRuleE*N4geos9algorithm12_GLOBAL__N_135MultiValentEndPointBoundaryNodeRuleE*N4geos9algorithm12_GLOBAL__N_134MonoValentEndPointBoundaryNodeRuleEN4geos9algorithm16BoundaryNodeRuleE@?CGAlgorithmsDD::signOfDet2x2 encountered NaN/Inf numbersCGAlgorithmsDD::orientationIndex encountered NaN/Inf numbersV瞯<ConvexHull.cpplastoriginal[0]->equals2D(*last)vector::_M_default_appendvoid geos::algorithm::ConvexHull::cleanRing(const ConstVect&, geos::geom::Coordinate::ConstVect&)Line array must contain at least one vertex) [w: N4geos9algorithm25NotRepresentableExceptionEInteriorPointPoint.cppvoid geos::algorithm::InteriorPointPoint::add(const geos::geom::Coordinate*)LineIntersector.cpp!(dist == 0.0 && !(p == p0))_ : proper collinear endpointstatic double geos::algorithm::LineIntersector::computeEdgeDistance(const geos::geom::Coordinate&, const geos::geom::Coordinate&, const geos::geom::Coordinate&)Logic failure in MinimumBoundingCircle algorithm!../../include/geos/geom/CoordinateFilter.hvirtual void geos::geom::CoordinateFilter::filter_ro(const geos::geom::Coordinate*)virtual void geos::geom::CoordinateFilter::filter_rw(geos::geom::Coordinate*) constProjective point not representable on the Cartesian plane.NotRepresentableExceptionRing has fewer than 4 points, so orientation cannot be determinedPointLocator.cppg2.get() != geomgeos::geom::Location geos::algorithm::PointLocator::locate(const geos::geom::Coordinate&, const geos::geom::Polygon*)void geos::algorithm::PointLocator::computeLocation(const geos::geom::Coordinate&, const geos::geom::Geometry*)RobustDeterminant encountered non-finite numbers Argument must be Polygonal or LinearRingN4geos9algorithm6locate22PointOnGeometryLocatorEN4geos5index11ItemVisitorEN4geos9algorithm6locate25IndexedPointInAreaLocator14SegmentVisitorEN4geos9algorithm6locate25IndexedPointInAreaLocatorEFraction is not in range (0.0 - 1.0]C../../../include/geos/geom/CoordinateFilter.h../../../include/geos/geom/CoordinateSequenceFilter.hvirtual void geos::geom::CoordinateSequenceFilter::filter_ro(const geos::geom::CoordinateSequence&, std::size_t)virtual void geos::geom::CoordinateSequenceFilter::filter_rw(geos::geom::CoordinateSequence&, std::size_t)virtual void geos::geom::CoordinateFilter::filter_ro(const geos::geom::Coordinate*)virtual void geos::geom::CoordinateFilter::filter_rw(geos::geom::Coordinate*) constN4geos4geom24CoordinateSequenceFilterEN4geos9algorithm8distance25DiscreteHausdorffDistance22MaxPointDistanceFilterEN4geos9algorithm8distance25DiscreteHausdorffDistance36MaxDensifiedByFractionDistanceFilterEbasic_string::_S_construct null not validN4geos4geom18CoordinateSequenceEvector::_M_range_insertUnknown ordinate index N4geos4geom23CoordinateArraySequenceExH3N4geos4geom32DefaultCoordinateSequenceFactoryEN4geos4geom27FixedSizeCoordinateSequenceILm5EEEN4geos4geom27FixedSizeCoordinateSequenceILm4EEEN4geos4geom27FixedSizeCoordinateSequenceILm3EEEN4geos4geom27FixedSizeCoordinateSequenceILm2EEEN4geos4geom27FixedSizeCoordinateSequenceILm1EEEUnknown dimension symbol: Unknown dimension value: xx$$$$$$Env[basic_string::substr:,../../include/geos/geom/GeometryFilter.h../../include/geos/geom/PrecisionModel.inlThis method does not support GeometryCollection arguments CBR: result (after common-bits addition)TopologyException3.8.01.13.0 is not simple is invalid: vector::reserveInput geom 1Input geom 0double geos::geom::PrecisionModel::getScale() constvirtual void geos::geom::CoordinateFilter::filter_ro(const geos::geom::Coordinate*)virtual void geos::geom::CoordinateFilter::filter_rw(geos::geom::Coordinate*) constvirtual void geos::geom::GeometryFilter::filter_rw(geos::geom::Geometry*)virtual void geos::geom::GeometryFilter::filter_ro(const geos::geom::Geometry*)N4geos4geom8Geometry21GeometryChangedFilterEN4geos4geom8GeometryEN4geos4util17TopologyExceptionEN4geos9operation5valid9IsValidOpEN4geos4geom14GeometryFilterEN4geos4geom4util17GeometryExtracter9ExtracterINS0_7PolygonESt6vectorIPKS4_SaIS7_EEEEN4geos4geom4util17GeometryExtracter9ExtracterINS0_10LineStringESt6vectorIPKS4_SaIS7_EEEEN4geos4geom4util17GeometryExtracter9ExtracterINS0_5PointESt6vectorIPKS4_SaIS7_EEEE7yAC$@GeometryCollectionGeometryCollection.cpp!filter.isGeometryChanged()Operation not supported by GeometryCollection geometries must not contain null elements virtual void geos::geom::GeometryCollection::apply_ro(geos::geom::CoordinateSequenceFilter&) constN4geos4geom18GeometryCollectionEGeometryComponentFilter.cppvirtual void geos::geom::GeometryComponentFilter::filter_ro(const geos::geom::Geometry*)virtual void geos::geom::GeometryComponentFilter::filter_rw(geos::geom::Geometry*)N4geos4geom23GeometryComponentFilterEGeometryFactory.cpp!_autoDestroycreateMultiLineString called with a vector containing non-LineStringsvoid geos::geom::GeometryFactory::destroy()geos::geom::Point* geos::geom::GeometryFactory::createPointFromInternalCoord(const geos::geom::Coordinate*, const geos::geom::Geometry*) const*N4geos4geom12_GLOBAL__N_121gfCoordinateOperationEN4geos4geom15GeometryFactoryEN4geos4geom4util23GeometryEditorOperationE] insteadIllegalArgumentException: Should be length 9, is LinearRingLinearRing.cppgetFactory() - must be 0 or >= 4Points of LinearRing do not form a closed linestringInvalid number of points in LinearRing found virtual std::unique_ptr geos::geom::LinearRing::reverse() constN4geos4geom10LinearRingEIllegalStateExceptionCannot compute offset from zero-length line segmentN4geos4util21IllegalStateExceptionEotherLineStringfilternullptr != points.get()point array must contain 0 or >1 elements virtual void geos::geom::LineString::apply_ro(geos::geom::GeometryComponentFilter*) constvirtual void geos::geom::LineString::apply_rw(geos::geom::GeometryComponentFilter*)virtual int geos::geom::LineString::compareToSameClass(const geos::geom::Geometry*) constvirtual void geos::geom::LineString::normalize()virtual void geos::geom::LineString::apply_ro(geos::geom::GeometryFilter*) constvirtual void geos::geom::LineString::apply_rw(geos::geom::GeometryFilter*)virtual void geos::geom::LineString::apply_ro(geos::geom::CoordinateFilter*) constvirtual void geos::geom::LineString::apply_rw(const geos::geom::CoordinateFilter*)virtual bool geos::geom::LineString::equalsExact(const geos::geom::Geometry*, double) constvirtual bool geos::geom::LineString::isCoordinate(geos::geom::Coordinate&) constvirtual std::unique_ptr geos::geom::LineString::getPointN(size_t) constvirtual size_t geos::geom::LineString::getNumPoints() constvirtual bool geos::geom::LineString::isEmpty() constvirtual const geos::geom::Coordinate& geos::geom::LineString::getCoordinateN(size_t) constconst geos::geom::CoordinateSequence* geos::geom::LineString::getCoordinatesRO() constvirtual std::unique_ptr geos::geom::LineString::getCoordinates() constvirtual std::unique_ptr geos::geom::LineString::reverse() constMultiLineStringN4geos4geom15MultiLineStringEN4geos4geom10MultiPointEMultiPolygonN4geos4geom12MultiPolygonEthis_coord && other_coordUnsupportedOperationExceptiongetX called on empty Point getY called on empty Point getZ called on empty Point dynamic_cast(other)Point coordinate list must contain a single elementvirtual bool geos::geom::Point::equalsExact(const geos::geom::Geometry*, double) constN4geos4util29UnsupportedOperationExceptionEN4geos4geom5PointEPolygon.cppshell != nullptrholes must not contain null elementsshell is empty but holes are notvirtual bool geos::geom::Polygon::isRectangle() constN4geos4geom7PolygonEPrecisionModel scale cannot be 0FloatingFloating-SingleFixed (Scale= OffsetX= OffsetY=UNKNOWNdouble geos::geom::PrecisionModel::getScale() const@CUk@N4geos4geom4util28ComponentCoordinateExtracterEN4geos4geom4util19CoordinateOperationETolerance must be positiveN4geos4geom4util9Densifier18DensifyTransformerEGeometryEditor.cpphole!static_cast("SHOULD NEVER GET HERE")std::unique_ptr geos::geom::util::GeometryEditor::editPolygon(const geos::geom::Polygon*, geos::geom::util::GeometryEditorOperation*)std::unique_ptr geos::geom::util::GeometryEditor::edit(const geos::geom::Geometry*, geos::geom::util::GeometryEditorOperation*)Unknown Geometry subtype.GeometryTransformer.cppp_lrvirtual geos::geom::Geometry::Ptr geos::geom::util::GeometryTransformer::transformMultiPolygon(const geos::geom::MultiPolygon*, const geos::geom::Geometry*)virtual geos::geom::Geometry::Ptr geos::geom::util::GeometryTransformer::transformPolygon(const geos::geom::Polygon*, const geos::geom::Geometry*)virtual geos::geom::Geometry::Ptr geos::geom::util::GeometryTransformer::transformMultiLineString(const geos::geom::MultiLineString*, const geos::geom::Geometry*)virtual geos::geom::Geometry::Ptr geos::geom::util::GeometryTransformer::transformMultiPoint(const geos::geom::MultiPoint*, const geos::geom::Geometry*)N4geos4geom4util19GeometryTransformerEN4geos4geom4util24LinearComponentExtracterE../../../include/geos/geom/GeometryFilter.hvirtual void geos::geom::GeometryFilter::filter_rw(geos::geom::Geometry*)virtual void geos::geom::GeometryFilter::filter_ro(const geos::geom::Geometry*)N4geos4geom4util14PointExtracterEvirtual void geos::geom::GeometryFilter::filter_rw(geos::geom::Geometry*)virtual void geos::geom::GeometryFilter::filter_ro(const geos::geom::Geometry*)N4geos4geom4util16PolygonExtracterEAbstractPreparedPolygonContains.cpppolybool geos::geom::prep::AbstractPreparedPolygonContains::isSingleShell(const geos::geom::Geometry&)N4geos6noding20NodableSegmentStringEN4geos6noding18SegmentIntersectorET**FF*FF*N4geos4geom4prep16PreparedGeometryEN4geos4geom4prep21BasicPreparedGeometryEPreparedGeometry constructed with null Geometry objectN4geos4geom4prep18PreparedLineStringEN4geos4geom4prep13PreparedPointEN4geos4geom4prep15PreparedPolygonEN4geos4geom4prep24PreparedPolygonPredicateEN4geos4geom4prep31AbstractPreparedPolygonContainsEN4geos4geom4prep31PreparedPolygonContainsProperlyEN4geos4geom4prep25PreparedPolygonIntersectsEN4geos4geom4prep23PreparedPolygonContainsEN4geos4geom4prep21PreparedPolygonCoversEN4geos4geom4prep22LocationMatchingFilterEN4geos4geom4prep25LocationNotMatchingFilterEN4geos4geom4prep23OutermostLocationFilterEA:assigned depths do not matchsymnewEdgenewEdge->getNumPoints() >= 2/ EdgeRing: inResultvoid geos::geomgraph::DirectedEdge::setVisitedEdge(bool)geos::geomgraph::DirectedEdge::DirectedEdge(geos::geomgraph::Edge*, bool)N4geos9geomgraph12DirectedEdgeEDirectedEdgeStar.cppeeDirectedEdgeStar: *itout in de->getSym()deSymnextOutnextInincomingfirstOut != nullptrfirstOut->getEdgeRing() == erfirstIndepth mismatch at no outgoing dirEdge foundfirstOut->isInResult()dynamic_cast(ee)../../include/geos/geomgraph/Label.inldynamic_cast(*it)virtual std::string geos::geomgraph::DirectedEdgeStar::print() constint geos::geomgraph::DirectedEdgeStar::computeDepths(geos::geomgraph::EdgeEndStar::iterator, geos::geomgraph::EdgeEndStar::iterator, int)void geos::geomgraph::DirectedEdgeStar::computeDepths(geos::geomgraph::DirectedEdge*)void geos::geomgraph::DirectedEdgeStar::findCoveredLineEdges()void geos::geomgraph::DirectedEdgeStar::linkAllDirectedEdges()void geos::geomgraph::DirectedEdgeStar::linkMinimalDirectedEdges(geos::geomgraph::EdgeRing*)void geos::geomgraph::DirectedEdgeStar::linkResultDirectedEdges()const std::vector& geos::geomgraph::DirectedEdgeStar::getResultAreaEdges()void geos::geomgraph::Label::setAllLocationsIfNull(int, geos::geom::Location)void geos::geomgraph::DirectedEdgeStar::updateLabelling(const geos::geomgraph::Label&)void geos::geomgraph::DirectedEdgeStar::mergeSymLabels()virtual void geos::geomgraph::DirectedEdgeStar::computeLabelling(std::vector*)geos::geomgraph::DirectedEdge* geos::geomgraph::DirectedEdgeStar::getRightmostEdge()int geos::geomgraph::DirectedEdgeStar::getOutgoingDegree(geos::geomgraph::EdgeRing*)int geos::geomgraph::DirectedEdgeStar::getOutgoingDegree()virtual void geos::geomgraph::DirectedEdgeStar::insert(geos::geomgraph::EdgeEnd*)N4geos9geomgraph16DirectedEdgeStarE../../include/geos/geomgraph/Edge.hpts->size() > 1 LINESTRINGEDGE (rev) label: depthDelta: LINESTRING(virtual bool geos::geomgraph::Edge::equals(const geos::geomgraph::Edge*) constvoid geos::geomgraph::Edge::testInvariant() constN4geos9geomgraph4EdgeEEdgeEnd.cpp!(dx == 0 && dy == 0)EdgeEnd: - node->getCoordinate().equals2D(p0)virtual int geos::geomgraph::EdgeEnd::compareDirection(const geos::geomgraph::EdgeEnd*) constvirtual void geos::geomgraph::EdgeEnd::setNode(geos::geomgraph::Node*)virtual void geos::geomgraph::EdgeEnd::init(const geos::geom::Coordinate&, const geos::geom::Coordinate&)N4geos9geomgraph7EdgeEndEEdgeEndStar.cpp*rbegin()startLoc != Location::UNDEFeLabel.isArea(geomIndex)side location conflictEdgeEndStar: label.getLocation(geomIndex, Position::LEFT) == Location::UNDEFstd::ostream& geos::geomgraph::operator<<(std::ostream&, const geos::geomgraph::EdgeEndStar&)virtual void geos::geomgraph::EdgeEndStar::propagateSideLabels(int)geos::geom::Location geos::geomgraph::Label::getLocation(int, int) constbool geos::geomgraph::Label::isArea(int) constvirtual bool geos::geomgraph::EdgeEndStar::checkAreaLabelsConsistent(int)virtual void geos::geomgraph::EdgeEndStar::computeEdgeEndLabels(const geos::algorithm::BoundaryNodeRule&)virtual void geos::geomgraph::EdgeEndStar::computeLabelling(std::vector*)virtual geos::geom::Coordinate& geos::geomgraph::EdgeEndStar::getCoordinate()N4geos9geomgraph11EdgeEndStarEIntersections: seg # = dist = EdgeList: ../../include/geos/geomgraph/EdgeRing.hdynamic_cast(ees)EdgeRing::computePoints: found null Directed EdgeDirected Edge visited twice during ring-buildinghole->getShell() == thisring == nullptredgePtsenvEdgeRing[]: Points: deLabel.isArea()bool geos::geomgraph::EdgeRing::containsPoint(const geos::geom::Coordinate&)void geos::geomgraph::EdgeRing::addPoints(geos::geomgraph::Edge*, bool, bool)geos::geom::Location geos::geomgraph::Label::getLocation(int, int) constvoid geos::geomgraph::EdgeRing::computeMaxNodeDegree()void geos::geomgraph::EdgeRing::computePoints(geos::geomgraph::DirectedEdge*)bool geos::geomgraph::EdgeRing::isHole()void geos::geomgraph::EdgeRing::testInvariant() const../../include/geos/geomgraph/TopologyLocation.inlGeometryGraph::add(Geometry *): unknown geometry type: GeometryGraph.cppcoordRaw->size() >= 2geos::geom::Location geos::geomgraph::Label::getLocation(int) constgeos::geom::Location geos::geomgraph::Label::getLocation(int, int) constvoid geos::geomgraph::Label::setLocation(int, geos::geom::Location)geos::geomgraph::Label::Label(int, geos::geom::Location)void geos::geomgraph::GeometryGraph::addLineString(const geos::geom::LineString*)void geos::geomgraph::TopologyLocation::setLocations(geos::geom::Location, geos::geom::Location, geos::geom::Location)N4geos9geomgraph5index18SegmentIntersectorEN4geos9geomgraph5index18EdgeSetIntersectorEGraphComponent.cpplabel.getGeometryCount() >= 2virtual void geos::geomgraph::GraphComponent::updateIM(geos::geom::IntersectionMatrix&)N4geos9geomgraph14GraphComponentE B:../../include/geos/geomgraph/Node.he->getCoordinate().equals2D(coord)!n.label.isNull()EdgeEnd with coordinate invalid for node Node[ POINT( lbl: void geos::geomgraph::Label::setLocation(int, geos::geom::Location)geos::geom::Location geos::geomgraph::Label::getLocation(int) constvirtual void geos::geomgraph::Node::mergeLabel(const geos::geomgraph::Node&)virtual void geos::geomgraph::Node::add(geos::geomgraph::EdgeEnd*)virtual bool geos::geomgraph::Node::isIncidentEdgeInResult() constvoid geos::geomgraph::Node::testInvariant() constgeos::geomgraph::Label::Label(int, geos::geom::Location)N4geos9geomgraph4NodeEN4geos9geomgraph11NodeFactoryENodeMap.cppgeos::geom::Location geos::geomgraph::Label::getLocation(int) constgeos::geomgraph::Node* geos::geomgraph::NodeMap::addNode(geos::geomgraph::Node*)N4geos9geomgraph7NodeMapEPlanarGraph.cppeCoordnodeeeseevnCoords > 1edgeEndListit->secondEdges: edge : virtual geos::geomgraph::Edge* geos::geomgraph::PlanarGraph::findEdgeInSameDirection(const geos::geom::Coordinate&, const geos::geom::Coordinate&)virtual geos::geomgraph::Edge* geos::geomgraph::PlanarGraph::findEdge(const geos::geom::Coordinate&, const geos::geom::Coordinate&)virtual geos::geomgraph::EdgeEnd* geos::geomgraph::PlanarGraph::findEdgeEnd(geos::geomgraph::Edge*)virtual void geos::geomgraph::PlanarGraph::linkAllDirectedEdges()virtual void geos::geomgraph::PlanarGraph::linkResultDirectedEdges()virtual void geos::geomgraph::PlanarGraph::addEdges(const std::vector&)virtual geos::geomgraph::Node* geos::geomgraph::PlanarGraph::find(geos::geom::Coordinate&)virtual geos::geomgraph::Node* geos::geomgraph::PlanarGraph::addNode(geos::geomgraph::Node*)virtual void geos::geomgraph::PlanarGraph::getNodes(std::vector&)virtual geos::geomgraph::NodeMap::iterator geos::geomgraph::PlanarGraph::getNodeIterator()virtual void geos::geomgraph::PlanarGraph::add(geos::geomgraph::EdgeEnd*)virtual void geos::geomgraph::PlanarGraph::insertEdge(geos::geomgraph::Edge*)geos::geom::Location geos::geomgraph::Label::getLocation(int) constvirtual bool geos::geomgraph::PlanarGraph::isBoundaryNode(int, const geos::geom::Coordinate&)virtual std::vector::iterator geos::geomgraph::PlanarGraph::getEdgeIterator()N4geos9geomgraph11PlanarGraphEMonotoneChainEdge.cppconst geos::geom::CoordinateSequence* geos::geomgraph::index::MonotoneChainEdge::getCoordinates()geos::geomgraph::index::MonotoneChainEdge::MonotoneChainEdge(geos::geomgraph::Edge*)N4geos9geomgraph5index24SimpleEdgeSetIntersectorEN4geos9geomgraph5index17SweepLineEventOBJEN4geos9geomgraph5index13MonotoneChainEN4geos9geomgraph5index28SimpleMCSweepLineIntersectorEN4geos9geomgraph5index26SimpleSweepLineIntersectorE INSERT_EVENT DELETE_EVENTSweepLineEvent: xValue= deleteEventIndex= insertEvent=NULLN4geos9geomgraph5index16SweepLineSegmentEN4geos5index7bintree4RootEindex >= 0interval == nullptr || interval->contains(node->interval)void geos::index::bintree::Node::insert(geos::index::bintree::Node*)N4geos5index7bintree4NodeEN4geos5index7bintree8NodeBaseERoot.cpptree->getInterval()->contains(itemInterval)void geos::index::bintree::Root::insertContained(geos::index::bintree::Node*, geos::index::bintree::Interval*, void*)MonotoneChainBuilder.cppstart < nptsstatic std::size_t geos::index::chain::MonotoneChainBuilder::findChainEnd(const geos::geom::CoordinateSequence&, std::size_t)N4geos5index5chain26MonotoneChainOverlapActionEN4geos5index5chain25MonotoneChainSelectActionEN4geos5index13intervalrtree17IntervalRTreeNodeEN4geos5index13intervalrtree23IntervalRTreeBranchNodeEN4geos5index13intervalrtree21IntervalRTreeLeafNodeEIndex cannot be added to once it has been queriedExponent out of boundsFIXME: unimplemented DoubleBits::toString()index >= 0 && index < 4 Ctr[env->contains(node->getEnvelope())geos::index::quadtree::Node* geos::index::quadtree::Node::getSubnode(int)void geos::index::quadtree::Node::insertNode(std::unique_ptr)N4geos5index8quadtree4NodeEITEMS:subnode[] N4geos5index8quadtree8NodeBaseEN4geos5index12SpatialIndexEN4geos5index8quadtree4RootEN4geos5index8quadtree8QuadtreeE!subnodes[index]tree->getEnvelope()->contains(itemEnv)void geos::index::quadtree::Root::insertContained(geos::index::quadtree::Node*, const geos::geom::Envelope*, void*)void geos::index::quadtree::Root::insert(const geos::geom::Envelope*, void*)AbstractSTRtree.cppnullptr != itemBoundablesnullptr != nodes!nodeList->empty()!boundablesOfALevel->empty()root->getBounds() == nullptr!built!childBoundables->empty()bounds == nullptrlevel > -2../../../include/geos/index/strtree/AbstractSTRtree.h../../../include/geos/index/strtree/AbstractNode.htypeid(*boundable) == typeid(ItemBoundable)typeid(*boundable) == typeid(AbstractNode)virtual void geos::index::strtree::AbstractSTRtree::boundablesAtLevel(int, geos::index::strtree::AbstractNode*, geos::index::strtree::BoundableList*)virtual void geos::index::strtree::AbstractSTRtree::query(const void*, const geos::index::strtree::AbstractNode*, std::vector*)bool geos::index::strtree::AbstractSTRtree::remove(const void*, void*)void geos::index::strtree::AbstractSTRtree::query(const void*, geos::index::ItemVisitor&)void geos::index::strtree::AbstractSTRtree::query(const void*, std::vector&)virtual void geos::index::strtree::AbstractSTRtree::insert(const void*, void*)virtual geos::index::strtree::AbstractNode* geos::index::strtree::AbstractSTRtree::createHigherLevels(geos::index::strtree::BoundableList*, int)void geos::index::strtree::AbstractNode::addChildBoundable(geos::index::strtree::Boundable*)virtual std::unique_ptr > geos::index::strtree::AbstractSTRtree::createParentBoundables(geos::index::strtree::BoundableList*, int)virtual geos::index::strtree::AbstractSTRtree::~AbstractSTRtree()virtual geos::index::strtree::AbstractNode* geos::index::strtree::AbstractSTRtree::getRoot()virtual geos::index::strtree::AbstractNode* geos::index::strtree::AbstractSTRtree::lastNode(geos::index::strtree::BoundableList*)N4geos5index7strtree9BoundableEN4geos5index7strtree12AbstractNodeEN4geos5index7strtree15AbstractSTRtreeEN4geos5index7strtree13ItemBoundableECan't compute envelope of item in BoundablePairneither boundable is compositeN4geos5index7strtree12ItemDistanceEN4geos5index7strtree20GeometryItemDistanceEInterval.cppnewMin <= newMaxgeos::index::strtree::Interval::Interval(double, double)newNodeCapacity > 1SIRtree.cppgeos::index::strtree::AbstractSTRtree::AbstractSTRtree(std::size_t)void geos::index::strtree::AbstractNode::addChildBoundable(geos::index::strtree::Boundable*)virtual std::unique_ptr > geos::index::strtree::SIRtree::createParentBoundables(geos::index::strtree::BoundableList*, int)virtual geos::index::strtree::AbstractNode* geos::index::strtree::AbstractSTRtree::getRoot()virtual geos::index::strtree::AbstractNode* geos::index::strtree::AbstractSTRtree::lastNode(geos::index::strtree::BoundableList*)N4geos5index7strtree15AbstractSTRtree12IntersectsOpEN4geos5index7strtree7SIRtree15SIRIntersectsOpEN4geos5index7strtree7SIRtreeEN4geos5index7strtree15SIRAbstractNodeEbaBoundsbBounds!p_verticalSlices->empty()!toAdd->empty()inputError computing nearest neighboroutput->size() == input->size()bool geos::index::strtree::yComparator(geos::index::strtree::Boundable*, geos::index::strtree::Boundable*)virtual std::unique_ptr > geos::index::strtree::STRtree::sortBoundables(const BoundableList*)std::unique_ptr > geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlices(std::vector*>*, int)virtual std::unique_ptr > geos::index::strtree::STRtree::createParentBoundables(geos::index::strtree::BoundableList*, int)geos::index::strtree::AbstractSTRtree::AbstractSTRtree(std::size_t)virtual geos::index::strtree::AbstractNode* geos::index::strtree::AbstractSTRtree::getRoot()virtual geos::index::strtree::AbstractNode* geos::index::strtree::AbstractSTRtree::lastNode(geos::index::strtree::BoundableList*)N4geos5index7strtree7STRtree15STRIntersectsOpEN4geos5index7strtree7STRtreeEN4geos5index7strtree15STRAbstractNodeEParseException: ' () , ByteOrderValues.cppbyteOrder == ENDIAN_LITTLEstatic void geos::io::ByteOrderValues::putLong(int64, unsigned char*, int)static int64 geos::io::ByteOrderValues::getLong(const unsigned char*, int)static void geos::io::ByteOrderValues::putInt(int, unsigned char*, int)static int geos::io::ByteOrderValues::getInt(const unsigned char*, int)Expected number but encountered end of streamExpected number but encountered end of lineExpected number but encountered wordExpected number but encountered '('Expected number but encountered ')'Expected number but encountered ','Expected word but encountered end of streamExpected word but encountered end of lineExpected word but encountered numberExpected 'Z', 'M', 'ZM', 'EMPTY' or '(' but encountered Expected ')' or ',' but encounteredWKTReader.cppZZMEMPTYExpected ')' but encounteredUnexpected token: WORD NUMBER EOF or EOL??LINEARRINGMULTIPOINTMULTILINESTRINGMULTIPOLYGONGEOMETRYCOLLECTIONUnknown typeЯ@`@pL\<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<$8xstd::string geos::io::WKTReader::getNextWord(geos::io::StringTokenizer*)double geos::io::WKTReader::getNextNumber(geos::io::StringTokenizer*)Z LINEARRING MULTIPOLYGON MULTILINESTRING MULTIPOINT WKTWriter.cppGEOMETRYCOLLECTION POINT ( )LINESTRING (WKT output dimension must be 2 or 3void geos::io::WKTWriter::appendGeometryTaggedText(const geos::geom::Geometry*, int, geos::io::Writer*)Invalid HEX char PolygonUnknown WKB type Premature end of HEX string MultiPoint LineString 0@P`pp+l+$+**L**)0123456789ABCDEFBad geometry type encountered in) or BIG (WKBWriter.cppoutStreamcselemWKB output dimension must be 2 or 3WKB output dimension must be LITTLE (Empty Points cannot be represented in WKBvoid geos::io::WKBWriter::writeCoordinate(const geos::geom::CoordinateSequence&, size_t, bool)void geos::io::WKBWriter::writeByteOrder()void geos::io::WKBWriter::writeGeometryCollection(const geos::geom::GeometryCollection&, int)void geos::io::WKBWriter::writePolygon(const geos::geom::Polygon&)void geos::io::WKBWriter::writeLineString(const geos::geom::LineString&)void geos::io::WKBWriter::writePoint(const geos::geom::Point&)void geos::io::WKBWriter::write(const geos::geom::Geometry&, std::ostream&)N4geos2io9WKBWriterECExtractLineByLocation.cpp!coordinates->isEmpty()!static_cast("non-linear geometry encountered")std::unique_ptr geos::linearref::ExtractLineByLocation::computeLine(const geos::linearref::LinearLocation&, const geos::linearref::LinearLocation&)std::unique_ptr geos::linearref::ExtractLineByLocation::reverse(const geos::geom::Geometry*)Input geometry must be linearcomputed index is before specified minimum indexLinearIterator only supports lineal geometry componentsLinearGeometryBuilder.cpp!coordList->isEmpty()void geos::linearref::LinearGeometryBuilder::endLine()LinearLoc[LinearLocation::getCoordinate only works with LineString geometriescomputed location is before specified minimum locationBasicSegmentString: ;no intersections foundFastNodingValidator.cppintSegs.size() == 4 and found non-noded intersection between std::string geos::noding::FastNodingValidator::getErrorMessage() constN4geos6noding5NoderEN4geos6noding15SinglePassNoderE*N4geos6noding12_GLOBAL__N_122SegmentStringExtractorEIntersectionAdder.cppee0 && ee1virtual void geos::noding::IntersectionAdder::processIntersections(geos::noding::SegmentString*, size_t, geos::noding::SegmentString*, size_t)N4geos6noding17IntersectionAdderEIntersectionFinderAdder.cppvirtual void geos::noding::IntersectionFinderAdder::processIntersections(geos::noding::SegmentString*, size_t, geos::noding::SegmentString*, size_t)N4geos6noding23IntersectionFinderAdderE iterations../../include/geos/noding/MCIndexNoder.inlIterated noding failed to converge after virtual std::vector* geos::noding::MCIndexNoder::getNodedSubstrings() constN4geos6noding13IteratedNoderEMCIndexNoder.cppss1ss2*isegIntqueryChaintestChainmcvirtual void geos::noding::MCIndexNoder::SegmentOverlapAction::overlap(geos::index::chain::MonotoneChain&, size_t, geos::index::chain::MonotoneChain&, size_t)virtual geos::noding::MCIndexNoder::~MCIndexNoder()void geos::noding::MCIndexNoder::add(geos::noding::SegmentString*)void geos::noding::MCIndexNoder::intersectChains()virtual void geos::noding::MCIndexNoder::computeNodes(geos::noding::SegmentString::NonConstVect*)virtual std::vector* geos::noding::MCIndexNoder::getNodedSubstrings() constN4geos6noding12MCIndexNoder20SegmentOverlapActionEN4geos6noding12MCIndexNoderEN4geos6noding27SegmentSetMutualIntersectorEN4geos6noding34MCIndexSegmentSetMutualIntersector20SegmentOverlapActionEN4geos6noding34MCIndexSegmentSetMutualIntersectorENodedSegmentString: Nodes: NodedSegmentString.cppresultEdgeListSegmentString::addIntersection: SegmentIndex out of rangestatic void geos::noding::NodedSegmentString::getNodedSubstrings(const NonConstVect&, geos::noding::SegmentString::NonConstVect*)N4geos6noding18NodedSegmentStringEfound non-noded collapse at -at index :pt found non-noded intersection at found endpt/interior pt intersection two identical points Cannot compute the octant for point ( Cannot compute the octant for ScaledNoder.cppcs->size() == nptsvoid geos::noding::ScaledNoder::scale(geos::noding::SegmentString::NonConstVect&) constvirtual void geos::noding::ScaledNoder::ReScaler::filter_ro(const geos::geom::Coordinate*)virtual void geos::geom::CoordinateFilter::filter_ro(const geos::geom::Coordinate*)virtual void geos::geom::CoordinateFilter::filter_rw(geos::geom::Coordinate*) constN4geos6noding11ScaledNoderEN4geos6noding11ScaledNoder6ScalerEN4geos6noding11ScaledNoder8ReScalerEN4geos6noding27SegmentIntersectionDetectorESegmentNode.cpp seg#= octant#=segmentIndex < segString.size()../../include/geos/noding/SegmentPointComparator.hstatic int geos::noding::SegmentPointComparator::compare(int, const geos::geom::Coordinate&, const geos::geom::Coordinate&)geos::noding::SegmentNode::SegmentNode(const geos::noding::NodedSegmentString&, const geos::geom::Coordinate&, size_t, int)SegmentNodeList.cppeiNew->coord.equals2D(intPt)split0splitnsplitnPtsbad split edge end point at ei0ei1Intersections: ():eiPreveiei1.segmentIndex >= ei0.segmentIndexbad split edge start point at geos::noding::SegmentString* geos::noding::SegmentNodeList::createSplitEdge(geos::noding::SegmentNode*, geos::noding::SegmentNode*)void geos::noding::SegmentNodeList::checkSplitEdgesCorrectness(std::vector&)void geos::noding::SegmentNodeList::addSplitEdges(std::vector&)bool geos::noding::SegmentNodeList::findCollapseIndex(geos::noding::SegmentNode&, geos::noding::SegmentNode&, size_t&)geos::noding::SegmentNode* geos::noding::SegmentNodeList::add(const geos::geom::Coordinate&, size_t)N4geos6noding15SegmentNodeListESegmentStringN4geos6noding13SegmentStringESimpleNoder.cppvirtual void geos::noding::SimpleNoder::computeIntersects(geos::noding::SegmentString*, geos::noding::SegmentString*)N4geos6noding11SimpleNoderEN4geos6noding24NodingIntersectionFinderEHotPixel.cppscaleFactor != 0geos::noding::snapround::HotPixel::HotPixel(const geos::geom::Coordinate&, double, geos::algorithm::LineIntersector&)?N4geos6noding9snapround18HotPixelSnapActionEN4geos6noding9snapround26MCIndexPointSnapperVisitorEMCIndexSnapRounder.cppedge0nodedSegStrings == inputSegmentStringsvirtual void geos::noding::snapround::MCIndexSnapRounder::computeNodes(geos::noding::SegmentString::NonConstVect*)void geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps(geos::noding::SegmentString::NonConstVect&)N4geos6noding9snapround18MCIndexSnapRounderE../../../include/geos/noding/NodedSegmentString.h../../../include/geos/geom/PrecisionModel.inlnssSimpleSnapRounder.cppedge1segStringsvoid geos::noding::snapround::SimpleSnapRounder::snapRound(geos::noding::SegmentString::NonConstVect*, geos::algorithm::LineIntersector&)void geos::noding::snapround::SimpleSnapRounder::computeVertexSnaps(const NonConstVect&)virtual void geos::noding::snapround::SimpleSnapRounder::computeNodes(std::vector*)static void geos::noding::NodedSegmentString::getNodedSubstrings(II, II, geos::noding::SegmentString::NonConstVect*) [with II = __gnu_cxx::__normal_iterator >; geos::noding::SegmentString::NonConstVect = std::vector]double geos::geom::PrecisionModel::getScale() constN4geos6noding9snapround17SimpleSnapRounderEGeometryGraphOperation.cppi < arg.size()pmpm0pm1void geos::operation::GeometryGraphOperation::setComputationPrecision(const geos::geom::PrecisionModel*)const geos::geom::Geometry* geos::operation::GeometryGraphOperation::getArgGeometry(unsigned int) constgeos::operation::GeometryGraphOperation::GeometryGraphOperation(const geos::geom::Geometry*)geos::operation::GeometryGraphOperation::GeometryGraphOperation(const geos::geom::Geometry*, const geos::geom::Geometry*, const geos::algorithm::BoundaryNodeRule&)geos::operation::GeometryGraphOperation::GeometryGraphOperation(const geos::geom::Geometry*, const geos::geom::Geometry*)N4geos9operation22GeometryGraphOperationEIsSimpleOp.cppptbool geos::operation::IsSimpleOp::isSimpleMultiPoint(const geos::geom::MultiPoint&)BufferBuilder.cppintersectionAdder != nullptrprecisionModelBufferBuilder::bufferLineSingleSided only accept linestringsvoid geos::operation::buffer::BufferBuilder::buildSubgraphs(const std::vector&, geos::operation::overlay::PolygonBuilder&)geos::noding::Noder* geos::operation::buffer::BufferBuilder::getNoder(const geos::geom::PrecisionModel*)geos::geom::Geometry* geos::operation::buffer::BufferBuilder::buffer(const geos::geom::Geometry*, double)geos::geom::Geometry* geos::operation::buffer::BufferBuilder::bufferLineSingleSided(const geos::geom::Geometry*, double, bool)N4geos9geomgraph8EdgeListE\(\??RQ?BufferOp.cppsizeBasedScaleFactor > 0double geos::geom::PrecisionModel::getScale() constvoid geos::operation::buffer::BufferOp::bufferReducedPrecision(int)@@-DT!?BufferSubgraph.cpprightMostCoordBufferSubgraph[ nodes, directed edges Node DirEdge dynamic_cast(n->getEdges())unable to find edge to compute depths atvoid geos::operation::buffer::BufferSubgraph::computeDepths(geos::geomgraph::DirectedEdge*)int geos::operation::buffer::BufferSubgraph::compareTo(geos::operation::buffer::BufferSubgraph*)void geos::operation::buffer::BufferSubgraph::computeNodeDepth(geos::geomgraph::Node*)void geos::operation::buffer::BufferSubgraph::add(geos::geomgraph::Node*, std::vector*)void geos::operation::buffer::BufferSubgraph::create(geos::geomgraph::Node*)../../../include/geos/operation/buffer/OffsetSegmentString.hCannot get offset of single-vertex linevoid geos::operation::buffer::OffsetSegmentString::addPt(const geos::geom::Coordinate&)Y@Y@OffsetCurveSetBuilder.cppdynamic_cast(hls)GeometryGraph::add(Geometry &): unknown geometry type: void geos::operation::buffer::OffsetCurveSetBuilder::addPolygon(const geos::geom::Polygon*)void geos::operation::buffer::OffsetSegmentString::addPt(const geos::geom::Coordinate&)Y@MbP?MbP?-DT! @ư>ư>-DT!?-DT!@MbP?-DT! @RightmostEdgeFinder.cppminDeminEdgeminEdgeCoordsminIndex >= 0minIndex > 0deEdgechecked > 0dynamic_cast(node->getEdges())(size_t)minIndex < pts->getSize()No forward edges found in buffer subgraphminIndex != 0 || minCoord == minDe->getCoordinate()int geos::operation::buffer::RightmostEdgeFinder::getRightmostSideOfSegment(geos::geomgraph::DirectedEdge*, int)void geos::operation::buffer::RightmostEdgeFinder::checkForRightmostCoordinate(geos::geomgraph::DirectedEdge*)void geos::operation::buffer::RightmostEdgeFinder::findRightmostEdgeAtVertex()void geos::operation::buffer::RightmostEdgeFinder::findRightmostEdgeAtNode()void geos::operation::buffer::RightmostEdgeFinder::findEdge(std::vector*)../../../include/geos/geom/LineSegment.inlSubgraphDepthLocater.cppfirstint geos::geom::LineSegment::orientationIndex(const geos::geom::LineSegment*) constbool geos::operation::buffer::DepthSegmentLessThen::operator()(const geos::operation::buffer::DepthSegment*, const geos::operation::buffer::DepthSegment*)virtual void geos::geom::GeometryFilter::filter_rw(geos::geom::Geometry*)virtual void geos::geom::GeometryFilter::filter_ro(const geos::geom::Geometry*)N4geos9operation8distance30ConnectedElementLocationFilterEvirtual void geos::geom::GeometryFilter::filter_rw(geos::geom::Geometry*)virtual void geos::geom::GeometryFilter::filter_ro(const geos::geom::Geometry*)N4geos9operation8distance27ConnectedElementPointFilterEDistanceOp.cpplocGeom[1] == nullptrlocPtPoly[0]locPtPoly[1]null geometries are not supportedlocs[0] == nullptr && locs[1] == nullptrvoid geos::operation::distance::DistanceOp::computeContainmentDistance()void geos::operation::distance::DistanceOp::updateMinDistance(std::array, 2ul>&, bool)std::unique_ptr geos::operation::distance::DistanceOp::nearestPoints()*ZN4geos9operation8distance24FacetSequenceTreeBuilder21computeFacetSequencesEPKNS_4geom8GeometryEE18FacetSequenceAdder%lu*ZNK4geos9operation8distance20IndexedFacetDistance8distanceEPKNS_4geom8GeometryEEUt_*ZNK4geos9operation8distance20IndexedFacetDistance16nearestLocationsEPKNS_4geom8GeometryEEUt_N4geos9operation8distance7DeleterEClipping rectangle must be non-emptyEncountered an unknown geometry component when clipping polygonsCan't compute distance to non-boundary position.$g(directedEdge->getEdge())geos::geom::CoordinateSequence* geos::operation::linemerge::EdgeString::getCoordinates()N4geos11planargraph14GraphComponentEN4geos11planargraph4EdgeEN4geos9operation9linemerge13LineMergeEdgeELineMergeDirectedEdge.cppnextedgegetToNode()->getOutEdges()->getEdges()[1] == getSym()geos::operation::linemerge::LineMergeDirectedEdge* geos::operation::linemerge::LineMergeDirectedEdge::getNext()N4geos11planargraph12DirectedEdgeEN4geos9operation9linemerge21LineMergeDirectedEdgeEN4geos11planargraph7NodeMapEN4geos11planargraph11PlanarGraphEN4geos9operation9linemerge14LineMergeGraphEN4geos11planargraph16DirectedEdgeStarEN4geos11planargraph4NodeELineMerger.cppnode->getDegree() == 2dynamic_cast(edges[i])void geos::operation::linemerge::LineMerger::buildEdgeStringsStartingAt(geos::planargraph::Node*)void geos::operation::linemerge::LineMerger::buildEdgeStringsForUnprocessedNodes()N4geos9operation9linemerge25LMGeometryComponentFilterEpath not contiguosLineSequencer.cpplineToAddlineptrdynamic_cast(de->getEdge())lineCount == sequencedGeometry->getNumGeometries()dynamic_cast(sequencedGeometry.get()) || dynamic_cast(sequencedGeometry.get())geos::geom::Geometry* geos::operation::linemerge::LineSequencer::buildSequencedGeometry(const Sequences&)void geos::operation::linemerge::LineSequencer::computeSequence()static bool geos::operation::linemerge::LineSequencer::isSequenced(const geos::geom::Geometry*)ElevationMatrix::getCell got a Coordinate out of grid extent (): Coordinate does not overlap grid extent: ElevationMatrix.cpp!avgElevationComputed) - cols: rows:ElevationMatrix::add(Cols: Rows: AvgElevation:void geos::operation::overlay::ElevationMatrix::add(const geos::geom::Geometry*)virtual void geos::geom::CoordinateFilter::filter_ro(const geos::geom::Coordinate*)virtual void geos::geom::CoordinateFilter::filter_rw(geos::geom::Coordinate*) constN4geos9operation7overlay21ElevationMatrixFilterEsnapPts->size() <= g.getNumPoints()snap/GeometrySnapper.cppsrcPtsg.getPrecisionModel()double geos::geom::PrecisionModel::getScale() conststatic double geos::operation::overlay::snap::GeometrySnapper::computeOverlaySnapTolerance(const geos::geom::Geometry&)std::unique_ptr > geos::operation::overlay::snap::GeometrySnapper::extractTargetCoordinates(const geos::geom::Geometry&)geos::geom::CoordinateSequence::Ptr geos::operation::overlay::snap::SnapTransformer::snapLine(const geos::geom::CoordinateSequence*)virtual void geos::geom::CoordinateFilter::filter_ro(const geos::geom::Coordinate*)virtual void geos::geom::CoordinateFilter::filter_rw(geos::geom::Coordinate*) const& .>N4geos9operation7overlay4snap15SnapTransformerE& .>p= ף?LineBuilder.cppdynamic_cast((*ee)[i])../../../include/geos/geomgraph/Label.inl!(de->isInResult() || de->getSym()->isInResult()) || ! de->getEdge()->isInResult()void geos::geomgraph::Label::setLocation(int, geos::geom::Location)void geos::operation::overlay::LineBuilder::collectBoundaryTouchEdge(geos::geomgraph::DirectedEdge*, geos::operation::overlay::OverlayOp::OpCode, std::vector*)void geos::operation::overlay::LineBuilder::collectLines(geos::operation::overlay::OverlayOp::OpCode)void geos::operation::overlay::LineBuilder::findCoveredLineEdges()snap/LineStringSnapper.cppvoid geos::operation::overlay::snap::LineStringSnapper::snapSegments(geos::geom::CoordinateList&, const ConstVect&)std::vector::const_iterator geos::operation::overlay::snap::LineStringSnapper::findSnapForVertex(const geos::geom::Coordinate&, const ConstVect&)void geos::operation::overlay::snap::LineStringSnapper::snapVertices(geos::geom::CoordinateList&, const ConstVect&)MaximalEdgeRing.cppvoid geos::operation::overlay::MaximalEdgeRing::linkDirectedEdgesForMinimalEdgeRings()N4geos9operation7overlay15MaximalEdgeRingEvalidate/OffsetPointGenerator.cpppts.size() > 1offsetPts.get() == nullptrvoid geos::operation::overlay::validate::OffsetPointGenerator::extractPoints(const geos::geom::LineString*)std::unique_ptr > geos::operation::overlay::validate::OffsetPointGenerator::getPoints()N4geos9operation7overlay18OverlayNodeFactoryEtargetGeom->getGeometryTypeId() == GEOS_POLYGON!depth.isNull(i, Position::RIGHT)OverlayOp.cppgraphNodenewNoderesultGeomvoid geos::operation::overlay::OverlayOp::checkObviouslyWrongResult(geos::operation::overlay::OverlayOp::OpCode)void geos::operation::overlay::OverlayOp::computeLabelsFromDepths()double geos::operation::overlay::OverlayOp::getAverageZ(int)void geos::geomgraph::Label::setLocation(int, geos::geom::Location)bool geos::geomgraph::Label::isNull(int) constvoid geos::operation::overlay::OverlayOp::labelIncompleteNodes()void geos::operation::overlay::OverlayOp::updateNodeLabelling()void geos::operation::overlay::OverlayOp::mergeSymLabels()void geos::operation::overlay::OverlayOp::copyPoints(int, const geos::geom::Envelope*)void geos::operation::overlay::OverlayOp::replaceCollapsedEdges()geos::geom::Location geos::geomgraph::Label::getLocation(int) constvirtual void geos::geom::CoordinateFilter::filter_ro(const geos::geom::Coordinate*)virtual void geos::geom::CoordinateFilter::filter_rw(geos::geom::Coordinate*) constN4geos9operation7overlay9OverlayOpEPolygonBuilder.cppeeptrfound two shells in MinimalEdgeRing listunable to assign hole to a shell../../../include/geos/geomgraph/PlanarGraph.hdynamic_cast(ee[i])static void geos::geomgraph::PlanarGraph::linkResultDirectedEdges(It, It) [with It = __gnu_cxx::__normal_iterator >]void geos::operation::overlay::PolygonBuilder::add(geos::geomgraph::PlanarGraph*)N4geos9operation10polygonize22PolygonizeDirectedEdgeEN4geos9operation10polygonize14PolygonizeEdgeEPolygonizeGraph.cppfirstOutDE != nullptrde != nullptrde == startDE || !de->isInRing()de == startDE || ! de->isInRing()geos::operation::polygonize::EdgeRing* geos::operation::polygonize::PolygonizeGraph::findEdgeRing(geos::operation::polygonize::PolygonizeDirectedEdge*)static void geos::operation::polygonize::PolygonizeGraph::computeNextCCWEdges(geos::planargraph::Node*, long int)static void geos::operation::polygonize::PolygonizeGraph::findIntersectionNodes(geos::operation::polygonize::PolygonizeDirectedEdge*, long int, std::vector&)N4geos9operation10polygonize15PolygonizeGraphEN4geos9operation10polygonize11Polygonizer15LineStringAdderEN4geos4geom4util29ShortCircuitedGeometryVisitorEN4geos9operation9predicate25EnvelopeIntersectsVisitorEN4geos9operation9predicate20ContainsPointVisitorEN4geos9operation9predicate21LineIntersectsVisitorEEdgeEndBundle--> Label: void geos::geomgraph::Label::setLocation(int, int, geos::geom::Location)geos::geom::Location geos::geomgraph::Label::getLocation(int, int) constvoid geos::geomgraph::Label::setLocation(int, geos::geom::Location)geos::geom::Location geos::geomgraph::Label::getLocation(int) constN4geos9operation6relate13EdgeEndBundleEN4geos9operation6relate17EdgeEndBundleStarEdynamic_cast(entry.second)dynamic_cast(nodes.addNode(ei.coord))212101212FFF0FFFF21FFFFF1FFF0FFFFFF21F1FFFFFF0FFFFFFFFRelateComputer.cpplabel.getGeometryCount() > 0void geos::operation::relate::RelateComputer::labelIsolatedNodes()void geos::geomgraph::Label::setAllLocations(int, geos::geom::Location)void geos::operation::relate::RelateComputer::labelNodeEdges()bool geos::geomgraph::Label::isNull(int) constvoid geos::operation::relate::RelateComputer::computeIntersectionNodes(int)geos::geom::Location geos::geomgraph::Label::getLocation(int) constRelateNode.cppdynamic_cast(edges)void geos::operation::relate::RelateNode::updateIMFromEdges(geos::geom::IntersectionMatrix&)N4geos9operation6relate10RelateNodeEN4geos9operation6relate17RelateNodeFactoryEgeos::geom::Location geos::geomgraph::Label::getLocation(int) constN4geos9operation6relate15RelateNodeGraphEN4geos9operation6relate8RelateOpECascadedPolygonUnion.cpp!static_cast("should never be reached")geos::operation::geounion::GeometryListHolder* geos::operation::geounion::CascadedPolygonUnion::reduceToGeometries(geos::index::strtree::ItemsList*)CascadedUnion.cppgeos::operation::geounion::GeometryListHolder* geos::operation::geounion::CascadedUnion::reduceToGeometries(geos::index::strtree::ItemsList*)CoverageUnion cannot process incorrectly noded inputs.Unhandled geometry type in CoverageUnion.CoverageUnion cannot process overlapping inputs.virtual void geos::geom::CoordinateSequenceFilter::filter_ro(const geos::geom::CoordinateSequence&, std::size_t)virtual void geos::geom::CoordinateSequenceFilter::filter_rw(geos::geom::CoordinateSequence&, std::size_t)*ZN4geos9operation8geounion12OverlapUnion21extractBorderSegmentsEPKNS_4geom8GeometryERKNS3_8EnvelopeERSt6vectorIPNS3_11LineSegmentESaISC_EEE19BorderSegmentFilterPointGeometryUnion.cppstd::unique_ptr geos::operation::geounion::PointGeometryUnion::Union() constInvalid geometry type.UnaryUnionOp.cpp!unionLA.get()double geos::geom::PrecisionModel::getScale() conststd::unique_ptr geos::operation::geounion::UnaryUnionOp::Union()ConnectedInteriorTester.cppintDe != nullptrbool geos::operation::valid::ConnectedInteriorTester::hasUnvisitedShellEdge(std::vector*)void geos::operation::valid::ConnectedInteriorTester::visitLinkedDirectedEdges(geos::geomgraph::DirectedEdge*)void geos::operation::valid::ConnectedInteriorTester::visitInteriorRing(const geos::geom::LineString*, geos::geomgraph::PlanarGraph&)void geos::operation::valid::ConnectedInteriorTester::setInteriorEdgesInResult(geos::geomgraph::PlanarGraph&)bool geos::operation::valid::ConnectedInteriorTester::isInteriorsConnected()static const geos::geom::Coordinate& geos::operation::valid::ConnectedInteriorTester::findDifferentPoint(const geos::geom::CoordinateSequence*, const geos::geom::Coordinate&)ConsistentAreaTester.cppgeomGraphdynamic_cast(entry.second)dynamic_cast(*it)bool geos::operation::valid::ConsistentAreaTester::hasDuplicateRings()bool geos::operation::valid::ConsistentAreaTester::isNodeEdgeAreaLabelsConsistent()IsValidOp.cppvalidErr == nullptrconst geos::geom::Coordinate* geos::operation::valid::IsValidOp::checkShellInsideHole(const geos::geom::LinearRing*, const geos::geom::LinearRing*, geos::geomgraph::GeometryGraph*)void geos::operation::valid::IsValidOp::checkValid(const geos::geom::Geometry*)geomType == GEOS_LINESTRING || geomType == GEOS_MULTILINESTRINGgeom->getGeometryTypeId() == GEOS_POLYGON || geom->getGeometryTypeId() == GEOS_MULTIPOLYGONMakeValid.cppmlscollapse_pointsnew_areanew_area_boundsymdifnew_cut_edgesstd::unique_ptr geos::operation::valid::MakeValidPoly(const geos::geom::Geometry*)std::unique_ptr geos::operation::valid::MakeValidMultiLine(const geos::geom::MultiLineString*)std::unique_ptr geos::operation::valid::nodeLineWithFirstCoordinate(const geos::geom::Geometry*)virtual void geos::geom::CoordinateFilter::filter_ro(const geos::geom::Coordinate*)virtual void geos::geom::CoordinateFilter::filter_rw(geos::geom::Coordinate*) constQuadtreeNestedRingTester.cppinnerRingPt != nullptrbool geos::operation::valid::QuadtreeNestedRingTester::isNonNested()SimpleNestedRingTester.cppbool geos::operation::valid::SimpleNestedRingTester::isNonNested()SweeplineNestedRingTester.cppbool geos::operation::valid::SweeplineNestedRingTester::isInside(geos::geom::LinearRing*, geos::geom::LinearRing*)N4geos5index9sweepline22SweepLineOverlapActionEN4geos9operation5valid25SweeplineNestedRingTester13OverlapActionE at or near point Topology Validation ErrorRepeated PointHole lies outside shellHoles are nestedInterior is disconnectedRing Self-intersectionNested shellsDuplicate RingsInvalid CoordinateRing is not closedToo few points in geometry componentGeometry is not lineal? Marked Visited with degree CommonBitsOp.cppcbr.get()std::unique_ptr geos::precision::CommonBitsOp::computeResultPrecision(std::unique_ptr)CommonBitsRemover.cppvirtual void geos::precision::CommonCoordinateFilter::filter_rw(geos::geom::Coordinate*) constvirtual void geos::precision::Translater::filter_ro(const geos::geom::Coordinate*)virtual void geos::geom::CoordinateFilter::filter_ro(const geos::geom::Coordinate*)virtual void geos::geom::CoordinateFilter::filter_rw(geos::geom::Coordinate*) constN4geos9precision10TranslaterEN4geos9precision22CommonCoordinateFilterEUnknown error*ZN4geos9precision16MinimumClearance7computeEvE20MinClearanceDistance*ZN4geos9precision16MinimumClearance7computeEvE11ItemDeleterN4geos9precision35PrecisionReducerCoordinateOperationE*N4geos9precision12_GLOBAL__N_135PrecisionReducerCoordinateOperationETolerance must be non-negativeN4geos8simplify13DPTransformerEN4geos8simplify18LineSegmentVisitorEN4geos8simplify17TaggedLineSegmentETaggedLineString.cppparentLinestd::vector& geos::simplify::TaggedLineString::getSegments()static geos::simplify::TaggedLineString::CoordVectPtr geos::simplify::TaggedLineString::extractCoordinates(const std::vector&)const geos::geom::CoordinateSequence* geos::simplify::TaggedLineString::getParentCoordinates() constvoid geos::simplify::TaggedLineString::init()TaggedLineStringSimplifier.cppend <= p_line->getSegments().size()start < endnLinelinePtsvoid geos::simplify::TaggedLineStringSimplifier::remove(const geos::simplify::TaggedLineString*, std::size_t, std::size_t)void geos::simplify::TaggedLineStringSimplifier::simplify(geos::simplify::TaggedLineString*)TopologyPreservingSimplifier.cpptaggedLine->getParent() == parent../../include/geos/simplify/TaggedLinesSimplifier.hDuplicated Geometry components detectedit != linestringMap.end()taggedLinevirtual geos::geom::CoordinateSequence::Ptr geos::simplify::{anonymous}::LineStringTransformer::transformCoordinates(const geos::geom::CoordinateSequence*, const geos::geom::Geometry*)void geos::simplify::TaggedLinesSimplifier::simplify(iterator_type, iterator_type) [with iterator_type = geos::simplify::{anonymous}::LinesMapValueIterator]*N4geos8simplify12_GLOBAL__N_121LineStringTransformerE*N4geos8simplify12_GLOBAL__N_126LineStringMapBuilderFilterEN4geos11triangulate8quadedge22LocateFailureExceptionEN4geos11triangulate8quadedge15QuadEdgeLocatorEN4geos11triangulate8quadedge24LastFoundQuadEdgeLocatorELocateFailureExceptionN4geos11triangulate8quadedge8QuadEdgeEEdges do not form a triangleN4geos11triangulate8quadedge19QuadEdgeSubdivisionEN4geos11triangulate8quadedge15TriangleVisitorEN4geos11triangulate8quadedge19QuadEdgeSubdivision26TriangleCoordinatesVisitorEN4geos11triangulate8quadedge19QuadEdgeSubdivision27TriangleCircumcentreVisitorE@@N4geos11triangulate8quadedge6VertexEAssertionFailedExceptionExpected but encountered Should never reach hereN4geos4util24AssertionFailedExceptionEN4geos4util21GeometricShapeFactoryEInterrupted!InterruptedExceptionN4geos4util20InterruptedExceptionE num: min: max: avg: tot: [: no such Profile started usec  %)+/5;=CGIOSYagmq%9QgAk7wU eMW5 _A%]O"%!(i+.26E;@UEJQW^fnxǁ]ٗ;1q3L+hy?QAp[Wa ;U[DGqV1J A S C%piq@Ѻ h#=O&Yr)7,'0#|4W8n={vBGM)T [ǂbjMs|;wM slo%Qwہ(@[ zwm9a}zYjc,Zl5z8ox|gu*j*-+] ))VݿQPI K~ EZ CH 1I ]P`[_4M(O  ɝ1u+"]$'E+.%2K6խH;!}#@idEKu8QDWd_^fFoCLcx?)s+qQ KxG /?_ /?_}??_std::bad_exceptionN10__cxxabiv115__forced_unwindEN10__cxxabiv119__foreign_exceptionE;hzL z|4DВT 0<P<fB]^aғ,hDh\h*,o?qTsidy~4| $ՔD,D \@ԔU|j,\ؕ.dCXm$%l&–BEIIbP4Wd×ؗ\ ԑ0RD~,ޘT,ʙ ߙ L$4FhL'Ú:ܚ |ܛĪ |<<l԰̜T,\ 4LL|dTܞ <,l4ܟTL|Dܠt <ll##̡&(,+\1<??,ALA|DFܣtH TL<,MlNN̤4OO,Q\TTUVYLTL?$ EtD\Ad\B|C|DEFG\HJlMQ4RRRSS< TTTl0>0,? 1?<1@l1lA1|A ,A$,AD,A-A-A .B$.LB/o$>o<> pT>p>p>u4?xT?L}t?}?}??D@̀\@@\A@́,@@@,tADĀ\A$B,DBLdBBLB\B $C\TCC4DLA\A||C|DD̒$ElEEEFFDLFF̙Gܙ\GlGܝ$HGH HIdIII,I|,JJ|JLLKK̰KlH|HLJܳLL,LM,lLq>q@lrlGrGrGr|H\s,L$sLLT? ?,D;;L<L4=L=>LL>>@L@D@L@@@TAtAA<\BB<BlBCl,ClCC,CLDDlDDD|$ETQw>w>w?wL? x?x@x\A4y|ALyAy >>;̹<ܺ<<<\==D?l\?t??????$@L\@L@<@,LAA ABBG A(G/ (A ABBA D1A\1A HS|1AS4/7AAG AAA 1:1:31:82:,2;DpL20=D ,/0>AAD@Q AAA ,0>՜AAD@R AAA $2?LADG0}AA28?AL0D3.K^,3@;<D3KBBG A(GP (A ABBD 43LBDD D@  AABG 3pM<3N1BKA D(J(A ABBT1X? kBHB E(A0A8G 8A0A(B BBBA Ll4IBBG A(G0r (G ABBO Z(A ABB4PJ,4.K^4QD A 4 5Q\BHA D(I0}(A ABBLD5RBBA A(G0x (G ABBO U(A ABB45RXBGA R ABA jAHL5RBBA A(G0x (G ABBO U(A ABB46 SADG g AAK D GAL T6S l6.K^6S"D A L6TBBA A(G0y (G ABBN U(A ABB46UADG b AAH GDD,7`U D7.K^$\7PUG( A ` H L7ZBEH H(D0G8G` 8D0A(B BBBA 7x[G% D Tt5]BBB B(D0D8G 8D0A(B BBBC L8dsd8e{|8pe>Z c48eoAIG0A AAD TAA8eAS,8e)BDD [AB,9eBDD QABL9ed9f&AO H I,9fG C S E i A L9XiBHD G(G\ (A ABBB  (A ABBF L:jtBED M(D0O (C ABBE V (E ABBH LT:jBEH B(J0D8J^ 8A0A(B BBBG $:yAJf CD D:{BEH G(J0GPa 0D(A BBBE L;{kBEE E(D0D8G 8D0A(B BBBG dd;|BBE E(G0G8MY 8A0A(B BBBD  8G0A(K BBBE ;`!A_;p.K^D<XUBAD D  AABD S  AABA T9pMAKJd AAD  AAA  AAH ^ AAA <h^,<'ADG AAG L<;BBE B(A0A8D 8D0A(B BBBA <<=pBEB D(A0 (A EBBC <|=BLG A(G@ (A ABBF L<; PBBE B(A0A8GT 8A0A(B BBBF , >/AGpN AI  AG D;BAG GPR  DABF d  DABE T<X@ۑBAG G@  DABJ X  DABA ^  DABA T\<@0BAG G@  DABF X  DABA ^  DABA ,4?BDD  ABE $d?ؐ5ADJ `DA?$AG ZA?.K^??<t=BPV  DBL A ABA T=X]BBD C(G0 (A ABBC D (A ABBA @DVL@/BEB F(E0C8Gp8C0A(B BBBL@ BBB E(A0A8G8A0A(B BBBdLABBA D(D@ (A ABBJ X (A ABBB u (A ABBE AX^A@dd?șBBA A(J` (A ABBJ  (A ABBA R (A ABBA LB@$AG ZAlBPAM$B@1AGG \DAD4@XHBBB A(G0Gp 0D(A BBBB ,|@`ҍAAJF DAA L@BBB B(A0G8J 8D0A(B BBBC ,@Pw}AAJz DAA C.K^<DAxEBIA D(D (A ABBA <A,BLA D(Dp (A ABBA DDTABBB B(A0A8J 8A0A(B BBBG D8.K^LDBBH B(D0A8D@T 8A0A(B BBBK E@4E8DNLE@dE8DN|E.K^E($E0nAJ0l FC jC4ExBDD GK  AABH , FAGGPK AAD <lAAL W DAA $gpAIG YAD$g(AIG AD$gAIG AD$$h8AIG AD$LhAIG ADeOkBBD D(G0s (D ABBA @ (D ABBG ] (D ABBJ P (D ABBG P (D ABBG b (D ABBA DfXkBBH D(A0 (A BEBA \i@Tf!0jBBB B(A0A8JK 8A0A(B BBBG TLg'0jBBB B(A0A8JK 8A0A(B BBBG TgX-0jBBB B(A0A8JK 8A0A(B BBBG Tg030 kBBB B(A0A8JK 8A0A(B BBBG TTh90kBBB B(A0A8JK 8A0A(B BBBG t,k>KHR E(GP(A ABBHP (A ABBH l (A ABBF kHB$D _k`B$D _kxB$D _kB$D _lB'D blP4lAASLiBD jBEB B(A0A8Ii 8A0A(B BBBG LjHD'jBEB B(A0A8Ii 8A0A(B BBBG lASmxNmOD E QAAL W DAA <Ԋ{BED D(K0E (A ABBK <8TQBEE D(A0h (A BBBA ,TX[ADK s AAK ,@6QBDA b ABA $[ADK HAA,\к@PBDA b ABA , VBKH }AB<RPBED A(L0] (D ABBA $|0HAHK qAA,$X@FPBDA b ABA Ԍh,l`BPBDA d ABA 4OBDA G@z  AABD ,TlAAD@D AAA ,8@OBID Z ABA 44HxOBDA D0C  DABA ,lBTOBDA d ABA ,@4OBID Z ABA <̋ROBED A(L0] (D ABBA < RNBED A(L0] (D ABBA ,LBNBDA d ABA  AG SD, @tNBID Z ABA <̌0RTNBED A(L0] (D ABBA , PB$NBDA d ABA ,<p@NBID Z ABA <lRMBED A(L0] (D ABBA <RMBED A(L0] (D ABBA ,BMBDA d ABA ,@dMBID Z ABA <LRDMBED A(L0] (D ABBA 4MBDA D0C  DABA ,ĎX@LBID Z ABA <hRLBED A(L0] (D ABBA <4RLBED A(L0] (D ABBA ,tBpLBDA d ABA ,ȾDPLBDA f ABA <ԏR0LBJD D(D0] (D ABBA <RLBED A(L0] (D ABBA LT(KBBE A(D0J: 0D(A BBBC <TKBEE D(A0h (A BBBA L`kKBBB B(I0D8Gp4 8D0A(B BBBC ,4BQKBDA d ABA ,d8@1KBDA b ABA ,H@KBID Z ABA <đXRJBED A(L0] (D ABBA 4xJBDA D0C  DABA ,QBGD DP{ AAB$UJYX G z A ,`DX\`BjTIBBB E(A0A8Gh 8D0A(B BBBA DLIBBE A(D0D` 0D(A BBBD DIBBE A(D0D` 0D(A BBBD DܓxIBBE A(D0D` 0D(A BBBD <$DIBHA D(DP (D ABBG <d&IBLD D(DP (D ABBG 4$BAD v ABH yABd\ADG0C AAG T DAG I AAE h AAF I AAE IAA4ėHBAD v ABH yABD@AG0` DD Q DK Q DK Q DK Q DK 4DBAD v ABH yAB\|ADG0C AAG I AAE I AAE I AAE S AAC ܘ`.K^% v<8XGBBD A(GG (A ABBC dXD|`pBBE B(D0A8F@O8A0A(B BBBę%<ܙHBEB D(D0o(A BBBD4BEB B(A0D8F@l8A0A(B BBB<|>BEE A(C0f(A BBB $Ԛ'AIG IGA$&AGDPWAA$$< DI$T(Cv G g I Z,|Dr J X H I G m+A^ A E̛ +A^ A E$0FQ\CQ$XqC` E o I <gA\ C \gA\ C |P(LhCBBE B(A0D8D` 8D0A(B BBBA $d{CAG@q AA  `.K^$h<@T8l0!AR E D@"AN NDD,PBBAG G@[  DABE O  DABA 2He:Hm4AW,ԛ@OBBDA b ABA 4/BBAA JU  AABI ,<>,BAAG _ AAA ,l> BAAG _ AAA  EAG {A<`.K^Tl HS< |ABLA D(Dp (A ABBA ̟[$D@3 I | D | pQD { A P,,ADJ  AAC L\@3BFK D(G@ (A ABBD  (F ABBD T0FBDD J  AABB a  AABK G  GAEE (\L4XmBIE H(G0k (A ABBH N(A ABB,xAV AA ^DD(BDD Jl  AABD R  AABA !D\4 ?AAG AAA <ԟ>BGA D(G@V (D ABBA 8.K^ĢxDNܢDP4LADJ U DAG VDA4,UBAG Y ABJ ^DBd$AT K C4aBEA C(G0H(A ABB<T{=AGG0Z DAB O DAA "AN NDL4BBB B(A0D8GPg 8D0A(B BBBH hD Yp%AS D G7_Ԥ6^6^7_< BAA G@R  CABE  ACBd\wBEB B(A0A8D 8A0A(B BBBB  8A0A(B BBBE ĥ7AV A 2Z2Z(2ZL,PBBA D(DP (F ABBH D (C ABBA |5]5],0}AAG p DAA LܦBEA C(G0U (A ABBC R(A ABBl,wBBH A(A0DP 0A(A BBBH D 0C(A BBBJ D 0F(A BBBG 4ADJ` DAE zDADTx9BGA Gp`  DABH [  DABA , Gy9ADG e AAA <̥@i9AAG@Y AAD G AAA , _B9AGG c AAA ,<0k"9AGG o AAA p+S}.K^<pAG l DH X DD ] DG XD\}.K^t,TO8BDI i ABA X"AN ND4$hGADG0W CAI JGA,\`fBKE D AEE ,nBKE L AEE  AWܪ AW4 AAG k CAH DFA4xDLL̨6BBB B(A0D8D 8A0A(B BBBH D 6BBE D(D0DP 0A(A BBBA DdhF6BAG J  DABA [  DABA ,0{.K^D(\ DI|Ĭ,\O`5BDI i ABA  "AN ND,$AG WD4LGADG0W CAI JGA,hfBKE D AEE ,nBKE L AEE AWAW$D4BBE D(D0DP 0A(A BBBA y.K^  ̮, OG3BDI i ABA D"AN ND4dGADG0W CAI JGA,fBKE D AEE ̯ AL AW AWT ?2BEB B(A0A8D5 8A0A(B BBBH D1BBE D(D0DP 0A(A BBBA L̰` ]BBB H(A0D8DP 8A0A(B BBBG p =TY1BBB B(A0A8D[ 8A0A(B BBBA 0v.K^h`DIܱP  $ < T l #4 IBEE D(H0j(A ABB Բ    4L HS4l AAGG@ DAH sAD"/Hbܳ "AN ND $AG WD, AAJ@ CAA TL` BAD G0X  CABD H  DABI j  AJBE 4 @BAD N ABH RJB4ܴ SADG N AAD oAA4H 9ADG N AAD UAALP N$d pAIG YAD< P1-BLA D(Dp (A ABBA TL -BBA G(GP (A ABBE H (A ABBB $$ wAGG eAA$L\ADG MAA,X@,BDA b ABA ,$n,AAG@g AAA ,TU,AAG@h AAA ,8<,AAG@h AAA 4Lp.K^d84,|EBDA wDB,ķYBDF GCB  ,$EBDA zAB,TEBDA zAB $̸zADD@nAALhBEA A(G0q (A ABBI q(A ABBLDBEA A(G0p (A ABBJ q(A ABBLBBD A(G0t (A ABBF R(A ABBH@"AN NDDPBBH A(A0D@p 0D(A BBBC dDDf V $~ADD@rAA4`~BEA D(D0g(A ABBdd(BIB B(H0G8G` 8A0A(B BBBH D 8A0A(B BBBB T̸0(BBA D(H0b (A ABBB D (A ABBA LxBEB B(D0A8D@ 8A0A(B BBBC $ADD@vAD,/BKE T ANE ,L/BKE e AEE Ld'BHE B(A0D8D`c 8A0A(B BBBA TL.'BBB B(D0A8D 8A0A(B BBBH $< A^\ 4tBAD Dpi  AABH  TDx?l&BHA A(G0N (A ABBI  (A ABBI 4`BFD  ABK LAB,Իh.@&BDA b ABA 4x.ZBDA y ABM A ABA ,<%AGG0D AAK \l0 %BBB D(D0D@d 0A(A BBBB  0A(A BBBA ,̼.@R%BDA b ABA T@!2%BHB E(A0A8D: 8D0A(B BBBB dԿ-BLB B(A0A8D@q 8A0A(B BBBE  8A0A(B BBBA \"$BHE A(A0DP 0D(A BBBH T 0D(A BBBA L.5BBB H(A0D8DP 8A0A(B BBBD \/BDN a ABH ] AEE E ABA | ABH EAB\̾"#BBE A(D0Jp 0A(A BBBF H 0A(A BBBH \P/BDN a ABH ] AEE E ABA | ABH EAB4&#BGD G`Q  AABG De.K^\dV HtlVAS$/D`k A i G i$(0eADD@YAAp0h0 `0$h0 <`0D@e G ,1"AADPy AAA 1111D1BAD G0[  CABA C  AADA $410ADD bACT1!BBE B(D0A8G! 8D0A(B BBBK c.K^`6G A @9G! A  ==AU0eA,=U,D8>#ADJAAt8@AK`rDb.K^AA`@$h@'AAG0[AA<`ABBG A(G@ (A ABBG \ B5$t@[AGG0IAA$P@[AGG0IAAa.K^pChCDABBB A(D0GPw 0D(A BBBD Ta.K^lpNhNZQ!DV E AB2AG hABEO,|BVADG0j DAA DCBDD G@Q  DABG L  DABA thC, `CpAADP` AAA ,CGBDA G`q DAB$DBAGD@pDA\LBBA D(D@ (A ABBB l (A ABBF } (A ABBA TCBBB B(A0A8G+ 8A0A(B BBBA TLpIXBBB B(D0D8J 8D0A(B BBBI $^.K^<M$TM&ADJ TAA<|RBBG A(G@ (A ABBG DMBBB A(A0G@ 0A(A BBBD D(NKBEB A(D0D`{ 0D(A BBBA $LN&AAG@WDA4NBAA Gp  DABD 4,pO&BAA G  DABA <hRBBG A(G@ (A ABBG D(PVBBE A(A0Dp 0D(A BBBA l\.K^RR<YBBG A(G@ (A ABBG TtxRBEB B(D0D8Dz 8D0A(B BBBB lLTlBBE D(D0G@Q 0D(A BBBD d 0D(A BBBI p0D(A BBBL<U BBE E(A0A8D 8A0A(B BBBK  `[.K^$XYDMDi\i<(YuBBD D(J@F (D ABBA D4hYEBBE A(D0JPG 0D(A BBBA D|YBBB D(G0G`e 0D(A BBBH D8Z/\PZLHZEBDD G(GP} (D ABBB o (D ABBH H\*AhLHh5BBB H(A0D8DP 8A0A(B BBBD T\#BBB E(D0A8DR 8A0A(B BBBA T ]BBB E(D0A8DR 8A0A(B BBBA Td^BBB B(D0D8G 8A0A(B BBBE TPcBBB E(D0A8DR 8A0A(B BBBA TdPBBB B(D0D8D2 8A0A(B BBBH W.K^hh48g$L@g'AAG0[AA$tHgtAJ J AJ $gtAJ J AJ W.K^`iXi g$$g'AAG0[AA$LgtAJ J AJ $tHhtAJ J AJ `V.K^jjh$h'AAG0[AA$$htAJ J AJ $LhtAJ J AJ tU.K^<`iBBE G(A0(A BBBU.K^Tdi~&BBB I(A0A8G 8A0A(B BBBE <PU.K^Thul`uXuPuXu$@o~AW H ~ A 4oTAGG g GAJ DFA<,odFG P AB DFN ] DG <ltBBG A(G@ (A ABBG T,ouBEB H(A0A8G 8A0A(B BBBA LrBAD t ABB J ABK Q ABL TAEThS.K^lyytttDJttxt,ptDx\y0Hg|y7Hjt t4LtBAG GPl  AABG t4tAGG AAJ CA4T(vAGG0j GAO yAA, vbAAG o AAA TvwBBE D(A0F@A 0F(A BBBF D0C(A BBBvAT4P.K^4w#BAD D@k  DABC P.K^$0y+ADG0\AA,8yBKE AJyALLyA BBB B(A0A8GM 8A0A(B BBBH dO.K^D{Z BBH A(A0D` 0C(A BBBH TDh| BBB E(A0A8D 8A0A(B BBBA `O.K^4~0HgT7Hj4tx~1ADG M CAC DGA $<T$l0~;ADG0lAA4H~bADG@U AAE wAAD~BAD G@T  AABJ Z  AABA 4~ADG0Y AAI c AAA ,L@BHH AB|AL4d BAA L ABA ,TȀj= BAA M ABD LA BBB B(A0A8GM 8A0A(B BBBH TXL.K^l!AW#L.K^LlY BEB B(D0A8FM 8C0A(B BBBA <K.K^T(l ؅ATK.K^L<BHB B(D0A8DR 8D0A(B BBBJ  `K.K^$.A_ H ED\%Ac| $EAj E I G D@80( 4(L0dIAG0AHLAG0AxIAG0AIAG0AL؇mBED A(F0 (F ABBD D(C ABB4hI.K^L5ASd8@$|`ALn AD T$؉gBBE B(D0A8G 8D0A(B BBBF H.K^,Dؙ\4AStx,4 6BHA G@\  AABA (AY(2ZP|K,g4HMBDD  ABC D|`zBBE B(D0A8G@I8G0F(B BBB4DR$BKA GPL  DABH T|8BBB B(A0D8GM 8A0A(B BBBE TF.K^l@80(   ,,AAG z AAB ,\pAAG  AAA 1 HLBFD D(D0N (D ABBE D(D AEBLȬBBF D(D0a (A BBBF p (A HBBA Tx"BBB B(A0D8J 8D0A(B BBBA LPBBB B(A0A8G@x 8C0A(B BBBA LBEB B(A0A8G@ 8C0A(B BBBA T<BBB A(A0GP 0A(A BBBF e 0D(A BBBH L(BBB B(A0A8G@ 8A0A(B BBBA <)BBB A(D0(A BBB$$D J C A LL`GBBB B(A0A8J` 8A0A(B BBBA L`BBE B(A0A8D@ 8A0A(B BBBE L0BBB E(D0D8D@r 8D0A(B BBBA L=BBB B(A0D8D`m 8A0A(B BBBA ,@=BGA oABP<HopDHw<BBG A(G@ (A ABBG L<]BBB B(A0A8G`J 8E0A(B BBBG D SBAA G@  AABC A  AABA X@.K^4Ld| 1Y+AS+ H+"DW E A$AAG {AA<AL\CA] A |@CA] A pFD] A CA] A ED\ A CA] A 0BA\ A , BAA b ABG ,lAAG@x AAE LAb E ,0[AAG j AAB `MA_ I < BFF K(M`O (A ABBE DLPBAA G@  AABG D  CABA dBBB B(A0D8D`@ 8C0A(B BBBC  8F0A(B BBBA <PBEE D(D0F (A BBBA d<BBB E(A0A8D@ 8C0A(B BBBC T 8F0A(B BBBA 4(AIG x IAM JAAHAb A 4|0BAG  ABA 4xQBAA G0  DABI 4-BAD  ABA 4BGA K(G0u(D ABBT\ BBB B(D0A8G 8A0A(B BBBA TBEB B(A0A8G 8D0A(B BBBG 9.K^  4 LdH$|D0k Q I G H H AG0A$ASD\%BAA GE  AAEI M  ACEA $$AGP AA Lzdv|P,PBFK G@ DABT\KBBB B(D0A8G. 8D0A(B BBBA 4X7.K^L#AY4l >ADG M AAE [AA,(dAAG x AAE LhBBB B(D0D8D`a 8A0A(B BBBA $"AS,<hBDD { ABA $l@HT D V J lBBB G(D0GPK 0D(A BBBB  0D(A EBBH D 0G(A EBBA TX\BBE B(A0A8J4 8A0A(B BBBA \:t ,BDG  DBA )H\TtBBB B(D0A8G. 8D0A(B BBBA Lp4.K^d AS|  s<YBBG A(G`  (A ABBF U$4AG@ AC $\@aAAG DGA<BBG A(G@ (A ABBG TDHd)BBE E(G0D8D 8D0A(B BBBG <pODp B  H  D  F  F  H \<t8WBED A(D`! (A ABBI XHEU F LBHE E(A0D8G} 8A0A(B BBBI L$BKB E(A0A8G}8A0A(B BBBDtBGB D(K0D@. 0D(A BBBI T<zBEB B(A0A8G 8D0A(B BBBD DBBB D(D0D@z 0A(A BBBD \0.K^t 4AAG@ AAD DCA4BAD  ABL AAB<BBG A(G@ (A ABBG <TBBG A(G@ (A ABBG LBEB B(A0A8GpX 8D0A(B BBBA 8/.K^AS L,pBBD D(F0C (C ABBC D(F ABB$|^ADD RAAL88BQB E(A0A8D@ 8D0A(B BBBG LtBEB E(I0H8D@ 8D0A(B BBBD \DhBEB B(A0D8D@] 8D0A(B BBBB D8C0A(B BBB<xsBAA N0M  AABE D CAB<"BBA A(GP (A ABBE 4$TBED A(F0{(A ABBTWBBB B(D0A8G. 8D0A(B BBBA ,.K^BASh#Y4BAD J ABD } EBA ,4BAD H EBJ ,dXBAD H EBJ <BAD J DEF A AHA ,8BAD S EBG <BBA A(G0 (A ABBA <DXBAA ] DEF Q GEC 4(BAD D@R  AABG ,BAD H EBJ ,BAA  ABA <BAD O ABG i DBA ,\`BAD j ABD LBEE A(D0y (A BBBG C (A BBBF ,BCD ` ABD < 0 BBB D(A0 (A BBBE <L BBD D(D@^ (D ABBI <0 BGD A(G0 (D ABBA LL \BBE B(A0D8D 8D0A(B BBBJ L 5BBB H(A0D8DP 8A0A(B BBBD 4lPBAD D0n  AABC ,BDG V ABJ TTxBEB B(E0F8J 8A0A(B BBBA ,P'.K^D5\5t55 H!DV E A<BGA A(D0~ (A ABBA 4LAAG M AAH _AALHBBB B(D0A8DPM 8D0A(B BBBE E,=BDA rAB4  ACJ n CAH N AAA T AU,t mBAD [AB       , vADJ t AAK \L kBED C(G0T (F AHBF J (F AEBH D(A ABB,,}AAG  AAA , 1MAHG [ DAH D 2IBEB D(D0G 0A(A BBBG T+BEE E(D0D8L} 8D0A(B BBBA , 2ADD ] AAA t  3BIA D(G0B (A ABBA o (A ABBK g (A ABBC D (F ABBA L HBBB B(A0G8G`K 8A0A(B BBBD d$ !BBB E(D0G8G`N 8A0A(B BBBK  8A0A(B BBBA 4 #qBHA D(F0U(A ABBd $PBBB B(A0G8GV 8A0A(B BBBI h 8A0A(B BBBF 4 'TBHA D(F0x(A ABB4d 'BDC  ABA < (BED D(G0 (A ABBA L\P)mBBB E(A0A8D` 8A0A(B BBBA L, p+KBEE E(I0D8G`- 8D0A(B BBBA @-AU.K^40 L1d1|0D1?@1J.K^ AS,x1QBFK zABT 1BEB B(A0A8G 8D0A(B BBBD |.K^R5 AS H H\ `5BBB A(D0DPM 0A(A BBBD D 0C(A BBBA 4l6BAA D@  AABA 4$74BAD D@  AABA 8AL48BAD D`  AABH 44:BAD D@  EABA <lp;rBBA A(DP (D ABBC 4qBAD D@  AABB ]  AABA 4d?WBCD G@  AABH < ABAA J)  AABA <CaBKF D(A0 (A EBBC ,DgAG AA ` AG 40HOBDD G`  AABA TJ+BBB B(D0A8J 8D0A(B BBBF `.K^N N,N@AID Y DAA TNpcLl.K^N6ND4OIBBP D(A0DPd 0D(A BBBA ,0U=BGA oAB,, PZBKI rAL\PPAL<|TBBG A(G@ (A ABBG <PBBA A(HP (A ABBF 4pUWADD` AAA FAd4VwBFD D(J (F ABBE I (A ABBA  (A ABBH LX$BED I(D`q (D ABBF V (A ABBD DOBAA G}  DABA   DABH D4(QBDD Dn  DABE   DABH $|pR5AGG bAA.K^XXLXBBD A(D0 (D ABBE D(A ABB<pYALd\pYBBE B(A0A8D 8D0A(B BBBG D 8C0A(B BBBA Z ,ZBDA s ABA , `[BDA s ABA <\.VT(\.VldAS$(\Ar E T D \-U\AI A X].V4|p]BKE m ABA 4]BHE u ABA D@^BAA Jq  CABK   AABK daBEB E(A0A8D` 8D0A(B BBBH D 8C0A(B BBBA <lSQBBA A(L0d (D ABBA Tb!BBB B(A0A8D6 8A0A(B BBBA HdD u G <lBBG A(G@ (A ABBG $dAG M AJ 4<@eBDA D0  AABA Te"BEB B(A0A8G} 8A0A(B BBBA .K^l.K^xlJ,l*DlV$\mBADG pDAT8mWBEB B(A0A8G 8D0A(B BBBD P.K^,tXq'AAG0I AAA $q+S<q4TqAIG@W AAF VAA$@rqAIG@]AADryBEE B(G0D8G@~8G0A(B BHBdrBEE E(D0D8D` 8A0A(B BBBB 8A0A(B BBBd s=D xD|  tBBB E(D0A8DPh8A0A(B BBB .K^T\PtQBBB B(D0G8K 8A0A(B BBBC <4!xBBG A(G@ (A ABBG <t!wBBD D(G@ (A ABBD !yT0t H 4!yWBDD y ABJ AADL "z BEB E(D0D8G`N 8A0A(B BBBK \"0.K^t"}"}"x{D"{BEE E(D0A8DP8A0A(B BBBD#{BBB E(D0C8DP8A0A(B BBBDL#P|BEB E(D0A8D`8A0A(B BBB#( .K^#@#8#0#8 $|lD$$|BBE E(D0I8GP8A0A(B BBBLl$BOB A(A0] (A BBBG Y (A BBBH L$PBBB B(D0D8GP 8A0A(B BBBG < %BBG A(G@ (A ABBG DL%ЉBEB D(A0D@ 0A(A BBBA L%XBBB B(A0D8GP> 8A0A(B BBBD Td#{cBBB E(A0A8J 8A0A(B BBBA ,<&~LBDD ~AB4l&bBED D(F0F(A ABB&؊L,&ED AA W AH L&BKE B(A0A8Dp 8A0A(B BBBC L<' BLB B(D0A8Dp 8A0A(B BBBB ,'PBDD wAB,'9ADG M GAO ,'2BDG ]AB4(@UBDA w ABO AABLT(hBEM E(D0 (A BBBA ^(A BBB,(BAD H` AAB,(BAD H` AAB).K^$)`rADD fAAD)ALd)l|).D)(BEE B(D0I8GPr8A0A(B BBB<)BBG A(G@ (A ABBG T'@BEE B(D0A8Jg 8A0A(B BBBB ,t*VBFD FAB4*dBHD D(F0E(A ABBL* BKE B(A0A8Dp 8A0A(B BBBC <,+BEA A(D@ (A ABBK ,l+p~BDD O ABD ,+9ADG M GAO ,+Г2BDG ]AB+ .K^,AS,,%D,ȔfT) rpBBB E(D0A8G[ 8D0A(B BBBA ,,,d*L5ADG g AAA ,-8xAG0R AE VAD-bAG0XAd-ؚ|-.K^--- HS<d+AAAG` DAD \ AAA 4+8BIA H ABA 4\.oAFF Q AAH DAA...ț$.ЛDAID pDA/ ,/DBDI qAB,,RAID0d GAE |/@GAJ zA</`BBG A(G@ (A ABBG 4/0BDD G0\  AABG 0,04D0\0&t0(0008.0PW0B0О&1C1 &418CL1p"D Zd1 |111$1xADIPsAA4l/lBAD n ABA $28<2@$HW\2PAL|2P40HBDD G@k  AABA <L0BBA I(D0u (D ABBA  3@$$38GADG0uDA40`RBAD D0`  DABF L3BBA D(G@i (A ABBA I (A ABBA <T1BID D DBG T DBA 4آ#DN F J$44EADG0sDA\4,t42BDC bDB,4>BDC dNB,4(/BDC _DB$5(kAAG _AA,5pALL5pAd5IH@<5BBG A(G@ (A ABBG 5DD k A |5BBB B(D0A8DP 8A0A(B BBBB U 8G0A(B BBBK  8A0A(B BBBI Ld6HxBED A(G@R (A ABBE A(A ABB$6xSADG0DAA46BGD G0_  AABI T7(BEB G(A0G@] 0G(A BBEJ b0A(A BBBLl7BEB E(D0D8J` 8A0A(B BBBF 7@,78WBDD IAB8hAP\$8hBEE E(D0D8D@w 8A0A(B BBBB T8A0A(B BBB8ȩD8vBEE B(G0D8G@{8G0A(B BHBd8BEE E(D0D8D` 8A0A(B BBBB 8A0A(B BBBL9 %D `d9.K^L6 MBBB B(D0D8Gn 8A0A(B BBBA L95BBB H(A0D8DP 8A0A(B BBBE L7 ͹BEE E(A0A8G` 8A0A(B BBBA <7BBB D(D0y (A BBBA :"::&<:OBEE A(A0q(A IBB4;x.K^L;d;"$|;@0AAQ YAA;8.K^;;;<4< AAG@@ AAE |AAT<8l<0<W< `d<hBLB B(A0A8D`q 8A0A(B BBBE  8A0A(B BBBG L= BLB H(A0D8D 8A0A(B BBBD <l=`BBG A(G@ (A ABBG L= BBB H(A0D8D[ 8A0A(B BBBD ,|;#AADp| AAD <,>PBBG A(G@ (A ABBG Ll>BEE B(D0A8F{ 8A0A(B BBBB 4>JBEA D(H0o(A ABBD>ؽBBE B(D0A8DP8A0A(B BBBLBAD sAB,LMlBDD  ABA OPAn A _\PBFE E(A0A8DPP 8F0A(B BBBI D8C0A(B BBBL|P0BBE B(A0G8D` 8A0A(B BBBE LPBBE D(A0B (A BBDG K (A BEBK <Q@BBG A(G@ (A ABBG <\QBBG A(G@ (A ABBF Q5d4OdBBJ B(A0D8Dp 8D0A(B BBBA V 8C0A(B BBBA RSA[ D r<Hqt^^!DV E A^NHA,^ADG  AAA ^pALL\`BBE B(D0A8D 8D0A(B BBBA 4\ PBDI D0  AABD |_BBB B(D0A8DP 8A0A(B BBBB U 8G0A(B BBBK  8A0A(B BBBI L] YBBB E(A0A8Dp 8D0A(B BBBA D] "sBBB A(D0Dpa 0D(A BBBE <`BBG A(G@ (A ABBG L`BEE E(A0A8GPQ 8A0A(B BBBK LLaBEB B(A0A8D 8A0A(B BBBA <_ DdBAA D|  GABA aDQ4aIBEA A(GPr(A ABB4,b0jBED D(GpM(A ABB4dbhLBEA A(JPr(A ABB4`qAAD AAB 4b]BEA A(J`C(A ABBT`$BBD A(D07 (D ABBC V (D ABBA dcX.K^|c-c c ccc d$dZߍBHB A(A0GP{ 0D(A BBBE  0D(A BBBE X 0D(A BBBE g 0D(A BBBA D,iABBE D(A0G`r 0D(A BBBF <ti(CBBA A(GPa (D ABBI LiCbBBB B(D0D8G\ 8A0A(B BBBC <jxFIBBA A(GPa (D ABBA <Dj(Gj+BBD D(GI (D ABBK 4jXHZBAD G0j  DABA 4jHZ֌BAD G0j  DABA Ltmc]BBB H(A0D8DP 8A0A(B BBBG Lmd]BBB H(A0D8DP 8A0A(B BBBG LkHBBB B(D0A8JW 8A0A(B BBBH Ldne]BBB H(A0D8DP 8A0A(B BBBG T4lXKBBB B(D0A8Gs 8A0A(B BBBA L opf]BBB H(A0D8DP 8A0A(B BBBG TlpM>BBB B(D0A8Gs 8A0A(B BBBA L4mOS BBB B(D0D8GX 8A0A(B BBBG <mZBED A(JU (D ABBD Tm]fBBB B(D0A8Gs 8A0A(B BBBA Dn_DBEE A(A0GpI 0D(A BBBA p.K^pªASqe($neˊMFD@TqXflqPfToHfALBB A(A0FPu0A(A BBBBPT\o@gFBBB B(A0D8G\ 8A0A(B BBBF Tol4BEB B(A0A8G1 8D0A(B BBBF L p@qBBE E(D0A8Dp 8A0A(B BBBB L\pssBBB B(D0D8D` 8A0A(B BBBI LpuBBEB L(D0A8G` 8A0A(B BBBA TpvBBH B(D0D8F[ 8A0A(B BBBG LTqHxUBEB L(D0A8G`S 8A0A(B BBBB LqXyU\BEB L(D0A8G`S 8A0A(B BBBB Lqhzl(BBE H(A0D8Fp- 8A0A(B BBBE LDr|U BEB L(D0A8G`S 8A0A(B BBBB Lr}ֈBBB B(D0D8DT 8A0A(B BBBF LrUBEB L(D0A8G`Q 8A0A(B BBBD L4sBBF B(D0D8DT 8A0A(B BBBJ Ls(UhBEB L(D0A8G`S 8A0A(B BBBB Ls8R4BHB B(D0D8DpH 8A0A(B BBBD L$tHUBEB L(D0A8G`Q 8A0A(B BBBD vXBBE D(D0[ (A BBBM c (A BBBN c (A BBBN c (A BBBN c (A BBBH c (A BBBH c (A BBBH c (A BBBH D4u#BEE D(A0G@u 0A(A BBBK <|uBED A(GPF (D ABBA lFD@HBj$1AAM SDA$-<dTBBB B(A0A8G` 8A0A(B BBBC u 8D0A(B BBBJ <plBBH A(D0B (A BBBF ,~ADG A IAH L,BBD D(D0 (A ABBH D (F ABBE ,~ AGG@[ AAA tBEA D(G0A (G ABBH ] (G ABBO u (G ABBO e (D ABBJ <$HBBB D(D0 (A BBBA Tb€BBB B(A0A8G 8A0A(B BBBA .K^Ԃh`XP4HL`.K^,(vAFD0K AAA $x]AG a AA 4ԃBDD x ABK l ABA TGBEE E(D0A8G 8D0A(B BBBA TxPBEE B(A0D8G 8A0A(B BBBA T<p~BHD D(JP^ (D ABBE F (D ABBA 4:BED A(G@](D ABBL.K^d4|YBBD A(Gp(D ABB<4}BEA A(Gp (D ABBA $x:AAG@kDA,EBDA G@o DABLD Xd)D0d,|uBDA D0b DAB D XĆ(܆ !D \8LAG0BAh_D0f F n,4AG@C AD rA<AI|BBA D(G (D ABBA h.K^4ԇNAP2 AD Y AF  AA L BBE B(D0A8G 8A0A(B BBBA \"D ]$t2AGD0cAAD=+{ADG`L AAF u AAI U AAA $CAGD@tAA 0.K^$D<MBFE A(A0G 0D(A BBBK $fAG0d DH L BED G(D@h (D ABBI J (D ABBE LBEA D(GpK (D ABBI R (D ABBE DL BBB A(D0G 0A(A BBBA $2AGD0cAA.K^$ԊBAG g ED DA<|xAAG@U AAH s AAC <.De,\CBDD qAB&D]$GiU B F4ԋVAAG M AAH sAA  /UU,0D(\ t/Am4(BAD K ABK oAB̌Ч.K^xG<vBBD D(G0q (A ABBF l 4RBDA s ABK A ABA <T7vAAG@\ AAI k AAC AP4.K^LAS$dXsDC I  D ZQ,Ԏ4AGDp AAD $AKPm AF ,,tAGG V AAI $\ ,AJG TDAD(BAD g ABG I ABD G ABN ̏6d tBEA D(J (D ABBI W (D ABBH _ (D ABBA L8BBG D(D (A ABBD  (A AEBG 4BAD G0W  AABG pb4RLRdX$|PAJ ~ AA ,BFA G0 DABԑ(.K^`\XMrBBE A(G0Df 0D(A BBBJ q 0D(A BBBD $d&AGD0WAA.K^L=BEB B(D0A8G8D0A(B BBB AN,,0BDA G0Z DABtܐZ qBEE A(D0Gk 0D(A BBBB ^ 0D(A BBBG I 0D(A BBBA 4ԓ:BED A(G@](D ABB P.K^$ćAS,<BIA  ABA l .K^̔4|oADG> AAD TxjoBBA D(D7 (D ABBC u (D ABBA < @7oBBA A(GPW (A ABBF ̕.K^4d(nBDA  ABA AX,nAAD`s AAA l.K^( ($̖@%K Y,XAAG M AAH dh'BLB B(A0A8D@c 8A0A(B BBBK  8A0A(B BBBC <|0BBG A(G@ (A ABBG ,<PKmAAJ0 AAG ,=BGA oABTGlBBB B(A0A8J  8A0A(B BBBH <blBBD D(DP (D ABBA ,48lAAGP DAA 8.K^ph,`DT0q K LdhBBE E(D0D8GPN 8A0A(B BBBK .K^̙dBEB E(D0D8GPN 8A0A(B BBBK / 8D0A(B JBBL |.K^80Ě(<\gjBEI D(G (A ABBA LhjBBE E(A0A8G 8A0A(B BBBA l@.K^ " & .V̛@dD` B ,BKE  AJA 0ALT0hniBBB B(A0D8G 8A0A(B BBBG < BBG A(G@ (A ABBG TT hBBB B(A0G8G> 8A0A(B BBBA ,, _BDD k DBE \.K^tX 8"PԝX&, BKE  AJA p ALTp gBBB B(A0D8G 8A0A(B BBBH 4ZBDA x ABN A ABA 4L  gBHE  ABA d'BLB B(A0A8D@c 8A0A(B BBBK  8A0A(B BBBD Ll]BBB H(A0D8DP 8A0A(B BBBH =LT PfBBB B(A0G8Gp 8A0A(B BBBA 4$TBED A(F0{(A ABBDܝeBBB A(G0GP 0A(A BBBA <BBB D(D0|(D BBB(.K^ x ,p<DhBAA G@  AABG D CAByzAS<BJA A(Q0 (D ABBC ܡ  Y4$XRBAD o AHI AAG<ܟGcBBD D(Gpx (A ABBG DTBEE E(D0A8F@m8A0A(B BBB<BEB D(A0 (A BBBA $<0BAID nDAdؓ.K^|PBHyIH|VxASԣDlP5bBBB A(A0Jw 0A(A BBBG D4(BHB B(A0C8DPp8A0A(B BBB,|9BDA nABL,aBBE E(D0D8JQ 8A0A(B BBBE DBBH E(D0A8DP8A0A(B BBBDDH }BBB B(D0A8D@a8A0A(B BBBT  )aBBB B(A0D8G@ 8A0A(B BBBA <8'BBB A(D0q(A BBB$'ATD(.K^Tܣp'`BAA Gz  AABG [  AAEF g  AAEA <4)`BBA A(J (A ABBA x*DO| *&BBB E(D0A8G 8F0A(B BBBG L 8F0A(B BBBE  8C0A(B BBBA 0,d8,|BBB E(D0A8D_ 8C0A(B BBBA  8F0A(B BBBE LP-c_BBB E(A0A8DC 8D0A(B BBBG \`2t2222,Ԩ.gBKE D AJA .AL$2#Y,<2ADGAA,l.ZBAA D0M AAB.3AG iAT<.]BBB B(D0A8D 8A0A(B BBBA $x0,ADG \AA<`.K^T(41HhtH48Hkd82\BBE E(D0D8G@N 8A0A(B BBBK  8D0A(B BBBS 4-.K^,pAS4D3ADG@ AAD L AAA |4$4X@R@F@, 6BEA | ABI .K^8pASlp6[BBB H(D0A8G` 8A0A(B BBBE  8D0A(B BBBA $8QAAG xGA$H8D0b J f A <\8$ZBDA DI  AABA L;4ZBBB B(A0A8GpS 8A0A(B BBBB <l=BJA D(D0 (D ABBH ,B=BGA oAB,ܭP>YBKI qAL >ALL,>BEB B(I0A8D` 8A0A(B BBBJ <|0BBBG A(G@ (A ABBG L>BBB E(D0A8D 8A0A(B BBBA <p?XBBD A(DP} (A ABBA LL?5BBE B(D0A8D` 8A0A(B BBBB .K^xB̯pB,A~AFQ z DAI A,0.K^DH.K^D\B{BEE B(A0A8DP\8A0A(B BBBCC԰C LABBE B(A0A8DP 8A0A(B BBBA <.K^TGTlH0HgH7Hj@B%DK A ṮPBk\BBEB F(A0G8G`p 8F0A(B BBBC V8J0A(B BBB|DCBBE E(D0D8Gc 8A0A(B BBBF  8A0A(B BBBF m 8A0A(B BBBA IJ(.K^$ܲGBAGPP AG D(HBBB D(D0Gpl 0A(A BBBG LIEDdJfBDD G3  AABH J DAB,LBDD f ABE 4ܳLdBBD D(J@G(A ABBDPGLA A(G@_(A ABBG@$\pLAQp AF ,HNSAAGp] AAH h.K^̴RxRpRxR,R"DR4AZ E SdR<|QBED G(J(A ABB.K^ԵW>HuXEHx8X $,RGAHG@tAATX:Al K ADRQBBB A(A0G 0A(A BBBA L<RuQBBE B(G0A8G 8A0A(B BBBA < pSBBB A(A0(A BBB4̴SvPBAD G@J  AABA 4TPBDA G  AABA ,<UPADG AAA .K^(` `<4hVBBB A(A0(D BBBtVD | A TxWOBBB B(A0A8GS 8A0A(B BBBA Ll YOBBB B(A0A8G 8A0A(B BBBA 4<YkBED A(D0T(A ABBTZMOBEE B(A0A8GO 8A0A(B BBBA L̹@[:BBB B(A0A8D`!8A0A(B BBB,0\NAIG AAA 4̷\NBAA G@U  AABA ,H]UAHG \ DAE ~.K^4̺]ADD t AAI DAA]AL$]Em< ^1YDԸH^MBTQ A(A0C (A BBBE L`MBBE E(D0A8G@N 8A0A(B BBBF 4laDcMBSM  ABA $}.K^<bT(c<lPcXc$Pc2AIJ [AAļp,ܼq=BGA oABL c]LBBB B(D0A8Gb 8A0A(B BBBH \`e4t8qWADD` AAA FAd`rwBFD D(J (F ABBE I (A ABBA  (A ABBH Lxt$BED I(D`q (D ABBF V (A ABBD LhdKBEB D(E0D) 0A(A BBBI T4eJBBH B(A0A8D 8C0A(B BBBA L gBBB B(G0A8Dp 8A0A(B BBBG Dܼpi-BJBBH A(D0GS 0C(A BBBK XkPk4THkIBGA DPm  AABA \ k"BAD I ABM R ABK Z GBM Z GBE AAGll'Aa4lJBDA r ABD AAGHy.K^4ADD l AAI DAArDN$, ADD qDATr:4lrADD  AAI DAA<$8s#HAAG0M AAH ~ AAH <t^BED G@  AABJ i AABLuXGBBB B(A0A8Jp  8A0A(B BBBA tvD T<PBBG A(G@ (A ABBG <BBG A(G@ (A ABBG TpvFBBB E(A0A8G 8A0A(B BBBA 4dxJBEA D(H0o(A ABBDBBE B(D0A8DP8A0A(B BBBLBIE B(H0D8Dp 8A0A(B BBBJ L482BHB B(A0D8G` 8A0A(B BBBLvEBEB B(D0A8Dpc 8A0A(B BBBG hu.K^TlPxY;EBBB E(A0A8G 8D0A(B BBBD TX{SEBBB B(A0A8J K 8D0A(B BBBA #$(AADH nDAD\PYEBJB A(D0[ (A BHBA L$pBED G(MPW (C ABBB g(A ABDt؛/D0j\BEO E(J0L8GPT 8A0A(B BBBJ D8F0A(B BBBPAU\ PBBE B(D0D8GPI 8C0A(B BBBA e8J0A(B HBB<lBJH A(A0G@0D(A BBBD &AAG0O AAF @ AAF a AAE ,؜ADG@o DAH ,H`'CAAG`w DAA TS H,lDAKD i DAA $AI AE <D8BBJA J  AABA T{BBBB B(A0D8J 8A0A(B BBBA ,\tAAG@I AAA L 0BBBF F(G0D8I@ 8A0A(B BBBA $DAP G V J G((AG ^AT8BABBL E(A0A8G| 8A0A(B BBBA $|0VADD JAAo.K^P&hH*$?ACG qAA,,Ъ[BDC G0F AAB\fH@]tPAS@KAIp2Ad K A3$9AAG aDALЫh?BBH B(A0A8DpF 8A0A(B BBBD 4\{BEA A(F0e(A ABB8vD A K CLЮBBB B(A0D8DpM 8A0A(B BBBA L@?BGE E(A0A8Dp  8D0A(B BBBA LlBBB B(D0G8Dpn 8A0A(B BBBA ,<>ADDPi AAA CAb A , =BGA oABd<0BBE B(D0E8D@P 8F0A(B BBBA  8D0A(B BBGA T$x=BBB B(A0A8J  8A0A(B BBBA ,=BDA nAB,pk.K^DDM H\LMJD E AL|`aBBA A(JY (A ABBA  (A ABBA Pظ!T|6s<BBE B(A0A8J 8A0A(B BBBK LؾB<BBB E(A0D8F 8A0A(B BBBE T$X <BBB B(D0D8J 8A0A(B BBBH 4|[;BDA L0m  DABA 45T ;BBB B(A0A8G 8A0A(B BBBG \$Xn;BFB D(D0G^ 0A(A BBBA  0A(A BBBK theU;BBE D(D0G] 0A(A BBBC  0A(A BBBF ^ 0A(A BBBJ |Ph.K^I40BAD  ABG AAB4BAA M AABDrBGD Dpn  AABE   GABE <d8BBG A(G@ (A ABBG LxUBED G(G@Y (A ABBH  (A ABBI DfBEE E(D0A8F@8A0A(B BBB,F9AAGP AAA <0(9AAG` AAB V AAA d,28BEE E(D0C8Gp 8A0A(B BBBJ ] 8A0A(B BBBI Tm8BLB E(D0A8D 8A0A(B BBBC Dr8BAG GPy  AABB h  AABD hEM4hTBHA D(F0x(A ABB d.K^$F H,` 7AAGp AAB <@O7BEA D(GP (A ABBG $P9AI AA hLBDB B(A0A8J 8A0A(B BBBA \< BBB D(D0J 0A(A BBBE F 0A(A BBBJ LBBE E(D0D8J 8A0A(B BBBH \BBB A(D0J 0A(A BBBF  0A(A BBBA \LBBB A(D0J 0A(A BBBH @ 0A(A BBBH L0 BBK H([R (A ABBF ~ (A ABBD <BWA A(U (A ABBG T<0 BBH H(P (A ABBH [ (A ABBG L(BED D(_P (A ABBD  (A ABBF \8,BBB A(A0J 0A(A BBBG  0A(A BBBA DD.BBB D(A0J 0A(A BBBD L`5BACGP HAJ u AAA M HAJ THAP`.K^H78Av,h7nADD  AAA DD8BAD D@  AABH H  AABA D:[BEB A(D0D` 0A(A BBBA D;YBAD D@G  AABJ   AAEI L0BBE B(D0A8IN 8A0A(B BBBG DtX@tBEB E(D0D8F@M8A0A(B BBBD@BEE E(A0A8Fp8A0A(B BBBLHA\@0BBB A(A0D 0C(A BBBA T8].K^,l`GmBKE J AJA ,GtBKE M AJE 4LC/BAA J@T  DABA LG5BBB H(A0D8DP 8A0A(B BBBE TH%TD,.BBA A(G@ (A ABBA l (A ABBA TDD,.BBA A(G@ (A ABBA l (A ABBA [.K^4XILPI$dG[AID0GDALHBBA D(D@ (A ABBG s(A ABB[.K^$hb<ADH lAAH14H1LH:4dIAAG I AAL y AAE TI,BEB D(D0n (A BBBJ A (A BBBA LJBEE E(A0A8D`m 8A0A(B BBBB TXJjV,BBE E(A0A8G  8A0A(B BBBA LpL,BEB H(A0A8G_ 8A0A(B BBBE LOBEB B(D0A8D`p 8A0A(B BBBB L0P+BEE H(A0A8GT 8A0A(B BBBE LRBEB B(D0A8D`p 8A0A(B BBBB L\R\+BBB A(A0J 0A(A BBBB 4,p_ZBDA x ABN A ABA DU9*BBA D(Gz (A ABBH $YQAG J AE wA<TYd*AAG@l AAI k AAC ,Zo=*AGDpL AAA ,Zo*AGDpL AAA ,([)AGDa CAA T$[)BHD A(D0  (D ABBG T (D ABBA ,|\d)AAG`A DAA ,U.K^D] \],t]7AAKp'AA^4^8__<hqBLA F(G@ (A ABBJ LD^BEB E(D0D8Ge 8A0A(B BBBD L8`BEB E(A0A8Dp 8A0A(B BBBA L`BHE E(D0A8G 8A0A(B BBBE L4bmBEB B(A0A8DQ8A0A(B BBBLcBAD Gpx  AABF q  AABK  AABTe&BBB D(D0JB 0D(A BBBK d 0D(A BBBA  0D(A BBBG S 0D(A BBBA dR.K^|gg3!DV E A,Lgy%AID0C DAA D|h%BBB A(A0 (A EBBA <DiBBG A(G@ (A ABBG LHhp%BBE B(A0D8Fp 8A0A(B BBBA 4h}BDA | ABJ iAB pQ.K^$j><@jBTxjlpjhj`j,m0AI FK C Ld(j#$BBE A(A0G 0D(A BBBA 4xP.K^Lqdxq|pqXm%G ]pm%G ],Dmr#AND0S AAA 4tmR#BKA JP  DABA n*1#Ah,nN#ADD0o AAA ,n"AAG@ DAA 4,oR"BDA J0f  DABA NHKx,|p"AAD`T AAA <p|"BNA G  AABA lrAQN.K^$hrG! H  D 4L@v!BAA G`  AABH D(wBBB B(A0D8D@8A0A(B BBBLw<dBLG A(G@ (A ABBF 5t KHR E(GP(A ABBHP (A ABBH l (A ABBF LvH BBB E(A0D8Id 8C0A(B BBBA L& BBB B(D0A8D 8A0A(B BBBD TTy BBB B(G0A8G 8A0A(B BBBD ,DDBBB B(A0D8DP8A0A(B BBB< PBBA A(G@_ (A ABBF DЖBBB B(A0D8D@8A0A(B BBBd(.BBB B(A0A8G`J 8A0A(B BBBK n 8A0A(B BBBH D|BBE B(A0A8DPn8A0A(B BBB,D8AJD`Y DAA $&AAG@WDA,AMD`Y DAA $L&AAG@WDAtI.K^40BBA D(D0(A ABBLDBFB B(A0A8Gpg 8A0A(B BBBJ ,BAD ABD&$\?ADL aGA$@ADM aGA$0@ADM aGA4HBBD D(D0x(D ABB4AAG AAA $DAGDP}AAlpoD@jȩLpeBBD A(Dp (A ABBK ~(A ABBTl04BED A(D@d (D ABBC  (D ABBA T4BED A(D@d (D ABBC  (D ABBA L[vBFB B(A0D8Dp 8A0A(B BBBA LBBB B(A0A8G` 8A0A(B BBBK L<BBE B(A0D8G 8A0A(B BBBB Z5T<jBEF B(A0A8G 8A0A(B BBBG xE.K^,$LȻu4BBB B(D0A8DPM 8A0A(B BBBH AO<HBBG A(G@ (A ABBG HD g E D.K^,D\tؾA[4<AAG  AAG D CAH t0Hg7Hj0Hg(7Hj3 @$1HhD8Hkd("|@)H\<PBBG A(G@ (A ABBG <BBG A(G@ (A ABBG <BBG A(G@ (A ABBG T-/BBE D(J@S (A ABBH  (A ABBA d4BBB B(A0G8GpN 8A0A(B BBBA  8A0A(B BBBE ,=BGA oABLdRH I A()H\8THG4AEG u AAL DAAAL?.K^4L,!pAAK  AAA 4{BEA A(D0`(D ABB 4(vBHA D(F0Z(A ABB,p1BDA fAB4BDA ` DBA <hBBG A(G@ (A ABBG LRBBB B(D0A8D` 8A0A(B BBBH <BIA A(DP (A ABBA Th<`BIA A(DP (A ABBA <DJBBA A(G0N (A ABBG A[$<.K^,<WAED C AAA 4ldBBA A(D0S(A ABB-A] B $D(rdAJ0J AA ,hBHC TDB<BBB A(A0k (A BEBA D>BEB D(D0GP 0A(A BBBF <BJB A(A0f(A BEBLXBBE A(A0U (A BBBI o (A BBBJ 44(BED E(D0(D ABB,l@=BGA oAB<PBBG A(G@ (A ABBG d\ppBBB B(A0A8Gp 8A0A(B BBBA u 8C0A(B BBBK TBBB B(A0A8G" 8C0A(B BBBA LBBB J(A0A8Dp 8D0A(B BBBI ,#AAG M AAH 09.K^<SBBA I(D0 (D ABBA |tHBBB B(D0A8DP 8A0A(B BBBB U 8G0A(B BBBK  8A0A(B BBBI !D \ p8.K^$<TASlPX;cDr/ BBB A(A0J 0A(A BBBA ,d AAG@m AAA  ,LDxBEA A(DP (A ABBA u(A ABB4H AAG@Z AAK yAA4GADG0n AAD DAAT / BBB B(A0D8G 8A0A(B BBBA ,\=BGA oABL p BEE D(H0JR 0A(A BBBD 5.K^tAS `,$ x< odT BBB E(E0D8Dpj 8F0A(B BBBA  8D0A(B BBGA $ piAAG@]AA pAD@iAT BBB B(D0A8Gg 8D0A(B BBBH 40 BDA G@^  AABH T]j BBB B(D0A8D  8A0A(B BBBA  /D jT BBE B(A0A8D- 8A0A(B BBBA \ 3.K^t   !DV E A<D xy BAA D  DABB  XDP H $$ AG@ AA L GAJ zAD 4BBB D(I0Dp 0D(A BBBA <4 BBD D(DP (D ABBA , BDA J` AABD ]BBE D(D0D` 0D(A BBBF l p/AJ0_D 1.K^,$ hqAAG L AAA L BBB B(A0A8DPf 8A0A(B BBBA <$(lBBD D(I0q (A ABBA <dXBEE A(C0 (A BBBH DBGD G0\  AABD S  AABA <@BBG A(G@ (A ABBG T BEB B(A0A8J 8A0A(B BBBA L x:BBB B(A0D8DP 8A0A(B BBBA <XBBG A(G@ (A ABBG 4BGC G0S  AABF LLBBB E(A0D8DP 8A0A(B BBBA $`/ACG aAAx..K^4PAAAJ DAB I DAA LhBEB B(A0A8D@ 8A0A(B BBBA Dd BAA D?  DABB d  DABA L 9BEE B(A0A8J 8A0A(B BBBB Lp WBBB B(D0A8G 8A0A(B BBBG LBEE E(A0A8D` 8D0A(B BBBA ,.K^xpxp<8BKE  ABL A ABA <TBKE  ABL A ABA ,BKE  AEE ,BKE  AEE ,tLADG j AAA ,$BDA W ABA <TBBG A(G@ (A ABBG DmBBB D(D0D@z 0A(A BBBA $@BAID nDA<BBG A(G@ (A ABBG D(BBB D(D0D@z 0A(A BBBA *.K^,$hLADG j AAA ).K^p$x9AJ AE L,BHB B(A0A8D@n 8A0A(B BBBA <BBA D(DP (D ABBA @).K^4CBIA v DBA <pcLT(.K^l4 HXm'<BBB D(A0 (A BBBA LHBBE E(A0D8D( 8A0A(B BBBA ,DBHA ] ABA <tBIA A(D0x (A ABBA 4xpBLH A(D0G(D ABB<BBA A(DP (A ABBD D,@ BAD G0c  AABK _  AABA Lt PBEB B(A0A8J 8A0A(B BBBE L"BBE G(D0X (A BBGH (A BBDd# BBE E(D0D8D@ 8A0A(B BBBA J 8G0A(B BBBN <|#BLB A(A0 (A BBBA <$BLB A(A0(A BBB%RKFLH%kBEI D(A0| (A BBGC A(A BBDLdh%kBEI D(A0| (A BBGC A(A BBDL%kBEI D(A0| (A BBGC A(A BBD4%@ADG T AAF KDD<% DT%lBGF p ABF M ABH HAB,%cADO`b DAE 4'kBAA D0Y  AABK H(,T\`(BBB D(A0KP 0A(A BBBC Q 0A(A BBBG L|)BEB L(D0A8FV 8A0A(B BBBH |9BBB B(A0A8GP 8A0A(B BBBI  8A0A(B BBBB  8A0A(B BBBA |L@;BBB B(A0A8GP 8A0A(B BBBI  8A0A(B BBBB  8A0A(B BBBA |=BBB B(A0A8GP 8A0A(B BBBI  8A0A(B BBBB  8A0A(B BBBA d)&BBJ E(D0D8Dp 8A0A(B BBBK  8D0A(B BBBA T4+BGB B(A0C8J 8A0A(B BBBD  1AP, 0 .K^T1BBB B(D0D8G 8A0A(B BBBA < 3BBA D(D0 (D ABBE ,\p5WHAIGp AAA  !5AL,!!DV E AL!D\AZl!=&AX< =BEA C(LPA (C ABBH \!P?BOB B(D0C8F@x 8A0A(B BBBD D8F0A(B BBB,"?GAJ zA<?BED G(JP (A ABBA 4 @BAD D0  AABA ,D xAAAGp AAA $"8B<ACG eFA, PBkAIGr CAA L#@.K^<d#xDBBG A(G@ (A ABBG 4#BAAJ0\ AAF w AAG <# CBEE A(A0 (A BBBH $CAM<$.K^T$D4l$DUBDA  ABG AABL$"DBBB E(A0A8D`M 8D0A(B BBBA <$hEbBHE E(H0~(A BBBL4%E?BEB B(A0A8G` 8A0A(B BBBA D#F0BEE A(A0DPR 0A(A BBBA <%SBEB A(F0z (A BBBG < &SBBG A(G@ (A ABBG L#FBBE E(A0A8Fp 8A0A(B BBBA <&TBBG A(G@ (A ABBG L&GBBE B(D0D8FP 8A0A(B BBBE |,'TBBB B(A0A8GP 8A0A(B BBBI  8A0A(B BBBB  8A0A(B BBBA T,%GOBEB B(A0A8DM 8A0A(B BBBH T%IT BBE B(D0A8Go 8A0A(B BBBA T%LBBB B(A0A8De 8A0A(B BBBC L(HOBJB E(A0A8DP 8D0A(B BBBG )O ).K^T&8UOBBB L(A0A8Jj 8D0A(B BBBA ).K^)Y+AG aA)h\2ApLd'YBBE E(A0I8GP 8A0A(B BBBA 4'ZBDA G@v  AABA l*Z <(ZwBEA D(J@g (D ABBA *.K^*+D` E A<*p[BAA H@  DABE G AAB<<+pi&BBA D(D0 (A ABBA L|+`j}BBB H(A0D8DP 8A0A(B BBBB L+kBBB B(D0A8D` 8A0A(B BBBH d,`l|BFE E(H0J8G) 8A0A(B BBBB  8D0A(B BBBH L,Z/BBB K(D0A8G 8A0A(B BBBA TT*] :BGB B(A0A8G 8A0A(B BBBA ,-P.K^LD-mBBG D(FPy (F ABBG D(C ABBL-neBEB A(D0{ (A EBBE A(A BBB-8nX-n*A\ C IL.nBED D(D0D (A ABBC g(A ABBd+n BBB B(A0D8D@M 8A0A(B BBBH  8A0A(B BBBA $.ho.AGG YDA,|,po[AM B i A `d,owBBB B(A0D8Dp8 8A0A(B BBBE D 8C0A(B BBBA /qA]/q$AR M C$/(q.AGG YDA,/0q{GAD bAA,,0qBAD  ABF <\0tBBG A(G@ (A ABBG 4.rBED G0z  DABA <0huBBG A(G@ (A ABBG 1HrHD g E ,41xr;BDD mABLd1u5BBB H(A0D8DP 8A0A(B BBBD <18rBBA D(D@u (A ABBH $t/rWAG s AA 2.K^442HvYBFA A(D0D(A ABB4/pvXiBDA NP  DABF 4$0w|KBGA GPL  AABA 2w"AT K A,2w6BDA kAB,0xADDpg AAA \3.K^t3y3y3Hx8Av3hx3`x3Xx 4Px$4Hx <4@xT4x0Hgt4x7Hj4(x34Px<D2xQBEA A(D0o (C ABBD <2Xy$BEB D(A0l (C BBBE <2zBAA ] ABA A AEE ,3z6ADK  AAA ,5{1BDA fAB,5{UBDA JAB\6|2BBE D(A0 (A HBBH Q (A BBBH A(A GBB,3|AED@Y AAA d6X}BBE B(A0A8DPU 8D0A(B BBBM K 8A0A(B BBBA T4~9\BBE D(J@S (A ABBH  (A ABBA Dd7BBE D(D0G@ 0A(A BBBA L,5@BBB B(A0A8D` 8A0A(B BBBA <7BBG A(G@ (A ABBG 45LBAD L0  AABA L5h7&BBB B(A0A8Dp 8A0A(B BBBB LD6XbBBE E(A0E8Dp  8A0A(B BBBC ,9h=BGA oABdD9x0BBE B(D0E8D@P 8F0A(B BBBA  8D0A(B BBGA T,79BBB B(I0A8GH 8A0A(B BBBA l7ȅGBBB B(A0D8JN 8A0A(B BBBA 1 8A0A(B BBBE <t:xBBG A(G@ (A ABBG T48hdBEB B(A0A8G 8A0A(B BBBC d ;KBDB B(A0D8F@ 8A0A(B BBBE L8A0A(B BBBt;AL;x.K^;;;$;AFG AA<,4<1BDA fABd<Ȑ,|<А1BDA fAB<,:BBA D(G0M (D ABBJ < :Dj J A, =@@BAA xAB$<=PWAAN DAA<d=BFI A(D0 (A BBBG D$;H>BJB D(A0G@ 0D(A BBBJ Dl;@gBBB D(D0D@ 0A(A BBBH \;3BBB A(D0DN 0A(A BBBK  0A(A BBBF $>4AGG _DA>AM>AQ>AM?AQAxOTHGP0\HO,MADGp DAA ,MADGp DAA P<4NUkBGA { AEE AABLtN/BEB B(A0A8Gp 8A0A(B BBBB $Nx|AD`Z AA lQ^D c I ^ B d O-BKF D(D0f (D BBBE e (D BBBI Z (F BBBJ Q< RBBG A(G@ (A ABBG LO"BBJ B(A0D8D` 8D0A(B BBBE <P0BBA A(G0m (D ABBA T\PBBB E(A0A8D 8A0A(B BBBA 4SHD YLPP,fBBB B(A0A8D 8A0A(B BBBA S.K^<4Q0U BGA { AEE AABSD YTQ8BBB E(D0C8J 8A0A(B BBBA DQbqBHB G(A0G` 0D(A BBBB LTBBH B(A0D8G| 8A0A(B BBBH T0^D ] G ^ J dRp-BKF D(D0f (D BBBE e (D BBBI Z (F BBBJ U8<S@nBBA A(G0m (D ABBA T\S@BBB E(A0A8D 8A0A(B BBBA 4VXD YLS`BBJ B(A0D8D` 8D0A(B BBBE V.K^,VDAKD i DAA LV]BBB H(A0D8DP 8A0A(B BBBG TTbBEE B(A0A8O 8D0A(B BBBA ,WPcBDA FATWLTUBEB E(I0H8D@ 8D0A(B BBBD \USBBB I(D0D_ 0F(A BBBE 0F(A BBBTV<BBB B(G0A8GX 8A0A(B BBBG ,X@TBGD CABDVp'BAA G@{  AABF M  AABA <VXBBI A(G (D ABBA YH.K^YYYY ZDI,$Z[BAD PABTZD`<W`zBEG J(G0y (D ABBA 4ZXADG a DAF ZDADdXx;BEB D(A0G 0D(A BBBA <XmBED J(G0I (D ABBA TX08BEE E(A0C8J 8D0A(B BBBA <[BBG A(G@ (A ABBG L\BBA A(JL (A ABBF   (A ABBB 4T\JBEA D(H0o(A ABBD\ BBE B(D0A8DP8A0A(B BBBL\BIE B(H0D8Dp 8A0A(B BBBJ L$]2BHB B(A0D8G` 8A0A(B BBBDt]h+BBB A(D0Gp 0A(A BBBF D<[PBHH A(A0Gp 0C(A BBBA \[(0BBB D(A0G_ 0D(A BBBD t 0D(A BBBA d^.K^|^,^=BGA oABd^RBBB E(E0D8Da 8D0A(B BBGA { 8C0A(B BBBA T\BBB B(D0A8D 8A0A(B BBBA $_x&AAG@WDA_.K^_v H_pW0cTt]H|BBB B(D0A8GG 8A0A(B BBBK L` .K^$d`X OADG @AA` L`x BBA D(DP (A ABBL R (A ABBB L` BEB B(A0A8D@s 8A0A(B BBBA Dax VDr A Lda BBG D(G0N (A ABBF ^ (G ABBF Da8BBB B(A0A8G@8A0A(B BBBLa>BBA A(D0 (F ABBA D (C ABBA L_BEE E(A0A8Fp 8A0A(B BBBH b.K^L4`RBBB A(D0Dr 0D(A BBBA c(AR uA$cLBDG mABsP.K^shQspQ$AbtQ4txQLtpQ)AG \D<qQ1BIA A(G`n (D ABBA ,,rRAAG@f AAG t0S%A_,t@S=BDA rABD,uPSBBB A(D0J0D(A BBB<tuWBBG A(G@ (A ABBG L4sxSqBJB E(A0A8D` 8A0A(B BBBH TsTǮBEE B(A0A8G 8A0A(B BBBF ,\vU3BDJ D@Z AABv.K^vAS$ 8A0A(B BBBD LăXrMBBE B(D0A8J@ 8A0A(B BBBI LXsqKBGB D(D0G 0A(A BBBA 4vBDI e ABA LwBBB E(D0A8DP 8A0A(B BBBD {{{\4{tBEE H(A0A8F@q 8C0A(B BBBG D8F0A(B BBB{<{AAG0p AAE W AAG gAA@|H| @| ,48|YADD k DAA Dh|&BBE A(D0` (A BBBA 4,|BAD GPZ  DABA Ld8}+֞BEE E(D0A8L` 8A0A(B BBBA 4~BAJ JP~  DABA 4~sBAJ JP~  DABA 4$NBAJ JP~  DABA 4\@)BAJ JP~  DABA ȿ.K^,PeD\t#Y#Y$Ԉ؃CADK0lAA,|ADD ^ AAA ,p$DxbAAJ0SAAl$AG` AF pUAG0HD̉@.K^DN E A,?%AEK X AAA LȂBBE L(A0A8Gq 8D0A(B BBBA LBBE L(A0A8Gq 8D0A(B BBBA LThBBE L(A0A8Gq 8D0A(B BBBA L'BBE L(A0A8Gq 8D0A(B BBBA L3BBL B(A0A8Gu 8D0A(B BBBA ċx.K^<܋p~BBE A(D0G`]0D(A BBBA[<AVD܉BEB D(A0G@A 0D(A BBBG <$h~ADG0Y DAF F DAA .K^,LD9BEE B(A0A8G 8A0A(B BBBE  L, BBB B(A0A8GS 8A0A(B BBBB $AG ZA<7AGG0\ DAH S DAA \@.K^tآТL$BEB E(A0A8Gm 8A0A(B BBBB ع.K^ p$h<pThl`XLPBEB E(A0A8Gh 8A0A(B BBBG 4MBED A(GPp(D ABB$ظ.K^< TLlBBF B(A0A8J/ 8A0A(B BBBA D<`#BBB I(D0b (A EBBA ,HAAGPP DAA 4.K^Lpdh4`BAD JP  DABA $48UAG u AA ܑpEO,|pVOADG0j DAA D/BDD G0u  DABC b  DABA t, AADPa AAA ,pGBDA G`q DAB$?ADD@pDAH.K^$,`SAAG GAA$TZAAG JAA4pVBAD G  DABG <BBG A(G@ (A ABBG ,X|AJ f AF k AD L$]BBB H(A0D8DP 8A0A(B BBBH t.K^, 7AIGP AAG ,Ы9BGA kABDPz B  0$(<ET(Ml`O.K^̕!DV E A4BAD  ABJ AAB$<Tذ-Ul  #Y̖LBOB A(A0] (A BBBG Y (A BBBH <4hBBG A(G@ (A ABBG LhV2BBB B(A0A8Gpe 8A0A(B BBBH ,DxsAAG @ AAA <tȱXґBEI A(D0 (D ABBA ,}AHG0N DAA 48hBDA G@x  DABA 4ph]BDA G@x  DABA <ԘȵBBG A(G@ (A ABBG hXD q K 4.K^L!DV E Al0mAk*Ad<,]BBG D(DPs (A ABBA <XBEA G(G0[ (C ABBG L BEH E(A0A8D` 8A0A(B BBBA L|KBEG D(G0M (A ABBD D(G AHB<̚BHD D(G0C (A ABBA L !BBE E(A0D8GPf 8D0A(B BBBA L\BEH B(A0D8D 8D0A(B BBBA T,pnBFB B(D0D8J[ 8A0A(B BBBE $Dh D T G ,.K^Dػ\ t%DZ E A<ՍBBA I(D0 (A ABBA Ԝx.K^4LтAS,dDAKD i DAA SLPBED D(G@ (D ABBB U (D ABBB ,| ?ADD ` AAA ,0wAADPe AAA $\VADD JAAT67BBE E(A0A8Gf 8D0A(B BBBF D\BBB D(A0DP 0D(A BBBA LӋBEB E(I0H8D@ 8D0A(B BBBA TBEB A(D0W (A BEBI R (A BBBG ̟.K^ HSP!\hBBE A(D0DPx 0A(A BBBF  0D(A BBBI ,(1BDA fABĠ.K^ܠ`hBAG xA7Au448JBDA l ABJ A ABA Dd߉BBB G(D0DP 0D(A BBBA <G D  G  C  C  E c< PJBEA A(Gp (A ABBE <L`G A  J  G  G  I g@40BDA GP  AABC ܢ@EP K L`BBE B(J0D8G8A0A(B BBBT̠/BBB B(D0A8GV 8D0A(B BBBI $$OAG h DA ̣BAG xA$[ED] AI L8BHE B(D0D8G8A0A(B BBBLdBHE B(A0D8G|8A0A(B BBBl4HBBB B(A0D8DK 8A0A(B BBBJ h 8A0A(B BBBF $AM,D,BDD ^AB,t,BDD ^AB8.K^@=ԥhBAG xABAG xA,TģBBE B(D0A8G  8D0A(B BBBG LMBBB B(A0A8GK 8A0A(B BBBJ $`.AGG YDADhBDD JPm  DABH a  DABA <ܤ ĄBEG A(G` (D ABBA p.K^X̧DK 4LPAAG wAl.K^TBBB E(A0A8D 8A0A(B BBBA 8 @pAn,D\AL|),BAA ABĩ8>HuLdX*BEE B(A0A8DP 8A0A(B BBBA 48z`BDH H ABA l)46ADG M AAE OAA,iBMA UABP.K^4$L$d$|$$$"<DXBHH  ABL AABALD$BAD JY  AABB   AABI <l BII K(A0J@t0A(A BBB4 $BAA J  AABF Ns!DV E A$8(LFD@,,BDA Y ABM <ܪBBD D(Dm (D ABBJ TOBBB A(D0G 0D(A BBBA T0C(A BBBDjBDD G  DABG G  DABA <4TGAHG M FAD \AA,BDA G` AAB@AN`A$ܮG D L A 8<"BBG A(G@ (A ABBG $ܬ}AG0 AB $x}AG0 AB D,@}BBE A(E0GP 0A(A BBBG 4"UBDA w ABO AABL,#5BBB H(A0D8DP 8A0A(B BBBD L0/}BGE D(D0J 0D(A BBBE LLpW|BGE D(D0J 0D(A BBBB 4P#WBBA A(G0C(A ABBTx#dlP$bBBB E(E0D8Dp 8D0A(B BBGA | 8C0A(B BBBA TT q|BJB B(A0A8G 8D0A(B BBBJ D&,{BJB K(A0j (_ aBBA t&8AvL']BBB H(A0D8DP 8A0A(B BBBG Dd(C{BJB A(D0D` 0A(A BBBB L,(BBB B(A0D8GP> 8A0A(B BBBD ,|0*BAD l ABJ T,p hzBEJ B(A0A8Gf 8D0A(B BBBA TUzBBB G(A0A8D 8A0A(B BBBA d\@BHE E(A0C8G`H 8H0A(B BBBH o 8C0A(B BBBE LDRyBGF D(A0G 0A(A BBBA 8D0sTefyBBB B(A0F8G 8A0A(B BBBA LO3yBJB E(D0A8Dp 8D0A(B BBBA 4TxBDD D@Z  DABA L0OxBJB E(D0A8Dp 8D0A(B BBBA 4ܳ0xBDD D@Z  DABA .K^'G̶`*<+BEG G(J(A ABB$-<0DTh-[GStD/4/BJD M`  AABA ܷP3>Ttx3KwBEJ B(D0A8G 8D0A(B BBBF Lp7B,7vAAL DAA x8&8*ĸ8ܸp98:WGOx<_G A <hBR vBED A(L0] (D ABBA 4tx>jBAD JQ DABL,?uBBE D(A0L 0D(A BBBA Б.K^Q,Q HSL̷A;uKGB A(D0D#H<pQ9uBBD D(J@F (D ABBA L\F\uBBE A(D0J  0A(A BBBG ,MuBBI A(D\mtmQQ=A{Ļ(Q4HkHQPQ HQ,PQ DHQ\PQtXQ`QhQpQLԼxQAJ DG j DJ X DA  DA xD$TIAG |DTĺTj@sBBB B(D0A8Gw 8A0A(B BBBK T[sBBB B(H0A8GK 8A0A(B BBBC Tt_ rBBB I(A0A8G/ 8A0A(B BBBG T̻d-rBBB I(A0A8G 8A0A(B BBBF X.K^mԾm HSHj @j$8j<0j4Լ(jqBGB A(A0Dl0D[ A K,lDP B U K ] C v,ܿmDP B U K ] C b, nG A X H ` H <`AST(p;AytHpPpXp`php `pco4pHBAG G@/ DAB<<rBFE A(A0 (A BEBA <|}BEB G(A0s (A BBBE d0r2BBF E(A0A8D`q 8A0A(B BBBH r 8A0A(B BBBD L$8}BBB B(A0A8GP 8A0A(B BBBA t} d}EBBB B(A0A8DP 8A0A(B BBBE T 8F0A(B BBBA |~RBIE B(A0A8GP 8A0A(B BBBC  8D0A(B BBBD o 8A0A(B BBBG \3mBEE G(I0DP 0D(A BBBD ` 0D(A BBBE dTXromBFB E(A0A8Dp 8A0A(B BBBG  8A0A(B BBBA ,`tImADD@z AAA TtK*mBBB B(A0A8JM 8A0A(B BBBE h.K^,  $(<0T(lЂ/4BAD G  AABA 4BAD Gz  AABA LtkBBE B(A0A8Gp 8D0A(B BBBF LkBBH B(A0A8GP 8D0A(B BBBC L8kBBH B(A0A8GP 8D0A(B BBBC Ld؊kBBH B(A0A8GP 8D0A(B BBBB LxkBBH B(A0A8GP 8D0A(B BBBC LkBBH B(A0A8GP 8D0A(B BBBC \TkBEB A(A0GP 0D(A BBBF s 0D(A BBBJ \hkBEB A(A0GP 0D(A BBBC k 0D(A BBBJ LkBBH B(A0A8GP 8D0A(B BBBC LdkBBE B(A0A8Gp 8D0A(B BBBF \kBHB A(A0G@ 0D(A BBBD S 0D(A BBBA \xkBHB A(A0G@ 0D(A BBBD S 0D(A BBBA \tؚkBHB A(A0G@ 0D(A BBBK [ 0D(A BBBA \HkBHB A(A0G@ 0D(A BBBD S 0D(A BBBA \4kBHB A(A0G@ 0D(A BBBD S 0D(A BBBA TkBEA A(GP (D ABBG [ (D ABBA TkBEA A(GP (D ABBD S (D ABBA \DkBHB A(A0G@ 0D(A BBBD S 0D(A BBBA $H*D e<`-D h4TxKADD0 AAA  DAI ,pAJ0 IF t EG ХȥAL AL, -; /= )?M )?M )?M -;)4HSyYd!bm!bm!ny -; -;"U X~(4H x!93z<O9(; ? j kZ+7 H Y m       X    T=Bi   -    .|,[y:U[y.U y Ex'% X~h   Lr#&:J^i)4HSy . l-MD$2 oO           8;5S /= )?M )?M )?M -;+6< zH -;(dHSd              )?M )?M +957d             d             d             d             d             j  W           j  K           !3cv(5S3Zs :O)4HSy)4HSy<%0Dt9Vr ("zk"" #EZ_z"& <uGp "1HD$Dkm+G m /   ! )       ?fy   S     T}}$!22 Vye Q0ji2%+DThs)4HSy! -;Zp' +9 -AO -; -; )?M -; /=+<  -;%V6pk /=  -; )?M )?M /=  -; )?M /=  -; )?M )?M /=  -; )?M%V6pk  -; )?M )?M /= !1? ,?M )?MQ -AO2* /= -;  -; )?M%V6pk ?sB   zXbzXbzXbVj cw !-Y;,?, j5f)4HSy -;1Mi/V +9 +9)4HSy $4$u 3ydDc)4HSy *4B -;% )5Z 5Af <J}' ]5/ <J ] <JZp ],z1+)4HSy jN -; T_ U` U`d             e Qi2 )4HSy$$WsL3 -;g / -;%C4Do+Dd4Gcn<    % $Dh" <Q$JU~  '=C2 Q` ,=o/s<%0DtY i'C 3?Uv 0X)     !       j  ?)   ,"U5SP       5SE7(<%/]}5S_jf3K -;,,vU       A7?a0X3 K%#.] 3Z4$ J%<)4HSy! >d=;:'l  -;*JV *P^8 2Uc83 *@NuoA b I      \<C3$91% g\I       1 $6Ge- 0X;pk )?: .y@L/  (CKi+.DNbV {/_  [F'/ >O#iP[lEvT    t         _      1      +fd#F BMgwI-W/a W(PlZe *#*U;-W/QWnmw&U;.II; 9 m7e,#&:J^i)4HSy7.9h<B.9M}$"S_Q\:>7$!*)!Pzj !3y3$3  !Yg*  @U  @U>$32 /2 /$3U     O      \ $   !-2 /"-; 3l>g6Akv0B   5       P;    ,C2=mx#7Bi1<u.#/X|l"V1<k;1<k;./TvL7V1<k;/# I>%U1<i=/' M9%U1<k;/ C,.Q1<i= <4r+./! G.f1<i=<   d=         '(1Y4[F4[F'$&hsWm')        Z     c  '             0\m')        Z     c  m')        Z     c   $&Y;> 3l>g !0:R]TJG<Yq17?.;/sp*=e+O&(}/ #5^lz) % ,2@!Xm|0Zh'; O|<P%1 J a}  N|"+  5 ^:J ? 5eO;QFs Ud.D   H             ">(>$ qwFDx35B't *E fM`d$+]qU3! r}t !m}P _k#'[g 0(Q(I|hx A:x ..<|c! 7Sm`ej- }p 0--//// / / , * , + ].- -,^-- -'-)././.90-|*: (F[!}p ", %-d@ 0@Rbvd20Z 6"u `#'Q    &%V/*a    4HVV;4 p|%>\C;&a,s@f!8:"$,7j , >jVVIl,*j>S!7j&;+ [j [j (r'Y)9 P_Q GWt (N%!N6+!Oe )%i}.Re ;I , &?M~)xO)q///////#/'/)/)0/'+m(O503      J !7RLn|OqAp   +  ]5No 6 B    T     6 5@+yS3+Mn L !n;F .f .VA& Wm \A8Bd(I!"9B`s8  7I | T           , "  %"5AS'`<^!<1s'@*5a#2=i1Xl 5ZO=  % 9G9K9K % 9G $ k| P6]SE   e         } -@/ #DR1c-a~;~5Be!;/,)F} %e0'L5)0uUI6Rbv   } *Y /(-Lc3>]     5Dh :CT  V' #=R5 $;bw"s-OR= O'!k+yV G4"cqJ&RAA3+Mv= &Em{a]FzB&T]A]q& 6e %bl 5KfdG'bw))%).: N0Aa\ 0>L /C^s *6D *6D $sh? *7aw7K\i 9[% ( >R`k7K\i 9[%7'1W^%/B}  =W&Jg(9bu$/W /8NZh ]!+W""D/I`0$$0$    $ $ # # # "    $/$/K} ~[0P6"{  !1|:P#&:J^i (CQ_&GqBLr 8VdrP9VSmJp>X% :ED 3Zs#&:J^iX    #     8    !!!!:!  DQb+R%O$= !=-#!,@v . 7 5S)X%3e} ]xk;!vMe%1p?"-h0T0T0T0T *Qj ,:YN3>n}t YN3>n} YN3>n} YN3>n}` YN6Au} *s <'|[m-O)1'3)3'0!a %_7v)4HSy 4?P <Q ZzKV@Lnc 8dx &Nc &NcJ'U$"Tj'!44S%9|D ,:"OZ%W+%/B}Ajx-$bBQk 5Jv"@?/2o9+-8yU))3>HS]h> :Zu -; /= )?M )?M )?M -;)4HSyr}^  (ht'%3e})us*^wY!>t:Ho2 "uHo2 "u )?M5*0GUex%} JGcs:f}c|               8;Q"P    '"      .S  t (.      %4P`t U$ mG  FE4$z}d M>C} M>C} M>B}t M>C}$ M>C} M> L} M>A}4 M>C} I;$} YHs}< YHs} YHt} YHs}( YHs}̽ YHz}p YHu} YHs}  @ p  @ p 0 ` P  @ p @ `  @ p 0 ` P  @ p 0 ` P  @ p 0 ` P  @ p 0 ` P  ` P  @ p 0 ` P  @ p 0 ` P  @ p 0 ` P 0 ` P  @ p    0 `     P     @ p    0 `     P     @ p    0 `    P  @ p 0 ` P  @ p   p <Q Q Q P <Q Q @Q 0 <Q Q PQ  <pQ R `Q Q<Q<_<^<<BB@BB[<   0`G<QPP P< 0  ]<`p@P1@1 2_<P` 98a<`a<P% G@G`44p44 V`j R 4;H<oA<P  q<xd" ocoo=oHf<6R FR VR fR vR R R R R R R R R S S &S 6S FS VS fS vS S S S S S S S S T T &T 6T FT VT fT vT T T T T T T T T U U &U 6U FU VU fU vU U U U U U U U U V V &V 6V FV VV fV vV V V V V V V V V W W &W 6W FW VW fW vW W W W W W W W W X X &X 6X FX VX fX vX X X X X X X X X Y Y &Y 6Y FY VY fY vY Y Y Y Y Y Y Y Y Z Z &Z 6Z FZ VZ fZ vZ Z Z Z Z Z Z Z Z [ [ &[ 6[ F[ V[ f[ v[ [ [ [ [ [ [ [ [ \ \ &\ 6\ F\ V\ f\ v\ \ \ \ \ \ \ \ \ ] ] &] 6] F] V] f] v] ] ] ] ] ] ] ] ] ^ ^ &^ 6^ F^ V^ f^ v^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ &_ 6_ F_ V_ f_ v_ _ _ _ _ _ _ _ _ ` ` &` 6` F` V` f` v` ` ` ` ` ` ` ` ` a a &a 6a Fa Va fa va a a a a a a a a b b &b 6b Fb Vb fb vb b b b b b b b b c c &c 6c Fc Vc fc vc c c c c c c c c d d &d 6d Fd Vd fd vd d d d d d d d d e e &e 6e Fe Ve fe ve e e e e e e e e f f &f 6f Ff Vf ff vf f f f f f f f f g g &g 6g Fg Vg fg vg g g g g g g g g h h &h 6h Fh Vh fh vh h h h h h h h h i i &i 6i Fi Vi fi vi i i i i i i i i j j &j 6j Fj Vj fj vj j j j j j j j j k k &k 6k Fk Vk fk vk k k k k k k k k l l &l 6l Fl Vl fl vl l l l l l l l l m m &m 6m Fm Vm fm vm m m m m m m m m n n &n 6n Fn Vn fn vn n n n n n n n n o o &o 6o Fo Vo fo vo o o o o o o o o p p &p 6p Fp Vp fp vp p p p p p p p p q q &q 6q Fq Vq fq vq q q q q q q q q r r &r 6r Fr Vr fr vr r r r r r r r r s s &s 6s Fs Vs fs vs s s s s s s s s t t &t 6t Ft Vt ft vt t t t t t t t t u u &u 6u Fu Vu fu vu u u u u u u u u v v &v 6v Fv Vv fv vv v v v v v v v v w w &w 6w Fw Vw fw vw w w w w w w w w x x &x 6x Fx Vx fx vx x x x x x x x x y y &y 6y Fy Vy fy vy y y y y y y y y z z &z 6z Fz Vz fz vz z z z z z z z z { { &{ 6{ F{ V{ f{ v{ { { { { { { { { | | &| 6| F| V| f| v| | | | | | | | | } } &} 6} F} V} f} v} } } } } } } } } ~ ~ &~ 6~ F~ V~ f~ v~ ~ ~ ~ ~ ~ ~ ~ ~   & 6 F V f v           & 6 F V f v ƀ ր   & 6 F V f v Ɓ ց   & 6 F V f v Ƃ ւ   & 6 F V f v ƃ փ   & 6 F V f v Ƅ ք   & 6 F V f v ƅ օ   & 6 F V f v Ɔ ֆ   & 6 F V f v Ƈ և   & 6 F V f v ƈ ֈ   & 6 F V f v Ɖ ։   & 6 F V f v Ɗ ֊   & 6 F V f v Ƌ ֋   & 6 F V f v ƌ ֌   & 6 F V f v ƍ ֍   & 6 F V f v Ǝ ֎   & 6 F V f v Ə ֏   & 6 F V f v Ɛ ֐   & 6 F V f v Ƒ ֑   & 6 F V f v ƒ ֒   & 6 F V f v Ɠ ֓   & 6 F V f v Ɣ ֔   & 6 F V f v ƕ ֕   & 6 F V f v Ɩ ֖   & 6 F V f v Ɨ ֗   & 6 F V f v Ƙ ֘   & 6 F V f v ƙ ֙   & 6 F V f v ƚ ֚   & 6 F V f v ƛ ֛   & 6 F V f v Ɯ ֜   & 6 F V f v Ɲ ֝   & 6 F V f v ƞ ֞   & 6 F V f v Ɵ ֟   & 6 F V f v Ơ ֠   & 6 F V f v ơ ֡   & 6 F V f v Ƣ ֢   & 6 F V f v ƣ ֣   & 6 F V f v Ƥ ֤   & 6 F V f v ƥ ֥   & 6 F V f v Ʀ ֦   & 6 F V f v Ƨ ֧   & 6 F V f v ƨ ֨   & 6 F V f v Ʃ ֩   & 6 F V f v ƪ ֪   & 6 F V f v ƫ ֫   & 6 F V f v Ƭ ֬   & 6 F V f v ƭ ֭   & 6 F V f v Ʈ ֮   & 6 F V f v Ư ֯   & 6 F V f v ư ְ   & 6 F V f v Ʊ ֱ   & 6 F V f v Ʋ ֲ   & 6 F V f v Ƴ ֳ   & 6 F V f v ƴ ִ   & 6 F V f v Ƶ ֵ   & 6 F V f v ƶ ֶ   & 6 F V f v Ʒ ַ   & 6 F V f v Ƹ ָ   & 6 F V f v ƹ ֹ   & 6 F V f v ƺ ֺ   & 6 F V f v ƻ ֻ   & 6 F V f v Ƽ ּ   & 6 F V f v ƽ ֽ   & 6 F V f v ƾ ־   & 6 F V f v ƿ ֿ   & 6 F V f v   & 6 F V f v   & 6 F V f v   & 6 F V f v   & 6 F V f v   & 6 F V f v   & 6 F V f v   & 6 F V f v   & 6 F V f v   & 6 F V f v   & 6 F V f v   & 6 F V f v   & 6 F V f v   & 6 F V f v   & 6 F V f v   & 6 F V f v   & 6 F V f v   & 6 F V f v   & 6 F V f v   & 6 F V f v   & 6 F V f v   & 6 F V f v   & 6 F V f v   & 6 F V f v   & 6 F V f v   & 6 F V f v <<p<0<U-o-~------- .-.GCC: (GNU) 4.1.2 20080704 (Red Hat 4.1.2-55)GCC: (GNU) 4.8.2 20140120 (Red Hat 4.8.2-15)GCC: (GNU) 4.1.2 20080704 (Red Hat 4.1.2-55).shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.eh_frame_hdr.eh_frame.gcc_except_table.init_array.fini_array.jcr.data.rel.ro.dynamic.got.got.plt.data.bss.comment( PP`8o==H&EoccTxdxd"^hR R c R R n Z t44 z44 dGdGlzDj;H<< < e f<fh<hq<qC< <p  p0<oA! 0B0"$__gmon_start___init_fini_ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalize_Jv_RegisterClasses_ZNK4geos4geom8Geometry7getSRIDEv_ZN4geos4geom8Geometry7setSRIDEi_ZNK4geos4geom8Geometry16getNumGeometriesEv_ZNK4geos4geom8Geometry12getGeometryNEm_ZNK4geos4geom8Geometry11isRectangleEv_ZNK4geos4geom8Geometry17isDimensionStrictENS0_9Dimension13DimensionTypeE_ZNK4geos4geom10LineString12getSortIndexEv_ZN4geos4geom16CoordinateFilterD2Ev_ZTVN4geos4geom16CoordinateFilterE_ZN4geos4geom16CoordinateFilterD1Ev_ZN4geos4geom11LineSegmentD2Ev_ZTVN4geos4geom11LineSegmentE_ZN4geos4geom11LineSegmentD1Ev_ZN4geos6noding18BasicSegmentStringD2Ev_ZTVN4geos6noding13SegmentStringE_ZN4geos6noding18BasicSegmentStringD1Ev_ZNK4geos6noding18BasicSegmentString4sizeEv_ZNK4geos6noding18BasicSegmentString13getCoordinateEm_ZNK4geos6noding18BasicSegmentString14getCoordinatesEv_ZN4geos9geomgraph5DepthD2Ev_ZTVN4geos9geomgraph5DepthE_ZN4geos9geomgraph5DepthD1Ev_ZN4geos4geom25CoordinateSequenceFactoryD2Ev_ZTVN4geos4geom25CoordinateSequenceFactoryE_ZN4geos4geom25CoordinateSequenceFactoryD1Ev_ZN4geos4geom30CoordinateArraySequenceFactoryD2Ev_ZN4geos4geom30CoordinateArraySequenceFactoryD1Ev_ZN4geos4geom16CoordinateFilterD0Ev_ZdlPv_ZN4geos4geom11LineSegmentD0Ev_ZN4geos6noding18BasicSegmentStringD0Ev_ZN4geos9geomgraph5DepthD0Ev_ZN4geos4geom25CoordinateSequenceFactoryD0Ev_ZN4geos4geom30CoordinateArraySequenceFactoryD0Ev_ZN4geos4geom10LineStringD2Ev_ZTVN4geos4geom10LineStringE_ZN4geos4geom8GeometryD2Ev_ZN4geos4geom10LineStringD1Ev_ZNK4geos4geom10LineString5cloneEv_Znwm_ZN4geos4geom10LineStringC1ERKS1__Unwind_Resume__gxx_personality_v0_ZN4geos4util13GEOSExceptionD2Ev_ZTVN4geos4util13GEOSExceptionE_ZNSt13runtime_errorD2Ev_ZN4geos4util13GEOSExceptionD1Ev_ZN4geos4util13GEOSExceptionD0Ev_ZN4geos4util24IllegalArgumentExceptionD2Ev_ZN4geos4util24IllegalArgumentExceptionD1Ev_ZN4geos4util24IllegalArgumentExceptionD0Ev_ZN4geos2io14ParseExceptionD2Ev_ZN4geos2io14ParseExceptionD1Ev_ZN4geos2io14ParseExceptionD0Ev_ZNK4geos4geom16CoordinateFilter9filter_rwEPNS0_10CoordinateE__assert_fail_ZN4geos4geom16CoordinateFilter9filter_roEPKNS0_10CoordinateE_ZNK4geos4geom30CoordinateArraySequenceFactory6createEv_ZN4geos4geom23CoordinateArraySequenceC1EPSt6vectorINS0_10CoordinateESaIS3_EEm_ZNK4geos4geom30CoordinateArraySequenceFactory6createEPSt6vectorINS0_10CoordinateESaIS3_EEm_ZNK4geos4geom30CoordinateArraySequenceFactory6createEOSt6vectorINS0_10CoordinateESaIS3_EEm_ZN4geos4geom23CoordinateArraySequenceC1EOSt6vectorINS0_10CoordinateESaIS3_EEm_ZNK4geos4geom30CoordinateArraySequenceFactory6createEmm_ZN4geos4geom23CoordinateArraySequenceC1Emm_ZNK4geos4geom30CoordinateArraySequenceFactory6createERKNS0_18CoordinateSequenceE_ZN4geos4geom23CoordinateArraySequenceC1ERKNS0_18CoordinateSequenceE_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate_ZN4geos9geomgraph8EdgeRingD2Ev_ZTVN4geos9geomgraph8EdgeRingE_ZN4geos9geomgraph8EdgeRingD1Ev_ZN4geos4geom10LineStringD0Ev_ZN4geos9operation7overlay15MinimalEdgeRingD2Ev_ZN4geos9operation7overlay15MinimalEdgeRingD1Ev_ZN4geos9operation7overlay15MinimalEdgeRingD0Ev_ZN4geos9geomgraph8EdgeRingD0Ev_ZN4geos4util24IllegalArgumentExceptionC2ERKSs_ZNSsC1EPKcRKSaIcE_ZNSsC1ERKSs_ZNSs6appendEPKcm_ZNSs6appendERKSs_ZNSs4_Rep20_S_empty_rep_storageE_ZNSt13runtime_errorC2ERKSs_ZTVN4geos4util24IllegalArgumentExceptionE_ZNSs4_Rep10_M_destroyERKSaIcE_ZNSs4_Rep10_M_disposeERKSaIcE_ZN4geos4util24IllegalArgumentExceptionC1ERKSs_ZN4geos2io9WKTReaderC2EPKNS_4geom15GeometryFactoryE_ZNK4geos4geom15GeometryFactory17getPrecisionModelEv_ZN4geos2io9WKTReaderC1EPKNS_4geom15GeometryFactoryE_ZN4geos2io9WKTReaderC2ERKNS_4geom15GeometryFactoryE_ZN4geos2io9WKTReaderC1ERKNS_4geom15GeometryFactoryE_ZN4geos2io9WKTReaderC2Ev_ZN4geos4geom15GeometryFactory18getDefaultInstanceEv_ZN4geos2io9WKTReaderC1Ev_ZN4geos2io9WKTReaderD2Ev_ZN4geos2io9WKTReaderD1Ev_ZN4geos2io21ByteOrderDataInStreamC2EPSi_ZZ19getMachineByteOrdervE12endian_check_ZN4geos2io21ByteOrderDataInStreamC1EPSi_ZN4geos2io21ByteOrderDataInStreamD2Ev_ZN4geos2io21ByteOrderDataInStreamD1Ev_ZN4geos2io21ByteOrderDataInStream11setInStreamEPSi_ZN4geos2io21ByteOrderDataInStream8setOrderEi_ZN4geos2io21ByteOrderDataInStream8readByteEv_ZNSi4readEPcl__cxa_allocate_exception_ZN4geos2io14ParseExceptionC1ERKSs_ZTIN4geos2io14ParseExceptionE__cxa_throw__cxa_free_exception_ZN4geos2io21ByteOrderDataInStream7readIntEv_ZN4geos2io15ByteOrderValues6getIntEPKhi_ZN4geos2io21ByteOrderDataInStream8readLongEv_ZN4geos2io15ByteOrderValues7getLongEPKhi_ZN4geos2io21ByteOrderDataInStream10readDoubleEv_ZN4geos2io15ByteOrderValues9getDoubleEPKhi_ZN4geos9geomgraph12DirectedEdge11setInResultEb_ZN4geos9geomgraph12DirectedEdge10isInResultEv_ZN4geos9geomgraph12DirectedEdge9isVisitedEv_ZN4geos9geomgraph12DirectedEdge10setVisitedEb_ZN4geos9geomgraph12DirectedEdge11setEdgeRingEPNS0_8EdgeRingE_ZN4geos9geomgraph12DirectedEdge11getEdgeRingEv_ZN4geos9geomgraph12DirectedEdge14setMinEdgeRingEPNS0_8EdgeRingE_ZN4geos9operation7overlay15MinimalEdgeRing11setEdgeRingEPNS_9geomgraph12DirectedEdgeEPNS3_8EdgeRingE_ZN4geos9geomgraph12DirectedEdge14getMinEdgeRingEv_ZN4geos9geomgraph12DirectedEdge8getDepthEi_ZN4geos9geomgraph12DirectedEdge6getSymEv_ZN4geos9geomgraph12DirectedEdge9isForwardEv_ZN4geos9geomgraph12DirectedEdge6setSymEPS1__ZN4geos9geomgraph12DirectedEdge7getNextEv_ZN4geos9geomgraph12DirectedEdge7setNextEPS1__ZN4geos9geomgraph12DirectedEdge10getNextMinEv_ZN4geos9operation7overlay15MinimalEdgeRing7getNextEPNS_9geomgraph12DirectedEdgeE_ZN4geos9geomgraph12DirectedEdge10setNextMinEPS1__ZN4geos9geomgraph13GeometryGraph16getBoundaryNodesERSt6vectorIPNS0_4NodeESaIS4_EE_ZNK4geos9geomgraph7NodeMap16getBoundaryNodesEiRSt6vectorIPNS0_4NodeESaIS4_EE_ZN4geos9geomgraph13GeometryGraph11getGeometryEv_ZN4geos9algorithm10ConvexHullD2Ev_ZN4geos9algorithm10ConvexHullD1Ev_ZNK4geos4geom18GeometryCollection5beginEv_ZNK4geos4geom18GeometryCollection3endEv_ZN4geos4geom11LineSegmentC2ERKS1__ZN4geos4geom11LineSegmentC1ERKS1__ZN4geos4geom11LineSegmentC2ERKNS0_10CoordinateES4__ZN4geos4geom11LineSegmentC1ERKNS0_10CoordinateES4__ZNK4geos4geom11LineSegment21distancePerpendicularERKNS0_10CoordinateE_ZN4geos9algorithm8Distance24pointToLinePerpendicularERKNS_4geom10CoordinateES5_S5__ZNK4geos4geom11LineSegment8distanceERKS1__ZN4geos9algorithm8Distance16segmentToSegmentERKNS_4geom10CoordinateES5_S5_S5__ZNK4geos4geom11LineSegment8distanceERKNS0_10CoordinateE_ZN4geos9algorithm8Distance14pointToSegmentERKNS_4geom10CoordinateES5_S5__ZN4geos4geom11LineSegment14setCoordinatesERKNS0_10CoordinateES4__ZNK4geos4geom11LineSegmentixEm_ZN4geos4geom11LineSegmentixEm_ZN4geos4geom11LineSegment14setCoordinatesERKS1__ZNK4geos4geom11LineSegment12isHorizontalEv_ZNK4geos4geom11LineSegment10isVerticalEv_ZNK4geos4geom11LineSegment16orientationIndexEPKS1__ZNK4geos4geom11LineSegment16orientationIndexERKS1__ZNK4geos4geom11LineSegment16orientationIndexERKNS0_10CoordinateE_ZN4geos9algorithm11Orientation5indexERKNS_4geom10CoordinateES5_S5__ZN4geos4geom11LineSegment13closestPointsEPKS1__ZN4geos4geom11LineSegment13closestPointsERKS1__ZNK4geos4geom11LineSegment5angleEvatan2_ZN4geos4geomlsERSoRKNS0_11LineSegmentE_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l_ZNSo9_M_insertIdEERSoT__ZN4geos4geom14PrecisionModelD2Ev_ZN4geos4geom14PrecisionModelD1Ev_ZNK4geos4geom14PrecisionModel11makePreciseEPNS0_10CoordinateE_ZNK4geos4geom14PrecisionModel11makePreciseERNS0_10CoordinateE_ZNK4geos4geom14PrecisionModel7getTypeEv_ZNK4geos4geom14PrecisionModel8getScaleEv_ZN4geos4geom8EnvelopeC2ERKS1__ZN4geos4geom8EnvelopeC1ERKS1__ZN4geos4geom8Envelope8distanceEddddsqrt_ZNK4geos4geom8Envelope7getMaxYEv_ZNK4geos4geom8Envelope7getMaxXEv_ZNK4geos4geom8Envelope7getMinYEv_ZNK4geos4geom8Envelope7getMinXEv_ZN4geos4geom8Envelope4initEdddd_ZN4geos4geom8EnvelopeC2Edddd_ZN4geos4geom8EnvelopeC1Edddd_ZN4geos4geom8Envelope4initERKNS0_10CoordinateES4__ZN4geos4geom8EnvelopeC2ERKNS0_10CoordinateES4__ZN4geos4geom8EnvelopeC1ERKNS0_10CoordinateES4__ZN4geos4geom8Envelope4initERKNS0_10CoordinateE_ZN4geos4geom8EnvelopeC2ERKNS0_10CoordinateE_ZN4geos4geom8EnvelopeC1ERKNS0_10CoordinateE_ZNK4geos4geom8Envelope10intersectsERKNS0_10CoordinateE_ZNK4geos4geom8Envelope6isNullEv_ZN4geos4geom8Envelope15expandToIncludeEdd_ZN4geos4geom8Envelope15expandToIncludeERKNS0_10CoordinateE_ZNK4geos4geom8Envelope8getWidthEv_ZNK4geos4geom8Envelope9getHeightEv_ZNK4geos4geom8Envelope10intersectsEPKS1__ZNK4geos4geom8Envelope10intersectsERKS1__ZNK4geos4geom8Envelope10intersectsEdd_ZNK4geos4geom8Envelope6coversEPKNS0_10CoordinateE_ZNK4geos4geom8Envelope6coversEdd_ZN4geos4geom8Envelope9setToNullEv_ZN4geos4geom8Envelope4initEv_ZN4geos4geom8EnvelopeC2Ev_ZN4geos4geom8EnvelopeC1Ev_ZN4geos4geom10Coordinate7setNullEv_ZNK4geos4geom10Coordinate6isNullEv_ZN4geos4geom10CoordinateC2Eddd_ZN4geos4geom10CoordinateC1Eddd_ZN4geos4geom11LineSegmentC2Edddd_ZN4geos4geom11LineSegmentC1Edddd_ZN4geos4geom11LineSegmentC2Ev_ZN4geos4geom11LineSegmentC1Ev_ZNK4geos4geom11LineSegment10pointAlongEdRNS0_10CoordinateE_ZNK4geos4geom11LineSegment8midPointERNS0_10CoordinateE_ZNK4geos4geom10Coordinate8equals2DERKS1__ZNK4geos4geom10Coordinate6equalsERKS1__ZNK4geos4geom10Coordinate9compareToERKS1__ZN4geos4geom11LineSegment9normalizeEv_ZN4geos4geom11LineSegment7reverseEv_ZNK4geos4geom10Coordinate8equals3DERKS1__ZNK4geos4geom10Coordinate8distanceERKS1__ZNK4geos4geom11LineSegment9getLengthEv_ZNK4geos4geom10Coordinate15distanceSquaredERKS1__ZNK4geos4geom18CoordinateLessThenclEPKNS0_10CoordinateES4__ZNK4geos4geom18CoordinateLessThenclERKNS0_10CoordinateES4__ZN4geos4geomeqERKNS0_10CoordinateES3__ZN4geos4geomeqERKNS0_11LineSegmentES3__ZNK4geos6noding18BasicSegmentString8isClosedEv_ZN4geos4geomneERKNS0_10CoordinateES3__ZNK4geos4geom10Coordinate8HashCodeclERKS1__ZSt11_Hash_bytesPKvmm_ZNK4geos4geom15GeometryFactory7getSRIDEv_ZNK4geos4geom15GeometryFactory28getCoordinateSequenceFactoryEv_ZN4geos4geom15MultiLineStringC2ERKS1__ZN4geos4geom18GeometryCollectionC2ERKS1__ZTVN4geos4geom15MultiLineStringE_ZN4geos4geom15MultiLineStringC1ERKS1__ZNK4geos4geom15MultiLineString5cloneEv_ZN4geos4geom12MultiPolygonC2ERKS1__ZTVN4geos4geom12MultiPolygonE_ZN4geos4geom12MultiPolygonC1ERKS1__ZNK4geos4geom12MultiPolygon5cloneEv_ZN4geos9geomgraph5DepthC2Ev_ZN4geos9geomgraph5DepthC1Ev_ZNK4geos9geomgraph5Depth8getDepthEii_ZN4geos9geomgraph5Depth8setDepthEiii_ZNK4geos9geomgraph5Depth11getLocationEii_ZN4geos9geomgraph5Depth3addEiiNS_4geom8LocationE_ZN4geos9geomgraph5Depth15depthAtLocationENS_4geom8LocationE_ZNK4geos9geomgraph5Depth6isNullEv_ZNK4geos9geomgraph5Depth6isNullEi_ZNK4geos9geomgraph5Depth6isNullEii_ZNK4geos9geomgraph5Depth8getDeltaEi_ZN4geos9geomgraph5Label5mergeERKS1__ZN4geos9geomgraph16TopologyLocation5mergeERKS1__ZN4geos9geomgraph8Quadrant8quadrantEdd_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6__ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv_ZTIN4geos4util24IllegalArgumentExceptionE_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev_ZN4geos9geomgraph8Quadrant8quadrantERKNS_4geom10CoordinateES5__ZNK4geos4geom10Coordinate8toStringEv_ZNSs6insertEmPKc_ZN4geos9geomgraph8Quadrant10isOppositeEii_ZN4geos9geomgraph8Quadrant10isNorthernEi_ZN4geos9geomgraph16TopologyLocationC2ENS_4geom8LocationES3_S3__ZN4geos9geomgraph16TopologyLocationC1ENS_4geom8LocationES3_S3__ZN4geos9geomgraph5LabelC2ENS_4geom8LocationES3_S3__ZN4geos9geomgraph5LabelC1ENS_4geom8LocationES3_S3__ZN4geos9geomgraph16TopologyLocationC2ENS_4geom8LocationE_ZN4geos9geomgraph16TopologyLocationC1ENS_4geom8LocationE_ZN4geos9geomgraph5LabelC2ENS_4geom8LocationE_ZN4geos9geomgraph5LabelC1ENS_4geom8LocationE_ZN4geos9geomgraph5LabelC2Ev_ZN4geos9geomgraph5LabelC1Ev_ZN4geos9geomgraph16TopologyLocationC2ERKS1__ZN4geos9geomgraph16TopologyLocationC1ERKS1__ZN4geos9geomgraph5LabelC2ERKS1__ZN4geos9geomgraph5LabelC1ERKS1__ZN4geos9geomgraph16TopologyLocationaSERKS1__ZN4geos9geomgraph5LabelaSERKS1__ZNK4geos9geomgraph16TopologyLocation3getEm_ZNK4geos9geomgraph5Label11getLocationEii_ZNK4geos9geomgraph5Label11getLocationEi_ZNK4geos9geomgraph16TopologyLocation6isNullEv_ZNK4geos9geomgraph5Label16getGeometryCountEv_ZNK4geos9geomgraph5Label6isNullEi_ZNK4geos9geomgraph5Label6isNullEv_ZNK4geos9geomgraph16TopologyLocation9isAnyNullEv_ZNK4geos9geomgraph5Label9isAnyNullEi_ZNK4geos9geomgraph16TopologyLocation13isEqualOnSideERKS1_i_ZNK4geos9geomgraph5Label13isEqualOnSideERKS1_i_ZNK4geos9geomgraph16TopologyLocation6isAreaEv_ZNK4geos9geomgraph5Label6isAreaEv_ZNK4geos9geomgraph5Label6isAreaEi_ZNK4geos9geomgraph16TopologyLocation6isLineEv_ZNK4geos9geomgraph5Label6isLineEi_ZN4geos9geomgraph16TopologyLocation4flipEv_ZN4geos9geomgraph5Label4flipEv_ZN4geos9geomgraph16TopologyLocation15setAllLocationsENS_4geom8LocationE_ZN4geos9geomgraph5Label15setAllLocationsEiNS_4geom8LocationE_ZN4geos9geomgraph16TopologyLocation21setAllLocationsIfNullENS_4geom8LocationE_ZN4geos9geomgraph5Label21setAllLocationsIfNullEiNS_4geom8LocationE_ZN4geos9geomgraph5Label21setAllLocationsIfNullENS_4geom8LocationE_ZN4geos9geomgraph16TopologyLocation11setLocationEmNS_4geom8LocationE_ZN4geos9geomgraph5Label11setLocationEiiNS_4geom8LocationE_ZN4geos9geomgraph5Label11setLocationEiNS_4geom8LocationE_ZN4geos9geomgraph5Label11toLineLabelERKS1__ZN4geos9geomgraph16TopologyLocation11setLocationENS_4geom8LocationE_ZN4geos9geomgraph5LabelC2EiNS_4geom8LocationE_ZN4geos9geomgraph5LabelC1EiNS_4geom8LocationE_ZNK4geos9geomgraph16TopologyLocation12getLocationsEv_ZN4geos9geomgraph5Label6toLineEi_ZN4geos9geomgraph16TopologyLocation12setLocationsENS_4geom8LocationES3_S3__ZN4geos9geomgraph5LabelC2EiNS_4geom8LocationES3_S3__ZN4geos9geomgraph5LabelC1EiNS_4geom8LocationES3_S3__ZNK4geos9geomgraph16TopologyLocation17allPositionsEqualENS_4geom8LocationE_ZNK4geos9geomgraph5Label17allPositionsEqualEiNS_4geom8LocationE_ZN4geos9geomgraph5index18SegmentIntersector18isAdjacentSegmentsEmm_ZN4geos9geomgraph5index18SegmentIntersector16setBoundaryNodesEPSt6vectorIPNS0_4NodeESaIS5_EES8__ZN4geos9geomgraph5index18SegmentIntersector26getProperIntersectionPointEv_ZN4geos9geomgraph5index18SegmentIntersector15hasIntersectionEv_ZN4geos9geomgraph5index18SegmentIntersector20setIsDoneIfProperIntEb_ZN4geos9geomgraph5index18SegmentIntersector9getIsDoneEv_ZN4geos9geomgraph5index18SegmentIntersector21hasProperIntersectionEv_ZN4geos9geomgraph5index18SegmentIntersector29hasProperInteriorIntersectionEv_ZN4geos9geomgraph5index18SegmentIntersector15isBoundaryPointEPNS_9algorithm15LineIntersectorERSt5arrayIPSt6vectorIPNS0_4NodeESaIS9_EELm2EE_ZN4geos9geomgraph5index18SegmentIntersector15isBoundaryPointEPNS_9algorithm15LineIntersectorEPSt6vectorIPNS0_4NodeESaIS8_EE_ZNK4geos6noding9snapround8HotPixel5scaleEd_ZN4geos4util15java_math_roundEd_ZNK4geos6noding9snapround8HotPixel10copyScaledERKNS_4geom10CoordinateERS4__ZNK4geos6noding18BasicSegmentString16getSegmentOctantEm_ZN4geos6noding6Octant6octantERKNS_4geom10CoordinateES5__ZN4geos6noding12MCIndexNoder8getIndexEv_ZNK4geos6noding12MCIndexNoder18getNodedSubstringsEv_ZN4geos6noding18NodedSegmentString18getNodedSubstringsERKSt6vectorIPNS0_13SegmentStringESaIS4_EE_ZNSt8_Rb_treeIPKN4geos4geom10LineStringESt4pairIKS4_PNS0_9geomgraph4EdgeEESt10_Select1stISA_ESt4lessIS4_ESaISA_EE8_M_eraseEPSt13_Rb_tree_nodeISA_E_ZN4geos9geomgraph13GeometryGraphD2Ev_ZTVN4geos9geomgraph13GeometryGraphE_ZN4geos9geomgraph11PlanarGraphD2Ev_ZN4geos9geomgraph13GeometryGraphD1Ev_ZN4geos9geomgraph13GeometryGraphD0Ev_ZNSt8_Rb_treeIPKN4geos4geom10CoordinateES4_St9_IdentityIS4_ENS1_18CoordinateLessThenESaIS4_EE8_M_eraseEPSt13_Rb_tree_nodeIS4_E_ZN4geos4util27UniqueCoordinateArrayFilterD2Ev_ZTVN4geos4util27UniqueCoordinateArrayFilterE_ZN4geos4util27UniqueCoordinateArrayFilterD1Ev_ZN4geos4util27UniqueCoordinateArrayFilterD0Ev_ZN4geos9algorithm10ConvexHull18extractCoordinatesEPKNS_4geom8GeometryE_ZN4geos9algorithm10ConvexHullC2EPKNS_4geom8GeometryE_ZN4geos9algorithm10ConvexHullC1EPKNS_4geom8GeometryE_ZNSt6vectorIPKN4geos4geom10CoordinateESaIS4_EE19_M_emplace_back_auxIIRKS4_EEEvDpOT_memmove_ZNSt6vectorIPKN4geos4geom10CoordinateESaIS4_EE19_M_emplace_back_auxIJRKS4_EEEvDpOT__ZN4geos4util27UniqueCoordinateArrayFilter9filter_roEPKNS_4geom10CoordinateE_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS__ZNSt8ios_base4InitC1Ev_ZNSt8ios_base4InitD1Ev__cxa_atexit_ZTSN4geos4geom10LineStringE_ZTIN4geos4geom10LineStringE_ZTVN10__cxxabiv120__si_class_type_infoE_ZTIN4geos4geom8GeometryE_ZTIN4geos4util13GEOSExceptionE_ZTSN4geos4util13GEOSExceptionE_ZTISt13runtime_error_ZTSN4geos4util24IllegalArgumentExceptionE_ZTSN4geos2io14ParseExceptionE_ZTIN4geos9geomgraph8EdgeRingE_ZTVN10__cxxabiv117__class_type_infoE_ZTSN4geos9geomgraph8EdgeRingE_ZTSN4geos9operation7overlay15MinimalEdgeRingE_ZTIN4geos9operation7overlay15MinimalEdgeRingE_ZTSN4geos9geomgraph13GeometryGraphE_ZTIN4geos9geomgraph13GeometryGraphE_ZTIN4geos9geomgraph11PlanarGraphE_ZTIN4geos4geom16CoordinateFilterE_ZTSN4geos4geom16CoordinateFilterE_ZTIN4geos4util27UniqueCoordinateArrayFilterE_ZTSN4geos4util27UniqueCoordinateArrayFilterE_ZTSN4geos4geom11LineSegmentE_ZTIN4geos4geom11LineSegmentE_ZTIN4geos4geom25CoordinateSequenceFactoryE_ZTSN4geos4geom25CoordinateSequenceFactoryE_ZTSN4geos4geom30CoordinateArraySequenceFactoryE_ZTIN4geos4geom30CoordinateArraySequenceFactoryE_ZTIN4geos9geomgraph5DepthE_ZTSN4geos9geomgraph5DepthE_ZTSN4geos6noding18BasicSegmentStringE_ZTIN4geos6noding18BasicSegmentStringE_ZTIN4geos6noding13SegmentStringE_ZNK4geos4geom10LineString13getCoordinateEv_ZNK4geos4geom10LineString14getCoordinatesEv_ZNK4geos4geom10LineString12getNumPointsEv_ZNK4geos4geom8Geometry8isSimpleEv_ZNK4geos4geom10LineString15getGeometryTypeEv_ZNK4geos4geom10LineString17getGeometryTypeIdEv_ZNK4geos4geom8Geometry7isValidEv_ZNK4geos4geom10LineString7isEmptyEv_ZNK4geos4geom10LineString12getDimensionEv_ZNK4geos4geom10LineString22getCoordinateDimensionEv_ZNK4geos4geom10LineString11getBoundaryEv_ZNK4geos4geom10LineString20getBoundaryDimensionEv_ZNK4geos4geom8Geometry11getEnvelopeEv_ZNK4geos4geom8Geometry19getEnvelopeInternalEv_ZNK4geos4geom8Geometry8disjointEPKS1__ZNK4geos4geom8Geometry7touchesEPKS1__ZNK4geos4geom8Geometry10intersectsEPKS1__ZNK4geos4geom8Geometry7crossesEPKS1__ZNK4geos4geom8Geometry6withinEPKS1__ZNK4geos4geom8Geometry8containsEPKS1__ZNK4geos4geom8Geometry8overlapsEPKS1__ZNK4geos4geom8Geometry6equalsEPKS1__ZNK4geos4geom8Geometry8toStringEv_ZNK4geos4geom8Geometry6toTextEv_ZNK4geos4geom8Geometry10convexHullEv_ZNK4geos4geom10LineString7reverseEv_ZNK4geos4geom10LineString11equalsExactEPKNS0_8GeometryEd_ZN4geos4geom10LineString8apply_rwEPKNS0_16CoordinateFilterE_ZNK4geos4geom10LineString8apply_roEPNS0_16CoordinateFilterE_ZN4geos4geom10LineString8apply_rwEPNS0_14GeometryFilterE_ZNK4geos4geom10LineString8apply_roEPNS0_14GeometryFilterE_ZN4geos4geom10LineString8apply_rwEPNS0_23GeometryComponentFilterE_ZNK4geos4geom10LineString8apply_roEPNS0_23GeometryComponentFilterE_ZN4geos4geom10LineString8apply_rwERNS0_24CoordinateSequenceFilterE_ZNK4geos4geom10LineString8apply_roERNS0_24CoordinateSequenceFilterE_ZN4geos4geom10LineString9normalizeEv_ZNK4geos4geom8Geometry9compareToEPKS1__ZNK4geos4geom8Geometry8distanceEPKS1__ZNK4geos4geom8Geometry7getAreaEv_ZNK4geos4geom10LineString9getLengthEv_ZNK4geos4geom8Geometry16isWithinDistanceEPKS1_d_ZNK4geos4geom8Geometry11getCentroidEv_ZNK4geos4geom8Geometry11getCentroidERNS0_10CoordinateE_ZN4geos4geom8Geometry15geometryChangedEv_ZNK4geos4geom8Geometry17isEquivalentClassEPKS1__ZNK4geos4geom10LineString23computeEnvelopeInternalEv_ZNK4geos4geom10LineString18compareToSameClassEPKNS0_8GeometryE_ZNK4geos4geom10LineString14getCoordinateNEm_ZNK4geos4geom10LineString9getPointNEm_ZNK4geos4geom10LineString13getStartPointEv_ZNK4geos4geom10LineString11getEndPointEv_ZNK4geos4geom10LineString8isClosedEv_ZNK4geos4geom10LineString6isRingEv_ZNK4geos4geom10LineString12isCoordinateERNS0_10CoordinateE_ZNKSt13runtime_error4whatEv_ZTVN4geos2io14ParseExceptionE__cxa_pure_virtual_ZTVN4geos9operation7overlay15MinimalEdgeRingE_ZN4geos9geomgraph11PlanarGraph15getEdgeIteratorEv_ZN4geos9geomgraph11PlanarGraph11getEdgeEndsEv_ZN4geos9geomgraph11PlanarGraph14isBoundaryNodeEiRKNS_4geom10CoordinateE_ZN4geos9geomgraph11PlanarGraph3addEPNS0_7EdgeEndE_ZN4geos9geomgraph11PlanarGraph15getNodeIteratorEv_ZN4geos9geomgraph11PlanarGraph8getNodesERSt6vectorIPNS0_4NodeESaIS4_EE_ZN4geos9geomgraph11PlanarGraph7addNodeEPNS0_4NodeE_ZN4geos9geomgraph11PlanarGraph7addNodeERKNS_4geom10CoordinateE_ZN4geos9geomgraph11PlanarGraph4findERNS_4geom10CoordinateE_ZN4geos9geomgraph11PlanarGraph8addEdgesERKSt6vectorIPNS0_4EdgeESaIS4_EE_ZN4geos9geomgraph11PlanarGraph23linkResultDirectedEdgesEv_ZN4geos9geomgraph11PlanarGraph20linkAllDirectedEdgesEv_ZN4geos9geomgraph11PlanarGraph11findEdgeEndEPNS0_4EdgeE_ZN4geos9geomgraph11PlanarGraph8findEdgeERKNS_4geom10CoordinateES5__ZN4geos9geomgraph11PlanarGraph23findEdgeInSameDirectionERKNS_4geom10CoordinateES5__ZN4geos9geomgraph11PlanarGraph10printEdgesEv_ZN4geos9geomgraph11PlanarGraph10getNodeMapEv_ZN4geos9geomgraph11PlanarGraph10insertEdgeEPNS0_4EdgeE_ZTVN4geos4geom30CoordinateArraySequenceFactoryE_ZTVN4geos6noding18BasicSegmentStringE_ZNK4geos6noding18BasicSegmentString5printERSo__pthread_key_create_ZN4geos9algorithm5Angle9toDegreesEd_ZN4geos9algorithm5Angle9toRadiansEd_ZN4geos9algorithm5Angle5angleERKNS_4geom10CoordinateES5__ZN4geos9algorithm5Angle5angleERKNS_4geom10CoordinateE_ZN4geos9algorithm5Angle7isAcuteERKNS_4geom10CoordinateES5_S5__ZN4geos9algorithm5Angle8isObtuseERKNS_4geom10CoordinateES5_S5__ZN4geos9algorithm5Angle20angleBetweenOrientedERKNS_4geom10CoordinateES5_S5__ZN4geos9algorithm5Angle13interiorAngleERKNS_4geom10CoordinateES5_S5__ZN4geos9algorithm5Angle7getTurnEddsin_ZN4geos9algorithm5Angle9normalizeEd_ZN4geos9algorithm5Angle17normalizePositiveEd_ZN4geos9algorithm5Angle4diffEdd_ZN4geos9algorithm5Angle12angleBetweenERKNS_4geom10CoordinateES5_S5__ZN4geos9algorithm5Angle9PI_OVER_4E_ZN4geos9algorithm5Angle9PI_OVER_2E_ZN4geos9algorithm5Angle10PI_TIMES_2E_ZN4geos9algorithm4Area12ofRingSignedERKSt6vectorINS_4geom10CoordinateESaIS4_EE_ZN4geos9algorithm4Area6ofRingERKSt6vectorINS_4geom10CoordinateESaIS4_EE_ZN4geos9algorithm4Area12ofRingSignedEPKNS_4geom18CoordinateSequenceE_ZN4geos9algorithm4Area6ofRingEPKNS_4geom18CoordinateSequenceE_ZN4geos9algorithm16BoundaryNodeRuleD2Ev_ZTVN4geos9algorithm16BoundaryNodeRuleE_ZN4geos9algorithm16BoundaryNodeRuleD1Ev_ZN4geos9algorithm16BoundaryNodeRuleD0Ev_ZN4geos9algorithm16BoundaryNodeRule19getBoundaryRuleMod2Ev_ZN4geos9algorithm16BoundaryNodeRule19getBoundaryEndPointEv_ZN4geos9algorithm16BoundaryNodeRule30getBoundaryMultivalentEndPointEv_ZN4geos9algorithm16BoundaryNodeRule29getBoundaryMonovalentEndPointEv_ZN4geos9algorithm16BoundaryNodeRule17getBoundaryOGCSFSEv_ZTIN4geos9algorithm16BoundaryNodeRuleE_ZTSN4geos9algorithm16BoundaryNodeRuleE_ZNK4geos9algorithm8Centroid11getCentroidERNS_4geom10CoordinateE_ZN4geos9algorithm8Centroid16setAreaBasePointERKNS_4geom10CoordinateE_ZN4geos9algorithm8Centroid9centroid3ERKNS_4geom10CoordinateES5_S5_RS3__ZN4geos9algorithm8Centroid5area2ERKNS_4geom10CoordinateES5_S5__ZN4geos9algorithm8Centroid11addTriangleERKNS_4geom10CoordinateES5_S5_b_ZN4geos9algorithm8Centroid8addPointERKNS_4geom10CoordinateE_ZN4geos9algorithm8Centroid15addLineSegmentsERKNS_4geom18CoordinateSequenceE_ZN4geos9algorithm8Centroid8addShellERKNS_4geom18CoordinateSequenceE_ZN4geos9algorithm11Orientation5isCCWEPKNS_4geom18CoordinateSequenceE_ZN4geos9algorithm8Centroid7addHoleERKNS_4geom18CoordinateSequenceE_ZN4geos9algorithm8Centroid3addERKNS_4geom7PolygonE_ZNK4geos4geom7Polygon15getExteriorRingEv_ZNK4geos4geom10LineString16getCoordinatesROEv_ZNK4geos4geom7Polygon16getInteriorRingNEm_ZNK4geos4geom7Polygon18getNumInteriorRingEv_ZN4geos9algorithm8Centroid3addERKNS_4geom8GeometryE_ZTIN4geos4geom5PointE__dynamic_cast_ZTIN4geos4geom18GeometryCollectionE_ZTIN4geos4geom7PolygonE_ZN4geos9algorithm8Centroid11getCentroidERKNS_4geom8GeometryERNS2_10CoordinateE_ZN6ttmath3BigILm1ELm2EED2Ev_ZN6ttmath3BigILm1ELm2EED1Ev_ZN4geos9algorithm14CGAlgorithmsDD22orientationIndexFilterERKNS_4geom10CoordinateES5_S5__ZN6ttmath3BigILm1ELm2EE10FromDoubleEd_ZN6ttmath3BigILm1ELm2EE3AddES1_bb_ZN6ttmath3BigILm1ELm2EE13StandardizingEv_ZN6ttmath3IntILm1EE3SubERKS1__ZN6ttmath3BigILm1ELm2EE15RoundHalfToEvenEbb_ZN6ttmath4UIntILm4EE18CompensationToLeftEv_ZN6ttmath3IntILm1EE3AddERKS1__ZN6ttmath4UIntILm2EE7Mul1BigERKS1_RNS0_ILm4EEE_ZN6ttmath4UIntILm4EE3RclEmm_ZN6ttmath4UIntILm2EE8Mul3Big2ILm2EEEvPKmS4_Pm_ZN6ttmath4UIntILm2EE8Mul2Big3ILm2EEEvPKmS4_RNS0_IXmlT_Li2EEEEmmmm_ZN6ttmath3BigILm1ELm2EE3MulERKS1_b_ZN4geos9algorithm14CGAlgorithmsDD5detDDERKN6ttmath3BigILm1ELm2EEES6_S6_S6__ZN4geos9algorithm14CGAlgorithmsDD5detDDEdddd_ZN4geos9algorithm14CGAlgorithmsDD12signOfDet2x2ERKN6ttmath3BigILm1ELm2EEES6_S6_S6___cxa_guard_acquire__cxa_guard_release_ZN4geos9algorithm14CGAlgorithmsDD12signOfDet2x2Edddd_ZN4geos9algorithm14CGAlgorithmsDD16orientationIndexERKNS_4geom10CoordinateES5_S5__ZN6ttmath4UIntILm4EE7Div2RefERKS1_PS1__ZN6ttmath4UIntILm4EE4Div2ERKS1_PS1__ZN6ttmath4UIntILm4EE7Div3RefERKS1_PS1__ZN6ttmath4UIntILm4EE17Div1_CalculateRefERKS1_RS1__ZN6ttmath4UIntILm4EE4Div1ERKS1_PS1__ZN4geos9algorithm14CGAlgorithmsDD14circumcentreDDERKNS_4geom10CoordinateES5_S5__ZN4geos9algorithm14CGAlgorithmsDD12intersectionERKNS_4geom10CoordinateES5_S5_S5__ZN4geos9algorithm10ConvexHull20toCoordinateSequenceERSt6vectorIPKNS_4geom10CoordinateESaIS6_EE_ZSt17__throw_bad_allocv_ZN4geos9algorithm10ConvexHull13computeOctPtsERKSt6vectorIPKNS_4geom10CoordinateESaIS6_EERS8__ZN4geos9algorithm10ConvexHull7preSortERSt6vectorIPKNS_4geom10CoordinateESaIS6_EE_ZN4geos9algorithm10ConvexHull9isBetweenERKNS_4geom10CoordinateES5_S5__ZN4geos9algorithm10ConvexHull9padArray3ERSt6vectorIPKNS_4geom10CoordinateESaIS6_EE_ZN4geos9algorithm10ConvexHull9cleanRingERKSt6vectorIPKNS_4geom10CoordinateESaIS6_EERS8__ZN4geos9algorithm10ConvexHull14computeOctRingERKSt6vectorIPKNS_4geom10CoordinateESaIS6_EERS8__ZN4geos9algorithm10ConvexHull10grahamScanERKSt6vectorIPKNS_4geom10CoordinateESaIS6_EERS8__ZNSt6vectorIPKN4geos4geom10CoordinateESaIS4_EE17_M_default_appendEm_ZSt20__throw_length_errorPKc_ZN4geos9algorithm10ConvexHull13lineOrPolygonERKSt6vectorIPKNS_4geom10CoordinateESaIS6_EE_ZNK4geos4geom15GeometryFactory16createLinearRingEOSt10unique_ptrINS0_18CoordinateSequenceESt14default_deleteIS3_EE_ZNK4geos4geom15GeometryFactory13createPolygonEOSt10unique_ptrINS0_10LinearRingESt14default_deleteIS3_EE_ZNK4geos4geom15GeometryFactory16createLineStringEOSt10unique_ptrINS0_18CoordinateSequenceESt14default_deleteIS3_EE_ZNSt8_Rb_treeIPKN4geos4geom10CoordinateES4_St9_IdentityIS4_ENS1_18CoordinateLessThenESaIS4_EE24_M_get_insert_unique_posERKS4__ZNSt8_Rb_treeIPKN4geos4geom10CoordinateES4_St9_IdentityIS4_ENS1_18CoordinateLessThenESaIS4_EE16_M_insert_uniqueIRKS4_EESt4pairISt17_Rb_tree_iteratorIS4_EbEOT__ZNSt6vectorIPKN4geos4geom10CoordinateESaIS4_EE13_M_assign_auxISt23_Rb_tree_const_iteratorIS4_EEEvT_SA_St20forward_iterator_tag_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base_ZNSt8_Rb_treeIPKN4geos4geom10CoordinateES4_St9_IdentityIS4_ENS1_18CoordinateLessThenESaIS4_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS4_ERKS4__ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base_ZN4geos9algorithm10ConvexHull6reduceERSt6vectorIPKNS_4geom10CoordinateESaIS6_EE_ZN4geos9algorithm13PointLocation8isInRingERKNS_4geom10CoordinateERKSt6vectorIPS4_SaIS7_EE_ZN4geos9algorithm10ConvexHull13getConvexHullEv_ZN4geos4util9Interrupt7processEv_ZNK4geos4geom15GeometryFactory19createEmptyGeometryEv_ZNK4geos4geom15GeometryFactory11createPointERKNS0_10CoordinateE_ZN4geos4geom8Envelope10intersectsERKNS0_10CoordinateES4_S4_S4__ZN4geos9algorithm8Distance20pointToSegmentStringERKNS_4geom10CoordinateEPKNS2_18CoordinateSequenceE_ZN4geos9algorithm25NotRepresentableExceptionD2Ev_ZN4geos9algorithm25NotRepresentableExceptionD1Ev_ZN4geos9algorithm25NotRepresentableExceptionD0Ev_ZN4geos9algorithm11HCoordinate12intersectionERKNS_4geom10CoordinateES5_S5_S5_RS3__ZN4geos9algorithm25NotRepresentableExceptionC1Ev_ZTIN4geos9algorithm25NotRepresentableExceptionE_ZN4geos9algorithm11HCoordinateC2Ev_ZN4geos9algorithm11HCoordinateC1Ev_ZN4geos9algorithm11HCoordinateC2Eddd_ZN4geos9algorithm11HCoordinateC1Eddd_ZN4geos9algorithm11HCoordinateC2ERKNS_4geom10CoordinateE_ZN4geos9algorithm11HCoordinateC1ERKNS_4geom10CoordinateE_ZN4geos9algorithm11HCoordinateC2ERKNS_4geom10CoordinateES5__ZN4geos9algorithm11HCoordinateC1ERKNS_4geom10CoordinateES5__ZN4geos9algorithm11HCoordinateC2ERKNS_4geom10CoordinateES5_S5_S5__ZN4geos9algorithm11HCoordinateC1ERKNS_4geom10CoordinateES5_S5_S5__ZN4geos9algorithm11HCoordinateC2ERKS1_S3__ZN4geos9algorithm11HCoordinateC1ERKS1_S3__ZNK4geos9algorithm11HCoordinate4getXEv_ZNK4geos9algorithm11HCoordinate4getYEv_ZNK4geos9algorithm11HCoordinate13getCoordinateERNS_4geom10CoordinateE_ZN4geos9algorithmlsERSoRKNS0_11HCoordinateE_ZTSN4geos9algorithm25NotRepresentableExceptionE_ZTVN4geos9algorithm25NotRepresentableExceptionE_ZNK4geos9algorithm17InteriorPointArea16getInteriorPointERNS_4geom10CoordinateE_ZNSt6vectorIdSaIdEE19_M_emplace_back_auxIIRKdEEEvDpOT__ZNSt6vectorIdSaIdEE19_M_emplace_back_auxIJRKdEEEvDpOT__ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEEvT_S7__ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEldEvT_T0_S8_T1__ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEElEvT_S7_T0__ZN4geos9algorithm17InteriorPointArea14processPolygonEPKNS_4geom7PolygonE_ZN4geos9algorithm17InteriorPointArea7processEPKNS_4geom8GeometryE_ZN4geos9algorithm17InteriorPointAreaC2EPKNS_4geom8GeometryE_ZN4geos9algorithm17InteriorPointAreaC1EPKNS_4geom8GeometryE_ZN4geos9algorithm17InteriorPointLine3addERKNS_4geom10CoordinateE_ZN4geos9algorithm17InteriorPointLine11addInteriorEPKNS_4geom18CoordinateSequenceE_ZN4geos9algorithm17InteriorPointLine11addInteriorEPKNS_4geom8GeometryE_ZN4geos9algorithm17InteriorPointLine12addEndpointsEPKNS_4geom18CoordinateSequenceE_ZN4geos9algorithm17InteriorPointLine12addEndpointsEPKNS_4geom8GeometryE_ZN4geos9algorithm17InteriorPointLineC2EPKNS_4geom8GeometryE_ZN4geos9algorithm17InteriorPointLineC1EPKNS_4geom8GeometryE_ZNK4geos9algorithm17InteriorPointLine16getInteriorPointERNS_4geom10CoordinateE_ZN4geos9algorithm18InteriorPointPoint3addEPKNS_4geom10CoordinateE_ZN4geos9algorithm18InteriorPointPoint3addEPKNS_4geom8GeometryE_ZN4geos9algorithm18InteriorPointPointC2EPKNS_4geom8GeometryE_ZN4geos9algorithm18InteriorPointPointC1EPKNS_4geom8GeometryE_ZNK4geos9algorithm18InteriorPointPoint16getInteriorPointERNS_4geom10CoordinateE_ZN4geos9algorithm12Intersection12intersectionERKNS_4geom10CoordinateES5_S5_S5__ZN4geos9algorithm15LineIntersector19computeEdgeDistanceERKNS_4geom10CoordinateES5_S5__ZNK4geos9algorithm15LineIntersector8toStringEv_ZNSs6insertEmPKcm_ZN4geos9algorithm15LineIntersector20isSameSignAndNonZeroEdd_ZNK4geos9algorithm15LineIntersector14isIntersectionERKNS_4geom10CoordinateE_ZNK4geos9algorithm15LineIntersector15getEdgeDistanceEmm_ZN4geos9algorithm15LineIntersector19computeIntLineIndexEi_ZN4geos9algorithm15LineIntersector19computeIntLineIndexEv_ZN4geos9algorithm15LineIntersector27getIntersectionAlongSegmentEii_ZN4geos9algorithm15LineIntersector20getIndexAlongSegmentEii_ZN4geos9algorithm15LineIntersector22isInteriorIntersectionEi_ZN4geos9algorithm15LineIntersector22isInteriorIntersectionEv_ZN4geos9algorithm15LineIntersector12interpolateZERKNS_4geom10CoordinateES5_S5__ZN4geos9algorithm15LineIntersector19computeIntersectionERKNS_4geom10CoordinateES5_S5__ZN4geos4geom8Envelope10intersectsERKNS0_10CoordinateES4_S4__ZN4geos9algorithm15LineIntersector15hasIntersectionERKNS_4geom10CoordinateES5_S5__ZN4geos9algorithm15LineIntersector28computeCollinearIntersectionERKNS_4geom10CoordinateES5_S5_S5__ZNK4geos9algorithm15LineIntersector20isInSegmentEnvelopesERKNS_4geom10CoordinateE_ZNK4geos9algorithm15LineIntersector16intersectionSafeERKNS_4geom10CoordinateES5_S5_S5__ZNK4geos9algorithm15LineIntersector12intersectionERKNS_4geom10CoordinateES5_S5_S5__ZN4geos9algorithm15LineIntersector16computeIntersectERKNS_4geom10CoordinateES5_S5_S5__ZN4geos9algorithm15LineIntersector19computeIntersectionERKNS_4geom10CoordinateES5_S5_S5__ZN4geos9algorithm6Length6ofLineEPKNS_4geom18CoordinateSequenceE_ZN4geos9algorithm21MinimumBoundingCircle13computeCentreEv_ZN4geos4geom8Triangle12circumcentreERKNS0_10CoordinateES4_S4__ZN4geos9algorithm21MinimumBoundingCircle11lowestPointERSt6vectorINS_4geom10CoordinateESaIS4_EE_ZN4geos9algorithm21MinimumBoundingCircle21pointWitMinAngleWithXERSt6vectorINS_4geom10CoordinateESaIS4_EERS4__ZN4geos9algorithm21MinimumBoundingCircle28pointWithMinAngleWithSegmentERSt6vectorINS_4geom10CoordinateESaIS4_EERS4_S8__ZNSt6vectorIN4geos4geom10CoordinateESaIS2_EEaSERKS4__ZNSt6vectorIN4geos4geom10CoordinateESaIS2_EE19_M_emplace_back_auxIIRKS2_EEEvDpOT__ZNSt6vectorIN4geos4geom10CoordinateESaIS2_EE19_M_emplace_back_auxIJRKS2_EEEvDpOT__ZN4geos9algorithm21MinimumBoundingCircle19computeCirclePointsEv_ZN4geos9algorithm21MinimumBoundingCircle7computeEv_ZN4geos9algorithm21MinimumBoundingCircle9getCircleEv_ZNK4geos4geom8Geometry6bufferEd_ZNK4geos4geom15GeometryFactory13createPolygonEv_ZN4geos9algorithm21MinimumBoundingCircle17getFarthestPointsEv_ZNK4geos4geom15GeometryFactory16createLineStringEv_ZN4geos9algorithm21MinimumBoundingCircle11getDiameterEv_ZN4geos9algorithm21MinimumBoundingCircle17getExtremalPointsEv_ZN4geos9algorithm21MinimumBoundingCircle9getCentreEv_ZN4geos9algorithm21MinimumBoundingCircle9getRadiusEv_ZN4geos9algorithm15MinimumDiameterC2EPKNS_4geom8GeometryE_ZN4geos4geom10Coordinate7getNullEv_ZN4geos9algorithm15MinimumDiameterC1EPKNS_4geom8GeometryE_ZN4geos9algorithm15MinimumDiameterC2EPKNS_4geom8GeometryEb_ZN4geos9algorithm15MinimumDiameterC1EPKNS_4geom8GeometryEb_ZN4geos9algorithm15MinimumDiameter12getNextIndexEPKNS_4geom18CoordinateSequenceEj_ZN4geos9algorithm15MinimumDiameter19findMaxPerpDistanceEPKNS_4geom18CoordinateSequenceEPKNS2_11LineSegmentEj_ZN4geos9algorithm15MinimumDiameter28computeConvexRingMinDiameterEPKNS_4geom18CoordinateSequenceE_ZN4geos9algorithm15MinimumDiameter18computeWidthConvexEPKNS_4geom8GeometryEstrcmp__cxa_bad_typeid_ZN4geos9algorithm15MinimumDiameter8computeCEddRKNS_4geom10CoordinateE_ZN4geos9algorithm15MinimumDiameter21computeSegmentForLineEddd_ZN4geos9algorithm15MinimumDiameter22computeMinimumDiameterEv_ZN4geos9algorithm15MinimumDiameter9getLengthEv_ZN4geos9algorithm15MinimumDiameter18getWidthCoordinateEv_ZN4geos9algorithm15MinimumDiameter20getSupportingSegmentEv_ZNK4geos4geom11LineSegment10toGeometryERKNS0_15GeometryFactoryE_ZN4geos9algorithm15MinimumDiameter11getDiameterEv_ZNK4geos4geom11LineSegment7projectERKNS0_10CoordinateERS2__ZNK4geos4geom15GeometryFactory16createLineStringEPNS0_18CoordinateSequenceE_ZN4geos9algorithm15MinimumDiameter18getMinimumDiameterEPNS_4geom8GeometryE_ZN4geos9algorithm15MinimumDiameter19getMinimumRectangleEv_ZNK4geos4geom11LineSegment16lineIntersectionERKS1__ZN4geos9algorithm15MinimumDiameter19getMinimumRectangleEPNS_4geom8GeometryE_ZN4geos9algorithm25NotRepresentableExceptionC2Ev_ZN4geos9algorithm25NotRepresentableExceptionC2ESs_ZN4geos9algorithm25NotRepresentableExceptionC1ESs_ZN4geos9algorithm13PointLocation8isOnLineERKNS_4geom10CoordinateEPKNS2_18CoordinateSequenceE_ZN4geos9algorithm13PointLocation12locateInRingERKNS_4geom10CoordinateERKSt6vectorIPS4_SaIS7_EE_ZN4geos9algorithm18RayCrossingCounter17locatePointInRingERKNS_4geom10CoordinateERKSt6vectorIPS4_SaIS7_EE_ZN4geos9algorithm13PointLocation12locateInRingERKNS_4geom10CoordinateERKNS2_18CoordinateSequenceE_ZN4geos9algorithm18RayCrossingCounter17locatePointInRingERKNS_4geom10CoordinateERKNS2_18CoordinateSequenceE_ZN4geos9algorithm13PointLocation8isInRingERKNS_4geom10CoordinateEPKNS2_18CoordinateSequenceE_ZN4geos9algorithm12PointLocator18updateLocationInfoENS_4geom8LocationE_ZN4geos9algorithm12PointLocator6locateERKNS_4geom10CoordinateEPKNS2_5PointE_ZN4geos9algorithm12PointLocator6locateERKNS_4geom10CoordinateEPKNS2_10LineStringE_ZN4geos9algorithm12PointLocator19locateInPolygonRingERKNS_4geom10CoordinateEPKNS2_10LinearRingE_ZN4geos9algorithm12PointLocator6locateERKNS_4geom10CoordinateEPKNS2_7PolygonE_ZN4geos9algorithm12PointLocator15computeLocationERKNS_4geom10CoordinateEPKNS2_8GeometryE_ZTIN4geos4geom15MultiLineStringE_ZTIN4geos4geom12MultiPolygonE_ZN4geos9algorithm12PointLocator6locateERKNS_4geom10CoordinateEPKNS2_8GeometryE_ZN4geos9geomgraph13GeometryGraph12isInBoundaryEi_ZN4geos9algorithm18RayCrossingCounter12countSegmentERKNS_4geom10CoordinateES5__ZN4geos9algorithm18RayCrossingCounter11getLocationEv_ZN4geos9algorithm18RayCrossingCounter16isPointInPolygonEv_ZN4geos9algorithm20RayCrossingCounterDD16orientationIndexERKNS_4geom10CoordinateES5_S5__ZN4geos9algorithm20RayCrossingCounterDD12countSegmentERKNS_4geom10CoordinateES5__ZN4geos9algorithm20RayCrossingCounterDD11getLocationEv_ZN4geos9algorithm20RayCrossingCounterDD17locatePointInRingERKNS_4geom10CoordinateERKNS2_18CoordinateSequenceE_ZN4geos9algorithm20RayCrossingCounterDD17locatePointInRingERKNS_4geom10CoordinateERKSt6vectorIPS4_SaIS7_EE_ZN4geos9algorithm20RayCrossingCounterDD16isPointInPolygonEv_ZN4geos9algorithm17RobustDeterminant12signOfDet2x2Eddddfloor_ZN4geos9algorithm6locate22PointOnGeometryLocatorD2Ev_ZTVN4geos9algorithm6locate22PointOnGeometryLocatorE_ZN4geos9algorithm6locate22PointOnGeometryLocatorD1Ev_ZN4geos5index11ItemVisitorD2Ev_ZTVN4geos5index11ItemVisitorE_ZN4geos5index11ItemVisitorD1Ev_ZN4geos9algorithm6locate25IndexedPointInAreaLocator14SegmentVisitorD2Ev_ZN4geos9algorithm6locate25IndexedPointInAreaLocator14SegmentVisitorD1Ev_ZN4geos9algorithm6locate22PointOnGeometryLocatorD0Ev_ZN4geos5index11ItemVisitorD0Ev_ZN4geos9algorithm6locate25IndexedPointInAreaLocator14SegmentVisitorD0Ev_ZN4geos9algorithm6locate25IndexedPointInAreaLocator14SegmentVisitor9visitItemEPv_ZN4geos9algorithm6locate25IndexedPointInAreaLocatorD2Ev_ZTVN4geos9algorithm6locate25IndexedPointInAreaLocatorE_ZN4geos9algorithm6locate25IndexedPointInAreaLocatorD1Ev_ZN4geos9algorithm6locate25IndexedPointInAreaLocatorD0Ev_ZN4geos9algorithm6locate25IndexedPointInAreaLocator23IntervalIndexedGeometry5queryEddPNS_5index11ItemVisitorE_ZN4geos5index13intervalrtree25SortedPackedIntervalRTree5queryEddPNS0_11ItemVisitorE_ZN4geos9algorithm6locate25IndexedPointInAreaLocator6locateEPKNS_4geom10CoordinateE_ZTVN4geos9algorithm6locate25IndexedPointInAreaLocator14SegmentVisitorE_ZNSt6vectorIN4geos5index13intervalrtree21IntervalRTreeLeafNodeESaIS3_EED2Ev_ZNSt6vectorIN4geos5index13intervalrtree21IntervalRTreeLeafNodeESaIS3_EED1Ev_ZNSt6vectorIN4geos5index13intervalrtree23IntervalRTreeBranchNodeESaIS3_EED2Ev_ZNSt6vectorIN4geos5index13intervalrtree23IntervalRTreeBranchNodeESaIS3_EED1Ev_ZNSt6vectorIN4geos4geom11LineSegmentESaIS2_EED2Ev_ZNSt6vectorIN4geos4geom11LineSegmentESaIS2_EED1Ev_ZNSt6vectorIN4geos4geom11LineSegmentESaIS2_EE19_M_emplace_back_auxIIRKNS1_10CoordinateES8_EEEvDpOT__ZNSt6vectorIN4geos4geom11LineSegmentESaIS2_EE19_M_emplace_back_auxIJRKNS1_10CoordinateES8_EEEvDpOT__ZN4geos9algorithm6locate25IndexedPointInAreaLocator23IntervalIndexedGeometry7addLineEPKNS_4geom18CoordinateSequenceE_ZN4geos9algorithm6locate25IndexedPointInAreaLocator23IntervalIndexedGeometry4initERKNS_4geom8GeometryE_ZN4geos4geom4util24LinearComponentExtracter8getLinesERKNS0_8GeometryERSt6vectorIPKNS0_10LineStringESaIS9_EE_ZN4geos5index13intervalrtree25SortedPackedIntervalRTree6insertEddPv_ZN4geos9algorithm6locate25IndexedPointInAreaLocator23IntervalIndexedGeometryC2ERKNS_4geom8GeometryE_ZN4geos9algorithm6locate25IndexedPointInAreaLocator23IntervalIndexedGeometryC1ERKNS_4geom8GeometryE_ZN4geos9algorithm6locate25IndexedPointInAreaLocator10buildIndexERKNS_4geom8GeometryE_ZN4geos9algorithm6locate25IndexedPointInAreaLocatorC2ERKNS_4geom8GeometryE_ZTIN4geos4geom10LinearRingE_ZN4geos9algorithm6locate25IndexedPointInAreaLocatorC1ERKNS_4geom8GeometryE_ZTIN4geos9algorithm6locate22PointOnGeometryLocatorE_ZTSN4geos9algorithm6locate22PointOnGeometryLocatorE_ZTIN4geos5index11ItemVisitorE_ZTSN4geos5index11ItemVisitorE_ZTSN4geos9algorithm6locate25IndexedPointInAreaLocator14SegmentVisitorE_ZTIN4geos9algorithm6locate25IndexedPointInAreaLocator14SegmentVisitorE_ZTSN4geos9algorithm6locate25IndexedPointInAreaLocatorE_ZTIN4geos9algorithm6locate25IndexedPointInAreaLocatorE_ZN4geos9algorithm6locate24SimplePointInAreaLocator20locatePointInPolygonERKNS_4geom10CoordinateEPKNS3_7PolygonE_ZN4geos9algorithm6locate24SimplePointInAreaLocator16locateInGeometryERKNS_4geom10CoordinateEPKNS3_8GeometryE_ZN4geos9algorithm6locate24SimplePointInAreaLocator6locateERKNS_4geom10CoordinateEPKNS3_8GeometryE_ZN4geos9algorithm6locate24SimplePointInAreaLocator11isContainedERKNS_4geom10CoordinateEPKNS3_8GeometryE_ZN4geos9algorithm8distance23DiscreteFrechetDistance13getSegementAtERKNS_4geom18CoordinateSequenceEm_ZN4geos9algorithm8distance23DiscreteFrechetDistance17getFrecheDistanceERSt6vectorIS3_INS1_17PointPairDistanceESaIS4_EESaIS6_EEmmRKNS_4geom18CoordinateSequenceESD__ZN4geos9algorithm8distance23DiscreteFrechetDistance7computeERKNS_4geom8GeometryES6___cxa_begin_catch__cxa_rethrow__cxa_end_catch_ZN4geos9algorithm8distance23DiscreteFrechetDistance8distanceERKNS_4geom8GeometryES6_d_ZN4geos9algorithm8distance23DiscreteFrechetDistance8distanceERKNS_4geom8GeometryES6__ZN4geos4geom24CoordinateSequenceFilterD2Ev_ZTVN4geos4geom24CoordinateSequenceFilterE_ZN4geos4geom24CoordinateSequenceFilterD1Ev_ZNK4geos9algorithm8distance25DiscreteHausdorffDistance36MaxDensifiedByFractionDistanceFilter17isGeometryChangedEv_ZNK4geos9algorithm8distance25DiscreteHausdorffDistance36MaxDensifiedByFractionDistanceFilter6isDoneEv_ZN4geos9algorithm8distance25DiscreteHausdorffDistance36MaxDensifiedByFractionDistanceFilterD2Ev_ZN4geos9algorithm8distance25DiscreteHausdorffDistance36MaxDensifiedByFractionDistanceFilterD1Ev_ZN4geos9algorithm8distance25DiscreteHausdorffDistance22MaxPointDistanceFilterD2Ev_ZN4geos9algorithm8distance25DiscreteHausdorffDistance22MaxPointDistanceFilterD1Ev_ZN4geos4geom24CoordinateSequenceFilterD0Ev_ZN4geos9algorithm8distance25DiscreteHausdorffDistance36MaxDensifiedByFractionDistanceFilterD0Ev_ZN4geos9algorithm8distance25DiscreteHausdorffDistance22MaxPointDistanceFilterD0Ev_ZN4geos4geom24CoordinateSequenceFilter9filter_rwERNS0_18CoordinateSequenceEm_ZN4geos4geom24CoordinateSequenceFilter9filter_roERKNS0_18CoordinateSequenceEm_ZN4geos9algorithm8distance25DiscreteHausdorffDistance22MaxPointDistanceFilter9filter_roEPKNS_4geom10CoordinateE_ZN4geos9algorithm8distance15DistanceToPoint15computeDistanceERKNS_4geom8GeometryERKNS3_10CoordinateERNS1_17PointPairDistanceE_ZN4geos9algorithm8distance25DiscreteHausdorffDistance36MaxDensifiedByFractionDistanceFilter9filter_roERKNS_4geom18CoordinateSequenceEm_ZN4geos9algorithm8distance25DiscreteHausdorffDistance23computeOrientedDistanceERKNS_4geom8GeometryES6_RNS1_17PointPairDistanceE_ZTVN4geos9algorithm8distance25DiscreteHausdorffDistance22MaxPointDistanceFilterE_ZTVN4geos9algorithm8distance25DiscreteHausdorffDistance36MaxDensifiedByFractionDistanceFilterE_ZN4geos9algorithm8distance25DiscreteHausdorffDistance8distanceERKNS_4geom8GeometryES6_d_ZN4geos9algorithm8distance25DiscreteHausdorffDistance8distanceERKNS_4geom8GeometryES6__ZTIN4geos4geom24CoordinateSequenceFilterE_ZTSN4geos4geom24CoordinateSequenceFilterE_ZTIN4geos9algorithm8distance25DiscreteHausdorffDistance22MaxPointDistanceFilterE_ZTSN4geos9algorithm8distance25DiscreteHausdorffDistance22MaxPointDistanceFilterE_ZTSN4geos9algorithm8distance25DiscreteHausdorffDistance36MaxDensifiedByFractionDistanceFilterE_ZTIN4geos9algorithm8distance25DiscreteHausdorffDistance36MaxDensifiedByFractionDistanceFilterE_ZN4geos9algorithm8distance15DistanceToPoint15computeDistanceERKNS_4geom10LineStringERKNS3_10CoordinateERNS1_17PointPairDistanceE_ZNK4geos4geom11LineSegment12closestPointERKNS0_10CoordinateERS2__ZN4geos9algorithm8distance15DistanceToPoint15computeDistanceERKNS_4geom11LineSegmentERKNS3_10CoordinateERNS1_17PointPairDistanceE_ZN4geos9algorithm8distance15DistanceToPoint15computeDistanceERKNS_4geom7PolygonERKNS3_10CoordinateERNS1_17PointPairDistanceE_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED2Ev_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE_ZTVSt15basic_streambufIcSt11char_traitsIcEE_ZNSt6localeD1Ev_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev_ZN4geos4geom10Coordinate10_nullCoordE_ZN4geos4geomlsERSoRKNS0_10CoordinateE_ZNSs12_S_constructIPcEES0_T_S1_RKSaIcESt20forward_iterator_tag_ZNSs4_Rep9_S_createEmmRKSaIcEmemcpy_ZSt19__throw_logic_errorPKc_ZNSt8ios_baseC2Ev_ZTVSt9basic_iosIcSt11char_traitsIcEE_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE_ZNSt6localeC1Ev_ZNSs4swapERSs_ZNSt8ios_baseD2Ev_ZNSs6assignERKSs_ZN4geos4geom18CoordinateSequenceD2Ev_ZTVN4geos4geom18CoordinateSequenceE_ZN4geos4geom18CoordinateSequenceD1Ev_ZNK4geos4geom18CoordinateSequence4getXEm_ZNK4geos4geom18CoordinateSequence4getYEm_ZNK4geos4geom18CoordinateSequence14expandEnvelopeERNS0_8EnvelopeE_ZNK4geos4geom18CoordinateSequence11getEnvelopeEv_ZN4geos4geom18CoordinateSequenceD0Ev_ZNK4geos4geom18CoordinateSequence11getOrdinateEmm_ZNK4geos4geom18CoordinateSequence17hasRepeatedPointsEv_ZN4geos4geom18CoordinateSequence28atLeastNCoordinatesOrNothingEmPS1__ZN4geos4geom30CoordinateArraySequenceFactory8instanceEv_ZN4geos4geom18CoordinateSequence17hasRepeatedPointsEPKS1__ZNK4geos4geom18CoordinateSequence13minCoordinateEv_ZN4geos4geom18CoordinateSequence7indexOfEPKNS0_10CoordinateEPKS1__ZN4geos4geom18CoordinateSequence6scrollEPS1_PKNS0_10CoordinateE_ZN4geos4geom18CoordinateSequence19increasingDirectionERKS1__ZN4geos4geom18CoordinateSequence7reverseEPS1__ZN4geos4geom18CoordinateSequence6equalsEPKS1_S3__ZN4geos4geomlsERSoRKNS0_18CoordinateSequenceE_ZN4geos4geomeqERKNS0_18CoordinateSequenceES3__ZN4geos4geomneERKNS0_18CoordinateSequenceES3__ZNK4geos4geom18CoordinateSequence8toStringEv_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev_ZNSdD2Ev_ZTSN4geos4geom18CoordinateSequenceE_ZTIN4geos4geom18CoordinateSequenceE_ZNK4geos4geom23CoordinateArraySequence7isEmptyEv_ZNK4geos4geom23CoordinateArraySequence7getSizeEv_ZNK4geos4geom23CoordinateArraySequence5getAtEm_ZNK4geos4geom23CoordinateArraySequence5getAtEmRNS0_10CoordinateE_ZN4geos4geom23CoordinateArraySequence5setAtERKNS0_10CoordinateEm_ZNK4geos4geom23CoordinateArraySequence14expandEnvelopeERNS0_8EnvelopeE_ZN4geos4geom23CoordinateArraySequence8apply_rwEPKNS0_16CoordinateFilterE_ZNK4geos4geom23CoordinateArraySequence8apply_roEPNS0_16CoordinateFilterE_ZN4geos4geom23CoordinateArraySequenceD2Ev_ZTVN4geos4geom23CoordinateArraySequenceE_ZN4geos4geom23CoordinateArraySequenceD1Ev_ZN4geos4geom23CoordinateArraySequenceD0Ev_ZNK4geos4geom23CoordinateArraySequence12getDimensionEv_ZN4geos4geom23CoordinateArraySequenceC2Ev_ZN4geos4geom23CoordinateArraySequenceC1Ev_ZN4geos4geom23CoordinateArraySequenceC2Emm_ZN4geos4geom23CoordinateArraySequenceC2EOSt6vectorINS0_10CoordinateESaIS3_EEm_ZN4geos4geom23CoordinateArraySequenceC2EPSt6vectorINS0_10CoordinateESaIS3_EEm_ZN4geos4geom23CoordinateArraySequenceC2ERKS1__ZN4geos4geom23CoordinateArraySequenceC1ERKS1__ZNK4geos4geom23CoordinateArraySequence5cloneEv_ZN4geos4geom23CoordinateArraySequenceC2ERKNS0_18CoordinateSequenceE_ZN4geos4geom23CoordinateArraySequence3addERKNS0_10CoordinateEb_ZN4geos4geom23CoordinateArraySequence3addEPKNS0_18CoordinateSequenceEbb_ZN4geos4geom23CoordinateArraySequence3addERKNS0_10CoordinateE_ZNSt6vectorIN4geos4geom10CoordinateESaIS2_EE13_M_insert_auxIIS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT__ZNSt6vectorIN4geos4geom10CoordinateESaIS2_EE13_M_insert_auxIJS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT__ZNSt6vectorIN4geos4geom10CoordinateESaIS2_EE13_M_insert_auxIIRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT__ZNSt6vectorIN4geos4geom10CoordinateESaIS2_EE13_M_insert_auxIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT__ZN4geos4geom23CoordinateArraySequence3addEmRKNS0_10CoordinateEb_ZNSt6vectorIN4geos4geom10CoordinateESaIS2_EE13_M_assign_auxIN9__gnu_cxx17__normal_iteratorIPKS2_S4_EEEEvT_SB_St20forward_iterator_tag_ZN4geos4geom23CoordinateArraySequence9setPointsERKSt6vectorINS0_10CoordinateESaIS3_EE_ZNSt6vectorIN4geos4geom10CoordinateESaIS2_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPKS2_S4_EEEEvNS7_IPS2_S4_EET_SD_St20forward_iterator_tag_ZNK4geos4geom23CoordinateArraySequence8toVectorERSt6vectorINS0_10CoordinateESaIS3_EE_ZN4geos4geom23CoordinateArraySequence11setOrdinateEmmd_ZNSo9_M_insertImEERSoT__ZTSN4geos4geom23CoordinateArraySequenceE_ZTIN4geos4geom23CoordinateArraySequenceE_ZN4geos4geom27FixedSizeCoordinateSequenceILm5EED2Ev_ZN4geos4geom27FixedSizeCoordinateSequenceILm5EED1Ev_ZN4geos4geom27FixedSizeCoordinateSequenceILm4EED2Ev_ZN4geos4geom27FixedSizeCoordinateSequenceILm4EED1Ev_ZN4geos4geom27FixedSizeCoordinateSequenceILm3EED2Ev_ZN4geos4geom27FixedSizeCoordinateSequenceILm3EED1Ev_ZN4geos4geom27FixedSizeCoordinateSequenceILm2EED2Ev_ZN4geos4geom27FixedSizeCoordinateSequenceILm2EED1Ev_ZN4geos4geom27FixedSizeCoordinateSequenceILm1EED2Ev_ZN4geos4geom27FixedSizeCoordinateSequenceILm1EED1Ev_ZN4geos4geom32DefaultCoordinateSequenceFactoryD2Ev_ZN4geos4geom32DefaultCoordinateSequenceFactoryD1Ev_ZNK4geos4geom27FixedSizeCoordinateSequenceILm1EE5getAtEm_ZNK4geos4geom27FixedSizeCoordinateSequenceILm1EE5getAtEmRNS0_10CoordinateE_ZNK4geos4geom27FixedSizeCoordinateSequenceILm1EE7getSizeEv_ZNK4geos4geom27FixedSizeCoordinateSequenceILm1EE7isEmptyEv_ZN4geos4geom27FixedSizeCoordinateSequenceILm1EE5setAtERKNS0_10CoordinateEm_ZN4geos4geom27FixedSizeCoordinateSequenceILm1EE9setPointsERKSt6vectorINS0_10CoordinateESaIS4_EE_ZN4geos4geom27FixedSizeCoordinateSequenceILm1EE8apply_rwEPKNS0_16CoordinateFilterE_ZNK4geos4geom27FixedSizeCoordinateSequenceILm1EE8apply_roEPNS0_16CoordinateFilterE_ZNK4geos4geom27FixedSizeCoordinateSequenceILm2EE5getAtEm_ZNK4geos4geom27FixedSizeCoordinateSequenceILm2EE5getAtEmRNS0_10CoordinateE_ZNK4geos4geom27FixedSizeCoordinateSequenceILm2EE7getSizeEv_ZNK4geos4geom27FixedSizeCoordinateSequenceILm2EE7isEmptyEv_ZN4geos4geom27FixedSizeCoordinateSequenceILm2EE5setAtERKNS0_10CoordinateEm_ZN4geos4geom27FixedSizeCoordinateSequenceILm2EE9setPointsERKSt6vectorINS0_10CoordinateESaIS4_EE_ZN4geos4geom27FixedSizeCoordinateSequenceILm2EE8apply_rwEPKNS0_16CoordinateFilterE_ZNK4geos4geom27FixedSizeCoordinateSequenceILm2EE8apply_roEPNS0_16CoordinateFilterE_ZNK4geos4geom27FixedSizeCoordinateSequenceILm3EE5getAtEm_ZNK4geos4geom27FixedSizeCoordinateSequenceILm3EE5getAtEmRNS0_10CoordinateE_ZNK4geos4geom27FixedSizeCoordinateSequenceILm3EE7getSizeEv_ZNK4geos4geom27FixedSizeCoordinateSequenceILm3EE7isEmptyEv_ZN4geos4geom27FixedSizeCoordinateSequenceILm3EE5setAtERKNS0_10CoordinateEm_ZN4geos4geom27FixedSizeCoordinateSequenceILm3EE9setPointsERKSt6vectorINS0_10CoordinateESaIS4_EE_ZN4geos4geom27FixedSizeCoordinateSequenceILm3EE8apply_rwEPKNS0_16CoordinateFilterE_ZNK4geos4geom27FixedSizeCoordinateSequenceILm3EE8apply_roEPNS0_16CoordinateFilterE_ZNK4geos4geom27FixedSizeCoordinateSequenceILm4EE5getAtEm_ZNK4geos4geom27FixedSizeCoordinateSequenceILm4EE5getAtEmRNS0_10CoordinateE_ZNK4geos4geom27FixedSizeCoordinateSequenceILm4EE7getSizeEv_ZNK4geos4geom27FixedSizeCoordinateSequenceILm4EE7isEmptyEv_ZN4geos4geom27FixedSizeCoordinateSequenceILm4EE5setAtERKNS0_10CoordinateEm_ZN4geos4geom27FixedSizeCoordinateSequenceILm4EE9setPointsERKSt6vectorINS0_10CoordinateESaIS4_EE_ZN4geos4geom27FixedSizeCoordinateSequenceILm4EE8apply_rwEPKNS0_16CoordinateFilterE_ZNK4geos4geom27FixedSizeCoordinateSequenceILm4EE8apply_roEPNS0_16CoordinateFilterE_ZNK4geos4geom27FixedSizeCoordinateSequenceILm5EE5getAtEm_ZNK4geos4geom27FixedSizeCoordinateSequenceILm5EE5getAtEmRNS0_10CoordinateE_ZNK4geos4geom27FixedSizeCoordinateSequenceILm5EE7getSizeEv_ZNK4geos4geom27FixedSizeCoordinateSequenceILm5EE7isEmptyEv_ZN4geos4geom27FixedSizeCoordinateSequenceILm5EE5setAtERKNS0_10CoordinateEm_ZN4geos4geom27FixedSizeCoordinateSequenceILm5EE9setPointsERKSt6vectorINS0_10CoordinateESaIS4_EE_ZN4geos4geom27FixedSizeCoordinateSequenceILm5EE8apply_rwEPKNS0_16CoordinateFilterE_ZNK4geos4geom27FixedSizeCoordinateSequenceILm5EE8apply_roEPNS0_16CoordinateFilterE_ZN4geos4geom27FixedSizeCoordinateSequenceILm5EED0Ev_ZN4geos4geom27FixedSizeCoordinateSequenceILm4EED0Ev_ZN4geos4geom27FixedSizeCoordinateSequenceILm3EED0Ev_ZN4geos4geom27FixedSizeCoordinateSequenceILm2EED0Ev_ZN4geos4geom27FixedSizeCoordinateSequenceILm1EED0Ev_ZN4geos4geom32DefaultCoordinateSequenceFactoryD0Ev_ZNK4geos4geom27FixedSizeCoordinateSequenceILm1EE12getDimensionEv_ZNK4geos4geom27FixedSizeCoordinateSequenceILm2EE12getDimensionEv_ZNK4geos4geom27FixedSizeCoordinateSequenceILm3EE12getDimensionEv_ZNK4geos4geom27FixedSizeCoordinateSequenceILm4EE12getDimensionEv_ZNK4geos4geom27FixedSizeCoordinateSequenceILm5EE12getDimensionEv_ZNK4geos4geom32DefaultCoordinateSequenceFactory6createEOSt6vectorINS0_10CoordinateESaIS3_EEm_ZNK4geos4geom32DefaultCoordinateSequenceFactory6createEPSt6vectorINS0_10CoordinateESaIS3_EEm_ZNK4geos4geom32DefaultCoordinateSequenceFactory6createEv_ZNK4geos4geom27FixedSizeCoordinateSequenceILm1EE5cloneEv_ZTVN4geos4geom27FixedSizeCoordinateSequenceILm1EEE_ZNK4geos4geom27FixedSizeCoordinateSequenceILm2EE5cloneEv_ZTVN4geos4geom27FixedSizeCoordinateSequenceILm2EEE_ZNK4geos4geom27FixedSizeCoordinateSequenceILm3EE5cloneEv_ZTVN4geos4geom27FixedSizeCoordinateSequenceILm3EEE_ZNK4geos4geom27FixedSizeCoordinateSequenceILm4EE5cloneEv_ZTVN4geos4geom27FixedSizeCoordinateSequenceILm4EEE_ZNK4geos4geom27FixedSizeCoordinateSequenceILm5EE5cloneEv_ZTVN4geos4geom27FixedSizeCoordinateSequenceILm5EEE_ZNK4geos4geom32DefaultCoordinateSequenceFactory6createEmm_ZNK4geos4geom32DefaultCoordinateSequenceFactory6createERKNS0_18CoordinateSequenceE_ZN4geos4geom32DefaultCoordinateSequenceFactory8instanceEv_ZN4geos4geom27FixedSizeCoordinateSequenceILm4EE11setOrdinateEmmd_ZN4geos4geom27FixedSizeCoordinateSequenceILm5EE11setOrdinateEmmd_ZN4geos4geom27FixedSizeCoordinateSequenceILm1EE11setOrdinateEmmd_ZN4geos4geom27FixedSizeCoordinateSequenceILm2EE11setOrdinateEmmd_ZN4geos4geom27FixedSizeCoordinateSequenceILm3EE11setOrdinateEmmd_ZNSt6vectorIN4geos4geom10CoordinateESaIS2_EE15_M_range_insertIPKS2_EEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EET_SC_St20forward_iterator_tag_ZNK4geos4geom27FixedSizeCoordinateSequenceILm1EE8toVectorERSt6vectorINS0_10CoordinateESaIS4_EE_ZNK4geos4geom27FixedSizeCoordinateSequenceILm2EE8toVectorERSt6vectorINS0_10CoordinateESaIS4_EE_ZNK4geos4geom27FixedSizeCoordinateSequenceILm3EE8toVectorERSt6vectorINS0_10CoordinateESaIS4_EE_ZNK4geos4geom27FixedSizeCoordinateSequenceILm4EE8toVectorERSt6vectorINS0_10CoordinateESaIS4_EE_ZNK4geos4geom27FixedSizeCoordinateSequenceILm5EE8toVectorERSt6vectorINS0_10CoordinateESaIS4_EE_ZTIN4geos4geom32DefaultCoordinateSequenceFactoryE_ZTSN4geos4geom32DefaultCoordinateSequenceFactoryE_ZTIN4geos4geom27FixedSizeCoordinateSequenceILm5EEE_ZTSN4geos4geom27FixedSizeCoordinateSequenceILm5EEE_ZTIN4geos4geom27FixedSizeCoordinateSequenceILm4EEE_ZTSN4geos4geom27FixedSizeCoordinateSequenceILm4EEE_ZTIN4geos4geom27FixedSizeCoordinateSequenceILm3EEE_ZTSN4geos4geom27FixedSizeCoordinateSequenceILm3EEE_ZTIN4geos4geom27FixedSizeCoordinateSequenceILm2EEE_ZTSN4geos4geom27FixedSizeCoordinateSequenceILm2EEE_ZTIN4geos4geom27FixedSizeCoordinateSequenceILm1EEE_ZTSN4geos4geom27FixedSizeCoordinateSequenceILm1EEE_ZTVN4geos4geom32DefaultCoordinateSequenceFactoryE_ZN4geos4geom9Dimension16toDimensionValueEc_ZNSo3putEc_ZNSo5flushEv_ZNKSt5ctypeIcE13_M_widen_initEv_ZSt16__throw_bad_castv_ZN4geos4geom9Dimension17toDimensionSymbolEi_ZNSolsEi_ZNK4geos4geom8Envelope10intersectsERKNS0_10CoordinateES4__ZN4geos4geom8Envelope15expandToIncludeEPKS1__ZNK4geos4geom8Envelope6coversERKS1__ZNK4geos4geom8Envelope6equalsEPKS1__ZN4geos4geomlsERSoRKNS0_8EnvelopeE_ZNK4geos4geom8Envelope8distanceEPKS1__ZN4geos4geomeqERKNS0_8EnvelopeES3__ZNK4geos4geom8Envelope8hashCodeEv_ZNK4geos4geom8Envelope6centreERNS0_10CoordinateE_ZNK4geos4geom8Envelope12intersectionERKS1_RS1__ZN4geos4geom8Envelope9translateEdd_ZN4geos4geom8Envelope8expandByEdd_ZN4geos4geom8EnvelopeaSERKS1__ZNSt6vectorISsSaISsEE19_M_emplace_back_auxIISsEEEvDpOT__ZNSt6vectorISsSaISsEE19_M_emplace_back_auxIJSsEEEvDpOT__ZN4geos4geom8Envelope5splitERKSsS3__ZNKSs13find_first_ofEPKcmm_ZNKSs17find_first_not_ofEPKcmm_ZNSsC1ERKSsmm_ZSt20__throw_out_of_rangePKc_ZN4geos4geom8EnvelopeC2ERKSs_ZNKSs4findEPKcmm__strtod_internal_ZN4geos4geom8EnvelopeC1ERKSs_ZNK4geos4geom8Envelope8toStringEv_ZN4geos4geom23GeometryComponentFilter6isDoneEv_ZN4geos4geom14GeometryFilterD2Ev_ZTVN4geos4geom14GeometryFilterE_ZN4geos4geom14GeometryFilterD1Ev_ZN4geos4geom8Geometry21geometryChangedFilterE_ZNK4geos4geom8Geometry9getLengthEv_ZNK4geos4geom8Geometry8apply_roEPNS0_14GeometryFilterE_ZN4geos4geom8Geometry8apply_rwEPNS0_14GeometryFilterE_ZNK4geos4geom8Geometry8apply_roEPNS0_23GeometryComponentFilterE_ZN4geos4geom8Geometry8apply_rwEPNS0_23GeometryComponentFilterE_ZN4geos4geom4util17GeometryExtracter9ExtracterINS0_7PolygonESt6vectorIPKS4_SaIS7_EEED2Ev_ZN4geos4geom4util17GeometryExtracter9ExtracterINS0_7PolygonESt6vectorIPKS4_SaIS7_EEED1Ev_ZN4geos4geom4util17GeometryExtracter9ExtracterINS0_10LineStringESt6vectorIPKS4_SaIS7_EEED2Ev_ZN4geos4geom4util17GeometryExtracter9ExtracterINS0_10LineStringESt6vectorIPKS4_SaIS7_EEED1Ev_ZN4geos4geom4util17GeometryExtracter9ExtracterINS0_5PointESt6vectorIPKS4_SaIS7_EEED2Ev_ZN4geos4geom4util17GeometryExtracter9ExtracterINS0_5PointESt6vectorIPKS4_SaIS7_EEED1Ev_ZN4geos4geom8Geometry21GeometryChangedFilterD2Ev_ZTVN4geos4geom23GeometryComponentFilterE_ZN4geos4geom8Geometry21GeometryChangedFilterD1Ev_ZN4geos9operation5valid9IsValidOpD2Ev_ZTVN4geos9operation5valid9IsValidOpE_ZN4geos9operation5valid9IsValidOpD1Ev_ZN4geos9operation5valid9IsValidOpD0Ev_ZN4geos4geom14GeometryFilterD0Ev_ZN4geos4geom4util17GeometryExtracter9ExtracterINS0_7PolygonESt6vectorIPKS4_SaIS7_EEED0Ev_ZN4geos4geom4util17GeometryExtracter9ExtracterINS0_10LineStringESt6vectorIPKS4_SaIS7_EEED0Ev_ZN4geos4geom4util17GeometryExtracter9ExtracterINS0_5PointESt6vectorIPKS4_SaIS7_EEED0Ev_ZN4geos4geom8Geometry21GeometryChangedFilterD0Ev_ZN4geos4util17TopologyExceptionD2Ev_ZN4geos4util17TopologyExceptionD1Ev_ZN4geos4util17TopologyExceptionD0Ev_ZN4geos4geom14GeometryFilter9filter_roEPKNS0_8GeometryE_ZN4geos4geom14GeometryFilter9filter_rwEPNS0_8GeometryE_ZN4geos9operation5valid9IsValidOp7isValidEv_ZNK4geos4geom15GeometryFactory10toGeometryEPKNS0_8EnvelopeE_ZN4geos2io9WKTWriterC1Ev_ZN4geos2io9WKTWriter5writeEPKNS_4geom8GeometryE_ZN4geos9operation8distance10DistanceOp8distanceEPKNS_4geom8GeometryES6__ZTVN4geos4geom8GeometryE_ZNK4geos4geom15GeometryFactory7dropRefEv_ZN4geos4geom8GeometryD1Ev_ZN4geos4geom8GeometryD0Ev_ZN4geos9operation10IsSimpleOpC1ERKNS_4geom8GeometryE_ZN4geos9operation10IsSimpleOp8isSimpleEv_ZN4geos4util17TopologyExceptionC2ERKSs_ZTVN4geos4util17TopologyExceptionE_ZN4geos4util17TopologyExceptionC1ERKSs_ZN4geos4util17TopologyExceptionC2ERKSsRKNS_4geom10CoordinateE_ZN4geos4util17TopologyExceptionC1ERKSsRKNS_4geom10CoordinateE_ZN4geos4geom11geosversionEv_ZN4geos4geom7jtsportEv_ZN4geos4geom8GeometryC2EPKNS0_15GeometryFactoryE_ZNK4geos4geom15GeometryFactory6addRefEv_ZN4geos4geom8GeometryC1EPKNS0_15GeometryFactoryE_ZN4geos4geom8GeometryC2ERKS1__ZN4geos4geom8GeometryC1ERKS1__ZN4geos4geom8Geometry15hasNullElementsEPKNS0_18CoordinateSequenceE_ZNK4geos4geom8Geometry16getInteriorPointEv_ZNK4geos4geom15GeometryFactory28createPointFromInternalCoordEPKNS0_10CoordinateEPKNS0_8GeometryE_ZN4geos4geom8Geometry21geometryChangedActionEv_ZN4geos4geom8Geometry21GeometryChangedFilter9filter_rwEPS1__ZNK4geos4geom8Geometry6relateEPKS1__ZN4geos9operation6relate8RelateOp6relateEPKNS_4geom8GeometryES6__ZNK4geos4geom18IntersectionMatrix10isDisjointEv_ZNK4geos4geom18IntersectionMatrix9isTouchesEii_ZN4geos9operation9predicate19RectangleIntersects10intersectsERKNS_4geom8GeometryE_ZNK4geos4geom18IntersectionMatrix12isIntersectsEv_ZNK4geos4geom8Geometry6coversEPKS1__ZNK4geos4geom18IntersectionMatrix8isCoversEv_ZNK4geos4geom18IntersectionMatrix9isCrossesEii_ZN4geos9operation9predicate17RectangleContains8containsERKNS_4geom8GeometryE_ZNK4geos4geom18IntersectionMatrix10isContainsEv_ZNK4geos4geom18IntersectionMatrix10isOverlapsEii_ZNK4geos4geom8Geometry6relateEPKS1_RKSs_ZNK4geos4geom18IntersectionMatrix7matchesERKSs_ZNK4geos4geom18IntersectionMatrix8isEqualsEii_ZN4geos4geomlsERSoRKNS0_8GeometryE_ZN4geos2io9WKBWriterC1Eiib_ZN4geos2io9WKBWriter8writeHEXERKNS_4geom8GeometryERSo_ZN4geos9operation6buffer8BufferOp8bufferOpEPKNS_4geom8GeometryEdii_ZNK4geos4geom8Geometry6bufferEdi_ZNK4geos4geom8Geometry6bufferEdii_ZN4geos4geom8Geometry26checkNotGeometryCollectionEPKS1__ZNK4geos4geom8Geometry7compareESt6vectorINS0_10CoordinateESaIS3_EES5__ZNK4geos4geom8Geometry7compareESt6vectorIPS1_SaIS3_EES5__ZNK4geos4geom8Geometry7compareERKSt6vectorISt10unique_ptrIS1_St14default_deleteIS1_EESaIS6_EESA__ZN4geos4geom19GeometryGreaterThenclEPKNS0_8GeometryES4__ZNK4geos4geom8Geometry5equalERKNS0_10CoordinateES4_d_ZNK4geos4geom8Geometry17getPrecisionModelEv_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_PKS3_strlen_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EOS6_S7__ZN4geos4geom11check_validERKNS0_8GeometryERKSsbb_ZN4geos9operation10IsSimpleOpC1ERKNS_4geom8GeometryERKNS_9algorithm16BoundaryNodeRuleE_ZN4geos9operation5valid9IsValidOp18getValidationErrorEv_ZTIN4geos4util17TopologyExceptionE_ZN4geos9operation5valid23TopologyValidationError13getCoordinateEv_ZN4geos9operation5valid23TopologyValidationError8toStringEv_ZNSt6vectorIPN4geos4geom8GeometryESaIS3_EE7reserveEm_ZN4geos4geom6SnapOpINS_9operation7overlay9overlayOpEEESt10unique_ptrINS0_8GeometryESt14default_deleteIS6_EEPKS6_SB_T__ZN4geos9operation7overlay4snap15GeometrySnapper27computeOverlaySnapToleranceERKNS_4geom8GeometryES7__ZN4geos9precision17CommonBitsRemoverC1Ev_ZN4geos9precision17CommonBitsRemover3addEPKNS_4geom8GeometryE_ZN4geos9precision17CommonBitsRemover16removeCommonBitsEPNS_4geom8GeometryE_ZN4geos9operation7overlay4snap15GeometrySnapper6snapToERKNS_4geom8GeometryEd_ZN4geos9operation7overlay9OverlayOp9overlayOpEPKNS_4geom8GeometryES6_NS2_6OpCodeE_ZN4geos9precision17CommonBitsRemover13addCommonBitsEPNS_4geom8GeometryE_ZN4geos9precision17CommonBitsRemoverD1Ev_ZN4geos4geom8BinaryOpINS_9operation7overlay9overlayOpEEESt10unique_ptrINS0_8GeometryESt14default_deleteIS6_EEPKS6_SB_T__ZN4geos4geom14PrecisionModelC1Ed_ZN4geos4geom15GeometryFactory6createEPKNS0_14PrecisionModelE_ZN4geos9precision24GeometryPrecisionReducerC1ERKNS_4geom15GeometryFactoryE_ZN4geos9precision24GeometryPrecisionReducer6reduceERKNS_4geom8GeometryE_ZNK4geos4geom14PrecisionModel9compareToEPKS1__ZNK4geos4geom15GeometryFactory14createGeometryEPKNS0_8GeometryE_ZN4geos4geom15GeometryFactory7destroyEv_ZTVSt13runtime_error_ZNSt9exceptionD2Ev_ZNK4geos4geom8Geometry12intersectionEPKS1__ZNK4geos4geom15GeometryFactory24createGeometryCollectionEv_ZNK4geos4geom8Geometry10differenceEPKS1__ZNSt6vectorIPKN4geos4geom7PolygonESaIS4_EE19_M_emplace_back_auxIIRKS4_EEEvDpOT__ZNSt6vectorIPKN4geos4geom7PolygonESaIS4_EE19_M_emplace_back_auxIJRKS4_EEEvDpOT__ZN4geos4geom4util17GeometryExtracter9ExtracterINS0_7PolygonESt6vectorIPKS4_SaIS7_EEE9filter_roEPKNS0_8GeometryE_ZNSt6vectorIPKN4geos4geom10LineStringESaIS4_EE19_M_emplace_back_auxIIRKS4_EEEvDpOT__ZNSt6vectorIPKN4geos4geom10LineStringESaIS4_EE19_M_emplace_back_auxIJRKS4_EEEvDpOT__ZN4geos4geom4util17GeometryExtracter9ExtracterINS0_10LineStringESt6vectorIPKS4_SaIS7_EEE9filter_roEPKNS0_8GeometryE_ZNSt6vectorIPKN4geos4geom5PointESaIS4_EE19_M_emplace_back_auxIIRKS4_EEEvDpOT__ZNSt6vectorIPKN4geos4geom5PointESaIS4_EE19_M_emplace_back_auxIJRKS4_EEEvDpOT__ZNK4geos4geom8Geometry5UnionEv_ZN4geos9operation8geounion12UnaryUnionOp5UnionEv_ZTVN4geos4geom4util17GeometryExtracter9ExtracterINS0_7PolygonESt6vectorIPKS4_SaIS7_EEEE_ZTVN4geos4geom4util17GeometryExtracter9ExtracterINS0_5PointESt6vectorIPKS4_SaIS7_EEEE_ZTVN4geos4geom4util17GeometryExtracter9ExtracterINS0_10LineStringESt6vectorIPKS4_SaIS7_EEEE_ZN4geos4geom4util17GeometryExtracter9ExtracterINS0_5PointESt6vectorIPKS4_SaIS7_EEE9filter_roEPKNS0_8GeometryE_ZNSt6vectorIPN4geos4geom8GeometryESaIS3_EE19_M_emplace_back_auxIIS3_EEEvDpOT__ZNSt6vectorIPN4geos4geom8GeometryESaIS3_EE19_M_emplace_back_auxIJS3_EEEvDpOT__ZNSt6vectorIPN4geos4geom8GeometryESaIS3_EE12emplace_backIIS3_EEEvDpOT__ZNSt6vectorIPN4geos4geom8GeometryESaIS3_EE12emplace_backIJS3_EEEvDpOT__ZNK4geos4geom8Geometry5UnionEPKS1__ZNK4geos4geom15GeometryFactory13buildGeometryEPSt6vectorIPNS0_8GeometryESaIS4_EE_ZNK4geos4geom8Geometry13symDifferenceEPKS1__ZTSN4geos4geom8Geometry21GeometryChangedFilterE_ZTIN4geos4geom8Geometry21GeometryChangedFilterE_ZTIN4geos4geom23GeometryComponentFilterE_ZTSN4geos4geom8GeometryE_ZTSN4geos4util17TopologyExceptionE_ZTIN4geos9operation5valid9IsValidOpE_ZTSN4geos9operation5valid9IsValidOpE_ZTIN4geos4geom14GeometryFilterE_ZTSN4geos4geom14GeometryFilterE_ZTIN4geos4geom4util17GeometryExtracter9ExtracterINS0_7PolygonESt6vectorIPKS4_SaIS7_EEEE_ZTSN4geos4geom4util17GeometryExtracter9ExtracterINS0_7PolygonESt6vectorIPKS4_SaIS7_EEEE_ZTIN4geos4geom4util17GeometryExtracter9ExtracterINS0_10LineStringESt6vectorIPKS4_SaIS7_EEEE_ZTSN4geos4geom4util17GeometryExtracter9ExtracterINS0_10LineStringESt6vectorIPKS4_SaIS7_EEEE_ZTIN4geos4geom4util17GeometryExtracter9ExtracterINS0_5PointESt6vectorIPKS4_SaIS7_EEEE_ZTSN4geos4geom4util17GeometryExtracter9ExtracterINS0_5PointESt6vectorIPKS4_SaIS7_EEEE_ZTVN4geos4geom8Geometry21GeometryChangedFilterE_ZN4geos4geom23GeometryComponentFilter9filter_roEPKNS0_8GeometryE_ZNK4geos4geom18GeometryCollection12getSortIndexEv_ZN4geos4geom18GeometryCollection7setSRIDEi_ZNK4geos4geom18GeometryCollection7isEmptyEv_ZNK4geos4geom18GeometryCollection12getDimensionEv_ZNK4geos4geom18GeometryCollection20getBoundaryDimensionEv_ZNK4geos4geom18GeometryCollection22getCoordinateDimensionEv_ZNK4geos4geom18GeometryCollection16getNumGeometriesEv_ZNK4geos4geom18GeometryCollection12getGeometryNEm_ZNK4geos4geom18GeometryCollection12getNumPointsEv_ZN4geos4geom18GeometryCollection8apply_rwEPKNS0_16CoordinateFilterE_ZNK4geos4geom18GeometryCollection8apply_roEPNS0_16CoordinateFilterE_ZNK4geos4geom18GeometryCollection8apply_roEPNS0_14GeometryFilterE_ZN4geos4geom18GeometryCollection8apply_rwEPNS0_14GeometryFilterE_ZNK4geos4geom18GeometryCollection13getCoordinateEv_ZNK4geos4geom18GeometryCollection7getAreaEv_ZNK4geos4geom18GeometryCollection9getLengthEv_ZN4geos4geom18GeometryCollection8apply_rwEPNS0_23GeometryComponentFilterE_ZNK4geos4geom18GeometryCollection8apply_roEPNS0_23GeometryComponentFilterE_ZNK4geos4geom18GeometryCollection17getGeometryTypeIdEv_ZNK4geos4geom18GeometryCollection15getGeometryTypeEv_ZNK4geos4geom18GeometryCollection23computeEnvelopeInternalEv_ZNK4geos4geom18GeometryCollection18compareToSameClassEPKNS0_8GeometryE_ZNK4geos4geom18GeometryCollection11equalsExactEPKNS0_8GeometryEd_ZN4geos4geom18GeometryCollection8apply_rwERNS0_24CoordinateSequenceFilterE_ZNK4geos4geom18GeometryCollection8apply_roERNS0_24CoordinateSequenceFilterE_ZNK4geos4geom18GeometryCollection17isDimensionStrictENS0_9Dimension13DimensionTypeE_ZNK4geos4geom18GeometryCollection14getCoordinatesEv_ZN4geos4geom18GeometryCollectionD2Ev_ZTVN4geos4geom18GeometryCollectionE_ZN4geos4geom18GeometryCollectionD1Ev_ZN4geos4geom18GeometryCollectionD0Ev_ZN4geos4geom18GeometryCollection9normalizeEv_ZNK4geos4geom18GeometryCollection11getBoundaryEv_ZNSt6vectorISt10unique_ptrIN4geos4geom8GeometryESt14default_deleteIS3_EESaIS6_EED2Ev_ZNSt6vectorISt10unique_ptrIN4geos4geom8GeometryESt14default_deleteIS3_EESaIS6_EED1Ev_ZN4geos4geom18GeometryCollectionC2EOSt6vectorISt10unique_ptrINS0_8GeometryESt14default_deleteIS4_EESaIS7_EERKNS0_15GeometryFactoryE_ZN4geos4geom18GeometryCollectionC1EOSt6vectorISt10unique_ptrINS0_8GeometryESt14default_deleteIS4_EESaIS7_EERKNS0_15GeometryFactoryE_ZN4geos4geom18GeometryCollectionC1ERKS1__ZNK4geos4geom18GeometryCollection5cloneEv_ZNK4geos4geom18GeometryCollection7reverseEv_ZNK4geos4geom15GeometryFactory24createGeometryCollectionEOSt6vectorISt10unique_ptrINS0_8GeometryESt14default_deleteIS4_EESaIS7_EE_ZNSt6vectorISt10unique_ptrIN4geos4geom8GeometryESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIIRKPS3_EEEvDpOT__ZNSt6vectorISt10unique_ptrIN4geos4geom8GeometryESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIJRKPS3_EEEvDpOT__ZN4geos4geom18GeometryCollectionC2EPSt6vectorIPNS0_8GeometryESaIS4_EEPKNS0_15GeometryFactoryE_ZN4geos4geom18GeometryCollectionC1EPSt6vectorIPNS0_8GeometryESaIS4_EEPKNS0_15GeometryFactoryE_ZTSN4geos4geom18GeometryCollectionE_ZN4geos4geom23GeometryComponentFilterD2Ev_ZN4geos4geom23GeometryComponentFilterD1Ev_ZN4geos4geom23GeometryComponentFilterD0Ev_ZN4geos4geom23GeometryComponentFilter9filter_rwEPNS0_8GeometryE_ZTSN4geos4geom23GeometryComponentFilterE_ZN4geos4geom4util23GeometryEditorOperationD2Ev_ZTVN4geos4geom4util23GeometryEditorOperationE_ZN4geos4geom4util23GeometryEditorOperationD1Ev_ZN4geos4geom15GeometryFactoryD2Ev_ZTVN4geos4geom15GeometryFactoryE_ZN4geos4geom15GeometryFactoryD1Ev_ZN4geos4geom4util23GeometryEditorOperationD0Ev_ZN4geos4geom15GeometryFactoryD0Ev_ZN4geos4geom15GeometryFactoryC2Ev_ZN4geos4geom14PrecisionModelC1Ev_ZN4geos4geom15GeometryFactoryC1Ev_ZN4geos4geom15GeometryFactory6createEv_ZN4geos4geom15GeometryFactoryC2EPKNS0_14PrecisionModelEiPNS0_25CoordinateSequenceFactoryE_ZN4geos4geom15GeometryFactoryC1EPKNS0_14PrecisionModelEiPNS0_25CoordinateSequenceFactoryE_ZN4geos4geom15GeometryFactory6createEPKNS0_14PrecisionModelEiPNS0_25CoordinateSequenceFactoryE_ZN4geos4geom15GeometryFactoryC2EPNS0_25CoordinateSequenceFactoryE_ZN4geos4geom15GeometryFactoryC1EPNS0_25CoordinateSequenceFactoryE_ZN4geos4geom15GeometryFactory6createEPNS0_25CoordinateSequenceFactoryE_ZN4geos4geom15GeometryFactoryC2EPKNS0_14PrecisionModelE_ZN4geos4geom15GeometryFactoryC1EPKNS0_14PrecisionModelE_ZN4geos4geom15GeometryFactoryC2EPKNS0_14PrecisionModelEi_ZN4geos4geom15GeometryFactoryC1EPKNS0_14PrecisionModelEi_ZN4geos4geom15GeometryFactory6createEPKNS0_14PrecisionModelEi_ZN4geos4geom15GeometryFactoryC2ERKS1__ZN4geos4geom14PrecisionModelC1ERKS1__ZN4geos4geom15GeometryFactoryC1ERKS1__ZN4geos4geom15GeometryFactory6createERKS1__ZNK4geos4geom15GeometryFactory11createPointEv_ZN4geos4geom5PointC1EPNS0_18CoordinateSequenceEPKNS0_15GeometryFactoryE_ZN4geos4geom5PointC1ERKNS0_10CoordinateEPKNS0_15GeometryFactoryE_ZNK4geos4geom15GeometryFactory11createPointEPNS0_18CoordinateSequenceE_ZNK4geos4geom15GeometryFactory11createPointERKNS0_18CoordinateSequenceE_ZNK4geos4geom15GeometryFactory21createMultiLineStringEv_ZN4geos4geom15MultiLineStringC1EPSt6vectorIPNS0_8GeometryESaIS4_EEPKNS0_15GeometryFactoryE_ZNK4geos4geom15GeometryFactory21createMultiLineStringEPSt6vectorIPNS0_8GeometryESaIS4_EE_ZNK4geos4geom15GeometryFactory21createMultiLineStringEOSt6vectorISt10unique_ptrINS0_10LineStringESt14default_deleteIS4_EESaIS7_EE_ZN4geos4geom15MultiLineStringC1EOSt6vectorISt10unique_ptrINS0_10LineStringESt14default_deleteIS4_EESaIS7_EERKNS0_15GeometryFactoryE_ZNK4geos4geom15GeometryFactory21createMultiLineStringEOSt6vectorISt10unique_ptrINS0_8GeometryESt14default_deleteIS4_EESaIS7_EE_ZN4geos4geom15MultiLineStringC1EOSt6vectorISt10unique_ptrINS0_8GeometryESt14default_deleteIS4_EESaIS7_EERKNS0_15GeometryFactoryE_ZNK4geos4geom15GeometryFactory24createGeometryCollectionEPSt6vectorIPNS0_8GeometryESaIS4_EE_ZNK4geos4geom15GeometryFactory18createMultiPolygonEv_ZN4geos4geom12MultiPolygonC1EPSt6vectorIPNS0_8GeometryESaIS4_EEPKNS0_15GeometryFactoryE_ZNK4geos4geom15GeometryFactory18createMultiPolygonEPSt6vectorIPNS0_8GeometryESaIS4_EE_ZNK4geos4geom15GeometryFactory18createMultiPolygonEOSt6vectorISt10unique_ptrINS0_7PolygonESt14default_deleteIS4_EESaIS7_EE_ZN4geos4geom12MultiPolygonC1EOSt6vectorISt10unique_ptrINS0_7PolygonESt14default_deleteIS4_EESaIS7_EERKNS0_15GeometryFactoryE_ZNK4geos4geom15GeometryFactory18createMultiPolygonEOSt6vectorISt10unique_ptrINS0_8GeometryESt14default_deleteIS4_EESaIS7_EE_ZN4geos4geom12MultiPolygonC1EOSt6vectorISt10unique_ptrINS0_8GeometryESt14default_deleteIS4_EESaIS7_EERKNS0_15GeometryFactoryE_ZNK4geos4geom15GeometryFactory16createLinearRingEv_ZN4geos4geom10LinearRingC1EPNS0_18CoordinateSequenceEPKNS0_15GeometryFactoryE_ZNK4geos4geom15GeometryFactory16createLinearRingEPNS0_18CoordinateSequenceE_ZN4geos4geom10LinearRingC1EOSt10unique_ptrINS0_18CoordinateSequenceESt14default_deleteIS3_EERKNS0_15GeometryFactoryE_ZNK4geos4geom15GeometryFactory16createLinearRingERKNS0_18CoordinateSequenceE_ZNK4geos4geom15GeometryFactory16createMultiPointEPSt6vectorIPNS0_8GeometryESaIS4_EE_ZN4geos4geom10MultiPointC1EPSt6vectorIPNS0_8GeometryESaIS4_EEPKNS0_15GeometryFactoryE_ZNK4geos4geom15GeometryFactory16createMultiPointEOSt6vectorISt10unique_ptrINS0_5PointESt14default_deleteIS4_EESaIS7_EE_ZN4geos4geom10MultiPointC1EOSt6vectorISt10unique_ptrINS0_5PointESt14default_deleteIS4_EESaIS7_EERKNS0_15GeometryFactoryE_ZNK4geos4geom15GeometryFactory16createMultiPointEOSt6vectorISt10unique_ptrINS0_8GeometryESt14default_deleteIS4_EESaIS7_EE_ZN4geos4geom10MultiPointC1EOSt6vectorISt10unique_ptrINS0_8GeometryESt14default_deleteIS4_EESaIS7_EERKNS0_15GeometryFactoryE_ZNK4geos4geom15GeometryFactory16createMultiPointEv_ZN4geos4geom7PolygonC1EPNS0_10LinearRingEPSt6vectorIS3_SaIS3_EEPKNS0_15GeometryFactoryE_ZNK4geos4geom15GeometryFactory13createPolygonEPNS0_10LinearRingEPSt6vectorIS3_SaIS3_EE_ZN4geos4geom7PolygonC1EOSt10unique_ptrINS0_10LinearRingESt14default_deleteIS3_EERKNS0_15GeometryFactoryE_ZNK4geos4geom15GeometryFactory13createPolygonEOSt10unique_ptrINS0_10LinearRingESt14default_deleteIS3_EEOSt6vectorIS6_SaIS6_EE_ZN4geos4geom7PolygonC1EOSt10unique_ptrINS0_10LinearRingESt14default_deleteIS3_EEOSt6vectorIS6_SaIS6_EERKNS0_15GeometryFactoryE_ZNK4geos4geom15GeometryFactory13createPolygonERKNS0_10LinearRingERKSt6vectorIPS2_SaIS6_EE_ZN4geos4geom10LinearRingC1ERKS1__ZN4geos4geom10LineStringC1EPNS0_18CoordinateSequenceEPKNS0_15GeometryFactoryE_ZNK4geos4geom15GeometryFactory16createLineStringERKNS0_10LineStringE_ZN4geos4geom10LineStringC1EOSt10unique_ptrINS0_18CoordinateSequenceESt14default_deleteIS3_EERKNS0_15GeometryFactoryE_ZNK4geos4geom15GeometryFactory16createLineStringERKNS0_18CoordinateSequenceE_ZN4geos4geom4util14GeometryEditorC1EPKNS0_15GeometryFactoryE_ZN4geos4geom4util14GeometryEditor4editEPKNS0_8GeometryEPNS1_23GeometryEditorOperationE_ZNK4geos4geom15GeometryFactory15destroyGeometryEPNS0_8GeometryE__cxa_guard_abort_ZNK4geos4geom15GeometryFactory21createMultiLineStringERKSt6vectorIPKNS0_8GeometryESaIS5_EE_ZNK4geos4geom15GeometryFactory24createGeometryCollectionERKSt6vectorIPKNS0_8GeometryESaIS5_EE_ZNK4geos4geom15GeometryFactory18createMultiPolygonERKSt6vectorIPKNS0_8GeometryESaIS5_EE_ZNK4geos4geom15GeometryFactory16createMultiPointERKSt6vectorIPKNS0_8GeometryESaIS5_EE_ZNK4geos4geom15GeometryFactory16createMultiPointERKNS0_18CoordinateSequenceE_ZNK4geos4geom15GeometryFactory16createMultiPointERKSt6vectorINS0_10CoordinateESaIS3_EE_ZN4geos4geom10commonTypeISt6vectorIPNS0_8GeometryESaIS4_EEEENS0_14GeometryTypeIdERKT__ZN4geos4geom10commonTypeISt6vectorISt10unique_ptrINS0_8GeometryESt14default_deleteIS4_EESaIS7_EEEENS0_14GeometryTypeIdERKT__ZNK4geos4geom15GeometryFactory13buildGeometryEOSt6vectorISt10unique_ptrINS0_8GeometryESt14default_deleteIS4_EESaIS7_EE_ZN4geos4geom10commonTypeISt6vectorIPKNS0_8GeometryESaIS5_EEEENS0_14GeometryTypeIdERKT__ZNK4geos4geom15GeometryFactory13buildGeometryERKSt6vectorIPKNS0_8GeometryESaIS5_EE_ZTIN4geos4geom4util19CoordinateOperationE_ZTSN4geos4geom15GeometryFactoryE_ZTIN4geos4geom15GeometryFactoryE_ZTIN4geos4geom4util23GeometryEditorOperationE_ZTSN4geos4geom4util23GeometryEditorOperationE_ZN4geos4geom4util19CoordinateOperation4editEPKNS0_8GeometryEPKNS0_15GeometryFactoryE_ZN4geos4geom18IntersectionMatrixC2ERKS1__ZN4geos4geom18IntersectionMatrixC1ERKS1__ZN4geos4geom18IntersectionMatrix7matchesEic_ZN4geos4geom18IntersectionMatrix3setENS0_8LocationES2_i_ZN4geos4geom18IntersectionMatrix3setERKSs_ZN4geos4geom18IntersectionMatrix10setAtLeastENS0_8LocationES2_i_ZN4geos4geom18IntersectionMatrix3addEPS1__ZN4geos4geom18IntersectionMatrix17setAtLeastIfValidENS0_8LocationES2_i_ZN4geos4geom18IntersectionMatrix10setAtLeastESs_ZNSs12_M_leak_hardEv_ZN4geos4geom18IntersectionMatrix6setAllEi_ZN4geos4geom18IntersectionMatrixC2Ev_ZN4geos4geom18IntersectionMatrixC1Ev_ZN4geos4geom18IntersectionMatrixC2ERKSs_ZN4geos4geom18IntersectionMatrixC1ERKSs_ZN4geos4geom18IntersectionMatrix7matchesERKSsS3__ZNK4geos4geom18IntersectionMatrix8isWithinEv_ZNK4geos4geom18IntersectionMatrix11isCoveredByEv_ZN4geos4geom18IntersectionMatrix9transposeEv_ZNK4geos4geom18IntersectionMatrix8toStringEv_ZNSs7reserveEm_ZN4geos4geomlsERSoRKNS0_18IntersectionMatrixE_ZN4geos4geom18IntersectionMatrix9secondDimE_ZN4geos4geom18IntersectionMatrix8firstDimE_ZNK4geos4geom10LinearRing12getSortIndexEv_ZNK4geos4geom10LinearRing20getBoundaryDimensionEv_ZNK4geos4geom10LinearRing17getGeometryTypeIdEv_ZNK4geos4geom10LinearRing8isClosedEv_ZNK4geos4geom10LinearRing15getGeometryTypeEv_ZNK4geos4geom10LinearRing7reverseEv_ZN4geos4geom10LinearRingD2Ev_ZN4geos4geom10LinearRingD1Ev_ZN4geos4geom10LinearRingD0Ev_ZN4geos4geom10LinearRingC2ERKS1__ZN4geos4geom10LineStringC2ERKS1__ZTVN4geos4geom10LinearRingE_ZNK4geos4geom10LinearRing5cloneEv_ZN4geos4geom10LinearRing20validateConstructionEv_ZN4geos4geom10LinearRingC2EPNS0_18CoordinateSequenceEPKNS0_15GeometryFactoryE_ZN4geos4geom10LineStringC2EPNS0_18CoordinateSequenceEPKNS0_15GeometryFactoryE_ZN4geos4geom10LinearRingC2EOSt10unique_ptrINS0_18CoordinateSequenceESt14default_deleteIS3_EERKNS0_15GeometryFactoryE_ZN4geos4geom10LineStringC2EOSt10unique_ptrINS0_18CoordinateSequenceESt14default_deleteIS3_EERKNS0_15GeometryFactoryE_ZN4geos4geom10LinearRing9setPointsEPKNS0_18CoordinateSequenceE_ZTSN4geos4geom10LinearRingE_ZN4geos4util21IllegalStateExceptionD2Ev_ZN4geos4util21IllegalStateExceptionD1Ev_ZN4geos4util21IllegalStateExceptionD0Ev_ZN4geos4util21IllegalStateExceptionC2ERKSs_ZTVN4geos4util21IllegalStateExceptionE_ZN4geos4util21IllegalStateExceptionC1ERKSs_ZNK4geos4geom11LineSegment16projectionFactorERKNS0_10CoordinateE_ZNK4geos4geom11LineSegment15segmentFractionERKNS0_10CoordinateE_ZNK4geos4geom11LineSegment7projectERKS1_RS1__ZNK4geos4geom11LineSegment9compareToERKS1__ZNK4geos4geom11LineSegment10equalsTopoERKS1__ZNK4geos4geom11LineSegment12intersectionERKS1__ZNK4geos4geom11LineSegment16pointAlongOffsetEddRNS0_10CoordinateE_ZTIN4geos4util21IllegalStateExceptionE_ZTSN4geos4util21IllegalStateExceptionE_ZN4geos4geom10LineString20validateConstructionEv_ZN4geos4geomlsERSoRKNS0_8LocationE_ZNK4geos4geom15MultiLineString17isDimensionStrictENS0_9Dimension13DimensionTypeE_ZNK4geos4geom15MultiLineString12getSortIndexEv_ZNK4geos4geom15MultiLineString12getDimensionEv_ZNK4geos4geom15MultiLineString17getGeometryTypeIdEv_ZNK4geos4geom15MultiLineString15getGeometryTypeEv_ZNK4geos4geom15MultiLineString11equalsExactEPKNS0_8GeometryEd_ZN4geos4geom15MultiLineStringD2Ev_ZN4geos4geom15MultiLineStringD1Ev_ZN4geos4geom15MultiLineStringD0Ev_ZN4geos4geom15MultiLineStringC2EPSt6vectorIPNS0_8GeometryESaIS4_EEPKNS0_15GeometryFactoryE_ZN4geos4geom15MultiLineStringC2EOSt6vectorISt10unique_ptrINS0_8GeometryESt14default_deleteIS4_EESaIS7_EERKNS0_15GeometryFactoryE_ZNK4geos4geom15MultiLineString8isClosedEv_ZNK4geos4geom15MultiLineString20getBoundaryDimensionEv_ZNK4geos4geom15MultiLineString7reverseEv_ZN4geos4geom15MultiLineStringC2EOSt6vectorISt10unique_ptrINS0_10LineStringESt14default_deleteIS4_EESaIS7_EERKNS0_15GeometryFactoryE_ZNK4geos4geom15MultiLineString11getBoundaryEv_ZN4geos9geomgraph13GeometryGraphC1EiPKNS_4geom8GeometryE_ZN4geos9geomgraph13GeometryGraph17getBoundaryPointsEv_ZTSN4geos4geom15MultiLineStringE_ZNK4geos4geom10MultiPoint17isDimensionStrictENS0_9Dimension13DimensionTypeE_ZNK4geos4geom10MultiPoint7reverseEv_ZNK4geos4geom10MultiPoint12getSortIndexEv_ZNK4geos4geom10MultiPoint12getDimensionEv_ZNK4geos4geom10MultiPoint20getBoundaryDimensionEv_ZNK4geos4geom10MultiPoint17getGeometryTypeIdEv_ZNK4geos4geom10MultiPoint5cloneEv_ZTVN4geos4geom10MultiPointE_ZNK4geos4geom10MultiPoint15getGeometryTypeEv_ZNK4geos4geom10MultiPoint11getBoundaryEv_ZNK4geos4geom10MultiPoint11equalsExactEPKNS0_8GeometryEd_ZN4geos4geom10MultiPointD2Ev_ZN4geos4geom10MultiPointD1Ev_ZN4geos4geom10MultiPointD0Ev_ZN4geos4geom10MultiPointC2EPSt6vectorIPNS0_8GeometryESaIS4_EEPKNS0_15GeometryFactoryE_ZN4geos4geom10MultiPointC2EOSt6vectorISt10unique_ptrINS0_8GeometryESt14default_deleteIS4_EESaIS7_EERKNS0_15GeometryFactoryE_ZNK4geos4geom10MultiPoint14getCoordinateNEm_ZN4geos4geom10MultiPointC2EOSt6vectorISt10unique_ptrINS0_5PointESt14default_deleteIS4_EESaIS7_EERKNS0_15GeometryFactoryE_ZTSN4geos4geom10MultiPointE_ZTIN4geos4geom10MultiPointE_ZNK4geos4geom12MultiPolygon17isDimensionStrictENS0_9Dimension13DimensionTypeE_ZNK4geos4geom12MultiPolygon12getSortIndexEv_ZNK4geos4geom12MultiPolygon12getDimensionEv_ZNK4geos4geom12MultiPolygon20getBoundaryDimensionEv_ZNK4geos4geom12MultiPolygon17getGeometryTypeIdEv_ZNK4geos4geom12MultiPolygon15getGeometryTypeEv_ZNK4geos4geom12MultiPolygon11equalsExactEPKNS0_8GeometryEd_ZN4geos4geom12MultiPolygonD2Ev_ZN4geos4geom12MultiPolygonD1Ev_ZN4geos4geom12MultiPolygonD0Ev_ZN4geos4geom12MultiPolygonC2EPSt6vectorIPNS0_8GeometryESaIS4_EEPKNS0_15GeometryFactoryE_ZN4geos4geom12MultiPolygonC2EOSt6vectorISt10unique_ptrINS0_8GeometryESt14default_deleteIS4_EESaIS7_EERKNS0_15GeometryFactoryE_ZNK4geos4geom12MultiPolygon7reverseEv_ZN4geos4geom12MultiPolygonC2EOSt6vectorISt10unique_ptrINS0_7PolygonESt14default_deleteIS4_EESaIS7_EERKNS0_15GeometryFactoryE_ZNSt6vectorISt10unique_ptrIN4geos4geom8GeometryESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIIS6_EEEvDpOT__ZNSt6vectorISt10unique_ptrIN4geos4geom8GeometryESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIJS6_EEEvDpOT__ZNSt6vectorISt10unique_ptrIN4geos4geom8GeometryESt14default_deleteIS3_EESaIS6_EE12emplace_backIIS6_EEEvDpOT__ZNSt6vectorISt10unique_ptrIN4geos4geom8GeometryESt14default_deleteIS3_EESaIS6_EE12emplace_backIJS6_EEEvDpOT__ZNK4geos4geom12MultiPolygon11getBoundaryEv_ZTSN4geos4geom12MultiPolygonE_ZN4geos4geom5Point9normalizeEv_ZNK4geos4geom5Point7reverseEv_ZNK4geos4geom5Point12getSortIndexEv_ZNK4geos4geom5Point12getNumPointsEv_ZNK4geos4geom5Point7isEmptyEv_ZNK4geos4geom5Point8isSimpleEv_ZNK4geos4geom5Point12getDimensionEv_ZNK4geos4geom5Point20getBoundaryDimensionEv_ZNK4geos4geom5Point13getCoordinateEv_ZN4geos4geom5Point8apply_rwEPKNS0_16CoordinateFilterE_ZN4geos4geom5Point8apply_rwEPNS0_14GeometryFilterE_ZNK4geos4geom5Point8apply_roEPNS0_14GeometryFilterE_ZN4geos4geom5Point8apply_rwEPNS0_23GeometryComponentFilterE_ZNK4geos4geom5Point8apply_roEPNS0_23GeometryComponentFilterE_ZNK4geos4geom5Point17getGeometryTypeIdEv_ZN4geos4util29UnsupportedOperationExceptionD2Ev_ZN4geos4util29UnsupportedOperationExceptionD1Ev_ZN4geos4util29UnsupportedOperationExceptionD0Ev_ZNK4geos4geom5Point23computeEnvelopeInternalEv_ZN4geos4geom5PointD2Ev_ZTVN4geos4geom5PointE_ZN4geos4geom5PointD1Ev_ZN4geos4geom5PointD0Ev_ZNK4geos4geom5Point15getGeometryTypeEv_ZNK4geos4geom5Point11getBoundaryEv_ZNK4geos4geom5Point18compareToSameClassEPKNS0_8GeometryE_ZNK4geos4geom5Point11equalsExactEPKNS0_8GeometryEd_ZNK4geos4geom5Point8apply_roEPNS0_16CoordinateFilterE_ZN4geos4geom5Point8apply_rwERNS0_24CoordinateSequenceFilterE_ZNK4geos4geom5Point8apply_roERNS0_24CoordinateSequenceFilterE_ZNK4geos4geom5Point22getCoordinateDimensionEv_ZNK4geos4geom5Point14getCoordinatesEv_ZN4geos4util29UnsupportedOperationExceptionC2ERKSs_ZTVN4geos4util29UnsupportedOperationExceptionE_ZN4geos4util29UnsupportedOperationExceptionC1ERKSs_ZN4geos4geom5PointC2EPNS0_18CoordinateSequenceEPKNS0_15GeometryFactoryE_ZN4geos4geom5PointC2ERKNS0_10CoordinateEPKNS0_15GeometryFactoryE_ZN4geos4geom5PointC2ERKS1__ZN4geos4geom5PointC1ERKS1__ZNK4geos4geom5Point5cloneEv_ZNK4geos4geom5Point4getXEv_ZTIN4geos4util29UnsupportedOperationExceptionE_ZNK4geos4geom5Point4getYEv_ZNK4geos4geom5Point4getZEv_ZNK4geos4geom5Point16getCoordinatesROEv_ZTSN4geos4util29UnsupportedOperationExceptionE_ZTSN4geos4geom5PointE_ZNK4geos4geom7Polygon12getSortIndexEv_ZNK4geos4geom7Polygon12getNumPointsEv_ZNK4geos4geom7Polygon12getDimensionEv_ZNK4geos4geom7Polygon22getCoordinateDimensionEv_ZNK4geos4geom7Polygon20getBoundaryDimensionEv_ZNK4geos4geom7Polygon7isEmptyEv_ZNK4geos4geom7Polygon8apply_roEPNS0_16CoordinateFilterE_ZN4geos4geom7Polygon8apply_rwEPKNS0_16CoordinateFilterE_ZN4geos4geom7Polygon8apply_rwEPNS0_14GeometryFilterE_ZNK4geos4geom7Polygon8apply_roEPNS0_14GeometryFilterE_ZNK4geos4geom7Polygon13getCoordinateEv_ZNK4geos4geom7Polygon9getLengthEv_ZNK4geos4geom7Polygon8apply_roEPNS0_23GeometryComponentFilterE_ZN4geos4geom7Polygon8apply_rwEPNS0_23GeometryComponentFilterE_ZN4geos4geom7Polygon8apply_rwERNS0_24CoordinateSequenceFilterE_ZNK4geos4geom7Polygon17getGeometryTypeIdEv_ZNK4geos4geom7Polygon15getGeometryTypeEv_ZNK4geos4geom7Polygon11equalsExactEPKNS0_8GeometryEd_ZNK4geos4geom7Polygon18compareToSameClassEPKNS0_8GeometryE_ZNK4geos4geom7Polygon7getAreaEv_ZNK4geos4geom7Polygon8apply_roERNS0_24CoordinateSequenceFilterE_ZNK4geos4geom7Polygon23computeEnvelopeInternalEv_ZN4geos4geom7PolygonD2Ev_ZTVN4geos4geom7PolygonE_ZN4geos4geom7PolygonD1Ev_ZN4geos4geom7PolygonD0Ev_ZNK4geos4geom7Polygon11getBoundaryEv_ZNK4geos4geom7Polygon10convexHullEv_ZNK4geos4geom7Polygon11isRectangleEv_ZN4geos4geom7Polygon9normalizeEPNS0_10LinearRingEb_ZN4geos4geom7Polygon9normalizeEv_ZN4geos6detail11make_uniqueINS_4geom10LinearRingEIRS3_EEENS0_10_Unique_ifIT_E14_Single_objectEDpOT0__ZN4geos6detail11make_uniqueINS_4geom10LinearRingEJRS3_EEENS0_10_Unique_ifIT_E14_Single_objectEDpOT0__ZNSt6vectorISt10unique_ptrIN4geos4geom10LinearRingESt14default_deleteIS3_EESaIS6_EED2Ev_ZNSt6vectorISt10unique_ptrIN4geos4geom10LinearRingESt14default_deleteIS3_EESaIS6_EED1Ev_ZN4geos4geom7PolygonC2EOSt10unique_ptrINS0_10LinearRingESt14default_deleteIS3_EERKNS0_15GeometryFactoryE_ZN4geos4geom7PolygonC2ERKS1__ZN4geos4geom7PolygonC1ERKS1__ZNK4geos4geom7Polygon5cloneEv_ZNK4geos4geom7Polygon7reverseEv_ZNSt6vectorIN4geos4geom10CoordinateESaIS2_EE7reserveEm_ZNK4geos4geom7Polygon14getCoordinatesEv_ZNSt6vectorISt10unique_ptrIN4geos4geom10LinearRingESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIIRKPS3_EEEvDpOT__ZNSt6vectorISt10unique_ptrIN4geos4geom10LinearRingESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIJRKPS3_EEEvDpOT__ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKPN4geos4geom10LinearRingESt6vectorIS5_SaIS5_EEEEZNS3_8Geometry19hasNonEmptyElementsIS5_EEbPKS8_IT_SaISE_EEEUlRS6_E_ESE_SE_SE_T0_St26random_access_iterator_tag_ZN4geos4geom7PolygonC2EPNS0_10LinearRingEPSt6vectorIS3_SaIS3_EEPKNS0_15GeometryFactoryE_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKSt10unique_ptrIN4geos4geom10LinearRingESt14default_deleteIS5_EESt6vectorIS8_SaIS8_EEEEZNS4_8Geometry19hasNonEmptyElementsIS8_EEbPKSB_IT_SaISH_EEEUlRS9_E_ESH_SH_SH_T0_St26random_access_iterator_tag_ZN4geos4geom7PolygonC2EOSt10unique_ptrINS0_10LinearRingESt14default_deleteIS3_EEOSt6vectorIS6_SaIS6_EERKNS0_15GeometryFactoryE_ZTSN4geos4geom7PolygonE_ZNK4geos4geom14PrecisionModel11makePreciseEd_ZN4geos4geom14PrecisionModelC2Ev_ZN4geos4geom14PrecisionModelC2ENS1_4TypeE_ZN4geos4geom14PrecisionModelC1ENS1_4TypeE_ZN4geos4geom14PrecisionModelC2ERKS1__ZNK4geos4geom14PrecisionModel10isFloatingEv_ZNK4geos4geom14PrecisionModel27getMaximumSignificantDigitsEvlogceil_ZN4geos4geom14PrecisionModel8setScaleEd_ZN4geos4geom14PrecisionModelC2Eddd_ZN4geos4geom14PrecisionModelC1Eddd_ZN4geos4geom14PrecisionModelC2Ed_ZNK4geos4geom14PrecisionModel10getOffsetXEv_ZNK4geos4geom14PrecisionModel10getOffsetYEv_ZN4geos4geomeqERKNS0_14PrecisionModelES3__ZNK4geos4geom14PrecisionModel8toStringEv_ZN4geos4geom14PrecisionModel19maximumPreciseValueE_ZN4geos4geom8Triangle10isIsocelesEv_ZN4geos4geom8Triangle8inCentreERNS0_10CoordinateE_ZN4geos4geom8Triangle14circumcentreDDERNS0_10CoordinateE_ZNK4geos4geom8Triangle3detEdddd_ZN4geos4geom8Triangle12circumcentreERNS0_10CoordinateE_ZN4geos4geom4util28ComponentCoordinateExtracterD2Ev_ZN4geos4geom4util28ComponentCoordinateExtracterD1Ev_ZN4geos4geom4util28ComponentCoordinateExtracterD0Ev_ZN4geos4geom4util28ComponentCoordinateExtracterC2ERSt6vectorIPKNS0_10CoordinateESaIS6_EE_ZTVN4geos4geom4util28ComponentCoordinateExtracterE_ZN4geos4geom4util28ComponentCoordinateExtracterC1ERSt6vectorIPKNS0_10CoordinateESaIS6_EE_ZN4geos4geom4util28ComponentCoordinateExtracter14getCoordinatesERKNS0_8GeometryERSt6vectorIPKNS0_10CoordinateESaIS9_EE_ZNSt6vectorIPKN4geos4geom10CoordinateESaIS4_EE19_M_emplace_back_auxIIS4_EEEvDpOT__ZNSt6vectorIPKN4geos4geom10CoordinateESaIS4_EE19_M_emplace_back_auxIJS4_EEEvDpOT__ZNSt6vectorIPKN4geos4geom10CoordinateESaIS4_EE12emplace_backIIS4_EEEvDpOT__ZNSt6vectorIPKN4geos4geom10CoordinateESaIS4_EE12emplace_backIJS4_EEEvDpOT__ZN4geos4geom4util28ComponentCoordinateExtracter9filter_rwEPNS0_8GeometryE_ZN4geos4geom4util28ComponentCoordinateExtracter9filter_roEPKNS0_8GeometryE_ZTSN4geos4geom4util28ComponentCoordinateExtracterE_ZTIN4geos4geom4util28ComponentCoordinateExtracterE_ZN4geos4geom4util19CoordinateOperationD2Ev_ZN4geos4geom4util19CoordinateOperationD1Ev_ZN4geos4geom4util19CoordinateOperationD0Ev_ZTSN4geos4geom4util19CoordinateOperationE_ZTVN4geos4geom4util19CoordinateOperationE_ZN4geos4geom4util9Densifier18DensifyTransformerD2Ev_ZTVN4geos4geom4util19GeometryTransformerE_ZN4geos4geom4util9Densifier18DensifyTransformerD1Ev_ZN4geos4geom4util9Densifier18DensifyTransformerD0Ev_ZN4geos4geom4util9Densifier18DensifyTransformerC2Ed_ZN4geos4geom4util19GeometryTransformerC2Ev_ZTVN4geos4geom4util9Densifier18DensifyTransformerE_ZN4geos4geom4util9Densifier18DensifyTransformerC1Ed_ZN4geos4geom4util9Densifier18DensifyTransformer15createValidAreaEPKNS0_8GeometryE_ZN4geos4geom4util9Densifier18DensifyTransformer21transformMultiPolygonEPKNS0_12MultiPolygonEPKNS0_8GeometryE_ZN4geos4geom4util19GeometryTransformer21transformMultiPolygonEPKNS0_12MultiPolygonEPKNS0_8GeometryE_ZN4geos4geom4util9Densifier18DensifyTransformer16transformPolygonEPKNS0_7PolygonEPKNS0_8GeometryE_ZN4geos4geom4util19GeometryTransformer16transformPolygonEPKNS0_7PolygonEPKNS0_8GeometryE_ZN4geos4geom4util9DensifierC2EPKNS0_8GeometryE_ZN4geos4geom4util9DensifierC1EPKNS0_8GeometryE_ZN4geos4geom4util9Densifier20setDistanceToleranceEd_ZNK4geos4geom4util9Densifier17getResultGeometryEv_ZN4geos4geom4util19GeometryTransformer9transformEPKNS0_8GeometryE_ZN4geos4geom4util9Densifier7densifyEPKNS0_8GeometryEd_ZNSt6vectorIN4geos4geom10CoordinateESaIS2_EE13_M_assign_auxISt20_List_const_iteratorIS2_EEEvT_S8_St20forward_iterator_tag_ZN4geos4geom4util9Densifier13densifyPointsESt6vectorINS0_10CoordinateESaIS4_EEdPKNS0_14PrecisionModelE_ZNSt8__detail15_List_node_base7_M_hookEPS0__ZN4geos4geom4util9Densifier18DensifyTransformer20transformCoordinatesEPKNS0_18CoordinateSequenceEPKNS0_8GeometryE_ZTSN4geos4geom4util9Densifier18DensifyTransformerE_ZTIN4geos4geom4util9Densifier18DensifyTransformerE_ZTIN4geos4geom4util19GeometryTransformerE_ZN4geos4geom4util19GeometryTransformer14transformPointEPKNS0_5PointEPKNS0_8GeometryE_ZN4geos4geom4util19GeometryTransformer19transformMultiPointEPKNS0_10MultiPointEPKNS0_8GeometryE_ZN4geos4geom4util19GeometryTransformer19transformLinearRingEPKNS0_10LinearRingEPKNS0_8GeometryE_ZN4geos4geom4util19GeometryTransformer19transformLineStringEPKNS0_10LineStringEPKNS0_8GeometryE_ZN4geos4geom4util19GeometryTransformer24transformMultiLineStringEPKNS0_15MultiLineStringEPKNS0_8GeometryE_ZN4geos4geom4util19GeometryTransformer27transformGeometryCollectionEPKNS0_18GeometryCollectionEPKNS0_8GeometryE_ZN4geos4geom4util16GeometryCombiner14extractFactoryERKSt6vectorIPKNS0_8GeometryESaIS6_EE_ZN4geos4geom4util16GeometryCombinerC2ERKSt6vectorIPKNS0_8GeometryESaIS6_EE_ZN4geos4geom4util16GeometryCombinerC1ERKSt6vectorIPKNS0_8GeometryESaIS6_EE_ZNSt6vectorIPKN4geos4geom8GeometryESaIS4_EE19_M_emplace_back_auxIIRKS4_EEEvDpOT__ZNSt6vectorIPKN4geos4geom8GeometryESaIS4_EE19_M_emplace_back_auxIJRKS4_EEEvDpOT__ZN4geos4geom4util16GeometryCombiner15extractElementsEPKNS0_8GeometryERSt6vectorIS5_SaIS5_EE_ZN4geos4geom4util16GeometryCombiner7combineEv_ZN4geos4geom4util16GeometryCombiner7combineERKSt6vectorIPKNS0_8GeometryESaIS6_EE_ZN4geos4geom4util16GeometryCombiner7combineEPKNS0_8GeometryES5__ZN4geos4geom4util16GeometryCombiner7combineEPKNS0_8GeometryES5_S5__ZNSt6vectorIPKN4geos4geom8GeometryESaIS4_EE19_M_emplace_back_auxIIS4_EEEvDpOT__ZNSt6vectorIPKN4geos4geom8GeometryESaIS4_EE19_M_emplace_back_auxIJS4_EEEvDpOT__ZN4geos4geom4util16GeometryCombiner7combineERKSt6vectorISt10unique_ptrINS0_8GeometryESt14default_deleteIS5_EESaIS8_EE_ZN4geos4geom4util14GeometryEditorC2Ev_ZN4geos4geom4util14GeometryEditorC1Ev_ZN4geos4geom4util14GeometryEditorC2EPKNS0_15GeometryFactoryE_ZNSt6vectorIPN4geos4geom10LinearRingESaIS3_EE19_M_emplace_back_auxIIS3_EEEvDpOT__ZNSt6vectorIPN4geos4geom10LinearRingESaIS3_EE19_M_emplace_back_auxIJS3_EEEvDpOT__ZN4geos4geom4util14GeometryEditor22editGeometryCollectionEPKNS0_18GeometryCollectionEPNS1_23GeometryEditorOperationE_ZN4geos4geom4util14GeometryEditor11editPolygonEPKNS0_7PolygonEPNS1_23GeometryEditorOperationE_ZN4geos4geom4util19GeometryTransformer20transformCoordinatesEPKNS0_18CoordinateSequenceEPKNS0_8GeometryE_ZN4geos4geom4util19GeometryTransformerD2Ev_ZN4geos4geom4util19GeometryTransformerD1Ev_ZN4geos4geom4util19GeometryTransformerD0Ev_ZN4geos4geom4util19GeometryTransformerC1Ev_ZN4geos4geom4util19GeometryTransformer38setSkipTransformedInvalidInteriorRingsEb_ZN4geos4geom4util19GeometryTransformer24createCoordinateSequenceESt10unique_ptrISt6vectorINS0_10CoordinateESaIS5_EESt14default_deleteIS7_EE_ZNSt6vectorISt10unique_ptrIN4geos4geom10LinearRingESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIIPS3_EEEvDpOT__ZNSt6vectorISt10unique_ptrIN4geos4geom10LinearRingESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIJPS3_EEEvDpOT__ZTSN4geos4geom4util19GeometryTransformerE_ZN4geos4geom4util24LinearComponentExtracterD2Ev_ZN4geos4geom4util24LinearComponentExtracterD1Ev_ZN4geos4geom4util24LinearComponentExtracterD0Ev_ZN4geos4geom4util24LinearComponentExtracterC2ERSt6vectorIPKNS0_10LineStringESaIS6_EE_ZTVN4geos4geom4util24LinearComponentExtracterE_ZN4geos4geom4util24LinearComponentExtracterC1ERSt6vectorIPKNS0_10LineStringESaIS6_EE_ZN4geos4geom4util24LinearComponentExtracter9filter_roEPKNS0_8GeometryE_ZN4geos4geom4util24LinearComponentExtracter9filter_rwEPNS0_8GeometryE_ZTSN4geos4geom4util24LinearComponentExtracterE_ZTIN4geos4geom4util24LinearComponentExtracterE_ZN4geos4geom4util14PointExtracterD2Ev_ZN4geos4geom4util14PointExtracterD1Ev_ZN4geos4geom4util14PointExtracterD0Ev_ZN4geos4geom4util14PointExtracterC2ERSt6vectorIPKNS0_5PointESaIS6_EE_ZTVN4geos4geom4util14PointExtracterE_ZN4geos4geom4util14PointExtracterC1ERSt6vectorIPKNS0_5PointESaIS6_EE_ZN4geos4geom4util14PointExtracter9getPointsERKNS0_8GeometryERSt6vectorIPKNS0_5PointESaIS9_EE_ZN4geos4geom4util14PointExtracter9filter_roEPKNS0_8GeometryE_ZN4geos4geom4util14PointExtracter9filter_rwEPNS0_8GeometryE_ZTSN4geos4geom4util14PointExtracterE_ZTIN4geos4geom4util14PointExtracterE_ZN4geos4geom4util16PolygonExtracterD2Ev_ZN4geos4geom4util16PolygonExtracterD1Ev_ZN4geos4geom4util16PolygonExtracterD0Ev_ZN4geos4geom4util16PolygonExtracterC2ERSt6vectorIPKNS0_7PolygonESaIS6_EE_ZTVN4geos4geom4util16PolygonExtracterE_ZN4geos4geom4util16PolygonExtracterC1ERSt6vectorIPKNS0_7PolygonESaIS6_EE_ZN4geos4geom4util16PolygonExtracter11getPolygonsERKNS0_8GeometryERSt6vectorIPKNS0_7PolygonESaIS9_EE_ZN4geos4geom4util16PolygonExtracter9filter_roEPKNS0_8GeometryE_ZN4geos4geom4util16PolygonExtracter9filter_rwEPNS0_8GeometryE_ZTSN4geos4geom4util16PolygonExtracterE_ZTIN4geos4geom4util16PolygonExtracterE_ZN4geos4geom4util29ShortCircuitedGeometryVisitor7applyToERKNS0_8GeometryE_ZNK4geos4geom4util15SineStarFactory14createSineStarEv_ZNK4geos4util21GeometricShapeFactory10Dimensions11getEnvelopeEvsincos_ZNK4geos4util21GeometricShapeFactory5coordEdd_ZN4geos6noding20NodableSegmentStringD2Ev_ZN4geos6noding20NodableSegmentStringD1Ev_ZNK4geos6noding18SegmentIntersector6isDoneEv_ZN4geos6noding18SegmentIntersectorD2Ev_ZTVN4geos6noding18SegmentIntersectorE_ZN4geos6noding18SegmentIntersectorD1Ev_ZN4geos6noding20NodableSegmentStringD0Ev_ZN4geos6noding18SegmentIntersectorD0Ev_ZN4geos4geom4prep31AbstractPreparedPolygonContains13isSingleShellERKNS0_8GeometryE_ZN4geos4geom4prep31AbstractPreparedPolygonContains48isProperIntersectionImpliesNotContainedSituationEPKNS0_8GeometryE_ZN4geos4geom4prep31AbstractPreparedPolygonContains17evalPointTestGeomEPKNS0_8GeometryENS0_8LocationE_ZNK4geos4geom4prep24PreparedPolygonPredicate34isAnyTestComponentInTargetInteriorEPKNS0_8GeometryE_ZNSt6vectorIPKN4geos6noding13SegmentStringESaIS4_EE19_M_emplace_back_auxIIS4_EEEvDpOT__ZNSt6vectorIPKN4geos6noding13SegmentStringESaIS4_EE19_M_emplace_back_auxIJS4_EEEvDpOT__ZN4geos4geom4prep31AbstractPreparedPolygonContains28findAndClassifyIntersectionsEPKNS0_8GeometryE_ZTVN4geos6noding18NodedSegmentStringE_ZTVN4geos6noding15SegmentNodeListE_ZTVN4geos6noding27SegmentIntersectionDetectorE_ZNK4geos4geom4prep15PreparedPolygon21getIntersectionFinderEv_ZN4geos6noding32FastSegmentSetIntersectionFinder10intersectsEPSt6vectorIPKNS0_13SegmentStringESaIS5_EEPNS0_27SegmentIntersectionDetectorE_ZN4geos4geom4prep31AbstractPreparedPolygonContains4evalEPKNS0_8GeometryE_ZNK4geos4geom4prep24PreparedPolygonPredicate33getOutermostTestComponentLocationEPKNS0_8GeometryE_ZNK4geos4geom4prep24PreparedPolygonPredicate30isAnyTargetComponentInAreaTestEPKNS0_8GeometryEPKSt6vectorIPKNS0_10CoordinateESaIS9_EE_ZTIN4geos6noding20NodableSegmentStringE_ZTSN4geos6noding20NodableSegmentStringE_ZTIN4geos6noding18SegmentIntersectorE_ZTSN4geos6noding18SegmentIntersectorE_ZTVN4geos6noding20NodableSegmentStringE_ZNK4geos6noding13SegmentString5printERSo_ZN4geos4geom4prep16PreparedGeometryD2Ev_ZTVN4geos4geom4prep16PreparedGeometryE_ZN4geos4geom4prep16PreparedGeometryD1Ev_ZNK4geos4geom4prep21BasicPreparedGeometry11getGeometryEv_ZNK4geos4geom4prep21BasicPreparedGeometry8containsEPKNS0_8GeometryE_ZNK4geos4geom4prep21BasicPreparedGeometry7crossesEPKNS0_8GeometryE_ZNK4geos4geom4prep21BasicPreparedGeometry8disjointEPKNS0_8GeometryE_ZNK4geos4geom4prep21BasicPreparedGeometry10intersectsEPKNS0_8GeometryE_ZNK4geos4geom4prep21BasicPreparedGeometry8overlapsEPKNS0_8GeometryE_ZNK4geos4geom4prep21BasicPreparedGeometry7touchesEPKNS0_8GeometryE_ZNK4geos4geom4prep21BasicPreparedGeometry6withinEPKNS0_8GeometryE_ZN4geos4geom4prep16PreparedGeometryD0Ev_ZN4geos4geom4prep21BasicPreparedGeometryD2Ev_ZTVN4geos4geom4prep21BasicPreparedGeometryE_ZN4geos4geom4prep21BasicPreparedGeometryD1Ev_ZN4geos4geom4prep21BasicPreparedGeometryD0Ev_ZNK4geos4geom4prep21BasicPreparedGeometry6coversEPKNS0_8GeometryE_ZNK4geos4geom4prep21BasicPreparedGeometry9coveredByEPKNS0_8GeometryE_ZNK4geos4geom4prep21BasicPreparedGeometry16containsProperlyEPKNS0_8GeometryE_ZN4geos4geom4prep21BasicPreparedGeometry11setGeometryEPKNS0_8GeometryE_ZNK4geos4geom4prep21BasicPreparedGeometry18envelopesIntersectEPKNS0_8GeometryE_ZNK4geos4geom4prep21BasicPreparedGeometry14envelopeCoversEPKNS0_8GeometryE_ZN4geos4geom4prep21BasicPreparedGeometryC2EPKNS0_8GeometryE_ZN4geos4geom4prep21BasicPreparedGeometryC1EPKNS0_8GeometryE_ZNK4geos4geom4prep21BasicPreparedGeometry26isAnyTargetComponentInTestEPKNS0_8GeometryE_ZN4geos4geom4prep21BasicPreparedGeometry8toStringEv_ZTIN4geos4geom4prep16PreparedGeometryE_ZTSN4geos4geom4prep16PreparedGeometryE_ZTSN4geos4geom4prep21BasicPreparedGeometryE_ZTIN4geos4geom4prep21BasicPreparedGeometryE_ZNK4geos4geom4prep23PreparedGeometryFactory6createEPKNS0_8GeometryE_ZN4geos4geom4prep15PreparedPolygonC1EPKNS0_8GeometryE_ZTVN4geos4geom4prep18PreparedLineStringE_ZTVN4geos4geom4prep13PreparedPointE_ZNK4geos4geom4prep18PreparedLineString10intersectsEPKNS0_8GeometryE_ZNK4geos4geom4prep28PreparedLineStringIntersects10intersectsEPKNS0_8GeometryE_ZN4geos4geom4prep18PreparedLineStringD2Ev_ZN4geos4geom4prep18PreparedLineStringD1Ev_ZN4geos4geom4prep18PreparedLineStringD0Ev_ZN4geos4geom4prep18PreparedLineString21getIntersectionFinderEv_ZN4geos6noding32FastSegmentSetIntersectionFinderC1EPSt6vectorIPKNS0_13SegmentStringESaIS5_EE_ZTSN4geos4geom4prep18PreparedLineStringE_ZTIN4geos4geom4prep18PreparedLineStringE_ZNK4geos4geom4prep28PreparedLineStringIntersects22isAnyTestPointInTargetEPKNS0_8GeometryE_ZN4geos6noding32FastSegmentSetIntersectionFinder10intersectsEPSt6vectorIPKNS0_13SegmentStringESaIS5_EE_ZN4geos4geom4prep13PreparedPointD2Ev_ZN4geos4geom4prep13PreparedPointD1Ev_ZN4geos4geom4prep13PreparedPointD0Ev_ZNK4geos4geom4prep13PreparedPoint10intersectsEPKNS0_8GeometryE_ZTSN4geos4geom4prep13PreparedPointE_ZTIN4geos4geom4prep13PreparedPointE_ZN4geos4geom4prep24PreparedPolygonPredicateD2Ev_ZTVN4geos4geom4prep24PreparedPolygonPredicateE_ZN4geos4geom4prep24PreparedPolygonPredicateD1Ev_ZN4geos4geom4prep31AbstractPreparedPolygonContainsD2Ev_ZN4geos4geom4prep31AbstractPreparedPolygonContainsD1Ev_ZN4geos4geom4prep25PreparedPolygonIntersectsD2Ev_ZN4geos4geom4prep25PreparedPolygonIntersectsD1Ev_ZN4geos4geom4prep31PreparedPolygonContainsProperlyD2Ev_ZN4geos4geom4prep31PreparedPolygonContainsProperlyD1Ev_ZN4geos4geom4prep24PreparedPolygonPredicateD0Ev_ZN4geos4geom4prep31AbstractPreparedPolygonContainsD0Ev_ZN4geos4geom4prep25PreparedPolygonIntersectsD0Ev_ZN4geos4geom4prep31PreparedPolygonContainsProperlyD0Ev_ZNK4geos4geom4prep15PreparedPolygon16containsProperlyEPKNS0_8GeometryE_ZTVN4geos4geom4prep31PreparedPolygonContainsProperlyE_ZN4geos4geom4prep31PreparedPolygonContainsProperly16containsProperlyEPKNS0_8GeometryE_ZNK4geos4geom4prep15PreparedPolygon6coversEPKNS0_8GeometryE_ZTVN4geos4geom4prep21PreparedPolygonCoversE_ZNK4geos4geom4prep15PreparedPolygon8containsEPKNS0_8GeometryE_ZN4geos4geom4prep23PreparedPolygonContainsC1EPKNS1_15PreparedPolygonE__cxa_bad_cast_ZNK4geos4geom4prep15PreparedPolygon10intersectsEPKNS0_8GeometryE_ZTVN4geos4geom4prep25PreparedPolygonIntersectsE_ZN4geos4geom4prep25PreparedPolygonIntersects10intersectsEPKNS0_8GeometryE_ZN4geos4geom4prep15PreparedPolygonD2Ev_ZTVN4geos4geom4prep15PreparedPolygonE_ZN4geos4geom4prep15PreparedPolygonD1Ev_ZN4geos4geom4prep15PreparedPolygonD0Ev_ZN4geos4geom4prep15PreparedPolygonC2EPKNS0_8GeometryE_ZNK4geos4geom4prep15PreparedPolygon15getPointLocatorEv_ZTSN4geos4geom4prep15PreparedPolygonE_ZTIN4geos4geom4prep15PreparedPolygonE_ZTIN4geos4geom4prep24PreparedPolygonPredicateE_ZTSN4geos4geom4prep24PreparedPolygonPredicateE_ZTIN4geos4geom4prep31AbstractPreparedPolygonContainsE_ZTSN4geos4geom4prep31AbstractPreparedPolygonContainsE_ZTIN4geos4geom4prep31PreparedPolygonContainsProperlyE_ZTSN4geos4geom4prep31PreparedPolygonContainsProperlyE_ZTIN4geos4geom4prep25PreparedPolygonIntersectsE_ZTSN4geos4geom4prep25PreparedPolygonIntersectsE_ZTVN4geos4geom4prep31AbstractPreparedPolygonContainsE_ZN4geos4geom4prep23PreparedPolygonContains24fullTopologicalPredicateEPKNS0_8GeometryE_ZN4geos4geom4prep23PreparedPolygonContainsD2Ev_ZN4geos4geom4prep23PreparedPolygonContainsD1Ev_ZN4geos4geom4prep23PreparedPolygonContainsD0Ev_ZN4geos4geom4prep23PreparedPolygonContainsC2EPKNS1_15PreparedPolygonE_ZTVN4geos4geom4prep23PreparedPolygonContainsE_ZTSN4geos4geom4prep23PreparedPolygonContainsE_ZTIN4geos4geom4prep23PreparedPolygonContainsE_ZNK4geos4geom4prep24PreparedPolygonPredicate35isAllTestComponentsInTargetInteriorEPKNS0_8GeometryE_ZN4geos4geom4prep21PreparedPolygonCoversD2Ev_ZN4geos4geom4prep21PreparedPolygonCoversD1Ev_ZN4geos4geom4prep21PreparedPolygonCoversD0Ev_ZN4geos4geom4prep21PreparedPolygonCovers24fullTopologicalPredicateEPKNS0_8GeometryE_ZTSN4geos4geom4prep21PreparedPolygonCoversE_ZTIN4geos4geom4prep21PreparedPolygonCoversE_ZNK4geos4geom4prep24PreparedPolygonPredicate26isAnyTestComponentInTargetEPKNS0_8GeometryE_ZN4geos4geom4prep22LocationMatchingFilter9filter_roEPKNS0_8GeometryE_ZN4geos4geom4prep22LocationMatchingFilter6isDoneEv_ZN4geos4geom4prep25LocationNotMatchingFilter9filter_roEPKNS0_8GeometryE_ZN4geos4geom4prep25LocationNotMatchingFilter6isDoneEv_ZN4geos4geom4prep23OutermostLocationFilter9filter_roEPKNS0_8GeometryE_ZN4geos4geom4prep23OutermostLocationFilter6isDoneEv_ZN4geos4geom4prep23OutermostLocationFilterD2Ev_ZN4geos4geom4prep23OutermostLocationFilterD1Ev_ZN4geos4geom4prep25LocationNotMatchingFilterD2Ev_ZN4geos4geom4prep25LocationNotMatchingFilterD1Ev_ZN4geos4geom4prep22LocationMatchingFilterD2Ev_ZN4geos4geom4prep22LocationMatchingFilterD1Ev_ZN4geos4geom4prep23OutermostLocationFilterD0Ev_ZN4geos4geom4prep25LocationNotMatchingFilterD0Ev_ZN4geos4geom4prep22LocationMatchingFilterD0Ev_ZTVN4geos4geom4prep23OutermostLocationFilterE_ZTVN4geos4geom4prep25LocationNotMatchingFilterE_ZTVN4geos4geom4prep22LocationMatchingFilterE_ZTIN4geos4geom4prep22LocationMatchingFilterE_ZTSN4geos4geom4prep22LocationMatchingFilterE_ZTIN4geos4geom4prep25LocationNotMatchingFilterE_ZTSN4geos4geom4prep25LocationNotMatchingFilterE_ZTIN4geos4geom4prep23OutermostLocationFilterE_ZTSN4geos4geom4prep23OutermostLocationFilterE_ZN4geos9geomgraph5Depth9normalizeEv_ZN4geos9geomgraph5Depth3addERKNS0_5LabelE_ZNK4geos9geomgraph5Depth8toStringEv_ZN4geos9geomgraph7EdgeEnd13getCoordinateEv_ZN4geos9geomgraph12DirectedEdgeD2Ev_ZTVN4geos9geomgraph7EdgeEndE_ZN4geos9geomgraph12DirectedEdgeD1Ev_ZN4geos9geomgraph12DirectedEdgeD0Ev_ZN4geos9geomgraph12DirectedEdge11depthFactorENS_4geom8LocationES3__ZN4geos9geomgraph12DirectedEdge8setDepthEii_ZNK4geos9geomgraph12DirectedEdge13getDepthDeltaEv_ZN4geos9geomgraph12DirectedEdge14setVisitedEdgeEb_ZN4geos9geomgraph12DirectedEdge10isLineEdgeEv_ZN4geos9geomgraph12DirectedEdge18isInteriorAreaEdgeEv_ZN4geos9geomgraph12DirectedEdge20computeDirectedLabelEv_ZN4geos9geomgraph12DirectedEdgeC2EPNS0_4EdgeEb_ZN4geos9geomgraph7EdgeEndC2EPNS0_4EdgeE_ZTVN4geos9geomgraph12DirectedEdgeE_ZN4geos9geomgraph7EdgeEnd4initERKNS_4geom10CoordinateES5__ZN4geos9geomgraph12DirectedEdgeC1EPNS0_4EdgeEb_ZN4geos9geomgraph12DirectedEdge13setEdgeDepthsEii_ZN4geos9geomgraph8Position8oppositeEi_ZN4geos9geomgraph12DirectedEdge9printEdgeEv_ZNK4geos9geomgraph12DirectedEdge5printEv_ZNK4geos9geomgraph7EdgeEnd5printEv_ZNSo9_M_insertIPKvEERSoT__ZN4geos9geomgraphlsERSoRKNS0_8EdgeRingE_ZTSN4geos9geomgraph12DirectedEdgeE_ZTIN4geos9geomgraph12DirectedEdgeE_ZTIN4geos9geomgraph7EdgeEndE_ZN4geos9geomgraph7EdgeEnd21getDirectedCoordinateEv_ZN4geos9geomgraph7EdgeEnd11getQuadrantEv_ZN4geos9geomgraph7EdgeEnd5getDxEv_ZN4geos9geomgraph7EdgeEnd5getDyEv_ZN4geos9geomgraph7EdgeEnd7setNodeEPNS0_4NodeE_ZN4geos9geomgraph7EdgeEnd7getNodeEv_ZNK4geos9geomgraph7EdgeEnd9compareToEPKS1__ZNK4geos9geomgraph7EdgeEnd16compareDirectionEPKS1__ZN4geos9geomgraph7EdgeEnd12computeLabelERKNS_9algorithm16BoundaryNodeRuleE_ZNK4geos9geomgraph11EdgeEndStar5beginEv_ZNK4geos9geomgraph11EdgeEndStar3endEv_ZN4geos9geomgraph11EdgeEndStar9getDegreeEv_ZN4geos9geomgraph11EdgeEndStar5beginEv_ZN4geos9geomgraph11EdgeEndStar8getEdgesEv_ZN4geos9geomgraph11EdgeEndStar4rendEv_ZN4geos9geomgraph11EdgeEndStar3endEv_ZN4geos9geomgraph11EdgeEndStar6rbeginEv_ZN4geos9geomgraph16DirectedEdgeStar6insertEPNS0_7EdgeEndE_ZN4geos9geomgraph16DirectedEdgeStar16computeLabellingEPSt6vectorIPNS0_13GeometryGraphESaIS4_EE_ZN4geos9geomgraph11EdgeEndStar16computeLabellingEPSt6vectorIPNS0_13GeometryGraphESaIS4_EE_ZN4geos9geomgraph11EdgeEndStar4findEPNS0_7EdgeEndE_ZN4geos9geomgraph11EdgeEndStar13insertEdgeEndEPNS0_7EdgeEndE_ZNK4geos9geomgraph16DirectedEdgeStar5printEv_ZNK4geos9geomgraph11EdgeEndStar13getCoordinateEv_ZN4geos9geomgraph16DirectedEdgeStar17getOutgoingDegreeEv_ZN4geos9geomgraph16DirectedEdgeStar17getOutgoingDegreeEPNS0_8EdgeRingE_ZN4geos9geomgraph16DirectedEdgeStar16getRightmostEdgeEv_ZN4geos9geomgraph16DirectedEdgeStar14mergeSymLabelsEv_ZN4geos9geomgraph16DirectedEdgeStar15updateLabellingERKNS0_5LabelE_ZN4geos9geomgraph16DirectedEdgeStar24linkMinimalDirectedEdgesEPNS0_8EdgeRingE_ZN4geos9geomgraph16DirectedEdgeStar20linkAllDirectedEdgesEv_ZN4geos9geomgraph16DirectedEdgeStar20findCoveredLineEdgesEv_ZN4geos9geomgraph16DirectedEdgeStar13computeDepthsESt23_Rb_tree_const_iteratorIPNS0_7EdgeEndEES5_i_ZN4geos9geomgraph16DirectedEdgeStar13computeDepthsEPNS0_12DirectedEdgeE_ZNSt8_Rb_treeIPN4geos9geomgraph7EdgeEndES3_St9_IdentityIS3_ENS1_9EdgeEndLTESaIS3_EE8_M_eraseEPSt13_Rb_tree_nodeIS3_E_ZN4geos9geomgraph16DirectedEdgeStarD2Ev_ZTVN4geos9geomgraph16DirectedEdgeStarE_ZTVN4geos9geomgraph11EdgeEndStarE_ZN4geos9geomgraph16DirectedEdgeStarD1Ev_ZN4geos9geomgraph16DirectedEdgeStarD0Ev_ZNSt6vectorIPN4geos9geomgraph12DirectedEdgeESaIS3_EE19_M_emplace_back_auxIIRKS3_EEEvDpOT__ZNSt6vectorIPN4geos9geomgraph12DirectedEdgeESaIS3_EE19_M_emplace_back_auxIJRKS3_EEEvDpOT__ZN4geos9geomgraph16DirectedEdgeStar18getResultAreaEdgesEv_ZN4geos9geomgraph16DirectedEdgeStar23linkResultDirectedEdgesEv_ZTSN4geos9geomgraph16DirectedEdgeStarE_ZTIN4geos9geomgraph16DirectedEdgeStarE_ZTIN4geos9geomgraph11EdgeEndStarE_ZN4geos9geomgraph11EdgeEndStar13getCoordinateEv_ZN4geos9geomgraph11EdgeEndStar9getNextCWEPNS0_7EdgeEndE_ZN4geos9geomgraph11EdgeEndStar22isAreaLabelsConsistentERKNS0_13GeometryGraphE_ZN4geos9geomgraph11EdgeEndStar19propagateSideLabelsEi_ZN4geos9geomgraph11EdgeEndStar11getLocationEiRKNS_4geom10CoordinateEPSt6vectorIPNS0_13GeometryGraphESaIS8_EE_ZN4geos9geomgraph11EdgeEndStar20computeEdgeEndLabelsERKNS_9algorithm16BoundaryNodeRuleE_ZN4geos9geomgraph11EdgeEndStar25checkAreaLabelsConsistentEi_ZN4geos9geomgraph14GraphComponent11setInResultEb_ZNK4geos9geomgraph14GraphComponent10isInResultEv_ZNK4geos9geomgraph14GraphComponent9isCoveredEv_ZNK4geos9geomgraph14GraphComponent12isCoveredSetEv_ZNK4geos9geomgraph14GraphComponent9isVisitedEv_ZN4geos9geomgraph14GraphComponent10setVisitedEb_ZNK4geos9geomgraph4Edge12getNumPointsEv_ZN4geos9geomgraph4Edge11getEnvelopeEv_ZNK4geos9geomgraph4Edge6equalsEPKS1__ZN4geos9geomgraph4EdgeD2Ev_ZTVN4geos9geomgraph4EdgeE_ZTVN4geos9geomgraph14GraphComponentE_ZN4geos9geomgraph4EdgeD1Ev_ZN4geos9geomgraph4EdgeD0Ev_ZN4geos9geomgraph4Edge23getEdgeIntersectionListEv_ZN4geos9geomgraph4Edge8getDepthEv_ZN4geos9geomgraph4Edge11setIsolatedEb_ZNK4geos9geomgraph4Edge10isIsolatedEv_ZN4geos9geomgraph4Edge13setDepthDeltaEi_ZNK4geos9geomgraph4Edge14getCoordinatesEv_ZNK4geos9geomgraph4Edge13getDepthDeltaEv_ZN4geos9geomgraph4Edge20getMonotoneChainEdgeEv_ZN4geos9geomgraph5index17MonotoneChainEdgeC1EPNS0_4EdgeE_ZNK4geos9geomgraph4Edge11isCollapsedEv_ZNK4geos9geomgraph4Edge22getMaximumSegmentIndexEv_ZNK4geos9geomgraph4Edge13getCoordinateEm_ZNK4geos9geomgraph4Edge13getCoordinateEv_ZN4geos9geomgraph4Edge15addIntersectionEPNS_9algorithm15LineIntersectorEmmm_ZN4geos9geomgraph20EdgeIntersectionList3addERKNS_4geom10CoordinateEmd_ZNK4geos9geomgraph4Edge8isClosedEv_ZNK4geos9geomgraph4Edge16isPointwiseEqualEPKS1__ZN4geos9geomgraph4Edge16addIntersectionsEPNS_9algorithm15LineIntersectorEmm_ZNK4geos9geomgraph4Edge6equalsERKS1__ZN4geos9geomgraph4Edge8updateIMERKNS0_5LabelERNS_4geom18IntersectionMatrixE_ZN4geos9geomgraph4Edge9computeIMERNS_4geom18IntersectionMatrixE_ZN4geos9geomgraph4EdgeC2EPNS_4geom18CoordinateSequenceERKNS0_5LabelE_ZN4geos9geomgraph14GraphComponentC2ERKNS0_5LabelE_ZN4geos9geomgraph20EdgeIntersectionListC1EPKNS0_4EdgeE_ZN4geos9geomgraph4EdgeC1EPNS_4geom18CoordinateSequenceERKNS0_5LabelE_ZN4geos9geomgraph4Edge16getCollapsedEdgeEv_ZN4geos9geomgraph4EdgeC2EPNS_4geom18CoordinateSequenceE_ZN4geos9geomgraph14GraphComponentC2Ev_ZN4geos9geomgraph4EdgeC1EPNS_4geom18CoordinateSequenceE_ZN4geos9geomgraphlsERSoRKNS0_4EdgeE_ZN4geos9geomgraphlsERSoRKNS0_5LabelE_ZNK4geos9geomgraph4Edge12printReverseEv_ZNK4geos9geomgraph4Edge5printEv_ZTSN4geos9geomgraph4EdgeE_ZTIN4geos9geomgraph4EdgeE_ZTIN4geos9geomgraph14GraphComponentE_ZN4geos9geomgraph14GraphComponent10setCoveredEb_ZN4geos9geomgraph14GraphComponent8updateIMERNS_4geom18IntersectionMatrixE_ZN4geos9geomgraph7EdgeEndD2Ev_ZN4geos9geomgraph7EdgeEndD1Ev_ZN4geos9geomgraph7EdgeEndD0Ev_ZN4geos9geomgraph7EdgeEndC2Ev_ZN4geos9geomgraph7EdgeEndC1Ev_ZN4geos9geomgraph7EdgeEndC1EPNS0_4EdgeE_ZN4geos9geomgraph7EdgeEndC2EPNS0_4EdgeERKNS_4geom10CoordinateES7_RKNS0_5LabelE_ZN4geos9geomgraph7EdgeEndC1EPNS0_4EdgeERKNS_4geom10CoordinateES7_RKNS0_5LabelE_ZN4geos9geomgraph7EdgeEndC2EPNS0_4EdgeERKNS_4geom10CoordinateES7__ZN4geos9geomgraph7EdgeEndC1EPNS0_4EdgeERKNS_4geom10CoordinateES7__ZN4geos9geomgraphlsERSoRKNS0_7EdgeEndE_ZTSN4geos9geomgraph7EdgeEndE_ZN4geos9geomgraph11EdgeEndStarC2Ev_ZN4geos9geomgraph11EdgeEndStarC1Ev_ZN4geos9geomgraphlsERSoRKNS0_11EdgeEndStarE_ZN4geos9geomgraph11EdgeEndStarD2Ev_ZN4geos9geomgraph11EdgeEndStarD1Ev_ZN4geos9geomgraph11EdgeEndStarD0Ev_ZNK4geos9geomgraph11EdgeEndStar5printEv_ZTSN4geos9geomgraph11EdgeEndStarE_ZN4geos9geomgraph20EdgeIntersectionListC2EPKNS0_4EdgeE_ZNK4geos9geomgraph20EdgeIntersectionList7isEmptyEv_ZNK4geos9geomgraph20EdgeIntersectionList14isIntersectionERKNS_4geom10CoordinateE_ZSt6uniqueIN9__gnu_cxx17__normal_iteratorIPN4geos9geomgraph16EdgeIntersectionESt6vectorIS4_SaIS4_EEEEET_SA_SA__ZNSt6vectorIN4geos9geomgraph16EdgeIntersectionESaIS2_EE19_M_emplace_back_auxIIRKNS0_4geom10CoordinateERmRdEEEvDpOT__ZNSt6vectorIN4geos9geomgraph16EdgeIntersectionESaIS2_EE19_M_emplace_back_auxIJRKNS0_4geom10CoordinateERmRdEEEvDpOT__ZNSt6vectorIN4geos9geomgraph16EdgeIntersectionESaIS2_EE12emplace_backIIRKNS0_4geom10CoordinateERmRdEEEvDpOT__ZNSt6vectorIN4geos9geomgraph16EdgeIntersectionESaIS2_EE12emplace_backIJRKNS0_4geom10CoordinateERmRdEEEvDpOT__ZN4geos9geomgraph20EdgeIntersectionList12addEndpointsEv_ZNSt6vectorIPN4geos9geomgraph4EdgeESaIS3_EE19_M_emplace_back_auxIIRKS3_EEEvDpOT__ZNSt6vectorIPN4geos9geomgraph4EdgeESaIS3_EE19_M_emplace_back_auxIJRKS3_EEEvDpOT__ZN4geos9geomgraph20EdgeIntersectionList15createSplitEdgeEPKNS0_16EdgeIntersectionES4__ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN4geos9geomgraph16EdgeIntersectionESt6vectorIS4_SaIS4_EEEEEvT_SA_SA_SA__ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPN4geos9geomgraph16EdgeIntersectionESt6vectorIS4_SaIS4_EEEEEvT__ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPN4geos9geomgraph16EdgeIntersectionESt6vectorIS4_SaIS4_EEEEEvT_SA__ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPN4geos9geomgraph16EdgeIntersectionESt6vectorIS4_SaIS4_EEEElS4_EvT_T0_SB_T1__ZSt13__heap_selectIN9__gnu_cxx17__normal_iteratorIPN4geos9geomgraph16EdgeIntersectionESt6vectorIS4_SaIS4_EEEEEvT_SA_SA__ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPN4geos9geomgraph16EdgeIntersectionESt6vectorIS4_SaIS4_EEEElEvT_SA_T0__ZN4geos9geomgraphlsERSoRKNS0_20EdgeIntersectionListE_ZNK4geos9geomgraph20EdgeIntersectionList5printEv_ZN4geos9geomgraph20EdgeIntersectionList13addSplitEdgesEPSt6vectorIPNS0_4EdgeESaIS4_EE_ZN4geos9geomgraph19EdgeNodingValidatorD2Ev_ZN4geos9geomgraph19EdgeNodingValidatorD1Ev_ZNSt6vectorIPN4geos6noding13SegmentStringESaIS3_EE19_M_emplace_back_auxIIS3_EEEvDpOT__ZNSt6vectorIPN4geos6noding13SegmentStringESaIS3_EE19_M_emplace_back_auxIJS3_EEEvDpOT__ZNSt6vectorIPN4geos4geom18CoordinateSequenceESaIS3_EE19_M_emplace_back_auxIIS3_EEEvDpOT__ZNSt6vectorIPN4geos4geom18CoordinateSequenceESaIS3_EE19_M_emplace_back_auxIJS3_EEEvDpOT__ZN4geos9geomgraph19EdgeNodingValidator16toSegmentStringsERSt6vectorIPNS0_4EdgeESaIS4_EE_ZN4geos9geomgraph8EdgeList3getEi_ZNK4geos9geomgraph8EdgeList13findEdgeIndexEPKNS0_4EdgeE_ZN4geos9geomgraph8EdgeList9clearListEv_ZN4geos9geomgraphlsERSoRKNS0_8EdgeListE_ZNSt10_HashtableIN4geos6noding23OrientedCoordinateArrayESt4pairIKS2_PNS0_9geomgraph4EdgeEESaIS8_ENSt8__detail10_Select1stESt8equal_toIS2_ENS2_8HashCodeENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE21_M_insert_unique_nodeEmmPNSA_10_Hash_nodeIS8_Lb1EEE_ZNKSt8__detail20_Prime_rehash_policy14_M_need_rehashEmmmmemset_ZNKSt10_HashtableIN4geos6noding23OrientedCoordinateArrayESt4pairIKS2_PNS0_9geomgraph4EdgeEESaIS8_ENSt8__detail10_Select1stESt8equal_toIS2_ENS2_8HashCodeENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE19_M_find_before_nodeEmRS4_m_ZNK4geos6noding23OrientedCoordinateArrayeqERKS1__ZNK4geos9geomgraph8EdgeList13findEqualEdgeEPKNS0_4EdgeE_ZN4geos6noding23OrientedCoordinateArray11orientationERKNS_4geom18CoordinateSequenceE_ZNK4geos6noding23OrientedCoordinateArray8HashCodeclERKS1__ZN4geos9geomgraph8EdgeList3addEPNS0_4EdgeE_ZN4geos9geomgraph8EdgeList6addAllERKSt6vectorIPNS0_4EdgeESaIS4_EE_ZN4geos9geomgraph8EdgeList5printEv_ZN4geos9geomgraph8EdgeRing8getShellEv_ZN4geos9geomgraph8EdgeRing8getLabelEv_ZN4geos9geomgraph8EdgeRing13getLinearRingEv_ZN4geos9geomgraph8EdgeRing7isShellEv_ZN4geos9geomgraph8EdgeRing6isHoleEv_ZN4geos9geomgraph8EdgeRingC2EPNS0_12DirectedEdgeEPKNS_4geom15GeometryFactoryE_ZN4geos9geomgraph8EdgeRingC1EPNS0_12DirectedEdgeEPKNS_4geom15GeometryFactoryE_ZN4geos9geomgraph8EdgeRing10isIsolatedEv_ZN4geos9geomgraph8EdgeRing11computeRingEv_ZN4geos9geomgraph8EdgeRing8getEdgesEv_ZN4geos9geomgraph8EdgeRing20computeMaxNodeDegreeEv_ZN4geos9geomgraph8EdgeRing16getMaxNodeDegreeEv_ZN4geos9geomgraph8EdgeRing11setInResultEv_ZN4geos9geomgraph8EdgeRing10mergeLabelERKNS0_5LabelEi_ZN4geos9geomgraph8EdgeRing10mergeLabelERKNS0_5LabelE_ZN4geos9geomgraph8EdgeRing9addPointsEPNS0_4EdgeEbb_ZN4geos9geomgraph8EdgeRing13containsPointERKNS_4geom10CoordinateE_ZN4geos9geomgraph8EdgeRing9toPolygonEPKNS_4geom15GeometryFactoryE_ZNSt6vectorISt10unique_ptrIN4geos9geomgraph8EdgeRingESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIIRPS3_EEEvDpOT__ZNSt6vectorISt10unique_ptrIN4geos9geomgraph8EdgeRingESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIJRPS3_EEEvDpOT__ZN4geos9geomgraph8EdgeRing7addHoleEPS1__ZN4geos9geomgraph8EdgeRing8setShellEPS1__ZN4geos9geomgraph8EdgeRing13computePointsEPNS0_12DirectedEdgeE_ZN4geos9geomgraph5index18SegmentIntersectorD2Ev_ZTVN4geos9geomgraph5index18SegmentIntersectorE_ZN4geos9geomgraph5index18SegmentIntersectorD1Ev_ZN4geos9geomgraph5index18EdgeSetIntersectorD2Ev_ZTVN4geos9geomgraph5index18EdgeSetIntersectorE_ZN4geos9geomgraph5index18EdgeSetIntersectorD1Ev_ZN4geos9geomgraph5index18SegmentIntersectorD0Ev_ZN4geos9geomgraph5index18EdgeSetIntersectorD0Ev_ZN4geos9geomgraph13GeometryGraph17determineBoundaryEi_ZN4geos9geomgraph13GeometryGraph24createEdgeSetIntersectorEv_ZTVN4geos9geomgraph5index28SimpleMCSweepLineIntersectorE_ZN4geos9geomgraph13GeometryGraph16getBoundaryNodesEv_ZN4geos9geomgraph13GeometryGraph8findEdgeEPKNS_4geom10LineStringE_ZN4geos9geomgraph13GeometryGraph17computeSplitEdgesEPSt6vectorIPNS0_4EdgeESaIS4_EE_ZN4geos9geomgraph13GeometryGraph11insertPointEiRKNS_4geom10CoordinateENS2_8LocationE_ZN4geos9geomgraph7NodeMap7addNodeERKNS_4geom10CoordinateE_ZN4geos9geomgraph13GeometryGraph8addPointEPKNS_4geom5PointE_ZN4geos9geomgraph13GeometryGraph7addEdgeEPNS0_4EdgeE_ZN4geos9geomgraph13GeometryGraph8addPointERNS_4geom10CoordinateE_ZN4geos9geomgraph13GeometryGraph8getEdgesEv_ZN4geos9geomgraph13GeometryGraph15hasTooFewPointsEv_ZN4geos9geomgraph13GeometryGraph15getInvalidPointEv_ZN4geos9geomgraph13GeometryGraph17determineBoundaryERKNS_9algorithm16BoundaryNodeRuleEi_ZN4geos9geomgraph13GeometryGraph19insertBoundaryPointEiRKNS_4geom10CoordinateE_ZN4geos9geomgraph13GeometryGraph23addSelfIntersectionNodeEiRKNS_4geom10CoordinateENS2_8LocationE_ZN4geos9geomgraph13GeometryGraphC2Ev_ZN4geos9geomgraph11PlanarGraphC2Ev_ZN4geos9geomgraph13GeometryGraphC1Ev_ZNSt8_Rb_treeIPKN4geos4geom10LineStringESt4pairIKS4_PNS0_9geomgraph4EdgeEESt10_Select1stISA_ESt4lessIS4_ESaISA_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSI_PSt13_Rb_tree_nodeISA_E_ZN4geos9geomgraph26collect_intersecting_edgesIN9__gnu_cxx17__normal_iteratorIPPNS0_4EdgeESt6vectorIS5_SaIS5_EEEES9_EEvPKNS_4geom8EnvelopeET_SF_RT0__ZN4geos9geomgraph13GeometryGraph24computeEdgeIntersectionsEPS1_PNS_9algorithm15LineIntersectorEbPKNS_4geom8EnvelopeE_ZNSt8_Rb_treeIPKN4geos4geom10LineStringESt4pairIKS4_PNS0_9geomgraph4EdgeEESt10_Select1stISA_ESt4lessIS4_ESaISA_EE24_M_get_insert_unique_posERS6__ZNSt8_Rb_treeIPKN4geos4geom10LineStringESt4pairIKS4_PNS0_9geomgraph4EdgeEESt10_Select1stISA_ESt4lessIS4_ESaISA_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorISA_ERS6__ZN4geos9geomgraph13GeometryGraph13addLineStringEPKNS_4geom10LineStringE_ZN4geos9operation5valid20RepeatedPointRemover20removeRepeatedPointsEPKNS_4geom18CoordinateSequenceE_ZN4geos9geomgraph13GeometryGraph14addPolygonRingEPKNS_4geom10LinearRingENS2_8LocationES6__ZN4geos9geomgraph13GeometryGraph10addPolygonEPKNS_4geom7PolygonE_ZN4geos9geomgraph13GeometryGraph3addEPKNS_4geom8GeometryE_ZN4geos9geomgraph13GeometryGraph13addCollectionEPKNS_4geom18GeometryCollectionE_ZN4geos9geomgraph13GeometryGraphC2EiPKNS_4geom8GeometryE_ZN4geos9geomgraph13GeometryGraphC2EiPKNS_4geom8GeometryERKNS_9algorithm16BoundaryNodeRuleE_ZN4geos9geomgraph13GeometryGraphC1EiPKNS_4geom8GeometryERKNS_9algorithm16BoundaryNodeRuleE_ZN4geos9geomgraph13GeometryGraph24addSelfIntersectionNodesEi_ZN4geos9geomgraph13GeometryGraph16computeSelfNodesERNS_9algorithm15LineIntersectorEbbPKNS_4geom8EnvelopeE_ZN4geos9geomgraph13GeometryGraph16computeSelfNodesERNS_9algorithm15LineIntersectorEbPKNS_4geom8EnvelopeE_ZTIN4geos9geomgraph5index18SegmentIntersectorE_ZTSN4geos9geomgraph5index18SegmentIntersectorE_ZTIN4geos9geomgraph5index18EdgeSetIntersectorE_ZTSN4geos9geomgraph5index18EdgeSetIntersectorE_ZN4geos9geomgraph14GraphComponentD2Ev_ZN4geos9geomgraph14GraphComponentD1Ev_ZN4geos9geomgraph14GraphComponentD0Ev_ZN4geos9geomgraph14GraphComponentC1Ev_ZN4geos9geomgraph14GraphComponentC1ERKNS0_5LabelE_ZTSN4geos9geomgraph14GraphComponentE_ZN4geos9geomgraphlsERSoRKNS0_16TopologyLocationE_ZNK4geos9geomgraph5Label8toStringEv_ZN4geos9geomgraph4Node9computeIMERNS_4geom18IntersectionMatrixE_ZNK4geos9geomgraph4Node4getZEv_ZNK4geos9geomgraph4Node22isIncidentEdgeInResultEv_ZN4geos9geomgraph4Node16setLabelBoundaryEi_ZN4geos9geomgraph4NodeD2Ev_ZTVN4geos9geomgraph4NodeE_ZN4geos9geomgraph4NodeD1Ev_ZN4geos9geomgraph4NodeD0Ev_ZN4geos9geomgraph4Node8setLabelEiNS_4geom8LocationE_ZNK4geos9geomgraph4Node13getCoordinateEv_ZN4geos9geomgraph4Node21computeMergedLocationERKNS0_5LabelEi_ZN4geos9geomgraph4Node10mergeLabelERKS1__ZN4geos9geomgraph4Node8getEdgesEv_ZNK4geos9geomgraph4Node10isIsolatedEv_ZN4geos9geomgraph4Node10mergeLabelERKNS0_5LabelE_ZN4geos9geomgraph4Node3addEPNS0_7EdgeEndE_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode_ZN4geos9geomgraphlsERSoRKNS0_4NodeE_ZN4geos9geomgraph4Node4addZEd_ZN4geos9geomgraph4NodeC2ERKNS_4geom10CoordinateEPNS0_11EdgeEndStarE_ZN4geos9geomgraph4NodeC1ERKNS_4geom10CoordinateEPNS0_11EdgeEndStarE_ZN4geos9geomgraph4Node5printEv_ZTSN4geos9geomgraph4NodeE_ZTIN4geos9geomgraph4NodeE_ZN4geos9geomgraph11NodeFactoryD2Ev_ZTVN4geos9geomgraph11NodeFactoryE_ZN4geos9geomgraph11NodeFactoryD1Ev_ZN4geos9geomgraph11NodeFactoryD0Ev_ZNK4geos9geomgraph11NodeFactory10createNodeERKNS_4geom10CoordinateE_ZN4geos9geomgraph11NodeFactory8instanceEv_ZTSN4geos9geomgraph11NodeFactoryE_ZTIN4geos9geomgraph11NodeFactoryE_ZN4geos9geomgraph7NodeMapC2ERKNS0_11NodeFactoryE_ZTVN4geos9geomgraph7NodeMapE_ZN4geos9geomgraph7NodeMapC1ERKNS0_11NodeFactoryE_ZNK4geos9geomgraph7NodeMap4findERKNS_4geom10CoordinateE_ZNK4geos9geomgraph7NodeMap5printEv_ZNSt8_Rb_treeIPN4geos4geom10CoordinateESt4pairIKS3_PNS0_9geomgraph4NodeEESt10_Select1stIS9_ENS1_18CoordinateLessThenESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E_ZN4geos9geomgraph7NodeMapD2Ev_ZN4geos9geomgraph7NodeMapD1Ev_ZN4geos9geomgraph7NodeMapD0Ev_ZNSt6vectorIPN4geos9geomgraph4NodeESaIS3_EE19_M_emplace_back_auxIIRKS3_EEEvDpOT__ZNSt6vectorIPN4geos9geomgraph4NodeESaIS3_EE19_M_emplace_back_auxIJRKS3_EEEvDpOT__ZNSt8_Rb_treeIPN4geos4geom10CoordinateESt4pairIKS3_PNS0_9geomgraph4NodeEESt10_Select1stIS9_ENS1_18CoordinateLessThenESaIS9_EE24_M_get_insert_unique_posERS5__ZNSt8_Rb_treeIPN4geos4geom10CoordinateESt4pairIKS3_PNS0_9geomgraph4NodeEESt10_Select1stIS9_ENS1_18CoordinateLessThenESaIS9_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS9_ERS5__ZNSt8_Rb_treeIPN4geos4geom10CoordinateESt4pairIKS3_PNS0_9geomgraph4NodeEESt10_Select1stIS9_ENS1_18CoordinateLessThenESaIS9_EE22_M_emplace_hint_uniqueIIRKSt21piecewise_construct_tSt5tupleIIRS5_EESJ_IIEEEEESt17_Rb_tree_iteratorIS9_ESt23_Rb_tree_const_iteratorIS9_EDpOT__ZNSt8_Rb_treeIPN4geos4geom10CoordinateESt4pairIKS3_PNS0_9geomgraph4NodeEESt10_Select1stIS9_ENS1_18CoordinateLessThenESaIS9_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESJ_IJEEEEESt17_Rb_tree_iteratorIS9_ESt23_Rb_tree_const_iteratorIS9_EDpOT__ZN4geos9geomgraph7NodeMap7addNodeEPNS0_4NodeE_ZN4geos9geomgraph7NodeMap3addEPNS0_7EdgeEndE_ZTSN4geos9geomgraph7NodeMapE_ZTIN4geos9geomgraph7NodeMapE_ZTVN4geos9geomgraph11PlanarGraphE_ZN4geos9geomgraph11PlanarGraphD1Ev_ZN4geos9geomgraph11PlanarGraphD0Ev_ZN4geos9geomgraph11PlanarGraphC2ERKNS0_11NodeFactoryE_ZN4geos9geomgraph11PlanarGraphC1ERKNS0_11NodeFactoryE_ZN4geos9geomgraph11PlanarGraphC1Ev_ZN4geos9geomgraph11PlanarGraph20matchInSameDirectionERKNS_4geom10CoordinateES5_S5_S5__ZN4geos6detail11make_uniqueINS_9geomgraph12DirectedEdgeEIRPNS2_4EdgeEbEEENS0_10_Unique_ifIT_E14_Single_objectEDpOT0__ZN4geos6detail11make_uniqueINS_9geomgraph12DirectedEdgeEJRPNS2_4EdgeEbEEENS0_10_Unique_ifIT_E14_Single_objectEDpOT0__ZNSt6vectorIPN4geos9geomgraph7EdgeEndESaIS3_EE19_M_emplace_back_auxIIRKS3_EEEvDpOT__ZNSt6vectorIPN4geos9geomgraph7EdgeEndESaIS3_EE19_M_emplace_back_auxIJRKS3_EEEvDpOT__ZTSN4geos9geomgraph11PlanarGraphE_ZN4geos9geomgraph8Quadrant15commonHalfPlaneEii_ZN4geos9geomgraph8Quadrant13isInHalfPlaneEii_ZNK4geos9geomgraph16TopologyLocation8toStringEv_ZN4geos9geomgraph5index17MonotoneChainEdgeC2EPNS0_4EdgeE_ZN4geos9geomgraph5index20MonotoneChainIndexer20getChainStartIndicesEPKNS_4geom18CoordinateSequenceERSt6vectorImSaImEE_ZN4geos9geomgraph5index17MonotoneChainEdge14getCoordinatesEv_ZN4geos9geomgraph5index17MonotoneChainEdge15getStartIndexesEv_ZN4geos9geomgraph5index17MonotoneChainEdge7getMinXEm_ZN4geos9geomgraph5index17MonotoneChainEdge7getMaxXEm_ZN4geos9geomgraph5index17MonotoneChainEdge8overlapsEmmRKS2_mm_ZN4geos9geomgraph5index17MonotoneChainEdge25computeIntersectsForChainEmmRKS2_mmRNS1_18SegmentIntersectorE_ZN4geos9geomgraph5index18SegmentIntersector16addIntersectionsEPNS0_4EdgeEmS4_m_ZN4geos9geomgraph5index17MonotoneChainEdge25computeIntersectsForChainEmRKS2_mRNS1_18SegmentIntersectorE_ZN4geos9geomgraph5index17MonotoneChainEdge17computeIntersectsERKS2_RNS1_18SegmentIntersectorE_ZN4geos9geomgraph5index20MonotoneChainIndexer12findChainEndEPKNS_4geom18CoordinateSequenceEm_ZNSt6vectorImSaImEE19_M_emplace_back_auxIIRKmEEEvDpOT__ZNSt6vectorImSaImEE19_M_emplace_back_auxIJRKmEEEvDpOT__ZN4geos9geomgraph5index18SegmentIntersector21isTrivialIntersectionEPNS0_4EdgeEmS4_m_ZN4geos9geomgraph5index24SimpleEdgeSetIntersectorD2Ev_ZN4geos9geomgraph5index24SimpleEdgeSetIntersectorD1Ev_ZN4geos9geomgraph5index24SimpleEdgeSetIntersectorD0Ev_ZN4geos9geomgraph5index24SimpleEdgeSetIntersectorC2Ev_ZTVN4geos9geomgraph5index24SimpleEdgeSetIntersectorE_ZN4geos9geomgraph5index24SimpleEdgeSetIntersectorC1Ev_ZN4geos9geomgraph5index24SimpleEdgeSetIntersector17computeIntersectsEPNS0_4EdgeES4_PNS1_18SegmentIntersectorE_ZN4geos9geomgraph5index24SimpleEdgeSetIntersector20computeIntersectionsEPSt6vectorIPNS0_4EdgeESaIS5_EEPNS1_18SegmentIntersectorEb_ZN4geos9geomgraph5index24SimpleEdgeSetIntersector20computeIntersectionsEPSt6vectorIPNS0_4EdgeESaIS5_EES8_PNS1_18SegmentIntersectorE_ZTSN4geos9geomgraph5index24SimpleEdgeSetIntersectorE_ZTIN4geos9geomgraph5index24SimpleEdgeSetIntersectorE_ZN4geos9geomgraph5index17SweepLineEventOBJD2Ev_ZTVN4geos9geomgraph5index17SweepLineEventOBJE_ZN4geos9geomgraph5index17SweepLineEventOBJD1Ev_ZN4geos9geomgraph5index13MonotoneChainD2Ev_ZN4geos9geomgraph5index13MonotoneChainD1Ev_ZN4geos9geomgraph5index17SweepLineEventOBJD0Ev_ZN4geos9geomgraph5index13MonotoneChainD0Ev_ZN4geos9geomgraph5index28SimpleMCSweepLineIntersector15processOverlapsEmmPNS1_14SweepLineEventEPNS1_18SegmentIntersectorE_ZNSt6vectorIPN4geos9geomgraph5index14SweepLineEventESaIS4_EE7reserveEm_ZNSt5dequeIN4geos9geomgraph5index13MonotoneChainESaIS3_EE16_M_push_back_auxIIRPNS2_17MonotoneChainEdgeERmEEEvDpOT__ZTVN4geos9geomgraph5index13MonotoneChainE_ZNSt5dequeIN4geos9geomgraph5index13MonotoneChainESaIS3_EE16_M_push_back_auxIJRPNS2_17MonotoneChainEdgeERmEEEvDpOT__ZNSt6vectorIPN4geos9geomgraph5index14SweepLineEventESaIS4_EE19_M_emplace_back_auxIIS4_EEEvDpOT__ZNSt6vectorIPN4geos9geomgraph5index14SweepLineEventESaIS4_EE19_M_emplace_back_auxIJS4_EEEvDpOT__ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPPN4geos9geomgraph5index14SweepLineEventESt6vectorIS6_SaIS6_EEEENS4_22SweepLineEventLessThenEEvT_SD_T0__ZNSt5dequeIN4geos9geomgraph5index14SweepLineEventESaIS3_EE17_M_reallocate_mapEmb_ZN4geos9geomgraph5index28SimpleMCSweepLineIntersector3addEPNS0_4EdgeEPv_ZN4geos9geomgraph5index14SweepLineEventC1EPvdPS2_PNS1_17SweepLineEventOBJE_ZN4geos9geomgraph5index28SimpleMCSweepLineIntersector3addEPSt6vectorIPNS0_4EdgeESaIS5_EE_ZN4geos9geomgraph5index28SimpleMCSweepLineIntersector3addEPSt6vectorIPNS0_4EdgeESaIS5_EEPv_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPPN4geos9geomgraph5index14SweepLineEventESt6vectorIS6_SaIS6_EEEENS4_22SweepLineEventLessThenEEvT_SD_SD_SD_T0__ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPPN4geos9geomgraph5index14SweepLineEventESt6vectorIS6_SaIS6_EEEElS6_NS4_22SweepLineEventLessThenEEvT_T0_SE_T1_T2__ZN4geos9geomgraph5index28SimpleMCSweepLineIntersector13prepareEventsEv_ZN4geos9geomgraph5index28SimpleMCSweepLineIntersector20computeIntersectionsEPNS1_18SegmentIntersectorE_ZN4geos9geomgraph5index28SimpleMCSweepLineIntersector20computeIntersectionsEPSt6vectorIPNS0_4EdgeESaIS5_EEPNS1_18SegmentIntersectorEb_ZN4geos9geomgraph5index28SimpleMCSweepLineIntersector20computeIntersectionsEPSt6vectorIPNS0_4EdgeESaIS5_EES8_PNS1_18SegmentIntersectorE_ZNSt11_Deque_baseIN4geos9geomgraph5index13MonotoneChainESaIS3_EED2Ev_ZNSt11_Deque_baseIN4geos9geomgraph5index13MonotoneChainESaIS3_EED1Ev_ZNSt5dequeIN4geos9geomgraph5index13MonotoneChainESaIS3_EE19_M_destroy_data_auxESt15_Deque_iteratorIS3_RS3_PS3_ES9__ZN4geos9geomgraph5index28SimpleMCSweepLineIntersectorD2Ev_ZN4geos9geomgraph5index28SimpleMCSweepLineIntersectorD1Ev_ZN4geos9geomgraph5index28SimpleMCSweepLineIntersectorD0Ev_ZTIN4geos9geomgraph5index17SweepLineEventOBJE_ZTSN4geos9geomgraph5index17SweepLineEventOBJE_ZTIN4geos9geomgraph5index13MonotoneChainE_ZTSN4geos9geomgraph5index13MonotoneChainE_ZTSN4geos9geomgraph5index28SimpleMCSweepLineIntersectorE_ZTIN4geos9geomgraph5index28SimpleMCSweepLineIntersectorE_ZN4geos9geomgraph5index26SimpleSweepLineIntersectorD2Ev_ZTVN4geos9geomgraph5index26SimpleSweepLineIntersectorE_ZN4geos9geomgraph5index26SimpleSweepLineIntersectorD1Ev_ZN4geos9geomgraph5index26SimpleSweepLineIntersectorD0Ev_ZN4geos9geomgraph5index26SimpleSweepLineIntersectorC2Ev_ZN4geos9geomgraph5index26SimpleSweepLineIntersectorC1Ev_ZN4geos9geomgraph5index26SimpleSweepLineIntersector15processOverlapsEmmPNS1_14SweepLineEventEPNS1_18SegmentIntersectorE_ZN4geos9geomgraph5index16SweepLineSegment20computeIntersectionsEPS2_PNS1_18SegmentIntersectorE_ZNSt6vectorIPN4geos9geomgraph5index14SweepLineEventESaIS4_EE19_M_emplace_back_auxIIRKS4_EEEvDpOT__ZNSt6vectorIPN4geos9geomgraph5index14SweepLineEventESaIS4_EE19_M_emplace_back_auxIJRKS4_EEEvDpOT__ZN4geos9geomgraph5index26SimpleSweepLineIntersector3addEPNS0_4EdgeEPv_ZN4geos9geomgraph5index16SweepLineSegment7getMaxXEv_ZN4geos9geomgraph5index16SweepLineSegmentC1EPNS0_4EdgeEm_ZN4geos9geomgraph5index16SweepLineSegment7getMinXEv_ZN4geos9geomgraph5index26SimpleSweepLineIntersector3addEPSt6vectorIPNS0_4EdgeESaIS5_EE_ZN4geos9geomgraph5index26SimpleSweepLineIntersector3addEPSt6vectorIPNS0_4EdgeESaIS5_EEPv_ZN4geos9geomgraph5index26SimpleSweepLineIntersector13prepareEventsEv_ZN4geos9geomgraph5index26SimpleSweepLineIntersector20computeIntersectionsEPNS1_18SegmentIntersectorE_ZN4geos9geomgraph5index26SimpleSweepLineIntersector20computeIntersectionsEPSt6vectorIPNS0_4EdgeESaIS5_EEPNS1_18SegmentIntersectorEb_ZN4geos9geomgraph5index26SimpleSweepLineIntersector20computeIntersectionsEPSt6vectorIPNS0_4EdgeESaIS5_EES8_PNS1_18SegmentIntersectorE_ZTSN4geos9geomgraph5index26SimpleSweepLineIntersectorE_ZTIN4geos9geomgraph5index26SimpleSweepLineIntersectorE_ZN4geos9geomgraph5index14SweepLineEventC2EPvdPS2_PNS1_17SweepLineEventOBJE_ZN4geos9geomgraph5index14SweepLineEvent9compareToEPS2__ZN4geos9geomgraph5index14SweepLineEvent5printEv_ZN4geos9geomgraph5index16SweepLineSegmentD2Ev_ZN4geos9geomgraph5index16SweepLineSegmentD1Ev_ZN4geos9geomgraph5index16SweepLineSegmentD0Ev_ZN4geos9geomgraph5index16SweepLineSegmentC2EPNS0_4EdgeEm_ZTVN4geos9geomgraph5index16SweepLineSegmentE_ZTIN4geos9geomgraph5index16SweepLineSegmentE_ZTSN4geos9geomgraph5index16SweepLineSegmentE_ZN4geos5index7bintree4Root13isSearchMatchEPNS1_8IntervalE_ZN4geos5index7bintree4RootD2Ev_ZTVN4geos5index7bintree4RootE_ZN4geos5index7bintree8NodeBaseD2Ev_ZN4geos5index7bintree4RootD1Ev_ZN4geos5index7bintree4RootD0Ev_ZN4geos5index7bintree7Bintree12ensureExtentEPKNS1_8IntervalEd_ZNK4geos5index7bintree8Interval6getMinEv_ZNK4geos5index7bintree8Interval6getMaxEv_ZN4geos5index7bintree8IntervalC1Edd_ZN4geos5index7bintree7BintreeC2Ev_ZN4geos5index7bintree8NodeBaseC2Ev_ZN4geos5index7bintree7BintreeC1Ev_ZN4geos5index7bintree7BintreeD2Ev_ZN4geos5index7bintree7BintreeD1Ev_ZN4geos5index7bintree7Bintree5depthEv_ZN4geos5index7bintree7Bintree4sizeEv_ZN4geos5index7bintree7Bintree8nodeSizeEv_ZN4geos5index7bintree7Bintree8iteratorEv_ZN4geos5index7bintree7Bintree5queryEPNS1_8IntervalEPSt6vectorIPvSaIS6_EE_ZN4geos5index7bintree7Bintree5queryEPNS1_8IntervalE_ZN4geos5index7bintree7Bintree5queryEd_ZN4geos5index7bintree7Bintree12collectStatsEPNS1_8IntervalE_ZNK4geos5index7bintree8Interval8getWidthEv_ZNSt6vectorIPN4geos5index7bintree8IntervalESaIS4_EE19_M_emplace_back_auxIIRKS4_EEEvDpOT__ZNSt6vectorIPN4geos5index7bintree8IntervalESaIS4_EE19_M_emplace_back_auxIJRKS4_EEEvDpOT__ZN4geos5index7bintree7Bintree6insertEPNS1_8IntervalEPv_ZN4geos5index7bintree4Root6insertEPNS1_8IntervalEPv_ZTIN4geos5index7bintree4RootE_ZTSN4geos5index7bintree4RootE_ZTIN4geos5index7bintree8NodeBaseE_ZN4geos5index7bintree8NodeBase8getItemsEv_ZN4geos5index7bintree8NodeBase3addEPv_ZN4geos5index7bintree8NodeBase11addAllItemsEPSt6vectorIPvSaIS4_EE_ZN4geos5index7bintree8NodeBase26addAllItemsFromOverlappingEPNS1_8IntervalEPSt6vectorIPvSaIS6_EE_ZN4geos5index7bintree8NodeBase5depthEv_ZN4geos5index7bintree8NodeBase4sizeEv_ZN4geos5index7bintree8NodeBase8nodeSizeEv_ZN4geos5index7bintree8IntervalC2Ev_ZN4geos5index7bintree8IntervalC1Ev_ZN4geos5index7bintree8Interval4initEdd_ZN4geos5index7bintree8IntervalC2Edd_ZN4geos5index7bintree8IntervalC2EPKS2__ZN4geos5index7bintree8IntervalC1EPKS2__ZN4geos5index7bintree8Interval15expandToIncludeEPS2__ZNK4geos5index7bintree8Interval8overlapsEdd_ZNK4geos5index7bintree8Interval8overlapsEPKS2__ZNK4geos5index7bintree8Interval8containsEdd_ZNK4geos5index7bintree8Interval8containsEPKS2__ZNK4geos5index7bintree8Interval8containsEd_ZN4geos5index7bintree3Key12computeLevelEPNS1_8IntervalE_ZN4geos5index8quadtree10DoubleBits8exponentEd_ZN4geos5index7bintree3KeyD2Ev_ZN4geos5index7bintree3KeyD1Ev_ZN4geos5index7bintree3Key8getPointEv_ZN4geos5index7bintree3Key8getLevelEv_ZN4geos5index7bintree3Key11getIntervalEv_ZN4geos5index7bintree3Key15computeIntervalEiPNS1_8IntervalE_ZN4geos5index8quadtree10DoubleBits8powerOf2Ei_ZN4geos5index7bintree3Key10computeKeyEPNS1_8IntervalE_ZN4geos5index7bintree3KeyC2EPNS1_8IntervalE_ZN4geos5index7bintree3KeyC1EPNS1_8IntervalE_ZN4geos5index7bintree4NodeD2Ev_ZTVN4geos5index7bintree4NodeE_ZN4geos5index7bintree4NodeD1Ev_ZN4geos5index7bintree4NodeD0Ev_ZN4geos5index7bintree4Node13isSearchMatchEPNS1_8IntervalE_ZN4geos5index7bintree4NodeC2EPNS1_8IntervalEi_ZN4geos5index7bintree4NodeC1EPNS1_8IntervalEi_ZN4geos5index7bintree4Node10createNodeEPNS1_8IntervalE_ZN4geos5index7bintree4Node11getIntervalEv_ZN4geos5index7bintree4Node4findEPNS1_8IntervalE_ZN4geos5index7bintree8NodeBase15getSubnodeIndexEPNS1_8IntervalEd_ZN4geos5index7bintree4Node13createSubnodeEi_ZN4geos5index7bintree4Node6insertEPS2__ZN4geos5index7bintree4Node14createExpandedEPS2_PNS1_8IntervalE_ZN4geos5index7bintree4Node10getSubnodeEi_ZN4geos5index7bintree4Node7getNodeEPNS1_8IntervalE_ZTSN4geos5index7bintree4NodeE_ZTIN4geos5index7bintree4NodeE_ZTVN4geos5index7bintree8NodeBaseE_ZN4geos5index7bintree8NodeBaseD1Ev_ZN4geos5index7bintree8NodeBaseD0Ev_ZN4geos5index7bintree8NodeBaseC1Ev_ZNSt6vectorIPvSaIS0_EE19_M_emplace_back_auxIIRKS0_EEEvDpOT__ZNSt6vectorIPvSaIS0_EE19_M_emplace_back_auxIJRKS0_EEEvDpOT__ZNSt6vectorIPvSaIS0_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS0_S2_EEEEvS7_T_S8_St20forward_iterator_tag_ZTSN4geos5index7bintree8NodeBaseE_ZN4geos5index7bintree4Root15insertContainedEPNS1_4NodeEPNS1_8IntervalEPv_ZN4geos5index8quadtree12IntervalSize11isZeroWidthEdd_ZN4geos5index7bintree4Root6originE_ZN4geos5index5chain13MonotoneChainC2ERKNS_4geom18CoordinateSequenceEmmPv_ZN4geos5index5chain13MonotoneChainC1ERKNS_4geom18CoordinateSequenceEmmPv_ZNK4geos5index5chain13MonotoneChain11getEnvelopeEv_ZNK4geos5index5chain13MonotoneChain14getLineSegmentEmRNS_4geom11LineSegmentE_ZNK4geos5index5chain13MonotoneChain14getCoordinatesEv_ZN4geos5index5chain13MonotoneChain13computeSelectERKNS_4geom8EnvelopeEmmRNS1_25MonotoneChainSelectActionE_ZN4geos5index5chain13MonotoneChain6selectERKNS_4geom8EnvelopeERNS1_25MonotoneChainSelectActionE_ZN4geos5index5chain13MonotoneChain8overlapsEmmRKS2_mm_ZN4geos5index5chain13MonotoneChain15computeOverlapsEmmRS2_mmRNS1_26MonotoneChainOverlapActionE_ZN4geos5index5chain13MonotoneChain15computeOverlapsEPS2_PNS1_26MonotoneChainOverlapActionE_ZN4geos5index5chain20MonotoneChainBuilder12findChainEndERKNS_4geom18CoordinateSequenceEm_ZNSt6vectorISt10unique_ptrIN4geos5index5chain13MonotoneChainESt14default_deleteIS4_EESaIS7_EE19_M_emplace_back_auxIIRPS4_EEEvDpOT__ZNSt6vectorISt10unique_ptrIN4geos5index5chain13MonotoneChainESt14default_deleteIS4_EESaIS7_EE19_M_emplace_back_auxIJRPS4_EEEvDpOT__ZN4geos5index5chain20MonotoneChainBuilder9getChainsEPKNS_4geom18CoordinateSequenceEPvRSt6vectorISt10unique_ptrINS1_13MonotoneChainESt14default_deleteISA_EESaISD_EE_ZN4geos5index5chain20MonotoneChainBuilder9getChainsEPKNS_4geom18CoordinateSequenceEPv_ZN4geos5index5chain26MonotoneChainOverlapActionD2Ev_ZTVN4geos5index5chain26MonotoneChainOverlapActionE_ZN4geos5index5chain26MonotoneChainOverlapActionD1Ev_ZN4geos5index5chain26MonotoneChainOverlapAction7overlapERKNS_4geom11LineSegmentES6__ZN4geos5index5chain26MonotoneChainOverlapActionD0Ev_ZN4geos5index5chain26MonotoneChainOverlapAction7overlapERNS1_13MonotoneChainEmS4_m_ZTSN4geos5index5chain26MonotoneChainOverlapActionE_ZTIN4geos5index5chain26MonotoneChainOverlapActionE_ZN4geos5index5chain25MonotoneChainSelectActionD2Ev_ZTVN4geos5index5chain25MonotoneChainSelectActionE_ZN4geos5index5chain25MonotoneChainSelectActionD1Ev_ZN4geos5index5chain25MonotoneChainSelectActionD0Ev_ZN4geos5index5chain25MonotoneChainSelectAction6selectERNS1_13MonotoneChainEm_ZTSN4geos5index5chain25MonotoneChainSelectActionE_ZTIN4geos5index5chain25MonotoneChainSelectActionE_ZN4geos5index13intervalrtree17IntervalRTreeNodeD2Ev_ZTVN4geos5index13intervalrtree17IntervalRTreeNodeE_ZN4geos5index13intervalrtree17IntervalRTreeNodeD1Ev_ZN4geos5index13intervalrtree23IntervalRTreeBranchNodeD2Ev_ZN4geos5index13intervalrtree23IntervalRTreeBranchNodeD1Ev_ZN4geos5index13intervalrtree17IntervalRTreeNodeD0Ev_ZN4geos5index13intervalrtree23IntervalRTreeBranchNodeD0Ev_ZNK4geos5index13intervalrtree23IntervalRTreeBranchNode5queryEddPNS0_11ItemVisitorE_ZTIN4geos5index13intervalrtree17IntervalRTreeNodeE_ZTSN4geos5index13intervalrtree17IntervalRTreeNodeE_ZTSN4geos5index13intervalrtree23IntervalRTreeBranchNodeE_ZTIN4geos5index13intervalrtree23IntervalRTreeBranchNodeE_ZTVN4geos5index13intervalrtree23IntervalRTreeBranchNodeE_ZN4geos5index13intervalrtree21IntervalRTreeLeafNodeD2Ev_ZN4geos5index13intervalrtree21IntervalRTreeLeafNodeD1Ev_ZN4geos5index13intervalrtree21IntervalRTreeLeafNodeD0Ev_ZNK4geos5index13intervalrtree21IntervalRTreeLeafNode5queryEddPNS0_11ItemVisitorE_ZTSN4geos5index13intervalrtree21IntervalRTreeLeafNodeE_ZTIN4geos5index13intervalrtree21IntervalRTreeLeafNodeE_ZTVN4geos5index13intervalrtree21IntervalRTreeLeafNodeE_ZN4geos5index13intervalrtree17IntervalRTreeNode7compareEPKS2_S4__ZNSt6vectorIN4geos5index13intervalrtree23IntervalRTreeBranchNodeESaIS3_EE7reserveEm_ZNSt6vectorIN4geos5index13intervalrtree23IntervalRTreeBranchNodeESaIS3_EE19_M_emplace_back_auxIIRPKNS2_17IntervalRTreeNodeESA_EEEvDpOT__ZNSt6vectorIN4geos5index13intervalrtree23IntervalRTreeBranchNodeESaIS3_EE19_M_emplace_back_auxIJRPKNS2_17IntervalRTreeNodeESA_EEEvDpOT__ZNSt6vectorIPKN4geos5index13intervalrtree17IntervalRTreeNodeESaIS5_EE19_M_emplace_back_auxIIRKS5_EEEvDpOT__ZNSt6vectorIPKN4geos5index13intervalrtree17IntervalRTreeNodeESaIS5_EE19_M_emplace_back_auxIJRKS5_EEEvDpOT__ZNSt6vectorIN4geos5index13intervalrtree21IntervalRTreeLeafNodeESaIS3_EE19_M_emplace_back_auxIIRdS7_RPvEEEvDpOT__ZNSt6vectorIN4geos5index13intervalrtree21IntervalRTreeLeafNodeESaIS3_EE19_M_emplace_back_auxIJRdS7_RPvEEEvDpOT__ZNSt6vectorIPKN4geos5index13intervalrtree17IntervalRTreeNodeESaIS5_EE19_M_emplace_back_auxIIS5_EEEvDpOT__ZNSt6vectorIPKN4geos5index13intervalrtree17IntervalRTreeNodeESaIS5_EE19_M_emplace_back_auxIJS5_EEEvDpOT__ZN4geos5index13intervalrtree25SortedPackedIntervalRTree10buildLevelERSt6vectorIPKNS1_17IntervalRTreeNodeESaIS6_EES9__ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPPKN4geos5index13intervalrtree17IntervalRTreeNodeESt6vectorIS7_SaIS7_EEEEPFbS7_S7_EEvT_T0__ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPPKN4geos5index13intervalrtree17IntervalRTreeNodeESt6vectorIS7_SaIS7_EEEEPFbS7_S7_EEvT_SF_T0__ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPPKN4geos5index13intervalrtree17IntervalRTreeNodeESt6vectorIS7_SaIS7_EEEElS7_PFbS7_S7_EEvT_T0_SG_T1_T2__ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPPKN4geos5index13intervalrtree17IntervalRTreeNodeESt6vectorIS7_SaIS7_EEEElPFbS7_S7_EEvT_SF_T0_T1__ZN4geos5index13intervalrtree25SortedPackedIntervalRTree9buildTreeEv_ZN4geos5index13intervalrtree25SortedPackedIntervalRTree4initEv_ZN4geos5index8quadtree10DoubleBitsC2Ed_ZN4geos5index8quadtree10DoubleBitsC1Ed_ZNK4geos5index8quadtree10DoubleBits9getDoubleEv_ZNK4geos5index8quadtree10DoubleBits14biasedExponentEv_ZNK4geos5index8quadtree10DoubleBits11getExponentEv_ZN4geos5index8quadtree10DoubleBits13zeroLowerBitsEi_ZN4geos5index8quadtree10DoubleBits20truncateToPowerOfTwoEd_ZNK4geos5index8quadtree10DoubleBits6getBitEi_ZNK4geos5index8quadtree10DoubleBits21numCommonMantissaBitsERKS2__ZN4geos5index8quadtree10DoubleBits21maximumCommonMantissaEdd_ZNK4geos5index8quadtree10DoubleBits8toStringEv_ZN4geos5index8quadtree10DoubleBits14toBinaryStringEd_ZN4geos5index8quadtree3Key16computeQuadLevelERKNS_4geom8EnvelopeE_ZNK4geos5index8quadtree3Key8getPointEv_ZNK4geos5index8quadtree3Key8getLevelEv_ZNK4geos5index8quadtree3Key11getEnvelopeEv_ZNK4geos5index8quadtree3Key9getCentreEv_ZN4geos5index8quadtree3Key10computeKeyEiRKNS_4geom8EnvelopeE_ZN4geos5index8quadtree3Key10computeKeyERKNS_4geom8EnvelopeE_ZN4geos5index8quadtree3KeyC2ERKNS_4geom8EnvelopeE_ZN4geos5index8quadtree3KeyC1ERKNS_4geom8EnvelopeE_ZNK4geos5index8quadtree4Node13isSearchMatchERKNS_4geom8EnvelopeE_ZN4geos5index8quadtree4NodeD2Ev_ZTVN4geos5index8quadtree4NodeE_ZN4geos5index8quadtree8NodeBaseD2Ev_ZN4geos5index8quadtree4NodeD1Ev_ZN4geos5index8quadtree4NodeD0Ev_ZN4geos5index8quadtree4Node10createNodeERKNS_4geom8EnvelopeE_ZN4geos5index8quadtree8NodeBaseC2Ev_ZN4geos5index8quadtree4Node4findEPKNS_4geom8EnvelopeE_ZN4geos5index8quadtree8NodeBase15getSubnodeIndexEPKNS_4geom8EnvelopeERKNS3_10CoordinateE_ZN4geos5index8quadtree4Node13createSubnodeEi_ZN4geos5index8quadtree4Node10insertNodeESt10unique_ptrIS2_St14default_deleteIS2_EE_ZN4geos5index8quadtree4Node14createExpandedESt10unique_ptrIS2_St14default_deleteIS2_EERKNS_4geom8EnvelopeE_ZN4geos5index8quadtree4Node10getSubnodeEi_ZN4geos5index8quadtree4Node7getNodeEPKNS_4geom8EnvelopeE_ZNK4geos5index8quadtree4Node8toStringEv_ZNK4geos5index8quadtree8NodeBase8toStringEv_ZTSN4geos5index8quadtree4NodeE_ZTIN4geos5index8quadtree4NodeE_ZTIN4geos5index8quadtree8NodeBaseE_ZNK4geos5index8quadtree8NodeBase26addAllItemsFromOverlappingERKNS_4geom8EnvelopeERSt6vectorIPvSaIS8_EE_ZN4geos5index8quadtree8NodeBase5visitEPKNS_4geom8EnvelopeERNS0_11ItemVisitorE_ZTVN4geos5index8quadtree8NodeBaseE_ZN4geos5index8quadtree8NodeBaseD1Ev_ZN4geos5index8quadtree8NodeBaseD0Ev_ZN4geos5index8quadtree8NodeBaseC1Ev_ZN4geos5index8quadtree8NodeBase8getItemsEv_ZNK4geos5index8quadtree8NodeBase5depthEv_ZNK4geos5index8quadtree8NodeBase4sizeEv_ZNK4geos5index8quadtree8NodeBase12getNodeCountEv_ZN4geos5index8quadtree8NodeBase10visitItemsEPKNS_4geom8EnvelopeERNS0_11ItemVisitorE_ZN4geos5index8quadtree8NodeBase6removeEPKNS_4geom8EnvelopeEPv_ZN4geos5index8quadtree8NodeBase3addEPv_ZNSt6vectorIPvSaIS0_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPKS0_S2_EEEEvNS5_IPS0_S2_EET_SB_St20forward_iterator_tag_ZNK4geos5index8quadtree8NodeBase11addAllItemsERSt6vectorIPvSaIS4_EE_ZTSN4geos5index8quadtree8NodeBaseE_ZN4geos5index12SpatialIndexD2Ev_ZTVN4geos5index12SpatialIndexE_ZN4geos5index12SpatialIndexD1Ev_ZNK4geos5index8quadtree4Root13isSearchMatchERKNS_4geom8EnvelopeE_ZN4geos5index12SpatialIndexD0Ev_ZN4geos5index8quadtree4RootD2Ev_ZTVN4geos5index8quadtree4RootE_ZN4geos5index8quadtree4RootD1Ev_ZN4geos5index8quadtree4RootD0Ev_ZN4geos5index8quadtree8Quadtree5queryEPKNS_4geom8EnvelopeERSt6vectorIPvSaIS8_EE_ZN4geos5index8quadtree8Quadtree5queryEPKNS_4geom8EnvelopeERNS0_11ItemVisitorE_ZN4geos5index8quadtree8QuadtreeD2Ev_ZTVN4geos5index8quadtree8QuadtreeE_ZN4geos5index8quadtree8QuadtreeD1Ev_ZN4geos5index8quadtree8QuadtreeD0Ev_ZN4geos5index8quadtree8Quadtree12ensureExtentEPKNS_4geom8EnvelopeEd_ZN4geos5index8quadtree8Quadtree6removeEPKNS_4geom8EnvelopeEPv_ZN4geos5index8quadtree8Quadtree5depthEv_ZN4geos5index8quadtree8Quadtree4sizeEv_ZN4geos5index8quadtree8Quadtree8queryAllEv_ZN4geos5index8quadtree8Quadtree12collectStatsERKNS_4geom8EnvelopeE_ZNK4geos5index8quadtree8Quadtree8toStringEv_ZNSt6vectorISt10unique_ptrIN4geos4geom8EnvelopeESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIIRPS3_EEEvDpOT__ZNSt6vectorISt10unique_ptrIN4geos4geom8EnvelopeESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIJRPS3_EEEvDpOT__ZN4geos5index8quadtree8Quadtree6insertEPKNS_4geom8EnvelopeEPv_ZN4geos5index8quadtree4Root6insertEPKNS_4geom8EnvelopeEPv_ZTIN4geos5index12SpatialIndexE_ZTSN4geos5index12SpatialIndexE_ZTIN4geos5index8quadtree4RootE_ZTSN4geos5index8quadtree4RootE_ZTSN4geos5index8quadtree8QuadtreeE_ZTIN4geos5index8quadtree8QuadtreeE_ZN4geos5index8quadtree4Root15insertContainedEPNS1_4NodeEPKNS_4geom8EnvelopeEPv_ZN4geos5index8quadtree4Root6originE_ZN4geos5index7strtree9BoundableD2Ev_ZTVN4geos5index7strtree9BoundableE_ZN4geos5index7strtree9BoundableD1Ev_ZN4geos5index7strtree15AbstractSTRtree15getNodeCapacityEv_ZNK4geos5index7strtree13ItemBoundable6isLeafEv_ZNK4geos5index7strtree13ItemBoundable9getBoundsEv_ZN4geos5index7strtree13ItemBoundableD2Ev_ZN4geos5index7strtree13ItemBoundableD1Ev_ZN4geos5index7strtree9BoundableD0Ev_ZN4geos5index7strtree13ItemBoundableD0Ev_ZN4geos5index7strtree15AbstractSTRtreeD2Ev_ZTVN4geos5index7strtree15AbstractSTRtreeE_ZN4geos5index7strtree15AbstractSTRtreeD1Ev_ZN4geos5index7strtree15AbstractSTRtreeD0Ev_ZN4geos5index7strtree15AbstractSTRtree7getRootEv_ZN4geos5index7strtree15AbstractSTRtree8lastNodeEPSt6vectorIPNS1_9BoundableESaIS5_EE_ZN4geos5index7strtree15AbstractSTRtree5buildEv_ZN4geos5index7strtree15AbstractSTRtree18createHigherLevelsEPSt6vectorIPNS1_9BoundableESaIS5_EEi_ZN4geos5index7strtree9ItemsListD2Ev_ZN4geos5index7strtree9ItemsListD1Ev_ZN4geos5index7strtree15AbstractSTRtree5queryEPKvRSt6vectorIPvSaIS6_EE_ZN4geos5index7strtree15AbstractSTRtree5queryEPKvRKNS1_12AbstractNodeERNS0_11ItemVisitorE_ZN4geos5index7strtree15AbstractSTRtree5queryEPKvRNS0_11ItemVisitorE_ZN4geos5index7strtree15AbstractSTRtree7iterateERNS0_11ItemVisitorE_ZN4geos5index7strtree15AbstractSTRtree17boundablesAtLevelEi_ZNSt6vectorIPN4geos5index7strtree9BoundableESaIS4_EE5eraseEN9__gnu_cxx17__normal_iteratorIPS4_S6_EE_ZN4geos5index7strtree15AbstractSTRtree10removeItemERNS1_12AbstractNodeEPv_ZN4geos5index7strtree15AbstractSTRtree6removeEPKvRNS1_12AbstractNodeEPv_ZN4geos5index7strtree15AbstractSTRtree6removeEPKvPv_ZNSt6vectorIPN4geos5index7strtree9BoundableESaIS4_EE19_M_emplace_back_auxIIRKS4_EEEvDpOT__ZNSt6vectorIPN4geos5index7strtree9BoundableESaIS4_EE19_M_emplace_back_auxIJRKS4_EEEvDpOT__ZNSt6vectorIN4geos5index7strtree13ItemsListItemESaIS3_EE19_M_emplace_back_auxIIS3_EEEvDpOT__ZNSt6vectorIN4geos5index7strtree13ItemsListItemESaIS3_EE19_M_emplace_back_auxIJS3_EEEvDpOT__ZNSt6vectorIN4geos5index7strtree13ItemsListItemESaIS3_EE12emplace_backIIS3_EEEvDpOT__ZNSt6vectorIN4geos5index7strtree13ItemsListItemESaIS3_EE12emplace_backIJS3_EEEvDpOT__ZN4geos5index7strtree15AbstractSTRtree9itemsTreeEPNS1_12AbstractNodeE_ZN4geos5index7strtree15AbstractSTRtree9itemsTreeEv_ZNSt6vectorIPN4geos5index7strtree9BoundableESaIS4_EE19_M_emplace_back_auxIIS4_EEEvDpOT__ZNSt6vectorIPN4geos5index7strtree9BoundableESaIS4_EE19_M_emplace_back_auxIJS4_EEEvDpOT__ZNSt6vectorIPN4geos5index7strtree9BoundableESaIS4_EE12emplace_backIIS4_EEEvDpOT__ZNSt6vectorIPN4geos5index7strtree9BoundableESaIS4_EE12emplace_backIJS4_EEEvDpOT__ZN4geos5index7strtree15AbstractSTRtree6insertEPKvPv_ZTVN4geos5index7strtree13ItemBoundableE_ZN4geos5index7strtree15AbstractSTRtree22createParentBoundablesEPSt6vectorIPNS1_9BoundableESaIS5_EEi_ZN4geos5index7strtree15AbstractSTRtree17boundablesAtLevelEiPNS1_12AbstractNodeEPSt6vectorIPNS1_9BoundableESaIS7_EE_ZTSN4geos5index7strtree13ItemBoundableE_ZTSN4geos5index7strtree12AbstractNodeE_ZNSt6vectorIPvSaIS0_EE19_M_emplace_back_auxIIS0_EEEvDpOT__ZNSt6vectorIPvSaIS0_EE19_M_emplace_back_auxIJS0_EEEvDpOT__ZN4geos5index7strtree15AbstractSTRtree5queryEPKvPKNS1_12AbstractNodeEPSt6vectorIPvSaIS9_EE_ZTIN4geos5index7strtree9BoundableE_ZTSN4geos5index7strtree9BoundableE_ZTSN4geos5index7strtree15AbstractSTRtreeE_ZTIN4geos5index7strtree15AbstractSTRtreeE_ZTIN4geos5index7strtree13ItemBoundableE_ZNK4geos5index7strtree13BoundablePair12getBoundableEi_ZNK4geos5index7strtree13BoundablePair11getDistanceEv_ZN4geos5index7strtree13BoundablePair11isCompositeEPKNS1_9BoundableE_ZTIN4geos5index7strtree12AbstractNodeE_ZNK4geos5index7strtree13BoundablePair8isLeavesEv_ZNK4geos5index7strtree13BoundablePair8distanceEv_ZN4geos5index7strtree13BoundablePairC2EPKNS1_9BoundableES5_PNS1_12ItemDistanceE_ZN4geos5index7strtree13BoundablePairC1EPKNS1_9BoundableES5_PNS1_12ItemDistanceE_ZN4geos5index7strtree13BoundablePair4areaEPKNS1_9BoundableE_ZN4geos5index7strtree13BoundablePair15maximumDistanceEv_ZN4geos5index7strtree12EnvelopeUtil15maximumDistanceEPKNS_4geom8EnvelopeES6__ZNSt6vectorIPN4geos5index7strtree13BoundablePairESaIS4_EE19_M_emplace_back_auxIIS4_EEEvDpOT__ZNSt6vectorIPN4geos5index7strtree13BoundablePairESaIS4_EE19_M_emplace_back_auxIJS4_EEEvDpOT__ZN4geos5index7strtree13BoundablePair6expandEPKNS1_9BoundableES5_bRSt14priority_queueIPS2_St6vectorIS7_SaIS7_EENS2_25BoundablePairQueueCompareEEd_ZN4geos5index7strtree13BoundablePair13expandToQueueERSt14priority_queueIPS2_St6vectorIS4_SaIS4_EENS2_25BoundablePairQueueCompareEEd_ZN4geos5index7strtree20GeometryItemDistance8distanceEPKNS1_13ItemBoundableES5__ZTIN4geos5index7strtree12ItemDistanceE_ZTSN4geos5index7strtree12ItemDistanceE_ZTSN4geos5index7strtree20GeometryItemDistanceE_ZTIN4geos5index7strtree20GeometryItemDistanceE_ZTVN4geos5index7strtree20GeometryItemDistanceE_ZN4geos5index7strtree8IntervalC2Edd_ZN4geos5index7strtree8IntervalC1Edd_ZN4geos5index7strtree8Interval9getCentreEv_ZN4geos5index7strtree8Interval15expandToIncludeEPKS2__ZNK4geos5index7strtree8Interval10intersectsEPKS2__ZNK4geos5index7strtree8Interval6equalsEPKS2__ZNK4geos5index7strtree12AbstractNode9getBoundsEv_ZNK4geos5index7strtree12AbstractNode6isLeafEv_ZN4geos5index7strtree15AbstractSTRtree12IntersectsOpD2Ev_ZTVN4geos5index7strtree15AbstractSTRtree12IntersectsOpE_ZN4geos5index7strtree15AbstractSTRtree12IntersectsOpD1Ev_ZN4geos5index7strtree7SIRtree15getIntersectsOpEv_ZN4geos5index7strtree7SIRtree15SIRIntersectsOpD2Ev_ZN4geos5index7strtree7SIRtree15SIRIntersectsOpD1Ev_ZN4geos5index7strtree15AbstractSTRtree12IntersectsOpD0Ev_ZN4geos5index7strtree7SIRtree15SIRIntersectsOpD0Ev_ZN4geos5index7strtree12AbstractNodeD2Ev_ZTVN4geos5index7strtree12AbstractNodeE_ZN4geos5index7strtree12AbstractNodeD1Ev_ZN4geos5index7strtree12AbstractNodeD0Ev_ZN4geos5index7strtree15SIRAbstractNodeD2Ev_ZTVN4geos5index7strtree15SIRAbstractNodeE_ZN4geos5index7strtree15SIRAbstractNodeD1Ev_ZN4geos5index7strtree7SIRtree15SIRIntersectsOp10intersectsEPKvS5__ZNK4geos5index7strtree15SIRAbstractNode13computeBoundsEv_ZN4geos5index7strtree15SIRAbstractNodeD0Ev_ZN4geos5index7strtree7SIRtreeD2Ev_ZTVN4geos5index7strtree7SIRtreeE_ZN4geos5index7strtree7SIRtreeD1Ev_ZN4geos5index7strtree7SIRtreeD0Ev_ZN4geos5index7strtree7SIRtreeC2Ev_ZTVN4geos5index7strtree7SIRtree15SIRIntersectsOpE_ZN4geos5index7strtree7SIRtreeC1Ev_ZN4geos5index7strtree7SIRtreeC2Em_ZN4geos5index7strtree7SIRtreeC1Em_ZNSt6vectorIPN4geos5index7strtree9BoundableESaIS4_EE7reserveEm_ZNSt6vectorIPN4geos5index7strtree12AbstractNodeESaIS4_EE19_M_emplace_back_auxIIRKS4_EEEvDpOT__ZNSt6vectorIPN4geos5index7strtree12AbstractNodeESaIS4_EE19_M_emplace_back_auxIJRKS4_EEEvDpOT__ZN4geos5index7strtree7SIRtree10createNodeEi_ZN4geos5index7strtree7SIRtree22createParentBoundablesEPSt6vectorIPNS1_9BoundableESaIS5_EEi_ZNSt6vectorISt10unique_ptrIN4geos5index7strtree8IntervalESt14default_deleteIS4_EESaIS7_EE19_M_emplace_back_auxIIS7_EEEvDpOT__ZNSt6vectorISt10unique_ptrIN4geos5index7strtree8IntervalESt14default_deleteIS4_EESaIS7_EE19_M_emplace_back_auxIJS7_EEEvDpOT__ZN4geos5index7strtree7SIRtree6insertEddPv_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPPN4geos5index7strtree9BoundableESt6vectorIS6_SaIS6_EEEEPFbS6_S6_EEvT_T0__ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPPN4geos5index7strtree9BoundableESt6vectorIS6_SaIS6_EEEEPFbS6_S6_EEvT_SE_T0__ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPPN4geos5index7strtree9BoundableESt6vectorIS6_SaIS6_EEEElS6_PFbS6_S6_EEvT_T0_SF_T1_T2__ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPPN4geos5index7strtree9BoundableESt6vectorIS6_SaIS6_EEEElPFbS6_S6_EEvT_SE_T0_T1__ZN4geos5index7strtree7SIRtree14sortBoundablesEPKSt6vectorIPNS1_9BoundableESaIS5_EE_ZTIN4geos5index7strtree15AbstractSTRtree12IntersectsOpE_ZTSN4geos5index7strtree15AbstractSTRtree12IntersectsOpE_ZTSN4geos5index7strtree7SIRtree15SIRIntersectsOpE_ZTIN4geos5index7strtree7SIRtree15SIRIntersectsOpE_ZTSN4geos5index7strtree7SIRtreeE_ZTIN4geos5index7strtree7SIRtreeE_ZTIN4geos5index7strtree15SIRAbstractNodeE_ZTSN4geos5index7strtree15SIRAbstractNodeE_ZN4geos5index7strtree7STRtree15getIntersectsOpEv_ZN4geos5index7strtree7STRtree15STRIntersectsOp10intersectsEPKvS5__ZN4geos5index7strtree7STRtree15STRIntersectsOpD2Ev_ZN4geos5index7strtree7STRtree15STRIntersectsOpD1Ev_ZN4geos5index7strtree7STRtree15STRIntersectsOpD0Ev_ZN4geos5index7strtree15STRAbstractNodeD2Ev_ZTVN4geos5index7strtree15STRAbstractNodeE_ZN4geos5index7strtree15STRAbstractNodeD1Ev_ZN4geos5index7strtree7STRtree5queryEPKNS_4geom8EnvelopeERSt6vectorIPvSaIS8_EE_ZThn48_N4geos5index7strtree7STRtree5queryEPKNS_4geom8EnvelopeERSt6vectorIPvSaIS8_EE_ZN4geos5index7strtree7STRtree5queryEPKNS_4geom8EnvelopeERNS0_11ItemVisitorE_ZThn48_N4geos5index7strtree7STRtree5queryEPKNS_4geom8EnvelopeERNS0_11ItemVisitorE_ZN4geos5index7strtree7STRtree6removeEPKNS_4geom8EnvelopeEPv_ZThn48_N4geos5index7strtree7STRtree6removeEPKNS_4geom8EnvelopeEPv_ZNK4geos5index7strtree15STRAbstractNode13computeBoundsEv_ZN4geos5index7strtree7STRtree6insertEPKNS_4geom8EnvelopeEPv_ZThn48_N4geos5index7strtree7STRtree6insertEPKNS_4geom8EnvelopeEPv_ZN4geos5index7strtree7STRtreeD2Ev_ZTVN4geos5index7strtree7STRtreeE_ZN4geos5index7strtree7STRtreeD1Ev_ZThn48_N4geos5index7strtree7STRtreeD1Ev_ZN4geos5index7strtree7STRtreeD0Ev_ZThn48_N4geos5index7strtree7STRtreeD0Ev_ZN4geos5index7strtree15STRAbstractNodeD0Ev_ZN4geos5index7strtree7STRtreeC2Em_ZTVN4geos5index7strtree7STRtree15STRIntersectsOpE_ZN4geos5index7strtree7STRtreeC1Em_ZN4geos5index7strtree7STRtree39createParentBoundablesFromVerticalSliceEPSt6vectorIPNS1_9BoundableESaIS5_EEi_ZN4geos5index7strtree7STRtree14verticalSlicesEPSt6vectorIPNS1_9BoundableESaIS5_EEm_ZN4geos5index7strtree7STRtree10createNodeEi_ZNSt6vectorIPN4geos5index7strtree9BoundableESaIS4_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS4_S6_EEEEvSB_T_SC_St20forward_iterator_tag_ZN4geos5index7strtree7STRtree40createParentBoundablesFromVerticalSlicesEPSt6vectorIPS3_IPNS1_9BoundableESaIS5_EESaIS8_EEi_ZN4geos5index7strtree7STRtree22createParentBoundablesEPSt6vectorIPNS1_9BoundableESaIS5_EEi_ZNSt6vectorIPN4geos5index7strtree13BoundablePairESaIS4_EE19_M_emplace_back_auxIIRKS4_EEEvDpOT__ZNSt6vectorIPN4geos5index7strtree13BoundablePairESaIS4_EE19_M_emplace_back_auxIJRKS4_EEEvDpOT__ZSt11__push_heapIN9__gnu_cxx17__normal_iteratorIPPN4geos5index7strtree13BoundablePairESt6vectorIS6_SaIS6_EEEElS6_NS5_25BoundablePairQueueCompareEEvT_T0_SE_T1_T2__ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPPN4geos5index7strtree13BoundablePairESt6vectorIS6_SaIS6_EEEElS6_NS5_25BoundablePairQueueCompareEEvT_T0_SE_T1_T2__ZN4geos5index7strtree7STRtree16nearestNeighbourEPNS1_13BoundablePairEd_ZN4geos5index7strtree7STRtree16nearestNeighbourEPNS1_13BoundablePairE_ZN4geos5index7strtree7STRtree16nearestNeighbourEPNS1_12ItemDistanceE_ZN4geos5index7strtree7STRtree16nearestNeighbourEPKNS_4geom8EnvelopeEPKvPNS1_12ItemDistanceE_ZN4geos5index7strtree7STRtree16nearestNeighbourEPS2_PNS1_12ItemDistanceE_ZN4geos5index7strtree7STRtree16isWithinDistanceEPNS1_13BoundablePairEd_ZN4geos5index7strtree7STRtree16isWithinDistanceEPS2_PNS1_12ItemDistanceEd_ZN4geos5index7strtree7STRtree14sortBoundablesEPKSt6vectorIPNS1_9BoundableESaIS5_EE_ZTSN4geos5index7strtree7STRtree15STRIntersectsOpE_ZTIN4geos5index7strtree7STRtree15STRIntersectsOpE_ZTSN4geos5index7strtree7STRtreeE_ZTIN4geos5index7strtree7STRtreeE_ZTVN10__cxxabiv121__vmi_class_type_infoE_ZTIN4geos5index7strtree15STRAbstractNodeE_ZTSN4geos5index7strtree15STRAbstractNodeE_ZN4geos5index9sweepline14SweepLineEventC2EdPS2_PNS1_17SweepLineIntervalE_ZN4geos5index9sweepline14SweepLineEventC1EdPS2_PNS1_17SweepLineIntervalE_ZN4geos5index9sweepline14SweepLineEvent8isInsertEv_ZN4geos5index9sweepline14SweepLineEvent8isDeleteEv_ZN4geos5index9sweepline14SweepLineEvent14getInsertEventEv_ZN4geos5index9sweepline14SweepLineEvent19getDeleteEventIndexEv_ZN4geos5index9sweepline14SweepLineEvent19setDeleteEventIndexEm_ZN4geos5index9sweepline14SweepLineEvent11getIntervalEv_ZNK4geos5index9sweepline14SweepLineEvent9compareToEPKS2__ZNK4geos5index9sweepline22SweepLineEventLessThenclEPKNS1_14SweepLineEventES5__ZN4geos5index9sweepline14SweepLineIndexC2Ev_ZN4geos5index9sweepline14SweepLineIndexC1Ev_ZN4geos5index9sweepline14SweepLineIndexD2Ev_ZN4geos5index9sweepline14SweepLineIndexD1Ev_ZN4geos5index9sweepline14SweepLineIndex15processOverlapsEmmPNS1_17SweepLineIntervalEPNS1_22SweepLineOverlapActionE_ZNSt6vectorIPN4geos5index9sweepline14SweepLineEventESaIS4_EE19_M_emplace_back_auxIIRKS4_EEEvDpOT__ZNSt6vectorIPN4geos5index9sweepline14SweepLineEventESaIS4_EE19_M_emplace_back_auxIJRKS4_EEEvDpOT__ZNSt6vectorIPN4geos5index9sweepline14SweepLineEventESaIS4_EE19_M_emplace_back_auxIIS4_EEEvDpOT__ZNSt6vectorIPN4geos5index9sweepline14SweepLineEventESaIS4_EE19_M_emplace_back_auxIJS4_EEEvDpOT__ZN4geos5index9sweepline14SweepLineIndex3addEPNS1_17SweepLineIntervalE_ZN4geos5index9sweepline17SweepLineInterval6getMinEv_ZN4geos5index9sweepline17SweepLineInterval6getMaxEv_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPPN4geos5index9sweepline14SweepLineEventESt6vectorIS6_SaIS6_EEEENS4_22SweepLineEventLessThenEEvT_T0__ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPPN4geos5index9sweepline14SweepLineEventESt6vectorIS6_SaIS6_EEEENS4_22SweepLineEventLessThenEEvT_SD_T0__ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPPN4geos5index9sweepline14SweepLineEventESt6vectorIS6_SaIS6_EEEElS6_NS4_22SweepLineEventLessThenEEvT_T0_SE_T1_T2__ZN4geos5index9sweepline14SweepLineIndex10buildIndexEv_ZN4geos5index9sweepline14SweepLineIndex15computeOverlapsEPNS1_22SweepLineOverlapActionE_ZN4geos5index9sweepline17SweepLineIntervalC2EddPv_ZN4geos5index9sweepline17SweepLineIntervalC1EddPv_ZN4geos5index9sweepline17SweepLineInterval7getItemEv_ZN4geos2io14ParseExceptionC2Ev_ZN4geos2io14ParseExceptionC1Ev_ZN4geos2io14ParseExceptionC2ERKSs_ZN4geos2io14ParseExceptionC2ERKSsS3__ZN4geos2io14ParseExceptionC1ERKSsS3__ZN4geos2io14ParseException9stringifyEd_ZN4geos2io14ParseExceptionC2ERKSsd_ZN4geos2io14ParseExceptionC1ERKSsd_ZN4geos2io15StringTokenizerC2ERKSs_ZN4geos2io15StringTokenizerC1ERKSs_ZN4geos2io18strtod_with_vc_fixEPKcPPc_ZN4geos2io15StringTokenizer9nextTokenEv_ZNSs7replaceEmmPKcm_ZNSs6assignEPKcm_ZN4geos2io15StringTokenizer13peekNextTokenEv_ZN4geos2io15StringTokenizer7getNValEv_ZN4geos2io15StringTokenizer7getSValEv_ZN4geos2io15ByteOrderValues6putIntEiPhi_ZN4geos2io15ByteOrderValues7putLongElPhi_ZN4geos2io15ByteOrderValues9putDoubleEdPhi_ZN4geos2io9WKTReader12isNumberNextEPNS0_15StringTokenizerE_ZN4geos2io9WKTReader13getNextNumberEPNS0_15StringTokenizerE_ZN4geos2io9WKTReader20getPreciseCoordinateEPNS0_15StringTokenizerERNS_4geom10CoordinateERm_ZN4geos2io9WKTReader11getNextWordEPNS0_15StringTokenizerEtoupper_ZN4geos2io9WKTReader20getNextEmptyOrOpenerEPNS0_15StringTokenizerE_ZNKSs7compareEPKc_ZN4geos2io9WKTReader20getNextCloserOrCommaEPNS0_15StringTokenizerE_ZN4geos2io9WKTReader14getCoordinatesEPNS0_15StringTokenizerE_ZN4geos2io9WKTReader13getNextCloserEPNS0_15StringTokenizerE_ZN4geos2io9WKTReader13readPointTextEPNS0_15StringTokenizerE_ZN4geos2io9WKTReader18readLineStringTextEPNS0_15StringTokenizerE_ZN4geos2io9WKTReader18readLinearRingTextEPNS0_15StringTokenizerE_ZNSt6vectorISt10unique_ptrIN4geos4geom5PointESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIIS6_EEEvDpOT__ZNSt6vectorISt10unique_ptrIN4geos4geom5PointESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIJS6_EEEvDpOT__ZNSt6vectorISt10unique_ptrIN4geos4geom10LinearRingESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIIS6_EEEvDpOT__ZNSt6vectorISt10unique_ptrIN4geos4geom10LinearRingESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIJS6_EEEvDpOT__ZN4geos2io9WKTReader15readPolygonTextEPNS0_15StringTokenizerE_ZNSt6vectorISt10unique_ptrIN4geos4geom10LineStringESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIIS6_EEEvDpOT__ZNSt6vectorISt10unique_ptrIN4geos4geom10LineStringESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIJS6_EEEvDpOT__ZN4geos2io9WKTReader23readMultiLineStringTextEPNS0_15StringTokenizerE_ZNSt6vectorISt10unique_ptrIN4geos4geom7PolygonESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIIS6_EEEvDpOT__ZNSt6vectorISt10unique_ptrIN4geos4geom7PolygonESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIJS6_EEEvDpOT__ZN4geos2io9WKTReader20readMultiPolygonTextEPNS0_15StringTokenizerE_ZN4geos2io9WKTReader18readMultiPointTextEPNS0_15StringTokenizerE_ZN4geos2io9WKTReader22readGeometryTaggedTextEPNS0_15StringTokenizerE_ZN4geos2io9WKTReader26readGeometryCollectionTextEPNS0_15StringTokenizerE_ZN4geos2io9WKTReader4readERKSs_ZN4geos2io10CLocalizerC1Ev_ZN4geos2io10CLocalizerD1Ev_ZN4geos2io9WKTWriterC2Ev_ZN4geos2io9WKTWriter18setOutputDimensionEi_ZN4geos2io9WKTWriter20setRoundingPrecisionEi_ZN4geos2io9WKTWriter7setTrimEb_ZN4geos2io9WKTWriter6indentEiPNS0_6WriterE_ZN4geos2io6Writer5writeERKSs_ZNSsC1EmcRKSaIcE_ZN4geos2io9WKTWriter12toLineStringERKNS_4geom18CoordinateSequenceE_ZN4geos2io9WKTWriter11writeNumberEd_ZN4geos2io9WKTWriter16appendCoordinateEPKNS_4geom10CoordinateEPNS0_6WriterE_ZN4geos2io9WKTWriter15appendPointTextEPKNS_4geom10CoordinateEiPNS0_6WriterE_ZN4geos2io9WKTWriter21appendPointTaggedTextEPKNS_4geom10CoordinateEiPNS0_6WriterE_ZN4geos2io9WKTWriter20appendLineStringTextEPKNS_4geom10LineStringEibPNS0_6WriterE_ZN4geos2io9WKTWriter26appendLineStringTaggedTextEPKNS_4geom10LineStringEiPNS0_6WriterE_ZN4geos2io9WKTWriter26appendLinearRingTaggedTextEPKNS_4geom10LinearRingEiPNS0_6WriterE_ZN4geos2io9WKTWriter17appendPolygonTextEPKNS_4geom7PolygonEibPNS0_6WriterE_ZN4geos2io9WKTWriter23appendPolygonTaggedTextEPKNS_4geom7PolygonEiPNS0_6WriterE_ZN4geos2io9WKTWriter22appendMultiPolygonTextEPKNS_4geom12MultiPolygonEiPNS0_6WriterE_ZN4geos2io9WKTWriter28appendMultiPolygonTaggedTextEPKNS_4geom12MultiPolygonEiPNS0_6WriterE_ZN4geos2io9WKTWriter25appendMultiLineStringTextEPKNS_4geom15MultiLineStringEibPNS0_6WriterE_ZN4geos2io9WKTWriter31appendMultiLineStringTaggedTextEPKNS_4geom15MultiLineStringEiPNS0_6WriterE_ZN4geos2io9WKTWriter20appendMultiPointTextEPKNS_4geom10MultiPointEiPNS0_6WriterE_ZN4geos2io9WKTWriter26appendMultiPointTaggedTextEPKNS_4geom10MultiPointEiPNS0_6WriterE_ZN4geos2io9WKTWriter24appendGeometryTaggedTextEPKNS_4geom8GeometryEiPNS0_6WriterE_ZN4geos2io9WKTWriter34appendGeometryCollectionTaggedTextEPKNS_4geom18GeometryCollectionEiPNS0_6WriterE_ZN4geos2io9WKTWriter14writeFormattedEPKNS_4geom8GeometryEbPNS0_6WriterE_ZN4geos2io6WriterC1Ev_ZN4geos2io6Writer8toStringEv_ZN4geos2io9WKTWriter5writeEPKNS_4geom8GeometryEPNS0_6WriterE_ZN4geos2io9WKTWriter14writeFormattedEPKNS_4geom8GeometryE_ZN4geos2io9WKTWriter14writeFormattedEPKNS_4geom8GeometryEPNS0_6WriterE_ZN4geos2io9WKTWriter28appendGeometryCollectionTextEPKNS_4geom18GeometryCollectionEiPNS0_6WriterE_ZN4geos2io9WKTWriter7toPointERKNS_4geom10CoordinateE_ZN4geos2io9WKTWriter12toLineStringERKNS_4geom10CoordinateES5__ZN4geos2io9WKBReaderC2Ev_ZN4geos2io9WKBReaderC1Ev_ZN4geos2io9WKBReader8printHEXERSiRSo_ZNSi5tellgEv_ZNSi5seekgElSt12_Ios_Seekdir_ZNSi5seekgESt4fposI11__mbstate_tE_ZN4geos2io9WKBReader14readCoordinateEv_ZN4geos2io9WKBReader9readPointEv_ZN4geos2io9WKBReader22readCoordinateSequenceEi_ZN4geos2io9WKBReader14readLineStringEv_ZN4geos2io9WKBReader14readLinearRingEv_ZN4geos2io9WKBReader11readPolygonEv_ZNSt6vectorIdSaIdEE17_M_default_appendEm_ZN4geos2io9WKBReader16readMultiPolygonEv_ZN4geos2io9WKBReader12readGeometryEv_ZN4geos2io9WKBReader22readGeometryCollectionEv_ZN4geos2io9WKBReader19readMultiLineStringEv_ZN4geos2io9WKBReader14readMultiPointEv_ZN4geos2io9WKBReader4readERSi_ZN4geos2io9WKBReader7readHEXERSi_ZNSi3getEv_ZNK4geos2io9WKBWriter18getOutputDimensionEv_ZNK4geos2io9WKBWriter12getByteOrderEv_ZNK4geos2io9WKBWriter14getIncludeSRIDEv_ZN4geos2io9WKBWriter14setIncludeSRIDEi_ZN4geos2io9WKBWriterD2Ev_ZTVN4geos2io9WKBWriterE_ZN4geos2io9WKBWriterD1Ev_ZN4geos2io9WKBWriterD0Ev_ZN4geos2io9WKBWriter18setOutputDimensionEi_ZN4geos2io9WKBWriter12setByteOrderEi_ZN4geos2io9WKBWriterC2Eiib_ZN4geos2io9WKBWriter14writeByteOrderEv_ZNSo5writeEPKcl_ZN4geos2io9WKBWriter8writeIntEi_ZN4geos2io9WKBWriter17writeGeometryTypeEii_ZN4geos2io9WKBWriter9writeSRIDEi_ZN4geos2io9WKBWriter15writeCoordinateERKNS_4geom18CoordinateSequenceEmb_ZN4geos2io9WKBWriter23writeCoordinateSequenceERKNS_4geom18CoordinateSequenceEb_ZN4geos2io9WKBWriter15writeLineStringERKNS_4geom10LineStringE_ZN4geos2io9WKBWriter12writePolygonERKNS_4geom7PolygonE_ZN4geos2io9WKBWriter10writePointERKNS_4geom5PointE_ZN4geos2io9WKBWriter5writeERKNS_4geom8GeometryERSo_ZN4geos2io9WKBWriter23writeGeometryCollectionERKNS_4geom18GeometryCollectionEi_ZTSN4geos2io9WKBWriterE_ZTIN4geos2io9WKBWriterE_ZN4geos2io6WriterC2Ev_ZN4geos2io6Writer7reserveEm_ZN4geos2io6Unload7ReleaseEv_ZN4geos2io10CLocalizerC2Evsetlocale_ZN4geos2io10CLocalizerD2Ev_ZN4geos9linearref21ExtractLineByLocationC2EPKNS_4geom8GeometryE_ZN4geos9linearref21ExtractLineByLocationC1EPKNS_4geom8GeometryE_ZN4geos9linearref21ExtractLineByLocation7reverseEPKNS_4geom8GeometryE_ZN4geos9linearref21ExtractLineByLocation11computeLineERKNS0_14LinearLocationES4__ZNK4geos9linearref14LinearLocation15getSegmentIndexEv_ZNK4geos9linearref14LinearLocation18getSegmentFractionEv_ZNK4geos9linearref14LinearLocation8isVertexEv_ZNK4geos9linearref14LinearLocation13getCoordinateEPKNS_4geom8GeometryE_ZN4geos9linearref21ExtractLineByLocation13computeLinearERKNS0_14LinearLocationES4__ZN4geos9linearref21LinearGeometryBuilderC1EPKNS_4geom15GeometryFactoryE_ZN4geos9linearref21LinearGeometryBuilder18setFixInvalidLinesEb_ZN4geos9linearref21LinearGeometryBuilder3addERKNS_4geom10CoordinateE_ZN4geos9linearref14LinearIteratorC1EPKNS_4geom8GeometryERKNS0_14LinearLocationE_ZNK4geos9linearref14LinearIterator14getVertexIndexEv_ZNK4geos9linearref14LinearIterator17getComponentIndexEv_ZNK4geos9linearref14LinearLocation21compareLocationValuesEmmd_ZNK4geos9linearref14LinearIterator15getSegmentStartEv_ZNK4geos9linearref14LinearIterator11isEndOfLineEv_ZN4geos9linearref21LinearGeometryBuilder7endLineEv_ZN4geos9linearref14LinearIterator4nextEv_ZNK4geos9linearref14LinearIterator7hasNextEv_ZN4geos9linearref21LinearGeometryBuilder11getGeometryEv_ZN4geos9linearref21LinearGeometryBuilderD1Ev_ZN4geos9linearref21ExtractLineByLocation7extractERKNS0_14LinearLocationES4__ZNK4geos9linearref14LinearLocation9compareToERKS1__ZN4geos9linearref21ExtractLineByLocation7extractEPKNS_4geom8GeometryERKNS0_14LinearLocationES8__ZN4geos9linearref17LengthIndexedLineC2EPKNS_4geom8GeometryE_ZN4geos9linearref17LengthIndexedLineC1EPKNS_4geom8GeometryE_ZNK4geos9linearref17LengthIndexedLine12extractPointEd_ZN4geos9linearref17LengthLocationMapC1EPKNS_4geom8GeometryE_ZNK4geos9linearref17LengthLocationMap11getLocationEd_ZNK4geos9linearref17LengthIndexedLine12extractPointEdd_ZNK4geos9linearref14LinearLocation10getSegmentEPKNS_4geom8GeometryE_ZNK4geos9linearref17LengthIndexedLine10locationOfEd_ZNK4geos9linearref17LengthIndexedLine10locationOfEdb_ZNK4geos9linearref17LengthLocationMap11getLocationEdb_ZNK4geos9linearref17LengthIndexedLine7indexOfERKNS_4geom10CoordinateE_ZN4geos9linearref18LengthIndexOfPoint7indexOfEPKNS_4geom8GeometryERKNS2_10CoordinateE_ZNK4geos9linearref17LengthIndexedLine12indexOfAfterERKNS_4geom10CoordinateEd_ZN4geos9linearref18LengthIndexOfPoint12indexOfAfterEPKNS_4geom8GeometryERKNS2_10CoordinateEd_ZNK4geos9linearref17LengthIndexedLine9indicesOfEPKNS_4geom8GeometryE_ZN4geos9linearref19LocationIndexOfLine9indicesOfEPKNS_4geom8GeometryES5__Znam_ZN4geos9linearref17LengthLocationMap9getLengthEPKNS_4geom8GeometryERKNS0_14LinearLocationE_ZdaPv_ZNK4geos9linearref17LengthIndexedLine7projectERKNS_4geom10CoordinateE_ZNK4geos9linearref17LengthIndexedLine13getStartIndexEv_ZNK4geos9linearref17LengthIndexedLine11getEndIndexEv_ZNK4geos9linearref17LengthIndexedLine12isValidIndexEd_ZNK4geos9linearref17LengthIndexedLine13positiveIndexEd_ZNK4geos9linearref17LengthIndexedLine10clampIndexEd_ZNK4geos9linearref17LengthIndexedLine11extractLineEdd_ZN4geos9linearref18LengthIndexOfPointC2EPKNS_4geom8GeometryE_ZN4geos9linearref18LengthIndexOfPointC1EPKNS_4geom8GeometryE_ZNK4geos9linearref18LengthIndexOfPoint21segmentNearestMeasureEPKNS_4geom11LineSegmentERKNS2_10CoordinateEd_ZNK4geos9linearref18LengthIndexOfPoint16indexOfFromStartERKNS_4geom10CoordinateEd_ZN4geos9linearref14LinearIteratorC1EPKNS_4geom8GeometryE_ZNK4geos9linearref14LinearIterator13getSegmentEndEv_ZNK4geos9linearref18LengthIndexOfPoint7indexOfERKNS_4geom10CoordinateE_ZNK4geos9linearref18LengthIndexOfPoint12indexOfAfterERKNS_4geom10CoordinateEd_ZN4geos9linearref17LengthLocationMapC2EPKNS_4geom8GeometryE_ZNK4geos9linearref17LengthLocationMap18getLocationForwardEd_ZN4geos9linearref14LinearLocation14getEndLocationEPKNS_4geom8GeometryE_ZN4geos9linearref14LinearLocationC1Emmd_ZN4geos9linearref14LinearLocationC1Emd_ZNK4geos9linearref17LengthLocationMap13resolveHigherERKNS0_14LinearLocationE_ZNK4geos9linearref14LinearLocation10isEndpointERKNS_4geom8GeometryE_ZNK4geos9linearref14LinearLocation17getComponentIndexEv_ZNK4geos9linearref17LengthLocationMap9getLengthERKNS0_14LinearLocationE_ZN4geos9linearref14LinearIterator21segmentEndVertexIndexERKNS0_14LinearLocationE_ZN4geos9linearref14LinearIterator15loadCurrentLineEv_ZN4geos9linearref14LinearIteratorC2EPKNS_4geom8GeometryE_ZN4geos9linearref14LinearIteratorC2EPKNS_4geom8GeometryERKNS0_14LinearLocationE_ZN4geos9linearref14LinearIteratorC2EPKNS_4geom8GeometryEmm_ZN4geos9linearref14LinearIteratorC1EPKNS_4geom8GeometryEmm_ZNK4geos9linearref14LinearIterator7getLineEv_ZN4geos9linearref21LinearGeometryBuilderC2EPKNS_4geom15GeometryFactoryE_ZN4geos9linearref21LinearGeometryBuilder21setIgnoreInvalidLinesEb_ZN4geos9linearref21LinearGeometryBuilder3addERKNS_4geom10CoordinateEb_ZNK4geos9linearref21LinearGeometryBuilder17getLastCoordinateEv_ZN4geos9linearref21LinearGeometryBuilderD2Ev_ZN4geos9linearref14LinearLocation27pointAlongSegmentByFractionERKNS_4geom10CoordinateES5_d_ZN4geos9linearref14LinearLocationC2Emd_ZN4geos9linearref14LinearLocation9normalizeEv_ZN4geos9linearref14LinearLocationC2Emmd_ZNK4geos9linearref14LinearLocation16getSegmentLengthEPKNS_4geom8GeometryE_ZN4geos9linearref14LinearLocation12snapToVertexEPKNS_4geom8GeometryEd_ZN4geos9linearref14LinearLocation8setToEndEPKNS_4geom8GeometryE_ZN4geos9linearref14LinearLocation5clampEPKNS_4geom8GeometryE_ZNK4geos9linearref14LinearLocation7isValidEPKNS_4geom8GeometryE_ZN4geos9linearref14LinearLocation21compareLocationValuesEmmdmmd_ZNK4geos9linearref14LinearLocation15isOnSameSegmentERKS1__ZN4geos9linearreflsERSoRKNS0_14LinearLocationE_ZN4geos9linearref19LocationIndexOfLineC2EPKNS_4geom8GeometryE_ZN4geos9linearref19LocationIndexOfLineC1EPKNS_4geom8GeometryE_ZNK4geos9linearref19LocationIndexOfLine9indicesOfEPKNS_4geom8GeometryE_ZN4geos9linearref20LocationIndexOfPointC1EPKNS_4geom8GeometryE_ZNK4geos9linearref20LocationIndexOfPoint7indexOfERKNS_4geom10CoordinateE_ZNK4geos9linearref20LocationIndexOfPoint12indexOfAfterERKNS_4geom10CoordinateEPKNS0_14LinearLocationE_ZNK4geos9linearref20LocationIndexOfPoint16indexOfFromStartERKNS_4geom10CoordinateEPKNS0_14LinearLocationE_ZN4geos9linearref20LocationIndexOfPointC2EPKNS_4geom8GeometryE_ZN4geos9linearref20LocationIndexOfPoint7indexOfEPKNS_4geom8GeometryERKNS2_10CoordinateE_ZN4geos9linearref20LocationIndexOfPoint12indexOfAfterEPKNS_4geom8GeometryERKNS2_10CoordinateEPKNS0_14LinearLocationE_ZN4geos6noding5NoderD2Ev_ZTVN4geos6noding5NoderE_ZN4geos6noding5NoderD1Ev_ZN4geos6noding15SinglePassNoderD2Ev_ZN4geos6noding15SinglePassNoderD1Ev_ZN4geos6noding15SinglePassNoder21setSegmentIntersectorEPNS0_18SegmentIntersectorE_ZN4geos6noding5NoderD0Ev_ZN4geos6noding15SinglePassNoderD0Ev_ZN4geos6noding19FastNodingValidator26checkInteriorIntersectionsEv_ZTVN4geos6noding24NodingIntersectionFinderE_ZTVN4geos6noding12MCIndexNoderE_ZN4geos6noding12MCIndexNoder12computeNodesEPSt6vectorIPNS0_13SegmentStringESaIS4_EE_ZN4geos6noding12MCIndexNoderD1Ev_ZNK4geos6noding19FastNodingValidator15getErrorMessageEv_ZN4geos6noding19FastNodingValidator10checkValidEv_ZTIN4geos6noding5NoderE_ZTSN4geos6noding5NoderE_ZTIN4geos6noding15SinglePassNoderE_ZTSN4geos6noding15SinglePassNoderE_ZTVN4geos6noding15SinglePassNoderE_ZN4geos6noding32FastSegmentSetIntersectionFinderC2EPSt6vectorIPKNS0_13SegmentStringESaIS5_EE_ZN4geos6noding34MCIndexSegmentSetMutualIntersectorC1Ev_ZN4geos6noding13GeometryNoderC2ERKNS_4geom8GeometryE_ZN4geos6noding13GeometryNoderC1ERKNS_4geom8GeometryE_ZN4geos6noding13GeometryNoder21extractSegmentStringsERKNS_4geom8GeometryERSt6vectorIPNS0_13SegmentStringESaIS8_EE_ZN4geos6noding13GeometryNoder8getNoderEv_ZTVN4geos6noding13IteratedNoderE_ZNSt6vectorISt10unique_ptrIN4geos4geom8GeometryESt14default_deleteIS3_EESaIS6_EE7reserveEm_ZNSt6vectorIPN4geos6noding13SegmentStringESaIS3_EE19_M_emplace_back_auxIIRKS3_EEEvDpOT__ZNSt6vectorIPN4geos6noding13SegmentStringESaIS3_EE19_M_emplace_back_auxIJRKS3_EEEvDpOT__ZNSt8_Rb_treeIN4geos6noding23OrientedCoordinateArrayES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E_ZN4geos6noding13GeometryNoder10toGeometryERSt6vectorIPNS0_13SegmentStringESaIS4_EE_ZNK4geos6noding23OrientedCoordinateArray9compareToERKS1__ZN4geos6noding13GeometryNoder8getNodedEv_ZN4geos6noding13GeometryNoder4nodeERKNS_4geom8GeometryE_ZTISt9exception_ZNK4geos6noding17IntersectionAdder6isDoneEv_ZN4geos6noding17IntersectionAdderD2Ev_ZN4geos6noding17IntersectionAdderD1Ev_ZN4geos6noding17IntersectionAdderD0Ev_ZN4geos6noding17IntersectionAdder21isTrivialIntersectionEPKNS0_13SegmentStringEmS4_m_ZN4geos6noding17IntersectionAdder20processIntersectionsEPNS0_13SegmentStringEmS3_m_ZTIN4geos6noding18NodedSegmentStringE_ZN4geos6noding18NodedSegmentString16addIntersectionsEPNS_9algorithm15LineIntersectorEmm_ZTSN4geos6noding17IntersectionAdderE_ZTIN4geos6noding17IntersectionAdderE_ZTVN4geos6noding17IntersectionAdderE_ZNK4geos6noding23IntersectionFinderAdder6isDoneEv_ZN4geos6noding23IntersectionFinderAdderD2Ev_ZN4geos6noding23IntersectionFinderAdderD1Ev_ZN4geos6noding23IntersectionFinderAdderD0Ev_ZN4geos6noding23IntersectionFinderAdder20processIntersectionsEPNS0_13SegmentStringEmS3_m_ZTSN4geos6noding23IntersectionFinderAdderE_ZTIN4geos6noding23IntersectionFinderAdderE_ZTVN4geos6noding23IntersectionFinderAdderE_ZN4geos6noding13IteratedNoderD2Ev_ZN4geos6noding13IteratedNoderD1Ev_ZNK4geos6noding13IteratedNoder18getNodedSubstringsEv_ZN4geos6noding13IteratedNoderD0Ev_ZN4geos6noding13IteratedNoder4nodeEPSt6vectorIPNS0_13SegmentStringESaIS4_EEPi_ZN4geos6noding13IteratedNoder12computeNodesEPSt6vectorIPNS0_13SegmentStringESaIS4_EE_ZTSN4geos6noding13IteratedNoderE_ZTIN4geos6noding13IteratedNoderE_ZN4geos6noding12MCIndexNoder20SegmentOverlapActionD2Ev_ZN4geos6noding12MCIndexNoder20SegmentOverlapActionD1Ev_ZN4geos6noding12MCIndexNoder20SegmentOverlapActionD0Ev_ZN4geos6noding12MCIndexNoder20SegmentOverlapAction7overlapERNS_5index5chain13MonotoneChainEmS6_m_ZN4geos6noding12MCIndexNoderD2Ev_ZN4geos6noding12MCIndexNoderD0Ev_ZN4geos6noding12MCIndexNoder15intersectChainsEv_ZTVN4geos6noding12MCIndexNoder20SegmentOverlapActionE_ZNSt6vectorIPN4geos5index5chain13MonotoneChainESaIS4_EE19_M_emplace_back_auxIIS4_EEEvDpOT__ZNSt6vectorIPN4geos5index5chain13MonotoneChainESaIS4_EE19_M_emplace_back_auxIJS4_EEEvDpOT__ZN4geos6noding12MCIndexNoder3addEPNS0_13SegmentStringE_ZTSN4geos6noding12MCIndexNoder20SegmentOverlapActionE_ZTIN4geos6noding12MCIndexNoder20SegmentOverlapActionE_ZTSN4geos6noding12MCIndexNoderE_ZTIN4geos6noding12MCIndexNoderE_ZN4geos6noding27SegmentSetMutualIntersectorD2Ev_ZTVN4geos6noding27SegmentSetMutualIntersectorE_ZN4geos6noding27SegmentSetMutualIntersectorD1Ev_ZN4geos6noding34MCIndexSegmentSetMutualIntersector20SegmentOverlapAction7overlapERNS_5index5chain13MonotoneChainEmS6_m_ZN4geos6noding34MCIndexSegmentSetMutualIntersector20SegmentOverlapActionD2Ev_ZN4geos6noding34MCIndexSegmentSetMutualIntersector20SegmentOverlapActionD1Ev_ZN4geos6noding27SegmentSetMutualIntersectorD0Ev_ZN4geos6noding34MCIndexSegmentSetMutualIntersector20SegmentOverlapActionD0Ev_ZN4geos6noding34MCIndexSegmentSetMutualIntersectorD2Ev_ZTVN4geos6noding34MCIndexSegmentSetMutualIntersectorE_ZN4geos6noding34MCIndexSegmentSetMutualIntersectorD1Ev_ZN4geos6noding34MCIndexSegmentSetMutualIntersectorD0Ev_ZN4geos6noding34MCIndexSegmentSetMutualIntersector15intersectChainsEv_ZTVN4geos6noding34MCIndexSegmentSetMutualIntersector20SegmentOverlapActionE_ZNSt6vectorISt10unique_ptrIN4geos5index5chain13MonotoneChainESt14default_deleteIS4_EESaIS7_EED2Ev_ZNSt6vectorISt10unique_ptrIN4geos5index5chain13MonotoneChainESt14default_deleteIS4_EESaIS7_EED1Ev_ZN4geos6noding34MCIndexSegmentSetMutualIntersectorC2Ev_ZNSt6vectorISt10unique_ptrIN4geos5index5chain13MonotoneChainESt14default_deleteIS4_EESaIS7_EE7reserveEm_ZNSt6vectorISt10unique_ptrIN4geos5index5chain13MonotoneChainESt14default_deleteIS4_EESaIS7_EE19_M_emplace_back_auxIIS7_EEEvDpOT__ZNSt6vectorISt10unique_ptrIN4geos5index5chain13MonotoneChainESt14default_deleteIS4_EESaIS7_EE19_M_emplace_back_auxIJS7_EEEvDpOT__ZNSt6vectorISt10unique_ptrIN4geos5index5chain13MonotoneChainESt14default_deleteIS4_EESaIS7_EE12emplace_backIIS7_EEEvDpOT__ZNSt6vectorISt10unique_ptrIN4geos5index5chain13MonotoneChainESt14default_deleteIS4_EESaIS7_EE12emplace_backIJS7_EEEvDpOT__ZN4geos6noding34MCIndexSegmentSetMutualIntersector10addToIndexEPNS0_13SegmentStringE_ZN4geos6noding34MCIndexSegmentSetMutualIntersector15setBaseSegmentsEPSt6vectorIPKNS0_13SegmentStringESaIS5_EE_ZN4geos6noding34MCIndexSegmentSetMutualIntersector15addToMonoChainsEPNS0_13SegmentStringE_ZN4geos6noding34MCIndexSegmentSetMutualIntersector7processEPSt6vectorIPKNS0_13SegmentStringESaIS5_EE_ZTIN4geos6noding27SegmentSetMutualIntersectorE_ZTSN4geos6noding27SegmentSetMutualIntersectorE_ZTSN4geos6noding34MCIndexSegmentSetMutualIntersector20SegmentOverlapActionE_ZTIN4geos6noding34MCIndexSegmentSetMutualIntersector20SegmentOverlapActionE_ZTSN4geos6noding34MCIndexSegmentSetMutualIntersectorE_ZTIN4geos6noding34MCIndexSegmentSetMutualIntersectorE_ZNK4geos6noding18NodedSegmentString4sizeEv_ZNK4geos6noding18NodedSegmentString13getCoordinateEm_ZNK4geos6noding18NodedSegmentString14getCoordinatesEv_ZNK4geos6noding18NodedSegmentString8isClosedEv_ZNK4geos6noding18NodedSegmentString5printERSo_ZNK4geos6noding18NodedSegmentString11getNodeListEv_ZN4geos6noding18NodedSegmentString11getNodeListEv_ZN4geos6noding18NodedSegmentString10safeOctantERKNS_4geom10CoordinateES5__ZNK4geos6noding18NodedSegmentString16getSegmentOctantEm_ZN4geos6noding18NodedSegmentString15addIntersectionERKNS_4geom10CoordinateEm_ZN4geos6noding15SegmentNodeList3addERKNS_4geom10CoordinateEm_ZN4geos6noding18NodedSegmentString15addIntersectionEPNS_9algorithm15LineIntersectorEmmm_ZN4geos6noding18NodedSegmentString18getNodedSubstringsERKSt6vectorIPNS0_13SegmentStringESaIS4_EEPS6__ZN4geos6noding15SegmentNodeList13addSplitEdgesERSt6vectorIPNS0_13SegmentStringESaIS4_EE_ZN4geos6noding18NodedSegmentStringD2Ev_ZN4geos6noding15SegmentNodeListD1Ev_ZN4geos6noding18NodedSegmentStringD1Ev_ZN4geos6noding18NodedSegmentStringD0Ev_ZTSN4geos6noding18NodedSegmentStringE_ZNK4geos6noding15NodingValidator23hasInteriorIntersectionERKNS_9algorithm15LineIntersectorERKNS_4geom10CoordinateES9__ZNK4geos6noding15NodingValidator13checkCollapseERKNS_4geom10CoordinateES5_S5__ZNSs6appendEPKc_ZNK4geos6noding15NodingValidator14checkCollapsesERKNS0_13SegmentStringE_ZNK4geos6noding15NodingValidator14checkCollapsesEv_ZN4geos6noding15NodingValidator26checkInteriorIntersectionsERKNS0_13SegmentStringEmS4_m_ZN4geos6noding15NodingValidator26checkInteriorIntersectionsERKNS0_13SegmentStringES4__ZN4geos6noding15NodingValidator26checkInteriorIntersectionsEv_ZNK4geos6noding15NodingValidator29checkEndPtVertexIntersectionsERKNS_4geom10CoordinateERKSt6vectorIPNS0_13SegmentStringESaIS8_EE_ZNK4geos6noding15NodingValidator29checkEndPtVertexIntersectionsEv_ZN4geos6noding15NodingValidator10checkValidEv_ZN4geos6noding6Octant6octantEdd_ZN4geos6noding23OrientedCoordinateArray15compareOrientedERKNS_4geom18CoordinateSequenceEbS5_b_ZNK4geos6noding11ScaledNoder8ReScaler9filter_rwEPNS_4geom10CoordinateE_ZN4geos6noding11ScaledNoder8ReScalerD2Ev_ZN4geos6noding11ScaledNoder8ReScalerD1Ev_ZN4geos6noding11ScaledNoder6ScalerD2Ev_ZN4geos6noding11ScaledNoder6ScalerD1Ev_ZN4geos6noding11ScaledNoder8ReScalerD0Ev_ZN4geos6noding11ScaledNoder6ScalerD0Ev_ZN4geos6noding11ScaledNoderD2Ev_ZTVN4geos6noding11ScaledNoderE_ZN4geos6noding11ScaledNoderD1Ev_ZN4geos6noding11ScaledNoderD0Ev_ZN4geos6noding11ScaledNoder8ReScaler9filter_roEPKNS_4geom10CoordinateE_ZNK4geos6noding11ScaledNoder6Scaler9filter_rwEPNS_4geom10CoordinateE_ZNK4geos6noding11ScaledNoder7rescaleERSt6vectorIPNS0_13SegmentStringESaIS4_EE_ZTVN4geos6noding11ScaledNoder8ReScalerE_ZNK4geos6noding11ScaledNoder18getNodedSubstringsEv_ZNK4geos6noding11ScaledNoder5scaleERSt6vectorIPNS0_13SegmentStringESaIS4_EE_ZTVN4geos6noding11ScaledNoder6ScalerE_ZN4geos9operation5valid19RepeatedPointTester16hasRepeatedPointEPKNS_4geom18CoordinateSequenceE_ZN4geos6noding11ScaledNoder12computeNodesEPSt6vectorIPNS0_13SegmentStringESaIS4_EE_ZTSN4geos6noding11ScaledNoderE_ZTIN4geos6noding11ScaledNoderE_ZTIN4geos6noding11ScaledNoder6ScalerE_ZTSN4geos6noding11ScaledNoder6ScalerE_ZTIN4geos6noding11ScaledNoder8ReScalerE_ZTSN4geos6noding11ScaledNoder8ReScalerE_ZN4geos6noding27SegmentIntersectionDetectorD2Ev_ZN4geos6noding27SegmentIntersectionDetectorD1Ev_ZN4geos6noding27SegmentIntersectionDetectorD0Ev_ZN4geos6noding27SegmentIntersectionDetector20processIntersectionsEPNS0_13SegmentStringEmS3_m_ZNK4geos6noding27SegmentIntersectionDetector6isDoneEv_ZTSN4geos6noding27SegmentIntersectionDetectorE_ZTIN4geos6noding27SegmentIntersectionDetectorE_ZN4geos6noding11SegmentNodeC2ERKNS0_18NodedSegmentStringERKNS_4geom10CoordinateEmi_ZN4geos6noding11SegmentNodeC1ERKNS0_18NodedSegmentStringERKNS_4geom10CoordinateEmi_ZNK4geos6noding11SegmentNode10isEndPointEj_ZN4geos6noding11SegmentNode9compareToERKS1__ZN4geos6nodinglsERSoRKNS0_11SegmentNodeE_ZN4geos6noding15SegmentNodeList12addEndpointsEv_ZN4geos6noding15SegmentNodeList17findCollapseIndexERNS0_11SegmentNodeES3_Rm_ZN4geos6noding15SegmentNodeList26checkSplitEdgesCorrectnessERSt6vectorIPNS0_13SegmentStringESaIS4_EE_ZN4geos6noding15SegmentNodeList15createSplitEdgeEPNS0_11SegmentNodeES3__ZN4geos6nodinglsERSoRKNS0_15SegmentNodeListE_ZNSt8_Rb_treeIPN4geos6noding11SegmentNodeES3_St9_IdentityIS3_ENS1_13SegmentNodeLTESaIS3_EE8_M_eraseEPSt13_Rb_tree_nodeIS3_E_ZN4geos6noding15SegmentNodeListD2Ev_ZN4geos6noding15SegmentNodeListD0Ev_ZN4geos6noding15SegmentNodeList30findCollapsesFromInsertedNodesERSt6vectorImSaImEE_ZNSt6vectorImSaImEE19_M_emplace_back_auxIImEEEvDpOT__ZNSt6vectorImSaImEE19_M_emplace_back_auxIJmEEEvDpOT__ZN4geos6noding15SegmentNodeList33findCollapsesFromExistingVerticesERSt6vectorImSaImEE_ZN4geos6noding15SegmentNodeList17addCollapsedNodesEv_ZTSN4geos6noding15SegmentNodeListE_ZTIN4geos6noding15SegmentNodeListE_ZN4geos6noding13SegmentStringD2Ev_ZN4geos6noding13SegmentStringD1Ev_ZN4geos6noding13SegmentStringD0Ev_ZN4geos6nodinglsERSoRKNS0_13SegmentStringE_ZTSN4geos6noding13SegmentStringE_ZN4geos6noding11SimpleNoder12computeNodesEPSt6vectorIPNS0_13SegmentStringESaIS4_EE_ZN4geos6noding11SimpleNoderD2Ev_ZN4geos6noding11SimpleNoderD1Ev_ZN4geos6noding11SimpleNoderD0Ev_ZNK4geos6noding11SimpleNoder18getNodedSubstringsEv_ZN4geos6noding11SimpleNoder17computeIntersectsEPNS0_13SegmentStringES3__ZTSN4geos6noding11SimpleNoderE_ZTIN4geos6noding11SimpleNoderE_ZTVN4geos6noding11SimpleNoderE_ZNK4geos6noding24NodingIntersectionFinder6isDoneEv_ZN4geos6noding24NodingIntersectionFinderD2Ev_ZN4geos6noding24NodingIntersectionFinderD1Ev_ZN4geos6noding24NodingIntersectionFinderD0Ev_ZN4geos6noding24NodingIntersectionFinder12isEndSegmentEPKNS0_13SegmentStringEm_ZN4geos6noding24NodingIntersectionFinder28isInteriorVertexIntersectionERKNS_4geom10CoordinateES5_bb_ZN4geos6noding24NodingIntersectionFinder28isInteriorVertexIntersectionERKNS_4geom10CoordinateES5_S5_S5_bbbb_ZN4geos6noding24NodingIntersectionFinder20processIntersectionsEPNS0_13SegmentStringEmS3_m_ZTSN4geos6noding24NodingIntersectionFinderE_ZTIN4geos6noding24NodingIntersectionFinderE_ZNK4geos6noding9snapround8HotPixel15getSafeEnvelopeEv_ZNK4geos6noding9snapround8HotPixel25intersectsToleranceSquareERKNS_4geom10CoordinateES6__ZNK4geos6noding9snapround8HotPixel16intersectsScaledERKNS_4geom10CoordinateES6__ZNK4geos6noding9snapround8HotPixel10intersectsERKNS_4geom10CoordinateES6__ZN4geos6noding9snapround8HotPixel22intersectsPixelClosureERKNS_4geom10CoordinateES6__ZN4geos6noding9snapround8HotPixel14addSnappedNodeERNS0_18NodedSegmentStringEm_ZNSt6vectorIN4geos4geom10CoordinateESaIS2_EE17_M_default_appendEm_ZN4geos6noding9snapround8HotPixel11initCornersERKNS_4geom10CoordinateE_ZN4geos6noding9snapround8HotPixelC2ERKNS_4geom10CoordinateEdRNS_9algorithm15LineIntersectorE_ZN4geos6noding9snapround8HotPixelC1ERKNS_4geom10CoordinateEdRNS_9algorithm15LineIntersectorE_ZN4geos6noding9snapround18HotPixelSnapAction6selectERKNS_4geom11LineSegmentE_ZN4geos6noding9snapround26MCIndexPointSnapperVisitorD2Ev_ZN4geos6noding9snapround26MCIndexPointSnapperVisitorD1Ev_ZN4geos6noding9snapround18HotPixelSnapActionD2Ev_ZN4geos6noding9snapround18HotPixelSnapActionD1Ev_ZN4geos6noding9snapround26MCIndexPointSnapperVisitorD0Ev_ZN4geos6noding9snapround18HotPixelSnapActionD0Ev_ZN4geos6noding9snapround18HotPixelSnapAction6selectERNS_5index5chain13MonotoneChainEm_ZN4geos6noding9snapround26MCIndexPointSnapperVisitor9visitItemEPv_ZN4geos6noding9snapround19MCIndexPointSnapper4snapERNS1_8HotPixelEPNS0_13SegmentStringEm_ZTVN4geos6noding9snapround18HotPixelSnapActionE_ZTVN4geos6noding9snapround26MCIndexPointSnapperVisitorE_ZTIN4geos6noding9snapround18HotPixelSnapActionE_ZTSN4geos6noding9snapround18HotPixelSnapActionE_ZTIN4geos6noding9snapround26MCIndexPointSnapperVisitorE_ZTSN4geos6noding9snapround26MCIndexPointSnapperVisitorE_ZN4geos6noding9snapround18MCIndexSnapRounderD2Ev_ZTVN4geos6noding9snapround18MCIndexSnapRounderE_ZN4geos6noding9snapround18MCIndexSnapRounderD1Ev_ZN4geos6noding9snapround18MCIndexSnapRounderD0Ev_ZNK4geos6noding9snapround18MCIndexSnapRounder18getNodedSubstringsEv_ZN4geos6noding9snapround18MCIndexSnapRounder25findInteriorIntersectionsERNS0_12MCIndexNoderEPSt6vectorIPNS0_13SegmentStringESaIS7_EERS5_INS_4geom10CoordinateESaISC_EE_ZN4geos6noding9snapround8HotPixelD2Ev_ZN4geos6noding9snapround8HotPixelD1Ev_ZN4geos6noding9snapround18MCIndexSnapRounder24computeIntersectionSnapsERSt6vectorINS_4geom10CoordinateESaIS5_EE_ZN4geos6noding9snapround18MCIndexSnapRounder18computeVertexSnapsEPNS0_18NodedSegmentStringE_ZN4geos6noding9snapround18MCIndexSnapRounder18computeVertexSnapsERSt6vectorIPNS0_13SegmentStringESaIS5_EE_ZN4geos6noding9snapround18MCIndexSnapRounder9snapRoundERNS0_12MCIndexNoderEPSt6vectorIPNS0_13SegmentStringESaIS7_EE_ZN4geos6noding9snapround18MCIndexSnapRounder12computeNodesEPSt6vectorIPNS0_13SegmentStringESaIS5_EE_ZN4geos6noding9snapround18MCIndexSnapRounder16checkCorrectnessERSt6vectorIPNS0_13SegmentStringESaIS5_EE_ZSt4cerr_ZTSN4geos6noding9snapround18MCIndexSnapRounderE_ZTIN4geos6noding9snapround18MCIndexSnapRounderE_ZN4geos6noding9snapround17SimpleSnapRounderD2Ev_ZN4geos6noding9snapround17SimpleSnapRounderD1Ev_ZN4geos6noding9snapround17SimpleSnapRounderD0Ev_ZNK4geos6noding9snapround17SimpleSnapRounder18getNodedSubstringsEv_ZN4geos6noding9snapround17SimpleSnapRounderC2ERKNS_4geom14PrecisionModelE_ZTVN4geos6noding9snapround17SimpleSnapRounderE_ZN4geos6noding9snapround17SimpleSnapRounderC1ERKNS_4geom14PrecisionModelE_ZN4geos6noding9snapround17SimpleSnapRounder16checkCorrectnessERSt6vectorIPNS0_13SegmentStringESaIS5_EE_ZN4geos6noding9snapround17SimpleSnapRounder12computeSnapsEPNS0_18NodedSegmentStringERSt6vectorINS_4geom10CoordinateESaIS7_EE_ZN4geos6noding9snapround17SimpleSnapRounder12computeSnapsERKSt6vectorIPNS0_13SegmentStringESaIS5_EERS3_INS_4geom10CoordinateESaISB_EE_ZN4geos6noding9snapround17SimpleSnapRounder18computeVertexSnapsEPNS0_18NodedSegmentStringES4__ZN4geos6noding9snapround17SimpleSnapRounder18computeVertexSnapsERKSt6vectorIPNS0_13SegmentStringESaIS5_EE_ZN4geos6noding9snapround17SimpleSnapRounder25findInteriorIntersectionsERSt6vectorIPNS0_13SegmentStringESaIS5_EERNS_9algorithm15LineIntersectorERS3_INS_4geom10CoordinateESaISD_EE_ZN4geos6noding9snapround17SimpleSnapRounder9snapRoundEPSt6vectorIPNS0_13SegmentStringESaIS5_EERNS_9algorithm15LineIntersectorE_ZN4geos6noding9snapround17SimpleSnapRounder12computeNodesEPSt6vectorIPNS0_13SegmentStringESaIS5_EE_ZTSN4geos6noding9snapround17SimpleSnapRounderE_ZTIN4geos6noding9snapround17SimpleSnapRounderE_ZN4geos9operation22GeometryGraphOperationD2Ev_ZTVN4geos9operation22GeometryGraphOperationE_ZN4geos9operation22GeometryGraphOperationD1Ev_ZN4geos9operation22GeometryGraphOperationD0Ev_ZNK4geos9operation22GeometryGraphOperation14getArgGeometryEj_ZN4geos9operation22GeometryGraphOperation23setComputationPrecisionEPKNS_4geom14PrecisionModelE_ZN4geos9operation22GeometryGraphOperationC2EPKNS_4geom8GeometryES5__ZN4geos9operation22GeometryGraphOperationC1EPKNS_4geom8GeometryES5__ZN4geos9operation22GeometryGraphOperationC2EPKNS_4geom8GeometryES5_RKNS_9algorithm16BoundaryNodeRuleE_ZN4geos9operation22GeometryGraphOperationC1EPKNS_4geom8GeometryES5_RKNS_9algorithm16BoundaryNodeRuleE_ZN4geos9operation22GeometryGraphOperationC2EPKNS_4geom8GeometryE_ZN4geos9operation22GeometryGraphOperationC1EPKNS_4geom8GeometryE_ZTSN4geos9operation22GeometryGraphOperationE_ZTIN4geos9operation22GeometryGraphOperationE_ZN4geos9operation12EndpointInfoC2ERKNS_4geom10CoordinateE_ZN4geos9operation12EndpointInfoC1ERKNS_4geom10CoordinateE_ZN4geos9operation10IsSimpleOpC2Ev_ZN4geos9operation10IsSimpleOpC1Ev_ZN4geos9operation10IsSimpleOpC2ERKNS_4geom8GeometryE_ZN4geos9operation10IsSimpleOpC2ERKNS_4geom8GeometryERKNS_9algorithm16BoundaryNodeRuleE_ZNSt8_Rb_treeIPKN4geos4geom10CoordinateES4_St9_IdentityIS4_ENS1_18CoordinateLessThenESaIS4_EE4findERKS4__ZNSt8_Rb_treeIPKN4geos4geom10CoordinateESt4pairIKS4_PNS0_9operation12EndpointInfoEESt10_Select1stISA_ENS1_18CoordinateLessThenESaISA_EE8_M_eraseEPSt13_Rb_tree_nodeISA_E_ZN4geos9operation10IsSimpleOp18isSimpleMultiPointERKNS_4geom10MultiPointE_ZN4geos9operation10IsSimpleOp8isSimpleEPKNS_4geom10MultiPointE_ZNSt8_Rb_treeIPKN4geos4geom10CoordinateESt4pairIKS4_PNS0_9operation12EndpointInfoEESt10_Select1stISA_ENS1_18CoordinateLessThenESaISA_EE24_M_get_insert_unique_posERS6__ZNSt8_Rb_treeIPKN4geos4geom10CoordinateESt4pairIKS4_PNS0_9operation12EndpointInfoEESt10_Select1stISA_ENS1_18CoordinateLessThenESaISA_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorISA_ERS6__ZNSt8_Rb_treeIPKN4geos4geom10CoordinateESt4pairIKS4_PNS0_9operation12EndpointInfoEESt10_Select1stISA_ENS1_18CoordinateLessThenESaISA_EE22_M_emplace_hint_uniqueIIRKSt21piecewise_construct_tSt5tupleIIRS6_EESK_IIEEEEESt17_Rb_tree_iteratorISA_ESt23_Rb_tree_const_iteratorISA_EDpOT__ZNSt8_Rb_treeIPKN4geos4geom10CoordinateESt4pairIKS4_PNS0_9operation12EndpointInfoEESt10_Select1stISA_ENS1_18CoordinateLessThenESaISA_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS6_EESK_IJEEEEESt17_Rb_tree_iteratorISA_ESt23_Rb_tree_const_iteratorISA_EDpOT__ZN4geos9operation10IsSimpleOp11addEndpointERSt3mapIPKNS_4geom10CoordinateEPNS0_12EndpointInfoENS3_18CoordinateLessThenESaISt4pairIKS6_S8_EEES6_b_ZN4geos9operation10IsSimpleOp29hasClosedEndpointIntersectionERNS_9geomgraph13GeometryGraphE_ZN4geos9operation10IsSimpleOp26hasNonEndpointIntersectionERNS_9geomgraph13GeometryGraphE_ZN4geos9operation10IsSimpleOp22isSimpleLinearGeometryEPKNS_4geom8GeometryE_ZN4geos9operation10IsSimpleOp8isSimpleEPKNS_4geom10LineStringE_ZN4geos9operation10IsSimpleOp8isSimpleEPKNS_4geom15MultiLineStringE_ZN4geos9operation10IsSimpleOp17isSimplePolygonalEPKNS_4geom8GeometryE_ZN4geos9operation10IsSimpleOp13computeSimpleEPKNS_4geom8GeometryE_ZN4geos9operation10IsSimpleOp26isSimpleGeometryCollectionEPKNS_4geom18GeometryCollectionE_ZN4geos9geomgraph8EdgeListD2Ev_ZTVN4geos9geomgraph8EdgeListE_ZN4geos9geomgraph8EdgeListD1Ev_ZN4geos9operation6buffer16BufferSubgraphGTEPNS1_14BufferSubgraphES3__ZN4geos9operation6buffer14BufferSubgraph9compareToEPS2__ZN4geos9geomgraph8EdgeListD0Ev_ZN4geos9operation6buffer13BufferBuilder10depthDeltaERKNS_9geomgraph5LabelE_ZN4geos9operation6buffer13BufferBuilderD2Ev_ZN4geos9operation6buffer13BufferBuilderD1Ev_ZN4geos9operation6buffer13BufferBuilder8getNoderEPKNS_4geom14PrecisionModelE_ZN4geos9operation6buffer13BufferBuilder16insertUniqueEdgeEPNS_9geomgraph4EdgeE_ZN4geos9operation6buffer13BufferBuilder17computeNodedEdgesERSt6vectorIPNS_6noding13SegmentStringESaIS6_EEPKNS_4geom14PrecisionModelE_ZNK4geos9operation6buffer13BufferBuilder25createEmptyResultGeometryEv_ZNSt6vectorIPN4geos4geom8GeometryESaIS3_EE19_M_emplace_back_auxIIRKS3_EEEvDpOT__ZNSt6vectorIPN4geos4geom8GeometryESaIS3_EE19_M_emplace_back_auxIJRKS3_EEEvDpOT__ZNSt6vectorIPN4geos9operation6buffer14BufferSubgraphESaIS4_EE19_M_emplace_back_auxIIRKS4_EEEvDpOT__ZNSt6vectorIPN4geos9operation6buffer14BufferSubgraphESaIS4_EE19_M_emplace_back_auxIJRKS4_EEEvDpOT__ZN4geos9operation6buffer13BufferBuilder14buildSubgraphsERKSt6vectorIPNS1_14BufferSubgraphESaIS5_EERNS0_7overlay14PolygonBuilderE_ZN4geos9operation7overlay14PolygonBuilder3addEPKSt6vectorIPNS_9geomgraph12DirectedEdgeESaIS6_EEPKS3_IPNS4_4NodeESaISC_EE_ZN4geos9operation6buffer20SubgraphDepthLocater8getDepthERKNS_4geom10CoordinateE_ZN4geos9operation6buffer14BufferSubgraph12computeDepthEi_ZN4geos9operation6buffer14BufferSubgraph15findResultEdgesEv_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPPN4geos9operation6buffer14BufferSubgraphESt6vectorIS6_SaIS6_EEEEPFbS6_S6_EEvT_T0__ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPPN4geos9operation6buffer14BufferSubgraphESt6vectorIS6_SaIS6_EEEEPFbS6_S6_EEvT_SE_T0__ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPPN4geos9operation6buffer14BufferSubgraphESt6vectorIS6_SaIS6_EEEElS6_PFbS6_S6_EEvT_T0_SF_T1_T2__ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPPN4geos9operation6buffer14BufferSubgraphESt6vectorIS6_SaIS6_EEEElPFbS6_S6_EEvT_SE_T0_T1__ZN4geos9operation6buffer13BufferBuilder15createSubgraphsEPNS_9geomgraph11PlanarGraphERSt6vectorIPNS1_14BufferSubgraphESaIS8_EE_ZN4geos9operation6buffer14BufferSubgraphC1Ev_ZN4geos9operation6buffer14BufferSubgraph6createEPNS_9geomgraph4NodeE_ZN4geos9operation6buffer13BufferBuilder6bufferEPKNS_4geom8GeometryEd_ZN4geos9operation6buffer21OffsetCurveSetBuilderC1ERKNS_4geom8GeometryEdRNS1_18OffsetCurveBuilderE_ZN4geos9operation6buffer21OffsetCurveSetBuilder9getCurvesEv_ZN4geos9operation6buffer21OffsetCurveSetBuilderD1Ev_ZN4geos9operation7overlay18OverlayNodeFactory8instanceEv_ZN4geos9operation7overlay14PolygonBuilderC1EPKNS_4geom15GeometryFactoryE_ZN4geos9operation7overlay14PolygonBuilder11getPolygonsEv_ZN4geos9operation7overlay14PolygonBuilderD1Ev_ZN4geos9operation6buffer14BufferSubgraphD1Ev_ZN4geos9operation6buffer13BufferBuilder21bufferLineSingleSidedEPKNS_4geom8GeometryEdb_ZNKSt8__detail20_Prime_rehash_policy11_M_next_bktEm_ZN4geos9operation6buffer18OffsetCurveBuilder23getSingleSidedLineCurveEPKNS_4geom18CoordinateSequenceEdRSt6vectorIPS4_SaIS8_EEbb_ZN4geos9operation7overlay4snap13SnapOverlayOp20computeSnapToleranceEv_ZN4geos9operation7overlay4snap13SnapOverlayOp17getResultGeometryENS1_9OverlayOp6OpCodeE_ZN4geos9operation9linemerge10LineMergerC1Ev_ZN4geos9operation9linemerge10LineMerger3addEPKNS_4geom8GeometryE_ZN4geos9operation9linemerge10LineMerger20getMergedLineStringsEv_ZN4geos9operation9linemerge10LineMergerD1Ev_ZTIN4geos9geomgraph8EdgeListE_ZTSN4geos9geomgraph8EdgeListE_ZN4geos9operation6buffer25BufferInputLineSimplifierC2ERKNS_4geom18CoordinateSequenceE_ZN4geos9operation6buffer25BufferInputLineSimplifierC1ERKNS_4geom18CoordinateSequenceE_ZNK4geos9operation6buffer25BufferInputLineSimplifier23findNextNonDeletedIndexEm_ZNK4geos9operation6buffer25BufferInputLineSimplifier12collapseLineEv_ZNK4geos9operation6buffer25BufferInputLineSimplifier18isShallowConcavityERKNS_4geom10CoordinateES6_S6_d_ZNK4geos9operation6buffer25BufferInputLineSimplifier9isShallowERKNS_4geom10CoordinateES6_S6_d_ZNK4geos9operation6buffer25BufferInputLineSimplifier16isShallowSampledERKNS_4geom10CoordinateES6_mmd_ZNK4geos9operation6buffer25BufferInputLineSimplifier9isConcaveERKNS_4geom10CoordinateES6_S6__ZNK4geos9operation6buffer25BufferInputLineSimplifier11isDeletableEmmmd_ZN4geos9operation6buffer25BufferInputLineSimplifier24deleteShallowConcavitiesEv_ZNSt6vectorIiSaIiEE14_M_fill_assignEmRKi_ZN4geos9operation6buffer25BufferInputLineSimplifier8simplifyEd_ZN4geos9operation6buffer25BufferInputLineSimplifier8simplifyERKNS_4geom18CoordinateSequenceEd_ZN4geos9operation6buffer8BufferOp20precisionScaleFactorEPKNS_4geom8GeometryEdipow_ZN4geos9operation6buffer8BufferOp23bufferOriginalPrecisionEv_ZN4geos9operation6buffer8BufferOp20bufferFixedPrecisionERKNS_4geom14PrecisionModelE_ZN4geos9operation6buffer8BufferOp22bufferReducedPrecisionEi_ZN4geos9operation6buffer8BufferOp22bufferReducedPrecisionEv_ZN4geos9operation6buffer8BufferOp15computeGeometryEv_ZN4geos9operation6buffer8BufferOp17getResultGeometryEd_ZN4geos9operation6buffer16BufferParametersC1Ev_ZN4geos9operation6buffer16BufferParameters19setQuadrantSegmentsEi_ZNSt10_HashtableIN4geos6noding23OrientedCoordinateArrayESt4pairIKS2_PNS0_9geomgraph4EdgeEESaIS8_ENSt8__detail10_Select1stESt8equal_toIS2_ENS2_8HashCodeENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE5clearEv_ZN4geos9operation6buffer16BufferParametersC2Ev_ZN4geos9operation6buffer16BufferParametersC2Ei_ZN4geos9operation6buffer16BufferParametersC1Ei_ZN4geos9operation6buffer16BufferParametersC2EiNS2_11EndCapStyleE_ZN4geos9operation6buffer16BufferParametersC1EiNS2_11EndCapStyleE_ZN4geos9operation6buffer16BufferParametersC2EiNS2_11EndCapStyleENS2_9JoinStyleEd_ZN4geos9operation6buffer16BufferParametersC1EiNS2_11EndCapStyleENS2_9JoinStyleEd_ZN4geos9operation6buffer16BufferParameters19bufferDistanceErrorEi_ZN4geos9operation6buffer16BufferParameters19DEFAULT_MITRE_LIMITE_ZN4geos9operation6buffer14BufferSubgraphC2Ev_ZN4geos9operation6buffer19RightmostEdgeFinderC1Ev_ZN4geos9operation6buffer14BufferSubgraphD2Ev_ZN4geos9operation6buffer14BufferSubgraph17clearVisitedEdgesEv_ZN4geos9operation6buffer14BufferSubgraph13copySymDepthsEPNS_9geomgraph12DirectedEdgeE_ZN4geos9operation6buffer14BufferSubgraph16computeNodeDepthEPNS_9geomgraph4NodeE_ZN4geos9operation6buffer14BufferSubgraph8containsERSt3setIPNS_9geomgraph4NodeESt4lessIS6_ESaIS6_EES6__ZN4geos9operation6buffer14BufferSubgraph11getEnvelopeEv_ZN4geos9operation6bufferlsERSoRKNS1_14BufferSubgraphE_ZN4geos9operation6buffer14BufferSubgraph3addEPNS_9geomgraph4NodeEPSt6vectorIS5_SaIS5_EE_ZN4geos9operation6buffer14BufferSubgraph12addReachableEPNS_9geomgraph4NodeE_ZN4geos9operation6buffer19RightmostEdgeFinder8findEdgeEPSt6vectorIPNS_9geomgraph12DirectedEdgeESaIS6_EE_ZNSt8_Rb_treeIPN4geos9geomgraph4NodeES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE8_M_eraseEPSt13_Rb_tree_nodeIS3_E_ZNSt8_Rb_treeIPN4geos9geomgraph4NodeES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE16_M_insert_uniqueIRKS3_EESt4pairISt17_Rb_tree_iteratorIS3_EbEOT__ZN4geos9operation6buffer14BufferSubgraph13computeDepthsEPNS_9geomgraph12DirectedEdgeE_ZNSt8__detail15_List_node_base9_M_unhookEv_ZN4geos9operation6buffer19OffsetSegmentString5addPtERKNS_4geom10CoordinateE_ZN4geos9operation6buffer18OffsetCurveBuilder17computePointCurveERKNS_4geom10CoordinateERNS1_22OffsetSegmentGeneratorE_ZN4geos9operation6buffer22OffsetSegmentGenerator12createSquareERKNS_4geom10CoordinateEd_ZN4geos9operation6buffer22OffsetSegmentGenerator12createCircleERKNS_4geom10CoordinateEd_ZN4geos9operation6buffer18OffsetCurveBuilder17simplifyToleranceEd_ZN4geos9operation6buffer18OffsetCurveBuilder22computeLineBufferCurveERKNS_4geom18CoordinateSequenceERNS1_22OffsetSegmentGeneratorE_ZN4geos9operation6buffer22OffsetSegmentGenerator16initSideSegmentsERKNS_4geom10CoordinateES6_i_ZN4geos9operation6buffer22OffsetSegmentGenerator14addNextSegmentERKNS_4geom10CoordinateEb_ZN4geos9operation6buffer22OffsetSegmentGenerator13addLineEndCapERKNS_4geom10CoordinateES6__ZN4geos9operation6buffer18OffsetCurveBuilder22computeRingBufferCurveERKNS_4geom18CoordinateSequenceEiRNS1_22OffsetSegmentGeneratorE_ZN4geos9operation6buffer18OffsetCurveBuilder29computeSingleSidedBufferCurveERKNS_4geom18CoordinateSequenceEbRNS1_22OffsetSegmentGeneratorE_ZN4geos9operation6buffer18OffsetCurveBuilder9getSegGenEd_ZN4geos9operation6buffer22OffsetSegmentGeneratorC1EPKNS_4geom14PrecisionModelERKNS1_16BufferParametersEd_ZNSt6vectorIPN4geos4geom18CoordinateSequenceESaIS3_EE12emplace_backIIS3_EEEvDpOT__ZNSt6vectorIPN4geos4geom18CoordinateSequenceESaIS3_EE12emplace_backIJS3_EEEvDpOT__ZN4geos9operation6buffer18OffsetCurveBuilder12getLineCurveEPKNS_4geom18CoordinateSequenceEdRSt6vectorIPS4_SaIS8_EE_ZN4geos9operation6buffer18OffsetCurveBuilder12getRingCurveEPKNS_4geom18CoordinateSequenceEidRSt6vectorIPS4_SaIS8_EE_ZN4geos9operation6buffer18OffsetCurveBuilder15SIMPLIFY_FACTORE_ZN4geos9operation6buffer21OffsetCurveSetBuilderC2ERKNS_4geom8GeometryEdRNS1_18OffsetCurveBuilderE_ZN4geos9operation6buffer21OffsetCurveSetBuilderD2Ev_ZN4geos9operation6buffer21OffsetCurveSetBuilder26isTriangleErodedCompletelyEPKNS_4geom18CoordinateSequenceEd_ZN4geos9operation6buffer21OffsetCurveSetBuilder18isErodedCompletelyEPKNS_4geom10LinearRingEd_ZNSt6vectorIPN4geos9geomgraph5LabelESaIS3_EE19_M_emplace_back_auxIIRKS3_EEEvDpOT__ZNSt6vectorIPN4geos9geomgraph5LabelESaIS3_EE19_M_emplace_back_auxIJRKS3_EEEvDpOT__ZN4geos9operation6buffer21OffsetCurveSetBuilder8addCurveEPNS_4geom18CoordinateSequenceENS3_8LocationES6__ZN4geos9operation6buffer21OffsetCurveSetBuilder9addCurvesERKSt6vectorIPNS_4geom18CoordinateSequenceESaIS6_EENS4_8LocationESB__ZN4geos9operation6buffer21OffsetCurveSetBuilder8addPointEPKNS_4geom5PointE_ZN4geos9operation6buffer21OffsetCurveSetBuilder13addLineStringEPKNS_4geom10LineStringE_ZN4geos9operation6buffer21OffsetCurveSetBuilder14addPolygonRingEPKNS_4geom18CoordinateSequenceEdiNS3_8LocationES7__ZN4geos9operation6buffer21OffsetCurveSetBuilder10addPolygonEPKNS_4geom7PolygonE_ZN4geos9operation6buffer21OffsetCurveSetBuilder3addERKNS_4geom8GeometryE_ZN4geos9operation6buffer21OffsetCurveSetBuilder13addCollectionEPKNS_4geom18GeometryCollectionE_ZN4geos9operation6buffer22OffsetSegmentGenerator4initEd_ZN4geos9operation6buffer22OffsetSegmentGeneratorC2EPKNS_4geom14PrecisionModelERKNS1_16BufferParametersEd_ZN4geos9operation6buffer22OffsetSegmentGenerator20computeOffsetSegmentERKNS_4geom11LineSegmentEidRS4__ZN4geos9operation6buffer22OffsetSegmentGenerator9addFilletERKNS_4geom10CoordinateEddid_ZN4geos9operation6buffer22OffsetSegmentGenerator9addFilletERKNS_4geom10CoordinateES6_S6_id_ZN4geos9operation6buffer22OffsetSegmentGenerator12addCollinearEb_ZN4geos9operation6buffer22OffsetSegmentGenerator13addInsideTurnEib_ZN4geos9operation6buffer22OffsetSegmentGenerator19addLimitedMitreJoinERKNS_4geom11LineSegmentES6_dd_ZN4geos9operation6buffer22OffsetSegmentGenerator12addMitreJoinERKNS_4geom10CoordinateERKNS3_11LineSegmentES9_d_ZN4geos9operation6buffer22OffsetSegmentGenerator12addBevelJoinERKNS_4geom11LineSegmentES6__ZN4geos9operation6buffer22OffsetSegmentGenerator14addOutsideTurnEib_ZN4geos9operation6buffer22OffsetSegmentGenerator15SIMPLIFY_FACTORE_ZN4geos9operation6buffer22OffsetSegmentGenerator39INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTORE_ZN4geos9operation6buffer22OffsetSegmentGenerator32OFFSET_SEGMENT_SEPARATION_FACTORE_ZN4geos9operation6buffer22OffsetSegmentGenerator2PIE_ZN4geos9operation6buffer22OffsetSegmentGenerator33CURVE_VERTEX_SNAP_DISTANCE_FACTORE_ZN4geos9operation6buffer19RightmostEdgeFinderC2Ev_ZN4geos9operation6buffer19RightmostEdgeFinder23findRightmostEdgeAtNodeEv_ZN4geos9operation6buffer19RightmostEdgeFinder25findRightmostEdgeAtVertexEv_ZN4geos9operation6buffer19RightmostEdgeFinder27checkForRightmostCoordinateEPNS_9geomgraph12DirectedEdgeE_ZN4geos9operation6buffer19RightmostEdgeFinder25getRightmostSideOfSegmentEPNS_9geomgraph12DirectedEdgeEi_ZN4geos9operation6buffer19RightmostEdgeFinder16getRightmostSideEPNS_9geomgraph12DirectedEdgeEi_ZNSt6vectorIPN4geos9operation6buffer12DepthSegmentESaIS4_EE19_M_emplace_back_auxIIRKS4_EEEvDpOT__ZNSt6vectorIPN4geos9operation6buffer12DepthSegmentESaIS4_EE19_M_emplace_back_auxIJRKS4_EEEvDpOT__ZN4geos9operation6buffer20SubgraphDepthLocater19findStabbedSegmentsERKNS_4geom10CoordinateEPNS_9geomgraph12DirectedEdgeERSt6vectorIPNS1_12DepthSegmentESaISC_EE_ZN4geos9operation6buffer20SubgraphDepthLocater19findStabbedSegmentsERKNS_4geom10CoordinateEPSt6vectorIPNS_9geomgraph12DirectedEdgeESaISA_EERS7_IPNS1_12DepthSegmentESaISF_EE_ZN4geos9operation6buffer20SubgraphDepthLocater19findStabbedSegmentsERKNS_4geom10CoordinateERSt6vectorIPNS1_12DepthSegmentESaIS9_EE_ZN4geos9operation8distance30ConnectedElementLocationFilterD2Ev_ZTVN4geos9operation8distance30ConnectedElementLocationFilterE_ZN4geos9operation8distance30ConnectedElementLocationFilterD1Ev_ZN4geos9operation8distance30ConnectedElementLocationFilterD0Ev_ZN4geos9operation8distance30ConnectedElementLocationFilter12getLocationsEPKNS_4geom8GeometryE_ZNSt6vectorISt10unique_ptrIN4geos9operation8distance16GeometryLocationESt14default_deleteIS4_EESaIS7_EE19_M_emplace_back_auxIIPS4_EEEvDpOT__ZNSt6vectorISt10unique_ptrIN4geos9operation8distance16GeometryLocationESt14default_deleteIS4_EESaIS7_EE19_M_emplace_back_auxIJPS4_EEEvDpOT__ZNSt6vectorISt10unique_ptrIN4geos9operation8distance16GeometryLocationESt14default_deleteIS4_EESaIS7_EE12emplace_backIIPS4_EEEvDpOT__ZNSt6vectorISt10unique_ptrIN4geos9operation8distance16GeometryLocationESt14default_deleteIS4_EESaIS7_EE12emplace_backIJPS4_EEEvDpOT__ZN4geos9operation8distance30ConnectedElementLocationFilter9filter_roEPKNS_4geom8GeometryE_ZN4geos9operation8distance16GeometryLocationC1EPKNS_4geom8GeometryEmRKNS3_10CoordinateE_ZN4geos9operation8distance30ConnectedElementLocationFilter9filter_rwEPNS_4geom8GeometryE_ZTSN4geos9operation8distance30ConnectedElementLocationFilterE_ZTIN4geos9operation8distance30ConnectedElementLocationFilterE_ZN4geos9operation8distance27ConnectedElementPointFilterD2Ev_ZN4geos9operation8distance27ConnectedElementPointFilterD1Ev_ZN4geos9operation8distance27ConnectedElementPointFilterD0Ev_ZN4geos9operation8distance27ConnectedElementPointFilter14getCoordinatesEPKNS_4geom8GeometryE_ZTVN4geos9operation8distance27ConnectedElementPointFilterE_ZN4geos9operation8distance27ConnectedElementPointFilter9filter_roEPKNS_4geom8GeometryE_ZTSN4geos9operation8distance27ConnectedElementPointFilterE_ZTIN4geos9operation8distance27ConnectedElementPointFilterE_ZNSt5arrayISt10unique_ptrIN4geos9operation8distance16GeometryLocationESt14default_deleteIS4_EELm2EED2Ev_ZNSt5arrayISt10unique_ptrIN4geos9operation8distance16GeometryLocationESt14default_deleteIS4_EELm2EED1Ev_ZN4geos9operation8distance10DistanceOpC2EPKNS_4geom8GeometryES6__ZN4geos9operation8distance10DistanceOpC1EPKNS_4geom8GeometryES6__ZN4geos9operation8distance10DistanceOpC2ERKNS_4geom8GeometryES6__ZN4geos9operation8distance10DistanceOpC1ERKNS_4geom8GeometryES6__ZN4geos9operation8distance10DistanceOpC2ERKNS_4geom8GeometryES6_d_ZN4geos9operation8distance10DistanceOpC1ERKNS_4geom8GeometryES6_d_ZN4geos9operation8distance10DistanceOp17updateMinDistanceERSt5arrayISt10unique_ptrINS1_16GeometryLocationESt14default_deleteIS5_EELm2EEb_ZN4geos9operation8distance10DistanceOp13computeInsideERSt10unique_ptrINS1_16GeometryLocationESt14default_deleteIS4_EEPKNS_4geom7PolygonERSt5arrayIS7_Lm2EE_ZN4geos9operation8distance16GeometryLocation13getCoordinateEv_ZN4geos9operation8distance16GeometryLocationC1EPKNS_4geom8GeometryERKNS3_10CoordinateE_ZN4geos9operation8distance10DistanceOp13computeInsideERSt6vectorISt10unique_ptrINS1_16GeometryLocationESt14default_deleteIS5_EESaIS8_EERKS3_IPKNS_4geom7PolygonESaISF_EERSt5arrayIS8_Lm2EE_ZN4geos9operation8distance10DistanceOp24computeMinDistancePointsERKSt6vectorIPKNS_4geom5PointESaIS7_EESB_RSt5arrayISt10unique_ptrINS1_16GeometryLocationESt14default_deleteISE_EELm2EE_ZN4geos9operation8distance10DistanceOp18computeMinDistanceEPKNS_4geom10LineStringES6_RSt5arrayISt10unique_ptrINS1_16GeometryLocationESt14default_deleteIS9_EELm2EE_ZN4geos9operation8distance10DistanceOp23computeMinDistanceLinesERKSt6vectorIPKNS_4geom10LineStringESaIS7_EESB_RSt5arrayISt10unique_ptrINS1_16GeometryLocationESt14default_deleteISE_EELm2EE_ZN4geos9operation8distance10DistanceOp18computeMinDistanceEPKNS_4geom10LineStringEPKNS3_5PointERSt5arrayISt10unique_ptrINS1_16GeometryLocationESt14default_deleteISC_EELm2EE_ZN4geos9operation8distance10DistanceOp29computeMinDistanceLinesPointsERKSt6vectorIPKNS_4geom10LineStringESaIS7_EERKS3_IPKNS4_5PointESaISE_EERSt5arrayISt10unique_ptrINS1_16GeometryLocationESt14default_deleteISL_EELm2EE_ZN4geos9operation8distance10DistanceOp20computeFacetDistanceEv_ZNSt6vectorISt10unique_ptrIN4geos9operation8distance16GeometryLocationESt14default_deleteIS4_EESaIS7_EED2Ev_ZNSt6vectorISt10unique_ptrIN4geos9operation8distance16GeometryLocationESt14default_deleteIS4_EESaIS7_EED1Ev_ZN4geos9operation8distance10DistanceOp26computeContainmentDistanceEv_ZN4geos9operation8distance10DistanceOp18computeMinDistanceEv_ZN4geos9operation8distance10DistanceOp8distanceEv_ZN4geos9operation8distance10DistanceOp8distanceERKNS_4geom8GeometryES6__ZN4geos9operation8distance10DistanceOp16isWithinDistanceERKNS_4geom8GeometryES6_d_ZN4geos9operation8distance10DistanceOp13nearestPointsEv_ZN4geos9operation8distance10DistanceOp13nearestPointsEPKNS_4geom8GeometryES6__ZNK4geos9operation8distance13FacetSequence4sizeEv_ZNK4geos9operation8distance13FacetSequence7isPointEv_ZN4geos9operation8distance13FacetSequence15computeEnvelopeEv_ZN4geos9operation8distance13FacetSequenceC2EPKNS_4geom8GeometryEPKNS3_18CoordinateSequenceEmm_ZN4geos9operation8distance13FacetSequenceC1EPKNS_4geom8GeometryEPKNS3_18CoordinateSequenceEmm_ZN4geos9operation8distance13FacetSequenceC2EPKNS_4geom18CoordinateSequenceEmm_ZN4geos9operation8distance13FacetSequenceC1EPKNS_4geom18CoordinateSequenceEmm_ZNK4geos9operation8distance13FacetSequence11getEnvelopeEv_ZNK4geos9operation8distance13FacetSequence13getCoordinateEm_ZNSt6vectorIN4geos9operation8distance16GeometryLocationESaIS3_EE19_M_emplace_back_auxIIRKS3_EEEvDpOT__ZNSt6vectorIN4geos9operation8distance16GeometryLocationESaIS3_EE19_M_emplace_back_auxIJRKS3_EEEvDpOT__ZNK4geos9operation8distance13FacetSequence31updateNearestLocationsPointLineERKNS_4geom10CoordinateERKS2_mS6_S6_PSt6vectorINS1_16GeometryLocationESaISA_EE_ZNK4geos9operation8distance13FacetSequence24computeDistancePointLineERKNS_4geom10CoordinateERKS2_PSt6vectorINS1_16GeometryLocationESaISA_EE_ZNK4geos9operation8distance13FacetSequence30updateNearestLocationsLineLineEmRKNS_4geom10CoordinateES6_RKS2_mS6_S6_PSt6vectorINS1_16GeometryLocationESaISA_EE_ZNK4geos9operation8distance13FacetSequence23computeDistanceLineLineERKS2_PSt6vectorINS1_16GeometryLocationESaIS6_EE_ZNK4geos9operation8distance13FacetSequence8distanceERKS2__ZNK4geos9operation8distance13FacetSequence16nearestLocationsERKS2__ZN4geos9operation8distance24FacetSequenceTreeBuilder21computeFacetSequencesEPKNS_4geom8GeometryE_ZN4geos9operation8distance24FacetSequenceTreeBuilder5buildEPKNS_4geom8GeometryE_ZNSt6vectorIPN4geos9operation8distance13FacetSequenceESaIS4_EE19_M_emplace_back_auxIIRKS4_EEEvDpOT__ZNSt6vectorIPN4geos9operation8distance13FacetSequenceESaIS4_EE19_M_emplace_back_auxIJRKS4_EEEvDpOT__ZN4geos9operation8distance24FacetSequenceTreeBuilder17addFacetSequencesEPKNS_4geom8GeometryEPKNS3_18CoordinateSequenceERSt6vectorIPNS1_13FacetSequenceESaISC_EE_ZN4geos9operation8distance16GeometryLocationC2EPKNS_4geom8GeometryEmRKNS3_10CoordinateE_ZN4geos9operation8distance16GeometryLocationC2EPKNS_4geom8GeometryERKNS3_10CoordinateE_ZN4geos9operation8distance16GeometryLocation20getGeometryComponentEv_ZN4geos9operation8distance16GeometryLocation15getSegmentIndexEv_ZN4geos9operation8distance16GeometryLocation12isInsideAreaEv_ZN9__gnu_cxx12__to_xstringISscEET_PFiPT0_mPKS2_P13__va_list_tagEmS5_z_ZN4geos9operation8distance16GeometryLocation8toStringEvvsnprintf_ZN4geos9operation8distance7DeleterD2Ev_ZN4geos9operation8distance7DeleterD1Ev_ZN4geos9operation8distance7Deleter9visitItemEPv_ZN4geos9operation8distance7DeleterD0Ev_ZNK4geos9operation8distance20IndexedFacetDistance8distanceEPKNS_4geom8GeometryE_ZN4geos9operation8distance7deleterE_ZNK4geos9operation8distance20IndexedFacetDistance16nearestLocationsEPKNS_4geom8GeometryE_ZN4geos9operation8distance20IndexedFacetDistanceD2Ev_ZN4geos9operation8distance20IndexedFacetDistanceD1Ev_ZN4geos9operation8distance20IndexedFacetDistance8distanceEPKNS_4geom8GeometryES6__ZNK4geos9operation8distance20IndexedFacetDistance13nearestPointsEPKNS_4geom8GeometryE_ZN4geos9operation8distance20IndexedFacetDistance13nearestPointsEPKNS_4geom8GeometryES6__ZTIN4geos9operation8distance7DeleterE_ZTSN4geos9operation8distance7DeleterE_ZTVN4geos9operation8distance7DeleterE_ZN4geos9operation12intersection9RectangleC2Edddd_ZN4geos9operation12intersection9RectangleC1Edddd_ZNK4geos9operation12intersection9Rectangle12toLinearRingERKNS_4geom15GeometryFactoryE_ZNK4geos9operation12intersection9Rectangle9toPolygonERKNS_4geom15GeometryFactoryE_ZN4geos9operation12intersection13clip_to_edgesERdS2_ddRKNS1_9RectangleE_ZN4geos9operation12intersection21RectangleIntersection10clip_pointEPKNS_4geom5PointERNS1_28RectangleIntersectionBuilderERKNS1_9RectangleE_ZN4geos9operation12intersection28RectangleIntersectionBuilder3addEPNS_4geom5PointE_ZN4geos9operation12intersection21RectangleIntersection15clip_multipointEPKNS_4geom10MultiPointERNS1_28RectangleIntersectionBuilderERKNS1_9RectangleE_ZN4geos9operation12intersection21RectangleIntersectionC2ERKNS_4geom8GeometryERKNS1_9RectangleE_ZN4geos9operation12intersection21RectangleIntersectionC1ERKNS_4geom8GeometryERKNS1_9RectangleE_ZNSt6vectorIN4geos4geom10CoordinateESaIS2_EE19_M_emplace_back_auxIIS2_EEEvDpOT__ZNSt6vectorIN4geos4geom10CoordinateESaIS2_EE19_M_emplace_back_auxIJS2_EEEvDpOT__ZNSt6vectorIN4geos4geom10CoordinateESaIS2_EE12emplace_backIIS2_EEEvDpOT__ZNSt6vectorIN4geos4geom10CoordinateESaIS2_EE12emplace_backIJS2_EEEvDpOT__ZNSt6vectorIN4geos4geom10CoordinateESaIS2_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS2_S4_EEEEvS9_T_SA_St20forward_iterator_tag_ZN4geos9operation12intersection21RectangleIntersection21clip_linestring_partsEPKNS_4geom10LineStringERNS1_28RectangleIntersectionBuilderERKNS1_9RectangleE_ZN4geos9operation12intersection28RectangleIntersectionBuilder3addEPNS_4geom10LineStringE_ZN4geos9operation12intersection21RectangleIntersection27clip_polygon_to_linestringsEPKNS_4geom7PolygonERNS1_28RectangleIntersectionBuilderERKNS1_9RectangleE_ZN4geos9operation12intersection28RectangleIntersectionBuilder3addEPNS_4geom7PolygonE_ZN4geos9operation12intersection28RectangleIntersectionBuilderD1Ev_ZNK4geos9operation12intersection28RectangleIntersectionBuilder5emptyEv_ZN4geos9operation12intersection28RectangleIntersectionBuilder9reconnectEv_ZN4geos9operation12intersection28RectangleIntersectionBuilder7releaseERS2__ZN4geos9operation12intersection21RectangleIntersection24clip_polygon_to_polygonsEPKNS_4geom7PolygonERNS1_28RectangleIntersectionBuilderERKNS1_9RectangleE_ZN4geos9operation12intersection28RectangleIntersectionBuilder12reverseLinesEv_ZN4geos9operation12intersection28RectangleIntersectionBuilder17reconnectPolygonsERKNS1_9RectangleE_ZN4geos9operation12intersection21RectangleIntersection12clip_polygonEPKNS_4geom7PolygonERNS1_28RectangleIntersectionBuilderERKNS1_9RectangleEb_ZN4geos9operation12intersection21RectangleIntersection17clip_multipolygonEPKNS_4geom12MultiPolygonERNS1_28RectangleIntersectionBuilderERKNS1_9RectangleEb_ZN4geos9operation12intersection21RectangleIntersection15clip_linestringEPKNS_4geom10LineStringERNS1_28RectangleIntersectionBuilderERKNS1_9RectangleE_ZN4geos9operation12intersection21RectangleIntersection20clip_multilinestringEPKNS_4geom15MultiLineStringERNS1_28RectangleIntersectionBuilderERKNS1_9RectangleE_ZN4geos9operation12intersection21RectangleIntersection9clip_geomEPKNS_4geom8GeometryERNS1_28RectangleIntersectionBuilderERKNS1_9RectangleEb_ZN4geos9operation12intersection21RectangleIntersection23clip_geometrycollectionEPKNS_4geom18GeometryCollectionERNS1_28RectangleIntersectionBuilderERKNS1_9RectangleEb_ZN4geos9operation12intersection21RectangleIntersection12clipBoundaryEv_ZN4geos9operation12intersection28RectangleIntersectionBuilder5buildEv_ZN4geos9operation12intersection21RectangleIntersection12clipBoundaryERKNS_4geom8GeometryERKNS1_9RectangleE_ZN4geos9operation12intersection21RectangleIntersection4clipEv_ZN4geos9operation12intersection21RectangleIntersection4clipERKNS_4geom8GeometryERKNS1_9RectangleE_ZN4geos9operation12intersection28RectangleIntersectionBuilderD2Ev_ZN4geos9operation12intersection28RectangleIntersectionBuilder5clearEv_ZN4geos9operation12intersection8distanceERKNS1_9RectangleEdddd_ZN4geos9operation12intersection8distanceERKNS1_9RectangleERKSt6vectorINS_4geom10CoordinateESaIS7_EEPKNS6_10LineStringE_ZN4geos9operation12intersection8distanceERKNS1_9RectangleERKSt6vectorINS_4geom10CoordinateESaIS7_EE_ZN4geos9operation12intersection14reverse_pointsERSt6vectorINS_4geom10CoordinateESaIS4_EEmm_ZN4geos9operation12intersection14normalize_ringERSt6vectorINS_4geom10CoordinateESaIS4_EE_ZNSt4listIPN4geos4geom7PolygonESaIS3_EEaSERKS5__ZNSt8__detail15_List_node_base11_M_transferEPS0_S1__ZNSt4listIPN4geos4geom10LineStringESaIS3_EEaSERKS5__ZN4geos9operation12intersection28RectangleIntersectionBuilder14close_boundaryERKNS1_9RectangleEPSt6vectorINS_4geom10CoordinateESaIS8_EEdddd_ZN4geos9operation12intersection28RectangleIntersectionBuilder10close_ringERKNS1_9RectangleEPSt6vectorINS_4geom10CoordinateESaIS8_EE_ZNSt6vectorIPN4geos4geom10LinearRingESaIS3_EE12emplace_backIIS3_EEEvDpOT__ZNSt6vectorIPN4geos4geom10LinearRingESaIS3_EE12emplace_backIJS3_EEEvDpOT__ZN4geos9operation9linemerge10EdgeStringC2EPKNS_4geom15GeometryFactoryE_ZN4geos9operation9linemerge10EdgeStringC1EPKNS_4geom15GeometryFactoryE_ZN4geos9operation9linemerge10EdgeString14getCoordinatesEv_ZNK4geos11planargraph12DirectedEdge7getEdgeEv_ZTIN4geos9operation9linemerge13LineMergeEdgeE_ZTIN4geos11planargraph4EdgeE_ZNK4geos11planargraph12DirectedEdge16getEdgeDirectionEv_ZNK4geos9operation9linemerge13LineMergeEdge7getLineEv_ZN4geos9operation9linemerge10EdgeString12toLineStringEv_ZNSt6vectorIPN4geos9operation9linemerge21LineMergeDirectedEdgeESaIS4_EE19_M_emplace_back_auxIIRKS4_EEEvDpOT__ZNSt6vectorIPN4geos9operation9linemerge21LineMergeDirectedEdgeESaIS4_EE19_M_emplace_back_auxIJRKS4_EEEvDpOT__ZN4geos9operation9linemerge10EdgeString3addEPNS1_21LineMergeDirectedEdgeE_ZTIN4geos11planargraph14GraphComponentE_ZTSN4geos11planargraph14GraphComponentE_ZTSN4geos11planargraph4EdgeE_ZTSN4geos9operation9linemerge13LineMergeEdgeE_ZN4geos11planargraph14GraphComponentD2Ev_ZTVN4geos11planargraph14GraphComponentE_ZN4geos11planargraph14GraphComponentD1Ev_ZNK4geos11planargraph14GraphComponent9isVisitedEv_ZN4geos11planargraph14GraphComponent10setVisitedEb_ZNK4geos11planargraph14GraphComponent8isMarkedEv_ZN4geos11planargraph14GraphComponent9setMarkedEb_ZN4geos11planargraph12DirectedEdgeD2Ev_ZN4geos11planargraph12DirectedEdgeD1Ev_ZN4geos9operation9linemerge21LineMergeDirectedEdgeD2Ev_ZN4geos9operation9linemerge21LineMergeDirectedEdgeD1Ev_ZN4geos11planargraph14GraphComponentD0Ev_ZN4geos11planargraph12DirectedEdgeD0Ev_ZN4geos9operation9linemerge21LineMergeDirectedEdgeD0Ev_ZN4geos9operation9linemerge21LineMergeDirectedEdgeC2EPNS_11planargraph4NodeES5_RKNS_4geom10CoordinateEb_ZN4geos11planargraph12DirectedEdgeC2EPNS0_4NodeES3_RKNS_4geom10CoordinateEb_ZTVN4geos9operation9linemerge21LineMergeDirectedEdgeE_ZN4geos9operation9linemerge21LineMergeDirectedEdgeC1EPNS_11planargraph4NodeES5_RKNS_4geom10CoordinateEb_ZN4geos9operation9linemerge21LineMergeDirectedEdge7getNextEv_ZNK4geos11planargraph12DirectedEdge9getToNodeEv_ZN4geos11planargraph16DirectedEdgeStar8getEdgesEv_ZNK4geos11planargraph12DirectedEdge6getSymEv_ZTIN4geos9operation9linemerge21LineMergeDirectedEdgeE_ZTIN4geos11planargraph12DirectedEdgeE_ZTSN4geos11planargraph12DirectedEdgeE_ZTSN4geos9operation9linemerge21LineMergeDirectedEdgeE_ZTVN4geos11planargraph12DirectedEdgeE_ZN4geos11planargraph4EdgeD2Ev_ZTVN4geos11planargraph4EdgeE_ZN4geos11planargraph4EdgeD1Ev_ZN4geos11planargraph4EdgeD0Ev_ZN4geos9operation9linemerge13LineMergeEdgeD2Ev_ZN4geos9operation9linemerge13LineMergeEdgeD1Ev_ZN4geos9operation9linemerge13LineMergeEdgeD0Ev_ZN4geos9operation9linemerge13LineMergeEdgeC2EPKNS_4geom10LineStringE_ZTVN4geos9operation9linemerge13LineMergeEdgeE_ZN4geos9operation9linemerge13LineMergeEdgeC1EPKNS_4geom10LineStringE_ZN4geos11planargraph4NodeD2Ev_ZTVN4geos11planargraph4NodeE_ZN4geos11planargraph4NodeD1Ev_ZN4geos11planargraph4NodeD0Ev_ZN4geos11planargraph16DirectedEdgeStarD2Ev_ZTVN4geos11planargraph16DirectedEdgeStarE_ZN4geos11planargraph16DirectedEdgeStarD1Ev_ZN4geos11planargraph16DirectedEdgeStarD0Ev_ZNSt6vectorIPN4geos11planargraph12DirectedEdgeESaIS3_EE19_M_emplace_back_auxIIRKS3_EEEvDpOT__ZNSt6vectorIPN4geos11planargraph12DirectedEdgeESaIS3_EE19_M_emplace_back_auxIJRKS3_EEEvDpOT__ZNSt6vectorIPN4geos11planargraph4EdgeESaIS3_EE19_M_emplace_back_auxIIRKS3_EEEvDpOT__ZNSt6vectorIPN4geos11planargraph4EdgeESaIS3_EE19_M_emplace_back_auxIJRKS3_EEEvDpOT__ZNSt6vectorIPN4geos11planargraph4NodeESaIS3_EE19_M_emplace_back_auxIIRKS3_EEEvDpOT__ZNSt6vectorIPN4geos11planargraph4NodeESaIS3_EE19_M_emplace_back_auxIJRKS3_EEEvDpOT__ZN4geos9operation9linemerge14LineMergeGraph7getNodeERKNS_4geom10CoordinateE_ZN4geos11planargraph7NodeMap4findERKNS_4geom10CoordinateE_ZN4geos11planargraph7NodeMap3addEPNS0_4NodeE_ZN4geos9operation9linemerge14LineMergeGraph7addEdgeEPKNS_4geom10LineStringE_ZN4geos11planargraph4Edge16setDirectedEdgesEPNS0_12DirectedEdgeES3__ZN4geos11planargraph11PlanarGraph3addEPNS0_4EdgeE_ZNSt8_Rb_treeIN4geos4geom10CoordinateESt4pairIKS2_PNS0_11planargraph4NodeEESt10_Select1stIS8_ENS1_18CoordinateLessThenESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E_ZN4geos11planargraph7NodeMapD2Ev_ZTVN4geos11planargraph7NodeMapE_ZN4geos11planargraph7NodeMapD1Ev_ZN4geos11planargraph11PlanarGraphD2Ev_ZTVN4geos11planargraph11PlanarGraphE_ZN4geos11planargraph11PlanarGraphD1Ev_ZN4geos11planargraph7NodeMapD0Ev_ZN4geos11planargraph11PlanarGraphD0Ev_ZN4geos9operation9linemerge14LineMergeGraphD2Ev_ZTVN4geos9operation9linemerge14LineMergeGraphE_ZN4geos9operation9linemerge14LineMergeGraphD1Ev_ZN4geos9operation9linemerge14LineMergeGraphD0Ev_ZTIN4geos11planargraph7NodeMapE_ZTSN4geos11planargraph7NodeMapE_ZTIN4geos11planargraph11PlanarGraphE_ZTSN4geos11planargraph11PlanarGraphE_ZTSN4geos9operation9linemerge14LineMergeGraphE_ZTIN4geos9operation9linemerge14LineMergeGraphE_ZTIN4geos11planargraph16DirectedEdgeStarE_ZTSN4geos11planargraph16DirectedEdgeStarE_ZTIN4geos11planargraph4NodeE_ZTSN4geos11planargraph4NodeE_ZN4geos9operation9linemerge25LMGeometryComponentFilterD2Ev_ZN4geos9operation9linemerge25LMGeometryComponentFilterD1Ev_ZN4geos9operation9linemerge25LMGeometryComponentFilterD0Ev_ZN4geos9operation9linemerge10LineMergerC2Ev_ZN4geos11planargraph7NodeMapC1Ev_ZN4geos9operation9linemerge10LineMergerD2Ev_ZN4geos9operation9linemerge10LineMerger3addEPKNS_4geom10LineStringE_ZN4geos9operation9linemerge10LineMerger3addEPSt6vectorIPKNS_4geom8GeometryESaIS7_EE_ZN4geos9operation9linemerge10LineMerger27buildEdgeStringStartingWithEPNS1_21LineMergeDirectedEdgeE_ZNSt6vectorIPN4geos9operation9linemerge10EdgeStringESaIS4_EE19_M_emplace_back_auxIIS4_EEEvDpOT__ZNSt6vectorIPN4geos9operation9linemerge10EdgeStringESaIS4_EE19_M_emplace_back_auxIJS4_EEEvDpOT__ZN4geos9operation9linemerge10LineMerger26buildEdgeStringsStartingAtEPNS_11planargraph4NodeE_ZN4geos9operation9linemerge10LineMerger35buildEdgeStringsForUnprocessedNodesEv_ZN4geos11planargraph7NodeMap8getNodesERSt6vectorIPNS0_4NodeESaIS4_EE_ZN4geos9operation9linemerge10LineMerger32buildEdgeStringsForIsolatedLoopsEv_ZN4geos9operation9linemerge10LineMerger34buildEdgeStringsForNonDegree2NodesEv_ZN4geos9operation9linemerge10LineMerger36buildEdgeStringsForObviousStartNodesEv_ZN4geos9operation9linemerge10LineMerger5mergeEv_ZTIN4geos9operation9linemerge25LMGeometryComponentFilterE_ZTSN4geos9operation9linemerge25LMGeometryComponentFilterE_ZTVN4geos9operation9linemerge25LMGeometryComponentFilterE_ZN4geos9operation9linemerge13LineSequencer11hasSequenceERNS_11planargraph8SubgraphE_ZN4geos9operation9linemerge13LineSequencer6delAllERSt6vectorIPSt4listIPNS_11planargraph12DirectedEdgeESaIS7_EESaISA_EE_ZN4geos9operation9linemerge13LineSequencer7addLineEPKNS_4geom10LineStringE_ZN4geos9operation9linemerge13LineSequencer7reverseEPKNS_4geom10LineStringE_ZN4geos9operation9linemerge13LineSequencer20findLowestDegreeNodeERKNS_11planargraph8SubgraphE_ZN4geos9operation9linemerge13LineSequencer27findUnvisitedBestOrientedDEEPKNS_11planargraph4NodeE_ZNK4geos11planargraph16DirectedEdgeStar5beginEv_ZNK4geos11planargraph16DirectedEdgeStar3endEv_ZN4geos9operation9linemerge13LineSequencer17addReverseSubpathEPKNS_11planargraph12DirectedEdgeERSt4listIPS4_SaIS8_EESt14_List_iteratorIS8_Eb_ZNK4geos11planargraph12DirectedEdge11getFromNodeEv_ZN4geos4util6Assert6isTrueEbRKSs_ZN4geos9operation9linemerge13LineSequencer7reverseERSt4listIPNS_11planargraph12DirectedEdgeESaIS6_EE_ZN4geos9operation9linemerge13LineSequencer6orientEPSt4listIPNS_11planargraph12DirectedEdgeESaIS6_EE_ZN4geos9operation9linemerge13LineSequencer12findSequenceERNS_11planargraph8SubgraphE_ZNSt8_Rb_treeIPN4geos11planargraph4EdgeES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE8_M_eraseEPSt13_Rb_tree_nodeIS3_E_ZNSt6vectorIPSt4listIPN4geos11planargraph12DirectedEdgeESaIS4_EESaIS7_EE19_M_emplace_back_auxIIRKS7_EEEvDpOT__ZNSt6vectorIPSt4listIPN4geos11planargraph12DirectedEdgeESaIS4_EESaIS7_EE19_M_emplace_back_auxIJRKS7_EEEvDpOT__ZN4geos9operation9linemerge13LineSequencer22buildSequencedGeometryERKSt6vectorIPSt4listIPNS_11planargraph12DirectedEdgeESaIS7_EESaISA_EE_ZN4geos9operation9linemerge13LineSequencer11isSequencedEPKNS_4geom8GeometryE_ZN4geos9operation9linemerge13LineSequencer13findSequencesEv_ZN4geos11planargraph9algorithm23ConnectedSubgraphFinder21getConnectedSubgraphsERSt6vectorIPNS0_8SubgraphESaIS5_EE_ZN4geos9operation9linemerge13LineSequencer15computeSequenceEv_ZN4geos9operation7overlay12EdgeSetNoder13getNodedEdgesEv_ZNSt6vectorIPN4geos9geomgraph4EdgeESaIS3_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS3_S5_EEEEvSA_T_SB_St20forward_iterator_tag_ZN4geos9operation7overlay12EdgeSetNoder8addEdgesEPSt6vectorIPNS_9geomgraph4EdgeESaIS6_EE_ZN4geos9operation7overlay21ElevationMatrixFilterD2Ev_ZN4geos9operation7overlay21ElevationMatrixFilterD1Ev_ZN4geos9operation7overlay21ElevationMatrixFilterD0Ev_ZN4geos9operation7overlay21ElevationMatrixFilterC2ERNS1_15ElevationMatrixE_ZTVN4geos9operation7overlay21ElevationMatrixFilterE_ZN4geos9operation7overlay21ElevationMatrixFilterC1ERNS1_15ElevationMatrixE_ZN4geos9operation7overlay15ElevationMatrix3addEPKNS_4geom8GeometryE_ZN4geos9operation7overlay15ElevationMatrix7getCellERKNS_4geom10CoordinateE_ZN4geos9operation7overlay15ElevationMatrix3addERKNS_4geom10CoordinateE_ZN4geos9operation7overlay19ElevationMatrixCell3addERKNS_4geom10CoordinateE_ZN4geos9operation7overlay21ElevationMatrixFilter9filter_roEPKNS_4geom10CoordinateE_ZNK4geos9operation7overlay15ElevationMatrix7getCellERKNS_4geom10CoordinateE_ZNK4geos9operation7overlay15ElevationMatrix15getAvgElevationEv_ZNK4geos9operation7overlay19ElevationMatrixCell6getAvgEv_ZNK4geos9operation7overlay21ElevationMatrixFilter9filter_rwEPNS_4geom10CoordinateE_ZNK4geos9operation7overlay15ElevationMatrix7elevateEPNS_4geom8GeometryE_ZNK4geos9operation7overlay15ElevationMatrix5printEv_ZNK4geos9operation7overlay19ElevationMatrixCell5printEv_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE8_M_eraseEPSt13_Rb_tree_nodeIdE_ZN4geos9operation7overlay15ElevationMatrixC2ERKNS_4geom8EnvelopeEjj_ZN4geos9operation7overlay19ElevationMatrixCellC1Ev_ZN4geos9operation7overlay15ElevationMatrixC1ERKNS_4geom8EnvelopeEjj_ZTSN4geos9operation7overlay21ElevationMatrixFilterE_ZTIN4geos9operation7overlay21ElevationMatrixFilterE_ZN4geos9operation7overlay19ElevationMatrixCellC2Ev_ZNK4geos9operation7overlay19ElevationMatrixCell8getTotalEv_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE16_M_insert_uniqueIRKdEESt4pairISt17_Rb_tree_iteratorIdEbEOT__ZN4geos9operation7overlay19ElevationMatrixCell3addEd_ZN4geos9operation7overlay8validate17FuzzyPointLocator11getLocationERKNS_4geom10CoordinateE_ZN4geos9operation7overlay8validate17FuzzyPointLocator15extractLineWorkERKNS_4geom8GeometryE_ZN4geos9operation7overlay8validate17FuzzyPointLocatorC2ERKNS_4geom8GeometryEd_ZN4geos9operation7overlay8validate17FuzzyPointLocatorC1ERKNS_4geom8GeometryEd_ZN4geos9operation7overlay8validate17FuzzyPointLocator11getLineWorkERKNS_4geom8GeometryE_ZN4geos9operation7overlay4snap15SnapTransformerD2Ev_ZN4geos9operation7overlay4snap15SnapTransformerD1Ev_ZN4geos9operation7overlay4snap15SnapTransformerD0Ev_ZN4geos9operation7overlay4snap15SnapTransformer20transformCoordinatesEPKNS_4geom18CoordinateSequenceEPKNS4_8GeometryE_ZN4geos9operation7overlay4snap17LineStringSnapper6snapToERKSt6vectorIPKNS_4geom10CoordinateESaIS8_EE_ZN4geos9operation7overlay4snap15GeometrySnapper29computeSizeBasedSnapToleranceERKNS_4geom8GeometryE_ZN4geos9operation7overlay4snap15GeometrySnapper27computeOverlaySnapToleranceERKNS_4geom8GeometryE_ZN4geos9operation7overlay4snap15GeometrySnapper24extractTargetCoordinatesERKNS_4geom8GeometryE_ZTVN4geos9operation7overlay4snap15SnapTransformerE_ZN4geos9operation7overlay4snap15GeometrySnapper4snapERKNS_4geom8GeometryES7_dRNS4_11GeomPtrPairE_ZN4geos9operation7overlay4snap15GeometrySnapper10snapToSelfEdb_ZN4geos9operation7overlay4snap15GeometrySnapper10snapToSelfERKNS_4geom8GeometryEdb_ZTIN4geos9operation7overlay4snap15SnapTransformerE_ZTSN4geos9operation7overlay4snap15SnapTransformerE_ZN4geos9operation7overlay4snap15GeometrySnapper19snapPrecisionFactorE_ZN4geos9operation7overlay11LineBuilderC2EPNS1_9OverlayOpEPKNS_4geom15GeometryFactoryEPNS_9algorithm12PointLocatorE_ZN4geos9operation7overlay11LineBuilderC1EPNS1_9OverlayOpEPKNS_4geom15GeometryFactoryEPNS_9algorithm12PointLocatorE_ZN4geos9operation7overlay11LineBuilder20findCoveredLineEdgesEv_ZN4geos9operation7overlay9OverlayOp12isCoveredByAERKNS_4geom10CoordinateE_ZN4geos9operation7overlay11LineBuilder17labelIsolatedLineEPNS_9geomgraph4EdgeEi_ZN4geos9operation7overlay11LineBuilder18labelIsolatedLinesEPSt6vectorIPNS_9geomgraph4EdgeESaIS6_EE_ZN4geos9operation7overlay11LineBuilder15collectLineEdgeEPNS_9geomgraph12DirectedEdgeENS1_9OverlayOp6OpCodeEPSt6vectorIPNS3_4EdgeESaISA_EE_ZN4geos9operation7overlay9OverlayOp12isResultOfOpERKNS_9geomgraph5LabelENS2_6OpCodeE_ZNSt6vectorIPN4geos4geom10LineStringESaIS3_EE19_M_emplace_back_auxIIRKS3_EEEvDpOT__ZNSt6vectorIPN4geos4geom10LineStringESaIS3_EE19_M_emplace_back_auxIJRKS3_EEEvDpOT__ZN4geos9operation7overlay11LineBuilder10propagateZEPNS_4geom18CoordinateSequenceE_ZN4geos9operation7overlay11LineBuilder10buildLinesENS1_9OverlayOp6OpCodeE_ZNSt6vectorIPN4geos9geomgraph4EdgeESaIS3_EE19_M_emplace_back_auxIIS3_EEEvDpOT__ZNSt6vectorIPN4geos9geomgraph4EdgeESaIS3_EE19_M_emplace_back_auxIJS3_EEEvDpOT__ZN4geos9operation7overlay11LineBuilder24collectBoundaryTouchEdgeEPNS_9geomgraph12DirectedEdgeENS1_9OverlayOp6OpCodeEPSt6vectorIPNS3_4EdgeESaISA_EE_ZN4geos9operation7overlay11LineBuilder12collectLinesENS1_9OverlayOp6OpCodeE_ZN4geos9operation7overlay11LineBuilder5buildENS1_9OverlayOp6OpCodeE_ZN4geos9operation7overlay4snap17LineStringSnapper16findVertexToSnapERKNS_4geom10CoordinateESt14_List_iteratorIS5_ES9__ZN4geos9operation7overlay4snap17LineStringSnapper12snapVerticesERNS_4geom14CoordinateListERKSt6vectorIPKNS4_10CoordinateESaISA_EE_ZN4geos9operation7overlay4snap17LineStringSnapper17findSnapForVertexERKNS_4geom10CoordinateERKSt6vectorIPS6_SaIS9_EE_ZN4geos9operation7overlay4snap17LineStringSnapper17findSegmentToSnapERKNS_4geom10CoordinateESt14_List_iteratorIS5_ES9__ZN4geos9operation7overlay4snap17LineStringSnapper12snapSegmentsERNS_4geom14CoordinateListERKSt6vectorIPKNS4_10CoordinateESaISA_EE_ZN4geos9operation7overlay15MaximalEdgeRing7getNextEPNS_9geomgraph12DirectedEdgeE_ZN4geos9operation7overlay15MaximalEdgeRing11setEdgeRingEPNS_9geomgraph12DirectedEdgeEPNS3_8EdgeRingE_ZN4geos9operation7overlay15MaximalEdgeRingD2Ev_ZN4geos9operation7overlay15MaximalEdgeRingD1Ev_ZN4geos9operation7overlay15MaximalEdgeRingD0Ev_ZN4geos9operation7overlay15MaximalEdgeRingC2EPNS_9geomgraph12DirectedEdgeEPKNS_4geom15GeometryFactoryE_ZTVN4geos9operation7overlay15MaximalEdgeRingE_ZN4geos9operation7overlay15MaximalEdgeRingC1EPNS_9geomgraph12DirectedEdgeEPKNS_4geom15GeometryFactoryE_ZN4geos9operation7overlay15MaximalEdgeRing36linkDirectedEdgesForMinimalEdgeRingsEv_ZNSt6vectorIPN4geos9operation7overlay15MinimalEdgeRingESaIS4_EE19_M_emplace_back_auxIIRKS4_EEEvDpOT__ZNSt6vectorIPN4geos9operation7overlay15MinimalEdgeRingESaIS4_EE19_M_emplace_back_auxIJRKS4_EEEvDpOT__ZN4geos9operation7overlay15MaximalEdgeRing17buildMinimalRingsERSt6vectorIPNS1_15MinimalEdgeRingESaIS5_EE_ZN4geos9operation7overlay15MinimalEdgeRingC1EPNS_9geomgraph12DirectedEdgeEPKNS_4geom15GeometryFactoryE_ZN4geos9operation7overlay15MaximalEdgeRing17buildMinimalRingsEv_ZNSt6vectorIPN4geos9geomgraph8EdgeRingESaIS3_EE19_M_emplace_back_auxIIS3_EEEvDpOT__ZNSt6vectorIPN4geos9geomgraph8EdgeRingESaIS3_EE19_M_emplace_back_auxIJS3_EEEvDpOT__ZN4geos9operation7overlay15MaximalEdgeRing17buildMinimalRingsERSt6vectorIPNS_9geomgraph8EdgeRingESaIS6_EE_ZTSN4geos9operation7overlay15MaximalEdgeRingE_ZTIN4geos9operation7overlay15MaximalEdgeRingE_ZN4geos9operation7overlay15MinimalEdgeRingC2EPNS_9geomgraph12DirectedEdgeEPKNS_4geom15GeometryFactoryE_ZN4geos9operation7overlay8validate20OffsetPointGeneratorC2ERKNS_4geom8GeometryEd_ZN4geos9operation7overlay8validate20OffsetPointGeneratorC1ERKNS_4geom8GeometryEd_ZN4geos9operation7overlay8validate20OffsetPointGenerator14computeOffsetsERKNS_4geom10CoordinateES7__ZN4geos9operation7overlay8validate20OffsetPointGenerator13extractPointsEPKNS_4geom10LineStringE_ZN4geos9operation7overlay8validate20OffsetPointGenerator9getPointsEv_ZN4geos9operation7overlay18OverlayNodeFactoryD2Ev_ZN4geos9operation7overlay18OverlayNodeFactoryD1Ev_ZN4geos9operation7overlay18OverlayNodeFactoryD0Ev_ZNK4geos9operation7overlay18OverlayNodeFactory10createNodeERKNS_4geom10CoordinateE_ZTVN4geos9operation7overlay18OverlayNodeFactoryE_ZTSN4geos9operation7overlay18OverlayNodeFactoryE_ZTIN4geos9operation7overlay18OverlayNodeFactoryE_ZN4geos9operation7overlay9OverlayOp12isResultOfOpENS_4geom8LocationES4_NS2_6OpCodeE_ZN4geos9operation7overlay9OverlayOp21replaceCollapsedEdgesEv_ZN4geos9operation7overlay9OverlayOp10copyPointsEiPKNS_4geom8EnvelopeE_ZN4geos9operation7overlay9OverlayOp14mergeSymLabelsEv_ZN4geos9operation7overlay9OverlayOp19updateNodeLabellingEv_ZN4geos9operation7overlay9OverlayOp16computeLabellingEv_ZN4geos9operation7overlay9OverlayOp11getAverageZEPKNS_4geom7PolygonE_ZN4geos9operation7overlay9OverlayOp11getAverageZEi_ZNK4geos9operation7overlay9OverlayOp6mergeZEPNS_9geomgraph4NodeEPKNS_4geom10LineStringE_ZNK4geos9operation7overlay9OverlayOp6mergeZEPNS_9geomgraph4NodeEPKNS_4geom7PolygonE_ZN4geos9operation7overlay9OverlayOp19labelIncompleteNodeEPNS_9geomgraph4NodeEi_ZN4geos9operation7overlay9OverlayOp20labelIncompleteNodesEv_ZN4geos9operation7overlay9OverlayOp19findResultAreaEdgesENS2_6OpCodeE_ZN4geos9operation7overlay9OverlayOp26cancelDuplicateResultEdgesEv_ZN4geos9operation7overlay9OverlayOp9isCoveredERKNS_4geom10CoordinateEPSt6vectorIPNS3_8GeometryESaIS9_EE_ZN4geos9operation7overlay9OverlayOp9isCoveredERKNS_4geom10CoordinateEPSt6vectorIPNS3_10LineStringESaIS9_EE_ZN4geos9operation7overlay9OverlayOp9isCoveredERKNS_4geom10CoordinateEPSt6vectorIPNS3_7PolygonESaIS9_EE_ZN4geos9operation7overlay9OverlayOp13isCoveredByLAERKNS_4geom10CoordinateE_ZN4geos9operation7overlay9OverlayOp15resultDimensionENS2_6OpCodeEPKNS_4geom8GeometryES7__ZN4geos9operation7overlay9OverlayOp17createEmptyResultENS2_6OpCodeEPKNS_4geom8GeometryES7_PKNS4_15GeometryFactoryE_ZN4geos9operation7overlay9OverlayOp23computeLabelsFromDepthsEv_ZN4geos9operation7overlay9OverlayOp25checkObviouslyWrongResultENS2_6OpCodeE_ZN4geos9operation7overlay9OverlayOp16insertUniqueEdgeEPNS_9geomgraph4EdgeE_ZN4geos9operation7overlay9OverlayOp17insertUniqueEdgesEPSt6vectorIPNS_9geomgraph4EdgeESaIS6_EEPKNS_4geom8EnvelopeE_ZNSt6vectorIPN4geos4geom8GeometryESaIS3_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPPNS1_5PointES_ISA_SaISA_EEEEEEvNS8_IPS3_S5_EET_SH_St20forward_iterator_tag_ZNSt6vectorIPN4geos4geom8GeometryESaIS3_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPPNS1_10LineStringES_ISA_SaISA_EEEEEEvNS8_IPS3_S5_EET_SH_St20forward_iterator_tag_ZNSt6vectorIPN4geos4geom8GeometryESaIS3_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPPNS1_7PolygonES_ISA_SaISA_EEEEEEvNS8_IPS3_S5_EET_SH_St20forward_iterator_tag_ZN4geos9operation7overlay9OverlayOp15computeGeometryEPSt6vectorIPNS_4geom5PointESaIS6_EEPS3_IPNS4_10LineStringESaISB_EEPS3_IPNS4_7PolygonESaISG_EENS2_6OpCodeE_ZN4geos9operation7overlay9OverlayOp14computeOverlayENS2_6OpCodeE_ZN4geos9operation7overlay14PolygonBuilder3addEPNS_9geomgraph11PlanarGraphE_ZN4geos9operation7overlay12PointBuilder5buildENS1_9OverlayOp6OpCodeE_ZN4geos9operation7overlay9OverlayOp17getResultGeometryENS2_6OpCodeE_ZN4geos9operation7overlay9OverlayOpC2EPKNS_4geom8GeometryES6__ZTVN4geos9operation7overlay9OverlayOpE_ZN4geos9operation7overlay9OverlayOpC1EPKNS_4geom8GeometryES6__ZN4geos9operation7overlay9OverlayOpD2Ev_ZN4geos9operation7overlay9OverlayOpD1Ev_ZN4geos9operation7overlay9OverlayOpD0Ev_ZTSN4geos9operation7overlay9OverlayOpE_ZTIN4geos9operation7overlay9OverlayOpE_ZN4geos9operation7overlay8validate22OverlayResultValidatorD2Ev_ZN4geos9operation7overlay8validate22OverlayResultValidatorD1Ev_ZN4geos9operation7overlay8validate22OverlayResultValidator13isValidResultENS1_9OverlayOp6OpCodeERSt6vectorINS_4geom8LocationESaIS8_EE_ZN4geos9operation7overlay8validate22OverlayResultValidator9testValidENS1_9OverlayOp6OpCodeERKNS_4geom10CoordinateE_ZN4geos9operation7overlay8validate22OverlayResultValidator9testValidENS1_9OverlayOp6OpCodeE_ZN4geos9operation7overlay8validate22OverlayResultValidator32computeBoundaryDistanceToleranceERKNS_4geom8GeometryES7__ZN4geos9operation7overlay8validate22OverlayResultValidatorC2ERKNS_4geom8GeometryES7_S7__ZN4geos9operation7overlay8validate22OverlayResultValidatorC1ERKNS_4geom8GeometryES7_S7__ZN4geos9operation7overlay8validate22OverlayResultValidator11addVerticesERKNS_4geom8GeometryE_ZN4geos9operation7overlay8validate22OverlayResultValidator10addTestPtsERKNS_4geom8GeometryE_ZN4geos9operation7overlay8validate22OverlayResultValidator7isValidENS1_9OverlayOp6OpCodeE_ZN4geos9operation7overlay8validate22OverlayResultValidator7isValidERKNS_4geom8GeometryES7_NS1_9OverlayOp6OpCodeES7__ZNSt6vectorIPN4geos4geom5PointESaIS3_EE19_M_emplace_back_auxIIRKS3_EEEvDpOT__ZNSt6vectorIPN4geos4geom5PointESaIS3_EE19_M_emplace_back_auxIJRKS3_EEEvDpOT__ZN4geos9operation7overlay12PointBuilder24filterCoveredNodeToPointEPKNS_9geomgraph4NodeE_ZN4geos9operation7overlay12PointBuilder28extractNonCoveredResultNodesENS1_9OverlayOp6OpCodeE_ZN4geos9operation7overlay14PolygonBuilderC2EPKNS_4geom15GeometryFactoryE_ZN4geos9operation7overlay14PolygonBuilderD2Ev_ZN4geos9operation7overlay14PolygonBuilder9findShellEPSt6vectorIPNS1_15MinimalEdgeRingESaIS5_EE_ZN4geos9operation7overlay14PolygonBuilder17placePolygonHolesEPNS_9geomgraph8EdgeRingEPSt6vectorIPNS1_15MinimalEdgeRingESaIS8_EE_ZN4geos9operation7overlay14PolygonBuilder22findEdgeRingContainingEPNS_9geomgraph8EdgeRingERSt6vectorINS2_11FastPIPRingESaIS7_EE_ZN4geos9operation10polygonize8EdgeRing11ptNotInListEPKNS_4geom18CoordinateSequenceES6__ZN4geos9operation7overlay14PolygonBuilder14placeFreeHolesERSt6vectorINS2_11FastPIPRingESaIS4_EERS3_IPNS_9geomgraph8EdgeRingESaISA_EE_ZNSt6vectorIN4geos9operation7overlay14PolygonBuilder11FastPIPRingESaIS4_EE19_M_emplace_back_auxIIRKS4_EEEvDpOT__ZNSt6vectorIN4geos9operation7overlay14PolygonBuilder11FastPIPRingESaIS4_EE19_M_emplace_back_auxIJRKS4_EEEvDpOT__ZNSt6vectorIPN4geos9operation7overlay15MaximalEdgeRingESaIS4_EE19_M_emplace_back_auxIIRKS4_EEEvDpOT__ZNSt6vectorIPN4geos9operation7overlay15MaximalEdgeRingESaIS4_EE19_M_emplace_back_auxIJRKS4_EEEvDpOT__ZN4geos9operation7overlay14PolygonBuilder21buildMaximalEdgeRingsEPKSt6vectorIPNS_9geomgraph12DirectedEdgeESaIS6_EERS3_IPNS1_15MaximalEdgeRingESaISC_EE_ZNSt6vectorIPN4geos9geomgraph8EdgeRingESaIS3_EE19_M_emplace_back_auxIIRKS3_EEEvDpOT__ZNSt6vectorIPN4geos9geomgraph8EdgeRingESaIS3_EE19_M_emplace_back_auxIJRKS3_EEEvDpOT__ZN4geos9operation7overlay14PolygonBuilder18sortShellsAndHolesERSt6vectorIPNS1_15MaximalEdgeRingESaIS5_EERS3_IPNS_9geomgraph8EdgeRingESaISB_EESE__ZNSt6vectorIPN4geos9geomgraph8EdgeRingESaIS3_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPPNS0_9operation7overlay15MinimalEdgeRingES_ISC_SaISC_EEEEEEvNS8_IPS3_S5_EET_SJ_St20forward_iterator_tag_ZN4geos9operation7overlay14PolygonBuilder21buildMinimalEdgeRingsERSt6vectorIPNS1_15MaximalEdgeRingESaIS5_EERS3_IPNS_9geomgraph8EdgeRingESaISB_EESE_S8__ZN4geos9operation7overlay14PolygonBuilder15computePolygonsERSt6vectorIPNS_9geomgraph8EdgeRingESaIS6_EE_ZN4geos9operation7overlay4snap21SnapIfNeededOverlayOp17getResultGeometryENS1_9OverlayOp6OpCodeE_ZN4geos4geom11GeomPtrPairD2Ev_ZN4geos4geom11GeomPtrPairD1Ev_ZN4geos9operation7overlay4snap13SnapOverlayOp16removeCommonBitsERKNS_4geom8GeometryES7_RNS4_11GeomPtrPairE_ZN4geos9operation7overlay4snap13SnapOverlayOp4snapERNS_4geom11GeomPtrPairE_ZN4geos9operation7overlay4snap13SnapOverlayOp13prepareResultERNS_4geom8GeometryE_ZN4geos9operation10polygonize11PolygonizerD2Ev_ZN4geos9operation10polygonize11PolygonizerD1Ev_ZNSt6vectorISt10unique_ptrIN4geos9operation10polygonize4FaceESt14default_deleteIS4_EESaIS7_EE19_M_emplace_back_auxIIS7_EEEvDpOT__ZNSt6vectorISt10unique_ptrIN4geos9operation10polygonize4FaceESt14default_deleteIS4_EESaIS7_EE19_M_emplace_back_auxIJS7_EEEvDpOT__ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPSt10unique_ptrIN4geos9operation10polygonize4FaceESt14default_deleteIS6_EESt6vectorIS9_SaIS9_EEEENS5_16CompareByEnvareaEEvT_SG_T0__ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPSt10unique_ptrIN4geos9operation10polygonize4FaceESt14default_deleteIS6_EESt6vectorIS9_SaIS9_EEEElS9_NS5_16CompareByEnvareaEEvT_T0_SH_T1_T2__ZN4geos9operation10polygonize9BuildArea5buildEPKNS_4geom8GeometryE_ZN4geos9operation10polygonize11PolygonizerC1Eb_ZN4geos9operation10polygonize11Polygonizer3addEPKNS_4geom8GeometryE_ZN4geos9operation10polygonize11Polygonizer11getPolygonsEv_ZN4geos9operation8geounion20CascadedPolygonUnion5UnionEPKNS_4geom12MultiPolygonE_ZN4geos9operation10polygonize8EdgeRing8isInListERKNS_4geom10CoordinateEPKNS3_18CoordinateSequenceE_ZN4geos9operation10polygonize8EdgeRingC2EPKNS_4geom15GeometryFactoryE_ZN4geos9operation10polygonize8EdgeRingC1EPKNS_4geom15GeometryFactoryE_ZN4geos9operation10polygonize8EdgeRing10getPolygonEv_ZN4geos9operation10polygonize8EdgeRing7addEdgeEPKNS_4geom18CoordinateSequenceEbPNS3_23CoordinateArraySequenceE_ZN4geos9operation10polygonize8EdgeRing14getCoordinatesEv_ZTIN4geos9operation10polygonize14PolygonizeEdgeE_ZN4geos9operation10polygonize14PolygonizeEdge7getLineEv_ZN4geos9operation10polygonize8EdgeRing13getLineStringEv_ZN4geos9operation10polygonize8EdgeRing15getRingInternalEv_ZN4geos9operation10polygonize8EdgeRing22findEdgeRingContainingERKSt6vectorIPS2_SaIS4_EE_ZN4geos9operation10polygonize8EdgeRing11computeHoleEv_ZN4geos9operation10polygonize8EdgeRing7isValidEv_ZN4geos9operation10polygonize8EdgeRing16getRingOwnershipEv_ZNK4geos9operation10polygonize8EdgeRing12getOuterHoleEv_ZTIN4geos9operation10polygonize22PolygonizeDirectedEdgeE_ZN4geos9operation10polygonize8EdgeRing23updateIncludedRecursiveEv_ZNSt6vectorIPN4geos9operation10polygonize22PolygonizeDirectedEdgeESaIS4_EE19_M_emplace_back_auxIIRKS4_EEEvDpOT__ZNSt6vectorIPN4geos9operation10polygonize22PolygonizeDirectedEdgeESaIS4_EE19_M_emplace_back_auxIJRKS4_EEEvDpOT__ZN4geos9operation10polygonize8EdgeRing18findDirEdgesInRingEPNS1_22PolygonizeDirectedEdgeE_ZNK4geos9operation10polygonize22PolygonizeDirectedEdge7getNextEv_ZNSt6vectorIPKN4geos9operation10polygonize22PolygonizeDirectedEdgeESaIS5_EE19_M_emplace_back_auxIIRKS5_EEEvDpOT__ZNSt6vectorIPKN4geos9operation10polygonize22PolygonizeDirectedEdgeESaIS5_EE19_M_emplace_back_auxIJRKS5_EEEvDpOT__ZN4geos9operation10polygonize8EdgeRing3addEPKNS1_22PolygonizeDirectedEdgeE_ZN4geos9operation10polygonize8EdgeRing5buildEPNS1_22PolygonizeDirectedEdgeE_ZN4geos9operation10polygonize22PolygonizeDirectedEdge7setRingEPNS1_8EdgeRingE_ZNSt6vectorISt10unique_ptrIN4geos4geom10LinearRingESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIIRPS3_EEEvDpOT__ZNSt6vectorISt10unique_ptrIN4geos4geom10LinearRingESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIJRPS3_EEEvDpOT__ZN4geos9operation10polygonize8EdgeRing7addHoleEPNS_4geom10LinearRingE_ZN4geos9operation10polygonize8EdgeRing7addHoleEPS2__ZTSN4geos9operation10polygonize22PolygonizeDirectedEdgeE_ZTSN4geos9operation10polygonize14PolygonizeEdgeE_ZN4geos9operation10polygonize12HoleAssigner10buildIndexEv_ZN4geos9operation10polygonize12HoleAssigner10findShellsERKNS_4geom8EnvelopeE_ZN4geos9operation10polygonize12HoleAssigner22findEdgeRingContainingEPNS1_8EdgeRingE_ZN4geos9operation10polygonize12HoleAssigner17assignHoleToShellEPNS1_8EdgeRingE_ZN4geos9operation10polygonize12HoleAssigner19assignHolesToShellsERSt6vectorIPNS1_8EdgeRingESaIS5_EE_ZN4geos9operation10polygonize12HoleAssigner19assignHolesToShellsERSt6vectorIPNS1_8EdgeRingESaIS5_EES8__ZN4geos9operation10polygonize22PolygonizeDirectedEdgeD2Ev_ZN4geos9operation10polygonize22PolygonizeDirectedEdgeD1Ev_ZN4geos9operation10polygonize22PolygonizeDirectedEdgeD0Ev_ZN4geos9operation10polygonize22PolygonizeDirectedEdgeC2EPNS_11planargraph4NodeES5_RKNS_4geom10CoordinateEb_ZTVN4geos9operation10polygonize22PolygonizeDirectedEdgeE_ZN4geos9operation10polygonize22PolygonizeDirectedEdgeC1EPNS_11planargraph4NodeES5_RKNS_4geom10CoordinateEb_ZNK4geos9operation10polygonize22PolygonizeDirectedEdge8getLabelEv_ZN4geos9operation10polygonize22PolygonizeDirectedEdge8setLabelEl_ZN4geos9operation10polygonize22PolygonizeDirectedEdge7setNextEPS2__ZNK4geos9operation10polygonize22PolygonizeDirectedEdge8isInRingEv_ZN4geos9operation10polygonize14PolygonizeEdgeD2Ev_ZN4geos9operation10polygonize14PolygonizeEdgeD1Ev_ZN4geos9operation10polygonize14PolygonizeEdgeD0Ev_ZN4geos9operation10polygonize14PolygonizeEdgeC2EPKNS_4geom10LineStringE_ZTVN4geos9operation10polygonize14PolygonizeEdgeE_ZN4geos9operation10polygonize14PolygonizeEdgeC1EPKNS_4geom10LineStringE_ZN4geos9operation10polygonize15PolygonizeGraph19getDegreeNonDeletedEPNS_11planargraph4NodeE_ZN4geos9operation10polygonize15PolygonizeGraph9getDegreeEPNS_11planargraph4NodeEl_ZN4geos9operation10polygonize15PolygonizeGraph14deleteAllEdgesEPNS_11planargraph4NodeE_ZN4geos9operation10polygonize15PolygonizeGraphC2EPKNS_4geom15GeometryFactoryE_ZTVN4geos9operation10polygonize15PolygonizeGraphE_ZN4geos9operation10polygonize15PolygonizeGraphC1EPKNS_4geom15GeometryFactoryE_ZN4geos9operation10polygonize15PolygonizeGraph5labelERSt6vectorIPNS1_22PolygonizeDirectedEdgeESaIS5_EEl_ZN4geos9operation10polygonize15PolygonizeGraph5labelERSt6vectorIPNS_11planargraph12DirectedEdgeESaIS6_EEl_ZN4geos9operation10polygonize15PolygonizeGraph18computeNextCWEdgesEPNS_11planargraph4NodeE_ZN4geos9operation10polygonize15PolygonizeGraph18computeNextCWEdgesEv_ZN4geos9operation10polygonize15PolygonizeGraph19computeNextCCWEdgesEPNS_11planargraph4NodeEl_ZN4geos9operation10polygonize15PolygonizeGraph7getNodeERKNS_4geom10CoordinateE_ZN4geos9operation10polygonize15PolygonizeGraph21findIntersectionNodesEPNS1_22PolygonizeDirectedEdgeElRSt6vectorIPNS_11planargraph4NodeESaIS8_EE_ZN4geos9operation10polygonize15PolygonizeGraph32convertMaximalToMinimalEdgeRingsERSt6vectorIPNS1_22PolygonizeDirectedEdgeESaIS5_EE_ZNSt6vectorIPN4geos9operation10polygonize8EdgeRingESaIS4_EE19_M_emplace_back_auxIIRKS4_EEEvDpOT__ZNSt6vectorIPN4geos9operation10polygonize8EdgeRingESaIS4_EE19_M_emplace_back_auxIJRKS4_EEEvDpOT__ZN4geos9operation10polygonize15PolygonizeGraph12findEdgeRingEPNS1_22PolygonizeDirectedEdgeE_ZN4geos9operation10polygonize15PolygonizeGraph20findLabeledEdgeRingsERSt6vectorIPNS_11planargraph12DirectedEdgeESaIS6_EERS3_IPNS1_22PolygonizeDirectedEdgeESaISB_EE_ZN4geos9operation10polygonize15PolygonizeGraph12getEdgeRingsERSt6vectorIPNS1_8EdgeRingESaIS5_EE_ZNSt8_Rb_treeIPKN4geos4geom10LineStringES4_St9_IdentityIS4_ESt4lessIS4_ESaIS4_EE8_M_eraseEPSt13_Rb_tree_nodeIS4_E_ZNSt8_Rb_treeIPKN4geos4geom10LineStringES4_St9_IdentityIS4_ESt4lessIS4_ESaIS4_EE16_M_insert_uniqueIRKS4_EESt4pairISt17_Rb_tree_iteratorIS4_EbEOT__ZN4geos9operation10polygonize15PolygonizeGraph13deleteDanglesERSt6vectorIPKNS_4geom10LineStringESaIS7_EE_ZN4geos11planargraph11PlanarGraph17findNodesOfDegreeEmRSt6vectorIPNS0_4NodeESaIS4_EE_ZN4geos9operation10polygonize15PolygonizeGraph7addEdgeEPKNS_4geom10LineStringE_ZNSt6vectorIPKN4geos4geom10LineStringESaIS4_EE19_M_emplace_back_auxIIS4_EEEvDpOT__ZNSt6vectorIPKN4geos4geom10LineStringESaIS4_EE19_M_emplace_back_auxIJS4_EEEvDpOT__ZN4geos9operation10polygonize15PolygonizeGraph14deleteCutEdgesERSt6vectorIPKNS_4geom10LineStringESaIS7_EE_ZN4geos9operation10polygonize15PolygonizeGraphD2Ev_ZN4geos9operation10polygonize15PolygonizeGraphD1Ev_ZN4geos9operation10polygonize15PolygonizeGraphD0Ev_ZTSN4geos9operation10polygonize15PolygonizeGraphE_ZTIN4geos9operation10polygonize15PolygonizeGraphE_ZN4geos9operation10polygonize11Polygonizer15LineStringAdderD2Ev_ZN4geos9operation10polygonize11Polygonizer15LineStringAdderD1Ev_ZN4geos9operation10polygonize11Polygonizer15LineStringAdderD0Ev_ZN4geos9operation10polygonize11Polygonizer15LineStringAdderC2EPS2__ZTVN4geos9operation10polygonize11Polygonizer15LineStringAdderE_ZN4geos9operation10polygonize11Polygonizer15LineStringAdderC1EPS2__ZN4geos9operation10polygonize11PolygonizerC2Eb_ZN4geos9operation10polygonize11Polygonizer3addEPNS_4geom8GeometryE_ZN4geos9operation10polygonize11Polygonizer3addEPSt6vectorIPNS_4geom8GeometryESaIS6_EE_ZN4geos9operation10polygonize11Polygonizer3addEPSt6vectorIPKNS_4geom8GeometryESaIS7_EE_ZN4geos9operation10polygonize11Polygonizer3addEPKNS_4geom10LineStringE_ZN4geos9operation10polygonize11Polygonizer15LineStringAdder9filter_roEPKNS_4geom8GeometryE_ZN4geos9operation10polygonize11Polygonizer15findOuterShellsERSt6vectorIPNS1_8EdgeRingESaIS5_EE_ZN4geos9operation10polygonize11Polygonizer18findDisjointShellsEv_ZN4geos9operation10polygonize11Polygonizer18findShellsAndHolesERKSt6vectorIPNS1_8EdgeRingESaIS5_EE_ZN4geos9operation10polygonize11Polygonizer15extractPolygonsERSt6vectorIPNS1_8EdgeRingESaIS5_EEb_ZN4geos9operation10polygonize11Polygonizer14findValidRingsERKSt6vectorIPNS1_8EdgeRingESaIS5_EERS7_RS3_ISt10unique_ptrINS_4geom10LineStringESt14default_deleteISD_EESaISG_EE_ZN4geos9operation10polygonize11Polygonizer10polygonizeEv_ZN4geos9operation10polygonize11Polygonizer10getDanglesEv_ZN4geos9operation10polygonize11Polygonizer10hasDanglesEv_ZN4geos9operation10polygonize11Polygonizer11getCutEdgesEv_ZN4geos9operation10polygonize11Polygonizer11hasCutEdgesEv_ZN4geos9operation10polygonize11Polygonizer19getInvalidRingLinesEv_ZN4geos9operation10polygonize11Polygonizer19hasInvalidRingLinesEv_ZN4geos9operation10polygonize11Polygonizer21allInputsFormPolygonsEv_ZTSN4geos9operation10polygonize11Polygonizer15LineStringAdderE_ZTIN4geos9operation10polygonize11Polygonizer15LineStringAdderE_ZN4geos9operation9predicate17RectangleContains26isPointContainedInBoundaryERKNS_4geom10CoordinateE_ZN4geos9operation9predicate17RectangleContains26isPointContainedInBoundaryERKNS_4geom5PointE_ZN4geos9operation9predicate17RectangleContains32isLineSegmentContainedInBoundaryERKNS_4geom10CoordinateES6__ZN4geos9operation9predicate17RectangleContains31isLineStringContainedInBoundaryERKNS_4geom10LineStringE_ZN4geos9operation9predicate17RectangleContains21isContainedInBoundaryERKNS_4geom8GeometryE_ZN4geos4geom4util29ShortCircuitedGeometryVisitorD2Ev_ZTVN4geos4geom4util29ShortCircuitedGeometryVisitorE_ZN4geos4geom4util29ShortCircuitedGeometryVisitorD1Ev_ZN4geos9operation9predicate25EnvelopeIntersectsVisitor6isDoneEv_ZN4geos9operation9predicate20ContainsPointVisitor6isDoneEv_ZN4geos9operation9predicate21LineIntersectsVisitor6isDoneEv_ZN4geos9operation9predicate21LineIntersectsVisitorD2Ev_ZN4geos9operation9predicate21LineIntersectsVisitorD1Ev_ZN4geos9operation9predicate20ContainsPointVisitorD2Ev_ZN4geos9operation9predicate20ContainsPointVisitorD1Ev_ZN4geos9operation9predicate25EnvelopeIntersectsVisitorD2Ev_ZN4geos9operation9predicate25EnvelopeIntersectsVisitorD1Ev_ZN4geos4geom4util29ShortCircuitedGeometryVisitorD0Ev_ZN4geos9operation9predicate21LineIntersectsVisitorD0Ev_ZN4geos9operation9predicate20ContainsPointVisitorD0Ev_ZN4geos9operation9predicate25EnvelopeIntersectsVisitorD0Ev_ZN4geos9operation9predicate20ContainsPointVisitor5visitERKNS_4geom8GeometryE_ZN4geos9operation9predicate25EnvelopeIntersectsVisitor5visitERKNS_4geom8GeometryE_ZN4geos9operation9predicate21LineIntersectsVisitor5visitERKNS_4geom8GeometryE_ZN4geos9operation9predicate25SegmentIntersectionTester30hasIntersectionWithLineStringsERKNS_4geom10LineStringERKSt6vectorIPS5_SaIS8_EE_ZTVN4geos9operation9predicate25EnvelopeIntersectsVisitorE_ZTVN4geos9operation9predicate20ContainsPointVisitorE_ZTVN4geos9operation9predicate21LineIntersectsVisitorE_ZTIN4geos4geom4util29ShortCircuitedGeometryVisitorE_ZTSN4geos4geom4util29ShortCircuitedGeometryVisitorE_ZTIN4geos9operation9predicate25EnvelopeIntersectsVisitorE_ZTSN4geos9operation9predicate25EnvelopeIntersectsVisitorE_ZTIN4geos9operation9predicate20ContainsPointVisitorE_ZTSN4geos9operation9predicate20ContainsPointVisitorE_ZTIN4geos9operation9predicate21LineIntersectsVisitorE_ZTSN4geos9operation9predicate21LineIntersectsVisitorE_ZN4geos9operation9predicate25SegmentIntersectionTester15hasIntersectionERKNS_4geom10LineStringES6__ZN4geos9operation9predicate25SegmentIntersectionTester33hasIntersectionWithEnvelopeFilterERKNS_4geom10LineStringES6__ZN4geos9operation6relate14EdgeEndBuilder20createEdgeEndForNextEPNS_9geomgraph4EdgeEPSt6vectorIPNS3_7EdgeEndESaIS8_EEPKNS3_16EdgeIntersectionESE__ZN4geos9operation6relate14EdgeEndBuilder20createEdgeEndForPrevEPNS_9geomgraph4EdgeEPSt6vectorIPNS3_7EdgeEndESaIS8_EEPKNS3_16EdgeIntersectionESE__ZN4geos9operation6relate14EdgeEndBuilder15computeEdgeEndsEPNS_9geomgraph4EdgeEPSt6vectorIPNS3_7EdgeEndESaIS8_EE_ZN4geos9operation6relate14EdgeEndBuilder15computeEdgeEndsEPSt6vectorIPNS_9geomgraph4EdgeESaIS6_EE_ZN4geos9operation6relate13EdgeEndBundleD2Ev_ZTVN4geos9operation6relate13EdgeEndBundleE_ZN4geos9operation6relate13EdgeEndBundleD1Ev_ZN4geos9operation6relate13EdgeEndBundleD0Ev_ZNK4geos9operation6relate13EdgeEndBundle5printEv_ZN4geos9operation6relate13EdgeEndBundle11getEdgeEndsEv_ZN4geos9operation6relate13EdgeEndBundle14computeLabelOnEiRKNS_9algorithm16BoundaryNodeRuleE_ZN4geos9operation6relate13EdgeEndBundle16computeLabelSideEii_ZN4geos9operation6relate13EdgeEndBundle17computeLabelSidesEi_ZN4geos9operation6relate13EdgeEndBundle12computeLabelERKNS_9algorithm16BoundaryNodeRuleE_ZN4geos9operation6relate13EdgeEndBundle8updateIMERNS_4geom18IntersectionMatrixE_ZN4geos9operation6relate13EdgeEndBundle6insertEPNS_9geomgraph7EdgeEndE_ZN4geos9operation6relate13EdgeEndBundleC2EPNS_9geomgraph7EdgeEndE_ZN4geos9operation6relate13EdgeEndBundleC1EPNS_9geomgraph7EdgeEndE_ZTSN4geos9operation6relate13EdgeEndBundleE_ZTIN4geos9operation6relate13EdgeEndBundleE_ZN4geos9operation6relate17EdgeEndBundleStar6insertEPNS_9geomgraph7EdgeEndE_ZN4geos9operation6relate17EdgeEndBundleStar8updateIMERNS_4geom18IntersectionMatrixE_ZN4geos9operation6relate17EdgeEndBundleStarD2Ev_ZTVN4geos9operation6relate17EdgeEndBundleStarE_ZN4geos9operation6relate17EdgeEndBundleStarD1Ev_ZN4geos9operation6relate17EdgeEndBundleStarD0Ev_ZTSN4geos9operation6relate17EdgeEndBundleStarE_ZTIN4geos9operation6relate17EdgeEndBundleStarE_ZN4geos9operation6relate14RelateComputer14insertEdgeEndsEPSt6vectorIPNS_9geomgraph7EdgeEndESaIS6_EE_ZN4geos9operation6relate14RelateComputer27computeProperIntersectionIMEPNS_9geomgraph5index18SegmentIntersectorEPNS_4geom18IntersectionMatrixE_ZN4geos9operation6relate14RelateComputer18copyNodesAndLabelsEi_ZN4geos9operation6relate14RelateComputer17computeDisjointIMEPNS_4geom18IntersectionMatrixE_ZN4geos9operation6relate14RelateComputer14labelNodeEdgesEv_ZTIN4geos9operation6relate10RelateNodeE_ZN4geos9operation6relate14RelateComputer17labelIsolatedEdgeEPNS_9geomgraph4EdgeEiPKNS_4geom8GeometryE_ZN4geos9operation6relate14RelateComputer17labelIsolatedNodeEPNS_9geomgraph4NodeEi_ZN4geos9operation6relate14RelateComputer18labelIsolatedNodesEv_ZN4geos9operation6relate14RelateComputer18labelIsolatedEdgesEii_ZN4geos9operation6relate14RelateComputer24computeIntersectionNodesEi_ZN4geos9operation6relate14RelateComputer22labelIntersectionNodesEi_ZN4geos9operation6relate14RelateComputerC2EPSt6vectorIPNS_9geomgraph13GeometryGraphESaIS6_EE_ZN4geos9operation6relate17RelateNodeFactory8instanceEv_ZN4geos9operation6relate14RelateComputerC1EPSt6vectorIPNS_9geomgraph13GeometryGraphESaIS6_EE_ZN4geos9operation6relate14RelateComputer8updateIMERNS_4geom18IntersectionMatrixE_ZN4geos9operation6relate10RelateNode17updateIMFromEdgesERNS_4geom18IntersectionMatrixE_ZN4geos9operation6relate14RelateComputer9computeIMEv_ZN4geos9operation6relate10RelateNode9computeIMERNS_4geom18IntersectionMatrixE_ZN4geos9operation6relate10RelateNodeD2Ev_ZTVN4geos9operation6relate10RelateNodeE_ZN4geos9operation6relate10RelateNodeD1Ev_ZN4geos9operation6relate10RelateNodeD0Ev_ZN4geos9operation6relate10RelateNodeC2ERKNS_4geom10CoordinateEPNS_9geomgraph11EdgeEndStarE_ZN4geos9operation6relate10RelateNodeC1ERKNS_4geom10CoordinateEPNS_9geomgraph11EdgeEndStarE_ZTSN4geos9operation6relate10RelateNodeE_ZN4geos9operation6relate17RelateNodeFactoryD2Ev_ZN4geos9operation6relate17RelateNodeFactoryD1Ev_ZN4geos9operation6relate17RelateNodeFactoryD0Ev_ZNK4geos9operation6relate17RelateNodeFactory10createNodeERKNS_4geom10CoordinateE_ZTVN4geos9operation6relate17RelateNodeFactoryE_ZTSN4geos9operation6relate17RelateNodeFactoryE_ZTIN4geos9operation6relate17RelateNodeFactoryE_ZN4geos9operation6relate15RelateNodeGraphD2Ev_ZTVN4geos9operation6relate15RelateNodeGraphE_ZN4geos9operation6relate15RelateNodeGraphD1Ev_ZN4geos9operation6relate15RelateNodeGraphD0Ev_ZN4geos9operation6relate15RelateNodeGraphC2Ev_ZN4geos9operation6relate15RelateNodeGraphC1Ev_ZN4geos9operation6relate15RelateNodeGraph10getNodeMapEv_ZN4geos9operation6relate15RelateNodeGraph18copyNodesAndLabelsEPNS_9geomgraph13GeometryGraphEi_ZN4geos9operation6relate15RelateNodeGraph14insertEdgeEndsEPSt6vectorIPNS_9geomgraph7EdgeEndESaIS6_EE_ZN4geos9operation6relate15RelateNodeGraph24computeIntersectionNodesEPNS_9geomgraph13GeometryGraphEi_ZN4geos9operation6relate15RelateNodeGraph5buildEPNS_9geomgraph13GeometryGraphE_ZTSN4geos9operation6relate15RelateNodeGraphE_ZTIN4geos9operation6relate15RelateNodeGraphE_ZN4geos9operation6relate8RelateOpC2EPKNS_4geom8GeometryES6__ZTVN4geos9operation6relate8RelateOpE_ZN4geos9operation6relate8RelateOpC1EPKNS_4geom8GeometryES6__ZN4geos9operation6relate8RelateOpC2EPKNS_4geom8GeometryES6_RKNS_9algorithm16BoundaryNodeRuleE_ZN4geos9operation6relate8RelateOpC1EPKNS_4geom8GeometryES6_RKNS_9algorithm16BoundaryNodeRuleE_ZN4geos9operation6relate8RelateOp21getIntersectionMatrixEv_ZN4geos9operation6relate14RelateComputerD2Ev_ZN4geos9operation6relate14RelateComputerD1Ev_ZN4geos9operation6relate8RelateOpD2Ev_ZN4geos9operation6relate8RelateOpD1Ev_ZN4geos9operation6relate8RelateOpD0Ev_ZN4geos9operation6relate8RelateOp6relateEPKNS_4geom8GeometryES6_RKNS_9algorithm16BoundaryNodeRuleE_ZTIN4geos9operation6relate8RelateOpE_ZTSN4geos9operation6relate8RelateOpE_ZN4geos9operation8geounion18GeometryListHolder10deleteItemEPNS_4geom8GeometryE_ZN4geos9operation8geounion20CascadedPolygonUnion18restrictToPolygonsESt10unique_ptrINS_4geom8GeometryESt14default_deleteIS5_EE_ZN4geos9operation8geounion20CascadedPolygonUnion11unionActualEPNS_4geom8GeometryES5__ZN4geos9operation8geounion12OverlapUnion7doUnionEv_ZN4geos9operation8geounion20CascadedPolygonUnion9unionSafeEPNS_4geom8GeometryES5__ZN4geos9operation8geounion20CascadedPolygonUnion11binaryUnionEPNS1_18GeometryListHolderEmm_ZN4geos9operation8geounion20CascadedPolygonUnion11binaryUnionEPNS1_18GeometryListHolderE_ZNSt6vectorIPN4geos4geom7PolygonESaIS3_EE19_M_emplace_back_auxIIS3_EEEvDpOT__ZNSt6vectorIPN4geos4geom7PolygonESaIS3_EE19_M_emplace_back_auxIJS3_EEEvDpOT__ZN4geos9operation8geounion20CascadedPolygonUnion18reduceToGeometriesEPNS_5index7strtree9ItemsListE_ZN4geos9operation8geounion20CascadedPolygonUnion9unionTreeEPNS_5index7strtree9ItemsListE_ZN4geos9operation8geounion20CascadedPolygonUnion5UnionEv_ZN4geos9operation8geounion20CascadedPolygonUnion5UnionEPSt6vectorIPNS_4geom7PolygonESaIS6_EE_ZN4geos9operation8geounion13CascadedUnion11unionActualEPNS_4geom8GeometryES5__ZN4geos9operation8geounion13CascadedUnion17extractByEnvelopeERKNS_4geom8EnvelopeEPNS3_8GeometryERSt6vectorIPKS7_SaISB_EE_ZN4geos9operation8geounion13CascadedUnion30unionUsingEnvelopeIntersectionEPNS_4geom8GeometryES5_RKNS3_8EnvelopeE_ZN4geos9operation8geounion13CascadedUnion14unionOptimizedEPNS_4geom8GeometryES5__ZN4geos9operation8geounion13CascadedUnion9unionSafeEPNS_4geom8GeometryES5__ZN4geos9operation8geounion13CascadedUnion11binaryUnionEPNS1_18GeometryListHolderEmm_ZN4geos9operation8geounion13CascadedUnion11binaryUnionEPNS1_18GeometryListHolderE_ZN4geos9operation8geounion13CascadedUnion9unionTreeEPNS_5index7strtree9ItemsListE_ZN4geos9operation8geounion13CascadedUnion18reduceToGeometriesEPNS_5index7strtree9ItemsListE_ZN4geos9operation8geounion13CascadedUnion5UnionEv_ZN4geos9operation8geounion13CascadedUnion5UnionEPSt6vectorIPNS_4geom8GeometryESaIS6_EE_ZNSt6vectorISt10unique_ptrIN4geos4geom8GeometryESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIIS0_INS2_10LineStringES4_ISA_EEEEEvDpOT__ZNSt6vectorISt10unique_ptrIN4geos4geom8GeometryESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIJS0_INS2_10LineStringES4_ISA_EEEEEvDpOT__ZN4geos9operation8geounion13CoverageUnion10polygonizeEPKNS_4geom15GeometryFactoryE_ZNSt10_HashtableIN4geos4geom11LineSegmentES2_SaIS2_ENSt8__detail9_IdentityESt8equal_toIS2_ENS2_8HashCodeENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb1ELb1ELb1EEEE5clearEv_ZNKSt10_HashtableIN4geos4geom11LineSegmentES2_SaIS2_ENSt8__detail9_IdentityESt8equal_toIS2_ENS2_8HashCodeENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb1ELb1ELb1EEEE19_M_find_before_nodeEmRKS2_m_ZNSt10_HashtableIN4geos4geom11LineSegmentES2_SaIS2_ENSt8__detail9_IdentityESt8equal_toIS2_ENS2_8HashCodeENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb1ELb1ELb1EEEE21_M_insert_unique_nodeEmmPNS4_10_Hash_nodeIS2_Lb1EEE_ZNSt10_HashtableIN4geos4geom11LineSegmentES2_SaIS2_ENSt8__detail9_IdentityESt8equal_toIS2_ENS2_8HashCodeENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb1ELb1ELb1EEEE10_M_emplaceIIS2_EEESt4pairINS4_14_Node_iteratorIS2_Lb1ELb1EEEbESt17integral_constantIbLb1EEDpOT__ZNSt10_HashtableIN4geos4geom11LineSegmentES2_SaIS2_ENSt8__detail9_IdentityESt8equal_toIS2_ENS2_8HashCodeENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb1ELb1ELb1EEEE10_M_emplaceIJS2_EEESt4pairINS4_14_Node_iteratorIS2_Lb1ELb1EEEbESt17integral_constantIbLb1EEDpOT__ZN4geos9operation8geounion13CoverageUnion15extractSegmentsEPKNS_4geom10LineStringE_ZN4geos9operation8geounion13CoverageUnion15extractSegmentsEPKNS_4geom7PolygonE_ZN4geos9operation8geounion13CoverageUnion15extractSegmentsEPKNS_4geom8GeometryE_ZN4geos9operation8geounion13CoverageUnion5UnionEPKNS_4geom8GeometryE_ZN4geos9operation8geounion12OverlapUnion15overlapEnvelopeEPKNS_4geom8GeometryES6__ZN4geos9operation8geounion12OverlapUnion21extractBorderSegmentsEPKNS_4geom8GeometryERKNS3_8EnvelopeERSt6vectorIPNS3_11LineSegmentESaISC_EE_ZN4geos9operation8geounion12OverlapUnion21extractBorderSegmentsEPKNS_4geom8GeometryES6_RKNS3_8EnvelopeE_ZN4geos9operation8geounion12OverlapUnion7combineERSt10unique_ptrINS_4geom8GeometryESt14default_deleteIS5_EERSt6vectorIS8_SaIS8_EE_ZN4geos9operation8geounion12OverlapUnion11unionBufferEPKNS_4geom8GeometryES6__ZN4geos9operation8geounion12OverlapUnion9unionFullEPKNS_4geom8GeometryES6__ZN4geos9operation8geounion12OverlapUnion17extractByEnvelopeERKNS_4geom8EnvelopeEPKNS3_8GeometryERSt6vectorISt10unique_ptrIS7_St14default_deleteIS7_EESaISE_EE_ZNSt6vectorIPN4geos4geom11LineSegmentESaIS3_EE19_M_emplace_back_auxIIS3_EEEvDpOT__ZNSt6vectorIPN4geos4geom11LineSegmentESaIS3_EE19_M_emplace_back_auxIJS3_EEEvDpOT__ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPPN4geos4geom11LineSegmentESt6vectorIS5_SaIS5_EEEEPFbPKS4_SC_EEvT_T0__ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPPN4geos4geom11LineSegmentESt6vectorIS5_SaIS5_EEEEPFbPKS4_SC_EEvT_SF_T0__ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPPN4geos4geom11LineSegmentESt6vectorIS5_SaIS5_EEEElS5_PFbPKS4_SC_EEvT_T0_SG_T1_T2__ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPPN4geos4geom11LineSegmentESt6vectorIS5_SaIS5_EEEElPFbPKS4_SC_EEvT_SF_T0_T1__ZN4geos9operation8geounion12OverlapUnion7isEqualERSt6vectorIPNS_4geom11LineSegmentESaIS6_EES9__ZN4geos9operation8geounion12OverlapUnion20isBorderSegmentsSameEPKNS_4geom8GeometryERKNS3_8EnvelopeE_ZN4geos9operation8geounion18PointGeometryUnionC2ERKNS_4geom8GeometryES6__ZN4geos9operation8geounion18PointGeometryUnionC1ERKNS_4geom8GeometryES6__ZNSt8_Rb_treeIN4geos4geom10CoordinateES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E_ZNSt8_Rb_treeIN4geos4geom10CoordinateES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE16_M_insert_uniqueIRKS2_EESt4pairISt17_Rb_tree_iteratorIS2_EbEOT__ZNK4geos9operation8geounion18PointGeometryUnion5UnionEv_ZN4geos9operation8geounion18PointGeometryUnion5UnionERKNS_4geom8GeometryES6__ZN4geos9operation8geounion12UnaryUnionOp13unionWithNullESt10unique_ptrINS_4geom8GeometryESt14default_deleteIS5_EES8__ZN4geos9operation5valid23ConnectedInteriorTesterC2ERNS_9geomgraph13GeometryGraphE_ZN4geos9operation5valid23ConnectedInteriorTesterC1ERNS_9geomgraph13GeometryGraphE_ZN4geos9operation5valid23ConnectedInteriorTester13getCoordinateEv_ZN4geos9operation5valid23ConnectedInteriorTester18findDifferentPointEPKNS_4geom18CoordinateSequenceERKNS3_10CoordinateE_ZN4geos9operation5valid23ConnectedInteriorTester24setInteriorEdgesInResultERNS_9geomgraph11PlanarGraphE_ZN4geos9operation5valid23ConnectedInteriorTester24visitLinkedDirectedEdgesEPNS_9geomgraph12DirectedEdgeE_ZN4geos9operation5valid23ConnectedInteriorTester17visitInteriorRingEPKNS_4geom10LineStringERNS_9geomgraph11PlanarGraphE_ZN4geos9operation5valid23ConnectedInteriorTester19visitShellInteriorsEPKNS_4geom8GeometryERNS_9geomgraph11PlanarGraphE_ZN4geos9operation5valid23ConnectedInteriorTester21hasUnvisitedShellEdgeEPSt6vectorIPNS_9geomgraph8EdgeRingESaIS6_EE_ZN4geos9operation5valid23ConnectedInteriorTester14buildEdgeRingsEPSt6vectorIPNS_9geomgraph7EdgeEndESaIS6_EERS3_IPNS4_8EdgeRingESaISB_EE_ZN4geos9operation5valid23ConnectedInteriorTester20isInteriorsConnectedEv_ZN4geos9operation5valid20ConsistentAreaTesterC2EPNS_9geomgraph13GeometryGraphE_ZN4geos9operation5valid20ConsistentAreaTesterC1EPNS_9geomgraph13GeometryGraphE_ZN4geos9operation5valid20ConsistentAreaTester15getInvalidPointEv_ZN4geos9operation5valid20ConsistentAreaTester30isNodeEdgeAreaLabelsConsistentEv_ZN4geos9operation5valid20ConsistentAreaTester20isNodeConsistentAreaEv_ZN4geos9operation5valid20ConsistentAreaTester17hasDuplicateRingsEv_ZN4geos9operation5valid23IndexedNestedRingTesterD2Ev_ZN4geos9operation5valid23IndexedNestedRingTesterD1Ev_ZN4geos9operation5valid23IndexedNestedRingTester10buildIndexEv_ZN4geos9operation5valid23IndexedNestedRingTester11isNonNestedEv_ZN4geos9operation5valid9IsValidOp13findPtNotNodeEPKNS_4geom18CoordinateSequenceEPKNS3_10LinearRingEPNS_9geomgraph13GeometryGraphE_ZN4geos4util29UnsupportedOperationExceptionC2Ev_ZN4geos4util29UnsupportedOperationExceptionC1Ev_ZN4geos9operation5valid9IsValidOp7isValidERKNS_4geom10CoordinateE_ZN4geos9operation5valid9IsValidOp17checkTooFewPointsEPNS_9geomgraph13GeometryGraphE_ZN4geos9operation5valid23TopologyValidationErrorC1EiRKNS_4geom10CoordinateE_ZN4geos9operation5valid9IsValidOp17checkHolesInShellEPKNS_4geom7PolygonEPNS_9geomgraph13GeometryGraphE_ZN4geos9operation5valid9IsValidOp20checkShellInsideHoleEPKNS_4geom10LinearRingES6_PNS_9geomgraph13GeometryGraphE_ZN4geos9operation5valid9IsValidOp19checkShellNotNestedEPKNS_4geom10LinearRingEPKNS3_7PolygonEPNS_9geomgraph13GeometryGraphE_ZN4geos9operation5valid9IsValidOp20checkShellsNotNestedEPKNS_4geom12MultiPolygonEPNS_9geomgraph13GeometryGraphE_ZN4geos9operation5valid9IsValidOp23checkConnectedInteriorsERNS_9geomgraph13GeometryGraphE_ZN4geos9operation5valid9IsValidOp23checkInvalidCoordinatesEPKNS_4geom18CoordinateSequenceE_ZN4geos9operation5valid9IsValidOp10checkValidEPKNS_4geom5PointE_ZN4geos9operation5valid9IsValidOp23checkInvalidCoordinatesEPKNS_4geom7PolygonE_ZN4geos9operation5valid9IsValidOp15checkClosedRingEPKNS_4geom10LinearRingE_ZN4geos9operation5valid9IsValidOp16checkClosedRingsEPKNS_4geom7PolygonE_ZNSt6vectorIPKN4geos4geom10LinearRingESaIS4_EE19_M_emplace_back_auxIIRKS4_EEEvDpOT__ZNSt6vectorIPKN4geos4geom10LinearRingESaIS4_EE19_M_emplace_back_auxIJRKS4_EEEvDpOT__ZN4geos9operation5valid9IsValidOp19checkHolesNotNestedEPKNS_4geom7PolygonEPNS_9geomgraph13GeometryGraphE_ZN4geos9operation5valid9IsValidOp10checkValidEPKNS_4geom10LineStringE_ZN4geos9operation5valid9IsValidOp27checkNoSelfIntersectingRingERNS_9geomgraph20EdgeIntersectionListE_ZN4geos9operation5valid9IsValidOp28checkNoSelfIntersectingRingsEPNS_9geomgraph13GeometryGraphE_ZN4geos9operation5valid9IsValidOp10checkValidEPKNS_4geom10LinearRingE_ZN4geos9operation5valid9IsValidOp19checkConsistentAreaEPNS_9geomgraph13GeometryGraphE_ZN4geos9operation5valid9IsValidOp10checkValidEPKNS_4geom7PolygonE_ZN4geos9operation5valid9IsValidOp10checkValidEPKNS_4geom12MultiPolygonE_ZN4geos9operation5valid9IsValidOp10checkValidEPKNS_4geom8GeometryE_ZN4geos9operation5valid9IsValidOp10checkValidEPKNS_4geom18GeometryCollectionE_ZN4geos9operation5valid9IsValidOp10checkValidEv_ZN4geos9operation5valid9IsValidOp7isValidERKNS_4geom8GeometryE_ZNSt6vectorISt10unique_ptrIN4geos4geom8GeometryESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIIPNS2_5PointEEEEvDpOT__ZNSt6vectorISt10unique_ptrIN4geos4geom8GeometryESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIJPNS2_5PointEEEEvDpOT__ZNSt6vectorISt10unique_ptrIN4geos4geom8GeometryESt14default_deleteIS3_EESaIS6_EE17_M_default_appendEm_ZN4geos9operation5valid9MakeValid5buildEPKNS_4geom8GeometryE_ZN4geos9operation5valid24QuadtreeNestedRingTesterC2EPNS_9geomgraph13GeometryGraphE_ZN4geos9operation5valid24QuadtreeNestedRingTesterC1EPNS_9geomgraph13GeometryGraphE_ZN4geos9operation5valid24QuadtreeNestedRingTesterD2Ev_ZN4geos9operation5valid24QuadtreeNestedRingTesterD1Ev_ZN4geos9operation5valid24QuadtreeNestedRingTester14getNestedPointEv_ZNSt6vectorISt10unique_ptrIN4geos4geom8EnvelopeESt14default_deleteIS3_EESaIS6_EED2Ev_ZNSt6vectorISt10unique_ptrIN4geos4geom8EnvelopeESt14default_deleteIS3_EESaIS6_EED1Ev_ZN4geos9operation5valid24QuadtreeNestedRingTester13buildQuadtreeEv_ZN4geos9operation5valid24QuadtreeNestedRingTester11isNonNestedEv_ZN4geos9operation5valid24QuadtreeNestedRingTester3addEPKNS_4geom10LinearRingE_ZN4geos9operation5valid19RepeatedPointTester13getCoordinateEv_ZN4geos9operation5valid19RepeatedPointTester16hasRepeatedPointEPKNS_4geom7PolygonE_ZN4geos9operation5valid19RepeatedPointTester16hasRepeatedPointEPKNS_4geom15MultiLineStringE_ZN4geos9operation5valid19RepeatedPointTester16hasRepeatedPointEPKNS_4geom8GeometryE_ZN4geos9operation5valid19RepeatedPointTester16hasRepeatedPointEPKNS_4geom12MultiPolygonE_ZN4geos9operation5valid19RepeatedPointTester16hasRepeatedPointEPKNS_4geom18GeometryCollectionE_ZN4geos9operation5valid22SimpleNestedRingTester11isNonNestedEv_ZN4geos5index9sweepline22SweepLineOverlapActionD2Ev_ZTVN4geos5index9sweepline22SweepLineOverlapActionE_ZN4geos5index9sweepline22SweepLineOverlapActionD1Ev_ZN4geos9operation5valid25SweeplineNestedRingTester13OverlapActionD2Ev_ZN4geos9operation5valid25SweeplineNestedRingTester13OverlapActionD1Ev_ZN4geos5index9sweepline22SweepLineOverlapActionD0Ev_ZN4geos9operation5valid25SweeplineNestedRingTester13OverlapActionD0Ev_ZN4geos9operation5valid25SweeplineNestedRingTester13OverlapActionC2EPS2__ZTVN4geos9operation5valid25SweeplineNestedRingTester13OverlapActionE_ZN4geos9operation5valid25SweeplineNestedRingTester13OverlapActionC1EPS2__ZN4geos9operation5valid25SweeplineNestedRingTester10buildIndexEv_ZN4geos9operation5valid25SweeplineNestedRingTester11isNonNestedEv_ZN4geos9operation5valid25SweeplineNestedRingTester8isInsideEPNS_4geom10LinearRingES5__ZN4geos9operation5valid25SweeplineNestedRingTester13OverlapAction7overlapEPNS_5index9sweepline17SweepLineIntervalES7__ZTIN4geos5index9sweepline22SweepLineOverlapActionE_ZTSN4geos5index9sweepline22SweepLineOverlapActionE_ZTSN4geos9operation5valid25SweeplineNestedRingTester13OverlapActionE_ZTIN4geos9operation5valid25SweeplineNestedRingTester13OverlapActionE_ZN4geos9operation5valid23TopologyValidationErrorC2EiRKNS_4geom10CoordinateE_ZN4geos9operation5valid23TopologyValidationErrorC2Ei_ZN4geos9operation5valid23TopologyValidationErrorC1Ei_ZN4geos9operation5valid23TopologyValidationError12getErrorTypeEv_ZN4geos9operation5valid23TopologyValidationError10getMessageEv_ZN4geos9operation5valid23TopologyValidationError6errMsgE_ZN4geos9operation11sharedpaths13SharedPathsOp16checkLinealInputERKNS_4geom8GeometryE_ZN4geos9operation11sharedpaths13SharedPathsOpC2ERKNS_4geom8GeometryES6__ZN4geos9operation11sharedpaths13SharedPathsOpC1ERKNS_4geom8GeometryES6__ZN4geos9operation11sharedpaths13SharedPathsOp10clearEdgesERSt6vectorIPNS_4geom10LineStringESaIS6_EE_ZN4geos9operation11sharedpaths13SharedPathsOp9isForwardERKNS_4geom10LineStringERKNS3_8GeometryE_ZNSt6vectorIPN4geos4geom10LineStringESaIS3_EE19_M_emplace_back_auxIIS3_EEEvDpOT__ZNSt6vectorIPN4geos4geom10LineStringESaIS3_EE19_M_emplace_back_auxIJS3_EEEvDpOT__ZN4geos9operation11sharedpaths13SharedPathsOp23findLinearIntersectionsERSt6vectorIPNS_4geom10LineStringESaIS6_EE_ZN4geos9operation11sharedpaths13SharedPathsOp14getSharedPathsERSt6vectorIPNS_4geom10LineStringESaIS6_EES9__ZN4geos9operation11sharedpaths13SharedPathsOp13sharedPathsOpERKNS_4geom8GeometryES6_RSt6vectorIPNS3_10LineStringESaIS9_EESC__ZN4geos11planargraph12DirectedEdgeC1EPNS0_4NodeES3_RKNS_4geom10CoordinateEb_ZN4geos11planargraph12DirectedEdge7setEdgeEPNS0_4EdgeE_ZNK4geos11planargraph12DirectedEdge11getQuadrantEv_ZNK4geos11planargraph12DirectedEdge14getDirectionPtEv_ZNK4geos11planargraph12DirectedEdge13getCoordinateEv_ZNK4geos11planargraph12DirectedEdge8getAngleEv_ZN4geos11planargraph12DirectedEdge6setSymEPS1__ZNK4geos11planargraph12DirectedEdge16compareDirectionEPKS1__ZNK4geos11planargraph12DirectedEdge9compareToEPKS1__ZN4geos11planargraphlsERSoRKNS0_12DirectedEdgeE_ZN4geos11planargraph12DirectedEdge7toEdgesERSt6vectorIPS1_SaIS3_EERS2_IPNS0_4EdgeESaIS8_EE_ZN4geos11planargraph12DirectedEdge7toEdgesERSt6vectorIPS1_SaIS3_EE_ZNK4geos11planargraph12DirectedEdge5printEv_ZN4geos11planargraph11pdeLessThanEPNS0_12DirectedEdgeES2__ZN4geos11planargraph16DirectedEdgeStar6removeEPNS0_12DirectedEdgeE_ZNK4geos11planargraph16DirectedEdgeStar13getCoordinateEv_ZNK4geos11planargraph16DirectedEdgeStar8getIndexEi_ZN4geos11planargraph16DirectedEdgeStar3addEPNS0_12DirectedEdgeE_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPPN4geos11planargraph12DirectedEdgeESt6vectorIS5_SaIS5_EEEEPFbS5_S5_EEvT_T0__ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPPN4geos11planargraph12DirectedEdgeESt6vectorIS5_SaIS5_EEEEPFbS5_S5_EEvT_SD_T0__ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPPN4geos11planargraph12DirectedEdgeESt6vectorIS5_SaIS5_EEEElS5_PFbS5_S5_EEvT_T0_SE_T1_T2__ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPPN4geos11planargraph12DirectedEdgeESt6vectorIS5_SaIS5_EEEElPFbS5_S5_EEvT_SD_T0_T1__ZNK4geos11planargraph16DirectedEdgeStar9sortEdgesEv_ZN4geos11planargraph16DirectedEdgeStar5beginEv_ZN4geos11planargraph16DirectedEdgeStar3endEv_ZN4geos11planargraph16DirectedEdgeStar8getIndexEPKNS0_4EdgeE_ZN4geos11planargraph16DirectedEdgeStar8getIndexEPKNS0_12DirectedEdgeE_ZN4geos11planargraph16DirectedEdgeStar11getNextEdgeEPNS0_12DirectedEdgeE_ZN4geos11planargraph4Edge10getDirEdgeEi_ZN4geos11planargraph4Edge10getDirEdgeEPNS0_4NodeE_ZN4geos11planargraph4Edge15getOppositeNodeEPNS0_4NodeE_ZN4geos11planargraphlsERSoRKNS0_4EdgeE_ZN4geos11planargraphlsERSoRKNS0_4NodeE_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPPN4geos11planargraph4EdgeESt6vectorIS5_SaIS5_EEEEEvT_SB__ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPPN4geos11planargraph4EdgeESt6vectorIS5_SaIS5_EEEElS5_EvT_T0_SC_T1__ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPPN4geos11planargraph4EdgeESt6vectorIS5_SaIS5_EEEElEvT_SB_T0__ZN4geos11planargraph4Node15getEdgesBetweenEPS1_S2__ZN4geos11planargraph7NodeMapC2Ev_ZN4geos11planargraph7NodeMap10getNodeMapEv_ZNSt8_Rb_treeIN4geos4geom10CoordinateESt4pairIKS2_PNS0_11planargraph4NodeEESt10_Select1stIS8_ENS1_18CoordinateLessThenESaIS8_EE11equal_rangeERS4__ZN4geos11planargraph7NodeMap6removeERNS_4geom10CoordinateE_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS__ZNSt6vectorIPN4geos11planargraph4EdgeESaIS3_EE5eraseEN9__gnu_cxx17__normal_iteratorIPS3_S5_EE_ZNSt6vectorIPN4geos11planargraph12DirectedEdgeESaIS3_EE5eraseEN9__gnu_cxx17__normal_iteratorIPS3_S5_EE_ZN4geos11planargraph11PlanarGraph6removeEPNS0_12DirectedEdgeE_ZN4geos11planargraph11PlanarGraph6removeEPNS0_4EdgeE_ZN4geos11planargraph11PlanarGraph6removeEPNS0_4NodeE_ZN4geos11planargraph11PlanarGraph17findNodesOfDegreeEm_ZNSt6vectorIPKN4geos11planargraph12DirectedEdgeESaIS4_EE19_M_emplace_back_auxIIS4_EEEvDpOT__ZNSt6vectorIPKN4geos11planargraph12DirectedEdgeESaIS4_EE19_M_emplace_back_auxIJS4_EEEvDpOT__ZNSt6vectorIPKN4geos11planargraph12DirectedEdgeESaIS4_EE12emplace_backIIS4_EEEvDpOT__ZNSt6vectorIPKN4geos11planargraph12DirectedEdgeESaIS4_EE12emplace_backIJS4_EEEvDpOT__ZN4geos11planargraph8Subgraph3addEPNS0_4EdgeE_ZNSt11_Deque_baseIPN4geos11planargraph4NodeESaIS3_EED2Ev_ZNSt11_Deque_baseIPN4geos11planargraph4NodeESaIS3_EED1Ev_ZNSt6vectorIPN4geos11planargraph8SubgraphESaIS3_EE19_M_emplace_back_auxIIS3_EEEvDpOT__ZNSt6vectorIPN4geos11planargraph8SubgraphESaIS3_EE19_M_emplace_back_auxIJS3_EEEvDpOT__ZNSt11_Deque_baseIPN4geos11planargraph4NodeESaIS3_EE17_M_initialize_mapEm_ZNSt5dequeIPN4geos11planargraph4NodeESaIS3_EE17_M_reallocate_mapEmb_ZN4geos11planargraph9algorithm23ConnectedSubgraphFinder8addEdgesEPNS0_4NodeERSt5stackIS4_St5dequeIS4_SaIS4_EEEPNS0_8SubgraphE_ZN4geos11planargraph9algorithm23ConnectedSubgraphFinder12addReachableEPNS0_4NodeEPNS0_8SubgraphE_ZN4geos11planargraph9algorithm23ConnectedSubgraphFinder12findSubgraphEPNS0_4NodeE_ZN4geos9precision10CommonBits11signExpBitsEl_ZN4geos9precision10CommonBits13zeroLowerBitsEli_ZN4geos9precision10CommonBits6getBitEli_ZN4geos9precision10CommonBits28numCommonMostSigMantissaBitsEll_ZN4geos9precision10CommonBitsC2Ev_ZN4geos9precision10CommonBitsC1Ev_ZN4geos9precision10CommonBits3addEd_ZN4geos9precision10CommonBits9getCommonEv_ZN4geos9precision12CommonBitsOpC2Ev_ZN4geos9precision12CommonBitsOpC1Ev_ZN4geos9precision12CommonBitsOpC2Eb_ZN4geos9precision12CommonBitsOpC1Eb_ZN4geos9precision12CommonBitsOp22computeResultPrecisionESt10unique_ptrINS_4geom8GeometryESt14default_deleteIS4_EE_ZN4geos9precision12CommonBitsOp16removeCommonBitsEPKNS_4geom8GeometryE_ZN4geos9precision12CommonBitsOp6bufferEPKNS_4geom8GeometryEd_ZN4geos9precision12CommonBitsOp16removeCommonBitsEPKNS_4geom8GeometryES5_RSt10unique_ptrIS3_St14default_deleteIS3_EESA__ZN4geos9precision12CommonBitsOp12intersectionEPKNS_4geom8GeometryES5__ZN4geos9precision12CommonBitsOp5UnionEPKNS_4geom8GeometryES5__ZN4geos9precision12CommonBitsOp10differenceEPKNS_4geom8GeometryES5__ZN4geos9precision12CommonBitsOp13symDifferenceEPKNS_4geom8GeometryES5__ZNK4geos9precision10Translater9filter_rwEPNS_4geom10CoordinateE_ZN4geos9precision22CommonCoordinateFilterD2Ev_ZN4geos9precision22CommonCoordinateFilterD1Ev_ZN4geos9precision10TranslaterD2Ev_ZN4geos9precision10TranslaterD1Ev_ZN4geos9precision22CommonCoordinateFilterD0Ev_ZN4geos9precision10TranslaterD0Ev_ZN4geos9precision10Translater9filter_roEPKNS_4geom10CoordinateE_ZNK4geos9precision22CommonCoordinateFilter9filter_rwEPNS_4geom10CoordinateE_ZN4geos9precision22CommonCoordinateFilter9filter_roEPKNS_4geom10CoordinateE_ZN4geos9precision17CommonBitsRemoverC2Ev_ZTVN4geos9precision22CommonCoordinateFilterE_ZN4geos9precision17CommonBitsRemoverD2Ev_ZN4geos9precision17CommonBitsRemover19getCommonCoordinateEv_ZTVN4geos9precision10TranslaterE_ZTIN4geos9precision10TranslaterE_ZTSN4geos9precision10TranslaterE_ZTIN4geos9precision22CommonCoordinateFilterE_ZTSN4geos9precision22CommonCoordinateFilterE_ZNSt13runtime_errorC2ERKS__ZNSt13runtime_errorC1ERKS__ZN4geos9precision19EnhancedPrecisionOp12intersectionEPKNS_4geom8GeometryES5__ZN4geos9precision19EnhancedPrecisionOp5UnionEPKNS_4geom8GeometryES5__ZN4geos9precision19EnhancedPrecisionOp10differenceEPKNS_4geom8GeometryES5__ZN4geos9precision19EnhancedPrecisionOp13symDifferenceEPKNS_4geom8GeometryES5__ZN4geos9precision19EnhancedPrecisionOp6bufferEPKNS_4geom8GeometryEd_ZN4geos9precision24GeometryPrecisionReducer15reducePointwiseERKNS_4geom8GeometryE_ZTVN4geos9precision35PrecisionReducerCoordinateOperationE_ZN4geos9precision24GeometryPrecisionReducerC2ERKNS_4geom15GeometryFactoryE_ZN4geos9precision24GeometryPrecisionReducer13createFactoryERKNS_4geom15GeometryFactoryERKNS2_14PrecisionModelE_ZN4geos9precision24GeometryPrecisionReducer20fixPolygonalTopologyERKNS_4geom8GeometryE_ZN4geos9precision16MinimumClearanceC2EPKNS_4geom8GeometryE_ZN4geos9precision16MinimumClearanceC1EPKNS_4geom8GeometryE_ZN4geos9precision16MinimumClearance7computeEv_ZN4geos9precision16MinimumClearance11getDistanceEv_ZN4geos9precision16MinimumClearance7getLineEv_ZTVN4geos5index7strtree12ItemDistanceE_ZN4geos9precision35PrecisionReducerCoordinateOperationD2Ev_ZN4geos9precision35PrecisionReducerCoordinateOperationD1Ev_ZN4geos9precision35PrecisionReducerCoordinateOperationD0Ev_ZN4geos9precision35PrecisionReducerCoordinateOperation4editEPKNS_4geom18CoordinateSequenceEPKNS2_8GeometryE_ZTSN4geos9precision35PrecisionReducerCoordinateOperationE_ZTIN4geos9precision35PrecisionReducerCoordinateOperationE_ZN4geos9precision30SimpleGeometryPrecisionReducerC2EPKNS_4geom14PrecisionModelE_ZN4geos9precision30SimpleGeometryPrecisionReducerC1EPKNS_4geom14PrecisionModelE_ZN4geos9precision30SimpleGeometryPrecisionReducer28setRemoveCollapsedComponentsEb_ZN4geos9precision30SimpleGeometryPrecisionReducer17getPrecisionModelEv_ZN4geos9precision30SimpleGeometryPrecisionReducer18getRemoveCollapsedEv_ZN4geos9precision30SimpleGeometryPrecisionReducer6reduceEPKNS_4geom8GeometryE_ZN4geos8simplify28DouglasPeuckerLineSimplifierC2ERKSt6vectorINS_4geom10CoordinateESaIS4_EE_ZN4geos8simplify28DouglasPeuckerLineSimplifierC1ERKSt6vectorINS_4geom10CoordinateESaIS4_EE_ZN4geos8simplify28DouglasPeuckerLineSimplifier20setDistanceToleranceEd_ZN4geos8simplify28DouglasPeuckerLineSimplifier15simplifySectionEmm_ZN4geos8simplify28DouglasPeuckerLineSimplifier8simplifyEv_ZN4geos8simplify28DouglasPeuckerLineSimplifier8simplifyERKSt6vectorINS_4geom10CoordinateESaIS4_EEd_ZN4geos8simplify13DPTransformerD2Ev_ZN4geos8simplify13DPTransformerD1Ev_ZN4geos8simplify13DPTransformerD0Ev_ZN4geos8simplify13DPTransformer20transformCoordinatesEPKNS_4geom18CoordinateSequenceEPKNS2_8GeometryE_ZN4geos8simplify13DPTransformerC2Ed_ZTVN4geos8simplify13DPTransformerE_ZN4geos8simplify13DPTransformerC1Ed_ZN4geos8simplify13DPTransformer15createValidAreaEPKNS_4geom8GeometryE_ZN4geos8simplify13DPTransformer21transformMultiPolygonEPKNS_4geom12MultiPolygonEPKNS2_8GeometryE_ZN4geos8simplify13DPTransformer16transformPolygonEPKNS_4geom7PolygonEPKNS2_8GeometryE_ZN4geos8simplify24DouglasPeuckerSimplifierC2EPKNS_4geom8GeometryE_ZN4geos8simplify24DouglasPeuckerSimplifierC1EPKNS_4geom8GeometryE_ZN4geos8simplify24DouglasPeuckerSimplifier20setDistanceToleranceEd_ZN4geos8simplify24DouglasPeuckerSimplifier17getResultGeometryEv_ZN4geos8simplify24DouglasPeuckerSimplifier8simplifyEPKNS_4geom8GeometryEd_ZTSN4geos8simplify13DPTransformerE_ZTIN4geos8simplify13DPTransformerE_ZN4geos8simplify18LineSegmentVisitorD2Ev_ZTVN4geos8simplify18LineSegmentVisitorE_ZN4geos8simplify18LineSegmentVisitorD1Ev_ZN4geos8simplify18LineSegmentVisitorD0Ev_ZN4geos8simplify16LineSegmentIndex5queryEPKNS_4geom11LineSegmentE_ZNSt6vectorIPN4geos4geom11LineSegmentESaIS3_EE19_M_emplace_back_auxIIRKS3_EEEvDpOT__ZNSt6vectorIPN4geos4geom11LineSegmentESaIS3_EE19_M_emplace_back_auxIJRKS3_EEEvDpOT__ZN4geos8simplify18LineSegmentVisitor9visitItemEPv_ZNSt6vectorISt10unique_ptrIN4geos4geom8EnvelopeESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIIS6_EEEvDpOT__ZNSt6vectorISt10unique_ptrIN4geos4geom8EnvelopeESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIJS6_EEEvDpOT__ZN4geos8simplify16LineSegmentIndex3addEPKNS_4geom11LineSegmentE_ZN4geos8simplify16LineSegmentIndex3addERKNS0_16TaggedLineStringE_ZNK4geos8simplify16TaggedLineString11getSegmentsEv_ZN4geos8simplify16LineSegmentIndex6removeEPKNS_4geom11LineSegmentE_ZTIN4geos8simplify18LineSegmentVisitorE_ZTSN4geos8simplify18LineSegmentVisitorE_ZN4geos8simplify17TaggedLineSegmentD2Ev_ZN4geos8simplify17TaggedLineSegmentD1Ev_ZN4geos8simplify17TaggedLineSegmentD0Ev_ZN4geos8simplify17TaggedLineSegmentC2ERKNS_4geom10CoordinateES5_PKNS2_8GeometryEm_ZTVN4geos8simplify17TaggedLineSegmentE_ZN4geos8simplify17TaggedLineSegmentC1ERKNS_4geom10CoordinateES5_PKNS2_8GeometryEm_ZN4geos8simplify17TaggedLineSegmentC2ERKNS_4geom10CoordinateES5__ZN4geos8simplify17TaggedLineSegmentC1ERKNS_4geom10CoordinateES5__ZN4geos8simplify17TaggedLineSegmentC2ERKS1__ZN4geos8simplify17TaggedLineSegmentC1ERKS1__ZNK4geos8simplify17TaggedLineSegment9getParentEv_ZNK4geos8simplify17TaggedLineSegment8getIndexEv_ZTIN4geos8simplify17TaggedLineSegmentE_ZTSN4geos8simplify17TaggedLineSegmentE_ZN4geos8simplify16TaggedLineStringD2Ev_ZN4geos8simplify16TaggedLineStringD1Ev_ZNK4geos8simplify16TaggedLineString14getMinimumSizeEv_ZNK4geos8simplify16TaggedLineString9getParentEv_ZNK4geos8simplify16TaggedLineString20getParentCoordinatesEv_ZNK4geos8simplify16TaggedLineString13getResultSizeEv_ZN4geos8simplify16TaggedLineString10getSegmentEm_ZNK4geos8simplify16TaggedLineString10getSegmentEm_ZN4geos8simplify16TaggedLineString11getSegmentsEv_ZNSt6vectorIPN4geos8simplify17TaggedLineSegmentESaIS3_EE7reserveEm_ZNSt6vectorIPN4geos8simplify17TaggedLineSegmentESaIS3_EE19_M_emplace_back_auxIIRKS3_EEEvDpOT__ZNSt6vectorIPN4geos8simplify17TaggedLineSegmentESaIS3_EE19_M_emplace_back_auxIJRKS3_EEEvDpOT__ZN4geos8simplify16TaggedLineString4initEv_ZN4geos8simplify16TaggedLineStringC2EPKNS_4geom10LineStringEm_ZN4geos8simplify16TaggedLineStringC1EPKNS_4geom10LineStringEm_ZN4geos8simplify16TaggedLineString18extractCoordinatesERKSt6vectorIPNS0_17TaggedLineSegmentESaIS4_EE_ZNK4geos8simplify16TaggedLineString20getResultCoordinatesEv_ZNK4geos8simplify16TaggedLineString12asLineStringEv_ZNK4geos8simplify16TaggedLineString12asLinearRingEv_ZNSt6vectorIPN4geos8simplify17TaggedLineSegmentESaIS3_EE19_M_emplace_back_auxIIS3_EEEvDpOT__ZNSt6vectorIPN4geos8simplify17TaggedLineSegmentESaIS3_EE19_M_emplace_back_auxIJS3_EEEvDpOT__ZN4geos8simplify16TaggedLineString11addToResultESt10unique_ptrINS0_17TaggedLineSegmentESt14default_deleteIS3_EE_ZN4geos8simplify26TaggedLineStringSimplifierC2EPNS0_16LineSegmentIndexES3__ZN4geos8simplify26TaggedLineStringSimplifierC1EPNS0_16LineSegmentIndexES3__ZNK4geos8simplify26TaggedLineStringSimplifier23hasInteriorIntersectionERKNS_4geom11LineSegmentES5__ZN4geos8simplify26TaggedLineStringSimplifier24hasBadOutputIntersectionERKNS_4geom11LineSegmentE_ZN4geos8simplify26TaggedLineStringSimplifier15isInLineSectionEPKNS0_16TaggedLineStringERKSt4pairImmEPKNS0_17TaggedLineSegmentE_ZN4geos8simplify26TaggedLineStringSimplifier23hasBadInputIntersectionEPKNS0_16TaggedLineStringERKSt4pairImmERKNS_4geom11LineSegmentE_ZN4geos8simplify26TaggedLineStringSimplifier18hasBadIntersectionEPKNS0_16TaggedLineStringERKSt4pairImmERKNS_4geom11LineSegmentE_ZN4geos8simplify26TaggedLineStringSimplifier6removeEPKNS0_16TaggedLineStringEmm_ZN4geos8simplify26TaggedLineStringSimplifier7flattenEmm_ZN4geos8simplify26TaggedLineStringSimplifier17findFurthestPointEPKNS_4geom18CoordinateSequenceEmmRd_ZN4geos8simplify26TaggedLineStringSimplifier15simplifySectionEmmm_ZN4geos8simplify26TaggedLineStringSimplifier8simplifyEPNS0_16TaggedLineStringE_ZN4geos8simplify21TaggedLinesSimplifier20setDistanceToleranceEd_ZN4geos8simplify21TaggedLinesSimplifier8simplifyERNS0_16TaggedLineStringE_ZN4geos8simplify21TaggedLinesSimplifierC2Ev_ZN4geos8simplify21TaggedLinesSimplifierC1Ev_ZN4geos8simplify28TopologyPreservingSimplifierC2EPKNS_4geom8GeometryE_ZN4geos8simplify28TopologyPreservingSimplifierC1EPKNS_4geom8GeometryE_ZN4geos8simplify28TopologyPreservingSimplifier20setDistanceToleranceEd_ZNSt10_HashtableIPKN4geos4geom8GeometryESt4pairIKS4_PNS0_8simplify16TaggedLineStringEESaISA_ENSt8__detail10_Select1stESt8equal_toIS4_ESt4hashIS4_ENSC_18_Mod_range_hashingENSC_20_Default_ranged_hashENSC_20_Prime_rehash_policyENSC_17_Hashtable_traitsILb0ELb0ELb1EEEE5clearEv_ZN4geos8simplify28TopologyPreservingSimplifier17getResultGeometryEv_ZN4geos8simplify28TopologyPreservingSimplifier8simplifyEPKNS_4geom8GeometryEd_ZNSt10_HashtableIPKN4geos4geom8GeometryESt4pairIKS4_PNS0_8simplify16TaggedLineStringEESaISA_ENSt8__detail10_Select1stESt8equal_toIS4_ESt4hashIS4_ENSC_18_Mod_range_hashingENSC_20_Default_ranged_hashENSC_20_Prime_rehash_policyENSC_17_Hashtable_traitsILb0ELb0ELb1EEEE21_M_insert_unique_nodeEmmPNSC_10_Hash_nodeISA_Lb0EEE_ZN4geos11triangulate8quadedge22LocateFailureExceptionD2Ev_ZN4geos11triangulate8quadedge22LocateFailureExceptionD1Ev_ZN4geos11triangulate8quadedge22LocateFailureExceptionD0Ev_ZN4geos11triangulate31IncrementalDelaunayTriangulatorC2EPNS0_8quadedge19QuadEdgeSubdivisionE_ZN4geos11triangulate31IncrementalDelaunayTriangulatorC1EPNS0_8quadedge19QuadEdgeSubdivisionE_ZN4geos11triangulate31IncrementalDelaunayTriangulator10insertSiteERKNS0_8quadedge6VertexE_ZNK4geos11triangulate8quadedge19QuadEdgeSubdivision14isVertexOfEdgeERKNS1_8QuadEdgeERKNS1_6VertexE_ZNK4geos11triangulate8quadedge19QuadEdgeSubdivision8isOnEdgeERKNS1_8QuadEdgeERKNS_4geom10CoordinateE_ZN4geos11triangulate8quadedge8QuadEdge6spliceERS2_S3__ZNK4geos11triangulate8quadedge6Vertex7rightOfERKNS1_8QuadEdgeE_ZN4geos11triangulate8quadedge8QuadEdge4swapERS2__ZN4geos11triangulate8quadedge19QuadEdgeSubdivision6removeERNS1_8QuadEdgeE_ZN4geos11triangulate8quadedge22LocateFailureExceptionC1ERKSs_ZTIN4geos11triangulate8quadedge22LocateFailureExceptionE_ZN4geos11triangulate31IncrementalDelaunayTriangulator11insertSitesERKSt6vectorINS0_8quadedge6VertexESaIS4_EE_ZTSN4geos11triangulate8quadedge22LocateFailureExceptionE_ZTVN4geos11triangulate8quadedge22LocateFailureExceptionE_ZN4geos11triangulate28DelaunayTriangulationBuilderC2Ev_ZN4geos11triangulate28DelaunayTriangulationBuilderC1Ev_ZN4geos11triangulate28DelaunayTriangulationBuilder8setSitesERKNS_4geom18CoordinateSequenceE_ZN4geos11triangulate28DelaunayTriangulationBuilder8envelopeERKNS_4geom18CoordinateSequenceE_ZNSt6vectorIN4geos11triangulate8quadedge6VertexESaIS3_EED2Ev_ZNSt6vectorIN4geos11triangulate8quadedge6VertexESaIS3_EED1Ev_ZN4geos11triangulate28DelaunayTriangulationBuilder10toVerticesERKNS_4geom18CoordinateSequenceE_ZN4geos11triangulate8quadedge6VertexC1ERKNS_4geom10CoordinateE_ZN4geos11triangulate8quadedge6VertexC1Ev_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN4geos4geom10CoordinateESt6vectorIS4_SaIS4_EEEENS3_18CoordinateLessThenEEvT_SB_SB_SB_T0__ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPN4geos4geom10CoordinateESt6vectorIS4_SaIS4_EEEENS3_18CoordinateLessThenEEvT_T0__ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPN4geos4geom10CoordinateESt6vectorIS4_SaIS4_EEEENS3_18CoordinateLessThenEEvT_SB_T0__ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN4geos11triangulate8quadedge6VertexESt6vectorIS5_SaIS5_EEEEEvT_SB_SB_SB__ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPN4geos11triangulate8quadedge6VertexESt6vectorIS5_SaIS5_EEEEEvT__ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPN4geos11triangulate8quadedge6VertexESt6vectorIS5_SaIS5_EEEEEvT_SB__ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPN4geos4geom10CoordinateESt6vectorIS4_SaIS4_EEEElS4_NS3_18CoordinateLessThenEEvT_T0_SC_T1_T2__ZN4geos11triangulate28DelaunayTriangulationBuilder6uniqueEPKNS_4geom18CoordinateSequenceE_ZN4geos11triangulate28DelaunayTriangulationBuilder24extractUniqueCoordinatesERKNS_4geom8GeometryE_ZN4geos11triangulate28DelaunayTriangulationBuilder8setSitesERKNS_4geom8GeometryE_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPN4geos11triangulate8quadedge6VertexESt6vectorIS5_SaIS5_EEEElS5_EvT_T0_SC_T1__ZSt13__heap_selectIN9__gnu_cxx17__normal_iteratorIPN4geos11triangulate8quadedge6VertexESt6vectorIS5_SaIS5_EEEEEvT_SB_SB__ZTVN4geos11triangulate8quadedge6VertexE_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPN4geos11triangulate8quadedge6VertexESt6vectorIS5_SaIS5_EEEElEvT_SB_T0__ZN4geos11triangulate28DelaunayTriangulationBuilder6createEv_ZN4geos11triangulate8quadedge19QuadEdgeSubdivisionC1ERKNS_4geom8EnvelopeEd_ZN4geos11triangulate28DelaunayTriangulationBuilder14getSubdivisionEv_ZN4geos11triangulate28DelaunayTriangulationBuilder8getEdgesERKNS_4geom15GeometryFactoryE_ZN4geos11triangulate8quadedge19QuadEdgeSubdivision8getEdgesERKNS_4geom15GeometryFactoryE_ZN4geos11triangulate28DelaunayTriangulationBuilder12getTrianglesERKNS_4geom15GeometryFactoryE_ZN4geos11triangulate8quadedge19QuadEdgeSubdivision12getTrianglesERKNS_4geom15GeometryFactoryE_ZN4geos11triangulate21VoronoiDiagramBuilderC2Ev_ZN4geos11triangulate21VoronoiDiagramBuilderC1Ev_ZN4geos11triangulate21VoronoiDiagramBuilder8setSitesERKNS_4geom8GeometryE_ZN4geos11triangulate21VoronoiDiagramBuilder8setSitesERKNS_4geom18CoordinateSequenceE_ZN4geos11triangulate21VoronoiDiagramBuilder15setClipEnvelopeEPKNS_4geom8EnvelopeE_ZN4geos11triangulate21VoronoiDiagramBuilder12setToleranceEd_ZN4geos11triangulate21VoronoiDiagramBuilder22clipGeometryCollectionERSt6vectorISt10unique_ptrINS_4geom8GeometryESt14default_deleteIS5_EESaIS8_EERKNS4_8EnvelopeE_ZN4geos11triangulate21VoronoiDiagramBuilder6createEv_ZN4geos11triangulate21VoronoiDiagramBuilder14getSubdivisionEv_ZN4geos11triangulate21VoronoiDiagramBuilder15getDiagramEdgesERKNS_4geom15GeometryFactoryE_ZN4geos11triangulate8quadedge19QuadEdgeSubdivision22getVoronoiDiagramEdgesERKNS_4geom15GeometryFactoryE_ZN4geos11triangulate21VoronoiDiagramBuilder10getDiagramERKNS_4geom15GeometryFactoryE_ZN4geos11triangulate8quadedge19QuadEdgeSubdivision22getVoronoiCellPolygonsERKNS_4geom15GeometryFactoryE_ZN4geos11triangulate8quadedge15QuadEdgeLocatorD2Ev_ZTVN4geos11triangulate8quadedge15QuadEdgeLocatorE_ZN4geos11triangulate8quadedge15QuadEdgeLocatorD1Ev_ZN4geos11triangulate8quadedge24LastFoundQuadEdgeLocator4initEv_ZN4geos11triangulate8quadedge24LastFoundQuadEdgeLocator8findEdgeEv_ZN4geos11triangulate8quadedge24LastFoundQuadEdgeLocatorD2Ev_ZN4geos11triangulate8quadedge24LastFoundQuadEdgeLocatorD1Ev_ZN4geos11triangulate8quadedge15QuadEdgeLocatorD0Ev_ZN4geos11triangulate8quadedge24LastFoundQuadEdgeLocatorD0Ev_ZN4geos11triangulate8quadedge24LastFoundQuadEdgeLocator6locateERKNS1_6VertexE_ZNK4geos11triangulate8quadedge19QuadEdgeSubdivision14locateFromEdgeERKNS1_6VertexERKNS1_8QuadEdgeE_ZN4geos11triangulate8quadedge24LastFoundQuadEdgeLocatorC2EPNS1_19QuadEdgeSubdivisionE_ZTVN4geos11triangulate8quadedge24LastFoundQuadEdgeLocatorE_ZN4geos11triangulate8quadedge24LastFoundQuadEdgeLocatorC1EPNS1_19QuadEdgeSubdivisionE_ZTIN4geos11triangulate8quadedge15QuadEdgeLocatorE_ZTSN4geos11triangulate8quadedge15QuadEdgeLocatorE_ZTSN4geos11triangulate8quadedge24LastFoundQuadEdgeLocatorE_ZTIN4geos11triangulate8quadedge24LastFoundQuadEdgeLocatorE_ZN4geos11triangulate8quadedge22LocateFailureExceptionC2ERKSs_ZN4geos11triangulate8quadedge8QuadEdgeD2Ev_ZTVN4geos11triangulate8quadedge8QuadEdgeE_ZN4geos11triangulate8quadedge8QuadEdgeD1Ev_ZN4geos11triangulate8quadedge8QuadEdge4freeEv_ZN4geos11triangulate8quadedge8QuadEdge7setDataEPv_ZN4geos11triangulate8quadedge8QuadEdge7getDataEv_ZN4geos11triangulate8quadedge8QuadEdgeD0Ev_ZN4geos11triangulate8quadedge8QuadEdgeC2Ev_ZN4geos11triangulate8quadedge8QuadEdgeC1Ev_ZN4geos11triangulate8quadedge8QuadEdge8makeEdgeERKNS1_6VertexES5__ZN4geos11triangulate8quadedge8QuadEdge7connectERS2_S3__ZNK4geos11triangulate8quadedge8QuadEdge10getPrimaryEv_ZN4geos11triangulate8quadedge8QuadEdge6removeEv_ZNK4geos11triangulate8quadedge8QuadEdge14equalsOrientedERKS2__ZNK4geos11triangulate8quadedge8QuadEdge17equalsNonOrientedERKS2__ZNK4geos11triangulate8quadedge8QuadEdge13toLineSegmentEv_ZTSN4geos11triangulate8quadedge8QuadEdgeE_ZTIN4geos11triangulate8quadedge8QuadEdgeE_ZN4geos11triangulate8quadedge15TriangleVisitorD2Ev_ZTVN4geos11triangulate8quadedge15TriangleVisitorE_ZN4geos11triangulate8quadedge15TriangleVisitorD1Ev_ZN4geos11triangulate8quadedge19QuadEdgeSubdivision27TriangleCircumcentreVisitorD2Ev_ZN4geos11triangulate8quadedge19QuadEdgeSubdivision27TriangleCircumcentreVisitorD1Ev_ZN4geos11triangulate8quadedge19QuadEdgeSubdivision26TriangleCoordinatesVisitorD2Ev_ZN4geos11triangulate8quadedge19QuadEdgeSubdivision26TriangleCoordinatesVisitorD1Ev_ZN4geos11triangulate8quadedge15TriangleVisitorD0Ev_ZN4geos11triangulate8quadedge19QuadEdgeSubdivision27TriangleCircumcentreVisitorD0Ev_ZN4geos11triangulate8quadedge19QuadEdgeSubdivision26TriangleCoordinatesVisitorD0Ev_ZN4geos11triangulate8quadedge19QuadEdgeSubdivisionD2Ev_ZTVN4geos11triangulate8quadedge19QuadEdgeSubdivisionE_ZN4geos11triangulate8quadedge19QuadEdgeSubdivisionD1Ev_ZN4geos11triangulate8quadedge19QuadEdgeSubdivisionD0Ev_ZN4geos11triangulate8quadedge19QuadEdgeSubdivision11createFrameERKNS_4geom8EnvelopeE_ZN4geos11triangulate8quadedge6VertexC1Edd_ZN4geos11triangulate8quadedge19QuadEdgeSubdivision10initSubdivEPPNS1_8QuadEdgeE_ZN4geos11triangulate8quadedge19QuadEdgeSubdivision27TriangleCircumcentreVisitor5visitEPPNS1_8QuadEdgeE_ZN4geos11triangulate8quadedge19QuadEdgeSubdivision16getTriangleEdgesERKNS1_8QuadEdgeEPPS4__ZN4geos11triangulate8quadedge19QuadEdgeSubdivision6locateERKNS_4geom10CoordinateES6__ZN4geos11triangulate8quadedge19QuadEdgeSubdivision10insertSiteERKNS1_6VertexE_ZNK4geos11triangulate8quadedge19QuadEdgeSubdivision13isFrameVertexERKNS1_6VertexE_ZNK4geos11triangulate8quadedge19QuadEdgeSubdivision11isFrameEdgeERKNS1_8QuadEdgeE_ZNK4geos11triangulate8quadedge19QuadEdgeSubdivision17isFrameBorderEdgeERKNS1_8QuadEdgeE_ZN4geos11triangulate8quadedge19QuadEdgeSubdivision12prepareVisitEv_ZNSt6vectorIPN4geos11triangulate8quadedge8QuadEdgeESaIS4_EE19_M_emplace_back_auxIIRKS4_EEEvDpOT__ZNSt6vectorIPN4geos11triangulate8quadedge8QuadEdgeESaIS4_EE19_M_emplace_back_auxIJRKS4_EEEvDpOT__ZN4geos11triangulate8quadedge19QuadEdgeSubdivision8makeEdgeERKNS1_6VertexES5__ZN4geos11triangulate8quadedge19QuadEdgeSubdivision7connectERNS1_8QuadEdgeES4__ZN4geos11triangulate8quadedge19QuadEdgeSubdivisionC2ERKNS_4geom8EnvelopeEd_ZNSt11_Deque_baseIPN4geos11triangulate8quadedge8QuadEdgeESaIS4_EED2Ev_ZNSt11_Deque_baseIPN4geos11triangulate8quadedge8QuadEdgeESaIS4_EED1Ev_ZNSt6vectorISt10unique_ptrIN4geos4geom8GeometryESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIIPNS2_10LineStringEEEEvDpOT__ZNSt6vectorISt10unique_ptrIN4geos4geom8GeometryESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIJPNS2_10LineStringEEEEvDpOT__ZN4geos11triangulate8quadedge19QuadEdgeSubdivision18getVoronoiCellEdgeEPKNS1_8QuadEdgeERKNS_4geom15GeometryFactoryE_ZN4geos11triangulate8quadedge19QuadEdgeSubdivision21getVoronoiCellPolygonEPKNS1_8QuadEdgeERKNS_4geom15GeometryFactoryE_ZNSt8_Rb_treeIN4geos11triangulate8quadedge6VertexES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE8_M_eraseEPSt13_Rb_tree_nodeIS3_E_ZNSt8_Rb_treeIN4geos11triangulate8quadedge6VertexES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE4findERKS3__ZNSt8_Rb_treeIN4geos11triangulate8quadedge6VertexES3_St9_IdentityIS3_ESt4lessIS3_ESaIS3_EE16_M_insert_uniqueIRKS3_EESt4pairISt17_Rb_tree_iteratorIS3_EbEOT__ZN4geos11triangulate8quadedge19QuadEdgeSubdivision20getVertexUniqueEdgesEb_ZNSt11_Deque_baseIPN4geos11triangulate8quadedge8QuadEdgeESaIS4_EE17_M_initialize_mapEm_ZNSt5dequeIPN4geos11triangulate8quadedge8QuadEdgeESaIS4_EE15_M_pop_back_auxEv_ZNSt6vectorISt10unique_ptrIN4geos4geom18CoordinateSequenceESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIIS6_EEEvDpOT__ZNSt6vectorISt10unique_ptrIN4geos4geom18CoordinateSequenceESt14default_deleteIS3_EESaIS6_EE19_M_emplace_back_auxIJS6_EEEvDpOT__ZN4geos11triangulate8quadedge19QuadEdgeSubdivision26TriangleCoordinatesVisitor5visitEPPNS1_8QuadEdgeE_ZNSt5dequeIPN4geos11triangulate8quadedge8QuadEdgeESaIS4_EE17_M_reallocate_mapEmb_ZNSt5dequeIPN4geos11triangulate8quadedge8QuadEdgeESaIS4_EE12emplace_backIIS4_EEEvDpOT__ZNSt5dequeIPN4geos11triangulate8quadedge8QuadEdgeESaIS4_EE12emplace_backIJS4_EEEvDpOT__ZN4geos11triangulate8quadedge19QuadEdgeSubdivision15getPrimaryEdgesEb_ZN4geos11triangulate8quadedge19QuadEdgeSubdivision20fetchTriangleToVisitEPNS1_8QuadEdgeERSt5stackIS4_St5dequeIS4_SaIS4_EEEb_ZN4geos11triangulate8quadedge19QuadEdgeSubdivision14visitTrianglesEPNS1_15TriangleVisitorEb_ZN4geos11triangulate8quadedge19QuadEdgeSubdivision22getTriangleCoordinatesEPSt6vectorISt10unique_ptrINS_4geom18CoordinateSequenceESt14default_deleteIS6_EESaIS9_EEb_ZTVN4geos11triangulate8quadedge19QuadEdgeSubdivision26TriangleCoordinatesVisitorE_ZTVN4geos11triangulate8quadedge19QuadEdgeSubdivision27TriangleCircumcentreVisitorE_ZN4geos11triangulate8quadedge19QuadEdgeSubdivision17getVoronoiDiagramERKNS_4geom15GeometryFactoryE_ZN4geos11triangulate8quadedge19QuadEdgeSubdivision19getVoronoiCellEdgesERKNS_4geom15GeometryFactoryE_ZTSN4geos11triangulate8quadedge19QuadEdgeSubdivisionE_ZTIN4geos11triangulate8quadedge19QuadEdgeSubdivisionE_ZTIN4geos11triangulate8quadedge15TriangleVisitorE_ZTSN4geos11triangulate8quadedge15TriangleVisitorE_ZTIN4geos11triangulate8quadedge19QuadEdgeSubdivision26TriangleCoordinatesVisitorE_ZTSN4geos11triangulate8quadedge19QuadEdgeSubdivision26TriangleCoordinatesVisitorE_ZTIN4geos11triangulate8quadedge19QuadEdgeSubdivision27TriangleCircumcentreVisitorE_ZTSN4geos11triangulate8quadedge19QuadEdgeSubdivision27TriangleCircumcentreVisitorE_ZN4geos4geom17TrianglePredicate20isInCircleNormalizedERKNS0_10CoordinateES4_S4_S4__ZN4geos4geom17TrianglePredicate7triAreaERKNS0_10CoordinateES4_S4__ZN4geos4geom17TrianglePredicate19isInCircleNonRobustERKNS0_10CoordinateES4_S4_S4__ZN4geos4geom17TrianglePredicate16isInCircleRobustERKNS0_10CoordinateES4_S4_S4__ZN4geos11triangulate8quadedge6VertexD2Ev_ZN4geos11triangulate8quadedge6VertexD1Ev_ZNK4geos11triangulate8quadedge6Vertex17interpolateZValueERKS2_S4_S4__ZN4geos11triangulate8quadedge6VertexD0Ev_ZNK4geos11triangulate8quadedge6Vertex10isInCircleERKS2_S4_S4__ZN4geos11triangulate8quadedge6Vertex17circumRadiusRatioERKS2_S4__ZN4geos11triangulate8quadedge6VertexC2Edd_ZN4geos11triangulate8quadedge6Vertex8classifyERKS2_S4__ZN4geos11triangulate8quadedge6VertexC2Eddd_ZN4geos11triangulate8quadedge6VertexC1Eddd_ZN4geos11triangulate8quadedge6Vertex8midPointERKS2__ZN4geos11triangulate8quadedge6VertexC2ERKNS_4geom10CoordinateE_ZN4geos11triangulate8quadedge6VertexC2Ev_ZNK4geos11triangulate8quadedge6Vertex6leftOfERKNS1_8QuadEdgeE_ZN4geos11triangulate8quadedge6Vertex12interpolateZERKNS_4geom10CoordinateES6_S6_S6__ZN4geos11triangulate8quadedge6Vertex12interpolateZERKNS_4geom10CoordinateES6_S6__ZN4geos6detail11make_uniqueINS_9algorithm11HCoordinateEIRS3_S4_EEENS0_10_Unique_ifIT_E14_Single_objectEDpOT0__ZN4geos6detail11make_uniqueINS_9algorithm11HCoordinateEJRS3_S4_EEENS0_10_Unique_ifIT_E14_Single_objectEDpOT0__ZN4geos11triangulate8quadedge6Vertex8bisectorERKS2_S4__ZNK4geos11triangulate8quadedge6Vertex12circleCenterERKS2_S4__ZTSN4geos11triangulate8quadedge6VertexE_ZTIN4geos11triangulate8quadedge6VertexE_ZN4geos4util24AssertionFailedExceptionD2Ev_ZN4geos4util24AssertionFailedExceptionD1Ev_ZN4geos4util24AssertionFailedExceptionD0Ev_ZTVN4geos4util24AssertionFailedExceptionE_ZTIN4geos4util24AssertionFailedExceptionE_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6__ZN4geos4util6Assert6equalsERKNS_4geom10CoordinateES5_RKSs_ZN4geos4util6Assert20shouldNeverReachHereERKSs_ZTSN4geos4util24AssertionFailedExceptionE_ZN4geos4util21GeometricShapeFactoryD2Ev_ZTVN4geos4util21GeometricShapeFactoryE_ZN4geos4util21GeometricShapeFactoryD1Ev_ZN4geos4util21GeometricShapeFactoryD0Ev_ZN4geos4util21GeometricShapeFactory12setNumPointsEi_ZN4geos4util21GeometricShapeFactory10DimensionsC2Ev_ZN4geos4util21GeometricShapeFactory10DimensionsC1Ev_ZN4geos4util21GeometricShapeFactoryC2EPKNS_4geom15GeometryFactoryE_ZN4geos4util21GeometricShapeFactoryC1EPKNS_4geom15GeometryFactoryE_ZN4geos4util21GeometricShapeFactory10Dimensions7setBaseERKNS_4geom10CoordinateE_ZN4geos4util21GeometricShapeFactory7setBaseERKNS_4geom10CoordinateE_ZN4geos4util21GeometricShapeFactory10Dimensions9setCentreERKNS_4geom10CoordinateE_ZN4geos4util21GeometricShapeFactory9setCentreERKNS_4geom10CoordinateE_ZN4geos4util21GeometricShapeFactory10Dimensions7setSizeEd_ZN4geos4util21GeometricShapeFactory7setSizeEd_ZN4geos4util21GeometricShapeFactory10Dimensions8setWidthEd_ZN4geos4util21GeometricShapeFactory8setWidthEd_ZN4geos4util21GeometricShapeFactory10Dimensions9setHeightEd_ZN4geos4util21GeometricShapeFactory9setHeightEd_ZN4geos4util21GeometricShapeFactory15createRectangleEv_ZN4geos4util21GeometricShapeFactory12createCircleEv_ZN4geos4util21GeometricShapeFactory9createArcEdd_ZN4geos4util21GeometricShapeFactory16createArcPolygonEdd_ZTIN4geos4util21GeometricShapeFactoryE_ZTSN4geos4util21GeometricShapeFactoryE_ZN4geos4util20InterruptedExceptionD2Ev_ZN4geos4util20InterruptedExceptionD1Ev_ZN4geos4util20InterruptedExceptionD0Ev_ZN4geos4util9Interrupt7requestEv_ZN4geos4util9Interrupt6cancelEv_ZN4geos4util9Interrupt5checkEv_ZN4geos4util9Interrupt16registerCallbackEPFvvE_ZN4geos4util9Interrupt9interruptEv_ZTVN4geos4util20InterruptedExceptionE_ZTIN4geos4util20InterruptedExceptionE_ZTSN4geos4util20InterruptedExceptionE_ZN4geos4util9sym_roundEdmodf_ZN4geos4util7rint_vcEd_ZN4geos4util7ProfileC2ESs_ZN4geos4util7ProfileC1ESs_ZNK4geos4util7Profile6getMaxEv_ZNK4geos4util7Profile6getMinEv_ZNK4geos4util7Profile6getAvgEv_ZNK4geos4util7Profile6getTotEv_ZNK4geos4util7Profile13getNumTimingsEv_ZN4geos4util8Profiler8instanceEv_ZN4geos4util8ProfilerD1Ev_ZN4geos4utillsERSoRKNS0_7ProfileE_ZN4geos4utillsERSoRKNS0_8ProfilerE_ZNSt6vectorINSt6chrono8durationIlSt5ratioILl1ELl1000000EEEESaIS4_EE19_M_emplace_back_auxIIRKS4_EEEvDpOT__ZNSt6vectorINSt6chrono8durationIlSt5ratioILl1ELl1000000EEEESaIS4_EE19_M_emplace_back_auxIJRKS4_EEEvDpOT__ZN4geos4util8Profiler4stopESsmemcmp_ZNSt6chrono3_V212system_clock3nowEv_ZNSt8_Rb_treeISsSt4pairIKSsSt10unique_ptrIN4geos4util7ProfileESt14default_deleteIS5_EEESt10_Select1stIS9_ESt4lessISsESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E_ZN4geos4util8ProfilerD2Ev_ZNSt8_Rb_treeISsSt4pairIKSsSt10unique_ptrIN4geos4util7ProfileESt14default_deleteIS5_EEESt10_Select1stIS9_ESt4lessISsESaIS9_EE24_M_get_insert_unique_posERS1__ZNSt8_Rb_treeISsSt4pairIKSsSt10unique_ptrIN4geos4util7ProfileESt14default_deleteIS5_EEESt10_Select1stIS9_ESt4lessISsESaIS9_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS9_ERS1__ZNSt8_Rb_treeISsSt4pairIKSsSt10unique_ptrIN4geos4util7ProfileESt14default_deleteIS5_EEESt10_Select1stIS9_ESt4lessISsESaIS9_EE22_M_emplace_hint_uniqueIIRKSt21piecewise_construct_tSt5tupleIIRS1_EESK_IIEEEEESt17_Rb_tree_iteratorIS9_ESt23_Rb_tree_const_iteratorIS9_EDpOT__ZNSt8_Rb_treeISsSt4pairIKSsSt10unique_ptrIN4geos4util7ProfileESt14default_deleteIS5_EEESt10_Select1stIS9_ESt4lessISsESaIS9_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESK_IJEEEEESt17_Rb_tree_iteratorIS9_ESt23_Rb_tree_const_iteratorIS9_EDpOT__ZN4geos4util8Profiler3getESs_ZN4geos4util8Profiler5startESs_ZNK4geos4util7Profile15getTotFormattedEv_ZNSo9_M_insertIlEERSoT_libstdc++.so.6_ZNSt8__detail15_List_node_base4swapERS0_S1__ZNSt8__detail15_List_node_base10_M_reverseEv_ZSt15_Fnv_hash_bytesPKvmm_ZNKSt5ctypeIcE14_M_narrow_initEv__stack_chk_fail_ZNSo6sentryC1ERSo_ZSt18uncaught_exceptionv_ZNSo6sentryD1Ev_ZNSo9_M_insertIbEERSoT__ZNSo9_M_insertIxEERSoT__ZNSo9_M_insertIyEERSoT__ZNSo9_M_insertIeEERSoT__ZSt16__ostream_insertIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_l_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2__ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIlEERS2_T__ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertImEERS2_T__ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIbEERS2_T__ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIxEERS2_T__ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIyEERS2_T__ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIdEERS2_T__ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIeEERS2_T__ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIPKvEERS2_T__ZTIN10__cxxabiv115__forced_unwindEsyscall_ZNSt6chrono3_V212steady_clock3nowEv_ZNSt6chrono3_V212steady_clock9is_steadyE_ZNSt6chrono3_V212system_clock9is_steadyE_ZNSt8__detail12__prime_listE_ZNKSt13bad_exception4whatEv_ZTIN10__cxxabiv119__foreign_exceptionElibm.so.6libc.so.6libgcc_s.so.1_edata__bss_start_endlibgeos--no-undefined.soGCC_3.0GLIBC_2.4GLIBC_2.2.5CXXABI_1.3GLIBCXX_3.4libgeos--no-undefined-b94097bf.so"$ @À6H p@PHbAAD0P:eH"#@DfR n @``6 +ܘ@5M "&@ @B$@&B<8`D8[O (N"5 j ƀN>+FԀH@tM"HB(@@ AXYH8h(  .`6j ,a"$G@ IZ= Jl@"1 @ $P`$HAA, h$* HPQtBpp( X"a" B%DFA0L8"OEGit(P |@0 xD ˆb DI$%\R>LP @;@3^"@!IDj!Fl:UB )P$@\PF18 C)$ G ` DRZAHp( b 80 R2@e7T)R/! h @.BTBA $BJ)6eP*KDHh KFP@H@Kb($ DT@M! ( (0H!"cIR IHP 0"@Ċa\BT @I"@ C !$ $E$(b(bB'FNa 8 b ^@iP8 %`D0 !@4@ Dh*-X 8@(UY@(Ӥ4(ZFFU 2`` l8@p4A2&-A(LH@P ( 6HjB<"@P7(J!(T2 I^  "HK.FGD15 @``D"TA3"# Qj"8 8  A'XCQD(!AHp (I 0AX@Qq`1A,2" A! !(I ( Ҵ 2@%$D՛$CQ# v@ qDlÔ#zV(XQIQ a! N# #> !A X $@!i@c$r!yC  P8 d@J@"09D H< KHU@aBWˀH B@ ,T "A$@!-4`+"q?`M\  " *h`  Ld``L"P`A ""A0(dH'("DJ@@r60$Pb@ @&0@ e4H!} v CB` `D @ \D10,`,B ˈH!%@:2.O@PF , P@#`04< \ d2Q @H@Db"P``&I0@P@$`@04"D;P(,āP@ TA~I0D!bMCP.Ā@@D @L*1`S@2, X@$"Qp#@xDi|0a.#0 mS R@I0 4Aw$JX D Xp@P(D@(G D H ! jh RTVdYDh(R<A6 @ &2)g"LX%$"28bkp IhJBIBp Q(0I2`S0t@D IL$|  @i{ b(X,0p tF@P ` \ TQ)t B@@ED001xa(2@ HL @ [ N&"*ˀK xGS`#@B@(p@.h% $pP P @"FB`qHʌ$ 0DAPA@ S@ t! !8 0  X΅@  BA`>X D" ;&%$ʣ( W@nj\aN1$KDCX( ĆC@@z "4E8 h@<\ %p0@"*!ܔ@R B*I@1$0"0! H@RTD8ICb!0Ԑ  4B(@`hA "+(@@p2!`@QaH) G b`F($Ӏ $fAUBAD2@QH$!L @DD 4LM`B@@) "F HQ@(CB )!@`!a @UҮPY!HHQ@V`@`x$&Bf(H L C"a D0p A*)5A-@$FBDLRAdD`#ԋ$B @@@I@B8"0DMZC40A(@ @ @@B  H LDD 椀a @V8 0B%D AR@r` @A"cxeA0H"PE%bDB"P Y P"x@AT,ǐ tR@J"$ L{a`oH$Azd O() ɡ# d P@ @h(D 40r0 @ #v0"`TP!DP@1"`4p d @Bd  :%@@0R0B"@@ !8q%"!F !  `*v `@ PY HRx rE0,% !"1 D J D @ 2-be! Z!40(X0,P)3D@@@S U eL@qQ@E@#d = h /JM@a%X(D2 @X4P=P(DTBZ HgPXADp3 X8B3,A`aB!  h JDPB D( X*6`A 5TY A4@H@P0BZ,X0 H9"@a :IP\R@Gp   !"$%(*+,/01234678:<=>?@AEFGIKLOPRTUVXY[\_`abcdefhlnoqtxz{|~   !"#&'()*+,/03458:<?BCEFGIJKLMRUWYZ[\^_`abeghjmnprsuxyz{|    "#'*-./013478:<>?@ABFGIKLMNOQTUVWXY\_abcdeghijmopqstvwxz{|}      !"$()*,-.0234589:<?@ACDEHIJKLMNORTUXZ[^acdfghjlmnoqstwyz{|}~    "$'(*,-./24579:<?@ABDEFHIJKLMOQRTUWYZ_bcdfghiknopsvwz|~   !$(*+,-.0145689:>?BDEFGIJKMPRUYZ[\_abcdeghjklmopqrtvwxy}~    "#%&'(*+,-/3456789:<?BCEFHIKLMPQSTUWX[\]^_bcdfijklnoprstvz{~    !#$')*+,-/0135789:>BCDEFGILMOPQRWXZ\^`cdfgijklmnoprstvy{~              " $ ' ) * . 0 3 4 5 6 7 8 : ; = > ? @ B D F H J L N R T U V W Y Z \ ] ^ ` b c d e g h i j l m n o p q r t u v w y { |                  ! # % & ) * , - / 2 3 4 6 8 9 ; < = ? @ F G J K M N P Q R U V W X Z ^ ` c f j l m n q r t u v w z { | }              " # $ & ' ) + - / 2 3 4 5 6 9 ; < ? C D E G I J L O S U Y Z [ \ ^ ` b c g h k l m n p t u v x { ~                 " # & * + , / 0 1 4 7 9 : ; > ? @ A B D F G H K M O P Q T U V X Y [ \ a b d g h j l n o r s t w y z { | ~                 ! & ' * + , - . 1 3 4 9 ; = ? B D E F G I N O P Q R T U V X Y Z \ ] ^ ` a d e f g h j m o s u x y { | } ~      !$()*+,/1234589;>@ACDEFHKMNORSVWXZ\]^_abcdeijlnopqrstvy{|}    !"#(*+-/012345689:<@ACDGHIKLMNOPRSTVWXYZ\^acefgklnqtuwxyz{|    !"$'*+,-./23569<>@BDFGLMNORUVWYZ[\_acdefhkmnrsuwyz{}    "#&'),-.0234567;<=@ACEFHJLMOPSTUVWZ[\_`abcdefghiklnpqrsvwxz|~     !"#$')+,.0136789:;<>?ADEGHJLMOPQRSTWY[^abcefijknpqrtuvwyz}    !"#N+!:Q{k> m۶PR(5SKbɻ ڵ{4b)6+Z>;gֻ#1f+MPyw=ȖgrqsZx 3@iqtzذAyj0*1Kު#V*_#FIOsD6ܔp ?|4qO `it]_$;E:w~-U݄:}2UQDi\ג}(+ ȟI@ RmV+/qyM$d*8be?^IؤoBk8jW=y3I J:"hdыyHd>`TgnEz=Fu?"зQSTsݬzuym6~r:6ኞ[Z(dhOA|vO"ñCdeH)lsXu'<(4/,ָ-L"1l@t(2vl,&S[V}8GAˉn*3=aLOo[%`e_x&ъT-<kU1y@[<#|ɵӻY[D 65~03ė`jAu'Wqb>Хu]~aǕ"7%wO (V/ȼ w7A)"70+鮈if%}ڿI]D{XEӸjcH 7a#ykIHܕ* qHMgci#)S͆V%3ċjq?sn\sLGQ O+z1Aݻ pU; u bn&ס‘$E}G5r ZA?сHNu?Xq4%LeLLϪf@>'Ja8fIZoAhNr rQ_b*7d+󠳄࡮>lZ"W#j8D˹[A[v9K4-N[Pyn=L£ʘYE&ۏE[To [g\H/YPLgEpxf%mLϔ/5 _wz.v,m1_ehfYZ lT3A3եC|p:W.sMg1u TE5e,p}@JkNa*}Zu^T?K /?yհ!j#/:: n0\*GX,&>r-q /fuK&6/㒷 M yWBF}6G-Tn8/yꠋlF``tp2 RK=8c_7u(lfGY,)|ډ'Yή!Iz}--Ɯ]V0~[o1b@/ڑSKEC=Wm+℞ I?3E>EвNB/ɠwHp@Ɯ s&1~%`s'}'t=o+z'AFvW YUzN@K[C`p@ӝ%mX$@uX LСٳ\ @F#u{b@`^u !p.l&缺;`/(#A-eUTeߣ-H,#9E xoSmXJŷPͪX׼G!3̤͖t+`N 6كI#۹[7#x&}=l\0RM<5KcԳ)aОf؈b{6-Gn-Bt;q\iKg4:*3/S~cjkKh@Ek#` D-!gQ;W|$ D*3WdaBƽdǍjNe\Ϻw_Kڔo陎NH>5Un|TkbDe3]D9/;{ӁX2~'\09Oc9ߺgm$Sk^#Laza]F$M+ Z?oϞ GPEwL(Z…qX[qƒ9c[XH,iִk3%`ƌjϤ$ G <=(hF+T2,QIX l?AŚ1l,.oKM8t+wb<5LpȘ9^M7 9= 6Wf%p3.1NRLUss[rӀKA魬Hp)11c]3Ҿ6B3sA_nõ$G #recy)7qX!Q#pd= .@zA!i|ћH!N#n3 e@*Fdtj`0W_Q5OqYhPʶDDInФVwFUqbE$^HyBOo:[MУL5)&! [  TiD&*05>!Uk'IA)NjW?b9a%I ֪he޴,8 .YЧ$(Do7 !m&gj ;I%6ْѬ6T*$; SegD쾹Lb@xk%ϽVhD\.l8te-l7ْ%|L9`?VM_ǵthR~KcwoW -4g;%[:>$=$`i)8͊o#D,q˫;7kmMk"ƂMDw)+]~5jOe5_ID )^bĬZj*XTsdӱ,uhUZ죌tRɭ$0' Ψɓ+s{ӜI4*PSvP0PD- QN"A@/cԕL9`#cy^У:3˾SJ wſt341YP!_n`49lO! PiaX'OƻwN"s- yϏ&YDMz$e56ڼz1@Z&gn-bxgǪ$ 1^y{.j.XwHE7q[2Vx$A( Ӑj;Ez+{Ɠ0noWUi6K96RV9=e#R@<ِۃ3 AwCu׵;q9u$nޖ+BKdǐ RسċA+W}"ʷ)S%w!jT/{.OwM<*eփI8?cN؂F*^w'd`ׁ ڲxC&^n+&3ĉ7߷D*!\PiƏ !rc97ڗ+`9@ZkIAi$Ue (G p~1 ?nci'@1ݶ0 1Yo[z!Qjy|4I8s9[MIY> FmM_%m3Φ{nZ/{}sPnZAr&́rH|[&toTX`jl-ӥ&SY"!q6{y#!d?E:»U]ׁ/%hpC /ܕP] dL?`)Qg¶#puO\0A2`ɢcSS7Z 4) BEǏ>}yE6 񭡚R~ݖg.|E'I}'l 6X2KciiCsbL1jYJ}Gtɰ;~=?fg1CI O!X(#av Y)A.7]Z{7aj;1c kc,%cG.OV:bGD$~ZGf|jMsñoGB|A a v v/6 NW_bL/aH/$pxַ"Cè9LƜc@ >4P`[Z⋱k3~[ [z#؈Нl4HUU{x#Df}Y N[BJ{% I[ٛϲ7.r+K.<53/琬h%tƹ->gZvuqVx) w~VОRd *'`J]8lDejˀrT(E;5xLybp0WО)lo. !yiؘm{aquAnN 2Cm1Rc?Z&BE=~߲٧xw_=hɿc+@Ξ:3KFaaeZ@cs 8ȁ (6x W]mk0oO8 EK\Nvf x? V]I acAk̂_`9E%Q]oi"Hݹ -CE˖[)6a#$PL1ON?Ǣ iCwpEFSs^BⵍT/GlQcBsGnAV&'aRАۥl{+Wtknm,LLps~!H: eɺQA`zӝ,zO~E2[zMM$יFK+G @D`^D񴺭,FI޳j)QuA ~qaG>aĶ!Ωg@ 54SK#=5 xllQY )h C.M^K!xԏQƩ UUi]<56e@!L!k D$/w^CP11㾖a 0WvyAzg|@a7(^`l/ bv5S_eӶ(B0(_!8Iz,RME'ӦB59'zm׹,'w:*z?r ыP]TA׿op8H_fM eViϋ*DnH,d !b@&% U#~;\KߎkQZ\,JȪ|[9%=Q]Yp*k\W$ dwYwO NTK(KC{$c lDt/k E|a] .{()(ftHS ^^#?M'蓰5-&jwuEu'6VxؐC'Iy0'r~qV$]L+@mQruQ_֥}xq#E)RtN,w׹Y.ce@|eSotG&b֢J1,+#aI9C]1CФ?CsIcYigvzQ=}ƂPc_vUPr/D7[beqަ,(Jz|6fA$Umȇ'ɏPQu$H>@N)l&QQH &"8JwzRbyۋ7}t:ޕ N[;&F~'7Fx­ pB\$"JB Z2Ѵ ̭M/$r /5 cE`Jkr>~ Xn1F!TkqVɂGaύK4A@[zOu//t5Vf7 0ex4fP5~u%f9ky9x߭G# stfٛ7* = 1ê| l3TCvgg;e)knHAqL$_*9!mOCxWH^BMeYTwHFb71'\yQ$J)4YS_,фY'ɦ,%HΜiJ+ʖ:Ori q'5}71B•o~RJ\ 0~smk>W{݉x49¿Fxis vTCRטT9W2a)|F P<-%V5:XPMk/*7X 0Œ).h9xLecyJ>sIG++05*2Rkܼ'/FUė9 |!v.\E < (A N I]գzpj8)ACx HHi7s/>+.q!Nbescjnb6s3\'%Y5^;F%TphǐB̂IRy)mW%XbA ``K@?d Y|KuOKI )uT /wK™=3Zhv?_WTqVJ:ww;֨6buUg–~:^=kڱU %nxU\ii 1Da'dJcߟ- D`Оkb\:tfK6V/qn*4KDVl5l)(=-E'15. 6I9̢ U)}SEz` N] .*$bA5b{j7 Ea Q< w=)&lDnx6D&aKΆ }ҰǁRJA"N DASi27%B)5[6rbVeGҿ`8цUKdӘM 2j 9  ;wf)TBS CB&Ps L6+9 X]neH/У˜_epx}5fO++D9ͅ>cN LWc^M]r/V( _xXдBV@IuLܒGj`-$+$[Q@"3_5V+'rM7j^ӲFP3YO].Lpp33<5o5YƢ<. P!0!^FM@)! -*p 2SONt lJJqhnUϒ/WSsET2޼tUgS o6ce4=V7dF@@`9 JPVG]0[́F^&Ẅ&x%,&7i@ Xt  ;Yx]0*)ܰVGSӠLqCC.x2b܃7>1љ?P!5\ }ԏlLue*ӡQS$O=)2xKCFLiuwohH50#$c0&ΖI:L'y(SOb XKF/t@P-[dvͼ%u-q,ρ?G6#wUl%SP'0" UT^;Woo05fܒ7W!@bIQL2~ٍ45ߍm&2U䜆MJ[HEe .ip!DH)Ek (U,Ix?e~SAzG `䜔-Qo/lqaXL( O1yOwjK+] !2LOwVr11%;/if*0:nkh~i V Лv&==wq&ޜͷ-h&+ƙdq:az%pD2I<_HC5!9$B;"M_}͍Z$Z[z&=D-l&=c= bƔ Locd|7P=3ڣ%Qv3th ˈ-^*4J3?^wb7tPW  _gz@R/;X*F'}#j;qIwH./;&kTE\pk'osyk-)/6kڸ j}2MU$׍,h607!Ypo^h9)W=pQgB3;5a$wzƫ!Q ے:k}XC3Y kP-7stIB5O Rڷ}\l5~L2Ns?N4p[X:F|^}w~Cx#Pwl#|xKwt#9{P蠑3FOlyn`%:|-H)ed_Ηh9 ܾJuROޞQl0YK_{]2TiP7&C$̻`57 @oY K%~YR*%m)E.? n_̋kdϩ"3N?"=ҧmزOSGhӭyk\ 3Á/{q@*Q[(8ݍGoV ƫNzm^G_P cWfF0FLظCMpM5ZyYqJk2 ^5$ͣt#쬅jo ))^gU";B/╦ܕy[AslǐשR[u+`D.R|gV(Flϻ{ӒQ"5wL)],%_'I 9fmb|b:X&;˵a:XH+ɸgIJ[~)A/W*"Bcwh"ԧVA?=OhfN)lU#G"eO1ijNR2lCNpGn S  g5Epq051ᐳ}7zHTލӤ҃c#B$G#p& _(?nq;m F_40T㗚-Lƻ>j&Um!%aܬHNGmO lDD=tW.ʱe#,XsP5 lǏn<>_nB9իV=֖qWe^;Ź&9Jc+`eM5aw Õ:ysUEeFy)r"Rĺ^p٥8dT #'od+ MOǕw-u +vbm~zE4f037v&A~? e>{p%Xܲ} cޞtrOKF,Q nΟگ`_)0-Lb'=/J8 s:v=Rv@Ϋrj';Qi7J*%;S ˯@}_'08eϲpCa[=i!|U^K(>?zbEzwP贍P;8)CbG{j륔YƜ%CϪ]oDm3ID@fEXKU9LئC$K E "q@Os<T(>w>/ṣƜ塀۾y6nb+ DXKjusn?oM*>[χM}G9TAٕš`;tP$]U9G&v\xӁvyUo{7 |M o{4({ } `ޅ`ҝUslWPvkR#TtĚi*!>6+q\u:ֺ g^ËaY/G7&(E'jkA= au(` SJC?x.iO9l=!F+c e;DҫP ^&IybDcRt#^^j69Fvt,rlGӢ=7`N9Ktu ,pueI^ -jσ Ss o8&[ߣ1}ޑcB$:]]R'X(Kt}-U(- ivf |f/+V㇎9Dݵ@O{hctuI!Wdv@i5=oUU&P}8㖚pZW^$!s1>$25o_МA_<fZqu1'? є7f$$` ti}[qZJ75P]|jV0\[S 7͛>lQ A ZXg e@o2LhTR5( tr9 q6}=vQ mӲnФ!XO?_R% "笓s#ۮ![@ҷ-?v }s1+ޯt&Q:j ~JSނGo4;yщ{666,AP SEzfX9cM*0F5y4!3 cH-Ǖ\Oqx(C H|Q6KrCǿҫ*>;FTV)&0`zmO?$eo>Dnm&Ѣڴa׺b2EZ @ zI:{8Q{w*']!, #n&4GV[}BBLԏ!atP#؝f=dotJy/5xc.4;.R4CmUBH?/Lu V\Sm/o2B o,n ul$1W QA`=\뷩9R?̿,w%kۗۦBgD.S- BUz=z*`+:}}]]KXmiNJn}rby=$LCx[R~^\53fE(FfR3δD+SY:F?|Q^ qMQLXT=s՞ 셞FX]1u\m?Kٙ13GP b *mWe%>?s!&ڷ 4 u#x<L˲/+}cnyI%:R ĠNT#8ryN5sфkcl-9R4Ɖ3dq!Cgm&Ky`N{ګiK[|W75->2׏vFwpNყow!fk;t =pyF]>~oz&VYhcHE#I* A-S'Y+وQEJuDsR5}.s5E&м-ߠ=dcsTa %J'w@"<xDel!Ւll-PM;\ƣ%2l&}g=1!z0?sF ?VD~1֣(yfsthY.ccl RH -;|3<'.#997j_nv`kr'Sʘjw 7i}&9$W uMG>SxQ5yRNRȍШ7묅RfF1cT&A~DSbefa2~|S融v+}l!̄S:pE0Jg*o}eL=zd֛!E"Y O~۪(G{eύjX˚;EmH}$*/'3F}:=qh$5,& l7gpgKoY JwB ςE"s@{tqiMkiZpwߐ̓iEI5 ,fqKE4i]x7h_l9p̄/c3~r^& Y ӵu….Ĥ p>4=r_$]K[/{MO%,O BM]R*J%vT)O62?=y[ةW۽Txk