diff options
Diffstat (limited to 'sem_5/HLIN505_Java')
58 files changed, 2923 insertions, 0 deletions
diff --git a/sem_5/HLIN505_Java/.gitignore b/sem_5/HLIN505_Java/.gitignore new file mode 100644 index 0000000..e10e727 --- /dev/null +++ b/sem_5/HLIN505_Java/.gitignore @@ -0,0 +1 @@ +/.metadata/ diff --git a/sem_5/HLIN505_Java/.recommenders/caches/identified-project-coordinates.json b/sem_5/HLIN505_Java/.recommenders/caches/identified-project-coordinates.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/sem_5/HLIN505_Java/.recommenders/caches/identified-project-coordinates.json @@ -0,0 +1 @@ +{}
\ No newline at end of file diff --git a/sem_5/HLIN505_Java/.recommenders/caches/manual-mappings.json b/sem_5/HLIN505_Java/.recommenders/caches/manual-mappings.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/sem_5/HLIN505_Java/.recommenders/caches/manual-mappings.json @@ -0,0 +1 @@ +{}
\ No newline at end of file diff --git a/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/_4.fdt b/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/_4.fdt Binary files differnew file mode 100644 index 0000000..f45918d --- /dev/null +++ b/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/_4.fdt diff --git a/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/_4.fdx b/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/_4.fdx Binary files differnew file mode 100644 index 0000000..47905a6 --- /dev/null +++ b/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/_4.fdx diff --git a/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/_4.fnm b/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/_4.fnm new file mode 100644 index 0000000..e5e6f9a --- /dev/null +++ b/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/_4.fnm @@ -0,0 +1,3 @@ + +coordinatefingerprintssymbolic-names +classifierselfccallovrdselfmovrpovrmstaticsctor
\ No newline at end of file diff --git a/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/_4.frq b/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/_4.frq new file mode 100644 index 0000000..46d06e3 --- /dev/null +++ b/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/_4.frq @@ -0,0 +1,1018 @@ +>H!D=m](?*"Q#"1_ͯ +3')|"7u2|K#<U#6)%F2Q/0
."b<p!7"ID:$!$##DE !8HA +M+(5
1br A/<
# +,H1.W# *er') + Y#-6.
-1d'#;.M(#*wo(D!(<>0)\.B7$/1HAC8 +=2'0o(2/dQGɡ!;ը"%!8%
2cu"9wvKYׄ +Fy?n7q-vFx\2uTώ-fE? hÞ~LrKߩ:Kc<{ iN-8/O +*:
w2B&F՛V`L)'N<&
-!#|G0`c(-'+j!$
%3a A +
w*/"$"O/! }"#)-P(? (0A-*K"$"7'!#>IC;U)! -&c3&/`&#I"<ׅ , A;1S 1_<Q-j!A5@U(9!0*G#`0)ל
D-w)_/;S'7+?!$7*W\9:(3
*A* "-(e !KY*|#FE
G `((#!DVl;!5" (1 @#+A'I"9&P
%~9!(I%-! ~w+$5"V
'vA>qO;IU8! +Cj "1 +jVC&$Q#P
!E?7ɓ +fL? ++QK!19?
X$)$X,$)X#E!="9
<[N&/
]C?9fo57da"#=?%#:M$)5%#!-(%i-N5;'5')%3071/A"8+
"*;_-k##$L#]b15ɛbB{~$Yu_2LTOσ4VI[[Ӑ7w|f!˵PŇY
"1Ӭ +JJM#>%#L'<n8f)8T"͆I!]lW +_
1~Yt 2NDt!ύ#"\>[$XQ:E,&8/
I vA!Ϯ{'/SSz$3<ͅm !{%!0{? MiC-[5Vb<'&f !%Y,
9!ѝ7Z -"U;{ K?8a" +v4 +G2!^ # UfJ$=S
bۀ$
U?w y".I +C ;#i"q>$%=/C/:#)1=VADtD! +*4]/8(u".sJI#v#!DZ
.+Ӱ!!DtKu.1Sݱ6t"0|<# +#ј"%?DFF!){Cə"$ŏÃ*@=!!{M">WӖ!""( +E;D"#3$&q*"! + 8L) "#}{w
~6qFz͋p+95E*/\!#:>!Ӥ['QV[0S,?)=.m<L!7:>K$۟w&&Jϑ8<5Y _=?>Y12
#?K_!PD'O%%YŚ8h0
5WWSH(.V1X,;?gX=;? ?1[7<V82"203$71 +I<`;
;q...-&K7 #1MՔ1FX/5<.#J .#;p*3 Y,;;Z1%G";I +@2"?K %.YXY0$1RK +6.!3 +Z<4XO4{C'"A#)Iw/DE
E' ZE,;*"'$="2#J-!C6F7'״7
z#.+/Ow|6.1aJ# [ yق˅/+?M[X$(KX0k i/42 +u#0J>n&/'p_|
;%9'!,u*mq}#'xCa@*ٔ$lnAK1-E ;AJk0 1X7;{4K]] ZY"y#1_@>i;|`dWzK@VLJ":/
"T y 0 +(@
v##0h& 9"!7Gk;)/(Aٷ LG$" )oxN +!$O!
"c u'G/o
A"E"j +#bV
$j2;BH!B+V!6H$ x2B!!v2&vɆ
)w
? F!FQ!RA$. ! }R BC #! $j":@!@# +x#!"|+6P!h)q'G/F@@c;?V: +ˡOs"4b4{;(@=(6-x/2)۵B|E G^$2*;6S*
CL( ',i .%o5_(cwϔD&1*J/!GO#<S>=@?#`*I+B8541S8%/ˈ,\.$a+-K' +,.9 y`"1+k-"1M*5!$C1O
A58I 2
?!5
*L WF3N' *n.B%:. \3C^5$12( + j:`9"w*'',9F<5 f7!" (12h+D%9 Mv9.I-h!a +. 6F(E*L75,073S$)$'+-"eE;5!]24%8?2 44-'12'",0hDR)4$6>g-+<8E)*;?1-ɲ D@%&7++j
|+E(Qs*)ð2z+.>*'WDAY,6((BJ^' + JqV$8Q4"F K%*#\W2V(OC$L#-L!<L
!K"(<ZMr!8+F";"W o-GBgR(]U2.- ͎W,+Zn7/J +?2c
#BB
ãwPKT$$
%\!E1&\F/ C8|Q (y"lZ?"RSs}C.#sg&$#LW5(Z7RFp!.%ӓ o͇L'$
+ +#HHɍ +5*T#Ņѕrh @PYM*ETD >"D*M +.~>E!BdQ$#"їS#CqV
3q + +ѐ5"[-]0;W!! "#žv5݄SA7!%!?ICBQ)0T7ۉXz(L'!D=*" J#<!ߗ< V,)(5Z?/%!"
'i"&y(+~0O=u ϯ3nz4#I` s +_dO. rC(ѕ&'(=^&'&!Z*a+#J
D5GM!)%(kD!n(7ayE EOCS*+T!VArGP1pO}!!W#"L +#9C|+DL"~٘& w)#"Fr2,-Kk #fi +sŋ:1)-y#. "_!q0 +%Q|)g +* "I{<$f%`ϗ'S۬dAݨ&c&Vݚ#k#I %DD"C;YoBDvW^q
R"Ix!)$7c9CIY0dEtA.uAr#C9.-vDCLB7^ +U=%?A1rE'GE !"H-C9p_-#"3'"@DDK۱ +)3aNA˲+'L7x'/tBMr(%(b$>7+]97!E(-:/&]!9۷7&7)#" +CQC%1"IZ#QG8%A&5[K<.7uEz#&DK.'0#E +F*5!9ueCE$7oI7ݍ" C+EC)1ň'4#L
8EB5=>_=E%.E-='=x(/Տd(O"G
iy=;U=8yB HxG/Xp8?R759YWF"n-"W{mÅN.21P.F %zr"= ˸
O +6KF%0\Un:}1 +M.>FǔǾ110:*;'фKdϙu^!o%"(Rt' p;!J)%
z%L*!!הW2B;7SB
&Z(0, +Y-4o5+J* Ӈ '0ft#( +ё"",6y!D"z5x4*CtM>GhG&"N9=qזI???qv%'"j4~5=7ߌ@1b.O;3R.}h%/n 2 %6%=<o;=q 9Qr522q8O$w7--a
+t;2&[w8d.Ә&s5E$/)]i~($ߔRDEn!$V%bH8՚PKLJszGurBّWa3c2\9LWrђf#!ӆ l@TW߽ +Yt
(NNӋA}}GG 2A1kn1R`<E'߰VIѡ/}0(qJ](ӛ@!!q˩~TD.1+H)5 .Ǣ#2;H"/;;8>[ c&K['ņɒzU!>%ӀgQE۔?-"1 + +9"M9")G<Y/AS- ~!7# +Nũխ.&Pg#kE(UMqVsaE<ŤS&K5eZ:'(1!|X;|P.gk24Zu{VuC_\:X}ɤ?!!J3Ya
7;F!j:JMF` Ӹ6MP@{ + ˫AF\q<&'][IMzN +/W% +M-?5
Jt*'ی!?H: G85W9-3B==K +$mUk=3<c!I.&-coD GS GA6 BXIM\kF +> +5%Y90{$70^3-i.n$"glj%Vb&'a5-6C01;w A:FF]QdMA+$ALF])ߢG,k%g(
)/)m'c>:&͟
Pq;)_'3+R@ne
ۅb,R&$Z X =v*KkkT%;K)stAS=g2mmDjE;T!(/
u\Q%L(+]*4EFK <)DSJ
N(Ӱ;'ϛC˧)ˉd~,."ߴ!P"U_E"!0\QJ +L=?Q^q-.~0߅>
y*p +~)AHj'CôfOv=E-EqջyPS)ai RHtcǿU32` +Vr0cI x28D5ׇװ5jc8W9+nߓB6۲c6S?#U4f<ߛ :Ǚɟp/.S\w5\߂zJcZF\۽v.ZA +|\͙U!Ò[9*sFɧ&$ә:9}-/]+Oo'-$b?qE͟27ӹP+8ݮ=oT(%Ƀ-
>L.]'&EՇ')$$_B
;CBCTh d
H%P`*eK,
M$a!*݄'I1^/VÆ
8ŀRիxչ5-0cѤ)vEi"?v;2Z]h#M
K%3_"H"!
DUMGGUm)|a#u +#I"]b|i_{=!&
x*ϕMɾ~!"&):oJ
'ǐr1>%JţͰjǑ;ӎ!7C+sEjx;pnM}IvLe:b;'G+1b!!tE" +`|էgOD'ϱB[)>ō,#{DOɰu% -E##o*@(2$ +1c!i $!1)<#'Ei!"/!!i!(M#'A\$x+#!C +'p + @2.')O+/."_JF r. ^/
l(!G/r$Q).<c
?BYr&22
#
W_651'Z+1*qx&[)"(C 8!),I-?11h(l#q#~\":XTy^Ç#"\1).0cu.<$(:<%$W"s"?E/ / +#!)4/
J"*)υ)D/ <" " (w'k)"s$U1C)
CY=R>V-9hhKYrK';!s*9| x@!)9#)FCH +F?L͔I;XQ3!|2G]I*K 7n5'0с'5#ߣ#OL=EQ;!3&Ś' !AL(3F!>F?J,)_8! %ˮ`,+ <qHOUvK'45 +\@
'Gd{)IYCu2vxC''pB")+EL >J&ɪXSi-no?6ǁB?5s'^)A##՜-_"O";/(#"1=ː:1xA&7&(HM\' i&5e"_!= =gJ?="3)*xW9 &8!#1ÖE>I"=SL)t 7(=*MA)b0;QM*!4}9!0}AL1ǎ"h*r&'א;i.#I*sX<) $s.ם>)
\ɗpHPE&vCxCoj&*"TE=E_tǨOˊT/A5 +C&Ŏ)4MKɯ"O'(N('>+)_$E1.1O$'-&< <"]"2EB'($$&-/\;c]*J +A$)$!V +-2C +;"Ѩ͊(' +D*"$B"@&("&2(+!E$#&)*.+$+"&7~D ?#-!9>**"DF +OS?Y4%U>5(A7oG-$#*U H .&)+Dd;ٰAY/M/7 q! P+*i17/?'
r$'2^ +'a(U}+7"/AF!$D0(]1) #E #(F4*
-'b$E+)tM# ,C'#; +)st<b"-'Yǖ %d&4(]M$AEH?0l6Kc1*e 5X-+N^*6\<US#48C#l;sD$Q#"1(3^
B$,
ky3*;x#$yK ! +#1iy +5~*v#2W-LJ2\+O2D()RBJ +!T0['DEɫO-'@*B'6 +8s5 +o
;3]}/>/(b*{./ӏ7fEۭ۠+,x0O/2v.!&(@EGW?K4ϼG~!r`nz.CӪ5X9zK]:JJ(5(W6Z *C'K
"].y!l#p'>1%ۃ(
U2"{;L*A +Mw
xOmNl9"<pjYfT Ou@}dUPwc@÷N/#b^IO!&N86NxN
O%UNQ J"N81b\/P/D!VQ=QweFS #]Ud"P([0 +)O3OPBJ]BV#T\Zj-"NB"P&d2AFYS@CyTJ#bl,Hw_ßu9PM2;>լ}`WGE,8Gnj˃,í(iBz| +'`g' +Pb80'B#6ˆEzjÉ'nɦ!/W(D771'3w9-0$: +u+Z@/"b+~-X@ +;#k;Y"ł"m?!"P5?L;?oC-?!C#& +"}9E#Kb'='|;-/s9"!(x=CE +ExJ8M#oD ۗ>KD
)DGj< +Ó7IOHct'C"E;)!Wx#!5{1#^4y-s7&7/G>~DžF5F~ݪ+S8".-[ёϯ?yA1/K"-v 7u=:8W! =Z @K?/ŒMBG
ezS;mIɁ-<ADѡ,'SmB Og-:E?H!#5gAC59B)eAD/y#/ð:;$4e#=UA{I9#3}>V7hўD7"RDPL9[] O9E1Z#|ö83'~!Şh1AXdt
w=LZєN٬5"ߋ6c?A1
?D;X^7:[W"eXy2y9"G5p4;":8uR3v+g'auj( "$i
o7C! YzY7vDٔ"!-VCJmͬC-DZ?|÷ɊO--ل;{k5ŗA5!?d9TIű3 S9 +X"us"OXl +"\5r!bh{D94By"(
1.6@
SIYńYyL7$B?g8!ߡ"79M"} C?e{A;ϭC!?
0)/Aߪ2a!s)1e/Jo
GJt;]A %w"G =-y7aѶP%bu"C6?~)!Q`ÿKrP81HEFE.sJk(=#J$5+8)eߗ3)CFpA'q7#1aT!"i+ˍ; 52W7}1VCK/3dF=+/϶]MLE+A"k )݊M ǣ?!ӱ[" 4Ւ +<!EN= LzvݰCBd{ A3}A)|ADǫ7&W ?6pSK_O'I|Nl#'Qw#%J/+vîMN1Fp+h)@=ojpV3H`AG&Z1!s3ND7CL=ӲoWx +SYJG'ǐ5gz_7A6
n( 5e"+xӴ~O(! +̀(8(0D'$ *0YA$7. +3qˬI #
& !b= <?2%#$ [BMW)?eKX{)B\1ŀ
nZ%vPu6nD|crG2f<<ג}&l7WcD-Y'["L0FS;(XN;ωۭ(W5Y]=>;aG4$"2Q%h~W8*Mɨd ?߫1E`748ϣ
QTVNS-`êcT#.#{,hgCݫkGvNRDMˑu}Շ)E_ODX)Rl{ E1vHjQŴC${Bzզ!zTdٻ"lKUd&['eɑwו"'$&;/+#"O( 1yVņ 1Q!s!z
8&!# "َ&#)s +<W.M߲^05<8,)'?C4S1(
o+-&2-:#1 +I!`z1'$J, +q+o9](5g~IZ1˟PE2&X1M(2e2s|uِr/6Umb"5w>"!
:Yz#LK0zD
Q0yL(} +!Ş/x"AP.$'#>/&^
{#!w"
"*{P* `ѯp!B"C
0!z!)> <)|ExuFxJwD# τH! + +' +?B!ѩM +#ŕw"'# +P(X+R
p+!,;<"š[&"v$#7"% 9K~2 EH}# +":G="C#-u "}<X 4Sٱyp\c'
)JIa+!=4Z6b. n(FZm;>*)V;Nnb5sd +<'$;* ?D m@
#.|Ba +m
vсA~:!r7 `!."!'zpe+; Ät8"kPKd#&"!JX"p0Ey"q;gY#8lųo"I"XɸroA%X0
(rf˄K"QA"AeQNc""!OJ!z%SIly!%=0T;dc,Ǩh;Okj;lt˓6fIj)H3)<k?Ղ|QJbsA_ YQb0fW=Z0 ŬɃU9 ӟOYDgBuWjAtb0a0'Ϧ.mͶu#ghp׳LhBYa=Je LCOSA øn[Jk&2ho+0nϬ#ձ
Lyj(kљѸUL?߈LE݅7CktB'`F;U!BCMm/iѕ7TAٮNEupC-
V͚'CREbI 9j@; B+r&AS
I,Ŋ#l2Q-`ͩziB@n9ˈ+͝hc*kEKe5!uI=L5Y3=_#*Yu]NhGqQ wnɬG +
T==,dӮ;' +'!7'(H"*H/rL
;& +>UWۚ́?dbݻ" -+Ő)! +S+G"$0K%# " a1K.##v8#$x
M)4'> ^#/-0#F/}#(/7;I"\&P>i_45٨.tG0SǬN~S`p(/Xx6"_)[90
,U3J/?!ӗ \ͭU0xaqW*Tv&Rr08=ɏ"Jݗ=٪"|.ݧ!S#ev
z-?1t[цK8Xa{3!v!1wX9g _p#-/OlD!ۯg9j,3p3ٗr#_ɇA793r 9#CB*|#b=qZa1U017 +&*j4 M 'טC* '+$*?cӫj1-##>Vq0DL##j"T"$'I<1/#1(%<A/
"$'N/: !!<o+ !yA(#--"#u;11:,#\8<:D ##M*
E<+,*"#"cF + +#\/"~XI 0'!FE$"J"N,1r)=V5|7$F),˟{ٓO6C_9 |U)
[bsDv/!%Ýy'D@ݺt!ճÙvt
)( Q(#({'E+|9=7^#&'~_B
ZMLn9!`t-hCI- nw.7E0k~^
LF}#-$> #GxW1#ŰBհ(Sӻɮ
CS[4F![s7n3[a`Nݼw#IYxU.yшjD/2!H1[ )N,3T5s-J`/*#4sZD- +C<7=p;I9##,0 +O-DD&
"TM`^|Y ++3
G.1BO1 3s
(
C"Mw=тt'|Tfg"O͂9*
*##No^"Lr!97=CT+!EZW/.Qs\T@9(
11@Jdi@S !!m#LݎgJ߶PJR-S?"!L%&O.B#T.0FF%)QO1BE:у9"3:
+W&&,MA$*PWK (8-JDw +l.+!d,)g5%*"p+(J'B3-3v.-p=6JZ>#vI#B )K ߁>JXA pYӜ:S3|Uipz!Z/q!,5a.! "lp7'sم^{C>0`#9:B #>!
CY@ŮzWT[\ +U!@ +3M% M(Eq1W9˔J'
.[fɂۂO2"51GN7*"SJ$W'u\KI4U3p#(iBJr`?r" + LN7al|(q8%6|$ŕ +@q3Se߆XǏ/2\0952'
#z 8j:VoK85Ð1*Pپ{#F<*oF3a8/2</!k$H%q:!4:3=w864!+&xJ + u3%{
'@B(y۱@z+͕&Gd]/|^BFs0":"0i%$Mj +)y==a8>VyF)Yݙ)d#['5{UogZDoK0'&ˀs\5zd/A25ǕtuIkS>xQu' #[˰v +K%ɶ*(?Y:"~ٸ,oo4:!# t""ߏ"o& R9u7&)R*( +: +@56>H )F! .< +$Q#}0
x\u.GEA"#5!&
y-*i #8*%B+9:7PFk+$t +9 +/
1g$Ü>@!52(!
@04R
!&7I"#h +})2! +J('b +M;(,8,'+w-c +ݶ:8 GGp;G*)"3V! + | 0` + + +
&+
/|/ 0` + + +
$""' """
/|/ 0` + + +
$""' """
/|/ 0` + + +
$""' """
/|/ 0` + + +
$" "$ !! !
!
H|0` -#-'%-*)& #,%)")0%".;$*!/, $.)'"1##%$$%'-+)/')'#(##%((!)((*&%%3)#*(.(&'% (!( 3(%")'0'!+(()%)-$')'#$)"" '0+"#'("!*%$,,6'&'6'!%&,"+$5*!(',,$-$2 -2)$"#+-""#"&'&+$& #+!#*(&(,))&&)*"%&""4%&$%#-&*+ #+" *!((% %%%)'0#'2+%2&+'"$!&# -!#)% )-.!,$%"+-%" %+&%&$#*!*!.,!#"'."++*)%'($%".$" #% $% +
&|' 0` + + +
t$>MŠ&;kjHHHjiUϏfgST+?UmmJZLL)(_zͯ +33G|ն7Sfe^"0#hh_`t6``gipYZmn;^Q/0=>ml݀"Յʹpۿ{WlI~:Y#)MTDl3ǴHASBǍǚwh#7ՑAp1
fQ;t,N\1gGAe.1fR;.$}Y_J2
XmIf"4BfbMCIlr?oqkID<{2Akq.˶ݠh6Ao=oYn'eddžGGɡ;;lըݢjH#]:H%ɓ/uɗM9wϸvYׄ +Fy?n7q-vFx\2uTώ-fE? hÞ~LrKߩ:Kc<{ iN-8/VORfq_TGM*:
B&F՛V`L)'abNxoqb<C66f!!6oٿ.+N:YSTgF!ݝzӄa
*{nnK&!CM|8mJ)qHH?SPxyςkAAoGHkK"87YaɅLj><;Nߙx44 Cj3ZZpɈיr`ۛ<<^7ׅ˔Ӷ VLb0 !_SR=קǻךyk%%+CCJkrff_5r` !վǛPX&<QÁWWB-ϵѢr_3HGip))gTߟ|\/.LLg
"kCC ǒˣ,RRgYpO .(PPWyKDlyy@Hhϋ|n<(ɐffZ91l@@ی/))mFٺ٦BBHnt BKwxZ75V./˭*$%d^# 4ݔf8LNYNN+}jVѫ6$Pe^-. +q)'lUɪCCH4ӽ-
|}$'3\Ôˁ_=Fg!#+N()&'--cded]]jjki߇ed*,,,%%_`]]>:$('(01))((>=OONNcc˒%%9jGHZ7!CI"fZ/
+*Ū_`hk!Eh$mY]qb5ɛbB{~$Yu_2LTOσ4VI[Ӑ7ñw|f˵PŇma
/Ӭ +ZJ۰U''|Ltn8a)6͆!]rlWl +_1~t 49tύo[$XQeN:,.&g8 @2vbAϮ{'`մ0`z3<ͅm+ !4{{ MniC]Q$5lVǁ=>EZכsiɳhӀhG
!R:7(}{ W]$"ǘuaɢvz>4SNH22Ӓ#,fJntDzS ۀۤU?w*3(yݛh +cZ;;NdiiK4"՟hkS>$Łl=CY:Obj9=є5"tK5 +r]K8ZKD}u.Ѵs#IՋv|#FDI
0E1A+ӰߤYDJوtǸu&&ߪ6Ũ0F7<_e +.Ǫ-S?TjD1)hF{əū+$ÃTg^=,$4MaZ#*>Ӗ_7d +Ϣ;ߥ5;3q3 +Z8LaL?+#{ùw~͠YEqz͋pŃ+,5IBEo\}Zv:Ӥ['="VD&S,k=]m)QŷeP~7Cߎ۟Ѳ?f&ϑR8{өZ_=lXa2A
0z_PsDL%v%XDŚ:0t?,Wc[sDK͗WgۖY;z0L~7K8c@3rՆN67=2`!k]qHv6ߚO Ya(X5}jJn.a2p]g*x~YA,ݏ}Zպ٫1cW*Dˀ`J +ѧ#ABpXC$Q,K.9LݑpA +Ϟa4Q4{ee]CdAݷIwʼnDD%00
Z' {\0zP]H5xE͛#}naJ<`LF}״_<7RՁz+/0|ǶͲ.WXmKyɝJ`ע[/ق˅/?Í[X$(1KXki/yGɄu&6JŔnm&V[(4_t|;%-|U9(0,ѭuկmtٕwśq}xûaeKvlA1HC-s|;AkÛ1{4K[xiY9ysB@>i;|`dWzK@VLgJ^:i:\
2<]g"+ły2IkY{nV +.ۮ`;Q.~vŹNBV۞h}vɣ[9ՔsG\kŕk;G٠qAٷ*U@JŢ՞rlG0Q< +W3ǧ5
߹uǤ#7^ 7hEAӌŧ0 +)MɌVlc?6gS?;Qfݩ"*oHi\0"Ų652߸tT?/@VhnjߠͫYH2!
XMřőqs˕ۜOU FCY-*?Tm-^M(dCATǀy˿H>oͮBٌ59[c*ѷ:{џugR='hEA" +#+LUw~||Dߞhq'(/F@dc? +ˡOs"4b4d;@A[266-.x[2۵U| ͑^WIh"Y7z*1YZ3Y4jn):wϔDlEw*G#k!f*>|G`Ë\8mÌS/ա\ыaqKrj ӉLaHK &Gz`˜.@T".Bw!Eɻ͉atO
m+sVş`R ݇B\5,"uW^RzR٩$;ѱqy.e*zH 7i@ե^5g,0˛<:>`9Z2*i)'VyݚwBfןCk"hqxMsW X"PŸa ǥ>Gr7m@t7T0Mu)"q;6JM,däɵ
8lۡ'YO"|sZ6$1hͻgϺӁE*Tݹ~vp?ɲN h@ߍfc7j|bEfs)2l.W˷EC]wOk(XJPˤ|ׯJoyeQw'm%4fR7ϓ݈1QW7N)Q#ݬR<Kn˖<Tr8MA+Fi;] 5oGBgR(]U2M- ͎W,+pZnz͍/z2o,˯
wge]9ϧדDZ[ӷ5|KE\D1 |C~|[Qp,+j3$,&i.@cd~p#5i^kR2G^>'>IXݞ<&%͇ǜpoL`&36~ +5ɍS*çנ/S=ǝr$*lɷjU@hp/Eߺ HjvӊLDM]A +տe#EQuїwSfrClWVydzۺq*-ӯťɭ`_<5Ê-;"!De#žvͿ݄Sh`aAрժFF?CBGqTT6!XztLӂ=g3H]3TM4!VLiV-]i(lT?RѽiAA3Y"y=ݲcO"u# nz4#I` s +_dϚO}rsv,&Muv=?6]\a7++#hh5GM%kwټnӾyydTS*VVx!!rGP1pO}ݟ(aL +#P9|ݤېD"5٘wϠ@j$r.\K_߉^fفwv(ϳ$:lɚl{zJm)ź&%lwǡ C I{<$f%`ϗ'S۬dAݨ&c&VkIj`ckIۓՙӕ;oqvvq(Ruux(c9}}YщdeVkEtuxrǕ-%.vC^iUdrøm'(N+ HH9Map#$4 (K@IKDY۱3 + +e]NN˲^MLxtٜrtbck?>~]^}77@ɥa::]۷P&'& +d!DC18[IWUh٥QR^8'&ݿ[\c[<.uzDُW0.M#hm +dP:95I^ոÈueepjEoݍP
+!eň4DDLa[ߖˠ}88aaE>=/.ŻxՠՏ˸͏fdwUO)/!
ivuׂyۍͺѻ8yߣKBVx|/Xp8?R759YWF"n-"W{mÅN.21P.F %zͷrE ]g
åK]˻\p~w۹#}1G<9?TZFӣyǔǾgL+%i?:~;фjdϙu!5*4]tѬpJtzgg'HהWɉ~iVB;b[qٟղ7Kъ
4Ŷ, + I5,w +ۄŘ߄o+JlW -Tkt*7# +*&Z9NZ,]I6Egyz{<Ӕ!utћ6E2+&I^iyNaQ=ז~??߰ٛveBB5 _H4~G=ߌJbCO3R}߿hB/nێS2%6%=yo;xq BQrM2qOsw7-[a
+t?&݁w߯dӘ&OET$)~D8$REͦn!$8RV%bH8՚PKLJszGurBّWa3c2\9iWrђfӆ l@TW߽ +Yt
bNNӋA} 2A1nR`ݜ'VͳA}Y0J@G!~sD1s+>5EץǢ2ntHkk/8w &KǦ'ŭɒzU!>+,Q0EQRo۔˾Z\cO::]e/NMx]$$aú/0ɱӺ׃۴ %# +Nũխ.&PgkEnUMqwVhsFa<ŤS&,K5eZ:'(1!|X;|P.gk24Zu{VuC_\:X}ɤ@?a?3msanq;тj:JMF` Ӹ6YoVF@˫t_\+(^7[IþgyzNcR<&GG%19#hٞM?ՈtJݒ{t'?5|W9-HBb3K +$mUk=͐!><
c!!.T.ՍcMODVcbAMXkcIM\kF +HI>%߷$MH9~{6}in$ljjVm>E&a5-ϲm==ߐF^]wAB+$Lwɠߢ ,×g6
/Ymc&PRq__3ӓRnۅяbyR$<^~X} @vKkskT;%K)stSf&=g23mيIjՂFvT06!u(wQLu4]ˇ4CETKf<SJ\N(;bϛXC˧ˉdy~,P.ߴPd"U_YE4"R!c\Q +XH=Ր?n^q~߅>O
y{p~)UAH<Côf}gvɋ=E-EqջyPS)ai RHtcǿU32` +Vr0cI x28D5ׇװ5jc8W9+nߓB6۲c6S?#U4f<ߛ :Ǚɟp/9 +Ӛ.S\w5\߂zJcZF\۽v.ZA +|\͙U!Ò[9*sFɧc>ә:9}-/]+Oo'-$b?qE͟27ӹP+8ݮ=otTé%Ǔ{LPAj'H$_~;[hǗdru% c9j,:Mr!K3O[1^/VÆ
8ŀRիxչ5-0Ѥϐvi"?v;2Z]rn#)Ub3H_d@2#
DXUMbՎGUm)au +I3]b|i_{QQ=3&}xݶ*ϕMɾ~~ݭe;&:oJX
1ǐr>%ZJţͰqjǑ߳;ӎٯR7Cs}jxG;^pnM}IvLeŝ:;crG3b$tE" +`|էgOD'ϱB[)>ō{
uۻlVX#FFooۙq@Sm2>>Uzæ1rr\F1<O<>Z10 VOφ'-OX0ݥ''˨xÚWW7<dd 2zpծ@sO{zŐ٤<=_gg__fìrסգt^GWن˗͕r$vM`˱}SO۳YI\MX0&_eM=4[EwG˴q[(lqǠt8Yaףv,?qh׀lѺ#ӿb\ϰ[y
(3:]Gq0u}uӞQ<:v%9i^B$s͖EU/a\9.bA4:i}wJmυՓŽψYDH<_wO7$Ϩ0s0F@Uu=)/CyyYRӃV9͡]r];s˹|04H@!KJn0)NO +PQ͔ŜlXQ]^|]d0~llKߔ݂n0&\AќOŵZEˆdeQ3Y[oշ$%8T((1hF>,;mW1ˮ`TTMqUjvw5<pq\
dy{{nYM 2ˋx5
pӛE >E'J&)/mihSnуEo6ہBӅs^dEDS##t_43bO9((99]4P&<:PxӼ&,G ՕHnq\ χeۋ_=WKJͼ3e;:3xC9i#gjUÖlIǺѥSjόcaL}}tQ=xѹ*bwQbbaM46}Z hâ߮r'-pi|RQ.s=<^sם>h
\ߵpP^kEvxoӑj:"T˦=_tǨOˊT0/5@&Ŏ4CKɯ"r*ӈ:uJ>bfwwH6K$y[-8~u"]Fy#>GoK$`ͣkɿ\~]ɞT)% +٭KpAXKeר˙*Ѩ͊T|AQu/Çb"{?Y݆2Z[+R{P+ײߏd͈k/4$٣oV?tP!9p>iDO^S?̓ے*FlH0-cًPUgpS+Cn#[ Q<g,oedٰYY0/ s#iǎ1iNU|
A@U}f;*^x#Rm'юsSݯCF[}\zFS++9*תtn ϤIьͨJR'st<Px"ǖ FG4oMdp͵.[0l6MEc1|[xe ]5LI-tzɹ6<UZDK4mICsl;sӠD}iQ͒ou\*(k\t^`fQT,%L8Z0'k ߬y4GǂÑxѠ@hrK݃>R. +0@{ +?*ɴvv~2LhOů 3\ZT͓[^47"ݾɫ-TUh}@FUS@6Ƿs75"o
;3Ѽ}>mNBbϩ{ӏff۸۠ϥ,r^Ov&:NvHW?DÏϼGI~rnzdQ=ӪXz{Մ:bŋ5]a68?F|ZϜͧ*WCKX{_KŌyolpۘ.`%gU{Lvw~ +W
%OZmǼl<}fOc@~T*G@Qgݵ/S_fI|.&ýn8˘ sNbd
%zNٳmJ8jàpoמfDQce}uטF/q"r[3 +3oBmzVvoZP-Bx('2ىsFSiCyJnl,Hw_ßu9PM2;>լ}`WGE,8Gnj˃,í(iBz| +'`g'˺PW8ieBVC B.jÉ'nɦmmW(97j'3ɜw9$:4 Z@AHkbbuߊ,~X@ + +Aߧ~kـ{Y6,&m?AbPPXXLopØ.-EXߕGGj&(K}((m%&wb|0ss/-WxVWCI +x_^8R//ǵoۗ?>
"LLDXjHG<Ó)(IOcthFIIEV1Wxx!5{5^4yssLaG>~ 2DžXXF~ݪ+88Z. [ёϯ?5A1mmKv u O:هWx,R=Z @VV/ŒMOɘב4ez˞yzmɁ-<Dѡ61c'-hSmBV10g-:QH!))gC;;5B)eAD/yð:;R$4eeUVj{˽9@@}Õ>hўIIDRDP[}]PO1Z(|ö88_~ŞhXdt
xwZǹżӧN٬ߋ67>cߑIIAW?Xjj^:>Q[WYm"`aX2"#7ݳp4):8uR3v+gauj( "$piאoC˼%.Yz{vٔbbAV+Jmͬ-D\Za?AV|1Ɋ0--لlkqѝŗ(h9jiTű 9 +e"6sXl"\5rtŖbh{4Bëy(J6ۊ
SI٢ń`Yygf$Bg8:[bߡ/.&9} C՝e{;ϭCEF!TT?G0+*)A2as)1ϊzeJo
at11?]Î%ϹwG=-aѶPٴbux~76~#$Q`ÿrP88ׁFGuskӨJ$+8)e3))mFppǃ͘'q7'11avTi+ˍee\;2W}..V^3dFhi=϶]2LLX+
4k݊M ǣϫӱ[5+%4Ւgf^<ONTuLNb[zv%Bd{{3~}Ͻ|ǫ87g_W 6pc_Oü'-ɀ|ݐN*lQwJXYC/vîNFp+߭hh{@*oj~pVpo`G&ˢZ1!s))-NT͢CӲoWx +iJGݸ'gz_6ߘn11(exӴ~~ +"̀()}8UDͤXl;lHmǰõ3qVlϟǩQ6=`RfRy,UAdP _=C<{NGۚm$ cɎNMx?eX{{\4onZ%vPu6nD|crG2f<<ג}&Ŧۈul7W-FDF[o"FyQ;S^;Ӎωۭ(WY]=z>aGF$Ӧ"Uh5LW8HVɨۨœãs߫1E`748ϣ
eQTVNS-`êcT#.#{,hgCݫkGvNRDMˑu}Շ)E_ODX)Rl{ E1vHjQŴhC{zզzTdٻ"lKUd&['eɑwï1XY2';j)Kk}wO cMπyņYa(Q5Ռzٹρ_8َݴ0sRfW͞і2߲^ۑ<\,,(xCSSH:oњXn&:?--ױ +-=`aˎz۫Ad +qoo]^E?xg~~RPExYXcMy2ge9O*7|uِrr6Unmb5w!-'5 :zߗLz
ݦQ0FѮy( +!/Q>x|AP.$[8n>f^tѿǞ{w|J7"*Pz `)p6ICVY80z>Rf U)˥YxuϷxwۼ τ7=+?ѩ{fM- +}w5!S/' +ٍPeXYgRɽp<P,-P;^<Pdš[b2è$H7M+%9MϘ~z#iHlW}J@-:Y#*ۣ=`ߨ#u2$<4Sٱyp\c5D'alZJxa9,vѯ +Lgӭáby˰Ddqߝ]u>VM/хo#Nbsnd{[3'@jzQU? v]ZR#VB +w@%۶ͽс%A~:!rK7 r`"5!;!ɕz&p+;P Ät8[k~לPdD"Xh23ӡpZE՜yq;l%8SrlųoIkroA%X
0(r˄KnQ#AAHeQf3Nc!O*?zhSIlwyϒ"ݕ*%m=T;dc,hckj;˓6xfI)f3)<ۧ?Ӈ|QJy cF"Q0qɔWZNJ ɃˏU ӟOɩDgBWjAba0'ϦmͶч#gop׳LBYaJw L^OSA n[J&2qo+դ6Ϭ#ձ
Lyj(kљѸUL߈LE݅CnktB'`GFU!BBMmmiѕTռٮNOupC-
V͚'(REbI j@ B+r&A
I,Ŋ'(#l23߀`ͩziB@nˈ͝h*kKee!uI=L5Y=__*Yu]NhGqQ wnɬQXGf
b=Q,Ӯm;bI'MkՀ__7q(r*rl;a>ó١wݻſ"߾--!6EF@<l[Gi||߃S..~YX5+ I33EEi}v%ӝbM``fH4ZZE>Seb\~~ϡpBC/#+ۉr}7sI"\&Pi_u4E5٨tG0SǬNc~GFS˳`p(/Xx6ɰ_)[j9
,ǭUe3JU/?`ӗ \ͭٲU0xaq*TvϝRr8˚=ɏJ˝ݗ=٪|ݧS1evՊ
z-?S1[цٝK8a{3@v1w+X9
_ݓp-6OlxDfۯgѰ2F,,p3ٗr23ɇ͜׆rש%$gۦ*=ɼF,'ˬqZaÀ߱*1POg{ŏgA+j4@ai 1='nCD+Pd*?cӫj1^fэh#*۪aM)2YfRݡ|vTIlW<Rxj9#6$7h`n1ET,%MaZIi%N}8Y2oѪzɆ&/S|l;[:L6Ֆ<O\&mJCn1
XRDJNjv*9[4CHkW{N +7/?bq۩ە~XiIt!Gc[9y"+W,%%Xó\NBIm7ݣF[wv˟{ٓO 76_9C|UV
bstD}vvÝyeUN<D@ݺt!ճÙvt
1(Qy#1(ۢ{W+|99=7K^N&ߒOBZZen9!%t-hCI-4w.ek~^dqLϾ}\-H$>^x1#ŰBհTSӻɮ CcS[4F!!s7n3\[`NݼwՉIբx.yшjŅUK|ÂyNh,_5s-J`/=\qc_<.sյhVO=וۆ=;:^],b)1DJ
/`^|ٚӥDxUݘj
ْO/Od]"V [^;4
PPdUMwۇ%tt'|Tfg0.O͂*ͪ#NӢ^iLrS=T+ǟE/.Qs\T@9(
11@Jdi@S !!mmLݎjgJJ߶PJRYbX7ͥ%LTffO}y%#My˪))BB)&%9[ccvN:\d>d,zU+$˂xXW8LLթwlrѳK_ppdːս]>56pٵ@Uӵ**BOUU"3M_64p6J__Zpك>÷)vBBKkٖ߁T>ZAbpӜhSѵ3|iz+nq3$5:.P4lp_7sم^{]gT>0e`lj0L:eD`>
ӳCߜ@@ŮzT[m +"x.@Jɺ3ϴ%*)V <(EqW9KJݽB.nɂۂ2;"56݉9A1N7`=iSue_JoϖWu~~\kI]U0}i`J`?'I?MLN7a|sq88ò6$R +qq3Se߆XǏ.b/Ѿi052'˩zjј:̈́oK8Ð,*LPپ{F*oۏ7a/b<l~knHqU!Rf9Rwj6!Ŭ&x + u3%{͌'@B@ٙyٽ@z+&Gdͱ/|Bs%:\Oi$,Qj +ѐyY==8>Vy)Yݙd&[\'oZoՃK0X&ߦs\ǯ5d!/A^2ǽ5tuϿkS>ٶQu #[v +U%,ɶ*0(??:\~ٸ,oo\:ɖt"oR9u]7Qۃ R}Ǯɸ:DŽD6>r^H09)Fgq.F<kQ6#0Q=x\uѣcZAc5Hj.;UI-m|th]=$[H^kC%S{۾HE3^:Ls^Pۥkݖt~Ds9
AFgÜ>fP@<]*b9dsK!>ݱ4<^M/fϻ NBצח#ݰˌ}٧dt!L8ѦrJbVrDT*$q +W+/G?cN"wϪ/:ѓs2B]KפpG`>)/Vx&+
0M) ۾=AKdhٕw(,S;ݞ\b05[ BR'&I:vaǕɑWXђ0cj`l.9v(?î2
ш^224ˬ6c9kE`|XY5@hmɗ>c%:5Yð>gͭUDO- +gf?@X& ǭ1Vb^ m- 41 kV[ӹxP4\Wnh<
I x4hӧz>F0!"vK݄٤=ljGň<qp]RxR~tdiG&>OeFB>Mgc.:bdQ8-5HKVǩ)q'Xàa3Un@G\P-XW?߃,`zDz*:_$`LBR(`LUUAluwDBߞ 1U M/=D1-KK[6rQը<9rP-["a:^MJnBFSCG{vxթ~W/%pwi)v:l.8ApbO\
s> ɃvI-1jʼneՔo Q_Y~zSH|HE*b "ߠ%V"R4ǂc&\ӄH}U2Ѯ$ KSŎM͒˲RՏI$˗fz$a ["פ!˔<O{|`07<K:J
qՑ/7z>AiifS~P~q<ŘU=ŲM'ϔK.?͈uqx{ͯםehxnDf߄V@˧j1@VdńòHǪϽߋg'H1]ӝ +!>C-$o?}o +q_=+_cWz'njMR#W^Lͥ!e
$Ŋ>p2Z{Y߅B3]]A~DAJE|XdU674n(rI$+R)*:U])%646%1&> +oP#|z՚َcӭ +٦n?ik +Fx.œ?&
Gŧ߲nK@'~a-h_'t O$RtT?BùykVю`P6DZyQBlɄoA)#.x ǯ-_3~Q-sU#1ӢiٰNGsA{j#bz3s{z˫*}Eљ݅ˑ{z +ÑBw"0y?i`Ӆ6vJCjk|qL5}nXg(BF\|;7k(a)הqmу_ۦ[%Ӟp
EWUJV\f)o]2@g۞$
mϋ8іmD_xiR\Z>`23͔m[,#f}Nb,ŖFr +ÄǢi1g|E ero)d=HyNjEuUfAY]J`~W1O;m ݠoߺ-.e݂FIPd9û:߶&&Y*בo[6%т G2fHt@e1\c̀-;swO._D>#l7=qz(7(R)aӦ7<Z{ͫzbU̓R&ˤE:ˌh?eV>Y,%ŮEgKnr +uɮN XI16ELRˢ&Q_u?Y٥MtۛB#k +V60D[-2K۱!2)ӘCHj7@״jyJ5gH8:/{~.ǣYSQݒ;ţ[xod="ő@Z;uxۆt^HDZ`ۡ<i~cpϕ{BrWc}@Tnr͞,cdy2jMAźGhӔYcSca5ͳ92g@^&l<s\-YǮ\~*@ +W6M"HRP\D%t`H&KHnT/W.CVſL6,ae2F]</S?I4+Jˏ}3>ɞ0ѕǧZ+Dϳl\
۫ӗR'э4PPO-tv61ISم-J,ӓyNKoT2iyo~-\?x{Õ|
DVp69qӋ9 _$I9'Yuۙ =L|evrpѨ)˸x55z _&kbh +\dѐ5q\cr#,qNSJTkjy7vy6]1ݹx]+b%'3;7g8:q KkSɔ<rV)])ly +xCV.6gG#ÿ
^#fi.9߂gq*S9TG+2XTφ 6d{ +5FÆYzp^RWfjѷWZcŞG͉{?p,fݾf`o(% +/V<.߹ɵLŨ5[ @3/Չ9L
y~~OeaFUh|+Q5fT~;8 `unHE͚ɫ;gu
V0W#߾h*9x{Ӿ$sgfKnÏs-xf;"њI%5,zσGR̈́_xٯ<ӽL?7/\Mץ%dwfmO&>jی&RJí`$$p+IυAeˈrUщ^Ņʹ`AsC+V\z?!Xpύ<@`3+%3ϒ٫p; +I$8|kc}˛O8L`)PCPRRō,JӲ.ۓ~Aۄyp_/vAss$!|KKjqŕ{Ol2SCbi +="Y߈uuF,`C<bW}s~ Ͳks]/R~lq`{9Ukyۈ3U:a~Byf1T[X-ѣZNMy0C822KřuukM X-I9^uZE?OLVцф;!!|ѯpExc/*BOO4,
ճ˂`&ZmC˦q<N].ߏKe(W%Z;ѵ8ݭI'1& w ^.+R9"Ɋi]N K)_6SK +D۵}uh-*@|ZA +b"TT 6 3dٽ7]M4#Vw,?B
t:=f2[iא&?Ϧjaˀo8_c&)Ѽ iŵNًJRXٹm=ٸ)@ݴDW͡.>͵فpx)˰M,*vә@ɖ*VI(ۤ>Hkۚ>@n?^v9fMӈv}fVӰi
|aa +ϵROkE29)\IshTofKwUX׆J*fX>4]#׃&#ٷ{h9Gw
V5z%Ak0{ٔ!;Q+wPٖ(ӉQ|kFw76P:7[$`TVv4A
>QnՙvC&=zUӮեXNa~wrfbl
DGnbsEn}Ih'}2D:hy@@M:= + Y6_v|k@QӖ^3Nיh!^IFj,IU +RT́Z= +8zۮaI]50Pni)o<40ݓ%z=՞b#Ѣ +јI" +rϼ8ŜoOyKO[BkPAvlbkE[LT{3BՐ~=@j~4ÞŻٵQ]Nsݽ0 /YycuP)im<ϸl}S|e#CZY032Yrbl$o5
G'tӸ~}daϢSGqǞ˜*(SL/3ëRJmwvQWϜzCP$Tۗ\ +'2dC/E{r`L#Dr dYcːp|Y$%%75W}{cŶ6Ѷgcr7'2MiPV)]xXx"YlM)AYӤfg>TN*
=͌c_kh*dž4R|V
+ɨL`CÜ'/CLkxˣǁS`: ' lN48n%@gon!CߐVYXɢɣL>eQe3Q%d?j˻c'=IuX8T +Xx=!JvBy77لAǡGPRnk+YU>գ $Gzê7U*$Q(
|z*lRvW}%vemtBN͆f˴Z~wg+I;w/}UT4[ +%]{ŋ:&eoW|]++QK4X+a-7$dQūOo'`!ձs(Lͻ\Mq& +s +,BE)jr^M<o. 9HBٮ{E5b`.?h-:/rǨbqX28yb.:[}ɸz(jVٜLzq3$}Ճ< +NFՓ
|4ߔA8Dy,xG(&HɒWE_#jipjelrm7Ӽu<~B).#yߎTQ)ݿH-ݍK6Q|vْ/8picŀۭfşL|K&6).r@N,GiZjv&a9n3v݃Iwg8~ۖ?pi_ZoKud[Ռ>٘Je{HہUզg2۠z}e$,ջ1gt.k?ɴ
\p 4+śT6<_`:dz2~ zyÔ81*T: +o}Dռ5Musp{4#GUm_Sd~m9ͦ>Ǜugu2Nô 1$Nd8x55y7ыz=#zB,dv*JbZ͏XC_Z$*9tQ#^T zX *ݰɻlrF"[C]w9BDͿRJ.ia%B
'-mC;X>M5Ͱq<Td,˽ozߥj"DTZ"@UۼvI+ǔ `ClO"I{τ^Rt irn~ +G\ۣېۀu0;IåN۸;8>9P1!s?4doM{(WsS.tGXu_˥tt-t<q?ՋnJY
߮`éף|Uߗ]QmwA*7_ۑAي>{+v٣{ftbӴwR!tQ6yeSsA3@`O݉[\ۊŏ͢(xlLj wũ*UB0"jt1ӣˆwg8,1dJh,ϩa'UTYdw=j-ɥ@/9"g +^ߦչ[5^6remN˹ŬVZ4Օ3Q/ 5?:= ,ׄwɎ*bCmf'O +."_P8}ۨeG9Rɏ=}5NJ`'uxb +HMOCu([>^&AKJRpA9+@!]g~^p:VF7(/՝3*%}V+ӎpPa@:{s0aXj{$ZÊ0_y9
RyzfSL.U/v(q*2WߑdF.Y3-}Òcѧ49'BE|HKϐs'g9NA+A+Cψ )ߊ@mױ)E$FA7ۍmaCϨ.#ǵպsRP[0Pj;B;W@v>s[C=<lel)ZX'BU5CaXabP݊-]ՆPh>/;ɼMQɝ( ەժY yS,+YU՛LP˞Tr%q'͗ wB[UnEǺ>`˝@zJU_h|yãݝjZ2eٓ.96''&%=eGTqAߩ" 1\]k;y*W"vP 5xkJ9Ǎˎac!'3[r&A96d>1j2NnxөVB()NWIu=h9kZ1npH%!^?eZYW
T_`7Wdm iuB'd?NwGudݯi
q^d4#f@rNjAaL˚շ*|0lRE UE[(`>wØߟZwߕ6o=go !mu-_C4KS!^)͠#0͑wB
cH_TixP#j+s +!g@ n8F-t8)hkxDs<ÂO?(ZqV<Ql]ä' +Lϲ~u%~
T͍ՀX/dQ`ݸӳ xO)S;ўmPVI@n5(ߙ%"2SnѦi<1ի8;Vr(ü+Iݤ.ݖ7|F??q*0FjgŁLL1qDߓuŭlH9silǐnՍݚlS$[1{4}tnѫjHec$"5%.ۜˉ)PEuӏsϰKyˁ\1Hɦ$וe"SbS-bZ!N[Ϥ]J6ߝ]VyͷqϾͬþ9{ۿmݨuv%~:s͊aM?s==DӠT[c+p1.|e{!]b}>*$v?=io3w<!"7W3BդˋهWcgx0߰ݪϣa?LF#˟~7ťxJ:GWϊs|FU@)6۲@Mbh5gOC˳c|V +why5dчשъ)ˠ^E%O`ZJלGTAXsua(jCB"}U4^Sմ\%]
2apN,=|"&LuOsݡ]Us=|FBXǦpET&,_Y'5z;# +mjzGjNNNc|+ Pۋ*9
dAN/^ӂD4ٟdɀb_qeͣH:MJXɌNzpV`_%
͇QoǼZzx&O"?lBɷӺ7R@]d:rN_,P0#i'..A>jzo>Ouk&gkϟߴ߽k%;ٱrb006ZJxH/Oǚ$\D:R jrJïñ:r.sKcS4"$Vh8}߷8}"Hc<&!qů(ѩ?1Sɿ}h]*{pdAT| -b4y{+h[W&"ӌCm{Ɂ4 +.f0Czϴ8}Cӕ(fپ/$]S+]^E}ݷqc=kߢDǑD<j;EoߜE&tYӵ:,wI)1T.XMuA+yߚ7X*!Kpec^uBqͅ`ZHB| ѱ'$CݣX7Y~,VP>i,Ѻ~Xpnzݏi#Fs +ǘ٩{\&2èxYYoAŦ/sV`vll(u\kϮ{XYËP/^hiš}+:!PT͕~0ɰ\ŽJJ?CÌQwwǸCqUZ7J]}%ktOGk~e^ɠsgKtN pesv}{HXZQ4q*!WBi<zόa@Gݩi˵#9D3X߉ϥJ)
l1xѻ}ώ+W:@ՇK^1FýQ|Y[V͂ٞ,mɶ^Ӝ(0Yd$/qf+pRI$M&X9koLۃg,0mFW0"ׅzW =fGv%~8D}PE8'
fZ6j#3Ū` ?K y_-AB?-}
# t!-:J -kYϻpS=q"rAIIٙ;(է4
-d.FO.&DXpɜ0æՅw@LaScntw7Qf!Ő4W}I_LCvKWTO:/߱WcEKRnw=AEǃHׁݜT*4-YmLyn<+ѥ6PRGeS{hgPFqOZ' X`tv%ɆHb߳4]N +& ;= ՄbvJtǫ<Rh%ݟpS5E.UPmCv+Hy8~e|o!66g9
3rŃKٿ|DGmcS_NVG9 8S=iyMٌl+CWnU
#U{V6Q&`(>r"KtKr~zGHZrɺ80CӨǟ#Spq$o/ɧ4m#7KpmX9]QU7p16t2D`Ilj)Q/Ƕ#GaHF"!^Ѫv>TMm@PycǓeD\[V}Ϻ_zA:g&(H 9h3uџ1}g!N4ɩ@S_Eь͐>סt٬&W4LSlnM8%3ɚݥ'\ + ټJP!~,ŷ[1EuՈ!6Ť~t:K@dDPӁ:a-fբT,IGAKdρpIÎ%{DŽBo68=-9۷lN'݆˨g߯MçnFiXvu&##+y0p{##9kŒ"cY
Xǜx!kSbkl}&M~;st][9< E{$%xLt"v"V0Ţ߫:@ooA!0F747L8OA>[߿٧[4mJɱ.8_ɭ8ɅA|5J8Y $Axk1ۏ48RRKH.3=8iiJsnzٺbka#8i?Q{&YgE;A6j*(RϘqUZz{d +;9nA͙ٛכ%yٚ6;Nѹ4-"nj]j5{˩v}1@Cw?
"ZV=V͛"˖Bpזg3 +\Q +kB=6 +ێ;r)SɲQ]le^pՒa8Û<UI?50Q@\Cy=U8]x-OÝE3ۉ[S*5`3+4C*G^ݶ +OӥM$2K RӶ#+f7Ǘ)N\F
Ym)LaN?P ^϶T;:hW3ݧ0Ue~^!\roysOF<jϓ;^QY4WtuL^$mioIa'uJrv3'4zN
2{=\b?vp]]MU0zDwSׂJjqnמۥսhK]8&ِE|^Un&կK+nEKhTqMgm\ {C9&"Zׇ5"ɘrogM͟߸&0ǥeDa+3nWӷ6,۩no٠:cےego9C}%E~FL[%. +S`o|cb0t9.ߤyTi{WG$r۬[t$IF 2@sboke3N% +'dRͺIM-{bVl#JM;FCrl1ـ/L]g$'ϗ\πm` 7תJM}+NÚ6?E۰D͓=P2͋xX.v>r8ߪ>߭~|\m;S0:TW"<Q;A1ݙA~kwg2/)E-/D/ۢ5\2c!az"p?՜Q<S*/35+[2c~b_cf::$#1-CUcM/y4u/ϚݢӬќm*R;ߘx۔r1M,\[J,ǰDI4btݺ-3^ +`ÅwHa"V|a'G͖BG>,%`ImÖ%3?U!9˄wR+ӪsÙpmw /`oqVG=ոV6\k٢\?A)ۅUkGS<_>Ls2˶aNx jVDu$.^#L]!ͮ1Di +Pkr7A]ߒ6نE{1cŌ&-D?l9WNE]ٲsd!=!ӃtF&P5cϿk5}~ۻs.bt^f5OhZ2{ݕ4u1@TyO!e)bgL&55SffɓLPBoa3TǴ~ %7ϏPt8*3Ÿ##۪xCO@s*.t..חj9):*_;\ͩwdF
' E]zZ<RfgZOJjyY24?M9٪ B>Qk +%MM2/
z:dyGnt8`͎"ݐA b3m5x>?JTс\HY{j+o@Y(l!YGhѳ3CgH^||.>qّ'N3^0.DO-p
4דvi^קmuǻݳ,ךg6dn/- 6Z<OT2WlٳաϹk;0JB'yw/ӑasy߇߆F=5lSCZ[$us)\2͘ õttm@ݗvϬEeQz;t@n]~żə(0I-?ՁDws.X1y$ kُtɹ<"aP>_wnV͜P'˕2\fٝ.EawU#Cig1#k^ӫkx'l/Ro<[hˊ1hjalDI׀Aǀ)iY,77
!-A=KcϯǤWhbmQ;@S +|˭I@s#']*'O۶ݮELlς H`Q#HhC(l|`[/RY&M]e?˙х65-
:$-EŰn$SFz ++FR[boBI~
s<kK3p5 +Oe÷I\K},V vd7]Z{T
Xm=7(|Oŗ2;Ŕr'eK?fT5GpRE('rLymհP3ǿHAxÍ@U8SfcwD6ϖ8iR*m|5۽}n`he)Hm\YnǾ7l;˺EHX@=`->c_-|bMc^dx7ѸH*"4DTs_v=bJXjG7uwm+bbىPQQI5F41٨B7J?ǏpUJvZHdݫZE1_^Ӏ,cwhoL<CÁѤSǷ,0KÇ!5]~}qâ?Dd
l* q<ϫO92Nյ2kߨbӆL#ӻ:ma۴6KTrBjHߛ/(#vu,ˡCC+=b 'LDž"DT3?l/wגq^@g~ @lj[puKRh77A(zZ5,]ug2 NTQtѡVE|',ky3a "}H,Ɉ[D r,DW/NiO(]j<8AW/"ɾDݘղL˱eˮ*9w!B۟q58b?ѠR>8tal2ϡwߌawa{Ktv:ݑj(OB1!yV+˅ٗj)}(C!V+zff%Rӡ:2fѴoYpћo((I7&*h(*}/rMhѾ|RKH&a ע%:#Gxտ> yUZ`D62[t&[˪!ItLF/ӿ^Nq<k4Syw|Ӑ)3]U^ӯHW<f(H7\!G{8,<vWhsK%aoͨU/ B +ɤb7#OyPvwϛϝ*"FZ$4kLXWw__4ÉqxHQ%hP"Zˍє)OFT*[f[Xe!>0Kgza]u-y6o*|SǝlX?A=ioɡ3ETrOI^ [+Pos8;^]L}Q3F[5jpRW>ǎՎ,6~>=d+YL"*0ǹO\W6x;Eu$[ն0~5- h/χ8{v'p<cMEžITJ߁aϠ1)oϷ7%ׯbLJ}ՊFoɇ0uSq
h˿)dݦ }-B_L Z:M\Lf=mqö&ͼNEXl;8 ٴs_)Aøծ,$ .F5լD/Q KH;Fy;-dfAߡ)7˒e|g>./tLouїHr^Z,w((f.~xF$ϭX"3Z?#D53i{;ۘcLJ>f!V&BG0~ZMٶѓJ~q\M+
Nj$pDó9GIJzpVYtW(ͤXdÃ`߀I; ՂrF<ZS݀xNrQF3-M,Cy<i!e˯:ɛv&2Vd+ݎ$Q_Ѭ=F<(mN).J{<nӱdVņq1x=ײhjӍG^Wb5*az/@9p>,q.\ +ai4MɬeCǽn,l١606lduˇgOɉų:!݇gqۇD/ɕFhn'^ߵ?kM8Jٻݻ+úOrGEgϱϞiOj0NrUEM+P/Nb\2!\+9eBN՟N ՠͶɟt4C>MO͝:y݁6!Q×UI[łŚ; Oc}eɯ:QӇ#
&0B)%i݈w~%˷ݱW{\hKbF0h}Xd*!.ѿ2Ň'`au^XQ.(Y0uj>}Tefװ'I8ßG53DsqMɋf"ט("˼[S1@J&Cצ%h}<iW'i=WC\97*GRhz3tr4
ű=ӟ:o)LYو pUei~ݵb;5Ydh,mnPh, F%2
ɪÀ +AUnɂ5]]IYX,SRu\Ֆ,gcgQ#}bm$GT9ia(ϑm;rנݔ_ErÈJ[ϪѲ?|z˃խQ];Eߍ%B_}iìE|ͱɐ_gOs1H+ǖG}7H8t`<1VF9`fDv.;;b%SH@l(zg#-U2des [;?o ɽ%6&-[+L=qXt')ϧbӒxKqv"xվwz8T;[KM׳f1":[
fnzsR\~xhI9G_F] +^Ǭ JvOӚ_r?
fكǙB$!Ft\LG;-#xuONןѭ6rLZsѰ^|l)۹ŹDc˾0QŴglpÐ
qۧ^A(P˓ +1B>a3\ZeO/o(H +FU[GI!o0%7e$'43cP/YͧxY
hFzقߧ^aQ=/eӊ
m2, wác`G>chnŝG*<v7D;߬d'w7<jɍ/97ѽm#'0q)#;PF۳!/`p3Sр{V"u:rh"knN{U7JkK +Ilǒy^fZYND1$WYǠ{*Y_vSMk ZQٍw4C<NiLPB`X%egWۂ0!9J<h1GeDϙlpO=**Ó1IcJ.tBۺݛͽl8X+2mfq٭ߣ01yV<mu[|4Q32Qjiω}Hݬ˘f(0A*_n:3c60,`ɳH_
iTIJяsݲHۯ@Wё($l#:ר;_p7L!MݼY_k +wqP'T+xxZjߖdѝ
_5*v|6X=GZF_)<n:te mB3(T C1ӛͪ >=m](#"1_ +3')|"7u2|K#<U#F2/0
."b<p!7"##DE !A +M+r A/<
# +# * Y#-6.
-1d(#D!()\$=2'0o(dQGɡ!;"%!8cu"9wvKYׄFyn7q-vuTώ-? hÞ~rߩK{N-8/O +*:
w2&F՛V`)'N<&
-!#|c(-'+j!$
%3a A +
w*/"$"O/! }"#)-P(? (0A-*K"$"7'!#;U)! -&c3&/`&;1S0*G#`0))_/;S'7+?!$7*W\9:
*A* "-(e !KY*|#FE
G `5" (1 @#+AO;IUCj "1 +j$Q#?7ɓ +fL? ++QK!
X$)$X,$)X#E!="9
<[N&/
%#:M#!-(%i-N5;'5')%30A"+
"*;k##]b15ɛB{Yu2Oσ4VI[[Ӑ7w|!PŇY
"1Ӭ#L'<n)8T"͆IlW +_
1~Yt 2NDt!ύ#"\>:E,&8/
I vA!Ϯ'/SS3ͅ !{%!0{? Mi-[5Vb<'&f !%Y,
9!ѝ7Z -"U;{ K?a" +4 +G2!^ # UfJ$=ۀ$
U?w y". +C ;#i"$%=/C/:#)1=VADtD! +*4.sJ#!
.Ӱ!!tKSݱ6t"DF{Cə"$ŏÃ*@=!!{M">WӖ!""( +E;D"#3q*"! + 8L) "{w
~6qFz͋p+95E*/:>!Ӥ['Q[0<L!7:>K$۟w&&Jϑ8<5_=?>Y12
#?K_!PD'O%%YŚ8h0
5WWSH;?7<V2"20`;
;...-&K7 #1MFX/5<.#J .#;1%G";I +@2XY0K + +Z<4XO4{C'"A#)Iw/DE
E ZE,;*"'$=J-!C6F7'+/Ow|6.1aJ# [ y˅/?M[$ /42 +#0&/'p|
;%9'u*mxCa@*ٔ$AK1-E ;k0 1X7;{4]]"y#1_@>;|`dzK@VJ":/
"T y 0 +(@
v##0h& 9"!7k;)/( LG$" xN!$O!
"c u'G/o
"jV
2;B+V!2B!!vvɆ
)FQA$.R @# +x|+6P!h)c;?V: +ˡO"4{;(@=(6-۵B|E G*
CL( ',i .%o5_wϔ8541S8%\.$a+-K' +`"1+k-"1M!$C18I 2
?! n3C$12(:`*'',9F Mv9.I-h! 6F($)$'+-24%'12'",0+<8ɲ D|+)ð2z+AY,6(JV$8Q4"F K%*#\(OC#-L!<L
!K"(r!8+F";"WGBg(]U. ,+Z/J +?2c
#BB$$
\F/C8|Q (y"lZ"RSsC.#sg&$#LW5(Z7RFp!.%ӓ o͇L'$
+ +#HHɍ +5*T#Ņ @PYM*D*M +.~>E!BdQ$#"їS#3 + +ѐ5"[-]0!! "#žv5SA7!%!?ICBQ)0ۉL'!D=*" #< V,(5Z?/%!+~0O=u ϯ3nz4# +_dO. rC(ѕ&'(=^&'&!+#J5GM%(kD!n(7ayE EOCS!VAPpO}!#"L +#9C|+DL"~٘& #r2,-Kk #ŋ:1)-y#. "%Q|)g +* "I{<$f%`cVDD"C;Yx!)tA.9B7^ +=%H-C9p_-3'"@DDK۱ +)NA˲+'x'/r(%(b$>7+(-:/&]!9&7)#"QC%1"I#&5uEDK.'0*5oI7ݍ" C+EC)1ň'
B5=>_.E-='=d(O"G
iy=U=8yB HxG/X8?759W-"W{m21. %zr"= ˸KF%0\Un:}1 +M.>ǔǾ:*фKd!o"(Rt' J)%
%L*הW2B;7SB
&Z(, +Y-4o5+J*t#("",y!D"z5x4*CtM>GhG=qזI'"j~5=71b.O;R.}h%/n 2 %6%;=q 9Qr52q8O$w7--a
+t;w8s5E$/)]i~($ߔRDn!$VbH8՚PKLJszGurBّa3c2\Lrf#!ӆ l@TW߽Yt
(NNG A1kn1R`<'߰ѡ}0(qJ](ӛ@!˩~TD.1+H)5 .Ǣ#2;H"/;;8>[&K[zU!>%Ӏg۔?M9")G<Y~!7#Nũխ.&E(UqVsŤ&K5e:'(Pgku{V_\:X}ɤ?!!J3Ya
7;F!J MP@{ + ˫AF\q<&'][IMzN +/W% +M-?5
Jt*?H: G85W9-3B==K +$m=3<ccoD GS GA6 BXIMkF +> +5%Y90{$70^3-i.n$"gVb&'a5-6C01;w A:FF+$ALFߢG,k%g(/)m':
q;)_'R@
ۅb,R&$*Kkk%;K)stA=g2mmDjE;T!(/
u\Q%L(+]*4EFK <)DSJ
N;'ϛC˧)d,.""U!0=?Q~0>y*p +~)AHj'ôOvai Rtcr0c85ׇװ5W9ߓB6۲c6?ߛ :Ǚ\w5zJcZF\۽v.|\͙U*sә9}O?7ӹP+=T(
>'&')_B
CTh d
HM$a'/Æ
ŀxչ0cѤ)v"v2Z#M
UGGUa# +#b|i_=!ϕ"&)J
'%JţͰjǑ;ӎ!7+sEjx;pn}:bG+1b!E|էgOD'ϱ)>,#ɰE##o*@(2$ + $!1)'E'A\$#!C +'@2.')O+/."_r. ^/G/r$Q).<?BYr&22 W_651'Z+1*qx&,I-?11q#~\":XTy^Ç#"\1).0cu.<$(:<%$W"s"?E/ / +#!)4/
D/ <" " ($U1C)
CV-9h x@ +F?LQ3!|2G]I*K 7=EQ;!3&ŚAL(3F!>F?J, %ˮ<qHOUvK'45d{)IYCu2vxC'')+ELJ&ɪXSi-no?6ǁ)A##"O(#"1A&\'_!= =g9 &8!*MA)b!4}9!0}AL"א;iם>)ɗpHPE&vCxCoTE=E_tǨOˊT/A5 +C&Ŏ)4MKɯ"O'(N('>+)_$E1.1O$'-&< <"]"2EB'($$&-/\;c]*J +A$)$!V +-2C +;"Ѩ(' +D*"$B"@&("&E$+$+"D ?#-!>**"?Y5(A7o#*U)+DٰAY/M/7 q! P+*?'
r$'2^ +'a(U+7"/AD0(]1) #F4*
-'b$E+)tM# ,C'#; +)st<b %d&M$AEH?0l6Kc1*e 5X-+N^*6\<US#48C#lsD$Q#"(3^
B$ky3*x#$yK ! +#1i*v#2\+O2D(BJ +!'DEɫO-'@*B'6 +8s5 +o;]}/>/(b*{./ӏ7fEۭ۠+,x0O/2&(@EGW?K4r`nz.Ӫ5X95(WZ K
"].y!l#p'>1%ۃ(
U2"{;L*A +Mw
xOmN<pfT Ou@}dUc@÷N/#b^IO!&Nx
ONQJ"N81b\/P/Q=eFS #]"P([03OBJ]BV#T\Zj-"NB"P2AFYS@yTJ#bl,Hw_ßu9PM2;>}`WGE,8nj˃í(iBz +'`g' +Pb80'B#6Ez'nɦ!/71'w-0$ +u+Z#k;łm?!"P5?L;?-?!C#& +"}9Eb'='|;s9"!(x= +EoD ۗ>KDDGj< +OHc'C")!Wx#!5{1#^s7&7/G>~~ݪ+S8".ёϯ?yAK"-v 7u=:8W!=Z@K?/ŒG
ezSmIɁ-<ADѡ,'m Og:E?H!#5gAC59BeADð:;$e#UA{I9#3}>V7hўD7"D] O9E1#|ö83'ŞhXd
w=Lєߋ6c?A1
?D;X"eXy"G5p4;":8uv'au( "$i
o7C YzY7vDٔVCJmͬC-DZ?|÷ɊOل;{ S +X"us"OXl +"\5r!bBy"(
1.6@IYńYyL7$B?g8!9M"} C?e{A;ϭC!0)/Aߪs)1e/JA %w"G =-y7aѶP%bu"C~)!Q`ÿKrP81HEFE.J$5))CFpA'aT!"i; 527}1/3dF=+/϶]LE+A"k )݊M [4Ւ +<!EN= LzvݰCBd{ A3ǫ7&W ?6pSK_O'I|Nl#'Qw#%J/+vîMN1Fp+h)@=ojpV3H`AG&Z1!sND7 +SYJG'ǐ5gz_7An( 5e"+xӴ~O(! +̀(8(0D'$ *0YA$7. +qˬI #
& !b= <?2%#$ [BMW)eKX{)B\1ŀ
n%u6D2f<<ג&l7WcD-Y'[S;(ωۭ(]>;aG4$"2Q%h~W8*Mɨ178ϣ
QN`êcT{ݫkGNRˑu}_EHC${Bzզ!zٻ&['e'$&;/+#"O( 1yVņ 1Q!s!z
8&!# "َ&#)s +<W.M߲^05<8?C4S1(
-:#1 +I!z1'q+~IZPE2&(2e2suِr/6! :Yz#LKQ0yL +!Ş/AP.$'#^
"
"P*ѯ"C
<)|ExuF! + +w"'# +P(X+R
p+!,;<[&"v$#7"% 9K~2}# +:G="C#-u "}<X 4p\c'
)4ZbFZ>*)V;Nns;* ?D m@
+m
vсA: ."!'pe+; tkPKd#&E;gY8lųXɸr
(rfQA"AeQNc""z%SIly!T;dc,Ǩh;Okt˓6fIj)H3)<k?Ղ|QJbsA_ Y0fU9 ӟOYDWjAtͶu#a=Je LCOSA ø+0nϬ#ձLkљ?߈L݅7C'`F;U!BCMm/iѕ7TAٮNEupC͚bI@; B&#lziB@n+͝hc*kEKe5!uI53=_#*Yu]NGqQ nɬG +==Ӯ'!7'(H">ۚdbݻ-+Ő)! +SG"K%# " a1KM)4'^##F/}#(/7;I"\&P>i_45٨.tG0SN~`x6,U3J/ͭU0xaqW*T=ɏ"Jݗ=.ݧ!S?1t[цK!v!1wX _p#-/OlD!ۯg9j,3r#_ɇA793r 9#CB*|#b=qZ1U017 *4 ט'+$*?cj1-##>Vq0DL##j"T"$'I<1/#1(%<A/
"$'N/: !!<yA(#--"#u;11:, ##M*"#"F + +#\/"~I 0'E$"J"N,1=V5|F),˟{O6CU)
[bsDv/!%Ý't!ճÙv(+9=7^#~_ZMLn9!`- nw.7E0}#-$> GxW#ŰBհ(
C[4![s7n3[aNݼwU.yjD/2!H1[ ),3TJ/*#4 +C<7=p;I9## +O-DD&
"TM`^|Y ++3
G.1B 3s
(=тt'O͂9*
*##NoLr!97T+!EZW/.s\T@9(
1@Jd@ m#߶J-S?"!L%&O.B#T.0FF%)QO1BE:у9"3:
,MA$*PWK (w +l.+!d,)g5%*"p+(JB3-3v.-p=6JZ>#vI# )K >JXӜ:3ipz!Zq!,5a.! "lp7'sم{C>0`#9:B #>!
CY@ŮzWT\ +U!@ +3% M(EW9˔J'
.[fɂۂO2"1GN*"J$W'I4U3p#(iBJr`?r" +Lalq8%6|$ŕ +@3S߆XǏ'
#:VK5Ð1Pپ{#*oF3a8/2</!k!4:3=w864!+&xJ + u%{
(y۱+͕Gd]/|^BFs0"0i%Mj +)y8>yFYݙ)['5{Uog&ˀs\5zd/A25ǕtuI>xu' #[˰v +K%ɶ*?Yٸ,oo4:!#t""ߏ"o& R7&)R*( +>H )F! Q#}x\u.GEA"#
y-*8*%B+9:7PFk+$9 +/
1Ü>@!5!
@04R
"#h +})2! +J('b +M;(,8,'+w-c +ݶp;)"3V! +>=m](#"1_ +3')|"7u2|K#<U#F2/0
."b<p!7"##DE !A +M+r A/<
# +# * Y#-6.
-1d(#D!()\$=2'0o(dQGɡ!;"%!8cu"9wvKYׄFyn7q-vuTώ-? hÞ~rߩK{N-8/O +*:
w2&F՛V`)'N<&
-!#|c(-'+j!$
%3a A +
w*/"$"O/! }"#)-P(? (0A-*K"$"7'!#;U)! -&c3&/`&;1S0*G#`0))_/;S'7+?!$7*W\9:
*A* "-(e !KY*|#FE
G `5" (1 @#+AO;IUCj "1 +j$Q#?7ɓ +fL? ++QK!
X$)$X,$)X#E!="9
<[N&/
%#:M#!-(%i-N5;'5')%30A"+
"*;k##]b15ɛB{Yu2Oσ4VI[[Ӑ7w|!PŇY
"1Ӭ#L'<n)8T"͆IlW +_
1~Yt 2NDt!ύ#"\>:E,&8/
I vA!Ϯ'/SS3ͅ !{%!0{? Mi-[5Vb<'&f !%Y,
9!ѝ7Z -"U;{ K?a" +4 +G2!^ # UfJ$=ۀ$
U?w y". +C ;#i"$%=/C/:#)1=VADtD! +*4.sJ#!
.Ӱ!!tKSݱ6t"DF{Cə"$ŏÃ*@=!!{M">WӖ!""( +E;D"#3q*"! + 8L) "{w
~6qFz͋p+95E*/:>!Ӥ['Q[0<L!7:>K$۟w&&Jϑ8<5_=?>Y12
#?K_!PD'O%%YŚ8h0
5WWSH;?7<V2"20`;
;...-&K7 #1MFX/5<.#J .#;1%G";I +@2XY0K + +Z<4XO4{C'"A#)Iw/DE
E ZE,;*"'$=J-!C6F7'+/Ow|6.1aJ# [ y˅/?M[$ /42 +#0&/'p|
;%9'u*mxCa@*ٔ$AK1-E ;k0 1X7;{4]]"y#1_@>;|`dzK@VJ":/
"T y 0 +(@
v##0h& 9"!7k;)/( LG$" xN!$O!
"c u'G/o
"jV
2;B+V!2B!!vvɆ
)FQA$.R @# +x|+6P!h)c;?V: +ˡO"4{;(@=(6-۵B|E G*
CL( ',i .%o5_wϔ8541S8%\.$a+-K' +`"1+k-"1M!$C18I 2
?! n3C$12(:`*'',9F Mv9.I-h! 6F($)$'+-24%'12'",0+<8ɲ D|+)ð2z+AY,6(JV$8Q4"F K%*#\(OC#-L!<L
!K"(r!8+F";"WGBg(]U. ,+Z/J +?2c
#BB$$
\F/C8|Q (y"lZ"RSsC.#sg&$#LW5(Z7RFp!.%ӓ o͇L'$
+ +#HHɍ +5*T#Ņ @PYM*D*M +.~>E!BdQ$#"їS#3 + +ѐ5"[-]0!! "#žv5SA7!%!?ICBQ)0ۉL'!D=*" #< V,(5Z?/%!+~0O=u ϯ3nz4# +_dO. rC(ѕ&'(=^&'&!+#J5GM%(kD!n(7ayE EOCS!VAPpO}!#"L +#9C|+DL"~٘& #r2,-Kk #ŋ:1)-y#. "%Q|)g +* "I{<$f%`cVDD"C;Yx!)tA.9B7^ +=%H-C9p_-3'"@DDK۱ +)NA˲+'x'/r(%(b$>7+(-:/&]!9&7)#"QC%1"I#&5uEDK.'0*5oI7ݍ" C+EC)1ň'
B5=>_.E-='=d(O"G
iy=U=8yB HxG/X8?759W-"W{m21. %zr"= ˸KF%0\Un:}1 +M.>ǔǾ:*фKd!o"(Rt' J)%
%L*הW2B;7SB
&Z(, +Y-4o5+J*t#("",y!D"z5x4*CtM>GhG=qזI'"j~5=71b.O;R.}h%/n 2 %6%;=q 9Qr52q8O$w7--a
+t;w8s5E$/)]i~($ߔRDn!$VbH8՚PKLJszGurBّa3c2\Lrf#!ӆ l@TW߽Yt
(NNG A1kn1R`<'߰ѡ}0(qJ](ӛ@!˩~TD.1+H)5 .Ǣ#2;H"/;;8>[&K[zU!>%Ӏg۔?M9")G<Y~!7#Nũխ.&E(UqVsŤ&K5e:'(Pgku{V_\:X}ɤ?!!J3Ya
7;F!J MP@{ + ˫AF\q<&'][IMzN +/W% +M-?5
Jt*?H: G85W9-3B==K +$m=3<ccoD GS GA6 BXIMkF +> +5%Y90{$70^3-i.n$"gVb&'a5-6C01;w A:FF+$ALFߢG,k%g(/)m':
q;)_'R@
ۅb,R&$*Kkk%;K)stA=g2mmDjE;T!(/
u\Q%L(+]*4EFK <)DSJ
N;'ϛC˧)d,.""U!0=?Q~0>y*p +~)AHj'ôOvai Rtcr0c85ׇװ5W9ߓB6۲c6?ߛ :Ǚ\w5zJcZF\۽v.|\͙U*sә9}O?7ӹP+=T(
>'&')_B
CTh d
HM$a'/Æ
ŀxչ0cѤ)v"v2Z#M
UGGUa# +#b|i_=!ϕ"&)J
'%JţͰjǑ;ӎ!7+sEjx;pn}:bG+1b!E|էgOD'ϱ)>,#ɰE##o*@(2$ + $!1)'E'A\$#!C +'@2.')O+/."_r. ^/G/r$Q).<?BYr&22 W_651'Z+1*qx&,I-?11q#~\":XTy^Ç#"\1).0cu.<$(:<%$W"s"?E/ / +#!)4/
D/ <" " ($U1C)
CV-9h x@ +F?LQ3!|2G]I*K 7=EQ;!3&ŚAL(3F!>F?J, %ˮ<qHOUvK'45d{)IYCu2vxC'')+ELJ&ɪXSi-no?6ǁ)A##"O(#"1A&\'_!= =g9 &8!*MA)b!4}9!0}AL"א;iם>)ɗpHPE&vCxCoTE=E_tǨOˊT/A5 +C&Ŏ)4MKɯ"O'(N('>+)_$E1.1O$'-&< <"]"2EB'($$&-/\;c]*J +A$)$!V +-2C +;"Ѩ(' +D*"$B"@&("&E$+$+"D ?#-!>**"?Y5(A7o#*U)+DٰAY/M/7 q! P+*?'
r$'2^ +'a(U+7"/AD0(]1) #F4*
-'b$E+)tM# ,C'#; +)st<b %d&M$AEH?0l6Kc1*e 5X-+N^*6\<US#48C#lsD$Q#"(3^
B$ky3*x#$yK ! +#1i*v#2\+O2D(BJ +!'DEɫO-'@*B'6 +8s5 +o;]}/>/(b*{./ӏ7fEۭ۠+,x0O/2&(@EGW?K4r`nz.Ӫ5X95(WZ K
"].y!l#p'>1%ۃ(
U2"{;L*A +Mw
xOmN<pfT Ou@}dUc@÷N/#b^IO!&Nx
ONQJ"N81b\/P/Q=eFS #]"P([03OBJ]BV#T\Zj-"NB"P2AFYS@yTJ#bl,Hw_ßu9PM2;>}`WGE,8nj˃í(iBz +'`g' +Pb80'B#6Ez'nɦ!/71'w-0$ +u+Z#k;łm?!"P5?L;?-?!C#& +"}9Eb'='|;s9"!(x= +EoD ۗ>KDDGj< +OHc'C")!Wx#!5{1#^s7&7/G>~~ݪ+S8".ёϯ?yAK"-v 7u=:8W!=Z@K?/ŒG
ezSmIɁ-<ADѡ,'m Og:E?H!#5gAC59BeADð:;$e#UA{I9#3}>V7hўD7"D] O9E1#|ö83'ŞhXd
w=Lєߋ6c?A1
?D;X"eXy"G5p4;":8uv'au( "$i
o7C YzY7vDٔVCJmͬC-DZ?|÷ɊOل;{ S +X"us"OXl +"\5r!bBy"(
1.6@IYńYyL7$B?g8!9M"} C?e{A;ϭC!0)/Aߪs)1e/JA %w"G =-y7aѶP%bu"C~)!Q`ÿKrP81HEFE.J$5))CFpA'aT!"i; 527}1/3dF=+/϶]LE+A"k )݊M [4Ւ +<!EN= LzvݰCBd{ A3ǫ7&W ?6pSK_O'I|Nl#'Qw#%J/+vîMN1Fp+h)@=ojpV3H`AG&Z1!sND7 +SYJG'ǐ5gz_7An( 5e"+xӴ~O(! +̀(8(0D'$ *0YA$7. +qˬI #
& !b= <?2%#$ [BMW)eKX{)B\1ŀ
n%u6D2f<<ג&l7WcD-Y'[S;(ωۭ(]>;aG4$"2Q%h~W8*Mɨ178ϣ
QN`êcT{ݫkGNRˑu}_EHC${Bzզ!zٻ&['e'$&;/+#"O( 1yVņ 1Q!s!z
8&!# "َ&#)s +<W.M߲^05<8?C4S1(
-:#1 +I!z1'q+~IZPE2&(2e2suِr/6! :Yz#LKQ0yL +!Ş/AP.$'#^
"
"P*ѯ"C
<)|ExuF! + +w"'# +P(X+R
p+!,;<[&"v$#7"% 9K~2}# +:G="C#-u "}<X 4p\c'
)4ZbFZ>*)V;Nns;* ?D m@
+m
vсA: ."!'pe+; tkPKd#&E;gY8lųXɸr
(rfQA"AeQNc""z%SIly!T;dc,Ǩh;Okt˓6fIj)H3)<k?Ղ|QJbsA_ Y0fU9 ӟOYDWjAtͶu#a=Je LCOSA ø+0nϬ#ձLkљ?߈L݅7C'`F;U!BCMm/iѕ7TAٮNEupC͚bI@; B&#lziB@n+͝hc*kEKe5!uI53=_#*Yu]NGqQ nɬG +==Ӯ'!7'(H">ۚdbݻ-+Ő)! +SG"K%# " a1KM)4'^##F/}#(/7;I"\&P>i_45٨.tG0SN~`x6,U3J/ͭU0xaqW*T=ɏ"Jݗ=.ݧ!S?1t[цK!v!1wX _p#-/OlD!ۯg9j,3r#_ɇA793r 9#CB*|#b=qZ1U017 *4 ט'+$*?cj1-##>Vq0DL##j"T"$'I<1/#1(%<A/
"$'N/: !!<yA(#--"#u;11:, ##M*"#"F + +#\/"~I 0'E$"J"N,1=V5|F),˟{O6CU)
[bsDv/!%Ý't!ճÙv(+9=7^#~_ZMLn9!`- nw.7E0}#-$> GxW#ŰBհ(
C[4![s7n3[aNݼwU.yjD/2!H1[ ),3TJ/*#4 +C<7=p;I9## +O-DD&
"TM`^|Y ++3
G.1B 3s
(=тt'O͂9*
*##NoLr!97T+!EZW/.s\T@9(
1@Jd@ m#߶J-S?"!L%&O.B#T.0FF%)QO1BE:у9"3:
,MA$*PWK (w +l.+!d,)g5%*"p+(JB3-3v.-p=6JZ>#vI# )K >JXӜ:3ipz!Zq!,5a.! "lp7'sم{C>0`#9:B #>!
CY@ŮzWT\ +U!@ +3% M(EW9˔J'
.[fɂۂO2"1GN*"J$W'I4U3p#(iBJr`?r" +Lalq8%6|$ŕ +@3S߆XǏ'
#:VK5Ð1Pپ{#*oF3a8/2</!k!4:3=w864!+&xJ + u%{
(y۱+͕Gd]/|^BFs0"0i%Mj +)y8>yFYݙ)['5{Uog&ˀs\5zd/A25ǕtuI>xu' #[˰v +K%ɶ*?Yٸ,oo4:!#t""ߏ"o& R7&)R*( +>H )F! Q#}x\u.GEA"#
y-*8*%B+9:7PFk+$9 +/
1Ü>@!5!
@04R
"#h +})2! +J('b +M;(,8,'+w-c +ݶp;)"3V! +>=m](#"1_ +3')|"7u2|K#<U#F2/0
."b<p!7"##DE !A +M+r A/<
# +# * Y#-6.
-1d(#D!()\$=2'0o(dQGɡ!;"%!8cu"9wvKYׄFyn7q-vuTώ-? hÞ~rߩK{N-8/O +*:
w2&F՛V`)'N<&
-!#|c(-'+j!$
%3a A +
w*/"$"O/! }"#)-P(? (0A-*K"$"7'!#;U)! -&c3&/`&;1S0*G#`0))_/;S'7+?!$7*W\9:
*A* "-(e !KY*|#FE
G `5" (1 @#+AO;IUCj "1 +j$Q#?7ɓ +fL? ++QK!
X$)$X,$)X#E!="9
<[N&/
%#:M#!-(%i-N5;'5')%30A"+
"*;k##]b15ɛB{Yu2Oσ4VI[[Ӑ7w|!PŇY
"1Ӭ#L'<n)8T"͆IlW +_
1~Yt 2NDt!ύ#"\>:E,&8/
I vA!Ϯ'/SS3ͅ !{%!0{? Mi-[5Vb<'&f !%Y,
9!ѝ7Z -"U;{ K?a" +4 +G2!^ # UfJ$=ۀ$
U?w y". +C ;#i"$%=/C/:#)1=VADtD! +*4.sJ#!
.Ӱ!!tKSݱ6t"DF{Cə"$ŏÃ*@=!!{M">WӖ!""( +E;D"#3q*"! + 8L) "{w
~6qFz͋p+95E*/:>!Ӥ['Q[0<L!7:>K$۟w&&Jϑ8<5_=?>Y12
#?K_!PD'O%%YŚ8h0
5WWSH;?7<V2"20`;
;...-&K7 #1MFX/5<.#J .#;1%G";I +@2XY0K + +Z<4XO4{C'"A#)Iw/DE
E ZE,;*"'$=J-!C6F7'+/Ow|6.1aJ# [ y˅/?M[$ /42 +#0&/'p|
;%9'u*mxCa@*ٔ$AK1-E ;k0 1X7;{4]]"y#1_@>;|`dzK@VJ":/
"T y 0 +(@
v##0h& 9"!7k;)/( LG$" xN!$O!
"c u'G/o
"jV
2;B+V!2B!!vvɆ
)FQA$.R @# +x|+6P!h)c;?V: +ˡO"4{;(@=(6-۵B|E G*
CL( ',i .%o5_wϔ8541S8%\.$a+-K' +`"1+k-"1M!$C18I 2
?! n3C$12(:`*'',9F Mv9.I-h! 6F($)$'+-24%'12'",0+<8ɲ D|+)ð2z+AY,6(JV$8Q4"F K%*#\(OC#-L!<L
!K"(r!8+F";"WGBg(]U. ,+Z/J +?2c
#BB$$
\F/C8|Q (y"lZ"RSsC.#sg&$#LW5(Z7RFp!.%ӓ o͇L'$
+ +#HHɍ +5*T#Ņ @PYM*D*M +.~>E!BdQ$#"їS#3 + +ѐ5"[-]0!! "#žv5SA7!%!?ICBQ)0ۉL'!D=*" #< V,(5Z?/%!+~0O=u ϯ3nz4# +_dO. rC(ѕ&'(=^&'&!+#J5GM%(kD!n(7ayE EOCS!VAPpO}!#"L +#9C|+DL"~٘& #r2,-Kk #ŋ:1)-y#. "%Q|)g +* "I{<$f%`cVDD"C;Yx!)tA.9B7^ +=%H-C9p_-3'"@DDK۱ +)NA˲+'x'/r(%(b$>7+(-:/&]!9&7)#"QC%1"I#&5uEDK.'0*5oI7ݍ" C+EC)1ň'
B5=>_.E-='=d(O"G
iy=U=8yB HxG/X8?759W-"W{m21. %zr"= ˸KF%0\Un:}1 +M.>ǔǾ:*фKd!o"(Rt' J)%
%L*הW2B;7SB
&Z(, +Y-4o5+J*t#("",y!D"z5x4*CtM>GhG=qזI'"j~5=71b.O;R.}h%/n 2 %6%;=q 9Qr52q8O$w7--a
+t;w8s5E$/)]i~($ߔRDn!$VbH8՚PKLJszGurBّa3c2\Lrf#!ӆ l@TW߽Yt
(NNG A1kn1R`<'߰ѡ}0(qJ](ӛ@!˩~TD.1+H)5 .Ǣ#2;H"/;;8>[&K[zU!>%Ӏg۔?M9")G<Y~!7#Nũխ.&E(UqVsŤ&K5e:'(Pgku{V_\:X}ɤ?!!J3Ya
7;F!J MP@{ + ˫AF\q<&'][IMzN +/W% +M-?5
Jt*?H: G85W9-3B==K +$m=3<ccoD GS GA6 BXIMkF +> +5%Y90{$70^3-i.n$"gVb&'a5-6C01;w A:FF+$ALFߢG,k%g(/)m':
q;)_'R@
ۅb,R&$*Kkk%;K)stA=g2mmDjE;T!(/
u\Q%L(+]*4EFK <)DSJ
N;'ϛC˧)d,.""U!0=?Q~0>y*p +~)AHj'ôOvai Rtcr0c85ׇװ5W9ߓB6۲c6?ߛ :Ǚ\w5zJcZF\۽v.|\͙U*sә9}O?7ӹP+=T(
>'&')_B
CTh d
HM$a'/Æ
ŀxչ0cѤ)v"v2Z#M
UGGUa# +#b|i_=!ϕ"&)J
'%JţͰjǑ;ӎ!7+sEjx;pn}:bG+1b!E|էgOD'ϱ)>,#ɰE##o*@(2$ + $!1)'E'A\$#!C +'@2.')O+/."_r. ^/G/r$Q).<?BYr&22 W_651'Z+1*qx&,I-?11q#~\":XTy^Ç#"\1).0cu.<$(:<%$W"s"?E/ / +#!)4/
D/ <" " ($U1C)
CV-9h x@ +F?LQ3!|2G]I*K 7=EQ;!3&ŚAL(3F!>F?J, %ˮ<qHOUvK'45d{)IYCu2vxC'')+ELJ&ɪXSi-no?6ǁ)A##"O(#"1A&\'_!= =g9 &8!*MA)b!4}9!0}AL"א;iם>)ɗpHPE&vCxCoTE=E_tǨOˊT/A5 +C&Ŏ)4MKɯ"O'(N('>+)_$E1.1O$'-&< <"]"2EB'($$&-/\;c]*J +A$)$!V +-2C +;"Ѩ(' +D*"$B"@&("&E$+$+"D ?#-!>**"?Y5(A7o#*U)+DٰAY/M/7 q! P+*?'
r$'2^ +'a(U+7"/AD0(]1) #F4*
-'b$E+)tM# ,C'#; +)st<b %d&M$AEH?0l6Kc1*e 5X-+N^*6\<US#48C#lsD$Q#"(3^
B$ky3*x#$yK ! +#1i*v#2\+O2D(BJ +!'DEɫO-'@*B'6 +8s5 +o;]}/>/(b*{./ӏ7fEۭ۠+,x0O/2&(@EGW?K4r`nz.Ӫ5X95(WZ K
"].y!l#p'>1%ۃ(
U2"{;L*A +Mw
xOmN<pfT Ou@}dUc@÷N/#b^IO!&Nx
ONQJ"N81b\/P/Q=eFS #]"P([03OBJ]BV#T\Zj-"NB"P2AFYS@yTJ#bl,Hw_ßu9PM2;>}`WGE,8nj˃í(iBz +'`g' +Pb80'B#6Ez'nɦ!/71'w-0$ +u+Z#k;łm?!"P5?L;?-?!C#& +"}9Eb'='|;s9"!(x= +EoD ۗ>KDDGj< +OHc'C")!Wx#!5{1#^s7&7/G>~~ݪ+S8".ёϯ?yAK"-v 7u=:8W!=Z@K?/ŒG
ezSmIɁ-<ADѡ,'m Og:E?H!#5gAC59BeADð:;$e#UA{I9#3}>V7hўD7"D] O9E1#|ö83'ŞhXd
w=Lєߋ6c?A1
?D;X"eXy"G5p4;":8uv'au( "$i
o7C YzY7vDٔVCJmͬC-DZ?|÷ɊOل;{ S +X"us"OXl +"\5r!bBy"(
1.6@IYńYyL7$B?g8!9M"} C?e{A;ϭC!0)/Aߪs)1e/JA %w"G =-y7aѶP%bu"C~)!Q`ÿKrP81HEFE.J$5))CFpA'aT!"i; 527}1/3dF=+/϶]LE+A"k )݊M [4Ւ +<!EN= LzvݰCBd{ A3ǫ7&W ?6pSK_O'I|Nl#'Qw#%J/+vîMN1Fp+h)@=ojpV3H`AG&Z1!sND7 +SYJG'ǐ5gz_7An( 5e"+xӴ~O(! +̀(8(0D'$ *0YA$7. +qˬI #
& !b= <?2%#$ [BMW)eKX{)B\1ŀ
n%u6D2f<<ג&l7WcD-Y'[S;(ωۭ(]>;aG4$"2Q%h~W8*Mɨ178ϣ
QN`êcT{ݫkGNRˑu}_EHC${Bzզ!zٻ&['e'$&;/+#"O( 1yVņ 1Q!s!z
8&!# "َ&#)s +<W.M߲^05<8?C4S1(
-:#1 +I!z1'q+~IZPE2&(2e2suِr/6! :Yz#LKQ0yL +!Ş/AP.$'#^
"
"P*ѯ"C
<)|ExuF! + +w"'# +P(X+R
p+!,;<[&"v$#7"% 9K~2}# +:G="C#-u "}<X 4p\c'
)4ZbFZ>*)V;Nns;* ?D m@
+m
vсA: ."!'pe+; tkPKd#&E;gY8lųXɸr
(rfQA"AeQNc""z%SIly!T;dc,Ǩh;Okt˓6fIj)H3)<k?Ղ|QJbsA_ Y0fU9 ӟOYDWjAtͶu#a=Je LCOSA ø+0nϬ#ձLkљ?߈L݅7C'`F;U!BCMm/iѕ7TAٮNEupC͚bI@; B&#lziB@n+͝hc*kEKe5!uI53=_#*Yu]NGqQ nɬG +==Ӯ'!7'(H">ۚdbݻ-+Ő)! +SG"K%# " a1KM)4'^##F/}#(/7;I"\&P>i_45٨.tG0SN~`x6,U3J/ͭU0xaqW*T=ɏ"Jݗ=.ݧ!S?1t[цK!v!1wX _p#-/OlD!ۯg9j,3r#_ɇA793r 9#CB*|#b=qZ1U017 *4 ט'+$*?cj1-##>Vq0DL##j"T"$'I<1/#1(%<A/
"$'N/: !!<yA(#--"#u;11:, ##M*"#"F + +#\/"~I 0'E$"J"N,1=V5|F),˟{O6CU)
[bsDv/!%Ý't!ճÙv(+9=7^#~_ZMLn9!`- nw.7E0}#-$> GxW#ŰBհ(
C[4![s7n3[aNݼwU.yjD/2!H1[ ),3TJ/*#4 +C<7=p;I9## +O-DD&
"TM`^|Y ++3
G.1B 3s
(=тt'O͂9*
*##NoLr!97T+!EZW/.s\T@9(
1@Jd@ m#߶J-S?"!L%&O.B#T.0FF%)QO1BE:у9"3:
,MA$*PWK (w +l.+!d,)g5%*"p+(JB3-3v.-p=6JZ>#vI# )K >JXӜ:3ipz!Zq!,5a.! "lp7'sم{C>0`#9:B #>!
CY@ŮzWT\ +U!@ +3% M(EW9˔J'
.[fɂۂO2"1GN*"J$W'I4U3p#(iBJr`?r" +Lalq8%6|$ŕ +@3S߆XǏ'
#:VK5Ð1Pپ{#*oF3a8/2</!k!4:3=w864!+&xJ + u%{
(y۱+͕Gd]/|^BFs0"0i%Mj +)y8>yFYݙ)['5{Uog&ˀs\5zd/A25ǕtuI>xu' #[˰v +K%ɶ*?Yٸ,oo4:!#t""ߏ"o& R7&)R*( +>H )F! Q#}x\u.GEA"#
y-*8*%B+9:7PFk+$9 +/
1Ü>@!5!
@04R
"#h +})2! +J('b +M;(,8,'+w-c +ݶp;)"3V! +>=m](#"1_ +3')|"7u2|K#<U#F2/0
."b<p!7"##DE !A +M+r A/<
# +# * Y#-6.
-1d(#D!()\$=2'0o(dQGɡ!;"%!8cu"9wvKYׄFyn7q-vuTώ-? hÞ~rߩK{N-8/O +*:
w2&F՛V`)'N<&
-!#|c(-'+j!$
%3a A +
w*/"$"O/! }"#)-P(? (0A-*K"$"7'!#;U)! -&c3&/`&;1S0*G#`0))_/;S'7+?!$7*W\9:
*A* "-(e !KY*|#FE
G `5" (1 @#+AO;IUCj "1 +j$Q#?7ɓ +fL? ++QK!
X$)$X,$)X#E!="9
<[N&/
%#:M#!-(%i-N5;'5')%30A"+
"*;k##]b15ɛB{Yu2Oσ4VI[[Ӑ7w|!PŇY
"1Ӭ#L'<n)8T"͆IlW +_
1~Yt 2NDt!ύ#"\>:E,&8/
I vA!Ϯ'/SS3ͅ !{%!0{? Mi-[5Vb<'&f !%Y,
9!ѝ7Z -"U;{ K?a" +4 +G2!^ # UfJ$=ۀ$
U?w y". +C ;#i"$%=/C/:#)1=VADtD! +*4.sJ#!
.Ӱ!!tKSݱ6t"DF{Cə"$ŏÃ*@=!!{M">WӖ!""( +E;D"#3q*"! + 8L) "{w
~6qFz͋p+95E*/:>!Ӥ['Q[0<L!7:>K$۟w&&Jϑ8<5_=?>Y12
#?K_!PD'O%%YŚ8h0
5WWSH;?7<V2"20`;
;...-&K7 #1MFX/5<.#J .#;1%G";I +@2XY0K + +Z<4XO4{C'"A#)Iw/DE
E ZE,;*"'$=J-!C6F7'+/Ow|6.1aJ# [ y˅/?M[$ /42 +#0&/'p|
;%9'u*mxCa@*ٔ$AK1-E ;k0 1X7;{4]]"y#1_@>;|`dzK@VJ":/
"T y 0 +(@
v##0h& 9"!7k;)/( LG$" xN!$O!
"c u'G/o
"jV
2;B+V!2B!!vvɆ
)FQA$.R @# +x|+6P!h)c;?V: +ˡO"4{;(@=(6-۵B|E G*
CL( ',i .%o5_wϔ8541S8%\.$a+-K' +`"1+k-"1M!$C18I 2
?! n3C$12(:`*'',9F Mv9.I-h! 6F($)$'+-24%'12'",0+<8ɲ D|+)ð2z+AY,6(JV$8Q4"F K%*#\(OC#-L!<L
!K"(r!8+F";"WGBg(]U. ,+Z/J +?2c
#BB$$
\F/C8|Q (y"lZ"RSsC.#sg&$#LW5(Z7RFp!.%ӓ o͇L'$
+ +#HHɍ +5*T#Ņ @PYM*D*M +.~>E!BdQ$#"їS#3 + +ѐ5"[-]0!! "#žv5SA7!%!?ICBQ)0ۉL'!D=*" #< V,(5Z?/%!+~0O=u ϯ3nz4# +_dO. rC(ѕ&'(=^&'&!+#J5GM%(kD!n(7ayE EOCS!VAPpO}!#"L +#9C|+DL"~٘& #r2,-Kk #ŋ:1)-y#. "%Q|)g +* "I{<$f%`cVDD"C;Yx!)tA.9B7^ +=%H-C9p_-3'"@DDK۱ +)NA˲+'x'/r(%(b$>7+(-:/&]!9&7)#"QC%1"I#&5uEDK.'0*5oI7ݍ" C+EC)1ň'
B5=>_.E-='=d(O"G
iy=U=8yB HxG/X8?759W-"W{m21. %zr"= ˸KF%0\Un:}1 +M.>ǔǾ:*фKd!o"(Rt' J)%
%L*הW2B;7SB
&Z(, +Y-4o5+J*t#("",y!D"z5x4*CtM>GhG=qזI'"j~5=71b.;R.}h%/n 2 %6%;=q 9Qr52q8O$w7--a
+t;w8s5E$/)]i~($ߔRDn!$VbH8՚PKLJszGurBّa3c2\Lrf#!ӆ l@TW߽Yt
(NNG A1kn1R`<'߰ѡ}0(qJ](ӛ@!˩~TD.1+H)5 .Ǣ#2;H"/;;8>[&K[zU!>%Ӏg۔?M9")G<Y~!7#Nũխ.&E(UqVsŤ&K5e:'(Pgku{V_\:X}ɤ?!!J3Ya
7;F!J MP@{ + ˫AF\q<&'][IMzN +/W% +M-?5
Jt*?H: G85W9-3B==K +$m=3<ccoD GS GA6 BXIMkF +> +5%Y90{$70^3-i.n$"gVb&'a5-6C01;w A:FF+$ALFߢG,k%g(/)m':
q;)_'R@
ۅb,R&$*Kkk%;K)stA=g2mmDjE;T!(/
u\Q%L(+]*4EFK <)DSJ
N;'ϛC˧)d,.""U!0=?Q~0>y*p +~)AHj'ôOvai Rtcr0c85ׇװ5W9ߓB6۲c6?ߛ :Ǚ\w5zJcZF\۽v.|\͙U*sә9}O?7ӹP+=T(
>'&')_B
CTh d
HM$a'/Æ
ŀxչ0cѤ)v"v2Z#M
UGGUa# +#b|i_=!ϕ"&)J
'%JţͰjǑ;ӎ!7+sEjx;pn}:bG+1b!E|էgOD'ϱ)>,#ɰE##o*@(2$ + $!1)'E'A\$#!C +'@2.')O+/."_r. ^/G/r$Q).<?BYr&22 W_651'Z+1*qx&,I-?11q#~\":XTy^Ç#"\1).0cu.<$(:<%$W"s"?E/ / +#!)4/
D/ <" " ($U1C)
CV-9h x@ +F?LQ3!|2G]I*K 7=EQ;!3&ŚAL(3F!>F?J, %ˮ<qHOUvK'45d{)IYCu2vxC'')+ELJ&ɪXSi-no?6ǁ)A##"O(#"1A&\'_!= =g9 &8!*MA)b!4}9!0}AL"א;iם>)ɗpHPE&vCxCoTE=E_tǨOˊT/A5 +C&Ŏ)4MKɯ"O'(N('>+)_$E1.1O$'-&< <"]"2EB'($$&-/\;c]*J +A$)$!V +-2C +;"Ѩ(' +D*"$B"@&("&E$+$+"D ?#-!>**"?Y5(A7o#*U)+DٰAY/M/7 q! P+*?'
r$'2^ +'a(U+7"/AD0(]1) #F4*
-'b$E+)tM# ,C'#; +)st<b %d&M$AEH?0l6Kc1*e 5X-+N^*6\<US#48C#lsD$Q#"(3^
B$ky3*x#$yK ! +#1i*v#2\+O2D(BJ +!'DEɫO-'@*B'6 +8s5 +o;]}/>/(b*{./ӏ7fEۭ۠+,x0O/2&(@EGW?K4r`nz.Ӫ5X95(WZ K
"].y!l#p'>1%ۃ(
U2"{;L*A +Mw
xOmN<pfT Ou@}dUc@÷N/#b^IO!&Nx
ONQJ"N81b\/P/Q=eFS #]"P([03OBJ]BV#T\Zj-"NB"P2AFYS@yTJ#bl,Hw_ßu9PM2;>}`WGE,8nj˃í(iBz +'`g' +Pb80'B#6Ez'nɦ!/71'w-0$ +u+Z#k;łm?!"P5?L;?-?!C#& +"}9Eb'='|;s9"!(x= +EoD ۗ>KDDGj< +OHc'C")!Wx#!5{1#^s7&7/G>~~ݪ+S8".ёϯ?yAK"-v 7u=:8W!=Z@K?/ŒG
ezSmIɁ-<ADѡ,'m Og:E?H!#5gAC59BeADð:;$e#UA{I9#3}>V7hўD7"D] O9E1#|ö83'ŞhXd
w=Lєߋ6c?A1
?D;X"eXy"G5p4;":8uv'au( "$i
o7C YzY7vDٔVCJmͬC-DZ?|÷ɊOل;{ S +X"us"OXl +"\5r!bBy"(
1.6@IYńYyL7$B?g8!9M"} C?e{A;ϭC!0)/Aߪs)1e/JA %w"G =-y7aѶP%bu"C~)!Q`ÿKrP81HEFE.$5))CFpA'aT!"i; 527}1/3dF=+/϶]LE+A"k )݊M [4Ւ +<!EN= LzvݰCBd{ A3ǫ7&W ?6pSK_O'I|Nl#'Qw#%J/+vîMN1Fp+h)@=ojpV3H`AG&Z1!sND7 +SYJG'ǐ5gz_7An( 5e"+xӴ~O(! +̀(8(0D'$ *0YA$7. +qˬI #
& !b= <?2%#$ [BMW)eKX{)B\1ŀ
n%u6D2f<<ג&l7WcD-Y'[S;(ωۭ(]>;aG4$"2Q%h~W8*Mɨ178ϣ
QN`êcT{ݫkGNRˑu}_EHC${Bzզ!zٻ&['e'$&;/+#"O( 1yVņ 1Q!s!z
8&!# "َ&#)s +<W.M߲^05<8?C4S1(
-:#1 +I!z1'q+~IZPE2&(2e2suِr/6! :Yz#LKQ0yL +!Ş/AP.$'#^
"
"P*ѯ"C
<)|ExuF! + +w"'#P(X+R
p+!,;<[&"v$#7"% 9K~2}# +:G="C#-u "}<X 4p\c'
)4ZbFZ>*)V;Nns;* ?D m@
+m
vсA: ."!'pe+; tkPKd#&E;gY8lųXɸr
(rfQA"AeQNc""z%SIly!T;dc,Ǩh;Okt˓6fIj)H3)<k?Ղ|QJbsA_ Y0fU9 ӟOYDWjAtͶu#a=Je LCOSA ø+0nϬ#ձLkљ?߈L݅7C'`F;U!BCMm/iѕ7TAٮNEupC͚bI@; B&#lziB@n+͝hc*kEKe5!uI53=_#*Yu]NGqQ nɬG +==Ӯ'!7'(H">ۚdbݻ-+Ő)! +SG"K%# " a1KM)4'^##F/}#(/7;I"\&P>i_45٨.tG0SN~`x6,U3J/ͭU0xaqW*T=ɏ"Jݗ=.ݧ!S?1t[цK!v!1wX _p#-/OlD!ۯg9j,3r#_ɇA793r 9#CB*|#b=qZ1U017 *4 ט'+$*?cj1-##>Vq0DL##j"T"$'I<1/#1(%<A/
"$'N/: !!<yA(#--"#u;11:, ##M*"#"F + +#\/"~I 0'E$"J"N,1=V5|F),˟{O6CU)
[bsDv/!%Ý't!ճÙv(+9=7^#~_ZMLn9!`- nw.7E0}#-$> GxW#ŰBհ(
C[4![s7n3[aNݼwU.yjD/2!H1[ ),3TJ/*#4 +C<7=p;I9## +O-DD&
"TM`^|Y ++3
G.1B 3s
(=тt'O͂9*
*##NoLr!97T+!EZW/.s\T@9(
1@Jd@ m#߶J-S?"!L%&O.B#T.0FF%)QO1BE:у9"3:
,MA$*PWK (w +l.+!d,)g5%*"p+(JB3-3v.-p=6JZ>#vI# )K >JXӜ:3ipz!Zq!,5a.! "lp7'sم{C>0`#9:B #>!
CY@ŮzWT\ +U!@ +3% M(EW9˔J'
.[fɂۂO2"1GN*"J$W'I4U3p#(iBJr`?r" +Lalq8%6|$ŕ +@3S߆XǏ'
#:VK5Ð1Pپ{#*oF3a8/2</!k!4:3=w864!+&xJ + u%{
(y۱+͕Gd]/|^BFs0"0i%Mj +)y8>yFYݙ)['5{Uog&ˀs\5zd/A25ǕtuI>xu' #[˰v +K%ɶ*?Yٸ,oo4:!#t""ߏ"o& R7&)R*( +>H )F! Q#}x\u.GEA"#
y-*8*%B+9:7PFk+$9 +/
1Ü>@!5!
@04R
"#h +})2! +J('b +M;(,8,'+w-c +ݶp;)"3V! +N +/W% +M-?5
Jt*?H: G853B==K$m=3<c!I.&-coD GS GA6 BXIMkF +> +5%Y90{$70^3-i.n$"glj%Vb&'a56C01;w A:FF+$ALFߢG,k%g(/)m':
q;)_'R@
ۅb,R&$Z *Kkk%;K)stA=mDjE;T!(/
u\Q%L(+]*4EFK <)DJ
N(Ӱ;'C˧)d~,.""E!0=?Q~0>y*p +~)AHj'Ovai Rtc2`r0c285ׇװ5W9ߓB6۲c6?ߛ :Ǚ\w5zJcZF\۽v. +|\͙UÒ[*sә9}O?7ӹP+=T(
>'&')_B
CTh d
HM$a'1^/Æ
ŀxչ0cѤ)vEi"v2Z#MK3""!
UGGUa# +#b|i_=!&
x*ϕɾ"&)J
'r1>%JţͰjǑ;ӎ!7+sEjx;pn}:bG+1b!!E|էgOD'ϱ[)>,#ɰE##o*@(2$ + $!1)'E'A\$#!C +'p +@2.')O+/."_r. ^/G/$Q).<?BYr&22 W_651'Z+1*qx&[)",I-?11q#~\":XTy^Ç#"\1).0cu.<$(:<%$W"s"?E/ / +#!)4/
D/ <" " ($U1C)
CV-9h x@FCH +F?L͔I;XQ3!|2G]I*K 7=EQ;!3&ŚAL(3F!>F?J, %ˮ<qHOUvK'45
'Gd{)IYCu2vxC'')+ELJ&ɪXSi-no?6ǁ)A##"O(#"1A&\'_!= =g9 &8!=*MA)b!4}9!0}AL"h*א;iם>)ɗpHPE&vCxCoTE=E_tǨOˊT/A5 +C&Ŏ)4MKɯ"O'(N('>+)_$E1.1O$'-&< <"]"2EB'($$&-/\;c]*J +A$)$!V +-2C +;"Ѩ͊(' +D*"$B"@&("&E$+$+"D ?#-!>**"?Y5(A7o#*U)+DٰAY/M/7 q! P+*?'
r$'2^ +'a(U+7"/AD0(]1) #F4*
-'b$E+)tM# ,C'#; +)st<b %d&M$AEH?0l6Kc1*e 5X-+N^*6\<US#48C#lsD$Q#"(3^
B$ky3*x#$yK ! +#1i +5~*v#LJ2\+O2D()RBJ +!T0['DEɫO-'@*B'6 +8s5 +o;]}/>/(b*{./ӏ7fEۭ۠+,x0O/2&(@EGW?K4r`nz.Ӫ5X95(WZ K
"].y!l#p'>1%ۃ(
U2"{;L*A +Mw
xOmN<pfT Ou@}dUc@÷N/#b^IO!&Nx
ONQJ"N81b\/P/Q=eFS #]"P([03OBJ]BV#T\Zj-"NB"P&d2AFYS@yTJ#bl,Hw_ßu9PM2;>}`GE,8nj˃í(iBz +'`g' +Pb80'B#6ˆEz'nɦ!/71'w-0$ +u+Zb+~-X@#k;Y"ł"m?!"P5?L;?-?!C#& +"}9E#Kb'='|;s9"!(x=CE +ExJ#oD ۗ>KDDGj< +OHcE;)!Wx#!5{1#^s7&7/G>~~ݪ+S8".[ёϯ?yAK"-v 7u=:8W!=Z@K?/ŒG
ezSmIɁ-<ADѡ,'m Og:E?H!#5gAC59BeADð:;$e#UA{I9#3}>V7hўD7"D] O9E1#|ö83'~!ŞhXd
w=LєN٬5"ߋ6c?A1
?D;X^7["eXy"G5p4;":8uvg'au( "$i
o7C YzY7vDٔVCJmͬC-DZ?|÷ɊOل;{ S +X"us"OXl +"\5r!bBy"(
1.6@IYńYyL7$B?g8!"79M"} C?e{A;ϭC!0)/Aߪs)1e/JA %w"G =-y7aѶP%bu"C6?~)!Q`ÿKrP81HEFE.$5))CFpA'aT!"i; 527}1/3dF=+/϶]LE+A"k )݊M [4Ւ +<!EN= LzvݰCBd{ A3ǫ7&W ?6pSK_O'I|Nl#'Qw#%J/+vîMN1Fp+h)@=ojpV3H`AG&Z1!s3ND7 +SYJG'ǐ5gz_7An( 5e"+xӴ~O(! +̀(8(0D'$ *0YA$7. +qˬI #
& !b= <?2%#$ [BMW)eKX{)B\1ŀ
nu6D2f<ג&l7WcD-Y'[S;(XN;ωۭ(]=>;aG4$"2Q%h~W8*Mɨ߫1748ϣ
QTN`êcT{ݫGNRˑu}_XRE1vHC${Bzզ!zٻ&['ew'$&;/+#"O( 1yVņ 1Q!s!z
8&!# "َ&#)s +<W.M߲^05<8?C4S1(
&2-:#1 +I!z1'J,q+o9](~IZPE2&(2e2suِr/65! :Yz#LKzD
Q0yL(} +!Ş/P.$'#>/&^
w"
"P*ѯ"C
<)|ExuFxJ! + +w"P(X+R
p+!,;<"[&"v$#7"% 9K~2H}# +:G="C#-u "}<X 4p\c'
)=4Zbn(FZ>*)V;Nnb5s'$;* ?D m@
Ba +m
vA:7 ."!'zpe+; tkPKd#&Ey";gY#8lųXɸr
(rfQA"AeQNc""z%SIly!T;dc,Ǩh;Okt˓6fIj)H3)<k?Ղ|QJbsA_ YQb0fU9 ӟOYDWjAt0'Ϧ.mͶu#Ya=Je LCOSA øn[Jk&2ho0nϬ#ձLkљ?߈L݅7C'`F;U!BCMm/iѕ7TAٮNEupC͚bI@; B&
#lziB@n9ˈ+͝hc*kEKe5!uI53=_#*Yu]NGqQ nɬG +==Ӯ'!7'(H">ۚ́?dbݻ-+Ő)! +SG"$0K%# " a1KM)4'^##F/}#(7;\&i5tG0SN~`x690
,U3J/ͭU0xaqW*Tݗ=.v
?1t[цK!v!1wX9g/lD!ۯg9j,3#_ɇA793r 9#CB*|#b=qZ1U017 *j4 ט'+$*?cj1-##>Vq0DL##j"T"$'I<1/#1(%<A/
"$'N/: !!<o+ !yA(#--"#u;11:,<:D ##M*
E<*"#"F + +#\/"~I 0'E$"J"N,1r)=V5|F),˟O6CU)
[bsv/!%Ý't!v( Q(#({'+9=7^#&'~_B
ZMLn9!`- nw.7E0k~^
LF}#-$> GxW#ŰBհ(
C[4![s7n3[aNݼwxU.yD/2!H1[ ),3T5J/*#4 +C<7=p;I9##,0 +O-DD&
"TM|Y ++3
G.1B 3s
(=тt'|TO͂9*
*##NoLr!97=CT+!EZW/.s\T@9(
11@Jdi@ m#Lݎ߶PJR-S?"!L%&O.B#T.0FF%)QO1BE:у9"3:
,MA$*PWK (w +l.d,)g"p+(JB3-3v.-p=6JZ>#vI#B )K >JXӜ:3ipz!Zq!,5a.! "lp7'sم^{C>0`#9:B #>!
CY@ŮzWT\ +U!@ +3% M(EW9˔J'
.[fɂۂO2"51GN7*"J$W'\KI4U3p#(iBJr`?r" + Lalq8%6|$ŕ +@3S߆XǏ5'
#:VK5Ð1Pپ{#*oF3a8/2</!k$H%!4:3=w864!+&xJ + u
(y۱+͕Gd]/|^BFs0"0i%M +)y==a8>yFݙ)d#['5{UogZDo&ˀ5zA25ǕuIS>xQu'#˰v +K%ɶ*?Yٸ,oo4:!#t""ߏ"o& R7&)R*( +>H )F! Q#}x\u.GEA"#5!&
y-*8*%B+9:7PFk+$9 +/
1Ü>@!5!
@04R
"#h +})2! +J('b +M;(,8,'+w-c +ݶp;G*)"3V! +>H!D=m](#"1_ +3')7u2|K6)%F2;^/0
."b<p!7"ID:$!$##DE !A +M+(5
1br A/<
# +,H1.W# *er') + Y#-6.
-1d(#*wo(D!(<>0)\.B7$/1HAC8 +=2'0o(2/dQG;lը"%!8%
2cu"9wYFn7-vFx\2uT-? Þ~Kߩ:K<{ iN-8/O +*:
w2FV`L)'N<&
-!#|G0`c(-'+j!$
%3a A +
w*/"$"O/! }"#)-P(? (0A-*K"$"7'!#>IC;U)! -&c3&/`&#I"<ׅ , A;1S 15@U(9!0*G#`0)ל
D-w)_/;S'7+?!$7*W "-(e !KY*|#G `((#!l;!5" (1 1!A*@#+A'I"9&P
%~9!(I%-! ~w+$5"V
'vA>qO;IU8! +Cj$Q#P
!E?7ɓ +fL? ++QK!19?
X$)$X,$)X#E!="9
<[N&/
]C?9%#:M$)5%#!-(%i-N5;'5')%3071/A"+
"*;_-]b15ɛbB{YuOσ4VI[[Ӑ7w|f!˵PŇY
"1Ӭ#L'<n8f)8T"͆I!]lW +_
1~Yt 2NDt!ύ#"\>[XQ:E,&8/
I vA!Ϯ'/SSz$3<ͅm !{%!0{? iC-[5Vb<'&f !%Y,
9!ѝ7Z -"U;{ K?8a" +4 +G2!^ # UfJ$=S
bۀ$
U?w y". +C ;#i"q>$%=/C/:#)1=VADtD! +*4]/(sJI##!
.+Ӱ!!tKu.1Sݱ6t""%?DFF!){Cə"$ŏÃ*@=!!{M>WӖ!""( +E;D"#$&q*"! + 8 "#}{w
~6qFzp+95E*/\!#:>!Ӥ['QV[0S,?)=.m<L!7:>K$۟w&&Jϑ8<5_=?>Y12
#?K_!PD'O%%YŚ8hWSH(.V1X,;?X=;? ?1[7<V82"203$71 +I<`;
;q...-&K7 #1MՔ1FX/5<.#J .#;p*3 Y,;;Z1%G";I +@2"?K %.YXY0$1RK +6.!34XO4{C'"A#)Iw/DE
E' ZE,;*"'$=J-6F7'״/Ow.1aJ#[ y/+?M[$(k i/42 +u#0J>&/'p_|
;%9'!,u*mxCa@*ٔ$-E ;AJk0 1X7;{4]]Y"y#1_@>;dWzK@VLJ:/
"T y 0 +(@
#0h& 9"!7Gk;)/( LG$" )oxN +
"c uo
"jV
2;BH!B+V!6H$ x2B!!vvɆ
)
? F!Q!RA$.R :@!@# +x#!"|+6P!h)'G/Fc;?V: +ˡOsb4@=(6-x۵B|E G^$6S*
CL( ',i .%o5_(cϔD&1*J/!GO#<S>=@?#`*I+B8541S8%/ˈ,\.$a+-K' +,.9+k-"1M!$C1
A5 2
?! WF3n3C$12(:`9"w*'<5 f7!" (12h+D%9 Mv-h! 6F(E*L75,0$)$'+-"eE24% '12'",0R)46>+<8ɲ Ds*)ð2z+.>*Y,6(JV$8Q4%*#\(OC$L#-L!<L
!K"(<ZM8+;"o-gR(]U2.- ͎W,+Zn7/J +?2c
#BB$$
E1&\F|Q (y"lZ"RSs.#sg&$#LWZ7RFp!.%ӓ o͇L'$
+ +#HHɍ*T#Ņѕ @PYM*D >"D* +.~>E!BdQ$#"S#Cq3q + +ѐ5"[-]0!! "žv5݄SA7!%!?ICBQ)0T7ۉXL'!D=*" J#!ߗ< V,(5Z?/%"
'i"&+~0O=u ϯ3nz4# +_dO. rC&'(=^&+#J5GM%(n(7ayE EO!VAP1O}!!WL +#9C|+DL"~٘&#r2,-Kk #ŋ:1)-y#. "%Q| "{<$f%`ϗ'۬Aݨ&c&VDD"C;YvW^q
R"Ix!)$7ctA.uAr#C9.-vDB7^ +UA1rEH-C93'"@DDK۱ +)3a˲+'L7x'/tBMr(%(b$>7+7!E(-:/&۷7&7)#" +CQC%1"I#QG8%A&5.7uEz#&DK.'0#E +F*5!9ueCE$7oI7ݍ" C+EC
8E=.E-='=x(/ՏG
iy=;U=8yB HxGX8?R79n-{ÅN.2. %zr"= ˸
O +6KF%\Un:}FǔǾ110:*;'фKjdu^!o%"(Rt' p;!J)%
z%L*!!הW2B;7SB
&Z(0 +Y-4o5J* Ӈ '0t#( +ё"",y!D"z5x4*C!tM>GhG&"N9=qI??v%'"j4~5=71b.OR.}h%/n 2 %6%=<o;=q 9Qr52q8O$w--a
+2&[w8d.Ә5E$/)]i($ߔRDͦn!$8RVbH8KLJszGurBّWac2\Lrђf#ӆ l@W߽ +t
(NNӋA}}GG2A1kn1`<E'߰VIѡ/}0(qJ](ӛ@!!q˩~TD.1+H)5 .Ǣ#2;H"/;;8>[&K['ņɒzU!>%Ӏg۔?-"1 + +9"M9")G<Y/AS- ~!7# +Nũխ&Pg#kE(UqVsŤS&K5:!X;|P.gk2Zu{_Xɤ?!!J3Ya
7;F!jJMF` ӸMP@{ + ˫AF\q<&']IMzN +/W% +M-?5
t*'ی!?H: G85W9-3B==K +$mUk=3<c!I.&-coD GS GA6 BXIMF> +5%Y90{$70^3-i.n$"glj%&'a5-6C01;w A:FF]QdMA+$ALF])ߢG,k%g(
)/)m'c>:&͟
Pq;)_'R@
ۅb,R&$Z =v*KkkT%;K)stAS=g2mmDjE;T!(/
u\Q%L(+]*4EFK <)DSJ
N(Ӱ;'ϛC˧)ˉd~,."ߴ!P"U_E"QJ=?Q^q-.~0߅>
y*p +~)AHj'CôfOvEqջyPS)ai RH2`Vr0c85ׇװ5jcW9ߓB6۲c6S?ɟp/9 +Ӛ.S\w5zJcZF\۽v.ZA +|\!Ò[9sFɧ&$:9}-/]+Oo'-$b?q͟2ӹPݮ=oT(%Ƀ-
>L.]'&EՇ')$$_B
;CBCTd
H*,
M$a'1/VÆ
8ŀRիxչ5-0cѤ)vEi"v;2Z]h#M
K%3_"H"!DUGGU)|a#u +#"]b|i_{=!&
x*ϕMɾ"&):oJ
'r1>%JţͰjǑ;ӎ!7C+sEjx;pnM}vLe:b;'G+1b!!tE" +`|էgOD'ϱB[)>,#ɰu% -E##o*@(2$ +1c!i $!1)<'Ei!"!(M#'A\$#!C +'p + @2.')O+/."_JF r. ^/
l(!G/r$Q).<c
?BYr&22
#
W_651'Z+1*qx&[)",I-?11h(q#~\":XTy^Ç#"\1).0cu.<$(:<%$W"s"?/ +#!)4/
υ)D/ <" " ($U1C)
CY=R>V-9hhKYrK';!s*9| x@!)9#)FCH +F?L͔I;XQ3!|2G]I*K 7'5#ߣ#OL=EQ;!' !AL(3F!>F?J,)_8! %ˮ<qHOUvK'45 +\@
'G{)IYCu2vxC''pB")+EL>J&ɪXSi-no?6ǁ)A##՜-_"O";/(#"1:1xA&\'_!= =gJ?3)*xW9 &8!#1t 7(=*MA)bM*!4}9!0}AL"h*r&'א;i<) $s.>)
\ɗpHPE&vCxCj&*TE=E_ǨOˊT/A5 +C&Ŏ)4MKɯ"O'(N('>+)_$E1.1O$'-&< <"]"2E$&-/\;c]*J +A$)$!V +-2C +;"Ѩ͊(' +D*"$B("&2(+!E$#&)*.+$+"~D ?#-!>**"DF +OS?Y5(A7oG-$#*U H .&)+Dd;ٰAY/M q! P+*17/?'
r$'2^ +'a(}+7"/AF!$(]1) #E #(F4*
-'b$E+)tM# ,C'#; +)st<b"-'Yǖ %d&4(]M$AEH?0l6Kc1*e 5X-+N6\<US#48C#lQ#"1(3^
B$ky3*;x#$yK ! +#1iy +5~*v#2W-LJ2\+O2D()RBJ +!T0['DEɫO-'6 +8;]}/>/(b*{./ӏ7fEۭ۠+,x0O/2&(@EGW?K4~!r`CX9zK]:JJ(5(WK
"].y!l#p'>1%ۃ(
U2"{;L*A +Mw
xOl9"<pjYfT @}dUPwc÷N/#b^&Nx
ONQJ"N81bP/Q=e#]Ud"P([03OBJ]BV#TZjB"P&d2AFYS@CyTJ#bl,Hw_ßu9PM2;>լ}`WGE,8nj˃,í(iBz'g' +PbˆEz'nɦ!/71'3w9-0$:b+~-X@#k;Y"ł"m?!"P5?!C#& +"}9E#Kb'='|;-/s9"!(x=CE +ExJ8M#oD ۗ>KD
)DGjOHcE;)!Wx#!5{1#^s7&7/G>ݪ+S8".-[ёϯ?yA1/v 7u==Z @K?/ŒMBG
ezSmIɁ-<ADѡ,mB OgH!#5gAC59BeADy#/ð:;$4e#=#3}"DPL9[] #|ö83'~!h1Ad
w=LZєN٬5"ߋ6cA1
?D;X^7W"eXy"G":8Rvg'a( "$i
Y7vDٔVCJmͬC-DZ?|÷ɊOل;{S9 +X"us"OXl +"\5r!bh{D94(
1.6@
SIYńYyL7$B?g8!ߡ"79M"} C?e{A;ϭC!?
0)/s)e/Jt;]%w"G =-y7aѶP%bu"6?~)!Q`ÿKrP81HEFE.+))CFpA'aT!"i+ˍ7}K/F=+/϶]LE+A"k )݊M ӱ[4Ւ +<!EN= LzvݰCBd{ A3}A)ǫ7&W ?6pSK_O'I|Nl#'Qw#%J/+vîMN1Fp+h)@=ojpV3H`AG&Z1!3ND7CL=G'ǐ5gzn( 5e"+xӴ~O(! +̀(8(0D'$ *0YA$7. +ˬI #
& !b= 2%#$ [BMW)eKX{)B\1ŀ
n%u6Dc2f<<ג}&l7WcD-Y'["L0FS;(XN;ωۭ(W5Y]=>;aG4$"2Q%h~W8*Mɨ߫1`748ϣ
QTV-`êcT#.#{,hgCݫkGNRDMˑu}Շ)E_ODX)Rl{ EHjŴC${Bzզ!zTdٻ"lKd&['eɑwו"'$&;/+#"O( 1yVņ 1Q!s!z
8&!# "َ&#)s +<W.M,)'?C4S1(
&2-:#1 +I!`55g~IZ1˟PE2&X1M(2e2s|uِr/6Umb"5w>"!
:Yz#LK0zD
Q0yL(} +!Ş/AP.$'#>/&^
{#!w"
"*{P* `ѯp!B"C
z!) <ExuFxJ#τH! + +' +?B!ѩM +#ŕw"'# +X+R
p+!,;<"š[&"v$#7"% 9K~2zK EH# +:G="C#-u "}<X 4Sٱp\c'
)=4Zb. n(FZm;>*)V;#K2'Nnb5s'$;* ?D m@
#.| +m
vсA~:!r7 `"'pe+ tkPKd#&"!JXEy"qY8lųXɸrA˄K"QA"AeQNc""OJ!*z%SIl!%=0T;dc,Ǩh;Okj;lt˓6fIj)H3)<k?Ղ|QJbsA_ YFx"Qb0fZ0 ŬɃU9ӟOYDgWjAtb0aͶu#h׳LhBYa=Je LCOSA øn[Jk&2ho+0nϬ#ձ
Lkљ?߈L݅7C'`F;U!m/iѕ7TAٮNEupCVbI 9j@S
I'a#l2Qͩi@nˈ+͝hc*kEKe5!uI=5Y3=_#*Yu]NGq n==,dӮ;' +'!7'"*H/rL
;& +>UWۚdbݻ" -+Ő)! +S+G"$0K%# " a1K.##$x
M)4'/-0#F/}#(/7;I"\&_45٨.tG0SǬN~GFS`p(x6"_)[90
,U3J/?!ӗ\ͭU0xaqW*Tv&Rr08=ɏ"Jݗ=.ݧ!S#v
z-?1t[цK8Xa!v!1wX9g _p#-/Olۯg9j,3p3r#_ɇA793r 9#CB*|#b=qZa1U017 +&*j4 MC* '*?cӫ1-##>Vq0DL##j"2
(T"$'I<1/#1(%<A/
"$'N/: !!<o+ !yA(#--"#u;11:,#\8<:D ##M*
E<+,*"#"cF + +#\/"~XI 0'!FE$"J"N,1*r)=V5|7$F),˟{O6C_9 |U)
[bsDv/!%Ýy'D@ݺt!ճÙvt
)( Q(#({'E+|9=7^#&'~_ZMLn9!`I nw.7E0k~^
}#-$> #GxW1#ŰBհ(ӻ
CS[4F![s7n3[a`Nݼw#IYxU.yшjD/2!H1[ )N,3Ts-J/*#4sZD- +C<7=p;I9##,0 +O-DD&
"TM`^|Y ++3
G.1O1 3s
(
C"=тt|T͂9*
#No^"r!97=CT+!EZW/.s\T@9(
11@Jdi@S m#LJ߶PJR-S?"!L%&O.BFF%)QO1BE::
+W&&,MA$*PWK (8-JDl.+!d,)g5%*"p+(JB3-3v.-p=6JZ>#vI#B )K ߁>JXA pYӜ:S3|Uipz!Zq!,5a.! "p7'sم^{C>0`#9:B #>!
CY@ŮzWT\ +U!3M% M(Eq1W9˔J'
.[fɂۂO2"51GN7*"SJ$W'u\KI4U3p#(iBJr`?r" + L7al|(q8%6|$ŕ +@q3SeXǏ/2\095'
#z 8j:VoK85Ð1*Pپ{#F<*oF3a8/2</!k$H%q:!4:3=w864!+&xJ + u3%{
'@(y۱@z+͕&Gd]/|^BF":"0i%Mj +)y==a8>VyF)Yݙ)d#['5{UogZDoK0'&ˀs\5zd/A25ǕtuIkS>xQu' #[˰v +K%ɶ*?Y:"ٸ,oo4:!# "ߏ"o& 9u7&)R*( +: +@56>H )F! .< +$Q#}0
x\u.GEA"#5!&
y8*%B+9:7PFt +9 +/
1>@!5!
@04R
!&7I"#h +})2J(' +M;(,8,'+w-c +ݶ:8 GG)"3V! +18l,Hw_ßu"<8/##k9M2;>)}լ`WGE,8G=m](H!D#"1?*"Q_ͯ +3')7u2|"|KF2#<U#6)%/\M3#Qn"b<0
.p!7"ID:$!$##DE !8HA +M+(5
r 1bA/<
# +.W,H1 # *) +er'Y#-6.1d
-2/(#'#;.Mo(*wD!(<>0)\.B7$/1HAC8 +=2'0o(dQGlɡ!;ը"%!8%
2cu"w9vKY +ׄFny?-7qv\Fx2Tu-ώ fE?hÞ~LrNKߩ:Kc<{ i-8/O +*:
w2&BF`՛VL'N<&
-!#|G0`+jc(-'a A +!$
%3w*/
/! }"$"OP(? (0"#)- -&cA-*7'!#K"$";U)!>IC3&/`&ׅ #I"<;1S, A_<Q- 1`0)(9!j!A5@U0*G#D-ל
w)_/;S'7(1 +?!$7*W\9:(3 "-(e
*A* !KFE
Y*|#G `((#!DVl;!5"
X$)@#+A1!A*O;I'I"9&P
%~9!(I%-! ~w+$5"V
'vA>qU8! +Cj "1 +jVC&$Q#P
!E?7ɓ +fL? ++QK!19?$X,$)X#="9
E!<[&/
]C?9fo57da"#=?%#:M$)5%#!-(%i-N5;'5')]1##5#A"%3071/8
"+*;_-5ɛb{B~$Yu_σ2LOT4VI[5%,7W|צf3!WPY
"1L!8 +JJM#>%#8f+T"!<lW1MF +_
\>2;5t ύ#"[X$,
EQ&8/
I A!Ϯ{'/SSz$3ɋ<ͅm{%!0{? MiC<'&-[5Vbf !%Y,-"U;
9!ѝ7Z K?{8a" +4 +Gv2!^ # UJ$=fۀ$
S
bU?w +*4y".IC +C/;#"i>q$%=/#)1:=VAtD!D8]/
#u"(sJ.vI#DZ!.+!Ӱ!tKDSݱu.16t"<#0| +#ј?"%=!{CDFF!)$ŏə"Ã*@!{MӖ!"">W"( +E;D"#3$&!q*"8 + {L) "#}
w6~͋zqFp+95E*/\!#:>!Ӥ['Q,')J07)CK=.D<L w>K$&&98_
5W8<5=?>J OH(.V1X(X
/;? 91X(V$*"201I<; +;.).-&771MՔ1F;? /#<.#E*3 .#;,#;1%G";F +@2 %.Y"?HC0$1RY1
#?K_D#O%AY +S*.!3W<4XO{4C'"A#)w/IE
,E' ZE;*"'$=J-"2#!C#6F7 +7
Tz#( ,M+Ow.1a|6J# #1_ق˅?M+/[H$XK|(X0k i2 +0u#ٔ$J>n&/|
'p_%;9'!,u*mqa}#'xC@*1X77A* M1-E ;AJk0 K4GQ]] ZY"y@Vk>hѯ;sin`dtKoqfWc@nLJ:/"
"Ty 0 h& +(@
v##09"!7Gk;)/(AٷxN LG$" )o!$O! +;B
"c uo
'G/"jA"EV
+#b2 $jvH!B+V!2B!!6H$ x2&Ɇ
)vw
? F!A$.F!RQR ! }#! BC $j"@#:@!#!" +x57+h)!/A +Cq'GF?$;14@@ZQ$#"n72c
#/J +?BB"RS
ã$$wPKT%\!Q (\FE1&/C8 |y"lZ?s}C.#sg#LW&$Z75(RFp!%ӓ o.#Ņ͇L'$
+ +#HHɍ +5*Tѕ rh +.~@PYM*ETD >"D*ME!Bd>ї3S#V
Cqq+ѐ + =*"+v55"[!! "-]0;W#˚S݄ +!%!A7BQ)0?ICˡL'!DۉT7Xz( #JV, +Oss*4% !t#bu ϯ3(5)Z?/%0O!"
'i"&y(+~=G>$
=;(M{-~6xN2)H/nB1+|E2*;6S*
CL $,(zi .5_%o#(cwϔD&1!GO*J/I#<S@?#>=`*I+B8541` +S8%/ˈ,K'\.$a+- y,.9+k-`"1"1M!$C1*5O
A58I 2
?! 5
*LWF3nN' *.B%:.3C \$12(^5 + j:`9"w Mv*'',9F<5 f7!" (12h+D%9a +.-h!9.I 6F(E*L75,0$73S)$'+-"eE;524%!]8?2 '12'44-",0hDR)4$6>+<8g-E)*;?1- +s_drO. =^&C(ѕ&'(+#J'&!Z*a
D5GM%(!)n(7akD!EOyE !VACS*+TrQ, + V8Jq#\ +*"F 1WNG(6C2V$LK""1<L
!#--!}!!WL#" +;LC,o%qWB
R"I!)cq$7t(9 #IE
r$9 .GD -CL +)B^ +E7=%U?r+1 9-* G"3"pp9-@.K%/3aNA˲+'L7x'r(tBM(b$->7+]97!E(#":/&]!9۷7&7)# +CFQ1%;8GA +5<5.FE7z#& DK +-'!u9EC7o" 7;
ECB%ň14#'=8E=B5.E>_=E%-=x/GǔO!=
i#C٘&|+DL"~ ,-#w)"Fr2Kk #ŋfi +s:1)- "y#.!q0 +_%Q|)g +* " <Z+Mr!8F";" Wo-$feGB<vgRU](f`%'ϗ۬S.2+8dsALWQ',X&Z 6-& Dɲݚ#k#@%&I %7++j
|+QE(2z+s*)ð.>*'Y,AWD6(J(B^'U=
8 HxG/Xp?8R759YWF"n-"W{mÅN.21.PF %zr";}
O +6KF%0n:\U1 +M}.>ǾFǔ;110:*'фKdjϙu^!o%"(Rt' p;!J)%
z%L*!!הW2B7S;B
&Z(0,o5 +Y-4+J* Ӈ '0,t#f("" +ё6y!D"z5x4*CG!tM>hGN9&"=qזI??v%?q'"j4~&, 1ߌ0.
-h%R. }n )% <=2 ;5r$ 92q8
˧7O$--w"t;2&[A&d.sA+ $/RDrّB)]i~($ߔaW3c\29n$!RMV$8RNb[,E8HͦK*PLWr#!ӆ lђfA}}GG1kA 2n1W@T߽`<ӛ'.9VIJ](ѡ}/0(q@!!q˩D.~F
1)+H.5 2#Ǣ#H"!
;;8>[ cK[&6\ +R3'ņtY
(NNӋ +D?L5 dR=9-?)K;!K's9ECH8!9#X(I;73!R]2GI*='[K 70=5''
DL#,F?JQ;!4&G & A(3!r5:K'4)_" + %W<`,+ UHO +\@
'GY
)Id(['xC'9L )+pB"7%ӀgQE-"۔?1 + +9"M9")G<Y/AS- ~!# +P!P+Xg#; +(|&qA.VkNa24ũ͊Z?<u@&NKP{5s-VCuY:%'5((Xx5.N1N;F!?!!C:a
7j:JMF` Ӹ6MP@{ + AF˫q<\M&'][I +/WzN %t* +M-?5
J G85'ی!?H:W3B==-9oKӸd7'U +-mc!I'%-\o5 S ' BXOIzM\k=MkUF +% +5500D7(i)]-"J3<V%w A:&'a-56C01;GkFF +JQMA+$(F3]
K$
)K/DX'A w>߃:
|:&JU3>;P^Qi=)_?%+
S!n<),Q>, 5&#$ Z X =U3v^={
p)6JkM]B%!!tKf ۫s:0
r2m`!:e
T!V(!/yu&5J(9%V+'
.*++K .OE< 2)dAp# JS1!&"+(2ϛNX)ˉd\7F,S?!Pb" YUoF_-\"9Z!0S\WQ> + L?Q
#'a^ 8j
!:Co>t
˯y.p +1~!A*Hb'{#ôCF <])&}O-EC.+Vy6a'- ImcR-AMUi`RZo +іV6!3 @/$"O92Պ5+RD]%18*)R C6},A
.@S:>:N/@/ +%1:1:'9\)^ +/`.%0&\00L\&Z 7FGH!i?AA +QAUD9!w[62"F&$*IW,aә:4D-c/Q][O+-'G$>?MX@3x2m,7m+Eh+8ݮ$G;[`T(%Ƀ-
>L.]'&EՇ')$$'_B
CT;CBh d
H%P`*eK,
M$a!*݄I0{/V/
8ŀRիxչ5-c͊ѤvNE)?v;2Zh]#MK
3%"_"H!
*kCY;!'DUnM:p"Mq^!O?'lG
9Fm)|a#'uB|i_ +#"]Sb{y=!&
D&)Z:4>41,%Jj
ǑJ+s6jH;nM}2IvLe:b;':+1Kp
'yǐH)!!tE" +|E`>ō,#o*2$ +@(1c!i1) $!<'E#i!"/!!i!(M#'A\$#!Cx+ +'p + @2.')O+/."{DOɰEu% -
l(!JF r. ^/G/?Br$Q)c
.<Yr&22
#
_W*1'Z65+1qx&[)"(C ,I-8!)?11h(l#!)#~q\":X7'1Ç#"\0c1).u.<$(%$W:<"s"?E/ / +#4/
υ)J"*)D/ <" " (w'k)"s$U1C)
C >.Juo1r>lSi"iB?5#!A^'BD-15";r/"#1|A:'= &7&8=!!= \'DM( D"&5D?>9 &!3)*W "ň=G:=I"*E>*7IA)=" 7(L)M*,Q(0;!.{9!L"A1r"K>;h*('E&<) .#I!O(N('>+)_$E1.1O$'-"&< <]"2E]B'($$&-/\;c*J +A$)$!V +-2C +;"Ѩ͊(' +D*"$B"@&("&2(+!E$#&)*.+$+"&7~D ?#-!9ם>)
\ɗPpHvCE&xCo*j&TE"=E **"DF +OSC4%U>&J)")&'5(A7oG-$#*U H .&)+Dd;ٰAY/M/7 q! P+*i17/?'
r$
2^ +'aU}+7"/AF!$D0(]1) #E #(F4*
-'b$E+)tM# ,C'#; +)T_s<8*"-':M %d&4(]tAEǨH?6-01* ,XO-+@^*5ˊ6\<N#48C#l;iQ#"sD$1(3,
^
B$kx#y3*; +#1$yK !y +! +5~*LJv#2W-2\+O2D(BJ)R'T0[DEɫO-'L*A6 +8@*B's'
+o0i/]
.3>/7(~_./b*,s+0[ERO/2EGv.!&(@?74r`ϼG~!n.CX95:@K >5(WJ(6K
"P
Z% *'y!.p'>l#1%ۃ(U2
{;"
x +MwOl9"mN <pjYfT@}OudUcPw÷@]BN/#b^&NIO!x86N
ONNQ%UJ"N 81bP/\/Q=D!VeQw#]FS [0Ud"P(3O +)OBJPBV#T\Zj-"N"P2A&dFYS@J#bCyT +EzPbB#680'ˆ'n8!/W(D7h$o-0'1;3D +O+@/"b+@&-k; +;#Y"ł"@+9E?!"P5?2L;?oC!-?# # +"1.|;#Kمb'='-/s9"!(x=CE +Ex78M#o(
)>KDDG,4jJH< +A-7 J1#($c'C"E;W#)!%@57/6V7&4E-&Ga~F!Q9F5%jݪ+S. +"q-I%>-ё1z/=TK"- 7g:8W! = Q$&?;FMBDgAG
reS;mDɁI;B-b:,>m'S- O6--
E? +e,-#MA59o)eAD/I#/$;7&4A #J#=#3=UA,II:>),7 D7l"DRPA9"#S719EZw83'!öhXJ1AdXtGL
j=47^5"6%')?A1
-#+;^74% Gy*HW^"ey9"G_#4;05;"8uRv3+a#$'(}uOj3
$E +C+7!7zYv&"!--)>CuC +XkZs?XK÷OY-W;{hk5hű35!ŗA?dTI9 kS9-!X"Ou"9^ +44D9B7"(a
1Y6@
SI; +B7 @#%;? 0D(M"#!D"7rC"#?# @AF!"9-0
)/W,Ah2aD!)J"J/3
GJ;%Q"A DK -$E7PI%u"C6?~)!-4=PLK81HEÉFE.sJk(=#$&\58+))&!1K'HA7k(7:21#aT!"ia2 5WU&1>k͌C5+/M{>K/3F]+ ES&MA"M? ) áǣ?!ӱ[" e)!Eh4^ +L2N= 30 A4_CdA)`A' % m?'&D"lISHN-J%#%l0#'v M+d$h:!S1q=h)4poj&(8Vi3H-A;!`s3AD7' >5CL=W +S9e;"+( 5s_)7A6`
n^O(! +(VD'$ 8(0*0YA$7. +3qˬI #
& !b= 2%#<?$ [BMW){)B?eKX\1ŀ
n%]ZH(P&6?n:bc'G+<H24}L7-D'$(0S2(N4#+"(aT3]=> !2=%s*@d ?߫1`E4۔8ϣ
CT<cGV-NS`@D#.#{,hgCݫkFGUvNDAMˑYՇ)E_.O,).R-lE}1DHjQŴC${Bzզ!zTdٻ"lKUd&[\'=ɑwו"';/+$&#"O( 1yVņ 1Q!s!z
"8&!#)َ&#sW. +<<55M^0')ٮ(
1C4?&2o+-- +Ir1
5`z1'J,$q+ +eI1(9g51M +1 +E +%&2y +U
+2sv|s66;/85P*>/&^
{#!w"
"*{` ѯp!BC
"z!)0! <>E)|uFxxJ#wDτH
:Yz#LK0zD
Q0yL(} +/!Şx"! +w" +' +ѩ?B!w>" +#ŕM'# +X+P(!R
p+!,;<'#"š"v[&!#8Ӏ7."%$ ~29KHzK Eu # +}:G"="C#-"}<X 4JI'
)=a+!4QSٱy6b\. [FUn(m;V;>*)#K2'Nnb5s'$d +<;* ? m@
?D#.|Ba
X +Yс%~:!r .<ג`!."'!zpe+; d#PKkÄt8"&X"!J"p0Ey"q;gY#8lųɸo"I"Xro9|9=A7ZM^#&'~_B
Ln9!`t-hCIp- nw.7E0%30%A"K"
AfN"$"! +O
dJ*eSb!I"1`%0,g),6ih1*H60;.=t;H=) j) +<hJR ws?_
L"$x0!bfcW=F0 bIU. DY!NJB$OA(I7 +c.a0'' ߂ӁϦ*m` M)B +fdkR;J=5]- C@ !_1,&#Z)=0n+Ϭ#ձL
*/#,'c;k.<(B
?-<; bECA7/+B(?2EG`B!$;H7<~,C +3i/'
Ab= DCC,*V6
~G݅'C6 9`0@P3 {;+BES;br&',];#aDl2Q~`-/eͩi,BFr'9c +Anh!+;!'5KC:E
3'=5$L4uN]hGq Qnw1KӮ==G +
T,d'!;' +(H7'"rL
*H/́?ۚ;& +>UWdb-+Ő)" ݻ! +S$0+G" " aK%#.##v8#$x
4'M)^#> #F//-0 Q<-C#F/}x.0#pG,W}#(/7;I"\&iO>J4*85|2O>GFS4%(HL/)'26A6gGlD!)_."[C MG
+0%'!63!h/0$Xa**WR#&%8:0/1FHD",Zb." .QT!e;#X,
i-M0'd1)+"J^8)-!5`Gn@1F>! g&MZɬ,39jrp3ٗɇA#_7 993r#CB*|#b=qZa1U017 +&k3[*4 ӫM 'jטC* +$*r)1-##>VDLq0##j"*T"$'2
(I<1/N/: #1(%<A/
"$'yA!!<o+ !(#--"#u;11:,#\8<:D ##M*
E<+,F*"#"c"N,1 + +#\/"~XI 0'E!F$"J=V5|7$F),˟{ٓC_A9 9I
H)B [B_Dv/!%yÝ'Dx@z!RÙͣ\tR-
)( Q(#(k~^
LF}#{'+E$> #GlW1#dŰBk((Sӻɮ
COS4&J.z![H;3;X[aw`Nmc+#IYxbU.Jjш
C"D/2!H1[ ),3TN5s-J`/*#4s +C<7ZD-9##=p;I,0DD& +O-
"TM`^|YB ++3
G.1O1( 3s
=тM*t6'T'f!97f4"7O39*
*o##No^"L=CTEZW+!/.Q@\sT19(
1@dJi@S !!m#LݎgJ߶PJR)QO1"!L-S?%&O.B#T.0FF%BE::
у9"3l. +W&&WK (,MA$*P8-JDw ++!B3)gd,"5%*p+(J'3v-.& 2Iςa 2B>Y +hJ #L3%v"i
{'( rB@`3r" +wz@> +#&zWT[S &G +H9
n/!F@ +(0ÅwEq1W"
M)"% % HN7al|(q +?$$jWyFu9=K=2>488@F%V6c +Y)Ӂ )B"#'5Q)@!/Q</8kMH%YZD$K0':=sH\d24S/A8$t +@#ISYkq>]Qnu# ["S"e&߆ +Ke%*'ɶ(?YO:"~ٸ:!$,Bo& t""ߏ", #R9u*7&)R*(: +@5 +6>H)! #b. +$x?
\.GN-c +
y5!&%B-*#i 8*+9:7PFk+$t +
19 +/g$!5Ü>@2("4R
!
@0!&7I#h + +M;(})2! +J('b,,'+8w)"xݶ:8 %GG0p;G<*3V! +nj˃,í_E(iBz| +'`g'N
\ No newline at end of file diff --git a/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/_4.nrm b/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/_4.nrm new file mode 100644 index 0000000..19f64e5 --- /dev/null +++ b/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/_4.nrm @@ -0,0 +1 @@ +NRM|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||vvvwvvyvyvvx||vvvvvvy|yyvvvy|vv|vvv|yvyyvv||vxv||yy|vv|vvvvvvvvvyyvyyvvwxvyvvvvvvyyvvy|vvvvvvv|vyvvy|vvvwvv|yvvyvvxvvv|yvv|vyvvvv||vvxvvyv||y||vvvvxyyvvwvvyvvvv|vvv||vvy|vwvvvvw|yvvyvv|vvvvxvyvvv|vvvyvv||vyyvvyxvvvv|||vvvyvyvyvvvxxvvyvvvy||vxyvvvvvyv|vvv|xvwvyyvy|vw|vv|vvvvw|vvxvyy|vyvvvxyyvxvvvvvyv|vvyvvyw|vyyvvvy||vvvvvvwy|yyyvwvvyyvvvvvvvvvv|vv||wyyvyvvvvvvvvyvvvvvvvvyvyyyy|vv|ywvvvvvvyvyv|vvvvyvvv|yxvvyvvv||vvvvyy|vvvyv|vyvv|vvvyvywyyv|vvvyvvvvvvyyy|xvvvyyyy|vyv|y|vvy||vv|vvvvy|v|vvy|vvv|vvvvvyv|yvyy|vvvvvvvx|yy|vvvv|vvvvyv|vvv|vvvv||yvv|vxvvv|yv|vxvvwxvv|vvyyvvvyvyv|yvvvvvvv|vvvyvyv|yvv|yvyvvvvv|vvvvvvvvvvvy|v|yv||vvyvv|vvyvvvyvyv|vwvvvvxyvv|vvy|v|yv|vvvyvvv|wvvvyvvy|vvvvvvx|v|v|yvvvvvy|vvvvy||||vvv|vyvvv|vvvvvvvvxyv|yyvwvvvvvvwvv|vw|wvvvvvvvvy|vyvvvvvvvvvvvyvvvvvv||yvvvvvvvvvvv|vvvv|v|vvv|yvvvvvvv|vv|vvyvyvvvvvvwvvvvxvyvy|vvvv|vyvyvvvvwyvvvvvv|yxyvyyvvv|vvvv|yv|vxvvyxxvvyvxvvvvvvv|yv|vvyvv||vvyvv|vyvvy||vvvv|vvvvyvvvvvv||vvvyvy|vvvwvvyvv||vyyvvvvxvvvvvvv|vyvvvvyvvvyxv|vyvv|yv|vxvvvvvv|vvvvvvvvvvvxvvvvvvvvwvvv|vv|yvvvvvvvyyyvvwvyvvywvvvxy|vvvvyyvy|yvvvv|vvvvwvvv|||yvyv|vv||vv|vvvvvyv|vvvvvvvyvx|yvvvvvyvvvvvvy|vvvvvyvvv||vwyyvvvvvvvvvvvvy|vvvvvvvyvyvxvvvvyvvyvvvvvvvv|vvvvvx|yvwyyvvvvv|vv|v|vvvvvyvvv|vvyyvvvvyvyvvyvvvvvvyvvvvv|v|yyvvvv|vw|v|vvvv|yvyvyvy|vyvvvvvxvyvvvvv|y|vy|v|yvvyvv|vvvvvvxvvxyvvvvvvvvvvvyvvvyvvvvvvvvvvyvv|vvvyyvvvv|vvvvvvvvvvyvvv|vyvvvvyvv|wvvxyvvvyvx|yyvyv|yvvvvvvvv|v|vyvvvvyvvvv|vvvvy|vvyv|wy|yvvyyvyvv|vvvvvvv|yvvvyvyvvyx||xvy|yv|v|vvyyvy|yvvvvvvyvvvyyvvvyvyvvvvvyvxvvvvvwvvvvvyvvyvyvvvvvvvx|vvyxvvyvvvvvvyyvvvyvvvv|yvyv|vvvv|vvvvvx|vvvvvy|v|vvvvvvvvvyvvvyxvyvvyvyvvvvxvvvvvyvvvvv||xyyv|yvvvyyvv|yvyvvyvvyyvyyyyvvvvv|vyvyv|yv|v|yyvvv|vvv|vvvvvvvyvwvy|vxyvvvvvvvy|vvvvyvvvvvyy||vvv|yvvvyxvvvvyvv||vvvvvwvvv|vvvvyvvvvvyyvyvvvvxvyvvv|yyvw|v|vvxvv|||vyvvvyv|vxvyvvvvvvvvyvyvvvvvvvvyvyyvvvv|vvvyvvvy|yyvvv|v|vvvvv|vvvvvvvvvwvvvvvvvvvvvyvv|vyvvwyvxvyv|vvv|yvvvvvvvvv|yvyvvvv|wyy|vvvvvvv|vvyvv|vvvvvvvvvvvvvvvvvvyv||vvvvv|wyyvvvxwvx|vvyvyvyyvv|vvvwvvyyvyvvv|vyvyvxy|yvv|vvy||vyv|vvwvvvvvyyvvv|v|vvyvvvvv||||vvyv|v|vvvvwvvvvvvy|vvvvvyvv|y||vwyvvyv||vvyvv|vvyvvvyvxyyvvy|vvvvvvvy|vvyy|yyvvvvvvxvyvyy|vyvyvv|v|vvvvvw|vvvyvvvvvvvvvxyv|vvvvyvvvwvyvvvyvyvyv|vvvyyvyvwvvvvyvvvvvvyvvv|v|vvvvvwvwyv|vvyvvyyvvyvwv|vvvvwvvvvvvvvwvyvyvv|vy|yv|xvyyvvvvvvvv|vvvvvyvvvvvyvyyyywy|vvvv|vvvv|v|vvvyvyvvvv|vvvvvyvyvvvvvvvv|v||vvvvvv|vvyv|vy|vvvxv|yvvvvvyvvvvyvvyvvvvvy|v|vvvvvyv||v||xvvvyvvvvvv|vvvvvvvvvvvxvyvvvvvvyvwvvxvvvy|vyv|vvvyxyvwxvv|vvvvvyvyvvvvvvxxy|vvxyvvvvvvvvvxvyyyvvvwvvvyvvvvyvyvvvvyv|vy|vwvyvv|vv|vvvvyvwxvvvvvyyv||v|yxvvyyvvv||vvvvvyvvvv|vyyyvvvyvxvv|yvvvxxvvvy|yvyv|yyvv|vvwy|v|yw|vvvvvyyvvvvvvvxvvvvvvvv|vvvvvvvvvyvvvvvxy|vvvvvvvvyvvvvvyywvvvvyyyv|vvvvvvvyyyvvvvvyv|vyvv|wvvv|vyyxvvvyvvv||ywv|v|y|vvv|yvvvvvvv|vvvvyvvv|vvvyvyyvvvvwvvvv|wvvyvyvvvv||vyv|vyvv|yvvvvyvvv|vvvwyvvvvyyvvvwv|y|yvvvvyxvvyvyvyvvvvvvyvvvvvx||vyvvyvvvvwvv|vvvvvyv|vvxwvvvyv|vvv|vvv|vyvvvvv|xyvyvvvvvvvvvvvvvvvyvyv|v|v|yy|vwv|vyvvyvyvvy|y|vvvvyvvwvvvvyvvxvvvvvvvvvv|ywvvyvvxxvyyvvvvv|vx|yxv|yvvvyxvyvvxvvvv|vvvv|vvwv|vvvxyvyvvyyvvvvvyyvvxvvvyvvvvvvvvvvvvvyvv|vyvy|yvv|vvvvvvvvvvvvvvvyvvvyyvyvyv|vyyyvw|vyv|vvvvv|vvvv|vvvvvvvvyvwyv|vvwvv|vvvvyvxvvvyvv|yvvyyy|vvxxv|vvvvvwvyvv|y|vvvvxyvvvwyy|vvxvv||vvvvvvvyvxvyyvvvv|vvyvvvvvvvvvxyyvyyvyv|yv|vvyv|v|vvwvvyvv|yvvvxyvyvvvvyvvyw|wvvvvxvvv|xvvvv|v||vv|vy|||yvvyvvwv|vv|vvxvvvvvvvyvvvy|y|vv|vvvvvvvvvvv|vvvvvvvyvvvvvyvyvyv|yvvv|vvxyvvw|vvvvvvvvvvxvvvxvvvv|vw|vvvyvvvvvvvvvvvv|yv|yvv|vvvxvvvvv|yxvvvwvvyvyvvvvvvvvvvv|xvv|vv|yvvvyyvvvvvvyvwyv|vvvvvvvvvvvy|vyvvvvvv|xv|vvyvyvvvvv|vvv|vvvvyvywyw|vvxvy|vvvvvvvvvv|vyvvxvyvxvvvvvyvvyvv||||vvyvvyv|yvvyvvv|vvyvvvy|y|vy||vvvvvvvvvvv|vvvv|v|yvvvyyvvvvvyvvv|yvvxvyvvvyvvvvvvvyvvvvvxvvv|xvvvvvyv|vvvvvy|vvvvywv|v|vv|yvvvvvvvvvvyvvvy|vyvyvvvyvyyvvvvwvvvyyvyvyvvyvvvvvvv|vvyyvyvyyyvvyvvvvvyxv|yvvvvyvy|yvvv|yvyvv|vvvvyyvvvvvv|vvvyvvvvwvvvvyvyvvvvvvvv|vyvyvyv|vyvvyvvv|vxvyvvyvwywyvvy|vvyvvvyvvvvvyvvvvvvvvv||vvvyvyvx|vyv|vvvvvvvxvvyvvyvvvxvvyvvvyvvv||vvyvvvv|xyvyvvvvvvvvvvvvxvvvvv|vvvvvvvv|vyvvvyvvvvvvvvvy|vvvvvvxvvvvvvv|vvvvvv|yvyvyxvwvvy|vyyvvvv|vvvyv|vv||yvvwvvvvvvvvv|vvy|vvvvv|xyyyvvvv|vvvvvwvvyvvvvvvvvvvvvvvv|vvxyvvvvvvvvvvvvvv||vvvyvvvvvvvv|vvyvvvvvvvvvx|vvvyvvvv|vv|vvvvvv|vyvvvv|vvvvvyvvywvyvyvv||yvvvyvyy|yvyyyvyvyvvvyvvyv|yvvy|vv|xvyvyyvvvwyxvvvv|yvvvyv|vyvvv|y|vvyvvvvvvyvvvvvv|vvy|vyvy|vyvvy|wvyvvvvvvvvyvyyyvvyvvvxvvyv|xvvvvywwywvyvvyyvvvy|vvvvvvyvyvvyvvvvvvvvvvvvvvvvvyvvvyyw|yv|y|vv|vvvvv|vv|yvvvyvvvyv|vyvwvyv|vwvvxvvvvvvvvyvv|vv|vvvv|v|y|y|w|vvv|yvvvyvvyv|vv|xy|vvyvvvvvvvyyv|vvvvvwyvvvyvvvvyvvvv|vyvv|vvvvwv|vvw|yv|vvyvy|vvv|v||yvyvyv|yvvvvvv|v|yvyvyvv|vvvwv|vyvvvvvvvyvwv|vvvyvvvvvvvvyvvvvvvyvvyv|vyyv|v|vvvyxvvvvvyvvvvvv|vvwvvvv|vvyyvy|vyvvxyyxvyyvvvyvvxvvvyvv|vvvv|vv|yyvvvvwy|vyvv|vyyvvvyvxvvvvvv||vvvv|v|vv|xvvvv|v|vvxyvvvyvvvvvvvvyxvvv|vvvvv|yvvvvvy|yvvyvvvvvx|vvvvv|vv|vvvvv|vvvvvyvvvvvvvvvvvvvy|vvvvvv|yvyvvvvvxvvyyyvv|vvyv|vvvyvvy|vvvv|yvvvvvvyvvvv|yvvvwvvyvvvvyxvxvyv||yvvvvwvyvvvvvv|wvvy|yvvy|yv|yvvyyvvyvvvvyvvyvvvyvwvvv|vvvy|vvvvvv|vvvvvyyvv|vyy|vvvvwyvvvvvy|vv|yvvvwvyxvvvvvvyvyvyyyvvvv|vvvwvv|vvvwvvvvvvvvvv|vvvvvwvvvvvvxvvvxvvvvvvv|vvvvvvvvvvyvwvvvvwvvv|vyxvvyvvvvvvvvvvyvyxvv|vvvvvvyyvvvyyvyyvvwvvw|vvyxvvvyvyvyvvvvvvvvyvyv|vvvvvvvvvvyvvvvvyvvyyvvyvvvyyvvvvyxv||vvvvvyvvvvvvvvxyvvvyv|vvxvvvy|vvvvv||vv|vv|yyvvyvyvxvvvvvwvvvyxvvvvvvy|v||vyvvvyy|yxyvvyvvvwv|yvvy|ywvvvvvyvvv|v|xyvy|y|xyvvvvywvvvvv||y|wvvvyyvvyx|vvyvvxvvvyyyvvvyvyy|vvy|yvy|vyvvvyvvvvv|v|vvvvyvvvv||vyxvxvvyxvwwvvyyvvvwyvyv|vvvvvvvyvvv|vyvvvxyvvvvvvvvvvvvvvvvv|vvvyv|vvvvwvyvyvvvvvyvy|vvvvyyvvvvvvyvv|vvvvvvvv|yv|vvy|vvyvvvvvvvvv|vvyw|vvwvyvy|vvyvyvyyvvxv|vxyvv|vvvwvvvvvvvvvvvvv|v|vyvvvxvvyywvvvvvvvvy|vwvxyy|vv|vy||vy|vvwyvvv|vvvvvvyvv|yxvvvvvv|vvvvvywv|vxv|vvyvvv|yyxvy|xvxvyvyvyvyvvyv||vvvvvvvv|vvvyyvywvyvvywvvvvvvyvyvvvvxv|vv|vv|yyvv|yv|w|vwvxvvyv|y|vvxvvxvvyvvvv|yv|vvvvyyv|yvvvvvvvvvxvyv|v|vvvv|vvyv|yvvvv|vv|vy|vvyvy|vvyyvvyvvyyvvvxw|vvvvvv|xv||xvvxyvvyxvv|||vvyvvvvv|vvvvvvxvvvvvvvv||vyvvvvvvvv|v|vyvvyvvvvvyvvxyvxv|vvvvyyywvvyvyxyy|vvvvywv|vvy|vvw|vyxvyyvvyvvyvywvvv|vvyvyyvwvvvvvyyvvvvvyvyvywyvvvyyyvvy|vwvyyyvvv|yxvvyvvvvvv|vxvvx|yyvyxvvyvvwyvv|yvvvyyvxyyyvvyvwyvyvvyvvvvvvvvvvvvyvvvyvvvvvvvyyvvvvvvyvvvw|vyvv|vvvvyvvvvv|vyvvvyvvvvvvv|vvvvvvvvvywvvvvvyvywvvvvyyyxvyvvvvyvvvvvvvv|yvvvvvyvvw|vv|yyvvvy|v|v|vvw|vvv|vvv||vvvvvvvwvyyvv|vw|vvyyvv|vyvvwvvvyvvvvvvyvvvv|yvvxvxv|vv|vvvyvvvvvvvvvxyv|vvv||vyvvvv|vvvvy|vyvv|vyvvyvxvyy|yxvv|vvyvyvvv|vvv||vyvyvv|vv|vyvvvvvvyyvvvvvvyvv|vvvvvv|v|vvvvvvyyvvv|yyy|wvvvyv|vvvvvyvvvvv|yvvyxy|vyvwyvvy|yvvvvvyvvvvvyvyyvvyyyxv|vvyvyvvv|yvvvvvvvvvv||yyw|yvvvvvvvvvvvvy|vyvvyv|vvyvv||vvvvvvvvy|vv|vyyv|vvv|vv|vv|yvvyvvvvvvvvvyvv|y|v|vvy|vvvyv|vyvv|v|vyv|wvy|vvvvvywvyvyvvv|vvvvvvvvvvvvvxvvvy|v|yvyvywvvyyvvvvy|vvyyvyvvvv|vyvy||||w|vvyvvvv|vwv|y|yvvvvvvvvv|vyvvyyvyvwxvvvyvv|yvvvwy|ywyyv|vy|y|vwyvvvvvvvvyvvvyvvvyyv|vvvy|xvvyvvvvvvyvyvxvvvyv|vyyvwwvvyyvvv|vv|yvyvvvvxv|v|vvvxvx|vvvvy|yyv||vyvyxxy||vyy|v|vvvv|v||yvvv|yvvvyv|v|vxvvvy|vvvyv|vyvvvwvvvvvyyvy|y|vv|vvwyyvv|y||yvvyxvv|v|v|vvvv|vyvyyvvvvv|||vvvvvvyxv|vvyvvvv|vvyvvv|vvvvxwvyv|vvy|vy|v|y|vvvvyvvyyyvvvvv|vvvvvwwvyv|vvvvvvvvvy|vvyvv|yvyyyy|vvyvvvvvyvvxvvxvyvyvvxvvxvvyvvvvyvvvyvvyvyvvvvv||vxvvv|||yvvv|vv|vv|vvvy|yy|v|vx|||vvvyvv|vyvvxvvvyvyxyyvvvvvvvvvvv|vvvyyvvvvyyvyvy||vvvvvwvyvxvvvyvvyvvwvvvvvvvvvyv||vyvyyvvyvvwv|vvvy|vyvvyvyvvvvyyy|vvvyvv|wvyvvyyvvyy|vyvy|yvyv|yvvx|yvvvvxyvvvvvyv|yv|vvvv|vvvyvyvvv|vvvvyvvyvvwyvvyvvvv|vyvvvvvyyvyvvvvvv|yvyvy|vvwvvvvyvvvyyvvvvxy|vvyvvyv|vvvv|vyyv|vyvv|yvvvvvvvvv|yvvvvyvvvv|v|vvyvvvyvvvvvyvv|y|v||vvvvvvyv|vyy|vyvvvvvvvvvvvv||vvvyvvy|vywvvvyvvwvvvvwvvvvyvyvvvvvvvvvyvvvvyyvvvvyyyyvyvvyvvvvvyvv|vvvvv|yyv|vvvvvyvvxvyyvvvvvvyvvvvwvvyyvvxv|vyv|yvv|vv|vvv|v|vyvvvyvvvvvvvvvv|vvvvw|xvvyyvvvvvvv|vvwvvv|vvvvxyvvvwvwvvyvv|vvv|vvxwvvyyvvvvwyvv|vvy||vvvyvyvvvxvyvyvvvvvvvvvvv|yyyvvvvvv|yyvvxvy|yxvv|vvvxvyvvvvvv|vyvvv|vvv|vvyvvvvvvyvvvyvvvvv|vv|yvy|vvvyvvvvxvv|v|vyvyxvyy|wvvyvvvvvvyyvvvvvvv|vyvv|yw|vvvvyvvvvvvyvvvvvv|vyyvvy|yvvxv|vvyvvvvvy|yvvxvvvvvyyvyvyvvxv|vyvvyvvvvvvvv|vvvvvvyvvvvvvy|yyvvvyvy|vvvv|vyvvvvxv|y|vvvwvvvy|yv||wvvvvv|vywwvvxvwv|vyvxvvvv||vvvyvvvyvv|vv|yvywvvvv|yyvvvvvwv|yvvvvvvvvv|yyvyxvvvvvvvyv|vvvvyvvy|yvvyvvvyv|vvyyvv|vvv|vywvvvvvv|v|xvyxy|vvvxvvyvvvvvvyvxyvvxvvyvvyvv|yvvxyxvvvvvvvvvvvyvvvvvvvxvw|vvvvwvyvvvvvw|xvyvvvvvv|vvwvxyvvv|vy|wvyvvv|yvy|v||vvyvvvyyvv|vvyvvvv|v||vyv|vvvvvvvvvvvv|xvv|vyyvvv|vvyvvvvvv|v|vvvyvvv|vvvyxvv||vxvyvv|vvvvvyvvvvvyvvv|v||yyvv|vvvvvvvvvvvvv|vyvvvyxyvvyvyvvvxvv|vvyvvvvvvyyvvvyvvvvvvvv|v||vy|yvyyvvyvv|vvvvvvv|vvyyyvvvvv|vv|vvvyvv|v||vvv|vvvyvvvvvxyvvvxxvvyw|yy|vvxvvvvyvvvvvvvvvyvv|vvyvv|vyvvvvvvyyvvv|vyvyyyvvywvvyvvvvvyvvvvvvvvvvvvyyvvvvyvvvvvvvyxvvyvyyvyvvvyyvvvyv|vwvyv|vyvvvyv|vy|vv|vv|yvvvvy|yvwvvxyvyv||vvvyv|vvvyvvvvvyvvvvvvvvvyvvyvvvyvvywvvvvvvvvy|vyvvvvvyvvvxyvvvvvvvvvvvyvvvvyvv|vvyvvvvvv|vvyvv|||yvvvvxvvy|yv|vvv|vyvv|vv|vvvvv|vyvvvyyvvvvvvxv|yvywyvx|vyvvvvv|vyvy|vvyv||vvy|vvyvw|v|vvv|vv||vy|vv|vyvvvyxvvyy|v|vxvyvv|vyvvvvvvvyvv|vvyvyvvvvvvyv|vv||vvvvvvvyvyvvy|vvvwyvyvxyvv|yvvxvvvxvvvvx|vvyv|vyvyvvvvvvvwvvwv|vww|yvvvxyvv|vvx|vyvvvwvvvyyyvvwvvy|vvvvvvvvvvyvyyyvvvxvvvvy|vvvvvvx|vvyvvyvyvvvyvyvvyyvvwvvvvvv|v|vv|vv|wvv|yvx|xyv|w|vvv|vvvyvvvvvvvyvy|vvyvwwyvvvvvvvvvv|yvyyvvvxyvvv|vvyv|y|vyvvy|vvyvwvvvvvyvvv|vvvw|vvvyv|yvyvv|vvvvvvyv|ywyvv|vvyvvvvv||vyv|vvvy|||wvvvyvyv||v|vxvvvvvvvyx|y|||vyvwvvvvvwvvvy|vvyv|vvv|vyyyvyv|x||yvyvyvvvyvvvvvvv|vvvv|vyyvvvvvvy|vv||vvvvvvvvvvv|yvvvyvvv|||yxyyvvvyvvyyyvv|vvyvvvvvv|vvy|xyvvvvxvyvyvyvvyvyvvyvy|vvyyw|vvv|yvvvvvywvvvvvvvy|y|vvyv|vvvvvvvvvvvxvxvvyvvvyvvvvvvvy|vvvyxvyxvvyyvvvvvvvyvvwvvvvvv|vvywvvyvvyvyy|vvv||vvvxvyvyv|vvvvyvy|wvvvvvvvvvvvvvvvvvvvvxyvvvxvywvvyvvvv|vxvvvvv|v|yxvvvvvvvyvvyvvvvyvvvvyvvv|vyvvx|vvvvxvvyvvy|vwvxvwvvvv|xv|wvyy|yvvvv|vvv|vwvvvvvv|vvyv|xvywvyvvvv|vvvvvvvvv|yvv|vv|vvxvyv|v|vyvyvvvvxwyyvvvvv|wvxv|vvyvvvyvvv|vyvvvvyvv|v|vvyv|v|vvwvvwvyvyv|vvvvywyvv|vvv|yv|vvvwvvvyvxvvvvvvyvyvvvyvvvvvv|vvvyyxxv|vvv|vv|vvyvvvyyvvvvv|xvvyv|vv|vvvvyv|vvvyyyvvvvvvvvvvvvvvvvyv|v|vvvvvvvyvvvv|vvvvvvvvvyvvvvvvyw|yyvvvvvvvvx||yvvvvvxvxvvvvvyvyvvvvvvvvvvyvvvv||w|vvyvyyvvvvyvvv|vvvyvvyvvvv||vvyyxvvyvvv|vxvyvv|vyvyyvvvyv||vvvwvyyvvvvvvvvv|vvvvvvyvvvvywvvvyvvvvxvvvy|vvwvyv|v|vvvvyvxvvwvvyvxvvyvvyv|yvvyyvyvyvvvvyyvvvvvy|vvvvyvvyvvvvvvyvvvyv|y|yvvyvvvy|yvvx|vxvv|yy|vvyyvvvv|vxvvvvvvvvvvxvyvvyvvyv|vvvyxyvvv|wvvyv|vwvvvvvv|vvv|v|yyvvvvvvvvv|vyvvvvvywvywvvvyvvvvw|vvv|v|vv|yvvvyvyvyvyyvvvwv|vyvyvvvv|vvvyvvvvvyvvwvvvvvvvvvvvyyvyvyxvv|xvvyv||yvv|v|yvvvvvyvvv|vvvyx|yvv|vyyvvyvvvwvvvvvv|vvvvxywvvy|vyvvyv|ywwvvvv|vvy|vyvvvvwvv|vvv||vvyv|vvyvvyyvvvvvvvy|vxvxyyvyvvyv|vvxvvvvyvvyywvxvvvyvvv|vvvvvv|yvvyvvvvy|yy||vyvvvvvvvvyyvw|v|y|vvv|v|vvvvvyvvyvvv|yvvvyyv|vvvvvyxvv|vvvyyv|yy|yvvv|xvvvvwvv|xvv|vv|vvv|vvvvvyvvvvyyv|y|vy|vvyvvyvyvvvvvywvv|vvvv|vvvvvyv|vvv|vvwyvyv|vvvv|vvvvvy||vvv|v|yxvvvvvvyvvvyvvvvv|v|xvyyvxvvv|vvvvvvw|vyvyvvvv|yvvvvyvxvyvyvvvxvvvvv|vvvvvvvyvv|yvv|v|yvvvvyvyvvvyvvvvvvvvvwyvvvvvv|vvvvvvwvvvy|vvvyyy|vvvvvvyvvwvv||y|vvy|vvvvvvyyvvvvyyvvvvvv|v|yvv|yvv|x|vvvvvvvvv|vvv|vvvyvxvvyvvvv|v|v|yvvvvvvvvvvvvyvvvvyvy|vvvvwvvvv|vvvvvvvv|vv|yvvvvvvvyvvvvvvvyvvyvvwvvy|v|vvvvvvyvvvvxvvv|vvvvvvvvxvvvvyvv|vv|y|vvy|v|vvvvvxyvyvvxv|vvvvvvvv|vvvvvvv|vyyyvvvxvvy|yxvvvvyvy|vyvvyvvyv|yyvvvyvvvyv|vyvvyvyvvvvvvyvyvvvvyvyvxyvvvvvx|vvvvxvyvv|vvvvvvvxvyxvvvvyv|wvvwvvvvv|v|vyvvvyvvyvvv|vyvvvvvvvv|vvwvvv|vv|ywvv|vyv|vyvvvvvv||yvyvv|vv|vvv|vvvvv|vvvvvxvvvyyvvvvvvvvvvyxvvvv|yvwvv|xvyyvy|vxv|vvyvyvxvvyvv|yvyxvvw|vyvv|vvvvvvvvvy|wvv|vvvv|vv|vvvvvvvvy|vy|vvvyywyvyyvvvvwvyvvvyvvvvvvvvvv|y|yv|yyvvvvxvwvy|||vxyyv|vv|vvv|vv|yvvvvvw|yvyyyyv|vyyvvvyvvyvvvvvvyyv|vvyv|vyvvvvy|vvwv|vyxvvvvvv|vvvwvv||vvv|vxvvvvvwvv|vvvvvvvvvvvvvvwvvvvvyvvvvvvyyyyy|vvyywvyvv|vvyw|vy|vvvvvvvvvvvvvvyvvvvy|vvvvvyvxvvvvyyvyvvvxvvvxvvvyvvvvwvvyvvvvvxvvvvwvy|vvvvwvvyvvvyyxvv|vvvvwvyvvvvvyyv|vyyyvvvvyvvvyvv|vyyxvvyvyvv|vvvyyvvv|yvvvvvv|vvyvvxyvyvvyvvvvvvv||v|vv|vyvvvvvvy|v|vvxvvvyyvvvwvvvvvywyvvvv|v|vvxyyvvvvvvvvvxyyv|yvvvvvvyvvvvvyv|y|vwvvwvvvyvvvv|vy||vv|yvvyv|vvyvvvvvvyvvy|vyvvvyvy|yyyvvvvv|vvvvyvvxyvvvvvyvyvyv||y|vvvvvvvxvyy|vvxvyvvvvyvvvvvvv|vyvvvvvvyvvvyyv|vvvyyvvyvwvvyvvvvvvvv|vvvyvwvyvvvv|vyvv|vvvv|vvvvvv|vyyvvvvvvvvyyyyvvx||vv|vvvvvyvvyvyvvvv|vvyyxvvvvvvvy||vvvvvvyv|||yv|vvvyvvyyvvyvvvvvvv|vw|yvyy|vyvvvvvyyvvy|vvvvvvyvvyvyvvv|vvvvvvvw|vv|yvvvvvvwyy|vvvvv|||vvvvw|vvvvvvwvvvwvv|yvyv|v|vv|vvvyvxvvvwvyv||vv|yyvvvywvv|yvvvvywvvvvvvvyv||vyvyvyyyvvvvvyyvvvv|vvvvxvvvyvwvvyvvvyvvvyvvvvvvxv|vyvyvvvvvvyvyvxxvvvvvvyyvvv|v|vyvyvy||vyvyvvvvvywvvvvvv|vvvy|vvvvyvv|vyvvyvvyvvvvvvvv|vvvvvvv|vxxvvvvvvxxx|vvvvv|vv|vvvvvvyvvvvvvvvvyyvwvvv||vvvv|vvvv|vwvv|vvvvyvv|vyvyyvvyvyvyvvyv|vvyvvvx|yvwyyv|vv|v|vvvv|vvvv||vvvvvyvvy|vyyvv|vvvvvvvvvvvvvwvyyv|vvvvvvv|xvyvvvvvv|v||vvxwyvvxvvvvyvyvvvvvxvvv|yvy|yyyvvyvvvvvv|vvy|vvy|vvvyv||vvvxvvvyyvvv|vvvvvyvvvv|yvvvvvywvvyvvvv|vvvvyyyvwvvvvvwxvvv|yvvvvvyvxvvvv|vvv|yyvy|vvyvyvw|vvyv||vxwyyvvv||yv|yvv|v|vvy|vy|vy|yxvvvvxyvyvxvvvvvyvvvvyvvvyyv|yvvyvvvyvvv|vyvyyy|vvv|vxvvvvv|vvyv|vv|vy|vvyvvvvvvyvvvvvv|v|vyv||v|vvyyv|vvvvvwyvvvvvvyv|vvxvvvvy|vvvvyy|vvvv|vyvvvvy|vv|vx|vvyy||vvyvyvv||yyvvv|vvyvvvyvyvvvvvvxvv|vvyyvyvvvvvvxvvyvyvyyvvvvvyyvvvv|wvvyvvvv|yvwywvvvvvvvyvvvvyyyvvvvvvv|vvvyyyvvvv|vy|vvvvvvyvvvvvvvvvyvyvvvv|vyvvvvvvv|v|vvvvxv|vyyvvvvvvxyyvvvvvv|vyvyyvyv|yvyv||vvvyvyv|vvvvvvvyvvyv|v|vyvvvvvvyvvvyvwvvvvvvvvvvvvvvvvvvy|ywvvv|vvyvyvvvvvvvwyvvyyyvvvvvvvvvvvvvvwwvyvyvvyvvv|vyvyvywywvvvvvvvv|v|vvyyvvv|vy||w|vvyv|vyvvvvy|yyvvvvvvyvvvvvv|yv|vvvvvvvvvyyvvvv|yxvyvv|vvvvvvvyvvvyyvvvvyvvvvvvvv|vv|vy|v|vy|v|vyyv||vvvvwv||vvvyvvvvvvvyyyvvvv|vvvvvvyvvyvvvv|vvvyvyvvvvyyvvvy||vvvyvvyyvvvvyyvwvvvv|yvvvvvyvwvvyvvvvvvwyvvvv||xvvvwvvxvyxyvvvvvvvyvvyvv|yyvvv|vvyvyyvyvyywvvvyvv|v|vvvyxvvvvvvvyvvv|vvvvvvvvvvyyvv|yvv|vvvyvvvv|vvv|v|vvvvvvyyyvyyyvvvvyvvvyvvvvvvvy|yyvv|v|vvxvvvvvyv||vvvvvvvvvyyvyvvvyyvvw|vvvvvvv|vvvvvvv|v|vvyvvvyvvxvvvyvvv|vvvvv|vvv|vvvx|vv|vyv|yv|yvyvv||v|yvyvvxvyvv|yvvyvyyvvvyyvvvvyvvyvvyv|yvvvxvyyvvvvvyyvvvyyv|yvvvvvvvwvvvyvwvvyvvvvyv|vvyvvvyyxvwyvvvvvvvvyvvvyvv|vvvvvyvwvy||v|||vvvvxvvvxwy|vyv|xvv|wv|yvxy|vvyvvyyvvvwyvvvwv|v|vv|vvvvvvv|vyvyyvvvvvvvvyvvyyvvyvvv|vvvyy|yv|xvvv|vvvvyvvxv|vvvvvvyvvvyvv|vvvvvvvvyvyv|vvvvvyvvvxv|vxvvvvvvxyvvvvyv||vvyxvvvvvw|v|vvvyvvvv|vvvvwy|vyvvy|vvvwvvvvvvvvvvvvvvy|vyvvyvvx|vv|vvvvvv|vvvyvyyvwvvv|vvvv|v||v|vvvv|vvvyxyv||vwvvvvvvvvvv|y|vvvv|vvvvvvyvxxvvyvvvvvvyvvvv||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
\ No newline at end of file diff --git a/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/_4.prx b/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/_4.prx Binary files differnew file mode 100644 index 0000000..238226b --- /dev/null +++ b/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/_4.prx diff --git a/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/_4.tii b/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/_4.tii Binary files differnew file mode 100644 index 0000000..3b536ad --- /dev/null +++ b/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/_4.tii diff --git a/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/_4.tis b/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/_4.tis Binary files differnew file mode 100644 index 0000000..d36d9c8 --- /dev/null +++ b/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/_4.tis diff --git a/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/segments.gen b/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/segments.gen Binary files differnew file mode 100644 index 0000000..53b4656 --- /dev/null +++ b/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/segments.gen diff --git a/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/segments_5 b/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/segments_5 Binary files differnew file mode 100644 index 0000000..5634721 --- /dev/null +++ b/sem_5/HLIN505_Java/.recommenders/index/http___download_eclipse_org_recommenders_models_oxygen_/segments_5 diff --git a/sem_5/HLIN505_Java/HLIN505/.classpath b/sem_5/HLIN505_Java/HLIN505/.classpath new file mode 100644 index 0000000..33db24f --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/.classpath @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="lib" path="C:/Users/coule/Downloads/cofoja.asm-1.3-20160207.jar"/>
+ <classpathentry kind="src" path=".apt_generated">
+ <attributes>
+ <attribute name="optional" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/sem_5/HLIN505_Java/HLIN505/.factorypath b/sem_5/HLIN505_Java/HLIN505/.factorypath new file mode 100644 index 0000000..a7dbadb --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/.factorypath @@ -0,0 +1,3 @@ +<factorypath> + <factorypathentry kind="EXTJAR" id="C:\Users\coule\Downloads\cofoja.asm-1.3-20160207.jar" enabled="true" runInBatchMode="false"/> +</factorypath> diff --git a/sem_5/HLIN505_Java/HLIN505/.gitignore b/sem_5/HLIN505_Java/HLIN505/.gitignore new file mode 100644 index 0000000..e66a2ba --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/.gitignore @@ -0,0 +1,2 @@ +/bin/ +/.apt_generated/ diff --git a/sem_5/HLIN505_Java/HLIN505/.project b/sem_5/HLIN505_Java/HLIN505/.project new file mode 100644 index 0000000..bb13130 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/.project @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>HLIN505</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/sem_5/HLIN505_Java/HLIN505/.settings/org.eclipse.jdt.apt.core.prefs b/sem_5/HLIN505_Java/HLIN505/.settings/org.eclipse.jdt.apt.core.prefs new file mode 100644 index 0000000..586ea86 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/.settings/org.eclipse.jdt.apt.core.prefs @@ -0,0 +1,6 @@ +eclipse.preferences.version=1
+org.eclipse.jdt.apt.aptEnabled=true
+org.eclipse.jdt.apt.genSrcDir=.apt_generated
+org.eclipse.jdt.apt.processorOptions/com.google.java.contract.classoutput=%PROJECT.DIR%/.apt_generated
+org.eclipse.jdt.apt.processorOptions/com.google.java.contract.classpath=%PROJECT.DIR%/lib/cofoja.asm-1.3-20160207.jar
+org.eclipse.jdt.apt.reconcileEnabled=true
diff --git a/sem_5/HLIN505_Java/HLIN505/.settings/org.eclipse.jdt.core.prefs b/sem_5/HLIN505_Java/HLIN505/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..5f0539d --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,12 @@ +eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.processAnnotations=enabled
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/sem_5/HLIN505_Java/HLIN505/lib/cofoja.asm-1.3-20160207.jar b/sem_5/HLIN505_Java/HLIN505/lib/cofoja.asm-1.3-20160207.jar Binary files differnew file mode 100644 index 0000000..ca1ae87 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/lib/cofoja.asm-1.3-20160207.jar diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP1/Adherent.java b/sem_5/HLIN505_Java/HLIN505/src/TP1/Adherent.java new file mode 100644 index 0000000..0edcb1c --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/TP1/Adherent.java @@ -0,0 +1,25 @@ +package TP1;
+
+import java.util.GregorianCalendar;
+
+public class Adherent {
+ private String nom;
+ private Boolean cotisationajour;
+ private final Integer ID;
+ private static Integer NbAdherents=0;
+ private Integer DerniereAnneeCotis;
+ public Adherent (String n) {
+ nom = n;
+ NbAdherents ++;
+ cotisationajour = true;
+ ID = NbAdherents;
+ DerniereAnneeCotis = new GregorianCalendar().get(GregorianCalendar.YEAR);
+ }
+ public void readhesion() {
+ cotisationajour=true;
+ DerniereAnneeCotis= new GregorianCalendar().get(GregorianCalendar.YEAR);
+ }
+ public void nouvelleAnnee() {
+ cotisationajour = false;
+ }
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP1/Creneau.java b/sem_5/HLIN505_Java/HLIN505/src/TP1/Creneau.java new file mode 100644 index 0000000..2bec420 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/TP1/Creneau.java @@ -0,0 +1,40 @@ +package TP1;
+
+public class Creneau {
+ private Heure hdeb;
+ private Heure hfin;
+ private JourSemaine jour;
+
+ protected Heure getHdeb() {
+ return hdeb;
+ }
+ protected void setHdeb(Heure hdeb) {
+ this.hdeb = hdeb;
+ }
+ protected Heure getHfin() {
+ return hfin;
+ }
+ protected void setHfin(Heure hfin) {
+ this.hfin = hfin;
+ }
+ protected JourSemaine getJour() {
+ return jour;
+ }
+ protected void setJour(JourSemaine jour) {
+ this.jour = jour;
+ }
+ public Creneau ( Heure deb, Heure fin, JourSemaine j) {
+ setHdeb(deb);
+ setHfin(fin);
+ setJour(j);
+ }
+ public Boolean chevauche(Creneau c) {
+ return (getHdeb().estAvant(c.getHfin())||c.getHdeb().estAvant(getHfin()));
+ }
+ public Boolean estInclusDans(Creneau c) {
+ return ((c.getHdeb().estAvant(getHdeb()) && (getHfin().estAvant(c.getHfin()))));
+ }
+ public String toString() {
+ return getJour().toString()+" "+ getHdeb().toString()+" - "+ getHfin().toString();
+ }
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP1/Heure.java b/sem_5/HLIN505_Java/HLIN505/src/TP1/Heure.java new file mode 100644 index 0000000..5ea86e8 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/TP1/Heure.java @@ -0,0 +1,59 @@ +package TP1;
+
+public class Heure {
+ private Integer hour;
+ private Integer min;
+ private static Integer granularitee= 5;
+ private static Integer hMin = 7;
+ private static Integer hMax = 22;
+
+ public Heure (Integer h, Integer m) {
+ hour = new Integer(h);
+ min=new Integer(m);
+ //setHour(h);
+ //setMin(m);
+ }
+
+ protected Integer getHour() {
+ return hour;
+ }
+
+ protected void setHour(Integer hour) {
+ if ( (hour <= hMin ) && (hour < hMax)) {
+ this.hour = hour;
+ }
+ }
+
+ protected Integer getMin() {
+ return min;
+ }
+
+ protected void setMin(Integer min) {
+ if ((min <=55) && (min % granularitee == 0) && (min >=0)) {
+ this.min = min;
+ }
+ }
+ public String toString () {
+ String htemp;
+ String mtemp;
+ if (getHour().intValue() < 10) {
+ htemp = "0"+getHour().toString();
+ }
+ else htemp = getHour().toString();
+ if (getMin().intValue() < 10) {
+ mtemp = "0"+getMin().toString();
+ }
+ else mtemp = getMin().toString();
+ return htemp+":"+mtemp;
+ }
+ public Boolean estAvant(Heure h) {
+ if (h.getHour() < getHour()) {
+ return false;
+ }
+ else if ( h.getHour() > getHour()) {
+ return true;
+ }
+ else return (h.getMin()>getMin());
+ }
+
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP1/JourSemaine.java b/sem_5/HLIN505_Java/HLIN505/src/TP1/JourSemaine.java new file mode 100644 index 0000000..35b99a6 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/TP1/JourSemaine.java @@ -0,0 +1,11 @@ +package TP1;
+
+public enum JourSemaine {
+Lundi,
+Mardi,
+Mercredi,
+Jeudi,
+Vendredi,
+Samedi,
+Dimanche;
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP1/Lieu.java b/sem_5/HLIN505_Java/HLIN505/src/TP1/Lieu.java new file mode 100644 index 0000000..567fd3c --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/TP1/Lieu.java @@ -0,0 +1,29 @@ +package TP1;
+
+import java.util.*;
+
+public enum Lieu {
+ Stade("Stade de foot"),
+ Gymnase("Gymnase"),
+ Piscine("La piscine");
+ private ArrayList<Creneau> horairedispo = new ArrayList<Creneau>();
+ private String nom = "";
+
+ private Lieu(String nom){
+ this.nom = nom;
+ }
+ public String toString() {
+ String tmp = this.nom+"\n";
+ for (Creneau c:horairedispo)
+ tmp += c.toString()+"\n";
+ return tmp;
+ }
+
+
+ public void ajoutCreneauDisponible(Creneau c) {
+ horairedispo.add(c);
+ }
+ public Boolean estdisponiblePour(Creneau c) {
+ return horairedispo.contains(c);
+ }
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP1/ListeChainee.java b/sem_5/HLIN505_Java/HLIN505/src/TP1/ListeChainee.java new file mode 100644 index 0000000..d4b101a --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/TP1/ListeChainee.java @@ -0,0 +1,64 @@ +package TP1;
+
+public class ListeChainee {
+ private Node racine;
+ class Node {
+ private String nom;
+ private Node suivant;
+ public Node (String val) {
+ nom = val;
+ suivant = null;
+ }
+ public Node (String val, Node suiv) {
+ nom = val;
+ suivant = suiv;
+ }
+ }
+ public void push (String val) {
+ int tmp = this.taille();
+ racine= new Node(val,racine);
+ assert(tmp == this.taille()+1);
+ }
+ public int taille() {
+ int cpt=0;
+ Node tmp = racine;
+ if (tmp == null) {
+ return 0;
+ }
+ while (tmp.suivant!=null) {
+ cpt ++;
+ tmp=tmp.suivant;
+ }
+ return cpt;
+ }
+ public void affiche() {
+ Node tmp = racine;
+ while ( tmp != null) {
+ System.out.println(tmp.nom);
+ tmp = tmp.suivant;
+ }
+ }
+ public void renverser() {
+ int tailleAvant = this.taille();
+ ListeChainee elem = new ListeChainee();
+ elem.push(this.racine.nom);
+ Node runner = this.racine.suivant;
+ while(runner != null) {
+ elem.push(runner.nom);
+ runner = runner.suivant;
+ }
+ this.racine = elem.racine;
+ assert (this.taille() == tailleAvant);
+ }
+
+ public static void main (String args []) {
+ ListeChainee li = new ListeChainee();
+ li.push("Zbeb1");
+ li.push("Zbeb2");
+ li.push("Zbeb3");
+ li.affiche();
+ li.renverser();
+ li.affiche();
+ }
+
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP1/Main.java b/sem_5/HLIN505_Java/HLIN505/src/TP1/Main.java new file mode 100644 index 0000000..a207920 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/TP1/Main.java @@ -0,0 +1,32 @@ +package TP1;
+
+public class Main {
+
+ public static void main(String[] args) {
+ Heure h1 = new Heure(8,0);
+ Heure h2 = new Heure(9,30);
+ Heure h3 = new Heure(10,25);
+ Heure h4 = new Heure(12,55);
+ Heure h5 = new Heure(16,15);
+ Heure h6 = new Heure(17,00);
+ Lieu l1 = Lieu.Stade;
+ Lieu l2 = Lieu.Piscine;
+ Lieu l3 = Lieu.Gymnase;
+ JourSemaine j1 = JourSemaine.Lundi;
+ JourSemaine j2 = JourSemaine.Mardi;
+ Creneau c1 = new Creneau(h1,h2,j1);
+ Creneau c2 = new Creneau(h2,h3,j2);
+ Creneau c3 = new Creneau(h1,h2,j1);
+ Creneau c4 = new Creneau(h5,h6,j1);
+ Creneau c5 = new Creneau(h4,h6,j2);
+ l1.ajoutCreneauDisponible(c1);
+ l2.ajoutCreneauDisponible(c2);
+ l3.ajoutCreneauDisponible(c3);
+ l1.ajoutCreneauDisponible(c5);
+ l2.ajoutCreneauDisponible(c4);
+ System.out.println(l1.toString());
+ System.out.println(l2.toString());
+ System.out.println(l3.toString());
+ }
+
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP2/Constante.java b/sem_5/HLIN505_Java/HLIN505/src/TP2/Constante.java new file mode 100644 index 0000000..5d3cb70 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/TP2/Constante.java @@ -0,0 +1,11 @@ +package TP2;
+
+public class Constante extends Exp {
+ float val;
+ public float eval() {
+ return val;
+ }
+ public Constante(float x) {
+ val = x;
+ }
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP2/Exp.java b/sem_5/HLIN505_Java/HLIN505/src/TP2/Exp.java new file mode 100644 index 0000000..b465d4c --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/TP2/Exp.java @@ -0,0 +1,5 @@ +package TP2;
+
+public abstract class Exp {
+ public abstract float eval ();
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP2/ExpComp.java b/sem_5/HLIN505_Java/HLIN505/src/TP2/ExpComp.java new file mode 100644 index 0000000..30cfc2e --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/TP2/ExpComp.java @@ -0,0 +1,28 @@ +package TP2;
+
+public class ExpComp extends Exp{
+ private Exp val1;
+ private Exp val2;
+ private String op;
+
+ public ExpComp (Exp v1,String op, Exp v2) {
+ val1= v1;
+ this.op = op;
+ val2=v2;
+ }
+
+ public float eval() {
+ switch (op) {
+ case "*":
+ return val1.eval()*val2.eval();
+ case "/":
+ return val1.eval()/val2.eval();
+ case "+":
+ return val1.eval()+val2.eval();
+ case "-":
+ return val1.eval()-val2.eval();
+ default :
+ return 0;
+ }
+ }
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP2/Main.java b/sem_5/HLIN505_Java/HLIN505/src/TP2/Main.java new file mode 100644 index 0000000..de235ce --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/TP2/Main.java @@ -0,0 +1,19 @@ +package TP2;
+
+public class Main {
+
+ public static void main(String[] args) {
+ Constante a = new Constante(5);
+ Constante b = new Constante(2);
+ Constante c = new Constante(3);
+ ExpComp e1 = new ExpComp(a,"+",b);
+ ExpComp e2 = new ExpComp(e1,"*",c);
+ ExpComp e3 = new ExpComp(new Constante(4),"*",e2);
+ System.out.println(a.eval());
+ System.out.println(e1.eval());
+ System.out.println(e2.eval());
+ System.out.println(e3.eval());
+
+ }
+
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP3/FicText.java b/sem_5/HLIN505_Java/HLIN505/src/TP3/FicText.java new file mode 100644 index 0000000..d50656f --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/TP3/FicText.java @@ -0,0 +1,47 @@ +package TP3;
+
+import java.io.*;
+
+public class FicText {
+ public static Boolean existsfile (String nom) throws IOException {
+ Boolean exist= true;
+ try {
+ BufferedReader lectureFichier = new BufferedReader(new FileReader(nom));
+ lectureFichier.close();
+ }
+ catch(FileNotFoundException e) {exist = false;}
+ return exist;
+ }
+
+ public static BufferedReader searchFile () throws IOException{
+ BufferedReader lectureClavier = new BufferedReader(new InputStreamReader (System.in));
+ String aouvrir = lectureClavier.readLine();
+ while (!existsfile(aouvrir)) {
+ System.out.println("Fichier introuvable");
+ aouvrir = lectureClavier.readLine();
+ }
+ BufferedReader lectureFichier = new BufferedReader(new FileReader(aouvrir));
+ return lectureFichier;
+ }
+
+
+ public static void main (String args[]) throws IOException{
+// int nbcharac=0;
+// BufferedReader lectureFichier;
+// try {
+// lectureFichier = searchFile();
+// }
+// catch(FileNotFoundException e) {lectureFichier = searchFile(); };
+// String s = lectureFichier.readLine();
+// while ( s != null) {
+// nbcharac += s.replace(" ","").length();
+// System.out.println(s);
+// s= lectureFichier.readLine();
+//
+// }
+ if (1) {
+ System.out.println("Nombre de characteres autres qu'espace: " + nbcharac);
+ lectureFichier.close();
+
+ }
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP4/AbstractAudioElement.java b/sem_5/HLIN505_Java/HLIN505/src/TP4/AbstractAudioElement.java new file mode 100644 index 0000000..078ece9 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/TP4/AbstractAudioElement.java @@ -0,0 +1,31 @@ +package TP4;
+
+import java.io.*;
+
+public abstract class AbstractAudioElement implements IelementAudio{
+ private String Name;
+ private String Path;
+ private File fichier;
+ public String getName() {
+ return Name;
+ }
+ public void setName(String name) {
+ Name = name;
+ }
+ public String getPath() {
+ return Path;
+ }
+ public void setPath(String path) {
+ Path = path;
+ }
+ public File getFichier() {
+ return fichier;
+ }
+ public void setFichier(File fichier) {
+ this.fichier = fichier;
+ }
+ public AbstractAudioElement(String p){
+ setPath(p);
+ fichier= new File(Path);
+ }
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP4/IelementAudio.java b/sem_5/HLIN505_Java/HLIN505/src/TP4/IelementAudio.java new file mode 100644 index 0000000..febe561 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/TP4/IelementAudio.java @@ -0,0 +1,12 @@ +package TP4;
+
+public interface IelementAudio {
+ public int getLength();
+ public void setLength(int length);
+ public String getName();
+ public void setName(String name);
+ public String getPath();
+ public void setPath(String path);
+ public int getSize();
+ public void setSize() throws SecurityException;
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP4/IncorrectFileNameException.java b/sem_5/HLIN505_Java/HLIN505/src/TP4/IncorrectFileNameException.java new file mode 100644 index 0000000..f819343 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/TP4/IncorrectFileNameException.java @@ -0,0 +1,18 @@ +package TP4;
+
+public class IncorrectFileNameException extends Exception {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ private String path;
+ public String getPath() {
+ return path;
+ }
+ public void setPath(String path) {
+ this.path = path;
+ }
+ public IncorrectFileNameException(String path){
+ setPath(path);
+ }
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP4/Iplaylist.java b/sem_5/HLIN505_Java/HLIN505/src/TP4/Iplaylist.java new file mode 100644 index 0000000..58cfaff --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/TP4/Iplaylist.java @@ -0,0 +1,6 @@ +package TP4;
+
+public interface Iplaylist extends IelementAudio {
+ public int getnbElements();
+ public void setNbElements();
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP4/SimplePlayList.java b/sem_5/HLIN505_Java/HLIN505/src/TP4/SimplePlayList.java new file mode 100644 index 0000000..a65fc25 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/TP4/SimplePlayList.java @@ -0,0 +1,60 @@ +package TP4;
+
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.ArrayList;
+
+public class SimplePlayList extends AbstractAudioElement implements Iplaylist{
+ private ArrayList<Song> liste;
+ private int Length;
+ private int Size;
+ private int nbElements;
+ public SimplePlayList (String titre, String Path) throws IOException {
+ super(Path);
+ setName(titre);
+ if (!getFichier().exists()) {
+ getFichier().createNewFile();
+ }
+
+
+ }
+ private void browseFile() throws IOException, NumberFormatException, IncorrectFileNameException {
+ BufferedReader read = new BufferedReader(new FileReader(getPath()));
+ String tmp = read.readLine();
+ while (!tmp.isEmpty()) {
+ liste.add(new Song(Integer.parseInt(tmp.split("\\")[0]),tmp.split("\\")[1],tmp.split("\\")[2],tmp.split("\\")[3]));
+ tmp = read.readLine();
+ }
+ read.close();
+ }
+ public int getLength() {
+ return this.Length;
+ }
+ public void setLength() {
+ Length=0;
+ for ( Song s : liste) {
+ Length+=s.getLength();
+ }
+ }
+ public int getSize() {
+ return this.Size;
+ }
+ public void setSize() throws SecurityException{
+ Size = 0;
+ for(Song s : liste) {
+ Size+=s.getSize();
+ }
+ }
+ public int getnbElements() {
+ return nbElements;
+ }
+ public void setNbElements() {
+ nbElements=liste.size();
+ }
+ @Override
+ public void setLength(int length) {
+ // TODO Auto-generated method stub
+
+ }
+ }
diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP4/Song.java b/sem_5/HLIN505_Java/HLIN505/src/TP4/Song.java new file mode 100644 index 0000000..d82c94f --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/TP4/Song.java @@ -0,0 +1,41 @@ +package TP4;
+
+public class Song extends AbstractAudioElement {
+ private String artiste;
+ private int length;
+ private int size;
+
+ public Song (int l, String t,String p, String a) throws IncorrectFileNameException{
+ super(p);
+ setLength(l);
+ setArtiste(a);
+ setName(t);
+ setSize();
+ if (!getFichier().exists()) {
+ throw new IncorrectFileNameException(p);
+ }
+ }
+
+ public String getArtiste() {
+ return artiste;
+ }
+ public void setArtiste(String artiste) {
+ this.artiste = artiste;
+ }
+ public int getLength() {
+ return length;
+ }
+
+ public void setLength(int length) {
+ this.length=length;
+ }
+
+ public int getSize() {
+ return size;
+ }
+
+ public void setSize() throws SecurityException {
+ this.size=(int)getFichier().length();
+ }
+
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP6/foobar.tar.gz b/sem_5/HLIN505_Java/HLIN505/src/TP6/foobar.tar.gz Binary files differnew file mode 100644 index 0000000..5372441 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/TP6/foobar.tar.gz diff --git a/sem_5/HLIN505_Java/HLIN505/src/foobar/FooBarException.java b/sem_5/HLIN505_Java/HLIN505/src/foobar/FooBarException.java new file mode 100644 index 0000000..5809650 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/foobar/FooBarException.java @@ -0,0 +1,9 @@ +package foobar; + +public class FooBarException extends Exception { + + /** + * + */ + private static final long serialVersionUID = 1L; +} diff --git a/sem_5/HLIN505_Java/HLIN505/src/foobar/SUT.java b/sem_5/HLIN505_Java/HLIN505/src/foobar/SUT.java new file mode 100644 index 0000000..7d29953 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/foobar/SUT.java @@ -0,0 +1,48 @@ +package foobar; + +public class SUT { + private int x; + private int y; + private int z; + + public SUT(int x, int y, int z) { + this.x = x; + this.y = y; + this.z = z; + } + public SUT(){ + x=1; + y=3; + z=5; + } + + /** + * Si t est strictement plus petit que x, on retourne x, sinon si t est strictement plus grand que z, on retourne z, sinon on retourne y. + * @param t un entier quelconque + * @return x si t<x, z si t>z, y sinon + */ + public int foo(int t){ + int resultat=0; + if (t<x) resultat=x; + else if (t>z) resultat=z; + else resultat=y; + return resultat; + } + + /** + * décale circulairement les valeurs de x, y et z : x prend la valeur de y, y prend la valeur de z et z prend la valeur de x + */ + public void bar(){ + int temp=x; + x=y; + y=z; + z=temp; + } + + /** + * + */ + public void foobar()throws FooBarException{ + if (x<0) throw new FooBarException(); + } +} diff --git a/sem_5/HLIN505_Java/HLIN505/src/foobar/TestFooBar.java b/sem_5/HLIN505_Java/HLIN505/src/foobar/TestFooBar.java new file mode 100644 index 0000000..ac8bde0 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/foobar/TestFooBar.java @@ -0,0 +1,64 @@ +package foobar; + +import static org.hamcrest.CoreMatchers.is; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertThat; +import static org.junit.Assert.assertTrue; + +import org.junit.Before; +import org.junit.Ignore; +import org.junit.Test; + +public class TestFooBar { + SUT sut; + + @Before + public void setUp() throws Exception { + sut=new SUT(); + } + + @Ignore + @Test + public void testLouche(){ + assertEquals(1,2); + assertTrue(false); + } + + @Test + public void testFooInitParDefaut1() { + assertTrue(sut.foo(0)==1); + assertTrue(sut.foo(2)==3); + assertTrue(sut.foo(4)==3); + assertTrue(sut.foo(6)==5); + } + + @Test + public void testFooInitParDefaut3() { + assertEquals(1,sut.foo(0)); + assertEquals(3, sut.foo(2)); + assertEquals(3, sut.foo(4)); + assertEquals(5, sut.foo(6)); + } + + + @Test + public void testFooInitParDefaut2() { + assertEquals(sut.foo(0),1); + assertEquals(sut.foo(2),3); + assertEquals(sut.foo(4),3); + assertEquals(sut.foo(6),5); + } + @Test + public void testFooInitParDefaut4() { + assertThat(sut.foo(0),is(1)); + assertThat(sut.foo(2),is(3)); + assertThat(sut.foo(4),is(3)); + assertThat(sut.foo(6),is(5)); + } + + @Test + public void testBar(){ + sut.bar(); + } + +} diff --git a/sem_5/HLIN505_Java/HLIN505/src/foobar/TestParametreFoo.java b/sem_5/HLIN505_Java/HLIN505/src/foobar/TestParametreFoo.java new file mode 100644 index 0000000..9b117d5 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/foobar/TestParametreFoo.java @@ -0,0 +1,63 @@ +package foobar; + +import static org.junit.Assert.*; + +import java.util.Arrays; +import java.util.Collection; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.junit.runners.Parameterized.Parameters; + +import static org.hamcrest.CoreMatchers.is; + +@RunWith(Parameterized.class) +public class TestParametreFoo { + + private static SUT sut; + private int x; + private int y; + private int z; + private int t; + private int res; + + @Parameters + public static Collection data() { + return Arrays.asList(new Object[][]{ + {-1, 3, 5, 2, 3}, + {5, 5, 5, 2, 5}, + {5, 5, 3, 2, 5}, + {3, 3, 5, 2, 3}, + {3, 3, 3, 2, 3}, + {1, 5, 3, 2, 5} + }); + } + + + public TestParametreFoo(int x, int y, int z, int t, int res) { + this.x = x; + this.y = y; + this.z = z; + this.res = res; + this.t=t; + } + + + @Before + public void setUp() throws Exception { + } + + @Test + public void testFoo() { + sut=new SUT(x, y, z); + assertThat(sut.foo(t), is(res)); + } + + @Test(expected=FooBarException.class) + public void TestFoobarexcept () throws FooBarException { + sut=new SUT(-1, 12, 26); + sut.foobar(); + } +} diff --git a/sem_5/HLIN505_Java/HLIN505/src/tp7/Ex1.java b/sem_5/HLIN505_Java/HLIN505/src/tp7/Ex1.java new file mode 100644 index 0000000..1a6116d --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/tp7/Ex1.java @@ -0,0 +1,59 @@ +package tp7;
+
+import java.util.ArrayList;
+
+import javax.swing.JTextField;
+
+import java.io.File;
+import java.lang.reflect.*;
+
+public class Ex1 {
+ private ArrayList Liste;
+ public Ex1 (ArrayList a) {
+ Liste=a;
+ }
+ public Method[] methodesdei (int i) {
+ Class cl = Liste.get(i).getClass();
+ Method[] m = cl.getMethods();
+ return m;
+ }
+ public Class superclasse() {
+ Class ret;
+ ArrayList<Class> cl= new ArrayList<Class>();
+ for (int i = 0; i < Liste.size(); i++) {
+ cl.add(Liste.get(i).getClass());
+ }
+ ArrayList<Class> cl2 = new ArrayList<Class>();
+ while (cl2.add(cl.get(0).getSuperclass()));
+ Object tmp2=new Object();
+ ret = tmp2.getClass();
+ for (Class tmp : cl2) {
+ Boolean fornow = true;
+ for (int i = 1; i < Liste.size(); i ++) {
+ if (!tmp.isInstance(Liste.get(i))){
+ fornow = false;
+ }
+ }
+ if (fornow) {
+ ret = tmp;
+ break;
+ }
+ }
+ return ret;
+ }
+
+ public <T> void add (T obj) {
+ Liste.add(obj);
+ }
+
+ public static void main (String[] args) {
+ ArrayList<Object> list = new ArrayList<Object>();
+ list.add(new Integer(12));
+ list.add(new String("allo"));
+ list.add(new Double(12.2311));
+ list.add(new File("."));
+ list.add(new JTextField());
+ Ex1 test = new Ex1(list);
+ System.out.println(test.superclasse());
+ }
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/tp7/ManipAnnot.java b/sem_5/HLIN505_Java/HLIN505/src/tp7/ManipAnnot.java new file mode 100644 index 0000000..2b4dcd6 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/tp7/ManipAnnot.java @@ -0,0 +1,5 @@ +package tp7;
+
+public class ManipAnnot {
+
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/tp7/Persobonus.java b/sem_5/HLIN505_Java/HLIN505/src/tp7/Persobonus.java new file mode 100644 index 0000000..9b74195 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/tp7/Persobonus.java @@ -0,0 +1,17 @@ +package tp7;
+
+public class Persobonus extends Personnage{
+ private int palier;
+ public void setpoint (int point) {
+ super.setpoint(point+super.getpoint());
+ if (getpoint()/palier>0) {
+ setUp(getUp()+getpoint()/palier);
+ super.setpoint(getpoint()%palier);
+ }
+ }
+ public Persobonus(String nom, int point, int Up, int palier) {
+ super(nom,point,Up);
+ this.palier=palier;
+ this.setpoint(0);
+ }
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/tp7/Persoinvisible.java b/sem_5/HLIN505_Java/HLIN505/src/tp7/Persoinvisible.java new file mode 100644 index 0000000..5599ddb --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/tp7/Persoinvisible.java @@ -0,0 +1,24 @@ +package tp7;
+
+public class Persoinvisible extends Personnage {
+ private Boolean visible;
+ private int invtime;
+ private int cd;
+ public void devenirInvisible() {
+ visible=false;
+ invtime=5;
+ }
+ public void devenirVisible() {
+ visible = true;
+ invtime=0;
+ cd = 5;
+ }
+ @Todo(type="Incroyable", version="0.12", dureeapprox=120)
+
+ public Persoinvisible (String nom, int point, int Up, Boolean visible, int invtime, int cd) {
+ super(nom,point,Up);
+ this.visible=visible;
+ this.invtime=invtime;
+ this.cd=cd;
+ }
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/tp7/Personnage.java b/sem_5/HLIN505_Java/HLIN505/src/tp7/Personnage.java new file mode 100644 index 0000000..2d1a8ff --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/tp7/Personnage.java @@ -0,0 +1,35 @@ +package tp7;
+
+public abstract class Personnage {
+ private String nom;
+ private int point;
+ private int up;
+ public String getNom() {
+ return nom;
+ }
+ public void setNom(String nom) {
+ this.nom = nom;
+ }
+ public int getpoint() {
+ return point;
+ }
+ public void setpoint(int point) {
+ this.point = point;
+ }
+ public int getUp() {
+ return up;
+ }
+ public void setUp(int up) {
+ this.up = up;
+ }
+ public Personnage (String nom, int point, int Up) {
+ this.nom=nom;
+ this.point=point;
+ this.up=Up;
+ }
+ public Personnage() {
+ nom="defaut";
+ point=0;
+ up=3;
+ }
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/tp7/Todo.java b/sem_5/HLIN505_Java/HLIN505/src/tp7/Todo.java new file mode 100644 index 0000000..2ce9318 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/tp7/Todo.java @@ -0,0 +1,7 @@ +package tp7;
+
+public @interface Todo {
+ String type();
+ String version();
+ int dureeapprox();
+}
\ No newline at end of file diff --git a/sem_5/HLIN505_Java/HLIN505/src/tp7/fabriquePerso.java b/sem_5/HLIN505_Java/HLIN505/src/tp7/fabriquePerso.java new file mode 100644 index 0000000..5123c79 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/tp7/fabriquePerso.java @@ -0,0 +1,38 @@ +package tp7;
+
+import java.lang.reflect.*;
+import java.util.ArrayList;
+
+public class fabriquePerso {
+ public Personnage creer(String name) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
+ if (name.equals("Persoinvisible") || name.equals("Persobonus")) {
+ Class t = Class.forName(name);
+ Personnage ret = (Personnage) t.newInstance();
+ return ret;
+ }
+ else {
+ return null;
+ }
+ }
+ public Personnage ficheperso (Personnage pers) {
+ Class c=pers.getClass();
+ Field[] fields = c.getDeclaredFields();
+ ArrayList<Field> AF = tabtoarray(fields);
+ Method[] Methodes = c.getDeclaredMethods();
+ while ((c=c.getSuperclass()) != null) {
+ Field[] tmp = c.getDeclaredFields();
+ for (Field f : tmp) {
+ AF.add(f);
+ }
+
+ }
+ System.out.println("Entrer");
+ }
+ public ArrayList<Field> tabtoarray(Field[] f){
+ ArrayList<Field> ret = new ArrayList<Field>();
+ for (int i =0; i < f.length; i ++) {
+ ret.add(f[i]);
+ }
+ return ret;
+ }
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/Etape.java b/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/Etape.java new file mode 100644 index 0000000..6cc127c --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/Etape.java @@ -0,0 +1,57 @@ +package visites.toTest; + +public class Etape { + private int dureeVisite; + private NatureEtape type; + private String nom; + private String rue; + + public Etape(String nom, String rue, int dureeVisite, NatureEtape type) { + this.nom=nom; + this.dureeVisite = dureeVisite; + this.type = type; + } + + public NatureEtape getType() { + return type; + } + + public void setType(NatureEtape type) { + this.type = type; + } + + public String getNom() { + return nom; + } + + public void setNom(String nom) { + this.nom = nom; + } + + public int getDureeVisite() { + return dureeVisite; + } + + public void setDureeVisite(int dureeVisite) { + this.dureeVisite = dureeVisite; + } + + public String getRue() { + return rue; + } +/** + * vérifie que l'étape est correcte, c'est à dire que la durée de visite n'est nulle que s'il s'agit d'un lieu d'intérêt sans visite. + * @return vrai ssi duree de visite nulle <=> lieu d'intérêt sans visite + */ + public boolean estCorrecte(){ + if ( dureeVisite == 0 ) { + if (type==NatureEtape.lieuInteretSansVisite) { + return true; + } + else { + return false; + } + } + return type!=NatureEtape.lieuInteretSansVisite; + } +} diff --git a/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/NatureEtape.java b/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/NatureEtape.java new file mode 100644 index 0000000..807dff6 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/NatureEtape.java @@ -0,0 +1,8 @@ +package visites.toTest; + +public enum NatureEtape { +musee, +visiteMonument, +visiteJardin, +lieuInteretSansVisite; +} diff --git a/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/Parcours.java b/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/Parcours.java new file mode 100644 index 0000000..ccc0db9 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/Parcours.java @@ -0,0 +1,65 @@ +package visites.toTest; +import java.util.Vector; + + +public class Parcours { + private Vector<Troncon> troncons=new Vector<Troncon>(); + + public void ajoutTroncon(Troncon t){ + boolean ajout=true; + + if (!troncons.isEmpty()){ + Troncon dernierTroncon = troncons.lastElement(); + if (dernierTroncon.getArrivee()!=t.getDepart()){ + System.out.println("erreur"); + ajout=false; + } + } + if (ajout){ + troncons.add(t); + } + } +/*** + * Calcul de la durée du parcours + * @return somme des temps de trajet des tronçons et des visites des étapes + */ + public int calculDuree(){ + int resultat=0; + for (Troncon t:troncons){ + resultat+=t.getTempsTrajet(); + resultat+=t.getDepart().getDureeVisite(); + } + return resultat; + } + + /** + * méthode permettant de déterminer s'il y a des boucles dans le circuit, autre que début/arrivée si le parcours est un circuit. + * On considère qu'il y a une boucle dès qu'il y a à l'intérieur du parcours deux passages par la même étape. + * @return retourne vrai ssi il y a au moins une boucle dans le parcours, autre que début/arrivée + */ + public boolean existeBoucle(){ + Vector<Etape> etapes=new Vector<Etape>(); + for (Troncon t:troncons){ + etapes.add(t.getDepart()); + etapes.add(t.getArrivee()); + } + int posEtape=0; + for (Etape etape:etapes){ + for (int i=posEtape+1;i<etapes.size();i++){ + // on regarde de posEtape+1 à la fin de etapes s'il y a une étape égale à etape + if (etapes.get(i).equals(etape)){ + return false; + } + } + posEtape++; + } + return true; + } +/** + * permet de déterminer si le parcours est un circuit (termine au point de départ) + * @return vrai ssi le départ et l'arrivée sont indentiques. + */ + public boolean estUnCircuit(){ + return troncons.firstElement().getDepart().equals(troncons.lastElement().getArrivee()); + } +} diff --git a/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/TestEtqpe.java b/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/TestEtqpe.java new file mode 100644 index 0000000..19820bc --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/TestEtqpe.java @@ -0,0 +1,16 @@ +package visites.toTest;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+public class TestEtqpe {
+ Etape e;
+
+ @Test
+ public void test() {
+ e = new Etape("Mont Saint Michel","Faubourg St Honor",180,NatureEtape.visiteMonument);
+ assertTrue(e.estCorrecte());
+ }
+
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/TestParcours.java b/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/TestParcours.java new file mode 100644 index 0000000..281830d --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/TestParcours.java @@ -0,0 +1,17 @@ +package visites.toTest;
+
+import static org.junit.Assert.*;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+public class TestParcours {
+ Parcours parcours;
+
+ @Test
+ public void test() {
+
+ }
+
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/TestTroncon.java b/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/TestTroncon.java new file mode 100644 index 0000000..6fecbd6 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/TestTroncon.java @@ -0,0 +1,16 @@ +package visites.toTest;
+
+import static org.junit.Assert.*;
+
+import java.util.Vector;
+
+import org.junit.Test;
+
+public class TestTroncon {
+ Troncon t;
+ @Test
+ public void test() {
+ t= new Troncon(Etape depart, Etape arrivee, int tempsTrajet, Vector<String> rues)
+ }
+
+}
diff --git a/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/Troncon.java b/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/Troncon.java new file mode 100644 index 0000000..460b833 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/visites/toTest/Troncon.java @@ -0,0 +1,69 @@ +package visites.toTest; + +import java.util.Vector; + + +public class Troncon { + private Etape depart; + private Etape arrivee; + private int tempsTrajet; + private Vector<String> rues; + + public Troncon(Etape depart, Etape arrivee, int tempsTrajet, Vector<String> rues) { + this.depart = depart; + this.arrivee = arrivee; + this.tempsTrajet = tempsTrajet; + this.rues=rues; + } + public Troncon(Etape depart, Etape arrivee, int tempsTrajet) { + this.depart = depart; + this.arrivee = arrivee; + this.tempsTrajet = tempsTrajet; // rues non initialisé + } + + public int getTempsTrajet() { + return tempsTrajet; + } + public void setTempsTrajet(int tempsTrajet) { + this.tempsTrajet = tempsTrajet; + } + public Etape getDepart() { + return depart; + } + public void setDepart(Etape depart) { + this.depart = depart; + } + public Etape getArrivee() { + return arrivee; + } + public void setArrivee(Etape arrivee) { + this.arrivee = arrivee; + } + + /*** + * vérifie que la première rue de rues est la rue de départ, et la dernière celle d'arrivée + * @return vrai ssi la première rue de rues est la rue de départ, et la dernière celle d'arrivée + */ + public boolean verif(){ + boolean result; + result=depart.getRue()==rues.firstElement(); + result=result&&arrivee.getRue()==rues.lastElement(); + return result; + } + + /** + * vérifie que les noms des rues sont 2 à 2 différentes + * @return vrai ssi les noms de rues sont 2 à 2 différentes + */ + public boolean verifListeRues(){ + for (String r1:rues){ + for (String r2:rues){ + if (r1.equals(r2)){ + return false; + } + } + } + return true; + } + +} diff --git a/sem_5/HLIN505_Java/HLIN505/zbeb.txt b/sem_5/HLIN505_Java/HLIN505/zbeb.txt new file mode 100644 index 0000000..f48c859 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/zbeb.txt @@ -0,0 +1,690 @@ +MAN(1) Manual pager utils MAN(1) + + + +NAME + man - an interface to the on-line reference manuals + +SYNOPSIS + man [-C file] [-d] [-D] [--warnings[=warnings]] [-R encoding] [-L locale] + [-m system[,...]] [-M path] [-S list] [-e extension] [-i|-I] + [--regex|--wildcard] [--names-only] [-a] [-u] [--no-subpages] [-P pager] + [-r prompt] [-7] [-E encoding] [--no-hyphenation] [--no-justification] [-p + string] [-t] [-T[device]] [-H[browser]] [-X[dpi]] [-Z] [[section] + page ...] ... + man -k [apropos options] regexp ... + man -K [-w|-W] [-S list] [-i|-I] [--regex] [section] term ... + man -f [whatis options] page ... + man -l [-C file] [-d] [-D] [--warnings[=warnings]] [-R encoding] [-L + locale] [-P pager] [-r prompt] [-7] [-E encoding] [-p string] [-t] + [-T[device]] [-H[browser]] [-X[dpi]] [-Z] file ... + man -w|-W [-C file] [-d] [-D] page ... + man -c [-C file] [-d] [-D] page ... + man [-?V] + +DESCRIPTION + man is the system's manual pager. Each page argument given to man is nor‐ + mally the name of a program, utility or function. The manual page associ‐ + ated with each of these arguments is then found and displayed. A section, + if provided, will direct man to look only in that section of the manual. + The default action is to search in all of the available sections following + a pre-defined order ("1 n l 8 3 2 3posix 3pm 3perl 5 4 9 6 7" by default, + unless overridden by the SECTION directive in /etc/manpath.config), and to + show only the first page found, even if page exists in several sections. + + The table below shows the section numbers of the manual followed by the + types of pages they contain. + + + 1 Executable programs or shell commands + 2 System calls (functions provided by the kernel) + 3 Library calls (functions within program libraries) + 4 Special files (usually found in /dev) + 5 File formats and conventions eg /etc/passwd + 6 Games + 7 Miscellaneous (including macro packages and conventions), e.g. man(7), + groff(7) + 8 System administration commands (usually only for root) + 9 Kernel routines [Non standard] + + A manual page consists of several sections. + + Conventional section names include NAME, SYNOPSIS, CONFIGURATION, DESCRIP‐ + TION, OPTIONS, EXIT STATUS, RETURN VALUE, ERRORS, ENVIRONMENT, FILES, VER‐ + SIONS, CONFORMING TO, NOTES, BUGS, EXAMPLE, AUTHORS, and SEE ALSO. + + The following conventions apply to the SYNOPSIS section and can be used as + a guide in other sections. + + + bold text type exactly as shown. + italic text replace with appropriate argument. + [-abc] any or all arguments within [ ] are optional. + -a|-b options delimited by | cannot be used together. + argument ... argument is repeatable. + [expression] ... entire expression within [ ] is repeatable. + + Exact rendering may vary depending on the output device. For instance, man + will usually not be able to render italics when running in a terminal, and + will typically use underlined or coloured text instead. + + The command or function illustration is a pattern that should match all + possible invocations. In some cases it is advisable to illustrate several + exclusive invocations as is shown in the SYNOPSIS section of this manual + page. + +EXAMPLES + man ls + Display the manual page for the item (program) ls. + + man -a intro + Display, in succession, all of the available intro manual pages con‐ + tained within the manual. It is possible to quit between successive + displays or skip any of them. + + man -t alias | lpr -Pps + Format the manual page referenced by `alias', usually a shell manual + page, into the default troff or groff format and pipe it to the printer + named ps. The default output for groff is usually PostScript. man + --help should advise as to which processor is bound to the -t option. + + man -l -Tdvi ./foo.1x.gz > ./foo.1x.dvi + This command will decompress and format the nroff source manual page + ./foo.1x.gz into a device independent (dvi) file. The redirection is + necessary as the -T flag causes output to be directed to stdout with no + pager. The output could be viewed with a program such as xdvi or fur‐ + ther processed into PostScript using a program such as dvips. + + man -k printf + Search the short descriptions and manual page names for the keyword + printf as regular expression. Print out any matches. Equivalent to + apropos -r printf. + + man -f smail + Lookup the manual pages referenced by smail and print out the short + descriptions of any found. Equivalent to whatis -r smail. + +OVERVIEW + Many options are available to man in order to give as much flexibility as + possible to the user. Changes can be made to the search path, section + order, output processor, and other behaviours and operations detailed + below. + + If set, various environment variables are interrogated to determine the + operation of man. It is possible to set the `catch all' variable $MANOPT + to any string in command line format with the exception that any spaces + used as part of an option's argument must be escaped (preceded by a back‐ + slash). man will parse $MANOPT prior to parsing its own command line. + Those options requiring an argument will be overridden by the same options + found on the command line. To reset all of the options set in $MANOPT, -D + can be specified as the initial command line option. This will allow man + to `forget' about the options specified in $MANOPT although they must still + have been valid. + + The manual pager utilities packaged as man-db make extensive use of index + database caches. These caches contain information such as where each man‐ + ual page can be found on the filesystem and what its whatis (short one line + description of the man page) contains, and allow man to run faster than if + it had to search the filesystem each time to find the appropriate manual + page. If requested using the -u option, man will ensure that the caches + remain consistent, which can obviate the need to manually run software to + update traditional whatis text databases. + + If man cannot find a mandb initiated index database for a particular manual + page hierarchy, it will still search for the requested manual pages, + although file globbing will be necessary to search within that hierarchy. + If whatis or apropos fails to find an index it will try to extract informa‐ + tion from a traditional whatis database instead. + + These utilities support compressed source nroff files having, by default, + the extensions of .Z, .z and .gz. It is possible to deal with any compres‐ + sion extension, but this information must be known at compile time. Also, + by default, any cat pages produced are compressed using gzip. Each + `global' manual page hierarchy such as /usr/share/man or /usr/X11R6/man may + have any directory as its cat page hierarchy. Traditionally the cat pages + are stored under the same hierarchy as the man pages, but for reasons such + as those specified in the File Hierarchy Standard (FHS), it may be better + to store them elsewhere. For details on how to do this, please read man‐ + path(5). For details on why to do this, read the standard. + + International support is available with this package. Native language man‐ + ual pages are accessible (if available on your system) via use of locale + functions. To activate such support, it is necessary to set either + $LC_MESSAGES, $LANG or another system dependent environment variable to + your language locale, usually specified in the POSIX 1003.1 based format: + + <language>[_<territory>[.<character-set>[,<version>]]] + + If the desired page is available in your locale, it will be displayed in + lieu of the standard (usually American English) page. + + Support for international message catalogues is also featured in this pack‐ + age and can be activated in the same way, again if available. If you find + that the manual pages and message catalogues supplied with this package are + not available in your native language and you would like to supply them, + please contact the maintainer who will be coordinating such activity. + + For information regarding other features and extensions available with this + manual pager, please read the documents supplied with the package. + +DEFAULTS + man will search for the desired manual pages within the index database + caches. If the -u option is given, a cache consistency check is performed + to ensure the databases accurately reflect the filesystem. If this option + is always given, it is not generally necessary to run mandb after the + caches are initially created, unless a cache becomes corrupt. However, the + cache consistency check can be slow on systems with many manual pages + installed, so it is not performed by default, and system administrators may + wish to run mandb every week or so to keep the database caches fresh. To + forestall problems caused by outdated caches, man will fall back to file + globbing if a cache lookup fails, just as it would if no cache was present. + + Once a manual page has been located, a check is performed to find out if a + relative preformatted `cat' file already exists and is newer than the nroff + file. If it does and is, this preformatted file is (usually) decompressed + and then displayed, via use of a pager. The pager can be specified in a + number of ways, or else will fall back to a default is used (see option -P + for details). If no cat is found or is older than the nroff file, the + nroff is filtered through various programs and is shown immediately. + + If a cat file can be produced (a relative cat directory exists and has + appropriate permissions), man will compress and store the cat file in the + background. + + The filters are deciphered by a number of means. Firstly, the command line + option -p or the environment variable $MANROFFSEQ is interrogated. If -p + was not used and the environment variable was not set, the initial line of + the nroff file is parsed for a preprocessor string. To contain a valid + preprocessor string, the first line must resemble + + '\" <string> + + where string can be any combination of letters described by option -p + below. + + If none of the above methods provide any filter information, a default set + is used. + + A formatting pipeline is formed from the filters and the primary formatter + (nroff or [tg]roff with -t) and executed. Alternatively, if an executable + program mandb_nfmt (or mandb_tfmt with -t) exists in the man tree root, it + is executed instead. It gets passed the manual source file, the preproces‐ + sor string, and optionally the device specified with -T or -E as arguments. + +OPTIONS + Non argument options that are duplicated either on the command line, in + $MANOPT, or both, are not harmful. For options that require an argument, + each duplication will override the previous argument value. + + General options + -C file, --config-file=file + Use this user configuration file rather than the default of ~/.man‐ + path. + + -d, --debug + Print debugging information. + + -D, --default + This option is normally issued as the very first option and resets + man's behaviour to its default. Its use is to reset those options + that may have been set in $MANOPT. Any options that follow -D will + have their usual effect. + + --warnings[=warnings] + Enable warnings from groff. This may be used to perform sanity + checks on the source text of manual pages. warnings is a comma-sep‐ + arated list of warning names; if it is not supplied, the default is + "mac". See the “Warnings” node in info groff for a list of avail‐ + able warning names. + + Main modes of operation + -f, --whatis + Equivalent to whatis. Display a short description from the manual + page, if available. See whatis(1) for details. + + -k, --apropos + Equivalent to apropos. Search the short manual page descriptions + for keywords and display any matches. See apropos(1) for details. + + -K, --global-apropos + Search for text in all manual pages. This is a brute-force search, + and is likely to take some time; if you can, you should specify a + section to reduce the number of pages that need to be searched. + Search terms may be simple strings (the default), or regular expres‐ + sions if the --regex option is used. + + -l, --local-file + Activate `local' mode. Format and display local manual files + instead of searching through the system's manual collection. Each + manual page argument will be interpreted as an nroff source file in + the correct format. No cat file is produced. If '-' is listed as + one of the arguments, input will be taken from stdin. When this + option is not used, and man fails to find the page required, before + displaying the error message, it attempts to act as if this option + was supplied, using the name as a filename and looking for an exact + match. + + -w, --where, --path, --location + Don't actually display the manual pages, but do print the loca‐ + tion(s) of the source nroff files that would be formatted. + + -W, --where-cat, --location-cat + Don't actually display the manual pages, but do print the loca‐ + tion(s) of the cat files that would be displayed. If -w and -W are + both specified, print both separated by a space. + + -c, --catman + This option is not for general use and should only be used by the + catman program. + + -R encoding, --recode=encoding + Instead of formatting the manual page in the usual way, output its + source converted to the specified encoding. If you already know the + encoding of the source file, you can also use manconv(1) directly. + However, this option allows you to convert several manual pages to a + single encoding without having to explicitly state the encoding of + each, provided that they were already installed in a structure simi‐ + lar to a manual page hierarchy. + + Finding manual pages + -L locale, --locale=locale + man will normally determine your current locale by a call to the C + function setlocale(3) which interrogates various environment vari‐ + ables, possibly including $LC_MESSAGES and $LANG. To temporarily + override the determined value, use this option to supply a locale + string directly to man. Note that it will not take effect until the + search for pages actually begins. Output such as the help message + will always be displayed in the initially determined locale. + + -m system[,...], --systems=system[,...] + If this system has access to other operating system's manual pages, + they can be accessed using this option. To search for a manual page + from NewOS's manual page collection, use the option -m NewOS. + + The system specified can be a combination of comma delimited operat‐ + ing system names. To include a search of the native operating sys‐ + tem's manual pages, include the system name man in the argument + string. This option will override the $SYSTEM environment variable. + + -M path, --manpath=path + Specify an alternate manpath to use. By default, man uses manpath + derived code to determine the path to search. This option overrides + the $MANPATH environment variable and causes option -m to be + ignored. + + A path specified as a manpath must be the root of a manual page + hierarchy structured into sections as described in the man-db manual + (under "The manual page system"). To view manual pages outside such + hierarchies, see the -l option. + + -S list, -s list, --sections=list + List is a colon- or comma-separated list of `order specific' manual + sections to search. This option overrides the $MANSECT environment + variable. (The -s spelling is for compatibility with System V.) + + -e sub-extension, --extension=sub-extension + Some systems incorporate large packages of manual pages, such as + those that accompany the Tcl package, into the main manual page + hierarchy. To get around the problem of having two manual pages + with the same name such as exit(3), the Tcl pages were usually all + assigned to section l. As this is unfortunate, it is now possible + to put the pages in the correct section, and to assign a specific + `extension' to them, in this case, exit(3tcl). Under normal opera‐ + tion, man will display exit(3) in preference to exit(3tcl). To + negotiate this situation and to avoid having to know which section + the page you require resides in, it is now possible to give man a + sub-extension string indicating which package the page must belong + to. Using the above example, supplying the option -e tcl to man + will restrict the search to pages having an extension of *tcl. + + -i, --ignore-case + Ignore case when searching for manual pages. This is the default. + + -I, --match-case + Search for manual pages case-sensitively. + + --regex + Show all pages with any part of either their names or their descrip‐ + tions matching each page argument as a regular expression, as with + apropos(1). Since there is usually no reasonable way to pick a + "best" page when searching for a regular expression, this option + implies -a. + + --wildcard + Show all pages with any part of either their names or their descrip‐ + tions matching each page argument using shell-style wildcards, as + with apropos(1) --wildcard. The page argument must match the entire + name or description, or match on word boundaries in the description. + Since there is usually no reasonable way to pick a "best" page when + searching for a wildcard, this option implies -a. + + --names-only + If the --regex or --wildcard option is used, match only page names, + not page descriptions, as with whatis(1). Otherwise, no effect. + + -a, --all + By default, man will exit after displaying the most suitable manual + page it finds. Using this option forces man to display all the man‐ + ual pages with names that match the search criteria. + + -u, --update + This option causes man to perform an `inode level' consistency check + on its database caches to ensure that they are an accurate represen‐ + tation of the filesystem. It will only have a useful effect if man + is installed with the setuid bit set. + + --no-subpages + By default, man will try to interpret pairs of manual page names + given on the command line as equivalent to a single manual page name + containing a hyphen or an underscore. This supports the common pat‐ + tern of programs that implement a number of subcommands, allowing + them to provide manual pages for each that can be accessed using + similar syntax as would be used to invoke the subcommands them‐ + selves. For example: + + $ man -aw git diff + /usr/share/man/man1/git-diff.1.gz + + To disable this behaviour, use the --no-subpages option. + + $ man -aw --no-subpages git diff + /usr/share/man/man1/git.1.gz + /usr/share/man/man3/Git.3pm.gz + /usr/share/man/man1/diff.1.gz + + Controlling formatted output + -P pager, --pager=pager + Specify which output pager to use. By default, man uses pager -s. + This option overrides the $MANPAGER environment variable, which in + turn overrides the $PAGER environment variable. It is not used in + conjunction with -f or -k. + + The value may be a simple command name or a command with arguments, + and may use shell quoting (backslashes, single quotes, or double + quotes). It may not use pipes to connect multiple commands; if you + need that, use a wrapper script, which may take the file to display + either as an argument or on standard input. + + -r prompt, --prompt=prompt + If a recent version of less is used as the pager, man will attempt + to set its prompt and some sensible options. The default prompt + looks like + + Manual page name(sec) line x + + where name denotes the manual page name, sec denotes the section it + was found under and x the current line number. This is achieved by + using the $LESS environment variable. + + Supplying -r with a string will override this default. The string + may contain the text $MAN_PN which will be expanded to the name of + the current manual page and its section name surrounded by `(' and + `)'. The string used to produce the default could be expressed as + + \ Manual\ page\ \$MAN_PN\ ?ltline\ %lt?L/%L.: + byte\ %bB?s/%s..?\ (END):?pB\ %pB\\%.. + (press h for help or q to quit) + + It is broken into three lines here for the sake of readability only. + For its meaning see the less(1) manual page. The prompt string is + first evaluated by the shell. All double quotes, back-quotes and + backslashes in the prompt must be escaped by a preceding backslash. + The prompt string may end in an escaped $ which may be followed by + further options for less. By default man sets the -ix8 options. + + The $MANLESS environment variable described below may be used to set + a default prompt string if none is supplied on the command line. + + -7, --ascii + When viewing a pure ascii(7) manual page on a 7 bit terminal or ter‐ + minal emulator, some characters may not display correctly when using + the latin1(7) device description with GNU nroff. This option allows + pure ascii manual pages to be displayed in ascii with the latin1 + device. It will not translate any latin1 text. The following table + shows the translations performed: some parts of it may only be dis‐ + played properly when using GNU nroff's latin1(7) device. + + + Description Octal latin1 ascii + ────────────────────────────────────────── + continuation 255 ‐ - + hyphen + bullet (middle 267 · o + dot) + acute accent 264 ´ ' + multiplication 327 × x + sign + + If the latin1 column displays correctly, your terminal may be set up + for latin1 characters and this option is not necessary. If the + latin1 and ascii columns are identical, you are reading this page + using this option or man did not format this page using the latin1 + device description. If the latin1 column is missing or corrupt, you + may need to view manual pages with this option. + + This option is ignored when using options -t, -H, -T, or -Z and may + be useless for nroff other than GNU's. + + -E encoding, --encoding=encoding + Generate output for a character encoding other than the default. + For backward compatibility, encoding may be an nroff device such as + ascii, latin1, or utf8 as well as a true character encoding such as + UTF-8. + + --no-hyphenation, --nh + Normally, nroff will automatically hyphenate text at line breaks + even in words that do not contain hyphens, if it is necessary to do + so to lay out words on a line without excessive spacing. This + option disables automatic hyphenation, so words will only be hyphen‐ + ated if they already contain hyphens. + + If you are writing a manual page and simply want to prevent nroff + from hyphenating a word at an inappropriate point, do not use this + option, but consult the nroff documentation instead; for instance, + you can put "\%" inside a word to indicate that it may be hyphenated + at that point, or put "\%" at the start of a word to prevent it from + being hyphenated. + + --no-justification, --nj + Normally, nroff will automatically justify text to both margins. + This option disables full justification, leaving justified only to + the left margin, sometimes called "ragged-right" text. + + If you are writing a manual page and simply want to prevent nroff + from justifying certain paragraphs, do not use this option, but con‐ + sult the nroff documentation instead; for instance, you can use the + ".na", ".nf", ".fi", and ".ad" requests to temporarily disable + adjusting and filling. + + -p string, --preprocessor=string + Specify the sequence of preprocessors to run before nroff or + troff/groff. Not all installations will have a full set of pre‐ + processors. Some of the preprocessors and the letters used to des‐ + ignate them are: eqn (e), grap (g), pic (p), tbl (t), vgrind (v), + refer (r). This option overrides the $MANROFFSEQ environment vari‐ + able. zsoelim is always run as the very first preprocessor. + + -t, --troff + Use groff -mandoc to format the manual page to stdout. This option + is not required in conjunction with -H, -T, or -Z. + + -T[device], --troff-device[=device] + This option is used to change groff (or possibly troff's) output to + be suitable for a device other than the default. It implies -t. + Examples (provided with Groff-1.17) include dvi, latin1, ps, utf8, + X75 and X100. + + -H[browser], --html[=browser] + This option will cause groff to produce HTML output, and will dis‐ + play that output in a web browser. The choice of browser is deter‐ + mined by the optional browser argument if one is provided, by the + $BROWSER environment variable, or by a compile-time default if that + is unset (usually lynx). This option implies -t, and will only work + with GNU troff. + + -X[dpi], --gxditview[=dpi] + This option displays the output of groff in a graphical window using + the gxditview program. The dpi (dots per inch) may be 75, 75-12, + 100, or 100-12, defaulting to 75; the -12 variants use a 12-point + base font. This option implies -T with the X75, X75-12, X100, or + X100-12 device respectively. + + -Z, --ditroff + groff will run troff and then use an appropriate post-processor to + produce output suitable for the chosen device. If groff -mandoc is + groff, this option is passed to groff and will suppress the use of a + post-processor. It implies -t. + + Getting help + -?, --help + Print a help message and exit. + + --usage + Print a short usage message and exit. + + -V, --version + Display version information. + +EXIT STATUS + 0 Successful program execution. + + 1 Usage, syntax or configuration file error. + + 2 Operational error. + + 3 A child process returned a non-zero exit status. + + 16 At least one of the pages/files/keywords didn't exist or wasn't + matched. + +ENVIRONMENT + MANPATH + If $MANPATH is set, its value is used as the path to search for man‐ + ual pages. + + MANROFFOPT + The contents of $MANROFFOPT are added to the command line every time + man invokes the formatter (nroff, troff, or groff). + + MANROFFSEQ + If $MANROFFSEQ is set, its value is used to determine the set of + preprocessors to pass each manual page through. The default pre‐ + processor list is system dependent. + + MANSECT + If $MANSECT is set, its value is a colon-delimited list of sections + and it is used to determine which manual sections to search and in + what order. The default is "1 n l 8 3 2 3posix 3pm 3perl 5 4 9 6 + 7", unless overridden by the SECTION directive in /etc/manpath.con‐ + fig. + + MANPAGER, PAGER + If $MANPAGER or $PAGER is set ($MANPAGER is used in preference), its + value is used as the name of the program used to display the manual + page. By default, pager -s is used. + + The value may be a simple command name or a command with arguments, + and may use shell quoting (backslashes, single quotes, or double + quotes). It may not use pipes to connect multiple commands; if you + need that, use a wrapper script, which may take the file to display + either as an argument or on standard input. + + MANLESS + If $MANLESS is set, its value will be used as the default prompt + string for the less pager, as if it had been passed using the -r + option (so any occurrences of the text $MAN_PN will be expanded in + the same way). For example, if you want to set the prompt string + unconditionally to “my prompt string”, set $MANLESS to + ‘-Psmy prompt string’. Using the -r option overrides this environ‐ + ment variable. + + BROWSER + If $BROWSER is set, its value is a colon-delimited list of commands, + each of which in turn is used to try to start a web browser for man + --html. In each command, %s is replaced by a filename containing + the HTML output from groff, %% is replaced by a single percent sign + (%), and %c is replaced by a colon (:). + + SYSTEM If $SYSTEM is set, it will have the same effect as if it had been + specified as the argument to the -m option. + + MANOPT If $MANOPT is set, it will be parsed prior to man's command line and + is expected to be in a similar format. As all of the other man spe‐ + cific environment variables can be expressed as command line + options, and are thus candidates for being included in $MANOPT it is + expected that they will become obsolete. N.B. All spaces that + should be interpreted as part of an option's argument must be + escaped. + + MANWIDTH + If $MANWIDTH is set, its value is used as the line length for which + manual pages should be formatted. If it is not set, manual pages + will be formatted with a line length appropriate to the current ter‐ + minal (using an ioctl(2) if available, the value of $COLUMNS, or + falling back to 80 characters if neither is available). Cat pages + will only be saved when the default formatting can be used, that is + when the terminal line length is between 66 and 80 characters. + + MAN_KEEP_FORMATTING + Normally, when output is not being directed to a terminal (such as + to a file or a pipe), formatting characters are discarded to make it + easier to read the result without special tools. However, if + $MAN_KEEP_FORMATTING is set to any non-empty value, these formatting + characters are retained. This may be useful for wrappers around man + that can interpret formatting characters. + + MAN_KEEP_STDERR + Normally, when output is being directed to a terminal (usually to a + pager), any error output from the command used to produce formatted + versions of manual pages is discarded to avoid interfering with the + pager's display. Programs such as groff often produce relatively + minor error messages about typographical problems such as poor + alignment, which are unsightly and generally confusing when dis‐ + played along with the manual page. However, some users want to see + them anyway, so, if $MAN_KEEP_STDERR is set to any non-empty value, + error output will be displayed as usual. + + LANG, LC_MESSAGES + Depending on system and implementation, either or both of $LANG and + $LC_MESSAGES will be interrogated for the current message locale. + man will display its messages in that locale (if available). See + setlocale(3) for precise details. + +FILES + /etc/manpath.config + man-db configuration file. + + /usr/share/man + A global manual page hierarchy. + + /usr/share/man/index.(bt|db|dir|pag) + A traditional global index database cache. + + /var/cache/man/index.(bt|db|dir|pag) + An FHS compliant global index database cache. + +SEE ALSO + apropos(1), groff(1), less(1), manpath(1), nroff(1), troff(1), whatis(1), + zsoelim(1), setlocale(3), manpath(5), ascii(7), latin1(7), man(7), cat‐ + man(8), mandb(8), the man-db package manual, FSSTND + +HISTORY + 1990, 1991 - Originally written by John W. Eaton (jwe@che.utexas.edu). + + Dec 23 1992: Rik Faith (faith@cs.unc.edu) applied bug fixes supplied by + Willem Kasdorp (wkasdo@nikhefk.nikef.nl). + + 30th April 1994 - 23rd February 2000: Wilf. (G.Wilford@ee.surrey.ac.uk) has + been developing and maintaining this package with the help of a few dedi‐ + cated people. + + 30th October 1996 - 30th March 2001: Fabrizio Polacco <fpolacco@debian.org> + maintained and enhanced this package for the Debian project, with the help + of all the community. + + 31st March 2001 - present day: Colin Watson <cjwatson@debian.org> is now + developing and maintaining man-db. + + + +2.6.7.1 2014-04-10 MAN(1) |
