java-21-openjdk-javadoc-21.0.8.0-150600.3.15.1<>,h}p9| =+9#Z{i`ʾse/Q"6؃s)zOiY;hˉ@;δÅ|%DS_~VkoOxYJr lNkrP笢kph~˶)6 qGB]%7E~E,ڭ D4\'[eãhZYEbn[s6 JN$OҖZ1mjX{b3Ât>?D?4d# 1 Nptu !l*|* * Z* *  E *  o* * *Ɯ*qr r8 r (s8s 9s\:t>ui@uqFuyGu*H *I˰*XtY\*]*^QrbcdKePfSlUuh*vxDz0Cjava-21-openjdk-javadoc21.0.8.0150600.3.15.1OpenJDK 21 API DocumentationThe OpenJDK 21 API documentation.h}h04-ch1c+SUSE Linux Enterprise 15SUSE LLC Apache-1.1 AND Apache-2.0 AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-only WITH Classpath-exception-2.0 AND LGPL-2.0-only AND MPL-1.0 AND MPL-1.1 AND SUSE-Public-Domain AND W3Chttps://www.suse.com/Development/Languages/Javahttps://openjdk.java.net/linuxnoarch# in some settings, the /usr/share/javadoc/java-21-openjdk/api does not exist # and the update-alternatives call ends up in error. So, filter this # cases out. if [ -d /usr/share/javadoc/java-21-openjdk/api ] then update-alternatives \ --install /usr/share/javadoc/java javadocdir /usr/share/javadoc/java-21-openjdk/api \ 3105 fiif [ $1 -eq 0 ] then # in some settings, the /usr/share/javadoc/java-21-openjdk/api does not exist # and the update-alternatives call ends up in error. So, filter this # cases out. if [ -d /usr/share/javadoc/java-21-openjdk/api ] then update-alternatives --remove javadocdir /usr/share/javadoc/java-21-openjdk/api fi fisi4L  s 3+ha]ǹ'~,TZ Wv |G q  ,?Mt eRdr{*_(-,7LD&#a.Es;Il-&_`i$V.p(JӦi5+K60zf:+,dLq4AazK#F`m>ZY7cj-]rUZ7g!Z|ulFU]E%-R:,ca|?)}.9y+wE -&$M EQ@)1'<IhdK$?1;c- 3*I&MJu9%P3 2$ K2 mnux 'YfTe_+=+07+:QD4Z=k. ќΫ+**+>M,!E.5 :HpR>+4A4m,G +-45Z+,7\.J\?4V16=O*++)+*:NMd++|)ܣ IRg<?)VT}<5&- mk!eh7*Q\H1]e)"BR1"0 `*Ea{`HdGH]JS +:*P*7;)*+;)8!`3^4=sc=n! C( {JAe!X#/"VxWC&&R= o( +zgx.TSV_[.HAP30 66ȃ0UK:<_04F {.?1H+7t50j1NR33W0A.6C7 i0/-t#<%\m`)H8P q4!s* %!~>cAs y6?u 5k?jtDZ÷3GRxf?2!z)DA'YW  H"G{A>YnPON=3BnVI~sH`0_``_`^``+C?<$0g=!2"*%R+!5>6A+BGA@A_AO:w,yBM<S9QG"DSlsr,W= g2-Z [J-]ZQE!K7W%3(#E- W3o0$6-&Eu*:w4T-c~A`hF7AaKfHcO id=49HV|3[)zr$v),@))31fWZ&)^x mO!mR7j}<>E.;3#Q<!!8W}1aQ4O81%9 |  (+,, ZC),.G 3u7k9(kB2?2 &=!bk8V}} &M<_$>)h&e SQN&'vGe59t;@O?\s9KE}{" pU'2X?8 cX?, 04,zD&#Tf0C¤ʸ#F"]IAob 1{qC+ I i-2,+D!5@OPSeSX#3 #5k")e-BJX@LGol&J+m,&.-0Y ("|!0*"$Ad1JuW /U-L&C+HApAk4yU,x H(0#D7?%,4icDukC0VM:(GF(xo]%e''6rql(m(o&)'))q_;)*&T!(9 *t))+)64Lz+)E')Y)c)Q(3}_Jf}T*H)F)E()+)@A?)5E_{)]-)D)3)oiL8 -*3iS,(NuDv0m,7/{1]!'c{NncB4DjB 0y0^477iϣK@oMX9l`0.o+?" 'q)pYv*j[7483F84"i--c3<oEAO<|7|MT%SjQY 6<Sj3]?.)P)))e7V,!'Bk2<{,HL-"+=uHN-L@531,1n$t77,+)USBp_3($-3BgM?xQ_<J'rE\Z[&iLVQZ4G':!md35`RD[f!%BL5)$U'K0 %D0rc:E)7?<M`+KQ :iu+oo"+ko"Y9#W]u-1K^'EQ3iiu89]0%r(\&)}C7c9ux$G" J\udDv=L?YOnhZFf Rn8%f`9LTq:90Q, oC"52;b9.;~L: P!;,4C@;iw03&}(e$NX<D$E8YXi9,W;ncMwQI/(;;P+zbIfw{8(kcijlee8rV6[Gy.s-x-6z:8O\+u1{s;+=2m&AQrQn& @,:->Gn2\:<_.`C.;WG3;KVbEQh6Q8POJjFFo-K_x"F0-&$FqTo$0$-"J-,9"2EZqn%{o$r$7:&/|KQapCcK /yT[L 8"& l #6!oc"1(sM#+Wm76^_1z3h2n%FP*Gr8n=}Ol2aXa'&xXW"^EB ^ Br:&6U"$a6+320"1/#-)+O,Hx3.#.*"ewqqk}wSqwq:9 O8fa'?;>>#[@O+?7E459345JVqD9.%^AAc,Gm.;9]A@Y@56WcQWQ$\-']&)hQK]!]W7 b#+2!#cu-liQ]WQY4L5]f|[֦]nG׶:0oͽb+&r =15 DC c@3K&paIE" :D)=1I*M6 -&hW]-;cO,wO-2qL36e^1Q3?i{K"N g'0]rdeե EA1I^3muSu J>Lgy Vc,oStHX]] et5<iwN\S.k!TV/iP{"SiN78a!WR~t)R:N"7ylT;KىTNOAy_EG$J[|i+-pDTu/'l7:xK TC<jm<"<X(#r(),"$)HN)0H0#rPL S8]00!C%{>tw##0AB0[vm8H0^)J/!!!:wgIr2/-^/#^9@U$j+Hfb?+> >l&>zhnV!M#-:N0H;/n,)#- K39_KP!xhQL]3uq'"K91r@' -6+)BHL'z/v*hFf<\Xh:?^HXX9*Z,0c"5R/~pO{GNw8&2H140lrn,_5e b2 YDI) Xa[b?c>_2A"6i G3({!0l#c{{KE78uoQ-K93@<d3m4k)P-Nc#79ooo{WK6(B&.K6 3 !!?!&o]c1)b=!Ba 7~B0Smy{X7:i# Ǎ$m#8'uQ=C#j$KVUIj23D-2#/c%/%Y<3#$$=cA%p/%!;#$$<%/~%3;#$$<&&B&WN%'T%'%e'%|$ .L_?BB:l~3~UCa*9O""\`zZ3B1:!lLKT$4r>==YZi,h*3c+J+h@** 4'-)*!"npryT: +.!Df,hpQ"g3~|}Dl5u(6c&7Q);VtQAYu]*h;GLKKK?/KK ,[UmG-5>(lJ4't4(U9-W}I E+!f?%:3֭"VrDdCENB=]+z][kj\)e,Ap?E%* )E-3$ ]KI=E2&*--Tlzoh1-`-H:Db746LQo&CV-d/q.+F4-;0/F * q1F49tGkivc`*6UR{>74KW#]9i'9W KEKE'K0 KK97%!!^r;A3\o*%$ӢBV:kL=6MrnTK`9!261+3;;2!nD;,K~Uobs%V Y?CJ{S1<?J*i?'Vi$!}'?j:'H$Q'S1Q-<2!K-4P} &*9'Wch[;PeD-3ic-(Kc!~7U5jFfCGD;Dy!g7a!m=K&NG Ěu071B00@;PGN7z010/(/*#*2ruW:V/M0nTY^# #LBU%q.445b444Jo,V&y&.".m&/'-.k]Q:l!!6!J'm,2!8*Bi2!C,Ew v+/Z/k3j1MjgK,=, +`-d%nC<V W=)(7o<BBAKh a3VfH*y.US; """""sT.zq&$H;?D0Ya,\a8v'.&7<C);<{,6~'BZ,#@7%")5g"B`[*ޑ$!UAk>"?,PyiPH=N?~P{N?IXWWz%* @|-4,9 m ^$%v+XZ* A %!}^<^(KUO6$7%XPHZ.}hmXy>m7AMM>$+%l|5=<.P,I.%4.*E8[ B)9XG1&M'"*'23=5~-T4m,-Z >>Baee3(d1 34&)j0evJ_.0![!#*yL+!*O%nOlc{[SROXz"4x-I:pUm  ASg0,;`Mx@VhJPwQv,h+(hm*~v LJb3S?m/L?[6C>BDBEF,24'jDaMG$ASRe7*\}~zYW\Z5CFuN>5<?>TBٱ>0Ia~j/od_E I~TcD waV+ 5q* `dJf~L0ZfKSp~7GuiG"C6VBn06&,3//G!q/d5;8s^K-U"<:{ vF.T@RGnc2i!3&Q!'83+nJx.Z*?,n--*;*%#w/la}"W;,'ܻ&'%))"@Lh';#* (*G0EX-S$2_88v_Sg)E7G^S <`"+C`}},$U0460T(A%Y*"*@,C*+(+"$.;[#6Z"+H# ."*('8Do+)+*Hb=+!(z,b-nzQI1[on(In onDA);1*;@p)p\%tbTP~RJ@(:yOfMFumu=G_0)C ?!9;4Cg6/2#S$ 6.w, "/@;lT,64)  G:N~" 0  ^3 aVN ;Uc|85&8   )^:N$ Hg::e1;Y86:-(_׏h+fhj+@~4nL5#Oc=D!3\SP{'fo0J(0Z,IK |QJfZ`D<<i8g`5:W.U3*/'6A5;xO^^A2b`2Bj(!_@s+i?K?X8~!xZMt*m<P[?~zt3pnPm2w/c<0>1$$QcRL"#$;K$y:eZFGyqc*N0CV-szRjQYVA}fE~-Fjc0& #PJ"(F>8Zl,& !,u2,:JD#JDn:hb"U;8Xok^GA%1#D)$$$NPExu-(cmb&_&IVjZux8KK8E~A<bnԖyy6yzICL[CE-K}Il >R2vt_&D,El{bUI%o SS Bl*Bl:N,60JN6 0<6*6<<Nc%,m/<H!) B~$~Zu-<,m{u>yRAhrE^*YN04p'QI[{2;VBe//#B-}? 6ZHJH-%v4J>cvB".`7kvK!e}J;v,>0?)'bUTN=jjJs7HeR$'V?d/w_lMR\#{#VKVS+'J>?3*5P() :V1Tod a5![Q7 +(!5,#0J4 9*%=;,L2i 63`*+! 3-_Xf! GC@9)Jqt49:"r^5Z6rQW1L]SL9Va?9R3*s̅hCI7O]+Bwx&0mEqK wo3SluO'=!U&"* ]5-U$c{=Y9uf+3mc|t&:5e|0J]@G)-$Bj'"pSS\hG)N))  4 %ZKD-0^ #7w4%)J-<$SYtS 3)RI=Y"N+qW|T20Y>6 ^GRFX'o`;€KqApp!L"4@(|? ??$ioTndIOP1 %E(`fvZ !{%*/ {mHJ`d8+xCx~<@"23!#+6.@T;Z;?;;=Zu"8-*6l)yF_%]ULpO 5O\N$>zACCCR0>+9?9$?+wRH/o=r7(!x=!nuA1X`8G=$%,72bW8WYK4N`M\M$MlJ1DTJUeV QLzKWOOKhP-LKLLLJI_U}RzK/Op1 u7[G/$[{FcGYTkKYUgzGKh[J,W&IIMqIJJT&Z١GoFlLb q*rS$:'agD$"()Fo ]k '0s!5=A)oC=s?'X=*4 {>]g 5T<#VA<$H1,"]#R@D*:0&*^Sv%s%7p}[709/XKJM,nOE#2I%f<d+'hz(m%$'''2B$-Ay0$W"N-&-@G>]jlYfE YTuW;w0.Mt%:?q; d-KcY9Do7SN(%/Sj j\jY[/WL(^;@bT<!fN=T)(RT;<1BGr7&I;3U &6 W8]R/?lb~C P8-.FkqX'W@Wqa \CV ZMGb'9.VKyXc &UpvQ&OqtZ"xJNPryD1Y#XY8Wt2E099 *;Brp߶%,:}>)Mt:]ja~Y[gwrY4v3 pji R`ʄ.t:{U6` ;Y[UT|ut _s ]{q$ܗ'.oO|k[ɑ]!t;ŴES׳?P؆X{"q%1FVב>En=RkFx?xWAp~zWt=w6Ms4]s)WEeulgKX?4%6RBt8~2y:RIy9LmE0iJv'F{E060D0{9~w%2) FW$<,Q.} Ia_u y_[ 9[e A N<0- <h$w[%56  a#",&E2a3;$-hqQ<>?).+9-6>OQS62;;]S(\S"X h=w!;"u Nw]V*j./O&/RCw=S#hl#:GI[~k./N<_<wwSY_?k#@`_.;GHG#0_Mk;4 /w/x=SS*0_G,Gw# ;0)sS ;Y;G9./&B>YMA=tS"M'u9P$#9 /*Gm0Q*-mM )X Q!ek$-#=/;S."51a44\)$  a @ U[I17&*)/04#=6d4m"b^tMR 1H'w3),+2').C1O}$IB:|%<;+K;|;',5C#) .:H:x(DBLI%fIl5@FLD^a*.c)ef(.1)S!/ >9:05a:6[tEa0R*DBc#@G8"JlP D-0!s0D(A#X&B258=5;* ((.XG:B&+((h^F4() :(g;t(((()(x(P?\((h((n41)(?=*,22N2aIHPMe3n1Kn`pV9x3(D95q(A=(2D:+~(x3B5<Zr=====)mO5<G<=J8'=s<18{3oQ\U:XSY2Pd7g+21:43'3223/22o'R*3@27Xbay08BGa*6iW7a3b-M:inǝ,43;^9gJ07G]7+=Hcr9O23?8CCNcC1>DO?H>C/R1/"od%I%t%71a% no+7=%g7%7C[11!""%!t% +t)e\%++ o# G6}I)C7I%.+\)(\7!57[{$.ZHP+N/L0k+ Z'u7z<TH0/F *5/1 +!*%*0z0%0804/*00X+?*C/,//p*(1m**0"00**]0>-*w/*x-0WrJ/S@36;4A(<)?>+Uϩ_ͷ.vdH/HM?JM)'hPPeW_;:Xj-\fc<'\-8R mwe(_/h'Jh~BhC=A%8LwT !!{ui%i.p@Mdvd-vf6@@\R{{{\/HS8Hq89H"H]+r41`HGHN4PKdt DA/tx5uWEekQorzp~ xuepPRovS$'z-2at~B}1iwIm ?0},_@!{E{\'=@1{\T;T}-w:*uy-0IPSu1<xTx,?I<H/EPBi2/0SG<Y({__U Am7/Fo:0B/@@@DATApA0@ B{xPXyHx>QG Q|LPNg~)%&_Ol\xi4/N\5=</M8L@Lr<2#'3o<>?a?T>1rGCG+F<HCfD$TXq,~jxHV!$*-&/8DCZl'\0@|)3,?b+6"_r .6$ N@q'H+3l$9}8&)4", 1}6)#B06x'eJI6Zz#s4g)!(RG \mDx6vH 0 eW$>   ,I"*1@D;;+}']G]Qt'&0&}&d'c''58CQa=e5Q2_5!e>gNM5-:EciwK-!- G)^1:$f-u oioco4Qa1I)RU.o{[2Z,hE\]ėBC?52*U;&;M*+ cOfzu|4'Z?N n]7>$-,&VYBj42!":fHn"l7P/BZ4FA5~7/2M%++p0pՅcnn#(*(@#!*csZ +W& 5W1U60 1 jq3gV/L@5H{$GF~c'xWK?3fKFKbdKbB`0#2+57EUT<H<76G,"PFy 8l3QHN1 q$)\(F)*7=6%4vNG$P>hi4e8J]HHJo0t)Bw i{#k3!S,>\/%%4H2VK=.X7S;6$WB%e)c5*S ..x.Q,.//.nZCEWVzOWr#H,3Ab>~STP6 V..J%=(&'O&ZK!T2*1670CbBpEvEp.{IRJ3M7fK*HR='qLu}9>3E -:]H[66kEhCWH}*p-B*fH<6(-QqXI3NwO)V0W<<?)q6h']MABT{{{5f~)j:]2tc$4LEXw?kkGD3; +s'6$H>++og<}/ k-ff}0 ]o2c"i$K!raaTH5z//05.QKjb[yA\zNt. >fme};N ''D'1u5E8=4$]IO@eX-$f5\[<.-}u"2%9<Rff7~9B58͘9:9I9=5A <;Wu 6%D^:;=6876RP&8g77y78 ,t5&&2V>Y(&| 8( vI8 V&1DXD>>8U`Wd99988^=[7=i<o_eRT&JQ;CT**v7yBW+,7%a>[8jOe3F]F!M?T>Tk.?-MA(Ykk_3./_GM _d.$!?=@;mQ[k5HO&@4EZf*6+C&,fV3>n[UG{ =+ 7!CHA-p'/Y5Z9:wC*>]-+HvD2 +_syH{@=~ly^>"8 ?>'yI_'&AK/9:z*A'% U(!GY<B `,'y"55/P34.5I0Y1/~69A NT044o444n7 1!z y82iC!wB!5e^f1>-3X#}6^Esg:f>,`&q+i T:WJovFB Md/@/388["@ v2AP>YL!)S5s')V("tthP1G.e@Pzhhfar-qGGvUL1$&D8Edc[je2[F˷{_-<<$3VVo3gT$46q"D-]5q$g:N(10Oa7=E`C<fNr!W< B5$ nEc3[!5-5T/OK\,Y?{=6*47qOB!12!"<Fu-B:kAjZc/''!W?&jj+k"\#wŲcKe54Umt~~xSA$Wu6fY>[6O,E+H$""!^zz!qY32w(iH~@5\4U(: y]HHF \.?K3AaVef eeNeCbbb3ddc3+r}1(,Di:;s&:O V*?X;%jk&C)Iy 7`PH%NGy#9 4w_S"HAAyD2$8JI.5?x"+iw@?O<.`i[YAm+?91*(E:1*A+bOI1,@"A>"4"!\DU!i}#1*i4*&*#7HX#YX[)A+7)h^-):?]#2cH p*k{AE22 >G_ϣ;u$rx#=U_9RX/:A7@^DZ{F%5g[Y&*u0FC=&&u+OG"L&y)&$L"&pW] >?(YKAP@?18( 2*`,)7#AC2:]9yE*5XR14 "R+(k4$A8 JK*DF30UgE9t"J""0>T4l&9,rk'VKZ6:{5)M=(/j$Q%O.z%$S$$GE"gP2"0 OTlLǢ'I*I\ Y7HjD55E"YMV*c%##6R*<;-@# 3D(4T972FBO<=>K%sL&#-3 /F*.5;z5%"!A@`b9:/5-I5JP' 2FAk.r%":v-9"\(_&Z>qq,`XQ\qr6ACjqq7[Kf-}}!)j:$?>$:q2Y/5 ! n>; pܨ6WZF+N9(4|4%4w)-0&2|!L W o.oel "1x7k.H&yhS(/0=6-^1CO'w?R.9Zf ':>?^=_k>'PUIr!44TCM  G:* !18 0!' * b6&q>vcX87 *1"m(Lz;,',gM8T^253%0s[{; s1W+t$YX$;#ޗ9( 9iF/j'7xu"",z)Ut,?pJ7NC.e?haU000p0,?ZV?$MV&0q@&c~cg1y FHQeOO S^1xLzee'!S/ ~3^JlEM@Q5(qqq(*^grCUzw)_.H7]3F9B]0w1.; ?^$#$`#(5(.!3l*m`I3U(,&4),Hկ;6&&&)+(&-'+ -H(v1=-'R0))31)o) /,i0Y)(&.I)+)?-.X(%(&-c&'NW&:OK!V&'\)(#&(&4p'Y&&*)>''R*$&y'(&&''&('.(B}+) )3';)'Qh1k-L,L+&++/&Y, 'DO+{IP,1E&'+j+0w'J-$'&G7F'1`+1&+D3k1'D8.-L2P0B7=<9-,o+'&o',.'\4A$2,,+'C|J_76+A3('&;+''W"7%"">!"_!",o!'(L)Q"#d##C"##"!"q"#">!'!"_!W&8"_#%#" #"=!A#"#"&I)=%""!%#C"#"%"""!%J6&#"!"!'H !u")J!";!1}";"&!_HE8:`jQW}.%c2cX0QRB'fU_6ŶQA !Q_(_xL)3i%(l=?1\Nx'Gi~ ,a<Kb?Q;X5~<6"a(FM/:KJ="}~]G,[f*5g5}8<e&&)#w5GAE!x$X:y];9U;YyxU\6 A{.&E0 -,KZ[SZ}Qh.w%/0{>2]h5r_9%FT=7Yi]g=0J_k"#d 7(`!.97/JO&F(%Z%.Hwd1:D fQl=~JKnL" ́M)OGoxb+ Ơmk"u5nO:0,wBiD?-AC^ld`9NMOL`BOU7Gu+tRJ,fGGj2>BNu,;gljLG4177~A>-P/S7S7|-.&7m:9///-^,a3:[n*JvL7d+P7I3r--C/DG7|-K CqI.-V--G3U\-O!R  ?,[mAN#0B0yKX+[aIa8&55H B<CUhE{!!i,0%- m7gO7IEfh 3 D6B-'BaA50Oj#u7|9D3!l'dG3 G 4V@m0h%##;!c!/.30&5Q 6,*1,..21!(*# )(+5 6J?}~(`rrN>.n{]X)?K9-{0^/0N@N)NNN?N^d87j7j%RpX?X@yIyX]XX?H%/8nz/+'j%+, +AQ PJiuy.54k }O%.L PSW&,(J5+CWOzj)F,""#/*@-`D)7 :,(H9:6 K@C2IS1`bS&44 CH1=1"6k;r0Y'cH,92w;^ƦDU%3,fv&A0M;EKW+%Q!7G?&k" #1.#66 1"^E=l$^M=$D]bY\ ;;GQAs,`XF|g2/_*237,.-A-I;(x-}97<72u.!a%U6.hG[D#</^<.\f5|3l1\%D:& \u]. ]W!x!}o A@3n.ZD]j2lSR"!"b(R!+8$A; W!2AL%35H9Fd-?cwZ=hO8C 00t0%&t*&S<H"=I!{C/9q.2O$ @q)'$HMD/%NJO}@Q-BABFAhM(@_XqMKA6( Qx6eH-\dHsYqEY)R4'#%d0LZ5/0\b$$4&32-(L1jd}L8o!ENDU^#wtd/gM)MHN>:wJ^<VJe`NNNvNdRT[u[fRM!fV[]U%xYNYfLN`{\N1tweMTv-j|r\(vv|||; ]6\t$"AI'-!k!JK;j-%=HX,zP"$p'5FK;T6_@v'xU2$*NB4wwю!>N)xAAA큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAAA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAAA큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAAA큤A큤AAAA큤A큤AAAAAA큤A큤AAA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAAA큤A큤AAAA큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤AAA큤A큤A큤AAAAA큤A큤AAA큤A큤AAAA큤A큤AAA큤A큤AAAAA큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤AAAA큤A큤AAAAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AAAAAA큤A큤AAAAA큤A큤A큤A큤A큤AAAAA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAAAA큤A큤A큤A큤AAAA큤A큤AAAA큤A큤AAAA큤A큤A큤AAAAA큤A큤A큤AAAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤AAAA큤A큤AAA큤A큤A큤A큤AAA큤A큤A큤A큤AAAA큤A큤AAAAA큤A큤AAAAA큤A큤A큤A큤A큤A큤A큤A큤AAAAA큤A큤A큤AAAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤h}=h}h}Dh}Bh}Bh}5h}Dh}>h}4h}Dh}Dh}Bh}Ch}Ch}Ch}Ch}Ch}Ch}Dh}Dh}Dh}Dh}Bh}Dh}Dh}Dh}Dh}Dh}Dh}Dh}Dh}Bh}Bh}Ch}Ch}Ch}Ch}Ch}?h}5h}'h}>h}'h}'h}'h}'h}'h}'h}(h}(h}(h}(h})h})h})h})h})h}*h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h},h},h},h},h},h},h},h}.h}.h}/h}/h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}1h}1h}1h}1h}2h}2h}2h}2h}2h}2h}3h}3h}3h}4h}4h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}4h}4h}>h}>h}#h}$h}$h}$h}$h}$h}%h}'h}'h}'h}(h}(h}(h}(h}(h}(h}(h}(h}(h}(h}(h}(h}(h}(h}(h}*h}*h}*h}*h}*h}+h}+h}+h}+h}+h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h}.h}.h}.h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}1h}1h}1h}1h}1h}1h}1h}1h}1h}1h}1h}1h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}4h}4h}4h}4h}>h}#h}#h}#h}*h}*h},h},h}/h}1h}1h}1h}3h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}4h}4h}>h}:h}9h}9h}:h}9h}9h}8h}9h}9h}9h}9h}8h}9h}9h}9h}9h}8h}9h}9h}8h}9h}9h}8h}9h}8h}9h}9h}9h}:h}:h}9h}9h}:h}8h}9h}9h}9h}9h}9h}9h}9h}9h}:h}:h}9h}9h}9h}8h}9h}:h}8h}9h}:h}9h}9h}9h}9h}9h}9h}9h}9h}9h}:h}9h}9h}9h}9h}9h}9h}9h}9h}8h}9h}9h}9h}9h}9h}9h}9h}9h}9h}:h}9h}9h}9h}9h}:h}9h}9h}9h}9h}9h}9h}9h}9h}:h}:h}:h}9h}:h}9h}9h}9h}9h}9h}9h}9h}9h}9h}9h}9h}9h}9h}9h}9h}9h}9h}9h}9h}9h}9h}9h}8h}9h}9h}9h}9h}9h}9h}9h}>h}(h})h})h})h}*h}*h}*h}*h}/h}/h}/h}0h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}4h}4h}>h}4h}4h}4h}>h}#h}$h}+h}+h}.h}.h}/h}/h}/h}/h}0h}1h}1h}2h}2h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}4h}4h}>h}>h}'h})h})h}.h}.h}/h}/h}/h}/h}/h}/h}/h}/h}1h}2h}2h}2h}3h}3h}3h}3h}3h}3h}4h}4h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}4h}4h}>h}>h})h}+h},h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}1h}1h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}4h}4h}>h}4h}4h}>h}>h}(h}(h}0h}0h}0h}2h}4h}:h}:h}:h}:h}:h}:h}:h}:h}4h}4h}>h}>h}#h}#h}#h}#h}#h}#h}#h}#h}#h}$h}(h})h}+h}+h}+h}+h}+h},h},h},h}.h}.h}/h}/h}/h}0h}0h}0h}0h}1h}3h}3h}3h}4h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}4h}4h}>h}>h}0h}2h}3h}:h}:h}:h}:h}4h}4h}>h}>h}&h}&h}/h}1h}:h}:h}:h}:h}:h}4h}4h}>h}>h}$h}$h}&h}'h}'h})h})h})h})h})h})h})h})h})h})h})h}+h},h},h},h},h},h},h},h},h},h},h}.h}/h}/h}/h}/h}0h}0h}0h}0h}0h}0h}0h}1h}1h}1h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}4h}4h}4h}4h}>h}>h},h},h},h},h}3h}:h}:h}:h}:h}:h}:h}4h}4h}>h}>h}'h}'h}'h}'h}'h}(h}*h}+h},h},h}.h}/h}0h}2h}>h}#h}#h}#h}$h}$h}$h}$h}$h}$h}$h}'h}'h}(h}(h}(h}(h}(h}(h})h})h}+h}+h}+h}+h}+h},h},h},h},h},h}/h}/h}/h}/h}/h}/h}/h}/h}0h}0h}0h}0h}0h}0h}1h}1h}1h}1h}1h}1h}2h}2h}3h}3h}4h}4h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}4h}4h}>h}>h}"h}#h}#h}#h}$h}1h}:h}:h}:h}:h}:h}:h}:h}4h}4h}>h}>h}(h}(h}(h}(h}(h}(h}(h},h}.h}2h}3h}3h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}4h}4h}>h}>h}(h}:h}:h}4h}4h}>h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}>h}#h}#h}$h}(h}(h}(h})h}*h}*h}*h}*h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h},h}.h}.h}/h}/h}/h}0h}0h}0h}0h}0h}0h}0h}1h}2h}2h}2h}2h}4h}4h}4h}4h}4h}4h}>h}#h}#h}#h}#h}#h}#h}$h}%h}%h}*h}*h}+h}+h}+h}+h}+h}+h}0h}0h}0h}0h}3h}3h}3h}3h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}4h}4h}>h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}4h}4h}>h}>h}+h}+h}:h}:h}:h}4h}4h}>h}4h}4h}>h}>h}#h}#h}#h}#h}#h}#h}#h}#h}#h}%h}%h}'h}(h}(h})h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}+h},h},h},h},h},h},h},h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}/h}/h}/h}/h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}1h}1h}1h}1h}1h}1h}2h}2h}2h}2h}2h}3h}3h}3h}3h}3h}>h})h})h})h})h}(h}(h}(h}(h}(h}(h}(h}(h}(h}(h}(h}(h}(h}(h}(h}(h}(h}(h}(h}'h}'h}'h}(h}(h}(h}(h}(h}(h}(h}(h}+h}.h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}3h}3h}4h}4h}4h}4h}4h}4h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}4h}4h}>h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}>h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}1h}1h}1h}1h}1h}4h}4h}4h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}4h}4h}>h}4h}4h}>h}>h}#h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h},h},h}.h}/h}/h}0h}0h}1h}1h}1h}1h}1h}1h}4h}4h}4h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}4h}4h}>h}>h}#h}$h}$h}$h}&h}'h}(h}(h}(h}(h}(h}(h})h})h})h})h})h}+h}+h}+h}/h}/h}/h}/h}/h}/h}/h}0h}0h}1h}2h}2h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}4h}4h}>h}>h}'h}(h})h})h})h}/h}:h}:h}:h}:h}:h}:h}:h}4h}4h}>h}>h}(h})h})h}*h},h},h}.h}.h}.h}/h}/h}0h}0h}0h}4h}4h}4h}4h}4h}>h}"h}(h}(h}(h}(h}(h}*h},h},h},h},h},h},h},h},h}/h}/h}/h}3h}3h}3h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}4h}4h}>h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}:h}>h})h})h})h})h}+h}1h}2h}3h}:h}:h}:h}:h}:h}:h}:h}:h}:h}4h}4h}>h}4h}4h}>h}>h}(h}(h},h}.h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}4h};h};h}:h};h};h};h};h};h};h};h};h};h}:h};h};h};h}:h}4h}4h}>h}>h}4h}4h}4h}4h}4h}4h};h};h};h};h};h};h};h}4h}5h}>h}>h}"h}"h}#h}#h}"h}#h}#h}#h}$h}$h}$h}%h}%h}%h}&h}'h}'h}(h}(h}(h})h})h})h}*h}*h}*h}*h}*h}*h}*h}*h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}/h}.h}/h}/h}/h}/h}/h}/h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}1h}1h}1h}1h}1h}1h}1h}1h}1h}1h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}4h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h}>h}"h}$h}&h}'h}'h}'h}'h}(h}(h}(h}(h}(h})h})h})h})h})h})h})h})h})h})h})h})h})h}*h}*h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}.h}.h}.h}0h}0h}0h}0h}1h}1h}1h}1h}1h}1h}1h}1h}2h}2h}2h}2h}2h}2h}2h}2h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}>h}$h}$h}$h}$h}$h}$h}$h}$h}$h}$h}$h}$h}*h}*h}.h}.h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h}5h}5h}>h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h}>h}#h}#h}#h}#h}#h})h}.h}.h}0h}0h}0h}0h}0h}2h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h}5h}5h}>h}5h}5h}>h}5h}5h}5h}5h}5h}>h}&h}&h}&h}&h}'h})h}*h}*h}*h}*h}*h}*h}*h}*h}+h},h},h},h},h},h},h},h},h}.h}.h}.h}.h}.h}.h}.h}.h}0h}0h}0h}0h}2h}3h}3h}3h}3h}3h}3h}3h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h}5h}5h}>h}>h}$h}$h},h},h},h},h},h}.h};h};h};h};h};h};h};h};h};h}5h}5h}>h}5h}5h}>h}>h}0h}0h}0h}0h}0h}0h}0h};h};h};h};h};h};h};h};h}5h}5h}>h}>h}/h}/h}0h}0h};h};h};h};h};h}5h}5h}>h}>h}#h}'h}'h})h}.h}.h}1h}1h}3h}3h};h};h};h};h};h};h};h};h};h};h};h}5h}5h}>h}>h}%h}(h}(h}(h}*h}*h}*h},h},h},h}.h}.h}.h}2h}2h}2h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h}5h}5h}>h}>h}#h})h})h}(h}(h}(h})h}*h}*h}*h},h},h},h},h},h}4h}4h}4h}4h}4h}4h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h}5h}5h}>h}(h}>h}#h}%h}(h}(h}(h}(h})h}*h}+h}+h}+h},h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}/h}/h}1h}1h}1h}1h}2h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h}>h}*h}*h}*h}0h};h};h};h};h};h}5h}5h}>h}5h}5h}>h}>h}(h}*h}*h}*h}*h}*h}*h}+h},h}0h}0h}0h}0h}0h}0h}0h}1h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h}5h}5h}>h}>h}1h}2h};h};h};h}5h}5h}>h}>h}(h}+h},h},h},h},h}.h}.h}.h}.h}.h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}3h}3h}3h}4h}4h}4h}4h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h}5h}5h}>h}'h}>h}$h}*h}*h}0h}1h}1h}2h}2h}>h}'h}'h}(h})h}.h}/h}0h}3h}3h}3h};h};h};h};h};h};h};h};h};h};h};h}5h}5h}>h};h};h};h};h};h};h};h};h};h}>h}#h}#h}#h}#h}$h}$h})h})h})h})h})h})h}+h}.h}.h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h}5h}5h}>h}5h}5h}>h}>h}.h};h};h}5h}5h}>h}>h}4h}4h};h};h};h}5h}5h}>h}>h}'h}(h}(h}(h}(h}(h}4h};h};h};h};h};h};h};h};h}5h}5h}>h}5h}5h}*h}#h}>h}#h}(h}(h}+h}+h}+h}/h}0h}0h}1h}2h}2h}2h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}5h}5h}>h}"h}>h}#h}2h}3h}7h}7h}7h}7h}>h}#h}#h}$h}*h}*h}*h}+h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}0h}0h}0h}0h}3h}3h}3h}3h}3h}3h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}5h}5h}>h}5h}5h}>h}>h}$h})h}+h}+h},h}/h}/h}/h}/h}0h}1h}3h}3h}3h}3h}3h}3h}4h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}5h}5h}>h}>h}"h}"h}"h}"h}"h}"h}"h}"h}"h}"h}#h}#h}#h}#h}#h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}3h}3h}3h}3h}3h}3h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}5h}5h}>h}>h}*h}*h}*h}*h}*h}*h}*h}+h}+h}+h}+h},h},h},h},h},h},h}0h}2h}2h}2h}2h}3h}3h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}5h}5h}>h}5h}5h}(h}(h}>h}(h}(h})h}+h}+h}+h}+h}/h}2h}3h}3h}3h};h};h};h};h};h};h};h};h};h};h};h};h};h}4h}4h}>h}5h}5h}$h}>h}$h}$h}$h}$h}$h};h};h};h};h};h};h}4h}4h}>h}>h}%h}%h}%h}%h}%h}%h}#h}#h}#h}&h}'h}'h}'h}'h}'h}'h}'h}'h}(h}(h}(h}(h}(h}(h}(h}(h}(h}(h}(h}(h}(h}(h}(h}(h}(h}(h})h})h})h})h})h})h})h}*h}*h}*h}*h}*h}*h}*h}*h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h},h},h},h},h},h},h}-h}-h}-h}-h}-h}-h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}1h}1h}1h}1h}1h}1h}1h}1h}1h}1h}2h}2h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}4h}4h}4h}h}(h}(h},h},h},h},h}0h}h}>h}!h}"h}$h}$h}$h}$h}$h}$h}$h}+h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}1h}1h}3h}3h}3h}3h}3h}3h}h}>h}%h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h},h}/h}h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}>h}%h}%h}#h}#h}#h}#h}(h}(h}(h})h})h})h}+h}+h}+h}+h},h},h},h},h},h},h},h},h},h},h}.h}.h}.h}/h}/h}/h}/h}/h}/h}/h}0h}3h}3h}4h}4h}4h}4h}4h}h}>h}+h}+h}+h}+h}+h},h}.h}.h}.h}/h}0h}0h}0h}1h}3h}3h}3h}3h}3h}3h}h}>h}#h}$h}$h}$h}$h})h})h})h}*h}*h}*h}*h}+h}+h},h}.h}.h}.h}/h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}1h}1h}1h}h}>h},h},h},h},h}h}>h},h},h},h}h}>h}#h}#h}$h}%h}%h}%h}'h}'h}'h}'h}'h}(h}(h}(h}(h})h})h})h})h})h})h})h})h})h}*h}+h},h},h},h},h},h},h}.h}.h}.h}/h}/h}/h}0h}0h}0h}1h}0h}0h}0h}1h}1h}1h}1h}2h}2h}3h}4h}4h}4h}h}>h})h}0h}1h}1h}1h}1h}1h}h}4h}4h}>h}>h}'h}0h}0h}0h}0h}0h}0h}0h}0h}0h}h}>h}$h}&h}&h}&h}&h})h})h})h}*h}*h}+h}+h}+h}+h}+h},h},h},h},h},h}/h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}2h}2h}3h}4h}4h}4h}4h}4h}4h}>h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}h}h}%h}>h}#h}#h}#h}#h}#h}#h}#h}#h}#h}#h}#h}#h}#h}#h}#h}#h}#h}#h}#h}#h}#h}#h}#h}#h}#h}#h}#h}#h}h}>h},h},h},h},h},h},h},h},h},h},h},h}h},h},h},h},h},h}h}>h},h},h},h},h},h},h}h}5h}5h}>h}-h}>h}'h}h}>h}-h}-h}-h}-h}h}>h}%h}+h}+h}+h}+h}+h}+h}3h}3h}3h}3h}3h}h}>h},h},h},h},h},h},h},h},h}1h}1h}1h}h}>h}+h}+h}+h}+h},h},h},h},h},h}/h}/h}h}>h}$h}'h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}+h}/h}/h}/h}0h}0h}0h}1h}1h}2h}2h}2h}3h}>h}$h}$h}$h})h}*h}*h}*h},h},h},h},h},h},h}0h}0h}0h}0h}0h}0h}1h}1h}2h}2h}3h}3h}3h}h}>h}(h}(h}(h})h})h})h})h})h}*h}*h}*h}*h}+h}+h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}1h}1h}1h}1h}2h}h}h}0h}0h}0h}0h}0h}0h}0h}0h}h}5h}5h}>h})h}>h})h},h},h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}0h}0h}1h}1h}1h}2h}2h}2h}3h}3h}3h}3h}4h}h}>h}/h}/h}/h}2h}h}>h}$h}$h}$h}$h}$h}$h}$h}'h}'h}(h}(h}(h})h})h})h})h}*h}*h}+h}+h}.h}.h}.h}.h}.h}.h}/h}/h}0h}0h}1h}2h}3h}3h}h}>h}$h}$h}+h}/h}h}>h}"h}"h}"h}"h}"h}"h}#h}#h}#h}'h}'h}'h}'h}'h}'h}'h}'h}'h}'h}'h}'h}(h}(h}(h})h})h})h})h})h})h})h})h})h})h})h})h})h})h}*h}*h}*h}+h}+h}+h}+h}+h}+h}+h},h},h},h},h},h},h},h},h}-h},h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}.h}.h}-h}.h}.h}-h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}/h}/h}/h}0h}0h}0h}0h}0h}0h}0h}1h}1h}1h}1h}1h}1h}1h}1h}1h}1h}1h}1h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}4h}4h}>h}"h}&h}'h}(h}*h}+h}.h}/h}2h}2h}3h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}5h}5h}>h}=h}=h}h}"h}(h}(h})h}=h}=h}=h}=h}=h}5h}5h}>h}5h}5h}5h}5h}5h}5h}5h}5h}5h}5h}5h}5h}5h}5h}>h}#h}#h}'h}'h}'h}(h}(h}*h}*h}*h}*h}+h},h},h},h},h},h},h}.h}.h}.h}.h}/h}/h}/h}/h}/h}/h}/h}/h}0h}0h}1h}1h}1h}2h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}5h}5h}>h}>h}+h}+h}+h}+h}=h}=h}=h}=h}=h}5h}5h}>h}5h}5h}>h}>h}#h}'h}'h}'h}'h}'h}'h}'h}'h}'h}(h}(h}(h}(h}(h}*h}*h}*h}+h}+h},h},h},h},h}.h}.h}.h}/h}/h}0h}0h}0h}0h}1h}1h}1h}1h}2h}2h}2h}3h}3h}3h}3h}3h}3h}3h}3h}4h}>h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}%h}&h}&h}&h}&h}&h}&h}&h}%h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}&h}(h})h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}5h}5h}>h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}>h})h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}0h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}5h}5h}>h}>h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}5h}5h}5h}5h}>h}>h}#h}#h}#h}/h}/h}2h}=h}=h}=h}=h}=h}=h}=h}5h}5h}5h}5h}>h}5h}5h}>h}>h}(h}1h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}5h}5h}5h}5h}5h}5h}>h}>h}#h}*h}*h}*h}*h}.h}.h}.h}3h}3h}3h}3h}3h}3h}3h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}5h}5h}>h}>h}"h}"h}"h}"h}"h}"h}"h}"h}#h}$h}$h}$h}$h}$h}$h}$h}$h}%h}'h}'h}(h}(h}(h})h})h})h})h})h})h})h})h})h})h})h})h})h})h})h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}+h}+h}+h}+h}+h}+h},h},h},h},h},h}.h}.h}.h}.h}.h}.h}.h}.h}.h}/h}/h}/h}/h}/h}0h}0h}0h}0h}0h}0h}1h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}3h}3h}3h}3h}3h}3h}3h}3h}3h}4h}4h}4h}4h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}5h}5h}5h}5h}5h}5h}5h}5h}5h}5h}5h}5h}5h}5h}5h}5h}5h}5h}5h}5h}5h}5h}5h}>h}'h})h})h}+h}+h}+h}+h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h}.h}/h}0h}0h}0h}2h}2h}2h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}5h}5h}>h}>h}$h})h}*h}*h}*h}*h}*h}0h}0h}3h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}5h}5h}>h}5h}5h}>h}>h}1h}=h}=h}5h}5h}>h}>h}"h}"h})h}*h}*h}*h}*h}*h}*h}+h}+h}/h}1h}3h}3h}3h}3h}3h}3h}3h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}5h}5h}>h}>h}#h}'h}'h}(h}2h}2h}3h}3h}3h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}5h}5h}5h}5h}5h}5h}5h}>h}5h}5h}(h}(h}>h}(h}(h},h},h}3h}3h}7h}7h}7h}7h}7h}7h}7h}4h}4h}>h}5h}5h})h})h}>h})h}+h}+h}+h}+h},h}.h}.h}.h}.h}.h}.h}/h}2h}2h}2h}4h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}5h}5h}>h}5h}5h}5h}1h}1h}1h}>h}1h}1h}1h}1h}1h}1h}1h}1h}1h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}5h}5h}>h}5h}'h}'h}>h}'h}(h}(h}+h}.h}.h}.h}/h}/h}/h}/h}/h}/h}/h}0h}0h}0h}1h}3h}3h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h}4h}4h}>h}$h}>h}$h}$h}$h}$h}$h}$h}%h}%h}%h})h})h}*h}*h}*h}*h}*h},h},h},h},h},h},h}-h}-h}-h}.h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}.h}/h}/h}/h}/h}/h}/h}/h}/h}0h}0h}0h}0h}0h}0h}0h}1h}1h}1h}1h}1h}2h}2h}2h}3h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h}>h}(h})h}/h}/h}/h}0h}0h};h};h};h};h};h};h};h};h}5h}5h}>h}>h}*h},h}/h}/h}/h}/h}/h}/h}/h}/h}1h}4h};h};h};h};h};h};h};h};h};h};h};h};h};h}5h}5h}>h}>h})h})h}+h}+h}/h}/h}/h}/h}2h}2h};h};h};h};h};h};h};h};h};h};h};h}5h}5h}>h}>h}$h}(h}(h}(h}(h}(h},h},h}.h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}2h}3h}3h}3h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h}5h}5h}>h}5h}5h}>h}>h},h},h},h},h},h}/h}1h}1h}1h}1h}1h}1h}1h}1h}1h}1h}1h}1h}1h}1h}1h}1h}1h}1h}1h}1h}1h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h}5h}5h}>h}>h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}-h}/h}/h}2h}3h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h}5h}5h}>h}>h}3h}3h}3h};h};h};h};h}5h}5h}>h}5h}5h}$h}>h}$h}$h}&h}&h}'h}(h}(h}(h})h})h})h},h},h},h},h}.h}.h}.h}.h}.h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}0h}0h}0h}0h}0h}1h}1h}2h}2h}3h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}>h}$h}$h}$h}$h}%h}%h}*h},h},h},h},h},h},h}/h}/h}1h}1h}1h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}5h}5h}>h}>h}+h}+h}/h}/h}/h}/h}0h}7h}7h}7h}7h}7h}7h}7h}7h}5h}5h}>h}>h}%h})h})h}+h}+h},h},h}.h}.h}.h}.h}0h}0h}0h}2h}2h}2h}2h}2h}3h}3h}3h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}5h}5h}>h}>h}.h}.h}7h}7h}7h}5h}5h}>h}5h}5h}>h}>h}*h}*h}*h}*h},h},h}/h}0h}0h}1h}1h}2h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}5h}5h}>h}5h}5h},h},h}>h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h}4h}4h}4h}4h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}4h}4h}>h}5h}5h}#h}#h}>h}#h}%h},h}/h}/h}0h}0h}0h}0h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}5h}5h}>h}5h}5h}#h}>h}#h}#h})h})h}/h}/h}/h}/h}/h}1h}1h}1h}1h}1h}1h}1h}2h}3h}3h}3h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}>h}*h}.h}4h}7h}7h}7h}7h}4h}4h}>h}4h}4h}>h}>h}.h}1h}1h}7h}7h}7h}7h}4h}4h}>h}>h}+h}.h}.h}0h}0h}1h}1h}1h}1h}1h}1h}1h}1h}1h}1h}1h}1h}1h}1h}1h}2h}2h}2h}2h}3h}3h}3h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}4h}4h}>h}2h}2h}>h}2h}2h}7h}7h}7h}5h}5h}>h}5h}5h}#h}>h}#h}&h}(h}(h},h}1h}1h}1h}1h}1h}2h}2h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}5h}5h}>h}5h}5h}5h}5h}*h}*h}*h}>h}*h}*h}.h}.h}.h}.h}.h}1h}=h}=h}=h}=h}=h}=h}=h}=h}=h}5h}5h}>h}5h}(h}(h}>h}(h},h},h},h},h},h}/h}0h}=h}=h}=h}=h}=h}=h}=h}=h}=h}5h}5h}>h}5h}$h}$h}>h}$h}$h}0h}0h}1h}1h}1h}1h}1h}1h};h};h};h};h};h};h};h};h};h};h};h}5h}5h}>h}5h}5h}$h}>h}$h}'h}'h}'h}'h}'h}'h}'h}'h}(h}1h}3h}3h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}5h}5h}>h}5h}5h}5h}%h}%h}>h}%h}'h}+h}-h}-h}-h}0h}1h}1h}1h}1h}4h};h};h};h};h};h};h};h};h};h};h};h};h};h}5h}5h}>h}>h}2h}2h}1h}1h}1h}1h}1h}1h}1h}1h};h};h};h};h};h};h};h};h};h};h};h}5h}5h}>h}>h}2h}2h}2h}2h}2h}3h}4h}4h};h};h};h};h};h};h};h};h};h}5h}5h}>h}5h}$h}>h}$h}&h}&h}'h}(h}(h})h})h})h})h})h}*h}*h}*h}*h}-h}/h}0h}0h}0h}0h}1h}1h}1h}1h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}1h}1h}1h}2h}2h}3h}3h}3h}4h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h}4h}4h}>h}(h}>h}(h})h})h})h})h}0h}0h}1h}1h}1h}1h}1h}1h}1h}2h}2h}4h}4h}4h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h}5h}5h}>h}5h}5h}4h}4h}>h}4h}4h}4h}7h}7h}7h}7h}5h}5h}>h}5h}5h}5h}#h}#h}>h}#h})h}.h}.h}.h}.h}/h}/h}/h}0h}3h}3h}3h}4h}4h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h}>h}*h}*h}*h};h};h};h};h}5h}5h}>h}>h}'h}*h}.h}0h}2h}2h}2h}2h}3h}3h}3h}4h}4h}4h}4h}4h}4h}4h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h};h}>h}*h}*h};h};h};h}5h}5h}>h}>h}.h}.h}.h}.h}0h}1h}4h}4h};h};h};h};h};h};h};h};h};h}5h}5h}>h}5h}5h}>h}>h}'h}*h}+h},h}1h}2h}3h}4h}4h}4h}4h}4h};h};h};h};h};h};h};h};h};h};h};h};h};h}5h}5h}>h}5h}5h}>h}5h}$h}>h}4h}>h}'h}'h}'h}'h}'h}'h}'h}7h}7h}7h}7h}7h}7h}7h}7h}5h}5h}>h}7h}7h}>h})h})h})h})h}*h}4h}7h}7h}7h}7h}7h}7h}7h}5h}5h}>h}>h}/h}0h}7h}7h}7h}5h}5h}>h}5h}5h}>h}>h}*h}*h}+h}0h}1h}1h}7h}7h}7h}7h}7h}7h}7h}5h}5h}>h}>h}+h}+h}.h}2h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}>h}$h}(h}(h}*h}*h}*h}*h}*h}/h}/h}0h}2h}2h}4h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}5h}5h}>h}5h}5h}>h}>h}+h}2h}4h}4h}7h}7h}7h}7h}7h}5h}5h}>h}>h}+h}0h}1h}2h}2h}3h}3h}3h}3h}3h}3h}3h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}>h}*h}*h}*h}7h}7h}7h}7h}5h}5h}>h}5h}5h}>h}>h}1h}1h}1h}3h}3h}7h}7h}7h}7h}7h}7h}5h}5h}>h}>h}2h}2h}7h}7h}7h}5h}5h}>h}>h}2h}2h}7h}7h}7h}5h}5h}>h}>h}1h}1h}1h}1h}3h}3h}3h}7h}7h}7h}7h}7h}7h}7h}7h}5h}5h}>h}>h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}7h}5h}5h}>h}5h}$h}#h}>h}$h}'h}(h}(h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}/h}/h}/h}/h}/h}0h}3h}3h}3h}>h}*h}8h}8h}5h}5h}>h}8h}7h}8h}7h}8h}8h}7h}7h}7h}7h}7h}8h}7h}7h}8h}7h}7h}8h}8h}7h}8h}7h}7h}7h}7h}7h}7h}7h}7h}8h}>h}*h}+h}+h}+h}+h}/h}/h}3h}8h}8h}8h}8h}8h}8h}8h}8h}8h}5h}5h}>h}>h}*h}.h}.h}.h}.h}.h}.h}.h}.h}.h}.h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}5h}5h}>h}5h}5h}>h}>h}*h}0h}0h}8h}8h}8h}8h}5h}5h}>h}>h}*h}/h}/h}3h}8h}8h}8h}8h}8h}5h}5h}>h}>h}#h}*h}8h}8h}8h}5h}5h}>h}$h}>h}$h}$h})h}*h}*h}*h}+h},h},h}.h}0h}1h}1h}1h}1h}4h}4h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}>h}$h}$h})h})h}*h}.h}.h}.h}8h}8h}8h}8h}8h}8h}8h}8h}8h}5h}5h}>h}>h}$h}$h})h}.h}/h}0h}0h}4h}4h}4h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}8h}5h}5h}>h}5h}5h}>h}5h}#h}#h}#h}#h}>h}%h}#h}#h}+h}+h},h}2h}3h}3h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}4h}4h}>h}5h}5h}#h}#h}#h}>h}#h}#h}$h}$h}$h}4h}4h}=h}=h}=h}=h}=h}=h}=h}=h}4h}4h}>h}>h}$h}=h}=h}4h}4h}>h}5h}5h}5h}5h}#h}.h}*h}>h}$h}$h}$h}'h}(h}*h}*h}*h}*h}*h}*h}*h}*h}*h}*h}+h},h},h},h},h},h}.h}.h}0h}0h}0h}1h}1h}1h}1h}1h}2h}2h}2h}2h}2h}3h}3h}3h}3h}3h}3h}3h}4h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}4h}4h}>h}>h}#h}#h}$h}$h}$h}$h}$h}&h}&h}'h}'h}'h}'h}'h}'h}(h}(h}(h})h})h})h})h})h}*h}*h}*h}*h}*h}+h}+h}+h}+h},h},h},h},h},h}.h}.h}.h}.h}.h}/h}/h}/h}/h}/h}/h}/h}/h}/h}/h}0h}0h}0h}0h}0h}0h}0h}0h}1h}1h}1h}2h}2h}2h}2h}2h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}3h}4h}4h}4h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}4h}4h}>h}>h}*h}*h}*h}*h}*h}*h},h}0h}0h}2h}2h}2h}3h}3h}3h}3h}3h}3h}3h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}4h}4h}>h}.h}>h}.h}=h}=h}4h}4h}>h}5h}5h}5h}5h}5h}5h}#h}>h}'h}*h}*h}/h}/h}/h}/h}0h}1h}1h}2h}2h}>h}&h}/h}2h}=h}=h}=h}=h}5h}5h}>h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}>h})h})h},h},h},h},h},h}.h}.h}/h}/h}3h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}=h}5h}5h}>h}>h}(h}(h})h},h}.h}2h}3h}=h}=h}=h}=h}=h}=h}=h}=h}5h}5h}>h}5h}5h}>h}>h}#h}(h}2h}=h}=h}=h}=h}5h}5h}>h}5h}5h}5h}5h}5h}5h}$h}$h}$h}>h}$h}$h}$h}$h}$h}%h}+h}+h},h},h},h},h},h},h},h},h},h},h},h}1h}2h}2h}>h}=h}=h}=h}=h}=h}=h}>h}>h}=h}>h}>h}=h}=h}>h}=h}=h}>h}=h}=h}>h}=h}=h}4h}4h}>h}>h},h}>h}>h}4h}4h}>h}5h}5h}'h}'h}>h}'h}*h}+h},h}.h}2h}3h}3h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}4h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}5h}5h}>h}5h}5h},h},h}>h},h},h},h}>h}>h}>h}>h}5h}5h}>h}5h}5h}*h}*h}>h}*h}*h}*h}*h}*h}1h}2h}3h}3h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}5h}5h}>h}5h}5h}5h}5h}-h}-h}-h}>h}-h}-h}-h}>h}>h}>h}>h}4h}4h}>h}5h}5h}5h}5h}"h}"h}>h}"h}#h}$h}$h}'h}'h}'h}'h}'h}(h}(h}(h}(h}(h}(h}(h}*h}*h}+h}+h}+h},h},h},h},h},h},h},h},h},h},h},h},h}-h}.h}.h}.h}.h}.h}/h}/h}/h}/h}/h}0h}0h}0h}0h}0h}0h}1h}2h}2h}2h}2h}3h}3h}3h}3h}4h}4h}4h}4h}3h}4h}4h}4h}4h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}$h})h})h})h})h})h})h},h}.h}.h}3h}3h}4h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}4h}4h}>h}>h}(h})h}3h}3h}3h}>h}>h}>h}>h}>h}>h}4h}4h}>h}>h}#h}'h}(h}(h}+h}+h}+h}+h}+h}.h}/h}/h}/h}/h}/h}/h}/h}2h}3h}3h}4h}4h}4h}4h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}4h}4h}>h}4h}4h}>h}>h}#h}'h}(h}(h}*h}+h}+h}+h},h}/h}/h}/h}/h}/h}/h}/h}2h}3h}3h}4h}4h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}4h}4h}>h}5h}5h}5h}5h}#h}>h}#h}'h}'h})h})h})h}*h}*h}+h}+h}+h}+h}+h}+h}+h}+h}+h}.h}/h}/h}/h}0h}0h}0h}0h}1h}1h}1h}1h}1h}2h}3h}3h}3h}3h}3h}3h}3h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}+h}/h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}0h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}5h}5h}>h}5h}5h}>h}5h}5h}5h}5h}5h}5h})h}>h})h}*h}*h}+h}+h},h}-h}-h}-h}-h}-h}/h}0h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}2h}3h}3h}3h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}*h}+h}-h}-h}-h}-h}.h}.h}.h}1h}2h}3h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}5h}5h}>h}5h}5h}>h}>h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}+h}2h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}5h}5h}>h}>h},h}>h}>h}5h}5h}>h}5h}5h}5h}-h}>h}-h}-h}>h}>h}>h}5h}5h}>h}5h}5h}5h}5h}5h}5h}5h}5h})h})h}>h})h}+h}+h}0h}1h}1h}>h}>h}>h}>h}>h}>h}>h}5h}5h}>h}5h}*h}*h}>h}*h}+h}+h}+h},h},h}0h}3h}3h}4h}4h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}4h}4h}>h}5h}5h}5h}5h}5h}5h}+h}>h}+h}/h}2h}3h}>h}>h}>h}>h}>h}5h}5h}>h}>h}(h}(h}>h}>h}>h}5h}5h}>h}5h}5h}+h}+h}>h}+h}>h}>h}5h}5h}>h}5h}5h}#h}#h}#h}>h}#h}$h}$h}$h},h},h},h},h}/h}/h}/h}0h}0h}1h}1h}1h}1h}1h}1h}1h}2h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}4h}4h}>h}5h}5h})h})h})h}>h}.h}/h}/h}/h}/h}/h}/h}/h}/h}0h}3h}3h}3h}3h}>h}3h}>h}>h}4h}4h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h})h}>h}>h}4h}4h}>h}>h}-h}.h}.h}.h}/h}/h}3h}3h}>h}>h}>h}>h}>h}>h}>h}>h}>h}4h}4h}>h}4h}4h}>h}5h}5h}$h}$h}$h}>h}$h}+h}+h},h},h},h}>h}>h}>h}>h}>h}>h}>h}4h}4h}>h}5h}5h}5h})h})h}4h}>h})h})h})h})h})h})h})h})h})h})h})h})h})h})h})h})h}*h}*h}*h}1h}0h}4h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}5h}5h}>h}>h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h},h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}>h}5h}5h}>h}>h}*h}.h}/h}2h}2h}>h}>h}>h}>h}>h}>h}5h}5h}>h}>h}4h}4h}4h}4h}4h}4h}>h}>h}>h}>h}>h}>h}>h}5h}5h}>h}5h}5h}Dh}Bh}Bh}?h}Dh}>h}Bh}?h}Dh}Dh}Dh}Dh}Dh}Dh}Dh}Dh}Dh}Dh}Dh}6h}Dh}?h}Bh}Bh}h}h}h}h}h}h}h}h}h}201d329ebaac84240d09f88d96a091c4134eaac3e99685fdd7b4c6f8ec2318ee42820ab6b8e880402fb35feb5e4f36b41ee90ed34f76143dd6843211967283c1f483413a6fa513f72b3f5a3440cc965074628327b8d77df04a6b7a493dbf83de980d3ba5caa63c212658a2996f42a8e51174bc4e5b758b5b7d844ed316bed7243644b33cb89d1855862aeb196a8823ed6581ac67ccfecf22727f09a8749b03c1a89b6c3ad741f2bab38378d655a3d03f75bc8a63624c7126d05dfddedc6189d8de33f8f84404ca06c2cff65484b027f13b0f8a8c6dbea9ea6c3c142ac03ae00553d9d0c3eec16e5c2a51e8015fa8fae1f1e7db1f034281465d35d75e1db4b7de740fea7966dbf10448ebcfb9b444fd20765a053e8c04ade9ec40bbb3919fffcf895d4379d50a2c6f17374bd0849e6c5d6a80ce05ebcf27a703904f770e834b7a182ab84ea171b582a1c8dee05f6068c76c28e53f8c95e0dc5f26a6776e906a3bde1b698a951342089ac75de3c739852a30764925eb25074b3a833cafd60a77b2c57ba5f137d549794be24ee6dd96999fe74e3726aec93d9cd98de58621ebafed4e7d8016452aa05441163387c5e5068cadf427bb0eb01e42ce624c147dc34da55daa3668fc92df7d5b56ea6a7f2c2c2ce65442b310a82ba74ab29f435327bb0eca8cbbbb232ace5a56ea5a7b5f6998e7432dbdd934a11abffb087ed14bf888ddc5774cdcd933581ab43c72c7d2664f83686249b5e7aaf58277a938d4076cd3777727e09661a58b5c4c82977710d146e8e16ee8840a230811f4762e56132d9a00fc9eb80a45ca6e312e56dfad613386ce733f601d159dc97e7267b3630e8103c7b865b34d0d36ca753f7fd6ad4f8bea9fc06177bcacbc861ae8f1c462fd8fb1819f799756645cf4e510a6b16e55f59b710443a7dd6d00880074a21d265cb98322b6ca211a71043c2b2774249e71ec3f6ea1efbccf8d3b50bacf709147313c77ac728d457fe4ba6214cfc4163afff615a409ae756940bed6ef7d01eee6d5c613477d4043f5fa5e99c54fd29eb633f924607d1ba9494ac90ea479169f7ae7d072b0ea92e179536d3418a0728b4d3ed06019e4050d37d3ab12d22c850dbc6d6bca4708537af95f94813c440a125b26f2d9567cb74872bb00a6738850408feb0ef2c93c1fbde56d7ed4e59ce0f155143cbf299a3906d574fd1c93e54f307b00e688b11206e641851d33065885b5f1a90afd4c6a016f00fd1945a90e0f18a53d8b75ee6f4a69aa1aa52887870a4c7b493ccf217e7181bb8eb4166fe7cc6b7d6a75a734e93e0ccda1982187f6d757cb2ab6d3ef9ef2d79e01d2eca3f005957bfd037253cc34b78550361fb31889115bdb9adb800ac06c87d5dbc1bcf20497645640dae280e33f774d554c41e52885810dc9364db5abfaa07302194d54670cadd21ceb70b6e60ccd26f824cb5b87210a142913c707c86e4acfb454e100c65e50a9cc4c8688f3f10d70fb57cebd23c2b4472dcddda98051b1892886a28a2eae1b455158e8e1a6ea6cab94bb74d82a8701325da69219b178d24d7e766186af11cdafaeca41b04e26619a7c182e604e494d41be2c05dc9b005491153cfb3c295b874c8948650117ef36fb21bc4afa8f01908d5223a1d21d899229021f285c64111b7222714d87f0d0d97ce8fd93373a140a99660369b8af6868501fe6759d2cc9f637d80e165158cde328c8c8fb21dbdd1a1816d5f54f27cd51c235f119f0ab0c0e39cddc527930f0d80e8ea5c5bb91e37e8d07ba9f58cc3abc933c9167fe24c84f8e67f484830db53b3deb556a32578f36a6d805755ac71ef50902080e398dca076926e9c7442bc119221e15d6875c114be30e6683223a3c226158560c2b08ee1b0ba3ef2a7cdc1aab95e13992f63f9536206f905d025b206f32b214864671dfce745f82b2a8404d2aa4a2707dea98f30a2fdcb7e04f336f7a4e3ef27461f9016d2dd9d79fef02ba0be1cf982121afa7d185fe328f5f18de5b5f1f98b64c3e6aa999ef3ffc777ddda7a40c089a27e38d68eb563adb7514045671a4008904db0c27025765b98a3698b5d0cdaebc74a5fe1d9e8a1c1343498bf32c0633e18b4d2990b753d15a28b1d5703ef58609daedeb7f286c23526b11bab1296265b9187dddbae3da664de520034ee1ec0f45db8c44c893ee6c3acb117d82bdc2e3b1e8c346ecfd043273e512c83123e7aeec8726647f7d363eb6e565d308d64d350cd0133960000faed8e0edb67640d4c103146c1c3302a939a5948ac98e8cfb291169ee0060345a1665d80038e0023dcfbd3e5d0e5152c69bfc489d103d8d5f3ecc97ce2b0aab9c56c6aec2280e935680108e475a23a406fc32d650fcb4ef1b4a96498492c9b491b72373c47bdca04d3bdc97f6838f0a5e33868e4c1eaeda576b206182fbf91aab19fe8f003972d48a12bc2649d2b1d84cefd08cbb7ae08bfa95beff77e399d7554cf2729d923af2ee5ce63c974955ca6ad9f8621ecb0021b471ff6e295a87f7b31c1a53b0b4489564e364441954bb78e214deda072778c79ba74af4b02eef247a9e480ff448d36d9a14bd86cea82933c4800d94b3243c1c743f1e3fc3fe013a2e0ae2bb8ec0d68f0ac1787484928a8e3a54e94dcea8e26eb292bad83a86149fa9140a7136317f8b070fef9e85d4ab03c7d851eea8ba2abf82ab1816d5e7675de708b28a7474b0629318b92688a39b0dc7c05a666b89732122ddad60909b56ed4b7b7a568c9481096f862545a119a85e2e9fc15549674a33298147f455b9850000ae5fbdc3a7f3736061354d6160d0c2a213daca34a22544233cbb3191d3111012ff1a6d70b205f6376845c7b3e80b2e697b446e46d1168a674610e171e3b30c3865958ef45e52a022979e4285259fb87475737afd3dd7942a700d08662fe50afa566405bb56c3e464c68e71fbeedd1f969471a58714c062aa3bfe6d8a3275fbbe3150e4e0eacbc3de494d99d3f78e0cdca3c33cc3149ac684272f0ccd9d6f6dc29bb52b9be5e2b1747c0fb4bda0983583c259a56c45b5debeae7d7092c021d019d07bb1614efec086f381e6ae7dcd79cd73cd6ab4e06bbf8652dab962ce567539f158c32851ad9a0ffabea44c41b976b3bfc14b0b7599a3ccad14e15694df94506dd3d980aee869497e5c8da407055cc5fe84124534b6a46976ec03c5a6f618c23fd5c676d25855bdbae49dc815c515bbc7ed23b79b9ba6d1d663b04abcd553d8339e3864cb4096eb1f5865c0235f3c749a3ff291b56d794cc8fd26ae8024dca86e8eada6a7c9366d872bf8b06ff4da1c85bcd1ee15859902052ed9d721cf09b9b1847b3f8b09f67f6a59b9c481c1053144e3735660df1bd5879e4e1297a52000a35ec700dd559d69686fb8871974b28a6f6d42340846e5a12b0d028713d2a59c8df77be6c0401c656b520039de82b8990d14af1119eb00bc0b86f3e928a53654673296aea8b2a6398e7ef5049d003becaa1722ce0c717653cbae925c8117d5e879282296a2f63a238fa1f20124cb05437dafd10dda844d5550f85be5a0b34b6604d55d7acf0fca7c77c72b880b93241a6c62292d4192ae8b1deaad95b52c55b3ddafdfd9cee620f6fe57adbe14816263a6343ef858722cc55df3b996579c14f95fa0141a684902ec79df1e9b9724aeaae38c84c3d161ed757ab03acbc5257e995ee888ccecd28d41b4977b38eb84d68038aae8ef19bb55c10419e125a27ff7a214d837d30fb95edd6be5fee939c788d236f9f782b13513088bc1f4791e11406487bf8bbdd2323c5cefd4c73d40511139c288351ff3979b4de99a3db4990fa5ae68abb1c2cd73cb0ad087e70831fd6963bc810f889cd696b036874c1fb96591539331fbacaae08757344bf5cc44c427b0c514ab24646cb159d7596b5edfd1b53ff12b267035a4b17b4cd89d7fa944dce8a7fabdf202a867fbeb7d1b19f981cbd8a3a5ad797863152e038f608f53ddebd982f8afd1281e582b8b80ad9830b4d8b190ac47a3a16c5a7231877d6cf5c1df207df33e3e263cfb37a3e66ef59327dfbc7dbb162118d48918c5b426259930113f20a7e482d74a3ee1779de9e8720eba507ae45006ba2ddcf2da2df86a0090dc0eff227f68427fe6f7683d5efcb7e5554d122c4a0f34b871a90858cfac9348445cb93d376868f1f7a8d04237c1e4af32cc11301372d9a70bcf99dec412aa8cd95a36c675e4f8df2c2cd5bd55fb5017b5a7da03f8ce3c1922d12bdc5217ea7ef5e9877fcd6cbf7b9924e65c1d4debb1191b057b9206b3458c4559f84ebd7134cea2a75ba94723056d7fd1eb03faf9517d3f04d81c752b912e2795ef94ceebff00493a4b7f590b41bd55511ea3f9eb343004c3c286a79feaebdcbb71664354181f1073f8d36b0cd5a62505f98d451ef93a0f6a6b0f8a1c5fd01e9e1d70fd09cc33d5f40048f251601422e585a608a2c61d1228d4a9fa9b67a8beee34439277647b822288737658d410019442562ff4f008718eed80a1997a9356fa89fa143b829e2e4037837059d0f7b2b349adff95e9908d3625318e5da31700f3bc491c163d78c3cd0dc37e0e13afdcad22834e44043a2fa5c1a3fcfd6cf77bc482790422c9acb69ca266b5b8c990cd66ed63b2034717bb978a29b08035ee15c34fb654337bb2b2a84d062487306b8e66071265018d48060981567718fe225fcda848d71e47529c1540c2f233908d83a62669350ab6feb635982325de08390a6449eaa53b031ceddc96e671f8a698862335154b0378969100732148bc551212814b1a3122e9684862e48779ed2f242bcefa4c06fca19790beae7c214aa7db9ae1197777808080188ad3dec885765106eeb1fd3173ba5b4ffc824c9f085ea7fd23df5283216b6c73ebebfb6ab3cd4fec25ac5bcfb34fd5613e63cc64c55797e0b8b6ef8e0e820e6d206dbb0360f3457631a0b9a82137e1d13d403dd7a624b3b404bee432ab9c8e463fe9d4b50dfe03b87da1a0afa64a5fff47d0e572d40771c1136641b78faaaed374aed2ca188e564ed00c11f011fdfd1ac2727c5fd2d8df2725425c86d5c56722480533e584aa5ce63e014d613627742c3b062451ed6c28e3dbfaefb9429a7daa94ac3e2f4e8a17ea596b8993570014b26c15d4a0035642d6054811fb2f12d57e0c75b018c5094bb3d6e48389e9a98424adeb3d0d5c3018954f57a46091d0c4cfa289bf048117fc4f31c8eda00dcb2b78ca5d3a9611933925170eaaac10401e2ed2e64a17097787319ef7dee3cdd23b5dddc0aafaa2082fc521f80d779201c7dd18603e2fc8c334d566ba2fe546aafa181de3189eb7221cd96e881abb21b2d4a5822ae368c0a3cee6bbd15419c34011dbedd86396a28f7625c862fb002905b6eda6164bd3ee1a38541e110e41ad46630caa13b2aed5516b72d7d2fc749050d68860ed9e4395ffda930a343dc753dc1be70536cb40989db4b455c8c6f6378fb7d9c8f1f4c9181c33c521faecb38ffd24be88f5bcbd749776d8f274fb7924e15ce98d455dee83aef20aad8b7fa5b3170f791f4dbaf617999e2732feb5b48cbb8d89355c4784dcf1819072033ddaba704ea198804a7edc9d0155b16e10b18033153ba4e43befe5d90b74a7d94155e90e5a194462cf12d9a5d06bc5f691671856318243305642fb7191cdcb3b6a4f0411ec5f12f49325b222e8b4c2d85444fa6e1fd2204f57c24b703392fe3d641b2e38767355c6d3f9441ed091a8816f8d7b734b3813430ab322b178dcac25ba58bd72f5a2a744402a8b64791600330c4b87deb03f8df0c2f523f06e0d0359f01d16fcca40fd2d7dbe17c54ad2e0becf638e1203d5e9a23c112fefdf5437ed7a41a2f4942348f23546fcd08eb6df8ac751a7d9e8fc20e77f0103ca64b8c5df3c926b7d7aa51f60041cc418e58f5b29a4e122aa7bbdafe569bd558f1b12efd2b8221e3e117dd544539a65d636db7e36f181d919703d9b80769f7e5ff65c81306c0ef4c7e886985a8465122d53d434e5da26a8224ed44e5346a3a91b36cda3ee1cb875502aa27f316b46c466505ae36a8810e7d3aa2c2d2816a0ba8682af6e4718446d2f3049e9350a2563cee122df38ed2d41d6f56580fe0aac80df7ceb66a30f3dd444c9fbd50147650a8e8d773b324af1d57c673290208544bb2819e686f59ebe4772dafe791482f6eff5d75c573a1a5c458ca25e9514b41d0c275d238dbd9a080567329cce96d453ecdcaf9a0d4762915306ff962fe3dd5a4acad2bbc4b0d22c84a1ba71dc56ced4a4b8b8f876a971d871b541f667975efd6b86b75c5e07f585724984f8cc5ae468095b8d1d0ebfb0264dee2af53832fdf2d3676df2d93126cbbd44f4b0a73175cf410519c85443aadc8eb96373a178589fb2e24600374ad214bd3b5729662ba621a1c6cf6a1e045dcbd12810ceacb86241ffe55bc97ac2ccb51fb9591c95bcdebf370c0530bb3938db5e35f54ddd8fd1e399427fa55e2cb447a729540f24134500aa770e5df400f83a3a2b2275ee4c0579c4a520a31168f8b63556103a0a2b2142767099fe4ef28ad1e4daf389e8f64fad416ed80f97e14b3672320061d5f522bcc76e1f01351cf8860ca8ab196c09ebaa598f695f704ded06c886cec1ba55b1f7f4b8686367fd16bdd846fa8f16a9473ea60b4a9b49460ed5333f34cea22765d02205492b71383f986b9889ab02170043fa8f3174aa8613077c6b2c55b03842b1bc55d721b815673ed7b7fcf720313bc0d51df4ef9ff696daa761ea8aa1dd23a414594baff13b679198df3c0f57d8ab96ae928baaa5bde33e474314d31b0fbfc2bd53988824cf26c5d985a54bac8ae3ea45db7a4fa12e8a45b920aa9424371e8bd4988579423f0e1c4881884587fa8ee1e588d66797ef8896e4a2cc0bd11245c67c295e9207deab08b427fc1b128724e3d3bef96791781664558af161656afe5588730630f87a3348be3788b487c274df3c2c8228b928dabc27ca40fa14969cb16ccef900cf011bd7231010fb98ccfa1eb84566e6c6cd91bcb0f5820965ec3b44fc97b50d8995378689eaaba71cff17e610372e6bbc62b3d99e955824253d09a672c111f708f156918caa4772234df9b0c42a456a96e1815a598fa4adcca0a92524fab2fa9f3caafe8f38595481f3b108a153aa0e1976e7eac5fef6e75b67cd8f8453a581abb3c2e9eb57be2fb17762fcd06b80be5bbe034cda9d113df6747818635b297a51a0e62830fe1927146b1c15bc69e748995200cc4507f6512e3ce9bc50e1e75f3c41049d729b2ef42e399dcf885fb47389bce3008f1aca9922b260567e13c9eaae469152a045cec7fc78392c8863b87c0341f2b7d890b049454ac17f3ae012e90d7d6d91d759d3b7c94dee213b83da3e6d8852ac4c8881b0a1cf22e14541ff4f0c80a9767ba591da359704a8ff9e520c521ce50a420c71095e117f1e3a5486fbf8b01e85939520f3dee21462d47fea5e74e761e22279c2964d3a896ee689ffb621e612be2843634f03775ee747fdb77176e3fce875a9acbe19d30fb84bb24735fe1e4774af6e146d6f264c536390a57a36f96be3648a0209ee5ea2c44fcbc1975bd371f2580e17ae2ecb3015083c940cffb23a61b207fa3e5eb683240c25a4384974ec2bb2e1a2625eb0e134589a4c3b7ca7f9011a7b01d05fb0f2a5e6fb496e5bc98cc056686d7f9df885e3fef66e4c53b05d4da719ffaa7856ae223fb73c8fc4defc487bef101a6102b417e6a4a68ab92d9fc7fb3eb808aeabef0ba45db46fa058b2f21270d17274a71e2604fb2328d07e96cb40423b103865088d70de0b328a47a3f2f607e7a7d4d6840b5331d3bfabff2f954b2c19d77fb8b54a03eb821fe60cc007b920e803014cceef6cfa34274a4417e9e74b22a89f8612f2aa7a5226baad8336e6fd7ffa678dbb637e57b83425ba357a17bc51c8919c45929caf53c62f8286da458559fb1f9b861dfd1caf3df241d9790c130fb1cc3f2e762b5b8cce6084e3fd18ba068f70553bf97ccbbdab3c881c9fe717af1a95f9a7b62ba1091cf97b3a2f4bef153c157d9b8866d4fcf98e0a97cbf29773b0fb1676fad608f12f61bd6cfe4e6897ad3c43c93731ec9439e245afe738edeca07b839a847b6890e601638404c29752e47287c88ec2979e905e23d3f1049d21f0275d72cbb0de9a91fcf208aedb8db0ffc9f97e2275583c94daacce19930dfc18ea95dafa73fbe04a5fad50227e1b00f78b95591375d91f3174e68e50777e018fa2b0ef61e04fd05e04e82c3ce2501ed59b31fa58fc6e485b878e5798a9d65194fc5c6431b3914ff1b1d1e5edbc73946374f865be79be0d857ba6ba335a501082580f9c8aa955eff649df1c4248aa0d8827743bcc78ae11edefb9a055d21668533458a3f2cedbce2199b4a558179299e12f5db97725573981beeec44ab1030427efd0d4ea5e72e433685f674ae9d5983962c65b2d23ec65eff0a2b2e7e4b2dbb47df5af59262529f868511cccb5a7129f7aa197a9b924b17ab13bfe15caf82769f32e5991d98e2d5890d3c67d7459b9bd3bf8de7794d1420f60df6aaa2be8eb53468c9e5fec6078756ce6c81fc309d4db7b0dd684f125543570b029bf91e6092a9022b6914c6a1aa73789ba85c3c36608770dbca52e8ba3ad2f5996e1e0072b2fd8354d282a8d0c96953fe07b7c87a855ff7411ae75460a57dfd4c24b71f938efb408e8887c93e917040868fbc106a52c5b9eecb10e1d1b2fb4cb38fcaac1a78ec17968e446860624916c955bd7d4127db4d335dc656bc7f53d45ebae557ee1f4c83c50c183a139865208a5ffd8efc8a7799e8d703202912b2c1e4b1cebae2fb875073a740d508bcb4ecabe3d7acbf9c816ffd8e2061ddedaa8680776e09b6d60c0842855f2e77731593da83fa7df1a790101745850eec209a8fa0fe00ef75b16f603a61597a82d05b482afe55303e4d122c2c019a1d35b8870d84179f540537d02235b8978d5094d744f64cd94b9d31f7fba3e502b330258c2f2cdc49a38662aece81f976a3cc94dad2bb389d764ebbab503dc902ea980eb74b8f76e8a262126e6573ce7bd01060dc3147e02d64f1c19379f32be8ebb89160221a98a86ccc8e546af6875dff505a33c3eebd6da28dcf0de5ebf72f7ca42c15536fee3d9ce67ca5adaad38dee6d50cb2c7e85a77879b5e543cd8ae6968ab473eb4eebfcdd77d04f7ab444d585c663f383ea85d448bb59f4136246aecd6153c39ef455456829c66978d14abc98e6403b00ab46bbb1857279aa68c0a0df6e17f0ef7e513bba04c5deebf1da97252d38ddaad5666757b6054a2d6194108456052593ca379c70d07624f7b773b96cdfaafa8f35cc5f69537babba5bf477099c564b4e4a71d356816ac75234f70a6fbeeb5b78b8ad4c7b9bc720661b4dabeff976623dc8d405675cc6808ffd0032301c93a11774c602ec8b07181f90d3d34b3367cad688db8850448d57e4e31d44a93590896b0d9486d427f8e6b9e64349ca3ddb97d5dd8cdfb861d71b4f899bfd69517b4b48e6aeb0e99137628d5da4a931a9d7473af5c9fb88b8659ea77600a3ebce4fc1cc467ca38de91571db2d9882a0358c6d9e26f1785af944115c7e695dc4dca275942fd1db7e3897aeb363558f4deab82f66446479fcd7014a7d3d2301a8f13b361ec53a09dc5f971b6a0b5692303b03ea0ad00daaf5eb8bc1acd06551a474acda071f9da2e59598cedb0a2bcfa33b1afebf113a7ba9d8e997f5d019390d664e026997d609024fa8ac4b4f8676a86857c80f8a2f055998f9b558b88b00d0fef7f317bf4a2dfd5f352ed1849e16ba74b72959056c612441fd9fdd2407e5290fab5294f654b7c5704b5737a180ade62cc91191aa9d31df6c8b9354497132fea7c8d3cd66fad3aac182ea61415895246aa2837acf1643a070321999e48be6dd230d49ace398db0f7ca5655fa494659160456f0206b6680fa10c577be2f4b442be571db147a49b982f52ca4ce1cdbc8c13094a7b1bb920a4e6c401dd64c2f4186f88cbb7e9d059207b3cb205943bc5f0f8f19dc584f62bcb7d11ea980ea0eda4efe0c52dc7e3720e66e439e86bcd57ecef02c689e7d34196bf6af5fe1d35405070e474c893f2c494559687dbe9f6d9f565e6f54d6921043e5d8fcebb2d32afe3ee2526b8d4d8f24284e0d6f57aee0b6716773cd6a1ab83964915a4830b0501953b6a129c3833ef841497621c8248f489c073638852ec107d79ae7011ff5cbaf25857b9feb5151313c5ba805aad375f80d1f119d1ef103b8a1d9b64158213acca1f8d747f58cc9277bf34d55179bc1ed15b8b68aaec1f3bcb2e3192e016f9028b0d5c37653588113f0a2041d554d720cf8ac51600e431e92291e0cc1472a6bf5a2bffa9fdbfd68ff116a654296a0d16f06731a6f573f3f40ac778e0b123efd09552084c287153ebdfc316254f7ec7f9b5c3ef14cdf2f4249c28715f0b1df0ebe2a89ba443a53f35e6da09f24d8a8b333c63ebf0f092b90616db94a7a1ab66155afeb4277b1a3c85f50317cd23da1424c2a4a804cd92f2417ea6b1cbde558a4aee1479870ea34ece1be70f9ee7978a770d2c280541082abf77877c0b8af40238ddd95d2aa5adc41d3f8824ba515be2861d57fece08ef1033faac00942c3f24c7b6213f01e845676f44c35485ad2b254b027e5f895f740b1d1ed4220e26bd2eb7fd1747f617daa7489a0d2bcdb968e2225e81bba2df82581315f17bc19412d5bb689d654cba89ae14222af58093c26c8cebb66130ef80577f41c7a6ec634cd08cb12392597b6c09a6435cca534d977b8dd7a648a6d0800423ad33eb4629d86d2f2d5d4e485e6efd05a02d28b2b60ba07e6d0062ffe4d5470775796931ebf0a440cb922d6a7667b1d905635eed5146a2da678c4ad12649b51ba07b04a8e017b7445c7863c5e52dded23f3edf902ad5b4a276cab3ebcdb7381f6b49924a580d6a01a118177317d401bb7ffeb121f76421379e9e911755be5b5cbd1c37aa2e21c7f84b5146d298a68fce86cdd5a5bde7214519af6fdd3644a1d995280ea07aa2a4e0bcb2b02ecd27d298a73db4a4eb1a7981300c0ade21cf7a2a8ef1cdabd5f1e2efe8dbbc0822eb1fc24c767a291f8557f00753c339b9bb54fe2d758e73c61c4b2941749f3b79a7b7e97a91db890ea4961d7d942125286791b6a4b66dffac5f94ba888f395e28c9f5748f64f7ea0230375b2ceefd6567278b72bfec1ba7ebb480071d2f2ebe350af7b11fbf263ec6a5820da0b95304497eec765fa1128068674e03faa024052f736ef13a1de3626c6c1d899b7b72696f30e80241d1031732e45a546a64c6a2eb568c6be426df21d34798f93bca1d914e0190649ab7c1984fa72995daea51cd558e2c83b53957021d88882b1e6ea80596c80a4db8982511a7cf39e3415fc614e8e62c6dd230fc564da7e30b3725b12c7e0989426d59ebf8983fa3e2d90ff0aa4e0878601d5ec8f0d064289fcae4cc2023c64f7311c29faa740271f985b078482a5caa08c6925fe98c73e0e368fa3d6f704b3363af9be9cb136f3198fe07da6a7645651e852cbb681b0d08bb6e212060c8e22f3c3eccfb9692293dfb7d7b647cf0c157e70e8ac936432d1fea47e18eb37921d9eceb6e92286f50a322be4b2bf43464edb0c2be983f083e666b8ff2e4ae47ecf01e8f07c97c81dce841171123d80963f3a8bb85fe3832184987be01b2b2b926d4a7505e6b623281e04bf9dbe8bc5b99bcae9ea1ed9f9efa41e26c5289dd643bac3c52ec8ca0349643581ad0146956721c2b70a87e3b8dad605a98208c733825f9da366193863e2aa53b15e63b29e9e7a1cc57eb282bc1c84f1895dd75e9346b6f513bef4ae4221c2b495d6563b14cb1a00cbefeaa3e40bdbdf4faa0b7e52bc7a78ac0e8ad79c43919209a2b63c1db1d35e1c075a5c92322ae19bab191623e69b36bbf46f105d96d537f1ff97272fd306795ed4d1c0353429078cd7ddfbda7509f3b94130af191fd0d33e31f2b65336b2ba378aa5eb9c176bd4048b8e03130e5bbcf49ae7c2ea91b410566618bb527ebe7f517291084e69a3514e052fbce8a1c061f5542082a8f69ef20f9e512e3a275c37c48d1a80a2271b95609201d1d0caa8868fdb6deba1d32e0611763e4de2d0ce458e2511dd221a2f881680db1d9a80551523f89191db0df00ec4b935df9e6ee3a9cfd1e7da46779d8a659343787d9712867d817f49e8306bce86c603ad5ebe8cc3e320bbc590d2592b65e76b1150a108d5b98c6f9a049bd409b9654b6b17615e40b8f10c1747b5b1c55bdd7bbcdd85d38b20f5393639a3f31e52cd8646c8c61b809c79f1ca57d25d5d2a010f80e83670892b8676f6977c290b359c7421b5a97caece5fb25fca514a97d5ad3a520968bdbeb2bbc79fb876c718ff65e94e704dd189819dd3ae998c6ec685cbfc5f2d04d7290a4c9778a8f1f39c0775bc1714a8b27c66b4d92720ca133425b95b353be60efeda56c23fc2882d60d148e00a0cafa18b211aab7e1c26e7f66a89867f5e32369c5a54e128b8b1797656a578a5d21fd4bc744276bb21f42a7532af2abdf20a7c43da3b3e68196757666891ac921cded5b7830419c65779ff19010647ee28d713a7d6b08160e4b28e0415831be3401d04e29351e33a812bbb54f003c234809fdace9ff2a50359b075e8480ccad9c6f2c166397ca2be688b7b76d8b1c9ef38a17e585d35b88c772dc2e5f2ee9d0e8f81b596869cfe5ce3c4fe9a28b2b38b369042de89164c9b7338e21b7fc2bcaad607aa4e67b6b6592bc1c2965433da3f6c6bb0734c462fc8603e7424e2b1d710f694040cc523b7e7077225869a6ffa1f63e28b853b8f6e6b8f7189525a49089c89d7409b9524f82af880e475f283cfd147661e2c38f8dc1f462d3164f9cf3b0fef4f2d155580ed88a80e7b0887a8c0928b70491c5f8b17da081be70ed0c65f9cdab17f3b63fa6ccf7edcafeff6321759b66655e89e393857a4bae73b13261323c6223b3a888ca73308ed42d0e3c96e84de9a65bfbce6f86111749843064edfa5c6cd72b7fb18fa3aef51a5229e29983cb5b98b3320de9470aa05e3ec0a79d9b52bde91cec7a21298ecafd9ca2af75ea6604dcc907eebe7b0e8c8bdbc730b076c882e0918203dc0550efc961f870bd08fd485dfdf1edebe208d37c096f1768776cf74aefbb14a3b0082758067240e0d917727e3c0506c0208fb3e11570aab2440de7b34330ad653543ffe28bc8f8af8f6ddf9939a2ef31a889fb197c42b07479dc93e6c865374794f733be4ab5a1cf454362f37c83262eab9a1510c908c546af55fdaad62fbeb337d1eb0558f44830d1d0b1667715d1fcaff33a05990c740b48dff8cad7ba7da89b47ed3cdd30de0b63deb5aaa64b224d9e914d000d86e2aa717b3bd7cd91e17d84cb8018f25cfe6509d86c64ebed041eb3c1e6668b71ba5b66ed286c32241d59e0965ca99537d9b22a43ef8ee056734f39ed97f87a8fae5eec2b7c70b98895993934c991487c0d1319f176077821fe07e3f4769c4bf8f6421a09867bc1facf92e54ee1455a1c6ad0bd7d32f6563b78c97d22546439e7e07ae0a5e4bf0d0f2b82698107b7a746b5805967e8c96289d954f2c1cb85177111caee9db50cc5d169d73888290de83952064275002183e1375330a2e344807873dc6a9657049d91daa8e909c22046b14dc4505966cbdf041443fdc4671fdf7bea45b9123f666a745baf132c4a575369ca0350149d0ee2fca3f5483ffb400401cccb74b6c372754efee249aa98bc1715f9608c1e62cbe354a2a2f21e881c68a2b486a08b69cb9c75a64043143bc5c1e9a314cae727542c2e4943ed084edbcfbe9349f90578af1f86c69d65e66e164b0cc197f9ec0063877197d9486609e4d2bc6df88b16030abe4ad9f47678edde1de6610e98f318ac15b2c788f749496b5998703631b219e0eb9c052adf86c4d904ad9eb8ce4853a16ac61c26789423ea02d9ae658f2421c0822c36ae27b66786a51adaa8c8f1d3b5cdbaa9fa2ad9ada0a79263d62a8e1832e1b306ea12e54b4f426ec42ca2ad9343da3a7bc1beb0871de36761ca040aa242518bf7e12b4a2e07fbaa3c830345fdc58c4620b1c9188b800337f83c01ddcf509fa25461e9f9f1f39729e916ba5d765b33550c44bffd32308188f086d4c0c00ba88ec92b27d238702000b8c4448ee64c037a6f1314c44c8738aa71c720105ff79d09b72d7194ff8fb3eeb8a544720ddca98e7e995c10f66953e9356ad3d818bdb8c070671de7a2e1375043ae5462e371b383543c4e6a57a33a835aad7840a5a26e5827fe921a3ea569ceecacc3cc67de8842be5154035793418d2cea0753083beb91435df2b534627770e2eed82ac93ce320829a73cba85a0d188b16d4e444a483703783beec376a4e63456553c460c8460a8955952b790caae7a3a2ac46e65b6ebc76804bf8944ea224029d3e7f11e98ad6a8aa31f1184d775775dd03a86c4a637b391c988b97d17cc35d033bd665688d495c60c3af2641ad1b403ac95c5e86ffa7e7c1b0aa279f7d67e110f5956fcdbb11c7ffc4440b71c93c46e1ca8fa085ba42bce3bdc50c979ca29755bb7524cabed7c5654de5cab53977257472a6c28428288e1b697de437393983e527d59b6f9a07be5768bde5f2662b943eb8088c4d3d80f3c6c5e119903885d233d73cae9cdb7a8ba96fae7c252895bef44f28dbab9feee8305c59a689054457622eb4fe4147db6bfec52a1dfe6754fed4c056a7e55f8f6bf6602f8e7bb16542cd23211ccf3c147bfaf44be656667b62b8bc7b2f1dabb301048fa67103a57833f2137e0bc2474aeb54f16b7f20aaa6aa6a7710f18f2653cb32379961ebf351d3af490347000aa63b425afffbb7df1189c7aa548b484681ef52ada783bc115313c4202b40439478067611a2f3099aad4e97d0bc5e3ebe84aae5ba1e8b29420ff78a729fdcb1066a7b419cdb156b4ed0079b6253c57a2106d795172b369133d385f06cdcd3b0122b2ba03a372e122054cb9da32fa1761edf32ec004ff6662b246b51b325f2a7a450b09f319bd11fb0a2d208c6db21b1811d50a6536a9cc1176d0c2d563d2af3f6a65f3c9096e673e1951a894d8de2aeb1772b6696c79e4811677c77398e6434b897094ddce89211ac2cc3d87a77387a15f327a2750a10fa75000fedeac762508ec63cb5ad9324b64a1c678ded79540977e0ca33386ae5c73059577e2ad957f3821cce0a47c5fab276f77bda71879f271c876edd20775467c80ce4b08ebc0c5d8eb6a2864f977406ca2142d2bc8b24e45fc0122b72249f23a70581697328eb77e4e605a018a413e126f94f1bcd8abe1ae9429de3ff8a86fd48c85f317aee6fd1aaae27d538c80bcd6ba5a635a3e435b169443e85d942b910750935a34c2ff7e685143639ec3cd323271f01cc962566335d603c511cf45aac919f6bbde30a9d9386e4d61e5269dd023b64ad6daff2285cb8a5762dcfcd868d078d08c37ed5864f4799b664a7fff2e19f7921206820e592ea433cad4702502339db247d264a4eb3814a4b79ae7e6ced4299ed769ce79e2544ec76db25cbbec36d0e5638e723135be05178431327a60973f554a97c0f071e364bc364c4dbc4572fdd88c45a2492bf1e69bc6af18470d8c1b29909547458b2c03d63d36844459bfcce65e438de49621b004fbd1c19ef3668565cede457a735e676d936165a79c340704ae12f4da5d4721bf15a40b945cf21b4e4b9642e3b9cc8ca7eabed795dbdf318848cabe52ae0ec4d5503f4ce5de81ea4a24e78737a33fe7470c21e2904e9926b033cd8ef1d2279edcd748239f712fe7df87bc7fd4a0f42ec2c833193a92ecf021e19c2b9f5e8606c9331192dd04bcade50cda214531013a8903b1cb03d78041115268c63b056a929d98aeb859b84d11fd5cd63a36114be40374f42ebaf11a2e5c9dae164ac11ae41190bfa7dd47d5c11fac7a9e200f7472f3b00a9c4908730dd85d69d7dcf9b621868e1f9120c1e2273f9273dc9c4d6f6dbc67971b2291c3222e00a89e547af42fdca5e22ec9bc4060c67258720984ca34c1ed547363a4a796397903ef8169ae0d0d9fc85f7ced6c43295fbe9c06da4900b649d3adfb48871cde138155778a92446b908ba73f2c04a53cb9e10481365753c594c337a7bec9098472fa8208be7de577178c19758fcafb36fe7f156816f1d07820a3f769ccb03049656e663b4095e0439d1b446c403c4bb19f0b15c74dd1cb763ab402baf8b6aa85f613518b8ecf402e3859eb868b3664f55c5053acd388000349a713b2c3efa9223fe6e6c6dd7957ffd411a255fb24ae2bcfc94a6c314581d9e9f69dda432dc4f86da733998a39d3d191ddcde45309c62748f327b1d6c5451d50bf2c498328e722152929e1e55989f79fd91ce225e68b0414e21023ee0fd82893296137e1493b6255fb8533026925bcb3c4efbaeb9c9460c0f546a073035420017b4cfe8f1f53901847c0e5481981ae81269d1d220f646da36d6410bf9993321f63cb2ed64d21402be14fce087b20aa855584a773f2be9871c77cdc86430f8c1dce2a25f5296dfcf3245d2da0435e1f2410bef5b3ffb9cc21529f34d68bae39a207038d539da4e32dbba2c5b373f4f246d82686496f1e3d04514051f1bd95c3083ae27e0be29db4d36a8aaae1e6c55f9252a0b826f155bd5ae2690df213e88316e77bfa45ee6889acf597356d6019bac675cb654a8d74285bac17ec6c142edd2c76c9f3e0dcc3649adef2dbe173cd38d9a3d28d5493d6de04392a1faefd62b2b02a782ec40b0f6de191b6999aa9d0206fd5f0d15d377e2b8ad58542855cc269e3494e1f5430c7cc564c5bc6ab2382045b832793641829ff09dedf8c38374984bc0d46ddcff0f09e51d3173beeefc745d78fecf6d75bbc8d315a8437629f030ed3cd7ab5dfb02b0675ed8d6e4fb8883af51d66c266785012663f0c9962897f8b626b93fbd616b1a7920cf6e3b8ed61597b5c1070d012372af5a8a583b4c4bc6137c973f94663ba6b3b584410fbff39df0558704bd55d8cbf355fb9010311520fa270fcda4d57a8ea616047ec49ee1d866f9da80488a5c8cd3e43dc883106b7ece4fec9e85aa89c99056bd147b78f823406a06365a072161200aecf5022ce152a6755f8d79d5e683f03c04cd98acaac48045d9f87335fcee5fbc0c381616f229493f1e54c9d6d5a9365f82b3fd668aca1917166e7850cd65e867a311dc8b5333bb55a787513514d33421173565ab6a57ceb3c275998e067fe6346cb61e619653f8d7f8f3b0f3388b52aed7df3c31ab3d887441f0b10286a342cab8afc5dd238f9739167e2279159c53827a949844ccdc143bfe571b77bdc362bf5495db26ccca69ed73d9e576d112c6afa822b796fa91da1088e0a4e4e046e9f6b884e405f5cd40e1e1953c491a79d432faf8155f8793766fcd26b827182124e5d6fec6f33dc8e7a2e6470e38fc1527f3fcb1583984e264e6ddecdabba759041021826bcace1390b99df2d4c167f7a17cba7124b4ffeaf30bd267456b68a91b1edc6ca6a53066dc7ed92518fdb07dcbeafe1181367b90e3eb74c93dd2a0c2f4886f809870118b56af7e61c38324110c585d63358c2207a758bbc89cb0d3219825a85973c9b785b4ded3eabc6e42af06325ade58dc5a25995e793ece89ec402f9de8a825b15c2d5fcbb563948c4c0a7d868b369ca939ca846f5e41a791bef15e251084f659fece85d378498ac719e63a96b1a9ee1c37a58928121b211df3a9d2bd629e4ba524137832778dfdbfbcf2356fc856cb840edd2dd195929e9f01cf5a3ac96f28ae5e1fdaec5f49e1253923ee16b5b461fdb4a4d0f224cf4b3d151ce47d570f1f2c69f6a901cbef7558334b8e676b0bffac73b0b2d034f08868c35f6cef1c92564c157e0b0107d1f5b60dbdd6005e8afb757ee1eaceb06160281e8f9521ac144590ff42eb94bc0595c4ce22d4dee973aeae95b5f186b4b2998174ad9c83cd845ff3e63da64fd6b432f57a7a6334a69f6a7b66eed313aaa91141185e4a8c0b3e7b5f8e572da8c57ca8ff87b967322a63ac14f6e7cc159b75486d49674457d5eeec4e9b58b9937a6ada2d4e7e7ba29141126bf7f18ca67954c8faabc60f608ac97b1f8a39167cb01c9d757c3d09e4af7cd1f865f4512ee380f6224f80e45d34d09498d31d18dc11ebe4c0d855f2a4b7d1e3cc600e0214fddfa88ea01fca8cb4c9255e80392c60d469b13fa030d5528d8cf5dcbbfbc0d8deaa1d7b3223fc53c6606afe887c10f3a5353d0fc022763dab95fbae8268c75c8dce7a0f017a7039f9ffdc22bd17dca17d9aa0c94067580027964719b273cf8d8d2abeb722911445120bfee54e7d5579711e38019a17dc510b28596201af823d6cc8a628f70f79986bf3a57761b41b8ba149e19af44905f853ce80a049096afa4c70044be32864775ca44b5705f50cc6d7110cbd41396fc3d0d3c4642bc394a95ab8e512180a4441b87a24bdd324306b5ddaf6bce1b85ee11f040d88a1b41e43d714201b605e9680452903ee5339bdcb05a6ef87167c7dba822601003d14c9f6ddb38876e84c1f56243c4d44932b29085d112398002908ae5b91ea8545b10039adf370982472ef645b9789192d9a13780dae2102b2140b18f22405fdb91e2a05b31ef841e1fc1f1ab6c301d6de55e264d0c9c4ca4b1b0aadadcab34c328d8a70969406cc6c8ca6f7de84d6cc09aff6b7afdfe7ef6b6f9ee3b7b80f8435b743a132f031bca9fb8d78d1fe305343fea74b7ea6474f61e6afa28c29f68c5542151dad95b48d7f53fae255412e5c29968d68144c68bf41cef50d6c3dd7fea78241a5f6212cf327f3ffb3556e78f63f10ce1b151f71ed32d942782894ba83e15ccf42c11553423dcf83b4f5865230e149fa020b86e643d854f6b091522b645883578f2e42c2bacd7b4ffe8ee0a0f65d7bfdc5ab48368b52bf33882074adcff370eaa050d0eef2a53e3d69d9c087ec978c6393f5529d58944d24a4d8958c6e56ad3f62d63fb9ab5a499d24c0c0f0b46bdc1870c6a8ebe76f54a87cbcaf8f97f9cdf782b7e025c41079cbdc0bfede2ce2961520bca416bac4c50ce5c3bfdd484fae01fff4913a0cadb22c3fe076c2740c27c5a2717049dcc3012eb61034e58daa0873e1733e4415e33127e10da90b0ea3feb6f44caf476943b66a454b5c12804278176a48b1915412d5ce2065c445b98795056a4b70a6c134873d119564aa049e8ca0030dfa178d649b19b50df2fd8caa0ff0a2f5fe777364084f6ba39e44b210eb71fc9bb95f427971787a42eff21dc53925056aa099687ad556d5e3b98f384d19a5db41688b5ece860e0e0327cf6e035485f8ca206dbfb0b78d04a09bcdba45bcdb3b8c7462be8bf74e0f0e5378371451cb63187110515d3d0f22eef25eb0c830a6e0cd1456483a3a9ab160374081921e3188fb71aa5fdb838d0c9c037c673301c880a273cd727007d1bbf620dac6b9f3d2a494889f9c215c838974893b1b51a5c455e02c498ce09e595c22da2e598b5af0d07416fc7377b9e1d8391d79dda58429c34cc94d856f3facbb25016eff04bbb78ba56558293277b9a62c2f9dbd6051b35afb3d6b224baef2fdb720c480e233ab2147ce3e75651c891045ef3a6e973630cf4311b9c9b864db465954a7dd151041d2efcfab18ab621aa68f7b08b3066407c652c43eee32ed186577e8c034bbcde4ebdaaa344ee7590d5fd9afaaffcefc66d3bd199f963139e9574456ce7ecc888d6a778ac5e9dd0dbe0594ef1c9aa75bca124becad8d06bcd19be0d10d5e5119e62c0ed5c48121cbcda38ebd11ba73414c3ab6c891e0e68a9d992c290837a30513bd65aaf87ff35d6818020cd74cd12ff636c6788d3352f448f14aedbbbab70c9b7cc2bfc3fdba811255bf91855ecf7fc9e0e72d2bd5650a668b7be1c219f1f98ebb3424cf00342fabbdb253a2fc6f9f3788ec244b6720000e76c4860aae32c7202639c59061a7b797d54bf11746e4fc8e520e6161f74f04d851046bb59c5bbeef502bcde526132ef0b5e1f7b644dc1b1e0b07b6e798a3be0b38ed58e1cc4ff24bdb214fdd2638461abddf6bbe5c57130150683254324ee749ce42e7d8d119e7ee72991ccf06defa42d85bcbec7192e4f38b9fe57e31138d8cb5af82463b5d96065df7dc4dd971be8d3eb84715479af4a7a69d6a643715dc08cc62db79458832871018355bdcf7067c6506cce35479c039daa88610ac9cff2f7896d1aebfb09cff2cecb2b2b9a30a7450643b24f6084c69111cb47cdfe61889c33f805b6aecb54805f684d9f1b60970ae823d544f44144a56681f9da10dafb44dab14df11665c0356077e4e23cc56d23d288fa0d455d9dea667c97ba257a78d44e33e3127a9f418212ece9be950de462a87f3f98a5a9b2dd567d69854a25087d0fe64eaf313a64e614b5b6c515d174af6c13eae6ef20109510ab51ebe083625865ec97ee51e05ea0e5593f436c334611df271fdf157434aa252d85be04ab5e0664fe3216a88d34913c80b2647a2e31aa8517eb98bc89da0b74929690f301617364d357d67c49d6a2f31698da2e360bc459093558cac38b7a5bc17aafadb62686421a35613927fdca265a783a2a27dd23c17fcf101a5445d645193917349857a8706b21575b0ec178c5b5fca3d9a2f021cd33f3d1e031f04a472500020c09b312da3cb498e89306ae91f9b0e01710669acaf4c03f9fee5d482dd8ebbff803c062481e7efe03535316804943a1433ade2aaa48714a9bfdfd07f92162a038c993db0dac0befed2839b7cce5d4d349162bbf82983010db7788878f66511bb7e34860f1d257e6a1a9d7054c0fc33409f05eaf54c3bab264541e6c37a3c49f9a0a0f0faaad522a5370c848ad6d1dee239d438e86f98d5986432be3b66f0f084ffd172f851c3919cc11bc97ce576385b56bc836d0d049d02dfefb49b6c0ac8e4bbf8ada96050dd9c6b79d15c75909ef79c776e10b53528c566380a60b88241673b1c3c4a75cd0ce9e2e6cd9a1a2b22a097fa02d47802157cc3217b28bf16d296abc952fe27cbab988c196b7e85baa87a03d86c8024c635e6f9dcbe6da8be53cd72cf5a652a3d64cb67825eaf8769e70203a9ec5131e331c25cd0e2a3640a3b21b230923926d336c09063ddbadd7fda14b9d2631cdfbc1091ee9585ec045c2179651c231e731676092b9b0105e91ad2545535d8f0b841f0cfa27ed09f2d1a0a66943d1f6748590f299d69d00e5e5bf7a38aed06838a6d6d99f739aaa7fd344ad7103d5e2415cc3fd997e523e29e50e274c0d3caded037e90a6adce7bdebbfaba4c4845149eea5dbbaf8b788d2cff8379850febc4a743da59d9a1f99559ee59387d24c3279461fa8a46b94b1c18fecf301139e790c34d0e9fcc2744ebb7e7b1dbf7dfc3882ec8becce5374a3b4ece7d3f48e62b81fa128bbdf400eeffe7b12f617bb5a2109a8e41c9abf45f5e58adfa2f67a4e644dfe683690299a981527f340e778e2d45cc54de76702c2110577ea3025f1ad2bcd022103432633b3055e89b5a264b1fb1384f21f721b22cf3e7a7470f250d25cf5d6cd75c390c86ed27c2c1011e8da789e1254eb8376bb617d683f502070e06b63b5fd39f90d006c713c8b154922701743a477a858d42590712bab96e1295a49c75d91197fd5b6288f33e02ad4f693d04d6e2c2d1a611fe105e86e9c684196f7124f89eeb83ce81a50f0d287ca623d314546c3ae05003a5251f004556590cfc29d5061238b72615ba3f5bfb829b7f77f3448967dee5e135c07f8a7e64f3afb070a5712af0895ff7d5e3eb9c580aa957dad7e938f5495aa436800d85d3786360287288a42e59c334623f04f83302b5f4cb741b61669f1c55d4f972f569cdf90d482e21c0e838af442b53e2bc9d17083ff62a56e6326c6723f79abca5c6915d0ce9c702b4b67f7c001e8e65b9dcc22c0688f463c0d2f32d112d8e92cd97d94342d8fd8f4217296a3ec9eed49af27e13322f7a5a7a9a593fede0d4eded78d813dae54638a33ee8347d241401f8beb1400eb99215b67184e13b4f607b317cb3fce187995e7c9bab9eac29afe05804302152809c2fc98ce2da62f75aa3a383412691853e23fffd44716b9e5171130d6739c9984726289c6cf20f805d946c589807bb40a4d5f62699e110c5a2254e2940e2c69a4c27376051b717bd424afbac0d861712bd8bbd9fbdd859bfcb03123f27065fe3f7bad1499da29a7f714a09de65fa447c0b4fbbd8cbe1fafd5c48047b330b1831daa71f237a57749a3e84d3682aa6e8ef2e9db493c97e5b09248db081c989a40504754b662968287cae35c1a1d14a8f1d5997a0b62cbc36a894cc79809e4157a2ed1ef6f0cecfb11aa46a267dc39134a6b4c6006e5b33ab5af58f734f4930fa39d4128136ef0bbb7b74e45e530645f0f44907e8b0fe42e64e2ccb7789e44c3ab02a6e960ad41b53073289801d7cd0b2087f96e0c86f9f8a108f8de8a2aed61567c6deab19f0c5c5e7e292a25288c064f63b304ede47793b3f75f0696c1ad0e62c9a780beedbd224fd45bca1fb6be6dfd0bd644b68010f367d7f9bcc3b99c301619bcd68aa7c14cea818522ccbb56cb867edff3ae611d9c9e5fa566e7c7a67efde55363eaa3a3a86718c8cdf2a2d451cf990a83ed3e3a6691d6711a51152a336887427489b0d0ecbc49215065a0ceee72e7fb8a817513fe3e7a582333eb739498fb4edc55c646539a462eedd108c532ff1a98365d851efda5fff5f391ce5465752670724fa51c1c84e3547bdfc96a97c96a28306b84f7010b7c2fb06ee9fb3a0fdcdb5d8d005c77f4fcc3d6cbf85898352b2f2c792e7a974ca25c14bc2631674193f24a49b4464b04e697814124b325abe47f266aefc0c3ccec8cfb7728fbf70e877de2a67dd2c2227bd63f6984bc4a295aa16354942296653a55d146b2c3c767b7f1f3cbfc505d72729abdd9a921a4a2b3bcd517e64b87fdfabae2382f46d42ba4ade118f62a746316fed169714e1bc2b2d55391334c5389ed5fb3542bf80020413987f979537a2099fc08f6ca0b85a452fbcb981eef91d3eca81c8a144243a18c4dd38dbd897d3fd7f75e39827e8f70b04a1217fbf8d58c2207ea678dce91f54e9bad6e533e2616252a5874c9ea1a6045b51eb8a6fc150b0fd86796ea92f3eb8779269b9ad26e7ddf7d1afd394a1ec5830363ac7b1f9b50301016e125d67c885ae10407130894dfc84d7858910a693ff54f031279e35c49cd690a3d31c7a2ada6c44328bab64340b8d8ab1a2a47839662277efc7d28f5df660ba0a1d17a2853e348b29c7a50983f9cb53c560898c2a54ce83e1674564fc51f63be2e5a606f3a33fb489ae33f718942358c2bbf9ba7f8fdfa0d15922d11db8bce29234e694dd4246a34ffeb71c1c0f46eb2649908e52b5f71a5d031d4924e703749be6e6a4ff1b7b66af14e351fcddcdb5bef053cdcd2e7ed2bd8ce1a1a35e3fe89a69696e0e2084b7ed18bd0aa8d7c722c0cce5773f4fea710ba764ea44de283e5b4563ba4262eab7b4d21a9518a8a0a7b1a8a12bb6bd6d9d5800440658ff82cd2df2d0026eebc3b72de752e6dab77705b1987da97cab659852c01f3d5ee97cb83e806af057e26781596e217543b60f651f251622447abd11130653e5e0f18d4367e7976452259bf7c5a2c36d5fab3a325f29513b105979e4e6b80ac2befb1a3b49c28253c377cca788f9af5f4e4bde202966f97c0b07b62261a2d3853a5b316217ad46cfb01913be81623e6a4534cf350e71466d249678966f653ea41c43feaf5cfcd0e4b73e3e7d71d5f15c6bf998c3a3c79b9fa0dd09ee59a6e9cf3a07eb83960e40d9a09467addac509c8b06d94ee0c29cf80496dba634b050873ac98a28e616ccb8d1e59bb8e02d6de32b614b18f2f82f8519a226c13c9dd7e7ccddb503065f64ba09f99e1507aff52b3582d59827a56894c7886166ee093e63eddac67f21c2f207bbfe68ba0ad18c44394887c563e5edf28793a390706e09ec03fe1855e43c10594bda06f27242e64b34aeeaa0243f9cc7cef51db5a797d613b520d9f6f77ffa1a200357f2421e366bad97eec77a7879544355348fb66a4f15213d6b79c1c0651f054f76ae868135d116c37e10426bd97c3894ac0ff4ac176450abe4df88abc7cad30a44ed6fd024e6049a306c4ede86600b77d2472888043866aa2b3959e7a4e5f73c771e2b1c5cd4f2c87ab814f220aa58c4c7e314d5bece82ea5c623424a70a22b9195d4f2aaccc5b13997951b85533156eebc47e42629f5e3b79091dedae6f41a2ee8a7ed6bc1f2148480c240bddd2508976b10004c6560cb9a90339aa1e369c5db15cc227948c913af3daf2b39385f15e05a9a169abec9cd4442d2d7d46b251a95f063d48a4282824c867f0c4534b4f96e75ebda6aff57e0be27c1d0870d94d66016f0246a115414cb89d80caa58a0ade5affc4554399de187a1ac7e9038162f6b5837dd2e92f7e6ddf3b108efcfbe33db447951702f26b66d6679beb514d2b028b1cacfe95eef0e4493799e7c723dbd08a63dfd5f27207a0835d9c0a74ea2363b083702404c7e584781c220480606349792e1ab56cd920e63f9d784151256eecf7ab7d750205bec6381965cbcc78d86b5b22cedf856ed80bad4f2dbc69db803cd7f1480c4fa9af1dd78597d18dae621b93b50b6138690771bd2ac440b9a7fa3c30289aef37993fecb277bd37325b8e1389f0af5d0a78e0fdfc89ccf51c5cda15cc36d10e31689e32eb7e016d06e1ce2124f372a8f3e7a33db1af23eecefbf40004d8583760ad5be9cf2b3424c1412e0c6a08b0863fdc988c0987e3f4ae09d4d3aebc5de14634bd5b5c2cdc14125f674bff7ccafba46cd2dee93736467a83178dc536cd9d78fea7b9956d0b9054d478a07c131e64473e52ea8053cbd2a367d1f164c71f61f842f08d2b0b1cb8bad4514e462af04f3f2739214dfaca0eede0e4c53c3a00f90e07ba80a93b70fa9393057ab94a2431cd6e2fcaf830c2ef197b3d51ac7201efa541f5afa744e47b82d4f3bae8ddb13c03678f0d2bd981535989385439bca7eaf50c5bce8c432b41fd9b9a98cd1cefb41617417ec3e244479553f0cc89c6eed74e48060080728150e3f0e21991c5f8a5ed8e98e945a202df39750836a64ecda7a9c4daa63a7c3ffb3d0d7eecc356a7cf13358027156e2ead35d19e31c963c7ac814a389208a220aff03091601c6c3859c0ee9b4dbc8ce57b7a21309254fd3b7fd7653b6a57cc02ee71d40889ad01fe3608977117a1adfb1c4a8b3b6b7cfdbd81e6bd95feb362b31458eb767e630c8d0a3c8bd610740be037bba175b2ee36c675052b54cc6756b53aaa46a7aa51146c642d4573597862f99ae5714d6b94c441fe138fd098d70e19dad5d1a1d3b1c1a9d51137a7c11ed6d5d975f8643b99be5ad6e6d23a76c9f2b5a4e2bba9ff4b6e10a52ca52988fade0dfa833a9372c9bff8fcd5eb4bd7777513248fa1a69d889edfcc78cbfab9ec33687d4a9bf3a0a14df281ad577fe51ac153430bdb353deff182d1755cfda97e669ebb4c41a9db1c6e79806840981a912ad1ec1b659c0a23d3f1b56240053ae59a9f5ec9a54c7225fe622987a21d5ae689bd0882791e39a1c43c1f091e79c6ef4033d97ff1f80eedd9d3735a94a36bb612ee26b673ce21def25d27b8d27d0165d0ffdee1674b8a9318a944b700b596ccbe1889f2871dff60fca7c7b9810c34b2e5826d97739edd2d484a04700fe0123b5be74e4e4e208e648859aa34433edf81e1a680692f2b9f900671133eaefbc590d0fa58dc9fe03f6698ffcebc37c1f9bbb5826da253b32ffedd5dbfbb9a514e209a7da7cdc6d6a2bd6b74fe52dfa7909741cd10f91c334393142f189577f1bc5e42fb0b9951eb9b5a63de43096ad76a2b0281c239150ee1a4e5858dfbcfe34f472c1c9f1a36400b66c35350d9550a880f6b44e702e2c63a4354d07520f8cfa1234896eff05877f47cdbeb023ab7898450dedbc5f177b48011658de905113605d8339f31a969ab309dfe45938b0adb86d8639030ee20e5ba2150653e96d745fc487865d2e459029129b7b7bd778a65809ffdb2a8a2e8eb56ad47908b09f9806a36423deb86f1fad78a08ae58a9baaa7be7ba092b12702b1e663e28b2c7a8185038bf04ce87cfbb24d955c6b17966d6b7476feca05fc5a953ee621442acb5c4704fd7466be264f456ab0006eb5e6e706af0fcda423a35120c932c88125e07ddb278cdfcde323900897022cba4da655a76e8064f89890d0b1482e37d0d81f46ee67aa00170f3bce186faa7525a65780560e8265cce6099e0d85b69eb5fc1fe05bea82786dd5ef6c8217df9b7f9d9039efc7bfc4dc2dc735a2ab53f9b1b154738a2e4f601c6c1c62986408c4e792657078f3b65cc236d39ddbc467e23a558faae9d72cf5a654e6dc4c9da98732f515ca156938d4135e12b38162e416d4258908c49622eb933d4d54f909b8123114937a3635530a9a5281d259313f0b0db904acff2a2111239d265ab3e04b69e3ed9f4d26c96b457de64df7c0fae4dea2ca9d28205be71a237bd6c95fc51a216617c4b72d00b40f37de65b8d8da6d4b3630c70d64ff7387913786d3e248123e859426764f61de712fb0ecf1b7a15c2ecb6713118dd80797c5723a16a30672bdf75e278fedbc4503f0b003a608b2970e77b473894cb8173d1c4cc6767b8430f01a7de7de3feca7e43e20df8c8418acd492b8721b3c2838aa2b484f37061c61fad1be4a9de07b1deeb4054e04420f6fe334132544613813ca8a6a015f62a5141f24dece9a89cf0102110d6bdc00a37bbbad362f06b030958dbcd16d44fadd3a618a841bec6de38559b3ce5a391688dc73c7a1d5d932ad0590a7b16f258879af6e2f2d92d977735147f6e848a11ba7f5193236fb3ec6165bed933cdf30c076fcafc2f3e39828e13a32ff960fc3735aeb1305879a82aee1d480af19290311ae1f4f7741a82f01618ee4572c3115729e533f8a214ac3721440e5d063815b5b19e6937aaf77ab8968dfa2d1342163cfe59d2723afacf8e0c4b211f0ae0cd5b862a1129ca2b4070f7682cdda123860c850bd9b09284a6cc85d05caf79bb10b03831659a6b5f2a4271d7f664aae9368f49e3dce8cd812a2bb28fe61879813d7bff26d0158665f5c61a640af5d0e5a1ef9b78ce3581b3f7eadbaafc45c9ac5c05b6074c077a735317fee843e4124f63e3e3158696de2616aeec249ff230afe473e8d985c7f3f5178d0dbcf0f929786131dc9529c81bb01ba2971f80130977b4375f3cf8750059e2ce867e32cde45291279a8babf6928f397c9f0a7d4f806c021430899e9ab6f7e8fba5ae45009a47343bc39f677659fbe824cf140aa9aed9d16b215cfb35fd59f3e768c65021ddab407fa7f1e9a664e46cc4bd252ffac6d977b40bd2663ab34faa4b2167b63c937fc8ebf7c8abd5fa78a9b83a028f985c05d670ed6c5b2f8b9110df8cba22b7e8561634879eae678493f2cb450473ef122c25bbe1da8ec7437663db9a188b792c7364876bfc487c8744b2abcdfd55ec3850d3c9a3e3e4b4e3cdda1e772c42f29e6e01f3bcd59ba8863a7e47557de1f2a9792fba7d81e5562dd8ce0ed074667527c14631f8fdb96889adabc9eb4d3c9af479653be0177af7e7d7fdfe458d34468c513cf2f377603c33dc8211b52b7f55990cc6e88114c26d3be67f05b9825ab86bc0b320a2ffc540b6a30e7dbefed2ac75ec569c422b7a2c301dc07df86735ef51b6cd0cd44699f1ec529bf4e3bcf6a42c965ee4b428e4523f267075ee8062f9180e27518604eecafaccda6b5a054f84c24a7bde7fb7b194a5cbbb3f89f0e630d28fc8f027baeecf24ae44f58b79e2d0b20b4bd4f33aa7791619fabef0c6219faf52f477433ccb35d9c72ae7d83a091b5bd2aa550889558df86ee765a91f8549c3487ac540d6fc534b7d40a10d251e1979b8dd1fc83eee2761cbe53deddf2a963e36cc99773c4a722f8e0dc68b02080f3a6bb26f74bf9197df1340425c7188ff0a047c2d60f9b4d8b00c432b20f57d4afeeca3729e0b0c7807d7d1776e4939bb58595c387a4467f7e4d18e04ffad2ee06782701853f53dcf293e16d51ad05e936726ab5d9b74ff097885e91efa398a4301f36cf6c35ad9a244a2fdfc3498586f482d6ec63856979624800a122f3afe2685ba66efb74e6299314c9cf950acbbf0511a1a75f0371ab0317d5b66b43e0725c8dad587e39fcd4da1fb4d3138042254af85c35e08894c698c367933b152fcb7b81f603df9d47c053fb3386f3ca7f692d1d09dd898a77463368021cedd2988395e22e4b5713117e1c528fb586ad5d6dadac259be66900aa9ac3c68f6f699fcefb4976116ce422d5c16c078b1c6d0998c084fbff5c6de40930907d22c541d0ba4c4db81cd28edba1c830fba52909043a9bd2beb4b6b4ee5ef2240fe8e70cab17e3ab11119d707f4fa239630095197f78f2524da5f22f537e689c04bf7590c0058a8614b43dcc9dc5b5499893b0d3878ac3a62bf24ea296f1735af1d42285228fafcc96c81f7b5fab990036ae01a8ed44457d7f08bd15a2f9a3a079a95190a754efe885f880e27c8273adcc8d444aa7fe36f7dbc9a2164454614196df3f58a7934fc8687a8a989e778ec7122a62fc8465ef1ac4063a9969c401a4dbe9660b8396a426fa7710dec1251d487e5d630c61fd1830fc3c7a12af9d2f3c01070ef7c5e140a8d8d9c37332133187cb670249499cbb0cd2975da70dc7608fd26d04a386954c7a2dc5410558eb45788cd3c44168249a599ec55ba705f27af5c3d59f6d57937dfecbab077e1321bc38c942c0c06aab316746c9f5b4ae56ccfb70cb84fe1341b744c3bb161616dad09700865d21a67b1e7438868678c241ff743161ffeac95798a7c1ef7dc68db094377ef7a2ab070541a811addb4ebc3d9c4d5220e0f3c21364d950de7b9805c792920462c90732ad63a715ba22004f278a09139219eae59fbd66a3758924c684f521927185c80505f9f9bb877132eb11eb12d8f0f2940419aad625770a0155e0464c5e13b488be5742eaf397b35bcc7fd898cc15f97792767713184ce87a092c57fca4301d0ac5677a3d21e5e50f5c58448563e84cbf5ffce58f57f74b2b61e694d01f2a51eb801b7cfc1b640c7052798e6dbb86a290186d55d9d5eca7768fd1984df279769f1697a7c0c3a53c0a08bb11fa4cb9b33b6dcce9c44aa5eed48b5c9929ae455813206ba26bf5cfccb158fd075cc2bae1e1d171ad898fb58a5784432f20e4d3063bab83138f7218cb503b49ee69842897ff75bf804cf3e2a682e4e599512790f6e599a9fdc50bcccc6fe3accabf3ea62b354eb32624aa4665f4a1ee61d05e91b642cbd8b0ee869aec970f75fe5e6dbc8b2c4875ca1ec2bbc0c2567c2d20901ce33e510a365b8c8c487692058ec0fcccd2b4bc85e0e17b1dfd0fe51cf8174525bd42aaf655717ca0c22330a2b941983978a4c8fe9f6f7abc751e89da2269c837d24e6b97c112218705f57e63e71669f45e42c0111065858a6db67715b61ce775fecbcd4465df1df22111a4ca3fe9f6a2947042ca50622a8dfd61ecb6cd89ffde43dd0b45eaaec32ac2348c08e12a66e0eeb93cfcb97a8eb9e255f3ffe4dbb1964b06510273daf97edf85b50b08e371369ce971acdaff28411d46630bd81169e07dc0930015ba237d9488bda6390f01fe23cac91729963b0b4a8794a5adb31f3956de44db9880b7dd9604b0d5d2580689a9270d2b34ef093486b216910a7dff4f66d9c0e02fee2674837ef1c279b66fc93c0de74251e91a82cfe1c7f7d0021b1eb5d94d920307d0139c5b73447590de1b04805b4afe2a06e08252efbcedf12a9025c5afdf8ca222df4afb43906a68f7824291aed8065f8af62b66a5a4182b3aa5828520a43b386c27c6a7f699d969ae5174ac10f37b86854e397eb6ea5fe1b06ee16c25b9986ea7b3320089362f1d1d0847fa1bc1dade443041da26dab5983ffadc7699a31e431aa4c16bb6d3fef2e16cc8f06d63b7f29dc879804abae5cb6c43256d3494f64cd3d5ee782e97143514808aa0ba8502c2e1a23559e89d0a68e9f6e500d581b726c877c568010af095ac4085f8d6100a4c8ec70b0b5431f702825d686be6b9aab23e782851c1c46de3145035a194981ef43d8b54953faca25169a6313997782a6ab2724066fc92e4eba888f869192b7fac8f511641b07f54f7a7a3854a6e5d6395c70d4986aa07e6b5b6808fdea5220bc313efcb37d29ec5df798cf147d9b6dc673da3fdc51cbde1e1b2a89c21f95fd0389e81c8da42872c8dff997a5d104cfe99af197a2250c912dec0191c4d5950d7b3d9e3deacd5f0432807138c1ffd92ddb6d7457fc840e7548c7e770d3c5ab1caa7c220ea5929d20e6e96eef9b59d05eea776736f02f4ecdc5961752a5e3452bbb8d7f38d44ef4ea28713d08f7f5e317bb83063a276a168e927d9f0bb74f09799386b5a23dff4c0e38c4ca8e66712f4ec809c7b03a8588fce69f46039691f42acb39094b0be3517115b1cde6dde426df5c53b9a5aa10a38006d7ed3ae5de4612570fce5e001df11b635c4de6b981cdf82e9dd378613a5ac4b5e75523031863977c1435cb0ce182535553038f6b0a873a1315d02ae0cebeb4aae01da9014a7e7298b3eef98723ed8f3845a72f1f91230ef9c7cff38726ac989eff938a6b88947543a1eab491879ab6122e9b1b8c4239dd66b11041750cf91ac149bfbea6689b78690ce63cec507cb416c9de701cb43e1125166be4cf15dbe4ae5381abb875130f9b34797dea4b91e4f1b03c693c0fc53a2cfad72288b14aac5a41cb8998db4b00f92675c60a4de71350db1ff46c0c34798005f4781de9ece74e2c15c7a4ab0d090c445b3381e6cd51ce6c46e80a5b1137d4b68d6f375e6c281071d8b314dd5dcc0e01d97dea7cf0cad64f555997e3ccd5dfa31fa22bd8ca8b98ee6a49c96bb4a9f2f08ea134aeee34e6ea1fcdec5c4b308301bb6276fffccc52f3e66cf1ee2e0707bd2b50b7bb72d0cb754f524cbba1fcb9ddf8caaf90d9b0f10b43e95a837881ce78027df78230c7d2025ec741ba02bf01a206402b91727d307c4258f74d49a1a31fc50dba033643257ad7074ec8eba3b991aa6d86faa6c5a8dd6da9b624afebede110cb75aca7853e4e892f1616fa8224785ea86871030595fb82512a8c17ac45107ef6b0e22b7210c770c96d4fc9e09f34d4068906a20ca147c6a95e79ffffbc4c964425f9b2bb06738536bff5a6034528b579f9e939d874b3c2c30e1b7e5eeb64ea8518d677da03e95caee9abf97bf3b18c6507d38f4b48de01c992a06edad7622bd1feb7f8bab8dcab2cf49b680693c15f81883d6f31e301c35b705281678c9df45e82235686b4513fb5adcc04d338f5a0ec985573e30ba880a5c0af8130f0a721fe2d53ad82f4ee31634df89204bdc44c532eb03d6d21a8b2de5ed0bf68dce433c2250c4f98064106038bad9860f8c3f72fe6d5b009f76d82b98b009021550d0b4f0d933f519b951122728f8513945fc80a02fd25517e5e5eed66d8e7acfb36ea66c01f919c52e7d93ae7ad691c1331cfcd32055408ce773f1be93801e656d971be95bb7fb2613fbd4dbc592a7b4510e579501c5fbddddf623b2e12684ff9f18412141c3ebc515a9c030417d935260b8ef048e95c09a01ed73e9f3dc7987b969f644ca2538e83081338e01137e257f8bb8c7b225f4f96e71bd5f6a6f15ec962a15fa00178fd0d3cad7326fa1c1bd1742183a3e794c60005a016fc3ea220eff2fccd7fe26c5c127444f74e0b625439cb08a743dfa81a39ef8ebae58cea40c1e528ede35bcaa7aa678cad0ffbe9e9bf68be1fa23d38df0412accf1262ef2607dae56df0094543a343b926e8763a0884db284b47de1154c5e35ad5a76c5c226b6b358b728937dc0b026546507fd711391d4ab6a58a68a075107b3bb910477b850abed2f23f8e5e8eb5e8dba751be17dcb10b2eb5bf8c004893e64f326619883ef718450178d8df358074328587eaeb3cecb383df86c696f0a144e08e7a5688d16b8f8aae0a5be7b966760e6ee9074fd2319bdbe9b7f0927969f64972e5eefaed30fdd768f29a1f648f6b341224c5c923b7271be803e049efe5d2579f3de4491415b15e97b5782425a043a839db28928311d6bb38ffcbbed44be24d0968e2656e20773aef42875729b6c07f4cfba2b9d51ca53d26d9a03d6b9c59c4eb10508b69918d5c499e119af8e3ccb3e48b285a6eac26955eff633923cb922e7fabd3af7f0c1d303b87372b9cabbc4dd743d6cb241af164a582e8166664bce4be9ad1e3934a7a3b06f7035c4d153047b426a68330ab74937eabcb0e9232137815e14913897c6ba081e4e819db02e9a94c77447863c3a0a2cbf1a0dea74abce5937a396a234149f01756bcb1ee24adf598d6df6fe31d06c101eea075b082a3ad71155f2ffae64a0855d35304051f09ed26bcd3fa675ecec4d670148fa983f3926c33bc81f280641ea968969ee0c8ab296c5014ec4dcd26784e8923621295fb6337c3e40c888ccfe5714bfb5f4a8a7a99af35db8d87db6dff924e0b561d26d93c3a8122ff1430ba89c639b4e4738e6abca07b9868b1355c4747b8d9cdfa7e06c651ccbb04b58520b9d56f5c386ed8fd78f52ce02928061191243d49c521836639d41ec2cd8abf251ac777e4e98900be46fde5ebd5c9b2eaeb10323ebc5b5bcde0ac9c0ab466f25fb00785d5cd54ce31c77f5776e10a60ab45330e5e77f11e835868d84d8e1efd5eb7941b67f63d032687d8eabceda33aac6e8834c0b4a59fe04452ff10340ccef398e7524fa5592dc75b20feace37ec89d410318bb7dcd3c6204d7860c8b5df938f3f3270afca20180dd5872236e080b64c9042ce343c22f46ce7773e34658ccca765aa218dd6e952c17597c5fdfbbb998a52e705c87b8d62164a22cf6a6a1c7ea88ff68a92ec79da124eac0914a469bd5a6bf8245cba7856f76a24a6c170d8e48cd36dec98ecdf50be859452397fd7d16cd544cd843ffcc6402cb8c8fa2a1a19b5f0d8b9b2627897666815e4b60032ba6a16d497bfb3643acb032b53771eec9b5fd804cfd190884c2599b59d70666ceb1b3912ebfec80476113c16fd5abb9e55d894f13ac4ce6ba814acb0b734ed63f7e2be1b71e0bcca3e5cf4d1caf479ac99b531a5813a693d01d82d2cbd09714d8028f9c35a33dd4a3f2d2c36b02780b2b9f71db6a6e46abb521c61d61cca5cd03f817e0f9bd8bdcd522f78c8da4f75839e7015c477b50d7a7689c569e8595fcf98433bcfec6b0ad498cc9229a896b293a818f48e59c2ff3f0e6692d3c1ab3661c6e87c33f750e968317d9a8ce016480e73c4bd1d673cd7e82129de9e0a14f6804a7a1f2997f55d287974ea11e23591b8b0d1853816f5552f4b1c905688f68849fc214304ef10f263eb71631d14e4f1aea5f7e64f82e92f014b4eff881dfe11be3476e9f349324c389fb23a59683bd368938e7047c71e186904057a1f4df64443064c1bd8fb537944f397b74b5154463d054810d59edea956f1488afb2cf124382b488b1225bbca494b946e1d8a872d49dba9339e6b73ab6279dbf11dc0d0a2c7017c78e8b949edd808d33bdd6b0a5bf7068f5394e6be29ed592162590549e0bee053d172f8e54ff1dcbf4383d5b75da78508c9872edd76b2da8937cc4c553253486e650298703a35d68d25ca3b9c97fc93e5506f693e15c466334ce230c7431ac49cf6675855478111ac60336b2a840ff3b6ddef5c0871bc39b8c73977e189b32be9bfdf6dccd2b465415c9c5820c69f62a55648cd883941edff9f9efaceff8c6573c16cbc757f56b77059628a25685bd99598ca87271e07e57b78371878b984e5b092b8465e58f1a22f5d48824178be62f4f536f5a727457651907452daeeb4a50de5e7979d4b1075d468c3c0d2e333ff482752928003e72fb0ae91b3432425a66a9da67432ba86267fb16ef6adc01809bd598a47cf6e01a03d44d003fca4aa2cb5d9228318e07d12283508a5f7114e8c22516c764c0343d7568da03bff20315b9bf7f8a794b300a2f4171d740ff7fcdd0f02a70e9b6bdea2ab7fffa1b5ea7551b26cc0411870e3ec347a48069bb17f7eccbada20542f6a1b96570235a0282afc151c01ab408062cb90f06a709b5df03cd41b0c247d8f3ded03d86b815cc37d5525ff2c3d2e65a173056fc330b5bf1ca20638dc81f619fddf174d377cc6b6274a5d5ed4cb606aa0dac6afcdc4081579756881dcc66a38f9ad7873bc93542307fdd190e14e905a7ffc49702798b5db0d11e221dd9adb89c93c011409d2dcaba22d661f80b4b06023b2b63f4a4dff3ff62fa3c6da3fc7c46405d55a0cf46a226b6003974fb25e2d1f6f6f2c1c1ca5937a00d290be950ca1b2369d495970b588dcd7780f38180094d06eefab31266dfbc5cd55cd2087157a16fc03eef5c3e52aadf0bd826803bd43a57d6bcd08532010e9eb50896765e9f07d204201de9cdf12aeeb4000a855be6d2f8010b5fb43773c41de384e3384d29f47b0307a3b9f7749737b86ae77b30560082a8bfaa1ccc662a0f4740df8136e095bdc166ed2d0fae1571172d8edb152f6427190a61406fdb99fc3a0e521c9e963aa57699d3a6f0194c78d4185c51e913e7b8abde1809d5794554f18d13dd8c1fdbd107b5c9b8742a89a0814b56564e9f29775535ba7a6aa771e69b415d01fe69813e39ed0e992231c6ba5db086e75d5bb442a8b45d6a373f5cd8d30878bfffcb60c9403539d446918c4ed5bd7a63b3e4577d069c3ab7c4e0d7386e08d2cf3bf8a61c1fed16de8e26077b2f84a626b63bc02a16c2e7eaacdf0ba861ac67e2f5351cb66bba69c1deca9124a80b1295392131e84526325c85fb9ab9c889ac2ebe933c8f0c2720a5086a5566d39160e0db5ba3bcbf7797b3cac5bdf5a65fcb1165aee1add1e39dc801ae9f1129b8c41105bbb0938d4e08779249054bcc7228524ca83596726c95fba87f376ebe40ca11fc0d2f51cb5ea032b339a618f1ece60d270440fc3e182fd71d68c141a842a18d9eaa89eceaca34ade7bbf0865425fe6d900c90626c03460822b05350de37a81c407f7fd751df6619ef787904cff9f918df2d612807446fc33be75071993f9f9be19080eb2a8c6c66b56b899eb18f8cdcf41b842add4470dbb37a8b301b1db6d1e45131fc32fa037e011432668eea5065a02a0f22d97013ac9819c39dd5c24659b3f6e883b7076c14a508319afea77f0dea9f50c70b964b740cc49d273b57dd6e4a7fa98393842a1d4688e6d4687219682c10ccf3e31d850f8044453472e1325e136563c3cb6579152dffca48bfaea53502f6b90a6ad0070d0ba342767a418a001134a1264fead851f17bdf7c04cf4cc01d8e5010ceda25e05483f83812be7ad23783015b8c54ca9bd8eed8dc2f44f4440d1948b794a430b7be79743e2ae264876593622c550eec6ed5551b45df1a3825fb9321798923de395e589dcec68aa8e9f740570c71f8c0ddd54c29bfac62b24a031e04bd79f729d729b0732fa323dbfaebc346ff26cdbeaf32fef8c0c32c05d99b7e3159c0c41f1eb0bb19c361727f96eff3f9bf48044663f96dd5effc9db946cae67a643ce782544192058f0b4645014fb6c72fad6eb9a4f831db8c7cd35efe69499ea4503754491eacb65d75ba061c4164593a5a4545c5da878e589b48d75bcd56eee9e0c8a7c690be67ae973b76e83b7279e26dc142b04744dfedcdf4ce6785fe5526b476e3a63cb0d442541836f79fdf0ab513d546c25a3ca9e2ca0862305fbf8733676e0d400667148aea46c49af07ee61a2560be3d2265d0d79a4d54e053541ca3426c74b2fa95d2fedf8cad73470e8ffd40472803c11c57fb29e6ecb0230a80eb7cad36652ba6931bff8dac953ffa5d09a34606f8620c7b7d57934ce92dac6402099358c6969d24956a107287ae0c106435065f82b70cc5edd812e71e5d868b6489974a24d60d33328e246a4f385ff7b703c6b57b493373308b8e87b99fe5b40e59e916ab81928ba27440d532ea9198a915be3e88316bbdee2768fb5123309b2c83bff0b834623ad514427cb5eab9a3a584f747d04d26cb3987d2673aec176e43d16a860093a222192e2339ec29c4ae892445fa224779efaced4d2cbfd5fe5a3c37180ac0443663a0ccaf0aad45e1759f9afdd6df125c6f762215a5ec54799963cd0c687cfff043fe01b300c58ce1d3985551ebf80e0454d508b9088502849530cab587f7ec800f3223b1d490d3bdb9399e1471f6638a04254508e28a0c7f94dc2eb25879c1185015db2bc9e0a77c135bf8ffab0148be3dc5ac1d76427f6df75815ab6263f6cdf9de122e04a183b7465f98d82fb9a0edab946c8056cf09f60528eb0c6d796b05235ac281c76265be9f63aa0b47919d6919a583fb0160eb8eae250147b41c45685574ef4efdd10390048003be07494971ba05f0d7c4e573b2f1bbe76a3e5cecf6d6bcc33481a73a3ffffa745bdc6b9dfebe4289ae1da8ee7f30d1753e5b3785e2651495546c47365f2ad2ea6652597493728df29760d3c183441c8b39b21fcdb191915054059603195ab07a23dbb557167cf372a3bb5f877ba01267348545db1f363c527ddd02741844d62dbbedcc77e7f615494a6defc1b1c8fe7dc630a9f0f886b1c588a88061007a0cba78484754e4d442c98b90ee95cc6cfe1f0482e1ffa318d47c2455802f905932e002a49bf1f2003c9ef75b659d640a18ad6b324459c2c8336907cd91028d298323ca36ca80a9699a457fa5865d9e91dc7996c37549bb711fb2e9999f3bd02ca3a66d3ae1ea26e79c99ed70791dd41d529097b9f561b961ce225dd03f921b2ee999c49e7b47bd37455c08e857b39d775987dc2917271f782de3a3f5740f5a45780be1642fd8ce614bee9273d0683d383b1464d257c72d8d0b4e76ec972ee2bcf3ac3e7b436bc4f6e9e55be0f9c040055b7878a05c91bdc7f70203209bfea729c758e4159a516b69c4b456d44acfee01648c242f07cec953fbb9c4d79a54d240371cdb3c9671e39d9142b9c851acc1bfae03a2e8a50ea204d8e987789e95e90ca0163003ae17d2b66475b9ffb3444d387b357b1d4c0d8e57298c4b506993ea8da9082d6fb3676ba72b6aba524a44aeb632d9afa49ad60361b1e0cb1a22216b54865f96e462e511536d91aa38bdb2d7378eb96e3b677dab081e1b3c83ac1a5873fe24d0d47390dd5684582f135f51c55a9d1ca53eefeacd6a0173789f201a5084e8e8a7a9ef49d5c35e75ef0910ebed1c870fe0f34d44d12d2750f5386d689cf2f9205aade7eb6282fa61c401d8a0cd473ed3ba5b9a1ecaf82ca919bfcc6466b7720ed15b339b6f4a588c21eab39a3cfe1928acb2916ddc4ae0c954a51818b956c1f6fb9f0e28b06551ad3600e9ca56225cf7eab4765b52faa49ddb6ac89b5f7a66cf943d9faadfb847d5345a13c1c5a396c99dbd36ab85adea49ff731711ab2f0f6404faae1dcc00be4250b4e68d6e1307788aa9c292314de4f23be29d6dbe0594d473fff85fae52dbc90bd95d9489035dd3fe99e4f10279572212279f49d260e1523f4f93bd0e94bbc4bccd96123d39160b8e7880089b920ead081fb6f74df821c6a04e8fa1494b321365b4a22d9efb4c86c42a87a4b9183b6964f5164343afd4c4bbe1ca878aef1db62284d7be2dcc392b57ac601acda375f5f43b682587a53d398fa8f31b487775666c811041fceb2c5116aad95ca4f98fe95e6fe60986faf3c9487250ddea00feea68096d707c749597e1116fb99797edb8a46912a8230e05e1b4c8d57d6a5fe7a9ebb3cc2bcbcf68fff5f68a0fb02b6b9fc7be6b1b2871ea1e20ba58dbaef335200c53618f91a56ad723c0b9665087af5e75830852a64346566cbcc9164eb0d4bb02911635264ab811f349294c489f4c634a5ad5f24e2a6768692dad89f7bac3591cb93acae0e708e3e059244d4452242fc4cbd7f52a6c5b13ca907a1056e919da8fab4fade559a363ddc03f023a1812fac7d764beb431b15fc8ccdda4e8e45d781da55e90709eedc270a5aa3421bfea525fb9cfc621b56d6a18ab298c9929f8f11f136ceb59c3e59b917eaab63088e64d29af23144593d4d452bd935610c393980f4039b86c740124e47812e810bdca7952a8e2bc1baa8b3acddcc5c622be105e466e670a5bf5119eb22aaaf02876e1bdf3fab0609d983f12240a02f9db024a729b96ba9da4645521b6b14854be372e1ef4d7564ec190614997f72ba6acb39d907e726c4f57bfa66ea85e2f47375122fe6f3a0b885ab98ce9016f0c118ab86c81953351fc7756a8c9b54937ce9fbe06360597121072f3cdb28401c8b5d2b9da045c7908a1892e5251b6caeea1add1253cff47fb381212ffce71740e0ffd52d2ca1db84597288b5ee4f51033510795a9beae91aff4d6f9b2de2c5bcc7720ebacf1bae8c74a8ac450509a7d5f94a6b59e1a2522ed4953c0a5d1aa823366d75470d6af106952d2c699d92f13a5f60890a50f6da68f52737a6bfaa4da7ed862ad76cecbef446ccd17c182425cb9ca42891a3266d742e0eab23a63bbb8ff30669f2be9cdbf0caa05a85ee2e4970a2fd1470e9e940f535873db16fc087282c261c02a690021d2235b89fa60326b2b656e865c183e91aadef2c3ece29eb6fb23ea987e117c1b3de28e4bf1bf4dfaefef6f2f2200741c60ab060e5cd3953ad16b8d0e6e29d4e4bf0237b96954a1432c28fca00138b31ee2f84f597cb59a9af8063ff8a9109b848357e99715f017e939ac92f59e84aa2933666574ef6eb40ad58e38ded4179c587ea8b1cfa0b1695b444b0651e0c6b6305c4ef6fb6fc5fb44826dc910ccc0022b0c69299517c8bd22935bf1c47e3efb522c28ac8c99e8a4ef51fc78c8adaefa8f73a3552a3014ea94c451d374182b7e84fac4cadb0f152c6f9fd0be87b2790a6209cd859fc1a7c56550ad637d100c0b738bfe0d3b790d3a8d4f9891341dba8bbfa0969daf13d9daa7772d30ab0e7a111d49cd3b20a655aca75ee01aa10f85f6dc0fe9dbbce9bd9187facd8602d1c7b74767d3e3e0227f03baf70dd064fbbf8d21bc69d7c2f6e5c9c2224c5d14f7f01ef9c8e5fb343310c50e8f7b6f02adb95a43d5bd69c756991d8d9f3947657d64ca89889043711d2f673096f49b44cf6816dd01c0995fec5c97dcef80f6c7d54b0f26a3ac9b6a8da1c4dd411ebafe0cbd63d1701550bfa6bd5f0960dc54f3604addf5b67f9cb3b712857d3d16731cea7b56b273f5b7ddfd4036bbcdea9946eeb02d339bc848b84daaa0384618d427334e85f502eac74d43cad2a6ebc19f090ded0027baf46bfec904e113f78aa633f2dabd36e8367a47ce16541d5b578f9f146f7043775dc5465b2349d2796afd83be6c98ba8f546f30e242b8afac191b34668af51d5e880de676ecbd8c3d3f617f40726d175ff7fdde1a360f8e7702b5ad619fc354b3a2a1c9fe4472aea10407ca9a661344e8b15114b311b51b25954080e0040c30047ed6d780bfe5de81cb13fea497511d444e73bea9cce4f427378f3e226e79ac8e4cb55b12150147ad86b5f5c8dcb22654ae0d46c8247a591a1e979a3dc2836ae8e004ef9be9b7ba91c318b5e0d705e37d81bd6d642f9ace4b07d124dcf70e85ab5dd6ede8ac22da77aa08ca398a0e9b40aceee8f386110512597aba08c9989b489753a370b21b3d0a5ed57eb0954bb9111049832ec35c29e8f1a2f117c44c428536a9275039a2cd21c7955f328785be97491f199ade9a6256189f60dd34a5ebd6e8c8ea3d3ce9c27eab54f146a942aca81655e7066640f2de5bd5ca003f420608056635f1a60bb85927bff24a0dd2232de54814f316428296f11d15f89002c861c0aa41ad30eb41ce58f2ae8ea85282b373570e3d0793cb6feb8a0601b8ae0ea8ea6f39cb241ccee3d52fff01e1146d25037ec341c69329722a89c3ec0f795bfaae39194ee045041a50c51a841001b624ad6d94ea9ce0045ae01031d2c826b87c2dcd1bf7be2d74bc5a5181b84c0fcc04bd33e27ad6775ff9a644281155ff10a72916ac366c25cc1a5cb698d489a77a9837cdd387c9f85a054f501cea16d918f87e02104b663c9e9d5cdc68faf54b3544989d4cc259755cbff79aa82bff6a6512d9222080a03d8560314a908887f5588a0730e7e36dd4e63192b6f4f5799c877ae61076b6176975a3d86e1aa36281298a489dbb8684dd0d4938cd851f0ba6c9cebc84a057ac2a225f25ad8abce6eee0e6bf872b2c67437ecadd283ea5e447e4ec71a1d4c5c6252f5234e6a2f609075971de099c87e1737494d90d19f1bf5ffdd1919ef70416d14da74c4c72c8132e56977a56a795486cfac26ea6161c1e736a238f2946319d35a557c2ff7400393eb6059a9c39e8362284cb3e4ed5e35be69b7528cbbd8d35e79338fae302025cfa7876ca712604a6c56e32585ce5a006912af2e8ff26f4ba43ad6e3d58888afe86781491ee91d0af42adfa0d0ae6f2bfbbe4e2f6b04cd277dd01dbaa84d107c95a65d9a0a7d3754886e8898d7337ae373911835ae1d7195aa690efa580f641d9e241153d83cd64fd4ea4d70956642ad8fe2c4db11d8f73f525a54e4eb72566c9fcb93169285a2679340d44e65959a28461589bd0490e968e531a61b1a1b78138c161183d65dfe05ecb353147032e1163db95ba19c2c9e45ea5233bf0f5bb8f24925bc74bbb93e64917f61f48384935c858637326f7e571ec6a464350cb7451d16b3c100c37d98b7bf963592ec225261dd7b32c862fd94e9d50354a8fcafd590cde193285590f653f319d695617c9022a6abbc3f37f35737a11e0ef7f3b6f16a1daafe01547cdf18350fbb2757685e680d22bb33e6cb572d098577f74783b5f1728bf593a41a7b5a537d67775dbeee307849d5806704df0cafe1c3536f7aa0ca6090537f2720529ba08f3b1c71bc7f60f4bb37307cbacdcfa5c8b751066b868ec4f30c290d2e1af38f5010e83b0ab99e633fd3719e680a11177d8ff6fb02a36952ab604318f6e0c15b567d209be4777025430183f47f7b690d9a11a9232719289e997d30dab360d3f82b0a7e43bb339378051e6878edbf4283ad5b2e8225d706038ab4439f6a221476ac3c4cf238967aa65d13aa0114582a5f3b3b031f84296b59c5468bc9b2e36cc436265e45ef8ccdf9dead0a5399a0547c9d76621c77cfa3662a00aecd077dda1b8d59a659bd1d16b2a82d7f83cdea495b46081c133e62d5e5088c7cdcdb19f8a52f2dfbe0825ddba1a969af1bf36579354ccddfa33c4a7aa6fdafdc9952ec81fb867d5a8fa73e09a4f056539fd5ee6a490ff0a19ac1c5d020b3969f47fd12fedb327c7fa6bad54d0d8fce75666b40159cd7de7c6d2372d220d7b6bb9733882cff49a7b71fbcecf32012abd1529feb2562a528103186e5a415c7825feca5916f4d08d0db54531c478c6cd621fc37294a6ec6231f9bf0a5b9ee1050d7e406510d25f852860fe9c38dff4d090a3ebe08f69f39f8cd8f2595bdbd86a4c89d9d2a240ccaa7bccfe68ec133dce529127716951d69e45d6af8e081a385eaf5e413e1cdfc658c3458eed4280c47012ebcfc70d975cedbe49e6ba0f6987338b9f7e3d0fcfc73e89868b7ea8a09101fc0048216a6c428ea22940ecb518fcf56879e1fcd1c0e4ddac835a140995451e9c26583536c44950f00fdb3495241e9f8730230a8623f2bf115e2f02d831bfa47e32ddd273cefae01fdad1f21b20b518f4c948d4d5e4f4bdd39232b1e22efa759ed7f18cac037d983ed2b1f7c6dc58148178d2d0a7491c86891ff97082249389005fd1e38118710d3f8b80368685b884806de38d610d68658cff5ea3a7bb14225e21130fb9ca17f95bccb39e36fda560f3b30223480f3656764b835a2a19ca7465d194dce180f09608941c2c1ab3a772ffb47129c7a48e7884395eab9fb02745dc238768662e782e5f766898f1859ac011e87466a160e81ffc6e81d9c2591362b3a8fcd0b78dce1f979e568fc20cc0d4e08da8674459e8dca6f1eb9db355d13ee19d15f3059dde9ce020b9f6d883036b6faebec8e2dc87569d625517f7b338d346c0f626fb7fc3d1aeffd6fd744976279bb56d93fabbb5dcc4d56d0daead8051c4e86ee94c9cdb3ae6e3109f616b1bc0491eaa841246fe4766865df4168e884999a7c090331090689e6f6964e4ed9ac4887cedf6685c879bd42be24c5d7febd2847c6b408d57b4a67d5cd4406ebde3ccc3b5b6fdc9851a85d1780d94690c36ad42a34ab9df01e490e6e60df11c2da83c1cb89ea105cd2113eefc4fccf54964926f989cf5c3328053e2bb90ae458766291c8571d80e17fefb30aa97cca12247b8c9d6dcb5064c53f46c0ae842a91d95bd8e3242677314428b0b3e3d0f189600c4b2a293509ca7090713fd6da4d17db1ef4bd0930c0320af6a6abdd548f3e07781ba0c2bfd518051346b0fe4d16928269c73854072798559f62b176640c64010a071c90296e01335e72d13b51e8d34c3a814766b0a13a82aa2661d84b5d04d319fffbf558f3d13005796a590848c8e3ead74a0a1576b85d094d4729084fa5323423897ebc64a0a31a26f0f3ba26c317e1a66f3c80f7505f5339de942c06978a11c827fac3ce017409dad61f57fb4b1ff67cdbd346bb9ec12aba76a2885d3ec55964121202b836bf7d92429e84c3d6fc190efff547f714c9378d6593ac283402db03bb2b8edcddf8bc2ed06a7d35229aad4fa5a56a660121991f11f0329c3440a6434ef7cb868f92431c14d1aa0468db0a8e459a5be8b73db879405da3c763a2d1d419431a1c56ba7f51e79fc15ee2055060968ffe98859cdea85b01ac10b1fb7ba89e30009d4bc32a8b5ab3f9299ac2fdec0edc6d067058470d42decd42b71797b79cfcbb029e0f740cfdd5db2c9e8060426187d2b52ac5def9e280a3ff750328a72b5bbc63b0c8ac1de2d81d9873bfcfc2323f586d0f9acc8c60ec1fcb11b8a702d0b2ba4650ce172048d53c25148d0d2d76970cd1ced4b66315a558a25ae00803f515dbee99f90dc4a07c7e0e8fa587e368c4bdc1278c4dede9edb32a799fc19587fe0febd18aa4ed4edf4522bdd30f426a255b7590d335da578fce5752f44a9d1ea2efa14f57ab6d2cf0e90e17dd2baad8c28fb069b2678f4ff17214b77874c16a073e728dcbc8b6531f90eb7de985e15b56845f9ddc93f356f091fd9821bd56f69de7ebc0f25f66cd3ded059190c9c19b71d280935c9b9c419ecea54914874f48fd40e14df276edc2e2c6a827a22a6a3a683d902a6604fcb6ee685693ce46632c247ec81e76b7c6d17c65483535eacb8ada94350a97e358de674db281ddedc02095a5f8ba089aa68b3cf299ca8faab38275fff4a1ca98fe8005ff03f0cf022365332eb884c908f2a3052735e37f0c5572b50de386119f4bef73deb6a96d7d673655a6d21e8ac9d18dea1e43b4e2c09126324a7cbc11586b8dfa3ee3cb892d89f36b9a29df7def6bca948597d03b721a974122391bfdf37b0c6220df790f342b6551215c951f8f6a851702302f483e0e6bc05cb38c70f3fd03b5dfcad9d05106270ac0c7a5ee753a7785eb7ac25a7dba94e6a8838ec042b4b7bbac2fb460c1f752d24d3256e2fea925d0f07e209e319c6531dd4314656a559b42a67c6987baedb04281788a173671f88378ececbdf0c4897f25ae805e3ba7c9ae37fd58576df7c08bbc0aef0311c4b31e1d8d0a0a4713900ecae739844d00ab7300649c1792b7c245cfff3789311e4f898b649791a3571a445778948e74fde83f46af6f9fba5dcd885d7bd7ba67578d7896b2076f3a7ea78b119a2e5ad651888bf455dab612a3191af43a675fdceb9e03c71f9b8e69c209a6e2700b5539e27be23900f819bc7a4dcbd51ecb83c032138d518394cff5e9d47870fb271aa9be2ceaf95ce828c288b896dddd8706470ec6351de2f4ff2116f07b913a7d9921ecc0cecae38b6eca388579966a91f7eeb3d38c82d83028f6548133a487b4e3d2eb4bf802a8267bc40cf62dddca3ac38ff6853524f11e3d479505c65e010da31550e16f513a337fe2ba45950677ea501d7fada62329c93029774331f168f97e5ddb8101bfd13d165447aa0e4afb0e81678e88a5e19e2cca89d84559fa70f923a4a36b828bb4f94d57f074baab8cd73dcced0ea1b38494f93ae2154aa73fecad7535f06d06bcf280c5c8c8e93dfc663d50b134d68feddddcf092d70484eaf4c6f89746a428558a309dff8cfd45b2080539d07642199780d1199d9c79016bcefd43e6b00aaa98718abadbcc1f1f095dc469baa4c90aa9e42e65d5447e1fa2d236cb1e04c91b946c09e945e6ce2aaf92f34d3bdd35b671d0048acca697b93c6fc8abbd084ef0d4a4ed9a61f6d30fe9863ba5b092d8749020b43d40afc4f192d8d7c9a7c61908e805b902bcffaf406dbfe45229671542249dc56230fecb4dac6c03739120e064d6fb4a40cf4bac0378fbbe84806ed27ef42b6491921995512a137b6d648dd0d994d69be1cb30116e20c3aa79013b5dffba0699b1b4725883434f0172a1e6ed1687406a62c6a6dbbe31ed93945e056d0aa36881515d9f4b652bf26eb335aa1cad91bee45143692987b1ce08a1a2c4b642b58c2114437ace7bc0983498752eedf97bf81a593ae4486666bd0365ee4bfaf66981f9f2a4ea249b3ab56b20a0c85c72fc6392bcf61faaba942555c66171e21379a66e314413514b3cc0127821dfa12e144829b01bece11d36eaed52ad5e689716f12d8b71348522676c3119b46ccbb12782aef729bb198d5c0f6118866efe5fa234aa63285396be131bda1b54c22cc56d2b5b1f1dcf60a0105fc77b4df2e69c23b2bcf565cb37ee4494591fcd4ccb1e0872045415f1d702a69caf591b0541936eb4c05a0c175ecf6f2e52b9a08ffa15546c9c7966fad2d1aecd5eb8a4fda04afc365bad50ebaec26319df0c721d5a2c4a2ece5e3707cc3745b61514cb3c0ab62b734eb8582d0fe08f0f8625418b1d0c651dca8ce1d1038358c2d454148f014e9233c57241f7fe7b6090074a8d6ee7d158e233a8898c62be778a3bfe31fef71fce290f85a756fd9054c15dfa4d06ffc8e6b38910f73d1937ff7c6f9321b71c37f21b2a9a31d54c67b20830f2b2640bf0efd8fa16448444cc4f31d07e8baa61ff9f7ad69c0067fa81416e99d64efa7724289cc0e39dafa389b1f64a54b1dda224d4c9f574d4bf29a379d6e11798e08d890ef0f3faa7267cab4031245b8b494a420d5ef5e3f0674ba50dd0c7737cecb20c6829ef29c608a18678d032e9606cbdcedbc234638a41bc0f1bb72f77e68f8d850d0a32fd7da41db8f8dc2cccaf299e8203f25f0b87833936dc8dcda1f648ee3094da634beecc5b7c9ec39c2530d6b2d133d27a195a76aec5ba6c42535d044636899d7c752a2a65be58524775b1d1d4a17e9a0221b6a786ed318ae16ac32151dcce40af541cf4c4860aac6a66e2c2303f70ca4d2cc85621cd9045d7d8f8fc12c17a63745348721c583d1a59549ec562b7ed67dbc8558682e613923a4705acd4a0e63f89c18bd7cb68287a13528b3581db7dcef6409a771c128ae390122bea1eb64c81cb1295a92e75053f897d7b46e15927b5bc6065bf5fe10b39b84a4d7931b95e77bfd688cc0538df7446377eea6999354438c7b0cda2bdb93729de2683f77c8035694cd58c813e0fce1a593a2d93d6b5ae3f96eb98427707fd25b0accea7f629ea04f2bfe21d5d6ed513da08696ef653337cadcb4375ce950d2f2a9f6cd4f11daf2d8b74b23bd90dbf1833d82c922addd106ee95aaa93f89ba46dc0a01e702b445a5648dbc6b4a71a4c5cbcf776113b10c2d341e6e7d9e795f453a29af94f4c1bde4aa534548520a5f5d8225c568dce08ad7a2e5e24157cdfc4455c8382e06291ff6e708c7a0b613d15ed6b767cb7efabe6b7d249510382727c37349df08b629a7b9b87c21423fa642ef8147e3564f46e66942f721c93909a508218ba1ddacb374fabb484a51435e2441e07eeba245bebe65ab93a6d30fe0a12ce5183e244ccb2337dc9468380fe0ce256caf8e9236a967ffc73d75c6e783e78bcef37176c4554b883a2f1273aa1fa298aaccb0d7e7f14641dbe6053197a21df22367b1153fcc9159d7d497457c4d59bb701de99ae971031aba853053fc98bfd15636f264bc0a56ab7d24449f53db04771d484e737d1685495e0a510b5461bd22dc0035b6a693af78baa7136b1edf479616f93f759c3fb2d5a95214744ea42283717b31e25971b093615b4664fd602c35d8e988ebdfa97e2f828ed0ad4c3b9e752f4758b8f7da7222844c0f8871c5116a9dd38458e4ba479fd05d111131b68a92294dd29c3be2c094d6a42fac3b926678408fee96b63d4da3469376982e0183516d221a63509ed22503f3a562b34d78341b314cda7745cee8825afb2b98182d36f9eab400c0981029786daea88ba3f7c62fcc6b90845d9cd25c3c74ad0c7420ee6ad13971acf12750734297dc7d3abffb7069ced38015a19a3edc86802b906dc07089af27175dceee6458aa8f85cf3fdd7cd61a005d7e1373d907c75c4043f7d139052f9b3ff6fde3d32715ff87175813ec86c8b784e740c0a994fc53cc8d692686699d2e6dd737207a5f9671adfcd64f70a981d2b794145cee71d2973feb06cb0782dd890809b59214bdb37bd9e52d686a9ec1c7bfa1b62209a57f332ac3987d21ff64bc27f7c15b30c7ea9660b8762075af48e4b12fbb49adf62ad6a4665eda4192e3db14b1576a937f8294bc35e287b1b9b197dc81f9a8ec1a30a9eccbfa7a675eb5599cc7319797ca0af12cec2f344e4d9e5cbe93ba3adbb9290e278aff13b077e3f2e60c05a0d3f389087805ba1c5a07653bedb928541d5b10b2af091a596c04e08f1ab193ef0b6820a4b09ca167b0988d5509cb1acc91187715a8006ccdd5bfa9b8229bea0ff34336b33c1021ae115ee823af1705c1dfafd357cb103a9e616f0fd83ef61269c70130a20053507189cf70e6347fd258b845d8b3586433ab913884787915d59b0fcf534fe5163556feacc73ef7ff4b919faf3c38b63d5013456a758781be7388e8c6866ca3c44186b7a12f28d7e715980d62f5eecbf86e12c96ce10e80b2069a32dfe4d0624b641138e6da8cfeff46a875d3dfb7190e82ec5736b996f767b1822202dc708c9fbf5938920015051558fee9d5f5ca1364c376781f4122a579838de11a81a47f81a7d31d8280d1d8306a69419f823e66b340c8b84a09da3647270ef9a7b49ab84cb03bf2b706bb0e55f56dd1abbf1732f4bca539a6db8e3e9bc030c4a7bc2431210f1a5e87ed503204677e1de99807e978ba208bcbc472c1e843e46ab38dbc1c7f587bc7a684060a25f145192e3620f60a93ef73647d8dc92775c51c29fbd03b4072ac617e076ca911cae78362208dd4c558cd64ac6ce8685067fcc65cc23934906125dd084e494873590d0686e811464c7516df1f3e1ec4e605e1d8e20c3eab5650a56175d98d9092a5e7ad63f564cc75ea4cbd5ae35ba56e16c7c197ad225a808ef035b87f2bd13410abeeb328c587c8223531fd3f17dc1304c2c88a460774c6a5dec6d5ea06e6f9af7b8d792b3f1974e39212885056431e38c6885a5631850d21db45c26b88b5b0156b0b0ce617255ddaa8c1a41b71665c684c370dbb3dba0c8170f083991e865322ea7be2d8367576e52ec1cd4ad8d7b71966b45cd1915d6a80a8369059c4a064dfd5294b6fba381c86211000dc498987f19284d083cd300abaf9cb4ee24d15f0870f1f2781c6f7c9400dba8c2ecf1167bcc02145c00a02f436b8c7617f9e7a71f9c4c034e793880b1cb23eedfaa8290975de8f85c8c4ceaed92f45ca8cfba881eb283e9f9e724cf9a32dd3cbef3750375bec7fdee18b25944ad8449425ae8534430bcd64f3e3bac573e067eb1b5d0308f9400dfeea72edbf35ca39e2c8366bcdab8e44ad6a3b3c4d3c6a50c88e34af440dc62be39c6186af2fd60db0b149f6beca3d95eb775d42c310181ef5a1984e91385944c7a5ee55404fc12fc532b093fb3c9bf3b332ffd61fc59b54348dba4a9a5b0bc18b3a1ccf2500de7ea648da5d38c955ee00716aa02bfd5f42978004427fa051a40267332c7f45adb31f2281552f4b21ed05375ba4a7c5d988123b0da259a72bd3f35d302b94d6c12800a8d6588573c31a38f71fd9e513b9547a4196eacb187a3acba501e4452838882dae3f50e20fab79a860be04ceb1dd0f8d2b95e8393598950d2a997a57f3b91d51bb57fee6fa53ba97dab7b2a6a0d8ef56e211089dc73eb5b32f5eb4e3b3eb52160e67dd46a56c12797d76a1446921273d4c9f543f394f3c63859d7af9a33c3fb491981b6a0f0a62c57d5c2da625a4f2b86759768009a303224da8bb574ff8cbac3e3788efa8f7a16f9339e3990fbc0096476a3ab09e203ee0529b85aa1ddb751f9e81f9efeeae55f66f4c786af7a41aa88fd77ff9932228ba1762b3c438089a17cd6b6b821ea277675a6f4e6cff6d3f0341a3d54048fe663c869f85ca281acf02592a4e57980236e4883e4257387e88e13983a4a4f3ae6687336d635bbf22374e6deaa8c6980fc004c60de3776cbc2f70f4173bd8cd761f44e15dd02900b66b0c3937e27ac31599f0ee998b410f68b98811a8c1ea3e72d62b2bf82180ee52fb212e31f0e9cfeca67695853e27e21ac339b379ec3000fb056cde925e7edf73fef23ac03cc312ae03ba277b5f7ee11e6fbf12b4adc278e7fd2d7cb397e6df23781c101bd887dace03534ceb5ed29b1d5914c3140869e8fb7fd995bd61b964e9a72486bea43b5bb957cb60cf0e98552f708fe0bdae11ba7aa4d082a32400f9aea1d2d9987dddee885b7770f054fd6f513add23bf6903de1e459894bf1e07beb7d67adca4689a05aed5f1a4b38d1c54abcacb9b1d8722f090fff08b04774d3fe235e51640e864557aae1f50319dbc9628a475ec5ba2a8abf5efb47a58338e7c1fbfecdefe16df171748bddf1661e04c48a6f92d93472102a50cd9c602bbdd8b833baaf6c794103619a02b1e039033f9e9b8b3695550ed7d64bc9bea8b3fa2c57e91c6d74f0ec77f58be1345cc865d91a126cae5142d1a2b7bae3895f6e17636483cba917ee08bc0303e603fc2da5ca79376d964e921c5d8bb5fd68b93d62e933cbdad628ed06bb21514349d71780cf8634baacd5cff6881415fb97654dd0768c55254fc3f0e12b951dcb40ff9285bb05a7418ec7d03af0c761522f7cc909065a0e6d146c5386d788d1edec364e9128d2e6688389fb3ecd4acb8a4e8b4e10fcc978989d43acd8f4f93a8fb43b959ef24bbf32d2686ba26c991331e0fdde6ab01330fccee6d766298e95ac3d10f9c48530bef5cbdb886cb03800c5bb8b9399bffd1956625c23f7c3eb96cea4c1ee1a78406a9c1de1d61c913d6dfea0c4d931a7ef3132c815f9bc812d89037f1e71eb936ba4d01e2437064778635e0a3316a1a5f762e187ba2dde6a4c0980d893836092c8dde4a85c7c4875e921e6a2e9868f06488e53607d1e1313e65a08ec4dba744cdf8a92ee6bee038558dc77ffd3b5122ff15571dd97063d4ecfe1b91de3737e7632e706f2a1fd14358e1eb2ec141bbcc3928b440a41da2dbb1e4abff5d4276b31cc77980d01b37d89418b88822bc79202be4764c60ec3aab2c36dc3d55955e4b1c6dcb2b0269c66b8337e93a055311c68daf50a9c27a492fb1c61b8b6d2145d50ffaa8bb1ed5dd5286f856501618da0c4fc30bffaed4ef082bc48080f30d760112637dc12eeea786d29da6a03ff51a83c4929994ff0bdb3a3c00a47f1241b54407ca64236bfbfe205d86f53508cca38713833ae5408395864dfdb249edbeffa173018976744fdc2e4138c13683311de784b48e115fc3c795766db5c6d30599c9c21b77153260bfab0d66e272ebff3a025948e9058901e305fc984e0b453a982b9befe85094e928b6789e4de12a16afc2fb4f11fe2d797a7d9822cfe166d417ff95d16db2cfccfd63d295c7e0e44a2f61846866b484b670ea04bc1f2f6e6ff6fa1a180c0dd83455cc895d7c47b86a09f13837661a50556c99cbe8486abc67267173e73655645e2c9549e2884f57a63e858cffe76dd889dd546158a64bd564b4090b8005869f60b3dfa513913e977a04a87bfdf20cc4aea8c851d33647552a369d2d7039fe5be8af095ed9fcc50d1b7d66c8cd03a3a8b9a37fed8643c77e79ce665bdffb616134f8cc7f34b099128ded6fe167fd5aad7697bd2bb60ffe0e0f36fb8ab32f14f5e2a2c384eaf7aa67ad1136cbae89ae8ee568bbbc8d626d3fd790eed25db34ddc80b9c29d2eee2d56304bec2ad1133043a4399c1830f0f2d7ed7406b4acb347182f83f2ceed751b7c89bd195249f6526c0e43130df26a5b4186e4e123a9f2772f5ed8f45a9c6c595734e025ee2dbd3e629727c7d2695adb3835c787532a75e6840b259e7a2cb8f0eb1860d9063603d61ac49cf67b0a06b58837ca8ba0bd93f7e61708b2fae13c13c992cb442c8f58eb0ce9b247b5d36955ed91feabb7bbfbfd33b75cecfe1b5f9c07af0fc2220a4b5c86b5498c95471a5afd8eb138ce46652e530ec9547b4fe8cfe9b67ef69c1a10ad2d64e427fc083ac6e84275af1cd84c583756aee2f39839301d19fd8cbbe52e50bf9e5fcaa79100a4964953d1241f924e1b8910c47516e976a670c3087320a4729f5f4b7d2f82c7873ed7da732e46cbe4e34b0dd104655a1649776a047384c7cfbf8997ef23481dc758287dffd4dd39fb7690dff2eeca3ff49f124aeb4f274cc69410750500259fca8bde2e7efdd6750c68ff36d0855b04f655815685203f72c11404f8b09b457feb51a3648884af60787bd205acd29eb9500ef63a8ca6903e0ed94c1b06bf0b9bd80a0538ff39bdbd49b483c14b5c25d65015ecf62faa3e37167fc5581a0580bbfd7c9e623cf0db2f250e9761b99ecdf9a6b346114be3a8c162b6daee9dbb2b715f3465c42f2cd49dc217c2b00af851babd7aa3890afd61a15615ba6f34c5842f256515bd221b1c503adccf98d93cc51e43bf4091ca7dcc441bf832767609ca4e717e1f0cf2400e4d62d6a4b57600e36b19ff71e025244f0f5888e65793af029c41644cf8715b7baa80bdf5fd7b3a796fc27d97a4fa11e428f8e3aa9f278b337212f254fac69a6aea923225bbb793190bb285b717e5f5b69e366e85de9987f7b24f5258f148810bd15848d72f2a6a9919c2be40e87c5e9f4fa1f6f728fd310269a8bfe05e8034478ce40de6f2cb28a446901168c98298ae2d2b363a2c7d8b30bcbfb5b4579e33fe375b621c3075ba304b63f28d7c1b5e661695542231bcb86550aa277a11c2a6cb6dfe0becb79ec021a0fc2638e09af413228722cf736c831a29a3735bd2118a77967b954bb5acd44f6c04c6de9ae41b47f1379e428753a03c069e8fdee9ec9cdb7c0f9f5e89abe95dc4c31e670c3d98834347230d167d655bc241f9e2bf6531883060059b72114edd875bf94b856c10aa615876ac6b82e1d2925bd1c2027ce823f1252325aa0b53c7c0a53ebc13ac7eb44a17da51a4d8321c5c288ebe1772a354b6922672c4a9045126580cb02a8345eb3f82e1baf93b1044c19ffb5c614b46d8f98130dab476a8f0dc908069c0b3b0ea9b02e86bc383bbeddbfb8f1f51a0571d9e505c50b5e946294ba2ea61ee2f69718d690f22ccb00bc7e73803a3e42b2b7410f6b5dbc3af9762a41be7c13f4103092b0d3c664794517597a67da32784eef75dbd833ea0b77bf9adbaace2418087056064de327818cf1f98d982335db5ba5d5c6d07d7a56ebac43bcf75c1eeaf6128b953f00a2f334d4a5037191367c665fac78ce4064c61d2fb1417d281c40bc4e9ba41a81bfca9b1094c874251c1bad34fb9cde3e265d7356507ec33548a0e6c45f2e32698e9b7fc4aae22cd36d16958e4cffcd7e6618e9f35a45871e658d89923b34efc28ab3ba9dc47563bc3e19bfb2f83b278dad10bf87f8bf7efad9a51593ddf48cac13018088a221dd1773c5281ad73c14dab15a8ca9f8661281b25ef1a4fe5ebc2ba88f455ed5f080ba446c1c0ad2b17701a7828736657354f605afaf732748d7cddd8169f8ab97217464f536a60f7ffa5705e0fe22b9a3b96967e70b314f26cfe3d10153a8c853c6f227ababeb491ea00719321472542c1265b23040f57ebbdb8fa7e16e6521625e964aa797c08d8989f8b8c6656229b50fd2b3b9595fbe89383db5d83ef037ff85e25cc8576462de740847515a687c1dcf589e2980ec717ba0873a5b8fdd46695036113aa08906a866e38a0def7edcf92e590973e089c0a3b038dab58d61ffacff2b5b91c211bbad1f99ac8c9d7be1de8c031fd2ea54b903f0b6e8f57caebe5d22847771173ec190c50f064012ad8dd68745424eff0fb133d822252bceecd5ee415e4e0800a8b4ddb19bb93d2c724c92ac471b3fa6b4e564e685da23d2d064efbbcd826be8ec171ae7c442b36b63c7c6df4aa1f62258408837f244ae29c412993294e682a23538ea0c5ff863d3d5accac3ab1d758d67d9852265c1ce3c9202f25c5de4687b04d4d103698cf8fdbd958ec22893f3ac7596c206b86c5a298193e8824a4a7f00d412394d13aaecab5b858bf496122d89b5ebad4071513397af86d98c1a27b8b4fdab62513d475428418fca1ce2cbc69271327d901f6dfb5d8c6588d09ad9686b91276df1add933f222432008f3869f386376dbceaf1f93b297077b28b470ff56db91e8ee0e3c4963efde974a7d27061187f04762a7fd7f5ecf5fc28fac7c54127a4348d28854c3936103308b2af170f9ede48360cc8f639ecac85392b44d7e29348616cc9244dcda1fb6c44cf1cecc6280c104e6c9ea1de27efe2ed08b3431fc6805c344b1d3c3c90b12bd92e47b64a4a353bb762666ff0ca327f434f2b8ff0c8f3025abf0b681a454b77ebfeec243a41936a8130383e12e594c0c8c107db9d8ba29c8c91e375ce2475b5a0472726d3298450ed3d4c848af442e3bb532e358013a1da0fdcb6806cadbcbb2a2e8a3057c5b5ed45f055f40da9f8279e6503f5f971971eb1e6ce645f0c2aff9a77c29eadf2f01b68c5469b9c0eafb32d87a481119512248c1015c5f1d0c269164bf81b98eaa96f38242f8fdf9193692a5e334ec75ade1d3f2dc464b2cbfedb0be0610e0b5652a7f83a6f1fbd84ffd7f749c0cc9bbcc744beb973e1064d44c5e3c47aafb76863dcd6c8e981f5b40f5f17e8adbcf2988f2b4e97abece3709e98f730c02029bcdfc29aad2a80846b07af3e1ad02734034beff5df569e127fe425a30ea8d73eeec03f4a8eb39fbc6b7013bd754f567bf42e29692fcc890eeeeb53288677f23e27f8f258b9e0a59a83992a876eccde8df01e67c1fe1c66a5666527c2457ec8455b14df10bf8f91994e9c2289b3772122265c0eacec0ef4f9aeb3df1b741588c6365359be1844e97c8a096346ba85b2f783a21edfc0aeec040709be88fa9e6c90cdf0db61effb35a00f7dcfb3dcee8a6c38a88403a8318278d8ec6bed357ac5d00b3cceeae4b083e5b7ebce31509f4544f55c11e8a989ebe759a0372d91dbdea65423dbf9fbb788e65daec58e5f5f539a6bbad2924509834b6c92abc5fa1f1984f6ba5eec36fc3dfc1e8b27fb93dc346b68aab55132c4918c3ffd0076ae6c53b066cd07b15276630746ef27b04d6324a3c0d251ad61f20dd87d612960f0576a018b752404df29f2c2b5dff45518fb5334904c06daf33c618ae143e7a106ff1c825d4dc7ba185e33850a8ffd37689677626b14d007c06478e83b38cb5ca322413f9fbf48e56df6726729af692b2a813803b4780b59de3cadc3feb0bb6fe1debe9472c5c446e15f87fc03c670b10e0d2052b0b1f2d636a2aa107925dfad1a4db0929db3f19ce096fd5212f7559ab1d696e25c156ca968c593ca9252b973d1a99e6f8e25819a2fa39251c6ee9aed23875670d180e00b9a7b9d5388fe2609d4a17debc6fb7bada0f5014de89f55f96229d48d42d10a27c90667cdc633ce2bbd261201af7405a55a92fb2384555f05f6318b7b45d2e12378794783e525ad91f4a9c441b68d52f41c89bcab6e5909406eb6bec1557d3521d7a9ac8d559f8d9f4fd09253fef3f82ff44ae163feaa64d2b6c107ba5f498cd92c6a7cee6b600e147d3b5e2ee4f4b9680b6dbfbe78abfaa4808420a0a3aaa564bc836e6b5c7caccd22efbde3a22ebbd87bed209985c6a77ee28cd0b26a75e7447b35b41923f95f1ab22f97452e8e6a8ae9eb8aac930dcb19ade3d16056951c3dcdbc92e65da8bc3e6529fe0abdbd2e9b0b496040ae94b33c7e771de16466afd1025b1efedc17fc1061e4ee048ddc3b5b0bc1386c5448cbee2e57403efaa280e988282519357929ce98e21402ef4f719a3b37dfabea54e7b68a1126bf34768c56544be8d9469e4916c2ef370582ac6997e7f5ba68145b06e6af1e185632d5f1a40d9cee2054d2d9ebd5195fae6bfeba7c83b55224108986c52b8840773490c2b36df20d9da3ef5b29b01f6d55429471a1818d7864a4ec2e945ac4028b39d1657387a3443808507feeac15f36911a2057532d5ee43e560124222b448ced05be7d0feb43024f6de49a48a5dbaa535334193f6a81a53f0dbdb071545014743ead0f1d1e8a8bef7f9884ba14a04784c508195d3ec61f09ae727cdab6aec8e381450f89e0e9f3a8157bf4fc3d8ef976d309beaeb0bc8308c5a461ba820261992a05e081703b8538ac64b64660b69b20c32475f6a4976ddaecf8399a5e2fc468afb1bd2de5c4f0623f4d32cc9021d988e919d6da96d8dbac49e2c3ad732219371e56251750e674eaa0a6a38f4fbb05cde3673fb6c4dee28755d046856ba66dd1547d7706cf21179a999c83ce98b3ddc037cfb51de3896e85651f9d5cb275e1f6d1adea6d072735c602f08089155feff23c036cea0abecef1f47513e4c5d016381a6e7b3a72159042e92fe46d076a0ae400ed892e1e5829fd8d4c5fc280b01b8b0e7da14c4af6a6767c2383cc65983a9d730f7156f3c8128cb8edee2ccf5079d9444752c12a5dc7757771848e599b8308b41c90879fc68550f25cca5c520a6dabad2ec57a8c9e72c9ad8e48bb4701a222dafa3392f728a8a08015e210e27f50a9afef239bb97f6190292e28b1cd91fb33e260203f9fbb6a0d1a4024fe723b79f8177d2b3277b1cbb8ab9a126d526d8959376e35d834e656a7d757b4e0e557b408e6a16b468f20e868acac7e4a2968bdefc5998c7326c03bddabb1cbb33eb1dda0b4cb149558b50825056e493591d93dcd1a39ed1821879560ff7138989e473f7d668886d48057bded36ccdb5d31ccdeeb33e5d3cebfa926589807dc4cc3b5417f40ef02a69fcdc30e6f8192597c6466b1dbac80de34e92ef7bb9d10919c932088322e04381733450babe3ee3f99d35820313078f0bc26cf1a98cbb31e14f01fee9431a656195598b3056d28db3dc313237dc13af3ff1fb233e1f9c1bc60e4f88bd295ce88817dbfbe22e37d2feee96c5f448c4e9b25608593de580711b5f107771ddee7e2c6804f829e1a4c419c8f2546887c039fc3526b242c0a6bc3ed1715308ec9b1e725591807ff9bce2b679cc2ae49ca4c7f6978139d647aa6ebdef94ad10411473003d1ce6e428b6565b9e6740b23e0d547ca7f9517bdde80de650af84733aef13f1996c3a778d9b2a8bc7cbdc5d7da221e59b0157ff75ffa15fc261f8299af8b25facd55e9bf0edc21654d06b70729b6685b2d06302e8403c6efa92ad1f5f3db00255b365831f5eb67bc4f55b726b78d30971bb0bf0f94431e4fb0a8dc5939f81569d4356211b0f59b760bedc0de5aee2e747f92f0ea5ff938085c0d70023502ddf75a8d9036009a2b093d1d8dc07e604a294913d1801c1e27c04d8c521fc53109978b2462e3b3bf20a680bd049fc36611d28eebad3b93f91bd16e5a328356afccd25da76e8f55027963253de3ea726d4fe1295c6cca68ea00d5a5b0636828a2c0c4830e044287d3c85d0991b11dbbc43c9ea1fd4e7869ed6ca0ced0f4ebb29e4b5568a41b1979523de0e9a6e63509231606d565cfb1fe7078657732fa5952e2aa612e05902d35450845d02eabdb63eca5d8fa1b44f14cc66085d0e0e927ea685d615e37e862136cf68bc4e84158d1fb59a4488e054a00bdb81096d829a7bd034686d306cc343d566691de3aae516ae411dafb3a08beaedf759ae4a4a3c2d61faab17c5e33c54ac473c5793ac6e349dee8a57eddf4e31caaadb32c686c922b1a459b633a1ed9d296b683805c3d17903e5f9dcf1f3ed15c2e2ab5e47f00e0824cf251723a9876181caded1350870f340a8440cad54de6ea670afe905d5932422082d3c32966d0d407c5385f93f8c50479d24933d7f417761ed527925da08958836a76aaa0dafde7b7b6885ba0bc99bc59fba0a15bceb85f8a35436d48ce6f94a5cc6bf8041c9be570bf6be4349f4d61ce9953ded2a872f4653eb7a89ff5cb04dbef1e9b4aa69b43003680a924f88facc9039affeda74a16f7f6d10960c278750999ca2e3509a1c0d47f33dcfb84f31226f98314b12f50cac3948c0c40aeae14332717fb5960e60134be91916af06c7133bc455f5d444c5cbe49d30009cbe6bf38ce94b73c65c15d931f58500149ff4b4cf1ffe4b25628525c52190732d55c4e6ed0c11cf7529a7a81cbb4f79d5eeb167fd4013ab69fe2a44e48e09ea0293178eef16ea5104394480d8792abd19632f1cda4bdc5efc5ed4c626834c2fe9f3c1fedb8bb83461a203c9d7c14e676cbdd3202bd76f662f2af0e9720b2b17e77957869e5308bca1940859817d55c2cb90f586a9bf09c2d989ebf945fdf505a7326257ba41c6fdcdf811235dcea2258323a1b038bb37d818afcd2c39e40e5558efbef23bd1854ed72ebc7dcc2c488fc12e9c85621228d841b5b8ecbcdefd4de492a2a452ebc74ea7a02608c43eb5eece712d5e8da0f19eb9d6cd60fefcb0bbb902953545e5ebc7ed2ec4a95cdcdfaac8061155b4d861ecdbf454bfae5bce31b2854d1038bcee8e8e5829b3577c9cee795ef9e7c3debf56c34e6abb64ba67336072d6d8f9c563001ea586e0f6852cfecbbae9fb73721927f4b1115f3a0511476452ddde327c0f3afe6d0ebb6f8c3345ffef5a4c3a5ebb910a2b32d3c2c019fd822df05cb1db79092a507c43008ff98bf6951b50f1513026ab9bcc076a96812ffe86da6484b92ad8ea962a65101e449778143efec8925249748658a7350887763d1289bf3e62c9bc37eaa554c8c1ade286a5b8b9882c59dc5f13968c6e2e320c9cbfd84a1b46cb4db00c88c6a085ab1e1647b7694fa684e6e4de16ba9672e2945434c5a26c368d97f217c4c05b45deeb79c0d50e2486e7e471962009fb2296aeb7551d6ba54c30c1c655ad4c41684e5ddcdee2bd964ab966d2d6b4572b2d38f3fa5b3fdc93df85c529878b9a29bccf5d030a48febcbdc544ae6f79ab4b617610f36e1c83bf45e12ed342e3b74e7cc7d8ec45d7f57c3f2d95004f94b934537a913dfd67e0dbd79cba1d2a0d613dfae068446fe3cc47c3b1bcf76e1249b8f143d3c7dc09539a933e40358e19a59d611c23c95181c2cd8899e6f7eac33f4bc3776547ba6d24ce4198fd48fcd5df4c109ffab8ded00f60e80e56bfcc6e174c1e95b8ff7a0eb8ff85bdfcaf66ec26df997140319fb813160eca5e8ce506eb8233f62630f867c539233a2fa30822c8e5f7091c08ec558178697cdc92cbf2b8725ab3c5d5e5b83412cce0677d6af15daeecc2c87e7e244f22f1e921907f0ae3390c153cc4c2957a6c1351fc57eef54cf033f41ca36779cd29de2418ca319dbc698a80f87973e24fd148171f986d57e170bf65a5ff01ebba4ca3082196997419377e640a925f6eb86191b58f6d6bbd5ceec35afd94f62ee51b1c4924d8527371393a494e6630f5b996fdc0a0aba2553a0a93e5fa115b1e90dc572a56b2f59ad42b16488f12c938172d849d20ecfd62d856e5b38452f59cc83df538bf9891224cc43f35d88d96cbecc4925a51bcfb61a989738f6fb1723573177801e1e5fbb76da234ac5b890fff0cdb1c2b60fffe964f20a338a2adf3700e2f3d73bc87ad2414af77309b50cde698aa5c3efdb768cc8a415a2f172d3d9d433cacca3512f97bb4a7317b44e379f1a8a27979e08ea8525760c3c7aa8fab961b5a157344031e6cbddb020b4fc742a2b29fc57a3f23f1e09c801503cf6887f73cc04a5edb097e7d9c0aaef677722cedfaa2aa65546cc772a0930bc4b868162a64add3194cb71f810397a8e563364d2c304ba82a649e79f30a0268d7ef7c7b3485a7b079fd241af88b7f6052a833859e13d8b90f8663888f6c5622055f050cde5f77e42037e304e60db5f02b42a622dfb1cbff76f1e7d2151d06d44174286fb26dbcbe1ae4ef84db51705cb028d0c339127718feea1e3ce4ed99e2974c501b4cf306d36016f8b387df7b5ff10ec11e48659ed2c0ed17743ef1dac98d5d30fe7c684041d3cf955865013f89aeb33fefd94581ef8ea5fd23513d7a7d0af8163bbe9a642b2c6016500155c222f3b301f78fdc7b20d3ae74e5d87887ed67a8e6e562df6aaa3b4f91f15b68119ac429c9066e591832de51532bfd7e8f068a78703c299827ea17c86c1a2a23da3ae0a9469149ac422a676bf2c0f97abf4675cffeeff4869eb0e1bf87ec2364e58aafe651f19dc1a2505142b496e3c1c1c9630a97559790b2bdfb3042931d0b3fa2d481d1895dd39c6ca1ae9e6e09ae02638dd0a3344e7c04eb4077986f17d373389eba0ce3c09cdf8aa140c7eb976c00b331ae6cb8c69d5793f60d53693489e2dbe9e5a67a35d621338d1c9f5ef65657239ddcd9c666e84f9e6e3dc7cb3e3e88e29a7fd1322bdb863e3167cb8c43b2424d4d76a96577be0161061b02ebeaa493622bdb6b42f2dcf5f66cf6927aa6f3c45f3bc73d56a1854c03e43f6fce36935aba109e2da2996fe93491fb0618e237bb95c8e13ff8908ac668285715497e72f6bd25d53a596c189d7d4328dc7e7d2b15b48add748af8cf8cd62c3167e56229eeb86920f18d5e7eff6064ba60d736b42d797638e459e08b1d6493131fd53054ba69b8251a50436f9b11b0cad976eb0c5a0293aa96bb28d5d88113961227aad130d1346c444a4bb3d98f3e9b529773725b2209784011759c93c7a8424b6bd89fa5b7ad6fbd620a76fc8c98cfa1dd1ab2478fcec7276e8d2984619cf0244acbf27ec20ee75594d2ea239e35bbb66f54933b89870ed9ee29b0c3a87c16cbc8def46c9fa05647d95479452da57891b311107ee0c26d2c11c1b99a6e2cffc44363433368201b806165d167da63c9cf7900e80f99f19e0e58038aee5b499c2f65ac1c06ac9b90b7537b79913e142164ed6d7a6c25db493281a061ac4a762b1fef44d29b852fe0f2919077dffa13c6b50b63234268cc6e84688a1381f579199b897064338ef6a2ccaef7cb4c2ff75913336d1445acec9108638529c5c47463e4a97f55972dcca02d6fefad76ddf45bc909437e1de5e1a5cebf8a95d681e72a1b24cdaefefe8bde268b832f15087f334e06d616d60f180372a84e9a89a60b403afb13d0ff43ef4dd627fc9f933d549d6df57385652005488c2c9b6a740f732b4f754921947f31a9306d471b218263506b16a811512ac816294727d57b0f3c42b0af096662463c884256a4eeb26891e77f4b968980602d19ff65f9721c014c358b6b80f5b2b54a62056095a73cc86fe86808a42714b534e7d86221f27e9d07a579d3beba65051f01e90969121f47c51bc059f01f22d82528cc9b82991921916bca2e2f688c3491556923554b846507032437d87b05815a6bbb0feed9116d7acf6df3b2876cbb5af96436eb0ca9b829135aad137055f4d3b7892a75c179d607fe90038ade0ff9a286461c1cfb285ce73ae92f0c666dae14cd557d567809966d9b8d23bb0a34085ec47df7a5dccdb1d51f728cfa5956a26c92798300a1195966766b53a9fee196358a06e3981b93bf1549e02e2a6cb8029169dc1ccb56e43bf51ccf38dcf19a89527778990c7de7c06e1787107a5afc6e17aa28fa9bca741e18edc503ce9fa44c28ddc9b3e3db27dd8b6018849c197587f923d1d45f45756eb9b9c37cbfc6edddb7d1d8f9f9227dca45afa32ee0714131498944a155c55067297ed11b5d61cc70ecc6ab00670b5e4e284b2d4d3364075396342e61e5bb4a65e6f4e369747d18c49f1ae2dc9ea9f5e4838e85775ca2a82b4ceebddebdd39121836b784b2f89b36e462b33f06fd4e7c45973658cb8f952bd0258da3ba05385961c91d0994a3ad28f90aafb3a5bef5729122fabbf48eb24e153695235f8d4ccd8467efa74f73122f56d2c5775e414cc2b1166fdba540c750972c442da5b92df72a5ab3cef54e42557c749f20aa2efad97cc0f04d0ff6c77e7bd254a2a7860f119474ffa0257bb25de87ed5798e3696a0f19a40e6269f482de41043adb8e4a2b09fe1fd421b186285cd0b98b07c1e78d0bf22548bfd95e71a9f2b1449edea4afb21610e826428e768c9f18adfb1401135b5de43c01d53f753019641d84593f064f80414882b367e753296d3837ffd1e8005004b2153989087e4a13038f1ca3be945c4d3c69ab0abb6be2f62ed6c7d2857ca89141a2e7e1ff680ce3341d2118b82802042128584fe14cf9ec7ceb73e9a7bd3aacdd7ee23c53d100241496d796ec2e4a0a628ed4bcdc3f9eacde0ae73943194281a88e3d2ef5e9485304afca4ec7cc9bf576340cd76a351ff579416d887747ae0a8bc84f8fa87d6a17df5b1dc4096548175aef47993b5464c98b40a74c0bddba145661602ade897440c0b6902340c0cf83ec3c997a97d59338957a9f22326e294c4ecbf17cf9ca1e5f6837e32d08cd6f9a81f43d006cb1f42ab853478db9327814fadf22a992d8455a32f05aef7c4a4de3c56bee027d4030a26baf332883b706be8dbf5f276b79a4d9c735d0ce89c11eefeddfc00f481536af6a91836cace2b15d08af619e4e3af727274d6a9807877266ccc0ff9289afd6763c493b5ffd29e4b26cb03bb823e6c810779c57a2dd2a223a8a237d71139c71279ffedd9b39fe185a96252f5eb2526b62da0dc553fa15fc52134b150367280dfc25c3f59599a6b5de20b1a4e5aa3cdcd328ff25807119fdc8136c60c622121b789b33d0fc2dd2c1984976bd4fc40a355b2f05160bb04007835c0479c94b280a1fa347b861d6ddd75439c952764bd8ade84b9418d65ef335526ea8af1a28c9c36d0449c75945ef1df1b6de4f8fab62161e4628cf04b781a51429df975107f05c409f21f58ecf61839916ff9bae602860263a03daa0cefae431faf52972753e2f6c6eeec3b2cf1d5bf574bb774063289a8e3ed434e2addea28954e143ebb36ba9cd72960638fba9c848b11058befe213f2c8e4cee0e731c6a7baef28a2d426c4a61e0325c7f9814c32bdcb8824b01108a82fbaefac4cd5ce3b712b736df296e0855a9f0fe435e08228188434a4888fa39cb36f42f03cf8d1fa84e6a1480bdfc111f0f8b32f68306e802b46ca824513114ea9be9a7799ee23d4d164eaf807f8fd837bb0c218ea921466e345c8a907361a502cacb13c3900dc8a37ab471e90896ff985cfda79a9673a39c2c1313d7759adcaaa67dfa53df65b6ccb2db68435f04c021e346f4f82e0549ab26ca700accd71472b916026a854476085bf980c7313c50c26f2aa8289bf14d7c6b8765d58d7877210311b12f176e7a2231010ec4d7fca06653944c4a9d8eaf1d72311588b4bfbd93233e572ed36cd94f4b853def33982ed54dc1066f57962c08f5c064654cd3a937abf89e3ba0e8ed3d8f15d22da24d73c22ea3ebb94499ace2e98a620f6fdd4ca290d3c656875e9ad8b7f5e1f64db1b470cbae0f10c8abef21aa9397bcdbfa7bf4b166428cc9089d5ff0c40ce8be75e4e619e1d15b0a0357c5a3565a1636c357670e00ee22c3cd40355b936d7088f6a8feccdf824607a1e29e57347b11e409832547dc490adedbd7cd4ab33f4411ba4eba930357c707ec9148d61deddfdbf291252502133fc150ccdfa98c202199a80417c220c142c5837ee55cc2b7fda7df112dd350bd5edcff066f91c1ca28754a342c735873674a4808d3f0bd8ab4e72bbb241353db7ebd5773be3b2d7e360a31a3c6a6202a4f14112fa0747ad5051c38fc03c10959a6a969291dd9ff67cf55b2ad8faa55f79f1c75d8638d6946eaffe2029e3d2835c74896b310b78c8782f368a8ec3c2390a8a08b3ee3104ce74568e8ec789983a5bd37dec42996b199af4ba01eb26a264ff2880bbab18080f4d8ea67d98bb46f2478d664aa1ad5ed3129c84c459d385025abae27edfd366411c97e11406c668f44109bed7f0642b6fda91b971bcfc6e84ec5aa799388a8a82d74c5899727989c66ad694025789f472dcaf13d5fa6936b67b5c200104c5584e55a43c463fd843fa59fc752fdba4f3229c1782a9a213c4278f8037ef8d86ab6edfc29f4e7ee79527aca78e3e4543ab2b35fbe73af2aea4867d1316a5a6685471d3fa3179f7e9db648fb2b2773c6cdff838c14def8b982a3fc783a82a149ff8665a74cdccb86937915b4ec95d90a2f4b6115d4b2508da0bef0ea4c24f129f6fc005be03a20c67e77be4be1ace684a9e9e1e6976de2fd703d1fa428f775a777a5e17fb22c0cae1f3a782ae7eafd3052dfcc4e547b957cbad13da332cbb5c342e29396f65f7099dd818782aa677895c6347cab7ffcb60d459625c64a955a97ba8ce691ee0a1d39938c4003a312ce634d1689dbec7901f8091fda9c7bd434a74b9f62ec76934465ed9e524f2fe518de7aa0591839d717b7adb580f92146e5a734d81ecfdd6a5200db992e99556138dd4a458c8b00556bb3905556450ea6a811cd17ea0952a8f92d97e492168fa616975cf56fd7d169b023ee3b2036a8c46d3be2d274317b9f4849d5dda062f58c199ab771d9909ef58f2c68481a51ddcf3d228a37beb7bfff931f824a03900e9e1485cfbf6db092fa5de3a7bc6195c86d1e485ce413320dbf7671fe96ddf36173b78131186e2ef1f24cbe994351eda5670b5f9f7be619a619edadbb74724ffa604ae7eb42e9cbc2ef889c7bc2c9a60d77864756f1b7c7e58bf40baa356b3451f81dcbe2ed6e207e36a49c2ed2d24e4a88b2dc912fc5f7ca9495ad5caddd137f80490540dfb4b1c586eff80e1a9f9f319d82092ab30e7c7c8ba2d4eb5a4ab6f9fe759c3c9692c0650b5e8aefc8a3526a6daf386640730d88ee192107243751f87204be60ee4bd53390d0b552b1bce41fbe666515f18a28d387b5f391187faa6a00194cd25bd9e6b6f82af32c644636bf4b3622659f8896cd977fc9268980cf606f65ea86b5d3a94d91b2aba9c3e6f6d5bb38ac2f8ce1f03b9bdd4133485c3371be2a7ae5de7ee6b4129632610139ea70bfa097cadb59fd82c604aa3840d6fd3bc0185623c5e312574f95847ab90450105edf9ece49099a0b63dd375ecc1d1337fe2d45699362d9c55c5fd878a106d4cee334a273b54f4daa51277cacdc9909214a444e22f033071d5430389993caf2d0dc46b6300603cada2de019ef70ef7cab1f460f90fa74fce485caf4312235d02bc7a0d8bc7819d0ae1fa8c9021553d066c0c4042bab69314ba9fadf41afb781ef115c8cb7fc3fc98e979471df695cd8f28cf54b0d72f2b883eac24e25e97cf5292431cab82fc4fa33874fb93886b6969b5abcfcf84e435001a451c32e0f36dd8aecf1074b3fb08659cca50bfa2443c87aa3e1674ae5a8de345d46a9df6911e66a1f37fda78ab238600893cbe0d0883613676accbefe9353f37aedc13979a7dfb2b8bce94fb8c92dcbe0874e34c6d683ec8a83dea0d737d0a2b2d871f5fb98e1519b2de5702b4930962293498e918b7575042cda212195023156b3eac33598831365c4fb52acc014902897e38bd49e44f9fdc45272f90c156b05bbd348395ed4051fdbe4f4065a3666c0edcbdd96b7909e07dce7774c8ff735a2ad441f57d08c8c11bc009678a40af6285759b3b556b0607d45807c648978c7fdee9d1703eeaed4619a0a18079173a9ca376dbce98baa7c080258352d9330943b2cc9016b6b4ac0822494b82d0f5392e1dec7b422a0e27c94ee964991c2405f3cb77f2f9a7753983913946f5a4b1f743f77cf8a73b743698064b4ec0409da0dfe3a6db4dc1a3025d9c4beca600ef21db0c72d0bb602801bd591156ccd613023a3c66b9af80281188cef0c629677acc5d1f4df48b4e8a943bd71f53b6116ebb295014bc755284191dacb2828c17509db5619847842f40d50304bf0d999702864894db0a8a988eb43d6783bf5effb338d3084e3afed09a19c7b9eb08fa07f46663ea789dc9837c7ae1701df120594a51d6911ba8a76b6674769e3372816cf0436c67e3d0dbac62f7fcb723a6f68d787b09d897a71027284ec99988572ff829f21ea5eaa94d071b068b114da0982e56a2644bf8ffda724de7063648cf8db798124a7136e842c49833ef00c21d8da23423db7e22c1bd93020275a814c3c12a1f1a4e26165c86b194d083c257c4b0a37d4ca770f480d0df6972ce336f9eb2ebe3bbd0129bb9fd2e7c0ac1fdf1dd2d722bf15bb62c5368d56019624277008791c2d6cc5622e3e8b6289eb198671650613888d63356457a35f173edbbc30d91cdbc16811cc42533b82b97281ddd899ffdabeb4689a56e0a05fb0e5f095dafb4558025fecb06c9d46de32276ad8d95ba983f08c844fce2cb03602db3d9e76f1f9ccbfd77fc3dee5af8cab0655f9e49919549072bb670eb197a35d5618cd09b7dc8ad6b0e59493f71ef735981a95d0a03f7b26a1ed81297f09f46f55a030ed3ef09119c9a2bc7364f5b4e84895dcd6cd9069bebf4abbaa79e6f788365404f811b99f5d5a94466290e42806f92cc146a8b4be0df33eadccb394af4213b4ebfb84d26c13d5ebc532304a8603c7929f4edb1b849cb31445ff7cb2ac88e44eb916a1cb499071c72ab1b36a585b570e0ac2bd62f36ba8ef9ebd2ec128fdeb90c912505cf24f1530d9bad621d6c2b5cbf8f204f6f554de365749e3e63293c7e384a1735d10fb464f00f6444835cddc62e890c0a3ed0ad377bb554a00c91da4123dcebed1e868bf385b06b6ebefceeb769d32b499d53c5e0d034f8f494b6f0df4a45770a416b11c0260124a5e64b7829b861eaf7df8ac90e81bbc26fe3f09fef56daa93970240bbb435abbef5739156cf7c71729b9770c1c72912bb2306e6becfd4ed287bf060acf7202e7a8f022b1332fb06bd940c021b558cb55a4027a15def669f467f295e75d97c8ee75c7f7656622a96b2b72e96200fe634ed5bbe91cf58a45c6f903e95c30e0a9e0bc9583c8eddac5f44a60246203b32880b48cf63d84a31dd7ea552592ae3b81e47599852e6b71484bf4e78983930deb755822f7d64bee0ceb21796a6f2518b654ebec741ba9abd2d75727621929321baa4d6435b2e4389e62df1921291270c3a9b8fcf9ab99defaeee322807afb70ada074deebe212ad1dae61c7a18f5518a41fc9cea41490a53ace6e1ee5bcf9cc577a8f05e7ac4399eb383a9c3b0aa3726d02d60f7a987b9db59366d609c0bf1b03315edbe059c07ad963dc07c8111b01495caef0d49427ee30b5c5983fc52f5e6cc584d647d1612aa21692d2662bbe6b154dff6232ee2215aee8eabeca7aa2fe2af732631fefe10b226b3a3888669b8e599c5cc13876444a65021a539adec51a07b4961aa45faaf313d08367ac68e65fc82663ab8ae952c2f166425c25042cc61ad0e3c9f9669c4373120f09c627bea37cad41d069506e57561b0a01ec1efb86ca56d9f6fabf21e2504fe3cf1291b826669a02a98c188107cf8a44aff28a0b43a9c2bde71d0436c66be7ed484bd50c68fc3afe1254e20417d4e79d7cf6a01f2d8209f9ca5f86ca5b84ee1783ebb70b1684e867eb2cc4a79d8f5f27a52080d7785988e409ff2272d8cda5797cea75734937ada9d08e339db9eababac44b7a4cbcd75058f447b7268ad34a005f4b85c91d93b522517fcecbb150dee5a5e0aa3447710c92c721f18b247ff7250a386a0087f3b018e1f7504b41d82372f9f212ef735889613419063271423eb828221abd6a8450f336e21e0ba5752e7948005cb2ad7cd40d2a13ef2ecfd00442dcb95c3724498b7564acbea1b2fd59f3ee39beebf5d44ca4c7f747cbad1d5f5c2f7d3304c81d4b00c0b083ce7cd73c1f6a69d94c21937f9c36e19b4fb7f6c3fe4192e097c628a951db909f333ce208a15973a7ec7048e8f80b5fd2317c5f959541cebb6546ac0e3195c6f90688f3814e5e7b7cd32127b795df656f5a3ebd4b47e2796fe87038a2a754e49b6ed8b61254c98412e4007f00993daf315f5dc6a1624131f08426546c404676a228f92e27b583fdbd5be1c7799c25ee035471b23b02526b660b113e9ffafec3ee2cc18bc17ce4da75f606096e20a35feb7715e64b131a0a9b8cf499542c2f1108fc4bfb57e81a8dd1a4f438d12482cef5471269ff7310ca4752bdb36c0b219943e929c4fdb0c9680e6b4e35f3807fe2b24faf357075b9b4ae5ec313b58803c6213f3c287040e550f41ead0246739e96c3dd3ced4b9685a97521578e4c8297c68169bcbe333f1ae7cb48e2797d15ccf6e43021423701470b5976c4ca2c1e3c5a0d0118392b8aaf08edb95b27b8bcc8048d4f43274012b2109e19341299fab6bae277eca082fbd961cda92fa8368fcd3e194f29813ad8c591dd737ffecdb088fabc38b32f05e90da491cb1b8b41ab42d02a14dae4b2331dede7ffaecd6a2474fff1cdf77b704f1a774a4ba92bd408a09370da9da8a8859eb509e2b2795c7784c21361904041afc1842a19fb1e9e023dda2eed5e5b2f7732f9a39a2a3d2d1ca15c793b1caa543fbe4c99856689fd6adcfae9bf028cb3aab25500056f86afdf808e92862d974b35eaae6bf230f9b6ddec4cbcad6e91e353566f675307a9a5319d9f5fae8d15ea281e72a8410ed90dcc39878939e33e792b46c1ea7875cc65d71d71250e64ab03802acce8a532f0ac17f36b9ff076328ba636a71d6a42e1e0b176d6f708583b34675716c667ce2f4b073d508bc2c67d4f3cd4084989476ba1c41bdfebb7871c447d09de20f5cf33ec46dc6bf278f7622de183bfd8162002d06b4a1e38fc3853262b480cee695bbfe193fe3a3e081ee597899cfa3cc4f68c2d3cc236847f9a96904250899bcf489678ddfb0540c775e9b5d7918516409b310e8238c08890cf2e7291ab977c3b5e38def9428723ff27bcfea8419b9bdc8dd971abaa993a718ee6bef2429c1e2f2adbfca8835ed410292a6d7783b1f555b0e375eaee034bf6b377f41b7923b95f96deaf1bcd6320886910f6186ff72d46c436bfb51715243bf6232b968bf380da32a394dda7f2205718f2391a1bee3d7544d7c3a5615fb468e9676c8a4befa4e78d468a6cd01d2bad231b2087d7a0b77e7b1e1d2e1b2420ed7e9b206cdb25f10091c6adedffe20428a17fee27882f3134f56f68a0dead4db745c3b50b039f5f274a74a1817e7cb9d71720ae4c6d7cb26e816a4da28a7308e06e10e927b228402cd8795f91a7750bc7fd80577f3d76e50d806922b6141f65452ce71a204d74eb08bda5c30543eb692db1cd3a0a0850faf54b18af7fcf299a7f46e24e2bdeaaa8eabf98a9ff1fa0f5a2f171a5742032d32d1c5d352b67fd88958bf0ccbde69ef3ec785858e46753e74087547af81a7731a751fe67d38bab502551446d5a74cc26b963741f4df67f30a9e2b4051e7422d13d7d3cd2b3007eb537736306c647407939279afc90cb23d8942b7954325e19c94f12e113887ba58c0c629b1b14a7595302379e24e72ab365f84ee0fd223ec89a5b2f559dc2a04462417ee51b631d757ba0afe703c6e85ddeda24b34461a416bb6a2463c00132910757dd308a1ddd55a04a6a0709f412659f9f7424a9acfbb8a60cf1feb960ed605221a964aeaef48ae706dd4d2d1d3c2c1259971b64a127a5ef6ea0c3641d7835e5555bf16b758d849477bcf27e2c94223d065ea5e32fd95f01dc6cc0dbe204969fd3d7c1cf79332c567171f16c0c4e91f9175ddf373b0772e79e667189a6398321c87240f35a71de8c83bf57603850233e2e6a2b353ec9f65859ebd888a5a8dec8940bfb2ed467ba789e6ed2dd2ad735881dc0dc294172b541085c4bfe897634b26c3b405bd02c431373af7d5ac570fc56483e753f4d47eb361365d9583177d2c31c18d36f2a60a94e98a46aeb2526275d9aba8d6836cfd913d173bc7240adbfb165dd7012a077c9ee42b15980435532fa3f28a669fe9a7e0fe7a32e3d83d11d3a9ced6b1b84eab996a164508801d8eabd49e13218c4e71fd73325acbf3b57c81b594b70313bf125b5e8913dc4ad68817d0e562fb5686b13c9fde10268d14184c03ee122f83e8dfd5f1ed79b64234316aecd3c77845fa54790f79cf0e1e590b55f11710b8f20c4a795f0ad79dbd991716298800664416e92e77b87825c79bfa88f7c75d24b786e26bf611c6f4ba8c623163752b6161e6e37c0bade327f2febb600aeb15e9cf174ef1b5c4169c8cb89427294bf74f7ed473b2899a06e84cb67820a6d06a7d26d2dab63f5e87bb790873fba4e2a3b672a670e43efb37b12f4231fe37f901222830e6518beda0929b8b72e83844d1b2a8bab2fa411bf65c2c7773d4ff32fcb1c40036396bd8a35586b49b3636b6afa462b820dadfde5b01c5d6962acccbeb59cc370be776fedcdc6c9e61338e3183d08cfa325b33d8dc34b6b65ab39c118183141414807530e5697d2eea81506b7ac5390f519421c6e72ad7c6e2d89dc50c9cbeb89168ba594a31056b0acb6971c2e883380cdbcb222dc24ee0416314eca4484e2622cbc0bacd3ae5616d5fe5be5d0d3146efa242628b853a50bcb14b120b850dccf51a0805a5265885310619e6cd9e7f18f0b54d76d33e5f2d556a58aa3a7e19013653a7304246ae7aee31d955d188cd3d25880b8670a87a0029c2a4972bb0285340d92a99d59609108a8c5e8d350f8defd73c02d2bfc23371f340547178e67b2886f89caecd9c30cfd29865e00fe3c7bdb9b2d8cacf5669f1f0d969cfc24011b7837d5ee8ced06d58dc68a09b43e076f932cd7705e9b136ff75c535f1e61785030a900a969152fefc63604312d08119f6d5205164c123d568f265beaaa36dc97d1f7605d1555f99c8913facd171e6f2d83d869d7fedbf9c75cac116550194ebf9e99b609408c815bb88733ed5903328e573bec0df465ce2c39af95e0bbd5227dccbfd0cb9b9a8adce2a7437f692d627c4d6489e87875faf6a80a9bd30d17363d129fbf4824d236c2e5f12ee527764a5039213766279b60635fa402c37c3c5afc3241e0df21392cb290e3c6d5e7c662211f5598d44e0bd79928608cce367009a057020ec9b63cb6835eb7a545d3eb23ca1a368350afa18ed10101c1b32773820fbc765d7ac406c6b559d301e44e906edd630cedf9ef55f4f466c7109a2588e8c01f6c8715ce5a5d7536761c3235546d7917104920057ef02a0a8be18aa364b749f6971b6e316ceea95b16073ac1c81b8fa8980460e30432cce5bf52b6d06bbdb0fbbe90b3c7a3da10947bd5770a64f645141c729360772e286f7d721fc00fa0f6c34716b04b9b42d37c1a4a59f83c42f527199c8c5aa47c5e42c71daeb140f548fc9fe2689c037cb6700cbbb1b88314371df53f8ef17bf1595438d188bcf1efd8cc42639b91d3c3b9831f134de41c0cf1d89558f9920a9c5cc42006601d80da861e96826af2977bf42f13991508383f1524d67d7c8a1023161714254336c1c9c9ce14311b34ebc48a505155adcb8a75d74985da2e9440de4fc7514b26e3261bddd43dc4d11a9fe29784d1e19a46c118fe57efff1f662cd09c8947c161ebe1380889bbb2fc3989117871c4468ef6160cf89fc690a1c9a73b6b9177aa9770caf256dc103828f64f5d2a14c22bc3cf305223772d91e7ecba033d83035bb0c22f4c13e8e0953ad2aa0bfe33a5e8de63d3e6efb9f6a68970093560b60f1840937fa7f75c5b591a036826e747e8f23ba551db71195ce87c379d9fc7f38d2b895a82b36c7ebfae6fb1f943f8d6fe7f5587678bb37186efce5fd0e67ee4f438ccf89ce6c3e38d2a799edd7b5c3bda1d1eaaeca65e7b9b7c4dc7aef33e044d5128fa6738290f7f02bd2cbc7228fd2c4c15144b14e7b4d7e320e6f058b7bc61a18bf9f3e63eef54a040bfb3389f9d4f583e8863b43425ece652f3a525a5a8c6e4b330addebd6be8eba0b121ee287f68e70e651488ae52719bea434bb2439b3cfaa88479ad80f6e359d57748ef5171bbee8341ae816a26b125642e056d566e84079eb7e4ae558c87ae538fae941d9b1047c60dfe0b6587982f7b3d05476b097ad4eba6a9e42fe42aff67e1b6ed75d83ca5716045a31a2a505e38803724957bec1f16d5d8384dcdfb45a98c5b8f8514ec8e24d55e7478e8e81bd03f3c671de6ea95b89aedbf53dbb80490fd19fbba7cc053b39e42fc18db9b30ede340245552af68c1cab7bec021f13babd662d2e84b40129e1f71c56531225384daf24532b75bc73abe5d29f7f9d5ac739c0df1d7f08d1592edf1d510ae7e44d165d1a2ba703f2ef36600f3fde5c5aeb1786fd76ed06642c636da5885b71195dd181f7c6875d3412dee54a24c56741eea509ad0e12c4f5f455b660a46f39dcfc0a72f7204b83253b7a032e05dc58f31944e98fd656a4f99fe9929cbdbd96020965a34836cdd65bf683092e45990735bb69660c6d786013e16c4430823456bbb7c5dc90c82ddf198c8ec9a1c587e6b325d30115b53941daf9d271868d4ce9a120cedf1fced7f5891db11e283e18f9972c05b3c939513a7ce35afc61f6a2bd8a4166a2773dc634e8f5b2741d01fcf616afa29c96bb2651d60b268e40dff1866857c81c4bf61a144f2ff8264631092e44f7d0f683ea97299a6af93e00cc74070e47d4cb763f30d20ac9dce67f071814820be2deb7cfee82a265a80133de774edfe26a9ed50adcf9d7e315e576ded2e1fef59399f7b4677b6cad7c2059764758819530dbbaba5ef945bfc0becd68f6cba281b23b85a0afdd5b7b7722ea8af43f476b224914155214f48adac2e31f08901ae73c2de3e84caa1f977d7e5a21fe20e1e7bc409cdabbf9d47e6355b8bc76f81ff2336995ef93d7d5dfa965cb957d704f88eacfd3699f5eaa63ec978d9cef7c70c3e4dc3442954943a93b176125efca4f26ac28bf52a44f65e11649f110fe4eb26a286881537767b57a66fdb9f719dd69de205e77b15136ef0ba95fd143f1a592d439310b4db8f3d197fa494c4c0cee509d89bf9dca365cf2cb970c1626c09ce5f762908d76f17dcddef9f909bd89524260c5111061e0636de64db2d9fc33b1a95b5b0c6aeabe46c4bbcc2d710f58273de9603980043dc793a94b4a502bb7bbf806930c0f640c98cbfc5e8115be8c4aa60214401471d56347cb553576b1d7d4ae15999dcdf74e3fa12f1e0440d05435ffd2aa72e65d8614ff175b0d216790489e1e2a3758bd5a17140041149d785e76f2c0e2cb0a505f029868460c6b6f5f791321160f82dcc9871ce3ae5731ac16f1ae034b1a86d8a12b1d1f08105786ffe48f44998c903ac5bd9c88ca60f3f0d6e1e4e2d6038e921cecfaae378ece6c97a6ed4cb95fbc99812eab66516de1de5cd793e8c262f79b12f6a2cd8d3e5b57ddff911ea90f9b5aa1ca57100685633396a607e26da68000e1f1767351cfd852f5c816fde15e5f1f199cff6855025c1bbe500d1265a74798f4e818fca9845d35b048fc98a90d10925753afe101c830ff5469df38358a73a1240b85148717c3b8f32c72bd5aec6dee662493dbf0adb4e0f9f1b7861e31df7fe17b228d44c3d68e742e04bc17af0050932142ebff5a6e855c2022b68fb7895a2e605948d7707682da07f86858aeea67e8986a666f4a3146cdf1c09660e72e2455777d0ae4daa2f06dc291607d2f5edc92c8e4f3f6bd671e5254a0ae6256a3ac997c7c4c4b0dbcf86e2af4dd8a82631081402840f384ca2b2373817fcd3f6da3afc996daf1ab099035f20d99039dfe1ae61df14cb04ee90fa1b6bae3fdd58888ef35bf6ee7413896583e28d4938520c74cd9faabf321e4518bb6c51c4fdeb6612c344254a15a3183388c7acb0ba194b4c296734b424075249c13f38c0930cf4e697ffd66aaad3589f7e2f72b8c0cc4c6c0acb287448ae4d6b238b4aed229380d3ed7826763519c7fc849f2cd1f0d17ba903ac9d85da8d98b78f86de8d7ed49ac9769fe3a31da39c93f5e6d08c454f746009c493ed9284c700d9e3657364ef11ee6abe4cc84b89f4e1f558b99e5bd4af3efd56c1817c45653fa6f3fe872a23992f0b958f1088e0f5fcb8ff13bec542f2da660893daf1ba98200dc0b72c9c573b2c52530386f651fe01a6de5256ca93a874fff2a062f2524f86fbcf687fa8123d9c9774081b0e3b4889f7773368f4afabc487a7ab516159d4f4740d9a00a9ccefd039b1276c3865cba2629addc4cdd19cc39c86d105aa5f71029544f89538abe0175fc447309328f6f70037553c9572666b9b2aa2f334b0a449e3380879066e96eef11e81c4fa61c2a74c8b16f71f136d8b2fd914abfc7add7cfc85081692ae201da79c978e102fdaea6930ce56ea9bf70673385af1fd5279deacd7c0d253c69081c935e3da30f983ef3ade4e26bd728dbb266f080270d3dee598a6babd9a6b8ae3c491c695c2b659728ce34cd1349eb85cd4cca041fdcf65b9941bb4885a3f16b7d0f8b7cb7791d64bb83ea23115b189595c115f6cce8285893ac2c24ae6742f63e6849fd7da0a1f4c0438f2620d0ddca2200757a437bb58cf2f77dd710543833d2b0ec5542b511382fd5b64970a3648a4b856510e51d743f3fd1c74560931b632beb3421f78c9298f2dc0080592423b3f8866b5fcfc24922c2899f2eb5c49b6655bbb9454b5b63c8c141f3eecbf99f308281665a034c8d4ccabe7436418af0c231e70e88dd0c15e033e51a3d4f78f82c168d6a8c51dfd5b11119238f183f413a86a766dc66e73e252f2902f762ad8e5c29876d51e2aca6f4943b3dc2b93ac6959e98fcd23c99d54b21a4a5dc7e765406a03edb27793e07264bfa1ac35b0d5813f055ea4ea52ff8589e2858123637ef8613f2711616f5a217c51c77171ac29db88fd01affe09f03762158a00e673ebbcf1dd0cc4d36f745127bf8b05f81068b1e30e9ac0cdae6ff6d064e2ad1b1499b6996d97b98917941812b7606b894a1619ecf05213d4938b885e7e66ae9bc1eec973ac2e814dda5006e95549ff44ea7113c55a3886f11d8de868f06526215c4f53a057129c5c72457a1573e2d03f231fad82d8b782b6af1f8031dfdcbb4a411c2abd0ad3b5644971abd213e129538530d3b609cba2f9574860160268f89dd437dfa436b9297791b0b683cfa07fec65f03d12dc4cb21874acff396f94acd242fa5fb710fc5197319011e878ccf23504b6a7ed0bae82a7487430d6702abb312ea9803fe3f6940eba4e9189e9d9dbd85921e3fdec1b19eefee28f8add53b0450a58c5ee606fedb192f9ad60182f7ce5abbbc509b43c5c22f3b59d792d7084d1b943bf1684cad686d5172f7bd426a979afe31db03588f6af239937acaf2cca3b2cff8ca256b9bf53b067c7de84593f826f3b5cc87908938eeca97dacfd5946b0d4571bb288246b5169f7583e8ed71f851cd0d95ab7e1eaa8e94d097605a8d1626b975e16d9abfa2691b585ae518071e7c8f78c3bc7585bd7a5d6a3c9697c003cc3699d40160bbb90b30ff6a6f9fe01ee62bd4d5d86b243b8b0ea4d0d7c1b3634caac544478476847c255a1294092e6bcd1a2df0afc971591387f95799657d9a53335a777821da0247dd90d0c455de64519d468b64b59e58066c2fe7acae9e576b175b5375605efd97285a59642044829705a74aaaf917078182b890033cf093c3b32cba98998787b4ac2c3bd67af04b92c8f11c0bb0813acc53fb3fa56dccf8514db8ca43e7546089d38f3f177b8a5105cee83b5b9bbd12e04f7d97da3f3c10f76c052e6da2f689abbc5c2bb2e04d2f09e1b083e9d6af0d10ce41f158801775e7da65d073a4747e79115136f05bc530f388fd09067d9e1771f0d885310e87e668e739168223b49aaab383e45a4ac0515165bc1396ec58a9c43f1f45f8b908f6558c8e284b19003f591bc7674883dad8992ef81a1948ed5ea50a5978e935d09110cb3baefd9f42a21e744fc29ea71177faa597189952fb485bd15d138b635816bb495808c842fe3642953a9a4b137f5f0cc82dfb115e4bf78b79e1de23146d25bbf5b9e138c7c3050266b35ff595f74203c283818d751f20d63a140aecd8aa4cb67a35f68845b58ec1142a89bfc6cbc74a65aeaa8a6fb8e68eef041b43fa34f44862fdec164f912c4df8ec99cc7e76b7170cd4e4c5f0967da7bcf7981a559465fcc3c1f867d7cb04df44cce4ad231c291e34cba9f9c484baac03cb5360ffc36730c794753cf59ca166ad26646f7fda0f92242cc6ed8581c93518c49fe46e90881c053d458a789816b67cbfcf00014da2f7afedceeaccb03f1338997779113835158fdd47e0e4c3f35f266bf6c89fbfcb4c4f942a7b981925fa88db36191c0d48b54221c15ff892ad2d6643e724a89086e6900c88fa31ace2e7f33e1475758e0c201f63a26c940054c2bb5c67fe8c2299305cce1e3a346d8fdaf83a47d3084649d585152a9ec6e2b20165964c9d6bad925deeb49fd2f53b1cdf2abdc47e2d280f7d4a29d3204d31b53b85bdf41dc28e2af95cf69c0565d31ebd5d250b278118b9ee6a18bcf0929e38c9ea167aba7ded91c85ba4e834d8f28803756b6fad2c8ec3b58d9c1fa55bf47817027a05a2b65b0e495f0476491cdd174a882968d425ec481402f6bf67d4bfde7d7bc7638e2dc4b0c12421b7c82f4bd8351953f3f42e9403ac35c4a0079bb6e04eb7103dd2534f7bce6ebc941740a557207cbf4e2ddffd763630bd5792507d77ef6e09259cf63e227da73153c847cbc166c1bc34c63121673405612fcc271a636842d4107a6929d6f550cdc488da7face545c01b8a8f59b871a47f7f4bfe5d0faa04e27fd0b70114bed948ab3581affa3e1aca4ab38c053e1320916ee0e0cd930764c54b8ed9f551e05004f132deb81ed30adb73d50749f919598d3aa3ab2c39b0a078b0fe9df5cd9931db94678e68677b927637846f2f486580a8a3772900741a0bf087031f75cdb02fe99fea52040e2c7d91d7f3100d46813faba44af85f396c5fa144a1492cd2fd1bc613b2893c3e0df805b7d321035ca8ce119707bed4d99ecf5087eca85a1841c4adb9ebf262963eed84bf1a6350e6f85657dd061c60bfea98e1a9ebe8540bf2242e8c5a0db32ae9613059f7eff88023f1a30b70cc00b74f12fa7541996342e94977090ca448330dbea9546d14be7ebcc7ae02f587401c7b6edf3140b5a187f2b8c8cae11d32e061c5d87cd24134e44b8a8afa3b7ac223bbaf73885147a5978f7f2aee0196db0f634c3aae1c45b42755871aadbdaf3169bc76d37b0ab7538462e324d895a7aedbec1ea83f295255b75b5711b16ab2f6cf8d8811faa122002a663afdf995a765bc5d84db3e157dddab8c362e65464f26d7164ce1e5c7e9f9a34c4c030e392a1c290e0d75098f70e23d7b22b336ec9f885e7327319457cd483ade9c4aca38ed0e2ff61b967c0f93b2a0b626f3257964fbdeb3877f7b9865940d9780a5cabe7c47a137d29d6e442cea1fe3a68be7d2943bee948608979125ea7c6b8b5dd14ff08fed8401d8d935be7a29709b73ecb1b55ccc93a2e6ec44c7bfd8a5d5cc17e86539ae06006034c2f8bbd3d6e10d714706f892e044f7e63c9ae088a39b818035d480ea9ef6067b782fc2aedc3afe4a42eae78b174ddef34d2e0714b43ee0c3663e5c610e5b069ba680ff56fda3934b247420bccc9dea4e480f9794a3e1a70511dc57cccfd1f7122f2bc3e519a5ea2a5acd87435795be94b587515bbac1b7751874fb02c7da71d020d08ad8387a33859c6228998d572c0bd7bb5ac6d3613e6dd27fd8912368d31fb3ac959f4b6cd6c25d73c892a799750ec415e4ffba006b65221392408710d93577053d0c9964c42850716b7f6a7b512ae9adb6f0b1d512c4f3f644045ef35385e9c76dfa1849988ae6087f05ec95f5f897cd4f7bc62e42de8d50ba984d72218a350e0ec78401f6cad607c800557335b6405adba9099b764da5a3d122f4830e26f2a11556886508263d260d51a94608e15f6258defda3393c0ef5c22e78c227f76e4ad9893e1341c5c483cabe280e0d5029fe5c4d754fa3edca697f674d1762cae66d94d128c85ed9d1e9f8d09353618dfb1a481101cb49841cd4d1118a008b3ee86abd11ada105ee2fa74003c325f51c33d710bc32324cef513f95d9d0253a399f58a886326529de72ee227ad9c4ed4612965275353a8f9a244f22e1088a27ee5b5eb09d69ac1e8186633fb79b0fbf9cc5d776cd9cffab09c181e819b9b9d103bfeae262d280d301a09155b29415ebc35d5d4df60e5098625c609794b1e060de9aaf77d7101c1ef1ec477d0d4475559117a44f7c58a5421e6e9f264ca36594fd4cd7e7e036fb85af9eee52992038f1663b280017c4f467c6b7e2d51a3f28cc8f3d9124dff08a068a2e1a6d0336efa7cfafaa7d2f00125e274899a1d286894bae25209446316b9e455b9918af91a4c49d387b486297a033f513825cc3bade77c9c578589c73f093a35b7869fdcba8bfacd8a4508becd715e783198e36a13134d5fe0c43b0d29331485be2b402af05cd70d33ddf7e802a98ad0e7c7b41e3100f39dc7ce1e9fff27609b04921424826b9f6af34537fd50e954b1f9658dbf9a25bd514d947ac14157bf62b4c4305278ad41cda8454ccbe885506376d4bc570147cc96957acb7b28d4b27c8de1f95b55172f2e242c85c87a7e77d161fbe9406a99e402d11ce81402be4eb7a4de0172f100a9e37e4bac70d0822dba624ddac5edc48789aeb8aef75dc2c258258d3007b2c981d31487b6786fd8af3b706906a3b35bafed3359c6f59c2aea58a2c3425f72971d30384bd0e18dc9b5e5dbfe6eab804882d77e8ffbb62d32817799452b3d3c28b99606a112e41291e4f3916b505270a1d07b5894a07408aae236b9cd0985ad479f5486a89f50dfdf924eebb654f1fd91fb8f96f93fbb8466c55e9a73fbf7a3cbd07f5309b558d36ec9e43016c1315429a3c6ac18fbd53658e8d444135a5f2791dea2ff27b9651c2cfe4bad86a9ee45c5bed217f0dfe3645fccdcd230a4527fdbedc0e5fe153462d5d3dfe54138bd7273aeef3953abd08bfb380ead0444778839de48d4fcd815ba42ad34a4ba45cc4e23610a53e03ef3141f974bec132ffa876297fac88c8da23eae5f5b0d8e91e290045ee4ce9e82bc91e5b1fb69d9ab327d53cf38814f8944a4f24a302c1002d4d66d0fa55a07f479ab179a198edf5b515f7f16c65ff7449aa31db2a2e630ac7de0f750d8a88617d60d798d5999c48da2dc139c38095b2612f0272c93dd4f9ebba47f45785294d6850d1212e35ebb6594f8b77e17c34266504cf9f9fb269cd83dd9093358d217690fca6617e8658b98f101a2ceeba597d307eedd67c3b6a0b6e2e7c4aece0951fe1285275ecbcab9e8e30978ba7049ad6c78044b8b316acb77ea54b391dfe3805dae527d1ec0bd937b55a9586ebdbaf0c3a9fa4304b7cb098330c35b417feae1def84cc2bb1dbc3b920af89cc495345a4de28e2f05a75376c3683be5d51e6321054ea9420018377632e0a5fa5d3fe8b14db0cbed43a38c7903a5a1c9334d0aa8bff1f26e7c9a4ad301e65915669fccc862d5c45b3ecf4ce890434e3dfdbf2ffa4cd0e4fee12be982d6d6fec62c99bb39a8852ada86231d643616c2316cf22177f14e9e00cf956976c7f851d3c588efd70069e99db6ef97a07d848ef4f73fe50789fb049b90d362d4aef17d1b31444f81a67155eb37e3675418c65892befe6f176d24004d7697622f963b1fe436e5499f857a562d974da32d3800b78b89d73fe5383703ae44135bf964c7a30e3eacef18cd7fccc0551ccb244447c2a9c1fbd9ea918796e5bd1c1f3f801b4ee958e66bf0b2836ab043d243b4a8602bce8981dc48977696692a23c99bf77c6e0cd292840c41e94e31e0f7202c8f5ef983046e7ce731a2502b7ff0e27e2fc93fd4266c5bfb9af0c0faf13d246b1f5eef7ac82e5293b1e92f6ab8ba0af0d509acd70e348be399c830bf24ec5869aebb9a830043ce5a52a956d5f01f9343468720d52a46afe5735cd11bf681078238343e31e24bc23f7c4bb231d9c01ea247d975bfb2bf482115ed2243a61fe4997a52f4f05a45dd962f59f0a0ed4fc28b2893acb238a80b6a293062067ab0d95dc672a21c41b39580f1f75eda250f7912efe9a1e3fadcb2fbff1961765fa31d390144cec1ac18fa06a1a7bdc10330d99f2844cd427e7a09db8ed620895e2608617b8b9f35721cdd119477efaeb865288d1a48dce7c8915b5f48e31881837ebc4701e69e942efe54a527c0a1289d047924487d0602dc5ddfda54636d98858abec84642396c45b51b26837b257d443b8e387abed685e6a883293316714d2fd8b777d10d451589586852bd323d48ff30d86d70957edc0236b371ddce283fcc83564e365baf71fa9017b2d0a6b67e6906e96e1781e4205828978c18712c51faa6ce33e8fecdc7a541b948eb3cc523a4635babcc6963a5850db078e34650c1be9abe122e00e35fd624728774bd184f3bf3a93fba7364c262fb098d0d31c50c6f1e376f4d512442279b328c0ceee1cf75990c45423ae43d0e9ffe3e7a33672c2a240204b357d930249387c6b2c0d197d215d0cdff7a6fd24e30a8353bff6c351956df8d32bf6bf73a951ae9558dfa60a2116f9f03dd47f2caf2a59b986f3a9fb23d52a4476cbff21d0d8e291c65005af2571373fa2cf246417420c24aa644307a92a640f3914434145dda1b86bc20740389e64acdd7360282223ca624cf84c980e645f135c797a15e58db5b61749fbf8bf45e5c009873216288c839e1de4a1b9bf20c3b4874077060130fa23c733ad535d7a0a8985ab0124e86233954f9e9e24b9f9d9609bfc85d7cc4835ece1774a92177213ed43f27ca27782c5fb859421a05ebf8c501e20ad1d2f73f9d7e2c0873a541db2a308b7df2e949adff4c5a4f6af723dd67a16cdcd931654b276e6a2b1107aed99c2d503946a0fe3a21ba6d88b2f12e68702e3832054a124ee742988e3853b226f182f99cc88623c83001720d43ed025ad2e5f70172087087a878481238f99e6685877fb8de8209188e046f5d2b6cf9994eca3c92a446d0c30f21f3877b4ff4abfe8c9200bfd864ba23d8f78edaa544006d55888a47f8c804315b6302ccfc1bd2bee2d0c459de4d1ff0ce06cf9967ed35832a1abe87dffb507b603413a30c02e3f0203a131ee3333e414c531cdf52a74b8177a7d67f4b281001e0830c46f38297809563f509aabf9468f8aaaf398c252b3863ed24fb0de4bb19fa0d75e100cf30798d9432c202c69c6ca1f8ea1cfd6025a3f484c8845ba4a615d58c21e8fa1b9d865ae81f0dd277cf472f1c92a4102d96f2ea6d37fb47b4dcf1c1eb170f1c204f79aa5eecec869d759ef30daf3ad84e2edefff66f2a91a51e5598a8621c08344d7a93afc8b3cea3850d8c759830154331db00671982b3cd3b699f037435114c7bf2922f68e0ec156733900a68b004987302c06c931ce607d0f3b2f75a238656041e0e0f71394d1f8a5239e032ecbcac77f0a25a4b038e8053603398557840f6fea6556cbafc1d7c4313db6f54db708b276e8d94a96a1ca2d9f855bf9224b4df4dd309a918bbd929dab516e12916651323b5e155701602eb9568795fff27999aab21b27e79a0bcdf9a8be5aca19883c1a603bb65d69f11c9a1a5d3b5cce461d30d618bee2a5dc92574fd4f56b10a12d20cbfae5730bc99634f3d00aa2d873ffc606a2a745bdc4513f6a75fddf920952dbf1759bbb8bf30b6f74b8120d785e226d4c62885a62da7fb1c11acbffb03ff01d898503ee543c6a9780d2a5f35d56e79055d41fd50758c6dd29b52c80c44b50085171aae8c4b8e5e2ab3ef7df3d6c09465f27b451514ad519438d6c57473c6e904a877a6a61a0209f40d2cdd6c7f1b429db0b3f5a5ef9b5bad8802a524c3a88989720685b9c3729d15b1ca407fe1c64a752b78be53522d8120825ef92394a34f47132726f3bc1eb40a280891fd6efb33ec9651b29d60d47786f2ff6daadd856822bda1067c615f86cfe5d500b50b5f23e4c6e8609071d179813de8bfafc0c2a05f1dee1e949d298784123286268f8f0cdc7561cad44047c6658832c671d88bf6cbde28f1ae85a5b3ebf9bef19de34b045e7782810f0408327b8500f19bd44dff61be8b6f21faeba15fefdf6527b6a616aa4c15a52e1eeaeda084c3b8f351a1f7b8658fd5c1eb9b1ee694b30878340709643bd6136e36a0eedaf64de30581c7cf0368febf501d2f0d8951d142a816f85c38e5371f438f7944ff7ff2c13e156145b8533dd16386b87b59fa4474fc78df1a6c05272ed5f15110f5612aff1caabdb1c687a96d9f1508772db292ec1b374b698a0a31884f32b6d62d44c0348f7d7e7663257d281e949584098eaba97d216ca4c8e5351a5a5289ea52e7ac61e6af42400b6379917cf92b88299218af1e368a754d48b4badccc87f9e18f78a2ac94babfd7b5d0450afbca8184314b0c7cf686a9f282ecd176f436d9971c414f87685d2d7731303bee8f8b350674c87a4121d0907ee8e0d97d50b34c64d978a298586b8c3abea6413b94fff4f15a8a7242ef8a8da20d47a0a83e679fe08585acb31193f197d710cbe7674db36b1b1f1dc54f9ba9cc087a72eab64edfdb3e8d8142f54553f855deb640021a75b1b0f1e972e9ce7379b96909b587afb95e74d5e9c51e7d26d1d587a18c053f8de328ee5dd5ffb58a58d972a3ae474005e9ef58eedfa3069ae139030b060e6e20f7c4c6f7088fcae3f7923074ce99f0555236fab95891cdaeac1c53764f04edc8f03613e99147ac13fb60fd50def8792494b6df18a47b714a6b39986f463ffbc37552570a8717730087ba4b01ea111c79cc7c2913547bef981aa168a9ebebd38972b38c8c9126d191c049f4850cb36cc75fb7364f2091c1781559850662592db327d8c6e7b6ae008b4e1e92c72954580fae345d10a1e8cd14e691639856bdb07bb7714f4b80b2f45c5836009add1cdfa446920717361bba61b4e8fc58712bb3fc5037e9ae410f245ae546bc8572ca86e4b47ec39d44497056ce9e44ac1e7fb3b14218dd3bb5889d8649ab204e81a92a7e0739940bbf6d617452af23869c67622389ab0ffbddfaa06356d778b0f5b3a6fa7d44c4256da45c9e74996ea2a48348d6e556874f02f6c7c5e295a0dbae3ff805ddb205eeef84c7e3a8fb32531e7b77549153c1a5bec28856f139bb881b44481631a9357a322a2b4cca689bc9fe8981f9c8d291acf50b47bbc0fc19592567924bef78ec15d4428bd0bdc268e1abdc8f60733a54b98ece1b1ba17e419c89cf8320879495e0e7a659f9ef3e909e342dd293245cc5c1bbe68e4721a84920d5a16c3d14718488dbbd1daf861175d2d28faaab6f38c4de6dd04d5e9f6a3074dda8bcf93c6244f36bd14a6869d001ddddbeaa6807e59cb91be46ed7432a626c14e805735b8caed8db5f48013fbd1ee02d9e05a02c55c14f79be16b9ffea92699af75c9e4fa5c8f2a6bbd9869e81ab5c1071128e25930cf4384076bc6d1b9a9a55a6362187089267a70d9c66b6bda3ebe446f87a1b79c23516f626fa1e83dab6baf1ff1b0270afb284755bcaefaa438ac6bfd6c041293514b4fc588c9980e936386f1a00cca7f357a4d4944bb4391a5ea20e24f2ab2b71c9122709f45f7e66189c4a6f107387c15a6ebd974fea55808f5107652e20c263d49aa4016d72876a4ccd1c1bab61082ff2b2ef0b82822afee01a7f026b66a61f5a6c7ca585db6767e6ba6b5fbf0a2543b4768f9cf701a38fdca4b6b5a7a3a25586be3cfac7e3a30cc3ef90d5541fc7a59174503048f2c41dada09daacaafb9b59466e7e5eacbd47e8a678be11a826c70997c06b31f5d3812f3b04ec2f34cc2a5a40379c4dc1c7fde007b06286cc183773c9901bc8258b5257fae693ed4db7651307940c14219b95c3c880cb743c77f8866ebfe7760dcbe89f6bd5729eb150f22c2bc795374f37dfd2a09708040171fcdb9a90c69fa26012132d115c0bbca662fd391e7788adb0d1d8ab878e8ac3df19105274eed29d47d531dfcc2f1f5007cc569b25c369317d7570aabb9e4d6f2df362e1a18664430405b934158ec67105c029c007f7b7dfe6ada4caedd1636a0d7a7b795d7f9888211711f70b3cc7f877f50fd5ce4eb928c38f86247a6435415051797dc56cccdea7663434b4790578597de3c76dfad59ca2216aa1b47841134e00392267ef280b2c8276a0fd11a1d15ccc2f0379107e17bd36998196a7efc699603ef09d8285060e64f8de922a8a80b7683801e554c4625a4dc6d9a4f97615524ec0960f93d7eb8826f9fec0011ab8ea51424c849f36bd3f3256fc5be21305fa3ae8a8d5a3b80251d1914c29b185eeeab531eb8914faef71aa8bea5227cef5ee1dbedb96c05b3a480daaec86d47be2c28fd9544587cc827d4b779e9877749a8e6fa40244d591c32d440cd87d6a013785c6e7f138cc88bd6fc5bf283aff302e8a3f9335b71308a6afba78a9097eae43efb95aab7ddbf766b2281410e524f92fde60f250791af86fb3e5dc3f285b299b55e92e4c0ed09d5eca176a10b0dfcbb1c7f7e3e0125d8c60d14d94acd806080228f9d05fdde0a786c463638c31d8abc17f485b2d30aef6dfb1c68e3a67aeb12fce0cf70e6df56aa8bd5dc51ba4ef36cb1a5945fbd301d7d381cb4776a7dc7f7f1ee0ea66988e3708e6da3582c017c4d6f1843db7f3f93311352e014a8fa8e4ccd16158e02d1f8b2dbb29621b552bf097af3f2ca89d2547eabac95eb0e2a8e2bdb7cdec17d32bbec2e1e5dbb776219badb3e76f6b0f4d87cf44689f92a06104afdd8eeecfcc97fcf149ddbd9468aa65ab650a5eb38593c23f45b3c8f5f7620b576ec28a426b6730e5a1fed4da8cc7465707472a42b1485a31e19d5519050e99db529b942f3912d8f2546a161e8c9cb906e3a1eb6600d084b33aec42343aef5affefe01ad75dedffc9927f8c0fb31e293aceb78a66a34c48a1494d65cdb2ee08d3375f111af7fdab8ca5e8cc801aaba3df12377f08f9efc6998dafaaa740704e198daccde0e42d44178bc2506654e37249de1d9c86087b6e5556cccfde3bef863fbf924bfc84de5ae36aa5e998a5b8d464e0e7a1b3826b898d1c4c93299eb487e5e59eaa546d44ad112802a3f33d86b968dbc79da7ffe72f7ffa5a15abcffc13f60c6d7a63a5892a032884dcac6436de40cb61335e7e1c9df9b3ce8e83150bbbe900cb619a34655755f479991f61c2328671740c6ff973f4958eb131ad5bb6bd88ef2234d20d66f922b3a541466abf2234150ed0f31c0f784b92267456494a48b9b35cf822959957c4baf1a52434d85428ef596aa97dbccd26ed9147daab8275647e5d20ede285c0c98c6bcb13ec8ed9f87bb83418c02874eacf080a81af19cce1e810ca93537e28500589b427f3222b44ce922932a0e8890f40b083b20d51878f74fa5139cbefb58f364d1334fbb3303c127378883cb43fcca00c6b6992970cc33bf8d610fc51141e97c8d1e29b3cea573e8cd2be3816e36de915578d8ae0ce20b7133b23675c16e2a5138fe458ebac563e3548fb8b9609755700b4d4e7193d6ff0682c8b361310256156ec2cc31ff59250c0d61f6c9251e3dbc0d5ce53e0bcf642ff8e5f6e88cd792febdb1406a7eb28bf10da5b66cd2916e4009d6eb0810760330f9cc5a2c449fb2cf9fb30c0990fc3ad97980eb6707cc3c52aa59691cf0553806b11e926801ec231691b5d2f080162e202e06bebca6984b7b6183f1f5c54113aa1ae1c573d089fe4a99e60b21954b9b780d31d0468afd27566ce7b83fe429bbff088a60695bf27b2bfa5940a22427a4ec267d603ac41aaced8155e96cd5adf6effd433fefd0b92b887767d6db0e77b3cba6e2318a2e2ab678f3657e16e29c2d7d40617e9707a1142e1260ffe0fbc99214064d81320139e8f7fad24c8fc16e5e8fbdf07bd8c62a0002e625b4b951b11f6884826007612cc84b1ddb55db8e76066b3b3118b644c05f60025f5328d1b00758df2f963007e89272a7f68193c29e3ea777a552f1b68324f81340b1b4a025704a217bfe50892d34829db6e96e6a4b63891ab52a7779767645ebd2d6c3a9361fec8bdf7310fbb1545a0d716738f3418749bc92b2ee42fb3572641796d6232c6fb86d24b8c998c6d8794fba4625a1c17d2c1d7ea9dbc7193ad0695b596307a3dd599304a0c0f7c335d58dfcbc474275b545fa691461d81fda6570c412151e00995397b45606c10d4f7d316fda91c6b1023cd6d78cd4f13937ad74ea08145e56394941c962c4eae8245b1e21004fc0f85ab5a9d646eb06e4cfef02a6909cb24fe49f77dab7a7543e2d13390a643cbafdd6b0070e42eed2a50d0f49eff2937199e474420db8dfef94e8e73fcad751af0517d215629bac3a0a5beff21c60ac411744daee4ecd6b6c07df43033f5207857ffd89e7978c4cca99240a550112a87201b2974b360a7d67a7928e965cb8ba7a4327e5c6742fa30c943c23591a22081f33554ab758ebe33080e1d49946157d9147ca11c9bec16bb41767c80b0eb872a023eafea75d71f46a842a3e0eb0fa39173cd0ec707d23b806e943b16ad58653f6a737547f3a360af3febfe4c966db9ef7ee7fc7511b882d69da474ca255bc23393b1382876c89a6b9c15f1ee762c9ada33703b1616da5ac59ae230b2881d26c989e8d6b04279c92e5a49fde01551a119e1f1d605b50d881631375508507e70f0cfa69410bb6774d5333cf8b06a702f53d1b7e9841bb2bf0bda95f6052689a23b10efb7af0fb5417a57934947c656b14336a665a1238946328f941e5f8e5790d315df6b0780f76ecb0836dc9440dfd553a4196f93355a1d1b5a1c073f92b9ea6bfafb7da45ba31789ae99596483f4c300890604a8b6d67b4aa3d21e310c9e1193ff439c06984de2d5ea2b87c0b46b8f45915fe3727fe5e54e83eb56df0bda52dfc55b092592437f448cf6c495b632e7d56b64197868e253299dcb2ae41c3d327ab1d29d3d1acc007bd8b4d857d16caef57bae0c67b4e42848dbf9474998a0194a39354e12cdadaf65c7c755f6fb10ceb3980e7184db0ef7f8ba376c9dd6a19eddc8a71a479e0f8403dca675ca098539854605efb43fadc9d957f5efd61b4933567a96e8d54ec7d294bac4cc9540ba71b6f67c704f32291d7de5b268f37f14b2d858215227b69df356683c79cd262a050ae43ad06214b826eb20492b413cfe94f1c70b1dcc28e10f5b07bc63caac50e7b9f85d9fed3e83c87d491ae30ad8b180214d0b7bbfe7b542d1057951ef5ba7b5196359ade1ae89a3958f92f7a542fa671f07ba45e884ab73d256b09be198726f851685958cb25e23ad9c3a4ab7583ebae3ca34542f6f8f98ed676fcb701b08d725cbfe5a427f6d504186b71654940e8d6f416542d6cf06c405063dfac891d6b04818d46ecffd1e6e13510aedd1428b89a2315067dba44e727749ceca7c6a881deff47f1343edbcacf34ce30ba04a48969554f77fd8bafa7d9b1f69b06009227278250b26585533a8bcb140269c333c884f6ff7db80e454b7eb8443465814aa5062b772adfdbbd5c11f0573995adb33383ef456361646e4a604f72e0440a1e3c2f70a70d89b892b6a793701113cb40f1b129f902e07c46e9d38910b43d63c64964c3a225afba47214192f5cb3ace0c0c6e7c92ea3b18bb074b0bcfebcd9718c9496d2e0143dcebce4841191aca2bde7050ce971a320feceaac57af89882906f81d1720a9b6371b78fa191a641782cca36c2d94a14b387d894249529ec32f7248d585745310ae7d1e767fdbdaa44f8f2ba2f11643c8fbbd76559815836e631fd4fa91c536817e9619a274e44b5abff129bce8964bf17e97ad54d814c19aa34f3661b14f367b7f4f1cf0978901396ca5b4b07158cf4d20b405c57c76fae8d26a5eb57df1d729bbef777c113e0a16579a9b83941579966933c1a376bef7338e21a2afc073444fe55b3ea6e5682c7e1fbfeefc419caea7647d25a5a7c2de2e69201db969b0ae1590d23e6ce8b762ae7da05531c0c2064625b52b559cefb902235f606ce0e3946252eac4fb03ea24461279a3f7f387b2b7abf97d3c68baae24ab3fb03eb4573689c96087ad2131f75e99cdd5051dbbc66514df0e8373786bbd614df1201026a89570da92fc652c1c6ab479ea024411ef3b4db66a1e25e43c6272681c2f2920b53a903672f2a77003f3ec28daeffe738fc0e59cc3e093ae9a486d26f6a32c43dbd51d09161bc9e165e84ffd1c31e609aa13965e76f68f9581dccbc372af257b4ec63a78bd1cdb2d74082daa5c17daea2dd4ed3f2c019431845e784c3b34003bb7374ec76636d501c5b6ee7225259e31c1dbe81a0768a7012ecc6bbaa68e854bac8a8d5aa719ee7b3b1ed3105d990add89d5702e982defa05b955ba3f14c60d1d5df2fbbd2f8b2ebb19076bc980c2428aa5edd754c3af287154ddb476c50c6d1ea357d32522b38678b2c5cf4f829ec1716b521b653de319f8515fefb3c1de309db1a7365bdfc5ce253fa1a39aabadb0f5f0bdfdc89c09d40adb486b90a9eed28bfaf196cf2dbea236883b855b1be70d2c67c501d0efcf003c061ba2b6be3c73251d93f86245b4d3df6dbf1657add54156fad0c3943f30b18579aa3b895e046c5b9d7e97cb5d9d3d2cf994acfb6779d33b72f53b03207a07c8e8b1587592bdf8e1c5b6b34f61cf076cd4a7614ccc1e35a5f712822e8c89681655b50f4e6d8cb8b4209cd032ee644c95a65b4625c0d11ff62c7649385dd45848b8de1186aa1553c877ba3a13b3c12854a4a5109df4759bc6e8c9542dfccb62df505d783f0d04cef2eca446d71f9d550bc63babc3ac2933d73c1a5057597a9c6a037c317f1327a9d47436489341515cb81506e531e0ff25acc6253492888a6da05f31160084eeabdac23b9e8e285e5717eef55162f8e9ba24e5d0cabe92cdbc49e7158fbcc8731b6fe20c1b070d0cc26fa694458d59a4b063a4a9670634aab53674d68abae9b9cf216ae7c094c4248063a79759836541ba42d14240b0e5bb6d92591395daccd681d64734f77557c0c1e1ed71f149aff5efef7f3bd4c6b5070478eed70210c373b2bef1c650ee6591a84ad21f57e9e9f23d0d9f4639d6efdc3d2abca83672822c66d71c09946aa23e7cfea161486fffff2e0350d76a8a4fe6b0338b3f9c59d199b91f01dc7c38b88d071db8e874410a7a895aa7c841db85cf7e38ddffab8d184a1b5b5872b15bf7d60ed84407642c549cf075583984249beb081d804faee84f4fba9b3accb4258081c2154a62fa9fe4bf1c5700c2d8bed7c908918e0189241c129a81de1cd033b29dbcf4cd7f35ad4a28ccc37856d04aee09af1a2da9995f474bf47ed905dae70b1995dfd4e0ae3ded94022297804ccae359659dd807a1d4a8c01d6469b997a861ca5414633e0b6d326f8fd87f0713e7c8de2e2bc5f96a0dde57ce9698d1af86c5d6db4c8eb0cc272df61d2b1e6b76892cc32c2bb1475bcd765fdc3d27a198dc315a1d7b280b6c10d7e52c0d63f61aeaec878b2d1706e6e423349d05be13178ac21b8a3387fd63cc64f44e6410ca9145eb4b10d5c0291c965c4cbd2318f1be012714b5402ecbc8d94a4399c3a9c92e636e3ea809da3d40540a2065a7cdfefcc2334bb5f1de56770dc9b05fca647946b0cb016894adf7d8a7b0193d24eabb5e021b793af9f278b143d38e73e07453d4868d25eccbf977ce8ca83f043bfafa50affd8031053ccb368fa73a55cc7ce871916ecaae9efba36f561d3fa7c407811d3ad777cb34a1ba768fe4152ca545e5c8b461615f3bab206025c918adf8226ab0d425fad696239ad65fa7d6603d066b6e1da3b83399fea5920413c6faa7971ffae17ca5d2dce3504ccc93d81cd1b06f9fbfefc2284c649d0641edf9bd74a3081a26d81799ce5cb9cf782304cd622d262c808b4a58aeb38bb33e6f437dc800bcf35c179580d9e317962854fb64f14dbae898112bbc06045bfb119128bc06c3cb6ffdae5e1c15f204d2941ab839f1253239b0de2c1c6f54f864591ce2d8e064681a8211be8f87108784b3302d993b73b883b09fba1c969a1dac5be7aeee9d47326bfef2657698578b3c5a0ae57ae479fe25b8763ba9380e9115a7db34df66e727e00bb6391f476551b62f42f07e407a2a918886873c2c2b772a80148b71bb0d74140ecf00f2de07751e99d085eb225df06d8e1a4fcb3dffd21157465b50d7e8086e896f552ab797fc80fe41ea1860d7fc9bbf68a41da7599069b8e21a48b5294e93e17180809c2b470b74443c9b9202bc48b7bcb43fc6f30f8cae602352192e3a79d6ea811d950477b95fbf4f9bf4da4bca0369259b51db020b8babd270f56525253c6bbe6a159fda47a59ca64a6d4db79aee11618ebe9372dd5d664f5896d323dda53451866a7cad09289d1ddd56ad473707df101bd11ddd6fa0b1b94861793849bdb224904419922a42ca8378ec95a66866e424da10bcbb24b4d282d3a333438c13a5ac3e18c5f74b76142f75d048801e0d8e0c90aad387892e11472420bc96b2a888ea980caf3748628c648799778828439c46b64d3b0d63954c64746534fb99090de6d7a150b268fd7f2e90cdb92c4c9a1da6cc73cce7c5e2bae7a55a06ce0399e440e339d5aaa65dbdb6461477cf304f95c3378e262f483bdbbc6094011ca6bbf1ac44895bfe9cb1778491be113a89232a8589da7e2adb4208baa1bcc8a769a8e37535942421397230c94742d3cfa12e32a526c1e8b7bcecf495a02d73f866460e8126c2cec9972ad54ccf6723db622c3493a506e931d590301903fe02552d2fad74cf5dd437a70faa1b4ed2920968bce1c900851f63bc2a6e7b52d026b1357a4b6c283fc18d72ded47ae8b585472a5039d68aee3f32227d41bf1e75463609b4a44f5bb96b42576af1d39960517449c27e6489fd80cef4467034fc2592d6689b25334e001b3fb2594c4c462d7345a86160bc37892456eb8b3ffedf98d8116a3aebfe7dc689165bf4abaaa64a8303b6696e9b1114ea4fb863d098745360a295284229483b0fac977ac28d9ceeb99dfe2d29fda94987503028557c4bc89e2b7c53640ff065bd4e3607b7324ad1104bb13cfd47c58c9a8075576d5666f837f7be0e4845062c18ab830af1db4932c923e09adcf42656d38458237e03ea59542a6c349f54798af55bb5af44e30ffa472f32f1f9a9a20e2299135805262c48c268434e162600039b1a997473d4e6fedda29cb9789a3da57da6fad31c70ffacd982aea8b86a1c38d1993d08cedf7516a648751e484fa7efd3105664317d505fab3dabe32459ca486e4408c168ba02a6011d40fe37338218bbf05fac995124a13bc11a05194140c3e4c59e4ae77583a1b1adb92cc235f38d2bb6560e1c6aab3b41c3aa588b4090c901065f79d29740575434b49074c4fc0fea31a0703d04eea1c0d29c162eb92bb75040bcb6fe57032419979ac5f632db2297c480dd3bb9a4d5c338286dc7654eb111c5e7e7926931d07b996887b9f1d85502fd7d6ea31ef21c7ea3a0f947b4527f5cfe526f0da5e646f2face1724ad0f6ec0328d91a7965169d0e886779c17a279eb75a5cd1c6afccb79ad3f5429a361f6d9cb55010dc3225fa658a31b4b21379f6ecd4984e71092be990dac45e058f9217a34f330feafb89c45524a08b3cab15f7c13e481ab55241b97d6647080a42a9ac6070aa8a44651da6980235e7e3cd30711ee93ff76a03ef2d58a6c7c166f3541e88b7987b9bc80393e5431f3b3a68769b0112c81e597cd653807b5ed2e5e8fdfd2bde0d370d3ef15f64a8918894ac4d5f7b308dfca812be0ca13223f5762375aba8f5a2442b2ae747215385e0d3300b8a4309bc3738e4f1f363cf53c50dc1fe388fe467818cdbc366c44cc1b5162c34d05666d12a99ef9114d52bac0b7fd95afe450dbc3885a79bad6054fdb180d672a597426ce7e8ecb643e487c2582a9816f9821168cbdf30c3826821c341ae272425619eec474007dcb1f3c745aab20fb6b62cd0da758302d9d0fe0aad063656a72e504891de419d1d75a4ff4dcb157313baaa6dae9f1170a9a93ca82f2e41a515cd131ccf0e7dc56f0f64e29cbeb6ba28b0dd5ba0a86063753ccb32b850da02bee59fa3f01f8705fcfb10748c6bdc624ea827a86e65393292e773fb98d9529caf47847977ccf8e92c0bc31a98bede7bb05482c8185454384f3c7c2832b43146a6ce34bcb6f963abe81ba0c16120eb2312b82a5b55a97e3e843ddf5678a55818c513bdbebbc07df5c5817d61a851fb16585cf63df8f65f4a95c3f5328d8c9e025d13ab73945648ca3481dceac9f62d210449afb9861652d855bec28520b36e5d1e34449bb20e4704baabc82975dc9d3dc79f40a12cbba6d7d30220bfb6ef7e43f3396bd7a6dcfcdcc307b8a667af3d6fac2a7f2c5a48f38dbd352f51285008c7da8a577e42f79a692a0e389d43848a2c8a801fa342da1f32d2538364eeae03e26d95e03c7662f82636c87d5f8c04d43714a2dcbe39622533910c6de62bad19f196a84f7413ae2fabc57b25482cd66afd28ae803da8ba1948df72df26d288478f8106895236ed45cbc0e5498828bccfe902f4fb3e0093e16316369b993ba5d9c2ab7c9102a2de9e39cb24406631bcc00e51c30f9cb758493350798b50402867b9e02ee86cf42e4f76d3de08ac6876a865ac5a0aec7554f99a4e58aa1061ada6d08b03cf4889e53584e7e18e756edf42d32fac79359f2e6932249dafa7e08f75e063c82b899b7dcbb9b9f4823e1a31a5ab67de101c95df1c4cfe0706b50eeb498eec4dd281c9ec4259eee9856d9503931333defc02cbcbfd3cf73c2ec8d9b8769bfe13d4884ebb37534d89a15d764401d26d0186a78d0fe49f73ac4d363bb2b6b6b2332a0a11dc691616a2959b354d1d06ae77c3e944ed05335e2e819002b71905bb2bc5c95e947f94136227004bdfb1a76e2a98bb2f0ca815b7e7c4ad4e14d72668f30d1ebb4970481e55fff8ac740fd31ba74da9f65bd1dc0917e230164c516e463098409b5c8ca0a149c67b9b29e777c519b5c352e6819a799a77f24e6309c8880602b754571264b0014f44bfa90bc56b4340e83018333aa4beb697dbe0a8b230de99fddd2d555a122d50e74773fbfcc7addee34d5badba91f8759c87cf31271f6d97dfc534694f24337f38c3e2ad4a92bf4053702dddcc8c9a720aaeed33cc7384c3f650267b5d6382af0d6686a237e67fb8605b8a20fd1fc784a0150e8621736abdf5ca8fa2d6eccd980342a278593999cfaf61093d442b169bf56e2e4932c5b8fb5e715aa9be49041c8be9d7f1ced4cbc54853cc9026c11742bbcca32f7a4df75f519304c32bae7593996c3bb11b6676d0844f27acf21064e10e46b5b9b621bb5e7d87bf4317053bf56bb24b79b434d0c758a7a9a378d5190ad16f8a23d0cfcae765fecc14105652d38f11e401178cf79da0f102014ace9de317f5d347436950fc99f767dc4c14100df35bdeb140c1fd6374e0b088b7a6f412d62625cb04f64b3018ac7f8fbbd63409d9a3651a0672c51e1c6a67b25ad190cbcfeba8785160e9f0283d680991df4a27d4582f484a6cf070e44ac5c182a08206b06617e7650973bddde1c65174ce5ca7aaaa6d39f7fe50e1f6c7c7c0ebd699d9946b3bb1db714433569b52ae224a16353a90b9f058098160f2c7de05f100ebdb0963c256b8d0bd20dc0028b6f9aaf7831dd66b821422815b455f04e67e4e5cce226446023501e35f7582c10fcaa429aa0292b2ab26dd492d28a27ccb152ea8ebd2e2fa94b3aefda33ccaa2b8737b5516efcd3830e4052256a31332c9cc902173e74b9b76f757be8695913a500597111c2330ba903d66323b62d08c7b7915307bc4ed01c93a067a8acb6d5359a79367fdda7612ca2a4a0094cb4da7362771229548372d4cced94d40df1776b63bee4d26faee3e6cbcb5c986d583efad68e58333595fb2117bbff3346f87e7c67183e57f5ddab6eb766d3231ba616d87a3e17aa6cc1badb8eb6a5f55c7b89b5cbfc4d435502ce8b381658786c9ba484dab25f9359eeb49693a4e042a69762c43cdad874a541fdfc8f670fa05d62c19f5e1c4c28fd8212ecdb771ec2a8e16bee33d245ee2f8125eb5f63e5a1c137fc5cd19521fa058845f88f54d077fb49c5e7e04ca8d7beb151ec0140541ab78e7e478d361ae292f7a32e37bb002d8079762b29207906dd38298ea6cc1c77c7761aa3ebca824e89fecb76993fd1700ea1b734c588c03f9b4ee7c81fe405c6b6edef9096960af986801198c956b130f2982603cec554add74a3388a62aeff9ee2fab65e5b54d9bcc7b602ebc6ae0afe8a192d5af48c7f4d1df9c2a4c9c46918e9e4a6fe863bf6e1f185c46a998f9fea416e0a0407a6f0a15139a9cd6ec3dc2e57f460ade0ebb44224a179b810b8e2acc9e6d1b6c078ec6e79784a2eae00b12998e85681da294153fc753b199d8fa68812db93a5df5ef03c9eb2b53f06f23abf3c3402d21ce12ac3b9dd8da5b7cf04a0fd3c814061656e1a4dbebb82ec443f8d4477b2dcd56d07407c17ef0b0783e8698dbdc7c5f2ec8287778a6786042380756145397d4dbc55cac4701be1d231ab10d8981a0e9792d4d4e90ef6bfc3485a790353354143c19314147b0be7b4c01182c7dc95b1fdf8b3be232e560b9b0b94ccfe10c44b0b046453cdb37ea013f97f0bbbe3c520277a7a9bd6293928a86e85f0b14779be330c03414754e4d0c90b24ce85e3872874874efce1e83442c181dece1037c50cc692d96dbd1fc1d1e90b76c79609eec3d1f25d36207b6db7d1472a0ad56bcc5555b0bbe22baec99e3d211a92c2422e3e3234bb53493af390495860e7a9823f6e3557567b018f9bad323597112a79d57f600edbee112cbb43a39b6eadd87f8608092bc9d24208c26c163dab7b9dc74feab30b19b4f013abedfd47880061fe1be640efbb85dcf9fd74eba886ee817603442d205d8868954025c2a3b6b8e5b65bf311b891827caf8e6fa0b80fd7f02fb046569e5274e25cfebe4085314f5a2b0296828ea9bd5c62c491acd11186f371015b86165dabc381079f4d07441754fa0df79a854253e74284393621f82f025126b1f9adb48e8e49eff8936ffbf690dc620dd26243b4c66ef14a0d293ff3ddc31b7a59f40c95b770e9f3d72a0c827ddf0dd1a0d290a59221e1e532f372ab6a3300b851ad1339f5a45d8cc65aa342ebcc271a25b5d44e44f3e5dfe93b4c125c7b98b42642ad30203681f95c4aa4c358a64e43caee61e3c85da2a2296924d153d107103b7a7560ee22ee4ae6dafda70b2c06c8075fb92719da5b0be9d7980eb2f7bf38fcb733e7190df7b479bb6e101e0e0405b485f9b7ae552ce27edb4173df2e6b99cc19a1a2b9337613a375a13700c9c86a63572751e337ddaf8997f45163fbedce18496974ef230f81739b1f45af933ea12e0b224bd88634e9aa3d58ac67650277d4eb5ad193f615e855bfd9a3929b20c5ef2d6097e0d7b200c0af0200db07176214c6dbbff48a49b4a488225751f4d414a55a79c6a9dc3fa295b64d384589c3d2710d449276a6e379b1c0f373b701bf864fcee78629ec5231ce3eb5b35abc1b05c9c28f938970be673e42493118f827c87c5a770aa45c780527baa66f1f59daa88c391662ef8dd0b8858dee7e166bd5dfd01282ab1e3eefc099761ceb76af20a7e20854a0a0dac74f0f4b4a1316fd64178bda14b24318c62c1ea7674cec92f05a2d962c44443a25ca776c7a895017390fef05e806fd120145a2b91aeed9bbb2c4ef48dc05c946236a251b6816039f07d18eeb892e4e574dd2641ee70ee19934e5706115498f2c1672198091bd066e72cce30777b713ce03608658d3126f7c619124b64932745847772f93c8bbd2e9f10c97d2e348c04b450b112a91899a347cf1b5e601f22a9d7f96f98272bb2e643f2f1b379c49a9e8cc5405ca018cd8e35218dc212d48dfcdeb58f29f9981e8dec82937974d17c10ba7f14b6dd62728a37f448eaf99987a8aff0e23c842d33d82eb55f4b4c8cad91c4b60d5d9ce540d55a23dfeae7d826495563da5c01c797c0f8b8af72cdf29d79ae2f95193602be661791104d7807b1a5137e96d27cb0bb93cfdc880c3a82786080e39048491a54e8cf4638fe4281736cdd98cad5216ec72554c60d226d67fca17b509ee2227ff588430906c34dae310abcdf86d1fc36190ea28fbdc376e397467716252619b080679a781ce352b5471419c040e8c3065fcb81635da32a2da1d6bc1059820a8ed8aa6b5fba6abb7fc67ba21d0e35ba01a0be0b2960b1e0851c4e0293d44f3b9fe94c326462386e57f2942696a45a6fab86fb34dd51cce98b57eab8bb12ee21e71ddfb2264a3a4b59034a5abdf2a411ff28a7dec77b0d46cc7c87b7d5ee7e772ab1be0fce41351d4d2066d7a2d26bbb6c4cd155c67ade61b43860278e18cd9cc04b17c9cfbef22f09b4cbfc3e296b86210ba2264581aa0b608f4a32d3026c1d9e01af60ce625c729433b22f9541325cfa13d0c3f1fac666340c72bf632bf19c2fc1d49dc56e554599885fd8021e358a6219b5f7b3fe1049cc9ccc311d22a0089db5551f5160698ef4aaf877b609b92bc5f97bc129ca6346104c8d154797c56a151b3ceffb9442d2a4cd8a71742454ff0253c453fa24953966a40f534268118c50b3ccf810308c9a7b50d1e9be185c82f1ef307d99dee18eb1e74175e5dcc472279a2170c54550eac2eeb5758fea01ab7c80565ea010259ab3b3dde42a0fa722c78ec761c2a186c153f42215b4c1a26c56759fd8b43303b1da42152676ff613ff4a4d706c8e7eae27f7a7bb75f5dbf5f554ff074cf5716606dcec49daaa1fab5086cfb590f3ec799ce0c1cbf105bc952cbb38144baefdb7f57bb3aa1a53df53b80d909c564bc6f3d058a9d48248169c24051bfeb31425bb725da6d0e0426be13a91f4664eb1619ec0abc7a635ce72591ddcd654c971d30cfd1b16d15ae8d4f1af50a2c2c3ef745a8eb75061a03d0eac3cfa6b10f30aeefae8c393a4c1ccbff75736212a9f83a31f4f6d03ffd2f7815b2d58520b45fcc3c029c7e449df1ecf35ca98fcde25a17f2334f199bdb5dfddae33692b489c5d44707844f56d74170d674588d4f2b4b2b1a997204271726f7e31a81e4b5daee0ffd3937c00aa47ff7d0c3f6d7bcb22dad738921a166bd0ee4dc9a18cf352bc51f939f097dbbd8a4426c0431226e77abfdaed7afc7f03da21139b116994d7ba4e1f27c36b766dc34edf99bfc54c07940cae5ca1758c66d1eac1a2e1d1bb597af3a068c685c7f8c9934d4af4ea110318ddf449610ef9b0a0f69312e01c40132fcf3bf9959c518b188da3a0170911d64f6a7eb21f9c1cd1722656e2f52c48a20dd4fadd5b13a726842f0022b8c902b7032590ad6f9b85e1d3874a73cf6b8ee49b068749d4883969fe11e4bec2562abf693449f02c0359ccdc8b02998cb5004ba2ba2a27b6c9a2c9f9f0267848aae70c1c7b44161a2dabdbb1799252fdce7f701cf6aae6a44a18fd19a0ed3960963a00acf3c306c6212682e2fa6692de6df7c092e81b0b174c74e977b148e8e81fefe7d2ea58a32968bbe78a50c3609468d191e3453bf463b78222f5a0c760af0a739071b1e9a970b5228e3bbb5034bd3c74dd0cb5c0f5e0d6e3e92d88b7bab8d697e177e3ba2e110ac7dda951bea585d01ee18ebadb7199fc83933a0639e9558965c26e70da3009d73dbe6e9d1633c7181e526ad4e838c9441f80a84cb1f7ef2fbccf40ab0d9308aacb59f56113ce6844c51aeb05080e38c2e338711a769f46d692cfaab299b73ca50f6b2ce155ca36e175380a332bf2e9a5bc059748311f4926fccac7a19881fd6ea9450b30f3f27c2774d88971fd2368e82612d9ffe5363c25d04c61450e11166ad678611316a91e721a826c387faa80d3837592afb550b97f181b1a760ab8750d2e683a4e1b4f79c54905374e2e28137cbfbf0fa3ca9c10f0669d0d31d9e9f73991e75d731f7596cfde0a3677e257ba83037f0b07ea9f929a6413b18cdcce99a98b5986cb6851e2e1b4d1fa2a383ed0b768a102244bda0494808251e46608bdb571f4afb1cce22621ff5701f04ad16cce6d9ed02274a3f5749485828d9748d63274a1c2b245d7acfce337cbf8b50715fdfaae35dded9732c380fc73c63ed783e0f9e8c37039026c5f1f3ce1d9f74ff7d0ceebee384ffb9eed35460a8ffee939805b5a2cd372cd3f41a3184dec25c3d12722baec1952c296ba1f35c29a32bf7071453e9164b10f267175e1774179f53496d2d0ad50e779a80e5f54aa4ce46b9dbcce1e26ba126c02192a7c09992708d353035608cb1d9bb842b84d7864dfde060fd65fe80aaddab6c218cc637574a68df777e7e7fa5242941e444509998af37f0d4a8fe2064b3502e3b078daa661029034e5dcd211834a904dbdcb36a2f2454666232de83fa3c4b2c1ec2f74e3f5bbd27c0c494be5b9d1dc710e05d36f9913eab6639d4760d2f779b733e90be619ffb2a5bc6cef6018eb0f7ee6de75add164daa3ac373bbe29d44ca16bd7a3f750897c7d9dc5468fd2409429cc4dd7f6b60be1eaf617bdbf7f6fbebb8fc8061dc228c1a72fdb3a90470a8bf6d8db5e260ac5e2eb80d5ed45c9f5d530ae7b65bcd081fd8b12c6497e625ee07754bcf219e876ed38a0a2ca1b30021dffe7ffc49ae761506eb525fc14a4fd06878979ddd84ca90264f513786c099801ffcf1520af57c8ea800024d665b41a48bcd54c4aa3de1aed4965d687b25eca64a4507b61d57e784b03e53da06ea74c293c0d5a11628e0247492b4dcb2c4c750160f621d24aafe93e4e18c3c66f55b915255067c09065081ed22e97874d6247d8e2c498cede644e08262582b5ed38f527fbfae75b3e198a2b7e200fb660f21af0674f17c751fe2260ef5bde64263d68e4e578cd1e2e7262ab1d2aeb94969aa1fecca87699589f4f6ae22628a5b2df999de0f0c72ab9f072ab3a9780ddf1f1765ed14116f29cafc60e3dbffc828247af624c2f27c78a1e313e8798f58ce828c880979ffcc365cd43eb0386080f03d224ce49f0ca43b7539c6dee6026294cd7cbc68600f590fc8fd751069111ae11468a45a4ff97e3ef9d23a3e164c6256c42e6132c563f562ad178c9658ee7e1c019ede3a4704c90f7251e151ac7f7595e88384276d3ed5fdce66efb9298ed44eb8d0fe471ed31182228c6165d88fe60e382bd82ea1c1be02625bd9213d390b88b5773564163b69e93aee081d32db68a5e7c3bb07295d8deb4fed70b01e6ac64ed27d985695fde011068d8a5327aadc3a3b9bcbcda7fbe27afabdcff59c46e3442777a7114cf2e59538f082781933a79d8c948a7af8ebf8bb5cb30931b6ef648e1fbc06c143545933510317e482151b6bb6e467a002225c7909e3a79ef830316d858431fb8ea1dde94ae56cda00ff676cfea2b8a20933d548b0e9874c379075112ab6a88e0aaa4651fd603a8ef194f943e53d7728f49b2469b387e0e9a49be2d027de09e51c1ca5ae479e1c2bebfaf1a3576392febdab64e2fb65360b56f7e131c0590e0f06cf3884683c23b527507f8bbb18a328795bacec2c836e88de0d770bc88cf33406d2fa6fbaba5323bbb1aec544adf3ab12ab1fcade6a67bda39b73bbce8236cd68216fd0aa6c139912583491d68264e9281a26a75e4d4069dd8c15bd159c10ba5a936cbfe0ccb85a454a1cf73d0b25cf4105bdce7607da68211b140fc9108d61123a4e4dbe4b14e1da520b441ce6d7fd075f1221ce49727d61708e96407eb014582ad2dbd6b9235de53bfd59b2a13d20853d744ea8e38d8876251af0b33daed8fc29b5672e1d8dd4c0bead4cfd38e5011f0f2ec78142d60c60c0930b4ea5bf616339bdbd229aae2dba053ce67827ffaa6701a528b12d839e4618ab26bf35554fcfb5ec074316cc799da0e3da05cd690c49f3438b3ea96e081bf775a2dd47c2b1ff125c9da3880dbbfa95bbbdfd61b324c703d8a632536d3d967612c51e1aa30c15be306632a1c02bb3748f97d262c55908c3e7185eed8f9e318db06d0115a649879b16694a96b9a6079ff43ca3873bc723a335e17e797fce3d523891819efdffab6055a9f42a5aac068912c9e9262ddd4f9a3d6fbcdb0ff095ef0ac044b32b724ab6b8fafcbe9463a54131a055e4b51f6d48a9491c3819841796d5a8dc14c6c9cf2a2daae8efe2fd4932f82d1e6ffa47631b012c2307d9a387b037a0594ce28e3740462054e942060c434795b8e8341dfd58d97d449bc4b89045cb79a34b29bdabff8e9ad7bbe9842397de2e7f2779badc5b651928b86f9515a059ad12e560f72603bdbc5e7d090dc778aa3a9f82ee3904c0915914861655d2dc66acb46723488358534e5dba827bf93359da58958b8fd5ed9026d589a4d6a5414783d28cdc26071a9633bc408506b0e8e40fead8e4b33225c579fa9814b1a321b7507c032f41d6da8e5c13f0a30a72183d45368676bd23e4824b1c6937a29422776de4859a5551592ee303b1a0af628f406c7f083f3b30a2749b5ac9f65020d4bcfb4cab89cd81b431d507ba078a03fbaf7e4a8d1d611b9e40d4e21a94467bef1afa99e90410b91c2f9b09cd1836be85e5b0bdf30e86b6916fd032234084b9e8e8f7709a676f59a9e691efd3bf494f151e0ac6b1197dc1e4bad219ba3ba1bc82990ff5189525f65106d932bca397602dc84fdda311ae5ad8167faf863b675a33f8dc2030c0bb48f44aa0cd89466e1ff01b156d9d141623176a9fe5acb2a4352c67662e546bba7c1756edf09451c6fb4189f4702b8d90dcff167b4a5831c8df666295fc61a9a14b987930501f7e65afd7cd16b42fecdf415b670e03a8b866e2c8585c60688e710ef03b99d8b8eb109f951c06fc26d80f618cc54b450077b9365f6ded683069ec295f439751ccb453775bb20429baefecc09460146b65cbc6e7f3cd281007032fad85009c73998bad3ee5fe55d43d77e0d44ee10b56164e7074f0be39c8cf6705d7d44894892ca8242b977f52a2f57ccec65454e9f581518ab3abfcfda3bc4af53a734af007b83859f134c375d93b9f29d68b4776c0e72353330d137a80c006a11af310c064a4ce9cc6d8d5b8134101bc0c8579159c179c43f79d12cec8436e68969e9cbf2852a594811626a1c24302fabf7df9b9c211ff7ee7ed06b09506a578a905da7adb02efa0d1b4983981b1c8626b4f8625a49c9bdd55b7354634a083a3bdc6f6d0008a60e2929773c1e2933c999684b8509693e1b7d35f06e56f211758cd3dd28025f5ae2d21b9ab8e199278e8f070b745331fef04d876b61ad36b57507c2dff0fc4dc2857a6ab2e3d205b873936e7553676f91f674cebb272d5b3616968470c476210f75cab86eac0ce278ff86478a6634c00fe9e7651fef165c990b6328467c0865f574eaab365e4110e2ca1245a2bb2089078356f9f8a06212e93c65bbef17efe0c7112c1f3e2373fecd88a7a4da733db560b32b75ea4bab3b65eeb0177e1dc23e6070dc22cab397ab2deb7bbce0cc585bd2e66d485b41bf9ed6bdb23132b24f14254c9f8d23d84b576f6115324ad39c4cb7381760cf178fa77213741d55f65731a49e1fc659cf76226aa7873ebd23724b6abaa4fa9781c4f24bd35a7ce9ceb932615bd065934f566b1a37b4772574374388d2a3b6e3ffd21f06571d9ca00d6c94117b0a0de5493fb15a7f76a582fafe24a08c97fc239e9a08669c339586cc9dff736ec2aa84d377d7b14cf1d5ebc0e5bb4bcf9c9455d29f14384770f19fdd08db0e1b45916ae79ab9f938da1079ee09a2d0b2b4807a6ad1b47819207de8c4e0ef2187470863082eba54529c83205d603b865d9845963c2023a9a1a59704b6181039ea42c518e09cf46fc68d7ffdb629ee1cd580ac26fde3ab06b270b0f45c1866b1eef88961384588228d52498f9aa1a38f5f3b26f33a5acad853b14cc5bbc5a8f8e5627f040ba5988785707bf725f60d54e6b6d2d9955a8a0f4a0dc9b320e9c23e95881860daa6905d28ad5cee9010d215e211b4fa14dee5c1b12319a4e1b3993a481fbc249c639b1efbf3242acb352ce2b54712541b6412f3e4a3b564b9cecebcbca6e710b3190f7af3a2946319a49113420caea9e9a674f4e5ce6ccc74f9e2dbbf788d450ea983eec0c864f35f5499680617fe2a85363d8857f4f36f5883ad05baf4d10c6ec8318c7db7af2c7f0324b7d5496fd4091542b90cb71cfb29bbbb622c0b26297d64059da349b9a62615eabd63828174b7973dcb52740159315a3f7a677f7b13d2a75e8526ec7bc8d2974b24b802036912c3af4b29b137d596c2628246427764b82143279642908f91035fc76c2d324fdf9cde26d6b50fcee75d6ea56e09d2f40ae58b74b336b2dcfdafd42bce2e37e1e1efacd6244581e791baa47b7013e145f167be932bc30243ff7e2fa8dfeae066a2c28e8bec00377b3caf6d082cd1ca50217502ed94bc567abd888b79c515ec2725a417fe2438159b6ec5a2f296caaa5221bcf16ab907d9ae90847a717dc0aa9423de5f838e6aad87ce2250525c0e2bd3ed9d66d0031c3f7a4740a511c063125e35d50a2b01d20e66ffc36441129c0de7a1a5028f572c06b5216e532ab1fa6256241baf0a5c0da15d9ce09f0d5e08d7d70d758ca41c26b5176de09b2ba44ed15277a7a0550f7f88402c419543adb87533d756746ecd6e4e03da991b4bae31df8c6d36f65d78e43bda1fd74cb8c66018e2887a1d5d4708afe3940327bcc2aa66e72a48ae953daf40265041b2d3390b911a76f35666b21f800fa830e254aa421cd9d11186a9c314d6076eef084023967427b5be1d28f9915cb22ccf87f2df78622833f2bdd5bfb3560b48a553fc6ae4f9849889ec0040073d80f8d5eb2df7a3c10337d8ecf3c43e961e3ce5edb93488cd2dad97253165965d6d6e41ec2de85a97bdc325b3bb7d2c5cbdd03c0e1a05855cca7b0fc4d5721e3b5c6e19b81f182cfb7317bca52f1f63d70e9ce9e0533bd4767ee02985dd89bdfd3fbc774b2be768c543b1e3e5456fc8b4ab8af19f07b7c9e1172db744fd9071da9b1f24a6154cbf8dc4c2dc8b7ab21341e1144f1eacf299018e797cdaa188ab9dafc0cff3f7ac817dcd32f8ab1662433b008198cfe19ba79c08ee6f438bda9bc211d9bf571cda0810fbc8967430b58bea584aa8e2941e628dfb4a413fead0e4d830df5658f059347b7a0e9c205b83422a14b6570b40935d68069e4d0776135f7f0a475d49b027adb5396ef1041bfa76c5631d81d61b3ec68a711d0f649c2eab908c6b7bcc725626fad07d851657984f715d7897b657bf93ecd75bc19854b91b12cde097ce8576dcb0d6cc6f4be236d2fa1e297c2873b6c5bef90c25fc577cabaa6dc2355fd5dae6e3e2ef888c316fc0ade0680eddfc1852f5806075dfb14d025cee16a7443fa33ba604d71776457ce7d8ab7c4cb7c675176a43be689ddac4950511f6040eda126aa66f7a87a7b8c790f809d3f04640b28486761010e82ec448639185568c7b8757a18a401dd8b28db175c662fc10e651a020c4a543013097dc7fdac6948cfd211630a87f69a3b9c08dca30b7bcd7192f52ab07dcaf65f4751034a3321807c27bc73c7063fa500857e81116b8d4f9d40f3f29a112b7afb6bc2892be725ebe5cc42d1aa642f1d97d2dc6e8960cf733ffdb25b60100287c6a47de7968ce3ba120e2c82cc3bbb36cf1810e8b083e874157545fe87a661491dfc2d77e8bc6318df81909ea2f8f0263b2a594e618939c5e99ffcc7aa823dfe94dc18503a6a1495fe19fd7cef6799e69e0e19227b3f4b738494a1ad74c9854f98cb3371cd5da701810648798945ca7799f54efd4e493a660174515be322f54f45a21ed9b6c72977c12b390e8185cfc1f4b3c8f5702fb37154d2f4578eda49c903981175ee0be8d9cddf88e66a3f73fb73428cc1acf015329ced1a2afcf6760d943e19d29a47fd3cac6244bfa50496142b2915347b6c04b445595687e2989cbff69e64951f791747213dd2f405c9b2a5c50b113bf33c3e8ae374a1fbffb1282267c7dbabd540e4ff086fdfc9a6c8c16be2346a1a2881dd1b3a56965fa35f8ed5d179d084938c42679422e1def77ba07dd93609c57d9b4f86345b0d7c1642687f1ce9b8b71766c9a1685275b75f1efa77907fd7080d4575f39227f2dded8bfc89ce38fef545070a20ea0311a649205b25986276294cb7f6f9a9c82052472f3d929218b0c457f10cd19975fcd3088b50f384ae4cff51263e3a9efb53a83a4cb4dc9f8edbfdc0bc57eeeb4bad33e4c6ef83e2fbd0d9b16d868ccef083a90125866e93f95ef94c105453b7ebacae79c191d9bcb8749a9d59019c76d835de63541be28a0bcd09f94ad739817033a7fe924a4d5be2bc1052876eea65f7c67bcdd04c5fd1f41b6cd2739d1dde54304eb127d8426048204dac780a4f078435260def36d35140b6d60c34ab35059e5404bd6648660a779290a1e207175a1bae73c58dca8538536f43daed2128b1cd16e5653bbb34490bb30f46c0d238543edd68cebb5d0ebde341c098031a066f234fc5b4aa340770d3b3902e42194c9fbbc8330a7519e1e3aa1fee758725baaff0863795f4e225d4a09d1e9326a8ffbcc79fae6c778177b6888e0c5a90b3d5e782b01ba6b69d570febf537f0e42a09981da6262de1e0e97740a7a0054807492a03d181dd9702019d8103febe506f45ec4dcb150d1651089f488effcc42eb2b9290e2a377f5954dae1db333174084bd736b51a417fa4c55a071330e286794311e976598ccdd3b9ff9bf967135e5d68cca6d522ad6fc4b6b3fd16e3a7febb5fee5bb86e73fc6eceecff616089f11ba33952e63e8b55e9ef319729dd1267e6893a31e7db70cd437e671ad68c29ed01d41878503f8f626aabdc2e5181b109587f155d54114c0e42cd5002fa937c746fc43b22a1490231c141d6db170ddb1ec438cbad34425c0881782eb043a714c5192a522abce370c12eae40def20a7344896ae57e4c2a560629f1ba4485f527fb9605ed1915f58df31d2e0c2e9b55f04c8bfd625e805a3f169285d310809bbfe9373fadaef08f408af2db4a726dd2b3c558fa9a7cd28d59d2c9dc4ea16418c10c205b174a5f1c2b155b4db26c0d81400360cf5565107ce6370f87769ecc9b39805461e02d246f09dfa6a7b546c0305797bc597c320883d7be81cda25b927faffc1910129462323fd0e7390fab4662147e77283bece6a05b0154f99fae4d1220139057f648ada59529200d680eefde29e8823dca9b8c5cf1414de0c8935cbbf369b344e8fab942444090b3e5d20b4a636b4ae4ba0ce524478d5f7183a5ced8da180f5b271535bf3f839ba1efb8bcfaa985ce2170e08bf2b3cdbd9ee9590ee6725806abdf5e45904e2237a52fa1314b6500046443c28d31848a1b439a2df055825f30c30cf90673648d10d579bec8a4fe3d3a850e9f38342646dd4737d8eebfe747a29eeed1340e566cca6ea326b99cd5f658c0dd7d473240d59a9edce838639023ca309d383aa70d3f35c893a810bf452bb0396c64fa25dcef368b2d1b08a1774df2de5cf4b835a4689e412e9a751094d75280c8c39e2f2d2acfe2e431520e1f86694b8101fffb9e45fa6c17b174f8b277b8bb5cef1c320cf3b4fc822bfb45e2438de13ae53a507c5c5ad2bbe9c0490ee9f2547a685e78bcede8538b0753e348e13485f670ee0c8ea53326b967657776dd2ee461c75abc319ee29e77cf67484c677969228fb09be4ff56e67ab0a994bcbc97c127a859a7604c5be170a44cae41b55a4eda0a1d31832011a038161d29463897f94e3bb274354830020f465903e807d7d0d8359c4e6e9b71995931d17cd44866d98179201e1a4c5675856966792bf297a06583463e4a66f68ef66a1bcba3fa42f7bca7524323d0e8643cdeabcf9d6282fef7e32d8132643c6399a0882fa94e6d551281bf03ef8a37e1ad8e346791d1149a7234bf87056f118c2d49e4ab1accd628fc3b08e59f0d7181f148a86671c86f3c7f91eee38de592ec5bc1c749969d83d3ec3f65e48330e1d7e6a8e60fefab22eb12c38e5fdb1000afd82ee9a078856defd63059b2cf1caed7599d7675e8cce7f0da8e34e03de0ce3a4db5aeb6c462bcbef9387ae3f0e1a2009e1194b30188f40e8a32d8f7235d90af60d046da18aa1f2e42baabf6f12fc03374b7901067baccb590dfcc4fe51465362de2dc81968f9584971d53118f98677f9f312ec6b4164f4c0c787c451024e47c6b2f3328d4e2855ee406c53b6577014975738ce020c3f70270555565e0fa6882de572906492d57fbc08ad126c74f05e3b52a4fbf6bc43a10a7d2a139799419e93b384d9c44759cb31a00b74a8ad2a471dcfdb41c8f23810fcba619c9c73b1303ac08826d261b3ee325bb30ef1c7a4b802dd3e8445ac507948216d8e7a75d88ede61ef9a62580e5a299ef67651ffce3cc08e494ee72f1677e06fa463d7636a9eebe1bf89a9411f7a5d1f628da9adf8f117f7e626e90bea1a3ef19c8669865a67fd3a2be4a592ed942e6e4982ff2f122632a18c66013ca00682ee4b5e7cea32d18898f8cc5dbb642a970bddf16625c07ccf340a9a86b64fb6193a7228b915c613d4e25f27d824bca449e7b5a0ddfc8eab12cb17ae165076681951fafee518d633ac417ef4319fb6d6abdcbf78c50b08c06105a566bdc0cefe7a18747c3d1e914a4fef1cf2d56b32c9c7675d03520dda92dcc8510d1bfefb488904e68f689807141585012f0d53abd586f078b760ec57f8e0200b8a01023350794071ec8729e9a0f61f502e07fe62c8ab4446e4958e5353fb4af357ab4808fdb48145bc9d47d21a226ecc6cd4ba288956ce13fad18d2035ea6ca46a933af7a9590f431e54b4bdfe306f7ea632267d9eb57b1917707efd2a5664da6ae40251566003d18a8fff2a2cdf87cea7e24f41d01891ebc897f0b2a8b16c7a88926e39dc93623f43b89817dfc16904ddf426636b211427cdf68205a0b7de9783f35eafb756cd911a654caab2a996deb82bbf6d9fc91f4a03c72f4116945f0f1e097aab1f2968c4f8405bb92bd04b53bb5599506d39c59d7434fd4df872252624da2ac72a2f97699b3218768d78aefb90c47fcbd7dfd5581004bca92e3ed567f6d09cc28115c9966c520ce8fd9110bde6684def61344295584bba6def87a17c063241fa84269bfacdd4c1247dab1276962e8639399f0952afb198c3b8cae258c7afae3b0b61c17cf24020ac4edeb37dd07d6f44ab2326e8d48fe52ffb447dfe1d26a8557b326f14cc2a6e2c5f826a51abbb800a872819a91ae4eaed0e7d1431be72181cb21193214f6a089e2769655f47df5fdbc1b7548f3885fab1ae17c80152f7e1728bdf1ec334c1ca07c3d280173067125a812e65842def24f248fd4b7f283c9772544b0c328fdeb83f72978f1cc0f79f7b48ec3db6244bd86dffb6f3e531b23677ec4520fb297b165aa3b24197fe9eaa72421294babb3fb13f626a3f473b614a537bb4bc000db07603a2f62a1b3522832666eb2742465a085d912b6aa37b974109e6360b7a4017b2ed2e3714d96103ba3998eb3c82457119cb691ea0b4dad0a3ef9f0e7545aa672a7f82cfab83a8db0b49feb2545f630be4d09183dbdb8a5f43231aabe7b4e7f8328822ca0e720f361d5999b4c1169833da99f3daa05091a1b4433da90f89218f7d2787f3725d237cd8a0bcaefe7da45781ab0095b68a25562ab222e3a6a2783cf0188c2e78002d44f3134a70c6e54923d791757bbf3953a7c1709c5790067e9ac0d03226f8320b4892fd61921bf4528ada9f0ca441da8dbe15fe599607cfa7b178238fc857c24a15bb89b28b05be4b207cadac2c286353f0b25ff8487043b4ec36fa38a0dc05fa26e41f1599f4fb46da7bdc7a0cf51696f2dbcc7e29f636efd081a67644c35f51ecd62cefe7a80cf6fafcd49edab9d4e0742f68ce77e2760a42f24d55d4ece2d8f5b107130313b610a4a4550ff8dce10bb07aa7a58b8a1bc4ca5d9e8d2ed119f5062a939027818ea4799a2355372fce96f923b895d7fc7c35877deb195bbde1d018cd406f20b33e9cd7ea1757f194b7411b4e648d88a32131d9099ead25f8e091108a524fc94beafa084b5c94ad6cf066db484976f2b72d59b2de5d7fc63cd6284e9164c170923a42e65a887dda71e5d37bb45737b1cefe45553428f4326ee95791505abc1771135047d4c41122a69f0df1feaa250934974fd1ed3ac7653572b0d23e384ea44009546fcad48be8622eb3e16c82a5707adf37d23d820542b067564f9e8ecc0a848b26974aff40e2c00ed1bda0edb365ee677c37355c80ce8338bb1874fb08f9bb575b23a8c7c1b8fb06ba97ce44f83052ef2f5334d1e22ddcac0b413e1209c284327b36c683f997a040a2817562b228dd1cffe56565dd62fa608a7219f4f7b8cf4e01d6a2c37d99e203acde495a3228692087d15aa2263682658efcc37d61f20fe8d44b3d1421e181bdfa9f3e8ad3fb4b80509fe2ea6124128dd21f9292521db0d532c54dd7e5199d08cdf742168d7388d148f26b7c185fbf615e07ab890deb7fbce3fb4d5248ff28ed7d245f71c1d1c6e8e5a44413cb6bcd63a09368da0f4f7c019192e5da268a839ef71953a9c3a390143eb7cb426f15100d800f5dde638fd47ea308d0ae8baddfa79f8664d9437205b004d0d7ea8c0e80afaff21c633372d294388f835ed00aefa57a14b2a4ae97cf6fdcecc2256922df94320d15a061d1445bcb4449448ff7427e5de6dccd03e1c9f9b6c6882cd45814e294c41d8d270193e3f2a4a9835fb06db388cbfa743f79422ada9b96d0aa2aff8a9eb34ed3b95669e6a8b6b65542e0a3742be2c7a019a998db0f05c59831c8cea5d881cf4148b9bc5a012377e539c214590897c94d0f7c8586b12f6efb105e1b3ec0008de4185721eabf2c15b2c22dbab68d182f67c9aa47d82c667e5c69755c02fa3ba68bb791ee187b2b36560d012ade4ac0545caa7c002a1bcc0d7ea92c4288998d692748abb7f7be5c5cf8b4f78373655e9872fc3e33d13f61419b07d3166ef8c375e832cf665c1087e3dcb159f1e5e58fe789b7aa2dd386b78695b22f17f39575b19b09e5f3c75f8d41cd879bc3d1b2da10b39da86fa9579029128cb5466bd2566980de412c6e8db39177d2a5368fd6fddafb6b0e50cb2e5078f7bba23f7337e236c2ec24c69af3bfe3845700dc1d8768e9b34af5f447c70454f41fd4e8f060e274bba9c64474b416fffb20f6ed87ea15a1cf7e81e8d578847cfeeb5c413aeea3a5e38fcf3e16ad2c91065adec08147844c103d3d6bec9a164b023e77b3d5053899242f4044e898859e7de4c7e3c119f054318a81fe3b06d80720b8b427e402f8ba9adcab6090d142e8153fcaa129c4d03f0fd47b570d49b1bdcc5a93d8f232ccfd25fd4288a8de3925ea3bcfd6697e2e6da7dd9094ac25185b20145c738a38bbec4d4d16484f3efccbb084100dc6c31a221832fea21714ac8c10e8dee2964e0944bad7c351a78306b469371364e30d1087cca5a731f05708be8277ef57ae1d6406ebc60be2d973acd58b38718fd6a1af9262551d55a1b3886022013e3b8ea8e57854eea4bfe5e13e116b3e3e7d6b29ee01767b3d552cc438b8949b1ee54b1e7cc7ab7ea881ceb4203e6e421da66930466633642ed9395e9dedfa9d07b6eff2350932f9b459aaa00376cdf8c0a2e8efe7899fdc6fa7b9855fb32427a17b9c5095f7eaf69e52dc1079a1b20589b089d99135fe144e7c0ca3d4220d08072f664c719f1c781152e6969a7eeee65a7001f9bb2cd6e77ac6181e3614e89477aac1d0822911ac3d86b9ec29274fa846032c048d2278997f42d3cf9070517b59015b4de314d8b6756615d51ea45e48e7ac106f1b151cd43500ed6f7f58cd7014b7568e74572b447d462019225f15b66cfcfc72d8747851ddbeec90ddaf7884ee985754f0bcfe5a12df8cb8f14e127736ec1adfb4efe46ee5d01e0fac0c8a5a910586a374d84ea26b77c6048d4ac5c7a8fe332f15e67c914d816090623339fe7e7047e06232fc2672e00fdb30279adc0837ef7126130e36169bdf16dbdc7d88b460f73e446f41ae596289edf5fd75cad30bd272b40126dc040f6e8144481bac3ab961cf549915891c57ac535c9810f23f2235f6d9714def05f97506720c325f9b7ae90c134760af6de4b240ece085f2485cc86eab1b4d5c563a2148d10d2e9d39361a76d2bbd789913020cd83a222258f0a65b2679b35373ac742d8d77a65f2e4f201b7cda5d870860a17adf8f318b247b0c3312cd93462cb66932e5694759b4579e696cfd12de9791a9747dffd87da94aad4df242acad2ca211cf62b2e5a9984faaa878776b660f084617487c425dbc4dfc9ecd23b0808715a614a81b8c8202436ba26b623d0c2ffff08a48ff0be26814e621822f061c8cc70d4b4ffd028a8285fceede5084d3549448185c7280bb445fc860ce9630f7b98822c2560f396e53f95900e892b78738cb8d47e06b65eaad36245e5e20b32904a519afbb06821feeecf3cfaba06547de17dac3e57c4e70eb3c2d6a96d0da76f4603c391c196ebf0ca01a382ae9c65317ff9c2bf3e647b0c7087211cd31fe1c833bcab14f8591ab828aac8a5258606e2314c2e1bc51621b5a1a8241226bcb6d7ee837d711b718c26117a899e7287f662f59aebba2d74243716626700333ff27fe2aea7a425e8b853d7cc8bed295dcd12304005ebce48fede068b02581f5ad9af164223e165c26f7f6f3dcfb10da9075ab1340ba8f4aa5199b7e21b12ed1eddece21728a933c11b39e36946e748659bfd45af9813985d4e754b2280d6f13d6ea726dca6db80f367519f9a4612d760f53565bad94834409b95a8a521c4369a507ec8acbd73a6372c3579e9cb35b0efb8b5f82488ad02d88eb5f6ff1f4ff96c3fea3e38e41fb958a841161d705c27ee4d04ffee0b128e47271aa4cbee21f293ec8504e2db2a921635a23b78741aadb1fbf04ed53e69d0e2a214d23950ccc96f1ea86a92bd3706b731958f2d0cda109a05ca965bd6e02b5f0cad5c0be12aa2faa58ee93eba375c623a86b04107a42d979065a636924d04b8498bdf267c36a3af023e4654101f6a20104b9f56174e5f2a956c0f7e9b7fbfdc8ee443fe69c23afd9269f79dd2e56a8f3b36b185ba302b34a32c29cdf5814cab9c1a01dc1cfcb0e5929224e27e1bf91e4a45ead20fa8deb60e5dcb2b481f1af8056c98ca6b662db7677a7622f139ed73d89257340da403a41ee848fc560bc829d2377672068bc85db09546eb58be79625c65b032c98ab695521080618be5c1817828ca122f33a53400e6d227460676a4718eef95a8854a1e7b97ce607a1d6d4f529bc83ea2b7fe5a7f0e119edb77712c5ffd61401df2531bbaff2c19873340a79d74936d9cd9104f5ad6cf2ebbb2fefb397d1db3f799dc8990bce48a4be9560a08ab0e838cf329448893c3dfe50cb2f6388bbbc1363501cdfd016123d394c96ab14ae81140a56d27a0434217d1625ada8ce02402599b369b51de7b8f536e63d73f48806a02d67bca028c73fa40067182d222e3c32ffd61a651691ae0d6f6b78e57f70d97857dfaef561b029261512215dafc9a6ee4209343f7f847f2a3893322d0a89e8ab9e2890c7aa3cba24cd245fa090655c6c112f04fa6bb3e01d6736181a81b46b6f3f32889661df114364b584b3084e76389fc23102fcbc33161c08a210812901165701506d740281e8fc124d29e77531275373cd1f7674eaa6795670a429c2f8e18524c881a595b5305bc336f8748e91b6ecdd58473d23ca155e4f921662a97b9772337fcc5d54254867023ec049c84feecbeea9c80d885957ab30763c497d3575c6956d584dbf888ccdcc47f1ab984816aa1b0409214afccde4548b0eedb893f880239cfbc77f11cc647741dcadbf1ed0cd6c96e263f8db8c74b7fce531cc2c5eb4c207b9ec6e8327787695811905b2d9e9680a4af72c515a73645d744bc78fd566c321b323c5f2612121625739c584df4984648237ed69daf04d91a8c171b967486e746fcdb0653483cdcba1cfb7111e1828a11b18b2318567354e539a0dda36797d3d2bbab8324b6e38d467cc9f9ebf902a95ba0d60af88f155d75aad20ff43562d974f1b59d5cf5768dd6ff380af57677cecba60f4a7a2e85818409a3cca6e2c5d68a8c7485b7323af1162f20c89cae8593f79ec72ba454b325730bd4d24d70887536f458b1ceb810a86ed4a930eec7de254787b9e35a17bffd52c29f3efa0786551e02b4fe886b33f2859daf171669ee48e0fbbc3bb25de12b00b7674581556faf06eee86b07a2f27ede00b2a7f0186fdfa527c1a7a8a6b400609f6ff8f912fccb6cd06012796a311d816ff68afd61be67a5387f48c47a5b27f8411fe03c1b83ca988ecd656f5cda2cc5b9b27c30a0dcd3d4da87a47ed2d748c856790a9cca70d850e851537df8af07794561a592c2e06a5dec93bdc8f17fd1b58a73141b92004b0950b4297035ab1efd05452daec44e3abcfd2736f0ee6ee6b1a3d6c07befbc67730eb540187d0fa7e6308917eed105527432539defd775db3478d90b73e0eaaf7ea74433d219f79e911c50c07bfe994b99e9ee290e57c3c5716b1275061bc9291f2c135cd954e2214ccb4364456d478a98d8e35cc1067f4deaa1ad1c82d324dea3ae2baec8f936e29b4a3f3671618189f5525efe6630e98eeb7aaa83c1bedef5ebf84c6d6b69d89cbca8d6b1c3064468ded43714522879c9fe30323faf72073c41047de3038f5e4fbe7936bcbe9165df2d4194bf2162e8b6ff872dc10e61393fa1227534c11999459f9e8f97936f566d4f8c55b7b331325d2890c2d85a290462cb7ea0521b14c386fe4a9239a019a8ec3b4e31fcbe29d33411ed7e8846318444ae0806a84b657e92373a9444e3e4f6987e70316fd7636c1878bceadcf9f27cc234fe2a859c9d99c232d5170622880dcbc97b0c14102cfd380c7d41611b546f67cd7445cb3f82bfd5ee5c0923f835a757f4806df88192beb6b3751da154423d5eed08d1b47d2d233b22fd231edd6a4d2aa355039ed97f23473fe8b63775bca81dc03d88f2e2e495ab316ec5c5ba092fde6dc40bebcfa5d3ef51d2976d0706d3a412e36d5b6e0afc3d6cb9f7efab56447c75821f09795f2df0977f7db8c2b5f7f8fa12da6b7059796ac43ed94c1d5dd53cfeaadd38ec150ba38402176a00677f63123cd71c0bf597791a6a22a3385e8c36109fb891e8287c3612610e81d55aab52f84e56bcc3792fc587953b296177450c5870199ffa0b7c0560e677a023ac2f148827756c59f63fc46efcee106000b6c8cd13c1ef69c6b12f51618ad5861827d4b7ef3610d8ad9b10c690ebfb8c0c09bd4aac5ffb9745dcd0ca70b77288cb654a97891c0a62c130e3c78204827ec8f085f6a3df571b3dad90daae9a194b56f20e522ce8fa0b10535e282ff6ce2bbed7c34c78e8dc9de05441ad9707540e6926503118080047eca1ca72113ca9642d47ad44bdac3d825f2921264ff19525af268e4558f0a7cba5d35853582b57a1ab10b19c3a71d160dc420d99887207dbd93e81eb77ca0519d990665724da224870714ab66b5e182f571bdd25c0c6541eb7351a8fce30331bc956d3a2b0aa32bd3a36dc5006fd1d53cdbeea4405f88cb23565171036254a7401fd3288a8fe4643ca3761c7cf9ca6b3e634e4af12b0f9205a50b3662c588b0e1854b4344544814d7b7ee2d6af7c12fd42846165d6f7d66acd617386d56a55060d99edf6eed74814df02c58972bb7b05fef3a223fba25dc1bc41e8c5dca54898f2ea94fadec164903c35456dc604d5b7f2b1ae3d7048724240247de34a782fb2860ec59666abe45330b8486475c7fc6daae9f56d6fe47223f8a005ce8c5a310643fe3380585eed329bf13d1d726a056e4897042fe62cd58cf6ad8c4abb64223685328c31e40f55b46fbdbcce3a31b66f10ba58ecb61538af2538bc9aab9f9f9eefc93aa8983b22199b54d9e7324e56193bf9d8e1540f6bf44e92f700d17071cf90e51c9a99d30fc924d0e3aa54539c750afc134a7f91564aa0c919ad524c68e1d0da67d0a6919c7b8249f87490ab1abce990daeb24168eb39b1ba05888a94e29f9e4289779e0b6f148a28628e79fd8a705b11a393db2775379641e113908fd2610316b3688358306b3b8ae4410121b1c27ee548ea16886a740676bd2e9fb0781af49af52cecba58d5a64506f0da5be4c3559c95921ece9a3d92609d6426290cb5268921020429ef180962cf3d12a79cf02e0d155bcda3db367f36eb11fd7d0b1946b96c29200fd118e1a647212488c93cc4f29e70b92e9f92b1a6f8cc27cdc2ebf5ac839bfd05b21464b8a91caa5bc93220d2300237ab48f5c884daa412f4af7087c7aed349b9f75bdeeb81841b26541fb1af2116449e30698cf77ed1131511d3428645f4ec8c164a81e8f17677077c792d893670f650a1a1fb39ddc1610177c0bf5742961ec66faf341dfd827e607c6258ba2f14614bd5b80da8b6ca5eea782e7d3f9fb27da196ea835cebb7e9cad88940aeef6f6a921dfd5033eb9bfd1b038c7aca087ff9cf1c9ecf37479842b1f36e344379475645917c01e3dd355691b3127bdc09645b5b1af77b6abba81b87eb3566497dcc141eb94782b57b507668701e13eb6025861a76b9ebb471dc4b17e30badd8c419b9100164e25c7eca774a7ea6ca0813db7d36c39c9605135638f6888a5eeeafe83e9fa6398c7c77f87ac4ba6a3adc388cdee5c97c6c555e1aa3dda417aec73b32a3c5106a32e15791171f0251d52d610e2f2756ab02ad4548f863f785df9feb0e61406d188a749b6e8dea637b67349cefcd11e0803ffa9bef6388321ad0a59f058e35dbd8d230a75abc122694b4504d3adbc8bb7a9edf8e930661b41ca70831b80a48d1f33f5b7869010abec33a38be27ec8194b0ee316dd7adf3ad28eba4a598382ceaa1a540c22b042b302d1f33300cde6c1277b5f341503b042547b00a5bd33708164e67d3e656bea24d157923c25b93a7beb497d88276b10b4834327f8c962792f2616e3436612f1eef703ef45be63b7451addf0d5a484517f7710ba74cf596646f77e381aa9765244babef5627c08308d544d2a11560c839f4281e22a94cc6dcbe1a2768f491e7644f044233ffbfb12febcebcbb69806855761c0216231ff5bf2bac8afce9e7f31170dc29662bec97dd2737adac8dfaf8827e02f32c52f31a8c410339e559fb79357d8af0bd28a03272737d183f527fac0f879cd1ed99baae11ad09d42b1fb39644e2e374f615dff3d6eb88af41c70186f73c739856d9d49c27fafb03aeae3498cc963f7ff562f1e7b973d123d5af13e90e71ad4eaa5f08923791b9940348fbd92e9e3b9da3c2e2c0465b7f23f1b8c801951abb7061765a731606cfaeed16d68c3ce1712b0ccd7cbeb9946b75692da797be705b4ed8641e629ede81624bc14b0e9652100c1c7e79d74803c7ae3ed4bb32b702da01f3641715e1bbf5281f10e4164886ea8c549bfd7c00ca503d58d14c47d7727454a4022f8a63b0af456141f0289889d96b114af02a1379170c4266700ec2667541d67303ff6d735534de37d51daf99efc9976bb08b2134eda737324312eeb671a8c8ef9d435e44b919432d2734641fdc5b67ebb520e52f922cf6ef84ebce46664bc299c70808807208cd6fdebf4b2bc5d51fb9166e30ec0e70849a4695e879505aa75ed21a1896911bfddc5412d8fc8783e49ae9cf30029b3947bd0ac8248f2c9e9c3c7aa6d5e88d9489a646bd42b0930134b6fe81179ea57ac4f40111f5497c99e07588537603b5493de5b8d72a625ca568be489b2b47eb331c9c0d3456a8b9c14304d0a8ed087c92ebcdb85c903c2e32709c8360d8094e2ec32deafe4fb6b7b8a280fd7aa5a2b332d35628c960670ccce77fc90dbba97280520d2266acfd5f1321b65850d686985f0dd72debe67b9acff26ab8db27a85767f2cb2f29013b1d995ae6f1d52644ef725e1d3273fc1ff3bc2f520168f8f1316272b69014024f4a8e527749b090361f41fa46c26b697defc5926f21a8742e7bf7327a4224079efcfc70e98818353548c2aeb89e578cbd4ad6580bec11216a1a0481358ee2f4362d9979cd73949f7b8aabbe02d4d954faeff8f7e3260c0632263b03f3561ddd7597072c7cdbcd80392728c5b4db71b68f5523f4976ed4143751f6b8a63250511b4daa290f9abf5a792a253dc9d798af32c17849009e2e6b69746c93905c3bc852c3c73db786ac2bc459a630f891ad4110f561488cb4b34407c6b59bc3c6b824aad396bbf89cc374963dbb4492b86e897127c6acfbdc3ddd572b7222de03c5aafafe71eb0bf0155875cc82df4bf3be184d3c6655b51573bdc2b98b6cb62cfd8cb7cd6065660d1f54843bbe90e05df879dada5519e3a43a785bd5ab1cb8786a45d49a2f14cf5c6d87ac7e1224f81232e1dacce09f30915057c06809eb79e271fbab80c5c84504c44394cd87d7c0b3c19c5ec85854e3a422a3466805c05073389e9db75771b98da3febdf5d5165793fa991f40a6e429b2b816ac45a17fc8e9ca0657a6605254f57c83586f777054c45c252875c69f680bc42d20ede9a48859265604c47883febda122d9bb2c8defd7b089aef9aa237c7c7d04327e8477cf9d805ef4b37e06db40e3ceae54844fbe65b869a029879aeb14b68b680915403819c29dda0a93940755aec321e115fd147b0bdf8c639026848dcf879aa63c76faacf8de7d2efbf26b28c97c2464da74692c334e8f40c088c6974cb844f6035c9beb4136a7d7c32e228c0d98bc35ba294b57c389c5083ac0ac65bf3ddce402fda33df4d3909433ffd56fdf0c212db7f5959cda8a7689fc2b0bd2ba6bb61704f0c157554123f09dd346e1e37eedb3cea6649e01e0d600321e59a6952651dcf2cad75a8658415500ac5ff06eeda22b21787e37fa64407b1b15ac7e4d07d0af191139651d404a515b1b4bb20a3f153842eac2a7e54b0fd0c0473b00fdc93143869c94a950a38b4a899141cf598eb8d213d6ae3b52b988a5883ab10accf65526bd8e252e173bd509c18f47709d448456247516ba6724f875bda89b1c351668a8d252887a43b21fa52a70ba6c1db0aa48e39fa1eec25c88de78ec87890ba2af090a0f1a06203aaecf90de326a36166f49fd72601cd5aafb45d0199ae406b3809073c5d95f919c08e145979d862aa01e916b876d3af12da51809d72b56834e946f8530d2aadf063816ee538ef8c6454d83c0a6759481189dd5181120d8af4846d8051522b698d46d6f0403f03da6af0845ebf8ca0d0912ade2c06df95dd0982a53d73ec67d0df4b2e2e4a2dbce44c43cb26970b679af5ae2dcfc89306e091e2bfe68fcb01ba1619ddffe7e69001ef519b1c17d23934b73fe62bb904dabf6d9bc035ba1e672786ea40c0eca34fe856b09d35fd24f4a23d893cae5a98dd06d71407dffc70448271d35d8b2f4ae84db6d0382def4d68154a6c6ceb9db2ca6ebbe14b5b4d5d1d0db46bfad44e1043b145c5603a93775a8d060d54baff83cbc6eb90a69946eb44d1d0c3b307fdb58a0efb8ff40e67e985f17295d3165dd906e2fed83301795db5a3b4b5fedf4a76e281e84d7acd03062b12ac6abce30e6a2d6cedbf4fe1641f422cdaec136e0463dd1ea17abcc6970b0f7fb509fd4218c534343403d8d1e6541f31c92cc75f042165f40153fc9e9101b588eef9bfb15ddab6aabaf2c1bfb3c0e4d9bea7534fe6da7d9c8a5f4666989ad4f89dc3bcceeca985d06e3302b5e53e16866514d5db611ce96652bea7ad1160532292ceb6161ff74bd800451c16c4d10b6ff931a34e1fff5981b86ca95ac077a001ade96aaccbb38cdc1d4132022c95d4d2bba96856ae0567cc22e927d2250ff61a5566621da0ca4acae0512c2c3d56f94c44cb97c30528fbf39d3eb8242fec72a7429ee697b35fa072e2e0b4145fbbe99015145d4c8a539f2e691f65f8e62ca37dc83c4a8ef6a1c07388d9a3e9075e4d1058f342eacd3960002df0dce0d4a670b954a66971e51530b2143328364904b12b7fa2afad5cf7c450ccc92c9b88c48249d0172a814e3e1a2dcbd50a0cf385c93949e080342c09504e4c4e67c1e5277a8fbe41a1657af01c874164164c29d0ef6010426cc31b160f4ad609b6201e9256519bc49fe59cb4c15f41897c829a389881ffd76b242909a2104275ba856f8a7ce185b4193d11fe48adeed8fc86636302c220afe2da159605d564dbdb2d30e4b72dfc1863396c25b75613bf7666f4348121ff2313d40c6fa66236f4a31c7e9657f31ea6a0f6f668e1725f428f837ce7ece76299adb725d2061a08c287c20cf473087543ee077df9d602b7e8822a0dff6b0f76e53e4ff15c8f649b16d169b068e31f1c859f56c1f99bfab0edd782159516c4913642a2c5d2cb4dbcf383bdbb0520705a228031327e18bcdf49dd97014c2bcf0c8766ac3ed39b306cc9ddcf97e59b026847292acc2a1d58692e87bc6a4087b9fc46670a6ca23e396e2eed3c35432f3dbdff6fe52e9b989afe276b445e61c38c62628337dce7d101345feecb77747932113d60f662aaee14db56da717d11a81d810775e3128bc46c9e44d92d4f23d2dd6006fc5333104b5345d76de099f6a54e931cb376799b4bcb8fc8634e80c37c4ffe35c3197d5c7888a5418515f00faca72689bd97c5cec726bd533cf3b99c47961ad999a71124fe16b1940025ac3507383aa6870f690c853f160da3968baf44192cdab6fa374696b6f8c0157dc5d6d60f16343bbff9ff565cb3883b6ce12d135ff5486bc1090b9f58400f37bf1a43238f97627804312911cbbd0a6087543f77be97edee6aad8d0d7d02b375822687b8c701da59d9175f90df5297534ab5e30bcab2cf09e8cb092470072e25ddb3df45994d1f6e97603e40d4f5f3401b4d2818a03f459e0e17afd082e067c1186ce1bd8384124d4fb228cffd571f2bd38d88ea1443c4c139d5013a93089a66274a021f7f037f1e6ded571cdf224dee31d7d34197b72eb3ade9bed305ff23ae9340be7683844ed1150c364c756b1e6c8e743cf25e029316d7ed9e89d87c64a23b0178c0accf8be7feb232931728da9f276306990798bb1dd1f6dcbfcb030ef5026ba588ab0b8f4175c3939ac2c7d48f53c271ef695be255a1b6b37bb5f54247e450190f2b3b6fa035986664015d18c5cd6c64611005ac0d5909457742c4577f8674fe45a691f23ab077d8d7a93d9a29ac0417c3c14a5b1c13aa47c34be65b8c71aa646f701e9b16354cf6ce979ee67fb325f8cc61ac0bd64bb1f4d7f4ebb52ad355b19042fe4f449a34d8418af707272f3989441ee8c22b44cd7093b42b34134e816f44a855cce09f5db86668d9da3c5e004f41c5077264f4d322ab422333b80da8fd7e4bfd91d04c31ef58eb8ed498f5ffad0cb4193c2a394b3559dcd97dedb8ec1b976b9cfff2b7c9a41998ee7820061c5545297d2df93a2e1d2a835f28785fd966fa166879846bc80798e36cb88995709dc587c187a62c0ce43e49a5bcaa709ccab492b82c12597d5ca273e2c8caecec57d6c326619e4613ea592d43eec390e1b35c65231c0fb8faa0675c245435bc95457df3890d0087f99ee8df06679d3a235d1624922a594ae4be1e0cf39e849eca168c36b5606509be4e12eddb477f3a459e5e4472f62eac391306ca9a957ed9388811a95d9b74c15b7f51d40b830db0a1deceb5df3731451004be15690b774a92dc5c05f642286d7bfff43c1acab3f5ab492090a1a0ee26312624944a0c8315ea347f53b22afa7757aa06da53cd1211ab5bbb02b2a86810b6f07e576fa8618ab6906842d6b9d42f659dcc6d497546e8ea9fc5ce4b2b909b6a1f4867a55fd075ec1f1bf4282da37e718fa07398c0644b9da35ea75c112b4eaed4fcee5cde4e39f42262d0ea069d7eaffe029387bbcacae9f470b9f48e091580f0bb2076f6524c490f031d0a180d62cb53c035070c082dfbd694fdb37cc513006822205390ab2c73607ba15afbcfe0a23f649591337a5cd798a0fb71b8c96a1c637679d178037d93a3d0e84dcc187fcde53659099844a3f55b4be48cac9f8b629c360468823fad7ebf7d48b39a2fad89a14f3cd3710176b72fa65a7a0e7c38839984bdfa8cd57e4b863b8afa9a45c8a4d94ac76ed2f1b807abf33ca8d5b279293ab4df905a697218777675c009ec58123ab3f6cd02be78ef197a5a467c84c8712aa7e0ed392177e9491172d0ee7cf7ba6eb22828cbc027c07177d4207c10b546e6757e495851ba0fbffd30fb48c5133849a7ee195a7075c85abadf8783a6044f2e49f287029fc7eecf1ab27e434346391db96d80dc3ff7623c819232dfce548174dab1fe5afdbd67ee0f07388dcb91b76157b4fa619926ed942ec56187b1b6f705bdc90f0aed2e7b27745cb37be5f5b056f057a6f4ab8f90f01509a9de82dd756c132fde7856abc48e24cd87fc8881a823cb1cdae71b879b89251d746b891311ce37b2bd736a06f90a2866cf09840ae1f461b0110ca9b8613a8f5cf2256acb1503c62e66d22192098b1c96514ed90960247ef39208bcb39d1daf9d8b96cee5a7317faf5ea6a4b68030e5acfa7d6d26cbd74ae6328f3411d084cb4eee07f56d4910ef4003bf9583ccee30b128d0fa0286b79d6e9d4db5a1551c5da761ff5386aed28cfba649a027298ca059b172cd3cd9c28478fea06cf774dabb5915b655563788c49089897259b005fd216c97571cac41f9ccd73da15aa4269bcb31fd8a4589c20cd6b24ff99bf3474e0bc074e414868cf3302eef87bdd4db50107c468437267665cc30ed1164c27dbd00ebe6661bcd55b2badea145776b3b59e67aeb300e7e0a863baea4fded8ff4d00b20092dc2c8ffb49994a3b979de215345159886f1c34eda30a9526cecdd1a311705820947934b584e4eca3eebf15a1bb8c4966bea94382614c688a67272b4984c6f769e408cdca5c4a8b780fbc9ecfaa0697459744739592bc3abb35dbd1cbe04440fd9f5f323b5a0d6ac56eef0f4d2f27409fdd51f3f2fd19b8c4139fcc83a22651eed7640ff5529ef5ad1b715184e729c92bcc1b9118d006eca36f0fb412a9d5e1838527783981c249e28768f63bfdbf8091b75ac616a3af199bd027c6b172ed0f423167aebfe61a99fb9dac1d8f7cb4e7e5e389cf6507cfd1abdafacb1f58d6daed97e3910643efbb93e80c6914f2c4289ea46d9d72f0e3e276b77b349083ed3ca4b8b99c9fe93fd3f687dc2448d9f6e67aa45d7c431d71f5af579f974b0552563d663c29a4f8112e3ae56d68427f20b7ee701cf2aa0dfb62f2b57deea8a098442d0b5fb02ef8308f613f0f15f26254b463dfce4a95b2fb7fdfeb2098721fa4cf6555b9f83286fba9b2ec2eaccde255733115b716267acf80fd6af3e3c3d2988c518e8ae7a386155688b5196173ca8b4bacab73de5aa250c4cb4d29fbeb4993db34e7f7e16e1a02f53e4898287114b0139c860c5259794c74580e8a2a0292fe1e105d746e194b41b8083dfb3881b63c0d467e0174f95314cfb8b8e38e4e6b2b83bc063924f7d4a7929988ffe7f780143c52b47e60673044e74c437afa42b18e0830545349ceab1f5b2351acfd9ac571bcbcb0ec606c993b344efbc2723e3f425395ebdc05873107f59262c1c0ddd077772ede69a882f1ecd8c4aca83e1e227fa279da50dd17368731d9488421727bf1a2586cf04011a9ed4264296fc348df7b4ba2f77078acef3bf065636b9c3aa88abc66e1c3ff2df51d01fb40ed4cf6da35dbb81722fbb855e1d78a6219677b97ffc0ff3c2339554484ac2171ce398c732705760471b30ff22f3e4cdcae1ce29479d9b47de1971ced4a79014f07f11bb430cda2d01636fd3d12e12b909c199cbd091e1ded5c557acc1d80a7a121caa5a8d4b796f4bb9ab1ec7d64f26dcf6e3baa9753a619939f8925407d52cc6a877284f9412396e6c942ed0478f66a405027b2e70d6894531890b5109d7520afa75044b680ea3350afdd8294ce62f221253ee264693a03c5d45b1071512da0f1e1c983938bcff5bd9d5bff20675ea58042d37687d892d7e2b2b03f1899e001667db15c1ca29fd37e6e2d6bfb5d1b203092d245253dd3e8003424f012acb65742f7111901516d813cf838727c3d03f1ae7b3fa84abe974e1b72c69ceb1c07723d59867d3c51190a3d63f344b9575e197b1de6c4a4323d28386fb4495a066abc039e34357a4652a31701af4406c021d8221360b9011f70efc68d55b760d25fff47688f6fda633abee12a385f680d9352beaa8de197f1d45b6bf66d04bfb53fd6b470aba65c160133f59427779c64708bc59561a69e62eb673fbebd4a6316af9e1967df3e43081b0f44e4c24a522d57cac0d02fffb8c0f412a267390410ce6e7a97583ec467151feb242350fd1e66ac8a8bd97d500060eab07f1a32fc89dd58bcbd1c8f0df8bb645f3c46c5a267b63d13c0e5153c3eec8ed827b809a16b934316143fae9b530263fcd46a7c1035779ac8a8aabee52765de4d807ba9c43d022a8218e2b8d40ad682cac544359f8337b02d1d7500b478596a0513aeffb40d899804362a14cb101c0e3739f940da3ca0eb82c7f172d3af3ae7dd3e04a9e5aa614a1fa6c6aeba4da691aede17a1f34c4b74648183d226e3bcc6b5b3445edceed20d17ce0b75436c86cfada061753addafa8f0331015ba69ff288eb2e2d7dcf2f9c6934c44942fbbfc834504e3f9cddd2b38fb9c703c74618c83b9cab7746604edd87ce1b9ea7d59a57b641f5adc4cdba4522f4c813d158f0176fcec69f600875d2cf8a6a578b60194fa1e1bd3a69411b65b25707abc6c1774d63286d72b7fef7d4290d5ff17d49e8555af0af2d6f8e693f1d37fbd88163f82cb8700dc40475239e6b70e9ffad0b4f9001d1581d779b07997a58ff9c6b6ca76ca372eaad4027971e025ebdf12f1f0b488a6f8051b2d5e346ac84ef1963c75f44f902985b4253b33b28663fd0d477e55ac230b97539e60ab63e77ebe3448af17c7ea21b5d2e60289c82d4e14c24b366e7477df7f8ff86da0fe1b7ec6081feebe002df4391d07d81d464b951c2ef993334bff224283d8e5669e6296f8f8b31145242961bfe96319004c592df10fea402569691ebeca5c80421bb73f40e1c73937e8ea35fc941606aa97d50c3d90b8911c7733f3ea2a9be920c6ad917693a1e3c630164de3047375a8dbb0ee7177344c15653c311767f02cd79e274a209a4db24d0640d9ea10685ac1fa1863f9e95571b9559377700830f0a23dd64db08e43cb1008cc742eb13ab2e34002caa90ef2b4224011d4a3972b8a2103b400a3d35907c999156d0734dc448a0e12c8aae95f1c0f28199a990fbbc5b9d2bb31930a109ee1bb6f1b09c890d55ccf0b8914a0ff881b3b41aa2f4782f522836a74e7672b929aca9339c2b66290b7e2ac3659444036069be2bba7f28a6b9335b5d9a80b7ccd85383d3a911d03016474e0d9695151dba332b8c34fe4a59f96614a552e8ab702a875c8091154676ed1e86f104a1a60193a9521244e97bd686e0824c600efcb6808afb247bb218b3bb1f1aae6e9aeb1090204f45d605fc4295f7c532d59feac10fa78684d63f46be8315b1cda4bfdd4020057ec05e62cad7ca7a12d8c6c5261aee04fe522c5ae03549594ab04b13d6228c2526777a3576f8dad52b1be2660855137055bc87f5fe3926e57ce501319f66d1be9aeb5e3c18e15c149591f240c058af73bdfdc5a46283cb346b0aaaf8a5c39a39348a5e3816ea18b32ba2dd6e614a9a84f3f69fd4cbce12be08fad8ea9155b5e34ad8c3a9b1c31a08e8c8506668a6ddf2683b8de179d55199778935366d9764c1012c3b29f686137d5e63086c5f006f016e07cc758fc782b74b2d69072b9ca3969028066cd4600a376131d2e24d780d28a32731e7c2b66d4648e167a89867bd23d153941d29183b73fc319cef8bffb78b3effbb114d9ff295d7a5c231bbb94636a0560d68aa2c410f47330ec4a5bd50e451795111b84957ce10c66c473a15628ddb22e525d75f4b8f7f12c500beb08d288880aad9fa779b4a01f5fe809b4cd2e9ef3b240bbfea5ec9724c34d4613fd16e7d04ebe8d33801f3c80942fc5f45edbfb075d91da46276ffe976a9c67cf6f61d8c0c077be26898ad34c908c4fe84e71d9c80eac3e459a4122d583988bcd299c78fcdf0b51d12ccfdf076fdcc61e0a1d6c091906f8e62fa4e581e3307209b492df2fb7b76108150675b7b3e9f47c3f84f399d144fafd6e09e637f90c8aadd4c5ecd5761247b6c3b33bf7ed47d8db0b977b5fa7e5c4b0afc76b1c517bbb329807dc6cec7e6dfe162c005f0e6c580537fe47cdd1dd472aeb1fd0f74bda340f95f82460498f23ad8e06d796e639aa32323bbda2604c47d8159a2d4965aa208ebdaa4533276beee0438ea3cf1a4fac405326960af66fceaabefe0f21ecd5ddc077f2d3baf268e4eb89c8c7fd220e13eda059c74e8302c58e23dcb2ea83f43ee81838d25a20b5db6724d50f2a977a173276ab9bb55c57667ff9752ab3b0b8d5e7e1a39c3236da21b4f886898d0946b006487a5c57a3923b041148a6ac23abfa85b1360b5c23f86b3f52c74e7999f8cf15353a8f3cdc075881c5cd2fd5bff4cf3a42b2ccf6952b952375c53118bdd8a6027e01fb8d8aa5cd31ffb43df2218b75fd8d37732270332c32d2e99c05147c0084fbc40cf14b23f36fe622345ba7a3e99ad11758994dfe6a5e7a9bd1e7e60ed90c716bdf673d1ebc170c18cf8644231a9718fe6b356ba051ca827428135cd88d9fecd65cd5e3f95df0cfe0e942447ff05889c98571c72f8d7316dc26dec69ea388a14b67c90dc5bc11aded5dfa354de81f5ae32185b8e3e4b604d795ead712753605764ad0b317127d9d3e6d0de150165bf33eea3d4b9a59623219cdb9a6dad19e8ccb1cdf73b09bfbe8501f5d782da7e5b4580e726592f3065a3910bdc828c2600bc62410d7675e3c453459bf642df159cd053866db3c6a48fddfb7bed9ceeb64fd164f07e2f0413a6b40a2aaaafbea991e068ce825c41f41e8973d802fb9f7e5e016d3fd1f956cc336c287cf2864df0330862f9549fff71f36fdbee4f73b15ff962dd01ea3cdebec8d07786451924e94dade9ece5fc7f80d7d6d270b58956e3facd900719cc7a538f700b63186b4ae05993e6f1128d8144c24fe5471e9389ad82aefe2f9742ab5cb315f6bd35797359454a8a74983b7d4f9b84f8c5cef76f9f5edd9e5e469d76f2f761b17a3f30874289c360e8c5fce3885a594389bf14f825dbe0d3003032196f1c2206af0297bf357fc6fd6cfc0a5205441bbb66bc1d6da381b98cbaaf82e4c7394791e9693851ff3f564b8e08e927f09ba9b5877e3fa1ed9b129fb92489e12a45cbdef4157566429887abf9eec4ee9e7be3d275fd7daf9b683799e44ef7a7abb8eee4559b9b068bd2be3826a66529225e1108f1b2ca6befc7c6761712c0ef69b468957f844a187db7f84e04be3de75c9745d29dd03ddcb6d9d4a64c862c9c2e26e9099441e97ea0b1fd466c449ee0ef45d8c55522dbb26c06ac5eb9094d4801537f5bc9e3f07a84ed9a48561d3cedb3d4b02b85784b3122728ea09eb97305775895f257e49a139417bd2e5ec1a1a292825d58a52bbd6e017d3f39260365e699b1f9ec4e8ea9e47fe5379cf6159dae0996b28aa9eeed7c2605b2173574b6ee942b85d54f51d101293f6eb339b0db7edd7e620ede036375d45342ccc895fbf59fc9fa2fd595eb140b1fa7fc22a65552d3a212f40912fccabfd2bb184b927e97fcf16bc6a87486295458134739557c2635bdfae479011e994ebb2740481e58c1db137617a1e432f8eb51ad584b0fc8d7a5b680cb8bc44685094ae2be8ea0331cd3cb3337f6e5080a942bed3e61f9733f268a1c12b813ee16ba49dc4557bc83d12d3b4fd44758fca7e2bf7ff524edd410ea4243b296e993b0cbf22f375ea86359675864827df66cd347f9c997093562a66307a823906a9c1c25fa9f804cad0b99d9fc1204c940185185a3875320772013bc871d710bfb4281ee3d326d0fd38c24857988e90a0aec9fee6e1731ec0a83bdc374bb47495bb4fab3519ed767839562d638fd272dbbcf249a0b95a386c5a519df22c04d810e0a81c71055ac1feb9903f0c9bb614877dc1d235dfee17d074752ac149775f796d28dcc2e848f0878a446336f637f344bc3ecca4ccc4d693ad67b22998b190aa6b87e88604a16dcb72bf456bfe7249356f9260de42caff698689c27ef5781663813d105da9842412d707eeb92df305bc9c437754bc39d3699ce115b5b8d8f47d8aedbeeb8b6eead81d20f2b6444b8b38d956d5403220b9ad6cf437d1ad4b16bf89932eb30407d016cc894f4b0242ca65bab0b3d464bad8089f24fd7dea65fd4a58093d7a33e6b9549aef84d2e0697d6b6a44d203ef03496bc375cda5265278e2adfe276b49b9a98f1cb2fea761bccdcfbd2ce77f3c47debde78452d0069deda6dd68e5212ce1db3546de65e41bdf8ecf0253a4733d051ed69626ad83a7abb3c096339963a214f466a2172438f51d6375a76bb846f80ddac642ecff911988d9d5738fb815d0a0adb7857b495d81c3204b46e39ed8b4d48b89fa0d561d0b43c08236404db93af6c3bf625f3679b469e760fa1f465fed250275c01a87eec21067b6c4413f824a3aeb185f9470d19d4620546014b590d61af7e90d11fde5b7a5a82f6c04af5862d0e27c48807ec495db511a20cbeaef3ed1e05a709079adcabbb913c08c8d8fff3f6b2bc8c326aeee41441a7ccbf20c890a9e07016358dd1a7a400e3f7efee00a28ab9a498a80da6405d6e2f4338559cae82ebd18596bb75b219223d1680226aa2aa113046a19bea28bfd984143545a10b9d9f4851ceb44148438a6e63976e1a96fd029410e9be7a46ea6ccc8453551bdc95deb879ed339aa3484f6a3b682d2449607d14f1246c661ea4a50c28f02b4e039e36d9fc2606d5cfde468ab5af20cd45a19b049694690642cd54780c82a334316b269c0823c3c3efd1cbdb8a02a14b5a6e083eac7e3f28aa22392375e90f6bee617ec0a5881974d45370dd9f205ac37505a7a08b6e5f64335eb43c39dba7ad8e4058ce4ff46a7a5628fc7cb15cc5feaec896239564e4969ce8a664f2ec23f59696a30f62e6ef77136fa617199b4c0991163ac967052c091d397dca8ff3ddf1ea0f1aaebc15cf88786b1e806ded27a7c3f21739f3f06c1865ed9f4ee5c0d1f3f33a38d641180551a420354b5d8ab179bec3e34a5e335681257e506304813087a883941c01647e74657275ed0e42ddf4c05448ed599de88641ab1947738001d51dbd6ad9fbfdb037e154210064883984d0428c6b86fb7408c46a0ed380fe02fc025aa2e8830d5b9ebe5f248dc366205917333cda31dc7e35b973862ca6a31a7c68f48c7e7776750a16645714ad2f590084694b4e23ef60ca9ae3b5e121b1487a4bcb4b59dde7ea6823058237bd878c6bf388a0119219a4f4c3acaf7ccbe36ee66cfccf77e5d5f9c7834be7457c56f018445cbe21fa93f3a24eec4e3c688ba9b0f6dab7cebef930048aa61beb3d9a91c80f367ce2ca1093afe25dd5351e89fa4a6e8e1c110ecdea563606d3e021a7e424900308a26e6d5c44c0467791a903e1fdd3303e510c69a93e925aefd42e81dd08f2dfcfa7e96b2a721785d6577e2488137c39b29c552b3053e4198015d47afb7ed8d74bd7f01ef2452bf9afe3752a0eab396b237a8bd372d0307cbca797bc970b13c89527e0ce6c4442213b16ebd2d240ea0b42777bfe1a0319c33f17f4e67db5979cfbff25226a95f3f26ae0ea6bb790a7ec1917a54d346e191ee8f92620a133607ca9f79e0a009f446419d463844bc2dde0335cc91eb0d09be8507df20b7ad4631db570be9bb9785037d049e10f083fde92d7fbab22c76d0759ba3b2c91f35b2bd5e812eecb42d74198bbe2a795f9ab612a2eb4f8d017465a86c94b7cb6b10873ab7e4b645c63aa8ef33698eecf6a22d582d606918462baca8cf0c11367428af154fe0aa73842d9dd361c6dcfc055e658e0c3fca60b3b7a082cb3a7a53548a1e2021eae8778f4723f80de29d284b9b5f7a417f4a1b92b6eb19d96d970ceea929305f486bbaaa6ff0923203203d5923c11c86baef479ea7e1b88df7a83ab2944da1ba3ac039803857aae8d39946df370916e92f2b0102f5c4fb2182297c7dbd7106e275c228deff5a1fe140ada1c950cc1090a6ac4d0d3f0059318e7c761ed8ab47138ab2aec3aba4ac9a91614e7b27a91b4232b87277d2d51ceeb2efacc278d0d069b31dad2c28e369973c3b9c1e9874611652ac1483e7db62d26802108e95f5497b54d176e507d55fae66f72f34032db06672fd24467a53b89afadf48389722aac4c5d40ac605d382df74ca934a3613e79b3d57284dd635bfeda83b75975de91b34c759c478119a7d2cea1f7fbeee84b7ec292d3bde358e2bac5a2bd11d5a5099ddf860a2ea551307f4eebb44b5170911589b36eccb45f8ae45ff3ac84e2af015a35c535e7624705298d5c48519123fead742403bebfc50add193492d484a8489e86ca1c15a46d31ade52c9d60045342b225fbda26b1692b5a1cdf23b2283b7ce0e60445715853b2b13f227f6b0c95d221ef2dc94e0e6785febcd619e8530731b204f2dccc36c7db604f49c388cfe69e7fb9fa41d2345ac25a832478c7a7faabe5f237d795cc2debd83f594b6d88832a9668eb98a8a20b00293fdde1e6ceffbfc767c662cfbddebee5742d22978b9a3a008424f97840f40a7d018767103dd66b446b9f814a91df8a19b7cc2c1304fe9b41fd17b8823b1a8ea9ff31004fd3bfabe554e78d519e844fdcda6d48a49c614e8ca0e25fc1bb7d6589e457a1b5022edfecb9563cb934cd6b757599d67b64c01ed85ae37bd960490e9f1a8c4296a1d52248a85dbd7d5d68c3cac18a3f77a3c0403a185ea6ddbe5e79b7630ee45a7b356a4621a34a0874a319470dbdb1d4505cd4c787c2a481aeadac8a1c307961c1e7bb2bdc54c43d183ff332e1f61e65c49a31262e3d636143571b12fb1ceb833e79547087d04327d24fcdcdd39130c7621149ff704e4c82bc904b7ed2dd0e03463473947dc1a41ed41235b65b0dfea98dd75d5e1b54af9c4cbd02eb8a3f3660c4374ffd5c3a20b15b092827056f380c30a3cd36dbd1c0abf0d8869d88600ae01c958bb2553d2013e3fc68c92574f6c9e454519c0a0af2b5bbfdecad41fabfff533f2dbde42a8cc3447054abc9deb2848162e228babb87bc063331171fac584fa804801b229f29650361679c90db1cc0bac12165d41233f69808652b43af92f59a3140afe43224af851a7bf18efb88bda0364fbc9e393f6f9f41a412779624f300998cb0c2379b82c89d33bf01e33b2a3f030f28b755a0c024b0062727afbedd1447517710275c14f543d971c1eccbb46c5690fdbcdb3bbace645059f40ff7127f01d60cbc757f1c21c50a5fe7a54c0a62b5537f10580c8585dadc4369b128262fb5484100003795553accb326f26295e363e42876a8b5b307b43a03293fc4727674b2316539c0c84988673d74ca911a9d38deb3539d53487d85d98980419e538c0b9d98c151e20a5674b1cf70489a1dc5d4e82d8e280f0b7b4152d75f216c3f2ffb4fc67c0427cffe6a1051e77a7a7edcd4915695c3d8a7c12b6845d09ac4ef0511011c30372276d180f07e65f8ba2d7bb8cad551a5201a12d00ccdcf7318c1c8c087b7ea0af52f09b3be35142f5a5ab85c2b8dd667d6305df3d99d9b405ec28a0d1dda1bdbbeb8a7b15f647074446656af6afcb8091f7d7dda773068658f0d02cbba0bda8c9662d7fbfd694dceb48ded3264fec886e36b16eee0c17e030417a65eaa86e7ce524756fd28405f0d7a6a8aae655e7ed56d99bf81b82bfc88b4beade30c7ec358caf4c0c82812707ae243e2e438d6e46921bcc69b42f15bad1dedf89413f2049b59752114c1c01d8bbb6d664d44f93f19e00b7fc036836756cab32db925ce6ac4c6c9fee78c5f3d542a731b0195901325baf530f4fc0e603e48c34279b08ae8c3c9eb1a82331dffda68f8de353840e03d002f2ba85ce5b19e9786faed4c7b347c3c365cc4b44b31e0abae9fa6ccdb13a79d1d815afc6f660fda2abbba06c80a1f218d336e6b8cb6583eb9693c3c3dba1d8e70ac6307cf9553ca899e7a6454307afa628c5f5d730df5d57864aa2b13717d03e0e7cc8d710ec1eecee7ce8371c89e31bafee6324286f169c0b980ce49b1e2ed31eb801ec28cf190ceefceaaf850dffee9272463f6b9b9aab7b8f79534c1acac97affd4fd428530fbd1185d04d15381468aa1fa8edbbcdba547f4c6f43f8d7375fd7b4579ce83c07cfab78dfb812572fc186e54960db27e720f90be196a381f3f79020f2cb84daf1eb15feb503790439decd1e2b4dcfa1e81f3f843572c372afcc0eba5ae37877e8563d6c505c8d1234fb3506bf270bcb0f55944cb4cbddc38e9fd13053428a924a613fe4aed72cd1b460d6b357d1c56e50a60c602d90e3889d7a8fb52023e3106653ecdd5d724520706485b2af4350694d8fc84426d5b75fc2d9ba8fc0d404500956956799c5cceedb4ac380ce83fb180490440c38c92ece52386a7bafcaf4acbd7c2f4bd9a970b0e7f32cc04f37d6a497347907428efdddfcf7e4d121eeab0067fa48f822b451f1504cdfa573c5ca07745b7437f50168d0b5ea923d4d6de36da99a54c478be05f0f7a2f1ee1be6306ce9dd1c98a5b25381d30cd01ac1d8fc49b3e636fb600ca37a494b4d194dd30d11ba4ce64cb7d0e44b86ea949b9d72a75903836b40d7b9ece3548d12f3cca5f0880574d2e6849575a3f99e473c414037009fc018fbca2024a06f82184768e8baaa42e01b20dbd3b280607827e5eb2492016488b7b0415458a58b2924f35e049817e7b70cfa8a93f6f13aaa39dfec0eba73701146fcd0f53fc2d5574d57a6961ff602f159949dfdb0283bc207d044a9fe52583c8f726e2979b66d9f7482a9c2db05f88c92497b099d7c07cb6790a1e8f3d552addba2eb2eacbbcadd9bd4caa86712ae404480cfa7a544fffaa0ec84a3f06f7f8a6f35b15b8e661f4739a23c9be9d62e93540ee762aff2216bcc210277fb979c535373d6e092bcf7c55c40495609cad32173c80916d399f3aa32a450777c5f8875185c5da78d9b9b09d5ef900be8108069d67732b86c42c651141c534f84ebbc3b567bd8187081770acb1a247483d88953493dc4d689d9fe9dc80a6df98fa04f4ca93b9096b52204cc42d9d3b82003323d98a43a6ce4f2918279aee559797eb01aec1f6d77152ef15ca938991caf01fb0cc40a3f04cf84e1002e51216d7b2a32470942af11bcb7c65d658ec3bd952adec69ea5e972730c6ff90b50f8b2f53a8669134fae7b4663d819b636c5664132c9763a58edef89eea6ed516f2142f0c3a0a7662c19eaea468b9852e9fda774fc45625f74dd164302ffd41c30c246656c8454b794773c2491f661171adb34de9aa8f26413752389ddc5b6b972f1e4e47459bc0c459cdef0a847de8e1faea2692c881b7cf863dad5a8e680acf42c8b9c5f849eb85d1385dbd26be6c47cce581a905a7771466777469e01046e1de774a917e1caf0e402266fa8c1c41eeb11ccdf5d8abb763cd638bab3b44b63cdd44962972bcbc39d88597674966ac0996dc03e2f39ca47b68bd5b055fda9bacd5901385d4c160c2b3c551230592c40b8392bc554b9ac14c0086bc0c0abbeb10650afe584e362f482555346133769044c4cfcaf9628767c65f7c89e2fda4fe501c800bf73bd286d7bfda09d5cdfc7c56b1b7faa69d839a63462f06a313006354875adf0803cd944c2e7c04b3cd1cec575e270c1ccc7482a87962a724be1c23aee4320a5beb1646334927712a6e9903ee35d18ffcda14f19981a9c12a6c5e697ac9894a344832903ef7a3097d78d399c69067040c91f28d1de37e39005ff8514b410032625bf04ea7c7f59d772b3452a0bcc9a0d9f6a9a6c5d268fb8ce56c035465b9bb846fbb5f234522162dc5529b460545ab2f91ed16d830e6033ee07afff04ae3cbbe0467dbf0b6b1290d338e43d6e3fd72180b7a15d89caa0009e74bd0c1c209c580ee0acff5db73ed9e0551f369e42076a3d820f3733b67205f7019ce7b769d9bfc9d2392b3767d88deba9701b501bb3f865d3f2da3f7ecc2d8ef25eee573f4c8dbc1f88a41561eef8a5c2185a6260eedea51320310fb47a7f32c5af9b38673780c848fc6b52f1013dbad8c7d385cc6e6c68019de860a6ca270a4143c0590638f54a87b6c07505367d57430582ca0376e11cefa9c031a206dacf3197f84ce65549b5dd3d78ed41946d3b46ad63068c748c86830bf4e27e19f2f34d6d8550098e5e4877734198b76ccd3214e723529c34dda4f058a48670ca5b68375e3bacf274adadf9595993da0105edfddc7adc24d785cec707a64a78df92b0051ab7ebf72c26c499a1c5873aa5f598d899c3d80bd6d5f410f6d0904eeb23c55892d57a7943c899d3d6a3f9a95fed4ae52759c389e9df0765ff3cb7262bb4e24ee42620581412ff8d504c338d329d475d44eb32a59f115943bdd26234d154ff7cf428426f01a3d9c2ee65923c7fd8348bbcb4cd5e89b11131f37845aa9ebd64c24ecab5715dc669fa50acf168945444aa8355c577e81f29bd343a2a5e446d4446aa8b8ea15d20ddd76ffe429ac1c5193bb058ec4f9dd2d81637a378c793ae84ab35998d9ce10a7ef019c532c01211bbd78782d69098128e38ee2c17777347bd8e9e4d20ac23376b64716c48ec84029f1096c0ebf8a790cf9b652cb5e3ae114c51b3576415387fb87e498873ce0d39af5eaf392f4ace54c4911de05b0b3aace2e3998f11a4e5ca50549a9594d5ffc8897c4b6ab5ec2443d7e9fb7d1692475c383a3d69cf5b9e000c4b7f1c21fd0c565b7ee2fc666b1686a1b370e39341c7e29935f12959ad6a6d8e3e2178f5de8f15413bf0000bfc977a106f017cbc27926d2cc733a6cdf46d41d704d20527965fc40cef168e86f6f6a20b11565e86a3fd6b30945fc2df333d251687d34fa3bb4e2d7b5fb15198f47bb4d63e70ad9b411293ad398c71bf42455f1dc9b9ae0fad4ddc4ff20a18b6c0b4faf57395f39a3960ff92fb7aaff280f6212951165b8d629ffa1f3a23bdcc18e6b53abb5892cfc767d26ab4a1fc2409aa435acc7b5b2b112c907bcb78eac064068da58bbaf6648c9fbd15568949975e6b097d6c5bafdd436ef474fd776e7313a4c7fe35fcfda7733595a46d7f16ad28bbd0dc3cdcb2f746eb5cd94b7de4326eddeceefe6248e118c48c84675b43632efbd61c621b15b9a1510f7f3b3ba46fc5d524bfa905a0803ba16e65f11618afdb1cad84db39702ce059b0f29ef8e6e896258a3acd08ea1296ccbf92b0e8a0f7de54614d72f22b6948fcbcd6d6b6d8b0de20d3e3dc45a39ade4f42cc51edd3ef62b9353c02e2c45a44c835bcb2c4ebaaa970331ced41a6f358edb96946d832a091a14eb2f12c1144cb69752739c6dc9c2b590d4027e4194039f05c6d548e433694703dba0230ad0b8d00dcb9cc8f5e7779db02801d2ae5911069c9127aa20e4be06a47bbc2c55174b5dba4715a420b7dd91715cfd577a4c33f230cb04ff4023013ea1c04a9d24e1f56781a56a63998295c2bc81c69d90408ce43776f1269a91823bb8d9f5ec171983a0909863789a6f035987574b5f519d7431671b67c866f1b306f7cd44365bb4399092d660c30a64e2fc95035091c6f54c2905e4191d286bada45cffe770136c53884a689753d159b8063bc370d2bfa183e0370f3b123f6ac57110cb41e80b344755a60fc39a84b4b602097892686c0b64e3591c363804f06c3a9a94987a5f3af4bc735d285c485bf4052557707ed22663a628a08381db7d238cc59d789cb92198662da3e10c7ce5f97bd821ec42faa4f7e6b01e1e60b2588cf547df5da693214b664c316cafef19cde9c9d63da9592ce04eed250bc5bbc8458e2fd1224c33225e84d45f6d7416cf85624ff88ad953a913b2eea8229242fb61a57817b15d486975da53db88b73000b869f3c81adaeeac6b6677806f7779d35e201c022e1995b7a3a2663f76c500274908083df0b78c500d7f44cdf0eccfded93ca384de80d80fe691f6a777848b550bf8b159de8a481c62e5af30bcfc7904ad9d215327ee4684e519114e42d6f04f7a0f303354aa51b814def4c2b8fc37366681732d64b60d0a3f66a56be1899d47384512f398f6f4e092cc1e8e47fb32c434a1de06a93a1a3662032de6730bcd935b57a2a6e06ca619797e7a46f7f49f7c789698c488a09443e53b99f806386aa56c89a66110335f75a3f61576d59ed4b85c8ade25a21eb2d739fbc59617bd8151b00bf1860bf14a9da09690bba675bf73426dc054f4ff4c8259d35d21463a1fda6d0dac70dac6b8f6727ff776bfaf63081383102eac517afd65b1f67da1bb3ada1158b98d969abf09e2d1350eb88f89125a04c4f98ab971d2177eaba12d2ca7540e52299f258690447707e974a7549664dd9395df768199aa7851cd0e854154eda11a6d8c25a92fa8a1da7e34b7a55062a7ea2ad4e1afe6aec21311f7b833adba57c349c24284c7a58649113865d7d02b5579840eacbd22f838c9f98771136754ed3a9a724fc2e8630f736641d841080411cf4882362a96a06bf690fb6284053ce970ec4b0adf940c3fadb377e0faab7f626fa77a4b3f2cbc6421f16881992e4102e5d0ace57773d8e9fba3e432fe44d0dd8d1b2b563f66e123afc16618a920458084120503f2ecc9cea256e3c4df990bffde53c1ae4877115a121305269a1e13fa1b4d147c9390f66fd3ec9c939c2994a14cade1657a0b87ae098f52cdc01411d7b8f198e7e61a3d3339be7189d0ba5cd63cd536b8f0735c7adbd998635065eae1a374739fd2127a0dfb05dc38f88d8baf7061ad20a0edf8e7bac006d84d8394e77ff2bab4da9fae4220a6ffa0de47b780b501315546860cb73d3723be58aafe08376e1d32f9a6fab0810f0608a3cadc0d07eda841d545e48aa2ed40277a1b25a501d14202134c26b6c104ebf3263b34ec964bdec1a6aad409a457a8e7f4a1d48e64162bdd5d6ecf1731f076638922e253537b70e176a0991b446683795099fd0ba9559cd9434f3f5b254bd6027837093992295f2a2e04bb5a8d112890ec24980aaaf5a5ef034e9ab2200b76fee7082cf44821eee05fb4850e12e1d7fb48e6392e650bd4d3b301dcc941e6e8cbd264d21d2741bf7d187fe90895eb3bc25461407ffbf467707fe5535423438b4a8d5732b137bb20d39c458c2e9516d7f710f70dfd75d153d5b81e9149492d1f7cf6e82e9f41258108e177e5bbd26027a20da9b7d8493efca88053f0989b8060f5b9ccd0d17ecc049775f11f34cd8e06e481b0547c06764d2dfa811ffcb8148663d429878d4bf927838fe9e61ed98d87f13d79e9c60d6d5085ed0426850fd0656c527a3203e846bb4722731edba0870e76d6a9ea2925a9007260b6c50583dfdfd93ec506145045b3a60f435db364987ec669a5ac29d8ec398cecff6404d55e5aa2eee2691280b01093dee1c84b1ca9eb397e847f17900d50c891258f9fe611b44cec65de0db2706e9b26b4f9be0176a856df8cb4f35572f4890e53d90de940646b3fda5adbde3eebab006a9492e18818aca14c44953c644cb68645020fcf85334c350035e4ab5569118e1aa8bee42c7e2954bba7e4a94d9ba1793e3d4d38a327fec7246a9348afc332b81d686b4d7ee5606d8b8656fbcd7b91566d4e4a8d9e66e1e6ea34a078e9da9040d3be405b7a1883837fc20814d7a438ddd1040acb8dd43064238eeca2c074e99aca67deec66a6d61d1f38a16c61e34ea54a95c2e77ffd8ef644593ad1dd1ac702bb50632065204f872faeaaf1511eeb9a5f04c39c89aa23812155770a0fb7507359e7ccdfe4c0dd6a88ca5c4cf89fd17f3f1e8968ad15ab752f8438d51d5c115f76e93692b46b875b47add99d352c7811f846f704dd6e2c46383e4d509ecf1952516c072b2078f5efedc6ae860b8c14542cb76b4073f43acb1fd2a01178cf681c3bd991bd9fc8e3cc926e03251d4f89b059e88240e12df6b53402a095bd7d21640a059ac9e504e9217fd4cd88d589ba4050f9e4964b90d7dcff1745c6a0c01825bd5021c48e35b957daa0afb1858a17b089e842dcd843140a7acda9bafd4a343ed2975392ad010c02d715ac786dd1bc015646c923224da70c75b53b01bf2e765330e220bd57f6ad362fd9dcb545b424435e516e6195771bc958d36199215f41c174d53a530ebcd59c172121637825ab43592684978bf2f65b69c33f5e3b50a21daecf03241a57831732493ba946423b957a2eba03896c4c863225c3ab23f54fb04662e58319e9422aa56c8c0e1ef31b923093163491ece4b0d1f6a253f8223c6b545ecf7f5a5872f33da94ade709d44718f96abfb1c647c84c793eb4326543b9006572594de76dd2e26816a2a473e951b1ddd8ed169ae31fbe59f25834a1e85fb0544bd859aee6b9277f5ed6a10ce62830800346cd42497b7acb3e5a307c6118ea7271ab35f11ba0de7632f6a3e538f0f85d7d01736889a9702ded15e0b3af87ba6afe97eb06b3695a78c43978fdd7369a88c44c0c7f8b19b7c6d11517ca8291ed1c25a2fa837ea6bf54172c9460e45df57d26e87998288668a386a5520009c1d80a7d36f0ed19fcf531a1b5dd51e2442722866fb935434a29b60f05b9332d2319ecc0017aa115ade12310e247e6260e54d9771ee1f763208f1a6b9850047c5a76f58e649f11447c15191fddb8d641bc628f083e7655efbd7192bfddcb441e8aa8aab42178b4645e2c579d4a76872b97d0a46a5375816c3e706944b7e9906d1988d5b843cadd771f7a026b002eb5ef413f291d2e5a59f370578b3ea77462c5e75d9a29b576266de04960c79a2104b37377ae796a440aef37910516cfd7e86d173cf2b86a18c98f9c302679b6a68f0890bb1007bcb7bac2a31cea200348dcdeeb37cc408d09a610077be787f0d65dc06797522218e5fa3fcf2c01e95b15d70e20239baa8a6cdfe8b9656bd3ad6691ea91b2f89e1cfa4f9b29c367f0b4abab7bc00fd5ab4157edb2cd7aef9e0904122e10a87c69f10e350bedc9d3e988d63c24ef2e7dd9c354ebe2b21600006cde998791e86b6eaee05cceb13fd01143f1a30940257a456559bb433c976c14a87415bef130bab3be9cf359918c70bc2c1192a5b304839ab780057e337e69f550c2a796e9e1185a7066f3a340fa6f7093319ecf55775b9969c63191b4ab8f64546318a1819153b7829112b8a52411ee14ee5c1af4420c08171d9a2149280611bea1aeaeafa741fc59a3aed162d94780bd6c65d41be5890575aa46a9d5a41a59fa5466ce1b99e86b6aecb8e5d479969c7426af62d79d00b66aa85b112ca57739ca428b9badea581b67d0e15153ebaec47ceca3748d3933915d803e7332ce4b0cd586171bec75af068663a1f62b6dc134f9bad6fe48bf45224e8c14b9d0d5369d388ec2a9c48282f3fe1323edf7ef63fcfd4e1c15739762a4b5d425aef63b0fe34bf280f3e11402b10c9abd4a79531ab6f9343bfe7789a5a500341b4612f6f0877d1f21739f442a4f6ff154bf1e95a9caafad065fbe3df1ba06609322633781ac5e58cb619ca9a5dc0cf016f4419c772d35c5f509e25422d503eb90f1f037379fe46c816700929b9c69bec2aabe7d6787e45eee17250c27d56090a17212c4ddc730ca5e9874d2ac5b0f0a4d9f3fa64aa36261e5df718886eb569e4db7c2639c259c2626189303a1744dea251fd97ab0017fb1151562039739a7f68e3f3763ddca7472a4cfb1a93c52df3b364e9030dc5a2a5dcca88ff833a7ee58110a93f8a51c357edd8d266a6333b4c7333b474ad8c32df05a8b87f8b8e10021bfc0c61b660b307833efbada4b27595d9cd9e6e80a61a212c929f90532a94a7661d4ebaa37e757f1bdcbd84c7108190539cba128fde46ad7968a46596572dbcd1f3bd254dba82115c143dfcad6c47e15034e78a815df7900f0eb1193299098141efaa9da99425ace9c653b9763d572053d22d727a3bb87d70bc2bf69370a51088c94a8900f957424de088cadc715b0064e87eb73a3239ad6b7347ff99af02ba1330d6bf6be8caccd772f1b30d6940a4d5d59df854e87d64f20b6421b208731e0c9033cb68697e35e8a52c65f9b3abd359cfdc0601397185b30f39fb2bbd2b4629a94ad751830951bc3341de0616e080ed8a16c5230157d974f7647a2e6f68f9675d723265eb5dc2e6cdc808dd442078ca2466786700ca74e500924ab72aa7339b5577b75bdf3bedd479eda9d4d27fc512cc76adc575291d5e3af54b86dfb9c4b6a326b3fd1defdefa618e431f344d4380c59658255dc3ded5afbfaf2526d5c41a584f49578e60aec3fc13df296b9895f6cf4d992e4d06b605bc675f7c0e45cd5c3b974f573a51cbaa6cbc053264c18354e957d1c1e4468e8a2fff37f28dc7d0a51e33772c80cd3c2cbcb4dae9f18e7c5b7fdfe68bd26717af616d48d231adf08ea1443c834348bdb5183180f91816291f76eedfe06a5a0b1c46d884738f3809e9b42b1048acbc71436ca545bd3a01eda1c0c1b7f38d850d3abe9be0e6c243cf6a580fb9ddf6a4e8c78f7ac6cc0c2e04292e88067898f8e83b4167afcb1f8d101b925b78c75a4598960d935b7908fc97f0a5ff2af608855236e0b3dee1ce0cb1017148fe0d9bbe804bd5ee467812a99b01e253c9b2868bb5698cdd340634fa96ad9ca7abb54fa368efceb2dda370a33a2947b747fd745805c94f44b6185b0314071de03da64f732429765a577b5e33467975b9c0b59b426ef776643d240f649d4552df41ed9aca2ac61d22bf094e3d08ac9985f0900b4cde6a7ad8e10a7f57aa81a619641bf8a0ee9d5701fb220e9ba2d7390f20a26ff98c616f163049263935471a171d3324da1eef611d936dc489aef7fc559613e7ad798efeb5723cdf58a66397201fd749df0ed52a01167cdb8f5f2590313fefbd3bd96cab2910020842c3a522c42c537cc457242c4d8d97c0b6b7ca726c7ee700561bc8d3f4b5c357646416e34c198f68a2cb11bed1dec886c14534025b0709e4a8d450fdb5f273911a8719f12007ddcc4ccec7bda9f1c29528c7abbcc274dbc4213b23f430a22bf04a328b92531ac2ad485656d27add81451252915e7ab4b3f44b07373acd6bb93344acf4b2c4e5b63a80f38df8300da35e4728dd09e3a1a449d595b395147c2360057fcaf946856af5e83ba91ebef427342b29e88fae11c2530782e89ebeb74340a7115adec608b9f377bd8b03cc20fd61fcfff8e4f182493a84e288b3925e9ee5902e540d9abe101c4b6d0557d2a7b39f90516bb01686464f1f5fbe3d666522b8c03a02b7328cfe391a46de2566934278995f76e624566ba436c0d3d1fa959b8739460a5047e923289e078c49ecd34894bf74df532b72341809f230f225dde112564266dcbc140d075d09c53546a0cdb9ca0bbf58883e7da429cb64662134ba93090630a12a41e4799ab78f246f9e2b47e953d802bd3fa77f7871b625b44a86577aaa6edd82080cc38535b38e6cbfc25dfc223be7ed17a44246591a2107dbe547cbda22dc7b7a9d0fdfd589c7d9d626ee1af77b77a46722f1cb1f04bbf733f7dc30adb6df58e9b7df63f8ecc11445190112702f69cfbd802c902c04de67dd42a64988a10fcc88c7255c831ac4aa10d0c5553484484eddbb20f7544e58e3a6c260e58ff635cbbc77a03bb4d3a63751075ac8b40c912956b5b525610a73fb448550151adbc722469763ab55e9d904d2581695c23673fa85fefe651477a1fea98457bdd368a6e8cc6bf74bc8d1205e26bbcf80dc2189106ac2306f13edeef388288406f4a0061e5e9f930a72c241533075e8b7f22266208e0fbcb1ab3e98599e1239b6220656b2dba89b1e0eae3510f287df4a6d72f72e9a07c7a22f84c9a831fb38a2d80a3e58d65efff8cc807c0ed0a5de9a5d1177e4a3944941c930b6c2c8d9f0814d6d4f0201ca8b5665859cf2be2cb60bd74c54ff9a73fea796d8ed20a5622f7809c5d90bfc5ccd7062e5dce6f8c4e58d6c08cb0cb6561cee9a07b01363f5df271592c4a29172e79d5e4cf4e1529d2fc5d82a92ed526701a70b858470f686d0769e630021f27edb014dcad597126a27413a7dc143463cf006796c52d8f0a4e375dcd8649d979b95f1ceb6a64fb1aac8412c688bf4413c1373923de21858a92c28b77a9e8ae7adba052217995dbe2a11a234df676a7b0ba2984bb16a71ca61f40c7e22785ecb946366cb7508cbce27f4b6ca7df9d4438380f3e6c8eb8bc4636dbe10824ad7d8d20b8a1b27cca8cce682967b4b974970e51ca76c8c15fbe2c530c4fb13d0eb7b8cbe04c28854a3e62a094422dd1d92a3d64839891dd9c52cbfb996c5f7b75a452655a5b502baee79f839a7f5373b6abb6b9d71f93a2bcc102cc9180f38d2e78381ca340eabdd47c3823e31d00330955b9a52179b66818ae2c6f17d35bef07182e90d969a5fd4f5bc7146100694b338101563306cf86fe28f258d0d8198f983690233783ae41f374171706ed8dbe819761b10160fbaec7b1cb7a9878263f17767f24ed6d54cac3df1aa8e0292446f59ba8bc2b2cb73a548e313e8e05d6773b8345030a41117f1eeb0e913e5815e26a811b23da1bd86a84a05d9b91d051ad35dec439082cb5be5f571d1bd46a4eea5daa8d2d2c01e18a56e68e3ae2d6fbfe9cfc9cad64b94c59ab8ec1a59126b81b2848af469b281ae2c650530d9a3499ef8b33030affd883dad3d802285b2ff7fac067b1d08e3965d17b5b9c35c8a0b225201915a03e54d02cc6d41fb9daa3b7b4b9a77d2d417ac3e760ad5cbd372dc16ca6f1ba2eafc6cedcd995d863b6d942258e75c7cd9fecb75606affcdc4bdf8d6fd798186fef162d1d0f1d49970cdf236d62be5dfb10d56151ce0c0aee4849fc3d88e65c38da6fc377350c0cad1d659d3696e33d7e7dc13a3727790e9dd70e296707e9768cdbedb8b41ee469b51b0014b307eb8206d6578a382e5232d23f49126971a6b53b2d3d8336db5816997b43278496176f79fd366b67f6ef602aac64d6e83f6641dc3d0faf4ff2169ba15c1a2f30d35b64d6265690daff6ef3b33572f19bb68153ca397f5050e505d017cdad4289d7b78726db9987d9dbc240c335ba23b95bd3ec843188300f81342ba5ff8535fe531e70194f046e8dca280d28c0998740ff89c107c2f32c4a255993370a39ba4d8a713d31c330f8f245d0046766ca8eb8a247909dc38dbb212318665ed3d932fd4a013b751b8c7151145149e9914e04ec9958559300fb60f0e522a6dd5370dbbaad295ec117ee6859368705c0c8c2e3b4b86d56795d805f2a6c49a8f1901d11239f8c781714ee7d1b8f8a71a0e6353cf0852cef45467f061059385aee3681c36480f8bc1994ab8d48ae9e3db3e7d82c82cf884e6b1bf20c226518e123c649aea2f3f559cc3c59f2949bc98302c825b5f67e1f1225be4630394d3ec9f134e3e2b7548a7a320fcef31c4851d254307358c53b821bcd2d6c0c09d197f7935dae9a7e3b404f0a7a3d61c8b2d5e586c52ace17662e3af61679bf19ac071129068c4f5abdf2c9ec94ae32481027e9170b46c411236c32e561bf14ed31a87bb9a0b7445f96362512501b61143ae24604cd7ef1f550498d1eeb27f7d96204a18fbaca1883ea7def4b24b0499cce84f605dd4b5e4466a394ef89e4560d011570b670d56511f017bc11f37a89f53df8eafb0712bf97e39797ce5eab13ce76e2312b582d51f07d6b94af558218edc0e8cb580d9928ca46c3d1169f18a3a76e29da0989b7212ee04e288a0699924c3724bda63734e53659445a0c2d93d913b667397dcc268e0b714b5365f54fbe4b1ee47f1a4a90c8ebb03950fcc00779138904330f24460f216879bd7b051414fa9dc1cae1d9a0394fe13fc813222406865be55d1db23b776b541bdb70a55784af362374cad72814fefc41a6b56906c140cd9669129b6ffa694c327b7a6059cb14fe94f0e45e3c63d287ed4aa9146a4632c0ed2799c5050056cd782cbff3643e23015ca5a5e39a392ddf9c83a07326b23e33d7705fb5b4b0e618c55694fe3e0ba3e7900dd7c391d792fda9d5bb60da7199ddc30407fe75d03be7d0d685ca94273a282a9bf8fd63da01163041f593c4f131e744e7de863386b6a64b824e9186244818970f027b024e848c52d5b88c4f905e1a8386d86436ef7045f5722090fa2940b631caa130e5aea432b11cfd525c38f60a863ba0578ac131726a548c8f9d70319abbc3a448e1dde64a5e91a5461dc7650bd989f05fe59bfd624eb0cfdb47c178e7dc2df8c165be6d1cfb92ba31097c1e0e2bcd0730e14e7e1a838333b99c3c4abb910aa9f3d7461c17bc917127a792cb34eb0f461efd8d71f952b078631b283871f1ba2ed4b915d19b833e7d6ac10f46309bbcffe250a6dc71281c60c5b1449194a59e41203166bfdfd49ed1f3d029c96b2d06bf4549ff1745fc7f77bd937160b243479a1f7a49d32f1bb2502a85a3308cbeacc3cb785f47858ff9177bda0c8e04d1af3693c73279fb444ef7c98dff8e7e3c39b884c607f7ce44ea0b1efc6c69771701b1821c2d96f233987f9153de501284ea12a72e4bed9f3e79cf2d939432b490520824e1ef1b8bf25d3cf149c2fe0d710b906aae820953c5a43b60ee0b2fb534d9a4922a2620f0873353937caa6998d83d058a5602164a96cf898db0f9674488c7469713fa3f1b48e84df80ae04a489b00a69517308319e0f710ab3aa70699fb17f08393c6a8170db5f43fcc0ba6ac13cdc7e8c81274f39708ef058e10f53a37e3ddedf92d00344f9a61ad73bf5ccb06142845381e85350f4402e31a7833ac0ee68fa71f529ef15f7cbbd74a0035d7e07d0e64b065d4746f648c2edcfaf2c647d7ed345e1ad769f853c74db76185f6d7293949890366284b689deaaa8e61b7a35f65b7d90767cb51d5875fdd8212b7c2fd98dd6de2825cb7309048006931fc2183305215afeead5387e3e4ac03f81aa6022c3afc84d5791fb6fcf2a65d310877fd47be0503365eec8538a5e8f0cfe1915c35cd8638e630bb31168743e658a83959f1590b45898c5ea022440c033be711f4f64760bea7070e03a06d55fa3f2af1a338d6586a28525b0670834f7741ce2f7808e18c50c5f52fc0340e2c69bb869f5ab9954b6d509b1dec8ddbc72b285c39de1ceda2d9cb06577e99c9100cb66e95c8698377749f13299bd65515e1d3e673054fd799b1ed4aa8b2c281392cf9fc1b4c8f98132c7bcab0608e3b41c93bc151f158f9d4b3f6335c5fdff76c8097e71abf4f5effc678638375ef698a7904c1fc1676d82f2dfa361bd7a018ef39f334549de3fef30d621ac1b7997a73c9bff6acde039715776d33115dbddffba9fe69bfcecabcc1e88efbd51573828dd5baa9fdf06a0c4230f55616d1a027ca50a537475e4e769d53df28c9434adc04c2227e4ba05e0fc583108d551a629e15871c0b419a46f2e2a022afb82254f17538edc6891738a26fb76902ac1a8ae397cfeca0e6d276d7fce8999d40e25fbd171acf2781d69a3cc9defe3a692cb60a34ab8302ac3ef991ec4cd14e5624a9ad66cf1045db49c5e3af32ccd6e3db674287a47cdbd3715a2430028ddd8265a835c5cc54ac1adf212db53d505d1e825c5b3c336315b1973c3cc78215618b7d6f1471d1169d8047f3810bc70fe53e27d45aaf8f63546aba5011e0bdf6d0a913c7a7b326538d28bd906a9ff2b346ce6c9c6e0de887f35f595e245eb7303b294efc1e2a01a29a353635963477e1b9ed720286513846c272dccfcbd06e79fad05dbfdb82e32c118a6c63ac2cd1595a4f22033100798a9ee23b6b0e97af6a7385ee89e3e6cfb2e87359cd1db0e5f028e9007c38e92a3ce7c163baeca01d95e8d76fd2fe34bd9de48b86fa9cbcca5a6b1fe69441806f2161ecfea2957f325dc5caa9a846db366615fcd93e1d8921716f8d486c76e41779ab40e1b4e2cd72e13b64b3e6f99e01ed68a10b36017fd50ca5c6122fee2ee8ebf8dc0a4ff80f5bd430b912522eb00bcf2d95d0f8b52fc8547afe59aa977cb76cf44841ea9872531619e904232fb38fc4148ee574690a140d4b22c2fa0ab6c259fbb8bdb1c5d91feddac9fcfa57554ce047f4e4b61fbf861d3d8d7243063680584e51759f5f4e7b67c37f998eb33fa408b6dff199197236f937f235dece02ee4153870b97398e91667035cfac750e037d7c95410b542a615b7fbc562670c3dbd242dfbfda69f24e0031bd63c95428f9a26e2bd7dfb29ea8ace59c3f6910c04589809fb93426f297ee3d5948f43487ad6f58e0f40ecd9a53a18774ce7a27b4ab958589c52b70a163cd98e805c2a632aecde0e06a641f38400130b20a502fcb95dcee6ff2b709f0edcb04743847397fb133d3e0a8444ce8304fa2b40727655b13d6643e3d5c7f79e6de0801795472287d8d2e6cfb22da4f24e42a53aa602a0650510ecd777bdf28c20b6bb1e4a962cfa71a472014a4d70cac90caa7cff218f2f54724bc703c36d4de7c3b8364319b127c72b2b2a6a275347cfee7e98edc508fab8561e765bfbefa09e1a6e4df08031e6de24e8d1e6784dd7556fa942cf0f621bf28477fdf15305baa7c1f37228bdf4a4ed63b3c783c5b4a2e44cc339c76b584f91e3d13e6f30b5ae3d6786ffa9a6d0d1d11cfd38c2d797dca9bce65d62fb7a1c0a7c9fe2905b0b0f4d65c3c879e11f25608f00ec5ead230acdce5d40c9e80d54af50fafdda9ea8dac7391779937764d4467e67411fd39d19cfdc30b455e6de7ef321b55a7755ce52e01ef09131a81337e6e5fd8b18de654c129fae5fc70b7b80d8009f647c24ffc63e6e0c3ec9911234fb2ca2def01983c100fcae8068ee711c68526f1b49260422c87c073133975c2415373a59353e5512ef2b4f31d64c63ec6e90dd5a51eb20716d7d62ef6bf9ac46b7b0b47f4bb8e97a1da309f39822c5d52a9d357aaf23af56d6ed20c1dd70fb6445edeac69d293ed5f051939e9d1b7ef59455526b636a7b611e60d8f4007fb5484b1bee6c1db247dd063c6805501b830414991ad8782f82c2e75984cf0430defb3b5b37fbfda3413ddfba65e4a39e53802adf5baeffee41738b7115b37582138584a3e186da379e45553cb6cbce36bbaf52449721705a72519f316c61db490ecee13e042840f11f1b355ecf8a9964e8a986bab2bf66e5f8fe922636a7b56ae5298c5b12f0ebdca513c27e700ecf8e564c16f54e736e1bdb071780731c3518ef6279062472c14345a9d580487a00728652df3068dbebf1bbfad913989b66e83fbee997e85a62056b48f5a680a02ae98af4dd4008a975222099930ec2643203edcc8c0d784ba09730ed08070ea016bba23f14b4bbd6553d112395c8d80e2f19be8d5a05a708ae9f920a147db9bc0e8ef54022fba068276c0f4eb99326756c131464ffb4d94e940885188ff6ad5af640173dafa5d98b044469491170e4ab11114b1bca91315197d3e3dd068611424ee9ad52ea165ffcf97393d2fcd23337622e35b76227741d1105cbad87944f3d7a11f82740ee073fc98f5eac3a83becf7a5a351eb7325e433b2d985831343c1360bd48590d59ff2528a580c450764648d25d36c15f95730d145713b58981f4c0934ca79ace25458c61012979449fd66dfc1e625414b75dd2bb892ed065ca871a2fb78e3cb62e51107c3d322ff150ba737e6ccb5943bad7cd0139999ab0348b2fadcbef5e58667fc5ac9b48124bf5d9e54f27a75dbfb0dbd872e2d18cb4df19a889483454bcebde9958cf3010776fd88c8573dba2399bf1048562d8f3015b8750c65d85f3563dbce614146ae6203c02e516471d6fcaecee738a89ab6f33f84e0e78319e1c8b9ac3bc726956b6b3facafb65cbfffd630b4a134047d8d5508822adb7794b4e8ddb07698aa6facaac0e3fae1e1d35f3f87dd48806189cfe9defa2f69df2b53b612af6a2486282263ce99d919f7e663428c4a70af8d342d46a380307bc0da63cd2dbb2351732f295835fb1b5b7e40193972a4b0a412a4395ee6498e5200ec5793a7d068b64b4338e84f3068e7944f04a58f8f66476f34484fb0a738db5d18f05ede5bd9f7c41a30f17e01605c1919c3d2b86625e9abe482f5073fa4afdf80557886e5151f575709e96a66a701b55cc68bd493f691b852b68ffc2872ba48c1abcdb43eff28dc3bebf415ca5337d80a15e64e86e64e3ec2ea1d625b58c4aa3467f33d8f30a7b406d9d0741ed0176e6fe14bad2d020c9fc599b0b9b0530eaf97059604ad97aa032c8e462f586453b69af1b8b0a92a871b1dde295611ffe39bd1ef856f6997fbd468808d0d0a08536c0c9b84d76302ce3add8cc708bbaf96598dabffe20793a95b4da5a4a1771c9c8f1cd732d368c6fd137d98b8f0b96df2955c5ed0a69ea4e9dbb082879afaccbcfecef9d8803c1cc22ca5a94ab34d0aed54f23175d8cf94fdca1f9bd3054a97cf55f38b228275392f7d9d87381977f43288adfbd8b8e91d4481b89c55f8dce6a308908732ba80c6f009fc64c7a124ed917a0a4d16bfb40680d6528e5b71f3cd05065048d78ae97da5a0e296ff1685f55184caad1b71d4c03ccba5478fdd6a83bd3301e70309e2b2d804c9bb37ac2e2cb146586d88686725a00b4b3645b0882fe45c724530761df0957f868e4b49ec9c6a55c9f0fe43bda1dca280745668e623a723d96c9a405b164b99fd0e018bf0cd94cdc266faf166d6f75752601a26acfa9a581a62aa8fa1d3138d2dadf89446f0ed770767cbe8a5b2b59e05c6fe366ddd5957c7e0ad9bc1bdbd850b95db66d05f575a7cc52d42c9e70377ee3382b4fe3c2694cd1a0f546b1cb24955de843834d960d905cae0cd9c93b42290f9942403f4a55ac65f1800c5f9b008e25231a6560fe9d3b5cc71730bbac9eaa3a79ebd5a7682ed1c024c40b9cff926e9a35f3b6c17bd26f6a0a09ba7458af4c605a7bdea89492db3d18f55ac496c7a74d8d993086ed716d4eac78160252496bcee56852fbd8144f345f7ef4350ceb86cdecffa01447e62ebec11db70325af51451b6167f50c374049a33907396efe4a8f498aef736ee56923c1fd82f8f0868cd5ab92e4135c7b8c47d5db07c437874557625815ea64863a43a9e37e5d6af0df354743dcfd6e0c36f53f05b4b4c84ad347da531d5f0566d826265ec4a359ac62b8fd2d66249d74bc2d951dde2522e430ab7eb24fc69781792b1d2392fd83cb5e5ba03f1a4d3a98bd9864c97ada2cbd95dcf1b38be60b3aacba11a80fd9d4720862e412b1b07e8de9b85bba0d6481e6636ca916f1c7cb4a2f030b74a56c72c28e7f0897b08f4b3170e817a0a1431c9c5b2a96fa3ccb510424e35c122fc2b17a05893112a2a0cb71b8a8a01960d378feb412da398df7af66e1e5a91f316972c021c7deac6a15534f2991a1fef469160af8e229b2c92f3306b441a8f4143d9428634f6881cb9b8d31c9423add189e0d879e03affa21ac425be6bd9360f2c4be97457c7541e5e989e6fdc2057948cb40274c8671f60d6bf39d7ca80dde5a72c943b9d117722db293b33b6cd9b1239aca88659bde4420d30800fc6fcf7b6bed611e43203546c559f463eece9943975dd464dcaaf0561ec428b9df07e621e98d704296d531bb46c5ce2abfd7dcca49b6958ad1868a5dd37f3475fd56331edb8d764daf17de7dd28b9f7c5346902fa08e3726360753ea42a542a3c5e56b599da7ec5e1d73d7a6db80093f4dbf535ee266cdad08332e7d16d1f32fd652a0dd124154c19aecfb21b92b49d6ac59710a7757762ea5a5cbad9f192495e5f23e964e9596beb93b12630ae9e90804350ebb6abe690e284adfcd38df6cea8f5c6a356732d09dc6e1306be7993c5bfa168efb99350fab94d10081c5474ea038fb1c002ab59506f199e1fbbf02a408827475677ab2c38c0b54b25aef5b0ebcbbb56d874530ddc8ed7acd05cb032c27bfb0901556100227139fbe539445cc4c4cf6fa1c54e038ad368cb1f02ca8e859368ca13aca7d350a61c3438dc5947dcb0ecfd3ac98bb0ceca788147ccf58a7a826ab5d56f25b96b407f4a9f32823711c1d08a2b7e2883fbe9dc42bf2adfffcd65e084767b37327e2c172fe4ad83231c5d6edfca20ad60757604112e5bb58508d740fa12e1ae126d87e25501c2ec87c981bd28b9a8a83fce3e7d7d5d4a9e8ee02c9bd030b66df0fbe7b80342cef8d63811557acd7fa085ec386a7b8bbf905819a2c45b62ea192001e2faee56a9ce98f2abac6cf40a47bc34da93ae5522442a5826c141dd81e7b1c2fd3a6a27b46af9d92dbbe8b5ede0540ae721982e32fbecdc10fd39b82a87480c7e27915eb7b919ac2d133a98173a2c03493b81c59c6300194122bd4c438606e0756db0958d5ba6ced0692198ba0ea7264b029895df41a44361c85cf67a11947a854e0a25c3c608381225f8494e3c1a6bb826f0109dbbc0eb4f9308b464cf744cd1d57ba42dc9eec5729d476b558dde142af1356e6a357fe4ffe7d49ae6a39e32ac927a7dfd59a242fac65ec7cb64da499a51052e8e88fe87f20066c414d2123003236d3ffffa48842e57524c312410df1bbdead7128b8542ee4010ec41b3f41c691f3598208b159789bd93925c6cbea17f3451b33b26a043d1ef9ead22edcc84c434aec60fcd8698e269cb250fa1a7feb8440bd9bef062fe81259edec6604514bbfb242cec6d0b034dfaa2ee746c99b697f395a8805119c1fc97d815c629c04e80bf52af80e793cb6f09b5a797baee75c26005f7e128647a4ac80cfbabe6c816197c8122a00eccc7b31d931ed0b81c0449fcf9b073f729d3022c7e6a5d49db90510ce7458ffc2e2919a1b1a1611b969d3f15fa355abd6c946bcd5f064b390cb60a2e6266325b741b3126f8c871da244212d182e7036ddd8721333433473b58fed6ac8d94c624f507ab088d873ee6e0b56492669abc0385e1759399956ffa5eda66d2dec21b4c49dfcbf61cfb83c4bff80686ef0a852760534def261293c2f3025dd961580b2621b357b526bad6b7087844118f3c36c222dacb80ca1f0568950fa7787fd38732d8e7867dbdfce5c7885eb544242e3ebbcf85e82c488c7c89e958bee8073e3d99c62a7fc4364788dd4a79c661fceb43e3a27d44cd252cf808899b2abcd008b2e180a5844d52cbe44fd22cc053f9e4b0a293dde29d6f1da868d967da11a248850b3195d28091a03b4f1f611669c8a3d9099ac17bca4050839b2c8279834fbde57d580c1783d9ab37a1f449e74049f60081a28721cfe9f81904a45541f0740d84a1249d89f90b489ba56f2e88f4d6fbd40e49c67118d83fd282351308b9bdc07face554ee4d00df93e1c2098f1b05c7fce5c2426bdd80b9d2b706e9d2603803823c216765861819eac14cc7733fc01f65e4b20710871f37cc6df88f3d16b332c5b51766e7ae8f00102ed003f5302ea5b2eb4ef2b88affd5da0a07cba833ea9bf4babd29725f13e0d3262ba7b51b02e0f7c27e62c44c6bf701206c53a20a0fbef2230d35d808371112b57af21b9901ed8d780cd805f831267d4904eed11f4f47b24ea04d5cb15d1f52be564a7ce36eefa7cc4096786b123da0531f9f66d3facdb73ba8bbeea55c00392f2a79b01d6a646085825cb35a004fdd058b724cdb8493b41e62a636fb60fc541f6fa7e9278750e7142eabda6f19c00531034ed5f1efc473c49251375ce94a9fcadd79332d16a943b9b426c7128f05d11f5748b37c0918620199f653431649eadb6901890351864f51cef9ab57373996adcc90d99fda51ebc998de5169e0e057f8231540b08d8d2d3bd37f4376ed070aaf0012a501b839bd12197a4b1a45bad354fe157d853f07598b384bef8d78687d85671bc3b978cdd31223cf6e457fe04210e742188248b452273063645a72d169a943c4f59b255b02a01cfa233909b5ca3564078506f2d56c6a1f7f2c17b0a37d43eb54129c08ae449463db560928b8eeb7b605870c2e9ed1346d50ed667aa83f4d0c2e92d8133f5bd8ae7ba25764901f3e97666056c1791a65ff82f8250839f5f87d294cbb6b8d1f9483f27e89abbe8772cf4423994c49fb1692bcc336d1141c3c78a72a9185eaf131956b8c0c460fdedce83080841faa594b1f3a00b5d6160a641224193304bd012a4a2bc809b2edb7e3961565e2813e6a4634a1638b321e0490cc541eb4f1ffc0ed381566f8d01a02c7efc85c31ce2dfeb0cf1ecae842cad8d6a2ad39e2e0a3d7b490fb21d204a99f4a75f15ebfc6023d7596fd2d8c9a34533a8ea0fc9b0f1793bd0b5e8aa8a9059c14dc66e1bc2590b47a79175e9c413921fc8c0d8900fd20b3c2ef111a7c95775f71ee5233b15962c7aabd89b58c2ba7d0d300d04f44f90ca29b974e88e93917899c8084782178f23ce5037ef94a4920a2d1af1e27d5f9573b111361be271a30aaa6ccd1055ae0c0b75c67491c0bdf952665b84de3e8a813f47395b7103530677e40c0b996e6ce66bf2516700ef3d3bfe005d91ce593ab2a1e25dc1e7f725f2f2a3fb40f29edb52a441b89702e078fa380a5568bad70cb6236c37a28757622c1de41160f1e7229ebf50c8fcd778e2b2a2ce4e65748dd69a4ab55b79e652585cdec9d31afa15a033d92f6f69739a82fd42a3131d1d6ee5385ae9a2ec7ee1bd8772e86a5ff30a8a21607d4b32a81d3b4e5b021e1b2963a8bdd310ef12ddef34b85683f98d4063bc66a3538fe077e69f77228a7a755fd4f2e08d9ebbed7f5b2d5a4ba05911e895d49a58c07dca642e8955035f60721b1634dac7b57a01c1e21e3093c8c69f57bedf55c904ee5ac843baf594b313fb066dabc3ba70874307f13bd1f1880026a22aa327c4ed3ddee2505b2155e6492872e4145cba83dee6c25b510d1c0fb058a4f6fd8a792a9860ff0e3186f999b76ee4a4f007e109dbdcadc6a7d471ea64166cf47118738bbe51eea4b8939e6d6c231ed0c28aa17617f100dd721a38e6747fb57eff3799e7fa158ef652854a396eb77093122c8aa7f097a595235e3d27407ced01598b247efbe2ef83043f41c67d3953d41d5951d37e4eaf7e2bf8055b884d290fac39264cb35f13d448d05c61a5822d98147d04941ac67c7af17419676e5dfd9a9ea41776b7aabb0d6d7275a67d246de544f5ab7bed0081ff117b7dc96bdcf3eb9ed84d72da11d315dcc533e354f8b9841e3dffdee428ee6c4c79569ba436cce5ae91d3f482b06e6b8a02842ce5b589f023644f19873f01ab9eaaa8de3271c0e3f062ae3ba2a865bc9cee001693936787a00d18ee9d325af340c14ded65a4813acdeabaa38abc64d5b328ac23fe8aa1e76ff402f6263e8068a9d15a99b65a2ef9f1e56b41bcea8e67400ebf929a67362d53447e3ac8d48bbbdc6e1bea56c2eaf7b1bc88bad290dc129715692a4149f4d5376833a67e01a715c8e6e871fce297eba244acefc99b05497d3ebc0e6150f243966b5acb73e1f4531d7af200e171df8cad681507f4d0c8350d761f24acde0a8662a8bf97bcadd8e3ce0cbf3bf983a0de67875511cc4945c956ff63f038536ee2c11fe11ffaa13c9f08ae5d4f8e0a792bbceba704a1c12ab438ecc93773da00b041e597867f55ed797ec5f71fcb5999e1379d4769c62544c64290c395b2faffda4d2fd501c75cc95dfe64e4d057e88ad537f48baa66e47c9b2305e658c6c8bafce3352193a8e2fb531733cb1758822d564b6fd2e1b3e71f2d8c6a82ceca669a234f6379961e9fffc6c4cefc5d1b37be5892cc6ca0dbcb64682a7f35d37f517e414d5f92ed62b7d2a1a7026a9de8390f102f1d1a87dd32b6d0a7d6364cb853061373d65fecabd5d5652852b6eee0bb3ee4c08cfaa989ef8bd611feb8934d6e24c65364de2e385b8e748e231585d2ad4ac7d7138500ed02585f386768f4025b512e0d31a722e10ef2db776f3c9d0aa8dbf76684168c052b3deb68aa05f1d4e9e008614c5862e9c2ad9165f6a1642c4ebfc0a5068690ab5e937ec86c39818b500fb27457932ba286aee1b1575bdd2ec6de3c54cc4403e9075e87c87b53a61d2a42527a8775aec7dd60dc801d8f1228b9cf5efc0217742914fd09efceea6cf865e1f257f2f7dcbfe97a7fd9c8b9f54f7d5e15d9c130e29b337fe76cfae763e48d9c8ea43cad3a3d06eb8bad94c4f924ee1739544b9a1d499cee375df8b496fef9535f0ae466befe5dc3cc9d235258374cbe851fb4d050f8e02f208eb04904956d2b6a268baf2b894ba98d4f033f531cd89e8a58931558328f169df3065273ac6bcadc53cd7ad8717765e40b858e7cc7c9a8c2debed47d978e65a86eb65f60974f8d18e28f15ae19b907acc476bb339323f2cb5fbde53b95ba4126187fd7bb42756fade782aef1d253f2f562ac9bc1a3abe575c1eeafafd61efbf34e84030aeadd580669973f467ac8c69b0c9331c78315d734d6d4e764fb31526e7809de431d584fc4c5151aedb5c7dab3c49d1c877fcbc8983a078443df64a064a02bde90b4910ca628c4e38f98466885c24ae7ad0f89432d7dc01187aa2dcb5a9b4e32159f02ce392d693d114cfcc427606a146c2ddb00ab31ed09b010a2d70f189fc486c8d15b0b0c6af270d5e69f70ac1b7027b1ef50ddc53df56a39c1951589f9ee211d7e8aa557749ba0bbe04b7bcaea2723545292297f66cbf6762fe3d2a27b2ca5dfaf4abc929365f0c8f6150a275caf08ca4988defd8fde7620b8502e46985f88f03b5c3557df6f310c9f139bb2d4e078159910afe6a56f4bfba83a1438480086d1cbe910c7a2aa47e8be4aed740c8328e90559fe04abd026cb6dfeae01947387f36d38963ddb1a6127e684d5d5cd09241f8371b6dbd762149e58581663266283e2b318509b33bcf36a6373e7dc5fce949d0bd4d265a186bdbd79dc68436c0db5bdb62e426d8438f48619fc5c16d619dc9a13062714ca4ec5ed0d14d3681f950d2a2bba6dbb1718d6369436485a6b52088b160786ea4b26cd0f4a1a5091c343b1625a63a1830434ef952f62954ed4dea8b6f250252c24ecf9dd8ff94094bdbde7f0d11e9fe3273c9ed44fecab2da0df644d39837d1fe9d965d93f1f88e171ffd439b3bdf7886ab6c458659d37efc3d97858a8e45d6e82fef70537bb99671bc2a8251f3774421e883426df831f82ffc3ca5c786145b80cf22db6735a9f46210887c6ff901495154d58e735334080bfe64959e8ddf2940211c0b9812c374ae378dcf0c149250261c8251fa74b322d6be61b0c95f1b305c5a07330c9c54132ea547a7c2f265342b44f865788ec1bb25b639a4256317675f665066c7ce68ec5ba4c1b65dd85cca0722a77375e949fef88be721c4b753c4fa97df4ae6d847cd777ad3856ef7db3bf9171ea20f98eab3d7dc87df79ef6f632b335b695b00eb30fa3fd1b0085cca7f78b1947ae62a17efb1c91e2932a0d6690f73d8ecb999e271de0eb59914be8730de81a9b8595b7915e460a3147bad807fbbc180f3ed2bab4942500d94ef0cf723eab9d42d08050f067f4d030eed3c07f30cda501d1050179393793529eb74c1b943d9dfc81c884384623789dfb47a5396c9c7df440d0d56f3d7344e20379406a8cf92be391e60f7e40f46a7849e0c6b9621d671cc74cea434c38b8b1562736bb1a8b183b87835e93f34982f9ce813d5d0e56af0ddb8cddb05db9ae753f3fd5764fd06e2cd715f0bad26c137c2efe72edfa8ab117b4fd97fb2ea45dcd3cb38dd8cb9b617f49bf6783b3af471f222ea4c57425c795fa6ffd5473a1a86ea7f2dd922579b8fa9f5ef3ed2db9ade02d75d39521bd062da14910fb68256de71796661c47297c5962097d486706a8b7e63c45c1a354f0633f1493feee6a143b1dbda5e4d5043a12bada0b68d629f0da9eeeae34e84b564fa037c742694e378f3dfee3cad9863ffeac98270961b6b15b975cf27d1645af4f61eb0a2b7dad1b35050873e4d6b4791b5c5f933cdf53bbceb7de80489e5500d505456da621e9d9605932ed28e6b9f1abff505c6787a924bae677d62dbecec14d4f8a9c674ad5572339ae5d2df146f17250d861ce97ee68b730f7b0e8d5c1b32e6af07fef6a0e9ca99d9697e6ae329d20fc8d3338c53fca1979e05ecd1b34873beab54cfd8d1fdc92f019e4ef4e26669048760422707809c8291c96c066e3faead883c00f53e4727f964fa00310f0dd2b32e2bcba17cb066c68700c89650f50d36fd4915265f95050ac3d36e4f6796403fa41e59594fa2d1b3f517c8aa35dc3d86dd5d90ec4ad0a7543c76c5aa3f9dfafc56dce05db67a170b5386c3994e29f4afa8b1d1dccf533cc5475ffd64276e2fa6649c05b6ba3a53e7aac6a88c5da4efc9071e5cb436e22094057477174b3fb9d3aa83175dd3d866af8bf525fc4235d0d02aacd112c4d94df89c72b121d8adb00c36dd1c3a8d7fe286de58ea5e6a32c34778ba395edcada9dbcd6d2bfe521929619217ccd0fdadce1a9d6190df6495cefbb5f99b1fb4b9455988860317f08fdbbb8bbd51e494dc6bc2caf5f1e669e55eb6920b9e4ac435eefcb0720a2f6853d87814f8d14c85dc53f7545d63559f54355690cab49d1f78c808f07212c21277f66c84ae037f425117535c325a2c66b08f4814a26b18f0b574193f69a544b51b483c1505b501e8fa373848dc6d0a02cbac60c1026d85ce9938c094b0c2d33a82ac43617f284504f59adeddb74fd9b7bc1fbc337d606998da1af1edcfbfbac4477b55896c0dc2c7c9a5c30cbc2cda4dce7f16b2df88173a89ddbfa9c6fd045596623781870146119248f1f58cdc2a8ad6139794263a18fb195884e0c7249d9e739ff274564bbba5d0654ad01a4ee17383cc2b1c9a601ef09ce33eb4d3fdb39499c4b5153f02edd2d20cdac6e2662f2aab523c26930f8ab82774f2f814e57c4905649be0543c3cc3a39669c75a6edc6cdab47d07cfef7b38888745e5049e381fb4e0728c3da65678f39d4bb5a2368ce5506e2ad2b1b5f6902db0aff5bfd1d1c3c21a9c18ef5141eedce4b50c02538559c3a20b01892d0b4ecbb1b3b13b37aa16f7cdd7a18ae1da55dcd370eb1c87540a94c160e54da71729e18da498c499523b7310812de8e126cbe4ecb65ded848ee85a4d55f1eb80ff521a8db2521142933014a71e273131bcbdb571f9ede45a0e07c13fe99abd8d77e13d4763cf47600a865166707e0d69a50ca2ad61dc3f759cfe333874ff030cb611fed5620d9afe14a05ee487ee3845e4e83e9de844aac7ecfecade7346429d432f4f27960c322f757fdb67054687bf160dc7130359a9a118f8882b3ea47a1559eeac484a356a1e741f1336c03b3a7947e05c1f22530615a23f370ff362e15221d68cce434cdbe1805f204f67074cc2baa0df26bfee83d335d5b4fca18607c7e0c7b2cfe08b9e22016488d9afe2b2078e7ebf7326082aaa6930b6f1659e47af859aacae4508e1368a41d4978987467ea7c2a24dfc53ac9d0a87f67c04d41e6387742fad56eef90a46eb681d934f90c64fd123a94843a253d51e9376fce44be347b99205dfdc70a9befd3c46d3a5bd24d1799583bf9a01378ef431635ad6b87045ff1c70571d5f4109b3e8e2f394d380f9c34bb32dafeb35ae83e47fa2c30c60820f18577abdf394a25072a8eae0d4b43281c1dc15ea4fa9ef80b6723ab122d58256c62a5b99e9df9e95163b63836e45a56c0fc136a1c48cdfce25e306e575f265a9b6160d5a048fda142c48f2c0b834ce83a1105e1b03a82304e55cc9050eacd56526ed0c833bde40f2102006ebb4743a4ebc97a3ceeec873259d7c25a71291549bc307d18d0c9a7d434747720e440eb82b673a8f8fa9dd5917ecea2a42c3e76d68664ca430d5f914aae2e94cefa3e92fcdb5d32c18ab20045981a4fd31a5a554b645f1ad32a2e676b4e4a480c8f38b12fc31c5624027da277ed9b0634ba11d284100320b18a051ad9b832b1190e46bf68de02c935f105793684ad86ea5798caf44c2e96e13652f6e4deb7df9e2c7d3b3f0416932a9b33aed121ee8ce437ea044ca4b430089b2274cf0ccea04960dabb0afb0ab05d8221b65275c0b2683f926b59597d47504c6b2b854ece94ceffd7be51fdaa957ee38922289f7a148d950459ab46e69e8a7d421a8daa244a97f9ef73faa5ecca09c5d4ae99ca9e9f51ae0ab688989f80bae9c378ebbbb6e62a39c4f4a0d4a48ec48031aee3511141762876f7e29f36673981d7185fb4d4d02b4af84a0da7f42fd527a09371b66aa21d8daf8ac06315b9e10d7824850f18a1b8e0b15356b97ea39a179e9b4d8b67de026d36f611c67dccd0e80a86704fd5bd09722c8f39986b6c35c9cdb7e47c112da47665d5bb4ff283e37c721e1a3a82efb682707dd427fdbd3ce6fb8151cc83cf59e1300f706bde709aa3c1ef8e7881b6ef241893ab9057b393064ef858fd75d8025513380fdc784f6524c739e20316a5ae6a35437424c99e000ab9e71e362bcd9d1f709caa5c11f8b25d8ebd5e12d672d5c9324826464c3597a4c6006699c413931d401f4014183a62fbf88e4f9784dde0884d072fbb46d40ee45a757793dbd6386a83d6d949b3b46a09e6907488bd6341429023575a100b8571799a19b6c1c66934576b986ae9e52591815653777e1278380c90a842a1057b6223d386614d9ab8ce7338c7a8b79d7158400293b5be4dae8bb2823a34327384b97af3bd062e6921b954985360ea3471f364296fe142ab27914cabfd666dfb33901289ffb1f2725322f487e4ed33018850aaff84afb43bba7dd471cf4987c1965cd3528738bd90ba18b06d6f922ff52e5d6993eff89cc32f8e6674c267864ea62dcee5a7cc32506507c57f1a5664fac671cffe4b574c79596b2eb569653df8c710c157f176d3e2d778864f5a2ea14cae566fc392c4d92a0c99df2c0da2e284cb861b0883b1a3fb6f67922674c463eea9d12e7c080a9158af96196a5176fa7aaa0c7372980b3f012f721201d92656f9a0241b153faca345228ae14f9b3f65c5ea928e32173affe89945f512654fc666da5cd23535020d82027d21eab22a7f85f903b6c171b1b0bcb61b00f17f288f551758c2b721f3d61a7155ccf60f0f7620f1446981d5be8e9c7dbc64da3dfc6fba6a93d4ecb5c26b3f61b289f40394d0351295f3115d35f0b6510e0e8b637858681a811faf9915dc5a8797a3a41facefcf89e423ac42eb26d9a28f6f1944e01b562504a529c39ffcafca0f00329f9d776e25aae8884c0290ba0a06badfdfd81afa65acc62d0f80df6737bc2c5b0fceba94f421ab20eef9835038338ced06574445eac021bba7a658aae7d6970ee9f81b696239575bda973611651fa954f1ddcc33ff16f052f4c6f19d01af61052801dd54d699cefcf519531489d8098cd459fb610fe5faad713aa4ce21196791626a0414b9f2289777dd4fc1b11c3480c29344415ab6fb4bbb9fa605124c5e1ec38eff96b5c7fd1d3afd8028ffbd86e065e3981443634491ed005954472749a0b1ee108134a7c209971a247d460045d60c2c3627ddf14671048f3400980b48966c04df171a2ee90e717f77dee81ee90a6706f0b18808f55d559b8cfa249ca7747e0a1cd4005367f8c9a18e6abfd96ec22b85f8f1d384cafe02ddc1f4514fe23060ea031b1da8931f8bad8b2b5767b08bb228adbec7de9370ace8e23055dff6238f0e48a89186d7b71fcfb7b2c92c0f2b8b55eea4e7e593421cc47962c7d99dbc60cedcfcd5866f213810c5c85f9dfd9ebbafba25987af502ef35e79b4185f0b1ff60679c4f7e74835d06059a919ffa23589c90c6fdd5d976bbd22d871f960c19ac3f02f18c78d8ba9b61a042d712949f44ab9c066773d89a2dfa30a835caf6a162d00b75f78a115526ecadc0950906e580d1662b3714bf1147e1d47bd68ad2251613fb68f0cf0a1e426547b28018f8670aa3789a7ab3a02921bfe775d1b9564edee888c464bee23f7caea729ac4a566dcc8d493df4b61843d3768605ea47c904daf5e0fdb17692d658f76dcbe76fcce8b596184676b4f0dae8dce427f625e5e0ed8c35afd6250e9344551892c05de577555a0a628d0d4bb910dfe3e72497b4a246d6741d66ed0b2a4dd59a0afbd1dfefa163ed25e69e24a79408b1a0fbfb7a517c1f3ad8544488a0e674393b3833bab88fa16bad2df356bff6e7fc962e551ac370413486d3a44a1e91e2c0a997e15a5e19eb069d5255125f8dacb045a7fef27210ddcd2dae8da5c3219e77809f3e905a333b8c3a72b13316a1a48939f1adeae3c1da0d6675ae485c988378bdf99205f0b79d96faecabd9673bd650c2ded9776b2ab94d85e540c57ae078219faa57d2d8831c7a897eda0ec5ae9d78bb5217b53b12c119fd67f21131b97481878ab5103983122de2bba0ff0f67a10b09cf474e0902e0fb4bd396a76bba56eb4319a95e12e9fa863c1b41fe98ffe1cf7cdf1074df33dfe26bc644172269ea9d657308472dcaaad93fb9104b160ed206b1750a26e4c800b7ec4cc9f3100e767624fb2191efd667c1dfb8141cb452b46b8ae9d8f8f6d4695076f26bea4c96ad02121e336a56f359907a6c472fec30a3048f1f986a41f80f5c097cba52278d6d167b510a0279a5825c0f6f0ac77d0637a72aee64bac98556491b75f708772898ee49a2f61f2d2e15133b1136f1e773f3b065d3398692a58cac8be568871ff1f45efc2bed74e873f8eaef3a0e71c4c744bf357c04360563ec84887b07f57a7da78be449d17255ba80443e75962c301daa905c941883c02a084eb7f257be82c3b37a6f8841f59ad81dbeced36ca5ada44fc0e35c82916d16c23725212fa3f96159aa47c86a0a56e23517da3bb299aa14a2a76abed384b225ce16bc359e4f480eab77bfd84cece9744dfb249a727e449c5db7f94b963c421103d2dde58baf5b01d80ddf93f5ed3c0ace4ff2ee67b741dd73112d49ac1975944bac73f40f34b758f51aea9d6feaae377dfdf1d1a09d8c89d82df2838d5d3e8dd2f5efb4c7c9d418df689ecd3960ee930e813b5a9ea76d851a5806bfe0893524f347450dc83f3888e6a2900a4af9371754a90991bdd4a0e7d439d7550862f4b08c6eef9e5fa74bdaf5247a6b794ff703673da4c6ab6eb65b2b0f0ca0eab48b30548adc793b7527cc81a6fd2abc24a9bf98506ba5f493b84b46353557d7221e6cc8e9b1864c0a678b5cb4e90d1b53952ad4cab7f287559212337ff169e9fd573d947fc2bf1783357e90413cb1e780fb52aad7ed58c3156f70e8e81f5f732f64827f198348164b1725b0f61da7706e19148589aa50062772aac7c957d2d73c629e21163a5f6bf760d05a4032c6d01bd21f6f69f0e622424a60a4b0e80eb66a3c16033ace804a98da001a8c4418c358a4a711b0a9cc9897cc5a0ddddfedcd42cd6564bf7cf9edd722e4391d0065d213bcfb552ecfa5e9965fd9f4f45a7b2cf6d7192b28975b95e79ce538c924acb8dfedae0f2415e25ca56a70ba761287d651f1d0e2e89019cb6a7cd73f7bd49a38b4bcd9af7e322f79d48f508f5fe18a1bd41d57e4e60c05c9d7bc68935bcac1b518f9e308d883a4e9111ed19a541b856e33ecb31dcebfd6e3ee02e7a9734d80c749d6a6563876ef8926a9cf519c35e965b81fe4e1fc87c63f3abafcffa71a0d5b9e6df7ae9d4e8ed6815e317063c55c7364d6713148eaee87ae50ec1eb1a65bbdb245e41d294fd674a9e16ac79c78fbda9e487ba09416ea154e6a4559b31c08181f45eea09c0bf6bc2fa0c9d35a4248e6d6d7839e5856486e8e5f2c73452d461730420863fe0c8250f638b237aaaccb97f0e9a8e7eb8e6b51655462a7f89740ca207901100effca3581b49b7f30db38a9315d361c1642fb37821e1ec49217c94cbff65e3b338d6644750dbc688af5751b4e31f62869a9e5762e1eed3a21775fe0f345fc45a845c8e01665fde95f37f6ce0472a704dfc8d1bb3dd5045058cbf3afd194bd070fef8807af9f8228b2ca4fcadff48d835a9e8dac0e750160e681a5e5009220999b0c3019d81aac0ee0d7b172739b76b9bb702770c72338720f906b1879a43f8f4461b1517923bd3247f191e7f8fef2b1245df8129d44995936079958f7da687269d356a98c9d20d45083e45dae4e70d2ae8e067132fec44e66a0b7eb972656bba1efce3205b36160b056cc1a86f0723f77f1df2d6003234c8f7ffa51bbb1902641343c9c0112caa81c1795a370f32658374520fa5a0ceb1a3c7f96ca7233afa4ab1a5400b7c24d3cbe37e27b75b78aa45e36cf14fba54b682d473ef04bc896cf3e2be24add7a7e35622d14ee5fa6eaf9c55c156ae525b83a355f434fc9efa324f916a9156c6936c5a7d94f71c1b1188a65d2348da3c1e6ae83b982e384ab85d71e4cc810437d7659094e2e85bd02b7196f0c330c7b8580c37234e7374ae9b2be9ff19c3f9daf1a232af29686bd55caeb5adb361f045b2d0faff6fbf0ff4f58fe9d6d2450ba47477f80bcd62a01acc7eddf6543c0a0d52e099f497a713b0475935fe03edea2ac3e4f4f859e59ad2b32c725417295e7a768bc4c59b6a319425a064107909b6d77c860e4a8afc861b522ed0afe1278eaf8d194357dc33615b60d0aa8212ee2c97d824bb75e21251d6fef87fdb2c88e7241d4662fa028558dc59e11b6fa5f9f33fa2d669efbe686189592cc23b87f2d85f6b78c54f488d10d284024a39e22de88f97a2f8d23db9a77678a7fd0a15403f58a29cc19a265ea06cc4c684610dce43b7e920a8fb3cecdc8b2ab702f456699602e363e14d6bb2ca2d6b23fb92f45d6ad01d3a5f937340e94ffb71de676e9480088031494b161e3bc04461ac74c1f737b03e80ba1143e5bf4f0e9669963c2e366490869ef9f90aac3596ca68500e0bc32f27cc86bfbcdacd688d7e3c9cfe12852bde460743c25de84d127c9f3459aed01f8e3813d917b721210bcee5a918e083354214e7abd77050ac9e1895fcbd93ed0d414ec137916bd3f11664e3df6fe6460e8f6ba49b11553ac372779f8a93626e051bb06123d7d8c4a273d17bc9eaaf5fe9bf81a7450fde2019fbc36db98046cc40ba03f0b2f34e5673bffaaf11b75d024a06b1900957dfde0e9581e735af1525ab9bf61b305999c798eded4029818275ef96b7fd42e903bdea48413fec363ab9857d9b35ef3c6c2df5c95feb111df5750805a31e0b2f75a8384ab25412cec234b16dd593fb380aa7b96d5dc431c1dbaa1da291b4652b04bfd852962d7f3104c277fcf66192df97dccf4d6acf43899002d12d871e58fe76ff1a271c2d2d92ecd6e30697604d1b999864d452569315adde2e07c8cc72d336cf0cc33d4aee494221b45774871b5a1de43ba5af06ebae6276fa0a557228bf091c48e7c071579cac6635f57aea9cf465ade2ca5874c7decf52e8ccacf3a8c5efd897948c511ca8f1cdac4f2e100be74b2700940edbfe02ec1af0fda734d90232425b7e0fa9d40b39c6bace60b963472df4717ac0196e8b584c78ff63cb6770822aaa4aee4599a5a82c03ccf7e0d1190e1ff726a01b41b80304bfedd6afe2d8e1bbf5d8ef1c97f8607d494e5ac6edd2b6f655cdcb1b92e0df9a3765769f35e49e3747dd8ba1dbd655a590423985b70b0ec828265283464e76f09c973d898dbbd3a92be8ee9536cb978a7f31cb395d1317dedf3b6c8e6e87ac85f544332b9fb85fa2e7449ac6a1200f65a913c62ebb94802e25f75574b5db72ea9afb62f6d0e82e9748e4b236d96e50ebdb4eec77cb0d560c8b28e814312ced8c5c37c9bac1dd6a69f6de53ff21bc86f74c6186e8157ea18083cc2060d7f54cbd1592ddd90d54716ed249fdcf1ff6c1a8a5be827d4c236b757abdebb99ce527dc175240bf703cbe536349f7e908d6c5b50ce6e8f087dd39d48f05b999bc1b2905c243ce4455f57e95b16d7fab58ce4ba6d953d24c068a2aa0a22d6645de2f52dafc3e0a72df5fd1e078e57c6614275e3dc3db02923e6fec6d693a81ebc0354c916ac443b766ce2b1b4e461b96a62a464dcdb2232a6ddaf2f23185bf10e0c19527b618d8ee55b5285009d26fe591289b5523c6eeea579e66d1325df30e23c4c48841bea5cabbaac5bd7f8f47a27b607dfca6892f929a3f1c05fbcca3f1a51355dd49d85fb0e34a712cdcbc0fb41eb739a442edda972b40adacb809948850211365b4f0aef6b2ac6d296370d636b5e86812437768cf7a574d64ab49552aada0935b8a93eb9022f5150c22724d882bbc80a8aee4158f5d2d7f230966b6f59c5e7ef5a2d205ab414fc5b5ffeb9e5eb42760366de70fb3c3bfbf36229d6d356a7706d928af481e97abf87f288bc9259f06811770adfcb7367a9ed71018216327569c927b79f00f399eca8213fef068258e25ba431e9231833044a4b1cd1e6d1f77d2073864400d0c1399d35db102c3aa16c6809f42f5400eb11a431e1e33858d018d70df0ab1450c40a48d9112e3d19e5f7ef4cde832bc2a51d921ada5cdd80621e83b2116245b1e4107c8e61c152754eea67369cec81aa134f7555dc794a80afee55d3710eb43de646c0d5a5bdfef1c65a30383d71eafa021f062122e8d7df4811b477cd4aab0203f07d416e91e210f740fd2fc21a0c5bb7de6a446fcb32d5057e645780cdf813ee1c7d9238b5911ef66439f3b6bcdfc65bab0d346f9bd8968be084eb0a65841fba82795969a81a0794de02d2de46f9e1128e66b138bc204a64d960f5178a4ca3d2883ec5c40330435eb9e20c30970ff18fbc4832a25729398e05f75f1e99698868c3b47e392c97b674bd44fe32770d4c6720cb92720ce9cba73b15e30cf5d372d1b12c5c7f5517b9926dd7987f7705cbd406a624305dc099b7873303a7bc95f0357031b017ddc0984e944dfe5e7b760ba64d2320099ba565ad0c06c115c90f4513964bb24ddf99d5f7ecb95f9ab83bab1155f211a0cb7e28a086b994ed3dda874113d294fd445628d433ff71251c75908dfa06bdc7bee6fda11030b138522716b0584c60df66cc5dd2d1b7509a877ffc01f83fa2d40e3ec7f7af67cfbd470b385cb79fe9e68580cba1799e53f415e106a41f49678362c3b8359c98cc0a04937404cb32a85d7921d7c6c461993afbeac728906622fda23945ac0422d956f1b0ecd9cc8ca5b8f6f9550b0255ade498c1bf9442066b454a02b818d91d717bb86c14bf16ed061d09b3cf27ef3fc3d99ed833ea0f8f2b57a2006ce8d68e1adb7de209d001d2a89342698e3f1318e0ae064bc5ffd084020992a00c25a6ff1268932b5a41e623c84d5b608f07f6493424410fd8f3fc58594780e362445316e0bb5031592bb44638ff7e1f66a1dc5dea744e90558334d592087fbbd148de80e33e3084dcfdd54d87b7a7f230310f4bffb5c53470f07940e3ad712079da90ee0ffb16eeeb435ea5c34364ce98f178b6c66ac5bef0cfe50cf15fa076e291d015500ca3d13c7f39c24489e5702c55e083bda645282c337dec8df73eb40c37f375d3b7de17792b77faa3933ab59bb91e003b0550706135336d063ae5ebfdc364b21ace63096cf5cb429cb52f2073dc74562712c34860f797ac8d69497f7c2afd841e485bf3d4f160bf2befd9e07edadb337f61c5d277b45cd821ff73d6db11e04af81ca982a048cf92655729e0f824863ad0bc5020959feaa62edb5e9f9cb7ce86eb9f608dc9d0ddd20e8579048f264d4a50902cec455d717cd2cb4ed7a194ef226a0aeb58862cb4e17bdfec76a50e96584a0039a6b4601cbe4206bfc8fe748bcae7424a4fc6eda12a4efada58ae9362f2973adfbf9c16e8c7abfdca6af8dc6b9ca3b0d53c99ffa616637890c17025144d82f2cd477d8c3ca6834dc8181730c2d25b5d02c59aea688c783ede3d8b3e852ec248c1a301723c0bdbd8663216670c52d45265fa35ada9bd544bc20e764d50d2f9070f57c2b5c86dd9d541a4e8c0e3bf64a3e9140db66df2004b850abbadce5b779f89e25b9df660ec2f7b3490f1b24a6f193467c2b80b91b3aa7ce0b80f95b55f80ad1016a90a385f1764364d69ca825b187fae9fe98b90f2737dc91ac62a66a9ab5366d4ab89cafbfeff5c9f3d0bfe10e73927ab4fbd9b16074b6d7b072ab2dcdf8eb67b63f5be1edcc3d5ef4aa3b8952b0fda27c9a8ebc459905aad3f68d024b1420faaa09d4bc54456b5f932e2617a9ebecb60c5abc2c3e4ad46461d1811cc2f6982748c94dcef48e8f7a4a134481bc3b0636b6194be0e48baa4c0bcb04d10e7a5f6dfe2113c9d6ce058b9457af7bd2c3c894e16bd77b2a8ba903dee66c367a2bb890353f7601d15f532339c3564ba8268a431d0b3b1a69dc178e487556da7317e09eded8d648d84ff661ea007bc63a96c4c53af38e84f99957cc383a0033181ed008a2521b1c952ff46bdb6a9efdcdaa54a25e52f5506b7b995d1e1a13fe89ee79b60c3499643f195596d7be687b620728d6e0a2b0c526f039abeac82ee69b21ec36d1d9f45f9ca69b637bbc4e1f6865a8ca36853e38a1d8e08b2cd125b2a1cb8fbcdef8414122fc5e6f1e29b60bddfc7cb5ffd410c4069a358c3d5cf4210b7f561b9b9657064b6c4829341f394aa679582d10d549ac30b4f19478cbb05b747259b958a8617fcd4fb705c1d08a0281aa4d5ab5d624a2c1638c6df9d6ae4e48a7affd46bff914c9f39193454a05d58e7369d2b6d4ff71a8589e75ed433a672c6df9b3dfbc962acfd6b6ddd3955cf7b82eb096b5dc3f3aa88e91177679ef1497bcd7beaf3731064a4a7265572f2da1f1dc6e12219cbc4e17a0a1d706305ee90fa003e66cdbeeb6736325c8f3fc1bf410695f08894ea2ccbff7528fa78c6b0ce4fd0cbe3576ab0510fa718ebea605b79980f357776b96f0e1654e815e9c125e6ddc7707b43d1831efc60e2c263065aad5f38847a499ed8381da54c3e702c75e6d86b59545a2ff380c889b980dca33e81db4edd71117ae845c80f5422f8564c207ae9861ac2632feb32429574c75cdc51367450ce6365dbea1aedd36a00391304548569688270cad037dcd978e3f21079710ad24ca0cae417f5179a2a11c75d2b171d1a8124ed2301b6319db6a6ccbf9b8a114c80bdf446d4056c06f999aabb6d7ef2abfe76f3862400b60c7e6a3016a32f89013b3d617ac1f53fea7f0e84634bf3b26989a171f867da832f0de92ebb884e43150992ae9d147030263fa2da461a3ca65225c2700956331074e1cfdad1036cc6fa25083042bbb05f02b5dd1497743098b25f7c22a0b307c9957dbc79ba51bcbaec8db5431ffaca722e105802e7eec203f7c80ae625b1644ebc229a16ff190662f2fb1b8057988ccefd703d041b16f531c454f71db4d41fe92ed03e1e3dc692cbbfbfd337491aaf9f46354604e8189fe3dd84a8105c46f06a4be1c6d12dcb0320b3c02a7d6bd1fb742e7637183575f103614c1745cf896f62eca7bbb23d09033c57dc0c25dedc6a806c0ee13277ecf4d6741d6c4d522e01f97157626870250e1cd656070a1e307c27a849ab8ec88d5875d5202010556715054d9868a67943aa558d46c3544b9f251993b7109bb798d444ddfb828f1d82bddcdc2ab36771615b138436130f0ee5309eca83caa4c44c99b02dcbf2870692dbb36711bfe8a08129260557a4c1ece9c069b7e7be53bff46028602dcda2820f450246e3f48e95178a9a3db09d13de3d82896c41daad5d80c57a8fd4067e260e720c73db1368b20fa80853af5017aa1928f2ce481672abc3aef37e661fbaf68c45613e5eca64a3c9ba3e2bc85239d9230e31d0c9dd4855b0606495e0754bfb2227adc6b2840aa68ac4943926b446aca1c7dfb5ce903fb31191a13284d642f6e20a9739c8cac16a7dfa4f55333739b7b8b1a3a179f94ed5dbed3a2d838450c21b0dfb3a2af00f251be1c7909528dfdbf48db5324fb2fe7cfd9281462552a20cfa97f0aa91fe11f46c88669d62f4af99c2d762a52c9f596e78e9c2eeb544028404c8ad5d964238a76df0fe1f5aa044131c98fe69e247ad4d1768362f21e77eb590706f29b7c58cc1dfae212c80d1efbc642f3c59d637efb221c0c3e882944929005a4f296f2444dbf145abbcef1e8a12f1d9b5488182a38432f042aa0a51c147d0755e68a6c54ad6ae6b62118c2a1c9f8afa78b36c697fbfb43a3dfe378e3f6a33d4180f03c56be0b43f7b5735b2d5ab37abeecea23774c7ef13b3b5e2d871d23833fd9dc8c7a01d02ba7d031f42e983dd8e8a960dce5f70c400b55a6bd878a40f633ec88d42c13b82cec315f23872555ba39477af08342a4669f34d28e59d5283bce9c1160366d494a2114ce2ea8f38b25d4b59edc6dbd7340c4a85f8edbd4fcaf79532bca728244dc0135bbcb831d72940d3d4f8ef1bdf88c8d48da437f08b505b1d21eb8d0bc39548a7e8f6ac0d05baee9a751fff21a9cea4a1d480f85813d25c2ad79bd646467cd116fc9af716a5795820d5894d5258ab545be896d94bd2f6eb188419813b4b6efed4c8cb02a041a7e444f6f9603a01c6834251c93956a49a90852c9f1d99e46ba9e302535fa7f1d859f6d7745fb678b6eba5647a85b3e6876875d403d4487ae4b8adac34afc0d21fe67138c5aa14405a243817cd7ba2e14f1730bfd46a5ff6a11e6e9bac45ef42bd10a030a81376d48218b0b436bdaa4b29ccc630462a95895c03c6179cb8ff98a67dbcf434ee855d5a25a97201dd6c925d309f734a8c294f215b632bb92050b650c1998fe41c5ee9df3558d59c506c3c56d086f27b06dc997a53f4ff39c3ec380a102e2e0f6ad8c325506907686311589513c8935237e7ad9b72750b26ff0f852b883b1625dbce2a7ccfd8ea6c0e0328fa2378497d915c4d915b4fe4592f836c202d8c42b650529bfa7b9b9ad87c316e0ee433b0f30572e5ce263767aa4ebe0271eaf6d98f4ad5b8d06e0c5e74922a11009ae9e4935af2e8bc454558c50f2cac07998de55726d2c6a644b66ee12d0327fa05cc5cd1b9661cc6233ccf03d8badb4cb1c7aa868eae7c6c66bcb0d1a21acb440f97842b6379a362fce30e1b9aaef49bde1d4d0e554a1e48c4a386f737cbcad5da19556aab7eb812bbde130e14168f0365fdd2b61f9d951ac52ea429255fdcab96e561f77625c523ff6273a81a5afe7820c7206d7dc509a3a1770d568e3fd4146653171b289437f1b78317186783542e1d7888e5134545208fd49de577797c8a566e93c51a22eb7536ea5bffb95d93638f39efdb5f18e3ab58174b52669153f59dc4547d12f12fb6f126f74d254f414a1ae9ceae5a07cab4a1b2a2ea6275bc9bce3fe0d733f9ab56b18d1fb64fcf1b87a3070e60cc05da0f7b66bb3d6b1ffaa04c842f457363c8e9d4b34d6a9eb5d800fa5864a48060b1030a171a89ece4f942fae52b53242d5e8c30bf0b13abf5ef8ceef052d75740e60a57b5557b49f098b062400ae5d42dcf0903bd84c265f976a5ff111848bb1d0d0d796c88d543592be646ed8513d357d79d7022868f19cd3b29f6526457312e87b583dce568a0cd9c8d6e35b324a55c3901545e9d31bcb97e25db79d4fbfd50d3009d0cd771022ce5af38b4597b55e96e389b9ad336e3f56462689d44e56ad242f882dd5148217a5a92cc458dbff7346cff1d3df41c12fb11d9ee704bbd607bbd2ad490abdc2747270b964989d5ac8b74a3cf00f62f42d62c3a609633e8b453ae2009243695d14eae49c40b9e0febb5b7e804e8f9c1af71e303f20f958cfc48ecd743b8557423a8c13b55c75c55098c3700318e861623f24831fcaeae67373829af8d60f81910f086b1668de405e1b3020c9792a78ff71d10f1a0e15afa2191dfa858c716337c6e1453dccd7d65d511aa6b5dc73cce25131d369a6927b1e1915fc42fe6359d2947012ab2fa912bf89875ba69935eee1d23147c8aa480edd85bc6560cf583223fb39f3674a4e9ff92412924c5a48c7a67b3a072bc238f3007822d9252afc0aae356828b9d40c7d0e8f84b56b8600a7accb9dbbf6c8e131a44809b57334c30ace532ff67ca5cae03be9ea8374a50af849d7b3b2c1e76b95f8237adc711fa7ccac8f5cf336f292f521aa3ff3544c3de858b0f5e91e66b5122bd0a28d3ea7e2f8530267113eb8afc14f33954d654b42fe930ad0ac2738c6bbdc84ed9929930f601678f5901f1ae7c74e197bb1eb4517f11e0e9fe62613dce56b6eb21e16f79878c1cc8ee3d3e7ea247ce625865715e8ea92ec5336322890afcd8fcfba7ced8fc8c77b52ed6c5e6e785d7524ec9bfba2989780937e4cca6b6210311330ad57a9740c74f9e8a176f539b9da578929f51abebae077ba8a6abfeb274d407af8269d48b0566d591e5a9f167e486b57b11ab875195138ca2ebe3e176e00a46b755d8abad0397632bc696d3d56905265a152a8d3cf3556a6e6fdde7ddb995ad731de12ac56aaacd57497f0c2a20209f0bd455c232dbc9469503a12c7c8d110812e792c16347487c39e65d5d2e505271a79882083f20de5f223c6b724c3676c267ad4f5e3fc24afcf94918b315fd7a7087168213bbb9498754b2120a10c31b924d2c55c05188e94b94ab87192b5b0bbbab160cb33fee2909c43e7252be2ef03ba259a79ce43fdfe58ed8fe7b7876fb9dca89e99215e780d6f06971dca22e30842cb37a49b9a53e509f035aafaca31bb877be5a8a9aa9e50fe972967fc871a679a609eff1becd8b74cc380dc8013380bb55c646a203f095b6a6a044847a090bfa726e9db5083db47307b55d51a8196629fafa601e1f6c13fb7e1a88dfb5a7e03de1fecd550dfeeeb0d52c1f7bac5a113e3598f4ddbed424b4f39500b00f1ddf30d9c4caa5b5c956920d9dbe4094dc135776105263516fb097db150bca0923f0c178537fbaf759a6229856980431f752df96df5e586b4a89d0f3521a6cef850edd636d6ed56ff1842a10d7e0459c227ee4626e250490c2f98950bcac8cb292d255f85d889a39f7bb7e87c41b919b9b4633eb7592f5647ee3615687c6ee4f0158f62da817636ae082d572667aa3fcd1bac37e3f29c09cee36486fb0e4583c3da830bfb8b790e62ca8c3513303fdd703f174fc0f5e236f442981f988567c5fe716476bfea5cc89a4273a606a66a958410e8440bfc1b54480b7a28e8f73b2705aca42890d092ea78efaf47cfdd36066d36c2e7cf8591563f74222eacecc03254d0264f5888bc51e7678c540c4927267dd5038689ceafb6174e8a83ad2d245cbc32968e09a5d0bbf06dd066efdc55de1bf01a02b34289d7594abde09cd76fd0ff72cf4219233caad62d9234d33aa8f6bd8291e22d81e60a26e65f76a8ef0c8aeba2229c6e3f57657c9cfeed13470c347b5a4dba7c7b8b7ba2f4ba21a310887345d8ee7beb3e9066009f0f33bcf6aad8fca7509d42522821b5848ae50001f0c7ae0a6db0eeb4f40b5fe4dfbd86c5c60d7d4d6217a66983b516abe040524bd93704a65d71870bbcc4b0396ef4badbd07113822272ef8c9be33bbb3a865044d3e55d5f45acb6a397c5724c14fedb81c207d670d92a78c0bf2a5ef90a4d3ce8f58f470d13f53dd0c6267f2587f19901bd87405d10621cfbcc8e5e415bfeae4bf1c9ad144e58ba58e875fb681c68c98d5ff6edf49b1061ad315368a01da6c0b20be4c65361c40a422ecbb553eeadfa91f54583d80511524d1776a4ab12489c7f63273d724fe9deab9fa7584743d0affe14e34a59fa66aefb7560766a8b8d6eaf27dcae6aafb8b0134b2807f904fc68f0b8b0cad8f39a1e2977df778c643bda2348841cb821ec1c14f1d4a60964b80e8ca62e7b35eb493d78557a1aa294f643286503375e24de94b3b86de7ce7767472375addb0ac9214045e3015e9e4eb3aa0f6bbcba35fbf0cf2b18da6d0c469f6b5a2432f40a4d65622a5c6f15e8bf0250d61a54d6a37f871c0e061c752128004c943c7fb8c318ebcf76d040fc9438b179a8d838f20b74b2f53a26aef6c30b6dd21f81b0ed325b33f25e1d5a21c25a0a159a7e618ea8a221bddf2b8fc3cf6e44aec45e3056a6da3467397a4b1772e32af594819027b312bd948b31361cad3f53c4a548e6f99947fa782b7ae07b5905dcd0d6df3b9e1594935906ac22e68ede2047afeef6ee01add53b4ef963d34a93062667a6b1f364bf7f59eda9ddff42b8da58df3e18db76dec5cad91555d42e794027e95db11948e77f0ea279a19b681ba98876243e52a6f24faf453b9d47f7b11044a1dfa86822832e4f8afd174c81025cc902ca2065b5011186cc469b8bae366ae26a2d8afbf60f5a988d90f2e52433e0d7b00c152def769feaaad212a39acedd24be672d8cdec370d4e22444817e06a44d350a0865ace41f1bdca9646ff290db84048012cadbc440db0255e443c0ad79d68fc92360a574ea383773ab5fcd854ce3dde1742ee3026bba6965c6b5ec18070d973c3e376a9df838b5646a859069586cedce130540ff3b0c457ddda7ddeab76c4504a52eb64b04cb881d4b00d33d5be03618d9e9ef9f8870f8436623114c0243476ce3a788244f5689dd0774bb3758acbcb5850dc901cc2efe21c73095458ed592e3fcfe0fc0514ff567b75438bad371a9648affba47a3360ddf9f4f1e476821521a00c240e04e6562d83580594e5eba4eea94e18b7558506bc03005c9ccd9ef1aaa0364c0a7560d04a43f552d46dbb692552b3a8d3b3451c5be66a39ea467822d47285bc5247408411e8098339ac4eb1aac7f1c906758bc3ce6cda88c2c9b166e3b896c16f8943350ed8a9cb867204f0825ba321e1da82d90775ea379f0e23ccad3b30fcaa1a4ec579a46c3d75551ada50e00215359c3b843e765b23c62259ccbe7b4ecf6fda4bd11ca4f021b8c88832ddfa3637aeb1db563fd72ae13be66ece176b1a02722ca1b6f19ebce8c5230ccd58945a13f6c2f2f8135d05e92ba76dba25e271ba49422f8588045810e05d651dc3c816f4d478c414b44ee32864b804cf7ca325ba81e343c559d1f426e2ec3ec6057303138f79e24964df521147781cf52710a610ca7f6e7dd5bea0e5a37fbe07b677840a483ee5a2df51bba7f354f509ec9767547e9ab445527b7194ce2ed2c09a5b0ecc9804307dc2d16a2452b235d50b918aac120806db0c8c762ac1bcabe2bd911de698120ed43c3fcc604aa3bc97dcb97386f3ec00e7bb76ac20087dbc9e020dc28d61725ad2caf3c92590ed73721e0ebe1b6b62f954f42383aab0d1bce0fb496631d31da6c39343eafc95d150320b888fc661c4064391d0497198deb153987489b408b31162383144c66ce88a58917b0a86a0d61ab4981637d34f7718628c754fc9fe462fffca1a3e86abf4e3518c8b2bfd956d82fa2b2c0a39ec403d288a7288c4269c79d840d2a1e91fd3433046af156a3871de130a7e55e1bc7389798a518e92fd05fa35d55b9d7d802f14d06275ca6d4d9e21ac27f81f2f4d7351ae50bfe658f47bfe49ffbb89189cb5229aa29ec656998835a76364f7db82ee55fdd8b42e54a260f5ca2c0dd8acb105d812f280fa3d1091cf168e27ee48bbcc076b309015924eb391e86e7a27ec02984f0d6c520ece76dfe65a44662e47bee96e903709c23a72e7f675ec464feaf12b18b559c02cc3e7475cf92239c04298a56ca306610810f83a8729f3ed07376b52000b07fe031388ec9bfd80853bae7344a5b29d8a5f5cc56940de57ffe0a7235d0c243721eaf4503faf5ba2bc2e2fdd14ac93d29b328e20b4c9cccd94dcda5cd49fb86584c370faac0efea3e577dfb29832e3f670663d2c2029d8c890075b220e147e128fc3535d597e03d6978f82bee19fc3f7f11985089a2cd52a5b4cc37a4e5cf932304891cc588982f4bb52c5935e9b63ccc486fc72e13dfde0b236eb5acd470edacaa2dd2606cf7cc513b561a4a05c0368b76ab4ae05d33ea459f1095327526e27d58683293ed707fad5fb432dc1f235ff706bead4dc1bca4ccb9dea4c155cddb4b8219ab400b34ebb9d8ec01ee82d78c533ec42de7db71ad2457f07d32df4bef1c0b307820827c891a80867e00a4c4c6bd0e38ed6e914b606d5eed7f12489141ccc8a69ca53ce1b723b3b590b39c01cf2653807a92219b2bffe1edd5179088d0f7d7f8d9ce3a63c9473b8d2cafa8257f8a8dd6025e66f81b08e9721092c9c7a566203cb84a34ad4ed42e720e86307722c032a569719c5b6cce6dc660329dac09c3da8cfe27ecf6d91ffd0f63954d203e06f6137997fc44f45ba05b44f75fe00f482b9efe40fe4a98c1761678e612d92eca2e8e187b13c8109a5ffb7fdcfaf35fe1ce424d4f6b261bd9af621c2af5e47148c42fe80949f4ddb0a56f73a695c3b7d551a8563ba703a813d498d1851c82204008df1eee71c65b96f068562dfdef63847479e89b0d6bd18284f479fa077a16f406340c278ac3797dbee00579e5732ef871374e8c39a1d00e746324d99fe8b1d4f9dc620c45300c07a652b711eb9ed42801a9ebc222f464783dc1ad56c310a1f4e14dd296550c8c7430c0e27cc7489dd2c75c8319c43a0443d8247a4143e35c596eeb7ebc68f6f266ab80888253ef75ea81870897b74ff6370832cfe383402372ada6f0e30a936d9d34f3b9cbd5a3f8001968fa59f2d3f7cda1ca53978d14cf31067d10cd033874cbbd0e92d56bc70445da42c565926fda1bb12a774a2f4b4888d2faba518226a9a37de8ff348975445ea58d02309c2b7a1210a16a24fa56d81e1021538e713893f00e561b809f6f333271f8001ec54a0c309e8655914afe15c4ee4a7203378d25b3270c975ade62ae843307857b965531701d2d89e700532e10edc746f686974bfd6b5b3833669c3817c024d1768b39826de5020c9253f13f18c591e89f1b81c31ae28fcac633c8fab521b02dfdea29623fe1a592fd29d39b95d5d82253573bf24eaf6c0a85318aeb63c2a8277393e55b8a60e09a9faa68ba39b4a7151bc745e60839cbc565e47b2a8f3e4a498026c45047c570ab15c875f193c68d07b19c57efccaa804507ab17fbb01769ba774e02ef1e3eeb883b0086bacc670604862473477bf4144367be33ab44d6f2cc23fc2e68f7492eb805c4be0cddb5417eb3fc4d1948e1ab7b63fd408a9ee7c8629150fdb03a350c8b6855cda2ce8bb267391db692bd265fbac512447f6088a0919abb7e8417a2278f4472526370887c79bfda9e030b68a43778ad2158f157d9c0baee75ff057e33b129c39a4e5e9ee7e24ca9ae38d60aedeeb4c31020a2f92b397a204b3f1c41a0d6e42ca3f4a4e4c1fcc183a3f08b09702372d068b2b506e90c3a95049f14dbc60e049c89d4025ce418d94622da8af0ac681f9c84cff1551c977513d3efadf225bd761186a6caeed82c3f98aa464b3319d769494287dbc77fc95472cafd1a1877c233d05cbb823e154d9605aa864803188b3a417787ce2610cf6997909c4cead362e6859fcf92e764ee893c5917e30ed163453cb55d52f121a292325adbdf54b48f92d5073d4b08bb8c812226a119571033f5cf12c725ced3400b05ce7a74de62db01f2190e8f86be0366d4133c7fab991097402ba27543093d6744827e71c86a0ce8dec21a341d9959885d9ef9fdbfcb6653fa5445fca07cb1d7d7ced259ec0dd69441cb82fe3e3b5e4f1b7d1c971300e84c4287d35fefb53ae828c3db33808eda9fbe79b0659221a6732e119e81a61bb35ca36a22a7cabd3aa766f61fbf2eedb7ea60b8dcad890c3d36035f8b6f61fa8a3331e3e6c777337e60321db5e8a5665018062ceb9489bf39ef263d6bd0f8f9c6059b4a6c7f64e25b8ed86058905bdff9f82dd979922e8324ea2c507df8a3c552529026b271f5597597cfb06bee0e14c7b458a33da2fde2ee460187d260c488e72e98242b842e26cc2a145e63df8ad458bf02feed3ba4681b641df393ee12cf12b91ba1aa54fa119ee282d822d7a93438afb6e65a4d9b5c31a155f130faf817b74f91dbb138de2e8facdad316e5d4022d67679a8816d5034d9cab7e8ec257c032d0b558bbf3dfe0eaaaef842d714a49ebbb0f05bd6bb8e4cb98a52e3d9498328e6d9fc624248361e89a39dbb57792bd15616229b62a62a388004f50b9f0e01eaf1d5956216a94dbd499d219b2e0964fdd64918230e75e8984e91af99a219c43455b427746a89a12c457c682b60c375a46c6ba23d4f22de555d5348d3ca7fa022bd7f473a481d38061b72b6e6c020ab9ce981a416dc036d41218dffacc6764ae8072c3c1995ce382703ae79643b6a22233bd152af6fbf2e285a39df6562b45c28a05ae2d3a4120d55849d7063c779faa4779ba664de9326338cb433c8c2cbcb068b5a43c885de5b220c05ac4bf0f883dda57e090d9ffc50ccb3288ec987fa329ad92a550bf5f52f9ec8a80ab4483f677c83b7a265b103859c4b81cd6ca7d14443c1d9a09d2ad5b7a8f205237546e44ddfdc13dad902d37486d0f27333eb0b1bcf3244dbed604c051817fb633c5be6312135b419e5dc5a9858ae523aee40512babc8a02452628596a95faa4bbb6a599af6d436615d41ea4d03c501ed8dab1831f413343ac84bb649589052cb9b3ac1b864f5310b98a86fbc76d4fc68cb9e8c0f0f68685dec82624c00c56beb052056e8d62943233ccefc7437b47e912a11f1590322bf397ab8a81b7ec75469afeff2fa771105fa192cbc0262c71ae1e8d2215ea4162b17bc08760f11ab881f3f510c22f316cb66980e1aa27dd7349e8edc9100e0d27cffb0eafd593126615ffce440f02533717f15bdd32e7788d9475ccb97b10c591c8d69a0e9a8c7b7d1e4b8a8d54c3687b8fd2df24d98bf8894db055738b9142f44bb72d4778e00cd5030b7deac3813f2995daeecb1f85a4c5db6c87ec446eddf593bc96a1056539e43693e009f4a33b4d49407aeabfb87975173ee5e23c2c8d9cba4e477969d01fad382a149aac0b8b13021554116bd4473cae27f54fff7a10dbe908b9d3676a208d80e304cda15e829fb16d44738ce3b94328e72bbcab732d5f4e490db1236a3e3a18ce66c749629058858fb1f3f968ad120f21a01ff8d027d99647361204e9d69f333c95fd23094cf84fb5a76189bc1aafc96581840e56c8018ebfa351a73cb2bfc3d55a4ed98f791491abf610c325814bc2ccb19c4db5b5790afd600de6a7683a5a079e5c545ac93953c0a9b443ad1d770ffda1b60df529920e6e2dbd6febd787d95b978d0a61b641a232db968b77de1ec1ed8aeee3c0eb6bf218d53ab3f630f1b8148ed6139c8a8b2b2953e8958c02111618a1f4b597b15d34bbdd7cad09ca1f8eda285581073cabdb39410e3d0ea66bb4f525e19e749eb1cc8b58e2a3edbb3b5ee58283198d0d0e0c4bd65e64f33730f26800b1c084072036ae45a16be96fd9180d662dcadfdec02c36189c72368851b6d9aaa48c0bfbf00a30322353b7b7a819c0906e9e3e241071dfb6b296b52365471a9c4da9ce9ebf5f72a7174f75da1c7d6f038dfb15d0bc84f5c30d03ac82e8cae9b6e9aa1aa840d93efe51d56bac0fc843a870649cf49cac70170a431cbefafe7fe0392b1239fabe03f1a03c6578f4c3c17c41ddb81f6794fa375060e2a2647f993ab441de4ccada7044cae316a53829a2a171819f2b3e4105270bcd5d59f90400592ee572be82179b1fc800ead528e5db2e4ff36a729e6b83afe069eeb268cfb593f25d192092288c745600ec9af6f559ece79c03b6fd36bff29984808a960e8d268d08c69b1e13f1de72b6f8918dcdb9b918ffda5c544a32d640df38f07e4ddc6ad1695805ec83af03c7e56a8de3e01fa7bc74c4e9853508f81695609f020531b426328ab7835a8006604c689669e46b3637c6e8ce3601c73a7805490d3e17a176735f1258f76d0b2bc1949bf96e0dab298316bedde8cf5228c7fb6b9497945c49533c43a2765a0bbc1c397dda99038ead7b29455c3f286e01d7ccea8a0c06afe8c2df1e8882eb3ee61b41aa8a16d6813547c5e9290b91a3db37557ea7b2a83080197c16bf54a0875f6ad0f8180034029e012a22cd048f7cb7240c1258028fd2c932169c4425bd5daec8d6d908c8dcd45eb787cfb209bea55eedc36985590884b8cabb5cedbd265078cd73192d458069787b4a7197cdba1e3c33e899d2c0beba93526f2b1c45e2aa5da6e40903f78393685fcee38d86a77871536e4e005860f011b003d77a35272cc04227b876c528c70db5ea7667e00eba6e5396122f36edf02405a80dbdfacc65dc0847611d80beda43cbab6ea880a3b984bdfbadc3bf9cb2690b69d0948f9199c879632168b67021dcd00be2cd151641af410e3235434e1d6eefa20614888b9b90ca47b66fa8e26c85767e2d567fb30b5e758161d5f39190c88ded314400df20a2b4c90479f483effc52a259c405a69bb12b30a715081052da53b6c9ace57d99adb328c2b9e52b4a06b8f5b19145f2567ba625546c759cd53cb21e64a4fc4295bfe90614c5c444a8162b5f157be111a842129ceb4bea27ba9b9d45e58aac8c775f57c8bdc752354b63df6efe977cd385183dc869cf383da7c1f3bccd965a906c7f9947fcaf7b71eb617b5219bb31f2f523fdc9671ca85a90d52214063428963a4458ba994db4814fe17ece2d98e34f1cf628cc3993b691f985d7d9229e177ca7b3013a5323255451c8619aa742ae8c692a7f3b7c610c16b6840130ba137ac714d065751f5a7b541624745911bbe8abb18247f8a8a3d7ce556f231b4e2e9c840340e492a1463f7df8bee2ec3cb47fa1ddba458e52a8859d72a2127abc50f9de02c1b74725a53bfb7d30bb590bc22322542be1071c6ead5e6ef21fa66303dbeb237f9a0280166e140f528cc49d0b79481213c1b2d3d5d080da367b270516cd9e53d7e7403aec1c54d3cddcfbc623ffa58f7c8676b0b9af12de4bae3b9a6b7f3623efd99b8f6dda2e00c2a6c8e1771cfee70956581f9935f777e82b9db1d794066b0e9868eb2711fda1c1d357e09fcd7a99c5282feaf33d6314336938a95486e820b4efc1e5dcde643194457f4a99764cf4efe3140962964261c5712d8fbb0c39fd5c1981bc92f8f05bf5b19126829f9ff6a9247d6bfd5aa9d3a57f85e1365c730e600b8400ba349a5afc0c444165667248a040cbce620f63f26eefcacd16e91fe75899a6cd3deb78afab65af549babb185f84885cd0eddd28c0ae7ae6e38a3ab85f1a979105c4deefaad38efb1f64e297aeeb58c1c39587a72cb79fa4b94a7ff51eb478e947346bb3ff2e297233b252a15d7b8f84b55ba6bdcf0b50e4d43af037e899062bf40f04ea867d9c8785bd9d130ff42211c4a48a687736b84cffa911bc80cc953a32ff574a95e7b9b8b1b183ca68721ec45c3521c3861439125bd82806074415606c2c06b38d02e00a3c7d4361f82201b34bb4b21de60c89e76b77b479c8a3aa152e7087c332cdefdae70404be6357fffbf084db8e90a73b37cb9476fe71733a3af3677b37e88b88fd03601a7fc8a6a6901315fc389d10c2f1235075142593160105e073677caacd91021490329101d084b6246dfd503216287444484c6afdb31bafc1a7adbcf11ce14a8cbf12edac3f8331c28b1fdb1799d59d7fd3df6f656a4f0eb8130b21ed673a0e49003cf086a8d777a86370002516900a21ddd55252e19e85eccf5c5dd42ac13f3ffbfb78fa0a87c93985cd0aaf594eb70e6f71355dae817462bea0fc630a2585bbd5b28eecae57ad0f3c557702c7e22913b604334e7caf8a153999e65740b34b6aa7d7b5fa5cf4cdda5f24cd25fb5d10cc4ba157c009ecc97e46287b1917d61e92bb58cfc1e38ed579cda87758f8aaa29bbe84a2ceeb24070ac0cc9645f96eb1f9748bf4e32b15b7a2b5f4bd1dfed38e7793d8edcc3b19c0988ac02487acb07e383d3b364447832870c8547175508a83682ca2cb2394250e76da88720b0a560c317b09781fea5c6264ee954a3690f2b6439b55c985b2751fbdcd4ac885e12e9e7fcf267986c7e37928bf2c73fd67410c4b7a8a8f4bda18f0d2622ae1c8fb29a54726ca974ff90dcfd55df4851049ca96e7ad387f5f53bb0233a4ca84244d6cbdaeef42bbc06a777977b39493a9cdc2eb0e1d7476e5a5b0d277d8966df5cc729748fdb72e4b14722bb3bc4fecc196be9bace92d2103debbc574b3df33c909bc3878fbf6232a3a1765c4188c4ced2acf9788f2a15c3b77b59dcaa457fc3074c997bf99108e95646d8492ec1092281ee686d0f070f3c446e870134fea719a5c2a477b6acd47cfd3cbe7a94b9cb4eac030ff6ee0791dc09bfd1bc9ee425ab0beddc083a5bd532c0e128b391990d41a3f5199315699078eaadc28827807ef6e0d19706bae5a5f5099d3e58fca4f31f5f9657273ed65da91136bdc031c595aba49b52dadb0e80154abc7b5265913089a7f96e185c422d25d4c880100e697468a855e3118e73ed8f950e41573a0bdbd6fc7940f8588efd4f6b199b7ef227098da399a8be41243361de20d508e49041194c96e6ae88e6cac768d5d3b797c55e42d3b67ecc1cbd2690a06e905f149ce5b4a255f1d3a67ec329de9417da5e98c5fa7b455ae657827417f9670f64cc9d0e6dea1f36ef8f5bc8f7441538ef74aa625a77ab87a63a749a83b89f2f958b1f05d81cba756d8674519d4373434c9d46a1877b153e865c1a9a407e39669a00b6eb436f8ebd6a82cf19c45d3903a617984ba8673c5bcea9a42d3d35691328637a95bfe4a498b81f984e2b9cb3247a227929428306937cca67760b9778f29a0a88fadee895ec4af0ff974c4645ae43280a7b3cabbed4804f1056493517242311eb16a20c84651af5765d4ff6384af854f13e57d09d04e703a1b0dac53e7708457dfca959292ad2777ce2c011a03c7403aea8222b275fe5ca9e790cddf5088ccf587e8d1cb13d86bfba4222adc14bcb837c2bd4da05961c20cfe34a9e48833557e22d3cb33762b22b597e7b11e9313fdf39a7d829985aaefe71d5c710259425b4e0d4d675a06dd9efed7813ceef34c22ca69c09c5c791fdd4343821ecfab261bb314deec01df67869377becae257899b248f2958cde3d1bb500e1feffc5476c37eeac2c72f1e6809e9ea9b27a9e39b12b49012ab3a7422e768006582a01e488274cd0564b68e7af3444774aefc6a73aaf1395db8432defcfd7d7abdf148e7ad0752c8cd98a3df01e7543ddd90c0673f521cf84bf923b67f75ad4f8255d4167cc2cf1ecfd75d5142cd8bb720a46a4cba1d50a18794e881c217b230af352c5ab2965f8187f5643bafa2182a13791090031130d120f6584c0e67e9b6b58953948ae345cfd0e0c53c4752e4d00d4d8ad0a38bfee7c0894353e51d23a9614c34d59d9cb036aaffb0032eb61ffe05a4c5309f0831ff3402f1dd9aaf758c07d0df84bb6582ed57cdc80d4e39784380c3b607d68e80f347fbb8ebf6d286834aab22bd9c1f99bf49e75a13a2a416742c085c0b81d5b773cb4224faf831f89004662721faff2d4379d1fcefa68582d4f7dc9144a931647dac760ede0b3d62daab1b7b21cecccaf350417f64ecffc69a569db39b2ae3f32d1b643000d0308dc741e44f06978e9e0c39349e7665e4462d64709ed9dd68784b8375d590369f7c9c1e866024ef7aa6490e3ab4e9aedf52bb9464328641edd0c02c51a0a1fe82ab75b13c02fcdb305bf182539ac0d63952a2d5e54f59963eeeb41175af86d75b21c938e66e6f7debef8c04db6dc1fd3b9ab250b1d4145744adac6bea3a9cb4664875fa8a6399b074a101f605f11c251a86fb1b816b7c36aa295d362b730835ea5f794e4909828495c546185167f6404eeea6aef0a17d69d00ef82f47a86d327b0e736b2e8f0874b65ebbc8d6dc89484a85cbea8b8ffe16ebe91ad0cc229ff38170b6316bc84ce428bebc90a21dc64974f0f344601144709f25952d0ef876407685731432d555083c158bb0a6edb1041a5410425084f79130fd7da633808f2059e4b2440fc0c0f6f70aebfc6d9721083b2c157099f10cdd9ffa16937264429d0ac4a37e1a5f673fd29a5b1810889c799c4a5c377efb1905a30dcd8d4af68c8c25939dc2cb60ff66bf7d25641d0ab83d56890ce0cd28ca61231d1f0aa7f69cceeb4fbdff6af1bb68328538df1ab27e15c77382d3b0240c95b9396a39b2c137acd95c8996b192f1aa0e8ba330806d799af91c4e614b888b320d38ba222cee15be7e6097ca2a74b6f07807b1f5c2f1516c8946d95c38fc764566fb2ddca46f408a2eab0ac76ac744f1da4056def417e813327b6835efb2715c21a361cd13ad7ae755b708adccbb2ee3d320e9e8e62ee2bb411d03c30c72f343ac3064d805b251b36f38b21c3a3429c16bcace1053506d86554be2d1ada55698cbca3e7feb389941e83e49633e86ad8455e68d986d0083a97c85a0a0ea7121c43e6d109ea4bd140f1caba89e62b0be7b4936f4ad4947893fc7275952d6cd0d745d173ece815fdd6aa8a3ff0f81501e23e370579d1f46ef072357ebf392906d46588959bbe28141dfa81b8108853cbc5e30f87fac0f224fa7ef24c91d9a9b8f03bb3587ccf0863d8214df310e5306b3921edc8f12d709981d81e55e37f108b0a457f2df3e2f49dee8dd00e0ca60953370a821ee579a459a18220d9f2c90c9d82ccd81e6f60956017f08d4871f689add884a679106bdd01e4e23efc8553e7797cd1f47cd4bdb0a6f121032cda421a7e3529bf79751438247c5b2785b331af2fb48e64cdcd7364b7dcec0e16eaf7f3e4d238039ab7f21d23e5eb90b41711540accd503ea6de6bdf0ac06eee58c894e6fcb623661c7bf4309a5cad390a7b7d5b04457f388cad246c6c8db8a3741fc351b89fa6f8a868eaa431d1b971634cb95c5f2416f8cf44e9b42bf9c5ee3cf59b9ebb7685b4a5b07aa933100b28b4d2078fadfebec9dc482bad5005cd37a2476be61a7911e1f79795c35c0ca8a71b1cb71b258a4837d1de09bacce9a7dc747c5dc9a53db771fad53b0ca78c10fcb13e6a31c6e635f9507302f4e0aebc0cb980a6242c2b40cfd2c6393ad73222e16ad0d61a66d314bd058fe744d183b343177a5af0d17aa82aae8704d220ae12de846d4ec89e27caf579d499c2464cc874d5411af7b7bc98ff3600daa0517656ff21161f0d7e0ff4a168a196bed8a15391ec594d2be8c0a6a989ca525135970351f083e77e9155d127dde53737e88927dcf42bb117bc5a33d9f4214127ef3b9fb148f6ac3b6002887400ea930e5f9d0a47d5eb6557d30be24bbd312d08110aaa62d586718a5d3e4d47ca1e7390214587f61721c6db23805c1ddd65a2bebae393b16a1b34a20b5817c6f299c9dd2d55c94080f770adf6cfdf63e72b9bfc2ca57b5223e8a2a5f50d35527851e61ccd1b14235274a786b9a27dccc1d3107c06acc137705bb8ab21405683076aed7b6857fa584ec29ad4371840868e5136037ddf35d30ddbb8e3117f1db301fc82595cf2a5c0f6b73783b123cc9fe152add751dd3ebd0a4a6d56c840e482de373c45e2865ff9cd4e6f6addf9ad0d9414a8d156352762c67dcf6c47b31332a31213d917d2352b7e98cc0d8e363a1eaa4b9e78c34452e181efa6d362a32b5a6bc42672e67e4dce05f12486e867f0cab931870e4a3b8ddd29b763c557f1fc96a839af614b891fcec1ac323edf45db0766ea92966c6640d84577fb4cdaab1754da40ef180c8b844bc23abcfd9c2399e16148f5bd55b098b670838ad5347a43dab7b1386d06357ee86638e908a2dad5a98dcbf8a139c2e65a9ccd07d4cc8848b899c954c6ff6d89f41fd35485734533e918ea47fc17d62c813ee30e1ac74626c451eda53deffbc2d07a7f9951b9952ca60043105b9a85af127dfd7ab4badeb51d87bf2f41f466e5c21dc72c511568be522062d6e9d94aa2e1132fb9e69df44b5fc6ed23f8c9b70cc9903e3d899b24b52e271ccab8d973111a1194966cea85bf9b68f1482dc05681150fb31c1108be8d1f20b9bac0f4a600c26f9adc4dfd68c7231e7810377d6c6580ab3297b5a00ba8f9090e7eb05c04e3e24dad6424749ef4e503aee2f92ddf27cf2f132ed830b20ef946c1a068ed23e5936bfd0ac727d12eb87552971613b8d9950673a248c37c51dc8d3c4921f4b3650c36ab6f23a96e14aea86d27185410c14083b06fa4c0830c977d91c399660d2171ca1539365ad08f344c4f583ab61ea1f36fe3a3e4b4a1eaff3f74d2e7ccb9ece7571b26e57e1b56d4ded67f5e9ecb9999e066ac31f3508ece75a0ebd2f485e4388244eb0ad29703cc4c1fe1a336dfb20d5e5e5b9be51144bbff2d21247e711320f0d57b210f5c61c621aaffcf5af2edd3bf26f3742b4d68edd631d92c38f317ddc70aba42dd9a94ed1147148a30c3cb20d84df10437b36e6c488ea1eccee2bb2601540c4111a688d61dfe4aeb939b9375303e993785060e6e561e1ae2a1d6f4355072d4cc84b2b4fc75f865942c88a77bd71b21c3ed8a0d188088259a876df06480b88f7ba856b374c135bdd9f36b9b396617981c11fb8dd8d723b0831c4bee555c2a7fa0d5eb76ddd9994edcceb9e298a92426e03c73aae3976fdc2a6d79b80f809a0d5aacc49f72f757e099fc4c1eec562e846f74365b843d603929a4f16280358144117d8f093d776b5e0144594804fd4c860c92e18c4f093959a8bb91bf484daed6e85acb5a61a33fdbb6748629bec7e267b35f694dc0f34584cdba4e597f3baa0f975c25df049a7234d3dd9ab51069e1d19e7cf5280c8f2da031d7d055732a2b4438c8e8d4f58a55b71c53bba90dd0bad9667d19198dd1f80b08e2507d35b0ca20d3965144f0982820f14b5f65dba4c8383bae441305e86f8475d4cf6ad3e35e4daacc4a96c5700810caa9a782b059c94b4c85fda4915fbf31eca9a940c55037f6d0e8e56b1d62ccf194f58594963ddfc70b536fd554b9d2c1deb0ef5a75222cb64bf2efef85480d678dab4cf46fd51b3bf5d57ff91d59b1612eed4bd5664c699dc32f8fd4061ceddf5dc5592207da1b984b77e2b0fad6f54ffe56c639570f82f2c14f1b673238496afd5ddfa4b05e9e7b38166dcb14fc8449c6a5c0ca899a5d02dd76393c31ed3d9b9ec54faa0357b2aec0205c6b4f1c6ae626feca84220f1bc13d86a1e683f3fa1b864b531261ee6715519cab47f3df6ccd284ac0de4131216bc5cfd715543da373da40ac48078e5b7c9345bb0ff66a8e4b5863801f56bdedd15f7fd9ba024400a34ce1a3fe4fc23f6a1403b0e90c66628ccc051d87e7fc0935e3c80c3065b2d9a80aee92f962d0e594b07bfdbfa128b13742ef9f3a440f25e27be606a8a466fc44bbb6222734a3fdb00819a05e6a51fd77fcd89096b514726821f9b2deccf4b2e462ddcf29ecf4bd593007b949eae925ec2e2ddf55265f98cdf40628d1e00b2c90aacb8f9cb6538c9d5b74a5257d13255d7fb1232837e6aaedd3d55afafab9cff8b1d803c7731c5c0a29d96b4b2719b2eed848c6debefbd645b7e103a11210e22898e49caa969e416d2b5b75cda0e685c9e2f907e42841bf6fe2eda6078adc67f7f980eb2eb566f65e2001be59c87b7633cc58d23028845d0c6da7084724fe1977cefd5e8f5d2723a82b65d8dc0c4b475be72c77eba91695c3f0a742c618f14a635fd7f980e9eeffbe451bd35cdc0ed7180ef7c44f73bfb81ba8154f68bc2aa0d9d6ad7373b14ee65b0c474008c9c446f19081ff136921c2182c31806ea1546c4e725057ee1f4edbcc401a70ae9666d1f87497bfe22b9aac4bdd0b453b82d56cb790cae19e08a47cfb2813e984338125117f021a29d27cbb330ba1aac1b4dff9ca355ac74c985cbb3ae4bcd1848de44e0416ef1acc9d2608c4015ef546708f847be87cb1fb10fcc4203998bc2958b96318fde5c33552f2d66e4d8e702639791076e04fa5a93afd030d2482e845c06423004b2b7ef8215689b335b0d48c2917b505d0e914f20f9c3d260f3eadeecd741b3d12fa8c8e03eba55de3f8018d9b8375ef1d50e0a4d1b2f38ba88cfaa743d13bf013fc38b34f659b6c988d87012b23cf9bf68120c80b8012a9b2bc1b78a93fcf9efc84539a031beee0536d5dedd05dbabc6ef86d7de508395cbe1bb1c20e7104be74370df3ce1a85ec72ca3ab147a4b60a9e23b26efc37f73e10fa1b6d60707e231c79787a2fb1fa20396902a4bd5b67f6145253a5f44e1d8d6aab6db7ff2bb652fb10d8dd1b4b98a12cccc7e91f7c1db8a5a4d3be7d711d8cb308398167dea90de78964e5732a5ce9db8d19d1898440ad1b9c9fcaae0c7a9784ae9b049741aa755432990c37ee0413bb6c487ef208667be81ea5031649a0b4f983c153c77272a6e73dd2db90289b768dc0f3d5833ce726e16da66ff787466ef191197537bb45be94cc60fde23a971dea7c34a383e97423da4f2097da872acb5d0a6dad6e556feaf006f5630d7c216f30d53778abdd8fa87b309977546c2d9ac264c10c7a179e9e83a8abe65dffe513ee0cbda90c0a5537c8d67051281defc10213bfcb463219c585488adadb778e32c1c189b0780c54b766ddf295eff1351fe39334eae7c28f6622d56e7015cb68fa3eeeff2ef80f5863e58dce7036a5ea9ff80630a9b00020da0a04e984415d2cb55a35c6b72e8899f89674260e230e8170c59f81411de72c2f89c5a2a3af8b2172a7d3a3c9ca34dc4415f11b5269e8c5b4110d9ec6c0377632e7795a5e552f0f8d483c9f27d3319b61776b27293e18bc6ddda8feeb14029597dd21a2c7db4e39ec8b37ebfbde1994dfc67f576a1a059d334c23faaf354de3c20fe53d14725c964e213723efd12ec0d9f2c76a4be8277b0cc8a99827f25a537cf31bd2a92db828e7fced4f60b9addacc119a9908284182edec5d3d691b27b23c4613bfeb9f1df0511ba83e5d0688f34442a2e9b7c42d9bf8508c48a85e12b253987906bde4dfdd59bc38ede0c080d5d7962f1928b53e24aa808a5305ae830ce012df1b3fbd8f5b7c61d0f2b58fa97abd99171beca676e6fd912fbb44398f272b257c3f233614dfbfd0e629e6f1adc759f4cf11cd5d5e7d1de81c640c73c4c1e983d1554094123d7af6e5d3c15ab680aba9758c02ec43ab99153fbb0b8e37a4aafdbd0bfd123d036e56bb5e0301e930dcd6d3e6c6a9b35b9b1c98b8625d5b40ce3df32609242f100f070c15553e48294964ee30f87a3bdc1b9a950f8866b28cf523632cb70e381c74e43e279efd8e92074b3a8a3366b82de2839d36b3d4d607f421947528111da8130ce3362cd37d875edbd4cdbb8fac9bf5482da1ebafb07d816585f0c9723b38e3e1c6562df3db5076161c3ddb1aabe96cb125f9858702bcfd32e9604fc189dc1c7920fe7c6c0b00418dd58cfc621fa157c94c3225da9e99927635adeed5997a82402437079fd5b8899db838f813383b23ceb6042cc12a2ee37c26f0544ca6c21a63ae6cfd5ce9338b1581457d8b86b9a66ad1f8c28c9d6aa4a1e03a447010df7cc8caf2ed1603208ecf5792b42942cd1f98e28d7322945f521451f752a49c74939777f9671b77c923060dee0a45899d4043d5e4454eb11353f66198008ccdccd9db4150aaba3f71fd5ef8a626bbf085e4566e9a4a09feae90a766af969c84bff07cbe1c5e7e929cd08f6989ee5c3a7a767e871ba6175a5f104b354a0b4e17b8e28cfd3a6039b17084e3e32c607ee55d47e060e07af626bf07ef078069761a76e4cd65db395bb4ebed35df7323e6d817b608d743327b3ade80fd18bde5c3f7ab00fb97cd8219e7c0c06fd4715bcaa1383e131cc7a8829201533e8897e8f88537c62a42b55a1fd771baed66fc2c3ab3411dddc8e10d8fc948b2800c14cd4cdab2b7ec8746bfb70d1962c92250ae58e35b92b516933a270decfe940ce6f81a1f9b3d47a8f4afc8df725023ea277dc7b05502e3fc77763737605515c414027afb0f8d3cd60796086bfaf0463dabdf4c4e7233e73f640a81633045bc5c3c31290cc987c586269d7083c582871ab481db4706455ca4d51c8512bb8b8af3d32321299c2ebdd4681e9d5e84717bfba49e51ac9f3458d4fe8c8e645fc5ce3457d5d6c9714390eadf8614fc8916c5fdc03d9321c0b5671eda4e9a472301285faa358f64ea458abc68aea9ea5c90b681818b9cf0f5ea8bacfd1d35f4ff4ec1c4a269e77b6479f5e417ad1f39e112e0dfbfea94af770a35ddf8cfbba025fbd50ac7fbefb66ab3f6d19892e06aa8b4dad034a9db782884a7c404b46ef4f7584aabf7d2b9777dd8683613e4d166afa6c5a83730c5cfd7d98d235adc6989d38b18872ec5c887bf2a5a7c88f9d37db218fec3afdaf34ceec5453679bcb1085a1f911ef5724be9ffc4e37f6582d1c6866db51f3d7de635dfebbb8f86a73165a52fa39369cdacba465b1ffff601c7baa7ef61e2d6099998178660e8c702d457f719cd5d20c5e3f6c7d14c456294e0c617bec640f0061d5a910ee3e17eb49dede9f61ef6abb0da52c94a12b5bdb7836d7ca4cec0bea025d5bae75b8d3a0146d618fc4471440ac218eef5ef5ac356e9b1ba31c379ab4a0c0863eb8c94106d5c414b79fe8b74e8141bdc8f213d5aab4b22ad389f257debefdc62144cbf1dfcdc3af76ae38be04008393d33e3d3efb3a405c5c9170c2910a0e0c2baeecb84ad530c26a1a9f247d31f9339ad91b579db08f301d449904db44e42b54c8e80338f3e9aec3a45fb52b2a4351e98c7571887eda80a98b2490a46eed37288af27bd8145910f1abaf0066864778354d6c6a80ff6b8887416b673be0b447f041b7102e1841e0e7f08434bc658ead420fea2d51a42a7de81b1229bf1fc91b3326c9ca3f3edbcdaa76595d828728bc355035ed361268d24639ea55fa4441945576068c65ade386f173f5fbfb073c2400cce491a9b20a45b9969f210f6c449c80b90f7b5bde94a1496a8c219d3be55b3abaa4b512df6c5194927f7581b046494b0bf9467420a8c2d5936ab0e2aecc182c843402579041fd80b69096865e04156628283e693b8e54c9025e7e6a1bfd617fdef340786ded93afee167952cdf37b794c585305a42c0a3bff81fdea0ab2cdbf4c4128ee9dca4377412fdb447f09f712fe0b5b695a49b1f50952b2b0107d69f33d40ba0157b31ec5f747c0a0b3930d6c8b6cfa6cd0b4ee916efed28e23b0bfd61582a09cfdba07af3424af0e5e6bc3939f982a5e35a2d60bcce71580bc596e0add9e17ba83bb267343ecc5e82abdb0b1c40711c018b783b98ed4253e78e3f9b4994fd65c132e75d6414608a332e84ad63c4b7d4ddff1a3b19616a6864a2e61a2875ed1c8c9df234c160569ead275dad7474e04f4567ad98d17eb0f3b15687d18ee3a8651fb8e5c8b9c96d0f70c4edb080a00327ae13d465233623b454d33e71e68f1f808b7c6dbe4dc0b7e0f9fa5fea4c0f3cbdd5630c97bd44838b77182b6660f2a85aa0d8e4aa866412cb35d70b7f81670d30098af4d33c3606bcaba2ecb89305f41a1894fd33a609060b864926422e165f4861acea02a65de3cda6302445e7eb2ce7f53980593f0a2c309e52b8e4f200ea8aba35b6f446bd70d67d2a13b1c72274fe09bb78969ee9b2a57575f2eafaefddb9b7aab827c15b9b6b36bb81b49ba0f9b373482e9858b2ad11827cbd536459808a50a341c15f5e005add07da4e234cd4b04052a5cd12991464fb52108803748a413ad820fa9a23f043329935d84d43e1a3b5cfcda766f48aaee3228d63f623837690b413c5e11dd248b478b47244a3f1e9f36275fde6965fe78ee4284e8becefe99861c1dff9c74cd20469d01dcaef5f0123f7507e05ad3e5db4eb302e7145ebe4ae3ad4767779f37893d3ab9bd2435361f83c38a0fe9d4f42560528159936d7b9c5bcfd7b4b106b9b2590cd0db232fe88dbccab20979c69fa58ed118cf75c00ed46b5885dbbd5b2ef91583bb11098157ac64581a88f2a1592945aadd10e67dee663358702df715df102e900e89427b06d78a80f9a06db1303751deb8307956368b871a5271f0fbce9d85c9376d56e3ad9cb6709e78893b1740064b585e61653dd7f2a011d9bf018e4a9e91394b40105e57de8db12a0b4e86e43613aa59c586adbb0db7766b6e41218f1b8942ce7b6ec22ac99cc90dbeb2bc7364926e682c1e19507cd764853570417c0edc208588c0c880d98299fef00ecb8be1ee59edefcb7f2821c524acbe14bcc11254c8418019c9ca61326d54bed5ce8299a4cf59e4b1dcc8e73a4d0544d237966cc441bb7032ac40e00b0786ecc9d89d305d46d04e470865e078028290d434cdd9da61a84d4d60efae260fe9d3f739a2f396ea5e8443e8a15f8167b2badc8ed7e204e79012fcc2bc45efe6a50001b6c25b3c0eb58354909b02e10c888ea086ecbf8b2c4fae0e6caba6a9145a74f85d41f558f41a99096497be7e8201b2c549dd3451bbbc2da2c66f5b27f0c001e83ca4738102890c1f4f6d0387858c28395ef40e5e7d81b1101e8bcb4d1115db6270728bab708a0d81b30f5c110eca1ff7bfde274f4c7f80d9ca3f2dba658e5c4a5f0a07cbf526e84b47bf3118aa59103c0c1e46092fd72bdfcfdad13d57a1855538cf1f5098f9a3c22255e2e9d9b753e49d458c8963faabced85448d01008cbe7a31ed2b97802da5427f2a6a4cbd392cb2bf4513ebb492ce7cb4413771136ac1e8d27cc21e047bf593e2f9e7c6156e9b66b12034e78ea778e2b2116cc8d3321fb776883961fef1ecfb33e9dd32237af5f40b2abc98582f5f83bded37c1b7ebc139222d50be28e1dee2ed9d011eb454488b3b05de81bbff8e3e998c110bc1568d964a074ab8dc93e830f40138ffdc99abd47d1da377a6380a764619722b6a2764e3319421da9d324bf658714bb9f96c28f99c925128ec5eef420e66b24999fd5756d34624af49fe6d0e2bb28f4bb120e25c026b4734b45c6aec28387cc16fe4e5dd738ce9f9b28e9912263eab8687d51483a497c907e89c076dc6c04c612a5af73ca8699b7d62557749c0cfc4a699455ad5b663f273f34a3d179adcc50480e2145140b0dea030407fb8a15f08e4d8cac103b73c58ff3d428df910daff0d60ad07e8002d1c50b57e5ced1dceb9cc9875dc50582ea295fd12e21ab0b45ceb0f8b2f8e60f4abf01de19f3be68937d9f8b669c9d04e2699389a8b6d6f0db589120490a6a7cb0bdba6ea82f580d6764e44c1d575eb3e740b7174bb2e2d747ce454b7a0054cdb3e25eab529dbf9d55efa2438dca724fad0526e42f781c15fa5df9266c599d910d08065c8f24c271b2b95350216f36ccca7eb6d3640899ebfe4ce6bf22569e32ff672be3b0c011b0daddc3dd3e6361639be1dc6316c7ba26679c13fcc173830b12383a5b9b1bd906f0bdc8f1bf2e292dfb6c42524ce09dbb1b04ec401cd186a64b435ccb88a359a6d40bdc66842938917bd2f3b5da29451da677f2960c1eb112a514064f2314ec215afb13f89841fc4eb58638817b528941eced6ee123ff0819a5dbd556856230a69850df9a23cca10dd3f3d08b50bac63a7dc4fe84c1641d74aca6afb9f4056f809f328d8462d4ed380541dba971cf826ddb9c546a23a5464bd76517fa99a401b31b064da3524059bf0d90b5f6ed3bc260920691a4b0a73ff7ea263eac081f83a33a3673865f53f2167e001ce9d86ebef57157b6c165e11a51b743ba207e6ba75add87be82449c6bad5096cb9386c853aa20378362b8bbcd6ce89286cea9f4ec3818c97572ab1447ac1cbd93561a4e2e2ef363eaa6edfc27bdb19c1503e84c1fc2ca3cc1bd1f57bf3c57a11075284873e99422149dd6dbd50b480a243b4e5d23b86941d741e2254e353471cfc1fe13af0b75c91015c2f702846bf34c30ee46cda3fb8afc50e975ff458419b86e968e68410bc1205b51998a489d8bbf438aaa7517a3f477d8ecf7297537fa33611cae4e14539f4b8bc87e9e9abb21ee5bb0b79131d0d37797732c4d28c527b40c955e2f120ed6fe3111310da566acf7b65f40a9bd6a1e3191c9793ce955d67f53a863fcc79b48d6ef9df886a59a56d80583d0d4af966952dcd6e73d1843f3ee3e4a8060f628ef8e5c840380c300f7e3c6da9eefacfde9dfd17a1b86d9ce9858f9d54a6def7ba269e16c6cfa87bdb68ee50cd495d54733710d1d845ca0af854bb95a23b977214875992b7e4834d99757af0ed726c803a1e3de111902bab6b4eac1b6a62135a2eaccd81d939e639544ed7c10f32d7db97f556238a17b5aa5977febab38aab4915f2a79d327693973eedd05f382c3e347324615cc80aa80d890f893b1ebd7070276e63a8557cad8576708e44e31e0c5090d3d3699e3f189b9dce5ecd2e819504f0c300c188c6dbc28e2975649ea4c925a61eafaac067b8ea34cc103c045cde681acd5470df1df1371fa3a2da716148a31ff251f9ffdae013ed9b0d55a9ee00c5714bb8ebf2921a979f74bcec2abb00222a4339966decab56207c604980e5b8299712bb8f3546e2135e98210d1401dabc175e7835e26e58c7ca0987e2265a9821cbdf1129204099664934ae9328a871c88014b3f4de02582d12bc5c0c406dec9a825475bc221f6bbc225fb78efdbcae94d5b44a53a14d76255af2e2700daf82f799c8e372a0f6aa03264195fff972f5d8bfc8b0a2b8992bc24786505f8aae6e822ca847c670db441f8f4c769fbbf195cbfbcde250abafdf6051b49c272d99ec96a9d56dc6ed9ccff340b6befbff790b1e08b5ca0b47aca11ed24c50c8d0cca983c77218dc07627c5c75fd4f846ab6f6bfbc92157b39125c45466bd5d2ea175202863c10276f1b5428e1138c9aafc30732d1b39405359ff1e1e39d18aa83bc262c3b1f5dbca308330f927536c0c2bbfbd98c658c97da333069853a89981b30dc80e39b751f5a7278f912eb30ba26fab4dc03cb601526a4b76bc5653aa7ea0d1c0f673795acd6e9beac7bf2bf351411456d3602486ac5901aaf47bef65c08a53070d57b33d0ef654b0187e76f376ed11b436d61fac93ee0aec24acefa563efe6949b1f3a1380f02a98ad463cca2b7cb065d24bb90a259a5e8ef49c4c1f2d3de387b60d4ae29e854756fa762cbeb7ffe0292b0021cb22b94370c5d8e33c3b3a5ad5b8d8207f43f12f99868ad5da52b9557cb39e8d0c9b8c7e4bdb503323a3e81cf3ba586b7cc17ea3e5b7e451c162548c553bb9d2528e39b9a978d3f94bd8beb7d0a0575d0963577a7242656d5b2982813945d036e7b6ec43207f192aa9ea6ec15b6529298d9fb28fdb7c68714e32ffbbfe0bdb87696460dbb34c2da4731026ca200d0597fd359e0055ab031cab26eb3560acf80e10b94dfd20016476ada2c5afab96d298990728ec1df174ce32c52b8f5024709c8ce7b77cd08b443e72539b44005b2f28625c7c9d7307c630b8f50c09493e9f733ecf40df67ece2b17032443414ba83c7882d6a1fd2cf3ed0e0f7ce389669721818172c74fee34baefa5ac180bc545635d3693fbcf73e9e5c109ec8b73f67d29dfab93052ae1a1a25f9ea802dada3c7e29c2b00bc88b80cc288874df44f0772188906e59bb581f99738e290eb0bd013a137a00acfd5fa5e9156460396c3e42a49c05e8c3cc910f12715b43424c2791199f7e4bfa7b0c0a48494f2fca1947106a4e448a810ba88da5c5392023065721a6e16a37fba151268571abdd3c87feb8991f34ffca8ea99f48ea7e9c57b568b2885efeea6f1a5969c7fdecedbb881b6570c8b69591075950fbb7a25818515bba8c8e1fd88a7f2e69c00800b0c80ae180ced923315cf5dff3dbc781f1d49d3719cfc05ecdf6fe5e458f73fd5b77765283299e03f3b2382e5ecc0eba93efd89a9682fa16825139d4736e8d2ec5a80677efb4506cf3414f5452a22b9c48e2db2567425a5502c04a65c5c34aee1f81b8ecf2725bda287110c3dabe951e2a13dd749d370221573b8d4518573792b87e975c773829ee402793ec2e6574baf57ec891b36613df25fb8cf3f6965b40e6161eefa358f72a855eb0d3010d8628a5b7e134c7968f4a744c92c3a71a869cc3df32faaf8872f04417c271b164bc6fd5505c194051572ce1ff30a525ee58f437a550e7ca056da1f248ca22ae2cd2277e75a806f5030ac894e622b5f0978eecc1fb9a17bf2a3e21f71f3d23b09a51ac5919aea86711449b9dbd836ebfbd3275eddbb0a98517b0537fdeea54000e682dee77f299393febfec60b5c7769cc4b430325f9cc2d4e1ef8debe0d921a229def0f79aa606d27e8257a0ffb8b938cfb271bdf307709388228b3c2a7e360e407fa4de59be477eeadae87353bdb6bd6a897b4035de18d327800c4f3f6a154e54162875abcaf585d839181ae39d8625e7cb17182214b839e953b68c090105a8ffa2740459ceb839c756e6b9c96cbba25956493d1b9fcc3c65894b395af79ad2760677d80f8ad07a5addf4c23ca65b837bd662e30260d78685e48315c0afefa9cab40ba68a5b43e6580d3367836a56f30c7f2c488772424cfb5eaf3ea43b2efef1855994dc9de540d0226fe7ab8ebfe30ac85968fd9e61590ccc5ddd1565f8d63716f23f55c7a7cf1ddaf140563de3366d4904abe38bc9cc39d2d37c4a1661823a5683b9b8faf0ea10d494c6ab4ada4b6ded2f0c906d125cc425fbf33aaeb4b1853c4580e7fda5e93682aee719e6455a36f3d2ae219484b81a1eefe444e057848f01dc0fd43c09dcc64cda75da95f707f84fca7a5c9e40402b56610ad3a231ca2e510e253af10960de52297089cf96b64a7d998377a2b854539a03f6b07f6c76c15be7134f440721b2e134a281a1bd62a59d9ffb343835360bd9877441674c9a419c7a36747156a3ab54f469d6050ba27ffa444aa28d36806aa441b7896b21933963cb4c92072fa6fa0e6bf90eebe70c91e055d7a263583f170eec1ead29b5a244e8556d3ffa4445d30e64e387685d98ab9d5881f8dfad2f2a0fc69bd9e76d97cd3feaa27b44eb2b1e4dbf1ba21692174cbf592d5a61d98b9c8cbb1489706686489e6791cbe6ad011ce71a561ecbdb74eef513b6bc4dd4fef666e886284240fcd6e25e1c0902ad27e968f038db86c0308eaeaf948fc768e56d6a28b1f96052f3563598a0a1ad026f9a19b6d5a077ed45d644ac953fe306468b6659e118cd56fbfca92ca8e842c0931fd06c7b4dd1dc1ff7f40cc70aa808372818ec9ff8993488b3a019d8f8e45debb18815f3f7673231a129dd5b0cf47c4234bec55c9eeab26d6448f5b84fbad9ddd70ea2d59209257877f345c5763eec036e523633051997592007730b290b8602257437c77cfdf4c7020e092967c1e5e5fc9b4dcc0680d9d2490cddb38263214b70a6a263a67a5eda281dd23b53bf3dc53155f45b0dde13704503f2fcccfad1f3a48ea7e617fffb3a713319be6b7a9db9a30219e17e9bf9512ce8bafde628f488d2d74dfb7373f3dff80a832e04991c4b9b6089432a1de0e36994dc37e7f0352b6590accfe1a267a210f3247131fd1dda57c8f69f9b263fa40d307c87fa998bea629398e6c9d4079d0a39f8f9c342c70108de29598de5cf650c7200b3bce9afb9a1652ae7a28c6cae339d91db4e9c80db2d2cfdbb06c2d8e5ded227a65fb13153f7aa59ea22159206c7425238ef4a4b1f222a3d93314e2321d4790f7ccffd1ce05be666f30798924e6b714ebe97e470b762e7af67aa4cba189d1842e9e169611c5a3fb743e60f0161e18093ba99009f2131105597e3d1df7a1ce76f357fc40d5f0d9f8f279f320a894832896f5f0faee167121a805792b1b9581f5e252d41a53cf3ee178fa354007dd4a1ad032b43b3848cb247575d1b8f16bb9b644e576a3331d075b8fa18303647145f86b8ccc528f3b876ea511074ed8dcb224ba05a832422e05816238dd5ade112a2074fd2eeb49a5b4d3221c55c317ae9836dc9dfef7af6493d00b798a3a34b6bda87accdf5cfd35869324359ebd71d4f40774a537dac9bb6223546e0ce0bb8ca52da32dc299a597152fc2ba668902c6585a2eafb515ba02ce1d765c462e2a975d4ce1ffd0be666d32556fbfef6de687039cd1afad707beecfd572371aeedeaed127f41d88c6605f721c8f38e2433ffe8222f6078a31c07104976da0ee275e19db5ac05857f476172c35d6eef8e4f4d6a001a7fe8e00c610015a0d0d095ec2daea816bce5a1519502763b485eab1106ef54ade9dc8cc522401a86b86aa62ccdee199c1a837b5b0f27708e00d9f762dc38d6e66589c5284cb3e593e23f5dc61fa7fef8e21c7315421e91b1bebac875df4d1ad5837050fa0026de1fa22d94c2bd8b1c1218e835cc5459e702411b120f6435ce356bca7aedbb6680e4adc956935fabb97e9b02bf6989c4353f00c17207438179e00b5d2df160e840bd2bf90eb80b2ceb813886428034735805998cf45d644b98b58386e69937fbc8370008c49f545ebb729cd42260b7966f2b3e65992e87397db5fcbda063a30631b0f7c2f508dc2edd9d79ccb9e1b921fa0cb314b42d0248a9c98e05946ee8e52bf34b870fbc0a9e41eb13d6c416fc1e3c4288b802182d6cdc73e4cbd4e49775fe89dd534d1a4c685987abbe7ce7a86300a67cf0f3ac0f09bd0e25ebf4e8588020bb4f8a89a9bb50fd9cda5a6715b33694f7e30aa8ee67af3751366f061320d82dcf61da3fd15db05f41c194d6bc1fa8b223c7a9e360ad3f14cfc539a7553abb5eb686e00c5364a8f15d4005eaea4d75a7a9ac3ef19ce0fe2dd8e325404232229cd35ff37bed848db90acdb7bd383cb2de5e8020c2c9b83fea871ec0c0f69b5c73a347539e637050f66f4c36666cc6871a3369040e46b6635f6e42cde144e572b99dddf8cffef4a1363c9a4b2dd2e17f804fa0b5b94a1f90e14bbc26ec8f13c7b4aa9b68cc2952880f44ecc08e1dc55047c318f6ac513c4d6126d7863fb61875c5cf0e172bda8cdb0171a8001f720150915e2da6333845f73629b2901958166f5afd7d1b93b03cb468b5947a8d8481623b9cef87a8b55ebed7782c2ea6b8abb2809568a4c0cf875f6b2475593a475505a46f53d3a998b254af1c14e94b3e356c7ac5f56d879b4953bb0df2ff5174cff1beace2d95219f5c7b04da9c5fcbfcc3780a49df5bf0dbe895c68dc7763e7457bb2e6b638cc64e0d2fcc88009c1aec616477f3341b0eed2917d404555de8e7c4c29738eb97693dea7c667551d918c6ca6dacf68a8b7d052950f06f4173225cf3ed9d5bf65d99b89dcddd1015f2ce105fdf4c7f5e01d50a8c8b73f8edffcabb55ce543fde2b105f9d81364709aa09c3801f15568000afeb69525ed0b7d0b71171fd89489a34380417b5008ffe2b8d5eed73d32e4f249d290d4e48696552e39d8d0fb84a44edab1a047ddf126cde918909b48ccb999387aa6ad735958d2078fe85e9472629dc2b3d14f79ace7102d57246b1546abc5771d499501e341019e4ce5dc8ff33ddb9625b573c04f7f98bb56f6a624f255d463b1c634dc899b19c932e16f8e56402ea469873c5336578444f0287f79148778f2abdb8d58830f4913d2704f11c39bc12ffd2bee6209e4bdcdbe798db015f010b66c9895de8cd89b2c03c7dfae33086813ec7edf7986c04c05461ccccad9019bcbc1c4ad5e4e2560d1cb07adee13fa1ae37d97319ec99e8eb191b36bc96b5a54e18bea0955325e0fca4c8c477934c40478d29eee1773e403792db14e87f4003e3ede612e2c0fb5dd119afd9dc9b1e32a791e5f6488dc6556960cca25bef137c852d04c912cde2fc161ddaf2ec6869316a89f4244da2d631b634330856396b46b9b14c1dfef9f4e03dd1c0dfc7cff2428dca039e9a0ab287865ad68e9ce6a257eba82fe3a32a1517b52ef210992c27619175c0809577b1812fd6038e4609e1af2cdffb77b6fbff66ad007579ae98f013c77ddcaf4529a7993c9b3f248e475ed672769f36bf2d4eb4282102cdf9e3b2b3c1e1fe3f0f0df44792d59306a2ec68a7fb427034333eda231925cda95ac253ac54168375b05d2a75f637a3ddbeae8c8cba5b0a32ac64376365333e8d6835f80fa0f85edc5a1593b5ad2918dc0fd0e21e9a787c3ba726d46f397506338a69aa8700828841761827e81a32260ce268aa6eb8717e2b85a14f7cac3ecf3f09cb4833c29156464285b8ade78b25c2a7a2d3b8790f409d60dbb1259a3816d1a9b4a448c9f8f160e72982d22b9e0370f7feabf635c02177a452e5f506cf95fc7d23f682a27d86cfbe2df7b8bfefb4631e9080fb35b258539d8af388779952dd207ca6c648eb72807d4a8a0f0701b32eff1df090db600484d3990f11ed2025cafea9a2517aa00b91e03826b2213dc02a64f10deadcbcb67e830d9247fb146bde2a964a7793831838eaff710ac8c256391f0aebeeda29feeffb4887da50efdd2d70257af498f76da4b47ea131af8509e3024625703980b3fcf63b9502c90e410090c9029f4480cbf550a121b4aebc05f7e4244bb62d939ef4645e0a44481271e0b321d3277c9283195117906e631ad3067b685eec3de9e2d18485c4686e863ce6e1f13bf5a65cfa38c008570093e11e7420e78c3f7d60ae04bbc1d588128034af223cf155a954305335471a00012fe49fc088b43fa92241c77f461233c25d628e4724ecd7675d15dc543672be3a418775b252186f1f5dc7e7f541a3c34f16d3ebb81acd84430b81ff8c1103faae98059bd58e87c10e34760d92e6269f2076094811eb48aa6a9ecd8d528caa1bd3e6412d972aff687bd59085a8b6d48121c44442d3efc534200ab6dc027b80c2700885944788ece58f8f46f068a3cab3ca29528652d9c20e0a1471a02ebf5f5d7c2949e8ad1b2a01180c7f26ba96af2d8608567b943b99ac40f26c2de3ea7b45c15a9136962571490fe4f92b8aa2fb63c2c86801de72cf1a188becb9f4713b6e8192527b55bf092765128a141cfc454c84c2792d582f9c498764bdfc8fa188f0b5af44e46a7459bafd4642952296bb850a7d118414d16ebcd6237cb5f7b37946e004118e5d498e88d45e4e267a3d1a6023daf5561315099f80e5a53a63a3f59cb4097ef99ef0e07a0c34fb46348a3705f87b88a325287b6c172182efc30f65d81c0199a86c40318dfef2a5af151215be013cc8422961a2803ed770c864295bced4ac112b26823fcea0a6a30608f4e62efbfe9bb303b661a9d0673aab4bec84f296eedb0b1d3571f262ab0f824c6fefab81380e6d2c590c58bdf872b39f31e44ac7d4a0a82d4969af5c58bb1ebc9d72bc15c033f9f9a2fd658eb004ba0c7eed0ecf2536118366c35344315339cb883c0b14c53036cc6b92ee86c8cedaedf1e13f1a32a63c03d10ddc0518552a07a4916dccd4e913285e7df188041924ff576cecdd053c76e18a0d496209844763ff1890d3b20c9f0be21874fef80feeb9bfd1744e5972c9c6ef8b76e5b8b7efbb41bac785f936db5506c3844ea434b1df840ca9ef0088e0577bbf82b7d7df7cd0322ad4f65f54a0e1eb88faf839def69dcf95e5f8f0b2f03a49f1594c09d83150ede3f2b802ae904a9886421050782f091eae5e57e0121147f9e044810fce10c841070ed29dc321c5e5d3aa9c896a7d42aec15c1d2a2c2c8a98c36c0278fb498a52e7246b4866cead57bc5d57d6d2b41203012c65efb6d785b04233b4a1f1c1c85952b107be846f02d1743f22b58b3f890d6831442b37db9f1327769193fa34c86c34b3f28a791c9abd00492b1dcf8f50b8788d091b75551430ac8ab9d6a0c23c2ec176df3440b0bbb290c56f32c266f16b843a68c33bfad3adabe885346ab09ee3dbaf9506a61ac1e0373cda3fe219cf906540fcddab50480cc01371b1b325be183e39900399efb271fdeef19c46f931d211246278f01020946602328f81d61b774fbc5d4c81a77f93be7b2e6691f101841e882224baa131b5f62551c2b173c8acf260550194843c0e67ad6f98829a8508667eed183e60301d444cfa93e75a50752180250ec845577507afc5e311addee4988e09476d34189177a04f3dd796e66aaf07880ece6e8a9e34a61ccce82ad8717db811b0c26c50aed1e5ec2e9fbc95e81bde9d6d59db74976196ff00c0cd79651a58417f44b456ffa8f55d7deea26edf93aa08e9f699ef9e17fdec9ca00cddd00bdba8b6e4c0e30fbabbcc196ad223bbffb60ef97cafadb427d922307c3a0c1bde5ef417dacf1634ae6ba6fe9f5757a5a7f16b2275046024b2799cb5b2def9e9acdae6f37bcdc54406387ee80abf5a144c8ddd573fb5362fc898d2c8c349d6c095b5c5d1e121539340eff31ee1965351d6978febd34ab873e5f4aa348a47b9bae94cc1008882687dd9b0668090bd749c7c69ec4b281b2501ea49063f79efa6dd37a99fd0d0457d0ffe1fd35f384aa370b7da694123d19d5ab505cd20bbc07fa7c6c984f60db00e4e83224c0d4b5d9e44e1c99b171242ecba27cb45fe96df274b0ac88e238c5ac454dfd45c35e106a5aa663cdc956020f43c34dace24267970a878cbc039dca5a06f3b523f2d824445dbc04a9ad4477e9544f58542d269d9767c9411ae2d17a5cd72b292c0e05508064f1126a86acce35b33cc9e7fd04e7b77af98e53f57a3ed556e1bbcb19a51e540b28089a4fced625d259f7fd6e499b5cf9b9e982677ce76e833abe63ea0cebff849931581ed26f196f521de4d61747a9139454ec00ef73f26eeba9f263141cf81c611ce49fe4d9debc6a5747f4bef8ba7ad429e7feeef4be54acdee4d5e107dc9c8e598fd1b11b794dab86b95b7f2157d616e671a3f78a9f37fb79db7f8ca316cb5f2dd7b810e47f304b3f8c134ed1e760bbd29c214fd31952b19652cf7d7cf61a99cd2e393af9f19f5c69732681230976e798a06e019e368226aa1e8bdbf6a34d5b0a0c5efcd77ab816d7b7077ba8f2ca96f2511e66e3a42bdf4a6bacb423504785eb2df740839776b6c212a2c9053113b055aa2e21e9971d1aadb5595d9bab673a22415531db9aa50a31c7b606f7493c7c8556003ab50ddf2e47879c2287eb1e45714f33dbceb1cbcad229d61152bccd14c6f7bf37ecdb1324af1afc3ebfec624b1c05eabc4192839f721f88d850da13fc99a79fefeb64b505ec662d1b1bcb4ba1a162ab19adef73db66040d15ffd84e7516c79f17f00339954f4d96a160d0833a393f7286864849e4da08bf0e3f364ecc934a87028f98037b67edde435461512c0bfe2855fc2efd99633d808abf64f767feece9bceb2955c9ea05fb7ed48ae24e5b5dc65f8505d665b5130e3c57555582cc75d597b8e78319d63f21b8006e612e565785b6018d97cb2f50c2cf9ab8e66112e9ca2a30d47b53b9962d51a72514e22faebff44d66e4cda519c987d0af5f5233b175769ed5f8336ea99bfe04d2ef925aeb6d10573e4b5969654cee185a6390b13d56801f1ec01d64363335f21e34f738d6446e9c040e009702b7c67e2384468b0a1622e97c4a7200430156630273f47c0cc9d6a3a6d4b44d89e82c1834363dfbd0d69c4b9454826ea8f631a96cebd050682a8a0ac93c99db541689cfd34c36107fb6b283c9a2f705f5183bfb93f9cec287f85d4e8453e78bc98c124be066a46212b27f5a9a9ca4bae6834fca106142d08cfe080cd282b5b2eabdaf629f80bed0156256cd99f98df6357db6e7eaf5ae489430cdd74a0f1bca21d2f8fccbd54d89e0feca0402ba8ea7a21bd8db0f3375c07a64e61f21d7f2222d870e02e8cb00ec5acf670aa653a4270de8717bc88b80528281598f2e2187c4ece4f1d195f7dabb0fe2f787d66b54be599729c530dae463f489e939fd1f406218a1b3ddebb29f78df6096eeeb5dd85efa535a610d7bfa4c529310a59c90e8f2650b64b10aa38b0264482a0b0ea530e844ede38cb45559a6175cc77e28397889bf21104fd01536b927efadfcace8f0e7f74dde3fe94a48faf407eef19e8d083e11223335bd65cfc7315b61093b23444fbf5806d8ca8c68a182eeb6bbfad3192aa98392de40aeffb6dd54ae350c913531f00af67071d59eef1077f6537d2bc7a33fc6da574f21ea2f21891e3b06fee88dccc11c2b67328c991618dacb56a3105683d0b84d4163d8ffc692a9a36c34ca5cd33e73af29fd1739d8cb3c98337920e5d32c68ef927570b87d0e1aece433de70f6c8c4ed204ffcfcaeb030f9db1b45609f8b5a332dc6f0e8816fd990646b7a5742b2e94f70eca040e31d53b2f69d0a5b41e976a1b927359f226e7ba324f32206de385ec7ea3c155840cdc1f3e6134ebc8f01da206f70afd2eed52742423b2e29066091cf416e09e464b62b3da3b6376e832e6b564ff804b63703779f143e0e036faf70b30d6a9a6b29ae125687ab059401ad8e563b52a3b72108e98d163de6b1ae3b48973e2e79e8de6d6dd00a2aee5377ae918a16c08c71b4805732a50fb50bcb70252d1a6d1800d2a8a08fb2968cd2ce046164f4da9f0724ace6f47eadda38a25ee4da9e92d3c293501e1d69a6385d77bfae0d49506a8397fbf3740dd56a22d6bdc9b09b63146c5fa370096905fd83d34b93c29e03c0748b6abcef2d7f459d4e648809beb557996f83295dd1d220046d9196d5fe29ddba13c472a7c860196596ffc2365748418f2b624b984cc5d24fde2b38f993f44b1a0df3f92191f9f353b10bb5d464da07d54d762bf05411a7c843ef87ebf2cfef76e09a1061cf09bf14c7a484afce244691e9829fe94b50e7bee5d7437f1912dd4adcf47de24378ee9aced586686b3ee0ff1395fec006a81a1b156114f3d19bc8e9f0de24aebd550dd7c291b94f0561fe0cc2a7cf2c20c8292690da7cce0b2ea58043d59b111ea77279dc7dc8ce68af0b52d64fdd56738e66b693e022304e50f3ff9ae91e5eb2fee5de511b8894f0528714f52e5ddcaf0c1e653e691f226807ca7278593382f7f51036845fb3da16ff19280420abbf5e528550a859a0fce5aa6dd2707dfedcaa9bbcd90d1083c85bbdf5e987c4ee6356354a2bfaa0354f6eadfe35538e840b85c948f11e3e2004d9d6044f0adb617ee8823acfb55e5340b188136e3953e5bac257de5582bf4779715f8ba1141ef93d260667987b9cde207e658fb810177bdfe8c00b87238aca89f98efc8e035e814df8a1bafb77ed10e7a2fbbd8315689b254f034effeb501dc24eb14e52c05904ac9023d24aa2accef7372b3fc04b9c2375f09fb4c52f017a66306ea8799d57bf0a3ab3ca9a59ed0c1aefaf9d6df0596dd9764468b46fb8a7f1575eab295b67cd3063c0d01070c1fc5aedee5ced9deb297fd2dd8067d36957b645cd062d71aca38176b8ab6db5db36258f8ddd74d958b447b6b97b8b61571212791b9169b206682f3d9375f0b2bf2cfc30fb734adee7c9e20be81aa71b6a000131f455bcdf3fb427bae1ee6f32f5a3838b50371eded13e25704e7426c6ca4fd37b35c63390086eaa97f05cdfaee22a672ed10877128b56f17ca0f0719d6c46b85399dacb2336747e9fcfed1f228a0f62f13d08388482537e6dbec5a2daa2a8cfa92849f125c501ac19f9051affe716479483eeceb2cc25f255a5e2b79f71dfeb50d52f566bd6f38758a2dbbbf9df27d2bdf73b06fa593932c4ceb907b0a8251a713ae08a988a2633e2b0b619e8a58b799bbcc433ac3b7b41eb746ecce0cfd4787614b08da209abf66ab9c59e3e6cede0f7fa6f46bacd304fc11ca5cf50b084feb9d0f7ecb0fec2ea239349ab6a70204ffc211a811aa44d777c6324ce6ea6998bf850f34e87b38b60dc8bfc041efb74209a2f2e6c488b2abc5ede8d3bf4c97c9c02b31d64d3cb3ef05c14a8bdf47a8acef28c25c9ab9eddf914614e404bd063534acc413372c20269d4238d164d10ae9a1a65d10afcc3a3ff8c570b65958b88a9d35f06d819c83302a29cb9c65e5d7f498c295fd839c23f274371f1350aa1a2b29b15e61a999d53307b809dd29ac4cb3735498a6e867281a572ef699885d797f99db68bd9ec07d4a974ee46cc4905a1121a3701306a1480f0f5dda4aec08410a63dedd165b327bb19a263fc2d691265bc956a3b854af4466e4ccda0a245d11923b4f27223064850040638c9d6198bdc86be41e0612533a774388bcf8aaa43cf9b1dde0c80bfbf1494857753da73d4057b2002e5032c69aafcc913fd27e38345989a7882ed8f0cec58e2525416a8697180eda7edf443332ce7700f3a3b65ba0b6d4b1c45571f2795d3970c53f40f138549750ff1d5c67736c01307600069874018686f4d388c48c0e4023fd872074aacd190804bfc46e61beaecaba936d5dccd1ab4dfe20b99db02c8b20d6fb78a94d86d6cf48a44c38ca117dadd6800e96c73fba48fa193d52ea50ae5519374be9ef12acf5e4da8ed879285ba23abc2a2b7c2b09f90cbff80a707a6d9ab6117ea418b3256d649310de08981807481c2b9ce967cb922fec02ee612a129a53cca21030cf5dd7606f36b02eed0db2d502f06c1a24d1d25eafb6108aff09d5751a13df52c3f594bdd2f59526072db1ecead2fbf5e890748576888b388deea49b66332281562060ace68c17ef3ba51a661b6843dbdb94d14f1e1f4e9a2d555ab385bc67b89b097863eaf54b752da90428d0da43e225ed66a27654e7983abcda940d22cf667ace5b68f8640f4dc396be8d2b6541dd7d5935806929fee76f6d3cdc46ebef68e3ef7ae436bf5ffb27a3228c3f44994715add17231526ff46d9b72a2ef5a7bc48b89f7229aaffb6b6b7b59bf563b81de5d3c732b7935aea8cbec3d14ab8540f07fa06de46ca32f8c034c1a84a9f9f23ad2a578f19075c93fd5b1a6efbf04ce5864a67deffb335706d74417ac0fbe2dbdfe0808fc5d011fac8d711ab0a5a2bc78c3a5986741916344b11b76fa15a3a3748478c3d2d4caf9eec3cb1e831451957cfcd8501b9e90b57db2d3635a944a7017993a62afbf08682a7d1ff06e91bfb8a76809a1d1415c77b381ea9fa5105ac4bf919afcc7b720f4803ce28c7d102092b4fdba1d213fc3c2008e142e730628ef04aca8d77d4b131e796ef63b375b60a4f00e84c7552f2a310879bf833b0a04d918acbcd873b1f9456ad58c5534f24d02ddf7cafc510b0d0782bfb701ba326430cc7c606edd866fc47e841039c774b84ee6002d390089e3a4c0449bea10367fffdf3771d2c74f00c01016525b7c054a04232fdad6fdb77847112ed506ef3e876838fb0d53a300fee9ec0b5f67b4fa442c1a209211ccc7d69b782f9a3c38a53176344f035550e0c30968b9b8a2a85269ee1d0782133f8a75b0ed8f6a84f4db5dcee60409a546644199d84758ac4e3ab2258a9bb7cef7936a5fa11f3c80fed967bb27bf688b47829489279cd92a4b31fd53d3ae078f63fd40a5a7d5bf3f45f2a727449e2fd00ab0033c0388fe8e225aa9fafe6e0cbc59ccda65e39595a98be034511a5ad3ebe4a9ada9e66fde258e59a416e3e5d81e64b75e0f8600cbd5aa36734f51f06e5fdd3c1d7e21473a8c3e438ae0c1a2462646ec3c9de077d90f4ab6ed494eac80bc0d2001873ea7eb2485f0bdaacba6bff453bee4b9d9c07bac617538878f1f9fdaced97d4cd13f8e04f4d9e27bd2efbd1bf66350b80c54e7bfa34b9ff9982c62ab3c985f85bd2987b6018d9cc6c8ed037be5d8972ebc91bd1fad6f23581f2f528bf03a4b9bdf79df306764ed9b5d7d15fe3da0018cbdbce4fb57fe07c57f258cd4f0893e34afa5c307d4116c874de0611737b67301050229203fa98152f92b2427cabe3e3a57181435250eb66dd8b54305e35f3b0731c0ff62960fdc5f4a83a1660828315c524e8d1bdc1c3061ad858ded664ab180239f02d9d287fa009f3f978f87b25ffd87e9155b9bc0126f5d807c2246c99fc4d967e9ef6397da36cf6698ca6a4be6f5597ee0cbcce8d53d9dd582ebcf089b29afb27b4544e36674a43d7f19389e19a6a15add01ca826c948849ad7d58a30cf7de04a3675534d3ae9eda06a33615dd5cc0a528669f11c1cf100fd96c9134014e025a0d21ab5db2b47b1453832b3976d88fe9228580093e746f9cd4ace0e6ec9cbc695e0a2a9dda3c2e85be43b69c70a692deeadc538cdca9034ed4382a5491b94f7b116528c32c3ecd1d283525f9f0caddde30e15864ee5ba1d57a2c59e1091ec572ff3ce2a5a50cd797f9eaa53a22cf85eed1c5a80aa320c73f6849a15fb59b0aa2abc28a493dfba22402e2006b02af0cf7b8e77a5f652f7de9a60c3790370b58cbcafdde931c99c412c065cbf296585fbff26580fa038bba609c38b466e0966b8613874ba17a8364826e5ee1f92b4b11c908e02dbe9d94f775d44f42eb1d311e3a96abdb10eedac21a0c68e1b430a68a08167dd82b588455de572c04fa3c152c8fc1019b687a97b42fc6a20f474f37987f525525ed68016c06405e5bf9891cc4837a417e4018564d540531e69494e143ee052df7ced3b25e515bbd48fdab8683705660c97effaae0eaa66cd8a636764c2a9a8e5de023010208d94c99a24336d3b028644a292ce73718633b1c9e8fa54b532cdf472961c714733f2dd71e6f9ea7d3680c3316174c759f400bcb962603007fcc49b2e16826b4347542df8d507d67a9f79208e665679c65038985dffef9b9d952a8bbe14129c37b07189a871e6ebc4961cac8c4be13f963b6fb523b6036219b4c5354732c40c27eed328e73bf2146bc2ccd7bc29b9fa6d4dd5024e1785a812c27db7146849a939b0f3fed6f338c143aac836ed09e63e01b3a7fefeddc3779a6bee3ab254644c9e66f3644e09bab159cc716086f36ddf221a08950c001b05146ce92afca3c9bd7578a562567e2fa3b7e5f0264363f4db284e27cb5ca03891ec46883283d668eceab4a6a5f28d6e3518bce71197b1afc4126588c357e0d783bb6f5eeb311d1d9048e5d5a7009c370b45d5a2517f83190193407f369a656e5dcacee3563b7300009d2e74b4da9ffb3882f386e85220aed638a49639a52d6e4589f859ff351f1109a705197051c0f53fb6b60cd31ad92dd917cdf4fb9b4e1f4ac740db1a4d06b56a383186a0b3eec19a7a2da87825a31a1a1e44a6d8d7a38054972d43eb930a7556565603f595c1c144705b4db9078485eccae63315c11affc0d2c87ab601c9b232eca375334632d71b45d2939cf714f1be0b90932911ceafc01f50e76d29ae8c02dd91ed090cd0a63cc1afb850d1461b12233ebe6d9ac5f905956376cfe7764082f9ccf24b0f266301a878303360b017f5ea836377dc5f070347c6f701a082eac28ff88c79f01ba0356d26e126f98c2ab77366896806bc8f06f73633918f63c761b3326f3dc00b6e4cf7226edc2d74c8e298b6ef626e026291efaa21d43c98ed4624fa521405d097fb96d2383062ec4e86394841473d24987f773f633c55c5accebfa0f744f594c7be2b60c0245c3abbfe4ffd0a57036a93a8b9ea6fdaf19cfab5d301bc8148ef495b005a8778f85ea4895f1052290140ea793a9bece64bceaa3504d39586f536f700ab902431c49e4afdaf4893529187f57b09275047b1934cf0ef9b10b0325998b15744af0747cf4edbcc746386801008e0ab1782984881bc3a6ebd1a8b0b9de71635bd2886bdb29e818d76de24d19d86e404bbb61bb6da5469dbd7d69f5b5215f14d658a54c0b20271ef045cb5fbe801aa9edeee1f07bf327f14504ed4c9bacde836703b4bc26043a7ab9190b4f16afcde5d1f9a34f18a1f0ef6fe6fdcf35450f9e427f56dfee4d7c81770ec928fdc6bc88956f1b4cc1976caa871c9bb664d67cb4bce5fa06603d2bbf9ca03073e2e3d29600e8eccb77dd39f9a2263e5d1048f900283eea0331fa0aa38aadaa669c303fb6762cfe40b116c810a609222ab02cce8c764e666847b0ed809ccf19aa39bb48fb382d65d5ed89a0658f851c3e49d2b4292f3eef732c4326bae499801205cc9ed32ba0bc1844c810c1c77a51ef6398aa5cf7f783c940404ce45463bbfd0c5fea27244b35b7b70dd6ea5bad0d9fdb2fab98151fbaee91e2fcc1e09e3e455c79767f8c1fa38356415d55751fea98fba9269e1c9b4098984ce529f385da62a8d7d03bbefcd9a6214173bd54ac26a36733a82a99653e2f5fb06621b4af00bf573f34a6b5acbad8439060b54f2d72126d62fd8152712d546c67d6e861f404ce44c3a58950d5ddaf13f0e1f1c3cee6cc4bee21725229276a617676675f400dfe94dddef03a388033840e008e667a577092591fce04f1541855b2e5d433b6b5a180cfa4e19ec2312a5f07c5f3788351509528cdbf54ec4e91f2034e410aaa76b68cc40d9e7c3d869e9321ff9a0b50b3fc0edd2ed9db730e083305f311bcd9291eb097804ee84c838c551051371114e152bd2fe61288e77df554280d7c765e796b435f38b7ab102d623d9194a720af89fce850992be7623ac1d8a39fe23c99e02461751b29a615dfa37e12dafedc4cc2db335846c0bfe93219d40239898f3c0c5ee84eaba7eafbc61aa63526a418d2cc658ad98de24c2244ba41073784332e46eacce05655164d4eaab69333ae5cdb323a859266cd635a63d7300ce25111d48e4228b0c0e6c2ee13160cee72b69af6eb464fa8e4fc27eb9945d789634df3e1173d106f28d8313aecb559b748c543e9673952c82845daebb765e5ef48435a85ada3f3b5d3a495ae207e6dc35fc641abeceb1cb6eb2b7ba4ce42de5fe8aaf3f57c7bd3ae021e4d83055cb7c7702b13b4d4f7159e7cbaa06a3ff50eabc4c81d883c528c9300425b7bc169270a7bf36b7f838de4edbeea34487b6ec9cf3396ac77402d4036e7ab067d009ac713a8f2ae89c01327ebecd74ecd5be2d444b6e3c233647d2cfa0dc491dcee2a3f90869acfd3e91916ff7eac9718dd1a1c49b329d373dd14a265bb45e58a564b54739f9fbe1767b08e1c36d1f2f56345c3b1c1b6df3bed6bcb80a518f5f57e03edce67fdf4e73dc26e46c9c14ee63a9252db4f8981c5a785b3d38391f0750b2f17a875fb233616eba66cb9a7c9933111ccbd0841f16f0cc6b1a19a6fb775089354f57e83c3ba20a5d35e648cd0eaad21d4eeb4603e8a45a92104b10a5ab9fc67a01e346e36dc249e0235db8e5f0524a07868c19eb883d14a6a1779379103a3b12654b6a2d47d2eb54ca2b549ad2f870c4c8355a7ef20db1ee064f868b6e80f2bc8ddeff1a09d742472f0531108213fe1b8283c7c49ed12a051b9437d5849529ebe8d99d6e189efb2acfade5689ac0ed5ca9eef7f1ecface7bc0d9b966ac2dc9ea8185db9098fc5308783a52245b3299be8a956b2e41a8fa7d5a270c6ed9a7de5f17bd03e7eb9b42cd5166272c2daf43eb7004817e9c7c3535fac3a969fea4e62f36aa30c330b9daa33cad000b74bbe824f79197e76bf214543313c1cbe39e5e2c50ee2aee477a147dfb71a495b1e1d540351aba9dc1eaba45d25b8fb8183b6ac968b79aa5df12a5d33e8e066f2dd57f6fb17173079987b8cfaf85473d0a9aa58d3e08856d10fe2dae4eea5c7121ae65d20e6b5e198cc622dc4b2825813f2f8b0d314c4c37acf4401059be615f6804e09d7464d460a00b487f327248dab63c017c1fc62ad6c14aad71d3307170f11de3e6cdb593b9cb1126cb2dca169708162bd9846a2aab52cf80dac5dcb126a94813f7ecf01ad7d537ae2b585d64b26ef1d5c6759e206421ae36b7204889074d2261cdab35f6488fb732249e63defd209534b55a2dc637b674619c2efe2d3d168dcd86cabb6ed5b0866e7295ceef21194019139f1fa72ab27a933c6e615f899698ff95c3947576dc65cd54f586cd3fe5b45f50447ea8c895e1d0378ac3831eba405cdcceee2c6b908eddd27cdeff6b5a2be5306d197c886aee7af0d9e45ef2baa6c6c60041770622e5a5c2fc1eab6fb0802f2c98cbfeaf76a89fafda403f11ef027c522aeff91699086460a0727b204e616a0a77d03d197eadf671f7acc18bc5cba5cc27d1b5258e22199d96eb82a80d5f3b5383d2cf99de4b87c539fa8e13f77b3ef95715dccb57c6eb3b0b7f2f8cfdd0137ad50e3d850ebbd123da5a81922dceca593241628317d113b22fdc8364e0d2ff5fafb41b5301f1d09d3f6e6e82026c9d5074aa67aa04931e3cbd8f97409a1d1a838e4f74309459e923246f8d5789688d9ca6a7ac7b47e25fffe5f20d64fa9d6c2aaf4c4179a230a12a07c4c66cc073e0d24a7e28217e708957448f1bd431163a334dc8b824bd60a7afec95482abd3e746842be6fbe181056b07933055d93dacc76af4b7c38190144f6baccbae2c8b6e9f1d4896344d9f2969454303d0afa7436d81188f58430f33d95631b03e79952cd770dd73912f08e586e5b8b6b24a925afc1253cc5152b3c8092012b284a829e377ccbced658a25b7e91407e2723353e34f8f3e6b421572a6e9b0c62c73dab8cac40f1f7eb6e74c38820c17342d7f7d8facc30785eb1bdcf87040bbba38a0b3eeeac90946bc3e6970b526a7915839b3c28df7088c67bf03f896040d18d1c2e1b8b019ac59f4b8ea095762f91f09b5fa66c3518316b60f55107f52af3b9d9a80e7fee676b8dfc9d91ece55e5bf3b7ef4b21929e49656d1e85f5e023827d2c1fe21c53ba37263998a1db8dc0cf247f4b3ca09b10c77574f5c0012972784400f47a8da257cd6fbd30d1f6227ed224a2a249a3c4a9634243f1cd01ff548a51fbb5cd4d57ebf355e1df0a40f565db0b764b632b67e758afcc15a3971f9d3659e9eb8af8d79d9186168608944a48b9dfc507387995ca60fe65aadfc1154a620b3478d285f14d766a685f29df157457cfe94b47368e16a840473be230363873a6a50b68fc99313a7ff479d20b86924f3db581168a647d7ee07755044347876862aa077da5460d80d6fe4c93edb5e343952853ee4da90c2a01ec7428d1276b56cd9c491bf564c3d464a4d6f44a94884a03d508d2e3e4fdfb39aac91cae9ed3bc431422998198fdd28c78bea8e9d5467829eaec386cf6e871bf56df5be60cdbc80dad07dd96adfe51c717ceab599037bd6d2410b014812a7cd77abfef935c075157d0a3c98a24fc255cd28b5e2decc2fe9fc329e60f562dd97048d9542d5376e1d56a838c8cf35e130a882d1281897a78cd47a55c2ff620fe399537f9727ce83d784502973550ce48d8359eeb9106c011e48263b9c4a71a6ad4892a2daf343a1dc1300afb64ed2c0e957cb8a9059f9a549cff876a44508844f17a2b86689c7876216a0fc208dc74f1110de524382a00285805a19b7f5f5c4cdfe969ae47dd4333871a1a5e0fe63a9dd0a8d9c4f78a30f66adc2c6a4f3a01c9129f6fac3414d7168ab6dc9b8d83aab62bb7b565d37808676b629aa811eae43a4e4f78a32a5ba3147327ce984e9880312792017cdd0e6de9148cca14d2a1e6c12fe7c4a91bfeb8f130563c2cdc324bc86eb09a8198f412bc68b7c3268a2100b49cc464d8942a09a5a6d9741b41300487b81eba42006934b36308375da170b2723e6303de766885340aaeec3fcb5e5315ae8415cb4a7ea0bccdcf968841a959d2409462f884f0f1f3043494e65688cf2dc201ac160f8134f20e65804277b8e7af214896db0d27379147d1ee95f255cdc6b456f6d112ad83b32674b1d1b7ddff64c65c6aa20defae904398cf716a84225623b2955857184fb384ab44f781f25915f972c7f186a3368d7eba6a471ec9acd5f38f137b23fd1fbe85f5edaf9b5f8490530608ad3ddc00cc232493614dbe0a772076f90fee24577f7848d38952338ff607b2fbc822aeac3e9bab6b4d0e97a59dfea2880d3e624742a15af21f320156da3ffb7bf00d57bd1ba558716791b950bd2a4cc8bfce67fa3f2e25c8fa5e296efd87bb67efac572c3d0c9edb1b755fb87cc68471ee2d58f94c35db2a9f78f018cd967fc90770e354ed84ab1f5ba39fc252699bcb1bdfab4907cf46346afce34cc68fa81c1a7aeb19088bdc09d0e13ca5d0ebd4ab3eba923ca3563ffb0fec8c5bd054c20b26ef66f3b4f87ee5ddbcbec822625fd03125ce7c30b271a88d3d3969a148795e409b485a42a2c53c00cc4168cbfc5b43708df715d46f1632d7ca0bef8f6eed18bbbd2d8925089c8a6470429422d7f51467c388b8124825ea3b443166cc1562a54c99c33eaf7f6e94ff6174a9a693467cbfcc036f3dad03b1f253dbb020f4fb8b7cf249087e82f6690bebffd46b758a099ca4a7e218c0b26378d4000473cc58829b1ffafe7f8ed9d6360d314909e0304912c93cd1eab07f7a0df5ebcb716e49296a5e094583947e564056772e09c64b84922b6bbfd53dd1c3522092a024fe5450c29f16a65c7499e52672328c8943deb93519aa308fd193aa7ccb15354aaf967b1afbe3d58e7af08bd0ea72f6e97876291eb0db42ff552314d9f78e5334132a4f544f83ecec8958a59ce62ad94c6eaf5c1ca4112d51c51f8dd1e9b8c9edeab90b81f92f302e250db318453511f0e58fc12488636cc70ffab5fc3c33006c0e8e2394a32a6832380e4eff13c5b491a5bb50cccaad9b3b4a2779534e6c8fca6fa162db61ccf3eaa33b6e99727fec9b3b7fc17d346d23f90be823bdcd7cee26f72c132c3e72e35e5cab295d42933374e234ab3b51f644a5979f7386663f0db3d52538e9977236fa34e0e7938e32ab4d378ad32b94456b2297db40f336cd7ab60447e6d67934d03aa20abc98751e58828708e9d55f7703c5d72e1c702a52665cbd21d95ea5f05736d9f9f2f23dfaa1f21f071eebf146d5434bed7a09f7c21c590ad84a9657ad8017d0c0a83e37d74b4ec2052b2c296948990b734a1dc889739b455d5b2ec290eec219d9b173c3a1a4bee46fa75e8433bfab98243d2a2c4b61af299ba3270b7ff1fd4fa9f54bd431ed51a9ab2be35263772d64423623a635219cfd85325084788ba8c6672f2100e1a1b1f3d65552f81059edd03aaa34e0c87435cac44dba8444ff50fdc82f5ed4bfcee348a2f9a64e376ac590ea521753f357439a333deffa831a0b4cf6c6c1aedcb14688466ce43717031f01e94f41358e42ba4c045e368dbd5128549dc87d45673582d6052aeef84dbe15f94df9e8b287c89823a169f1100838b361a3cb0e26f8796b367f227512c327a7e318cb47bec3e9403c6ec0ad22ee43da12173eef70353f76d7cd1a55fa9d74b012821de92183f4c5070cac61cca97a0d636c63700548ffd3256dbf31a04c0317ec6242b428ff20933a086bdbc2f4a4327693615b0883817766233985ca9ddecbf82852b382d3c22f24069a63c06ddf8cefedbc4c90a4870e620aae13c7f484a5051a2b643ead361b7fc399fd68a895cd2e3de1c63a6bda88a60e096586d49135fc4a504c395237a3cda2509f3745e6c2f599394faf173b2fec690ab5c9dd24d4ac79e3f3869f59a9d270846bda5c5a0da02834f67dcf01ef1fac5aa3b6c5890394e1618aaa2b9637e3e1f5e5fad969117ed1fe5bc78620cf922cb42c195df086d1d6976a6ba3c41129459e09353cbc4442e1e563e4d97b74599e28e240a24f5904db911d5a3b0790ae5a976ce8767ad00da16e5d657675800d73f18fa93ba4975207787c64a6349bb7e6f25dd9d4e6787e9895f945a0e41dd9350fc115b3df49c676a6cff4959525492feb480d82a2ceccb51cc70b2a3e108d468e57933cfc9f8ac2e6453956abaaf3923b8d3fdb7fc7f0f55ac99f389c177b01734477419ff0a5d26ff29fa215ba7d221a2708666a8fa8ff26032d56bec190d9996538ec32f1b42ba3d52baeefba97e17673ea27cdc6fd02139835c85712589fb8343d5f2306db2572059f293ff6a1275892f31f3152f6bbb6e8022a89985f8e020508dc7cc1aa47cfc42f557ecc33a826ed1e79c48847045e89263aea1ef4c3a82b2e892401fc576ffbec65570e3cc2687940333ccc412df3631a5474ffe5fb2cd8f70e15ebe3fed3ee56d47d59bb4907e44ac6f7361b8369e6e5a4919c1f776cc74e93ea4b7c796c9faa0b93a17f54cdd3443799b450e1d932c320d741b0c11d73c81cc6fa05038fe2f6ffb0aa5c11e54c7bb5a4bcd949ccb318101bdba920d58c4d82cdd44af17aeca07537ff837f03708b6249d354940a496b42c6719bb0bfc241b835794a92f872279c8057bbaf1a3aa5a1cd45a9c0120751aee1a947e30a79a7b56575bf7943a3fc06db375c2f8c14e59b452b73ec166f6b92b5c096e5f0332485d4e651675302418c719ca39b41d0e5175d20a2d95ba7707533616c2c1e82c298c60b40db81db373eb5a1c44d247680733b6f5941c73e60e30c35a0707c5d59e5392f426698fa2ed1566526f6aea9eb658beeb4fb3c56d0dd2fe94e51ee9e013c40aa16fce03d4b0d95498c56fd472185408281719397746875364b0d85105610a9d7ce8406ce9e82902d1346adba313d24fbe88e227e962a3b3c147d567f3638cb69eaeca4c26e9415bf7b888c0ceaf6a268c4393466b39fdbf024305c77373fa369d2af34fbeb8e572429ddc5df8b1921e8aab0581243c8e6b4822418b3a6aa39e3d97f6d72029068324e76cfcecd25543f4299fc413b8335bfdce630274d099e1273396527bf4e3a097b0b9a52bcaba577ba23e73b4715a6b0893eb0181c2374b81c359e848016649d9ee61af7a6853272ed9e3cc753bdde38b661d376be0488377ab555a8a683e15d9d5026d8350a5d7b21fb1b77fd276d120d6c54cc50f12ee4508dccb0566d162fbee2b1056d9b080f8470683db4195029224d06d096ca0ef226146c9d74ae51995d5ff4cce287301c2e65fa7e9d41d4025e9d141131547b130da43f496afb99acd422064e1155829210e0f8ad1b1791bd32097f49142d82129c88fc6feefc132142d846a947654ecd6fce7e40bf2a8dadfafc47b40a85dea48d908b9ec10c4c1f9d8335ca26ae0375a1c0d776894e206dd222c008cd0ff6744159505803a17af6de4974dc92b1e09b48dc78bbe2e2fabd0fe71b390fe6be8e4e83a0bc38938ee43158fca226720f57b94daec96556b3a7421a473e0e09381d454daee6aa7369cdf59ded115eb1a5d7c3ac6fdd28160e6d9a171d7d18599d665eb94f9120a325bd1b5b62d84b0c59749c5f0bf3770ce9ef0eeb9122873a352458eddc2b6f5336505c55c851b8c857898276656540f762a0ef7457fafeeacb6aea751be4adfc27ff6abe4dcc089be4cd795f7163e771a464e6d66a3197dc2cf9ca86438e73a3cdc4e9e4784adca232893476f5795613c7f263605b28e10df31f681c88f7839c1fcdf9614de62413e8296570980ee4f42757d5028efb5d115e3d0d1399c8f1a1b3586f15f8cd2c6fe552d7d60d6ff68e4bc7354a42446110dd3d587fa33d187fd5f5d8ca3f482cb6e5103ac27bc4ed06f5c2e39de81482b284f9fa275330664925f74707cc5e3f47c49aca4555223d96ac6587b57a14ff542fa1c9e5d475b3d9234e128be5c3a9fd63b9d53c1f89bd07631dcf48f1901bd2ca72144cf3d4ef3f981532aa60a4cf403beaa4fc31a360e05acc500c048991a42a748660328d13aa67adc379718ac9ef61e8fbb1a5396572dab52e7247aa018cb6664c4f2540b7017a0b370a0ea00a55bd1c688bb821943d5067a5d705477fd5109bda1b3606b41f343ff7c14aebb7bd580506afd6523e01f430366d6bb77b6e2c6b3c26bafbeba1a560294ebdb7e585eff297d375f2753bc916ade747829012e41df4dc277514a3caf1639b3c63c70c6d15e96b67864b154411b373038d273b676671aed7fed5fb4eac319b1506dadbd27cda54e2b3476125cfaee96be6a667cd60bf6668931a118719511d5486241b08675942cdc3934e95d92bc6c6adc5fc9cbffbdb46f55207a1a149dd895f138d2a5e38b4d33c26820cc7c5e4c9c8503c2657d7384011dfa9e2283630547048d4eb8f0af6d58eb4397ac1502e79601b7838900bc12da668b4c391852816a024dba8cca74ef7568d48ebd6d60535066b4f1fdd7381ca7d9cc34b3f4a2921c3f22a938e71d2c3a4cf29f0f800f3f4819b713ce192acc9160de686cb728c753f7aa1926f33ca035f9d051df63acb740cbb98e1380cf3ba8e666e02a0975e67aabba2d35426d27f31bd2f6f4eee481d90f3d399c885f624f92f423c5899f024ec83a5c8e037b2b5472d59ff38f78258c432a660358d5e0f788edd142e3d91b6c36e51bda6087a37a9b0f8b6a1442f4db45461479afd90a7c451ee3fac423fc84eb511dec07e98da75d3a788e65f743794dc3a21713c6a096239b7328158047c4b9daac50f3a65e21f3b311f0f4b4959967bd3d362d9496e2fd381bdb506d8ec0b407f482ba6fbba48e0da8498af03aaaeb10e9102d037f51b4bd07e082f281fc464cd042d5a98e3f0e92be63938d62d37be60d64f03b3b5e246a912a76f4bb8fec4eb457c91bef241ad7631abf78144e4ed38f3241aa59d916f51c6aefd18b552e846cb9937850405e50a5bec3b0b3e852c87736d3dce4d387d94a27c359f9b81c2cffea96748a3b7b75b3255057557117fe858879572796ef96a423e27d1ae44a9e3d149c9370529dbb355d5fa7325cf84cad1bc897433d6fd459b6be26c26a4c8a104e8e272852d2ff506eed03c27b911d4d268f48d0c1a5807cd443cc7e903c71d02c7851866beff610c51e4baeba58b53bf26638fe9bb35afb06729d6ea20618e19e3f6ae08271b9ba2457061d68e2f21efb652c3c7fa03d7a53f88e9c165132f203be632d67a98cda24fe77a53cf06fd705dbd9cbad9fe46ea386ca2ebc383999cfca4f948038d8f490ab685b399bd603354873f1f472fe295c60768d729b58fac023f081ceffe3c3ae618e32d48695d4a9f4aec74bd9a5d87aae9082c5d19762ac10e87169556f144c4bfe1af5fadb89daa850ff57321724228573927e92aba5f5385b54027da6e0e09b92ac6ae66fd834398323c8606130a1263855c8afb2a5e87ef9c9a19c8e8e2f997ea717cf4ff9396ca6b9f304b18d0beeaa92d2733920b42533d227d6b1fdeab48a94380d2cd42ae65f6acf39f171af68edfad9a1e0b4bf5dc1c781ed98871b0c08eb6b1b93829fc66f8105a045a67cfc6dbed69ffa7283c97d9fa9c82b02290db4361bef7e9de08b28af42150aa4e44c7758ef15e2f98bc86fb00608be87a08e1b2b8b4a077c8dddbb523b141a385d26a44c67a85bee837fa36c944075c951a26d82fc3056f7853675b8650eaca9a50deb8e5bb52169f068bbe105eb8eec7d8a30f2c37de56cf0b56d0693728fc0425c673340a98fa2760e5df8805a5e7049d65feeaa27d1fa1696355e996da237297e0fd8db660c41daf1de0f7bebef5ecd4762fdbe013acbeb7ee5a1a41aea28d35c7a5fc017ef2eb7b7db4d63d8f9604c2600b01b7743796afea9559b2292b2a085bf5b2450613aad68ec3a007ab5c4d525f7916f0c9f6ec668353360580b20caf29acd1942d404003afec51c673cf54c9d0a31647a7f59cd3647477f885b05894cd2a3d2a2554d42cb0a51244dc44d89a7e45d2e1e3770ad61f5588392085492779b44048faeffd9897a40b6bbbb5d985133d4c34a58732c4a1efbb46fdcd8c0f4f818b4fe6afad5054bfe1762695d1a2e32f1d168b16ba372d77041d3a1c156131359be58b6f46a691d1d3aec25490f4c5a7314c901bee5f5e43721e0cbd02160cfd88bda6b34f9dd037b248895f3f4f1ad74eac5550a0c89ebe443471bc5e819f43d5435d68aaa001bf33f482b6571d217ccf3f90a6a689b85c563186a8046923d62746f6d42e3f29e09ef1b22396d4d6078370c003d1bf7aa5d809df6828a54ee8958b3a4aa58ec49a7bfc12e8c133b27d2b596c130fad0d9546d34b128f291a8c86d9c9b67a4a68a2eef8d8fbb36883e9144b8ee0928ce021459f3484401877825e54cf8ac6ecbd917ce657b7c9409d35c0abfa07715939581573c60ac194a8e8309927908481d992e596255ac66bbc325d184f42578640fc763535209bb5f2bec129aa4c7f2f06e519ee3d426f96debc752dae519d3c90fd5f48d078598833990cc54e7b004dd13fcce44bf4cf44f815ab651cb852dfad1b74b4c8cfe23d13a3079ee8d93a066b8b2ace8a9002f3533b8b1d55ad9e1b7901a28ab689127081a21a2c247dac7161196fa69c726d630de336179c4f9ccb8bdeb81fb628145b51d3d35ffbc6673b511e7fb2db89de852df8d02083710629944391b8a849f5e0a1b2c5a60d11412874de63d00abc11abda9f7bba5e32af8d0628cefd3adb64c4f998745edf29bd72362bd1c3e621ac52f6c27df56d85bcd619f433afb13845241e8835206b1f25053cc21689f6c09796bdc2365b8ad3bfa7e61f586e48bbc12b58b705471fcb6391bc1bb364f329935163334b7cb989b9485bfe3aa0abf3c95ad92c4ef62fa21ab52f6291a6240567f2262fc203afd3a717e2ca4f0b04df81b4ac54ed235401005d870327e1fe25828da6ff231b0ee63faa8955a72d032ffbc0a4e833df97802364a670b43ac0277353b18516b99a958710eb6575ec31ae909ac3d2866c9668d1bbee778ec60cf232a820dd9d0662444ec39d77340f0702aa8700471895a3f10b6956d557a90271838713aa6f97a19933b89b96f4820cb9d7d6900ca3078baa109dd9b239d6868a24f713d02ec91a2798a02a6d443156b33a843ae430dc4f23db0c0a022c18718e3b471fefb07f03bdf3caafd74767ba279060ec1e9d00772de7e79294c4e227ac23c70d880efd4c25b90bcaefc0493bd884792716e88d06ce9fe5595516f4e9b2a83d37b524961bd9ce20240f181603591587d0e2fdd6e4cd5a74e68e5fef3dba5f9f96d0fa4c367ba2029a4d20c8fd5ef84c5df34a220bbe21ba1b718992a1fc8fe9c7a8e31775fd620c482548a5abb1591618da76e25d083fd431c9107e61b8b2dccf697f50a66d837a02fee802710dfec0792a9f4022361daa542e4090924046536c945c70ee77f76bcd46dec1dd89a45ccfa32b9885e9d024bab738e67c6a35c9910b212c50c96ff7f46f32fe9c50d0bd2f25409f154d65523268e8cde73b481273bf556f3dd285417a14972bea0cb3859bb944b2cb252437f0a2509c91e86bfd2b581d7e56c0bd4376ca4d0f7bd4d187e2b3b91552e960426e1e19fbb00a3c564dc3dd978818d31709564e1dc4d2db11c0e2ee6fd35d632240fdfd2e65a8a6d1bc2ae6f5ca5bdb08c183403642a404127f081c3355f16577bd0a47ab857939bfaa160848c82afe0ce1e92275a689e85a28cc9530b2e4d7c6ea8d198a2a9acc79196121768483c33cfc34739b0e0a1a225f8a9a20dd50cf406a062fe5071531e9d3207a6302d204df1c36324706096140fb0d5cf1b04f2aa6e1fb6c49e8e8c47c30eed9d610b14a01fb3bc7fa65c91107c4cd90def0b9e4638327c0b6ba208ca024e2bb8c188cd25e3d5cccbe11784755ec002f6247e81ed553f97f393d7e02debc4726d61ca7a848cea9e0574c0ecc43335637ec5db10d30bd1a450dc9123ab5ddd8fa55d9fc41f16c0ff75a04321cdc84ca71372d75cb17ee8ed0a58e368fe888a2f3aa039e6a4e76ca73f497c53d2f6f58d442574971831ea8fa5e44bd313d481529d58ebde1fa13082d404650973cdd61e3909ef45b6ebbcb40d19388ebb7990c6fba4dcd2f24b66453d7e83791b835607cafa692a80ad8cf64aa594b823502874ca07ea5f968e31076c84df265b6e4b2359bdc348b68e47f62831ebb69db530f2be199f8eab782b995340bb110213c768a15ba5b19acedd4c74b768733bc7e1c230cf1eedc470f8f2c814f5b5a1afc0905eefae860eecb815b38572b1329fca98e9b39e06f86c77d9033ffbbc8b17b264137b597f51757aec823ec5965d180d40cc2193d272ac72a9c4c01da4e3c0587bfa73820af88d463fc638ac73296a53476a14c7d59ccd0cdd0f057209c0f77f022bb4d79410c5660f80283804c92856942e60890578f095271e7983e7ed14ee7668e8d26d1fe8555d1670385184631ddfc0c72294a390d78884372de1a1dc9e0ce837dee0b14b7411d44b8c4acf79870df565ffc34720457951a2d2351564ee3899a1b53b11a0fddb95faf8d048144f856d215d6e81586517121e2bee773fa10f9d1431ddd7f48e8adaff9bac4bf79c42489ec276d3e0abc139497119b681e1cddbbf8aedfcb04e5987d65b538b6f53c62d40b69d1fc0f155d576306ebe5b8178e28c45ff64fa71dcc9376a32564360e196d2895bd4c2729274f93c11686ee0c2ea81db5c384053755c83b0076927dab32587f3b291bd5fc2f71e0195533a4f3aada8f5007aaf0c2122f0943570b159de30e970deca8d050df45402facaecbc368bdaec826a93dd30de60af34718fadc067094c0720e6195a06e209f00e04f7171e71c7b4909f683bc804ad930320dd30ba105c7b0a223ed878759e61168a065721fdbd1a9edb69dd90d11e52723c53dfe7c69cdd34a0e1709c0267c52a2d21b99c711be6144f4771c49b612e8da53ea818ac642729c2a7fdffd2e3cfb5dfb54c3e61bd72660b601dc06b4f3a9ce751f7b188cb4f899c9efcc65f6145be2d4ec7ad188193821919428c3880fb734fa9b44e025867224e55780d4157283381fdf869b478fd028bddd962cb8c75001e105559304e063e21cb1e7188bbd87cea9dff8719fed03fb3a6c7a48e1b93b530bb0f3f282c07f59e8b000c73f48de3ea334c8156f8062388847270753b97fe00932a48dd70e49095a97ea7dc7cb8e0aa308673845daf77d3e59ffe085ec7445266b42b9cbd3a3dcd925415e1cafe16dbb0fa0f2c7329c22c6aa5c7f82601a3244fcd0e9aec6f373b06fc6683f7ff3b18016045e64d5849499a50057b138cc569be1a7caa3238fc455fb13627e98b2a7e9aa69b7e14b25b15f1473a5898047d72c4497e3d771bce6e45c4c818223be7b43e8bd1ec31daa7fff79f12560b4ec0e17c42372489cc82687bc0b12f0e023394c8165ed5ae2f294c44a156ddbf25af4bc93784de3d1ed6d0652896ede3a6c2078039e9b073d6f0b07617f074207a333f67ea8c05c43a92d3047e08a9821aaad0c511688b00c4e289f179aac3120b9d8e40eb491326c1c14c62c631cd3436e6e006b72f0ced923a9a72497da1c2d834dbd88571e9c40f59daf0d32cf06ee6e5c4c616e55c034c845c312aab1d0e31867c2d0fc7acc4e76bfdfa99e1b7f7ef3c36c56ab89bf542008fad4c8d769596967e032b847657f81a1399b3e0b23e180da4b2cc81b236a041273ddb4ba14cd8510e1081e891a113e0a97e362fddb4c2e448d00cf78771adb841cc230db7474eaa7db65fdc33f5025eeea0e338343b51ed85ab1d3011b786eafdc370b7230d780bf55e80de7b4bba2ca1676ab69f63079be2d60f1288a55a88e4e9929f6b390f49ebf7c1f2256f1ec7259bfa58e94a285ed4b5bf3818b97cb1e401b0465def6c1c2bec1f8b2a24b64b3e3be66ab4d5afe75ab5d149fda3d546a44d4659c9eef401f53faebb198f63c477e3b0d03c621019ea0698e15628c12666b4c1a6aac776e83a6d46b6e58cae2d5eac1d11eb4024617832cfb26feb4ed415460a69678b3bed4436e3f7dd65e216015a56851f428c78ee46e856585ec10e48272337c18911ac191ff2777d6b919c317af5d9ec72a905a62b4ae53cb553692c843d7b19016c0cb5ece3dcd1fe81da423dc84e3f29457aadb452c9d2236486289c9bfcb5dc2a5425aa06b8120e59a50e15002f46986f159b8bcb3a9a9b5745ef8e2c86b9eede44ef1c027d3df9439b113eecc3364ba9dd0ba023a2b1e230aaa2338691ae3979690d4f885239b374b042bd54b2e4f8f361bec0aa813132738dd5df92ae312eefc5f1554c6b39bb8a8877823709b06c15c9b3d9fe6b21c9b360b36b9d215074eaeb6f5ebcc776c8a13cd43c1a48be8709d3753993a12c113c56e5596766b47a53f1d816c211ac4eca54b0def6ca81e9f9e6abc31939afa48f0c48b382a2fc5dab357b0bdccdbddddc2744baa722edf9fab3979c763ea87d47b85c32c2ebf4958fed51d807987ca13f341bf9afa52954d3d998aec1868e2f9e45a0766c19f233df2a3da89c74434b9cda3be553178f94e7b49babbc6c657268a887fabe058043bc3873b54554eedb1c42e1daead169dde9572b7a4d1d41feb4a3445343fdd323cdd7011d65962afe260adbbb70d71503fcb2888d64e587df974253335646739ccf875b66920c2aff49de629c24cf8c61c9d95c9e56ea6b3e30efabb6e77430279e028f43b72b6666051743bb8275be250dbd9b1cb7445a17d53724231cd9f2d4c2864fb1625f6d01dca99d7f1b71513611a5bf51fe5715803855ab1f35e2228fe4ae089747519f27aa35ab019ea3707ffc035b2dd2432101ade67f3c77cb4415c06c8e20d2ae08f80d3d6c1e844458f256e121e3255b0367d95bcc70ba7855c4b57d641fe08c4c57d9f934b31280a3802345d15f5209a7df532dbaa161137d4b7e5d090b9e825f560d24afe94081f9b0446403730a9b90bee1350f6ceb3d5d4dc52ef7559fcce61efb3ffeddf4688a068530ba23d40574c51515dcc670129fe8a770b71645f57fc76e46f99d15ffb2a3cca1ac04c3046aa89466442360c58acd5af13b9e980af43c8e75320e461eb4daa0c1cb24f5089e826b5e1d528dae84e7bb61284a3f67dbff109979ed84f152a93ea292441a1bbf214ea244e4b76c0314af8561e135b4db25134560d925bfe596bf274e3bed848657d83e3d1c40edcb40cd5e57a1494a2624b798a1faaa176675bdb9dcd64bda1caa83e6c070fd33ca9db2dd0b991eecf52fd612a1c587c4c6f4de5e1ca3f0a8fd17c031650c04423e80937d1a7b0bc0c4c5bafd083c62d8f598c33e800e17b388e391aeb46fa5b7eb67e87e63fee83a1ca6080196a3fd0d94217d68500f2a1d06af91fb1273bf5daef7dbed4caa4f27f090471ce76920832a91c20f1d282260ce881b076d8b3651f8e63bfa3257ce131cc7ba15bd3488e6f47e1e7f4dc855c1797c35337f7023aebcc0ae8faaae88d176a6ffc6e696fcf4d94a40be05b3d10a8255901ae734d1f134a5925c55e413a88530db2fa2bee3ff3b01bdcaa457e815eab6380412e3bbb94916a4c178787c7a2f5b7f34c75d4ab80387ef71dec8200a0c442f7b2ed43c278eaf891616f9fcf38667cf6feb994eea8258639b941ef446e84e0b1e919a24075bd17f3043c413ff74f6081f5dbbb3c900f7e181662df198cf2a5e694f4f00579931cd40b4545da746be159cad75057b752d2ef2f315ef937956b10dd71d4c64ee626bf435a0f7ac96d3918804e976f8510637f7858fadb640d5208d4373d86930670573ea28fb934922ba96ca77fd17e6d3b1331a86d25d2dacaca2d7e58952df74fe2e72902916fecb48e3e08aee76cc4a2b533ea97b8bef908a36b0946b75a73945a168da8d71e02ca065e1c1ad592108d93693712a27fa2568f1b77d92b3420c4eeb6a045084a188a23a03a26e2a265e7eadc33650496333543463c8bbc51522c452ba04d7d5335354ff7ce4ce2dfbcce50e350e687611d6cbc985428b0262826878afacc5dcc25b57ad1e2c02ceb12c218b4b3d50ee6a355ddd64ecd8cab5ea507db347c8de6c47e455f5fe989ced05f022132b6ade674b0ca6c4ff01a3af217473a8f46efc49455130a7683994f6aa60b2af1aa3598d8e94310a5a7c5cca1eb9c3f91a1a920c1a56c60ff1a137f75ef2ce2b8d712a65321d9d68f378141c062eb9db6c7f85669ee9a3adb8485fb275b6b9683c4724b9d7aab4f66225c852a9fc4ebc13a9b8469878925c4ca34421305bedb20e0b6ad87178ac0749f22cc2dc1110b1059dd3f59e005ee8300f48b9e5e73a81622d2b39e28d1e64608de2054ca9bcf6358de9a2153513b1b350aa44f5c435984fc2e8096edac43060cad8648d7cf341b70da1bf7e4ac064477f92834149dceb1d086d8b1137318e37ac326ed4de4a3de08fc954b6d5e97df084053e24d297583b150d451d63e5e54c4618372d32dba9fc356fc7c2fa72c3d9b6a6056629ac54bfa0002313e263c4b3b1d18bf0f21dda1c8815ba52b39633331004e12feaa715d186ed3c3c690bfe79ef0c4dcf2e8255753480d5e6983d8d729a47708dc237b1cf66b71beaa9d201dbb23ce7558a6d87d13acd30366fb4f35ff8624831fb80fdfc9d47d38fa41ce4673d259cca9069d2d29583036e3aca3ec5af8f84180e51f61c7d261f1340971b8e56f4e16869ee5aac8d7fd2fb95a32f97b30dda8c47a96737193c9c1824668e81e928d9033f78022886acd168ee020b14e721ac0874f98bd9755994de6369a0f3e838b4415e484716c41d0ac94cba2587f024eb6f951ba83c78d3b0748a184d485b286b26c9178ff6d2ff86ef3da4be0286733d3454c54ca0d9640d95d051120482e2a14313dce8c71f6d0fc95418934fdd3a13e1e0d5ec45930bab053bd40552f408d2977cb6bd730d5f6fca6deea657304b3e0464584f1e9d20491890f4a8894abd43e1a5dfea11b81f6e51ccc8f4d6dd14b316e255e1643dffd2670dc5217a6fc296ac4a1ef7098912644f8433a23d56cc039fc5d19a4e8c92889ffa6168eb6ec001c80e8bd1de57ad57d8d82c45b87ecca659c5b32b44853ff36b93ccf6f5337e4bfba4e6b4cb3a8dcda57b5ab18cbabeb5efb7fd11d533773c62cb6a032d0e311116c7e5cfb60e983502e7a354ddd5f1fb8106c086f80521b0968d66feabf5300ff0d9b009b150b36c85e628147781e161c613a711847b4a4764500d2db2f0b4547819d12f85a1432e4d2e4f0a8851a503a05e24afeda765dec31b1fbf46145f94b79107bad772f258d5cbbbcd3067b89924b6e00a9b6c6eba31cdcf810cc9f47ac3d3eccaa1eddc8711fe3402848bd86cab9b272b8686bf84a0ebc2fe44de4006c6f67172b71563ebf08dd02f5fc57ea656a3c41b3ec079e424c97284aee79d4ca6a5f3d08d5217bed36b2e360ea204719bf5bc3689824e8ecad3a8f6c7036c9d81e0d1c9a82aed394f5a661cac5ff362ae6d5aca50c328b784c8321be286bbaef51c1d51a6f20842b0034253b0c634da13e75ee9104c83cbb137d4d153c6498631a3ff392034cd8e254ad26eeb42fc91bff0c159071fb82fbb11e7e86fe65f3c65591471938a8e694dd732cf6817b610c73fb844783cdff63e892116fe84ae83d127cf9477be0364d3ab61c00a9602f78abe0e899eb1d86f91985b4c2bd3041afbf1c44d7a27d296dedd0880dd7022eba4fbdea99e3dd0757759a1fa6b2fa54e4950cd9954f02e19873d50af8015ea01118dc9de2a7a35071071e4701638cd4ad2b0c6add14ab0411b8e8d9e456ec55d0f2b4a7f58f325d1bd702a99a6a0da338e03e49cac09e9e913571faceb2c60d91aa1b285b992c2d4193e55a25018aae7ca9af55017e523397bd923881fa81ed163ad066b5db19332928b989caa445c5b7edd88bebbcb8498279b3621301b7c253ca583cc2163509a5e59975c98c9f6fff424370aa55668ea068221edea1c5933cc8df3461baa272bd91233560ed99b71aaa9cba2b8001f107ecec6349e875d9eec56e21221b115910df6b36b71716ac42cf8844710a9e8b5b67d854406604f86b38d3f90c5583241192b8021d173ff9daf1b801f5f4007c1d3ddfa5685abc78af2e9e1deda13be9187088c525c82cc35788e22b70548082d423dc25a7c7db390a876916b526b46010d7d532dab46591d939ea71c8394dba508d90a2cba8dfca87ad4a424e5a437ad8e9629233088647f8d3ca1f6f4017fa2d0a2000014948a3b3afe09f1d8a26456874a5e6805bd3cdc20b3c2d28cc064701acf4d2b7f49e7f3192fad1c81f3d67a6287174d727a37824b52787350e8d81935e4500b055495cc846c5258e0cc27c81dfcd44ee3ca0f1bd85dd01c1c6be0c32d6a82e0b1b959d9c4c4dccee93a3eedaf0fc6ae34f685eb7f8c9286544952b2e5361b6e224c2d9a076a1bf55d856f7349fb5f57ca69385987e36e2329a71078730ceafa5b48031eaf23f2d647917c68065a380c0e0dd4dc376a7d9f56420496e3b39135795c555e9cf9b7cd6fb0fd5940d34087c5a44a7bd1a0e308cce404b113da6581987374339daaf8eb538bf20673d22a2a4b0e0855eda74692f29bf27786e5bf8465d9bd4dc12b7902adc7ff0383269196915e78d6aca41ccf4b798ce7bc925490bc3efe2b14207d6f6484a1b7c40c24a8b9f8040fa1fc57395b98551fe76a91f206c3d934f17ec22be51e664bc9cd2a55516d611f31083a00c24705e2e5bc2823ed33217b3a98afac5984f3f3dec20e606be0b1b40be8812a6fc9aee0cd4b86f23ee48b01cd0215ffc0847b3437f8ffdf41579d1b48712087baaeddcf050c64f9d453956ff02768ed4759cab41e8c251af731d573a8ad4dc18e09015b3e8533daa0fe138976669576b391b76b57a33b978600d9c3465e5e3cfeb3214db6f40219bfcf58b487a0f36b891a39af1787f1fee2e92a3451c0b9d9c971a714bb61bd03e24778de771f49cc1852c3fae327815ae03de53de41952368299d5e17c9be0afa2292707374dad81afac19d124c6fae086265c00d77df0459fb523a71ec178d3bda3d65e6d7aea5bb39564cf23d8ef0e3e16671f6cf1e4fa59729aa7f48d5a85d92b68b9b58cf46c43d7af44b0337ba37c9251009c8a4484302d4697ba857a7a1d1665bbd218017ed7f7fcc8e9c5f60f4a21ab96174833dd54ea5661f10241fdf47ab06cf3a08107c7b04260a179922d4e3cbf543278b0b21a37733b570d1d08874a69c3edb8d35f204072b7a8cdc3e13687e0fa34acf21c1dc683d95f1bf0c712054de2d13900ad6efeaa20ebc9d69d35f50d637b3f8015a925a2e716ade8eb8249c2bb239b6c2af62da85a4426fb2ce1dbabf9a1b8a3651e3cc75c78bbbe47a27aa3b0d8e714e95604ca99e47caf1de446407d26441774bc3a1f4263d094d019ff0f6aaca9592d1e5c738dd516687083353143af469c2d9ffdf1fe444573499686eaf9f7b1b6112a6c09d3344b8ba510323d61dac3c566696a0c769d8c744bd3c91c89e8a2b45a5fd12db907469c25fcf37c0f03ffc21471fc0e973089ee7b0caf68e0f96144b32780bc855ca96268c973867e3a7eef054a41dfe967acdd50f648fda5e9f3aaa74f36542d49cfe417336816eeda5c9a61799e05dc98ae86ea36ad45b09cf6b3c2f9db59b6cae0424ae94367bd89d0948190cc7774baf2a8d51b31ba453559f4c72c0ab091a42935018cd1d017ed4f15f8ef7c51d322541953ad52b2dec9168d5052534c811011a73e9cabf35fdf37949ad1c0037de3c74743fb9525315360106ee1995800918194dc2c1a4869dd975be5ff8b7c50bd115745c2a47600d4d186b0973b357a0265a0f06c5d9181f29a1e9654bd96e73e158cd2079aed5a67e4492abf892ac93aa9940461e1c859f5ab22cb4b416a7f424f3b65b92b642e9bc94c52958909dcd948fe691cc8e00c588f43263322a51b8e27225e003db7482ea248eda2e440b31dd815579c2c72726e137959a5111c4e8d45edb59f11d3c5462e25bfbb98fe80400b282af1baab52306f9819d16d83f880d960a602bd172c8b0bc0476e781715f16f650f0037d72e15a1f9f3da125108d82c3a958cb5955879208c6d4852f32bce23c9b7f9bb581509aaaee0baa464c129dde39987a731ca0e148e78b1f7e65fa8dfa5ce5090d11dcae0223c020495115b4ce127d70e9e4bf645b5c11fc5acb0804255762b3f28dd7d673779ad5bc577748049bb6d7c2b416fa54a6155be4cb94705dc207a41410b8cb15093ffefe7f5202a7cd9c4d369735b5ea669b9c34613d8c89e7116e148e6dd5935cae970cd37fe07686e647d6e7812e564ac4b99e600df743fb9b2f120d6b09ed1c5fc5f99e92da69a5737585b78fc27e6e3ee954acd0788f53eb82f59c861c65e215dfc74f07a2c7aeb5009e2bec6ed6da889fdd7481372bc2083494674753e92e095d2fc3ec249f6916665e6e388a8ec0decc9d34c0b9b415917cb99ada1d21950667d6af822be0d92ee5aa2ab6a38c514a6527ce1eb7a65ba97a124585513bcbbaa12fdefee06def7e0d15265a7f4c1f54c9cd0170774fe077fde600fdb1b260df60a241577312fcde00b31506afe23ec95e4d4ac5fff16ba227c55b820d72d80aa3bfd9bed40848968d1659cd7eb87c79f5b3910061b4664c7508707b464a5c01559b01254a5b38d22bfa7203d92d6f2727f402af25658cb2b237ea55fdd83d3463d9b8268bfb8b9d61a3cf6759dc44b863e394fd6118829cfbbd6974f9cf8fea6fa0f6b7779b83584f2bdd0ecaa7e0e260862ea923e30384054db37912ff4b6b13dd04086304e34b6372c71193ddf49d2bf9b07a576ed825fc3ab7792424665327e70dd759d2369bbd25e9723a6b25b5ddfa0eb9c022efde2bbd237f168cc643729cade53e6cccebfa87bbb8df2662e2c57c88b98b1661434f3f3265b2b731ff2fbd0d6e25ce5cdb69289398a76a35f37f857292a09b1bba0279152f696e5f67372579a15055cd1426cbf3bf428f89e908ec0dd7e99ab645ff9aafb9a20360bfefd9f429be6ea6d4a60998b7113f1b8ea86e24d8fc6165d8863722f90841242dc1cdd7257edb48fc81654fa865ec54ae2a15048e3446cf29e168040a27a07862cdb94c13230bb787e88926adf0712e8a249dd43a105d8bd66a0552c603691cda03eee0b37446c57e33e3ba63910d49d447d09f83649ce4c516b359a7f77cd03389e64da25a42a1949ae9b281cf7123da6a57db3b260cf03516190402ec8a3b651efdf167dcd134ddfa1f55688186d3fe479a2e1a3be6016b53c3ac56f81c10a37bda3693cca1ee92f3ca25cd97d54dcbaf49459f89a7c3dee818056abf5ac47800ecaac9ddede1e78aa948311d9128f33944b33ede158673ec11fe5590a40e1c695b58128795befea3bb5f40f66822e8a732d421b1da33fd0d391cd20873372b3ffbf6ee9d875a457015971af5fe6b25440a43a252937aa82aeed71973929cd1b5d72d05ccf174a1763308f91b74def2520ac051c399db08ce5b905bfadc852c4732601167dac669d204275f681baf8ec1f96cc91cce2b55152c66be38ad235a5538c1ce4856f5852491166b8140c8624e1948abb87f48bebf99032af429e58b913fa1e7faa94e7989873600276815236e621349a9e45ffa79c26d822da9c35fe0e34f940fadb65d4787d68fd593057f4f9b6211d753b0c30314dc2ba24b1299b882c9592aad40f526ca0c95dab2fe213b9dc5cb9b8ff40a5ac24050f6ec6719acc11b992971828a52ac6e055e01a3dd55a9ce0689f5a58ce8d53a5779a67d91dacd43a2439a87f63fd5c202190af32b97ea0daeb7539827906f8e7beeb417df6c13a1667e83307d1737fe249087987bc8ddde6f5edee2d35802ebd8159677b349b58855d444be8402abf78b9a4900d61cf08defb76bd758636d27b8a58ff7dfd2ac5fa2ad6ed03b5ba84036177e169a3d47d56533ba9ef04c1bc6895077d1804975dff412e64834e8d3429bf983a0326bc003ecdf1c2e2b5b056f653fc21b0f48b748593a1f87a4ed89f5123d9988e2fc4ee25f0ab2a5db91efbc93c91bb3204ea7ed2b711a4b2ef3b262cea1dfdbc766bfa18582b752a68b200db5729578b7ba45a9e13a74a6f03ff1db10c99ec400e1e6bd14719e134abb8dee1051b33bc600891af8512fbe77f3e1a3c10bdcaf95f8e9a215d9c8b9d2a373c7802859fe536785d1268e8c96dead549cf8603002e61d183b166a2c9dada1dbd6aedcfde41473f1c4a1375882e8bf62d35a887d9ca47ae1b1cd465581556c9ea4e1961b9617ada09b27189746831ae13b15e3cded157b8a77016825512058d0513dd8be04d6f4b7445c9574c6bedcac47a5f36751f102121625b03277693bc217744e4075e6d21ba3556915b3667889319817a633fba889739e815aa13fd6e5851cd07d9069037b8b300dcc67c40490db7b2d3ec24de36b37b05bd1daa248fb9cb3bf0eac91f66bbe2aa56bb67892be5af80b80beff73d6fbd2c100e52700c6e99b2ae1b559bda49278d449212b61a443ac8ff3fdb552aa91110455f383f0a4cc6aea56867472704a1e21be808b575ec34fe33b4737c40d845cc7f13bd714e08a7cbac805157864fe91e7fca195074e0434130a5073fc4ddc4a11c13edd04e66f8220991445581bc34469b101a4ec296f3b7dbf692888355a214bc2e7dc5493c3c4c2523b65f3d4ba94d15c7324a74bbb4021d844390f30bee9dd5f3632d1a933abba511fe7d4aa10ee8c290e0749b37cfa0c976e7cf2d425ef5c2ceedd5106e5306761f535c17937c0f3c587b33b02510ee3935a582cf0dd359a988712646a06ed89053dd08e513674394e1c19ee5fdac6c891fc1021d61aea682482d826302c2d4b4ad4416f644c60fbbebb631ac8b43a84f50fa64cb92eb2d2fc474905479882e6b0f8704843bfea3341402880e2e4ab62140e5f13581bc6d0eb359852141a84179a1e4cc5ee3cc5fabfa6130039b835939aa7d98e93c6a7e88a92fffdff4cc1d899aca00b5d6cbd153c44ce3b11140015c9ddfcbdb159c900f6f5a5b1290617835b66b5463211b93febea7407a092ed74363f508649bbde6bd5c99f27dd67ebd3bdd50ef2bffb23f1d09a90abcf0607c1adfe7fb1fe8944324394e0670e6e09e2ff29452530cb80d0d52e5e97cb05f51a9fe016dba13ea2a6ab63fa4c20cdb6ac1bda4040797a17526956a885b555d2fd24e9541075cb81b96e0ed6346e729aab104d359fafd1298d982ee5cda7e66be747f211fa690ca86fe401f44e7e29ef81d12375b12549dece768219826cbc24926104a5bf4611a7a1ce8866939068ca963a26832afbe4d7328e442968a12334d78755df705731a44d8887dd83b8ef8b58b46903d4101467483ab6dba8f85eca9309fa9a0eb651e842ff27fb0bdd3ccac194969d303f2fbbd55671df8ea7989738beac9858410d5e3e610b56f61b8ad1e31b203f8d05be76759bd1f50cb2f143d7f6d022a7676672fa2e8657b87fdaf62f5724e86638d5630cb89e5cd886a08d955af3863784022259309c613a8980ab9f8222fe92b6680ae795a5ad6f9d0bc3d8025e44559b2190200efa9e1383393006c5e82751fa16ee2f20c8965c1d86d58a0cbedacc3b4a037c0ada01ccfcd2c99156d2b6a4749dbd0f4de7562f8fd0a9e0308996bc769b5cbe51832b40238227080b15ca163b9266640cc793555ad3c6e53abda2a0088a666265e16ba266e9a8aa63688d853d17a05aca286adc89ce914cffd4c9525db88bdaef5e6dbf95bb15087c27ae05c41b730af4778226833b6fa4614ce2d7512c3a3bfcfa8a4a3f310e2d48d1ae99398b7cc97e584bbb37aa370f230184f4b0dcb9e82590ec4f898d0c9962f55ddf0cd3250e8a2ddc9c0cc6c0145034f6f83aa4cc0c19eb87ba3307663f04fb7fee57c75d71adf7c5c6d08143869a052fa2470b900c247ffd291d5f99797161e5e4a78d0fc19df1df6d6e83cf81e33460d39d99580c6d7f8b7119929f4bf38c398a672f168bfc7686362accca97342c427db1f7a36e446106938c57da6a1cc7d8e631889ca89debb710b8d9f027929d2f750d6ef2ec491e87677e2d5d6c30c8cebe558836cd920bb3d3832cca196c02c866aad67291ee47ca5ab8cd8d462c6046417cd80eb39f741c548cbb6283e9333fc18e3b0e5285f8c91c9666dc9623cb33cd3c5519d1150fe8ae2c30e5bb370636ef49e2e159c2ae657d82e8791e477a9a232cb07d79ccec41f13dae5b7f2ea7a6e7bb67ce6d23ab2236d00d7725a9f4ed625b219abdeaa29cdf92a9dc0e3ce7255d881c593f692177c5c47f4e4a7ae40678624a3307f33876bddc13d3aa9244bf7f987fd3d966f5223a3342cc069efe1df68fadb8523b5d4e35bc4e5f0b8fce9167f0f1c28fa42d960bbdf930405aaeacb6892b0462e6050be8e3ed3c54f24edd8ef4659e934742fa81b4e6b4983773a34c70d6b953efcf5b101bfcfd60d633f6d4ab109a7a61690cf52686e207b054902a8d5ed2aaf3ebd6b073f6d0fd2a56b8e1a408cf93b1f11bd94461e08b9243655a750eb0513d4029ae0b542e31a63cd14b5d70f162dc4f915811b697e3d04acbfc7b4089c9d25b4d3d08b7b2d127a6cd15c11076871fdf3a3a4ce7d093d16d7ae8f785275628f9214bbd87e14ea22a4c736bb68330bcfeb7faeddf8236565ebc0d3f8f043f1a383f5753630604610eb37f5d9717a5848fb3157865db0aa63950ca7fe12b5f561fca82e64dbd4599eecac04b4506c957d20b187cdc2e001bd299137f8f0ecd0bdaed01e7a99c54723f00e4f329c0ad674e7ce2ada8b3a446e4bf12eb9a082f7f8564a2e97776b5bfe451d74388ea5791e3310cca18c363f6270a794bde44358671a7413a627dcb1bd7afde81f2c606a7dad4a5f6c6286db9504fd76e8aa2cc2138c278560b1f7c62c0f3d41f137d63dda05e339969337ece84e3c5db4c261770c462a8c373ad7eecdfcab330cb99651906565ec9123cd567c14a783981866178eaf16e177509d3b156ef09375f75455cffe946db17be0fa0286af5573d0d0184ea624a76597af33c5297d6d9f5b01bbfc884505bb19ef362381546268124864182430477d7c394087cce8c57f8585064dd8b7f1de4dda09f5dbc3ee907bb32728b89702dd0a9f9542894067ab756954c960b5d6da48ae718766b4bc0b7d82773436d26959be7a50a57417e65ee9416d748c3b684fcb20e5f537647df185e201a2ca34b7683b5833317a74f3af892e15d55c50a504b801eb33eaa3395f4d97e2840bddc1228647c56e9b0d2317a3eba8f3445dd94f4b5b458f22059d56b438684645faec3bee0c4677c711481cce64a032a3df862a13beb133918f5c968ae2c25a1d155ad175998b2ed083ca3603cadefd1c8a9c8f1658b5c2252f6566e30bc1228ff3269da7a108efe485518e03502177e496a88f4070480f0d43bd1a3d3420fe24c67d90f79a72bf60a8fa6fa215e5f6e09139e9a8e3e5ef929b5bb7485b1e8af05ea27a830d7c771d7778bf83d80ed7d3e4c1a34be747c7e9e424b9ddc3038bfd0d48295802c5e27998d12b38fde53d5f39f956b592f834d91f6b3f7175c3ecfb272a56a62baae0ef595fb21433967639555525df20de4975c5eca25c1ceb31d72b10554908712837da792b2727f37ed850048c45a8cd37da232b200da2a46daa5aba33821ffd5f43d2f6d11c340c14c239ff6f27adf14ef740d779f71435dd05e5fba5c8151eaafbb768b753a7cc00261f8c24d58c3f3130767573b729f755e4bbdb433f173f12aeeae6b828fbf1c773101e6edf7635b5c4d153312631b942b76847baf3c87158d0d42dc82f0bd5c2923ac10dfdc1ba6a19a04951b9904119458d6f2b20028463452f829656698075560884866521f32ddb2b4a3af497a3ee614be945f8996d77b864a72c808ac35b5dea959d5dc0f1d791b2cfebba06dfb76afd31a2c56b8b01e68481418ede4504d4445d3b3a7545803518033585371749e507c55b042ce8015ba7b097214d9b0c9fdbc78b2a720479bfda3c861202c5da67bd39a4f05385509997daf50db19371e2875c07ad0043757a4eb76dfbcc8f8df174cccfe10aa3fcb1ab857b95f30a0850f8942bca515a6dec1de4ac1b4a04ed3473c1859bba6a7c99c46595043728510284844faf2e249da7add032199a3c8baf12a9c70ce37bbe4a619712098a9c87b9e5121fda3b76b8a27875f73c813f67e9366c452a9a0813c54c655a564c36b36f682dd755b5c0770d2981b0ebc662d28442feb124cd2c03bdfeec183e645ba9acfab19d040fe07b4a3440a8dfc68d7d852dd9c2235f24c960b45334c7319c56123fbf66787d1b2e42d3d1cc78d30018db3a892293d4c7561b4d52234ffc131f84ca0e601b757313182aee37917b383328a33ef4e5751ab8368f2050f5f4b2e44ee5e7c163a60526f7145415aa9054a405a4ea3153a78fc72b5ed2ee9d427dddc87b61287defc35f6a948a327ea9b3da6890fd2b34cf4265898f7bbf76907413d8ede07c8e8d632a488ce9308c425a9ec37fcd6d264cb21d9ecdf7b67deabdc91365c61b931dc526fdf3e7f3c9afa61a39c8f35bef3681b20bb167fc876d920b6d51d2a009ba70853968189633860538137bc8346a5baa2d3a83c775e8bbda6e418085945eacd9450b01389d6578ad26ec36c6ddedb9a7627111dedcb5bdfe7dd54fb18ed843936d97c2f4c72e9f4689ed16a602f99a6687c119d5b27ddfcb2d6237c614436ee84b90461cb162b3b701e872111de74e136c8ed6eeed79fb6eb50855ea545cfd89c0d95115ebeb69200575787fc315098cac22c12e1eb25cc81727d81cd50cc3cc09af42a71efc9be218e8b9a8fbdcb0ad4051d8d92a861afb8dbacf140bdebccdbc621ecb670a56c8f563a41bdf6917678a622966a1f6e08901604e8877b57ee3774180ba7bc76cc53695aeb766aa9c440b591b041c937eb04d2fd2b7d8929decd17102a07a378ad0e08e60e956d7de93f9f90b003047360a7a7196d553b1e61961394ca5555fdab09334d3318f7e49820dd1c6c2585c527276081cc369afb2aa52147bc99e6b9cf670d1e932f3495bbcadb96573fe7d710c358e7f8ef250cad4f359460a93ef96300766f5963fe28174546d8b9c9c2bcfbb19c5ca85e9eae47fbc7f1a5ba570aa7d707a5ced959295604dabe791a39dab45e9abfc1aff25a024cafa0ad8f23f63394d6fdb86a234cc7265f217b633efdf7c6e8010f893e9d4ffff9d00582d8def75408b42f4850e66ec160bbc2fb7387765274c6c36cea9e4f2f317cd64f24465fcb1c510ae07191bcdcad78ec890a5e9c2f29eb52fcab0bc1462cc9dee929005449f40ef0b06073c3cedcf7f8ec24eba7774d149638da9b0d889bdfa7af53d4ad1d1f9189b253f14702a86310c588dbbb1df6a5db611ccfa021b904f3960bdd5ea5c7f281dd67fe7de421b8426873a97f01f6b677b8205c6223414f5277d6a33a30fb05a1417cba1d60b392f4ecc4ad71a868f49b1788095b392988df97debea799b871a0311ddd293d77440df2163b6c5e9a921ddb1e21de5e3cec7390561fdf98812005b074393c996fddaec2ccd2290e36d5253c0ffb2ea19b469dda98c46233237a87f6d940734db317d1559b26791fc558651e07d8a580b80e950987f12ea50e786f5e31167d09364090c1f3f5d6cf84f74860512c690bf2113a4d04430f5bf12328e7e37fa1e07a41bb6d869fdcab3132877277bfb161e8f168528e5472f342869b592d978def5c22142ff49f108b22503234cdab8c0ef0d5598714275945df626c3eff64645a01e6da38419d6fb2991badb3687b6d067f598619de15e7b3d6dc3b22e76f915322eace8b97b56737ac87588471fd5a09b70db6e5b93c542ee579524206cdbe68915f15634ec6efdd230bb3b791b9679137f615ee75b2fe7abba5f3a89d85dd16eb153683770e75005090f73b051d9ec21c998028f93c9db8d2f0f76e1044738af3525fb71d2c8bdf359c7a476fe08c9e49c9ea6e3df16dca1a01445d2aa4b20394729a91c91d6d168a9e4abaafd30056cbe80f45981f133d04cc6831f69a376a19e71273b77fa3834afe575c57bef0e75169af67f8f98a43a2befa61b14076dc8dc5fa0a51a6cc863c22001bc4608ccdcbb2736c71121b8eb40e8f5f4ea704df7968bc80944ef79f032aee1cef6226d4ebc66ef1b4d9ad1d6d46b2a81850b737e925722f55e760ae182a15e831413bbd47a401e1f25758a52a039abaaf407162710882e8a038bb96ba7c4e56618af4eefb60fdace9c0c65bd9b73c958c430b97ca1bbea6f6975afd6816e29135d13a619be157337ff4d8e68c2eb4e9b1e7ac54d7dc9b15e87cb9eb4395b8b7e4e527d3e6a97b985c4824a11df80770dd8a2531192ed97b8d6dd50c4a52245eb8b1e47221f8f42639965309745bd1fba7cbfe3d564e9257d2f2b97ef2696620c0c1e0f77b5fd56546069fa67454c80c9d3d078fbb2d2c1519240e58091fda8ccf8fd30bdc9b8a3297f6ab1c89e5cfcdadeb05d7947e03fdac35322ae3429a3a5e8b135444372170689188e3e1c8021fce4905e4e7b2f225a7ebdae4f2d851c6d691517abc54ffa43cc07ae25ccf8396eec1fe30f6af8ba76c2cf6f985e10ac6a4ef17424daed1f8bb5c0708531522a2491264df6f2f56e5895abe5477b03f0a91644a52c341fd0f1030b9a5f564191e6d418e959415ad8223613edb43b07d6c4be0c0ec094eed7af09211e7d5e84544bcc318bbf51455dafc6a00a20ed1e1116e02ff7f59a0241b4c0647f19a6efa3e73babb042833bef22af32d28951807c6c13dd6944a310b52d1b4e73883425c1779c2bbeff939e7b6f8c4db1743b4b87802ddf60c2b43dd8aac18160e08d438eb50ec3cb219452c43de6fa302a08c20f1f0f34e3bc4577c642f13204f9329d83e38c3a2131aa6ccf2c44dbde8f4d5f5cc5b5759aa0eeffeea5024840699e4713e84179296e29181a7d92e3aa94e878bf93661bb317a9cb358c49d8efe8648396632bd4ea75f24ee6ee6a186052d59843529b246cfc2afbb056d252193d084f9bea8490c7642defd0372196c111fc90146b489bbf99c10f7c8c591b78e910db95a49cda4db5e97debc20d5a43f43693879c84186511b1500ddf53ce9ec63c90508be347db7fee85958100c9743852ae88d1a1b0b60edecf1aa84092543cf861082ef82d3d49da2dc873774caa1a67cda752d5ef1ff12f61132232b01da5d191831db1d91dc07f109f639462b0b0d616c3b2eb15dc3676af176dc9c18128c597041f1d1f8ce7d0828f5ce60de626af96529e00586422d4fbf7601fd9a7e70f5fed37a72df85173a6a30a854dd082a110cb71923b7f7bdc6197a9a64f5eb297f96dc72b3bc11e41f8efdc0f154e2d0f218203072758038304f07be0c11e5ffb84f622e28f65eec777d274ad01ad1805f855cae0bb5af7713cbdc0aac01284eaa537cf14958a84f36867f220e9db77a8d65613272652931ae190e66dd02011a3acfd58488e1f52387ea17bb9bc67b85e58971327f8f30a30fef6b8fa90c86c7f635c6b11dbe337ce7477ec7cda663f104b65141ac32d78fcad75d3faafd224191b9ab870121035ee59a650b684d8c3f67c086939f9dd7f6722245e86dc05ac7cfcf8eef9ae9047bda0280d9d90c6481af37ee3705a1b4b85cbcd9eb5b9f7f7bdf99865b087f73825ddf6081fc74a85f32de20e9f7f46d3a19ed570b19e032b906dba0d2647f8052226ff1049b305c562b95ecc0c927522c566358c55aa583e4ee4bf44f91aa27754275be428e2987785fc45afc22dfe657f6a936f91bc9493a0f89375a35b052dc2ce6503cbaa4eb5c4575895783cae1310a43f4b152bd4f102c3c26cb2d2132f41fd92f149ad7cbe6003f4c58ea93fe2cb6aac8927385c8e1a7e4b42d0c266fc9f99428fdde16b579ea1f886cfd0ef87479352d401e4fb9a78d3df490baa678c038edb1ea489f437e766f1955ef9de74980467fcd5344d023a40a79e71b40462e26d6292d8573ef8c4e05e69de06d768a754124222c2d9daa0284a0095cae16d984043d478e004030e0239cea23fb22759ebb7b38f2b3ef07587fad97b58126d3886e17ce0ca6d5400d99eaff99e401a51d9f862d84166947fb30d15736976a12da8b86e04ae010b6f03f731a32bc2fae35ad11570314ea16cbfadfbfa82ed0592b48e56c40ef6511e4d54626558f30a9017b10651b89f0d1b98e3c0ed29e52e455f7e2a0e115205e022d7de071df854357d2a105c89ae0542dcf3750904960402506388ea87d881a49467dd1bb02fd5146f0f300536ce6371bd9dff19e3bf4f54d8ff1954f87668221edddce512e2d2f41fba30660dcd0a2c1af66099dbede6d9cc0542d3308db0d2b0d2658bb9ef8934405db178e84155703a23de2c625c1837f668c4ec54af85dd903fc3bd583b666827912b17385a3a58b0897ab629321acc3e1f1083074fbf8672c9b3dc800e5aa9e59f729c9cb44591ffd36ca7fe858e3a97118a524df71b535939f23d5cf043c6ec633dc82133b863a0ed5d59495a5c9d8beff25b932a07e460fef28e8ab363ad27c7ad7be8fd7696dba618f86f2409eb84e73de7fed5d828b0c5770d8b412c748cf5830ad0a377c82d5c68c3604603eeeaa103fd4304c91634bcde7a159db65898759170623f6d93b495e01772a5cd525e7e754ea0c6cbcda5d61f9f8397de79d218c575f7a5e2cb31c54c42a28b75512e171d3bbc5f94037b4d318a04af31af465d3a397597fdfe782ed6cb5b018405a8b3fb9015f6b7c8d77e359827577d9695b113974303d05cc04b1906b92ad03c855ee6eb8740d07e2531fbd897417feb45fd3aaa5aed0d226e8e773ef14e063d5000b1aa891234f319adb1b4b4ced6f04de95deee480f43c290cba797a931b2c9a343f52c31436a3cdb93cded7d422eecdeaa099027b856ff20fd1fcabf02c3f0a1d83b4e24ad1c3bbaa5a3307c0b2305fb72494ccaedfe0cdc927fa07df0e35a23c100aa07f41042036a76b9dfc8975f23319c894c750e4e045c96450211baf6f8d143bd62589ef86e9c430729fc9c4aba007c364db39c94edcb44073c701cb3556c36b3d981be500f3bd440706d1f4e4016b26a490d9a38c04d724bc3882dde8e39683d0fc19e2190c3a7f14231743a83689fda96fbc754602e980c174812b2bf382000de7329e8ec400add0b4f95af107243c3a16274b8dd41779941874c77d328a6447a1161018e8028fbc0390cc06a8e7aadb172afd1f38aea846ba802fcc102f9922e50c83ce3447948673f71182794785122f5b027097a66b4d4f33369d8b8a22e1c50be64de2fc64ced33a9088afc64315bd2a5e8702d05b4293b3670de831c25c36800d5107bfa043f69fc5f8dd51e70da722d92f8b83e0f55e35a337e77276dfa202a85f504f3e6038ed36e029fe97717a24ea3f71b9abfd8308323b36bd0b7868f22d3d2d166e5c63407085c7affdf52fb624d97ffa5183cd2630835500e854e897d333ede622c062fc6f854cae1a2b83849f1530cd1fec7e2079febaaaf0b2948f056509c41b3da7f5825e1edd8ce4b9ac516f32ba3d9940f426de2aec1f141401f65eff5006fc960dd37d885725b261088dfad017f8d5d93446dcab00c7936a318e58ce79776f2ee24f1bb3ab18028816975fa69b0494bd5449e74d011b03d2c0c96ccb7f3b2866ac92102c48c1cd3387e6e6efba871441924c4595089b0ae350835d34502e37a2f91508f9fbbaf3ed09be802ee2b6df854939260d282c121195221326cbae3616b896662381fff780641100e768c15448c48a449b87db9358bba5ab2391891a84eca67e90a75612403e56958895fbdc6cbb72cf2e2a9ab7dfcf9498acf4a8e82c699bda99f5a64972f65bff7830440ee9bb14235868bb46cbe963fcf8a270a1cf59fc2bb547e1807f16ba9db6943e8c533697ea805db0747a04d79961c244256295a2c0938dbe2b29c5d98fbd18d13dde9734ae0afb52cb6fe92ef3fac685d60b79a5ff956635acce25670b4a231e7d296c84ec57be6fa76a7c504b09bf56781f53425da1998dfb2fc6ddacb58de8f8e01659bf1ca3a8da3099750098d7fdbc7d02035d5b2ab55a836d535779858ff9dfaa65d937d8c0d137893c8d8cebe4107096e4bd1709a2db67b85249a409759379882c65b3ad98175a4397603ae0dd4374a2249c955e965b8132d1f43d5cfbd329b8d2d7ed0f1e76eb8965bcb5d3de79dd6e74dcef49dde2bfb5363c28e91d1ccd6dd418b6bf6389b7deb7412aede3049eb659168c055baa244ee28347c4931991ed3f2b3f20fff64076dcf46d2587486acde117a3c74e6f7fc876eb8bcedf29644db16e9923d082e3e78404e15bb0a51ffd7fc012d4a01df61341040cfbfcfe2cbd0cc3e06a304419fd99ff4324d6ad232dc51872656cd5cc0eec16cf38a7f666288fe83bbd124288adc927edde09bf365b0a0444488b19722e05311c0b3c4ad926da14618591def9374b27501d19258e4ab67e0e07fa57635a7df32e811cebce0d1caba8d5f36ad26f06166c6315f45229277e03f42c6b2b174f8493f8fc0e1897b3bed7c0535f3376e6221a32dbfb746d72f1557b656845823d9a3516220d02449a1a12996f5e2d1e64305b7b0bcefb5e5710e69585d078be6fb3003963b090804efd6829e2c9c5e5a5b3409048c84e17cc3c79278456beb59cc7907153c300bce055f8367222363bf96407aaef90ede1a900f33f86ccf1e01c0dfdc1211242636cd78c25f638e5c8e7899a5e69872116c4c062949a570ee92f68d56789ce8e623f51e5f23c0c7a7b2669cb985f487534e1d466e80d91fa9e08f21d3e88961085b66d650357f5a36869790d95e107e94b1259281d47eca778d9dd005adc837654bba0b55e3a91e2d2e203019f5cbee01a1537b0293b4f69dbdd7443254682fdb3e7027074e9aadd4732474c8bfc3b890a3175a38821b11b4e2be36f3c8fb21f6f1a96c366ffbb59284d6e499ff334c690a96ed63ab3614117e078b90c6b240b56a198e78a5e8ba260be17940d68b141e526f6668a0e52f09c148083bb1f11ffcb8e66ef4b591ff2492a05ef6d0e713c9728c8de667214df72f4b360e5964dacae9170d4cb2aa4c0456144b6e1be52ed13900caec1219ab38ae5d64b755c58b564d7e64c7374eeeefd0606a129d37fa27bd519ce2ebb18d9a2244ebcbb49a69de8c359d0c86892dc878cbcee7097730f90c091c76d79a0c95fad8eeb392f89840ce828ece00a9db1744800d0c715837a64bdf3a3fff563bfb50d402da4bebd3d3fe1a44b42b0a96832d249fdbcd5a1503a454c9786b0c993253c0bf4562a90b3e55368d9f1e40f633eaf74c72cc116c6e7463bd7606faf6179e23c04f3003149ff910c9aacfb682ac74119f3c9c531a21517f5200f4e1581ed5beffebe03025092b8a6da3c20c921f8c915a5470f68403c33e1387277b4c86e5191b84a3c3bac2f02af7f095f9e877e86bf2adecc30329e857427ed4b9a1512cb43870587eb803ce815c004684a3ef9ff53c2816aaec214480f9653ee71bdffb53b0470b471ad7500dbed2e90cdaf65deeb220109b9e0b747b659e1d31419bf717f4e93232354099e3c039a040008e7d635cc717e1c23567cb6310e912a46626d9d0c63b084bf8dd82d6fb3f97e5219255a29007dad1c3d86113c60cd6004b84f5b9b07ad1a0620096eb60006759cf0f5afa2717b46029c139d039107ee1572a91e6d7a9fadfe9830ad711a47c10035e86c24cb5d13d1335c76d09efdaf20ab4c3816c58a20f0b596d478970fc763ff2055c918181a24cb2db9cf7f74a8627e9193898628af2d6cee4c6cce629f7d6ac3f6bc97e95e497d42b1ddf9c74200e5dbdd3636331371fffea5df5db457998af8401fd9dd7f6a379e95de0ae27476102553b48ce010851a3a5b98def42aeb3d5956c10e575c25b81eb45191c0abbb9b1b2bd148248359ae972e1f50360e6296d372d180cb1f6970cae45b663a709a5843c5ee526a45ed518c280771e4f82aaee1f9ec5f2e6ab4e3ba149e50ba2e4f58135452bd8d2fe56a133d8087380c878778e0d93766c990a793158d57d9e72ff284523fbb3840c0190bfcd47e4c2677968d0b441953b9be89aa9a4b9b02416a17750ad3b98d4bf11a961e06d3d2b70abb8d399a46a00e69e610844305e9dc036a1446741d779972069c627ec39f6af61270c7029dd83bfec89a0613ee87d0d77a657b0d1c27406be2099a5afd18d1d258db6a975594908fda3e8f2fbc190cdb1d2dde04af9a260ecb9dc0b003f60cdc0b647df6284f9ede96b42a563ca13ba29e3de2949712f58163d4b32933487e2b17913f207419844894a97b20ecc78e8113866d6129c886603ae6930fc0c154be8ecd39f5e34ec8e8a6b478a7aabb946e2bc7666ac40e9b9c0a8dffb8468635be506ea3bfb28b0dd8d87408bcc43b8e2d4460a0c1a8ebb9a8bed6a4a61354a0f6643dd4d42b3c781842e3248a7bca51a16826d352268470b4d343cb15f3107e00b8693e2448b467f4be406d4ed6220e4d00f9752b2a3676e7ba93ef6e982c8fdd16735cb5e131ddacfd1f22284eee39fec18fefe490b893f752e006983bbae0e72f97ab73650627d8b1fc21f95bd70cae09eafb51116d0ea1f7b3d091c95dff8f21471ab538c1c50952e6d70dc0f00638b24c568c8e504fcc48d666aa6bfbeb6bae79cc65543113de21f64334b474ae6c4aa135824a5d9ac68b90a8a933b91b1687b5cd030b7b1387238b4cfc8781067cb8718a57e3e65be0e81fbed4b2d73549815268ae17b6928e8301acfb1da03492513364dd3f01432daadb05f34e4f78d852e741c51100b61d6859a48a6a87e6a05ff6c2eec805c88257eb2195ad12a733d45933cfdfe5448d5307a5204062f262eaf880265167b42f9eef3fb32e0aa2b7674b9b8175f49f8c31fce9faf609047097301e757f21165d58ec09ad0d2eb4b0369509ec379da16bffac47423a24cb745d7d395033e2ece2df709ab8f1f8b549cd00f4785e4fcf952c7042ea412c6db621ff10fb425b2682c2e80bb7f98ae6985535402bf2ad9beeab3d8eb8461799f76560921f2cfd37b4df9c522da7230a7964736fa436f291c5bd7537da59c667cc202c3d85d6bfe08aaab17e0376641c53020ef70f2086d603d106beee6db8d22e7e55dc3c643c3d76641687a2b2a435e599a7a5113a5621e646473da00dcb7dd46198e4f7202c71fa13ff4318e18b81181909bd30ecd637ddd5855b713782bea8a20d125b702de141febb557b5db8a7a11211fc38c810660bf14ff5dc2d25e9b45327a02ca93206913fa6590fbab14b37b8cf5a09e0b373ab515125593ac5c400a5756ff6d889fd799964c5b3af5e82ffd14d7d3e3bb8c33934212bf91d36f0d22d5265d8e27355f6070413131411d289436274ddfad6e04689391381fedba0ca2d0c62b2f896623fec0ff9f212dd8acd298c7c4276d272fef766b1edafbaf14ded3459fd53c2bbff0e05b643ffafee96db341d62b36cd55b86578be2b0165b4da6f6fbe0499b87126277eab2ada983591d1a27ce11d1da6b7be9289a0a1d7e801cb7206912cefc0c5f9efcb06b73e3549c0531aeb67d5f34bc10e215a526c5cffda263054cdb442aba247c6fbf2486475d507b87183faf855f1c6f1fc5d34a59cef37fb006b22311d9488448a3d2832278e9410d7726e1fd07905e23c7263e39e1f820563d9ac2de37d806942c7b9c493fada976fe8f3c57d0fc3f54d7759271cc93a8973d3fd34fba664accc49269fe323189d579dc2004e7838f80e14c33869e239ff75f2b8d53c7c846a444d5f766e2fcd14e13b165a6fae63113b417da49f6518440f505b9273c54687c8635b12e2439c8c017954a23be623554879b0e9dcb12ae727157bb91ae8838d4d7469c0772f025f39148619e9fbbadd3d6a73f5232269f6251cf2288d3647fd96824de43660868f87869bf99d97d4d0e5ffbdd3869f30dfce1e088f953beaf4bc745d0f5fa3c786bf86d575a1a0fc50793ca51b508604d118414bc3d03297f4a52b1d36f4781c9555c991d27cbe4a70b4e6c2cadbeeec630c26a0d320e67486cf9fd4a637bd52f11ff39eb5bd8e4ba6cf2e1edc528291d790cb27d410f9d0f10a2903fd3db066d94b4aca5830176910d9fbe4d5f6e2a76d3ec98e9603d8d1ab621b1b1b5979a67753bd11e3cc50c64e9398104162a64344902f3a409cb64a8ec9cffda8484ccaacb68ae018db632856a81e34d5847bdee969609a6e35d251ee067381dfc5b725fab33e5908049ed83b6f935a8426937ce59138e47c05dadbd741fb002df853c592360db090b6c3ec4a837e9479006e444c9ecc2f49814128652d6c1f8c01a300d6085f817189df0beaa6d7137f4d3f4bbf8a4058d9e1a467972f1398bccf8efccd268df1c8ce8ac50742784bb714f9168284c2f8daba03cc237d7150c3efb330565d6a53737fd6be0159153c7c1b04dbe7e60ae1018ed93a909d3b855451c7222a19f09a83410a31bc35b662ef982e60d1f472e9bd0d146474d2c21fd7178acb245cc19da93b22be1a676581578a673aec05597e8bb85616b9d3419dd124b8e3ca2cab38c77d77d39e034f349c8cdd62799cc79e66491f6bea7e81aae7a09c9447526d46853cd053bb84cc3ddb991e8be17ab520e700fbe62102e945328aec284d6ac175aae308abdbcf8b5afd95f52f10844c22116647e61666d65a1251d28afc536e1d8f899e51cd3bc50d43cde61f25a91b48ea635eb9bbe4a927f8d1b91afa78a87d9135a499be76509cfe65f2347d92698fb43659f7aa3eeedf1e703f8397703d15a222282a5a8c38d181f04914d66429d06f1a694077613ff9c51b5762a6c4ab4e46aab9ad7311e0ec7eb17346d4e1a742e047321d241d856139e8bc0266a63b9fbb52053181b03c4904dfd0af3e0bfdf57a5b778d510c288ec731e2d349e4ff898b2a877ca00cd6628604843f5f2d989836efab78f36467ab90b440dcf650eec3eadc30f6aa2c7ace835c037304168e8dc584b2761d3c3711a216ce0a92ac0fd8a2fa5f3ae1a14cb6f3c5f37c3f7aaf9eaf4cc465f759e7b917a0cea6c76e9b570bfce78be828c4129c46191e1e69fb4b99a3c1e95b8499edd71b96d6ee90cea1d828e61f2dc8a93bf320da2289601f53881c8b08fe3235b8af56b149b876c87040280c942403777b1347d1d591df16482981e3635a65586cb7bcbef2cf16fd85468dd8e51ffe4d16556e09a4e5f9353d0cb3e372ef4e4fa22b7cff48a93250f922c717f6f2b1777da89db7f0332adb9685ff773b1a9bb30a91d5c5d05bfad4d88ade4b6edf892184030d278169028a748bd010cfe08267b5a56b04dd695e0fd8db8f506c1e8cb8d4e248459483071d65617759d4ef82df25e347e29e74cb3ba7e5a954028d0f56798652a6113e6c67204c1813dd913adb461de8930b8d94955b8385d0f420cb5950434702ab3add71c683cb42dcaa21245c47ba21e5efd7bb9a99a0d06a71d1b14151047fd3d9badfa244a3895334c264f780966610a6800da187d9194cc82df977b43c2f9c194b19ba1dd29a1f877dd7f220ac91a6347269ce35de2814f2a8d28d82f82a115f64fa04862febe4d3f873944fb9b2c48c9f2df45b89202e62852c2a35b387d58bf3ecb370ffed7848aa6aa618743114f2e6101f86de3bc72d1453d238a6c054abf203436285c7d0d24955283a3d992b241a5af8ca3da69682e5f0b87e14259bae61ec47696460b42110d981135ae34996e28fdb334157ee0665456cc219b774ea803c02a1356c7e558c8ee65280a37a7f669580506e99eeadd4130cb8495c4226d527ffc7a5632e731e60b140c998248b6b3b37b4670632734a1ec468f093c4f1dedf0aa945bab3ebe61cc390d44376e1bea0a55e6bf2dbc56fc5bfa71dd900ad7b9fd39e246888b06e399b1408689296cdc655e142e22ee939f6358923797c6b1911c162b9f2c9856d01d4c80490ae17ac470903263ffa382fb46e4e497078bfab76fb7d9f9906f7214cd9fbf153f3f659ca9145bbd6dcc088cbe23d4dc8586a1878ffcf04c762d202d3cb3bb4e48bca86c913d18d8d6de45395d18aa684c83e8885674bb78b62c469b2186d64cf4eb351cca06d8ac17884a7ac200fbc5953294e386c948a8a8116161bf1b96f2a7843fd36c2b41db0c7c182199591bf7098c6eea2df09ffd582567e857a2baee75e5d1872efce31a3446628f25dfac3e5208a880e2ffb832a36b74b47b2058f9fdd1f1409a4464aecde9459a2fc51effb6ac758adb849eba8c5e5532e4c19ee6adc145ff90783b2c75f647537f1f5384076d95a2c2ce63b893f14db2032642ca918811012c6a25f6ca0fcfa41023a9355c39b45bb007dd5936bbc4ecd62ecbbc6a7b283b1986235e17ba65929ea502996e643de8d6625a1ab91aee488cc9ee74490df033a104a77557cf5dafaf82349a5b20b9b424f5ff63dc315202e036c9793f313e7b07dcb44bf34af742daa46acb65b191884e5d86f3e98b156ef6a8fcbcecef0d0735c17335ff96c61c0effc498a99d16e7079d9f87cb98f555e36e5e12ebe8c1110d7b71029cfd3124c7dd00f5be80d37c0c35da4e1f81e351458ff4c8f6f0ac6f08c335db17bc3059583024a4c59b64f0d0ce03299d8821cb719cf5117e0aa054607115ba76c8f73f89ab7151a8462eb5a7f1c26cd58659834dfcc55ad4362b8ca9d320819e5b5776a07f0cf76860efb69c49c693222d83ee037a3fb967b5c89c36d9abea326445527732aae9cb906c0346a8c949f07ca356feabcf546a607644114876d42394f0d1fdda653cc2dedc901893726e0c72d40f8eab9f902c1dfb0979fc634b8492c0f7fddd32546662baf8b27f64e9c9a97be610a908994b5c7cc800d00dc805fdb66208db5e4e3d6de1eaad09d82268b98f3a7e8dee0df491ac96057cd2c0e5ad4b44d2f643ca997b7f40b8af943418cd80b74194c981134077c4b667aa40f8823d17ce391e051a06f1e90a0ef490171a3e2a95cfaefc6e541b8cc68dd8cfc84faa273f8cb59ab26b98b1ee7590f0fed083ead7f8e0867f696ff3b3614cab48673487faba7778ebdd5bf4449d682806ea75017bfefea64b7407fda9a670e89dc55bd1381d1ceefea3a3ef96dbd6d1ed0d5ec72748c007f6fc90a8f6d71f7d73d4f364597e230d8c4569aae39093dfcf2a4948cea422a76837aed3a1c3f4c46c829b46c29a4748a06ceac10f0bdf1613f13661fc0dea689e801e0cb2edc56eced7b83b71b14ec9192deaa7258ae32af4ea39897f62b79d2ff141a4a0c572ed4c7ff293f872f824e684ab5b7d2bfd1eabb1748fd1842f6a0dd809e3a6c352df81db1499b674698c7c9a2261cd417a59d88eca1c40b93222fe713ac54dbc7fd7301fe1866cd6506294198ea7882c1cee5103c223942b49383ed18c94780dfb16c7a045a9c5c9b1aca11aa706f3114110608d6a08e3a56ca228824348ea67fe427c102d9fb58609a850be1defda4220dd7af3c2ef71a5599cde6079e0de33fbb0afe9fdc2065e2065c0165e137c778d8b5bdbb36c34f15e7497c6bcd57c51345f66df2c751b3a4e80fa4514ad075833424f93f5cd8b673878995e22c83cfb270e2ab1ab101deea1b50e7bb56f62cca2e50a491ffb2c97c12be7be4fe4ddcf02e19f85a44ccbabb84efee7d31698cb6f5877514e63097c070a5a5eac83b9eeb4fa1d6da56c4f5a887bb8931ed6f659630e431d9f1cd7ee0745ebb957e86701cfb6639f22e77a56feb30e9f860c6b3cdfc0aef48d0c4fb88d17a2b01f57aadebdebb45ddb8c6cc9db01395dfa8e6fc2a098ae50b1c864a5219104f460cb6cba85dab88e215ede564e1f983d2a9006e6cdbb5bdd45e49c52a3179c6dd7b8cb8e6d7df138465a054125ed31059501543e7d93d7dac853da36b0139f21fcd84a58793e03ffde5e01f26eb4e5b4b3c6af2c5b8f8a2f9ebd415efc46cbe574e5abd056a21e00c492a23ec5830a58dfb518ee1d245de64c51f43d554e9d0dd9f07014f3caed908701aa26da85e96305afa1e903cbc6fba0edf7bbbdac9056a1730b0dd5f6585e547cd54e5ecea681f5d336ac5e41ecfd733d03b3cd89eb62604d98b4c53001b654f9f0c73117cfc6a929524b19ec3e2935d048d5034d1d57b2778853b4afddc8a5b9e310c4b5c2342082747de61309c1b42472a049605dd45f5b16cb6e3afd46569bb04f153c38a0f0dbb068b2965a32cd1d12981b4bd1ae83b2decec9601387380518c9acd83d129ac247601aec5f6814fd85b00cc7d7f4d58dc40eb40d9d571d19d00de12d04222dc499c611a3954e8b150933f40de68bb8dddb0d299b83bcfcbacc54be198502387567c7b85612b648f82a2faa1ef64c4787b513f8e9f4bd7c17b74e5c4a82e206b4d7c2739640501ee4f309827848149ae35432cf8875cd11082c4538f50087dbb7749f84b58c194da0135166b3979df481a04a437a1b4da1eac5aa103a97be0b276edc4023b70a17e65196a52fd60162c641a8bf3d90e119b3e538065dc1bc6507dc03a7e37db9293bbaaa0c9e3aca03fd17aa2ad6db165137136adbe008866005b9b620a16bdf5c65844b9462b59eaeb9694190a6fa1c6482eaf43d685bc8cdc9e72233684b83aea0fa07c185d11c20cf9f50c89505774b99a2a8b20f4b3bfc69a5cbf0c4fdccf5288d13a8ca078b3eea7bfe2b1484b7d3c54094dfb7106fc6d59598013bb5d8c3fd11f5f545f915d3eb5f1466005440c01cdb55026d3560bc1109c849785d51ee35e5b5a78c35690578c2829808b15209411d2ed7d907ec1df6c022c1e7e8d03cc57f04870c83a0bfc0004d75e4a3471143fcf84c2a544ad4983a89bdb84b00185a5157003be3297e5abf82da06806d04f9d7662ce66fadbf4fb8dd3feaf4ad238548406730b8dac5235ddacbe8dc4d293f7b6995ba89bf2a88ab8c5b472d5904b4490e597c7e6b17ee0f8baea0d233bf8681d65c6a399712b567e4e16c195152dac7d23ad73e16cb98ad442b645fc1d50e54e8f7b1421c6390f166ba24aeeff123bda108a4e46114373fc96cf35682633ef717ada624f4b2000b567e8847b7d1862e0cb624b4218e32254120045d27a9f970374a57b7895bb587714f25c20b3588ac6cbba2c1965c2b834960b24b9b159aa6b65a1b882c4c64bd4bf4604351cb52a10fb3315804cb427341a24d899adbab08f99ef7c23ee0f7cc7fbbfa92c156096e7bee834f9acc997ebd9083e5f21384321b76920064853aa1bd5804b6f152e348a1d920b49b6e3d1aa1d9e56118c79c6636f8cdfe55b4726c82ff40c095af39c65a559238be6326eb9fb0d264cf26632430b27c0174ee62c777a76af1102c7b9fc6681680e1bb35e41821804eb47cb3b7ab26b23b67eb44e5c274ac113b051f55709872d97bc613df7fb5a2966c15311520e2de2b9158906e0093d1eb354ddc2b61f75217ea9bfae4456fe20e4696ccec6fc285eae381c7001c2b4ee8c4224b161be445891850a44c6f17ea02e9558afd7284b790ed43f9baebf3d7d9c6fa496111e37b3c551cf857f5c3d2655f93e7ef137a646204bdfdfd36668f25e4aa3cda1dfcd5a4051cfc317ac3645804be362a72f31db1ddef867ad0575ee540431d058d5ef98ceda91b34615aa283c3140b45343baa8372c088d3fd1a5b97b9578252c08f783376b26e03b96247df2ea358560f8053f93ee4cfd4bf34361330c9259832647867c371f03a4546d3e07b421ca9081eeb3c18a8fac40a2280cef403337569243993f39a10d2ebfd5ce4467a49f78373caafaa4ba5855fe770a8ff8ca0d2dadc5c1d27b3842045ff6ab4442a5aa552cc4c424405fe3567642e60262a72773581fdee7fba5e384765d86df49397b82ba04322060a5abb62852151d3f8e9b7f505b5a6c621ca6e6269b9cfbe3d743d9788c1de6cbf45b526194cebbba1b4daed4d96ec2502f332fd090456db485428ef33cb149fccb68102448493de6b85aa569aac62e6ab2668539f3413aae5aac76a21934117928e69dd43ca9979fcf502c1a91e7fff3ca73a1c302cee2cfc43934644e7b93aa8c705c3214cd24c3d9719bc5d2831a3b11c761a34b94b1d946130f754f51ad946efd6bb5dc0be346f3632ba4f1b9f54fadd2f6ce8599219bcf08cb37ef1c6c08c9bf62c4202f1587b1315d5e05ec2c9c52cf4ea4b745dc55d3c672e988225471cab8e9b63861aab89bcc9a958e6c7f154dda2554b87ed78b648daf3b88bc33972a94faf416358bdb6b81e4668e246335384fa93a95aa5b30cb65aa694a63af4690db271c224d31b2cd0e7e61189b4a9d8495a5b175d4bc3d1916628019b803577018973cfa54dc72b37fe0ea4db9b63138d077b4289b09a6e5f02ae845a6cdc08d5c5fb8b1c7d53be3e8b784ae81df54633071e39b35d58269530778f2657c53ec2d8847f2bd8765622aa3e5e129bceb4ff73011b83bccee662293f1b2ea00106457f332b6033fd1768a9758f260aa4644b2cf06f3620ec0670b00339111fd7ad45acb755be3ced4dce4958ff61b96e3103c563ba416a080ec722d67e88966aa9f35efb2534eb482724e84aaef91f204c6ba75834a75107d0766f725afe325c1fa93e10e773878bf98edbda6c5a8beb43389784c7bfaa41531c5945589833ec65b6a1b70d3f35d18ea471128d062d7f035c32982744c464071c3145c568eddcf844c28491fe8a55f5ab4fb6032de9ac57701bba0088b782b964b8762711f871e94b4672b70c09322e350498ee78749bc8c4cb60567130a865cef8303ca95791c5adbef3fbf5b29a10650c03ae8351f7f3e5014b2dd06486c66cfe9763e89a16ea5b8485be8b1947209552f0ec1b8ac85fd6386a06e3eb4ab5394d66e72f778fed857a4d5cb220ed70f8319cdf15c0f0785b7da8de9db992329c968b7e5a11d6d7d9e91cb09b77ebf790db9a1547918e4ed5d40a8f1f13e3a08e1ada620a27962c705fc8fd22a73e8c3ce18c3b95a08dfb9fec63d1900d2a5feefc8e4e0cc87a68c72505c530428e25fb3c1ebaf2751f811bb5d7ead5408d07112dab25f71e7e021609b2445770316962f7c5e45f64f1aa51da7dfed21f4750796babef9fce816ab7fb5a6011552d0d03c38543750dbb8c6f115cce7043f9a83ac714346c12a1987b1603c373451adf3523659701bf933fc5fc72eadd1bc1648eee2de8e53e4325b328b156580db32ad4dd18627b97e29383250a6ceaa65877785c3c3b952dc91b0ed6859c7c688ed1324373d4a7a460ba8b811aa4f4d3ca86ada42bea4d834ed651bb87a540c6c77280aeb8b188144aee56c955f649a7343b7747fc48354ae583bf16ff2b90be25b3635f46464c9a0911b01db4906d6460683d63033da3d7cf685aff71596ae68d0a1541affc644c2700e4f7e69c576b55536c9e73817945cb8260a14173c7ce056281bfda304592cc94b45aad229d4167424ac7360d5640712ff6c3a3a9bda6021f92b370e4cf5d9d0c2397f655b544260570f350e788abc9e31d2b8bb4bc358e8f0755b516e76788aec9ff8806008f821b87e48509ed3005762595614131f9719c207d42c4e039c29e90f2c769d4db8163442ba64da957736636b5edd1679b5118e215ff1197f54c04a02b3eb3c3c7edc16c45d426797694cb3589de4c989cd783b0b8c4f78850ce7e08e246a6d12c566293af2d276e50a540d82eb72ae1305cafb85d0ac95b062f8be7b45bbac0ef956c9bfaf5f79643eecf12703f7bdb4e16aa31a582de3dd15f819ae8b19d7325c2a5eeed54c6afa8e48603703d3dc0b844b875341fd5eae14f5f34192e6dd06c22102fc37231e9757424299f5e2bf82e02c8520627021238439fb9f1c6fb57b64053a61018877ae6cf3a1b4c9fe588bee791a7c428dcf18ce361060b7601811fb2c2e27e55e43bbd118654287b8bda44d288a819041178ccc6824004684d56e8d5c3a2c4c02ab832b9d02e374610ec96acb550c8d506b653e9f60840016ca12e41f7a1f96c737cd5c32a21bfb08f81b6cce96ab53cec63e0340402dbbae78efc9aefa207817e57079ca6cc83a01ce1b87f639bcaf2e009bdc51e8412dd8cfa93b99cc3eac34df3667ea646e880f17d786fb256b83e6b8a2db6aae3fb406696316e052460547e8da2ae066289c0c6e03d3094c434558d9ab49d5e36606eac7549256099e3f4d53b9506f68625fa32df52fb8e9d3282e5cdb0c8b40dbdb8c332670a5f2e00813a0ce6be9b5156440d84595ddc7f3d383c971e68024d65a4c787b3a6de3c689b85ce0f755cf5bdb043747afa721ab87c8b0c7b912fecea739996f28de47ccf1fb0ed569ec45d08bf2a9a2d5d31e5e4b94ca1a3b5b92d3876c1bf61cf74fe7e43a37b0200b824561793feb4a93a5b4f85e75695891bde14f14ebd31756f0bd95fbcea0da5938f0f022b33b3fba97a0372d4271061c4ef01068bc2a6d910b5edfe78329b4e2cd1624b2eb7b5579db2d552556ec91b4b45d80ceef101905cd811b4df26674642868c1b9e23b449761712d4c2f68844b9ea32b51d2ae55123d84f9d3507f0e8a0abb2699945b6017f1de6c0c5f3c4fafa2d28b4fb1f08662353fe09f34a1f3efdfd11dcdf26a09ba7df6437aa9f0d34b01c9964c238e305d2c19f9e946394fa7ca71d78e641308b232afd4a8176cdd3c975cb692c71870aeff21d2ca37dd952f2118a98f7b3e1cfb6a18f6cf068b8482065382ccb85a5179f2a028b1c37c91f509d42faeb46c867bc121e693443ae9a13e6d0efdad2cabc19ec0408d1cc5d43a5bf1f88bf2a0e6a818835f9d59a7bbe38656da87978cb18750fec2fe68b9f68a3b47d6574f3ae4cbe0dc288b04ca0322d2d1aea2436ee053e3b6b8fd47fc820846c8f02d67fce38aae61205855beaa74dfbd58a0d4888049c2a71d2ca50e28df083dd6648e08e9a44df607f90cb2d3c2c8622df45c7e3d7ec6a59b0a772e883b748921e0ed97ee0a1e597ea2c91401feadbda22d0884505553848ec8733b55758f9ef8e0f004afc65a01580bbcf1ea965b35c07751efb1d94cf181174d2949ac54309154764c774ce3562f23da5ab166f2f8720d4201b655d2cbc9d640a8d60beca456619c384b79c15bfdf2199d426ca272877efd04e36a4009993046ddda865963e081162b1cf9ee9fb03bc3f4048f3cd8e94f6d2f57ab5019b639c89598e6cb5d5cbf94ed3fe15215de6081804171b6555a2084a642760386e30df0f54958089de6b7fa7b05c63dc2629e60e233d8a5d22aca216a3794f91ca585410ad1f9d9f5de90b363651ac4337957b63847920dd69c3cb0772ca0f039dcd9fee459bd32c6d843b543d16461f0c0d53b7f2a49d5ebae3280a479173c83276c5fe856919007b565a4205f5ec75c46abda833449a54015bbf3d53e187fdef1e958c3a956f876626694548328bda770fbcfe9a1f653832e891cd4f500da31a905822f834faeb65c5b383dae3ab484af5ee8111aba90457139d1a6bc71cbbe68ba0ee00422b4fbb65a3ae6e6d0df3b64a57d49501fad2cf6910bd0fb8a3b1cd226a3376b301e6bbbb1172b4117ed733b5c5222f09c40c3aa3e45b81f3ca27b7a1e1924be68000b3e3866f99de3af6888cb446ef35447dbdd47640ffa32c19c6cd3b5f71fc3968e370138000dd6cb46be6f0d90bbe63a20846516ab273f6f24ff25face86034eb86c5c64ef893a4a77c111dbb96b24bc611dbca5511d0d43fc7b2fa55c7a06184f720d99102cf41f0c8c620869fb5e74891f5ee50bfdf977c75206cc31006afefa42f4df0bcd4ac8896bc57bda142ec890c0205292ae15876954c57e87372fcde53851e4526614b7c70bb78e4064cb03fc833d8a7f36f5d9330269e244f4d38a56245508882d5d075e8051be860abf68d707f7b055e57fbf0dacd99c788e7a45d6462e7d4c03d34e7cee2168bcd5ebbfb3fd30cd63afdf61f7fd2d9e52a2f26a6ac11b531d6d20a8c9a392ed4ac939f176830fc1eaaf830adc92b5e7b4f0342d418678a4822ed041a48163e5290546f3b908e1a021654b8336e3bc7b1c8b0f0c9dc9c9a0e0226f996d7056814740938cd7c016d866a2b91ecf3759ff55c3d0dd19a453576a000655ed632cc9fdc970e94bb258222145c881b28955f8e89bd861d41add78c637b96ec48c8eaf2afc57f9c42b43135c53866cb6ededfe4f163d4ba73db7f676c446e5e100c8920950d783f6314ddfaec46c3e652b85cbe82317ff8f83324b34d2b6b4356e4de36360843a3ab60d9dd2fafbf5d448f79ce5281fb507ec26e23bd6e43908360c437cc13f285a36fbc55d57a7c9315b037c743bb8ce52bda5acd6512cdb8979663af77ec4902e8b06ae47b29364ccf6020f514a0edf6694875e927625fc49c9890dd33c682e9550c4e9919bc9687910c3bf659200c8e304584f90d0460a2eb06ce3b38ce608f2af0a59a458d2eba1b663b649beccae9e60cd7894ee60ee45eb170bdfa72ae6e7a6aafd9e705269c5e5a7ec3423fa4174681af830c0ff6b2d24a6b4a85c248531bb7fe1b61ca413f9b166b8f49dde6f99d12030c27fdfca69787778ea2f29fa19e32c26adf119600262efab479641705d9e2763ffc4348b8ddada5dc5e49f00517854b7810d74140a8454a2be83f8f30f39133dcd58c098b8a15727bf8085c06fcd375529bbeadcc854044247606601b0c76bafb4c36974b8767a359daae92aba837ee9f16f35738d2f900a595542e614bdc68dec9e738e7da8b65721b394920fc88f04a17ac8a1e3dbb22cb02c5c8fcd7af88c5b34fd232c70d352c711581f7f410a60896403824bfed08f7c8a861777f29158893712a4816353447169a79d1efaf83f40914fddfdde1ff0ff83e4f63948ce701296f9bc2c42c193dc1a591776bb5f645f2b64221ddd99f606a6477d48705e24ff72c17d9e5945091959fc70c938534154ae19fdd6c4eef4259542ecdd51d1e76e97ed697c5274de40eebc75de7aa624b38dbd197d73a5f6e825a0c1261467dc1d915c721901eb31db027521f0fdfdea896e26296f563a0dd343885a2ae73080e8fa2c443903c3ffa1234c538e65f23360f7e82bcf2e34ff158b5ffb2e70b2da6a52ba860c9fb41f71629810c2910666cd5466216dfff451e1577664190f27e8f06172a55797674b5841edc74e217d6b40fb75a4f8ff6d79a5fbbf6d9f8155696184cb3f65a907c330cefe6ad60bae91595e4f85eb51bd4d49fbc47f7aa085a0eec406567572cf2548caed4e93cc80b2e6041582d542621f3ae11799f1630cb6bb574458921e37a2d369dbc2400237116ebe1d275cb76b7bdcd7b6323f08080d3f69dfdff5dd70358739a6330374f31fb1daf61c220af8f1c5466108d0445e4b05af6714d34a500d6c4d4d52ed72f7ef0575af06f542fecb4d87869c287488adea1d533a4d8d5cdb6da0e1bcfbdecf4ec37bcb8831ad64db9b9e253ae327c725ea50c789aa7f0387f643e0786524e0e3bda1533bec8178e3afe762ee422304dbfe1847039faecee245db41ebb66220304fecc3866a47e7ff6260c9eb9791cab34c80ea866a066bd7945cb39c82fa54075713d4e2799b69b2c2f447651c9b9f4ec4db6136b610075c6cdf3620d8d0d2b828558d7637e8fee0a9b7f54c0f4eb9f29039a85ef19aa0deef87b96ecfe384a5a16c7cd38df538b4ecf2dd94e9e34097208b4f1fb6ef469b82be99b2af451357634b089551fabf67357c98675b46f6e88355c82dbd008217940c6f27b8c1ad039658dde48d5c0a00a84c6c672e167e1f6237355cefabb05a458748f05fc245a5c4db88793472c305d5b1a896e2f3f515d6e4330519405479e68d7af05e33944261ae240226cf66a144c8eedd567400499992d6e8935fc17b2f472853b419674c0ab1b8ab615f42bf05ac62e4a126b0ccd250dd885aa4b98ec80cd69d9c7bccae2847beb7ecaee9e27f151715f96d361460512f48814e041c915632b1022f3c923a4084ee4d799b644f3c5eb6bbcdd6b4e30715a33cc170a84f21543a294039e0a92368d8341b1c3800cdeeff4305d7216d7fd4b2e2715a18e12440d520c3302aa84ed07e9d91cffcf036f632f08379a11aae0425a708864219d8a8c02dd229b915688bf69114acf09883610a23647953abdf99c2c8672f4c9f690510206631e451d3950f71bee088627d0f313206b27b075d074617d9ed85bd2fdd0aca2326991653174ac2c2a994618f16cac678b3b951daa244890d728de677dc2092a9947b0ed705e6014a1957e0f708cae1c17a5354ab72edb2d5862284d9cef8a2e5baa4dabaef219667ec5d4965c4f78a888f7090db9324b9d1debeadf5639d5278b50940f9b6d5bb34b28123b1488c24c3e876c7e78788159e9db869739b9ee1fa60d8786e0000c7ace8ed7ab60e6d3cb76c615ee253da0643f12d695d5450e7acaa6ed9bad769b3c65c7457736446023e5054c24926f533b92d4b17fa52acdabc1eaf1fce07ea329eb9d1a9cf954b5be30336f132b57013d652ca3788ee69fef3d20c47e85910d39bf71c10191c6e01dada054f97151e77fa314a3e2b8efc27eba673c1c3b09fba192e34e55f612668507a58f52813557aaa394aaf78af962f88c9a5432995a59d40da20e6807fd2a5c4f142ff63bb5b516ec3fd3299616f87392031120cd6d2c59e4245c1544a156e0692f806d6436f3b9ee2feacfe3ccca90b169ce49ee39db5daaeeb7893335e8c428000a7991f17407f46dac3c8a991e795fed7e25550015380154058bd9a82872c28c6f782fddb76e9a8c5e9b5457587eee76c666d6f5ddff94f06cf421e409eb991d5bdb619daa118a6258e00903f969b9981ff5400cfedb25035206a6c3516d34d7342fa5e058e844ad56e06e7a97a7574f1fb861fca5ed22b01ed05d006c325ca3c0fa60ad095cd81bbfaf0c592386591b8adb8c847bbeac7bb54049620bc7c33d16be5d9ab90b74fc3673795cad35ac48002201de6f919c6385339b6dc43a4862dd2112a2c4ebf74657c4d4a4878046a6d8bc73817192387d2444484455ff1e9c77be3eb4b1f6e9fc957a6f7f7c340f307dd578f5d91761347e1a8b94c57a6796842df3b4d078c284b86a766d3ffb869a11591efcd261de203bb094e2a295747345e21232b181f86db1c7d91659bec416bcd10dd420bf5882c98fe8ffc7f9f7171db8f5dd7c09802e5f17b41e9d764f4a2d417977aeb393c404799d65bdbb0f6d04d7820d5d2da5e19251e7dc5234e777d0176d3530183fcd5d9091c0f4c2c08c3ca7b46bd4f0570469a0d66743badb6eb9d249f9d759870dd90d4f22c063392089ddb690a6627a90c810fd8f4a997c4656ca07109d0a1bb78f2cce299321de62b9368ebf4c173c529025f9e91730d3793ab9b29fcd18969e8b4acc4631d213ad2e43ec64c5fe88d583759f7e579b47c5377324dde11511499846057948a90802ebed2ecb932d98cae2e1ffa358a201e0d3bfd68298c7152b7e82ffde7def7386b34013f21dc12bfd1dbc60e1feb85f6f1a98224f1b600732c68ab1870adffd5e7adf090959622ce498c458244c0cedac35a6ec265d49489cb62dd668c3aee29ada57c9132ada68cccdd298799756e3642f6db54cdf67453fc527a1313591c9804bbe441c1d70653034572c1551004ec8554d4b3211169e7cb2a5993dfaab0e42ae8f8560dea5d4eb059e1818b36c4f16528fecb2050814b54cef8209047645f15544e75606d44fc2ffe20d0411ee857d9c0f800cdc74ffa5591ac7ff1ca8fe9b3240375cbaa8d3560546cabb77b1738a7bed499cdd3545826e8381c755a6dac5026723195f91353c8d729beff78c0a3141612f45f997bc6e46a5c7b6b74b3ebc79d1ed5e5e18dae80a06db337822272993b325913cceed16cbf651be4eca3a5a201bd3e640c3d059bbf4ea8e6f80196b02e0feee8b793d6dbe9f418c45b59e6be48a130d532d97d8e4a59a3f7c8439b24ab18e687d207152a7c9ca489c4349c6450824c580faa54fc1479fd58e2b64733ab33e780c3873ccd3a784b1f08189e050d655c3bbc2f2360d0912881c1e89503fd258ff45f1b3b9ce155ba9f30a205416c41e5ec5b62a1b389374f0bc8854a232aab11b4f871a30652f58da4298ec99728b9b538f56eb610696b2cbfd4d21cda410817478dd410912264ac96756315773c91a99746933036248e7dcb3ea52bbae8e579d9c53d7c4622000a539546df0fe636bb1b312e25cf7c66d064c6e4cf5859180a7783ef45a6bfb48b276f9242f62d969cc643c12e19005b18cbcc7ed00b14a29ae51e9ffbe7b76d2822ad3b87ef6550835867d18006eee11d50b1a0f71bee773eb605d2ea60fc2bb1340e378a31c2a9d47df8a0edf106a92a33a874050b846b6ff4bfa90a7675fb21233cd3b0e98a85f84875488bcb95dd567e2dc66292a684bc4b158bb3719e7c2108dc54df64bd098186dece0da351688d262fc8d959e11f65481ad2c3528504f8148b8ffa0e75d305bf2c910e466069431bf12b1cec0bb6f7040c6eebe27e89cf43fe3708b489d12db38e004e76734bcdfc8506437ff872a822ee2a0b3b4f118c5dbe8d69b3aa704efabd329c65ca8e915a1856f4f2f14624fc5936d6d2a3a0115febabe9de1d4241416c6bed354936f52f44961bf7c3b123aec559e9fc715240f9a599b098bc607156992d33949dee1f26768ceccca4a3f96fc7cd4ba5fe8e53bde2d992318d60e0465dc46ec47cf4708104351221bfa4086249a35969fe9108a9203a414831b66483f70a58c772ddc603f6ca89930c288a631317ea4d5a9235e910fc88b14331cfaf0904eb2cdf8085133bc45e8ac9d4dee9842155661f01f3ef7aa08aab073ef594202102757ca5f7a67321f070ebfe413a225e93f27138e80da6a2eef18f1081d2e76529f08ca0641dfdc71b66e3b80ef9514613847117f8bcc4ba9e800511350e4eee2fbe3b0fcaa086b44a051bdf67c5359b4abc295b0ca4d8d364ced8b64ee99c6598d86826c24e8bcc36a4daf64ae91038320f0a87f9b8bd17684696550b731f00dbb93e02cfcabab6bed2889824290525d5986543bd57e79f72e4139fbd2ba038770e1076b98cc6ce74526e9d342a4258b5c5c65bb11468ea25241cac07bce9e012d9758bae2e6d0904dae636d24e2b8eba9e058ae41c309f25c29fd2c49a281108e447db6aed13cf4659f720274d2ca6b622b3bee0a662cd9f14db6ad0d02aa26fd84b4e7629bdbe21eaf5698df25814c9e7e10ab606bb12a7a8d7324eb873301842246df8f5f0bf757de9ca1910f14fa19650c15801a72c32ec2c52c07cd04d238093443a891955a8bfc50b32ec7d155db9b32af062fed1118b4f7fc75a6ad9a7d32cf9f53cc7f85c60ef13999e55d957e4c60dce267da0cc31242bb44acdf317986dc7afe283ebdbe1f5b4f6230fa16d90c97ed742e9df02551dd428f24121d9f7736257b43594354e4afe748866bc2c2b0f25d14abc8a38e675ea141d529f62f5a131364508c73cff25fc286b546c470fbb30a3f6f5df6a4f0da087761f4bdc29a6500d24caea3cb1107bd4b7d6767d8706e9ec74d6717d751ca5691df2dd36e48054b9e645bfa9a1e3d7aa2dd24bda7794d49f2e2ebc315c25e513e0af65bcd2cadeb8463fb2ee512cef048615ba704f745d2197ab726d1981b9f43d340b9be687f5e9ef3122a0eb3575da895a03db26cf76d3825a903ca151ed9e6b9256519ad6697e59ce7c8cef9d488960f2bbddba268fa8a5bf4567091cb66ceebda59ba7c1ca5bba0cf570d3d6342e57a5e42913d8d30b6977bb79fa6576b9f222345cc3908503f2719a026992f2afb9c64fed8b402995e556e17203851f46caf7c8d3a20273e4b0b3b37058337886e8a70ac8ccaeed09ebab446ff299e4b78915372a57830672837016a877c808351e723d3b271210b566ee9e00788202d55b8f9ed19c03c7dccf0ab5d8f13288af920f6b025b1368f95522e128d4cbfb565841c60651d554d62ec92d1de9681ef8ac118c23979822e320d09d59289d3e4f9bc88c4bbd12162c064bfcd331830a03902eba180ec4c1befaa36ba87ee9244fb37dbae0ea4abf1e301f3d433606feab45b24727d4212492d69476dbbe43ac99f9800f32f0ab88766fd050174038457177d6606195b4aa2db9bbd06ddcf515313929fb350d21e664125648699575e444526815397f14dc4a672d79ad6404704d896895006b72bc40d33f6dfdb77f069865056cca328efbd0267734eb8369b47d9f20ee9ddeefec4dbff73c9163b5851f283a905fa4ea17e7652692f34bb9b2872fab694c2de7cf6c9892578a7b574849ab3e71a0ec35fc7b7e79ca5c5be93d3d1f9350cbbb4a846e2f7a348da12bdba75a4ee272bd5d1e51ee5fe1a8acf06b2cfa0be36443eb4a1d2332646785fae83621136c315052b301bd40262e0451a4df3b3a5df01f911d95384129522a09deee8b6a08b6d857304f1647793235c5edfa61ca48502c317b95a3fabc5ab0ea9e2ee2692c63c0c4cc5b557ceb23e0b763c151710b2e8f1ff57a307fef2490b1d83b2f5116beab3fcebd68fad31f1071a78b44eb759658b1993ced648692ac3e13d560fbae35d17f203b60c6e7edb28f4aa215bfae9ec038c5db45809c603c35bc639d0ea28dcc252e748fd761a1b614aa7a2628c36360b773e2201a641eda440fcd08f6a65320b551436f5da9d7d5fb51de714be27ad1c57db0668c561f13a97d6b82e9ea41ff8bd3386eab5974a0f9964556f7823f6eac731d33df539adbfafa97d1edcde596c33a411abd70b844b4432e90c74a70982c6453548c9b62bc7552360bc3eeeb79a1e981657cb0275e4aa94e13d4b65f77ecb8e6eb6bb4d4e9b6a6d0c2869db156363324682e1e0c01f10c2c75131ecad9c01027de3214fe65190f8941085849e8d895a7e2861bad00695c03b3a6dc22b78285cb22aa7341d370ac0f8ce130e6d115343f8c575c708b8ba408b8ea1c11d1ce0b1df52e469298d8432b03fcdbdcae9bec728da0af667b4da92ed699f193e8b77e18e5060e609e5939efc05558587bd34c2111b6b006cd518ccf8a69b76bf9f379ea861eb30d31eca9ec6826c53bac598a7162d5a8c2ec0fe53c0ee8be8a21b9420e2eb51985853196fd6052a57e4f67324c3e9c388bf08bc56c90464f87764d55e6021f8ae603f5f13b52742f17f69ba1732d6963654cd99ee4227b529ba5c359852335aaa1ba837ccb9df3f15c6bdf7d0ed4e6a7dd05d653616d24cbb24e29a92997550af7c0675d4e07bf2821e20144d001e2265cee07fa41b7ddbabeef75b2c5803175844649edbef7f1be59a6fb74b1c27a19cd5562c5e13fe5f719b6ab7b99b2d0832a48bc4a4b973bda21c8c034fb4971dc1613f835848f5448047f0507388a39799adfac690952ef3c747859e38e27df7631f6ebdde488f7c7315684543e9919e95ebd05ad57cb2cee6c5b667f8ee00c52b5d03104776696a550a7cc24f5e5dc617b7505f3dcb23f8dff01a69bea4d45609b6f3f29cb584774318dd3fad92eb9ec347301e147b805ce503fae2df6775cb35b516e3b7c0ed874a3adc63ff68f443c11a60da0378aed9511bc22d214e7afbb4a93bb334e8b2327409568f576f0fec9cd653496c9ff34df7fb5b6644a4f7b9a6ea6cb97e2e8fd99380d6512ebb088c66a9d559fb57bc2cd8c12ab7f07fb32cbe72885d4319437efd41f224d9b0fd9310a62b56fd188b5a2c370781871aa2ec2384fa060bdfd32f14f0210c63c329b5a8ca7e30e9aab385a658666176d706feb3936413fd21b6325bd0197e21ac964cb95b0a8e602c75191f6b6b85388d385a8ee5d87a8542e3bbfce863c080c6254076bab8f5845b5f34df05d5775c52de7725d62cb9a2023f0703bdd27edef2f188f16612310d4668265916e02bd2403176f3252bdb4c5dbf486ab310cebe23aa46f30680eea4aef9524e8d14acdac43fe21eb23870e73c924c1bbc71187f777f8559be6a5ee318b27d2050c6e9ba344e526231856d9b75f63ae197911763e414832d39500c352b555ddd77b8e06c68966713f1446e8dc63f71cc247399972218ccfecef8be6fb3477a5de7ade3b585d83bc4c74ac2e9aff239feba59cf0b598615aa27b1b68819f952069813e16ced5a7329e99ff078f5dbf2d8ef65d157f1326c3492bd405cdd06c4d948f0a364329d2cba7be23cfc882ef6b8f7fd89bbe6962e282a2b909e359875601173d01ebcd086e6cf04e60301a11cbbc85e2c71f2de0210ba0e0880285a47377dd49cbaeff3a49c4884a756190d97ceb72f285604758a6b185aab8282961b7f9638c4d67716b3dab87838d3027c5cab337761a3138b800479911e223b7a939e0888db4a5bd7080483edddfdf66accc64cbb479d861dce688ebb99c5701b3570c190b270b3394ccb6de0ea7099e785e16231e71e834d1a524120c2bc6c76082c58055a5e78d44a14a655a77456426120feebc2c355af82531280aa689febfd789ef1eeaecd6092992c5514f19fb82e21de121e7c3c8f72ba405bd0498a69316b6b4fa7e19081614d852386ac215a56f3346edd2d2c1a7a2446587ea37511476443ec804d15bd202069b1519a7aec2b88dc2818ad061593b7bfc068d224ec31643c17d5ef864dc9de0f292256342cf04ecce35f4ecdb59ad9bad78e79c912ddd7425ecd419bbe1f6dbcc81e6c3a7a5a10784a68d45d74ff1041d9ca5e0abd2e8d1fd407c7534b9e336329f369c93df62bfbfe29d3024b1c361656f6d38615384ebeef101b91f2eb9b1844fa43ad53b07b45d7fd9d2b392ce47a91999e499fdd074933510e636380f5f358777aaf9842ac280ef8503c4b64a04c4935b8fddba5ce1685f47abb07c2e078a04fab41b0721ef85fb36a96274befaf5b73e515be9f7a5dd862fce672441ca079ce3873e38d2daa594f2c7f43700e79cc4781b0368121fd77c8ffbb57af73d2865315d295bb301215689f0adb411dbc7f3791354f65ae7e3360cd613d6ef50309ec1f7f25a0bc07c2dd62bc78da02e388d9f46f2640bd34c6efd664ba7f0fc177653b9405d5c133f30e77702a9a9a57b2701817a3e56f88eb0b4b2c9e01479255e5e322055847476af3ee4d4e4d3013976b35836bea1c5a97768f31bb9fdbc3d15c96a3980c9651391458583bdcd9408149bac1c8205ffd780e4880ffe2d1f882ecf2e4314238c25da68b3998e4a87673b92814fe2a3742a57371a87c711e8591b6aa532d02c5a191fcfcd86e64fcf738575abdd73a85dd88ebd6d997b0feaf970de24abb05f53299316b77c7dc62790e816b77b892482381f54965449aeb2b049323069b9202f3351fdfd72af151aa41e77f5cba4bd1839cbb0425a41ae76b7cd8781c36580bcda6e7c6091691fa9b6b6c5c3266b4e54a063806cccb46d52cfeb0c5b2af58cf55941258f06ad908e9b61aa9dff88faf4548bd43d9d9e1dc3e1565d3dc295bcdf909cc5fa675a83a1240baa63564a65f4e57a34c5b94b30ec0f5452eada42489f3a0f5f499cfebd1843ed541fc4e94698e38c29afea3998a67f16d90d70690e1050b32214f3c640970e3ef2cb3d6658508731ebc889a1aa7be8181ae4999730b8842ff41445e891025a5a40a33ceb1c8b5e3503eb6de7420dfaee363c70298f5042cbef75c7b0bf79a6c0aef7afcca1f0fd0750aaa38e9c131bb73918546466f0b94644501f2d8efeed72a34a7905b1b6debc59c3ac261b0e765975ae8518dd1abd3b1cc49526d35430d66f75e78f6302dc6e10deb78c1a3f6cc9f9b7f083457b9f15194ec8b9018a6d2e23d0c8e6b3c793f5dbf8d91cb82d4ece0c1859e36d5b207f72bddbe406a567a233f8950aad5cf86f7d4e010c5e4080e5a60f098329252bd54622787446ce7b4fb371e5a78cb3272d0f8c1658f6c8702a584ce6a81d0195127abe08d195fea83d673151258d6ff4c7ca12a72d2014fccbbbb8b7d797a1e1ddaa7a7dfe1f4e53cf9bd8661ba1c77b6b75e252776000c7f5f5d5840f3f108236d502294c648b13c90c0efda45264e2ce8cc2a506df942b87117c9ee0f66d15286a416d6a926eee25c199aa65b011234ef06e4ba5d62b37a4537c03425e78db57ad5297d1c4db27a4b7eefac8a897b3db6f07713452b8e8686f381b6305c83b59cf564725d94e3da529044ac1baef6ab4b975589542ec7a5d7c4f0fef6ef241ec693a836c29fb4a6c6a5054af44050ec8e1292a936bade7ed67d576665ae1a81d964436caabf9264f7c0d778184de1427122cf5828a0f4538947b9d4f2e8840d9eaffb1f3e75eb4fed97bf5dc95cdb0d25f7c7129953a154eacf815f7ea630e55bc453b4270e95969cf7ad1ea8f294ec12d75ae6709b3b537932ed1ce6129b0009cc51b36482e226ab6946653f1bb7923dca831f2782c0bed575ab673d2c60e525fccc04087a2f87159ca4b6c4cf2c59240b34a2a6e3b06420256a1932c702e49776bc36d6f80a104e3b4216f8435e96f54643b5d969ee28479e95585a52e9ac16e1cd5422f4a083280179be443f19826ac9b34ec4c55af95f8ca2f280c2664fe19f6a8b8d447fe33af63699b7cab9642ed2f8ea7fa69d848db836ce8e8afe2675f5493d7c1a63373e47913cca2770c71083786c29cfc917fbbcf55f2676c31d230696edb14b6fa2c43a022b841f726de76f510ee48c414495bddabef59cfc23e5e5e68723fe409251aae1c5975517b8ed9daab5bc1c7437cab250e1ffc5026aa5d80d6f9139b6c975424c22c81dcd1c423a1b10c97ba2076a8a300594b189fd9565c780dac4f135c80ed821b969a4d3a036dcfa8313f042db6ded65ca204cd6273a279058092a43c6b911ecdece0abfa0f86822a53c3b9279b35f90c470a0d1073d550a749b841cb5b02018fcb3794bf484aec4f348200974623cec96be5c26b70f4ac283d4d07f74440f39831752fa935437703bf28c8d61a1419c5e32a9cbb72429813b04164ba4b5133b54d741a956c993380601d3f8b9d902b9b5f8c6d7fe47512da673d06ee0b232fc940f295d2c470fdd0b5abab2dd54362c8a51d724107aa5f7c3a7947fc25c1b2d52f6f8280883bfaecc409d38553434bc0525a1b37918f4a1d544ca305c95408d575d95b69895405ecc48d09b5143baf4b6793f026425289bbf6fe8e951b46d4b292efd0960c8187d2ca6114dbefd7bd0174dc806e3596048afd44e71fdef2fb4225826a28a9493df2b4ea73d64e2f25bfa86a273de736623916d603c2ddaa4ef414679adb3627b91dd45644d1ee2629ea26043efdc7f51bc4b8af8ac26fd8bca631cfb805a1fd191b7a97efab4e122e3854dcfe33426e4a81d6a59f13d442ff1618d362ccecc8c6ebc6502e1473516d398d0626e5a2de30c3813ce49d7ff0dfabf16c0f690deb52918d18f0d20e361aafc887b6cbd19742e1cabc262d057e1ddc97c939d3da40b53a133ceba77b502c737be010926a57d4aad80ce28190dfa5f3deff294bf1596e65f784edcd559fbca3cbb004403396df99dd1b1c673b1256d3fd0e30fc4c7da6ab4c5a00b78f5f655881df569276874cc26739bd30e49003f6338b3813381175f105e80a3aac27eab85e7e479185a61241535ea2e19da8cf59dc99132ec8745c263e1eb50ec1ec0956d0796a6005ef7dd64dc50ade65bcd0c2a3ececf6e2c7d6764a81d28150fb6a56c828742155618dabead9aaf8029458b98460634b0fc4549a44a7ae726936348704db0e6821195855647aa975c0b48bdb46d4793044775d56bb81e53ad0afa7d2dbcac9d0f3ebcedda844eaecd9777e3631fe58cc23062575e9c600cebc310aca7d3b0ccc3a3b8ac183b3f89b613e1ac4e084b54a0665a689af9549d61f7c1228f8ff74f40b5105b0e9c7d958c80d57b16cfd045a4886079ef260d3564c8031ae9d3fec8a3ad59a912589ac029cef841fa9b0ddfe1c96360793e2b8daf077f5a1ba2b12c82a36ef9f6fd32f642ce57a0a5eacac45c4a18e7f18cb4c7a45750f0f55731a4a8303fd140b9f5f883f63acb1189115ae0be10b657bfe2c07ad761919b5cbd2f80cb5f1fd4e4d9c9f66c416752d8cc4a70b4d736693f9dc60600d3450c4f410f80ace77f04f4196153f6f21b420135c5a9bb46ee7396b183c8a6feb0206bb8edb9ffdbe4fc62f05a3a216de5ca079a652ec37e5cee094880481ea9436570037a296461d6aa1a34fd9d1c88943f364d7da8c5f9ae7960c26104ed9d059549a9117cc2125a995a26a3314f418297600c222e306e5a86a3733d616e17626cbd10ee8f2b607fe17585964a01ce5440ece5418cf9fda9c1ed132df03b97028cd93cac31170c7847152218850dc56c8c496b9f4bb8e8ca43b81a5d19ee11a77211d128c1e57533b25310a04aff60c60072b65e30f6a17adc2c336420c6facda7f8eb9f6fbcf2c560cb8982d97baf454d11f33e7971b2dcef12aa84d7d383384c89ed4073079226ff87685794a31789b6cc0289b5e83ac3115dcb29695448ef09ceb649521923f305499bcfbed0a06ee670472f37a815c0a976a4d0ca9ee497a5da1c03295f5599bcb569ac8a29b43c8e6275c7373a709d3cfe87991cbc5d4dd1c5a01571c3a2dc2cfb9fef61825647343216636007c3a7c531d803e815a88b465f53c426f77cf2bcffcc8c61ff37702b2c21c8c7edafa5c406f46569de2a4151f32ba6b9a687362c5eb51310965103d7737f0c2d2e10d734fcf27af4eaa9cfaf52d25d20efdf1e9153dad9a884a65b8947c092ad6118ee4dc320bc9f9c2808941ea520fe7ff69faec1d2635494d4da1d31aa803c11ef51901d11d5119cd118dc3d73ed1c3106f3ab367a8879678e57d68c7b883df8f2c652ccbd93efed6ea073503aa893906d5142bf1566f4f4b7eb134faad5cdb7ee9e54e0c9b1178db0cba63a0a4546f2c38af6aa51f6823ea7ec9e4f4916e040745a85ba87f7a87058ccd953394d318e1116b861d6589afb476ac5f975505246aba0fb91953a3b63fa52f17a2cef13f7afffb50fa5f4a0dc4747635d84f5fbec53181df75828685da310d7414c79adf413c14874ab0cd379fe6a8b58e4f9759bbcc733fe23f790f5334451ebe4ef8f6eed33ac77355290120db5fec0cfa1dbde4897580434d7416d0550fe5b2589732ac360af221bfca5b8fadd388a5241b8587e0721a2bcb59b7c0345eb75594186d028ccbfd37b1e13f2772ea7318d8679e18b7dc1929ddd89f54afa2ddf1c1c89af9734df7616261b8b2fefdaa712bc5c8e1a902a912730534e67b7492633bd3854c3fc779ad9b5e70bfb27a7dea323a7e97370d4c407c5bd1fe51ea73d45b490799b97e6f1bd9057cf8754ae97e95a851dd65d15c1e4cc151774eb946f1863a32c110e324197113e5eec58a12bc0a6420d70fb761f2104abb71bcdedc40d69bcac16f2fa4c29ea3d97693495464ea02a7033742468484a5e8cc9eedca288d74a407b4270dd2ee8c03b7fd718c20a10641de280ad52bbaec4b1efccd1413345408e3321404fb69a966983269439fa0b837c50f954cd92839c1bb7c91f0576a74afa6a41eb1f370df053af012d6a4f86261e84feea12efddf38bf31859136eed63b0b2004b3542be029945e02ad84d03ef42b3cd51fc7ba77c135347022110791c33ac2f60a87d063e8c01db959742c8cf1fb36a0036653f0c2585ae06919d686d3c45d0cffa4f48940969d3c44ddda27770307855ff72292fb6093f70c62a8dbc9f34e27806e6111b743666db35eaff64d6b6eed27807ff82c3c7b6935d1a513d7e20be1473fd2b67abb6fcc117eb15aa7fbd8272fa91f409e86e611fd80cebe802ff56bf8f70a307a165662148f5b097405662470065f5b1cf250f7abf1935072e757c1a552541f106a84e317b1971e64a2dcd29213229a15368dfb66c26a7927260f6d0a8909a009632b1c5f6051a9cb3ba03b9b12eae6df46ee7f38b750652caad7954cb117ece3ad31b3daf4ff099c84d57ab6da7a9b46e5ac8a9153febc38da5e0ee9e2af9a293484a836a584a10d00e07bf445147adfa851c3b7f7b71235cc88ae6f42ed080e16963fa973c49e328629909b4499a815fa9ccf559fc755456f194cb1603c2854d3f2efe433a6d82c25ab59878439b41edd10ebaeb5162fb02a207d58fd75846c8f3c24c886bcb59aa9046b742152b452be9e749d5ad14f7ae2b6acb548d4e1d3899cca0e35f7a9935e9d3047e775e9a9e965fa9378122b7e55b8968f1b0c7d235e00122a9322a3323fee20136a69015ad8d4bd92ed7737ec8f52546e31659d19b58411042fd11f51815d82d2c1a024f632f04377eeb9a8cbe55e39300166d9bb1bb853210b823026c88647bd0af8e4fd8a397f71f609994b97976efc565451d2ea92550ea0fcb3d36bc19c214481b5f7bfae0d889e8770348eb7fd10dae560466327c5a2765a7b8cb442afbaf73340d66639fafea9dfde3b45694a2d3e5944fbe1c48f24f5861f01fd97efd791761f3a92c231644f0b162b4932e7c8a0f7060e825c2ae3bf8c05cee0f9b70989ccc40f379899b610e15a09da1f3ff12259b0bccc9f2cb4b4d741e48a6675e8c505ec2618d4f59f67d50fccf4551edbaf3c577c67d51f6e9bc563824b41540dab70ba8effee3fb262693ca6891861c862a89aeb752c07974ca2cb038cee32cffa4f0fb864b495a1b89ab7fc3b7f5f90f23e82c784426a5da339a8b3207941418ceb422113e1d6a3b3c38e39ccdd4321a05ed28b4249b28caaa7dd5755b3ab72f7a0a6d90bf60eebd12e7fbcc96fdf0192d44cc473804dacf0742ed3333f32f265cafa76caac9115664a58077be0a78bf08a809fd3d76a325f425a01d4a983d578567fdc8093a0b2176a88a5f0360720b6afc860e538625a271b3aca1e0889dcf005398a608b10a81e39f33f37c859684873456cd09d455bc5b8d63fa93ea7cef3915f1d16fa327e5ee3917275451a6f929b9d4ef4d73e4e9463634083561b40b9a454f43ee2b17ef5e5857b8b9776c684313a4c08a5ad04677062e7129e7ce792efbd9e410d8a6fd2b5d6d57f80b5e0305e7cd51b0625bd3b7d0f507b4cbb199d80f27961f6c40689caa0518c0d320d4e3fa70b3502d77b9a648ba869568c90ed96cca52ea0d429807cd341ad5d0b289d8286a013b675793585f35f8dd5fdcb773fd6c6f06d96535890ca482748698bc1a79c2f59a64d9caa8ba27d87797cc9c767ef93d317f422f27ba24a1fbbfbc0442cd665793b3786a6554cb96fcca5143e23f35a69290734d92c44cc86ec0c5e77926aa1d8ac0231e3df7aeb91408a772f330e7d965a013b26a62fe3e4bc58bdb87a3c0ad62248734203a7c1259ba56ec1d54a12382bb8d8beba567df6197d3e31dc9ef0722f1766db2d7c91f840aa548662cc17942f228b06d745ceb6a7be64c1c495322abf760f52f02af6f4b429eb9daea75ce6cd5b5c591eda19c8fdd0f4f1d9b8c7ced4557dae61d5131c0b67bd620201bf692e3d9f172cdd823efe2846f0b316db1088c03048fbdf742fc60ba0e305eaec118accf3ed2239c93ab14dd985fc32f6cd4cbdc6afddb5b3c1e6460788bb813702601e1432d727a84f421a2b4d6820021728bf4e2c276b9819e1bfa32ab8f1960233ad6060f38a53a3a772bd2213fdf68b8b4a4a58e724bf4a9c689a4fba6f51b8685b8b02c9f65e3c78cf138552c787eee02e2ae27e789d7c0145a7bdf8cdfb9318bd16a8ce2537c20d3a3f9e6813b2536512ca89933b38a844d03c4e9c93df9b95d8e17ffdedfd51ea49b6a0bab7767296587648a9306bbeedc135a210af53aa71f3c20ffb8b5f46f364802e9976326ab4ee4bc929ee8443de1d1731cc343b1ee1c6a6c5864293fd0aad3f76c431180225ee76aa5c19531bb61c979376b23bbad28c15ed0b2ad48b4d9ae5a625795fc2d225e05ef99fdb87d16f0be0f801ca026ead43dceca4ff3a8db497c7c8b560a1522480d3cd0962af8f7f0513e03a92a0a56953e1b6046f493a12c5cb175305af875863586426f6f9c5a0f17f205b927df28dfa0cd3ee98cabe14a83653d77a6013cafc8b557f1afe826bfea73709b40c9a02fc5acb5d22dc5f71870888f068725d10d2586ea52b6d679c47d1fcac44cb40a3c644d15cda5c4bba83e7ab45a7685de1466dddc0c7127ec528e83da9368031cbc6f9d73ac3c6ff27476210edc1788157f978227fcfad8abe8f8c89d45ca9b81d5418e31f115c52e91fe828f252d3e2b1a9f946cb63a5cf33c48a7d2e4bff9109f65e9de92d1598588a545a1556adc2036acfb2ab116e945ecb8d327bcac4f2bcf3153050651b5ef9d942a616186cbe7ca1baee48aaa32efbe3a781cc4b0c1be3a30c7b4576ec2a84150e8b603b93c3a4e569ea8c9382e9c8188f2a3ed958d6e81ac695156fa6b229d66619a7efe57297ff3d464ae72034dbcbdeeba74a26b3badb89250ff61291e961de4843e7cb74f7a2a5acdb2bfcfc7dea4e350e412cc44b1be18e21ee31f05d4204cf6494789c7244e3fd958276207df1957bb08b8f2296d6471fa7c21a7933c30b246b3f6b249261eefeecf7b62306a0a66fb6cd291d6fd7f288a45a5646fa80072b883a7a04611593f1a8aea9098dac13a78c9dd5ff69adc10969578f775da2809e958861deaf46372a2b7623549c19b3fc2be6527a19dba721d26921e98638da2f8cf3a1f11d1b7a75495b73b65ec3228cd3a8626d7a46c5faf6198ce8f86c5b8fc2eb204609f00ad2c08df53bffafe6444c95d896ff52a7666286ed57d746cafdce5c11e6ebe88b18a35d796dd31dbab9c6ca7ded71d38abf2e5df3a875d14cb961a3ffd491686dca293aeca6128c61b3da09c35ec0c722f6f0793d17a30da4213e0eab5ae7d9ded1568647eabc7ee992cb51b5792a910705f60c87f485cfdfb955966ca663f8655c4724cff3cbf4cb359a415cb3fc1488f0f5095b5d4da593ef2f2b752d33a6823d8a98c9541c7e3bc931f4fc42ea16c3befd683f11b7b645ab44bbe65cb26a02ff7b9a0fdba8a5d795c9101e1f288c2dcd3cacf0d2bf8824ae06b1db5b116db154da2a597e0c763963b4b408b8cc638ccc8efb0266d6cf9a4871fabbc56c1c1b7f804f407703fe4dc35a9277f73b6e5e96befac82ce805fa0f22c35bf5f3f9af3b676285fae8befa3a02e8551340283e5ce376af92388bf22c21053b0af9969379a7496214e29ffbda1a18f25d6549998c6aabc5a96069d22a49753bbdfa26322a3d134964f5cc77a9a22ac22ca438037e629bcb342554fb5ed9d17ed3bbf205d55be9b860a13e16ac8d8f51c01b7614ad0878f8b5458eac1f222861aab4ffcf34d72e959bbe3f1f32fafbaf6e1ba91f00977a708ff5d0f9be35cde4ba21a1068c5289313c289de512218a37bc230c452803d46bd80a195aa7efa05fe29a2bfbe984dcf3039532f9e7c7b7d3a83a2c22f2ac460117b11a4696756f93f29f4348ece51a6238e242f8e78e2e6f03d5871d27dd2458df2dbb47c562be17a9750ad7c2248c87401e196c8c04955237c6e94ae6f186e101da62948580cb79b988632fc04c4738b0386f851fa7ad741cb01e5d42576128d337a932894d1c8a211357fc1ccc2c4aaa1b461148862e0bff472d039c86142b8a6e4e76d61e46ba4d09ee86c9dcca92bf1b1cf20568313a0130839bd4411e4f33ce3f008a08f7fc4625a7a9cac157fd4e2ccc45939c597ff9d7fea2d3e58a2e6f4f6049e1db2cffa2062ffa03803e0f58ceffd75c8d99527984ee0f36520cb90e6ab0a11e36d4ce601777b4d10557420a21cfa79bcbb47fc3dd0928f7ccfbbaec7ce5f1a4c744ebe2374226470bf646f8a0ab654bb40d501b3fdb6bed44b30925b0dc0d8bbced9af3da4244278da8b8b54c4f46c54158a19ba915c3f5b118693ef69f3cac8f5c104af7fffa394b9fcff0127cc15f448696d1e33fa642846b83046fcfc54c4ad317c4084b7e266d9dfe3d39ae75477b88f7e086e9ca3a74ac76c05bad27533beea75b25cd73d3756fef109bc41e8047693b159058f3b4adbebee3576e2a537cf4565443ac91acd9cadb64cb1935b8f2b1e9c0c1194698a95f49134bd4a4477a2cd7ccb25093907e8a986b72abb388122fb2c4f9e00f3756fc3b80966d3fe468e265927f3b013cbe8573eef7fd64a9cb577767c2fafd569b4e99eff27045487184a486c0f634ed0fcaf928581fac41e91e8f8f27102975faaa8f7b6e153ff88182bc53e5107a59edcc3662776db222e43e574d2975b0e0ef46930c6c6624510ec00a9abe7af0c5752c4383c65461de06bb38bedc2326ecc2d7d8990c75f80a111e7a56f9e583f615280cd029707f7150e05b942e28ff5cdc7e31fac97cfb256af9bc4fc36d4230fcf8cecc8a7a899b648925492a10715f7b4ce59445be1959183093c7fcb85473774bd8d427334822f47117348df8e9ed64b1352c90f4c999630a46d831f31c94072feecc584480581e55662069c3d8e4c2b6852040f719c987359ccfabbdbcde6d49453d7792f12ac1dfac8c8181dda56fdb0ff4a19d7114a333e4c939cc15e1cbb61edc6fee86b8176a6429064d7df84020d2fddfe8742e7fc0b42eb1ac0ab5f7d139cf7ce3cf4eb7832e7b1bc7b4d45b2425e6f29f92a73f9a35b51ca8190a8e8e3f65e14dec60e4ee1b6cfad247a9d4cb52ffa0e693a35bddb437d1ca92863d3838069261112c505bbbe8140434c93299d9c332cd2fdf1f8063ffcc40a84c795caec3421d02cd957995a760eff2ed31d47c823063cf776ae904010715c41d3dbafda7a9b0dbf6642b8a152c172036a37655bffb3b01a693282b6d352e8dd3ebf65ba8af7f53149c4d7c8a0afd8ea89ee9169e1161802afc4b5ce0278846c29f8d4d44cf3db6acd0ec7c3e5e939083bd2b2b1f74c7a9d15cbec6f35cc9efa1d0777a1fce2dee19d22fc79bd359ffc1484c57558ac89842a9b98c442e0f9a65303f5cf31ee88fbaa88177f995956c8351acfda6287996056015ab7ae40a9c126721bc4f19c55776ea8a53da7edcec84ff12a54ab146789c90c79999dfe95bdc1001534f7454cb034cd58cd6942721a38a7f173571ebf58bc615af03768933a5dc91d36d1346e1ea0251c7fc4fa8f3d9c27be8990c2a07f6e1fda1205d6330a66cf94ff386965733e8b070da856f1d6a1116025ead44ae3fbd58cac8332e84f8ffae9a19407cfe57072d1ab82211139337fd8912da1863b26d0c804e8e1d39626afbb137bcb3b86d1aa8cd518084cad7e37495eada92754f1ea407eb8f07d05d26e79a8c8cd47e60e193053a444cae76cc59a9389ffff00fc38752bf623a75ef6a8f26e275cd33740f020b173e69e7950defd147ea661737601c970426f17e793b8b536f011bcdafdc291a50b5f24360d40d980b003fc3f7c675a1ad0cbe3dae46f8359bdabb75fcd8630d0f4dcb3a1bc689345a6a1a88fbd2fcdd2a36427650755c9679f698e06e08e2ba935e4961e16dab58f779750d79c82ecaa096bf2c2d5599dea2164885d246c6c489a2befd183a2f8df7e015800e9b3933c94669ff0b442c621a15cb9351e2224c671f6864a7fff3d9d1347351b2b1b4856415bd4109f896e04134c5b0fb01cb2fa3e7f69b1672cc3c7e97036dca1a7ad1794032e8e8e9e9a9dd44cefc99923a084c30fca906daf4c2441488f1b55996031df7d367789a10c240efc2c6ecc1bc2204807132b577bf38c724cbbfc33c7d8e56ef67df34e8d72bd35d487062ee869995d258806bf01df22090bf362c43f6813c3b29d4fab299997d46a5d597fbb5f6ce9e1bf1bf3d130ad06254702d9898078bfe2674b07360064e8aabc7e4b954895a77c64f3c1bf4b55c0d3e33c17ed8cbebf7eba2ee1f468e77c14344b79c2e950eb8f5dd0e72b4558d3f678f83e78564393d0edff473168664f2c8574060148c3af4c502f876a1b28d9e49f662c3379de535011e55f36633deb0b1b201f263b9a44fd313277cb585474b1f736d2dd3966bc388ca74c5616a56d4c5d8d0831871cf476a82213d2c4adc7cc8bec428e8af1668c6a6d8e4489f1e015923dade970b419f9c31e3aff07f529d72b0aa833446339438a2c286c8943f33c6e6a6c761fe30b43629d8e8c761e53948945b99e4cd589c5c0d31a12a77001534829ead00df94846dfc06a59c3b21ec70ab87f5b38ddfb42e5a68b055dec56a6e981ce7a79c5c1290b1718cd14fa25b08a1c88cdf7e0f58626be0ad83e37c5f67813dbfd8522adfec07a3ac9d140c4769bacf1c5672bee0af6d9a91da33605d561797198b91b0231132043a52f57535ec07bc522d8f49db220b9b376d5ca1812b796684340e93c89f5d02f32258b985d8bc371b2c641e4889301dbfa56d51df97db6d9906dd301a4ecded4fa3d66c8e3f0eb63368fc132e209b5fdabe94ccaf48f9f8ee96b605d1d99f014a8dba28ee02c2136f0942647f82b137276054554d1320fc52db6da4ad8549206b5857a070d949faece617babfd253cf67af10795bbacfa8dbb5937cc7375aaabbe12cd047a0a50be14fe18d8b7a653015a3b9b80a9aab467131229bec95936bc995048df3d7e8c13287682592febe543822b857e94636877bf71f58ec3c96b7887bc91bf06d38caef3640c4320d6aad7ccdd7305b68c590d830dee6a6a7e2811bf94b391eafc4a0c10c642924a5436956639ffefdfadbcf0da771dac63d7a94c60b812db78c69793d2a7edae8335aed345726cacb44677ad3c66da0b17214350c8a9b58b8061d770eff5ad978cafdef290b217b9b7b9f2d813f902466bc728f1ae924551d5b4fdf30a35274c88461d94cd2d62df15c9e15e194182562718e3716e0dd39094ea1287b60595b6603ed012373c142aae8e909f4aead9bd82fe7d5f8a44ea44d346ab5051a1d4fa1cc1b43d5d96935c9032f48e1ae1d6f6b89db7ca238fbb0160aaf5ed3973d778d6be80c74ddcc9bbc0e290102390c147183c74eec42602bc05773250736c7560794bcb06d1ce41bec25a48ed794f7c63ba1977c754d6ba8dc954045aa1dbeb9f9c84bb544015ab3cf5f33efd20289dd91ff0de42935321b4e0382b5b14a86d04c0f89b9a79caba605a2c970851c025fa528fcad378391ca3405ff5c5f27691e600a583a35d066fb3144da581124e53cdd50c37e07929e0ef3a97b1327a78ace7bcf260eb301909f7521bd00ed6b89639a8be17032a6bf6d5b6006afc2769e3f0f33b929dd84b96f71f582a6a1dae0382ff7ac7d02c4c1620f669238ea030dfc2b65325dd44999a8ec36e2461bef1d585f045933bea0b64600f29906bf061763a0930ee5699188c4d4d2d4b6865a59f9915a734907b16a3e13279420ae9a50b98bc897e7453c0b0c582bf586ff8f3b902ded5c7bc8b948e24429450423007b345ebf7c417ec4143d8a70f51b98210791de149c3f3eb314e2f53a63148b28b63cf031545218f52c409cde184bdd6b37676371fbd72b0d77c9e419892a330672fdf2f1a2623fce5550d680a08e58292f0b389b319f5eadd3781d18b19c815b9a1c81a984d9e26198f1ef05ad7881a0d5f5115bdc5eadacd5b50bd9f749155217a56923b1398072388a27c026fd12459e8798e726cc799d5d348a115228b7b1f81fbfe285aec475ae5133056b99fe1975bd6d8c2024e75189b75e960d9b34eed77a03828b51a2d96628ddc48734d69838d3c9ae412440c38bb8d3f962b17249a753ff128de1fd52947e307e862e93f14a185ebae08aa84f1e5f99e2228adbac8b77dca6e3f7e0afa54347de6f6ebcf8dd349c0a65ee224aeb848cff03a6d4dc29863f7e4939709ff60156b2ca19d97332fcfb44786e0034bd1280a0b1da240ce2f85f4a5515193edad75d346401341544f5c0e00eb0c98763bbf40d1c9c73cf7e009d2c88141d9ced70d0eb6c6df19f12088ac8363aeb121209fa2537f4831a190ff5b62ab1a321689522915c21dbb223ce125c3a4d2031b541ac4ff37e1ff08184bca8af2badad13a052bd8e2a08ca8d3b520486a73adcbd33ffeccaa6b0857bb17a63e9fa8ae5eea5427d9148838bd0c8f6ab29b7718a6f91a47c90323502804c19f4fc17b1d12d3223b912fa834ea7dbb676f6620799ff78b488ff90e295480881d8a51e761d6e58754752b8daa4d12abe58f83a6e9a7f5b564518cfa24b6627af1574d17c7129fb3d2cb63fd761c3a56b9fb25f6d0d4200d73de881c0373a4d32faac18973bab33c75a56c21bfc31119ad74cd52435efe35de4acddeb1a0535af4c789cf8fd548a2da9a27b52a998c27c3064bd57cc6692e65f16d6ce6e317ad7d2353ed825fbbf049f342ee5ee8d893f005c8144b6cfe3644052c4c8b29efc5e712a35c250650068aa8e7074136c1306a8fff3e4636b8289036c448491082d7e3d03c8b9cf5a29578666d19950f337dcceee29751c0d9bd9fd0a576655fad698769864e3419f619684f5b9b4d1f49e75b2c6e2ac23c8ccdf8cc21eefd4dd321c49c59a3290addeec86542de75943a41c15766d976db60c130acdbb8713989ba43255a75e7bbc0fc21a74c203d9749ec9bb0ab9381d7ebb7ead12937291e5d4754c74e600106eee46438d0e66e9421d569e2902b38d6ea9cdf2799054bea5ff50b12ebef398f17f0f2febc79b3755ed0ad6da4feb0ba20763362e38684537d9fe9238adcda9089cede06df784387a8ef6f91d5e1e9c5c187f259260ddaa4530194e0251744e69f6d41a7f5e0b8956636148f9dc90855f2c5a7673b53286469d426ea919ca3cdf39a6c9dbde7d8a19eb54e7db6a0a70af7648613fb436f7628fe47b24990df8b0498a98c207426d818a2dcc617c37f4c5eda61606b216342e6636a36f0afcf5bd283a6ed3b04ef1e9d5fdf9caab6cc411b9adb8272619c6d8d77a91bf00965d5d64d625f0a9b50deba60b9d368a7e5d088e465fc6b52fe66c43d37cfa0471fa5601e453e0c6a50edf0fb2f6b04f225df856729ef395f228e2ec022ac156088c97e25a983dcb89bf2b7aa506d5835e1020f108d2b494442e6d1b84641c6a0e68ca7db82eeea5105385ff2069006e3465887eda84486a77520125601626dc738a223ed0791256fb12365aee78dd3acd7f3f50ea05a250cec5e30fb4803b1ee58078d6d5ecf983e9250fb66d71e7ff0af951dc5b60680e01023aa4ad09565f7522a5ade643b352396995c80ae634fb2eb272f09eef757512933de09c74132f98dcf84f14e84bd9d74b0af4f16b8eb9a8c8a33619fd9084b606adab1b57e22f6b743825a231c0c189ac57b0ea09ebbef44d61a29079ae5e573a16752463d8908c0e9732561465a1649041f9d6f37bfebeb1de062ad008e16d9002a32d42a02e31f489db6e6d0dfe5b24d28cfee7b55a056b8e61af1b3db691c63a30c931b958faa78bf88f64bbe00995fde15ff35fb55f96d661bd9cf4db00ab6167ce8463be06f9bb78619249c1534df22ac6496abadc9819066036ffb14e39c5ff89d2950d1a4f94cdef5fcd2b405ffcfefd103af81a625e91d4652b1c83a99db08d4a9c1b8edf5875d914e7c65335d1a6ca579d48f7b2cda91bd8f8975d90d3ff2341eae64e16ef3e35f3266026e962e7e372f933f1caff3c175a8c651626d8283ecdc87af704ed1a0b60ef094f1faca38fc1631c39b00e8ed2098e0571c431dcea61ce12c21c30a872ad5595111913ecfe2ada18981a1628e67be03a91e1915b2fd8c97635da9f5fad7866c4e26c72a7c4b6a211fbae0da28d8fd90e9405f3cec2ddaf88066c4858e0e1f244a23428ad970d5d5274c2ad6893c39e55e703132ba0eb2fd8d88071c685966c7b4bd3cced04c108100ce1ce70c4a018ee31d48c13cfddff95da67b2faaf8ebfd31c65aee36ef29c6a09a16e5ac61fdc64dd89a6a114cacc4df8eabac362f1ac58c2baad219bd3bd3940ab873dd6d74dac096371ab6a7b3658aff8dfda5051bd2a08e2debd1d8619bf74673ebb9eedd174976bc4e735c7b3aa7c5b3cd9092b5cf7af2e8a25c2be850f2b449dc3d45d8e30ac36f1f39313f0d3286de89248e4da53c6561607e62b1ebd7c14806af85e523d6dcd8e22ab4fbed2fb7d7123c4f6b97ddf2c1bc9c06f39a1cb0942c4b4ce5656fbd6d9f8335c68cb4328383d987079da9c3bfbaab73d5f6afd2563f0980a2100eb696f4a66999020151e44d316f2cae358714f59a6157ce7fa89a49f5e37cec005f090750c7d5fe807cd0b55e38251d98d76c42a7968087693130321aaebbd3f543705c7a43b008343362bd060b66ccd442d68edcbb18c2ec8586871ab866847c621f71f31036c407331cecaedbe6d362f35f7092c8cec0f2fda5345ef29121e7fd048a3931e14cc61909ab086ac52984aa615f2d5c0016a7098c8f46da20bcf49aa57ceaca1f80f07767c743f468e1f8606e5621dd4362ee58df2ec0eff8f1f38ce54c3577a5ccadd8021f23d2f4b3e4244e3f6d3f9f7b60d1f538b00c5c807dcd713171a8f3130602223b4b66c69302468938642e7bb72822581937522f841c0b01022f175ae4ba756f4e62bd758c29ea7bd2646761cdac8db2b60e14ca319273c7403bccfaf5459aa67d667a35bf52cf8df552bbe307b5d3bf0bea8e7306e61631fbcc9b54b35e5b0e8c5eafbb186a219b849f4459fa598110c6879761853ee22e73608d70e1acf6acc723a0841bad875f0129bdbcef048397e7e6b6eb238e9e6f08b52a63918350f5e8d580991c4773e0e142d19945b64d0f094ceaaff87bce247b9394d6fcaec5aadef997651bd8779b68d6cd59895262d06b24d476417bb1c613430ab52eba32387f1894cbb71d135cfabc21b3528d0f97b01519ff017c3813465a9e9bef6e354bcfd88dab2d2afb072455496850371e2c057e0b25aefbe4025c4651b9d35cc178a428d1ca30b0da5db0549293aafdfc6d4192fa2aedb0d0ec172d52548a772fe45c637aa732cb648d9c1afe7df2f16f2c2b8f3bcb9637064ae8ebb622f6d56d98a3c8d2e166af66a8c4f85baaaf3bca57f3959ea58ac855cafc143c460bb27d418a49ed031941b3397807a2f1c597a3297c9819cf7284457b74cac3814a578186596b712c5bb80bfe09f247d07b68c2e95f50eafa686529cfc78653482199444f48d5ecb270f637385241af6c45e255513fc001b239be661b1d86245921d3afe2563e3cac46fb21ce01d866a7a6fa07774651387def6535e66a9af31ac763d8b19cce4c38df647c786e4b47012872018aa18a149f6804bdd5765969e5d9ffa80c89d91b87ba9e97e60c4f9b3c9233d7e275ce512dfc446e95041a625f2f82c1356747050f72d2c5900e0d6863601879c0ce6cea32cad39ad560b2a6bc70e7100c019f65c8361b798e955b00cfddff4bcf3bc295e7aca47b8642daa51dca027d9d0c96847125039f08be1e976c47937a91d56712eeffe8c9465c626fe081f75072748f174b554067d630677ebabb2616719473a76a2156defe7fdbbf68b44191202b111ddeb614ecf8e3a492be5ae2139ead6bd4fe171449511360a523a0872104e284e278d621b949b5eb09ddd49afac7bc150f90b1cea9e985c6f9ae24da3dee46c4ca8a652b216af3566221e6cc260db86f1b034b0539f1c8d97e22b451cf3370ce862e9965f9e4c82abcb515687fba843f4e930a2afdc6b68c019d17cdcf8a089df672005118226a6afad0663e0ac2f1a74651d8f1c10965014ff649a6a449dd16923b75f796977858a3e081f0438adc9b8b9aa8b43e869bf04aafbb7c629071f2b59ae028fa4f9bd0f08f182195b57516a36e1aca49fa0ad03bc43f25c42e31899991045b6987dd32cd24310ae87baa4d54caa4ca1a52d8b5314af5c2cbb66e4315643d30521fc6c1aad86502fefee22f2c7bfc91b2905fbef8fd9974007fb7c2d2258ade6022c4db2cf2cd9cd690e0bc9c06eea0a5fedd148801387ac8f991f8319e915ed72f32ca00801f1e52dda2e7a851ae917b972a112a12405a7f0b48ad5533d5bcc77c7cd8dc0f9109b9e4a11f6e2741b24b89e7b3c469ad0166e1a84efc1e31640da89e7bc2f7b9a59ff11d17c973cb2f4673c9c5635a61f9b4c4aa416a7e8aa6cd40a668ebb29fce2bb0ced7e23f74ca7c8267ce7e14b0432b038e35f1460c093db18dffc147a1efeafc174d32e6706d3330ca817b879ac175775fc072fac60423c9b17f0ed525cde42c883e008a2b8ccbdb785dd22a6e5f847e438eb1878d4594e3451de41468bd12dc00098ea7ad741a4a6934e6fe9017d5656c446fd1a2a6ea9fbc454cb95905a5f11dc5f6bf1cbd5c33f5357cfd96792d2e926e6d504fc4f3c324fdaed47f54176b84338fb5e2e1df9900f11d77326df595907202542a7914b207a6fff45e70b06e2a46c8b6a068b372f9ac287956378056a85cfa48720e56c30d009f4bb8caddd9683fd2a2b1763ff10a8598e02ed95e3f71b6a2a05452281a99a5bfd28b3a94d49280d77c77511efa7c6196ace2b9b0c27ac75d1899c62de60eff064ed2619d52745335579e89be19e3ae7c707714d4d10aafd45df5ba1bd7861dbd23f9d244b6c740ca672e8cc05ac3faad3f3352420b093f35ce4803d7c8422cf8d6c64f122706a802f782a9bfdba079e24fd25fa67e7b3bbdc52369768985183c85d9c202a0360b7d76660339ad7c6e4fcb5a01bbcbf263e1f29ee8cc51dd8500659375aec4aa826507f511d0bc5f2e6e2e47369a5a4548087d49eac085d2234c55f76d718d151a03e93bf9a521ace59d967c76a234db3a2ea2ddefc6df5947ccca2565ea2b1064ea12f3991a2ecbf10fa385b39eec16368053831e504fe89c4ce7ffb4a39acd91d3e11ad187cca282eb8dd3799620a77f5193d364a3525019b67ce9a113fbbcdcb133ba69507e9c2410a2825a82e4ee8f822dea092aa83cb36449831a683e3a0b3660d3bff54be43488d8e5373758a31b7d22d0253801c38c236781eb89ff6d9771257a2d0f8628280c23deabdb133da734b672f2dff3dc00edd641aa12a7e16ac67049c827216133202f1c0e4b43d24f0c11fa4d5be994c63d6c5b863e9490ffe571dc925a39af58e68de009881467701594d091c1055f0c54924b451632da022c6d8678ab19803dde7424072b907d029fb5d7952bf6610e89abed6c3554ca4786b78894bbb8c7690c3caf922f8137b1a5bc26752076e85789eaf78c21ae84ba28cc4e2ad05e3fd05a802aa79ecebd4cd22554d4ea7f12d77adff447cb08d7baa37edcd33cb763d071bf2a98fac21d2a4545a7ac3930ad56108754cc88e7e229ea544a3444713fdb93987a69e0774d72aa5c2745e6524b1bbd4f28c48be1dd0081853561a2af9841373e2bcd1fd00f134e9b283a939f3bb9a6fd510f638f3f701f94d03cc34645cf03a7dcdc78791e2a7bc3dce05274eeb634dbe75cc03111391811dae01ddbb91d183539587bb132e030f09bb51ee219ec0f016770d30ef47bb58c9e6be95a6b0ac79d5b2f8bac40c0ec95f54d5a9e6e352bb21e341256ce13cab087d431093b2e12bccdcb5464aa0130785fefafe0459e1225f631d46a5526c6517fe2630d9e6d9dd21aa684bbdc7e487a13423aa9d1803ec9b93c81f82c0646a11ff63df77a692891481395deabca96b41f738bd486f7965f39b29b1ba66d78ded07378e0eac61344f3919b139affcabea9dbdc67f74ad2699910c0f419380ac1d313e893726d592ca955c663732722a6e7a5d2723a78862677686a7a1920c7b1bfd843105da142ec735dbb1018cd2e555bc1db735c426f079244ebbc92cc1450aec7c18b506b226693970580181fb3b52242841e0c6943261b212a18e50e15b2cda145be07f8547667b2e6c68ef464ec4b11d472f1d18bffe2b0c6da98c0dd193e2109bb4097badc99509e0a2c53645e5898719f391984cca438369a125d587b6af4d4ba5c04919efe46de98dccd161c6447b2efb974a241b3d94ab7208247e53f4bc6ef3695a0501246fe34e968bf97467b9c7acf740e33d54806ab694e56f9beb7fb2e8ffd96c8a608e0f9f174101a3aee81e3a5fc7df1b34ba21f980ab92a12e40999fdb768eb97cf5380214bccee829ff3d61415fb5584574d00de7ac9ffaa05029a0cf5264b3821d41375469c7bbd02c265a628983911753f750b734abce41cedb091e0e3f969b27c980b5f9caef12ad973293159eecbdd0ed56745bd63166105f3aba16c4b0c047f147125baa2e086b8d1a75b1b6f5ff658c383923cd5955a39b50814386d469d92aa08038869fef749390d2f088dffe088cad4e80484a32749c10a1183ee760061d98748987bd52cefba5bf459ac25be90079a6aeae77fe0dbb918f0ff0e33deaac74901c4535cdbb3c405f290d3f58231355365fed1f46378a07e228b55b7980c2dec2800532eb7617d8f0fdc16fc183905e02786b50d7c26c2375a5739b2c7fe81944c4b83484a2daed4159a5216267bb8233b2a1f1caba03aed0d38637aaacbdbf272f047d6318ca78a8c441616e397723958647246f46c6b328ef445c5e3eca89aacbccc804f42c0c16892f12b9fe629fe1a1090e181e8af7842654475acd962f7ab962e7c9fa766d122173af322fca92e0dcd14dcf77269522931cb323f75e368f4dcd108ad2ced1e1f917613ef958591697a9b04f4d493c3b18731d895490f13fc0cd26b11246b4d5249c0528e2e29481d9d0440645a1a1fd81204e4c46cd3ec8e9f29b6ffdc04cb2e5b5d7237aa9bf6ca1a85e908a69df0a34d2baca365bb7eae89ec4d57312058dafb2811f1f31a29166639926bba7a57b3297189573e2ad214a4c1325de676f1bd29ed300aaf7e365177f17bc78c94f8b11f240983e74ab6c20cee4202afeb923a0c5ac1552f80d58da9f32ab79440a69f3d3672be2e58ea74758503025cdabd79a64cc1c576eecab4420253499f66caef25fc18d90ac4e37f658fb8c03ad67b2c3ab55a0d0bacb0a9d98df5035a1f12682f8553d55de3de2525062daecd950556a80a20ef0f51559488dbacf19c6410884605d69c80c384600a3398b53146f7950d249ae21fe4f2aac01182bb42445af53791b70f09d63bcb3b156391530ab8ad0e9189e160cd9f34f7da78d164961efe7e2360c6fe8cc917e1a285d7a86c0ae9145ebd92be7b483a2e169feb56285d41261b1d051dfa2216e7c44776bd2eb6c7d4998dd71a919caf3ec0f8305a5113de838a4115f4b96f980d507429866f3681bfa8368605cecd84d3b85de0153a4fa8de469ceec54536c2da1a75565cb227ae7d8393a36c9b556d68832844b3d3498d51044165cee47cfb1a29270acb660edd6eca37db18004f5fe7ead6c3d1dd91baff9228a34af575078d347f461c6b9aaa8d4eee5e8efb79bb8b3434f596465d0686119d56d865ad00944a351ff5ca72342ad22373486a3a16aacac90426798109881d11a43263fbeae3f86eb4f7dca3e88e1b5825cf395e998ff0b890148b1989a317d786a492bc2cbeccc412b4f620c9516d2eba5e453337522bc54edc3fad6536c8846cb94556b520eceb8dca32734443dc94e6b833d9eec734380311445d74fcf7e40dbe522c99ad479125dc284ebf6b92595d5d669cf921eac4b58adf1726d980947f2f24f117256d6f183ef74d2f84638f3fd4169b1d11460801bfd34d0447acc94a222b54f3f1817fa5aba9eb02fea7cb39a2636274bf2a0b5c6eae54056c5243a7271417143f052c1e186e9bca12dc745c5bbce4ce6af84fb4cfec0f6aa9dda835e4c221c3859599303f4476ccee93c47a0abdad94c29aa40686cb55dbdbf9e25dd76a0cfe3b30d26be203049cc2155005cdd716e753cace69588d1613f0ac1b19890107fde9f84c36a13742c621e192c23a781faa453e54e9fd68be094c4209c9d77534e613f85b9015f69978fe696338d410f1a26b4a869cd5cbc30b101180b06e9a32eacb6e75bceb2f93a0106b892820ef5d219cb99d904fb9580922ce7d858b196fad9a07a3bb61c7c9889905f5788224c86cec33a8ba9e265fc27dfe377ad28b8aed4f85568f0a97b6ff36fadff2e6c032ac87d6880b69a411f362e1a7329f461ede9c8edfec2c719ff8ea9a3cd40805b5cf2a0a3c383cc07240fede89fc8562e17968400d832245a39ed96767c1ea6770379619480e1963e77dfea8ae73aa68883c40a3f5379d1f69583ad07158266d2d8a3de2461a39f1b50d3ebacdd2a1434e4dbf9f06240ad6b7fbbe76985da86795a2b4f4ae3690bbfe9b2c34dc6e8087b9afb4e07eba6ab9f6e5a76383251bcfb95ebdc17244d848ff0def4478bce3c66ff847a10bacaa72fe52d18584985be3c4ca9198e57279de3108ea3a5e39bc6ae3e0191b0d1cb12334d840e64ba61a8f3da0ed1ec2d60f041b932491a80281be72b36e96c97e4fdca8580b97df46160bfd9cd0561ae6c70326e29153ab43398b043aabf751253f5af0c0e992e29b4f657b655cd242e2c405b3e4dd2649b94574ab4a74190bb79776acdca5b0548628822cf0446c7cb325323240130a962e03d052da78cdf93e1409612ae17569989a8acdf6bd8a45c9f9e831c9404c89c223e95e9b2a8a0c0c29780deb9a3689d3c4f9eb17330bab627561244d459abe12bb5d55585c682789f8c3aa24392ffad96435559144b1ddf4ec49f6df9fb26645fd4e060b802f47acc10e1b0017fff497ca232c60a7e5794643b1088397c6701c11798358ad8258cae9b0779c351b67688c1dbaaf72a8171a5ee30f14d39dda71eb4fae8573c7873e6b5c384451702a85cfcfc40aacc8a990c8ca5421db6fadc7be53d50583307fac71e495298c18e4e40d2e744598138ba8782dfbd6d88cdc6b7c281e06b16f512410b4164f8087c2831f690226f2de18bfa56de95c39520914ba5608e245d8f22a7f387e3e63455a9c325ab37cf0c4808389d47029de6d798c40ebde63d9bd12b76fefb1fc49e54906c8dcc545a7e8bd8c3c5f0c802d0ffb992ddf6493129b5386b1cb66b06799b7982a973e6063e8d7e138e71fda1dd7b5c53556187aa16738809557419eb0ecf32cf909218762ab3180080cc5f2f20de5c2bbd81aea750d26fbb879bf3638392dcefb318a02b2762e579f51ab84c3f1fc13b7d0a5c51674b14802134d53c308b36fe7a82c9e9e180a6c15d3197d8f77fbe03ed979f32772a55acdb369393a5c06576ec87b7bb653be03b141f85d508e9417ac621e16c3cc02fc96e3ce0781fe5b057a1bd90646f82b8c234d19dde4473063746b4ef2a19121d1a2ec8150d0355922f8ec11065656c7e13beea53b43abb835703a13d0df1392056cb3dbe98687ec019bee8dfd70bbab95628a5cc45dda59ec82ba11f909db0811a374b3599fd7cd6c43d1c6ecace70410090ddf4061790cd88507c36670095e8104d1041d1c761f8f1c3eba8236c5ae2b40a34e70a6c5d25d0c73300929f42b8808fcda2d7aecbfc5b48a7346ec3f79fac40fb1e7f1d85f546d70630329231efea1ed318e2a030e05aace13986c44522fea60e55336eee1b764c529a7da0f9dd32fa90e7be3ef2bc6be6ea09f518cef57547209394888f0fb0ba40dfc3e2839c136174865722e285b194e6a31d47c067a5d547eedeb1880eed83abdeee3fd00eed21adbcb86b7641190b5e40673741132389e299d3ac6d2dd1bc64a40ded8f9542da31233cea70719f1a75bba6d0792870406f5f3fb0312f6a6b534c3bc5f67c40bb9d529a70afd118f476f39eadb5aed4e7c1ae781ea9094fda0676038d1a2933826953ff03fd078b19f2befbe87310e9a520b25ccddcc5bbaa951f5eca20c4b473e1cda6353212717678b77aae9116d73d1ad2e2db1155918f23e1fca1de275c0062ae501a47a3c78edfbbf928c3c554771945b30947c0cc74bbf9ad89376370239ef79ad0289dfd27a6dcc4f63f023599fd6c96d73ee002b7f7c6d49ca713aeae3e3b7e8cf1e22c6e4525f3d5ac396b130e19bbd118c82984f5fed9fe82880cf2c20918d02c9375fbd2d3e6252ffd8ff8c0dea621cfbe4166554802ac79c55ef150c9ccbb2c8e35ede376736fbfdb56c6a8faa77aec9cad7573b4987472e45ec79241fe5d8f48759b6efe77b9a5ca9d9522ae6bcbd7e77ff18f1f01f894f5b6e7609a54bad9758e621311d096f1f8b7673759684ce5b059ce6fc41c119ef0aac447589570d96561aab3ed79d6d70bff936353da6c548336795f8c021ffd84d0a0ef290b5a7b9faf49a2215a37afe0cd978c1ed532f88f6124f5dcc7c449e79c84e062a2d608d4af550f057e820f92cfd36dc6c954334cec750b969995aa2e306957d842747414d8a59834e62f21fd29aa119eedd0b7dce9b5411af46ef3fb7e3b186dfdf4c31afba9fd698a942d44b4c51faa5aa2d95d521a858711bf8da00da7db351aafe4b19b31513a16d853bb976cd787804517717794aad7c3a26375ba7af65269713a29903dcfdde8f33d417625cd92e5605ce8250e4d727715303e6f734662f17240f4c331450040dd2135ddb91710108a27e2f45fdc5b86e72de5892a5261cec3735ee7d22f123725dbe7f3a279abada961cfef8779bd3e777467a792670a6d2d3021cbcab958dcf907388ef49d67aac61eda89cad8eee7cc718e4d7b1f11e567436279fd8787b3070b20a6c50017e161a4736b16c1c06438c9de8d1fdd431ecdef06ce558a1ef3d42960917b540e57b65352bb24782dbee44c11e7011193dcbdc040fcfac68d8106a4b3f2b8e1c7304aa890322bf92a316138484cac7141986b8e338fd97430d14d4c04b1d44813a6acd1a75b0097e862095101f7ed9a91a11aa2e4627a6bce669a5e603021c726c628217a9383ce662be930ba7ed3da5e834d58b1d6344396595a0219a855a638b7751618cf0f58ce805e0370917c779fde8db10ab205c43721738fce7ca709c206b9b84f3728dd0441d0cc0085faebbe80e22be3f9c6afe1939c4f3f57dfc41e7fe8387c908d7da565a02b7a32f535cc96463e6674596a93232a16730190167f884ac5a3084b4c8eeb1b6f4307352ae878582490cf51113a7bfdd73d1e730a5c5675937e1ab86ab6ed1a8819b930d41431be99bd96b7a4c1e88daf228e1bccc9154574d101cc0df67ba713ee4959d8fcb501673f7ffe85c50deec5a45e21bc5d0fb4bbeb506561a066ac9427fd69a018d30eb0866fc1eca0e01373e3d4e3280f058f908e3d6fd1419c6eb55126a35ef79bfeedf92b46ff0012baabfb63db178c3f69dfd11d7e343c3e0cc1c0ad3bf5817d371779f1651355fbc55425e549ca0063a95b15031fd8d84f1da5a15ada58db746e16fa1864b6b274d43cef342a5549f73c418807ae1378b8f104f71ceb11c2e6a3ef2215f7ec0cf69c50ea297178f05779ea382770f27d770581f8842d634981ea1cb0505f6c49f0e56ff01b082456712835d0c3777b248dac28b5a7528324f29ffc619d9ac8b191e37f1735d45c0585118c1ffadc5cc97619513ce70b1775b79a3014369641454564508a51d1c5fc16610f17eb99c05cbdf517b68ce8a1f35c9f947ee5dd30a402f8c2f6834e329e9360f1f5df3f488d51a35e9d818fca1271edf318f3c562b24e8d4d0318f86fa76ec1140c7763573e9fb44ac05d22c706120a6a09b67d8a0297365689dad7154418738455600ecf5fc82d239d14104cd38244031159dcac1bd96e720ad3cefadafd206eba086af230b94e66bb7f38033612faed5348906acc2120a58ae56fcb699b626c09d4b308e2aaeff83527dbbff05737802d2d33b2082d6b9e7a9285c2aacb0ff7c16385e3d1d0a33a0dfd66ce9fc461a361ae534f807807efedde6959f347c4deab2f64b31d6563c70af8ae4518628e4300ef32b0c83fe2c2348758f192d5999308a5abf8e5b3af401edb2d01b71e3823c540eea551def2b9191f7dc166dfa498e6d08f19b25c1436f72357a7de89c60e825fe985850e515124d499b44d0d0ab45cd1cd400a4f503f2a37cafe817d109c41712d07d89b05e080aa16e89f9247ab353842008600a0e94cd062e780e8b59f4645659f621c1fbd07eb1ed9776b54eae41a09786e1198e49d717daca128196c129b985462fcfd9f196ccd9cf6f42a9e9b490379e552d02e761e0d8347919d1a9c8aee8c63bfa2878be55f44cb0d829b1fa52906a3d2d92a1fa7f70d15d9d9ce4e85abadb14556dd69a46798d3ebb9e1788b1878230ea6746f99f787669f288f4af17a582c20a167d9d2a2ff5e318b2db68c8163741d6a33cda592c44d1227beb7cc0f194e2028fd96776320c725fd88545430ea8ffd9deecdc854e2caded74274829622695db98aef114573b217584c2fb8b3096a0b90ad7e78352fbbbe7669a450f3a0f125ef3902e53b3df97ee97bbd3ef938fabda1ed6a80895eaa3ce3661676b355720a5377b478a95fcbd984c5094584906a6accfbdfea3dcf1df24d0603b02a1ec5df23aa10a30df23bee1e3bd38d4d361e635e590c26c2af3db7df1f2b8bf2c5485f641b738372e0ddb2171d0fa6115ffb06374d2409f0d3f848d2fe0b944d0c6eff815dedb4687805b9f49380bcf4e255fffd3dbce87890449499b021e6656542e301d02a08a169ce845a76a8274cac1e7af5d7aebf9c558eed3f1014d702fdbc3ef0a23ab6e0d8736272694ac0d4798e148610ce9adeeab86af06e06556cfa574cba4549c7dc67b95df6feb5933e51f1d596e9cf0cac2eac8206d2dd21d6ba72ea93d309b588c1e54f02c3d34b4580db442077fea6a29dd8e9f938098ede286a99bcff658f622fcce7a7acc455ec87cc4b94315bdee0468429a252d9435656472473bd3a02d67ee1756b97da4b1ed915fd608a18e9c41913b26b9484293a8e1aa9f9814b608221a2bba7a0150d460c01c8be656b514ca6c38e2778b02a4fbc660a6e0846a6444c8f987c3ed61fe9f2c7497089dd36e6c24eee38f0f2d7166f31e1026df4b7280de6b0ca0a5b0aa722addb634680b41ee4b0be23c746e123490fa8f79b70bb1b7324fc17735004444be3b4ae5600784edc3c74fc8105007c68e879107f594dc1165b10a6cd6e66b6269505332d131d6731a26505ae122f7de24e34bd74202fcc5222e692ceef3c76297891d69849fbc5a30196c97515bf81edd825821ff8a5b5df0c9177307370a0668c8574d6cbe0b76dc214507699c8d403d40ad7fcd9fb0f10196c62117f49fecfa782d7061369d9a6eef419221516437fc5b932ee49aa7e4032c4a13ef274996cb84c706fb2973152fa29bf2d071bfc9612feec766dc28d810f2a9ff012f1c9dc8cab66487d4d6019888018a7589f15bb9aa68d213c020ade196b25db4325e16f82f25e9a4f9ec0e5bfce0709da8c9941572bde7907bfe64045d95b7ec4c2abe47f63dba043abccf989fce97fff9ce59005c39a7b990bf5eb121ad8de3b35455c732ab4f17d4748d08b3bec1c99359455aee2e6fce376331a3d7af1af3bbcad56aceafb6bf6d15ad1d553148cae695feb8e55d43607e1ca002534fb1b68615d9727713ace39588c2d5a6944b96fb97d549340910d25278fc883068a84afdf96732ce2c3acbd092c38eb553d6cf275d820021bd4f5f7ec1e2ee99410f84a1b4299d23a3e3fe5359c4fe99189622d1d7a14d8eee0fb46e4244e83d51719c30dbab74ba35270096a2e81f0e70bb492043196d0fedacab131305ea243f1a7f518197a02a9580e267979852e67c14aa23768ae2c6aead8ea82721dc02788abcd89bfa4047446569453359b95f7bfdd6521b4c38321fdae8f39f249a9c80bf1b3168cebdc6174802da6d4e45ed39ba41bae5de44afb99a42911d0f980ac1ed1072834bab26f5ab15e8f7c930c2d36ac6d4dc450b42c8975ede58a15a4c60c0a6d7e80cef3d97939ae370afaf2409b5638d8fee1571f8d348b6e3873cd371b2abce5ad47386c7ddae927048789af6e012b0928faead64ea58eebd58f9b29e832ff7dd41ed32b8c16dbddc5b478655ed8ff6c7d5042a486dd4e65735ca13c856b8d5870132d6a69f0fab967b6c62a2efb59a9d214648d603d6fc6bdd4b0bed3e4c9580d4255ab1a1032de5edc1f5f91b7082ec4ccfb26d3b4798505a2ef0da87e4f762a1bb8e77733bde3bc65f183d40f1d1e9940a906e8d86d64e65b0c3fac68bb4541c6aca5a917eb15a5bd88ed8916a4503e8a05510b9a45a15dd5fde1543809710e3f11388eafafbac0dbfe86d01baa72bd6263480f1dd766bb66cc3e26f6d4899d05f5668cfdccc4a194d305a9a0daa26b6e694f10090d7d586cbffd93ef6e5852d66a61a10a676c463360ede723091ef2f5f5596d0496cf2badb0b2cf828c02fdb2ef5bce3cbd9703cfcd100eda42e109f4eadb97d9a231a48aba82f3f1507b4a18d2d3207818492c963a792c40c273000f465e61365def1254b51de53f760991b9421dca8a8e1f058649f6d283b43ec388f90b97e20ad2cdcd038948998650bb7769fa3c0d50ab97630fbbd06be49772d231eb905c8f5c493b442df899db136487f18e778f26adc50df9a43b60a94bce382099a1b00face9993e066125f85462146089170ffc2f382c20fdb59f13e05c71738ddc377c5b4c1b004ae6d08552c0a4ef7d63eabb101b214c3842d8b622893bc5fc8905005c190ad8ae290b3f9c43c2008fc1c9accee0149eaf1718ab2dcb37a6eafc5712a892b41c47a17983a640b540d72a8217a77a1af13552d4bba053cf06d32f12e9abdb534f182337da770aa22e55861c14e37ddaee97a1824d40b14103a9d97dbd47f269a0c67d687887e9be2b506f904390ff3a816bd567de23743cb0fc8d469812e6706c3a6bbe4b857359146650407e9df7688bbdc2b07a527d6c059c2bdf707bd0637454ab0468fbd16bbd71f5c1cba28d82d966f2696eed4f9e95869a4dca8ed310a127fa2428af87a440d2aea81e819ba7245202dfdee652a4354241493e5f6dce0b3784ecaa2f5b77294e9a16fc33fcd28d4068936ed0425b9d68bbd2abbbfea0f65249e9ea2eaf90a80a4597c5771b9ca870ea358975229d6dcd942327f7321cec384c80722a74c5db1d3d7c29bf4213941ebc6effee32f3bfa3997472fc2a0781a0e57b57f3e1eac2356f67ac44d736e43bb49eae4559bdb11337c9e446ca811c5190ca55a58dbbb4aff6b2050c07a9ac9b1bcbfcd6675ac720a8dee4cfe55c4b1e853dc0837512b0e86f4a7ac0de42b0ca91d0a9851bd8b42d4adbd2b6ada0b6e3fcc16f8c59cc5942becd10c32902f0944c41abebcbf9b29f4fec10a9af6510cf6ef3d0b0a14c6acb76a503b029e39f1f2b1f5b08fde6045a6ff4bdb52d64701e88e113def080e164a4da13137f0100598b93f5b2e2e1f4456cbe7a09c2810b9b1eb40dee024ac0ffa5c335ed6d4ad4d4fb9a4738ceccbf37a60e65a94f904b245cfdc18da5d93b4b0f098f73d47bd151ad22a6b73f2446b0098973e7162eceda4f1a256914ab70c58e2563ca8c709fff1bececd18fa45eb11fc7260928c814dfb894040c5424a8619b5bddd2591ec759e7993ef7ffcf9f640db4872f81b7a99e3e68842f7cfa72ec796947f26179dc3d1275bb2cd37755b66433311a92a9d1937bed699afa1268a0d8dbc5ffc8ca45867bd043ae177d0c0fb00c08a05aa6a3a0dc1bd569c891b179f9ea8c5ccb95baf8db407953387fddd0f0da2d4069eb82b893d196b9db6c3410ae343d82c30a01ffd2da799b77c7942be6a677ba7ee19a5a2b236034ee4b2fccb5a5ba24d9e6fd51b1e6cdaf92e55466e45029562ee38061e4696ee68c829091e0e4a645aa6d4212423f17fbf30c3d4b1fb76c4d6898d29bd8be065b7ca8728d92c6a5968209e757c6731ea7d2e207c4c7881fa7cd9e804463c4837af02d9b5123ca5773b7d2dfaa87c4e329c5120b8b0172a191d8db20091f066109579cf5e35bf6e575105c35fac26321d7a8c86a0b22b70dd2371a478b2a8942da23fabf35d90cf2cc39292a9d24ca7279b2e3759fa06be9d64686b151249cd3f74b86655bdce927e84e92ef64facb6b6ede6cc0ff45658add8398503093258b32f3a1e34211b864482963e263c9af5ea37d7faa7a6c2ae7964eac0cfabae44f75ba7f908f17df3a374f6834f78faf8edd77a976ab1999c0ad7a05f20d5734a921e65f8c3f99a609e9d68ff1ea34250bb8b958794bd19abd12b3b44cc75d4cf5164a013860c217f91005a19848556bde84246f07bf38e12d8ed89d3ce18d577d99b0330d675c5876f8bbd27fec8b73ff997469bb12d78ebe8205ace04389c6621d8c440be765c79a239b6ba8d540b56b3413667a7613407ced783b68c0f6a308daf2aa3b5b6f49b2348b97a9e4151c42b1a4651f552852c7b9b73462204690fbe7548f3cb4ce59007e005d734a571a4ea6afb11fc78f94c32e86f15c316e8bb53d2a5e2176b3c1dabb5f0c885edd03f5f60e5319fa266bac968a6df6d0fe454608d40213ef4a475f4db9ca5636b9abeec416d81f8577d187d0ff67c5c4ad1b8183b4f77181e8a7b5d7481540d853d53727131d856e052e7c3b21f321dceee6bf19af8cbbb0d6cfd72a36859e4505175f3f2455f76cb9e71d9c201a61e439b79a6ae0cf377dce4ec902aa170480ffd37f8318968a34f4d35a823310e355f8a5de351710be0402fcdee1ea1d02da62bcf9957c5ccc9bb342e691bb9185550216718c22534d20a132e11c929c199488ea36eb7990dcad2a2258d586b3ad2e38c26c342092f652bec22cf9af639ba3a93ec1f5bfd2ba1b7c2eae3ea668a020215207021964129e11b3b3abcc6fcec735f18c43740f24f680a9a6a8fd52cbe2004be90f2309d20b18a96fa36864059796a20532a575d02561668368bcd557b7c58daeefc636df2078afcbc0b65f15b650da83f91437134d7bd912c53aa2b64c5659320577c415a7bd4005c4a55ddb19c86a423c32862392e549fb97ce20ee87409d90098c7e320d0ab01a6dea391366d087648b7190fa24bf992cccafaf494bf78fce733c38904bae224c96e792a557177b94a30cb5f5348eab4f606bf2fca712aead9c96bffa4d9caa5b488d4c602060a971efa89d0b481b3c7efce0a346cc864ee21f8f14fc3fe9a4e97d4b013281a78093cd271506e075b76f69471bcbbaaa8c8d0c49030b1d3bab898fbd65f831c140711ad8e4a91fa9502b6d44585abf6a2841f18956280bf2d1acde422eb527d308aeab5d4ed737511133a8654634644474d702205ff883caaea8e003d245cafab0f26e223d4b5a0103327b6fcfa498fc94cd21207f75405808624142ca25fd93cb5841195bb438a72d32fdb83e23026f5b1b430b9ce1b05c47a822cf4fbc9a995551dc36798c2785f7fc18c4191d35e827d16165e77cd86c4d9790bd6519cc24a847195d54bbb3049dbd5f3af95c6861da771fc34d582a9c45caaa7a1f7f968d167ddc9b6453a96fc2636991c2e18f11802a5e69602c5df3536144494c4dfcbed97055dd184e1994c6b8b74e662f26e85a86e8edbfda94bb392653c71dad67b16fddc4e4ce7311f140a251265a4a4e21936c8a12418c29860650db422884e8dd6b662a4bd83f3bbdf840fd916eb5d1dde85338b1283cd87bad6875150c96298a113c69f8d3d86a59a9657d132a133b0105d92bd1682b1e2e9a678d7569e166cfd1634eb5f671edf57e4b3a7b7db49c578924884436f216f7b69714ed0e97641b03e747f00001f5f29bf4aa813a2384781cd45a037d693c0df9372e4fa7348c2aeeb55c02e84cb4968446d3e6962f8fa36802b0a964a1c550ac897295be453c92b5392981d39248e8ce100d44f39663009713073a53bd2b922786d43687ea9053b0bf8491b36982b8f53a6d4b8b0b4a741bd5d469398d587ed6d2445f864dd8fe8a4bf3b8df51978d0f5ad61a5d59f78c85fcb11ab0298984bcc2434cec7ce87441275d6f5e8cd293d301cd9e4cb8830617bfd3ee905924be63c93d2da2591d905d3ba59601e401e0540d29b68e1842db1a53526f22420fd5c989d06fa057c5cb6855d6c9816a37e25624a4f100e5c764db67ef581212f2ce3e0ba779ef4658ca24c5e7963abcb51b40a9fa7d7bfadd4aed845b6eac8be87705d53b23ee60721edb87b04b89712ab01e75c52611bf66dbeaef7fdc543f4532212cd4fda25ae641b76a3f6c39d0c5c64b8b7330358acb1eeb8e68d0ebee6c6de21ebd5af2e51dbea130025e497b1d5c48d0e647829e9e4a09d8b9c03896ec38e25f0dd09336ca59ac1a1bed34a2e6ff522c18c4b9048a7f9fa6d1889efa28bb207597d3e4c95512a33d2e2b087f4085335400cc85916687304b5b7f9dbefd8ebfbcb46a21c6d4964f98be364ebcab51b75e9192050ef3c4617f462354646cd097beeb1f9c6d6653f831293651502e48c810f6a23690b9ea282db8a36025f1fd5054ee4c38b3379fa993e4d40de204ff8c746ed4516241a05978a1c9bd8131d67b25bb0c5cce9fc1b62b1d1ab98c3549c02f4a2466df03e61fba43b5f79a39d2072884aba6dfeb52588b4f1c3174ee67d00019648c748930a96cb6315d757e5aa68ee81891abc29f13a37430d78f368ecd351bad447cebe8ff6ffaab99daaf3b999907ebf2d950ef3ca9889b31344b6ef0fe157961938425c920df39262351427aebe24881553e9af3f34fb19946a947939fec1c86dac8098f03df7dfda6f9c7128a937e0e979211e12a08786a9ee16d0b9a4cb01a8577e26aa8e816409e0a54ff36f7940c20e54f4604b77a5dce25cdfa334133dc18801c59526e3babe4939308a24c19916ed4b57f042fd1acdf84c523dba66f4a9c13d47cb1940fbb4d5772b4152a00fe6e2840f125aeeb82fb8fd84a8f46db4c1d1ceacaa31c9a141fd4a3ef48a43b8f36261ed9e7e10136eec346d530d87b85875f0e01792ca75c1af8c7c326e05948f68197cd1f950620e3437a6ae3bc06b0e65cd7b8b0ee62e3997531d334a028b4b80dc156e439f54150651fb779bad0125f5f696a684d7e1f8b9ef64981d830c6fa4f283be62559cd9d37af72265e5acda9cbbf4db1c45a9b2b005adc41fc7b4090418cf8827dcfc005c2427b1cf294cbac556404cc7ab92c8f8f294d85c08b9f0dbe89f218379e765b82c57bfc399126a524611a932ea50de93fa8a06e6d0216213da3916c00ea6592080ee5efffd5af1b7abeb1b7f4d0af7243aa3883f46245ee012a0b99ae745c8d6fde64b4e2c8430b691b51dbe344f1f1984e6d47271c7fbfa631f3e5317387b8a04bd66c980e92d115f7288f4d4aedc9634c10c4a3a000ab055daa74a6ccb9baf554e2a3881dbc25cac13a0f2403807c9307c5fe80dfb7a87a5ee04782b1ec16bfa2b9c41d24b7cea68cc511fcebe3e777c382d57a2c271c92f5765162dda9735449e1320a50f87732ba8be45b6b882d9a490c8007b5b3bb4e904293a78112562e2bbd6456bca89c784f87a9f4633f89fc1bfefda155120bff0affc135115f094464219d10d8b2c06e432f2ac6638dea02e4e7b061bc42c95fcf7e8825d9e309afbb2e3ed29467fa5e3b2c7b29de98d54c9f15f3a2113cfee25ef0348346cd0b17d4620169bf9f605225da1d80e890465e81b7220013f9e243fdbf59d340a9761c7c9c2049c86c8bc3d06c228cb49c4899d6a1e66be8971e454e885e14da54a99b97692ad6d8e697ae8d8bfe66c588379d91d1c4eae70e1b1cf9b357885beaa14788bea044d8afa1cad3904b09b499e01a2a33dd26e039d32c306d2c7783b2ba0b692d4401467463d81c19b0ae44e564a7651a9045e4f016fdedac71c5ea78a2bd1933a477ccf149ba2ef68bc9114516684a7a79b025339b229fbbba164ef999e9fb429bde6d74434f4cbb2903920ae4193c7e676666e0e6da51152d404586c9d1c1c7a164a95ce6926e4a6aaea96656556e32ae2dfb37762a0d7497738592b66f04bf3bb4d11a0474dd26bb78b7b8e686d70603a25eb5e30ad1f2b35d9dc389c35c1f13f23df035d533712a39ebf1ba6ad3fac3b45f6555bfc57ebe1d9bb67c039c99e70228867d9ed7753c2109b57ec4a40bcc49bffe592afc68abdbee86ed51b8109677887d7ba823777175e830438af3de20057d17bc72b1b4414a1f6087448c09540aa895e4e79fe82d906e0ec8cbc12bfe70d44b1535d10f7c2aedf21e4f99cb1a31165920e569acb384c847bc867c7cf64f1ca06827ced8b1826b768d51c7c3c51d55e32dcc86a1009e509f5b4b76408b7ab013d60ee70d4cea54fe79c8d43a4b9f6fdcc8a306276d0e20c1d1cf3a4db8289b8b1e0c5789c288400e99f8735e4c624537b8e2ea17f264f2b9781bdf849d154e2e374a52235858af889c683f2c7b17e368aa54130405a48d650830aac186987d2ae7e4b5f974ba354ea0d4b2ad2367f2bce5800a3ba114922c602ccec9bc3a95639b6499ed0db62c33d2be0a9c13c6d52b5c1f61d04d8b8c392d785e5929a736e8c170c1b89b2f2a143b2fd7f3717a6c5f50dd606eaacb5c05d6dff01b4218d1ad6a62f925aa883d35407ba82dd801b7d32137fc4202f4b40e6b8803bcbc39505fe7dcb74d80ae44997fc51caedf5847582159350e9bd8f2adb0818ba65032cbd12165c91c6ee03f965bf027182b6f04b9808368bcd313fc0678068663de37d09e7f27430996ad87520f24bf94f2955430cc6568e025a61f43600241bfe6a123434cf981247e9b6e082102e744056bc7fd6cc9dddae011115e26dbf8e4d47bae5f5ed1d1e5d7dab979a1814552f5daa9db6fa6df0fbf91bea951a7a0100867ae9e343b590661f6b0af9844d933b15907fb4a224fe9b6abb32f406bb7b54084876d93723b8295b523dda7c365359d25e12f40a5b1f32269771b796e367ff66f0a7c7bfec7163c80f0c7963977c3f0d63a7266eb28291c821586e26e1a1ce330cd36df9127c02f3be7a496efdec409654ce2fc55ac045f4e257f4a0af39028bb841ab60dfab0c613a78ac7a6d2ddedcb83130f1f3dca8ca70c17ba1888f9421dd808c667d21bf70565eb560da1cb1d541e4238fd4df7dd2e320aca3f3706ca8ed91213bef43ea11550718f436714224b8f6cdea989d7d9314ce2bb136bad2b0f345c7a1cb2394093c6e4bfcc1dfa1e19affa4502bb0769904b3c24b29061a0eadca44edc0e5f19c868420141c33435e4f0f00ff71021069616aae8b839397d272698e2f44c320f582e79e86193de7636e689ea90a03ed95b17265111b6bc9e5d1a6562da7a0b4bbf463b69a3860f8758373b10bd89a4773c7fb236d1110a0c48f67a1d936d6aeab38510a63e458f39c33a8e04bd721944195ca355237cb6f40382af18fe5e3dda3d1de78564390b31ee84d6883e98e0cce74f9e1057dbe0f24fd74c2e024c371e85136a7b465caef7e1a7740fed7377c485bf04cc959651cee2fb6e99d3c8e0b6b7895c8207e29485139972ec7ba079f3563483435eb8bb1ecd70bd3cdb72364a075dba44f903c049e33a0e0ebc4fd7a0fb00a39960e4a10a05dee53c17c31e613332902b018ad131bc39a7198b3ed428f31a5f24edc9e324b64a6e2cecb6bf90c223d7d19cc1314be495e2bed462bee9a0769c4cf1d982fa86736fbd0ed5e8a604c0ae6ed5260e931ccc47bce8e41e936cf924f98202015ec8eef19f45a99c1591fc4e41d35b3d387f487c799e11d69b412c3bdeda7366ccc09570523e6c5c856c81bc27b30829d0f3c0930f20317592ed5f3c4ab70efc033f22dc39be6fee12638c99209d61146c0be93264a6c7ad15636c45166714a3175c66962401de89316935af75b9da4c538546af642a83b5d149816407832c67a284ce783bfa110b3dcdbd2efbc528f41bd524861785c1c228629f36ce302b5ad35b980ca6f13b7b4a7b084d369a1d2eaeb5eae694348f9fa6fd32194e53385452377e7d86820a400d386a0f353ec2ea950cfaf71d98633468a2b553e5e27982cf95310ca071b179f7e5c93d70d522493b21c4fcd0729b68ae7d64bea7eb8783645ef32a8d248e994d724515f674fb49f0cb12f582f575b1aeb70bd9dd13d7cde9b88de8e2b1d8a7f8e43279d03f1aaabb56208d68decbdfdb42fc8c3ec585d4bbaf057e3fa93751996dac47608aa3ead94d0efb38fabc0f872d9be304e5ea47c204842a0ecbe30f48c54a57a757fa6658512b98bf1698cbcd4aa1f86be31da8f1061d50968746d455cd86c21c636262c9684be6594fd3de61f798c3ee255c31889f704b0fcdd664a760dfdd1e45170445ddc495554e87760cf4d05ffe83b0ac274a4b865289c1db0f5c977f1dec2f9b529b37ea50ef41072dba04290c369f64d148dc33918b6c7a1b8361d7a56327b9797ccafbee3cd012840af68db314ca85da0019e813fb4aae58a74804944287bb11b6bd3f6ec3e73b3eb24b2b05785dd21337cea10c7a51d234507e8a2301c2a3a78842fce5554c9e3dab2c489341485994d8a0e64fac85e5f7b6469495ce513c544e01fdf20967a26ee2e39d6171a246006010ea1f1e32a1e519031e56f2e35dc5aaaa2cc5ca48a0acec75f152d76b4c5ad52baafee633cb3b5ef00a6abba0dc7535255c5164f3ef5c2af9f240d99bbf2def799d388de67f79f58a6f0d29fb8424ee45507b05b1414b0aa5a6fcf05460091f5b79b90404506a5523e1e8f8a0e833bcdfbbdc897308a8ce96c6990afdad78c3142b4930ad504f11a58e09446a3126fee1c106550d091b0a49e15ab337863a682a18503046d0f4190a8599facc69a396b84dc9fac2cf525ed463704ee25abb9e3348af04867dd0901eb6f9b4f79044a99b31478c4f563b3f0b67c3b07b69dc98f7e8ffefdffc99e05916cfd85039f812e1ac18ebd48b14932481b20843406c58403e03d804e9df5b77d8c8a41e29440bb3de4e7654995ae3062ba7c6eb0cedafe5fa604ca0a85da9e104631b48b83463ccf0aa234fad004e3ae417c780d9ce2a96482a47fcccfd524604ccfa169c782cf22677e9881bde3a2f3a4d5dedb7ebe7746820e6441f53fa2b8facf20b409ad6baf3c51b4a4adec62c4de57bb9773034dfbb89bbb5585dd727fd2906a82aeab653bf659aae55e4b1766c0107a358d1cfedefe2a96ba5d304e81837292e1225d404f5ea5c90540948e7e85c4f85c5eb5407fa9ce7acf4e51356409ec1eaf28132d87b73032b7b825564cc6b5c730b00f97dc7dcd86ee92bd7ea13ada42ab4ff86a7198949e2e0121cd0dcdfd6aafafb8aefaba420e91bf0aab60f8c1766ac04e9a992b3292873e1d939712731a3e53d5ff819cd9d521e2cbc6a13873ee91a3b1dc2024a60b710e78d6ade1b037d83615476929d331dada456bf210adfed449a1e10ab8c996a7842dceae8e05ec696d0b6da1a1287a8cc57250dba8fa3f60b4f0ecb22e606028d36582f1f1d0bfb62df923d130cb718c76086ce33fbe27654b13e6394cc7b91d1d0be1df4c3153141192fef56702812783be927773629de08f5e31ea3ef31c1498aa84fa51a1e32ff198950dfe2405ae1d452a1fda9d5142186e22d84e1dcb345c3e3e34d57dcc98153074d25781d098a70d1efe7bfdfb9a6a646ae4aee41736abe5e59f605eacb69f1a8a037fdcdc7bd1dc52578c95934eff14b4126353858786322e0b69c6cc5815bae9c8039ed1111d4f4b63f1f872aa5dbca86836c722a1b4c512df3786cc227957f072f0dc89e185eecdef4903a95761c737a6b92f7f295a01df6d6c68c394d40143dfdb0966dd7b66204f68879064c1560fd4be022e7f01737895b9baa5eb1500086627e11e663fad19b376ae77d88cb6a5bbd7144408fbf4f8f0f4782d61f5c0a423ef8d75e64db2ab63bca389ebced44fd38b7027d6e7762696b623830f2a8977242edf07b7275d4c92ec80f2066f4f9a6bdaaf552883c96e7a25ff3c3c41b0a74c52e7d02640f34291c6d0b99963b49ce3893d8b5723b9a63cd89ed9886271ba557984fb901b64fbe6f036cb758d4dc10b67f8d87b3f6e2e6f4284c9116883a8b3067a7569d8a7edbe81438877fdffa057b53ed0a874c0aca4a4bba42957cb44899ac25e2fd2aa7a03c084f0e47636145ad4d52f6490bddb7c3f364d7373adb3774434fe99aebc589e652b02277e42f59eb119a5c5af11c87959196c9bd4a824acba3f80a385b9ba491d7195276a8710256aa9aa2e78cc4cba740759102c0184d9781f9d40f308118358bc10ae9e723df10ae0e9b86c87067deb12b71a5b3f89ae15129ad1e12223fb2ea346f9cfa0ccd1599597343bc8a3414d267436ca5b7a39223df3067a914aca6261dd46f5d19b67b6da398699ac1ad8b68334edd450e9bded6b32425d6e868927e429a021d84c5231e71123a59434f9ec1566e64e5334aad3bfa0602e0b80dc408d5af9c1d064f2b94c4e6eaf1b4af2eb74ca1b1e7cb89ec0ef59025556816e1966fdbefd721e55b17a2642b5ae05ca9faf70bcdfca7176594edef15bca852d51a672cc72820c9c762ba100e2a786adff3c06dca65a4a713147b0dcfac215db13147d439945b9bd24c0f4a052775b356b84400767e92a24e6b63cf46153ff6f9f92dae7ee36385a6a8ebf1386c6b6830cd82b4700377531549ede05d0b7960c5ca3e6c31298d9dd37db7437aa62f1246ed13659b224a050be8b67d79f14d3715f9327ff2ea83408bd53049c294295aa90130f301771a6d54316fd4e10171eb5bef4a04404329cfc7c660b52aae0831312901a31bd4c159bbedcbe366785cbc74dcf8273e6f01aae4bd089c37957f7b8e9417d3d35310eabc19a5ebdf6650770e1d9dc6f68d7938c3e4c98dc8ca7f931ced64cc0cc71d8891f8db3f53ae776cb5759900698924caa473110f696e3bd14feca1c5f680a93e4962f50331acd7fa50fcd96a754feae8a295e990f40b5bb4ce7fa6ec43d6be258f28dd61a02d0633fac49d5af49f2794a33a42820dd3468f8c1119e95b322c7049d92ac9320c4cfa8d833e10de287908d70c1846c492883e55f7af3a66d23bb31a1f2890fc3560a93765fc71c862122c1b2285354816f09473b63e42331d129cb313b06055562d7a503908370116ab9a34b0dface7e7d54484f6e4439be644548180a3aaf6aeec57b9e2db2246515a4fda625b410b677e3b307400ff4ec2652e5f688cd604fda5ebae6bc3bee1f34ff53c7094b8d5009061697b3cf1f058cc19a0f40c9f4b673e8ed9fdceeee285d068b9f80cf5da17bf4e6137c0727bbcd02daea7b7c0c229204b05ad35a9f745b3e08b94bfcef58432908d8d8bb98189e9bef13efbc4430699bfaaf8c604f6259fcab3805796629fe2f761ede714ce054071ed55419beb9860be67bdb451925ffe966946c71ccaa54b92a5708d873a40bf90e3bbcaed659541908e1d1834df5039d7f05c3fec23dff7b5f0b2c3a8dce154a4a66559851fd55d6d8061792dfbe91a89c9f1581970aeb55fe6cddd31dd4f74868e24ffbd6f0a9f8536fdb75be8206b3950290ad06a984c38a16d8abc521a354307e54b2e3e9df2bb83fa9c0f01b08e0ec102872a9cb494055a9df8d0a9a835331fbd9bb61fac3d6278879c7d8cf3594a4721a72dfc4a281be4f641416f684724ee9f212eba97016e454a77b7ca9a3c29b131a6cb0a461eb2c88f03e2db5b00a753fe716b961457f2160e99f5a01ab7462f2515e7e9db399652eaf7f396b99be9a41fc48553d96896e2c05c8f5ac570e5fe3a15675ae412aeb0da600979b86d8f780af4218126eafd836c07144d8921950508d0ca6d44ba2284c0997b27b0da93e67054e5a4a731962003b8467870d92a92c67493f178cd0047ca96cec5e3ae32e96aef49bfe29679547160fcc73e19183e630377aa07f0a27d3d8786a5fff6faa506bbf75a402b9273bfd001995760626f29590854d90f13ea5a748e7855d137252affc9f60ede47f6a784be3b2234f1764e79bae86222328a116af7bd7d71b48d80c65a2678991b61ce96b5bfe54491b9d1b879568a2306d98fe0f7850e8302a95a4b4dba90da55c5ccb64f79f131a097d952ccdcc0edcf18036a8d8c690dce0892200395d098ba77d5988d39221e0e8c2af5243b132f36d695c36bd09fd6bccfe87bbd0ce736087e803293adca0960595588c25b88feea7135d08646f9e4970003d1e2dc726555411c50519c01bca016fd73a6bfd84d8741067c33f8b4379f72542b0ebfb5458dd65a2bf00f785223185f7201945d2090c6355dd11c5a7c0489db906967b40f011c48fa3913e1ece5dffd1da61234a1f9611d8f7fcad4002dbbaa3b33bc8eba9307671a5b9182ddf49770fcd929ea90714482d06a339fc20db90ff18b957b73c70c7bbd56febaed03eb7c205926c4b194133830e3cc285b1829c2ffc52c1c99d72a018b4abbd67bdb88bf31739694a5887c505bdade91ed2dd09e984000c18b26d68f81d5b463d207aec969cbabb36160f36dfca79c6482c5677778ef2f5bbfa4b742d6b0093457dcecbd5f73d1716be2be4367673ca87a2c6b0f8cfd4ad3656799456d598c9f9126c3ce1ed73f9c15f960896978984c8fc766fe666380b9ae2c89b808acd75a9cea11128f5df5e7a9ae2d7d4b9faea6b238a4f0e0f14e32c171d2f1f47089e48c2277a2a6fced325faa5caa50981aed2b53613edcd400ba87b873a35c4416fa3b553434a34c85ee40014942a6ef9378989bbfc2eab9d3f14bd0c279883ed5f0c07fb9011389ea126c346537445a10df503eba16602e3cf047e083be92bd91bc4777caf838e70789aaf9b7574b64a7c47a509fa29ba97a14f2cf64ee3cabf94b2ac242f623fe9dbcf988f1c3571a20b8bf4902a616310657d20953b883271445c78f8f2f08706dec1cf3ea0ef491eb903d5813ebb903a07255ab36cc87876d51af99cc3e91f9b7f10df46446385413d095b0e578abd7a69392507626d293109926c7f040407f70e1aa519345311fc2201ce0f7a671fd4c9116b8ddc5fc1180423da39b1f1696a6a8cae1f298c513ad9c1c1fa2536beb4b8e50eddaaff158b6965bf3bf5e44a2d2d7277b000b49e75eb73c80bdd85c1a9b36d87c3e881c47db9d1f6f0759ae81830a9295da61d6a662276a606dccdfca41fb4dbfd884b6bbe5be9ac767cb174b8d0a03ceff5c18f977a089387f3177932af8953925cc62c7771207225faeb35d0286ef0abd3a2366a30ce7c3a654a6881d89da90d05eb85624c3418ee0aac27b7fdc144208b36c59530f355ca5826a25c3535f92fe523148ba869beabf9f658dd8d6625e02b5909851d803a0b7e0762f56c3a8c7c782bbaf71f0a046ffccfb328ba8102b657267db2508fae35c3a93649a11eb3c4ac4b17e3f1d120a39a229955bafc24a382ea67d0cdcf3c798844a99f81bdd6dcf13feb2381fa7cb6e0daa231a5c50b9b909dda45548f2ee174e1b8a89fac2b141df11e789e50ca4e79f46b7b7156a22c08c6fd054c4762aa2c50f22475068ccb37822fb053c49eb59e6ca829ea43ea4c5f8b596cc49aa23c55c1a24928bd375fb1f79ed2989f8759804d5762c748bbeca0a5c6b3b4f652c7cbefe62d7a678830b0984a17c535e1ba6d9ed81cfc2aa67701ab2901b29c588594880ba144428e765a051beee7ef48739b14b2ee4d845e88a88d0d9399bb3d8e9590b17a7489a114c71321941840bde7a3582548011c24353f8c48e622966f0950015d5149f08eec011a4c11cd32a603b4c556b61776136ab369b74c908341f6a4cce1f67971bc82967c8ec3692cc7e7b13122ce25d985ea6b7182e513ec8159cf3d8a0a22ba4091f9b64c3147dc58c2781d707aa8bba8c542108aeff5f2c85b81e90b8af36ae3f506fd40386fbbd5d7d0ecc2bd34efde212b480d8daf7128175df0814d16c31c4ebe195a52a84b65b55ab8f30c7503c2a15be8d3283e157e60a09eac72d942a0954ccf7b7aeda2960cc779c5cbe74dc9891e19d57402a679faf33bd1e4772781c1d03fab6e678cfd80fafc49d603900b45753b1f83bf20c23f122d7ba3b1c0c48badde758a47ef249c20f7b296297b67df68f55c674126d3e4fbd90d80d81e4cb67634afca424cbdcc4dc2ec7c0bc04e26b87923332f241807cfa25a4f66b7b2ae4ed8da4366a86582d71a4b1d8d2ff6bbd2043048767759fa904a919a8e3f08208ef45666a9a51a5e37a387cb170e7d166024882c38e898024b893ff1f6bd00b212490f717b9ed4a926c5235ce7aee514064fefe7c584035498561a1fca29ef6b20cf7894fd12e6212bf1f4742c125177eb14d296b5096946ff0da06796377e9bf3d129ad06d83e5d0296bcf32ed52b8162af6a11b95e3f3d4c2129f8c9cfdbd4ab04ae6f6d514221a050f520b3c2e7be16b18d31669e27e9878f537457fb95d46de05d85a6d0173f947d8d269dd459b327350eb01be2e421fb24c3c1d589c6480b6080fb03c74e42a88ccb824fdaa09090a99f37356edce809e0ba93fd92072f9b653b25a3ed5fa9e743b9e8be08c36e387f30d4e73a60a279577390c405299fbc148fb59b2c95ca147edb73fa7052fb287a4e5a2c2127a573aa54d6d7e5938d61f920b9a092770ee01eab0b997e6ce6d6fbcd4c2fee67cbfdbdb4bf7c8a3caf4e798794e9c63b238afa1860c87e707f60ac8b8de61ce135270b1d298392cec02183629ef7a5ff1287e017798ac7f3d838fff39f8162b860b05ee92591aaaed91a4b0fc11ebeee1d3ee9ba393f76cfd86f8d875273ff36ab7114954a19a3a863849c452f594b78565ca2005aa3beaaabc41752d5c3b53d9b232eb3e01631b904c333dd61f8262788f059c814b274983a22b49d8b0dc57dd428a646b8ac3da8f5f73c03d5672e77a6e7348c1148c9d12424a8d0723bf10a4063e1a8aafa9d196c95f2bf40993538b6d33572a5d04183a8769bec2ee7c48c2bd92d3ac570be92eec9bd483d60c87323d0ddeaf565a574beedea5070cdd46432c41691cbcd96f528653d726a4ceef0adcf5bd45c966785cb465029f0a7ac583947b7d49d0c884a961d90cbfaead2c3fbc50a76b46237fd8fd2bc5e49aecaabec70f174d692f0a3bf1fa69e7882eb827f0a9442cf983fd1d869c6aabda511a6ecd097e6b416e2b08cc288cdad5c619f404b6b25c2d8c2a6a5cb5a60ced7ac417b3d9ac321cd89120beed58c7f236c49e03a4575619d831450093b665d91ccca0349a5cebb26818cd8e6511b25fcb32cf82bceae05127287ca866cef76d9b13e52609168ed5979452abd2e73ed76fa94de6c3ae200a0d6987f62886f4659d83333fffbfbed4050a1467a6d5530b4a52168758e01d38c2856d158df155470bb3acd4f63c15c22371dd2abedf83a44524cb4d3d67784cf43e667d9288ee3e7252f46c22b7c8b22abda7e4d4daa815bccc342720e6c32a3400b61d1df52e9133fcfe84ac0b0eb90b79c421270e2c2218eb45ee9ac26f933fe9999705c3e5dc3f535c04851ef8274b1f65f62383dbd107a1f5bab9173fab3e2e3ba822143c836741ea3e7c881101fd3867ccb15d45ea0a90ad36c99dbd905485f0c8dd4dc34c2dbaeb297bd7e1df9320f1aec22ad9a4796d1ae31877a396fca176f1cf87943454bb183c1ab2cd9e738732d8d912b8abe03476967df2ef4e2ce00d79d77936f8a1091a8f7b94d15a45eb38cf7acf5a7ef8c382a57d33ac0afeb59b102697c780b4b3663a3ecd2d8432013596ed9ebd7a5126ee2d2b2e234240079266e78ba9df7c41973715795ef6ece3b44213b45c445abac572d16122973cf45cad1f7ff1add9d1dfe698b82771f6f311f56ad54ba22ba7c5a7b1e170df59a23bebc24ef322641bf3b95f302eb640239dbcf20c1fe8f30e8aa4a0c008edd16a60c7951bbda532251dc89342ae6a9873ffa8d62a6ebf75a8b545eb2338663c488ebcd9581d4b2d1f5b327f7acf332d8cbba229aaad28ffe541e3a8cb908b133d0dcc94555269511a867919c38dd265712a9b39ad374f16107ca81710c55b925e3e8c6f6490e31a233d3b698c7bd2b826ec7c4f3c77e1c324d3d2e513b50a064dfbbcade5424adcaa3d0724501df99471d26a237f0e824923588045fd13e616a28b367b00c7a7adfb1f081d8dcfe052482ca16e14abf6857f0a11074d832f7e8c38f81f36a879360609a7816266e35f410a7b6db21027ca433099261136b315d90a42fd939099253595e523c2df9e83f6469f50358de8fc8b69434400b55779d4e514a8fbe9da5529dac1290a90ea4616aba89119a27ebb668c5e88ccb1313cb9f25302918e55f99146a0ed0918f94458e50d19f0eb8d57569a29f5ec5e31c611f767aec1ff281dabf5c8aebf4d25dfdda3d126be6fe52907e8609ba3fe967c660c9c2a4ee4c3a0ceff7e2934bd5d0c92d5e48f95d26fabbf6d6df873eb5f23af2da061c510b406b4815abef9d58a7eba702f5c5f1ba8c9ebfc2adf2249b83fe9df2453a7fa1a5d292aca1b1908beea517ccde3eea4e59ccb3a2459d21ae0920e408a96bfdf8002c9d9983026cea20637e43e8889028d8c873e9020760dc530e51e2dcf2a897c33d47697dc907d7566384319771224ee9c9a0b05ada355af8c16449759949c4f10baa28724b2813cfce74090542d40aad04acdec6618d3f16c29e1c28466fc64531f56d662545ce4a4307e8aafb2c053bd42b4d04952a0a7f41bd9ac862c6c31fb6840ee68aba35f6fe875bbdd0bda7268c2b3d5d3cc873e70c44723aad273144ac9cdf39e86c8ab633eda3e17c0bfd49101b0e25d4862ab8b2a0fa8dbe8e9fcb718bbd28f53d097da35043e655014d3e8e85f2e340455fb6cb86335eab5125ad1b98d5159c8ac35ef327aab2b04a266f4d3ba151fe642eb0e03618381a34d869c4dfb03cfc45a2f4916b4230e43f8b4f441c0f08baa769afe24df74e341564562820f7870c89cf7d929fb45b477de66b5697e30beb992426df5f23331993c8015436bf891b09de34496baf96defbd02c7e7694dd2b805b55b33371549630ac815e34815ca78108eb11d9bfea9f380c7ef20d6fd60fdf66828db2ab68dec183704585e0973198324c5a5a659ee5288f61604a18a3fec4b1ea6a689df40313390345219a8c1a6a3e9f82f79d920ba52e2a997a1dd8d669502c34aad3780a042e5e43ed72b2b67409348e6b009b999e592822f7f710685258013056815e40ee0aa692c49396752e788ec970984ec75a6e9b19edbd585f00bffc33fab6be777babc2da8b1d2344adc1b3d8b0a580270be3ffd5959a34232a6a166b3fb6419e026520f353fc67f31d2c874db2b047b4bd089a41f164027480bb47bd6ee5ce5ea6f607618fc0061506797d47b5d01fab98f69422a797aa63950af9cd62d17c6440cc53f18e4814603b7a667a072230c544f250e9e3f8a6b6a9ab628da6cc97defb87ee2a0cebc8985716fa81c1fd5ceaaf264897ffc29251e7e4e0c6ce6d4c7ff52c5359cab93e31db1eb7390cebdf5298738956f478c18052dcdf4f70e541d8061b71ca575a2c1ab55c676e1e6af531d0a312a2b4f4fea7bc30ccb864694f4162d47f255ada6a4481b95abca567fa01d3a69667703a9542495036fd16082f65d3476e370f47ec23c2b7c7e0cf6127b881c70965f701ab32f70ce08b151c1500a0dae02a6d29728dba4fd69fcab36d3508e088906850acc3aad172a45827277316d4797d9cfff83fd90d7dfc2b66d3ba8a799dd03c7e9c30bc539d3fc5ff5d622b402fda46c170dbfe03802a628a2e66ac7b52140acfbd0e927bc7ac8294c21018ab38fc91d7148d195c8cc1ad0091f10914b35379fc2071b73c1cae5a9dc8127a7eee80fbc7e0a9a7c6f95e8d0dc99b44f425e3393adab3077a22054a6eaf18c52028f15b33ada087427a428c516bc4e5cb7ca7cc7daac329ee2947371152306a3366622e2ed7f04d953e74fa33ae44657ab38f3d3f6ee018120699e2ea75eea5986f8e5ba4437dfb23f34b5e60ebcd57ef04f2486fc61b6536cd69fc1ee44ca18961d490ad515835e1122d008dda52dde933e8eb940d14670c24494ff5096b316081a5442ef352c996f89522811779ca9a70b305e782299feed719f902030712ee43a0a0072b0d270d2ecef17b1359338cde59259c4270ff23f1925838f05b9d284f2c913997c4fff2f26f08365de0461608a2c5dd255380a08fc4ca18dcc31266f7d26a519c23f4d0dfe95709695ab0202e5fec330391a351c652ec5e84fd8a0d05e39c1c48c5bc4505d3e2f9bf4d9fdea56903e5761428bf15805b5e3217c43201693feb830562c3da3e003608901d683f95420f73bad58f31a18874e92883481c32d86813159dfd7f5b80cf3b3dfd5bc337f367afad30122bf9c12da02da58a15ebe92f2f5947a61a799f55dea14f7433f392f3de9ace0a5eaf765da30fe2608d2e823932481f7c615b46946dcecdd4cdd57858637f1f7928017b9e48a0f4d314a3f2fc26b0b66ca3b9f48570a17793662c2c8af08e8bbe323c890bb1bbd80f25979dab79b1a3319a74eecdc57e593d7ffa26f8c8c1bcf33fea41e69c15470e9f9528e475f95faa96b558e14be603cff7bc15be7d058dd7dd0a7f267d7bbca58a0343e3ce5ca3dd89b33b89b079219c5b68d24fbc1ffcd4f81eb593e2596b962b38a119952e14bfee817ab634b2989a755c9bdf72b433cc8e5a5a1e8e8c1bd659f3e6211653346913635674302f35ce90c3004be546c39c508655ff17ec1ec7c3400c5e8222ef9f55f1e9c81b7a5445be5539ed2e9f8f601974c2b7f44a6014eae8fe5ea007a17b6d82df9b792e7adf4faac8cb7a17ccbd93d151f2d8d5231e9ed6a1230a6cdf16b2b77e7bbee9ef95292611db2d2fde08dd075c0a6947dc5195f6937f31224c920e0c51fa89060a3dead01ebb2e53853cc366214473ef6379feb60e216a61e163e9dca20fc932ffb8ce1cdd4f4547ed0e58c0446eeb3e97b8ff8fdc4fe37c15f53e617e01393f08cf8bd896ef4046ba874dcd2ff25d0f6ce5e56952771ef4777318634230259757d4b0b1ed3a2912a880e7e026d93b549a03485f12db71be422c6bdb7c79decc8e0d094532f3af8feb498a4d19aee15ee8455928937ce80cbf0288918c46a472a515a86aa95a284ceb3d3868dc9ab64471e38a8f97b21030535b9c3a38b066752a336b01272011c885a6e6193fbf8438753c14bcabf1e987d45335ef54dd26566206d2c6d0a95e2a2f99f2fdef596e8966e33f5cd74dcd59ead2dc08e88a0127d6af211cc103ca03357274e5a297ebae5b83a219978fbb0b5489c72679f6c91012175efaa239b94f6ebd65d1c8b7729d9e7702760d71e234a0cee608e77902bcdad4d73b9981df3011362cf3bd88fc2f1594735e48d6521ac71a32be4e70a5ea011f2537a9c99c17c7e8b4e15cb373d96de4a8886f8381a02b9d1f13bf95e479651a29407ae43ec2acfe94f98e2c8f3df953b077ea84bd3e237814e7155aafa7e0d34daa6d86cb058aea62a8d750ea9fdaf89a8f0182b72046eae56dccccadf0e7594d60c5847d19840ce61a30553f610dee7af162fa0ae85d71136ae55d953804fde220974bcc25f94626ff3dffb2493fee2cd6be2af8f4488061956419fb06ef136bdccb7eba02e87bc4199657af2709dd427f6d4f152f80902f87986fb0c2f894b97de951a5f38f4a31b62a70356df7511685d8c083c355d1f1fd8d3ca413ba1866f63a8ecd69a9875b422f5a26222a70ed6d1bd1f833973c69759109b7a016b69831f9084faa24a7824a9abd30d389a6d01169d60004419c0257cc622866522862b42fbf106e286b880f6d1e57a740b8f39e75cad0cb91d8652492f139af0614439a130f99a8ddaca0b87017d265c0f9595850021c6808722b883f8b20ec6e34bf1ad3a60d5edf5dee165c47384b02b970b9b620539e69ac0020d4c0582be16fe9d936a36fdad2cbb160d1e6cda717729d175a2f9f70e939d528ceb4e82099d7c4b2594f33d7f5b19177c31461a870d85e8e0b176d6b58f0b575fade135a6e95f58a7810282c80ab899cbffac934eb2140eb782c070a7c8292baa873094469092340595a465f0db9292f1f3c6b473f76db815a66b203ee4f269a752604f5189a3e81aa41f9cdee2040d440034950b556b9d29c8624df8e3e00ee0a6c370d45927a42354884010cca4db379128aedb700a0197dddd5b57d878fc622a1229d52c5a15019f3e5c2f42a4f0c8192d599c9120266a4caae90006d8f7620fef2db83066ce4d0ab76734b62756d9fa371a43bd43160a28e5780669910e20e0543d358d27afd1249e1aaf6d9aad6f79ba25fe300eff2606f011a05eb3581f4b050d48008915f8eb32c1f0fb9e6cd643ebcecc035eef71fddb64bcb38b25da53ff4240a216e92aea1ce20b0e2c890f1c7588007aaf89d319ae9966ff44e15ef7a6125b036944a2a268e0b37ba685f0d152fd202e04e5737649c3eb02613b025e8458202f75c0f451200be740927fdef5c528def283d0f2303e1ad0b3b02413a5e0c65121994c47eca373c762a5025b3f278907c6a869438a2e7ac23e2cc4a44fc75357cba6f45297600b05a7d46584382a07ae4c865afe19d2a7c5bf58a821ae7a7d5ba22b279a6b8633e6698e4d686033fda034fb4b4a0eae9287da10558dd27bf8cc27b9af00ab5781fc06e710cce4e2604d2c15aaea0efc3b2a35cd0119a6a4da44fc84c5c6691140519f95faaef7b72079c15c26a03cf442441ce3e5e9d5ece5374c031be4e1ea9e8f3d81efe8fa740650225627ebd72db69dc391a43b66bb519fb4f4b44892bd8d825f14196801288a3bd6c3800e4c3bfe24095c92d44390af348a6ef38783ce8faa2cd336fb8720728cfeb66f0449e49d1081c5e3035e10d962f1ee5e5c3b50c0a29b9b84cf087203191e9fb3316a71b80745df1436b397518a64892d3e7edf1d53f7cc0e4a5d57bdd7af34b713fdb85956b5ecedfed01da2b9bceca2ba5126ed64d1fb8051365eceb4df3b9d5774b467b6342768947c2eeaf62fe517c9576ef8a831e3f57d5e96cac40450826598c6cb85d4e16fc320cc62c47fa998ede719c4b596d6223e68e465d1fbbd8b15c36ec1d8842ca97af2bcb41b46296740527157364d647402726c25ce42ef27f9d22661d14f33a9fb2f77b4a466e1b3849f870f45b475f0b86aecedce7d85c6086fbfcc50a2b345f14835094a386750192413e4b8db15814d0870c2c84e7a0c4a595d7dd455279abe533094198881be0b67adbebdb7f88b815e174c3027c5f7db707fe29f2d1ab751877c4b94c26a0955daa542da370a5a81963433dd52efc1cd93620cde55761d829afe629542093d6749f6c99dd3ef01740326455a7b0766b424d41ae846a2236a35788019180c9aa11e74b90e2d892087135535d13921d504fd0aac18138a9d9cf3e268e8e99c0ed16b053da49856ce556344e7ea04df86532546bdd875aac807156704e5b9079607472f1b0f79fadd462d53ed51bc59711fa184fb01d9fe00029c2b3ceb3206463d74a654eb3de77dedf4bec99e1e582c8585d76774dc8b990428a5c560717709607bd70f919b34c0380173e3ae361f3f13d3a2db549de3ca854d37a4f6932d8a0a06c40335d5a105b152913c0a9e801133f868dbf41ae9eda676453a0c5854d47ecf1897c11964af689cce4c1e2abb06f88699487a5231b6687382f56b9305321a033a88a9f5f86702b24361bd01fd111a64d854b6bcf76a8d4d2f7c62fe4a39972097edc9814e7ff902cc2a194a5e19fd063a67eba690746c0308f2f4a04857c345d7f3f2016c624334c04cb17dcf42771a68d73cef3bd400adfa2a5f3e080588fe5d949438badfa4f43f44de956fb57a50c945b14df7b4ab792661b1b12406adfdb3ca3aaa1162edb7e72ed5e02f8392dd6e6a8f3b0eebcfdf76679e9ca07a5933eae85cefe3b3fc2a178b17fb861816683cceb7af60d92d50525a73378b0cf1cb408e21caaed182bfb9a89fff6f8fc26f57c5e496781baa6114e45e53922b6cf1f7e933cb71ef16c48a8aa086b9de334effcad56e6efab5d61eb61e0bbe5ef5df840cd6099e30db633901c9bf099c3820ecc284a4738ebfe25999509f883573c05bea3f3a8956c4df41a82534ff11f1c20b214ce6950d13dbe4f46fee9eb9d38954d4afe85ccf5634a43cf2b757e153f4cd1dc3b1151c536e3725d13dfb02422dbe3b60d441c0cfabbdf3a650b8a7df9b6a68ab53a1f63be94bf7ac918962c482ef445f346d849b8c63a7a48195221c971826151abfe75f5d012cb0df1b79f76c65dcf5a23a3a20e3b2ce5e5591a643551268e23a36883a0ac2ef850a913dab26f27c1d96f78ba75013038c94a75813da832e1f3acdcf9fb0aa9a3ab6d7bdaf21f58589ccf6ece773dcc48d842b40f0848e034c782423e9e7b0f0397da00bfed8afe1b6cae6d930e9172fa403649d3476917202fbdf1ba5c085ec25c9277d2d2af0853d90f15292f40cfb2e1d7b61f8d5c4d615d57278dc76b0e315d6662fd8d7ce87018c607e17ce8bf369950426c30c4aad9ee6bb3e4e79ee617ea47cc4e9c7127669bbd77e63baae9f178bb13069f16958db1a1c6c234f45f1f003f7b566ba6747e3d6f4357a3c6ea19965af4a31e2244b32edbcef27691f9f1e995112532acab2afb640ba28e36087c47947195f30f97c63d56f7d824b00017885b134731f592421c34790f4983ecf01d9e4398a97bf1e3d0e0354491737f8aa867c7a6784fb94dfd5201b9dc86ae28229f8b182954c1fb06d166930bf6f136b8ba6baa43e486e041b3c4f2c4b1223b2b47f6e670b55b09557906dfef8f7f303812325910619f5a377692ff363caf1c55fb97bf29137e22680cb57c207bc070c25e2a861fb532595bd34d53cf820aabb6cfaa001a189f68ca909385b07a3a44fe029f9d4af947210a67c6a2b9c4a11c1a0cc145a3f71e42aa1fa13818fe78c26259eb7347dc98d8c1bbbae69f8314b04e2c06052d27127c7e5d0706bc1cc121c769e7a5aa132cbd9fe13dc05018b20c7d9d67cd1c3daba4a6c4a76fd4976f2d4d572bf78ab5bfa5957b7b00b580de706e09b580c1235a5ed72a93db1c12fcbc41e98f68681c97e90820b85a82094ba350d0d12e7eaeb829644e57b7d247e8915d2b5335236989144b0bd8826ea8f38291b83a9aa3a4af026871af55d6b050e0d6763f656a1e93060d1e576c054b988ab2670b05bff909aa2e0d02606d772e41601c5760089ecede0b32d9d73320a6eb092095441571060d8d73c9c4a5be708b09a752d860b6abe00a1d6605bfb1b934590c14eadfd415507705cd64ad4849262b97f73cb98f7c9dff2dd75aeb719f048caeb7abdc70d5efae6a79bd325e149e124d6e06404d746f96dd44eed057034d811ae4eb548c50ee070e552ca9ed8689c2269f1f6d28a21e7754ae92cc6065aa2045cd62f112731f3c7115e080f87437005c43e0d96932213c7677a27bae1cb4ae75d55f2d076f297c4ddbd2031b5dcf3c40bc852cf5c3cc6cecac315ab98153b87d415ced1e5c5a860a7d7dc90e9bbf8bba532d096755cdb0ea0beb7c5e8f50bf6aee934e3990ebe5591482564cf00bc671c29f8b82681387d3702ec1eb09586098f4bd91e85a8405a24f456e33b73da2d24205c984ff857023e42691773b465e71833929302d140eb6fd0cd921dd7896f5cfc906181e37387e3d58d20fe777409c78e5ad97cdfab06ec5d7a25a5cd026c5541187e72806368fe4626328466ac9e74c74c2cad25ce3df1fdfe5d42c663ffec53823d7a84f5504d401ef054708e698ac9e9126d7c56a35ec1d0d1ce3efdef802e472c386f64463eb4e23173437baade520fd5e59833b6f887ce6255f971b4bb0e68531ee93ba38f29edbe964d22e154079ebc3f34395acf02d5d1f919dc7312c173b314db108390f26c865fc74c59498f4ec844e7d511a770db8b25f6bb60084efab7a7918792224194d42cf6235690c7271117d0ac15ca2418fb41de25159a6ecd98bedf050e214367cfd7ce18737adfc93b4089c1015c10cc306c89b174b2a802e1ee9b4f16dd96f74065fd439eeb7d38e925645e2149204d2b520dfd43722b2aea44fd997d5e97d9681a50174b3689f0b17b800c3cd1f58d44098a38a3fd23efbee880f3181d31fab493802113e93430dd6fb45027cf52be8e516e975460a17b0844344771ddec26c75a50b2603425beffc609c5e46fdf16f37f6abaae289e46c22168edb641e5c2ae5a40f4f1821ae286bacbe078dde12f565de6bce99fbf32c9bbb97fe06641dea6023834e88bd52b665aacacd4bc9e83f7f55911dc5d26534b7e94592b313935bcedae6f310ff391ec7db27fcfe847ad11f06a8a4112ab7e9114cc6075f90fbdbbdb40a88ce987ebe785609f32174189039fc45139e8ad61fe046131941b17fe112a90849a8edb3cad448780fc37252b79a2c1ccce9deed50da160d7261f94692caafdfb59fa1055487a19e4acd973f86caecfb1414ffbcfb028bf85fb1bd9b31410d4670a6a323ded183c70d1c611a6b25f7207c4758e4e3afb953fa5298f26c0bc22bd2a764017e0fb369fd5fa3ff132dd2d346d953ea64c920a4066d51fe1eca5d0c741e683a0780f63246aa9f6f2fa2c1b1950daa277e9048c362b8d9e20bc5d43bfa457682d69e385967fae184b5296e6ba8f5f7c3578c814eb14584489b77962e3bb28bb81d897e643c397453b78198ff01ec36a98aa7dfb245b7f18fed6ea71ed66f1092e0b6ef3b49f311917c81646106a71c899770e0562489ae97e56442d1c5e10164992dfb89b8f939515f874c241806a6ba229dc5a27e7c857f4f2e6b45a17405dc8e7544aa2c40be3bed621d9b8477fbda5bb743086d5183fbebc5dac6e611b8da1c9d3c252fe95c38b26b4e99000b84a6ab1c33e270a7b3da755d26a713cd929b92958db70e3dd5e96926937d94a51b1e78bede74af991e9fde6da12f753681d7062265e3834701db9d7c6a6ab511267c503d853c3a633ed04acd46c4f453863ba715119c3ef9c8837abda62f745e6f377862bbe9938a9109b6f325b66a60a8f3859663c6b7fe459388d1d974c2152108b71c7bc7582b1a9732b20bab81d2b9e7ab7febdfce094a006143a66dfc91b0c57b9679c3629678c2f9334b8ccb7c599a157a15c694bac2a8dc59ada90e24863ac2cce30e68f2d927f44a822785e652936f0531fe135377a4ec449f288089769d53eccc41b09f29e8ab2678308d83e864bed803bcb8a43d3bbbad61cb5b9156501d4b3aced133f3b2186b08962a55410c1e6b87134b34e980814f9d7aab32455511858e97c2fb1193091888c560fa8985e023e383b35b76c879f6a35609ff5d9840fa0e49ae2336786d1093febbc7d1d68c06661e4eaa4c25aa1d1847be36ec9ee4bedda43e538d862b0f98d3269cb4de0e8be0320b979f2991276cf7d84eaa99db53a5d7ddfd19251e85feded84fff9e57f49b7c6d2c04f23b7281a288e01f1f01fa2a22456e1ed0acbe7820036576753d03a80ab01b98066bb47b744084ad1cfa65b9b10f7ec3ff3c6c7df378bc26111b4e01e29167801de6301558c4fbc4cfba0a95352e4b685ce0f526f20a5c33b6ea1efc0f0d6e4ad14e8bbb8d59557588c3a817fc29703f453d5af47c588fc6ece6702bc2f8e6725f60a8f6906479af3a20c70fada7b231ce1752d18ed8aa853f0ff16c8873fb7d406ea5278b7bdb27ecf4d083a770248f6075b29763c7540258ee02e23593fc292bd4c20b7073a3c964593c13f78c8299d699c6546b8fed1ff2876c094bd146a0bcb15c6d1e3cc7f7529d2a2c6ef048d2f4f7e83f7f41dccbfbb29c02248f38c459e6ca5024bf7886f3f7f53829a448c9b92f1822386c246306518d836d2b6f330cbb7484b0e3bb1a4f46776a5db657c54a9a6c331501dca65ff055c9d0daeaed45269681c66a3e0e4a96ee524d7bdaa758d4ddcf49028558af1f6ffb827efe5a2103e854ea444657122b4031afbe4c65085bcaafac23f34fb6efb8b25dc5bfa90ad0e9f751e855c3bba7265f3267a1d79f60dcdb694183bd22da5b7ce5fe450d536b8495be5fb6a531b846f10f52a3a70eea176b636b07d491197806d1f9adc630daec557f1a461711d1495c8af7db77fd348deb35b5a78d98ce0181cfa27d750b08045b39d61a9a421122ae1d199f5d19d0b8c6b6687c9b1b5c13b84bb944ad487ad2b85df3fb0c7e092078e03f6a3b891fba1244854ee1c568ed11980465890a1d8cab74a85bd280f2ff087126360143921ef9765d847963dc2f2940b71ba7b88431406a3d401062f7abc8cd4a5be5e922d25a1012d20570e196ecf2a81cda3bcfe0a597a68585ad00e53e8aedde09ad3072322f878d03c189389662199ce7ab2d18aeeee8f6cd587c62de10bc826b4ab6577eb88f72f1734e4e60553b8e986b68bfe5706066f32b3ad052b43aa0471c308f3178556344a23cc0e1d21c1fa14b5335043930dd3d374ad1d433fc44759d43b6162bc11e25b1399d4881b0ac36b090c379674694d9d36aa1ca6bb1b28257104bdf32c9afd83cfb31450d371e667d18a67e72f8ce2768a33079b66aa149ed551136c8be247d1c6256c723250e37f9356305bccbbe252c4863772aca113b05a2eb7d80df058e8fd7884d4115e729ff3e7298d6fe48b603bdbedf08bc5265913df6d09303430be6556967cd416ef9ee29d5290e46d80ff95f40fde7ce3b8f893e2a35004a0a7a46813de23a36162f52867386900e878c67e9d1301a9a9d1b2b80fee9d6a2da65b20086e4eeeb44ed0ff574644acc2b8c8421dcdfd13a227cb182e51f83682aab84d0d0cab157400923424370cf053bd419520184323fdf8137e57c1bde996dacf94dbd24dd29948ae819defce292015f730791429d09d7f655e04e4537b2deceb12bb43c9fab1019c5b62620268e07cd0bc3e6599d41e289703462d8a1966d8456cf52477a1c5ef2e070793759037adc9fe8ecc9cce4301b3882d29952ea2cfeab82425c84ed85310f1fe3dd8ce837dc0527e53ff05a616ddf128ca7e7a93c4c91d17f610246dc4a9a95942f12a8a38dba714bcf1de9b89317d5fd6b82a5f09c433c3f1c3de9f36a3ec8d9a3a440678f3ca9be4a1cf281ae699a7f184eb36b0ab214b8d4df06daa5a045d583ccd33967a5476950abe084a6e953f2cadaf4e2a62d5d7584ea50c527ed683dfbcab31f900e3eee14c22e477e96706f2cfc430633fa9546185402d602c37ab3b38afe022b642ee7e6206799c153cd51e4606fb9b9e7c9f13bb027bd4bb26119691cf39b6dc139fecc21d44dff76ec1520992b7fea3660a924002ded6f73e6f1ad6bb35c91423a657f6deb727a31f00aacc7f72bc32a10ae4cafd1d340f3228bcf74378f21abd0f76431854c62fd6a1b428aff1a7f1dddcae0a72b233cc5687c67345f5ab332f5e2a56b2983ad89655f9eadee6bb4376997ff577baa97c16cf8fcd5776e1350f62f9ae7fe6f9001989cddaec875b57726fe489b4685576b983ee30ce621d21a8c4027abc7756bfaca8ff9d0799edd5a25a2a8895d721a2ce4ed4b5b6482fb43cd44736c07bc31bf9bb0b54bc847fa5c8a5839826b26619f28e9b7f25c883d7b4451c0adc6ffaac7c62189dd600895ad521e403e1455a5ec132ada272f268c9eca1e3406668e5a12aaf4c589406b4262d3992ef923c5430d6124c721d031179cab405558278bb920902a7d1645f4e01f3bedde7735775ec715b2e4ec2b3391b435aa538b67d24d2062658b695ef15e506ab9fae6160879688cb991ad503c7e0b833b9008e911358111f8f13044cf426237b8d546b6c8b65e31943164bb9b9879e972c387b7f14dd7a6d5485bbe20c9a75d3370811f756ee92a93a8c2b2d8483a1509fa7908f42c258e00578c5ba695138ef65e8c9a1765a8e2e8fede493d0fa29e058ee156e4b83c7febc085f96384a2018f395d3be55b59ea2b4f82616afb4077a4f1cd032052e19fdd7c65a612f0b7a0462c3f25df78efa5a82e1e96c002cf9409c8f8ee6c7513de5ea601437062c07da50b9a4d5630e2875cad44679c20cfe1d8dce4a249e7dbb8a2145cf7a48e642462e666da6354783e4da3eebabad2bfa92043d8c109a85212bb89a0e4ea966ec575a62921f1dbbc673706c4bdff54cbf0a8b95d2ace5b594cbb109f0317ce1efec289c0cd4046f8f47e63130b33b0150e232a5dc7e42a8ef52cb91d392bafa1ac71c608cadcbf88ea012f875e2e5204adfd5382951f93f155aab3f6045486aa037f2f15d71f09d8a18fcc58c38cda7d3366d6f4eef8262d5412792e128aa395e50fa2109666dceb96d1513f9ae699a61bc34b7d7bca5c9327ac6dd47ff27f60701a185404be361d2fdf9cc47238677fa3ac413c514a1fb6bb633c17fe81b0cee33aae2083eed5735dcef40094cc3b770adfa447480df16c7be6869f6be2c32c1647e14a785affdc3770af72f75cf0f744f59251212fd07679b61c95161b27dd2ea095ca3472e6f46b71c27b231dd44576635e1794341790b6831993fea1e34aff64f27ab71df6fc760ff0c41f4d87ba1739ab9f9d2de3f9396c641b4315fd59bffd2ce196e551fa2f40ab4da7f6950fe57790c8554a78a4cb4529b67ee15a889bc2da9289bcbdaf516db23df3696d603c79ea4a6297d73bf04a3c68661d7f2397ba5c74b470ed5975fb2816693d2be220c9b79c73fca6b98be6175f2ef881f24dcc9f8be7cb1bf0e60dbf8efa57bbf79b4c41d66125753b722a5c22a09c05af2a69d44141a5dcc3dd9b1e0486159b865225b50446a5fc7d28cb9285a4c843e5dd47922ccae3c360329b8e0ca54f2ebe369b6cbdbed360c7c04bbd823419d4c12cdf7690872af304052ba7694bd6c5587ee2031f830d2ef8873a626022febff0d425122c97d34c83d663f40bd059a59a172826803f747f9558090ff4eefe844040584933400ec1fdfcd43cca337cbdead943d84d13a06981d4f5b1a05db70b9fc851fdbc9e1381d8fac1f9622a87bac26b677dae272805ded374712619b2d02aee5ae02fc13105fe6a6d4cc4c803164765cc30e2ecd9b18b061a9668adc89b5af379b23e42273938c70687ed57ce1781d08e2466ea461584c26f93118c089f08362f58696cc5470449ca3e80fd2e304b77468f89d5f80315e1316ca611ae904fb78c158685a3429bbaaab6149e5de5b15888d2a1d3ad35a789dcbf0287707e1e3d83750ba73532bce8f88f4910a4050a9cc832c0a2759551513d6f123ab959ccc88ee8947315c8c28d3820a25d85611090f0a2d10f9fa1f56e2fd928aa31aad8397b0a1802d65dd374276f12d49b3653aa6d01a02555218dc054619e49484ba2f2227b530c91783314909812016d2c829b02354538cd1a9ec4bb5e692218f719f668ac3c134e54b03a93fd0c80de11323c804b32b9c33fe3c86810c9dd604920e48268aa4ce26776b70311140626f4ce8e0c2de00d070c10e65c65a34729b785985de2eccc4d2ace2b91556b96b0af22eec2478223b917eee8fff1b953efcca2a22816013aee887f30010df0f052201715bf77f0cd42b9964ce318f1e7e831eb3334a3c2bc73e359c50b77c84a7b9d5f7d3359db76ac365208325a48301dd451ac5a0d6abab60579cde6eee3993d5028302635ca5ee9b1af0cb20b494041643485a77e992cf101705ecb393575c4a4d0c7405455f5068bd21b0e4ae51bd6a3e18acdeaeed5e89aee4339433807c9cd25175fe222560761065106ed329e0565d6644278e3fe8e9d36115d32f3c30dc70d61424c3438ca47473709fbf346869bb3d3996e8cd4e5c26ea849dc66b797dd823577d7607fa82733f55d164134b680fca3727cf647bce317a3a63e53efa7e975e2266681ef02e75a348a0f67110082b8ef8e14c06f0ed77907e218d5365984f950e0c14c35d450af058e5b871b2d744af2a12fc79e10b6470d2626daa44ff73a8bae19ddb54667f2426d608288073bf5d11746727d3381d1f4b290047716bdfad8c8b1684db583defbb5c5f96ff7ff9c7cc118ff0775da6b7b58d02f42125c0ea7a6d85ccce799c41144ee894a359017778e9841cea9f91209127af68d954aab0dc635326d31a3746bb89e00d8514828edcd3c37b5ebbf8477458965c47fba981716a81c615449e01a35d068c95dfa392a38fe1575950b57da624aadb4d09194b6e983c915645cbb601629a0e1d6d44df34e7745366d58477fe58fec16e84102bf13ebf24d0cf80287a43c7910553b53ced0b39b12d250ddb284dd74c1937e5e8becc85b6f5eb4a12a63102758805d60dfc1966e0aebad94e6c822ff4148a3b2f3fc4bb4a18d86090330ac9753eb8feb5fe1d9257b4e3dd3e4f580f354c32988c0e0d321e0952b02906f02e624daa386a3ee38d332ceb2fa525aec5d40ed410cdefe1d3b68ba466d7ffea3d589382822b96883e4989317929ab7b2423edc66da6341b0ec3995a6f7219ff0a4694b2dd0c57b73a035d34b36222c832a8a13b7a19e15b3d6451cf3f4673277324050d4089c11ba45e0b881436f5e0a59301edb02ef2b45767beeb125d806133983b862eb7b8a082b7b208a1fb80013b88ce34b70337ca36f18ee71ee150695f627686dda66ec4c8a173e5807008849c5dc7f2a7f47417f103f3f7862e6530a34c7c0f04369ca938fdc937de5ed3caaab6a79738daf6a1939433e8d53ebc1261a1853f0ccdfd0bc86d738eb4fe35be5e87553d3ce6f1da6c308446010323df11f51a0854c24c67e354cfd9cd52062e1515ea4a9e6e4995d0073923d9d0283da899ed90aecfacf11a8e8eedb2cc43280071e459bbc2990a5848d7c8df6525feebcbf954a7adc657e27b2b43f68317eed7e22e42adb13d0c689fcad4e54ec9557b80e97b017dd4018e7a0365a2d6c9376dd485f2feee96bce75ed8ddf7b885a3bd80f7d6865ef2c9b1b0ee34e15e1ed11edd2ea5f816dce6676e6ca541c37da845cbf6da721cc9244ae9ad80de04b946d9dddb30363ce5aa74c190c1addf705512eadcacb6ef87f1127f14435e38d251d498f7e8f3633c1c22d5509e57deb8bef900066994d488aca31aeaf4dd5270ec15a72f06897c727207e7c3d169b3b88719e7865e303f2e8096010ab93c8e84a236671c83abfc976ed3d337b8751fa71a5e7a26f69ff5638326c6ed7c17d38ca1a340062d51aa57bd7e4ac0e9737ae6aa509b0e3097be84e96b33cc3b7e763cf972282413b9ee71852b5a1b3262d91427dcaabe51f386f349deaf78b286e0d75d9fd96c19c830467cca16a96d43233e9648c6aecb9fc1eb84332722e6672853f5e3097c1c635120a4e744fee78a3e96a907c9560d4f56c91540e1fefd0a36eaa5faf95baf17015e20987796f893dc70d58d7ce993c1752978e84c481ac4f88c565075b2e3acdfcbf34f80b3f5cd4148e0a0fcb62721e007643863d265819ae51c0e912712760fbaada02688e8af840a2bef687adf6533d0d9f0c15df87b1f635cd1da827f84e2692a102b2887b20f54cd9fef94f5c00d6b155742d3d80984c66df0e9ee458faacb5e8f3a11bd5bfca9c9a9352389bc41ab169abc22f8875bde12a2d0c8db9fe65b8a6e511f67786462695dd806f8a8ecb04614af74250786547ccb5c7b6468343579343bf29dd94190e24e7f1062c6103811a8076963fa9fa5b438873a6019bfdfc9c0d1bdb4c470f1f9e0989b82c6143cfc63473d5470f67cd7b7e26330aac3f2cf7a48e7cda7b2d7e846b83d0f351a50879d19caba0628b15be60258f15832fafa621218343d255a1a7f784473f659e1290c58b69243b46c82e360f3f6d0455760f577d1aec8aacfeef78b550b4a0b013758da748bedb4ef515cf3976f548f788b0430022cfb3f119b97b79914b77cb81fc755658a04d57a46a1e17a53213d14e17f6ceeab1b7db0fe4b67e89140e7ed3c86b7b3746d3bf98b91eadc8d7a6de5fb001576cbd60e54fc9f689cc5aeaed7938945ce2bd544033b17fd6e4476ec4c425ea0e1bccd4e081458f8af16cf442a69dcc886cd6cf6999c9ed63ce7bbe546212a9e540570efde3bd7b9765ea701910b0cf934fd93273bf7efb13b1ff4504868ca6c61a0480bd660d8ceca3ab0fce9ad9e89cf881912ecae9452517b44f9c7b70a76fc8e7126bcaab27b379fa86f33a31d1ba6765f8f296174b8899a2b2176d5c991b75be9797dee99efc23b46658d2a0951895053a65a5ed877fc5ea82fa5d272721a65fed2520b1a8cd0304110cdc656ca6046272c3fe0e3fb2821db9092eae557ffdf83abfbeaffb45b7e7c90d4db3cd1562287a4d4efccaaaa8f6eb3e54719ebb7e3f8e6d6f255e19ae82b9307b8c4c911aa3f5c253e4604a1c9e607d8adf65bd33a1a374ecf29f5acf02dde335c09702c9c8ad99cce5ef86c5e1e40eb39c2b4b9231ea1e5db8ec871d37a65f2f55c18b6fd748e485bb6efd9b13d656c6e3f7a9009a4f0109609431c0c41d743fdab4e4becb92fe8c770ea564910c571013e7d02e03e3b8cb78c42395ae95db495ae56e049805e18604e862c40be05fb3907970ebd84d8dda0707e619b7729e5ea8e015981c9d26d4494df4de7ea590eb0094e6f7c87dcbaf34489d520540b3a8e8af03695b0bc3f7619bc6ca098f9ce9a9ea2481d9027729cfd73950a34efa276332bb037cf752356a724008e7572e60d5bf96739920d79af9d0f069c256fd1955f1a87deedb538c4555b03a112d829d480fc1f33222be0260125048ca56282d6842bda0230db816fadc54e7dc49b6b751de3f65763418c2f63b0ec4815fa698b3a82f975901a820c728bfdce2d60c1c8dce240037f595fd139f957befc9327771aff93b883c55c633a436865b6ceca02bb1c6604e82866599fe1b028fde0b2890a26c27bf4d13ac9bca3d741440192a448f484944bcd03d4a24a73f9e8bd9de78682c66ccf0b3fc9dc97b6c4ac91b6596a961047e64476b8c9d023f0cf4254bc95affc17005978a7271ab9c336e4caa48dc0237c770c067bfe79d3f7232a8653a9ac3bd3307b2b3ade507f15173ac8b56a60be6561e977800718d2d4818c647d089785e979ded5f59ef0b894625df4e79dcafc4bdf8aa5b803188c02de228138f1caec25b4a54505b1e5310d1d807e5628a30cbc87a8c2473c67b45ae884a3cd52f9e865abe2097db4704247de7c1e5a1728befc418cd562b58cbd5f993dd5e29ce9b23ee4cf72129c92220217e9d87ab77f5881225e5290c16825bf90f1e5c7d8e819f8cfab9c6e1b24b83b72503d67d9a8a14e503349c0e4d0a9bf2072947af917acfad2897f051a4f0aa0d7d3d27b11d5324fbe20b93f14dfb3691a398f416bb0e84e7f339c42543bdabfd9c0e3a50acdea9053376c63cc9b1cde182aefe5b9a815006626bbde923dd51be6237b812cf0bfb463bfb16e1327c93fb082d5cd97eea62172844aedf3b2c6dafb38393903a359c1b31178b587dd8aa5a9a3cd1b8f18912ae87db46c8a1bb01388c3dc0cba0f29c05f80aa244b1927de5c8a736d868f068919e48ff0f0aa3cb5bd90f07ecd3fd8456cf1bdff7a3229de9914694ab51bcd5796d0f256d897070c9a38bc1be903963c03883fad4248c9f98bb0d81d4dbf7875d8672bfe2c9f1d8a9a67f9bac2c18cf1f92969589b39e1acb5ea080fee896e7c4e475c0926ce019bce268f21b8646218c0de72405ef3dc25fec6fa0fb3ab2e0dba32fab5d6be095546e99efcd07261208559c09446c7ffe33a9c1d668edad59c79e017176a22ddde3f8a8d6e7e9080603bdc6889107784bd848f2ccc2e63626764eda434e810e61c5a0efcf4734e4406d57a89573ae0f2a9e68f3bd9c098e202cf993ac4a902d3e560abd906e26b9e90fe9ab773e89b858d0f7f3d743dc5cae7892f9bcd427c5f5f6e3b60dfafcd1797e5f808ed30a0c03964d2e94f08f01d5198658eb74d2485e3ed513c044bc322cfa9f431f5360d74bde5d0e7d4b16504c6f20a6707c810dcd6adfccd6a4b1c184481f8fc39eb64349d0c5e62ccbec3680a2d28e502529bddcbb14258334f5d3301d61ac3eb82ef019accc8c4d2acbd69102ef00c02cc77fe4b8e7a052db76c966e92e63e0c5c97a19905b18b092e3d939ad2639919ad88df47c0f34660a2ff8ede615bdb3e99735866f133a09cc9ab2902b7cdc89c05675e3583518a75cdb105c6b100ab84f7556909214098a7b8d10472ed77fdadf97610d81d1201c1c22414048084204176ac0c51e8604d5ba9097817833f6379b377a73c37024d49fa7e1051fa4efab84530ea3578ee0d164bd847a40b7991f78de1cf07d24ea1930d628adbcce59d9fe78fd5937c45630db35860f8f5fce56246c4c88959bfeaf36eab70d2e7ad3b05bebc9764593c628d5ad1d6cdb4b2559b796ac482c48ec2d4ac04432b024f385ac2bdd78cd6fefde8c6623b5df578ea78bf3ddadfa86035a9612085c4e53d37c5c3478607ab3c3894d0932f80bbd006fddc732771c20b1e56c1ff73b0b50a4980414698e0312f3c752ca305b2c2da8cc785712606a3b5be73f3454f236371bdd4b7793b8fc355e10b91a3adc62507b10d2d79c365c3bba2f28383dd0b05f92f3e836daee16d29456b386d6dd067e1243e26d08f880d904c3444bd0c1185015b9e3d0940cf43de7a918915f422fb9b32d4de03cbfcf93c9959fa4d4bf3f00057d2791e305777094ce15b32a0ef479f53f71bde43f6416e35fc751e5175be612837661c0072b9d954ce3635c10df497e35166bbe3e260acad2bf10397791ca1c012fae88a610984ce5e2bed4d7b0e183fe11d214068f5d4270968266a6725842797f9b2a96a96921c97e0a4e861c77639fc84ee80d797c4db464be0838913f15e1571f4c1bad2b6c9783e694a2da3b2a97effdcb9ccd3553b28db0f8ea8efe41a517a15d878956d47456c786e7b007cff9d20a25cff6df4f3131f872fc655ed1e7fcb65a9d7df02298d20233725ed98ce272cbd975ba6f8e96884a1a3250508efe88cb633b30a212ca0711bf81b55dee8fd8e6476aa7b961ea4e7b5df352dbb4bf6b22558a0fa7174d81de975d39c5f1bc5af1a6081f3a88857b3422815171119bbf280e6153016cab024ac98e8e896f24310ecea9d47819ddc1a1120c7e334c91aee4fb8643f846db4f81fe239cf05d0123d7bd43cafe852b4642a887d90e7e9ca5c76ff9c9a9f43eccc0f8530eb78145a2cc7b6ba4a453931fc809bb4fe95924d8ae1836271ec178a5a8b1e8ebfc1dacdd8a9ad0dd3a7c0e1e0071e910f2b0a7cdd4bcd819fd4c46199a2bea4bdbb881d35c8c9382d07186544706230d5f8a4a71c3bc286963b79763613881169c5c25a50ea4190bf66ce49378c57ff4d07e6706c05bf646fb7ad406df0b5a1bda91ede213bc401098e8aa00abc46e205ca2144d3b4db12b3e6ddd03a8ece1ebe485dd442fdc56c30c1ed82ff98db67820c628c6a88d0cef2e02439a342221cb474f93aa7afc2a51fd92052506ffc54dff3e446f5ff0d4b12eded82273cd0e6976ca478e8bd8ff82252be9064b071e797c9d245ef4f467eb6b33c498d10808cf27f7ac09b45d43883603683f2d5044dffc6dec6b16cd12dc952cba739a80fdf7cbb8656997fd7306cbd69122396a1f540d29193e958783f8229aa9acd61e8e91a08b8a0c16a3e22106152b92224bacddc64bd538955dceea4ccbe194eca059b4dfc70f77b0a59f6e0b81e5f0fb6667761da19350c7b1bfa20690534705fdb7f8270a11c2b5cfb1d532b5c1f76a5e3cd35fa790cfade26b24780fdf1156840cb6b29f3289efb7b98824d70fc3bac8b727b567f27d66f8b62ffff2b39749c6cb8b417fefd576ad578acbb15502a2a21a6ddd84e35148a91c20282a22fa84a8412aab247f3b36f7915ac93ed8f6db8a6dbeac38b0cc0ea5415423ee6ee16978f0706e3716fa2c07f1841b5373730e8dc25606c9813d7feab6b1c2bb32f417df066a52092ef1786508f8fbe16e46b52428ac13de82910379ea7a9b3546bcb742bb40fe984da14ea96ad23ecd0329d1c564c57c4212871fd0ffe9fb43e8e7f5fe70670e6e54bdc4308b635243482338112381c92bafb7e1b6128210f72f0393a8e0845915dc991f4156d940f0c83413850b51af90256f5092eb2ebf26a32a379daef0dfb298c431a513207d941e4a1a276265276784bc90eaf5d9f883dcac365f399055d72228a531434d5663d776ab5adb28a62b03d6d69bdfbce498d81d823f4cf1036b2536cd017b0cece27cee7cc59fed0c2ebdcb7fb0697a637faa3e1d671fcba0dc707c138a734715a2eb15ef35235803dc58afbed059b72e51f729134fe8c527ef212ef8115acc6fe6d12ae26a42117bbc020f8e5e562b8b9cad43729897066f9847b74bb2b16830d99e7cb31bf4e2dbf014471476524744d9045f62a4995dc7abaa54251e2002572c63724d497281fb261e3a6c1e3c1260f8f3b1f613c8230e233a9ff0bdbca0a84fb2f860cd47f2877037ce63eef703bf9be49e193c502656dfb42938e8f36a9e4e18f282e7e84db52e99a6d4512e2a0dfabcff985d60cb40719df624096a97389b694f31b742b5cb35def6cea5f927e35334f1f388659753f1f2c677bda34d85d00c333be62d521e7a4b8d179e3a8975b5c76d8ab6723c71321bf82e9a5ade2eeda93b3bdc8de8ce91a6f9fbef70557f17012c282bda85f78e0a4b909d72061ce59bf9b8ac16302923460b790c4e628d2c995226670484607337fadcaeea8016df42da457ade4e6cdae5a7a5ad4fdd0469c01a7c6432396fa4624ecb308791d84b851e5426786d151c18c7574b6d15683fa08bac16b7c2afe7f4a36126a00fdd986fb633a3b8094f009ece56e01244eed6a1c2ea302f4c2bd6c89c985068293ce9c19ad337615d66985e3a7cff9e6b31dbc02ec7943d102185d46f000ef5ac261cdaa8a01aae1ae21134aa50b5b528568f5767e4c17d4605251b713adfab79a2859f3f6770311c3d220597719f78d2911b6ca1111a6b98ac4f5ad01eff5ea97e4af49213afb32d5e9d18257b80cf6847fd898ac3036e55b4101afb906cda9a12e00a7d6410e15ac07c99834cd3bf68d4117d9394af0ace663b96ed840911650a2e65c929e64461a064372c248bcf285ed94bf6c14d4e40607a1afaf8d6bef03ed9327e27417c20dcc9552eef629b64f5ec8416450b0660993c01ea58d006351220a07b7bdde46e8e89aef9eb8a31b1c22a6f83ffd3242e74e7fb5b8de3660a3093dfa4abc8df9d92c0597814a689aad60dba4cb0646e3ac3088cbccd8041de541ef955b9528362a2514c757f61fa300dac2745cb8001dc593ec421ec3315f47bcf92d21e9790a2794ceb2f877972f898d277b9490abcb4561c273a3167de14e573cc129454dae21689395be6a12eb7905ef2ba93a62bb8d1fda8073d6db474431daff157ee39d3551b9aeacfc367f4d112fa1e0507dac921ec5cac867c5c73294bacfea9b0f245543d133b9dd73c64bd57139a10174d81d28a8e42856d0ad8c121bcfead60500c289c8a8fb4b695b5c09da2f0fdd51da811ebc85af114747ae52a9195950c727bc39fd77b5867eefaa66267bf2253461960e68bd9c77cb143a5a528badb839f899b0bf937ea4564ca963d9d1abfd13e332b147fbc8d8742005a68481f8728bbfe5ae82a5140cf4974a35faad9e0647eb2b01802b3b68af559bc084953747c65a5c4f5844288f21fd0791348b67a2a21c7b5b7c7fccdab37226728c20ff6475e0db2cec8d1c0e4adbf603d9bdecce6c872a718d892077c35c901ea2896c063cab630f40aa411db35d8eaa6a53d36abf25b86cec3e62c54bf5621240d8cb2f66f3d02341dad334c4cc79fd11a74fd96465e2c1073d80e3a11416f081d9b6be8b6cf5cb95f6c5dc11cca89e6fea039243fb8816c5c1028a9d4bf5bf9f5f74df12c46ae50982056694cd9c293f61f0f00c105388971978664edb51bc2ac9f84f321e39462c4f336b9b9ac48e10ec5288577f91ccc06b3eb31eedbf1e002f0e408da4e764ff508d886ef70f9bdb827b7155187ee65bfbd3920d32011e67da4e5f0f28a88b9eac3f5b57d8ec617bee7d644da4ef479433db62a4ac422d475b80c7032686d6c17dba18b740ad4f18bd3447c6449a8fb2aa63fcdc9a52f4aef6afce36aaabb4c1cb67e44096c682236f1ee0b4634370eecad767192125d28498d62adc17f6c52ee47eef580f306f2d68d00c9368d609df0178c10006dbe76e710af8bc0d922204b388a4aafd9643bd4f78591f1df58715e0d5e649887f659309b7ba93f1932cfdbb4576e5de4fea6deb0685248e0438d7f2044f01cdfe6ce5196406dfe711064218a7afa17252e370185d23c8b4ccceea1aaab0db412ae399f6756f5b7be98af075ab00deb77e2a71bad93f908894d5641b750bf61918b47773912fceb11db767887de6399021d88acecd4cf1d15565bbffdc0419f8cad6a5990763c429b9e07e219215b29e71c3729e95549cb9e27d99aa7a4c26504c74a72ed8170e6e646f42a56afce08304e7f58a2f69bf9e32a210483efd98f6136b8fa3cc8508e663d3750e5ad391d34439c4ad02efaa7355925ab2b2fdfe0fcc865e907aaec71cfc37375a87a336b18b90c466bd4b7daf90a6015cc4344f110dbb7c1eb2df63f7d753187edbe487abc1ce4ea298ccc37aa7c69e6f534ad85cba9866d9be9178def4ed60d5ab0fc717a26566cddf4cdee922d4f622b763c51326939d52838a3a4de913a51e7d0908f3fea39ca6dd6cd44ad59d24ad5cb22576aa5a51dd0cad84df5f3e00e0ec415e1ca151d8bbb602d83b946d3ed511dbdc1abde9eb948a8be62bf019307374ab4b1611ca18881fa49137674d9c2de8c3ef18358a4aa1796e8de2ebc6d6c4cfa109b5d9e91e3760997225a871b749f40423c762ed01b6579ac77e08720a34a7735dd4a82371cf5c88b8366b479cdb171b0e8ca14c6a2d28d43cd0e632928b1d45563c72b3195f1e314ad7d98d5b239cb199a15351b1cef747b965a811dffe63a84679c5a9c253e0730800ff933be8e4e9cc77fc52f40c6f748f37dcf4e209da77a0ac639270c043b93a5660addc82191edc65937b5047d6a713640b41f48e7ee36c9a9e20955d61d06ceb0344407ee392a24f99ae4fe6149e09ab9b240b74dab3454af911faafc91ce4cc2cac614ed59d9b3f4362898910f8da508bea61c53736f2a5f0317fb118d83a1f28e2afab7972e5fa1995877d9628446c11b67fc5560f1d0ef2545ca46ef9f986f5eee825bd9cb4e7e099e6fe2df2bfcf281c074c0ef4a831eee2b073c17d45d1f1acf61ad86b4dcaa8e8196043d4b08b7bbb372431c6f03a2863901fbb47929093605748bd2b18c10a42c1b8772834d38ef0f362b5d87d5d80a24fc83be38f54c790ee415045656303eff669fd2304c69d7326e384a4690cdc18ab328cc64914a84fe3513eee94672f4e8c1137ef1f8def8f559a46efe1f205800fbaf6cb89e9d2a880526c70af35515c329f2ae631437edaf83a62ddfae78be7e7cfef0adff3603208762c7af89560c9f6e7d8510340ffdcee55311fd2b9e1baf028a59eb139b85693d8c9fbe86869066cf4f22056d966bc9cf6c17632ee5331790f067661c3026473cae1c929d01bbf60fe52b9361d6e6a002a756af8a59a87bc7937e0330a38e0f96c096cb2db95ffc756553d83437456f3356e3c4d3e8ef844bd81679894c62a99c05649f91bd4c3c51b4dc1a2d2a89179520854574fd3d583bc257f151d0dac9e1ba33b500ad1365c2408c36b8ab8c02b9d9d9a16b3ad980de734bb607cdb33d83d07b4f6b48c5de154ada12081144363791cb60dc45fca42d764cae1cd702d245e60b2edfafdbf2251031d2b6fba431ca82b2c5ec4664664ff8f89363f27af2cc16b7442fb3f4eddf55514b22a4469de5caa66eb6abe4b60821e516a6393583bd6ffce81d4b2083c4e65c522b31eb06a490056f14878acd5f05116a627f6661d582383dd1b0f3a33c11a78bc274892656620fe557a15693d5a11989a7a55823ee937577475da6f18b194065c6e79aeb8a3535031ae143b286db87f524ecc51b8a52261a42430ea74dca65129f91c7576dfd5e5f24b78486c3d5843e0db73b14a858a5c12d4d8ac955947ad11b62cac344edf54a6ea2fa0c59b4504db3ef3bf71648e16c45e87b5e185d1ef1b0fa176b167cf19a1115e53dca9ed87df699346068aed5f0e23e375245c6bd84f525ab789dec555f81de70567b5bbc268a7e50307c85dc37ec31853fbc73a6dcce9ef448447ad6b70f071b85a65e47aed19b5157df8aa2ac36a79aeedeecaa4b8446f55187b1f8bf60f591f3e635209f0d57ecef7c2f39e7f39fbea797ede6a2167b68d130126a49c5d2116ed53348b57e456d0c5516ffdfbeb2817d9b4b3fbaf962dd42e462d0c02d8bfe80c749580c9eff0681bccccd5b4843ea9443e87b17f70249230afe947afd39c0997d3975d356b5482c1cd7163a6bc55fe940cc8448f5868cb8d76292d1966f7c8dfac0269d930080fc8b87f9b5c9cb58bf6cc9b823d97fea956cac7d7eb2a9ca012d21195a628310a5480f5a2a4f1d5bb29dac68d906ad4efcb578e24385009086b20a15511b57cc9b6f20132fabce0383e3f984d7479ba3f3011f161dafce6d34754e8b79e5f63934ed50ecc2e5403b6a4e92e1a9db8194bbb771acb32aaf614f2809f41fff928094e8e2ac3ed913e6ca0905f39e873724ed2ddb6cd4ff6b9410583a93d5ddf448722c2849a1f7670bfffed7f990f3b7977b2e46aab5c5595a2f5b4f989fefbb9f480207355e1a5490ff1b1398cc45e94f1c433c6a8f110ae584670808368b0e71e8b2d3adbcd9869daaaf951a03a4121c06b387398b81886e9ae2d4b28bc58eb2b4f862b45286e923edfbf3e333fe43029374f7c7baaef136d550bcb2cf19159623cf27939bfad48cbff448102a6e164c347386cd1f7843ea63af85fb52c12fa575e79380ac0776fcd46d0f840b2eec7c42f678f2d6fe40d2d371d1e08b5e0353b6577c474719e063b615de77b042048bc4a0856429b3e83dcd88e4fe96a95e798a9af94e5ed0d7db9c3102a5c7135866898f4773c21f46b6b820b3998bd9d5e7ddb042caf22b1a5d30129efacb41cef58b1f2533991231b457aaff85389c0edefa37bd2ca1a2d82831ac7c87dd4dd00eec24dec810649df5e29b51fe4fe140dfb8c3405dae1eba5b34bc52e3c2ff56990f90e06b9e08ed50943344ad26c33ab0dad8820983b83b7decde5cb383cd7490c6dceb88389e3182cac0790476b5f7fa841b3899463d44a9e28d0cc15f037370ca365c62d64465fb6918c0d61d871e5538bacbb59662d093c1a9cb611b4375ee93b57e6059ddc863d88e620d4882f2f9a93551c637a310fbda62b8e5c81e946a4ec858160a17e401a37c017653ef48e84df7bb4d04c0b135ca2332648199f224d344868979ca6700fb2a0b73fc34462aaadecd2e4ce4c5e866560067559d6e95faa4a3db02e1ddcaaa4cc30aa553dca9fd2c2ff5503bb1c4b21fdbdd3519fbcf20fe4a46c01057e50ac5d67925fe2b9aa3800c5beacdf1fb127f535f40a68a71c82cf1d1f9755b49af3e1c8283206c398a9dce5511b68c4aeab6c1b5beafc66bd2d6586076fa92140f68b4c13b2cd5d7fdf8c6065f088e5f3484b7e98b7e0bcdbe68018d1c8cf58e67530e159ed26768e471735a487b67fdd9236f564495c54a74af92dffe1672498356cd1e59b3ac06fcdbcd0db57d63c86a52ca0d149f0a00369e40d813b39d9ef19d6c05bd241b8a542d03396ebe77d3a30f4136c0d68b120784db68ca8fec087558cc54116ecfdd4123d05401740284fb605a59919e8ce3f1376260e2910497677cfb784c8e1f38c0f46dfd7dae3436e0ee3f08a90e65b8c8fd89efe5fcbe72f5550b9df7f002902067c80ffabc9326a42f72f44e162667e1cce1bca53d9c29fbdbac591e86fce745b9580285cbb3d8d31569c85b083bf360a4c37babac26d20a5b95fc4352620c76322aa9b40cdce20148e12e2528f3083bbad4ba98bd6abc3a904c6a742a52a22a0fcc6a8f9c962807b8fd4195bdb486def135b890ec3c3b012ca5d90bedaf8876b141069f6725b0510901bdf0fdb275c4926a8ea81b1a9538efe4fa6eb7bc9900df45c0e115a9c8d6125510a45d26d6055f88fff00d440c50d44ce72b7993be138ec20a4d37c4fc50606399abc8c90131744d1c302f46815a34b7bea365ebb3972442f3a0563924f73b30546e1215004fadf8c707e2d996901686dddd305e75785c064aa4cdb34f442d5d1f18d3a2a1e55f87001c380225dc53a4e24aa155a97b645139ecc7f8cadc53ceeb389052c4e3e78309053c7a3a6f9e221821a79c8dc881fbf888bd397c66f6d67fad64e53923bae350fc99879e0d1b4952c541c5557e81737296db0fc1c0bd2e5549c9224899782c34a287a3c08b27be25564c134f918e8de1c3954658181f0f35d677a84d31f4e297c42da14bb650d5d76e5b6aec24d719d9a5ccaa85893e813ed46aa94a15400d77f56761a70d960679d4febc02031375b2375eaf3e72f8dca60c042e6a8fff6489399a05c03586b6d502fee3ae884f91a9bf549e48a59c0bb4d3b99ef549f79ac6c66cd6ac38d13e764b8ec9785cd4e83ebc67155b6191c5b013bb5545b9fded697ea3edae126200361c3de7d634d81a06a85e54773d3f5bd73e92457784a49a3fa6bbe4bb72d26a392729dbe2b84c4b00a77b2be46d3945705f33b5a8b754da34bd63f69406cd70a08302a7ddee8968e1897b3c129248a84c8d05780f6f4eb01983c64af2e7b53443f833a0277e9768f50f35c3c3b6076f30ea966f19d156d84ee9277d6c999566ad210fa2e6f990dbb394f434551086d57500052167dc987cf3fea95a927c788deb8605d4b7d41178e53b14b72808aafa9dd2bd9293b4de2d302e54e2d7ae71265bf3afe82f050aaba2dc91dd1d9ef96b4176a67d9557e846c4e9eb0911dfbecffb5509f871392954009a0623301a416db005d3c82a9b9e8d19d79a8695c3b9256170919bb84eb49d2429c81feac68afc7c5e73af13874b9a813b2d06c3cac2aac4a7f598dfcaf9221388c06bfbde3bf176f7648d6a88a15dfc7cf6b9af21b43db1755c5440bbd6f80a842d2360685635e3fdb3d595e44357895a9e460c857f48b68319cb683e6ef6d72eb123c359b16cea5d34dc1f369cfb52dfb8286a996c606863613b70d416a10f7ed2d97abcca27e4251b6e48a6cc0c8f274991e642c57c318ce6dc5116acc6a3ee14e02cd857370cc9a5d3b9a323a1b43e685472e50874900aec7390dd2e8ac3731e0e2b4465f6b96baad9d5eb2fad8e6f74d391d34c60a5bebded4cc3e062849cb151021f0cbc49174b1c146c111467890b6e4fb15122f55d5589649e90002264d8157a678c52889d627b5e8f41416f1e0f4d38857f0d8a8f84994ce5fda635966757b6f7e6d0ed8c18806100139b3844458dd97f6e05af88e665b62b41d8a77991b470ebe5fcd60afdda081c2fe2ec57d887e1ee0cd8d8f71e04f065e7e78001759c128b7736313ef5d7fa6f061c32b56b54a75cc36302aee55bb2de12cca7fe407a0da79873ad0ee5ee3ce48660d7fc8e003cd4f92b434752717330e6b710b03e3a38fc6dcc1c691c0848a32fd3f789e4133f0a326613ccb0b36cdd4d8dd061b5dca3f2cafa31ad5873c04ed77add271fe64f2d483817a0a40b79d25e47eb4a6e64dfc7d2b31e9e6ebc12f30779ba14e937318699489add5c2e04bf33f41ac63db981e2027ea3b42472ece19b877299c00b2a43f4d0b8b38764c2f205f663a64b355fa5b27e363694557152d873f7a7dcb4d3e65d3c0310ee62b447f95926752b574ad37bf977e7b73ecd154f3dbe9c6f9df33e19c12da29fcd320bdb4252c78a365415ea7c0da7f3699136cbc4f19d2f914a4bc702e7a5634525ba6e4f9264d47a828e359c46c2555520df1144d4ca13f197f54bd5b44ff003cea668bea9b83df5adeddffa89bbd5cb2d82dcf9b2acabd76f5997f04cb77816fd15ccc48a1d84db9ff0ecc46bd2b762f5e979eb9c237315ee5df5d1036756ca91a4d19b64d7c6b715f18ead48e8152165536d5ebe405cf815496e1d8add95e94a61de7d37486adeb15eba81180bba27183fa5d163bdbd570c09b2658d93dea9bf5ac22d9bec0b47dc10ead871136f636c536ba57fcc40d95d343d63cada1dc0ede83db5e74e9cefa2db9f44aa664d540b6f54f643ea9df55d75e5f58b20698142fa1b8697172cfbe34c503d3a19a770e9688799e0db69ffc5d0bfab66a86df3dbf1343bcbf1aee38aa5615ed23f31a283298a81397ff6bcf374b4b0db33beb7a2b5fea1bf9ab25eab3fd07a2eee5ac7d47234981cf9e8f030bb07bf9b6672aeeb272a1364eb6a8176de3324127f7497a870c9f87b054ac2d8f4ba5ca8845927637b71d079647a14bb668e8be1f93277550d4b58ed4f8e7edefec2bebaddfcac77967fc98e96502b72a6154818254d2a79e3cab30c1cbad36ef3c754ce0bea7c44cd7514bfa408aefe0b4271025a35c2625d55bc38578539baaac17695c689984bb43dc1027cd9ccdf5dfe9ba1107bbe4d46a5139345bdd1e3372ac72b563ba889b75b859310444b1d53d06b012bd8fcca59f97d7fa131f7305251ed1469c72b5dc49dce9220bbf8f28a142d7489b2c2241145e4833782fcf9f13c9c97bdb63685ee7da1a16e0baced896511ef02812d3c5edc1706a008a5fcfd02c79813427f110377eacbd6963ffafb2e044e0d43eef393e47744bd49bc300497c00a9cfcfa8558b5dc6482cdcb3940c9f7fae5810f84fff2ecd5dcf3df8586faaab1f1e09eeee6d9437484ade29a85186fb4ae632c00fac7b363a9f04ebb55c1dea3b6003dcb6a8426143fb69095441c82be14478b44c08439507d1475626c45f1e83fda1abd9bf4dc3ecd52b60d2d77ee7603f5ce305160a78902c93978b164d521f2f06253063f2eefcadcf3d93ea0e95d31a55a0dd0b64d5aadc39c4ff592638d1e977cf53982d0349b84ead68328b5d55996ba5d9f70af16893596f40f5e904b2e8213d2f7065f67b3194f07816986653629788c08bbf7b1545c638c81b4e73dabf49bee680e01b7a8212320c2cd94add1bef7b53a63e227264bbcb497b5f498167837e5816ace1ec413f86e89ea53c314f940f0747f0e92913fd0ccd5a880fe3a98c375c605c5997e6d93adba1ab60025ac722e3fd6c3f5ee0a6e8bf819b587226f0774cc90c376c83f3a291fd0165fdf629e3267aaccb2009e82fe2a401edf2e92638957c8e352091e7a86495fd42fe86a77f604dd9cede79ae8ee3f3ef897adcb4de0d72939a37d1cd845637ece3a6fb91811e92bb52cd7d0ad966abcd6e424ad66acaa3f41c97b19a7252309c4927a5cae20855978b6fe6027580e602e4b6f670d6b03fd66659bba2645b1ce37b9fb8e6affaa831df383e89e3b065ae980999d426673b002dfae8a7ba29453394dc8f29c8051fb6c39a3672e7ac47d27c1ecff0676fa2a73a526a616c2be154e9bf90d502aa7ce5cf330af8c3ad1921c3761e06a4c36a0daebff366c6f03955c881b232c0f48fef19444fe672f7719bcca5facd19beea20798262864864f3cf54bade894f3ae18f7d0929e85138feb82648c29ea3054af6c97124de2339542380b059cd51366b4929495087936b6b9fc21eb4dda32947343ce5726f6ea9467a72014d7b9dff9b85baf06eb0360f2bc8624f6a438237bd5ab580b4c3451c72561f6381d15ad1363af5a293b4534f8ce405fe3720fec414bbdf62506db4cf7b6cc8f33afb8dee8304598d645f95adfb93973d2c3c46aec9c44d3c32e00ecf05d19d9f7a95267aba0e9292095072504c62598038cae58a12cd2bf6580010c93f04723ee4c2f20cab997abc93e2d065656e3c5a233545919a518c96451a8bd35c50a24e69a161398a20ff54777c4bb8c417df7783e8bf4926f81c431dbb045d1fdc5d2316e274fa89f25381e77a2353bd7a7081790e1f793703484dfb470c4c0aded5fcde1f8bfb6bec6c357e7dfae19a4d6f5f9ea4b9a5e9e42936816deaa82b0228422fdf07481c846fcc4b740d171fbc5a31e54847e4ce0a1a4cce14fc8b0ccbdc84c2777c46e5c5356248de3844f2640f05a0b0ce2303beff4f3aaf81420dd66b8d2b7ff4309d1431d1355facdc0a5809f8f89c0a98e9986f5a300a52b88bd8f6cc9316de070b7a5571ae6ba7ec1b01ea770eccd7ba080ab379caa831e402b848804dd195d6de1d920ae716a37185492a4871b2a1bf8ac2715e3766061e4f9cae2fa239d70e34423293ae6fe6edcc95a3998ff40858533841ddad68a2ea7644acfc75aba60284ba0f0a65e0d0118fee8373b836ccddb21ae7470959e7bb4ffc452588a51d84f49f7a82fd9b41cd2ef6b7a108a277198c7821afc6f0206d7f1b54f1265d5d69f3573f21cf11bb4b0c79e1efa928c418015b6d9c9c618629fa077f1b471829710fc6239a8f8110b8acedd1921618966783215213556acb43b2ad229126bf3132e60d69bc56a240e7deb10b11f16514f1fd393359875c41aedc8046c00c98c44df4cf727f6f1f27fa86a3fea6039c7af1e1c1f703695ba99310e21c838b6c09461fa69ce7766020326887c4b0270c15d67085932231ae02b861d4b6c417c557bd3c6c6e05fc6e50d794694c02fd21af2bffdb09ea8bc1fc359dbd419d8920edb9097c8f587c9e423bdeb3165ce03a9a1fdee43e061b9c5b48e98262ada6cb7c619491782dd74359aa5d7a2b71e72c01bc8412dd271f443d96b6cd472a2b75c3b6efe234ed4bd87c6e065d928698395901acaed92020ab7d64739a02d6ad81130e089ec2f81d43948de910b7d8a44d82ec8f99fdaa89ad402acc1cbbfea14296d962a9a1ed7fb107ab3387966425d74488e68d737d4219297605c32cd38a954295fbd6cad5eb4f4f57f7f3c5d0ebec8786e512e4cc9df8586c3a3b459b0d6e8aee061961f957584ee2468d2b5cdc3db8807996bb815997dc9687485ee3923e33bc609ad9baab4047720da3f8126e4d402257b68fbc1de6dd68733243a7af495bd00a99686f87e6e96ec659db248a3f5e408ca3307cde1033334f5217dd7bd95eb126008fe68863f6ae672e9443d0b365538eb34c173cee2e13f486dcb0c0018bd8a9459c3fbed15e86fd948abd0312febd7dc650bb1ced610ff0c701ac50e8d4a31fb44b820daa90825a23181cb7f8636fa17c584074090f04d5a8ef8f0956bfc5b75a16390cfde7c029e599e8aa4e95ca09185ec88ec8d393128b3654e861b48f90fe938c85bbaf544f9853289823025af1d41afaf4da495cda24893e3315879ed72684c244852a57955b22f890d97f7c1bf66780ab64d33f64a939bab0a607b2367086b50f44268d4346cc59c41f5aff0f887b54a02f6e982fa0f952f78042d51fe988cc70d097dfbafb89ba68119af88e415394978fe755e21bc0d40a05c0b0d69bccbef1eecf69ad443bdf1bbacda82a94d08e3ab080eaf25ed2e5802830ae38d65f603cc04959b6836c29803cbea42bc6b1543cc257ffc46a9fcf87ef86216d3c5eea97f8ee5ace316b64e09fc5265eaae21a5994d4e1d1f05d0c56298b892a0daeee2f7a9015975df0b8c80f168e5ae8ea5ebe8b4e2dfdf8a6a2880fa041845e728a41998b6dcceabcb5087f3eeb852741ccddfb5a4e2aa419591d86747c42dc8e88e311e4b7c5bbd7242fedc151767e0715162163b57e7694bee40a2fba02932daf3930227ac58aeaef71105c7d9d6c73fe78afd893403871df9d36c06bd04afde51402e2e2fe7eae3e1c55e7f04a1700e4f92dea53a646d9aec170817d1f99fca83fdd9b06e7a16eb2ed067ba02e75df9f809b2feb36d1add88b23fee5dd2f2eb42a800a8291a5956adef39aadbb88b76fbfd9140bfddf429651b77ce5c3aca763a4eeac76b26f1f4c985dfc90e04182095efc9fd0d48d89bd214617b1b7a6bcd17ca1502f4f3f093f4ac3a9c8fcfe5c6ab10b6cf6630d66b028fc196ae4af92a87429acf83e325248a320afc0131eab7efeecaba37d83c1bf3976c49d6fb068986b26783006049f75f57806794914503e70e1d7218a0415e4ac0474e742138b0419b5410912edf1f1123fde618b641238145e7f361a0fa0b0f3ee2053360c05f3fcde291f9b3f7d96e1fab647a67cf6e446eb25502b09cd46589214a40a9894891614f9fd397b9bf49c586711c7e021993eff3046f10febf189e0713e6052c19dd19eb3823ffa14138fb3a478c3dab51d9031f994357b7b88584c8d8553ead70b43834d30a459a7b4ab12d7ac9111c729f2c2aacf1113f1fd3a9663ba05b500f02286543bcbd257c540c8f1f69ca7e76525d0c727fe7eb3c92ac2ce497cbde27ad6d38601e462799a54f8c22b622cede8defa85dd8c1e5fc215d160201f9388c81e6b1c59163fa698434cbf5c24b53eba3b688c5ddb8f69af12e6a20efdca6c4efd74abe955cfc10cda919f58e98929c05543d197873abd1f7e9400e3dab5e1d8311f8b8b76d2858dfa74916c4150a60e8830ace32892cbf6854badbc68855022a2f1eab76eff81af585bb45148feb68ba3f5c1ffab6d9ea04f6c97893db0112f4725bc6ef5e274aa08f0303eaa619fdf4d89332f357778227c2017a83072659710ab746483b056567d59734d7c7cbd0d6b4e895534ed462fe55e2cf68d9c191717bd657e63d5927edb80b82741316f1cc3b9fe589d31b83c0f3d1ea48df3f37384543f05469443d8262bdd8ffb3e00d3e252e2e4419ac404f57ec77123abca2719f7c3f07708c1ea1c73b5ac646777bdf807325da580faa992e4b8647e5c86dea240e12a78c4664a82e70367e1a4da17354c9c09427b6030d2a6980a34cc61aea3c6fc1f0db956ba5f87d279bcd6dc556f3924b3980cf8ab89280df5598c94a1cc390f0fbae3025af6dedede7fd8e07d50269e2dc0918ab53fa34907141db9dbaf33b8b0bd91f9f3fbcc6a5b9c0a6461bdaa39e610e1b007bbc911f2df175448ecfdff086c41921fc7c6154105bb8a1c2bf32cbbbb792b7bb8761820e45b7cfbbb43046ce5ec6ff0ff1dc07cdc289d3b0028af2f63b74012ffaf954b68490a34f066433a5a6f98da0ebbddcf36a8ae9538893138271141404b408a6eabcf479c2294882f232bdbba19b4cfdc56e4b749c4f4340150e218baaed920cef4b1a39ce48d7dcaa7457d12128e6fe4bfc145773b48381a8ed774a6a8816e096fdd73108795f9e6fc86bccea5c233662301c586301aadacc1a5b05248c577fb6d8738785857dbac73cdf6a8b96c6c5c2dbc32b9b593ab6b28de665d673c3da8f0e9ff641ca4d29852d0647e3f56150e8a3756c7191985f8bcd90b021f01f9ae78af94e9153e6c42c8de83d2c6991e169e84ee1fbbdf187ced9c900cd92ad31f2ce396128907103b40bd746db84a837d2947bdbc49a8499993ded391cabde63e22ce9f70251df27faf49989c1dde61879dee9b4ef95c2a1ee1a973afee0104ba80d077351a0b782d2fabefcefcb0c7bbccdeb0df1d0b2add13a942d592d56f34f0c0a8691ad176f13efe0cea6cc6456d92db0afcaad72791f1690f46fc8fb2a3c5515070d05237094ade3e5c611f79fe3e7ab3c195e47312ef790188ff38a60d1cc9ce398b23d34a3b6ce687ffbe4bf735c4d694b88d919811afcbff0fbcaffd4cb9991751f7f25ea56be6764ee201261c54f8323ac799516ddb39bcf8b4c0c063cb33efbba1001d53eeace2dbfe725851dd05730377dd7c079a4a0e501b2b67f3c8677b8129b68f59253a42633fb08ec0d7407894b8e4d1c9893137b4f413d566f48bbbfd76df1f0aa0c34163bf905d0d1d1e0ea42e724e7d59f54af6c195c1cb732292882906bb3b59499996a1c32f2e073089f93a20eeb05c43ae16689b6f4f1181cdb28f876dfaf384bcbb34d7d216cd5cf5653fe04eddefd2e0f8c6126ad0be104cb6290ff707e9f9bbda472eb4d38fa0c850c2bc782922dafb0ed235a1574b82e75b824541e1e609446f3b33200ab778a1f01eb27cd94b8ef8f1be174d6f239704424eb6262459d67f3f67cbe27f6e412486d668965f79e35ec9002141f7afaf6c972d42a17cc7cde0637a049113a2d486b11e728ed1de844ae66561df420aa88b35c568c9911d805041a7fe8ed29beedf9c232fc161c6d00a090faa60e442065cf4e670c056b63a11a267abd6c7c671baf71cb14b7987a717d70ab9455f0caa12b98b02e062608b98caf5b6a764c4a58532014843c090f7ffa1bc29835bd0ed7bbe85d58527c79184d4c9ce246104def592b13f69c485e76f7be7c18efd818201d77d0d15d52e4c8cf6a271de5c341b1f357a2849537b11a22b0385b74364f6505ecd98308e6f7b16ea8bc9cc04a2bf74d78bbe0ca4e5b930c837a83ea736c6461d98b05a96afbdf2e9eac874250763fe92acb00430be0ab9d07ba63ff29f0259f03e22f6bf482ce3eaef6a8f5d885c82167151ba8494afbbf716e50072ea81e7057dfae88965e611b86d27f5af6d9fc749f37abbe0346d52065c90a49f5884289a1ae5e8aa8972d29545e5e8670c70ebd3f90813f472f9772c59ff4612f76719f4f6022f2c0ba7cc26c8362c66336f03a9164778e25eb1afcfd7f90d57a1187c5994c5ffee4e5d6a087c60b8deea637c8cf422df83efacf90f42865c9d030de453b31d0bcaf1355aaff0a1ff57698c9ab6fcbfb9e261221c5d1fb1f3b95e0dd99ae631321020c34803e69099423edc18ec8bc739d60dc44e576232f599df48c3a32098c0ee0eff6d1e4c943a445016e996e658d155e699819689c4325c4e992b8d5b3f0dd371dbdff138a07cde4cf284ac5892d517a2e501cc53ce2bcb7c18d11ccb24acdebafe97914c7fec4a92a1ee925301875509b497f133333d7db36d24eb6ed2721a9012fa49cbd2e801580628c15ff877c3cf0bdfbab5872a01c4bbdba5a030c355b16984ac12671d20dbf8cfe7d87a1c27554fae225d5a9e767f009eb7ce81e58ae24ab36a451e6bfa15915c8003f4a7b94cc57f6ce61fd1d11c8bb108bb3ea4c12b34188d22d2ad19c539b7d93b07c39b49389145ec8e194bd4dfd92654f3d16b3a96467bca7a5f89c441be88ab12a5eb63f166647428517d17c52eea867a6555c28ed432ee2fe91e10c8f5c1b04811fbaac8e713628a755f7d481c66c921dfaaffb1f8ed02b77599710ce22de9b37c4ea807e81a575dc4d20545cf70aec6eaf341355efc81097f361e4a604eda94e1bc40e632b09e1f0c740d79550b076cf9d0efd48444d5b07725102351ea2b45660334bd9f62160c3931d1ff65c6ca95d9348efa1975bf8354b3b00f2521da5baac1938efbae4920204445df5eb487a839d2e5c7977039cc6ca28f6ab54d7d87b947f4ffc3fc3d73dfccf33741e8d558516039a4c9d37b33c8eedf2e0795e738ea12ccb3d62e82abc455bc7c011bd2d246ee6eaaa2a8cf019661a945493be9747c7cba5369896940532eb5077e4247dede3841f77bda9802eb4b3bf28f22ee55b7fb34dd0397edee9079f620ac167c5a0ecb3e7532df5e0a0d707b197c5c12b168332eaa0edf1ec9d61df5f2aa0b96853361cd77f8f92b9ae49a9b333ca2b68881bea5890d51da69258b6be180c1cb73221f34ebefa195226721f519283afadf3bf18ebe5459b9cbf18c5745bcfb9261c5954def4eed5b97482fa34dbfc16b8821f928c704c7278eb874cf36b3833a9fbdc644c686e13fd9eda677afaa2bd24659848ff00053b5dfc26f42a840c8ce40f7a132a4df3122586582876c4c3de13cccadb418e024a4f704cef31b10d4ac9f0c80a05cb3327b7e2f63183211fe6e5b47adf1559b5a5bbde8048282506165ee5a68063bae9beeb8671b271e5cf4ec3a22df0064387707267e2566417bdd653f04760c6dd2aee4a7d6ba3512280f51a27eedc22a1d8e5266070835494756be82a4d450270aa3006dff2fc2641d486ba33785ec30d1fcd9d760d834dab42fb1e75a71a411ea18eea04530d1b52b59de2953ac39a1b49b24cd67eaa210516639ea7f3a8972e205ce8a654239709ef5fa468db135492911ab6a11f58678d83f0b6aee64330af1c4704dfcc62a239829572369cb908d42a040c76963bda432cfba16cfbf425e7b1d47b2cf5b663de3c5b7282ac1ca39d07840114b04e762c2a07b708db2ce38bb6007bb8325dc00066a75328f2fcd2ad11a751d89df1e6ebfbf0fd70359d83220ce55ba7b1582ac25494e6a23d01dfe245984fc0bf7b1ead7fac0a63b9ee00a4b84a98a4c09f140d478f9e6df150c7cf6f19493a18fc7e23e3218c2d26ca3873288c6c8eceac0572cad56be7b42c8b6f75be2d750bc78e3485ffc47cc9b149d59aaf55ecaa2564e4cb144303c9f020daf2ddd8f648f37dd91646927314e4c93229340a0e877acd0b0bf67e74397477de922576d2e8b7297e6742164aa05f78e64f5b05f6ee7c07c8d4a1a101dfafda711596ab732a79494c321a4c11978afb9b84720184cd8c908215817f6f37a03c066b3836934ed2dbcb46e8cdc9ed0c7db747f27ccffb3070a9ba0b364aa0a06f84724e49afb4c800640b237e7f66ecdeaee8535e6246b5cedbe6172c9b38edb2ecdc049aa50e02616f8890f5edf4fb7d204e396901a5190c9a097150a3f8f25e155abcaea7f377681e46cee221e681f8f3c8da2d544fe40d945203d7d87ede3abe4faa438357d07c29d427ec4b7657366ec6fd15adba22eea00a538b3dc5dfb886a8f6caf86632e0cdf3967e96fc9f8ec571ae3d922c9586949e8a87b6aca525b0b763f2c16a290d7bbb5b46c54f7a41e24a9df3d54dd9782bf454fcd26ef66e690bb839b16daca6d01268ca1306fc1301d6510ae0f7b73cdbbd21a54246f2d2910523bcbfd394fd5b50ab386efe33d01b9b8407be213f2aa05c9f69e212e51ccb24b0415dbeb3c835c68860387fd6410208bd90e3981671a649b78e3c7ea4682dd2e6bee358c98733969d456594606165ad6b1fb985f49730a62e2fa8ea0b5e8c1512d4e9782d55729071def7dbe77e0fc47b271d618ffd8f166cd66f8fef4a0d79111353c08c2735757ed30bbd111665ca56b3fb23c5cdc3205428d523bbb6ccbc854864bb1c5e450a2dd555bea85c591fe7e5547358ed99502d413c313967391f1a189669debeeeae88ca93441017584949153da6024f81c932fad20c9a7c77961d4758ed2c33e1d3e1f35841b9a764af6e4323ac912492c3b49f08859ba9d2aa03f1e05da0bd5a614abf93580e81acc5a040250e42351d0bb70227964811e88c0c6e7324c4212ef4fcc28616a200f4b92598e2e16ff31479b4fa555b355c7ea5fa812a6e82727180bd26dafe36b3f664226d3ec7bde3140b5092a82206e8877757d3577397320426c19de89581809325850676bc0fea0c2f9cdb14e12eadb13d5dc2dab341b6fdd799cc0c7cd7b1850d6b95db49a4c686708ecda2cb5b6d5070dc892ef4b4f7a722785f138e624c98247c197ff981c111df059a18ac162f7b4c03933653402acdac6fe5eca20293b0fdc3e93aea040c4f04d3f214a44bbc13724979f3c9c8b06289a6d3396b24e585bd06b84bdf69cf4de9f529addc000b27629b8130ac59678b65d54541c75dcfc830f579708affeb6dd9fcfd044bedc89010f3d5c70af09df66d32e937eb3517eac05b928335ecf44dbe842c761e78ae09f6b97abc7c9edc7a65a17732c68779120a9986400ec9d586535f2a9f7f82156565bd3710d15542913b38859dc136755ac31798ff1d9ea06b618ec4df3d18ce3d1bffee84c4c9ab1d6a4d607bac94efc5d6e7c25c7e929760db45682b68acd80af1b059a72fdd85c1661f15a2d21f2494d879fd2517a7dfd2592e2ddff7cd81cdfff21072b1c7f4953007ece81ee2e147508fcb7e3dd4d9a272d2501d3a0a9d625d9dd994d23cec2f7e241777efa357448f1322e2a2a85148a25562a1f33080caae689baf007c4c8f80648e02718bc24926ff152c9d646e375704ddf7a9cb033b837c0377f5b8dcfd461ec7494c2a783973c7c6f0205b1e2fb421855e6db5aaf6994d9343b1dcb95c933841a080cfdece966364a562e0c3ed7298938ca2901d5343047ff32089b966800488cd8995c2603983abb4243ddb22e6f73934bf1c5e1acdf8b7bb38aeeaa701fdd4972b63a772fe542bb62b788899a3fac760c7f0e1bc34da1912f478a5049aa3d297e7deafbea132dfde7596c43921f736b0652ceb388e40b845b3ebfe3dc04ae993163549c7880d02fd4496bf256212e000f064e43a3baed8a902fc12cfb61dcb5096b177b548cd2f4cdc533c22ad6426faac6e5bffc9f44696902ce88d4b236f875e3eeaa28c9c93b4fff49a6482639f960e9f4910a135cbff3e2712917028ed46b0c79d2cc8dba150dbbc2eb9c5fc8339fd0b499a27451183775c99f4d92bce355031309ac06ca06c440d1a31c63ce4c6237376f0f65e9005af98590b4365cb8e4d25b2e02790dd0be8261677cb8ca89539726e401b09aef0c825aad3fbc084a189e8089b2449e954ecd1dc0df86732c145d9050bc763d568ed111e5cefdabdd1e0fd54d00ef813b44c29d902cbe91ae6762b4bd20e92102cec971a28bce801d74209e264fcd147453402960d0cb46e3be7cfc70485d9546ddcf553e149bcb92bccdd32d9921baa0e348234a2f84d2671ab0f16f2a45c38ec8cff2f8559a19b3b017fbf465d7faadea6efb3c23a837db07ce8df5b5a1b71b34bfbc171f3038a27c86440c588111fb4e19852cc2df7ec4664fe74481c309af8d42e9901c986bf565b4a531fec7b6ca197d2950ff20068720ddbf4d4ac6f21003798adf433f3227f79f5acec6bbd115964566e91268d7fb95d18fd391735969f40f8bdda4f2d892fd31a97efa03ab9286da43d11bacb4de67f86ce5c5acecee6faab023301708d0ed111986e58ef9072b522e789ffc9e298b7abe6bb1342a08da2cbc9998ea444b1862a02022d75215cf239fa14c27b964998e17de2511952074df9ecaca687b952d8de6d0ae804c27cca9ae18773334a950163743eb1cc3664a9fb6fe82c08f8146c9856e1123e9c5a1b5ab1d3e5e543e0666b618671478b33d607a7595bca47848b7f2b393ce132f996ad671ba202e3b503fe3a3637e184b54c3648cda6daadb274fc911d3009c96d5720b736d8cc005ebe540e31f255153ef51154f56c8c4f4f5c7f7c9f040815f580d6b465cc436050a916ae4f2ef346fc28b915a9c8162aad279d73c0e7275f52153dcb1d9b8bf93b0436c8afb9c687312d9e04491e1ac76897904e7bb83afbade80f1b2f096b96d69eb6a98780fc0a728ddd21a59d87ced32629e7b4abbaa2e43a86b38bb32381b990d35d4ed59793c4d562ec1359225b01498728f2ddadb800a9ed8b758a0343627ca0533226276888303391c2a86efb154e437392f888716278dbcbcb95400f2900db11d1d1ac4dc787491ee9e11b505108276c29a1e90239df345b6d102b89bc5e447f7292e6b933d6812997ed455881c6f3173e69e9638b368cad9e72a69e1cc0fff911af79d9a608a61cba19f9ac702cfbde743067dbeb96849f73fa9233f8f3dfb878faf10537d728c43a51f80fdebab74f78b7a4e3a2ac9294b61900f0357ed510e17e479853eee71d196bde06c2d7b1b81f884e4b83b6934f4d42cc25e5b4307874c89a8d21fa1d4275e2af33aaa1bb33aec19f099567607189734437d9b11b4a55ed127ada8bee0f1af02bcbd735c6907c435b05549742baf05181a5419611461326544ae4f5797b967f1edad523151a1b4ee453cdfa8f5253d746f963cf68cd8561cd2bdb0d7dcdff1e32c728b89510fa71dea98de6dda2024a244d3e325fd55467b32028622f341abbb18d59cedbb7dd57506f63ebcd03543fabebc67c494c5307fb753a0295c127dd2a70f163c9cf164d4853cb493680eae98aab02cc76b4c6f4245c00387d2ea76b9339a15db3f28d74c9325a5a452866092a02b8d5bb9642728a2db8a919cbbbe4505b3f26653aad3b6c0db4a62c129743e525833f81231acdb202409f5e92c10c7a3885f74b551ce0f001b795e63dc57400052d5bb2c85ea76d4e6ea85211de6e96789c12dd89a23c4a3c074eb4eed442e53493c43f6fafed84dd375eb9d7264022541384ee3b6cfba75dbc891fe58a152710c1f610614a710dbe482177d732150b1be6211fc6a0fbf8d59af45fee413a71b1de746d45b208e96c0b253247950811e4a47b5018c548462ff8ba54c17c54cb5b7d3edd5eafa5f332b0e0d8ff45e97c115120ede6834e571aeb30b3f5a7225af261b474c6f6b8266d2f6c7453b48627589ae7226704ff92fd661819700da31efdd42e1a48eba232e1da00aef8e1fa3a906875618287765896475c36cfef1f9160491b78758f5c1a67dcea517eb8191d4caca29914b06885000df60d0152bebcd15301dd7e5e099550e77d210b8dc100c6607822f612196747b843a89b613e11153f96321cbacaca025f317427179cffecc7688022a145fab89598d5cbb0a65f90b78c82fbf03553ed0ddb355a36be4f3b55f81e9de3538286f23f515683cf0d08ef69b02fe9ad6b9c60d6b1637cf9d4926f5d3a90dabc77e941191aedf24ad1fd39df181b12f71e6fc9b6e9aaaf25146c1dd1695f2ecadac23ca98f19786de9fbe07f8ec6e3ab805d45a83a30a8ce6c3a1d7cdd9c8ac1505800b7ecdef6b8e66986507ffe4cd3e6e9300a292822dbb9af1b1173bdf8dae6f37f91c24b76c15ffd2af5387f0be1d956af72d5dfce83928e9ed306615c612e858d06a17b44ba8d3b9ed4292fc17fd2689301ca91deb3f5d29efbeb68d6e83c75bdcb4a63ec9c71f5a8117a302f23c978410ea58fc2d138eb679032ecda7514c629cf9165380d3a72945b59c098166b2d8f79333f517780e9dcd05c30cda6a6f9939e3a1b61f30b3d084cfd8d37c0274db6f51eeb490eb0321570cbc2bd1e9521321cca01354b05b13e803f65401c6e0b3684589ddba403171e4bb750943cb3530c843022c647e801a5c08239d5a5639160156e4b79ff3ec46a37ba1dba14b430f659a0a9d9df52f6bb9166266db66d05f3d994009b86db7bce397ce80ed6adf9ec6e03b5d73b390203a4f8cbd2404d8f3c4ca92c271e8561e128d40d8edb13f2cb30c1b8e85cd4d5b4929620795add71bb536b85681a356676e9b784a9c9dd1acb8f6ef58c66a038682765b7bbb7802e70b0f776ff37f105129a76563319fd45189e502e7d964cf5f4c26ca7eb4647590ce40514eed107819c0071a35cc8684a4dc521a279ff80fc12f91d204b87532978ea7042f5f22c8ebb7f4ad96b4fe08f4ebac00d6e3074ddfa521fea2077a3988bb6afdec91d2e2160ad3fbd622e31a7900d21a231bc64c4a1d34e9a85339dd5ce97852d617b054f9e29694364aa5c556b298b389c02aacaf708ab6cbcc44a6bf49079259c17c190875013e1cd037d9854c31b3ab4d7750d775d9d5efba2428bd66948021fee525392b26bbb615e3c7be0d57ec6e4499c75a87fcad7c588d65b4ae214a40ead6d42ce1cb39b86c2653b9b9b112aad5f2baf0bb6aa4a9bd01809d9c4180bbd2d6134e2ba9b5b29c198cd7c97028c7e505fc1c34367be0ce797d358c27610fb227463e14ba810504cc401ef6e3376cd0d47a6b30a0b3e2a264651626cf3ce4684b212ed72112fd2af9142a7fd4e29e0588490d1e257b0db07a1798f7b8f7a0095521cdc7ac3926709edc8124beab46687a04b8b6b69f5f28e07e89a8f3ad9807b768c2f66b254154e0f4a9e62ee00820cd6405a06d6e0311b54efa885faccb79c9a1065097f47c453f023125c46eaf3bf41724823f5efadd4c4837f6c5fba8f62e9a10c25a43fb7ce23cddc6cb44ecebc2595a2b95d2302e1c38ba8c45307c0cd8f50c1142619a072775aa0cd7c5eac9e1005950b791cc01c129e06f020737dcd32b49494bc9451477c4793d72c1e12802c86044d61e441c8f130942a56a8ddcfbcfb3de6903ac3f43aeba5666735dd9b6774ae1a7b6d541ebf2d4762afbb240505591effc590c1aa2cbd97490959e2cabea3ca90ecd147f36de89b1f4ae37f4f700b19e5c2ae2dffe945b76a436aa69c6b26bb7db697a3924e0a9969accd2d364d10b33f95386912f8ede7cc91fde5650d7c383da6839b2b2cb0eb9acf1c596b3413038dc3933b1fcdc1b00e9596fb020dd36b2d73fe1fdb572b6e09d9cf44fb63b6378fd6c1c628693af03e583d9d69219471ea708be7748ba061aa2b2e89dfa8896d1becd596bb01c5da7da2b1bfe59a11fa72ca4f3d5c567fca95ff0aac4d739f5a2489f88dc355123e298a93df450fb62d7a1e92d63e7ea08ae5a206b6d078dc54216fa193feaa7e67c6664a8b8bfaf0fdec2f8f8cd01b8e5aa33956a1bd7e7332b78b6ca1d42f2bbf95c63ae465d0c21851d7bfba07a675ab97672642610d5d83557711bfc3a55ce178adb91d15d41a30099233d07685eb6883c303595f1d4db8e304c14b12aadbd02d0f979934c76ec9581a9f46614f42efa6424d8bb9d130919b72f718f7be3bfa4aae8260e94f7a384a5a2180f0988c8a00c1ee329a12ad08c6808f57b220116624c39c3281ccfce61f4989b7fd2283fd38152236dc0cfcf7a5588ba557c6b8cd95620969f772e6cef9a3b723e446fff9ea92229f943259b6974d000ea9bdf828dcf7d5e8f083ed6388ee6cd5ccf053b9ce4fea5f512254396efa04c79f0434119ca48e7e7f2f3cb8273e179a7331ec1969eea757c16e8b9aa96081948f2f05fc05149ff6a748239ee658a39689135f20c3212019706e2bd45b1eee1c7cf7091af05a8e3b3a21a8419796509753788cbad7bace9f80e4bb97a11ad08f573fee61cb02f91229fb42cc0380fab50c827861cfea4e60e740b1f610fb1654bee757d56b14acd4b79bbcea0cbd8c1c0e4a7cccc40d78a17daeadff1ce004220f9c1c686b00cd1f2efdffa00eda3c9e307a62bb769aa58c9b6681842902067c956df6443d47e661f952c936a17e4570f84b754be2be4bf46e44d6cd3d845ac2ab93747f53a3d5abd31cf9ab6fc1ce65de74cd0b8616e3d4a6bbb7defe25de26bc5264fd24f23ad8a2e2c36a56c814972659fa7d7ccbf1851124e09ada850979955d7a130f4d6c567151151c1812e6dc8b17083f4ee97a55db0decccd99f12c04e6671336e6d18e1764895c493d206a075a3fd833b80c43d5f1006208786efbf39d768ad4d3ecd6fa55c5315a19f52180fd09fe090b92d2e8ab5aa97fc691bd240df7cea7db8e304532daa9e433c6932584cadaf99eb60d1830d3042a8dd2036a606d4875936ca6767ac045abb69bfe38c24304cab45814ee1f4d1aca58c5371b93156b48366b1540ebc0fc0470e51fe33e10ad26c63b4c8824a5659523daba6748ee19e5f16ab99fc7d79ed4b9e3085327e1695d5150d9fb3179aa5711d2ce4ca6a4892372b879c2e328093e35c449f3f92012ce2c9aa94e21f4142505b8ed65cc884b95229fb7a39069ccc7f45d1e048a0efe458fec329f14e86766ef072e5af9841870752e1c6a21a3ee23df36841522b258cc37cde186fc896c5783d46b024dcd4e39bbb1a3464632963cf6fa28fc295577b276c2396b58d89b3d12b8a6eb2a11ab4231b46ab091f8b6550820eb8794e1489c83119c0b24665f47996db72a4b70361e5464192fe95dde8639115dc536823f94074b462fabf76cd9dab644014346a20335244f98b1d47a152cd6abea357024dddd4c00487022298dee04d913d2babce36bba7e8c245bb4dba394e00c8ab49e5a679b4305625ebdf892cede05dba5068c841c047ebf4616956991ac6860874a436dfa9847182c7a009b133cc5af27531f2d9f89fba23ec4ca0c26bc82dd9f1b4ed74bda4c96296cad6b27bd18708356d9002deddc63d17ee3be5ac4720caa76a6c097e798c6cd633f332a75571c5eef9b997c58817f20770de4f8f3afa8c5507cce96ff4efc6829dae72361d04bdb0c3552dea4893c54c31258d70a2099a6535d1e0eb0c9f97e02524b1b20cea714fc2d2cd073410578cbe0a9f4d04261957c110dbce12b7b63d2e93ed9768ea7f7dd40f925a5027d219712fdc81902aed7d83d1d49494ba9181486e254abcf434843e2306872b401d455e0bc2442927aa3194cdc228fa1af07ad84de1eb5b34418445bb71031d6b47dea21022db6e72c9d2a590845f9b64fd3520095aa1ec594e514d53ee5635c503174574d4b1eceb9029f8f31ff0f4a0aa10fec5604e9a6dc2408e1fad626cfd29bf0fe90db861faf0bc9384969e62dda058407faea4740673156bb7b3e10910988c4a0f879e30a94ddf53eb9834101b86eea53ead1a6da34a1eb97bf1772de1204ee0abe1937bb4f711c7d06e5640f47675e826f916f2a5ab465b3f2f1ed12252bd4fb6c7e16b636bdec912985d7f0522f6f581cfb2d05b3cf0e8284fe4211a4ebdd8237954ed6cd3151f2eaa1f8c7629fa4aa99ca18866be973ac1f052fc837bb57de328709cc895b30d413c846694b720d48304e5dbf0c491baf7e707518b8a837c32a51af86ba9f276759836c63231971beddf75cc6f2b8613be2141094c8b64cb463ca8e863f06c0cced91f647b834f787887438405ae33f6c3c2d9a254e75ca21893fe75ff1c76bc68c51ebe57c932ed0a74adea4a90eaeeb1ac4d8838e5d2f98b761042f782db5557202272abe009141976398a49389c8d3d6847add88b8110b71558df057ca42e7ab5cf1d51227238105b5aeb7a89776d4a930309756e16e86fc3df01d83c0a6ca0e7a07c6ba5096ac127aeae0e49619918890b06381162d430ca4c2df5dfd8e2bd36af61ba82a0bb38855ea17090973a83195aa589c1ffc710136759eced45e8f721ffa76d1d968e332b099c24f06af4c751ebe09851c7d6040d456a495a256171505fe6ef1b3e5cce4f2b1f85cc3681decbe509b7374e8c163372970d3fad7639ed1b4edc7db12541d2d736b54ee6ce92ef4571c8b820f0fe667209883b39e3c0977747feb287df4604ef35c9aa69f21b4ee5033a640f8b4d08335b1bba5cd051a40058e7569bde69e12b5def88f070e6f084b835a17f8abfc818f22816d98a6aa7083037d35b6b540a4f4c3760439ff07826b1933b237da5f81b754fa01b4fb3757222a3a24db5356e751e41ac898cf2273dd0f058466bef402fa685cdbf7e9fc0e3e7f42cffa8ce0991375fd797beb8a77662c520cba40e693b1a651c0109a3ad383e2e9c2dc2fbddc6963e5013aac68ecd571417a3b1e3895c69d98c432f5902b2152431a57329c6adeda795c9529fb76b5503af26e5b11eec0f10013219897ac65f9de060fe6a959a5245873ab58eaa0b7bcd18c6d2ee49e4867a8505ef0bde551a10fcfddf8ae65514a45054fca1bf4f46dadfdae1af7dd5028003f2b0197b7a8ea8f950eb909a967de62fc988b9ae73abb0c5c127a7167035844cddf9174eebe3c3f8454ef71124a6d2bdea7f5795ec1d7a234ac1988f1179dbe667a6f28f3a3a5dc17b6ff1e94af7ce8d01ce2bb1d0f2886f55b2543ce4790fd21e7c42234f408f28db770c9e0babad9b13a1b7c4c0f441d8e9f80034c75c61c81b68031e98b4077ac771f0722a3d321ae3bb4ad13db686e315e1912c502b5050cde193dd7996703d98ca9c98ec7ba9a14abe9a84cc17c3085adc7a69a6b71f86050f1828e7144146bccc32a9460098f22b212fb4266d9f8be61570ab7db6649963fc4fa9a475ea071b6d7945406ecfe7b7653a858b8fdcdd61c7df91925ed2fd67bbc8ca6ead6d43918174bb9593fda2b038124f369e506fddb0b70441c611cfbaa4aa5658e7bc71ed527d94fbec3f4ea09a056b580666276e15632001cfed46d3d5051dde113b8236806817ec89f31180e31c6810953918e45813f6dd84071138e0e238543b8a56ca953dd265d2741d040bcf168afc1cdc8fdb78f2ebc4fb15d9713aead5b0a1ea82e38792528106c75796bb8eff44afb5aea32de15a2a2ab7e30f4e8ee95d1e8bb58165656253e02c6d06976e82ccb8ea5e0adcb43763845aa4c30d4fd1c357abe21aa216f5bb1b686e8ffa93212f28009a18fb15b506fcd12c33e146167b4bb56d3ab4ab73433c195de6833835fcac197ff638f835225288b6d60a4f6b24c7ac5af1e6024c7d664c4f69d262ff8aa92191dad5a5e9239cf9217f5067494f11e42fbeeaafa7b370443bd6b379c8f9b74ec6af5d519c1a0bd88a98fd07f421ba8059dc9aef4e51a9fd4ad36b85d8875afc21340122c07cac58e8a333bea905d38952706c9e59ed96b4ddea200b45d51c7ad6c1f512eb56182633352a0a76661d96e6c11598e5623237c20214b2e222d2bb40bdad36c79bfb2cecd81b065e20bfb9a98e15751df90e99fa5fec8f392205e80001c1b123044a5f4bb936678582b229193af2ce286ea25193d27b2a735edefbc7a4f3758a8524c1a87dadb01261f9add8cc091fa56f0312a5d03a7348f24cefb80925958bb0ff978e34734d81acfd0722b80059b30b53b1fb403d524809b6a136c774908126c0db7abe6fc7e9617981af7f1a9921889235325cb4b715aff1d976fa48bad8489a9dcb1d3ece2b88a51df21d682fe07aa54146271aecd023bcb23178e6fa687749bb9581b7e7bb5424e31fea6edded85427afa7c1995e6c1a26e17e3bcce241b1f3a622f497c6570a955a38d2e65c84a333891d19d5b87015143de85e6f5cfcecf04c3f3c82f8ae06faf305d55fe2a0bb664573a49de058a5673fca062b3a7781fb34527f347e586974bcc36b32f58ba97ae4dbd74a939d9d45e943c3e02f367a25273d7208f99743625d94dae5f8bb750e0b1310499a724bf74bc28f54d57b531e71722964c4149ea038df812963f291fdec57c97405cb5b37854802defd14f9f59206d44ce0e8cb6fdcd5bd4601c7e5931d84dc79473e337d5594ac77430c24ee00196d4e2d4f3318e9180e7dd97dd4d1dfe7db1cc54f702c3f5a9f84a77cf651140bd69ae9bd8c9609fc0ff75214bbcc3d9d249ffa33d6d7193bdd4ed7dbcc74415fa43911c78bed036c1abd38e516ac07421575d8c904c31492f4d0ac3f2e2f09d9bef008f4c6201cea0ee546034537b09b4ec93f06b1a3fa8b0414b2344f4c4e34df73ba15890f1332924ad3d3f23b2d7bd3f937fa1592c3389c782ce595fe766c9fcf970ab47db25b15855ea80a7de32f170c5115387deb8be17d0db4d70d44ed1c768fa4cdb5c806ed4d8d29b237d4b41a2c70bf0fb69d7e9d33d301014a60534d5ab9d93ab06aa258ffc8a7bd920632ec6ab8a507adc221af902506d7679febef79befa6e13066aa96e880a671ea09163e82e2df43797b9d7abecb91cca76885e5d6a4c65655af4eca59e5e7eee292491853c6a4f52b5811d8bbf908d5047fc3982d2f17d1177f0804c74d34da3c018e81d048453d9be7f87ac88fda68c0373073664bbdbcf55191c0a692334df7999a53b22b5f934f9f0568e2387e94c56c6b02e2e65409e701b0d2124b492894cb08cc174e2b6351b443c1fbf85a92dbfb9034d17d9bfc2c9b14eed7c04dd60cd3fa3795c027701ddca88648a6d0dd2565a4394ff9437b0118a4d9a088d852282acf1d4438bd10fd4d20ba533260d0404293dec4c092284d7d9cbdac95a54d7ec2c3d0a8a8024acdefe646677a57ec2bcb5a46a3ae663111c5469ff488dd25ac4e99c0cc7573b84e15f032d88d3e27024fd94267aa083ae1b0862fed79c696a14dc7715328be9c7d3c15ca36cf4c5887737c2c403291290812d57d84493bd8cfa3b0434d61ac92feaead6dec24d934578d3d4dc1635f327aa15ea4d98bceb0308907e9565c7df27d69f3b5a297b3ea1e17b4e00d6df541fbd8c85476b5ccf6646fb1681e5b4e924c48097d7bea028201330e74820a300a7eae283a658660e9af508a3c652211d3e471e2209f139729a79b3644c4b8619a5dc1bdeda153820442731b3f4ebefe14b561cde7e3a71d27902e2561fab780d6563a66e61bd314aa31589097a5f9d393b5215436ab0468387e6abab1468885d5ca3fad8a84e750bf2266ffeb154a77e2887484e783907920458365af3e791487ea1756a292c553e3580c0be56bc66b07ac2a82e933c015d3b3226bfebbedee0967fd02897a3d038cf89e01e2beb272de2c1fc0ebd4fcef5c70eb53d7f21e273820c9adfbb91a88a4583f4d5b90051c94c73209083601bba303efc2006de2549679148bff0a0fefc425263fc45d993553d16ce66f374949170b3cd4903bbaa1cdb420abdc2511de47a434bfe1a3631b4b98aad7b293db0433245f8874a8948ddba32f250de50b5367cdc842f8f6225980e78651be2bc6ea34ab2ea04ae302082a2f5c417091c10159d4bf5b7b113a932ebfec3640c5f8a9694c60ffd30cae548baac4ffcb951923923198d00586fd8b5d1c7f38a64caa0d3d1ce9e5f69baff56523b16eb19cde1373cccf542d9a59b15abfcdbc9c51f0e8202856f706982901bc19c7e845af52e2bce3872594a2124219afbed62102d358a5db1b3ca09faffd95ce6229deda19930ac5bafab22124cc47e6a1e97074a4b002909d3daa2f58a175680ddd053bc2c506f425145385319627c82505a214e3b08fdc7a916e149dbd8852b2f6e37996bbb8931743f46695f8bb8085308294fb2a2a5db5cc7177fdd7e3966fe70d0b0970055fdc6e092d42964a6007a8975ee6358a0fbe2ce83845f99caa7ee972d3b46b68d12540b23392dd4e43c099ad82af55854e56a2922c3dce000d5eb74b8f521c37f89a33af4d2bbbfc31663dfea42841c2cad1799289c8d46cdb1b3aaec9888fb6d3ea8e9f6189be3b3cf96a095aaffe16551c2a1c26f95b723dbf88acf23cf9e5317b207360eba81e83ec75e54c64110f8840ad8b3e79b850d1863055e88f38dabb20ecaa17352f17f8697ccc6655fcd99fb31131eb45d9dae309abb22bdae3ffb7cf5211e501270c35cda1c54a20a74f1b3ba5c79d6da25d4e46b989d3f69c7d95a6bedc82aaa7be7ef936336eef3899e819dfded9f11b2d5a1d474289c1a2d8ab54c2bcc5e4314b6605b01af4b0febaf8d2d37e1548862b1c5213ac6adfbd11858ae477530e001de505d6d49db4a36ddb56d62192cea44c32f2c7c4b2f5144090b9e867ebd7dca862dd58de5964a88609931050730c0a5005ccc62002d4135a67758ed0627b9d6bc13f5632550baf99920d6b234c3c5ef2970110ee3c150d9fdb07e6f4edc6abd5d10d6e6d1ecfe5029a56182948754e834cbf29c741fcbd5253942d03bea990c6c18a98d624b0e7ead32d82a6784f62da4d8d2e55fe4834f0657b79f9400957eeab20ade9b42cee198a92d420cdad23fb532a3bc3bf6d920fe2950d1d03e10b9516ccce910952e77c2930a2ed97daaf2b58105defe8db063e60e9ff8dfbe93e93d17f56b7d8761f23ebfb320aab3cbe881f80bcfcef3391df574990a89cd827e476d1d9185fa731a45bc5c19dbfcfaf74c4f1b478095eacd1f3179a2e1a376ddc0d1930182e74f6c58442f90a6e3579ea8d88afdf83e98912aa774edf79384ecf1e62e9232212888e6c17a33c1a405d7698f916c65aad593e3f19288ccec5d076bbcd69d0591d1d0314f3f4b804ed908a224c163c35f45d48e44651bd83bd6c386f96327c57171eaeab3a596c6b2835e2a664e27fb25d6868377fba2c1e483618f15892fb654cafcfc83c88266e489923cb18723da1069d6a4035ce15b660953db44dff5561bbc32debf0bf73642fa643a3b46479bf6bb5de5ec43a679ef6dff5382ba058962572179a85b22f70ce622ef8695bd71487d3c24f4be5090ef9c675f72296cc850e1c976a6e3633a4c77420ba09024bbaa1aa5e6474aa036d463770a87d63a1d66d9e134f3aa4f7113bff7c6c034aa1ee5e8594c854fb4ccb23c3608da3611dfe6d2a57b966a1fcbf2b044465d1748930d41c11d90ed5d01d8e6e4f4d74f2f396ef389dbc4bf0931ec6366b34074a56cbd6186b70bbc33c9845c6922cbaa5294c984cd17e7e184cf4bcaafb940c802c4370ccd11a7aad91aef1568bdfcab9dcc7cff9873b463355ee370aaf3892fa85f055a103f13caaa4e8a57a1c9a77c5bbc9fef2beaba4b1d5277f671e5d5c1a27ef46548632108e10f2e4de3c4501d40483550ea6d6a45575b8d6e63350f5191529673297b5d139edc4f9af6206e18debcfa942319f4deff7ce7e544fc7a60b4974a0dcc846860c71c54678a2f387b2741f040a3cb523e561131e2ce48beb3fd3971e1c4b16b072b428ef143915dcbe2cc5b6555bed26f765db91e62d15b8b35a66a8f07cf9bdded413582ee645d62b57a6ccea9469d795bd3d7e3501f54798ef7094d4ba22d89cdf85f040f05b4b9b20d8d2d82ad0c0b0aa0c0c5d4aa3390e254dec8c403b553b6c9f2f7a0e47fa40834bcd0f667b276135a1f17cbd54af8051a049771bd85d01ac8d7328557c84a9eb174502d9e5ac8928629a939d50c24757fb8733b6cb2ed674a363804e9eb149d580438782eba5a6115534af6b3fd3546ce322b2029eecd2d3c924552857a67f425d584bcdcb4fc59d2a922581f76befdfc0dd0d4eaef433c9238cceb61a9cf4810186e82ae0b4f7786365fd53f4d609524ef69791cf8b647ef6c05f2e20c5222996957c74bdd262696e859376ada8d48235649efe5ccbe94d8ac0a718fc657ac2eba66a23f4137c11d016a4d6e9de5ec009bbc39cffa8637c030f79c944b21e294fe1e92fc350c798cacfc6f020f89495da664e4032d8d7950d6207bcf1b3fd4362fe3844b6f7ec64b142213fc52420704980a28d9b8440ed47f2162d1c3f877c76a1c9a76147fbc0f3d49b9793711aa839a465c01469cf21e285829244e495cb3c9d2c45cdd68f576e1ec40c4f366b5009da79cea8ecbede49c3bb1846a1b455a55fa96d3363effd77931d3402d331ea3bf63d13d02476b99c4afc6c4b3bf38eb169d0bc6668af58c2524218a6184aee911511de044dfcef7c01c90b879958a625b8fdc9968b08b63177ff551a0f725b4b33aab596c5db17de513a3ffca85c2a438bbd9c723eeb05945f031ff227af4fb97d66ccd417a77b8289d107f14207af5c2bad2f15aad7a4546157fdcd432f104cf48eab111314a1b696495936c1f522e73346e772994241e2c56b52197fd99be2120e519f600e062c8a559dfe8323987cb76a7bc5e7fc595e3be8e7405fba03e06573411f35adb135e6ca9f654c616a7c9b5ca42ef4638781ba99169f1eedf3927ab3ca9eadd15f9cd301e4d3c2c86e0049f94e4e0eb5e4248ad60c40cb4c4b1999046e16b1c8aa0d6f7e01ec0de6a6e29bba437c969b8fc11b88a63955b8d32a9e487cc7ea6bcd48fc54f27fca514f02a192ecdb8a5a6d448bedfaa30a9bddcf02ef88979496460d47f5670fcb1c4575d78ef9068e3ee4019e506b573d7db86b58d7f6afd352f87665762af9945f45e43691cb76814566b5df2bb80e3f3d1e288c7545813f29abfca217d65361dd2fbbf38f01b981dc07aef79157a96b5911d9bd7bb897ead0034e371d33fac575527de99a4e3500408f2fde258ea85b31af48e37ecbfbe786abada11bbf189c5b9b09c4a611ce5688be935d4617fcb4af797809a7e6b4ba589a9d8d51cb9bdd9808645bbb819b5f8ae9323d08f404745652e0949a78d725e3b52a7853571bd0fe92c0a15da6ddfa1a0ef41ff8233321576a6849bfb4dc93351ebf1dd34b4e7447c9862b7561f6c0d5a3fbebb39499b3589f1604fd7ad2895c3799f051ab3aa102baf9f1d826e88a9aed983aff17184140a1ef4926aad2a9c69dac2f1f5dfa0ad2277e418d1755263802327d96b2eada32801dfb49b8383d30817b095aa5860a1bf734b6b646654554d7f39d39b2aecb4a2ff8b6304883004965ae4a6c4023c843eef79e242998813ec2b58ab55cdd5a2a7b58f31b0c3ffd1bb7670846273fe5361ad9b7b6c312aca70f6b01a345b1d29cc9760dfd0347742c6ea0a37eaa5d9db7eeb95acf6b489227040c04d12033aa6d27f39175b2d347a3002e818dcb8d6071cccafc6598970097a7370c6d4379416b1aeb3a71d40ce6ec53bc82bae48b74f29f3baff118b86b67feb750175b61f28f0a82024e4c4932003af40eb99f04adbaca584f6c5fa43da54a1bd789dd594d8d30de445b888c5e36c41a40089bb65c651af06c5a526e7c343f2c3d116f2baf11760011c144094abe73a561cf11c881a4d3c68c2c2bbff305c49af2faf2a9a5163888c9b83cdf22aa32bcfe167873f6fd966d7a704594d753c3b53c948903d00436ec5f19bce626a5957410359da33f54e0762cd42eea0b4d10982134f50da6e05cbff1ae278ec81558c677b50814f11a62b00b6529ea29fb4c86cc04864d24121012aea30e28f710805a097907a3cdbf5fe4c6a98240e93380231f7175ad16a754e427b5768701c7b14f6dc1cf2e8a22c9bfdc7328d34d5510c145169bed24940bb4aee7d9e9c7894baa8a909915141cae0394c1cf3f02a0553ae77b39c70be73f652cdb601a75cf7c9089dfe796128c1c0905bb42324556907bd38dac4d26b1b0e1567afafb16caba3cf8133545a1d44c3cd0b373d4ebd65e37569767086458ad65ad4c4d90ff4e6ea8930a10520ba910c6307c8fc3899a636139af932f0f19ebb44900b25349cf4365d17b23d073f4d6f89d2cc73ca580c7a0462da314f8c11f0a43520c5743155ec3de075d2c2bc54312cf1a51f7238a861db418c88ee7f4172ea356239fa2f07ae257735a801a6bfa67f4e53dc1bcd2c0f137cc1fc9eaa0d80321d94bc4d7cc7c4ad6e76cd3a0a9fd6c4c7aeac77e1251f0a11dd32f6f62831be4a2d929a95060134b50e15dcf0be6c6292e80c7e0d5c5522d78647434fdad2cbfbf12fb003160f464069396c6ab9e6fe17df8460610bbdde697f75cb4bf9c5473db69a41acadb25603a01b8b9f24ddd51362a01b200084c2bd00bdafaeb683c7ad86ca253ee0937e08604deb590d760e79358e62758b3bb43237356f3534f63c8a002c12a7e9c7469e24cf7ab99dc4729b353f63aa820b4ec909da660aa02427131b843c4ecc51048928e8983499f48cb96a5de3862997e6f1183907bf7d5a7ddbde6b4d55e4a34ab5f93bad4d472ad4a3a3cbfcff93de8b6ac7008379e2cb59890cd7f4b552ee68edd1ae346a16abde95bf5198d528071076608a277c1df63c326bdcc349bcc61264635fdeb1876dc589ed92df60b4b19aad478f1bf81921743531484b29743b02ae85cf07f30aa608394f7355a16560a8b912e6833c1c186e1fbdba4896f3405c6e0abee15f63f5cc3c0b397155ae25470dd74aadfe22b1304a5efbd9c21f3e2e84fade6b069dd987af8e247ac71efcb3fa553fb4edf2077b5b248faf203d12f2933a3b6dae8d7dc052de71a3e658af52abb0c87bdb58d21e3413c5b4836a4c6d7fa232dc6806be29c89ce03c7617e57970ec987d1d02ffdb6d9881a255364a6bf5cd9dd0958b7ecc6cc5b768dc7b47e2d270a1c202c70be2f8b1752ec7891751e20b701a94c31f0ce0214610653daa95e2b32b085724ba68c72268e3ccfce6b83a370daa4ca21403f647d81d9380a55dd78b0319d13ebe8efef2591828780ac77fc056ca8fa0c4f7d0a34978ac117e9585422ba635ee3d8c37c3adcd90ab225bf62a511a9b005873449b5eb442bb78c3f7d9aa03ada9c5e8374b9c722285b3900a37842acb14f9561653a67dbe2f8b9e1dcda60d1ad2055cdf136b9e58b2128cb6aaf5a1ff94f00ab1027a0e4739f3c1c6b874f987f6b25ec3c4293c54da02d0c4e3e0b156ae88d431887bbe36be13f4394b165bca6373b9fc8efadf0e7560ee1e03391aec85553d4ba5903996a625c3f289c66579dcbe67779e4d932a9bd88cb6df8c53688536b3caf22ac54ffbef07e561193e29c6b154b6d8937f1057c677ac62a143c16c37a85711cccb6205f0218b51fb0eb961c35e871403e2c28f087fa5569e83caa43f5836f5e8a0b9097baf8a0302b0eb25ff04816781a5382ae5e6ecf88303a8c560628ac19d8e2c83b9646274c14eaa9d79673ed4a69eb907eb7bf564dc9e5997e53964426e3f1c9250d5a4eb3e5aa0f9e87dd90182e64df265f7bdd09780d08d9591c402984d3f6e59961c71e825dab456f48110157d6d0ad576cb45625b7ded0ab55e63c0db87e6d89bc1db69d993f70dc79c0b73542a01b3e80ffd0564827e7539edc6eaf0f1b5dab0ab386004a410d5343b29a8e423e4dc53f23ae81b2dfd77f67d07b836ed176f6ce9bfd7c186c2bd8fdb046fb36113fed1972fefeff793d50530e53976265a716042849e58f7a5fde825bef4273a24951c696842f4986187d1a6ec6ad84dbbf69d485021f9d496428ace325ab8179f99ad26710200e3659f073d93e66f568f633168e0e6f3086ca53b3c47ec192fe18e7c8dcbb7f3f7fce470f482d7a98aae5df99d15be2ac093f70d2d90185818ad472f6520f0301783a81f717965c282f3945e7d90286dd2c70a89680eef57ad95b1d4d72d061fcdd93abf16ff1228d2218b1075ca4dcf9c9105ebd455be1da84444073ff1298ca581fba3f2632532f737d3f9cff5493d7592870654e36cc7aba7bfbdb1171070ec23f656ef66134b86a51bfa7431d18ed75862df073eb81652c92387d5036a5155ad2761fe99192cddde209bd30d0af836a952b5e1a29393220a339b0ba3da75df9633b99da9f9c2cf49f3f59b93571fdbd21e78430629c9f4d6da0c659da3d0f86dcbb373aedbb62d4142c6bc9564b9833ea62013f469dee3b00c47dbb3334a1c2230d9c3fa706247a702ad6b26a24314cb44516b50513968534175f5cf8c3352732a051cf2ca67dd99b75b3a19803e58ae39d99f60c074cc93277f2f87a66f452d6d45f85e24ae5e03a0ffc07422c951e0a24d7176022373d1da9dfd44a0f0e04a018c6a8b8596edc96f573e4aa4f9d4ba05dc41ec2a01d5735ee45568de2eab6ca4c283aee72d84395d6a09246b34e490509712e448258320a4e3f5a01757aba166efbbef7ba8e1016f54e7bc923a07a497af736da146c95ecbce71d296076dd5f154da2e9f376e1df862713d16ef65f8e277dcc0e5b8ff3d2b34433e5231dbf96c01ea9eb0f3579994a21db45d522fe2c8193781e4e2e140b0cf5d87322a5d4e0358fb7987b975c8844cdf7f54bb0331fb3f09aa2c5a2e2d7073928da47d0182c8a3d830fd24c53d9cf99ba611e4744e7431c32ad0b67f13bab92e10b732bd3e9a431eea395b21a64217118eff2a6de70f70d07b6f5d84935eef92a60c08d404e26ceb0573e7f84efcb7d426c0f05bc5dfe1ea268190330fa374e68ceebdf65e0d381ff36aa7c4efd38131dfd985143775f6d2177da31e43d9e843583435133683cb08ec9c4da70d8bab289291b0803fd496057ef989b91e6817f426aa3f141be91f2b5a2d5ab0916fa5faf397a539b710947af1b4600c67d42a8616ae8b2be9134c5f616dd7cfecfa0da4d006d80767527f1e6e74d8c4ab1b0923dda858b9f922798fb231c70959a43651cbf418de24bd2e58f9a8d76c129ed6bd85305b48237c83ce48050eaa43e55b16774f2bd78303f1bc4f36a883ef443b0912b8a2cd482e929bd5b186cf794c7095774d8ca75345bb982e4acee9c98c7612cd9ae8359298f556b27504b1c8d882dd8cc213f957eb8c23f5983a680b054ea81e4be00d697e894b72d126ae025c8bf6d5a352144c91d176fafab3a506dbfaadac8a781ecb97e1f68a357009564cf6fbf4cb86005a533aa23158b46b97ccc65d1d98516f1348f57e9f1c04af4ed87078f9f7b5043cdceac15c5d308578bc3f2b3e308ee1e57c5da7454ca63e4ef51efd77e2ae9b95e01ec4fbd85f946d923806b8369835dfea688753cf4c6e74b74b47ec6474e5eb7dcd8cd74276e3d6e92b8a07e3f619a1f945b381202e50c9ef4d0313959e14f53fd53f8414947a50c85f7d296c5676189aa66d2e112474ffbd20359fce8624330cb0c0f97023bd3d11366b8260ad4e2f2fc9bd5532d975246df2c3468c91b903bbd910254c6d380435b28795891c2047c90cfd3dd9f74a12db1d0c813c1543de8ba48b67cd4a1943347370e07e838afb15b7054f98c64e62cd6bc93e883f87f4ad5291276f664a10deffab1828716c8d199379a4cde54a862cb426d2e7adf3b09ae17664a97961cda8be34cf715598bb1897bb6f6f7d151e8ad0010bcfacc960784a41a173cb11755c240025a77243cc26d23ca3f493dc21dcfc8b005ff36e7c5a996142c18f3498284339881214e74785c3c0027272486afd95d30c3962baf5a312827cd9417172d8bbc379e3f1dfd13cb143835a0d845607e382175b02410022dd48098b5a0e075b92065954e903a79626155954a6cec9030d0c0213294385c35198e5c78d2d5f9909b6c5ab31d2fe67e066d70f1bbb19a698ebccad3b34bf1dfd017df0f594bac598abc3f5e8f720615ec5c7dd30d70006164a434137246eadc370797f031e7de2d1ac9000d994ec28199e662f7351518c45605f4cdbee934eb83b95687af53f39fd0f7ed776f20e7aa44bba16ef3811ea4feecab0f3767133ffdc51d89924e687da3f94f30801c161bb638c35dd6324d25b41860a54720d07c62b23025fcbaf2ce1761baa9c85b05c5930d429ae77fbbc5a8d64fab7ba2498e94ab0577e6425c081c6b3d65c3d58c474def4718e69e67d3bcbf9c71d2646514e1439aa02f5d80d78756d01de77bdb33a8d35bffa155a6c0f71ffbd85e5fe922b71f020d44ff942a7358f3ed475af0e7076f9ddfad75fc8d212a258086fc06935b5357ba420338798bc40d669bb8ccb1007b98865a695a2701fcde6386bbeef1002f86fc692f1f1c6e3109c753f7a77d1dd9582abef1bf63252994ed37416d7ed1f842b9b768ed94707a0b5814156a29f35322a1a077b2536d8fc2512ce4c5248e39af45eadb7cbc1e523397f4008a1b84cf25862c851984e053cd4289485f1c9f33c7fbceb621773e7d45bc2e3fdd4bf0f4d4f69b83509a52f8ffde87954232a3089ccf72674290816736e33e2feb1971e7f267f1fca8e1eaad963e13e3a864cfec0be54f3e2d41566260020ab1c0fd6591149cfc550820de84502139f6c536b09621404dfe2d994cbe66aa0218eca08780168d08b7f05caab065f35321c706465e9d217618556aca74129395f04b025994f0789041ca8bd2c6445bce84accda7e52156691568ba6984b6ff680027059fb9c93022e88514984c1bb5b665799fcf8540f1fb0c6a53270d7ab11be27874a682d284b0b831e13e5b965fafaa3faec364f6624cbae224d1bbb3f533f594f5eb7f56b4e7d562a863ec586855ffd09f9ffb40f687a2a77684baef70e70ea7ff7643c9a4deb9ebb23fb0cbd9cd592a468c3f74f419e282a3371a76d2bf800769750e91cbfc63bee8339a18562f188c0d975903fd08112548143c930e9bc5a7e69e1853a72a6b0b8e901fe7c01512d9f4e736620c8b4901a6e502bbd041486c065d42f093bf735cd02f8c29e43cb84cee6905c48e288848e2450ab8a74da7947a0911d1e4ca08a42195af0359598b8920d20aabdd89ca0c21dea3366ffd59917f6f2835ed92dbbbbf1990260ce3e54aba09feb474e228aac424502c9c54c77c3b737a863dc7807dd4b4def1e356aba7a271dbde158f300b51948e860c1340105db696620f1c38f9616400c09819861d803c692e27d342667a70e7515b3e8becb4b938897b74c0745c5191f608452d1868e852bb123d80ea723181f81f96b00c3b269b9a4ffdf4abcb249913d0b5fc5823820dd6ab926d3a0c06c1efd0f570447c820834fee1c555eaa6f15a284bfc2dd56626bbc5b1b975b1810b02c93f10fedd2babb4580ab3d290f11a3bb334d7e53317b7fb7981a21545103407d19b2ed3669edb3052ede029c566f625611a11db4d49d831aa04ebd437c15323f870a8a8c10f7e056fb04ecd0980209f6a20d4ac488b7a1c9ad568c33e3af3f2b437199e7bf57e4870f5326fe819e6637c55a2470623fece31e256030f997c8ae4ea3e85fbd42c40741ce000ee329d4cebb0ebfa1baaeb216d1f2a2af3d68acb543005cc8c39133b6583accbb9a3cb21cb6298b30731c7fbae214561d0a6d6fe3129b885c39f459a85dec976b3ac2475795d01857be34b9f113c839fb3042560ad8325ec93f5b929e196565e202b1ec415e2474c8ae7c32e63c09c93e713e649a01dc6586f848a17685d520e773063066f8f0311385c69881798e01a9cf18b08c256f7c08e84cec515ea86b46c117749eb600c02bb4cf678a4965dc4704d6ffcead9511c6fcbda0261d40eb788987437d745833d4fe8a6eff35f3d65bfccc3ecbd048a1c28e8d8ca0864c114878199d572e2eed1ac24e821ca6ac8a8c1b4655df2fea6f9bbfa60a0dfcdf718524e8b246c52dea96a0d8b85ad7f390e0d5ee796c3642030455cef1b6fc0a016e34d50ff59c99d7826f16c601a0c093b6ebbb7120cfe8b37dde3c884af5b43a822e934661233b0c9787785dd182c8947c3385917510970ed5daf71633f2961f16393c9b6d173fe63648a27be32c736395a809f7113c3bf08155f3a5e792540c87ddeaf00ba76caa1622307af2fca0595b24f1d4b32fa97a0991fc32a9cf80e843f3dfdbd398483cd82497f14dce845ff7524a6940b4224f6496f7948e5cdd7664888b232da5614325a7e3562c2ef2560608891402658faba2db8878cab28841f326974c04f26ec0f4fd136980fb792787d44b2b79e0f031bc8f9d54bbbb7485da2224884d38ac1acf3de876084fbe16998d71dc0b494d25d70bd88858a3762473e833b4677c933b7c79bd5ff7eb4dd6639cb145f7eba398080a64b66a0a8043d077bd4c6521d06a3753ffec518cb10c9ed05dd343a51b63e0d83fa5ab0dd3e2861846784eaa9da31e87551d6eaf9552e5c4809048c0f901ea14cb6034fa599aaa59fb5ec893d1d62d562235934e46b56e01f1a628cd1c717aafcccf8e204f8282540dec4f9f5449f0172e904853c26642ca9befc8cab18aa86600aad2b950834f3d22ea5372f871b0b6f5144889f05ff3a7fa9234c2a8e0126db9156a9453d1efadaba3c3c4f2a5dc84e1e402b63cb7f32cb2c6a22decbf189ce9d28d8df25b30da5686ace8fea4284efb40a4c94bfc9ec0378fc600bb75492eb1037e474906093374720c90f72bc20db49972d2d8f85d900d0b48329ca7b3df96a83d88f3d44c545d81e1282be02238b46b0fce2ca815eaee7401db9180d8c93b61cb39e905e213d41b42373f2136baf661ae8ab1236ba25d40bfdd8008fa1d1a59dad8c4844548bc4d016f060897ed1a3fb2f1e954b54230e19aba6143514b9ed146f6975d714b803020c385ccb2623bdadcf9f577c4747b374dbaeef128a6d697f0b56d340b9480f46f3d3c3cb1f83ae65e416a0d4f5f4a61139b80bf11756a250cecde2eaf42df1ba604b7f274b7aa1766e600d6eb68ea418020c3d2a94d7092bc195118f2d3f68fe650d3a880df4bbfe9f016c2fd218bd421de802b5803f9b2673f7fc6ab44b35f71ddf705ee05f5b5623c8897728eada9e21fb2e86b82b1aa15a09817f2b9e31c15a304473546e4ce0de64efaee1f56164c5423b7a8aad1aeac49d6e945f1775301353fb5d55ecdf4a9b868f581aa9ee686610fedceb7cece2ff11a323253d9d7e8269bbe0cf61e21f4127eb518c81489e70bfe7df35825b82fab2bfc6282069577d273604c45967499259a622e95201483f4c730ceaa28e7d0e7eb010195b4e3cb5eb4ca2d75f8347b9893764b7b0da76d25a4d078d4260bd0d6bd666be0f998e535cf1c050075acfa8f33f8f02eb9007cd2d0bc6d379c34ec844fb9e86a56259d6c955ed9af888f80d77e897d825b1ae1cb7fc3100c5de6e6ae608c49304fe078871a4b53bf0eb4e99a065873f57b3e559ee5e75853ffa1b777db049051ec636d500296cf03fcce26ad56b294ff8afd250c71b29372062f741ba55197d9cd9e65b62bab9b2e0f52e58b9c51f4dc28aa141ed3c86e8bd5625e86d964f54222053100aaeed911099fa10d077ad6b18552fccdedeb5095b7e715d876b421e683249b20856e4382329a4a162dcb371cc56921e0fc0437b1df3accd8f27f70e33900b6925b98c2d9b8795d48d5107b30197d0ef0b1735dc66cc2f559e08bfaec75d021f8414eb4f07ceffe13204a751ff063444d7def2fca676f8068ee3017e2cbc9b7dd7b29f0301494c7cee653d7b5ac5d42d8eed625f35f35141ff6760647fa5d36fa5f4df8e85bffdbdee5b81b9d9962da44a62e0469cfd095e800e531f2d550ab1782be98b10c4f1c3d2cc358d83c0a87f3d94ddb61d41825d039e91e108a693b5cd008b8f5e53c378afedcd3da3587b09ba8ecba4e3f08473e145f5da82138d218128958906335067366eaf1c8bae0076c11850e973e09fcbe040ecaae9c3b2497d50685a25a8ca6ba8661f9d316bd00539e20a995cdf4e63bf2fe2881b5b33e11338a7aa88ae8e6a55773197844e142c0561b02c031035a699298ae02fb9b8945f4d134d0f2aafedbe214074a084b7818033103865f45b2d07405a6fa947d8ae2a4c222880e7ae1ca46ea40cab7d860d7b13500ebae107c50eb8bb26ebfe34f4b2e27a690ce3cf06aaef2e1582b1c41d45fba719db7b05d8ab657c8587b9d68470efb30dabaf47f401732aaa3ce52200ab2ecee01f35574ade93e0a683adf88024984ff2045eee46e19bfa7b385ac84a6265088da6db61b01f34f4622d17bad07a766362e9dd53d8ff8d8ff6416630e144c08667df6b32474e21a996aaea882f9d7cb0df665e5d56df001250cb4bbc7db6da71f0f4ae13dcd75539af6b8370c8cd91c7c1ef0856101128e6344e24b32a296ca1b1f9514ef44bd42e9b7f682165996b701002d8eae0e2500fdcc28940b6955d82e3292a2b80457388fbee4c1d2c8a584cc48c07109c94d5fc16cb1852b1382637c49111cde924bc5f7c89e9b242a6f84b296d6e6eb29d92ad8061cb44e0d1b321b7f6bf044b71bb612408c1922117a2285391ce2a7b83c85fbdba66bc482024a06c6be3a601721527cc7d10a64b0fab5b91bd49e0315244a44036553f9887686f07f231fbf68271668586298647aa76572371b59ec35eb23b913b58630985bfb73555eab15a01d0e34ce3db2aebdeb911e0d21bd96ab1f2a5ad0fc59f3f0e7e929f5c217024dffc424959265abee9b6253874c2455deb3fc7d8a4faf46a98e39dbd4e38d608ce096befb95987159900c0d62e3d0c513c5688799b79051ad0898bc52fcb48d4edfd3ffdfd994e5b00b2de40476f96f9010e3cb3769d848a4ca4660a716fe4c4d953821f332a1380db8ee78119ef0dc91a6bc45791f3e647adb5427add3492749c811a2406d83d5cec2c57064e148061bc2eaedb174f54dc98775b5057bd6cc6636a1cee09603bc326b9220f869e8c194a82cbf1b476829b1a326f67295ba5a0a07ae0d6bc8d666bb3030e8e9f13b71e69b61521009b56de964f413648f9bac1f64a3ee7015fcc08215f3448be0c24e6b5cb1053b616a0c97e3b4ed930aef558bb6591fffaa900dda8fa7d4bd77eab97a838f3af50a7febf958e209bfe07b7e8a635d562dd1b7d6b60df800bb19e5d004b77da8f64f592668a89fa67847c4b12caee6d4f93d5323f58191b53d4cd7e1faeee1f42f38744665bdd165aee8f098900334b9ad6727a25987e67f782ab7fe97f0ef880d05f35690c7bf78615f3fe020990f73cea686541a539895fb799657e582116f13b5cce0d3aef1edcf654553e0f21ed3919fd2c8b768bfa293f7d4678b43db08beb579593e8907563c3ba8c51aa76718f6feaba1b1deebe4fa78449ad65f4fe7e7ce9f15ac914ef94df71a2495585291928dea877ea40da9d3ae477c3c5a2c919fb12b6a4bb9a72b0b32bd06b1ee98183f93c7e0f289f766abdefc38c3ddcf33958b4f1ea64ad809ebe0dcaabdc94afdc757231d0d156ee7f7773a9c47df6fe35b1213a1e20bfdeebe5b681461762272654dfe79f331dbf55a21b59822b630498d0e03e8eac63f90bf8c34a788c9e7f1e9c0bdcc20c175547b5b5bc86d40f60a8bae51cfb61cc0c77b12554a649f80dc77995e6a381941bbe871c24de714761652a7e326ad772dda0fe182c02a04dca4be9176403c8e20b77546ebcd4ae6227435cb03c791708b4e9aa9e244db9c557b061805f0c46e33350d3123bfeb8ccd7ba99dc421fe829590ec8658b9e92cd7041b9153c2ea572312127f85d796de975285de7e47ae7b16244598c272f0dc12992ce7a22ee2cefecaf48cdab935bbbbad8bc8c0d4c5df312ab675552479c40427d56ea3722d4a50724d1f3196c914288fb378f7957e0c028ffc1e865d519bc2aa58ebc4d892682e314dc9e462dcf496919b4f9c95b1d632dc3e008cb070a228c3e233914cf3da8a829a26881ebf6dce142c1019539b0cdf668c6a1b0425208705fcd9377d8255aca06bb6b0aa11de780f05161f01272ff4cdb8714f91d0ba9cbb4ea04c0ff8f2db399e4ef7960ae2efa196eaeb8c068e5a1fdbffa389e6fdcc16a82270c48253f010fbdd91af340047ab4e5467b5d79a340ad2dc452ad31289325e58c0d6022d79f4ca4c17ca1504a7234a6a152e3e6268d4b85e70236af7843789cfbd7608ed56e19737fe22c8010da2df71b7f4bf61b1ad48e232f7b86d3898e1071297f0514c89eceba4e0be36603513a782ac8549503d4b10b669a8e2a763718f2124125bc2616af2a39c14c215d0ba2e05e0e78bbac83be5237bd1837877a8571ba74f77e0703b003a08077a4fc833187cbce8db8ed60497586158e7b3645d030f85d39c4097f5d0ad17851c9c56c9436a1b1aff5f03f394094bd79a0ccd46d5273e301dd33b1ae201cc0545a9367ba2b041c6485c9cda31fbf4b57884b771a15285a4d15dbf601779a98a38fe4153616c388d794ab96c74a6f1af54b2c0dae8d33cad80357282fb6ef7a01df82bf52280db17af48c0fe62f26622e6e6d78cbf5c3024dde0d1c692e38840227f2cb7ceb308a36a84f18210b9305da116591d56920cbf9b9c9b5cbfdfff609f5eb3a6f213552187fcac2219e5cebaf77c45b4d61036df2a4294d1e5d3c11aff274e90d8fadfa6ddd3942b9c46970531e4050c26571040c79ee45e80e6360a682b739b31e5fb5719f992fc1e6b3c23173c9201f8a181d870bbc0f02d40df57a25df6f81fe40d4283b08fbfc5ea355824f5d2bd6f3d211c51bebaa5fd2e3e946bd8af2e61d2d7ce10157b01bd54d89aca2e3162fcddcadd63c5cc575c2c0b98ebbbb349c23e2a890f0306c72b4148acdbcefaf4141dfe139c7c1c7c34b7c7e949532969a24934cfab0f5c8717da7d862e9e835281839713e7622bd9130ab2abc1195165d17da3a8807a46d158e8ac8539e80e82fbc577b69b14236f06119d6184f55afb4f919ee18e18a3cfb46b420f648b75948e3fe00142dfebe0457f4e1fd04fd45899f0cdc08ae07fe6672cf63f1062d37cdd66bc66fcbfed855d013c56534b6521e66a7e326a4d8dc573e93f5e04c6d1880ecbcca6a31540410b65318e797499a0b25ee54619fb58cba33998fa5499a9ff82194721314aeeba6daaa8b50a1cb50bf718f5c3b630e1f09a019ad55b06506afec8849c350d7d6fe2cd75d635761c761a248d8713f064ffc5f55a0d7a0e591101a0f9849c1e40c308564f4f374760edfbddfb10db31f2f123d8801ef0624c06e4fc087bb04a9bb17b2446e8eaff6ebbf9860b742a2611e28df8059df4d7bac4c06bb5d0d5fc50b5a5c95e6fc858fccba74387a85192a7e3dabecaf49b23207653847bc513a09644e996b45338a86fc3ff28b25d3df7e5544587917502f8ff4f1f89f5d83bee2c90c1394dbdf48aeeab7663458752caf74ed7817e1a621e0b49f5b161d44d754d56102b9137a94890610a026f9401750df6346cac3a1a228bfd5926b0bd40eb11e8c6f67c2bb935de23ce95ded0f580a353e89bb9b810372ca4e423071824772d656503fcbe7027bf33709b528870b2bf63a912fb7455e3af48326e1101513d15d781c976d6cf3296b01f803394b79df5db0c3bc622e4831332c93e173e631ec96a693ff66ad7ab4afa8ed31a91ca57dc6ccb6764ab5a9de8c1c88d678f1d48cf257505c767ebd3f88c700132f9c4c5bec25e2b306ad679fa09f53f28b8e0f6f7f791c8a40dd3e0fe214843d8daf099ed0c7fc0cd1bb8991f2c2f5fd1b4e469655eb98a83eddbc2b9883068df8e3ddda0b88ec7e63931309d75e8eb3bc69ee8511f7934c89d9174b91ac7fce94c76b7ba1ab193b397378254a03869d7d857d7beddd52aa3db8efd243a925354068e47083f5eab91ca25a43a02f25283f825fff7817351b0ca12ab09ce7f69bfe367edc36d99c6f735acfce88273f708bdea37b8623971fb5341d213935f8661e1c16c577076be33eddd119e1defbf399ef0b05734d137a0d1bd2f947608c81045ad2f3b5fbb269a1181e23f6f4f9fa48830edc4ec1c378dcdf774bd3de8473c3c58308dc08b6a063e5ffebb1818c8eaee0f609c3241f76597862752f2bb68fb01055d8914f69535c87097a908b340f7a076afc351e1c8468e17dbd78af22a29380d2b0ef0e730c741ae1763cd037e247bd208258af81d31736e0ade39c38badc4c6cdfa40481420718b6f287cf942f113846c69c9e2cc9042190849e495be603e4ca5c2dcafee9563acfb2cef447483be3df11bcbfbcbea1e000576e85a800a94b73df041f904149af15babffe92b6d9d949bc99e548890e7436240bad17d6e3a7291055e2f59853d134ab2c4f70c299bcc711c42bd6857e5092414d21db4374e7fcf850a8e20808d4272906f0d3a2700f6c6406ed7ed1020dc1ccaaa17ebee25f24d2131e004e5dd69460788af5391e2b6af588d84554a3e8e596069d09ad9e81d347a1e9d1d16e6aa3d54853d2f7afb8f8d9d00a723e390dfb833b921b5fd0e08671ee8de39e53a70fa2eff7cb6e21771f1389139d9733005a851190db4972db60cebd1751d6462c6ed2f274f78b79fe14becb6719c9c84238ad6f7d8c460cbf09948ad44e8e941355cc03dc7464124380bf45dff8df52d793c84bbe46c142840472be0ec1d2a7877ded845c3b9ee2ee040ce2738529e0e1f8994bb9c11ae797956468a41dc74d7fc002e7dd7c475c97f3442386c09688354f1321b2852db39a68abd8f76ec9ee18ffedff013cfdec0a6a0d4b7086d4fd4ecac3815f242009089bb6ad35dd7f3bff7196b2a1eceaf56ee8b22338edc1bc1289a605931b40c2bfe0a482785ed60fe006bd2bdf4fe8ee267e3613ceaa91e74e2da0e810ac1da7a4f3a3789d17e4e11dd782c9c75de9a9ec2eac5752162000429f04f4d4a271baac6d8101d8f44100f62a7c47702e0529e05b3a68fe555edc740ea2bfed9e0a579aa9f83c158ff81819959762a38c5163c277c01fefea04afd631be9792541457fb9e956d782d644773300e87ac615d04902e0f32c57244bbb70e008d238f0908806429ca9603af865ab969d45a219248c9a8b42e44cddf6c25c7d102fe4d4614c4bad6049a33444a0115faaece8bc88a1fba62475f9c02f32afd2523c74129f97fd800f5fba7032a5a6db87508ea8864e00c95f200995777bc1016ccb8242e6de4ce5551fdec6c73754da99722b5a2b344e63693d223ad5c475791488926ab1b9fe858506c9cafb6ed9af974abdb7655a5cd078deba9d137a48d6ac9cac6ecb7fa4653316aef63e11368b0220183d993cf5343465781b5273d0a3e658c6086d1648b2bcdcda90106b402f7b61390351b4f206e54a828da43ceaf54da98d82ec593891e245e4d5529e54e2ad81174186ab0c7f27cd49fe88c4c65eda3a835afacb70c1d877d6d37fff56899846d40154b6d70dfb59e81fad9fb5c22157acc9cb02ebce284122f5769ab4738d0863b30d4302a43d7ca1d225256dbfb3a56a04030664ff8594a3a0e45c5486836e05bae81ee8624d4de8a433a508a07dac7dbbb62ac535ca8180f735911fc460313719211aaf8d9ff649e710f6d973548ee9d014e89bd80a5198bd1f1edf2ef476e099c7549fbdf19fd44cd3c47ca1039f8bb3eb1b6756845f3ab395dff9240f7742e5301d67076546164fe6dd8ceb3ab2d58dbcfb99630533b6e5d0d984c76793831ffd70aef411ab95a08e841a68fcac40ccfda3678df5f3baa77c9e357aacaec0206460f892fa31500a3c8f58b7651a02d1798dc6a28768bde4d272f1fea65bc47d433d9dd1e59bb9092ed9456b8b883888b9b3354d539c3c6c89346437b2c1aef597c1dd74103f290f94a278bc15d0aa8db01e13f505f2ffb64bfc92695d0144e5ac6da59ea0347641559d9ddd4d7ca567a4f1e66ea1631132ebdd0c98414afe4e2aaa95c1549a9522b3160a10ceccfb000c2e4d38015898d486654870144ab0e73d9d4a1c1857d8aa4a7c75c28c56eecf20ea2cfa862993e3bbfe40fd85aacae1b80b3a24e2740acf01828646978a6527277376fc5d2b3e73b48d5cc9c8ddd060243025c4981786f239cf7e9366f493e72d401fc5d8ffda0aa0037085c93f51d6cef3bb923c724ab8ad707dbcab0532a2a7a78bf7a1632e7d7ba70f4e085f433e463baae09b520267125c2ed4293d205b5b11b94a31c2afc7d70f579f30d04af45d476350d5a9960c22651dbc3decc83758ef81d6150867111245f57be2aef749935d3ae7ef30cd22b376ff4cff9aa9c3e0641a743734099ec4c327b90f2c0de43a0975f39a55ca75a1eb2f39738339b01491acf7c9d1f58cbb51ab0a2f915dafa573822f5516ff94c158fef87103fd820684ada13a087cefc424a2d6219b14c3593c00eee64bbdd8e36eb45ca84fb24f3ee0750b90e1b47a5428e43d11a56f99b465090a05b59ed3bd625a138450fc32e69870d177a0625227884c598bdff86cbc80dd089275d897b251422630c53dc3946456890d663b5cf36c0ed1cf93f29c7d2566f64b13bf5e76a12723d586f9b60531f9d557ed9bbe8502d53ca3c6f5868ba79390e2369c649530ca933727182e6f0407d77d13b6134b35c8fd42c810df159334b650e15aa275f256a913c000db45958a9c92f088d7348afee68628c8ecd2077b523acb6c616ee5fa135f824ef2fe1af67d9e14d4d1618f5ed32b7617933837de56c60e6d2fefdc49a58bc3f1768c53f70354228744778934f3bbaf53e0e78ebe37ea31ed7967c4e57ad4b7c5f960de6546711093ceef7bcf31af1375a13751e750607767d056c3ba9d9eeec5273181dfa394cc58edc5440f2e1a1a5592d0f213314488436c6ffb1cd6af1a799915c6391616dbbbbf6e211dafe8be771e053ddb875c97c995d25220ac6aa03d762f203fba2fac6e2ffe37313825db04ed7a7ad118078af8c45a6d1d91dd06500794ebf4bce40bd9f980c8cb98f0245b72725a255a51c4c52140ffb446d8c37335116a4fdbfba919882b875e9cc17a02daeba444052bbe549bf0a39ffa6bd10729bbdd2b5b751f6d4f958539aae788d8f68e0ed9d440bed547a5c2f0129de7e406c0ea8241449cf113430ecfe329ef9dfb477bc61a6799d117d30a5e5ca826920739e87d3fc830242570e1c06db6ec7dfb2fdd5854f0646c2f02063fc5db6541f5057a37456fcd586f9ba496f7698911743f4a437f43129233bf23b5f72a9cccd13b92bfde8df0703ea1e34c303eeb77117d19571d810f96dce349a2464a90b47c5b16eeb2e1f8edb6f329bed626a1dc0396dfb7eb64fff266e354173f2231160b6d2b13f706ddb3455777bf26525788707c82071b1bbd212bceab02ace000ab54f00fb64ee0dde537b41bc816b6144fec5cc56b831b9d67d609bf0555b92f0a3b570e0b0d99ebd95e4c27fa14e1f91b8371c007f16cb9359a3ad30bf968edbaa5a4837e8ba88c31e824e45ac311d3682edec008ad704d823d75b406c1eda1c80bd512e13ed9078af3c90011705c31018887d30dd0afc3b8208d8ed5e0e3db3aaea7739ca7ca52bafc3ac0d982faac17d5ef505115bc5f2b017c0a0a408e03056d32af6b2be72dfb20084824792994a987c168b9373dd19d77b3a8fc30f4648621c050189c7d169f8c9403abefde34829c85468f84ac2628b1598fc50a1d796322a281685c7e70f2b1196d949aa716ca2c67a1c18dead204cb1021acf6d65934a50ec3ebba1e5d3ec6c0c8e77b61af1bdf4a7405601995829781bc5c6cc25c388d44b16a10583ec757b18060b98e02b4304f07a5c9ffbe686a4b50d772106c9b1f9941aba6992c24bec9122f30932d1661471febeb1f5ce1b77579010a1b7db0db47e9018b2cb79a5832b0756e7cf5e4b8601f1ee870e1b950359af9d003ad3683b329f3725542719ef43f59b3686fe1bd09581f93616464bdf148ca0c5df49eb498968ca46f13e32aad5d92175f4acf8f45e3308b0a89c9056a44c2d6b33ad96fa1f95e06a040a9d8e7b1ab7f990232226f000faf56dae486a7d8a77c7668eb45a1046f8f646415a5a9f7372a173480a2e4f6680b238a2ee44f08f86d1e8bc3dbe496f9eb55b522f889079c604f05ee10ce812f7d6e778f2ae7062729edd3c08002147093df0dcbf6f2db59c2d0a337317c24a464f45e02809f6ca3e9d00f957ecb51433ad3063656a3060c0c75608a3faa6716f6ee810c64947001ad76e7308e7f3af10db007e6b7e57c3de549e791a82f0dc3b9ea7fc933efe8b9b5f9ee3bd4e5f6247e8bd867bc0e54835ccc9559b58042296dac4beaca6bae050a3fd9b29ba8238a2a2f37ff732953dce3ccbcdb0d58607b127d187ef44185d35bc723cae7749c8e42a552820062a8f45fa51856f7c143f1201122b3d56f013b3aad3763ead8f85749806e20b2c51741e38903c69181fae4fb7cec0ef04899221daf545ab33dc0c980c23c6f41f595282f635dcb7ea7fcbe04737608f7f2b367925cf5f026b0d46cc31e36ee6bd425af31d1f9c9acb286e713455fa0274280dd20122f3bb42811199983123b6dd890f33efaa00f7d9ffb9438a0b27d26088558ddc50a6d573ef5d1a8b36e30002f9e8772dfc0eddfe8dded8820636a9f39202da96c81fc6cdb6eea11be633223c673eca154139aeeeb43b5557ed3a91fe7ffe48da6b6ba2b24921564172dcaac7ad4f249dbc63de99dd00c6927f1ab3e19e6795730e4730ea979ee6ff38a007eb172bc53613e64ebf1ee95a4105d083ac9ddea3fe4d311cdfc5610cd54ab787a35ac7a9d0cce2906c9062c3c984bbd99566397b12a578ef81e4e3dc2e37f3b5de31800e3d959fc15933506f01dc592fab8b484b1d1d6a0069efd8254edcd658a951cc64bce344db0c53d00ca8a9d708393f7b9f08ba71d25555ff35d4a94b6644e42cc8b7ed87a7eadf636ba5f3d80fbf70e9659d126dd4d538b8cc7a3ef6a9df0a746257e850e72b2443c5531eac216930ee67904af15e39023e4d580ed465cd42c362e617a4abc612574bc7210adaaf2e16945ed5a55d37425a015fb2db3b180f4109d7b9c70a63c231d208d70447d73b270a813ceced54b6e7286b392e305f0a8ae8ea8c685b49cf62b4d086a9b2010032f652e7e8f92bae4dbdbab6d95505236910bb463b12da0edc94e3852978f3c01f9b1b38032cee6071e0b7873d13c41f21e09cece133c176d32e376425f96b0315fa12e4e37ccb25147a293c246db40f810f35bf6d8f03129a4777dab95a3b3ac2df1e1b0cd8b34e655fba432863ff0766ff0acd20400e0659ccf00fb5d115f20c560e088cac1a854b7e81d284b800c0d5055a2e624c87605917c04582f4e0182ffbe4b1eb7cf9034d78330404eedc545ae98a88632c5aebe9a1bbfc7341306edca80cec01b3dba3dd4b4d2baf435c72797f22f2cec44299665b93b882cf754446526d712cdb474c9877022e5cae81d508673084905cb11168a027b667e91aa4439fbf15238b607c9a989fb2be2f8d6064207bee2301b27526cfe9e1f90012cf70a0bad881b50f7c940d2f0cd60622e03605c6227d3d516a19a6bcdad7054a768bce041ccb8bc7c709978bc579c30c3a9b51faa9ed4dc4869d00fbaec3a50db4e922e20721a9ad4d4843ea49ef520fb736ddabb68ce952a5faec48e1e352e7522261d44dda8d0a299e90837382504aaa4f91d5be9783522565a2b6b8f8d906a6691d385d62dc59472698576c8492c10b5ff74e5a70bbf69d8f776a10abe648749fdc3e89e20b09ee3d543acf8c8b2b6222fc13f0ac3e68a7e08f25f26a3c01dea702045006aa5f3f656eaf48b5eea46e2f8c14995a10bbcbbc14e353f23169e12de2dd4cf0fc5f19ac3c6c7c97d3e1884f2755288843148ffe1546b2953b8fa3f4662af22b589ce308283208ad02a0589fdf6eaad8ca05672042ac6a54ae492f4fa4762f7ad8cda58e70c83d01c63046c66539e02e55ad731bd471319e759128743b84fbe3d6558e8f2e63466ac30cb14277d996a3969626c017eb4648d944c0d7b69e113cea87fd33b165719d857423e8998f2c65e5935a8e9c18bcf154b1095dd630e059855d7fc527e6edb05fa5cd88803df22bbb3012d0fd13ba44f63690454a09d4753b8532238cca5e053e4c77d2cf800bc4a844df97d1530f5febdd85f2dff3ac42b479dbe84b58e34ee30c2e13e18550597668477d6b75b17bb20d793a769d414a8ec1236c492d665be6b5c4c88b6e889ae4c1e02665365076edf09159b3cbbb14ce25f01c407bed18ae7529c2a7d269a11c8f05ef1932a33ffdc58150aa9dd6392c364483b12d264320b37a0934d386caa7968ddc1dd37524789b47b61806a5453527878a14767a1879911e9c797c4232afbe88215b89098c9f3df608a1369895315c92064af67a56e153aa83e19884a27eecb0bed24a167f775664f6d09bdc326b3bb6b819df60bffe3d314c70c61b443eb8e35c51029e0b8219c62caac3fb0b8a7b7ca25f8156200005b0a3cd16fe07837c1787d19d04a9c985eaf8b1f21e2ac19349a2313e6edc0e582cf2e91f743c2b4353333a21e366352fbd43a3e65edb67a0c96711838a2e3f0606d1881cc96a3aec10a06d5c9eff5db78580440687c453f1b3a76e8501dd23355826402deed04d903c5475bd0f32e68894b8cc0b94f15d9d2b8d7d1662fbc0c024aa742d2bc21585164a69566003ac1be5ee4aafe2cc7c4ee5fbd80d2182c6e2cc25f6d2cab8d7fd48d1ab8302b285260380238c7eeb1eb34ea6192e93f52968fe44a702bc487d0f85b9619b9597aa953135ff5af23cfe6e116ca18919388abcd02c336aadb84af9d7139415022a12ad8561dcdc0863f73ddd174912ae5ba9230f28aa43cd85b1ae120137bf54a9e8d452a7baecb8f031e1a2c97af136f1b3e956279fea9bd2999498e69d74a38cc1240eb1851277f944e7adaa387d8c1b36c7e16d0bd94ae39f877eefea3833cbbe95689d9b35a329dc70ea26f96c596cd17082dd3cb2a1ceb494c6d09186d4baa202784c376c57af33e451879e773cb50659fe77cfa6b6ab930dec3c2dc65e889d462093aac9a1ca3140c1152bc4bb33c20398597cee1f60c9630d314607b10ba8e880d8abe70685ed6c332d3590d00ad08b6d14344fa56f56c1864ede5b68d2e9a2cc5dc2dd6fae250ef721c071c0ea2d1c8c5793358eb60a6d9a68ed1f9f11ed5afb0c8f90c16a9262f08c941d4d59344a91a74925ca972ffce92f809c09682e23618e568cd4460017ab6e9a4c431db237230f74198d70a3f782f7a229ff247a3e5d03cdb35bc5d7c3dabd579fd2b43dc00bd6f02847b66ffcd1a3a117a88efb99bb3ccef0e5eda99377f59816a17f2aea054c5a85743e5d3d32b92b20b70db44f59fcdae7bfc7ddd86ce135f24550547c0f77951cd9dbafbf1668f5730e82401d29e1fb81f17d415cd5fb27967d792b8ee05fe475064f94675b52def02e35ca011b2d980cfff2d555706f5de6b7d359207f40d1bb4f4a9ae6014ce1d64a9d8b8b689ab0ca47f8c07eb240516e61f0524598df765e70dddd3d127c32d284bbcb05cbe068ef0127a9e51f378a32d307da39f8eabd6dea9209ce18f521d6f22aeda75036bba24e545a086839bd7d3b49e4b9c3e9503d603cec5c5aa56d3c3b05b8862a363b9cd7bbd7e37a42c7771de8fb704b5a75bb8d51d6e68fc012ff0e49ea55f9bf2898a211ec48e280cd91a5f4ee18ea2b8d502ffc50766ffa88b263eb4a4c089cd920ba8fa557574b1148c5b5016b37060c937036c32abf680cc30f41dddc977b46f801694b1cbda0f3c6ee6a0e1b6da4820e0da9e1a718243be71d7f7a2c85169eb037f2bc420b78b888c63f97968e1f351194f6130e1791b30e3c8681e8b1c6c676029b09e23213fd1f964342159ac31e49f850a39d6f38d57a4da6e26c7d162064c1eec95fcb9bcbcee20578a05d083c8804cfd070808c9d5841fa7a8b4438e931d697c577d40d510f7a1114287b3b28c20f48637ecc67a21d88183beaac24e3c64f0963350d34b9036bf35898ec12894f56f191633045c74581e5ce8197bf2c5c90a86b146c46ca36b858a7a2566ce9db31d6af39f1fabb0b4b2ca98a32e8d25610489228dc96cf26c067ff8c126d0914cb634485b69e1a5718dd6c6bcca8c2c2d2385aff0a1525a233838d3f37fde352b9b46aedbf7ef7f46389e353341c1d9a8cdc33a76c073e5cb8464ec7264013d24c0e548f93d9a41b247eff98e85fea563008d9e5cc736611c8ee4f2b4140843c733d1026dda03e9fb437543e1e4cf128efc0eaf468382ecb14ff48306cdd661e053702766cc23cd96a3c3828d42a0f1a7c09084a345c87998c40f4af019920fdd39310268bded71361bb6a29a2c4ddfe8901eeb28c1659b1461cddca721199f4c4042cf7338283c03f275e12b3f7d3da23f3bcc126c3bfb0cf36c81f4da55222f5a21917f62a89b3475f7059558f2c368c0ed177cad4fd470a10dbe4de7bd6e6443fc0138da025cd33918b343ceac47a49be8a7928c83cb2b0f788a5889bd9b39564476aedf03e36a0823c7d32786e827baa22a7f69cae13a28339ce54d36c9c661a70ceaf4df53ff2876470457e8822fdc6df20ddf17018fe2bf06e4d67a0618157c6e0eaab5ca30ced91d1af23ecc86d4012af0cd58c9930d4e419f96686a18ee56c02cfc0258fccd84f07447bd445908751a693c51810b2dd215b6e51ad9a13234b4495835d8b656a7ba2f76c723b6ceffc7c6a6dc5bf72c2ee61696a936a116a706e510d07e9a79cbfaf54f950b65a6acb8cda2dbb2d9b22461011d287d653c4b042b49723338fdd75073a249a4fdb77f07186d24791dcb6aaf343463aa5cd5b0dafa12a574d7737f7e886ba5cb2da57998ae9d48700e38ee3a0673d13982301f9c7b60f603367e4f5544fae93cebd88a15074e32e474d90ccd8f6951b76c3589de876a2233d6f2ac55a30085acdfef6b88337d39dd6348ac5049997a33d68de4fa76af0d189c2155fce424831b203bd839eca7a8ab7e023b0771871e336f6f90c04582477b78bb1415a6b65704ef6c29284af36245693b8cffdef9d94f1ddeb8a2e890458aea477e819dc1427c35ee8febcb687fd60296f960a79339e5357c9b7d6ab3c99db77d828e98198c9eed62a0a8b705446bc73fdda72d2c31ebb89015667d7bcfa12b3275b0dfb748ab13d947645f298a3969e0e22334afa189106a17ede30bcccdc9acd06fdbd3160a89f1a2b2ea7e67d9e3e01101e610e644d1f0de7fb10afc8b16ac08ad40d2e105a35fcc1bbfbccddea29d0a2441b22213c90c1e965dec40bd22f6a7331332c107349ab3f2bbb6f26830097c8fcb18cf242373df716d627aee14015cc74e50d3e3c78c4ebc8fbaad33eaaec5e9a0283424d0463f7664bc677d9dc1144f68e833be25db1f7fa9243c6760c13aee9939c1a70de515b9396b25b4f098ed0eadbd439d5f5757e24ea54439e3dfe07958ac7fecfbc6e6e205a684bd043648142ad1dd7c953957b9cbcf44a7ba43de437a5d512561c91724420f5a897630128dc123d93fa3f841b79acd5e3a3840830bb128e3c2a937137512db512f4beb7ee4b151cf564cd15bf465a6b33ce3b39518387f6414e9496c5947e6f9cd93e0838b8974e0224183d4b4b36ffc678a2833707f885ca203028d4aeb7f6e201fed28b5192ca49efd34ec7ae1062812449cf2399b9822d97ee96a38ffe100256431fadaeeafad819677223b42208d868b50f25106f1c9fb3c90928ca241e19cb1b7c40436fe9d70fe2b0b1d5adb89982fcd4e6255d74092fba683b01049555382aa069c860087177b2eedf8217741dea5a3fc128f54a397566e86f475d9bd752c4b105b6f6e0429fcd1a2848e685bc94a39a8497dae28c1f4de083b120f8a7c07eeeeb96819f102e47814066aedcc8b399dcc69fc4e93c325b963d07945c41b7b7b06af84718d234a3f8f7e7ccf8e8aaf0e433d4aad560355d1931bd45b58ec903d5ed1cc1bb362c8d9966dc23450686b3a610a9857e9f22a00bb0950ad07fe8919d61c5d702cd65e6b7c013dc5f4b638a5fe230449427da739278a30a77d50e25b789e8b5582d232e40a35c1afb574e61d3bcc8e1ca19668d8db6b00d2eb4af0ec1521380ab64569aee889ed00c35c1eb247840cf85698d94c43deafb4543d27aebad078e4eee39f76ae36d2cec266deeb887df47d8efd04c5f47ec6a2e4c62fd7c3006ea8ca72229b66e8bfbc6542f505fefcdecff89cd2321e7092eb8abe629c81c1e859231ee3b3a7944ca16dbe1c8eaf9526928f1cf11fc5940ae874bf0dd009851743a1f1b206fa3d15d8a103c7bfaf78f744ac9a1680d482e44f1e11b23a799d53c237def309a813be4a59f8053a9ed90feca97423cd9c6aa9877ab9158c92a2f76d9250528d58659eda7a5844c20255c8092133b55480b84e294816a43b93d78f830eb7a26aa15fb5a2948a7a70c96c5aa14cf9b36f09bdcbdcfe8bba79b26417bae3cd9c2b09b59c4fcc9446f22dcd637f3c6bfccdda088906c1df6960a1d969e2efe49bba71e45ed176854024b72ce7a37e053f12e2c33a7d7de5ab01f7ae0eb96eca403cc140d8c17ce6138b9e452dfeea687bfd96bec296ddc4c87ccc1cef736dbc995aba8ec0bc2715d9253472ee60de39262a69351afd349ce036a6f87c32387d00ff135b3b4654d5244797642e6a8604597843c75e33e2a60c7b414ea4ed8b559c9a6aeda8892bec77e254d619bcc64ee82b92da065e16c0b4a623cb3fd61a5425fa6c1e0931cca2082680b4f0ce286fabc265b0778007809e833402a4d58668a0c06842226d82799cec02311297ced4855020d84581969d2d39e96881c8dacf9878cac268f4a071ddc39d2fa128f38bc7e9115d2f92ce3d0f6e18d26e6b6355c289ba624f2177fe396b16e7f77b4f88d209af35795ba7e06fb783722e6c14a2f58a45eb8d9f1d466c4735d3cbea2a00240017c3e6f79db49774b68543c876e9bb341a5783df752b85b0e44b883bb049251508c8a975bac78c213f77b30b6d239031347e85a5a272d046569ad309fe6f021091100b36a880e4383fd3ee96f46fb8554330bfaeee7f6a5f111825d370efa304b367d3b954dd949c05d06341387eba5d03e88bc03e38c0fbae2cce32278cbe6e5185d196d4c0defb18fd42cb2b8b2d6c14bce6d42b16522568784b32f4f5e725e2736c49376e8720012e7927ee24a69107979865bc06299c22daa8ab25f364832bf5bdbe3a411b5b758142f691f49d840a441fdc8a062a46d9c428c7086d72b5412a37565aa1889160a1e4583c257a9d313559c8b82cad5d448b4afee7eb82cc439b83edb94ccb81ba2e622ab6715ca89a31d46cbeeac62563a942aaf8532e09cf11908407315b4e430e806de2f49c507c2085c25d07c7ce10c9011859de6f82fd84448732b4bcb84f9c7b8a02a62ecbf6ca4fd939e95863e10b0f1d791f6da261ed86f2d599cb4381781c0002c467a6a0c707c25c2cdb9c63782ba0dde17df5eb9dd682e77f9afe1b21c0829b32a1765ce1b131b53b1496cd3fa0212a478ae5ed3976d7e7bb51032fbb3d0f87c52c397e122095f5250995f7de7e26e0532edf44dd8fafa9716c49045213d023b8eed56e8979a1fb877c281ef66b0f70aacc88de39e0a7335388edb6f3ababb95ea4897528f37e79fc3b2ad2eee5cb00d7263263d73b6b20180e7c25dd87e732cb11cc47bf7750ffec410aa3d7150e2c6871acd7c6e8c4ad468527d1c6fbaa908f160af42ed770fd074761aa64b4a6a368f18c17a3494ee674f39f4372363eb4e7cee05420203d16ed9a0b26991c0e1652ecb211fbbfe336c17f24883f3edb6f997f4fa30581a850c3fc4ee616d52c66d05b438addd007eb750971cffdea67d9aaaa43dbe33ad7805f65257f49f589849e3df2ae1ac4ce8161b6f910509d4af31bda485b3816841370efadc332e2138370194345d50fbc921937f1c649150f59cc94000f8f3491661554be8706a4f7dec68ca91439049545880ed0282c006bb8df7857a570fdbf5cdcd72a7901b1e5cd9101f8174c90ae4e6eabefe4a06539b592351789c774d6592c6df6b0da698d3e935cb7447bba9a14a0b534ee0cc04caae4416183e676df35e2430c1ed2f23f2c79a77e9eb1deec82494c1c98c1f5d13060caf41d783fe1f784827a0d32b6134f59f4807e93cbac245e3b2513f028edb75626d75723a9fb9e963a6b66acdeedfa6ca1be6fb2d6fcdff70f7578ff2b4adca4ee56fe92085bc7125e6e98622b8c652217e9ffa347b72f0e0cb5ab125f644e58b41611f97a066a6382c704e6552218281cca4881017971e90329b9af9059562348760b7e0fec22d7f1f850c10b809e5a14b0f4961cb22bcef72458b0caf5a3c1a4e19f8ccbcd9e7f7b65aeb186b144163f9af0140cabc6e287baa932ddef27f9bf784cf4cce1fb33ca4e084964ca217437cdd802f58fd4171c48314a055560071e711939b58dbe36f083d1908328a7f0dc3c2000861e235c1d9e134ca148ac64854818925dd414d555128f585fd5c109e3c8f9bf0c60a26102d8d0802937c7113b99d667f0e1a151e92956388ff957245835777f634eebfbb8581fa0acd2bc732ff414a3e07917debaa6deb18f832995c52d02ce8b3e390c4529131e8b61a5ffebd068e55398cc28ea4faa1d52d534898dc067803d5e659002a95a9f8d070845af85d79538c398a71620a137b010b6eb4278ad71beb658b8b79d5d156bf7f60607efeb8335ff848c588a882e48b8284b5a8011d041f3b16c6412ed984f154a5d208f4e607af7fcb7fdbdc47e811cdc43ceefa365908ee19b14bf4cb8608aec1e6a81d1a74daade4788f6a94f7174e610e3530e5329e44ac8d83356c13e200ff3809fe543907763d653f2600f18d5b11d723b7ce87328f68d9a6b7bc93684a45d287136906262d43e74cafe170af08cde538403e959ba0ddbcccceec9e9c160b9a621e52153c0deb9878df0e474c2a8159ca07a00635120db00ab8863202e95bdf643c7f1673d288cc3e8043fea6656c039a5ff53642d95e560e25780c0697c9d873c7eacd99aedf52c179723d311a3972752736ae82393cef270bda1c0e64239bc064140972b35c46344401592282d8a15133ddfd08ea561e41792fc5c6a365dfa86404559775e825f4f238dbfac5fa8ec3655fda0e76b0b1218a0b397347dd0c3edbb41487a2621fc54cd4af2f6b4c828cf37384cbddf154fa582deb4aef86c37b55e2e56351acc6f37cce428d5483c4940755508ef170e983694e2de2016f0807f0a37e9c46a2696c8ea23c26021b0ba605db9d07989579eca865ab88d5155bf2d69fdd94e12d73039810c818ad567cf0c54ee22217f32e224f1f78e1a577d956880bdce32a3d7da88131927bb18ba1910410a35905964385966d3f7a08ef42c3a7231d49c930ecbb30bb361dec9674d3e372f31fa83c300b73fd6b6864564ead5dae386fd3e25c17ab47e9a8267471a30b95dc87f4a8786ff0cd374f2d37fe894c9bc84770f368e57e1eab13730a5dd816d4af957efa8de456a25d7090983b850d9ee48ca821b5e084c58cd4b1a93877e00f34168fe73c6a6a0f1b5359c2afb81ab7c57e4e9688c048a6879e8e79000ce53610d813c7b84644aa707f04fe18320e3bc3dc39a19d694d50660ad5902f33a7ce0fe387095ecc3e30eab00de1d5f8d0f1ef2d7fd842e96540cc9b4514e9cc8db11aab134a263734c8f10fe27cc273b4dfe4fb33995e35ef42f40a08df9ac4c36c555aaa51218d9c1c7d985f126e3c7fbbe54881c02d2e71f1e4bfc4888b0fdd7bc3518376c659bf845f2d45590b6949e881380ef113067db85f5b90bd2cc4220cb8c452ce546cca856789a7fdde43c4986818768bb6b5d238e4045e98ba5a367f183475b3d72362091561025ffa07b1062087c544f8043225ed7a5182b0a33f81b314ada9c9a9c89b9004e57b5e8b053a272745d3365de5784d8b11e4e1e1399b7b3413eb01b79bf6697fa963c44dfc9ff233eed05ad44c0871ea7f66d3dde1d138ab21b8a66e26b2e09109553b7cd1fdc0458685fd182241a434080a40eb55ba4255035740ca87c3fb52f11b953c38c4d565a4ce4834392d55f4ad1fd8090ffedb42d0330a0a74469002109536c6a1abf918db788df7054c2eb4be502c4811fd89dc0bafc11b5389f0ef5e09b9dca02f9a2526838b196690adc281de6d0cefcccb8748dd5cbb9eb14fbd750ba138e0c3be118b4f5bb39781cf8abe7e2a31799a9b9b30b8a1c3b366e629bf7ab88491f7e66731e055afdd3e9f7e738289a4bc5f00354eb4b5caea73b2e3e4262bf817784c2b0bd4e985c980db2316b9cbeb277c9fd107e2df8751159f2d419ec17d54cb1fb83f12ed8e1a88986e5c4fa37685c3651ecf99436c3af6e89f345d3e293a797448bfaf23df3f0a07d2e95b8437f71cc39d8eb3436e9bcda69b30a4a50d1e18d6ae11772c1bb582c92ca8e3d587e0139b28c8f5a074c5b3c9f38ec1b84a238db51f71156ff93d6db0315badd5673546a7caeb65fa9036d184c67b803776174bf089f3f52600bbf846c3427588e83268f0a221491bb044ee91c29fd4e0d6ea0f4fe98716dcd0ea6b2681dfe9a8084c4490c33e5a066d7654ffd977d6b1956c2d1b6f2466e32f35514a03a6d2252dc68726667c9ebc09fb9faeb82d1a80c51ced486fd98f5d653f30016107fbd8a35029e51b934df4c426132f48808549051a3c6b303805def6fe9b7747ee5b47b21b2d72668e59daf2bd5dfcc96b1f9a1089808d924a5c563805127560da35abd0dfa0ac49c92e7619dfb983165cbb9fae8406073fe40f60ccf664dead0c12274f08a44f352bd788350c7c8836bf1c7fa720051568a12be0bf7a2e6ccb2cfa80bc2a37a3b786b65c82520dc70b24e9a869d130f753a05a7da96dad07e2e710415f908320b165ba6a2e5073733220dce00efacd5a8ddc49f1733eeed10855636bbe592bf3742d7223cbbbb1577ed625549e6d0a47e562d043fa998f1e58ff34bd05a3831eb801f995646333bbd8a9fa7fea457c759d6b2b8332fff6e0e31937308907b65b696e3b37787ec359c65aa2910f871624aec118ca3b042b08a79427872f2c4224a9fcbf8f20b7b9039be0743dd635225e28de96be1b9700e7b7e52a5e42d02726f2added62dbeeb2e728e352dc0255e702fb8dc55ffe1ceb096f11d455c0b75f215d5df1acfd5c40116b79b7a665f42e355d144f80c788d93a61d6dd8ac840d3d3d035b1dad19df13fcb5f799f957346aba2697f00ff2fc2b12743c36849f22f90ad5afe005c7c4ef5332620802c51606c02fccdb0f5d648dcc7c13c27e65d7522f6bfb1c26ccca19d446c4186f1bbd0f4c8fbe851a38fa08b71effd80a5c4db5ec85d1d3f0094a9f01bb197dd5f3c547f12ab8108e4f68d4abfb05ea6b5a32838c3d4294a6655428e556c070b6619f1a51b673409e83eefc15aecee381f1ee71f2c5f3070f1ea444cc7dd83faf309d5ee81ec9faef59297e6a18b39fcb789bc1c7f0d945b8274cdf035b9917002440841219463b9e685ca5e04ad3342200b9db8bfb9304fcd47ce2a208f17243711159c5cb4bccd3e591ee1f5fd4605d6f6a8153328193949374dda8e427e7b4f070d92f356047ceaecb82df7c7fa43839023166bc12541d00498b6c49a7e7b9c42be3ba84881acc8548457f4ce41f9f6da96f473a7a2ede5104fed1826d1a0a643f383ebe0f3a31cc5380a329648869ed475cee2c5e85e50c8ccf630fccf0a7e11fc4992d76a0c9774817768790513fe5a45f0bf0d7922255cfdb33c0962538b0fd9251a23c571f40e93b3221425e1578e1f1b8597980d00dcd8d6a007588ee770bf0b928dc05df3e930acbd1d07664bb1fec7496a248da182acc8d684ac79d3183cfdbb98104bae06d5dbf1d6fe0b059f014f2d33091a0473be4c693b8552ef9ddcf331617773a98e0d90ad3cf31f15f45810439b72d776749f697de4f61ba01de90321069b8cb5b0bc50723c0a9ff65c12bf260e56f1b36fb5ffadd7ca7c510ddc1316440ba1446ed10c5f05e55d503ef863471b3b4becdb79e71b2b891a67f10ddba8cb34fa19b1809bd803741e14171bc958799394a4f7dbbe571a6a1d41bf5822bc74afb5c00178e116774258a65009560faafaacfa11da3804540f94036ad1029018af5c50c0274210c346f4a0f30532e5b1ab34aca97cd46de36d64e1e1059491655b6837294bda3e967c331a3b0b91fa36e374eafb28953eda4c7f301709fc2b96c0a9f4e28d45e9d7e85d95dace67b04f323172b40b0260517f785ba847a410aa720cfe11a8b5fe1b5a623e2d95e26f8bad3ae98aca7c3ea83c270c758242f7b5a0736899b951cdc356405bbdc92d371b6366cf452e691c15003e02a425a6639d46faddd28e44be2e652dcd0468b2c41130abe897029bd19ca31a5b2346b9f69c26829043cc1e09b0490dc0b2f5e6cfcd12bfff07b9857054329c13728268bb198a9c8bb484d2a89e5b185a5e34e302e8849bd4560f3b4fd98dc530211792681f355f4f98ef32802f22b2da49b47f8def73ffa7522bcc8b5fdd30a7956ed45e3998f24eddd95d41903ce6f65ad4c497cf9b50da7cb9f094ce23155acf929a449bf9d1675aed1729c879c17f94cb052785056507fb7163df36a19369ade04f34ebb51891786e47df451050688187d48d0514e52668dd590d91e7e0b9abd3ed7f20e22f1bac753f80af3cdf7f1fcb41efc0186439b24b59a31c993f35fe29f1c6deccad38ec75e5206759fce86e05891a7311bc4794a9e6cf9727aa2264bbaf54c8a35b62b326a9ba035a626409f0bebb82c70a056465ea47fc818b5ea1228aedda71ca2142337d97f281ca33acf896aaa82212b445cfb09019720b598b1d689c797cfca922274934755dc013c8f4feb0d7268fb51f1eabc8a565bb02b0d96d7c205a03876982a342fd0a3a83f32b90874ebb34c79eddc98637bbd2eec54cfcc68ee121a67cb2b6a79ac2cefa90a8d817912bbb64cd2619879af3974b153fa0270953a87979d230b3557d2d98b1f96680a58d6ed3b269883ffba3c0c6a998a9abec27a7322908ecde3cedcce518db2a429f638d53269f8f378730f712ce9f27716040e77eed29749d75c6d1578f73955daadc0e8eb341eb46bd5f61a24d6fff47fd1bdeb20f236fb3bdf128a4db63b9844c1f18381cd6c10d7a047ba39435b334551b495d528d08a8fa2d0bfb3ef6bf813228c4b204044f289ab67a9207b5381595a82de0a9721879bd87b4504b5e81b78deafcc551a1dc69681cc0778a5f1cbe064a3a023d956775d522c90c5f823545e8fa1f6a0e245b24c5bad5b25593393cb4b7cdbf6b6f5ab94291cd2f06fadd452ab47d6b4e627e5be20cc29a20558bcb60a4c9e28bdf1d2fdad1af67a5081b71a41adbbd4c793a44d3cc44400c805d42d83f6e32a8bf2aefbc1c05235ca753f40ca1f0c943ea895d7d938ca8b573ed75a84b7dd29868bdcb8c540485b9ff3af3335baa1abff6fbcaacd9dbba834bed8603b54998c5e546d4b70994a414843879213046d45f4820b3cbbd8ce62173007fc02165ef8675e83ab4fbc03b69573527e0384ae0fec5e3293458cee7e124e30aa8d99152711b26d34cbfb89809e6d508c3eff4d6edcc443af88c1d2456aa91822c20972b9f1c40049a97681845859c921a82fc30711b3c1a535685e0441e9b1d9453de57071a96b0cb632226a3c77ee2811df954d0fb24a9e15b12816ea40abd83c3bdc8adb36c22c43d2f1f1508db00f890fe2d56881aa211968b0039f02c3e427adc3df402591654b4bf3974b238589f72d55dbe15a70188f86b93d9fda2bec3c9c2ce55930417678b064ba5418c8acdeb2d3a5625b0be7f5c68fd187af01c18229aa553194a0dc458141139b38ec10c97119407369e935f27cd98603557b3a4e3fe000039095e07f75cf7f6a78c2a74b93509cd2ba92d66d1fa5aa6c2d0cfd1af7c7b106dfa697bd4d03d5832059e4400de84622c6d3d684f171e69ac46683017e72cb7c58fcb8845e79b81899a9441fbcd71e7a7309535118ed0d22be8ba5e48416ba22fc1e50ce6a4667987aa1f1195326f678da031671e2818d075eb9e82fe221f177893e4752aebbe6c859dd6a35d56ddd82d73855b248b158641b8d29196eb2afcfee086347fa94ec206735eafb7cdf1282d4c1230f33400aa738b36bb346119241319db57b989c595bf244ed988ca076837cff0b1c38afc5cef54b4c41077caabd058f034a6f23b61edff326fcc8d392e3ff606f2a03f7981865d0c2912f7a22e7cfa15e014c57e66fc5a1adab434ff67ad09562bd57260e15181ef62a1e5fe8b336b5aaf9f85e8b16db7f5dd0ed4407a5d481d4aa9321121c09e8fff6c4de8d6080b14986a03b833fd93685b595b9b2cd3664572fa2e0d2c1fa47c43c5f2f7f8fd03ceef2a6b1ced531bbf289c78500b19f13945fc0a90bdda5bbd29706f0b7ef1586a98977d8a8649c61be3c525cba0e0c1442934ea05c214464e836c326ecb6a6c5c9f8760a8c043b9becf2d6310ab5bf19664a4f404496cfe82875315bc6eda490b1aaaa5a2610bfccb5655da1903d41c609af1b926d8753016211c839f1332229b25a76734fa827ece5439070c87243a6282a3859f71bb6e0b59bd9ab9b419af338923880d42bce9d943dd50aeb05dbc187debe3f5236f8ce40cef395aa675965ed23e88a30ff12e63b740a2681ce494e117d93ddb6099179d2889693f3d80a92811d66a40ae3e719e85047d7387dc7f62c37b5eb58b06cb06d02b374271d80f6856f3fe253f79769add479bf17efe73cf8d483c5c35675237b53a297db42bddea7744d6264507e1dba618155a7b34fd630ad3eec4ae5ee42f2723a47783798c9844c18947c9253a92c6967e3daf5f5c1375403ec8e909947b6cec3ca8043ed877948c97e335d7883eb57a39e90b9b0292c7e3a004795999d391e90160c7ecda75a7d39163113c6a755dbfc15d940542b45b69035dc08d13430b71fc33b67b1169d51e6355ae56d9e8e6f06f865b303633136d55376aca491761cac507a36938f7df6508d08342383f862df7e1ed746c1baa867dfce21773f34709b44cb2307dab579c7099234c6daf6f56eba6ea9c9e39e3400ab83c987df4b3ebf41eddf221d581a75d93e8d5dca825a4dd341c0db65b5a089257dce53f963e2a79a16962323a1cc877efc297aa249838ab2209a6e312cf738b1b3e6f811788c4cac8ebfbfaa0fe7740d9503b5e70a4f98d723d5cb30bde9ff1e5ea9743f9ba078ab0680960484866f9c127ad1d83a7b2095ebd8c11d937f1008b7386605d28e6c2d13e592ef8f6166409323f2cea8c4daae062833f61a5951959a415d6c8f66c12acb0b93d86f03147be60dae410134e772008970b43da73f34a6c7b8ab922773efdf8dee51a5d3da4c867fb4ab4a32341d94350a507e0d79e629f93253752bd207093a62537e487aa17029d495e0b5d89b7fb01b521dc7b68a7e9eb0fcf7f2240c10bb6ae6ad937ddc5663b8779d351b1a6b6089a9033f2b748e91e8fabc7ffea91a7c0f0efac953e56e7f4e88534c78e1dcd898fc8f584b9d4d629af6951b3846978ec706d022ce91fd7c0d556e3cf641b1a4505a4f3a5ea21055724ba7e0cdd099a8434ec2d0d54fc13e2d23a2be86eaa65f1700b9702e582ccdf34f55201d71d8029f6c39fbda5785b31ce3ecfdd71674a952e629111a5071d40e9f9723957fb5388eb5daa92574671806419a66f42f3f37eedd17a29510f8ad7a9884dcd83e24f61606fc2f6d06f60cadece534684f85b53c8b4b2d149b08d0524a26b69aca7c5d93897a02429a8340d825854f6cdb09b4cfbd6970f6a9fc87c9a01b43238cc72840622da64ec7b71987866557feb139d6fce1a329cd98add19773b09822523d2278309ce5d5ea866800397f94e400384cb3f65cf90fcf32f9172a3fa68f26e925c40e8aa803d8f628d197903e377e60bd3d326f209fb032d5c8632d67313081a6f8951c5cb95b4aee1dc35b44b3b6c0245c8346db1ed8cf2719d3455d2232b1fb3ff9da99bc6adec54307541b3cc19c5bfbbc25be87544f44661c867417a6baaa132e9c007f59fe95ab9b45b39bd78bf3a8c3022e7265116cac2953ca147af2afc673f6840ccbc22519d482a24365908283094080247f7b73cee0a22b7d09c8f327a2207735ea39faf1040483dad683a150f0f1fcb715f89cf9013ed1157929972c1520146d8ed29eaf3e8e4b79a213f39ecabcc816c3477ecc85626b228db5f24df94bff021abf56dfffc3d052a5643128afcc183c284d6617f538848f519af7da39a39acfea8ecfc613e010fadf071066a49d9739ce1c3f5286793fbc4456a5db456c41b511c74a884dcc3ae23d19a85c8e294aa4b0054aa0d238116459fbf12894da87808d68d9e98d86353af6e4c79998bc63a5078de12fab0a690b46a1189b51039ee9a5f8f1a60b7c2a44d033c050c0c0791da77751d8ce6c12e0259a110cca89d834da07ad4bd4c6ccb64e301bb4948c2757c2b2b891dc3343da26ba23ac1b9a48eb19d6f5133bba4a16d7822d79a4c00b425c0a19f75c7b36a43701e1fa9c3326a05ac27255f1858d3ba6d47951365d02dd0e19a0b73cf9e4b16ce91d57734cf13a1258e048db3963f38cbf2cd5ab4c7a87f0cf54e3484f7fbf949329558b8da765d757dc6c27cfccdd80b2f2fa6c6ecd52df8b7f46f84f0c7df06d1922877f3c513f32a9cb0a2045ebbf63ac0c8954b768ef8728d4fcbe6acf26592be1a475edc6afb3d7f31e202c5de775c879119903e1fa19ab1faecf2d40be6abde0e911eeb0c0f1cadec7d0eb84edb165efdb3839c2d96a479a2f5f86d49c5f9d6a932558a41a14c31b0ed60551838fc9c302afd152b8e6762aa3eff456c45c6207b9f7188663cf55816fe4cf52fad942af4ae2c5874777c7d92ccb6ae1ca358985459b1a4db6305726a2b6e765603b68d51febf8ab0e105fef709d71986a4d941ba80af55b2ca1913431570c4b0ed63bf1110a72c2f81e85e92ab55592163a0e888fbc13f825a6da42297b164cd8eddd98765773c0bae01a92329cf3ceaa982958762048b87de1ee06c6257a728cf30c5563701f557629d8d63f9f348fe5ca8f3fea25307751b2afd89b710f08d4a0dfb2968aaa2060211eff6279e131345cdab530ee6292d45e3162f7e646818dd6a806e43026ebf0a031eb2c438762f935293a1a379edd259b12b0a18871a52a4a4de9823ebc27bc3464eab70a76bb0d246368bf0eac62bbfa9b2e99e4544e4fdfa6321066df81c22f4108ab905e10ea87382ba7f7d16bb9ec00e482875380f20c869a5e8a3e6d6e4c8091bc1ab3f47fe1fbf7a36d9c1e52bdc3fb9febf3d31aee3c65c7f9efa490290f45e644ced1747a99e4de1d0dd75301c720c04a241b401ec3e5bc7148e815206c64791b3248c4f13e2762047ed54439e6471949a9514d4a38c4cf7900071ca51aebc72c114b2cb5ae4dc4908c468e66e95c0abe9f9422bc876f2362c172cd64c37151faede61961916307668777572f142b373874d7b66510ab565cab4680511154e9fdcbd49ba34c605701ba2c724ae4db872583f4f6b2fd2a7ab59f91b8dc0bcf7b4a85e44516a703963a8e18ea09e2dc473c3425fd1e61b9fff869b8f6627853cf46e21bcd940327574d1f3827f627a36d2eef17f0778dbc3903c745bf194b6c402dfff8733ddfaa3ea0be7e535930ba706ff32e828caf519dd170f4649a558cf943ef550ea399869c08b85b6dd5b5cb129ca94a4214c90185160d2cbc04f9d4cc02ba300f450e2a3469865bdcd54688d021d61cb2cf2db4581bd281fb219614cf5220c3f852475f10c8b837c4cb1ea4b299c236b7f9e5a718010db84e14e30835507122ef62f9ebd25a84c38ff0795d33ba3178ab622dbff1ac59b4a6a3bf5678204b61b0cbfc599cc914ef85a142e2ee13497c788ffd11e1c8bd560cdc6e5fa5d2fc99adb564677e41b6d53fd1a9bfb208d0f741f6056bfbd3bbdcb88d1add8f485097bc5f5ad3b9bd332346adec4613abe8ef53bd2bf65495cebce7e3a9a09c821d2e4eacdddc2216bf7e2aa6f4d4ec8da16ccc9280b70a1efe56d50773052c38db2df41ed0ab4689bbf358f813b444ef1d5845271b80861e8c27ecc99fd91ab9caab9605c2b789af2eaf8a0801243679d3d8c6354780f79496c9cf214acdcf93f29cf9ddc46f5f5c5dc09ddab5b0bdb4c1b6cf90cecd5dedc9c628076547570e33fef70908218a7c2f00cee7316e7d061f39aa1a58c728e6ca5890be7a0944210cb7840e13076c467707a1f573ef9c37d46f7eab97666cfe3d7a73aef5de56e38f7d39098bc1a1a2912ecc10e84e448a10666c9b088ea88047ef36b7b08f6e864e17832f27da69dbf101bfe8dcbb697e5fd70f4963408090ec010e1482bc7ee1786b7c556c6f390ca43094e0f93737c1d68ea6e7c554a023790dc1c597bde136fd474728cbf846d23385fd5260944c55eb6859a2414d66168957e5a60402eacd7dad82cc8eda71b9802c10e963587d0fc3c1ad694ac58ddb1f09ec3a615f2da867fad8079764bcf7b5ca9eb68ef6c770186fb6204bef2a0c47fdcabc0aee692644ce6cbdd91168e7bdfd7365bc939fce0a2e06f166bae69f2a26b7622f3d5456f0a1ff4c07c467315fe0e4bb1cd451f3c7f91b33fadd42d037a53fc6691d62a06267fe69014b4a2a5fb465111c592eccabab0a274c851fbe870064fb0d59e2b1a8401e94fcecd3da9d33c025779bc33a5d6ea26e852f8cee3c4a5b9cee777648c14257c494f8e0cad2e37f6c89a092c5eee1fd37d4c4cb905c07a2e54a2a5eff06024b96d7390b0bea1c420833944c92e0023618203b78b7638ab6737676788e0f20fa2f1dbbf8a7bec326cbbe04b68f7602f3fec91c9904c633a0a81613c22f434a1e785e9c66b9fee8a227e0157307972be0669937605a04758f969f9bc70863ad949f42834966109edc07edf187a94e770aebff700b04d5c067df2ed09abf78408242a240a3c480e9ee08fbcf621cb20e05bc66d3e173078c39520a3cbcf27c904838fc1ddee7e02e48a4487a3dd8a0ea964c8e5f5f328b9fe3a668a5ff75cf307e78e784a8cb51804e42409c6d05544f8a1fddb8e2927de4b24782572208266fd9fb11f65ed65261ea80ea1fa9af167e7f8adb80eeab74babda0e8dab9aa3ee7e2a04ba93ab61a40f92087a846d04bddc546d625676c42555b241046a0f39f3535715553b1ee88816965de799916d3a81c6de86aac3adb8460c4f4e34f64599b2f4afc9d1bbb6545e8ea16076a0826a26ac42a72a42c8aa96f737d85854e072da974808910ae650ced9a728ba3c55cf9cb0624a91ec5be3b62c7656c554734e5dec419d723292df5a68cfbac4cc66114b855f0b44fd623c7ddc0837fbcc49152e5131c355312082914f0e1e46f41cf1f296789dc81b5771a5e566fda1a024b3acc4527eda9f5cb257bbce7fa1c5e433f0c2734b66066b9575cb939ee84c2d20369b67a80a27d9faf7985b768e0ee379c6d3745d7484b59e55bbd87924124480439d3858b2cf5bc42cbd8c846b6080e17934be425be41e42c53626ed7ed48f0c52b9c2de57d3a95a88e341926563a824d40958c1cbe7f8f4a688319e3e4d62e91a82bae8140838553a3b3bbbffdd885150da4643e43b28a63b7b21d8ab18fbfae77fb6b2385d13fc7adb1c67aecae5c25fc63c172c4953a70b4fc77cdbfa6c362be9572951d97716d1959105f24e092f8c9051eb96701b2a30f762e68e4b8a0df4309f8d1621bc08fe800bf9dbad03b20112047e5e2a03f9d89382083094376d05727015289ff4fd6d3683ab6112e403c9805652b33a5167d00f480f5f087161a0148706a8f856e4bcbf7131d8e30fcda507adc95fa4a20c450829cffc6148baf0c45b7082f832a23844cbbef5da1d3d13cd98aee5be774c696c665f7f391b53fe4e4866338ccdbf4d461bd16a9e86a87cffa40828a1a47671ed5e0735aa348e509bc9002a4df01a24213e82981fece92ac0ba25e133120fe50d98ca8ed2b45a6d3e587ff4baf0cd3cf78fc864aa27341a304d5575ba69c5fbb36786a5861568830754fd1d8e2e499fda727d2617e65aeed851edd4b790dad3374af29d6b79ae93c0f0d021f2266c41481570e5a4937788f270fd17b019595990dc6e0ab4b5b4552cc1a085ca61af00cbd1eac9b5220ca0acbf00ed964c061e84f4db56776f550dda3195d3709e6dc309b3e0351285f7d1645dad3bbe44e9c614a317771484b93d4354c1feec3cb181ca5e141fe1c43308b025527f4a150704a9550a3a3800d2cd4084f0bae796c13c8ba4a4a212a38bb2b0b5ae38a68041760e12ba3d80a021a920d4e9fac481f7a03212db0692fbc890cc0a907c3e489f223d5677863fb6432d32dc8b144f1885777bb54d208aa1a9d764eb403064dbd1be6cdb30a3f199d5c23d32ffcff58efd9430d35896ce766a4dfa97eab05ab88b27ed654ebb51c80dce061aa91ed0f50d799619a36782f87c820d79b5ba744122a571b13128af850bcada4d66e2cf48ddf56d85feb919793ed04cedd1aeb111f3464cf007990daec1710baf9b11893f9f870bba8e506a38a13986213dc919b1ba6539ec77c77bd6924aca21a44d84ac01d61b18536785eb46ecc9a26e9d8c2b19e04c0bc4169333cb3aaba64ed52c3e26434db717cf06a1db8f217636a7bde02831863d362f4fee5c2510041ecc8c581f571c92f77a6a4c39b16780d2eb27b9c03fbcc1c543dfd0f97b6f930259e73a70172e125e5e3009971287054cae4bcae86d82e1444a230f2d12f401b1eb94d2943f6b2a7d2899524b9cb62df461473d7f57c80cdfb33e39f77cb5a7221415af054d60b03d590490753466d8835aa558c26e1fc1e84a4549c4f8511b712fab0a9f7a1529b9f51df1c428f0294e095534a384f0075fa4b1e6adb90ff5ea3939bad098385afb9d950b24a594e988c5d6b81bbd0a7c329b8f335986a4044eff39d2e673875bb684a74c7f3e39bae4392bf4c85f47949e79f7ad35270c379840cd67fb1149a1b49259c08cffb72ae128a084a4e1b0b00fedbff9e46ff4ce48789b1124800833d671b16b8a7c2643c083f8b2db5d481f6182de0f1821a21f5f55f3c2dd1d022f4e8f5e475ec648aa3386c332a113ed7d625f59d5c7987a69a9741ee0ebdad55094f9b99fd2fd5ecdc40f495942a2d6aa64a8e375188aaf9693c2d1e9550956fdfe478247199404165023e1699b4921f831fd07be3829b160ddac4ace039c7e23e9be38856cc9d6cd8b74c552c5c278bc1a40fc639bf820fa7cf6492209abc5f02dec5767f1e3aa3260d4d454a20527d6f87de1952433b94ab5889c9fc380672a3dde6e82a526617bf330c0dfd9fa04482e1c45ea672da976e5cd4be6b5747f54fdd116f331b48cf3d8dab0aa6d905e72df86d2bc6779a4b0e9ef895912349889524086d4f2a5cb4de9e26f4237db1d53b4e0f3a846763030d518dd946b01b8a35c191ab547ddcc058c4519887b2248924e2b0533752f7228cfdf049974850c78db300342a23dfad22a144882df38d1b557d1ce9f416ff256c690d4da5a02b636c3a032893a54e9e4a3dfb742c90b42186f47ce3bb5796b9c5b4d6e3c2210c0f3d2639251f1d0c3ea566fc214a0dc0514d1ae526e8473ded53652f15ccafaf610c705f7a4a8f29d8a98b97441470835cc284f1651eb055262850a251685453b16df34681e66c2ca7d7d25d5d05828b38e28c82b3a74000dd57324d00b22be57827bbc713739456ed88cb5afe563cfe31a3068c459b7cbeba2750cb6eeb9c16bd2009153ddaa3e51fbcb11151e47025cb3654c0b681b2a23737017b9762546b37385781b0ff35c4cc2e22dd00cd4c5375f7da4c62e9ab900b47fbcd64d682b197b88289d20d7365d74ddd7e5e58c2990ffc0d572a0c1caecb02c0355b1caadbe62537774863474eda3b8f7080f4d8c2cd58691b764565570e4eed67ba5d00462a5333a0577032a517af26f2329fd77461a16c9973b6d373cf63a8e5cec9f986ffb98cf695ae08e56857ca25897cc4a669845ee9c20d41d179b2ca79e6fad593637dde58fb23840c0263f91caa00c828279ca15e398e35b58d2e761eda21be8f74a7366bf1e0276edbc942a460b31a59916c3f6f4993136c6fe9eef8f383841d67372a226eb4d93ddd514dad336de31417adeb4f774b86809d27750ef1354a190fae0455ae8e22a31428cf95fd5db7bb6b173d2e955cdd5cc6266c499fd4aa0e1356c68fb1cfe0810cdb6ca734b76f75853f4ec8192c985f4bff7179260672d4aa7dbf43e3325beea993fbfe5915da1110c1316341a2fdfbb5d5a0334c47f3df09da64af4037b94d3fbd78ec33c72d9174c04c607b695967dbe6ced03a041a58edcd662cad07e8d53ba0b12aa190c1836cc3fb6ab4140d76d7910b938db6d7c23f58879c57babb7a166e848ca82b87f29156083c502bc8aedb76c67ee5b59b152a19e163cb83f2831b9925edf780d71c67685ac7c48002ef948d607c3437cf3775e51f5f025d1f7798688855be0888bbe36509187c546706b8e4b0dafc6c8eb8d3da038fd759341683c2ab550540a4b1d796e4658fbaa046f62901667ef2ba3a9444fb282966522f6c740a24498e0baa934cab8af14ad08b590ba410cf649c26df4bfcb6f10c8c43f65e65e470d48fd9453b34f45f47bdfd8dfbed53d8ad5a288328019ed9ed188a477a8aa15de8ac169b71d3f952abf8dbff99a40036e6c1d92a0ed9cce9804302048b2c86ffca43f7e9a3003b041fa406fb70e1811b1203ee6d818367dc36d0d1dd8150be9ef8b6902307f17710d76936aa8fcbde119c58adfec25c1a330c219963bef2d360cbfb20960b2e6c8593b834f3575fd645435f38507e85c89080ac7015bed96d21918dfc0f66c0e898b1c682cca73971b1ce79eb843b3c55f8371fce3ba335328765089b8bc1e190cd468796e54cdcf5f6fed903aeec44dd8b3718efca742bce4dd0f9441d5f5ca2e7d595f3d951037f92d29dd6ab1d39021338b69aec4efbca34d323d442c1c6c92424a4352b7e125132f8d9099076023eae1fc482acd5b56be12e4c83fcc7a7c8b35c1f33d4a8d795760ab63b3f1bd84d55c4ab6d5ffb3ab60d86e7c0208fc1121674ffa4fdce0c06a1579031f41e94728b8d4e4e1768832530dc18f8acd1482fdcfcb48ee282b256c585ad38ba3a8e2d2dac0205d7249e1719dd9b1167798e0d401ead51eaca22d40dd1f06d41efdadcef1b51300f24c8207311fb3ef1212ae46c41db22eeb2670f3ec8f3c63de250a5db8110ad70742db878e172750ca1946f62175aabffbd7d825b930eaf21697da960e3c26842845ed15519878c8298b5a2e5cd41240981cac0cf52022677f035e03afaa9df76b645f4ab2152143ed356959a9316bdcfca3b8d0f21dc38849b470d7cb0071a20ea372e11985fbff8bf36b73151156d5993fd0718fde34c7d486663475ab4c8b3613d34ed1ae082c918ef4264e959ea36b8a75c290c46aa0f37928ed5432bb5114c5ed8727740865abd75e9e2c13a0d271a55a969386ff7a8d5ca24ea0b90652fe03a54fe1e2de4c301cc23faefcd608f2d1ac489d23a5769b487bdf6ba2d943006fe591f81d120d9fd9c34a8744a61ca818fd38aa6cf42d05734f51cffb424c154926cb8b7a8e61e8b6f88ece50fbfc0b4c173632b9026684b59b6fc0b89a979dccc69473a9b462bc5780adc4b4bd93d8e06bd904240b2107c36e19e78e4932f041ddbb83c70cfe693e96d66ade669ffa3843aacf2667673a52d3c102857110760f5c2cf4d174aad4e7550ee32674004d26184dcb7fab367108a18e9b31d733fd2d9bbdc39474ac5be2889cdc938de353bc9d4ee7baf0af43523fec3a210bdc44cfc7c015042472673232fa2557a21ab116abeecaf08c987cb6a9089fb3442dce6cc456024eadb9bd921cbc0a295fdc430563f296f1b8be009626aa894bfb8dd03dda262f986a4bee52d8c0e24b22c86def8e8d3560489b69ef6be952bfa252fb15552a2d002199c5cc75e38dc82d37aa551dbd924606356ec97dd0485a32f3d92b38fcf7cd061aecdf88fa16c4161be8bea31cff3d9cb097c5e214cf04765d28283c2af5ee5a16bddeb91da29421d28f48afce5562a0b9acb312f3305ec8f2f404b9c4e4c92b7b36bc859e525b20a5158b93aca0dd77dee838e0fdb027cb139a7168bf2fca923893844363d4f9823b60ab961e35d910a99c384a9c83e8a212f1f7a2e093c7c36dfbf089cb74bf697cd79a79c1893f9bb0388c55b81fe0890880202e1bd219089a084d99e160d54296b6fc7855f705f1ba798249362b42fb4f6da3eb05c42040f20eb3a269793ce56cd6b39cc7693a732546be509f0bc42324c1646bd923af68411e49081d2389db115c9315493cf9abb67b68019024df6620b15567fd6c0c1ab29be0d64cdffd4fd13e4b5ed8078ad8c58274f5eae29861e4b7c2978f360a03406e38b4253e14de9ada15ae1f4c8c3e6bdd8efd69f6fa2a4c2d82f8d969cad19e2e156a7aaede17a6e8ea9c93f3d6e9c510e44e064129b0e670ebc1c7336a6d1ead16cc487b9f1aa3f320c2ff02c34bb8cb805e68e5c8f2f3dfdd6540a7a22be122e347c44161da6ff635b5fbc70f44ae70ca2f74c8780c791326cdeb67b683de944c88152e8c2bbd203e9f973a8ed234bee1cc437a81ce14b837508a80e7664fa6427b9e84d5964d8aaa78a30a7e8b530efeed31b25fcb7f99c2721cd9d218d6a0062a600bafe0f012a50d4172e47f0875758b16a252af3bfb8c571d8faaf83041615c27a5e890c7c3945ace4d26eb4c75c621d7a2168ff4507053db709921f8ea63dbed2cb5ab19915afda8455a423797b64011d640d6b654e8cefc35d0e803515b53c10a29235bbc2809ee0bab0c170a7f85ed536ccbcbc676a5dd2bbadd8362d039fba243ccbb067dda3231dfae91df26fd57f929275ecb473cfcfd8df8f367dae27de02f8ec067740f95660e35202ebae9b7ac1c854208fda0918aded64dbd3a4d6becca001e9c4124064542bb3994f9447159d9ba014aa18b91ba507a444270050a336f83360a68d23feb1dc91de0a35072319acb37db0e88a6b7ac1e59204c8789ead2f4439a5214bb72674f6501af42eca6fa15bc82ee671fcfff990b48a308fc61bf59625880fecfc30ad7e5d5b3e0ed7d19be75e783580674a50a08e20322213c754cd8e085b245b9e3ca0a81e705bad37eb7357e1a5e0a2805a1b2e360270bd28d6f789b7dadfc875225ac1ee05bcfb1f18ee836ef6c340465bef7b966cb26eeedc93f7cd36f8b0e36708ec1e9bec8230c9f190d5d2b9d724fd031909755a3049e205a66c86d8ce471952185ccba4e8cc4988e804ff17741c396c2f4a86bd64a158c3af2337fe0170ea262028b8fcf63759e7bb08e5da3afa88adbd345cbdce01830049f9f0218685a7b67aaadaeee31cc500e8cf821b9989168294b81e5c1bc0225b82c8b6bdefc2a66af7732b800dd248c9c5819625b4dcd25a392a9e665330a21bc95e25c5db7a663da955706d06ea94696da00230dda63d543dde1c8d84d30af114df88f9bd1214c3753458086825d9e5cd79597f28f96ed024b093e0907889b946305b17da911047ba43a2efb2b88f6864e352086e1829a3f3109cefe29730dfc73f2808fc3793b8b3302da8674f96cc57ae5149e3f7360bd121541495930b46e9597fc55056d895db9117f5a51dc93275d46dc4a6f28f8c42551fbb30383edceea5578be583294f82521e031d9c562a21790d516f7bef80b351a72480c78f7606d0c666c44ce99c93df048c13592bc04c95b846df6c64d83fea59899961ff342e3e8ba97a93ddaf6abe7e6cf6613c4fdc430c4e7a57cee4bf03358cdcee33841999eeb2c1b288bc5e135f692c8b14afc76a9aab51b253ab6a4132d5af0bf8c508efdc570d1d65156be366f0d8f7517edab68f85685eaa6251606e10b489a12d2e324a2780fbd694105439d6b346be0f903f836aaa907adf0675e9ee56e63628aa06b1a2771bb2519a0cf1430bddce698d0a06a64736e1aacd5e92e0c0812893f05ed98a550614c2afd769b8f3cf49ca8a5e024aa2767d3fdec4de05676f54ebffb5bea6b26494209138418c937ad963a41efbbc1d51b0a8d10fe8e978876249f421585a209a6054e5a94102f6704f9c55e1606bd21cf42bb4df95213d819ba6d3ee6a5662737825606d3b89c8d5dd76494a9a794bccf11221e2784800f57dd7ddb0952a928363d9d6f888e1d324a00db696f0088791a76971233239a3476b75862f53b6eee26e42a9507536c275d1bea765ca332834511bc2e9e3ea8cc5d1a508177960b43e6b5d215c536ca3880d6ff543c353798ee60f551cb946c0a1cb6fd5d0c165f59b4e45703f727a5fba8cce2d68e867bfcffab19dc6459bac14d7cf393b6088b1a56c836e131f30fb1a50dc877d9b5ad4b63515c96e07a784542014442abf8ec96ba1215a1389caa5ffa7d519b5c3df682f469510cf372e74d26e295eb9a39cff0d0a4856ab51ca637386abb299bda87bf201bd39cf4e99f68c5dba8153175f62c4895cbb5dc06a9674bd8e4b8883d2968c2d747d3fd3ad43eb8c84158d45fc459b31365830ad352774cca4762c7c3c7d5a9deae4a1c3f3b9c52f648fc4c2255b621f87fcfd015a67d3e5664771ab57916fbfb63d527fcc2dc0c04886ede825ea56996a8baa15b06878d466fed2c35dc542a1fa34ed890eaacfe0a48a4030b55b23a58564d56618d8b15651a52eca2b37f8d733310ac2d54b50fba0b889524dbb27f9cb89315de07b3ff9a4401d9104047f0d1749f6c0651974b018b8df81fa8c86fe852f3c70dc21f820a601fbaed0ef7f5a5f8e5e4f043fa37fdacf56d055f5ef0d8fd3cdaee1efa69257afc770aac92dc8244d9da4d17b3772af9bd9c8a599b6b482b10b178f1e27d93305f55540ecd3d6aa2b015815c9b8542a455b12390782f546699cfad70fb3fddc9a9762440f33fc4cc19d3ba45c792b24dbafd17f5c9085a12e3f73303649de55b4363f471861cf613a71280825f830675277c137e4839f85601207ecba028eb0ae5e161ce16605b5804d5b89518f7429ee261c2ace26c36c763d3467744350aa4510639be4eb1a4a5f00f1742f44e10dea120111fab4fd0603141421e5d5f288696666739208dbc04185fb8d528e913c2f8d6e611ca0bb5e23e99a6893d00b8f12ec4cca159a7e1dfe005f7444d13d65135d823edd954c9c3eb01e7611c86b7e36f5463feeb918c8cf6153e4413bfe30e695642e23a750dc2f60d83f9bcf2a3e4e58082edccf6d56201c94190b401460c02ff69c7da8a83f1ba4f9b2b771d23d1ba70f03b9721dcff29cc2198eec26f187f3c633aac110539112b8d82855af9583ee3c992a3ea44a05503e037ced26c60007947a32d07a5261e2f51e369fa058f099b09cfd5aa3229ea7a5f2ab6aa140f868cd1a6ed276c1f9b5607c40123059e13140d47b522f3997938c54026482d81d2d1ba81e08981404f43b50309a900abce89444333c48ca083e1b8ed065d1770aaa1f996c891147878cb3638dfa027d27f32a377f957cb4ba0587e736c9b05e7d3e59c16bec4cc1e5523d705d42f53381e32692033769638cbdae6fa9534e073d90ce2a9d0a17f4f1f9d4dff7dd4eae09732fd94359d38eefdce3b1db2e155ce552c40e384e148c24a34473c6a9a17c25d3652e1eaca49fa2b0fd817f52e64f4759753f519a776608ac85df9454c76e687c34dcd1c29c76b4e4449a5e97705711337dedbd49b9bcdd2db5cf8613afd8c7c60740cdc8e80f5f07514354d68a343ca297cc06ffe27d3994a0c03095f72358d363eaab6f8469ccc956c48502e45545cd3ba08c3191bb6b61393ee5ed645a01fe9c0e68a7e32bb1369f0581e56b3c2da10f52649b359c396401302d9cfc50b7352407bcfaa5fe32ea7cff4cf704dbc32be49731599c67b90223ec4ea13ac42fbaac1c3eeab04054b88edf8e97c16942bdb263a5ca841f23bb75eb8a1b841e7bd1cb4d840fd80667506d252c22a0e1a050ed98ff3dd86c6542252eb92220abb386ca9134eb58be4e50fa7bace3e53fa3fa1ca88a24eced614ed044a691fb025ce4377677ae4b0af5bd5531395c8d9c0b0d0fc9123a3fb0e42c51da65822590c108d73ca9a0d5098750b0fb49dee199cf92e7f1e5e596c55c2d70666bf86cea59ad497d7fe3097b4b8b57baa95af7c7481b030651d69e0fa0385245c623258939ba9179d3eac1e7cec7ab030bc7ba0cbb4c975f249178d93ef8e11df9344c88f83eb121a944b0e14abbd6f9731cccee53eccbea515191fc570eb82ba57d16105f1d2ce5ea8dbccd9fcba55ea7954d9fb1b3286bc0fe5d148b36de36bafa7dabf90fc7d29971c65b7103b281acb84ba9c0476060a061259c48993ceeb44b3b0f6b32fdb612c39fceb4ff65df9ea77898dab9103235300e8c7419466a13fffb52162fc6a141fb540c05a5c1ab55049ee28584cdad35f0fa80fd0671c71404903d7bb970d27130005f0f49d5fcd22209486e431cdcce0216077b003d417295fe7935a92d85f5a5759510a37ee9d2097b4f4e6fe300dd61c1a16cfe0f9e34dcf13964ad0a85eb333eb90f879841101b1bbf33f56346c0908be3b89b84c815a8cd4e962011ac01a9cb2cc70ee1463bbbabec0356c3c42783378d15d6dd343ec723fdc31fa0a4bfed4aec68fd4c125a367e6e863e0b3d3b2379502bf9c6d34868474fb291c5d1daa21a9c0837e52078b89604a17c60ccc3b59a6d46eecf012725541be39df16b8fa68ffa8f60924c96f310200dfcc9143c78d1871a956ee77e59f7d2d2c7764bad9a0a8259c23972fa100fba67de82a533a773dbcfd325a627a9b606bf5c438942dee408997e8a57c7b916719a7bd6369249914532ddf4edb561ba464ab96d6c8ecfd1ef1c82c1a1a138b3ed2a548ead811ec029a1ab0bdd54f34cd27a3b7ff57c5afa9f4be488cd72908565ab461fd6697c53aafd58874b636693be2b35b6fe6d481ad80ffe71200208e5edc31f03b7707e466860c2675665664e104214f30196ff782acd59e84e895865faa5edc43dcce10d3c12133eb720da1eb8a8dd214538d00f5742e45da5cbd0a9c9a63dea98bcf274d6f1985c57eaa4de44c5e624263fb392d8da519a0e7ed4fddd0ddf60579f1b2d29b85a4e180be156b8b5936765d95d80e088db0cb1aafe150589079f497282df21f3ae512f076ca8ee043fa6a31e70d3561291a47165aa3819ebd2e9797979f639c8c0f8adc642455d31889ac23fedac7ddd3ccc15f738fbe3df4b300063eb89a4711b7578d964ccbc949a43d6fd7493645d54935a6275f602d577af21d5a9c5fca9bda57524dd3c9ce75cb03f55bb8dde9f3a0d4b304dd7683d22154129a7628f8c41ebad5f0e9514cf7dbe08b57c220467eff6e87e9cbbd2932eaab1471977c26842e0fa91fcfe495d549a4cec3e386192265530f8af76096bdd988fb5787a6391e633b7b3621a93ca1cc53b56efdfa146f0f45d6c525b37eeb137b0c53e4f72bcbd5cf181a50cc51cbf58341bbc7d01a99e780ac3284cba2523c54d42ba1d4e146045b8f48c84f06ecf129a278f864768a14ccea0840897518ad429e23e073ba7928de1807fbafef1076c1edb38ad3ce636aeb8cc2a70ad0d6c6ce8aa8991947aa59b1da9ebe5b536100462123b64a7366fdb57cecde6933b232bd447afe9332edc9e7ac2d370efd451f39024c07098773cabf98a44be50e3b1dea6f42c58ee790f7d6c626848dbc1b40d4e810c8511188a206ea75b204254e06fa4fd7c1a4aa69c0584f388d4e5a6689c5e552406601414f5f6fe85f1f289e85804824c6cda4f4ca2de602001c45081b2982cdc09324f4252797ea3be83408028828bebf0f5d1a0b70ae20d15efb99aad47377b5ba0f9cf25212838051e4e3d8bcfad19ac26114d82b0433de203cfa779efecada5633c98219229e596e7ce6fb4ba5a49c903cc32f64ab6438853f1afc00fc3a6870313205ac4f3e07de442576f11b3c94e8ddf42ce6caf0237ebe7f62bd5b465c8373d48fb473be50481c9b5d0f610a810fd98ffc029f3aa8cb0c07d988c6fe291d46b7c7c78b38f86542ea550e86cf20e2141e0283f23d2c85e870bdbfe4c03270fe772b98e6af93de978055761a9c9b3471069730cd6d982eeb38dd6db104887739ac739f9409a98599e951a4bdbe9b8a0291fcbdbf2f285dda1d4789e6887218bd87e1e0dcda09fb60980b4cd7679611f77dc8f7f0c7299432e2842c40dbd0bec903b0e4e59c8ab700db1252e260c29b7d56f587955ce3968984a5de881a987cbc5179bbdb56ce9ea849440885012059bf724eb2ce42bbfea55a6d8876714ffe98bb11fd40aa6577a4d0596c388ef7b7836e01368a730e1afa96627daea419990254e6980cbfe16c7738f7751f6b9c37e74eeea1fb466520e340b33c647bdee3c3d44fca88256338a38f7a8b14af63fa3f715795065e2b8362d1dff2c46de541fff959c6b58e5d24234ba10b331f05749a3a42d1ff92ad4b66cd1c7010f1186a006a26e57083c5dce2565bdd3a9643b58ed2096fef278a69cdc9f8dee7061174efe251d57d31f42f80b6ebb551c465b47a5d2c449db813177f368cd9e7c651de3f2493e02762658f7b18c1ecfaedabab6e9f3a6620d8bca6f47108bc17670751afd7942847be5085e077720ea4c4b9f29e6b3599a1e61014799a8bd128b3995afb9cee3febac17f82a8c2338bb507babaffadf53601c885de52b154842344b75556ab8293634116ae1e22ea16226e8ce397babca48d89bc9acaf0c3b34082a142ca720ec74963135877854935f36fa6464863c85654201654d4b0f1f7efb9e4362ff890fe92a8a10cd288aec1fa061f56e3306e9b4501b9d8ef1e9038bf4ddde9a861f9e29b800805e5352b97116cb5d2f6f00843d9c91fc02642181ef49f7703908bcc74a5a051208344e2a719340d8c70d45170ab8f10b14e5fe68fd904d4af4337fbb8f246a4ee31926c081644f77f08e8b97532da8c677c286244e6bc7c72644dd1f61e4de3eaba3d92258e272b09169796286e49ff9f8ef9ee2d7e427eebad91e39f219d284afe8e78225d35cd155783b33a3d63e93e6a17af5a7c70ab177c75e61379e506115a696afd990ba99bd2c7cbbf0a447f740168c76a61c72a6f944229f1d66f2812bb3f0469d48bd0c4561f2a21d2b74a11a215c50a3536799de06b9a9b385ff94db38674e50a919ec1afb0ced629d4dd530bdc7a920c6624df024109f9e4c871712164fec62a1b9ab307a99c121a1bc9493f3763b672e2a9f965e5d1d5decf15bdf51d767a8d76b4858426b969ee199d36126566f860510d3ce3e8d96d7454c850421340771c37e86937c072642982e68d807e472bd03dc950d3828568d656fb7774372e97628c16e243035b279d3d96bf0a0f38f08422a87098fceeffce3da6ad93f60b21061eb8f4d71b1733248b5485f4e187df6dd50d362af58cb4827f4bcc0acf0795eb8cbb51d12606e4c7346ae1e586111b25411bca385927a244f303788394830ae945003f5b6742e75a8e76a8d7e3e1e1433a90810c00e4c7804bb6fbc1f0ca062062c9da9d82c43a4187066989a5bcce4224b1768206ff24207bb5e2f512f4f02d29c83f39cc267f941eaddd4de98a2000213ef5f07f4171ed812e0756e4ffba10c49a0521434fe583233257db6d29442edf68fd737bfdb2d5a759c5a505b21efd93540c7c8a6d9295c22bd7fc08526e09b3ea66da609221a550bfd021713c49b46b81e4cf5d5dbee918fffab124153851224f05197e24fa5f6671b230c15ebd4fa06ace703364b271bf14c694062a37f9ecf7686e8828113513c472132de94772f8e1c57251bce5432e8ef7ff081920645071859df7ddd814721ac35c869bcd212f78e2f64e65f8a500eec4c4c603dc0a51212f3606fb00e3a4e6a1da37a87add3a6304e4308643f67f127e5189dd858c1875522393b4ec9a512d656e866165edace0d38d64706be6d7984bf39c04bb9d0bd5916ef53e2756cf983aec7058a17d529d80b87b9f9089aa00c1ae390b200716c2e7375a7840898dc68082320980d05a1aba965db48c6f626cf89f7d7bf5c4b70e41fde369030483b27abde4a113c161760c2b190edcf24ceb917ce88ed002fce806c3d3ad461e039582635c4faafdc5207ff272b9a7916442d587208f06cc390d0524f848314d0fa541c5f641e6112e32e9a67ce2ec7d46892b6b5c6a1f757906b8732a5e0560c629b6c26979a7337bf6ab7d1540296da6502d07d32ec8328873f1979cdbf20caf8a378f7b99100e77146626999eb900bf9b0fbf99ddd0b5ca72ce9dfc866cf8e63b89a9ff69d55264fb778ed821744db6ec5b09d9c690bb46fa8030f80b7dbd240d21690f40642d23845d2e03fa8769fab0ba2f721e9b044d2b9c5a29ecd959cd7a53ca027181043fae93136deb2ded5d76b86640412adb0352d64f90a434129220f9ab590f9e1be9fbd804eca166739a34a46b63f4c6358bb8b22917397f44445aea0d57dda6579b973c37a9b4b5a40d925e9f2172db356060ed31fecaf3c5aa905f6d2fa24c80be84fccdef83a8d4e71c5d5ffed2c381b6e438d9ac1106c5e6117cb524d14e2cc019b6fc76f563f28d66a4a870aee62cda81829a81a95d095583f5474705c915e552c322c8ae0f911f67d86929bf6e44c40bf55a824f55dbf03adb2d7f5fc50dd9c9c1a4c37ad0e7245e3e9e356b1185f457e555e93915eaf5f47bf543e03a00d6ed7b13ccaf8085a755deef2cfc65304f2c99ec1a64dc9e252ec54675bf0ec2225ee5079c65ad7c5cd56b5f1ecdfc3e6dd07458ed5977aeed31f4027caaf2c83bcf48d9aff1eb23854bd6f9541886482665ee9ea9d5d5bc4f9866302bc64c2e9f1aa0bca172a3c19c419a743fb87fdc62d942abdfca39ec5b8e1d4ebc125878577f34aa998edb4e2554d31109dad5524a6c8a0bba52ba6729b16ca1f1e1fffa55b44906674dcd61745c2a4239338b2067b5eeb2191529aaec97db0e28ab7278a9df03ba8507760fe07d6a21a45d18fdcd8bd800c9c233b7969da30307be0008f16ccfbe456717a338e1cbc0e5d723e8f8ce26641cdb5dc6ae603f1b6abce28ff7fa38d754e73411a3fd5219f62848a2185a250df8495e3105c6e458b49665dcb96e0877f186ed947956abaebaa36199334ec229820e7b218cdda01f3f3210f55d6acd8bab52cdfa0e118d987d6b907b10186dd8fb0fe01d65adda16ff9107253058b50a68d58b75f3ffcd4e10fb930178c94bdc6dd2c722433cb441e49cc967e4e1e172348c4de873670ae9bf8f12582b50f6415bcd2e51dbac8e6b5c1ed2267514630a4e16eaa34bf60d95f812c20524409369829c56b22aa23421a450a72e4c8d0a5436da0f9acd5179ed6fb986896ddbc0b37f9b8ad1655b58ae8fb9b3913d286daee658cb4cddb823cb65657cdd494dca99a42b82f0f1d765830a2be5f2a05202521face761313b0a9150da286adf587568d02ed2f4f5827cb90b54156499beaa91391c0d9a1a10c877c352aa16fdf2681185a829358729d99519a9cdebe0af0f668ec2230041ac54a48587c0a8d4cb51a888df89f5808d8d888db9466a54e5ec49c29553fb3f43f12b31e3812d661d0bdc2bc04ac5a999e391e9a34cfd2375aa90c3fe40b264dc4c2e0af804051b3d2adc011250f4f9c7d6ccf31f5018e7820b2629825032b326cf675346db241675fdcfa5dc1e85b251dc1f28c04bd6e60060b06556ef7fc2d2971f165bd40775f2c683a33f25e0da3109db33f95c87f98fd2d7680ba28ccc627c03d9030acd37d1153100979ff77b06dc66c36b49e73fa687bb8791a92d6d6d4ff30e78c7ebbc0925faf5b64837e839f7b8cad908a9edffc3204d5927b59aadafa445a35d2bf48b07b328536d77d6b75eab36963bbe2be97e63b3d5a7d99eb2f5e163f552dc9b68e407469041f9e6112cd851dd3ac874698f68b25a8b516f7ee7ad586b9b5a936807a38f761425a1b191c76bcfb5800145ee917834531d81e38049fef09477f576ef8bc187522d361405bc77d4e26f5f0a72e777f29f3d71682a3e92b6b2616c980e69dae14baa02794b933d08af4095fcef23664e5c52b55eb67c2570ae376aac51a814aee6a31832e92ad9c896e37b053ff76166d8f34dc33d16fce109b8039a045ebf3084ebb0c8b0796da397131ef15cf7e23ca5b90c770826659a24b7f811ed351c61b9356eec1c262d2d685d1753e96ee5c4348e74f45939a4b2d3e1cfea5184bb897fc7a9b0a117dafc3ce1d5166ac1b7d7db7bc2fe99cc8b6164dc010da39061dbfaab8a4cfb4839a67d517678cdb63d9908526029875a8b5683252dd029d635a94c28ab3729c61416161e1627a9ebe8032c0fb27e5f6bec4bd2101d310f608de8507cbe204b95ffe78a1e79481a50e81fef1de353793359c6f26eef454f89ceb4c5ebc5615e3e5c364d2a2790cbd0e44784870e2f94206c86907521f693375785cacb0cd5262706e077f226a9e83b3b2aef3bd1dd99d2e5e2f56e9e20401c8aa8a7d7b8f1ba110fd967845e2012a9b9238c0769fe078ef2d0b9322a29c5ab396f2cd4a8333469298aa94ed3efd670707dd1cf004d1aa885deb8b9e2d466d39c0cb7d56ea1551b9f2df509a86fc695763e21fd7410169dd5a0224aa519c678fea5f76d38baf694b341ba88f8ab996cbbb8064de73130fa4723815f6b26f9e95ed55dd2b7b9bf5f3d7e53d8f8899452b233ed1d5ddcd3bc732d1ce48e7f0d694ab12bd3db6b7db8db863d0ae80d30ab265bada285c483173157c3e584fb6e6e98c8bf31b3b38980b5f40e509f7801b87814df29a9aa6fd5a556d826da942c0072cd8999f285cc7dfcd07416a6ccd002ceaa3b65c3fe1c77db470f040e66885b17f5dda732089aafd8818a30775c6a9b8bb17ff52f744ca81c371bcb64f58a62f7fb661e463c5280a750c19dd8ccb66f51dc4c60bed2348b4a8ac2f9085af918a2c090fdf31e6a5dd7d0b25a9788bc4abc8cbac06c6f2bc8876bc9fefd8bb8754131f2d7370ae6c0a1cdc38d0b41c29fb7406b7d0f660079c196ff598cad33bcd58f548a3f4bac65e323dadcd67b72cfa431b09565cfedb4b629a8590cb1a654c72c6815ebd8dc53822c84c918420a633ccd0aef741b8bde463a1bfde680e4b886656eb003326f3d794231023a4df3ee99bab10cad96a263253f3f6dfb07f07626f8f41805c9b0055b85ec3614d8e688bd04c41ae9cc60e2a66df90921dbebae684b2a037030f46e08d0f63c5f18d0f934313e4e7feb88dc6db8bf10176b3b20a95ea3c9be1f710a08f0a206bd85a843edadd5c80be4dc2ff9a7b458d5c6eeec48deaaf4fe69111e9bf71d4428fc58522ce3d630077ebe65ce53ef8b7a1446ad6fcb440105145262b4b4d15df61cad41155b7a34a763c90d8642d8c6c8622cbb10b57b86c32edc440990176b083b4cf0a02607fbb25223c3369b47c1f2c52ce3c6da18babc3dd33416a33fb413b6af0b6510c3f755aef30f13f92defde9e1edb14b02b17368a512f2cefd9b14307a2c746c048bf6d52adf83401fa26f839ade03744c5d176c79f11754cf789bbbb9c05aa3af4931978450c3bfc177de7fefc713db0543dce07259622f675a8be4147d358409463d0bd3a07b8912dd0256bd8cd3e0e2323012c5e2d8105a47eca7fa4f02f5248f5eb3fa79578b7305b1e126afcd4d0bd666a7b3e747a2bb678891ae5e183c1f793a32fd95ab5a811bbea26f4f4372d6099a69609e7f78d143e1d0a8faf5a60432f520450c9fa64256539491b8d4a6922f595ab905f335d4f4901c0831630b16a043e1f255090b40349a5ae7d2fbb24544214705d41da45b8f4a2c5140d12bfe1819c7359b494b6dd76cc58a78966324037314802642d2a495b1032965703fee0552a649170e3694d6448f3ce12ca90ecb292404b3cf63f8747e4a4715e5172824079dc138a3fedde07e2f179f20f995f7dc003d76dab0b7ca2bd9d1bd7fa0b3c514c93046ffba8a45a0c293625247a8c0d6dbbd60a720862e5042643f29027c46fd6a729538e70a7369de15a084625d41c006143e90748dab2a14ebfc0cf9e35ac371d67c51dc9b0d732f890b9f66decabfd3f800c8330efd6458574df735a18ac0bf2acd53406adeffec4cb0d32f44737c93894545c8d5f6e2b7b39981c4fe312d93aba2668b88431f2981d4597440267db915b22f726926bb88871df6cf4f56cb442f7af22ec3317306b40a7b3ff82531c9db305c01ff571f611e24f0938397020baefe281eaef4ff018e5d8c2f24678ea89aa937258132c6768a7d383c61fb2f4932c58e8cebd1d6c1f4b624ec29f4e84f99d4f284f46c403a3fea08224f1f801a2e01c3b6e05aa6651037859b18935fc9cf46e3459f008d2770c6b67cabd4542eb8297b30b966c8c77b5737eade2d45029863cb4466e8b6e502fb1011194359dae0590ef4678efd9eb5f249f04efc2253f62036aad10afb44aa99ab2560c79f28c2ccde43a27530b3cda7121e2ac4be6a8e238c0300ca80e7af983f9496c9490f1c4741c05b6a8ca94daefc9bbe50fc3266218e9bccbf4fc695ede1c927446b438a2fb8454050d91168cbd54518b626c30a3bd4ad335ed98f478f11068a11732a891bec4bb89ce28893ed3899ace40a5f7f6f2e50d77beceb4f15af71fd8183bfae29c3ab2a27da3d5d59b3d50c7a312f528a8d29eb25947cf3d86ba05673bbaf4299937fa7ec2ef89a090b949558302c62eaf02bb7a277fddb1fb2aa639ec6468d3deaa00c6904c57f9d735599dcdd64d705d211478eee9dd6df4b83e9fe40ddfab3db03f8738f1b32157fecdcfd843ff50a27ba401a3153bcba16a9af64298a620e83bb5a4acc1a0ebde7cd55634225bffc1367e8c4b4108cace85fef42c121ddf0c9949d8eb3d2213109c851313f2dc6a2d61e609ec056709caf3689581e9750e5d96246a37aa38af2a2c0649fc7cec1492b325482191f71be9c6a5bc0dfd543bf7f939662844206020a9839bc4078310fa27d0a998680f2506f193c1a30cbd26d0cb2e81c502e4b1da24ff69ec4a4318ff205f712da85dd1cec09f14c19436cfcae2012851724f8415af51b66b89245ce51b5b25d309fac29617df8c5185fbda14aeed1223a2f3f21ed1201fe6892ac9bb4146fe45c4054417f21c1608a16d9ae8502e77c94f65969c1ee6a8766eee5d375694bce3553ab074e794681d5c6019ed425e7ffc0f101e5625df32011854a3450e08fe5e478f98c0d32fa45c9266729da996dc16025aa1bf0922b38933142d612faa45a94345aeefd5fa724f2be87cec475bb984b842fac02126c07f396c31fc8fed45c7c3f8730cc1805c7b099a3dfc3eece10bf114ce4d0036649b4933886ce66f228f70a163b3ac59cdc2e5cd7103b09ec168f2a5174db1911bf9aa08558aacaafeab64da11a98a813cca120531bac657e26d4fe7cddded252dc2369dd4b3dfc8561f21f27acac77f736dd61b6362ac6ff449aa790d34b2e863664eb6752edc4af1edec7a518bfb4108a91ad033d07cb43f9332eaad6c6c67a931123db24a03f221aaf9376b9b503683ac16a6d55ccd2d38cfbb01abc617a71d316bf905c41ea3712c3c900c9114e0f391dc0a3ab32b6ed2839940d08c8b3e174a26e40d41370ce0d438a17cd3f3dcb7d959e6280e6d2d15306a9740bb8155c6093c119485d717fafdbd5bf4b6f02330f1cb826cf91853ca6dd5dc0d33cc9455d370f69fe4490da8beca7a410b3dd29e7ce219b237d9d6cfb8c319e7cca9cdec9e4a0a05ea83d50b5ce13c5725328c0537d8e9c3cc2865cea4d41b55d812450b26fa37a99c34c2744462a6f2c9a9574ef6e1f2fa6ab0ce1bb706efbc2ee2fc95469f0fb96e60cbc988018d8894f85d35c25ce7ac3af27230890833ea9f85c8db997ee188efe84009e9fb9c71c900837f7fe2c6e678c81c1a285f1146fbbfe4a3a72bd5af8b073784cfdb1e66d9c2e0632869394a59c560b013cf1cff19a3127a51544d70f77921955269835ceb6d4b7cc4c6af35cb00ab553ab1bbbe3fa5c5b09c471e5c02addc80a90278baca327eaa60d09593a2e8bef8e883c1bf0692fec7ff18d278a7ab8c5df9318db8aeec436348e6c095ae11fc51c3ba860421f0e3500903e285ef0b0020c20d30b0ba6aa77630c6af260244d18f238784a0edba22b51f41d0537d6887ca0a400abeaf5bb376c37d612b00bdbc82f2ee47ab22188a190296b716d579806f0b4ee48b09e1241b39ccf21f8157969317912d75b1fe92a09a99922b9c42908fed388b7c319800ec2cc4059b1934ac095d17773c3db6167f5b5db7aff0033115e3a28efe1b518a0fdb3e428330deb3076ba75dc7cb261825cec9f6d2a418961b3f5b043e659743c17b6b385fb374ee8e53eb865386fe7886f29fa6d687a4e6a8c421d1bb410241553555e0b6c42f57d7fdbcbc19dbf4fde824b3798c9e085247da8e6ee0b94512225a045fb9a19ce3d68e1a05d81e7d224138cf4b078c21b2e9c856c0caa25275bc4b0222908f52eb74b94df17485971eab2321370ddcd454a57eddf4e3882881b57d5be37997c2a60198166040460af7e97018b4ede93ba21a4a49d0581909ee4361651df4cf50760d2cbd580179c318fef29942d5cb9627103c50a558da50c401f5e5683d34f9d3a3e6a9e5fc808d4ebca638a79acdba6b27ebfc07edc2b867d5e2d17e75027f57adf356142d855a65402b321266588e92f28aff14da6e8672969985eeb4379cfc212bc1c4da5ccdf166d937669878f3818a80f48e61fe18367f813f32092ae117cf92b86ffe6a9a47ee9f144630b361ae1f19d9288245edaec93232fb50b19ed3591e41827f6a33f848690eac21d0d127ec6cd246cc7b7360e8fc54be83a0084d2bc50336fec6acdb66495bc052c030a5980f9956d1f97d3a3beaa70272db7bfff658dfc8fe983db234374be696bef760099063397761043edd0756d96eb3823ea26b18529f9b589dfbea8b15b2907d2347ac3690b68566165e8ee010638487e04aff834d3921568a2fe35598d08c61fe28d76a50c821cab74d31a1c58a99afbea98781f7cb42d6cefefb3f8b0acbd8d55d84cf2b3eb5ecce6b9ff1e8753bf5e90670d59380a78cffa66be113a43c80bfb00e8fdab23dd3c699459c0429ccfa516a5c6661a70763bc901df276cfb6782962eb13163145109e3462b094747f66be8d9adaef8fb37cc776409cd464cc6395626bad1efe89794d649dcc838f10780aea6460e67f22a863bac5579157c4632b1df8b8af6cc321e6daf855624441f05dc3d0e556ce66817734ec99559917bfc1a1e9c3a6de7a4eb2276c2184f8b2a4dc541f4b194ec5e20188da87ef01ef89343f58ef391332f057623b6b20dc2eb17aba92cc1fc66fd97e75503410cf415acb71d9565c7433cfd018ba168a27976291ae262d4372d29d74c8317dc9c1de3fc129d29ca79bdc7d0340ea7c4ca9d4356fca4dc67e0264556cbb54563a45c3dfd01c2eea6aaead9bf09029d6edbd1dac41494216d94e739b9cbfadaf0e33493744319750d12ab5bca62484a2b8ebc4e91c83fcf02897dbb85fce4f35ddfb34beff056cf25e99434fc83dab9b5bfb5fea7a32935a8df0437f558104c9387cf60cef478298b08c4835563858fde9ca116b439e775e08d21d40104280960c33f5bd56c14e2d432a3ebbc7687e85f74544dea7b98728e7fe65e8323094b6ade5a27bd1afd1d8f438a96276e2e52af8dd604f61a933d1f98f754d54bea6b3967cad8df8af37286a56e6a5ab9ba76be58ce3a81fd81a1b5281f7a857eafb71d527b27750094cd2ad3d26f1b873c9c5df6e0ed860ceea656ec10214f99b02d581010ad597a20b09e315a4fbf33c35d10f553f282c71263c12891f30cda72cf71b137e1797b0093a8d4e5dbed0a96eb63985f1239b4f015298dda7228516a652739ff5eae18cef7e787a3cb89e4592cdd17d71d2ba31cfd4f4627689b63c16c1dfb8a333ac19c4b7368b4a2d311a4444ff6e57a5ff1d2fb939123fc918d047f6ec0b5cbf02c69662a90bcf9441d4a3700bcae4590df5c99d77a313028a9ea18842047c2ca7da4ad008f20a59a66a2b44fe1646ca4478ce7810190e85532e60e83e4eb36b904c48181e693d5010f2c5fd154b1b9c1313a97ddbbe628a5648add6563d0fcad3049d8ff1057238dc56974e7ef61ef348f69dd1ceecfbc6ab827397905193b9736f697ef4f17a31ea38fee240b71c5032e836bbb0e65d048b2eb26327b296317a1df6c4a8f481ab65b14eed398072580e83b460af0ee6bfb9785f25e06275edefc9ced2220f27d1c199656bbf3502c75806e9a2cf8d53bf906db8e6aa8ed497f967717592b0ca99582bc416e570d10a8741d5b3f216fc711013fb101b49229e63e2fcb7620ed35ed83dc7f243e2f7d4b2a9c18a17e0e6ca419e83ef63de12534dc62437acb0b1282c4887fbf5e3fa441e5031157788212957d9ce3fea53c118ead938e913dca5a75a1e2f92197a37f1f93e05569b87ec75bab7530588b4a06a3e8376ef0d4239d0466e91a545923b86cf2812af30765e9ff14f121c43c6862799eeba2f4f21d110a5d7732683ec5e36f2f24f6494311767b9ef5386bb0bda32dd77386479a03b2fb587dbb6f7a4b1e199c0e4a8bb0375eaf3a7532cc0b495ef533ca506c7c9a9b03c792408e9e5609334f0ce7d0f1287a62ef21f4b7d3fff34c98a8b5c0038c05f5ebd0fb5f9ee44241edee667c3c13dffee1768ee9136018da89025e5bc3a1643477218dc4f614b6665e7e845fc429185f2ad77f62cd71c2a7390e72f94f28c4d516aca852267639c5033515ae36ef36d9de181262e9151e72d398764f6f467287297179573abefed9537b10553eb3637b31af41b1117c89a66311989a3b8370bf6081d795e3b36d67ec327cb017baccabc38de9b4650c6d94fe3a8345953bcd46ea74de1332e6d7c94824382cb8125b433f8822e4e72427dfa2f7ffef9b5d078459697318dcd986ee7d62f1b559f7202cd9f05ade3d811324c0d8e8ba25ee21c8646df84ba52aa756d78d457445c07035a5c8dde2c715af4b5572dd5c56ba8a3b9ab600d5e35dc44ae17ac1e2e70413791087b58043f6d75110fa2e601f33c4d68cd15cc8572c02d43585e2cee14a16c5103da71149df7808673d41b9f9b38eb44da413d810cdb5154da02e0350c5b4197d5ef39b0078d7a7e8b67f90e47fb8b8d32cb2544c33705d6d0333ee2bb5ad289d281841509f19eae341e86aafb1ffa6a4e17efffa2863b861b903348c5cdbcd87a74829be8983eb467552fe824e207991adeea8f635ee1af79ecfc4633d05b51afbbd464ad6465fddd76f01b6e031dd1afa92c465131914fcc3b08b5a4a7bf2d7ef05aee42110e4b7f838d695e94c58cfb12d0a581038f7f60e7eb3a0d4bd4b4c342f04db6f82218594faa384b5146876e43279fb5ebd23a289441be3920b00b1316db8d7413b7022259115e6981526083f1815370c3a6db1d62f6cf437ea38367bc7b168998fa35275289e47ceee45fd17293ba04ce4a9d563fa32ab95a464b36af92bdae5104e766d6c86b0153dd8ca63b784979681a0438d2229a0984d0eaf69803747c0ae4ee086a4a6f7172796a808d7a3489c7028b46f27f16d664cf2c0d4a29fa4569b3fe1ce525726d8b8f6e4b2895e6258db8f19361c106754579ed19972575201a477a5501482bfafdbe4bd0be85aa184d74c6ca3aa6c487372e052675b32f5bcc5c51854dcf964a8d85b0a5f8038516388d29d4d53141ed43e31accf5f3e02fc978efef17956b5b6fb781232eca49f22c84a2187eb4ffbcabd21a13403f6003b016416184b95ce416e60b6f776e1a096e5221ca7416613745c75c620d1732fe207e49a7cf3a9fa822bd0d7de0a9cd69eebbcf070903cea6878e6cd9b626f449b8772d8ca09a681ce5c68e24515985c9a47629cd73cffadcfd1a663d9ef1b625f3464ec8ea941a8c4111edb7b7aebefbf40e6e390dc0d844634ccf76161d669063a97a7be514581d688aee467e5f2bc76609bc525fc6195edc29bb616b74e3215d6632b45f26e08c5958bfebb8fcf89baff36bd1e0aaa7b26d40bd75cb6c488ed91094737a3b0faca5a5954036872003276290682464067227d3e2a2bef739b399d903bf2cc70b1425cff4568a902e30fb3a6d564d45e432f79b4bd8c634f35216364f2fe6a2170ead40f88f340c65d7d86e71391479d94a9ad7a5fb54bf7bff46354333ad859d6bf4b6fd3b9507359e62189bfe6cf4b920e51c1063d9de6df649dc59615cb794842dd1dd61ab6be24e0d05ab6d1e49e78df95b47dae8eb0577298868282e6507b4aa8e524ecb152607c91b895446a81a3f1f24ebf507b04cfcbfc1c9ba61147f8989ae2a1ffa8a60272212de4a8d360d46aad47da06b0fe90f9cd13d1ab03b33ebf1f1a34f64900012fa25e8a2f5e37265a5819e2c9dd36b1abe4d85e96e8af6736352d95aaf2dd3ea885dad35c45433c4a8753dadf6ef9e212b3c909dc142ce504bc645f791ba6ab6e63c9a8a9b7ab61ff028b64da490d29f38cceae4234e9d150abea7b2c071ba34d4ba0ee7d4d7c9fe00e7bde593ca791e8ce3fa3441e15831ee3466a0070851f2efa78cf889841c7fb9813132c264dc05c0583d7735d785e95fca800e759ac2ba45a2de4f371c4851c1378bb017f0cbadb0ccafb2adf6dd4915403d2b7a0a5ddd6c66b6b6a61e8f989acf088a05ace4bb4b532ddd08ac0fee04db2b8d2a439889acc12ed744fda5b49b29dd4ad37c6edd40b803e039a5fe40c24b475087ae5f0df9098de9109cae646fad53185078be1f552f361432d5ac8ea69153f71725361ebee7766f55c68d7b257673509120163bc90e7363ee1942dd6b73af597578e0ba29f6c89955610cf48a26997e73cb8722500526781f595994adb047651bb94e0c02fb71e7ba965229430341487a291ccbc79ab94f891c7c7e678e66f7e6f049e98ba97c83bbb6fb151428004c7720e4e0e8d83833faed826cb5bae30a1840f41567bfa4bb3e8304e3ac021a6793e4a473793cff751f3c5167982618e3ed4f95cbf63bf774008867ce758351855fd3b5b05cb28409c009071a528124282d443b88c44c1b55f972062e80c484fe34595c3a36d23eaac84ba6cb12f2865e2d07698e47e957a92d924f05d7eb79d8c432320a3dce96aa5ef306c95b2cdef83853f424df868a106bde487f0377299ebc5529f6a3256ebabf759df1f8607b44a230be1128dd7454fa301896f74a26775852e120d827a03cabaa80d3fcb0c6726e38e3f2bfc4a12ce7121ebedb70e4d6b56481d48c8f38f8d10d87b9481e349dc509abebf55ea5981308ac6c1d6721cfee0957babad8c654ffb70e0f2c54bc1c91145467a6f96ea3e07f7f223b9549cecfa58489faf60a5499ef56b9512045d61350a578112faefa47274eed1ddc5c5b8417c56a3d0ba7b10c5ef2ff34c9beb8a450535c2cf4b916b3a54d75de53bb400d104a0d152257a074fffb6ca45de64387806b94eb788ab0225ca3065ff35a188e9a831726d01124014f42231aa58b351511c68210a02fe4c401ee6211e78a8751d7c581087713aa76e13f476afb4bc69030b2ae4fb9bb9e1bd7ebbb67016d22f9176b2c642c366b4eda00aa8b4b4ec8a3fe93cb47dc4e7736d4113ca4996f3faf5a986faabde281fbc28f91c66d65138dfb8bf53cf54f36884d74539c3d399c417a102be10c90f135278c7c793f326540e1166656c3138add2b460af3395a718b9efc945600bd3d25c8f4c1cd764e87c53fb59133967cb5ddc668582262b9a34fc7409007ecfc341f65da533b95883a34a2d6ba2bf5ae1dba114164543a8466d58c484f2f78975413504a3891ca1333771bf5a95cc0b92ee96a2ba6bb8d9023e720c75edd4d111aaffa795ca009b815dda904240f0468e295fd08c9ff30c7f456f36d8911298f16626e388869595c2f77b1e92c78c239070e53a8ab1edf254a56281dae9c2848d5087d8776c33446cc3bb05835e24e063330d60ceac830de47a2c615da6fdd82c5199b5709f2168bcd54e8dd74d3b4a3990df20ada48322ec8506ca7a22b1c511df0d74d9d07d81090e8056541a4e5e13680596730a812ee4b5a2388fcec362846020802a32979119866be1bad52405b84cec15a0256f8c0166f150075ff20b4ca2f82a36d9506be03d6dafd6e4a1c7d1042913ab7a6f227be5690b0b2810ace98cb1133666c8286439a4d8aeb73b18736073b5e5f508d247112b385537a4a40ed19b38c49eda5b67f10544eddc08622ac1bd47bcd074d28d9e9845e548ff73be43ad440f71b53e9d1d4e441da17b96a762ad81ef908b151845bd676ca31535cdbfc58c3c6d45f1409d3f0fa8d498be56b0294c4c87fcffae9c5c1b585f2de83680b325a1dfa3f0090b181e1b2926bfc8ff46bff53f9b6e2fcbc8dbcd5b7194ff722888a1c62a186d8b526d6e5123df5c95f945134c2500a9d49c81e8c8dd886f10b4f3d1bada2aac93fa2dd035cfe416f29ff296eeff60e0fc716d7f65e0ee1db8c929ef23cde40b93c249f0c8e111e87b24d0d8329e10281cd3f569d7c0841c657f2f85a525b698170625d61abaf4624ea710b8420d9f1a7dcfb20dbe090483462a0cb1f03f9b35351280f2f07bcaaf5600268f7d093079b7b3f9359bc5cb0090949cde049962ffb044a5cdf82123d983f277e9a459c4618392a4f6dc72b2b47d67f037fc5ea107c39d57fdf7d2f9486ec5ddeef7a4f58a5495959c4d50e17d793f7f66c4daee1d5d360429c486be229ee179d0d68fdb5c8a3544f5ba38fdb792a7b7e3ebaf282d5276a757930f6462ccccb0800854f408d547a90a841a3a68809266aec87dda0f6ce9aa15cab0b63ca649ea85f29b9fdcae4963c245cfd1f5521e45f97314833963babd2457f71fb3fe7040da591ff38d708ef6df12f451cd22f797bdc94d3edd919d0333eac54ad81178d5e18dc8d2e6d362b08b13e0118e0001f9075fc44609f75953ab0a1e2287cc1890dda67dc3e4cb9e67ee34042dce9c913103c1cdf8140b66763ecd5f467b482a796f0452eaf849d29e0c49a67bc960f5014ee8a49752e918427b1c1bc41b3dcae421afee674719ae0142052c2236c671dad112d024d56c4dcf8ab909f7d3aad8024c7f9ea944de5a34207618f2f78710483e7be0a31b3a409693d9ac7758bdc12f19c9a4c6c876cef0386dd1c5aae4ef2bb65daf7e8a293a6401fe1275c5b72e34a483d3c8b3355b8fa9017f08e2b8d5f25481ce942ea54c1e58e53019aa881244893e54a7961c0cc2c828fc586107cb6bbf35d00a03c5ce4b2f3a5a5c47fad90c4c0c9611292bb27ee623ca3a807361b31a40cf503064a84662be2d3e0e8662aa3f2e623d47c33212e25367a3da54453fa7a3a43a4bbc1a51ae3c3d78e7ff99f78ad9c2e9ba4cad0800bd237c8874fc21b5c51d373ee90abe41bfe5681f796872eaf6bacd833291243a6d8367edfdd82b212a8033b74f321e2a982aa4a35fe70cced4dca86ceab17457c328c00ca60226a4599ff66186384a1032060eae390dd6691ad299ac3a8a2a4a8894f150488c2959ab1b4f744f6f7e639deafed4c8fb422dc5c1f9b742420d00643f0457872dc8c6abd56ceb8fa3500ec6ab2b91dd891d1478648ad00fd61aa3888a896aad7202ee7d0e5341597d63d1dbeb3e9032a7b6334286ec28ee3e65b7c7fddd99e96b004baae0c0bcbce1d0e922f6631945d3afda32e142d473ac98880eb6051ecb7e5b008c28d46397640152ac69c0028332ca3b9882c0fb0efac278c43211f420433c0e4bb30918b51da23cbc0dd5960ea94a49d7b8101f6d8028181f3556cb89ec1fca8fdd140c6009d94f1e9583f5915e031752d0914f07637b6d73c9becd426f231d1ea0a9a1805cb47937e5c55f6a5d7660297c6061217a6718c61fc66ef46edea4422abd697583e9c54da5eff59320e1e429f2e044cfd2828f331635eef894bbbdb4a3e08028f22d1c3450b0c5a25c573ccec2527e752672cce08ec029f3f75f38d7445f1f446042e6a2731594197d595f6e8d4f7f7e1cdb7ceb60de495165f10d6eddc5f5652462ff1bb661ad37f09800995b12813cf80f61a6d98261ee5a1395e3ca916708875fe7ed63531a3d1a95316ceefb23a6f5496bf0da15bff431eb4db0c68f2e463d7dde9360c350042430b900a53aa8872ee8c873b37536390772cfbd38dbb19122fecf3af8621e0b8fbba5a50996bb5e8c3f767db73f34d0da5f42b9c2bb225a3301523f9b3c7b814e2bf87b8a744df4b7727c3fe13b4f194abbbf1d999163e3ee67c1bd580eea001afe19a2511505ae6cdeea435c8344fe71f120dc9d913738f7f16cb63bc7d6e921db0b092a2c61c0a449e8b71be0a09de3eb0163f752a3cf7053fa4ff907e999b48bb95bae4fa3d8fe8a71547615eba50fab8b85ea69f47d002b3afb2bb4fc2d9f1e64174253e5b4f38808aa26cbb8a272f56f6502389aacb552cc948a896c49e3faabab34d91f979e21c931bbf0a5a26bdc8188c40a94ad92bd0d6c83b747381411a96bb61d526dd9ff82aa78dc10ec422f0fb4d4aec7f0574369427021c5fa7533fe5b138fc63a96da3972125f1e7e77e0deab2f037ff82de7ce746570c9aca19cbf91b4e5537d79b91ddc541cc4029024b5723b06d8426052405b3e55a3e291a82b7d2efb4e4f7822be27a64b5a7432021bf57c157c547f0cb9574f1e3dcac80bebec4f66e6b42159010d4a8382e10b60edd59b548340fee4c34f1dcd3ccdd44b6a955cceab7c9011c5e5ac9adf5d5acc178031b2824f61c38c8ac4ee07336fcb657a71a5f99e0cda0b651a4c633b725bf9a84afc946b328bdd5b5b3eba2f476d9719d195697b34e2a7ec7925283971d0933f73c8a5f1dfe4c6c16229acbc3b72ccc5a61f1787288dc3da3fcae9f07d96b8d226eb9ba495f604d5b0f75d2b2ae5e20e6160e1ccba377738886bb1e47124a87bca84bf161fba5889c0e43556affcda983ef6738973135870f62f546301a059bf517d5c37ce9a6e8751c6707f6ea8971c179700ec0531459fbeb8b2cec439db23a60797081fec29484a725983e9451d91c08d3c6d5dfcf113aaf9cfa84ae9beb19ac0859a929d06d4415bd6614f0819106b0da8fefb77bf8bc6b4e67dbe4d5077817a34f2d85477c220d0fa40ae06e24db05d57841b7f84a77a3793f3811ddf0aa4cf4516d446a94d73babe074821c9d8434fe1e6f0116965b737b6d490093eba39f15800e7fc171fe2b5c04c112a7acdf768903a769746dc1f2a4bcd60533d6688bfd384ab725d6e79d990491c447ed9856a675f4bf319f5cadaea1f35c8c39246909af078ac8588548f03e9443e1c8552b95eedb1b6c38ada6a158acc35fe68cb399d7a70549d6b5a0fb2e82fd41698517532199e1e4e8e4523d2e223d1bcc03abe44761a65e46ca8ef0b378a62bda974b99a30409f44e2e4da14eeafccd2f0c65db05f12202ca3d6b2bf8f4fa92c6b34543099b3a328996b65c03e03fcc74489d176185989e006619e67c1bac671c54e0fc41d742c6949e5aaab2950c164fce3ad878339fd56fd26ec71da028f0d6f44c9350e50cdb7edaf1e47dcc0e6b6298e83b896cb53b7319446b73fb5e18fb6e50e3f1c5f0150c395309e2b8dfd137f62c7cfebac4d3dbe5572323936085f66c650ecbcbf56c7dd10564c28fbf201c43038a537a3553fec9e8bc9d22a6a72e0cac7517bc1d68ed0a1f592124098f972a2cc993d27193b1cdd7c4214a77aeb1344919a7c23ffbc7523d31b67e70e6aa247f2440e56f7a26c74b1ca09ccf3d684336d1d8116a555b231db95888d6e8b4b33307cc6c5bddd7b4cf68a4860e33ba7a1c62238eb4b52c4ad55922ef643e04ae81ae31697132fd114f1fbd55486964a900b2930c6ebba755cbdd7a6fb79d41b3a5d32d6f947d742b6c1680fe978ab31ea2b1987c3b354aa0aa135e318f10edf400e2c972e6089d1657ad408cb63c694df3a5d28991408c4a0865c08f6acdc0b90bc31f8888487f33ebdc0b2466108c4cede1dde0cf846d7b757d56bfa3899ca535bdf9c3274eada34174b7c6a92e969ff11095b3486b7e86d6ca2b4c92a7e7c5611a2bad764d5e51a847198c1e6ebf353845d937ed2c7fc762733ee26008bf9b64a6112c09e82996dec1283c5c8dc01b20e1808433e18024e6925f319935e147aaad655bc4b3a8c01fcbc1dfaaa7e5665263aadfb6b19476735858d69a93c75e3c5657dabd484220bf74fd4b89a3ee3cbf51dffd0c3be319cfedc9900cf84ceac90295ac292d17f2bfbebb3e2e34df6db093b66af0bea7c829bbdd15efa079390e4d812dc70e1f52d10ce32cb0a636313cf93d759b08b44a59ec08acfcd457d79e95edb6f3363ebf8ae03aa15d880053af9ef80c4e4ce918736f1a9f111da4029517da6bde27ad2498c1abcdcfa22a85055fac434bc6d16d578bbf63ef4e9e0d7f4c10260668e07290b25966d437a5ccea6e586845b3fe6529a7bc98626f21605bba5fd431ef5d6fc7a5a75f67cf095796eed73578019eb674ac77a63dc62972169d967e44de8d26af9756ec141c15666b3723b6b7e942dedb6aab21acc16f7732dc5a31c924e59c54903a5aa00d0d19d1ba689f559f1ce35974b5fcfda32e2f3cdf3e9add0b03ae82ab5f7c50adc00575d6ac5099663c78477f4ef3136cd7b81c3fe3d88093b13cdbe028e159de347c3a19b3971a01cd0f89f2ebe08d8a144c2a908158a299604155da08c8dbeb345e61c7f888f855e23fcdfea2a2f5e4af0ee42120fde233fb3b850690e92f4969f25fa11c214974c8062b17475e70594bfa9b8459fbe21c3ee269e5a1134d24064d297e43c7cc363112dca2034934a15bc75693059b6ad1ebd4f04f5657b6bf26c6f6b847f3927da732b69ad9d5dd4cbb5c61a2d48a24e517a1217d971e91fddac51b21b2824c5d46728d121ff0c48fd9552ff57e8d783d48b80b4ddd4f2fc9e717a14e19d857f3028e74b8d65c9b365a362e6c466a1f94b0c1bee223e1486be3fb07bb4ece5d0e266780aac214b6d133720728dc1c826a91e67511dca9ef415dd095ca5b9977dbcf01d0dfc9043c3d4591940c72f8c1e9fd3bbb3a5e6674585c70f1dc8e23749e865626d54fb6d0804abb15ccc0cb9d668758bdbaa92649c36259138d149f7e46550a97856fd81ad53f419c26db253525626d756657653f00154335aeb3f39d39322673acd72c0bdf5ebc4e899c325210ab94dcbb8beb743e24a9185b35aeff8b56ceae1272255fb0926d744423d74553f469abe20177e89a5a68206a9b3b0866a294e1cfae01f65fd6f3d35d46735ddd0443554cf6d6d522b1a89e6a53088fa2792bf6e6ee1539cec1a7821cef0fbf0f596637ebdf7e36aa51e18a15c98783c200e1fdeae17ce366e5eb080d829a7fbdb99f03b2a4af3fad637603edc07f2b3b1a820db76ab4262ee4d9b64b3da71d55cd16a56d1ac2f77605de6d5c3f91f2a1544446e4912459a52d43a079e0c8e53db56ff4afa8ed02bc1e4ede043573e5eef664f85a10d4cb24f0b207eab86b95311e181b36eac0b0ab25acd3fd467e49771b73494eaf97c52118478dd18f3d1b898fc608892197a933c6b7ef86425ebb646062fd9faf2b76575de5defb6d5fcde12c73d2a60bedaadf070a8bdf5d1db2c17602d61479c359b3fd4edc513bbe5d4f19029220694285672ebbc12a9b5e72170bd9d1725f675ee068a1e2a6e9628961d8adcc2abc06e40ecb304f5f95f92fed29e0b046271673b31791002360494f6acdec6aa7a5ef14688a40945e26a994f553d85aa0743bce2bf6390cb3f3f3a14c992ae101666443a08ae7cc9a73873ec650c16baab3a3c7db68a0c586070064560b5c8ad2a2f86f5a9929d4e81678b461eb6a802e2daebea46ee4d5d3d89bb1a82037f21e604f62a365f2c83049a2f7d832f4b2d19e49c0ea9ee7e99db5802431ea8afaa97c057070157e2cab1886a8af6b0d2cc98e7aa56b57226d10917bb9f61ce6047c1d8051fd2126c683640943ad11707f35cbbce7646a133672d0ddabf15c2fda9624157bcaa36900f74572809baa3fdfef08e59b42a9421f6ec96cc723f5b51651bf6a9b430b98c9a10f69227c6af3fbb9031b7ee8cbc02e0f2d3266e2d9b9496ffe4d5085471ec675f1950730dc8c358912481eb728f93f96d244aed2fbc9a816bf00442488ba0e106be9df0741bdd0e34df1470270694fb43189e174299c8758d069448d9595fdd5bd113670bf01c1c6743c96492dba621e257c0c482e5e6b011a9c82217308b4140ed9053a9dd05de9a1cc694a3ee3669047ddcc326c01401ceec1793ddc4427cb8ac4e795a4eeed8582df738deae91615154c3659df206e288fe705b52406ae9cff523cba81d430b8114a4825e824d4a5b828c936c0f9862432499fb43d62cdac4df7b6013e2256992552d7e59ac632d6acb6e6e6dc0faae24bf30fdc21481c6afa7eff6130dd09b26cf406e88e3d6008a484f0d34eae06dd2150a76af07c7af42e0330eaff784af3d25dd08bf4b1d8f05528beb83edfab52feefbbc76292a39c1c2723402de241eb558a108065eb80c64f93146bd4e97b0c03103c7be7e728ed1cfd9c9c0ede4eb6db26e56baac6f344f0e8f49d947d68f12a4d7135c67aba85596c54722edb254fcfa65609cb2754b19cd84f62cd01ac3654b088d73814ed7e9eeaec09284b17ed48d3491614cc93a86634bd489ce7d840308aa5fdd47d08e47d96c3475bebda74c538ec40e81d603b6ab3d8b4bf1543b37b471e1a7c877baa50dc3c5cfbb49b8d0ff30a42f3bf86e055bbfea4f6f0ce671f36612a9db133e3c0052c16fc2db94f6c2ac93c150d631f9934941e24d1efa14743bd89d506a162d0b967470216d247a426fe8f308df6c3f6ab86914a55d5fc15b6bb74d0782a5b723359aea79f0974cfeea9444d11d39a2d83b63123d1afc1fc0ee62426d52e50f325f18d5bf9362de0018168d0441d8da42190d722d160c9b0bfbcc189faa7631acfe6c4a14276c3679d18b2df4730f8466266fe54b8c4da0ac300426ce0444e8d02ab3a616aadea81974f7e2ebc54fdca9ec937379828b1d510ae21716a70c096fc61d3663c620c22fe3e0f5045e562acddadbed39777566ae2afff87f998865acb012201f7b7eb2904f5361859ef6c448ed3ccddf0e33fc20cf536f694f0217acd140aae21fcd5b0cf28f3335e9ac0cfcaa0063ed297179610a25c5dac64b4ca062e905fe5c3c87b78dc974ad7428f0069da496adb871025e48c535b083d082147882c56614a07670330ff939fab26366429206ddd0002794d4b8d3285d87ff62ca25d4d378134ae30f8467ee35986ccc27176339768f36507f0767fa35b386ede73b95e41db4848b459055b78f47a2d84f9d38b69668f2451dd4f191c13506c7fe9165de49f91ae86620b413bdabf0d1d6f0360207fc116dd460673f44fbb0eaa36e0a5d6ffbf10329b365261b9b90ffb08b70bcc8be2b424649162c7eb6b7322098a7ef66e29ffd9acbf5551de231ee8e3c43661f7598c7b7744584394fe8944d44e17fbe6a028e2396b245d51aa90e8d386d3cb493adebf1652c9ae2de6222123ef61be71029ee817993eb2d2d6b3f1d4091ac9b58d7492fb7008630f17379a7f791fc56649d9ef1d2b695f4a10cdc5441b733822af499f3d88eedc86fea9cb0c8e3692d9fd86b0997fe125d2b0bc3d1e5d187aac5f5cd04ec71cce5e7604940b155eaf5b67b00f139bbdb33836e9354514d14183921e6134d451db75ac325e6b645b88c2b1102229482c4d79f119fc9f3efd8d5b14d157f57b70de6d9b5a8bc52f7fd88c2cb001b87bfc66a1f6eab73ceb527bec7f302a93d2fdd95f06ba6ecd222235657a0e00db04e130b9fd946dcacb3b49f77f746fea141766d41fda51b7078785beab86620e12f2bec218f8e8611c8cd763b3f748bfa4dc3fc46863998275d6a77aa3c7e3bc4fe99fafee4bd545c80899b611edd15b9f8004e31518df0a52f945a2793ff29a3a59035074907ba11cfb86e3860a0018440760665de7e126ac4591f576f7692eedee82569ce426814efe228239fc3d76ab55c4f3e9dc18ff1c6f5fcf51859498ab852909929655f3fa1038daa24798d6afd8a5ed9b22b8ee1a6a94983cd2f1d4a7dd7e0a1000b9c41f729ad3d5849143a9f12b8b64c22d97f93ca359144755133cc411329b7b79d51e5e607c8501872d0f71160d9f73b7a607e509043d56588a9b382188326acd7ff4880878c170960b147c288a2d1094e774f7dea56db0b313c95157543429976c01d397fa36b9fb215fedbb5554d80950603cbd6df4e09bcbb7e36945d0cbb1da7cdb5bcc29c763b2a922fd24532be97bd7496b7ba08461d3fa8ea3074ab9dcf40f2d2ac33e67d0768436dea619d3cf8d0dad86313f0512378ff58462e2f18f40118b3eb44fbbf51da21c143fe3a1fec0338c5d59e1cf41c47e197bc1e30c6fc6681ef7ca8623ddef2244cc78913ad5bb0d68eda74f9868f38f6a4293f0be1b2f8f51e37b3ffc18ec4180f659a523bf349f3534570511810eb41d3bd3a5babd13630d0f05584a470bc6b8d0061c199fa2e9a48353e92512049a1d0686eaba57765bda158445ec87a207901efb76724ae58446157c61d4d9cc05e12bc8df0b1381f92117bf5fd943f16e61b57cb8d3202d165f03539517bfb9cb3efd809dabdbfc28bcc5b1c03cf305bed07119dfd8bb25a4f16478f5dd95255a1298a728e2bdb64040e36b172f5cb61eadb4b9b2dad01b87376389720572eeed23cbafdc2caa030af4edd656b6df6baf04e49ed9185aecd7daefb3fe12168326d50048e55f532dca1432a87bbde0e424988b1a819a7194ee578ba5a7a9977487e6f755b79dda9c11ffaf13d30ff804818acc600d78b5b2573b0bc675ab6cbb55c7a64731086b3469eac7521a61f671aa1b120512f003aa010e72790dcb7f1c1e2c240d0de7c3ff9cb4e430880be75fbf4db63fdd3a8e1f87e84325fcf0f1cc0ab369867fbd51e5b09e6e49f958cc510eb45ec9ea6f20aaedeaa57f229a2bd40dd2b618726e7f05fcdfb99f87bd4a387b3473c87acbe85f3eb36804c4d3409a204706ec0e7f6dee4ba4bdaeca49d0e1f974b50fbcae77695d8816e493e8092a158e2fda0079994434df093e0bfd26abddd33e2a055b8d8cfcfdf5cff7dec6e91d80c6a3860566d2482fdddea486092eabf4a550c307b3f6572c44039b6ee3870bd294ccf94c35fb9d33ad01815efa7e38c481faff8564f61563689adf20ab24f456d711d895dca64566a9f6d46b438bf4950d04627b0327e64d2680fb70a604badaf8072e06c4becd71066fe77102311fb66562b87ed914a56d62a2def1a896d5eef9ad883bd3c9dc5a9ceba780fef8b0b2b36581fee5d4d1f7eb762d2fe52c1f34f41cfa4a8eb53331ca1483bf8db3de08cd7d3fa5fed7843930135209ac5e51a443cc7a5738567f48f34cb08e5d407fa71efdd95f28dd2601e460b543ce2a9bdbf390ca46b8249b8d5c85172f1218067339b4165c23010f0c44788492207d4e65739d3ebf1d40b489f1fdb04deece88c567d4667f180b85a634ed9d57b3b3834ca113c5c7ac1babf04328251f868376c4f140d6b51a77619b18355fdbd9b1a2f75b12cb295cb5300bc30259d075815fdc94a285784e1350419ef7b35e3f391af6ab5dffec6c8f2141dd2e0a1e7e00388b03b18f33ba2062f0f595e2a202784d8c0c05f15f7e71b23b7b2ad6098313f269eb2a6d5d8419d0fc3f128e23902ca1829ba97a47a85290dd83c26208141c0d5299191a03cb2b4f1685eef66da75ebde5339d1be52c578ec72bc44474acac6309ad2b608334d3ef5c4969d7bcec15624d980f8a3f4cc7b46fa2bae87882227eefb0bb566093fed6920ac82d8cdb787e117b1f3baaa06c894ed05c8b0da9def8358631d6408cedc06095005a513af95cff40aba0077a572c36f7dfff6ea8598d0e3a3bd4e132e95a0abc6ae592f817bdea930c40dd1efef643072691eee24ce3bcaea47601a41b32cd8ad5ce2e1a10083d7ee74a8d8d8dbe8e74ceed33459bcc5a85e373eda5d67bd59728b22cca7851c68f511befa200fa52ae31175a57f1cf56d590708f3554db113df0e76cacfb3d09adc1d5d286499544fadef94052d7e3a046e7b6c0c370abf337d04e0c41d055f25ca2733320c50bdadb6996b1602cbb1958f9a62e296f023a50f1989fcd4953c17db3ab776cb50517ff5ab4d865860d2fa331c3c970042557a44f0bae3befa449c9b6f1f107a1d97a2c205a29da0b49ff5b5b426717af2e67ff2a10cb16f49fef5deb5d6a49d190a3b4bcdd3b5a59edee9e989ee850fdccdf8c2c9f1193d193472b0437fb0cc5ed9efe89549d0f8d56cd02c5a8ce9dada2d84214954e793eb2b4e030cd8733a9fa5f5b6ee2c47578ad43479c1e7ac34f0c8291568078ac6811268d0d83fc0a8867a1d56f5039ec08946c9777d6c47567bbe2067db6fdd82df665cd16783be4fd138c3098a232eac6cc20cff398e68226dd857610473504df81fa1905ded9fc23177ec48b7b01e78a7bf31a1338049ab0cac65933a7f85b0332dcdd6f7431897e68cf0fcf887103b7c6160226d279c354f9bd4d5dd121ca425469de7dccee9397ae29b375c156c6bc05663d99217fffc5dc8862f8c1b70bac9208a7d9a7401d8ea474a218bded503afe543b20199f18edb86555f2797a386e3c2879bcdcbbbb9e151ed02dff17af5af5b78b947572627a9d0a1b25a4275de32b68c01ec001e13440399338587844d7a303d78069748863d04c5622b44e76887fa1860e5dc7870177d36f083f16358d69e03adcb3bc97b4727f7147ee97b6b883b9db52eef6944adecfcadd963b334cdf607c83c3db7780abe55f3a805cc1b9b2630c80d03dfeed748fe6cb92a63f4ce61c622924e122404f5a699e9307c16e2df10f4b0008e375eeae5534855db8de886daf5df6602a9a24a5be94727f8db1afda2e4a3c2161166bf893957f2a27eb4ee35c6a4b5111277489f9b02845d79a620dd342fd85e7385746b7bed040aa12624f14a65b53c4f47c4a2c259d5278d0cc2e0d4f8a4f9ed3df69d4b476e17d488f9aebb0352eb81d678d4e43bd03bde304fe5c2d7169bce04bbd7ca00f73b9b5f00ddcb6ce22e344c228b98a2b7b69342209bce7c69d7780769b436b205858c138f8aa61355aec6da53b56d0d4c5af00823f9788dbd288e17c4398a8ed29e112603ee1b680bef8b9d64f29bf3abf2537fe397402aa433069bc5b03aaaa4e5e9fb29031a179e6817ab7e2a4602b4a5f3d1992f70e67084f85907878f6bdfac1e18db41d83a09032fd98914a08300a0b7df75c7e0cf0ab1b608b4ab7d35af0f97c47917f8a66bb85c29a7b749b8266c278e30ac53f8d59e20a47660b0089d8b94482f7e6d7fef131b9e77cb4cd949474e0faa8fe8e9325a1cc38cbbffa3f34d0eabc3e889d6fb0b5fd48975c8ad50c7e285a08ebc806575defc575b9ad870a01627c74e9504f0c9f636855c45339f136d536a3f82dfe1875562439e2fde3b9a6c2ca2743966c5fa6251aa6ed64cf452e3648d2c6138bb52d1e654bd24aa3cf3f670faed241adb09df7b30b7035d5adf3328c44fc338841a2fa1c5138169339ec42898f6abbdbb6cda1eaed5648de13993888fe3666fb7e3bf2835a89ab1665caf2c2d09b5f7903683857e613861901eb3e8acb6f43becf308a0d23d3194e3ea6f84421db8ccef2753ef36796279aaba0346a162aec9b01d49ae5ae8b8f2e13ac9269cb42f5432811b5ea48c3e40c8b4572bd5ad90fd6d26a76e230db52756ff99bc43266f59b41c70bf445454f24cef1d1c44333ca8d6a38c5e9a25ca3ba84a345eed248653fb6257e726940a0f131fb0f3bcd2a3cd5ecb0769280702b1a87159453a26f446631a614bff3fa15ac5ee15c1251fe156046ff400e14064bf099822943b403cc3373a6c26cc09822e8765f7a26801efa9634bf78ee5e9225c4d2601f5ba8e1dd59c2ff437b11164a9dbc9e89d3985154bdc714b4d67e4b6509af24128e158dc619e4121fa7c894623681c2425c785385a46c694345ee98ac27cc95814027614e342ec9f03ff63e1e82686fd29af66aa237aa37e914cb8c270d5e69b391ed5d215000f3e8bab8de34850600463f9f47abfb13dede14b16f30ac9a9b0f5f483455c2752f33bdb7785fba1625847fa62cf30a7b08c887c711d5bc9f9c33470934d671bb3a22fb6374ae56e93cd0ebe2e481d79a27c4267c901dc9dae64af3c47fd1a13eab8f1d7ec7e6285ca7fa24800bdd7ba748e41396cf48f2c7a88123b5cb09e809192c3326ce9cb02aec748feb58868b0c10ca568ea4373cde8e29cd63c75facb601de34c264e2c45adb2043815f8f4257de31d23405bc4f90c261854ed9f0a531ffef5281ca00289bfbd215828024c61502c3dd437c0bf4d250eb1e47a6292a51134dc9bb5654311213b85f1f5101ec539b8bcdef3efd82acea5812fa3dae71a98b0e745558fd7840dd2a6ef461e0d38ed47b75b787423aad0521c2177064e884e3f8aee31804871d4e6fecda17fe788826f9bd4b68f50ec5e020135704bfce68dbae3100f4e4b24685dda4ff8442c0321ad2faa783f286bcbbf78574121fd3b14f07e211a03f957059dde69892ef37cd7ab236c8fa659e152e9c962beb498bb7f8d7feb937f5a01ce56557720842fad773e504f07df4fcc1ecc2fb01110fc7bfb83472698c978cf6b922b5b37d3098df98b604487d69cbc1268d2f3848d2185f6095d3de3a56961021ae2b5a9d1adba307dadbc334f636fb56f60ccaaac44f368c51a6cc92baf33daa3b82f089827e0a4ead4939ef008a8c2a56a405bf01c4e167186c1c2814687a38a236ef1bb5dd5a2715eed2bf5d314d7aa18883ddc2d242b443a7d259f4a54083a908f70a63f7da6c63c3f05da7786f87e17724ebedb7cffb03d3a656bf304e3a15b47f37a1619ac833c6134d0a0a7f6a6d5e9d6337ec933e5846fa508f52229cbc834731ea19e454effc3244b3fe0cbef236e27926b20d0a873cf4e2d31c912686b958e55a83614aa1aaa94b3e588f597fd24b6c47feec296c6f13a6e96ffc7a5f0ecf2ff74a9ccabde805d2a2f387b19274c559e8f7bf3f284eb9d8043c3915814a7a7279d6d578017a0d625a3fad6a4b4fc01653160257b90d3ba4d358d7ad658b9441d59a472fa274e9a7e6e0d41e2ef73ab5a19e80fce24cceb994759dca805ebf45fb486a5e4d13f84bd5aca7e814c661b28b0386b5f584e9b7bd42dbd850e629484ff994656a66128f87858147b05eb72305944bca61a35dd070c763b2ef8c7e5614cade7a4c306670e086fa7130ff2d74cdc250ae6baa59c1af1bc54cae9030b5b374eb6949100ce8457604fea4b70d23fcdc3fb12afb5c6b94325f5118f54b85bfb7ca418fc9a083934e35673fa5517403c5ff57bd792195de8d71318c5a7faf9184036a23ba4fde950e83d214fdc1958981b4b025be8dce18d89698cbd42339786e2763142c662971ebe5180c699b84cc627105be3143cb4f307b120e52a45a2cb0bafc7b45c7ea8a7559957b090c23f7209e3c7a0b1be43f2b18d187abe6f79b75e6dc64fccfb19b91ec982b568482006fa8d625300565fbc04eec5bfe0beff19bf227091debd0e293bd38baa8575f0ce2e553d530366e670fe877933391aae14347b186d34f7f3e13d154a17e116cb948a2a11d03dfa89d6dc400a1ae491115c23b84f167606790fcd7d5d36267c44a82613ac7d947949e3a57bd2bcdadaf08240d8fef7a03e1e56f4aa24239b798105de693cb794dd08155be6e9e0d837853520e7837a549ffbb619791a17fe2bfecaf03dfe6beaf97ceea203f79e2b156608ee4c79f44f7a8eed8f89cd8bbc6d1f82971f1f8d0e7993dcdef5c4f606df51ec5bb3c4709e4adbbad9e623dfba2684153447ff5da91b0ceec88d5edf14b9df906b149a9c8d26fb143efe0691a5ddf502cce40b1fa75abbbd621c208ad6d254598a3306d04a5fb8cd235287091360d942a2774432405ca85482439acad6282c2628f0ff83747311284878a7f23627ca2964bcad5ea0bea3a6c504a6b78c499b2aaa94ab0aaa8d470146c4178844c79156a9597145cbc1dca6ec4a100d3980ddca5c90c3eb5710e45e5223385e66b17356576bc33ebf3d679b01e732dc97626ffb3eb621b182f8c98f307abf84486d75e3ed0e2016df58d7958afdb913a1755ece31e06843da1fed10b9e92cf4fc96931ef6bbe1d395ea8ed78a4149017b5553d26b58f84e1f61cfc96db421a03f2b899d6cd04dbf246f6f01938221b3998d9b469729b01ff027dcd4e019ce6610a52d824ba4a4018b16aa472a6825f72ba0bef1c3a1e2bfa22e2155e0503bd8825cd598c992cd91e9f30f7d988ba149ea91f7e28c399c94e6721e9f4cc10668a7396c5b2dfaaecd01f865666d9a3e34d62fda583cec26e3443893dffbfb09badb22b479454012dce9247b1b8a3b871167081b439926a6a722ad9c28ffed060fb6ef7c924109c01ea7bf87b178a30a6b62183402c9805c0b7f2931ca42ca2b497d6d6f3a88f9f99b76fc90968e0acaaf9e096f2eb498e97a2274768a499ad089eef15109a312f68feeae522902e78a591bac17c43a3712cc055348bfdc24c7e7bf14cd610a2b7c35f42eeff4959fdb6ecda9004d34ecaa0eb987984ff32f08b51f709509a65248a3be2b528a3ed62a438d71940e2a8a88586794e5f99a504125a0be811164267b0028edf4d4d9e6e7b8817fc619ee719f1230709434ac999bf2a7d199067757481537a71d2e88579658413a5484eeb646830e693d8cbcded72c3285df584abf9859c43c870eabc281ed169908da2f1c14c644404ff3c811907e9a6d95a43f0c2295e139e4d620e854cf79ae465e9e6b84445887bc5d9eb9e4bdb6baf41d4fc1eeacdbead8cebc404900e33ac30210b5eb446a3da9112fcc901fc86a930afa79606f5bf80033788f4b4255de9cae7f95edea8b0ff96371d89800af85f52380fe7ab10a91a4f8bb30bd6d40bdb7b7cfd0e533d5b00afe55c8db1c6acea726c38735c0ad3685d60a51876b9bed79e91a963d7e424a180db201eeedbbadbc710072ff44c639dd11a6e652c2ae33a3eebe829569a19f09288da7df25b3632d3d7c38efc9159f6a5ba0b2884408cc8af67cfcd61c59830025c7f86d16131de1d3e5953754f3fd6944d27fcd91cd1efab1bcbf7e085defad2774c52114262353fa853ee77c1b17ece4de7a00db53d6aecbcc86712b3f8e291b9c15e67c7d1a6901f31963368cdef838922d591c243ded7ab127140edfde79689fc2707a3b58fc9a346b5dfb0a92032264ee1b408bdc714dcf853faea32b2d06a1f2b093d2390cf7c0ae1b19364b90218493039b511a11fc49d64ef9f1e7c19bac7c302fc6d9f8dfb841c12b14f049683828865d74eb2c7fd99ccd02b7598823e6abef1edda3862f9f1c4e6c81209d66472f7dd3b565c0015f32695f79dd962ef374e6344515fcb52e8a0c7b1456d502dbf57ecc2b437962cb1e7bd0a206ea17b3443f4c5ced2b9a0b1dd06d9718c4f3bed5f81b566881cfdda0de4b836d727e64493d01414c371d40381acf4592e527f08edc95908b94d06d7ccd71f7c2a500b39cde17d36d44dade8341bf4effb8027d095241867fb112d3c9e8ff8d8d975e676bad7f81843c338b1cdf28a5e26a23f6253284b8549cdbebeb158e448b8371325bfeff118b26d18b5b5f0382f3e335663588f883a7f95045ca49564588d5e101ba17d1cc2534651e4cb8c1164ea0b094a1f3148493ea17354bc2e5e43734ae9f9f2afabda0d9be70b1cf5216ab65848fc09f8e7a0b6b0527a256b480bee9687f523f29c4067813fcc7c1cdb924f7d6d04ecd494da554beed44e882e0c7f112a435b0ef7589300c4e75cda1b0e06ed27f06e5bc2e42e1757fd75395908defb7a2b0917e834dcdacc7483732d57fff45e1b9aef9a06515b594691fcedeb645b44b553d078c0b748c49baac6f175d65324c47d9e384b38af8d1a626cc76441aeb4d121087f73e7906b8a66295a5c4f256d77a6e5b51181ab9dd283b5376d565016b0afa6c87936dd508ae4cba13937cefc919702304e77eec249d83c8fa902e567d0aee4f41ff749fcf8b6f5396d689b886ff06d51270056413d446bcb2f2e1eaf9b86d0c77dc18a92a12e848ec3953fbd72e90713bd77cde4ff0e2d94e059914fd48df33b677101272ccf1443d8195ec6736bbf9d5d3a077fe3553d4ef4f37f7858bc3b8a5e6147c189961be134c67703ddac8159594ee59f78c9aa88a4dce71c16f4a88895933df35857c833e780416c72dbf52ad66451e4b3498fb0a742533da6067068818cdae8d122c5730183865668e90ea741a90fc5c36f72ba3b6b6d6fc4253e50eddef435b5959991c166c8b1323deee82ed2558e3718162317277a2b904be294039abf785f0ea0e51ea786f6d89abdac82b852e0a5178ffa0b2dd5dda5f987272e312c25df008bba694c4144c1eb2be20532e5e2d0e3bbf301e65c763cc638e910a49176fd946d4cf30a748e5dff61a1c6a2283a862a73fb8760b5b9b6f9c49155c6376c26f550b01039fb112c96e9b93f382e2951d7db188ce6fbf188d459db10a66826c54ec38e0f73591f653339915efd24b57e6909290656fa938f758526c032ecdcbb155a43eb725099b9e266f6ac97fbe0bbb6278b20d27ec10bd18c0880a89f80a95dbd14a9eeb40edda4aac9802b34463144030c40282b2862f3753db8ce7747f674cb21b272b30dd55529510219702b7dab0e27828124852837cd5cec29ea91bda43dc83f83ce5a3df91974c72021c3da41f15cf6272b83d8a0d1ab6fd232b1d9948068fcd4c3ada01b515ca958f7a27731a47ebbbbb3df19021017b54bad2991ab330f7479c71809f0dbf356507f6e1c703f247492518dfe02f2f22e2265ea6ff10ea03c812cd6fe76358c988587e6205c002831632576a31b345ab26f49b678a5a9fbc30e6df6b30307a2052c762c5c269e8fff55896fd637937f6792cfa3720bef070a8dfb44b9cf6a9892428e883976e80108ce5a785bc159e8c784fa96a8a2aea48bee62eba7d4b70370ce1a4ec28c36fb9cea8558c78204aaa49e5747ebcc7714759f0754227783a7f4a7167e41c990fc76c559e887bf1bd6bfd2f0b885b1cfe28b2f6ae26e6708b51aed8c4f12fd1ad92cab66ae946feb63d0b8ebc84b17b3683dbb070107aa4fd8b9402bb8796645ba2130d79b92ded571455ce73ee212188112b652b5d7ca22eed8f117f6b74edd115639f0133415168f03fa7eb0de75aff7831c4f3ebfcd1eae078cd26cb1575bebf63d7517083b62a7446a947d76366927c1df551a7c457d5b3042cfbea4c64910dc3e829355a6cccc63cf3cc39bb87b9aeca3e328807af2f569f445f9b4f8b28608ebe659581a4bd25722df41544259aaf4e30477e8be82e423829e6175dc4e4d001891a640987642adc7f06edb8dd0b1e787208ceeef370e63c62dea888c72a4bfed5da1a4e455d6919e50de26fcf8ae4462528a394298462b93aba79b0ad0e39b379eba8b5eef8d272c1d107e3ded570ad122ba5dfe1ddf5867f76f52af50edc2022428e112548acdd2323e0ba2ab5e8cdd75d0d68024a51ae16b70eab3781580b260d51923eee8e2125e9644dda57af8e2948f36aa6f497b8f67879792fa532475f451f62162de6f317a430c8362c544ac573ead6572a80b8fa70b3fe2db2763453a47d9f465481be5eed2c1519e168e90490378c1d8e461560171e2663d94f3b1990d7822f123787ac3edb2cb7411baa7b8d9b079bd7f2f3eeabe6acc08aa446844758367c912530aad2ce7bbb5e697a526b1db03cd66b332311da3ec52d891013a1f4a5e0ee5bcc10993541178eb2eb2f6ef2105c4e79f2173d3dde8f5aba855f642fc98178bcd349b674fbf4806148b56ae3460ee3f4ce9269db109236b368e5872b80b8bfd88bbebdd3bd3a20ffe6305750ad6d6b5e721af518d874820baa794b92a933bbdfa8c5ba8bf15d7b587b443a6a374bafcbbda7567d015468d070eab93b8a5be5c1e76419341b6fd3b820ec63e6fd709f299eefb9d05d867cc029211bea8fa7d6a9a782783764a41d21a4b00439a1a85ba8247ac2045d9a1fbd4abc08802f978f581050d7890fbcad91a3db7271e4b8963c7ef2810461b9613cb87e4a01ee84e93319f8701f98a70da7c1c41673a29020c01e45928d4a1e8e72b38906872338d3b182be719bfef2a5b65e35273ba93f6ab8efe5f7ab75908fbe235ac65edf5d000c5723d60659222553e774f242e9ac6c7b924fcd0aa1df19440c4106fac8aecfc8c6e4435ac75e29e32a7dbcdab0fc595a0e2d2522d1bb7c3f55fd5a212135669d982f91697ddc954b9131ced8246477bb9b9ff9eeee11914af70b2e81ca728194fbdf5a26458a18b4680ea7b5a2e8d2987a3493881df826839c3ac5ba4d9fd2dcbab41233920b5d924c3b60a5159d35358772f6e65c48f4967195bdb201eb9f1b98917c929da493a64e6a57fbc73f6e99f48c5471f9b1938bea8557045938d7eb109af3029409f135afbc9e45fdbd71588f1a5b6adaa5d49dc81fe8198cb148f8f912417ba2bf3c0918934b1a46e89500f6db3407469929a065029aaa139d453c0ac62e7f81d0d2591f1e660ade82642c34bbbd78e1339cf6540f555ee42145bf62fd43af5ff34f6ef4293eacfcae9e1ffcd530350fbd7fe7651243f32555de1e1e45c1305e14ed2fef416a0144a6c7105e807bc2a321bb174d61f55c617e0c7b6646b08d390a2cefd17e2b580a08de615c27771f9bd25150d62564d2e7e7438b61024a1c5846c7719894c5351dcc849aef7cf3f21c55bde496399e4f86f689bb14e47d40104ac1484ae27d0468fc9488076664c2f2086b459693673bcb68435e3e301c748e61acbfdfb5ef29a5a0b564e7b4a78565d383efcde6d0934f312647e5e0619a9ade7db6ab62a83c6959443ae8f164a7a2bcae8f21b39e71e590ff4d688dd563bba7fa570b82b6c0b10504b423e8fd3e83dcfd89810b1db302324d2f7cc32ff1782258a5a48e86c5a9e33621fbddc1ee067cb9e4d7e9ee814613ccd24226d9c35606e55d297099c74736e907ebfa5924b3599e533edae5de564736006b81dc9e241889173cc652928615518832756dfd5c84dca4e4abe0fb3a32bebc087ceb13064a1653c18582e30cea37d526924760c6c1c3f5a842148216f13866e20bb6066cd0f4b525b2fa2f1af881038409426a6dc5e45b037c48a06d74d4f8a50a8766a901f1b3a553884bc4c39cc53db2d2d68059fe5da7ed54d26bd9f8d06df9f82408cce5f54b2b39fd8323ee8216c4b2780e062f83b47762d5841f3e44d8374b0a865a8027e4d61ad09777b67d1280c2468093a0644184bc949f21854a17f37dabe98b6b4bb78f99d0796f9ecf2ce3207e700fc7c60670797d1004ec01cca72ef9c0274ecfe41e42242ba9d77e602e08d85884dbfbcd1da5fe3f7a2ff1263f0308f034725af9b7033556f5344cc77c995d494b15a92218f5e20fde32abeabf77be61b7163a48e1c204c07b3fb19d1bfda02c4f799963a5d83d1bf7a258fac18d32862036775845308e2b288755b45b0c6fbac0bfc124fe89699bc36cc29642308383e523c6c2b73149ed0ac4217fde15906c22b26c09498c9d3e871ecc39d4a8c496e0e5a7098244dddb742613a2963e497ee7619b6edb8b56af5a43a147977464a479b38aebd66a8d9bc787127ed29fe77d990a36154f6a644ba9523096c3b0a0f4f067323b9b24d4013dbf4c35a232461a6e44b4e36ad3b34113e00ed8f6378881ca435b0b1fcef1bb26ff8f226cd3463e2d6dcaf57ccffec29a572b205183e559055571cb4450d927af9bff5d57c8269bc35a83fe509225567d14f36e108dd7c555b39e099a428595e4a4fc90d0051fc62fd39a8bda9f17b05190af26281cbeadd189f6e15f4b4f681a442e67352300bac2bba2bfd584a3ccac64394e6da9063fe3ba7296818f184c9230308a637f3257b00520afa3fa054ca2081f37041fa71d20db84eba5ad332547671372052190b370bbe2ab817ac00c60e18b13e3faed9d25d6b776b27d624c21a44e8048f5d0c088132e9ce4a3f0d2c128e52e78c231e40dc9a0a34e5392d8ebc80b4b91d86e5cf898492c5ae297dfc8eeb25f1553c670157a77a9f4591ffd2e55411e5a3f472fa1b3c5034a87cc5bfd0fe041eab7951e7ec373d4ac0db7160bf4fb6ef2c39a5b1a1ab0de571b9660f44e23dd7de69571edb7cc56fa8629bdf9416ff5afd014a5c8f19020d037f2f59ad91fd59ff592ae2619a478573b0e165f4159cdb36a59bb4402e0341c452d82b3c7642bab6a5b8e11c5f20780af2afe093fca9ac37a24f60e347693f4a2bf16e164ff6fc9c39fccd477400dca3eee364526945c1d80dc824bc32abe10fb8a815a62374d9e6b55dd657eb87abc96fde5c33cd8eb92d400efe60c458397dd08b3c9df32ea43fe247e54390da65cba7f738c9fb8423353c3a09c35203cd9fc32153e563b734648a0961b662055037f3d30706d6898fd9ee5df792ea996f5ab3c1d675510498a2a422a92b66de6ce6eb51907da4c0092ec881d280e74ad1fc18c311c5582537e29ad2218d2842cf6076e95af3043dec8eb56ec9eaa028327616a2fbc401d99ffb1c8834f1418246f5364030380d1dd63510307b52b08bc3c66b12281835f5dfc461667a62a9b262f686636f622afd95d67533752e5ce86381370800c40fcb857cb1fc4c05fdcda5b1660a0d4a8d71ab6c6e50180672b8727b6f6b2434db519f54628f75685893d25c1f07e59fc1dc1bcd23fea5dc4fa9ecac2e80732cee0d7fcb90adf784bc5e67c3f065f414a7c2e23f27676d23678a12ac6bfb1c48260fb93b75399e9715ed5acd4904bab0f6055b99ff5ebd3cabad257e41cc45156a45269a53d98c9f329753c2a2b41081217788d20cd0c2a81fe19f56eac669ce4724f1fd28f793cd1195c0e039cacf2ebeaf22f692019fd1a89a02ba5252102130a3bc0bd02d3c7f06df15021b16b9725e0ed9c587613d583555b84e32ef655dc3136cc0646f6dc3c42291bc7f5c8ba50eefb85abce31bb6d3d250e95e8900fb45abf0d2d86f149078728083d620eba349a452106ac39c51fdb7815d23bf7e273c3408c7b35d671b955b7fba9afb04e3425be82084eda8073024d1c53be441a44767763354653d8e0efb2a246ba91d0e734795a2d7c93a227ef8885ba0cf4fbcc8a6c92f244e06f9e1af350b1ccb8dd6e504e8b5d67aa9051bd10a2d060f96bda5b9f91e03f32345f2e50e708e37e1f8cfd7fba5f9f34975b20e197b2763985a6a390d16a75505431dc53ad948835e95efce11a6d7cf758b3be4e8805f06e43b48c8e894f5e08fd05478e00f933bfc0da18c319db7211466e8f8ea29db694a5b8e6f2cc435f2de8ee4b7a1a9be37dd2525b496aea8f3339c82b0360607f3bf200474c498ef6ff85698c8394ca37ae3155aaee2f5bdb4e150256969b972466bc8bcff9edd541e7cb366b89b1b7afdf7cb4130f4b3a2def6839e131254b518fbb1aaa8da3d28952484e84f08b598921bc6cc74e49a2b85dc241bce4a7ae8c15f41b2d596f222d490d79aa86430fb27e4bfc855753f1bac5cbd4f01291026099ace5fa8670269e110626819786617bb93738319d670c7a9185d4901d71fe84a84d51f283f29da4aaf7b946336930bdbf9d02cab2432d85361c4a6d7ca4b2f8982c3ab6d20fb972e5f8ae5e95ebbf52dfef5604aa533e7e12091122bfc4c3c9c0701c48f048f717267b5507a1416f10499fbe235998623aa047cef2be13dff9afb415b1d83f10ce42bdadcefde90e4cc58af548b7d5e06f53955a19e5f3f771e15645129fd08c507fedefac62c5ea87c93f2bd968365e6217543de7421a2d92cd9588a59e89224e8fea0bc08d77a69efc439e123d42c4e0fe02d9989982f4ebdf331cd7fda9280202cc7bb7eb00eb85c240c2102d1119e88a258f9c3a11fc6d8c54bb73c4eaf3c9c1a332ea73492b7dcdc3ae55d5de0207030f7eaf05596627b309d40fc6bca61d5f360fe1c4d5c16fc9ffff8d411074b0d2c2b3b5b7ed7f48be5eec96fb8d6d438dcf06d87400c1070b8c50ff6e79d6813303205825f60cbfc21c76cc67c448f8a8f9eeb61fee84a8deaa5e12db7df02ad9f2b4c932a684e9f2436652206c41d3b4907384b999cb85f3029fee23ead10bff0eccaaaeb33a7bbfa9c04312e09a853eadb5e04bd2eac99cc17605cd9e44406ea2567ac5b1d0d636e53983aae3e544da87393432e950589c46e048151fe281b473a76705b71b450e9056180614aaeba4324c9c362392ef61b7750aa71dedb465d9cd8e271f28fcba04cafcf930c68d2083669b3562abad733e8f9fdcb697ea5993b506edaae3b01ecf28fecd03b8376407ca3af7c5ffee872863d78fff887c9f726acb27db10fb32e18e9062327a2fff9d378cea3eecbde51e3df6ab248f657a6649304259ba106894308b536b7ceeec538002dbc5bed7396224d3fd73fe88d91a2dd34fea643bebc344a3b7827b54286577c95eb8445eaa4be9820dc98a0a22b53e9bd0b1cdc026d485b1b4a29274a51df8c87c5098a9fd82394d03cdfe21a332991136fcc579dfc9465c8dcb02eb37d267970b7c4b12f7e3795fa2d28439bf4e6f8336be3d6df5e024054fea7ab11e3ae978f9198798d1ec5ea16806b94148e6f2fdaae99b428dd67a92be731c10510816f033b0718faf500400349fde0ccb6d6ae44e51ac782b2c30a5c8b86451f1436771dc5b7a84cdb6bc78d33f0333462fce40d5e31c340917b698cdea23398017458f5a7cc9e3f19cb19253e06b8b6f0740645d7221a2c522b41763b228e4a66af426f5eb84359fd26576eb76a06ad7cc52c5567842e2bb96ceb9f7e327a062805e0bc7eacbf25f35563982d32e58a5fd916e09fd0cbaa66546c71bc79131ca01949e26308285e19b013d5db80004c4f216bd05004db782744604875489c2f947e05dc809034f413a6f2c3eec1f4489a79effdaf306651b4b3176acf224a9dd8908f4c8a39b3d966a8b51ef6aaf70c29e8c3a9ac400aaf716ee21903f41b52d8d9e3b51f503e3e756b97bfef3a83347253ecfe057a40216fe5ef7b4e6bb595ecc9436b28d3bf9e18aa5d313e1030935371ddd3f03e4e4a136f737531461c9a01f8e8214ee6f524d02ed177218dd6fd53d460e34b1631a5c7f61453e45b05dcba92e4a8ea6e817c5e1f44678ec4cd12037adac648a9c4c81948088d5a9a24ebb7338698c7ab3f164d665445183c436b799732bd23a3c366459826165c7182c25aefb47517d67c4c80d778f0a23f6bee87c694aa42c6ba6bb1efe039ad4b3baede1616a1cca9a4a8893e5ba75a667b6e25a414a3c592b88afbd5b4453689655239af7ac865192b4056c927c60725b14d142c1bb94caecc65c57e005180dba68697b30ffc786e23902a0683018da2f4362c8096deb5b4942328725decd2f95bb49b13e4ff1e05944a9b1606998cf1cf5365627a2dafe6c016500d5d2e4913ccad75931a66f03168d920cdafbe290b2aee4f13203bece92aac9f4f7e42f31d8bf2fb3f3acbf1465cb9c3b37f2723d3c84ebf42a48a62956b273aca9384abf88fc8264572b5b3fe50c58663b647ca28f5a0223389118668ce519b2ccc72ab34274cd645cb34b376030144223d8a198dbd4fa6a1d1499fc9aba5f3cca20e413e43359bdef703a82f7b90cd427aaea1ce3b075523419450a9959f988f3aaf24b8193a6b6e0b73d56cf3221e92b98ed0623391edc7f0ee1bc18b904b2a80cfd4e017f0658dcd92149fd250eb4b40a4a2f70247f61177058fc8e123d7c93d34472730c28244a01300d514bc188b1256a6792412dc62497cd5ffe0805f804c34195e87df99841a9f1e5ed983f52ea611ae5ecf75a0ae9ed0fb3a4bd2ce6f0bb0d370a2d0f56f42d27a4505da0ef0f4070dd359e338f8138a6bbcc68194a380b99c306f32ef475fb99ae84fc29ad5faaaf902246869f60aa2e9993532ab03b1b5114100a0ea2fa3ec644d69f05f00a320ccc3d052bad32757fed1c8de5a7031a025c0af6ad72e4bbf19906104a8bf4945d31a44f5f2d3a3d0ef159af4db3addfc3917a01b01e838dfd0ef62fd62eae9f9377baa2c3c2b4848b5e8e4430be7bd7b98a9f3162962a2db0ef9995239831402695b268a0771a16dbfe1cb3671b44474677e49d8f87a25b7bc8f87aa2bc45a9df5695fa591abc70728e3f3b45339b41f9202a37a7d3d93e9ac6b328eda2d5816c6a4f72bdca8af10400937a88367515cb52cbcee1f994cb0e69b5b2ccaf784cffa7e2671b7c5eccdd6d05d28234f5530b95173839e850cebe56d02d0b8a22c5a8eb569272c81450ac221ea2545595bc554468f13be8f4ca5246ee92a2cccbed63a6d536d6d772229ba178c16a246ae484fa6332d90ae4a2f37f35b7c1569b13b26f82c5ee7cf4aac369465e3dfcadc3b864f8374e936b13c31cfdf6d864e0ec19f164382226dff67ee35555d8219931779166b26feaa1f075224b2d5cfefaaa18a3b0c100bfa6186edebcfaf2b6a35e82a2083d668235e4629437908299013f60c455091f15888e2646a2ce93249127e7a9ea9fe407aabd0fa2882ce1b08362ad119ad446899b6786ca7ef36ad2f9e92ab64c354e08dc2f42e9f0444248316cb423a713956a9a0478fa9a482d23af6293f8158cfc1e9c2de51f4fdb47e19a6207196f1cadedc15cb9349bb8adddf081bf0bc88627055e3e8e4104d3832aff9176ef6c131e20c50537813ec03ba30747b482405418810622bfd079e90b8d83a0eb2ad281ff9989268343c03b8a7504563a9e47006e3390bcf6becb559cc38271af651401805f6a78aa1e143053bd30acd94daf44dd3550c59164fd7f2714a6505608cb3e431abc7ed0faf2bd6a59ce1048b70b7d4774c1e507ac35bc3ed8344e895ac011c9963e282cd90eb44cb17d3597c78fc6b96a10a822806e93b2da67fca9f23b6b011a65d0171b49bbd32407270e3058fb0155cec8984debcf890532e4e7a74febcfbdeec8a9cd95db55947a476e9d90e97229faecc1bb8d1ae72cee1f936f68068cdff2a177eefdcf590bb33e0e457e67db30051115872b1039a437f8f45e908b5c44f802bb727817292142500ca39c74b7617f7a93f036c5cd7025bffdfa397376a4207d8a2f3d5b23777c17e452c8b5bbdcc5341d221b061b2fd22524f0174ddf8eca4375085a38759fed4ba523ed0c112d18958da7fd689f9e048bc164910c7584775aadaa59f60165d4a8f361bbea316eda6607f4fdd44ced93de8748c85bee524f4c02355dec2614e0179970b87994b1d046a7c52efa3296b0b4e0d4a68a90f92ac60cbe443c6114b5580c48e8c1655621aa154a6d02e01e8561d1d0467d5a5732debafc75f9319af910e377680f2855204c67aa2a3942f58dfaa3a5190a07caeb06680109a1d11397dc4e573f68e19d185bbe4b827ca88cd8298427ae06168372f4e969dc514a31958e1e596316368859d200fb9998912b19aca0eb84319ad9743e95dd4270ddd1a1e7ceee9cf90af32a0ab962b2c229cbc886d9b603747b7ddb82165b06180c520f2bb4fe2f990ca3899cbaaa6e0d8a30e451e5c7cf08dfebdb1cd2397d2406d76c288630fac60f58f350ff15c1d691641a2342d0b3f013601d5bfb1f37fbcf729bb0c96a60a7b29ce90c7caa26616f0ab74afda5c8628036b9bf9b7c4cb8f30cc6724433494adeaba1d627927aa14eecb43d145feee0fc103e79e20e79d7f0b3732b77f83167df3ebd7e6c45a4ccc11d52a4a93d4d08b1129457feb10a8e999fb20b66de8df7c0e7481f5a86cf340c37e0eca1fe77719e18dc6254d7cd13ebe0e5b1a5235987e0a613fcb8ba0a8e613d4a794973e31dc9c409203df7e52eadcf89b3f886fcf3ad3ee2af2ad8aac02cd8ce12f7bf31939704379c0c3db9e5bad47c4e91a8747605fd17e0a95e066a6ba0fe8952f68a14b13db23d3549727a53869efd55d0a8ef34ba774b1cb7c49e6c9041f257b184c4b89bf2a0e46f153fb0eda9f1eec253d181d994f2901798e522fe3998973e1d19d14641624741887fc4f581638222a39659ad382f0e3f95034e815feb17488f12d246197df9b58a3c373b95c0063a9a340eeb743d92a920549bc197610027e4b4e7ecc85a5a908b4b3e85442da32d2bd1df25fcbabf7d3dd7e2a6ac5b48a79554c0fd2dce2c84135b9e2df6edabc994e2abe7cea69d6111e587d6547fd47dd806d66c9818ee4e8524530aeff64481c9e7758999528a502ab16b2eb4ef461be07eee13958d169a8681f9059f2e331a6084bd97b22cb1c763d801019d61f0c0e4d7405aea1d203b6b4f454d6a850c1d7045c9d853e626e191021a64dd003cf88ff9514038a1518029d56e6a92febb4236f5fb36321f5cff84dea77181fe7248b99b445b2e3edd8882cbd716959425301732ba917f70e61ddab35df6bce6490b195a77024d58c8345477d7d09c7f85319afe325b0fe582bcc131189c9e27a053efded98310fffa43c730eba652b639d3707e3704131c2fdb9c4a4e1504709a314d6040fff383c9f6b82ebd9cb0fcbfb1abeb1ad43731ef86d52b4daee3f929f2fe88bdc30c915f7ed27fd7e1fdb02ca7232496071cf76674664679da98cfe3b6a2a8f251ed0c8d7c4d76a45cdf13c0947029b4654f58985509a49a5a1bfb8093e878173a92a0b00fa544d6e1de57792fedbd4fa38eae558ae6f01677c56ec61c710827f3580b56d3fa84bdcd7692be8073a0d442fc655576f2c712554a6155204ead32318ba9aedfdca87d26f39f11866fe9513377954b0125f09c18af384fd3d4280560aa37abd21da14196aa56738cb234558b3d17756c20c63c6b9035818ab28d748c4edee43246ecca33e525af6e203fe2a8b904e190a3834b0d647c35fc7e15cd000c4c9040a0b94620781a54b487cbf1e38c46d5b46a0e32c0f2422b153a0075e71e8dd137241c8d3d4379cb7fef6183ed1e95f4ce69ec3bb7c1b8435034dce7d8d381d0b6648593c6c69b3a76ebe005914656d02a79b3b91259e0cf65078fabf31aca8c8cc6372424ef7d4549170e839ef030fada424fa7b131216104d4486c409c51100a451a8ab6e1ce9e7e2060f46e6855b41054da8141e0fe73aa17ff0c6a1f1f8e4aa0d191ed5a8a06cdecae018ab2a8800308e92e0a7dff263c3c1398e5b4295ce6c1f7036f6a9d5521b420804cd89bbb1f048c0beb49649438c3b9025457e56c941140daf623cfc0b7f9d2dec5e9082978295e2dceabb86fd32faa31577769f5f005b01896a46c936346af8e8c23e3ce88e9ce8138d026161f06d30bc2c03a46b431aa6c91b3301727a9f538fa4475d60519a964992b39a15c860773d00dfa4d6b2c98ca429621d7ced1077ef691d2ba5e285c22d22f746090c46fd93fd7e72caedd14c45a1b742e0d183d8a7d6c4214e3265195a550b03cacc6256e7e3f6a5e38e54f2494f5f96e22d5f3cb94f504661a7fc3546f5f2c1cd39d8417c6de655fcb6b69176f8791524a8c38fea00c4bdc2096295c405ed6ea6a7949c59eb7f5ff88c646145b75cb9325ad8121ca7656e8b2e78c5bc9f34c26b1099c09910d12ad9f2207c83d3696a36af8af31e2643529b2ea9776519931dfda50293e0ae34ee6717edbc4f0e66397c82d159acd903d16040b7ce5d5cb2242faee9122c6fbb0ef47ef67e223e5e38df57d2311626f919637a661ebb92a9c0ccdbe061093ed48b31929967fed1923cfd2f6ab605b673edd9f28bc5c03fe88d75ae45294883c76b30490b4bd10aa9849687a508ac22beedf40530500b4f5eb4b29808a08501b3e35a8fe7aba58b82064915df3c3fa7245bf0255e57ca0ceadadf17a30c72d4fc636b105a6ce85e1084ba95fd79fefffe71a18204b59f3cfe48bdf9f7e2b7a1fd82279e86ec52df89fdd4d04b172bcfd5871564287b338c609ef67c1638bb90b49df63359618c5bdf31698f65d264e300de8d2820ef351df0bc1ce8e4a3cf0b5933190eb9d20990c64a73d570f7ba1a386b5e79a1e88f052049b07ec51df0cf3f59375c7d5b97f28295ea8b10779c2ad54d900942d7cb118fac9aa285a5cce3b96a55678eac75a5932668edc381a6a40f95807016c9d40669c3d169e972c97a02d13648d7a39f666680b177c9834b0ece6eb2f254cb8142e1efbaa9a513d3653b80bddaa236b39791d67f465aeedc6d56f3ba99330a6ce1d9c0d914cf438fdde6cbd8a4e0c5d7925a256e57e167c3f598f4cdf0a40cc53192c27edb53b2d1209695270021330ecc5280fdbd0c483aa4888a04e33c7c40fbab0c25aaee036270add90412a5e9d3504e8a07d94ff89ed30fbfc169a41a88d2a8f422b164389cc3148c2fbb9588a81704501086abe389c171202f659b53c783fa5ba497efc469f0b3da41997bec6d965f851beca6c181dc670130de32da7daf3df8c4a6a2894ddf2585f5c8c6a9fff3ececf7a897ea7de5c357733ed9fab5fcb53cf8f5fcba94a1455d2cce91887b20cf906dada1c55072d58fbeb3c79e7dca1bfa6e5b63e752bf12fec2c68ca1110efdab1ad73f262f5e960b607ec847d9a0555d9a1e950a1b92d85f986689b876cd0e58257d6a6055d58a56947ab48bf67506c088de888d3c58cd6ca413a468490aca24d41b48a1d173f5175e54bca4610f5a4b5add15f30c089a9a13f16d09c3af71680eb13f724aad49929fb95a687ccdf07610b3ab9b1dcac7e9e2977fce0cab1b79d0c3418db3c9a137e61ac404979589d3411e99e77688dbbc5360b0d0698db5f524670a231beb946152c3b3980e6018ab779eff2d75d5bf545e9ab56fd0ea90c7981d007aef51a3045de30cbe99ff7a4267328982e332a5f6aca055e740de6bd00229733bfec5da66df30cc3dff098b9909f97956739b2d71a7a8c36c8d8fc47680dcf4927c5c28c7fb65fee28b7066b4a74b8398b95a1c1cca662f54a9ea9f0e0fcc38a5e09f7d831c88c5390919b2c70460735195191aad28d54fa2b46acf7edae32a46a4079540f729256dc6574c467b39e8df670176f789a51d4889d8b67c25dc9f73a42e66c9c04392036e829efb9296b0e9dfee676baea4f797a1e2497b043db694d7f858103cf4fa590584d616725d48f178a24718850bb80cc29b77862d7178e692d48d6b5f345f9003266059e8ea8b7260cbd2c3c0d9a8f5bd643cad4f9516b060d136864200d81cda8fd093a6eb5c2e719c27a7cff9214926a04bf6984cb2432618dbc6ea012cb5e911d4ccbf243694a790dd4a4203b3f54a85471f0356d76997db187af3ce963232bdb199a7440e278023c11388cda572ff768a2c9345923e8d6cce98ee0f34b2cf288089c5d493087153789775a6282600dd57c0fdde0be3bc64c1ec068dee10fee8f8df7e5af746eb58042c2a5e83afc311c6844ebb31311b43660be92bb9e316dcf1da1b3c4418c1d4e8513159d5cd375f237efe3b05f83c6761b61d84ce98f0fc5eaf11b6525073395cdb89b2f82d2638f4d49fb21770f5615cd237acb205cdbc96ac84e2f348d68bd203c2fb7e10950a33210840a883357852c04a9e134f6e345717899179a1751655016e2a7f5e5b8ea09f566c315e287f38745f60874f72e25b0bba745000cd13779a18c234e89fcc3b639b042e9ee18025fad732060c3e4d7ef9236079db134b1e1922c7abecb96a2e45545d2f4fad55615c11ffdb1fadb26644c326216f0139224db88ebfde506511b086525106497fd2cf71382209f5ff968a08a0ab68a99cb565f397855e480cf3241c9e6dbb82f7e473ea9be7e1a31e822e285004165fdd516dc8148b888eec3777c9f7008034c74c4b448d37c82a859a8fc3ab4205e35367810870092b90b3daf83f13c1b86bb628b5d2af8166daae87d2f2155d4e087fb52058a6d2eec7170759f7700b13f80060cc32c38f7d6a4821816c4152d1742fe1cca44fd293bce6f40b1acba5b07c9f2ed67b060ea72c9543b730858bddb4e206eb69dfd718f44ec642524cff7623aaf415dc9ea394117a1e8ce72b8cc1f3bc1e630e8de521126d3fc7f0a14691ded4038802103a1043cf753bba1b1f8c70e7d3baf4b14bf3fee5ec077a9149eabb3a83753470b40dec6c21e754d09a1f2ead2bbef4a514e6d7186ca004123b0945d0746e7fba96686ac6fab7e66c672804f6f20383ddda294640718213e2edcf072d55cafd1b271a1b95657d701101c16867218934764d65c246b705ba86b9a540c5ddfafabc3c16e9ae5339698d905fd97ffa2bfa04694bffc7af98433554cfc0506d1251a00a1393730f6cacd150534fe2879bbc8d1c7f3dcbe0eed1262da438a8d5b193d42a93f23a8e077e639dc542bbe2c3e4ae428697583d839dcd09ce3a0d15371e64240cafa55f13518d5b7c2071084783092bdd7ca1f101ca2e0fd96b568082e108adff8ec818199a5cad6f5f78c81b54a19c8f4e0b2deefd5786567d35ecffec8e964ccd3ee8f49e726d5aed28dc9bd013ae718e907208d320856dcb2a697d07ff4ab2b2cb7959224f34f967cc4a71068626675bf54b338b7b8adad6d5e1a3c6a2ae4906f83f7efcb4f26632751af1e06c119b9d1f0364db8c4bb49a12cc6d5dea0f8a49fd14efb7444fc1e1cff4dd06bfc05dfef4023c3ac15e623f92bc03aa7b2e98e0ea045e72e55ecfce7c595f4230d3147ed77ac65fd54d1abf618400661cbced9cade049ae000121f3f8f7a6e2d68ec64d9df8a8bb03847aa9895d68a283723c5be829fc245f4466e15bfc9ca7fbc09806be2d907d828e02ec3957e72fe001b7c605728b9f8ca9c76384e00e7979514061df66ae4616a6cf09c7b383c3379b2fb0aa4770a4c1cae22b0b3efe82299b2c79aa1628731795b45fe32a8b32523c88cb0e78230c5e91da3a9b83811224457526cf72ebe2bce373e4e319abc91e7bb78e1b6e0a6e832a6e480c89b7a4fd6eb35a5b5c3e17191aa50092cd93c83ca7a4adbe6f65475a00e937dbd2e66a1fbb426e74e55aedfa57328bff4e86b2053e863aac7fe400f7190a13e683682a3dd403cf1505eeb33bdec1295f3202c642c3287b8b67853627aac4d3ef951a40edf9fee8da4b3fbae361bb1b2b9ce53041b5340d038a888d4bf754b72f40787cb92c31a72717618d15c5165c922b01b83fe1c20ad31b59ac9440320c5e10c57c34012b9f9a87868a09e91565b37cf820f8a29c6dea856d59d332502afa89a4062ec1c8e5692b765299998e71083145524c56e78fda2118229a4507c635927811705730527aba9182b2c57a9de8288deabfe6656a6d3acc8d28cb75c66f2144c76ac9029aad7e3a2376c3faadb825b7497154fd7fb9edb6e64db1e73d80c786b579f76d1f4dc46f8f81600e636ea71548e4ef399a51adc6889a25a0787fe872932f14184bf55c2e104e902fdfd6ac34023c126174cc6a1f80838bda871a4247a482e45c6752b52bb150d21ae2b6a78dd6e46f1bfd3ad3588dafc9d054b928e62163a2a6e7ca720878c0702e516b8a561cf6244cd2710cd6c74b510af2c855c19ac8bd79709c599ecee5827654799a6dc6e03a3fa734f3ec1e1d52a6fce723e99a0842299b28a7f221974de9f7729367b62f1fd9d4379004834be1d3629a57f0cfbb7a4050db7247a04182f63dee4aba9ae9a4a0aed502b82af92ea60cb07067649dc91f05d373726af61c81c45adc118f33b7520d7a20d918b9e205adbc1c765efacff3741811684a30a9564261b74f954e85596f4dad0737f1a8d5e506ca16477b685a44d146cd0ebc73de215260a17f5ccb25b03a146c1a4f2955822b1ccf554cfeed53bc6c72c9243f3fb651397dcf900e9a5f4074e46925aca863e39c67484fda2c89152e990d77c4ffdd9cf73507f3bb02f993499c56076e8480e1ea6332b79a58c391b69433e3f3e22d894f10c41c14a8d3a439e7758b5108440525f0f70a3bfa1f35878db8d5ff57099c10bd2f73efe6cad8e1672a44713c055776e71fa3173189112b37bd38a4d57000821b55b25a7868aa844f1798b240c026d38c2588267ad7cfb2332adfe72f5977f2d9b3edf092f916c0511a19835b2326197451470e96d5c3b7fb9e2cd65c00dcf007ab3d2413ff01165c003056dbd384854b0dfe527f6f57a264d093b14f8b511809027b2ccabf55f1fbeb8c1513d6744bd78b7c36d6f870d655e2aa505cc26a423e9d9c6150894b5a0c31975253bb2c4aae2d8e0a3ffee326fe9fcf9bcd148999487a6b9b466dfe552e288564f565d2bd8171eca59b76a9afcdc2d77e5f525d858406e67397fa1f248bc65c561d6ed07b502f0f155e9b87d69ce856685eea6f7aa6f78ac92bcdcf9df2bcc1f1a73f25bec91094cff0e1df8bc65e26e04bbcdf3f0427ea13d466d1eb8ce3c5be0453894f7cd19e7144bb471f9575f3a2a9b2dbb46856d15245b42aa489798feb11a44090052b07d419f088a652c95cb0e272f98899c0a26e25a9c712f024a4e00a8090442e0fd4ae2280bd99e032053c1d39f0b91daacb1be7c322afeae47accb6c27ef2bfc05b579a6e6fc6319d458c1281bb67372e4fb1c2fb59e49df90b22440186d2de6b25b6d80c0890786aceca5bd1b1a767d5df4aff1a9d7a5a785c70382599e7d486c6056753abaf569a69cbdad1b04461ead6a8e6d5c0f59ea8bfe76d6b32dfa6e711ce1923fb90db516fa97f88f648782b7cd7123768cf45a2867cdb41e0cd07c344176f3c5e8b4eda26104c9ac0c015d767dcb1d32c4a3170ed124a9ea660bded1cb77fe5c48caac8cb6923924e0361410436b4cccafede58000cd4af6f2ab222cbdd62cace3707978df2d3580661ecc0f2af72e2158c63700b0621393c11c2ea0d3419283dfac2f621278d6f9b4e90682f9bae71de4f69f53138ecaf569c9fbaa215013e52bb11fe65f76b22147b023a81eef5da89ca988318e32d821ef6d809f21f7ba1e828b65cc3cb56687775b3204c18c0989618f6b1077f61defc975e8a23020388c84d9c454b395a700871f9cb1b277f0484dbf9c40d910f8451e6a33875ef4db725128c8159ab44f7ab0bfbfc5bf11ab076f3f49b51d337799f750b0da691913539561a52b934978e975cd3bbd1b2a42fb31dae32910ca6cdbf69b88cd4157937677f997b2098f2e2ec4c6f407c8c7bdf7c15f7aaf734d2c9e1e372e294eec64587465d4fd3b6121fcce0e690202ecf3b4516a50cdbf1c6f91193dfaee4e08c6503ad1b92f727916395701e4e697439ecc5fc734b9f0a89501871ea2da25b6ace7067a2a8a5c5a7b357a0e99195ced4d29025081eb96b1048a90504bc0a23440ff593af05183d18618b55a53c18e732e0ab5505dc6c8d29569efc1d34204dd8f82eab0bbd3c0c02592a2f99298df570a09bf04595546cf84c9009dce8991353c08a477e9bfa63236e5009edc48db66fa166c98c1592abcc459178fa578d673892e2e573e1a15d7d8523cbcacba5decc2603846be11108d14cb4e15b0e3a818e3e1252697bf527d6a759a86fb3af749798ee7e5dab9bc49e3f8173a9b52ded60ee81cf24ba0c7bd1264fbc177b81bb5618a5fb5e91b4b2256e10b4ee441371b675a5bfabed6474b702447f82573e97d491634d54f56cb17924709bdf149201ec3b865878bdcbd2be36edc9e6b9cfd1b7a2ac952174f2586a7fc75b89e75f2fd4816626093cbd8cc6c701a748a9e449bd600396b08214f9c740d285d1f8ddd6cf02509ef59f118b662fad1d85cd82989418d7bce29a2b9527b1498dc0425d1cd243fe83bf0673d6c97f7958d65be54664fde790c6c39636d0ac24518102bcb7f438b9874d3102066f630b45744c1b4bae51ea3e9cfc594eab64cccd0261c95ca6ac012f7e91e206b6b8fc7f6cf32cfea8b3296181d9ce93114755488668c9cc1979c61f82cddd2652f6f1b4ef5dae98c47b84c48df6690ba1928c8dc454de80c8c526154b439106776fc1ccc4c6f8f129f6139a4991e083e305cfc2d60050ec9f34fffb6b6aefd7f46a6324e93c6bc53109ae07612b1c3afcd9148b2bd50646e22cea42ec98f2f390edab87ea86c23179bd769952faac811900a20d4c63b8e394de3e45ebfc55d2979eec2382b29542a0d244b9d89705ec3a9e8d889b25781cb7a16536c6061e6a67524c1daa36dbed50b577f86fc3cd4b2be72232d1bcd2370f7f5b3b3f37b5af21dfa7ae332e3be57afd3e404c88caf6acc41854764c6052d768c77962e363b707b7dfb1f1fb9e3c4a9be7b926fe85a53cfb17e4bba75528434fac7293eac4908615ced72a6f590258b7afaa8c0eb75ad82a3319ca106f8706fc9378277bb6ed2cfe5b2dd187551c904519f4f6b2308df14d99165d5a4b79c5a0878d2d4c2a772cee6c37cfbdf4540c08b7abfa00d5ac51c4443f8b6e80d4fec7288270b909ccd0afcf47f03c8d9063f9d598b5dbcd899fc57251f072107c49eb3e1cb31c9541325dce29bdf45ea37f87d930a24d27a315f0e0f3a3958c8c526453f9979fea31ba4bf2758e1c2432e5a6083e63e0db37bedea1af6aa8a8951c7b6460376111d5388649a7727aae5666512e9172ec738f8d64d615b6c82106ff28f468f1128f281a0735365b946e42f111fa3f731969d7821fb5761643d7a21c7cc228b94128afb0c1afbd639c73d209f31a635baadcd70eedc600b210af0e0a8bcf0b80785307cba7a1601e07c024598597a4112deae2020b113887f512ca449a9c50e199bf8b27fafb3ce7a97708ed1d1f84f4bb53eb86e7f5e51c9d86bd27d3f8216ae4e9837747d273489b383e1f582d2e7f749fc3623199e38cd946af73101f727d8cc0e5fa956b0357708e3963923d53df4d1ed7946455551f2b66ec222e047be1c01a89dc0c34306006dbf8234c68ec649f8dc33cd2ae4edc651ec0cbc935d91151e16b589da6a9a555433a1be2366381c300a2029dc6339f75f965ff35999dfd0d0240b4361b1c944a2f760f88985a975036cdbcdd94dad30015486d4dbeb3e850dbb9a16a1cd48033b3a97b4d899c18132bfd655459e4e87253dd04b0c6ef522cdf2117ded2575de28750702975c87047335680d39f7c8a445431de518e5828b0651ee8e97349f7bb4230cfa76122002195b49bf91839cf694c8c286e3f656a210a3e0e673d7eaf3803cf2d8415a232dfa78548c8dcd386f8795c40b55099f3f9b201c43e8216c0cf012c92983afb418d838c669b0097093721685755f2799a8e2bf9e20789b2c74b10590311053151594278116b6eaf407208d196ba89517436ee5f62e5fffb7dc468c489e755e2e52be1804adfd2b33ac3232fb28315fa4bacd580cd1b2ea646a2ee4e48ca8a5c8d4ec374772446a7e1e8658373909b838c9c61b348fd19dc695f2e1503616a045be8877253105bb8383bc981f5dcb06674f624995e1ce0f8b0923a7c4a70f5d06eaebdb3ae78975fab199deb333027455ce9cba147b87353a043a4bba30d37e9e86658194a8aa27c8cde9a3fc7e8f313c24a24a4d8013383908811094aea5c314d835dad52031a25cada524dd7c2f44022fa348853e43d61fa7d19b808e6b4eb3cf0c4e31954d276cf0d0182e327737e8e8e0f28b5e306d877a5ffef827212613bb282ab0d3ba3efa330dd023ef33332412e748f68c64a9f4b87163f93853f0326ab03d9c893707ebd085612a1b2eacf9c13526ecbf7bace938c7aa01736abb31b81f75f8ba4bb3d698e5c02548dfa0cda2e9cd35858cedde48fd48c32f5c3304221a24cfc0f0c2f1b4e45e76a3e195c61d4215138829468fe404597e837a4f06740e06d0db433e98e4f302e41b9460dc52a6ca537ca04b622993f9a134c945e418b888e75d6da1210d1bfc91c4e9832c41fda725272f516da88309ac2fde0834812a2a21047358223a8a373171fd4bbc296394ba751446c9e695c7f82aeed469d8faa550720c77ffd75a613fd3a7bf265c79feb6543311d0118c2cdc3f04bd1003fdf7c43ebbf596db16b8591606e00d437518fd4d8361b444f804637b77026e9cd3d2ada183ec9166d8bf066ca01a801332c61f33d71c07038987cd9f90255ddd016805fa4cd7e6babd1d3ed903d513069c98352acd2d4e287a498188187b507dd58f5bd80f23a0a1dfd52ee93bebad7d9b5edbadd55e8e023d18eb9e88c0638456fbaff25479b23102893dbf068705e738b99badbe1ba171732b7ebde625afe16f5f3b7ce2e4682a5142924e09269f45e5b78a548aeb528d689668b4642f607df40c96ada03da19f4c062215974fc22b08c9351e507551b77017e6d432e1830313e9e978e188c9fe4ada6f2d36868c3a43bf36896ce784e100eb690081a2d9bdc9e4a2749cb0ff5b88103a6cc447d521f7f80613e804021975c90ffbb914fae38d58640a8bef0e6aee7f171d9e89fd7a9cff418b78d9a7914506ac3d6acfd3948ffd44cd31f816d84130ce5dd16a0ff2834408d327d1884bd9d52176668fc574756cafdd85a80df8969f4cec1d4418f8cdcb11667c3bf8b49e2cf999fbd778cd01ddf132a09f26b0a7d303d2f3a3a255a8b105c2f2a24365fd5ac457ff965478b30ca240c47556df8b7e5d9f1b79075caad11363d618a434dc1477c6a89bec285bbe2fb6b98f7eddc54939d2963800e510610c212d447ea273a469d70267deb1499fbf648c2e33fbf78006abb1b50983bd437efa35d023ba938f5408fe0840f1c28f51205346cb3bc1cddf882e428b7b51c43eb805ffea5ad46112fc5e26ec4bc272b69a35437c33f426c0e1099553749db8fb065e515203d62d732142bb1d1e5b89f9a5e8a068196d91e89279f32f2b8904476264f05824eabffc3f440dcfb7fc5060094e5ae3fd457ad30e5faa2f09073ff90c40babf6f5de440411de38d86a196d1ddf05353eca9a28b8d452c0ef41f3d7e156c24abfc6620036fcd3807592ae8129b89addaf6b51fc292ac8ecd201671f3c596662c1d25d02616a5af27584c4ae8b45931afecea6b6c3b3226edf993cd9aa9ed38a3a00ef7e0feb1a5760b6c0c59cc9b366f83b537fea0d55831b92f7c5804ea5914883dc68644fccd06a37014cfdeaa858977dba2ac9438264c42bc49237d73290695c6469e95a7e0198a5f4a0efe8b176a0395b6d4682263b0490b993065bf7cf3f3bc0f0697e6c1fb9d7fc11d55a62b014dd53fd43d1ace56bbcec337857de994eb1e34e62395a649caf379c5501e4774192c558f919b270213423a6a7bf5246d298464a6103860c26eab2c5f140c49e71d42ac792ed3592b475d91e9072e564a0ff757737473709723aca8076d70175ed14cae38f220304f60c0b93ec768773b7f67c635286da7415f07451b9590f076f09d88d5bc93dd29ab985895baabb0712b62e9315a2dd74ea726972b25e974beedfa68a9e658409ff9e6233461ca3acc6c73921035291dfdabef0d98e19c501be2ba9fa7eac032c3597f960973d31d40caf06892df22453273aee47549c661117e67adb61f003146e65b1e9e35dbd9dcad8152454265f123a0eecfcdffb9992eaf0ae3b481c2dd49c12dbc135f4e138d0cb7f88a38b47234c63c11d405543f160587c6653637cd18e3e7b897995f50d51ae5c741daf9a360e135bbc6320ff5a98a0b42ded7f333fa22ed80aa7a349d456e0644db574f4b61d9bd26e477d8dcab3e3a0845bd445702bc846ca0b7129e6aadf491c43cd96c85497f526c5480f777155e5c42f3b4194d54dda866654b2e041f2018002c2bd683a8bf52bfec188bbbc242bbc1b26d71bb27ba4a9a0a8c7b12ce0d0c75c5ccfbfedb4b00d804803cb0d2d0da8fdd6688b187190868e362f0f4de4aaf5fc8c04f7720d955dbe0658964cfb538a1d7d88d9e1b64dfcd28bce332b41dc847f49c1c861277e87469f189e12a94967f3e860b1b628a4c7538575a6bac7bb2577e14eec7ef93aaf2b6ec56d34c689b64846bdbf6af6eec69a3797b4009a4a86485c94b88a199635e0e85dacb50dc4804f7ef298c34bada983afbef0a8c7410d15954ffcd00ff1a11af42f26e8f52ffa63e4081e46447332704860e3e8cf1ff2058e174549d0d74c9a30ff7e56e7746d69e8fc9408aea2039b12dcc432c3f93162d404b139a23ef96f7511293815ff3543826f067312221b116ec8fa969f9ffcb4a3f056c0d2fccf61ba02ccf9b43fb3252c9cd29bec86f7573e3a026dfa8409117bc1607ca684cae5d45991c436d6b8e8c7ee784028d040da3fad4fae50257327e0d8715e9732bd0af54fe517f9f40275822dc0dbdc8315ee2f16948b1500b023f2916a4a4cbefa66ab3310eab9418bb30c780b0ebcfdd9825d641531d9539569391074857033d5066244771b2fb74fab7e424494e55108ff7a17811f83dc334d997179baa0a7dd1a6b2d67057090775b08ec0cf6a04465cc4a3f8e5a5bc86d78b952feb90bd73304c10d8612cbab41c52f770944426a79f66db73a98b81d51c0a74cdcd39a116e91a8d51daa8def1c17cc9a3b1a8a4e4df50ba514d645add299e6b9c6c8d5b94b8fc8f6c6137acb391d8117b4eeaf75442211453765e9dacaac45e9f09c69d53657e6bdb7a43edd261c70b215b6fe4fca83753070669235cc0437cb45787b614b6b7d3b007e39b174d08490e161a9793380054363566596174692b16f7b4cdf311bb75db43b95b8f07e59b9ec2cbcefbadecfe5d8b595cecf285bebb5f4f9ae80bfd0c4fe386f8b64bb63d4a5dc6460652de71dd89c58cb1991f14d7325b60ade968c2a7af98a92758d72542a0518ff825caa891fa330c3a78ec29133ece12085e7c09190925621e3cbae4d5ef8068f87a7999576f8eb02135c7a095355c4f92408dd802d9d1e3a42471081551f8ca248d38b7087fbedec9be57d7f4a63ee303204b686b91b6032b7a4f1e3655740894f553110434c02475bde2048f046dcb54a6a7cc54fbaf7761acecc1909051043438427f562baa9e0edeafb1b465cacb18f2022264b046367d10c87316e8d3646ede67e63a275e91d3e545c20bbc5671be6be805ba7a5d215c08fb064e275e88578fee6402ac3713a43f9f2f3a6efb73b98d6d38403ad92f70df837b677e58bf125f8d5e0b5b5107c1459467cab69c878c3d67489f322e5ec45e55ac272ef346226ba52c4cb17fb667025f353cdca0eb7df6f27b466b0be46db30742ae43ad0c0c8535d2d901bc739c9d70278f6694026a11d9073fca80d22ba210d84f5d9cd39e969551a3ba49481b66210033d8199e17a4640633add14900541b33db2eced1e6720211ad4fbf061e35ac6cfdf11abfc6bedf97f4c1e6b306d21b8f99b9bf1143adc8a909d08d862d2b211acbe9de50382d74fcb5ef4155a133f7d5ad128cdc11e7de3b5263a1c4636b9c3b4d3845590ba637b5774f92bb42782866b2ba1d2f6e76e544bb7e91549e3ff6d851b13bb01392052e800cd16d4294b1a4d15b0e3616940fee6d758807a3f89015cf83bf7e596917b69436880da2242f98563a877245699ea20610962466ed45e77cdefe685df6bf0ccc25b07002aa78b231797b0be96a29d84bfe6e199093f7485e6aafa7eca988fcc7cae4f1f68f79dcb24f7a2c6a1d885b07ceea112a28a355a92923bc23be0a18a639ad37e926d02e02690aaa468ad31cd267056f67bac7d37cd5f5de0b38c0ee8826db50aae9cda1f894b89fac58a30332f09afc581b44ef1eab558213e35b33d29a0fc022523dc9e84a5e1b252a32d64d9081fb765366152301038e956365b6382d7bb57f8ad1791ed67f99ed79a3a03a12cf7083ab73a892d9524110b8fcd5db72df631394f02bc096ccc0cb250684a199bb49f5abfaa7cb8e44343055fabc57c325283feb9ba5ab7e93f12acd4902f05fc77f0e3192c2401e372877c4082499588caeea4da2384c0a63b41034fc71421b26cea65fedcae1cfaae4d666097af5741412310f9a9d5b1f9ad26c43a1b7ba7ec2d46c8dd87804f7d765e58ddc2f0895a23a5bac1b557e5b53e3890551e1842d2a065dbf9fcd4898cab4b98dee04ad4833b1520577afbedc860ba6712f66f543c691d3c6da6c177a01c0a1806fbfd82f31a9e23e81c3cc2f494c5ad679678116ed64bf7ea3e711a958de01644c06cc2c0cb42805c9bd0d90c2d25c41ca4344bd2d9ccb794777acad01061c25e5ce2c083e5334237c379776b58bf5fadaafda914ad65262ce5f1296ffcbd153f0fadee6d5d807e4adfad1cf3f8fec05b0c640c0ad19dc6f8dcbd31b8fba74fdbdc52091082ba8631fabff0eee5695a147500b73995cbb8ffefb700de84509b575f0b60721f4796e642cb6c24a75ccfe1172fb0127238b3d3b3ba6cd5962962d8bee7ad8dc05fb2f43ef978bc19800c6cec7ba4b0712095dda63cbac62138275acb6aa8a41922e31ac9d5c9c925df9964f61253f233a0c2ce11092bec90f608fb784b35842d20f68cbbfbc93b2e94390a97768689c746b3ca9c562e5528e1a64b32b4d3feca0dcabc8b539e087ba645a5547e126507d69464f7fe39c0b6fe3b93971df1c875217d713918fca4e5e62ab482e5558bf026c60c47eff1719e0524ca86b25349750e5705e6eb5c2b264da4dd4451df883b4c4666fb822db7bd9294c97fe9d641ea4969b772e7ef76dac5642975b3e67fa9f11f921303f419188b84745d310aa0fc1077ce973b1d0c457322e39e08f21be7ec09ef893ddb841e46e97c985ed8c83aa6ca96b28cc0777aa3ef6daa121ea355cca4be92f8ebbbdd215bc606eadc8f9363e7efce5b7be1628dfc148db5e1c3974ba97040a48d77e8fe3bfed26bdad6867a1a6fc914ca5902e466612cc9885021091415c419b6f710625cce19a1507cea62807d3ad8677f17746178aae7b9bdac3a4cac0ff46cfb552991e7081e17652acd82ec9e61b82d23a59fec2791c2161fe279b145d29f125caeb34e93e439b009a2ee95334efed500adb51b5eceab81305f91ae70954309c2cd0ba58adc1447d9b189b61f5a327f889f0db7dcf2c9e2fcda57dc0b77d2870e1afaca64376b0a63a92bba41c39d11e2c74c392271037296a545cf869f4edc82f6e4a2724b3c9663f66ff2b71284493569836abe0a1ec3d9a28910682e8ec0fdeb497d1760c50e86c70f2c878ef1ffbe014d871cc8907b10d7099e7225e00cafc2c449c317f3a3c548313f0f8a2e971838e594ef57fe705225d9b2afcca9ece2ef16cd5897f01aee9a4ac9fe09c296e3c589a5d582dcba9374bfcb5d9437f88b8f0ce2f1dd4b7630a9adc236fe744369e967eceb66e1b01554ce64ee4f69908afc29b40675e39ef25ba5b5aac9be097885708a0cdb6b5cf9f511a155a2d62deb44a3457343afe3a2f2c92aebb4ad4d51d17d95b623ec5e1a94a152a0c242cc2779f6bfa364dcd6608317472ad7c0de160b0b9ffbe0f9c3bb4ef81d6543dd50efa2b51284514927753b298118e37f6a6bc6f7d4d208a5e89357aa8f2197578fef85ceb191b4cc9e87ad98dc89a4e0696964462983e5bf3df4471790ee8ac83b355d91b07538affa37fa07b47fc741c0458bbd284d4bec43824f59ad03f0fd573f7069d2d9a232c8ce72ef2d281c95a0f400238f4e855f456ebc5ca932a40f2a4d128910308659b6f1a88d2b1e0d5ef069e5d10cc266741b086104a5baa80da77cec61145b9ef6cc6e675cb01d184d9cab72b76b1c8beabf495a5c4eb20b9245b2529482ef4760b9ec1aecaee7218add294c8b0549820128da1aaa1f1792a791a001a9505439cb01b0b34c47ea501250d5747d102ee6428336dd996c376ead4613fef7d0e9a76f64d46d56ad107f5b0c9921e627692b3c047af08ffffc51772d516ce32494f81181fffc14e7b69960c29460aa3c9dead2fe7b7495b333faca434813fdf1fd3cb7c33256c6f6e3dd8e8a2ed9accf8bcdee2c5c7e4d05f505987bb497a5e38e8cbc13b4954a6226d18e8c79ec4adc8d0a1696a2b14b43d2fe1c494f9a43710a41878b6a34e01d12f8385322b7ae4c28b78685009dc0c7c0eeb8be6dc3a0933040b52737576888564dc86e174662af867d8c8679cd670a605a29ad0acfe03f19c114445c1b7fe0703cd1fa0fb37c5b7ce6df03ad59f590b2f4c56102f350fb5b1f8dedf18884b03128606711ce8465a4b8a9050bc3ca4d9d3b64dbb5e071f16ce523b9d610de237b58a247ca0374f975ecb98decde071f8246001f453da3ca7e9d76e06542d7fa3c2da8785ebba331571143654d6cd7e02a3ce0e7853f4834dde90644601ea441e695e05fb032ab64349b25ad136e10a01781954ef65ff4489b8a04403ca1f820c8443d8a789605a7abaaf1738ffa485a08b3c70933bc99931755a489fe1dd46b2e40ac2da2cfb75badd01fcf7ad1e4d7aa5e9e5866ac951d60f745b1d4695886d8d9c933039d2bd76bee60ca5b11503a41f7ba904ee836303951346c0b07511b2e38a41590334b371bbff7cb437174193071684adbaa6385f90b9df8cb7909e78197d8c274d5897a3be125e6dc1bcd756585a8021ed5d973e34c058ce31df1e3ae6a765c276b9a0a20f56d57707c104e1ad53b721a001be80d3f36154d1c58dc52170246bbbba113213e58dff8a61481aeb453f6138d9c6c3220e04399358ecbbf15e80bd700165f275e39e4307a68e79045dc822689548cbf7c9011a161443d00e8c2c554bc2c85ca255649819d701c9e07a370c5a0409e290e494b04e1da0c79789717b000e087cef6c740097c2a9fb084891c85f32a4acd3a9558884aaf52f4d81051c4c2e50004030988bf9a4f9e02ce2a719e48d21c8642d047f9a3bf149fb3012a92f552e8dadf4b6c8370b54f3bbb4d1e00a2a34cb0a9f68dc5c0ba7689546c9a160be658dac9275826740ebfdf0916b231e0295730092ed5628c5bb122d1f2bfce5253865176cbd1d4d1770cec08efd1a010b805d408db5ca2777e853566faa35c16858ec5513b255b850a1f61d718284a5d59a8ff4b02dfad8000966a5f78798a92d1c76b5fac4d4bb6f24cbcf4737a5903e969e92bff3c5d1737d1b5b0620e81edca62be62acd42e931d9f98882dce16a3b401fa9fb445a106a7f7cbb9e3bb2151048cdadd00a9600cbc44dc8a8da6285aba0d6ef86985875f0169f3d6ba0e619408601572210085886680599dae7e68520fcac272d01334c22f52ba77ca4b7be91adc118a0e5aaf1583e1d46c66aecfeb4ee74444502db8ef04fc95661cc749087740527f13ff7baa9568f563904fe059d5773d9de629d68d02cb123ab9aa9f245b760eee476b2a69783a4092e6aff8e1ea00787f95089c8c060df7c85c108f8afb4a90456d88e7d208c64779b42dbedbadd988b78dca8770596603beed94eb5632da64c8384dbbe89eaf67a6a48f924cab731148273bf290084e7096234cc6bdac6b7b08fe5456d68462b84a0509915f01b9cf5b8ae75b57ff46cbd03f1d4ac00fe1fdfb0b4d59a1bced1f7050812835a145668aac06a7a3b525e425a454be8d1d1fb97100897b3a7c43e814c6d823f512ac187190ec0930772f22a18228ba8fb54bdaefb88f4579604b7d65780eb2b7430562a191b58f31fbc0aaac6a5e26004f40da3ac1105d009fc37352fdd0c50e117136d006c27813a693a4cb76ffb0d49b2464aa0cf1da4b41bfb6b13f1acace5260f3ca09c9ed5bd6f1829ee3210630207f837e462f6b19746a19c996828199671b00a96dc228b2703579285d36bc8fd19f43b80dbe2d06b8bbad106b3552074ad04c03aa53e97a2f2796c53e1b5dfc257c4791ea6776731753e0d42c31318c3dd84aac1f5b13ccb3905f2150d6a3616172c11f7686fc4ca021872785b8c42891bef7a94cafa5abdf72ff4e286f78d32df4f63b8299f20c087e8a93425a548760cc6865e5cc15f7ffba2b31dab16a7e8ccdb4ddf66987fa2f5f0a1c97170fa2b1673f389004a91cdef5d7a9e9edfa9217e23ffbdbee4ea855f6dc5ea05f712665d71e320930c2f064e9cca655f756593d7b04602c9cbf7b5c5ca2f7efdab677af75fb6ef91f22ade5f4b88c96d85663af84d4ac9885c6266a7ac72512c414b2bd6292719c9d86b063b9d2bcf7778dfe92aaff7d1eec9bc8d95cb4c08d8897fa3f6e84a4d6cab9ea4f7977f11066a7f06a7681bbb7cab6abddcaa50c777c16012c26e810bc498aa765d39258d6edc49e7118123c751c5f2b1132626ea03efbd60c775fb94143afbf2e34eb733b35be4489f4faa5fe05bcb9141dd30907df3b7f9fade69d5dba5a221f9de912a947be0a22de4991fbfb0767a43be46ff2ccf0582a61ef8d8490e53294affe0810098ab728dac783c59559f2a2f1ac45b06c30bd50dfe6878f266135df312656444b40653413da1de77b6d512e7b912d326534f711da560db5d890f8384d8fa3fe0d2f984e2496d42b8aad20910797d3d4a0f8a417c671bf61a2578e11582c800a76c92a14fe8579f6ca254616f947c1ecbdc525771635e1d498bd05e5c2ee06f9cc890d662c25dd2b69048acbc45086ddacb3dc8bdb34339d556a11555c9d32be9138bb5c22824698a7ac463cf549a1d7e932ad301bff8678c7e73d087b0ab8b0311a0f832c95278dc5e631303557f385cd345cdab98f8d4e2ef39ff6fe838d3cd5a0f8941d3ee52f498eefa92a6c2cd67c76cbc80b4b65760358a6cb863e22d2b390d09f9419add633a7fbfd9338cfeccfc4652e95d9440dfa0dc287dc2dbcdfab1bdcb5b4a5d0111f34234272850fcbb6ec9d0f6220058b0dca0f02c03f85af5b71d57a3a664faca1cd65cead185c189560fc3174381d755c2bb0dba857d2563af876a1c791703c43b1b07e361092ddeb9de3693f065d3cbc224fe7d4a10064af3d83a3ffe752ace90e2476f2f48fc9b410c86e281e4f61089e8d02046c86fbf510f7fca03047334d6836748869984cd4fd2cb76c24650f3fcb23b16b2f606af09c0506a8ae1c9b4754784f174161758a08435bca759973fb9698c96fc3a17066b929c5ff735f9c80c8eb92d3b3f6193665bf51f1da18a0eef158609aebbf86eee129e47d48461c4f365f9570729258c6c9d8efd8a3ecdf8a34ec94e008ac0af2af5e4697a3d0ab9e50bb1ab13d565d8b9ef9357f032eb0e88fd6b07fe508249cec3d2ebf706f941e3989637176b389c9acf7981e7b0cfc2b3c77aac37ffb64a0d83e5795c8c75d6c6dc98ece8731c6aad56a432a0283b74231809a7bea5762945f9c9404c8efc3da12b0e9d84b9a771b7fa490aa585d70321fab4b643018409297cd37bcb88a833f2ba0f16a113506d4b5f8be7faea9d591df871d9fc62a9ec772b03552e708d10feb9ede57d0dd4c61fcc4580ddc3b16e9a30bc24835c670089a02ffb69910aec31f2e2304bdbaaf3a549c96d84a267587db6ac03c81f2a7be7634b99c1c4af0c1ef6f12ce49c27b886c2dd9c13a81e5a8a82667951dec15bea3b37edee3fb65730ec8dae612d219d1d14e7b6cb96f35707e7316215de58bf0c35a481717b233f2cb284b549f0094e622b11c862557060ada31ab471a49022b4108cf2bf2bb22463880443e90007ac8123b39cad7623033c34f1672d00e157f785cc9775bda736ef379be2a5eb43ddc7356ca39f9d5d7dd115dd6a0254a23dbbd0fc318063c339b39e2b6836e5ccf70534babfc2e70e121bf5f9ed3913bff2f09e576c551b2cb1923cad1f21c760d8436d499bc62196720b0725de6186bd7ec7a7296d9ae09a88cbb06ec685c81263c42feb9719c5fcd2a5fc6c4784a07e00f9c3bb3587cd2a7d8cc474cb0173130db2467379887bb9d16fa685e76502b79974611117a3984c30019e604f06d8c1552800eda77a3e516b301dee544b523df5d6cde12fa111b396860a3a1b22a57ad70b7dc6c9d0446869d8bd547784e4b426f566474c114aae3aebb8a54637508c99051ff4f23b484afad32dffcc87c04c0760e1da59c09b898cc28d7c1142ec7214101dac4107fca004b45a02de1e9cfef2a5cd71d3b7658321e06969e3b8b04f04b79312b8d4c432c06e10872456da82e3ca96b898d549a289b81f716ddb5f08b7e6068bb3a7140fa7b8cffaeaa03f0b62b4dced14780628ba7bb10427661fbc02bba8dc6bc03a862b38cdea2192ca631850589b598670e00758fec3c150cef1f55cf9174cf5170ac824676aef4ac2d3f3a3401fdebcf9c11018dd4410484f6f0be12cc2b8f093c0236bcfc7031b5fda133e4fe0286393b2786121435a677f562ddbb62816c2fbb58406a7fbe5e1a68975d5b13a2551db1b421800f54a18fd71914cfefe4a9094209e32d0537778c085155e451e0bb51fa82583264ea1d8508c599abbbdefc006cd4798b365c20556669a54ce12b0aa7a2cc3576a22334c60f9cec094afa4e12eb679fea005cc03e26c0ea9140ad72fc3237401ea249e31aa3f5fd5f27a544cc0240aa56fa5e535f1ed18880c09d211bbf0b31f9c613476b94188e6e2f47d3523dbf1cba908e162eaf8210ce60e4e89711e6ab3e45106bb256b1119c95b888f1b446e8c4742024efd0f230dffb48dec2082e134201814f60c8fedc94ee344047529ed7f95e196bfb0a9bbd12299f124f15a428d6267462bf29e175808aa0020b779b71bdb2a070c937985052196ac24dd420583b671175d0eefdddb73ee370035c27758a62f705787be0d1ea4044599b1ec4f886b3b1114ce5aa4e554c754877fd112567bfc6ee801979109aa8ce0b67b1cb0731a82a3ceab6b4d578817afc05e341c4915e591199707ff3a92bb73555338759d672253344881c75d05454d84a3acd6a715345725d80548a4036a5280a6aa60e10a83af5e28cf56e9c0c17caca180696cd759993f04682b60a7a777bfc94918f419b9ee33ce26cbce284edd513bd4ee0c1cf49021ff8cd3f82bf25b8b31048a542b8a42aee2c2b499fe4698cd8bb12444082372c5589ed4f5e7413776db1dfec32b953e4923522c1351f57cc8776448032f595872cf96f5bfc6e82423d685b1c9758a67aa2d99d49a1f5afb17a1d3d8e60347196066a81c2503a78da06e13c285e41a5b53f020accda52dd62ed653bea9bb851420ccd35a56b8f862f1693e8dea443d791733a8cf992ca886b22d8d441580a21c24709658c3be2ee54fa97e0e80033c0c9d6fbb8e93444fcb7378e7fa33f8866a637e7da36a2f4ccedc98b9b40e5d9b29e345ae26f8a10790c9bd92339776543503a552606dadbf723e7120015c2d4f8bb3d9ece04418099b1612ffe79e4bcbe937e917c00bf819160430ca663c9016355ecfed5b1bea21d591e9c1e746e681260ec02fb5a5f77f0b7846bcac850a6cc77b415c9e46cee2719cceb2d7b007fd99d058eeed369e0d93e40274c8201f10fef11b6681d5aae72f3ecaccb7fbdfdeaa879a78242e23e618884f066ea059e3b02dbd540f0f09a8b3bf2c85b6a4b78a189a751b6a8ace288e138bd1734ed42fe6c33ee8c778bf5c983e5ce21859d09bbb57e3f7db2c58f6e30709041ec81fc491bb5d26e2376a036f9be68113253aac34afaf6c91887af342a2a02473b8d4b450f4fd6c7fbacefff893ef0a37f3de7e9fe870f4ed8eb2165a1d3446b4fd377feb7b0b8d39b10754392ddc3277d9c272f85470f175da4d17cd7805f31bb46a1ab175320d177ff7f0340648b2da67e2df0458db78ca46ffe34f60a06cd6d04ebd169e7378617f2c762bbb491c703a21aabedc3d0500ee1f9a170c0bcfc4d9cc69853870cc619c08899bf8fce873611e54fa206c426001bd006d9b0e4fff8aede9e85bec2d6669962237758273572b883a9ffe7b4af719426a77ed71cbf1e1e602599a0cc33c7a2394b484a7097adf5ec7e1707c4f5d1477535974419dcd88cf83393babb3a58f7e677c39f7bb1d56d952a505c56167707bd9273f5db2b0a99fbe0c5965be89f84406d3a73c097b864bf3480ae7b6b5fc285930aecd272dbb2b81129507572b7bb7f39e18607610b677574379004febb7197143dec6d7a4107c1d58c59256fd03fce5aacdd2b418b13db7ddb5c2dff17cbc65d08a71bc89ad14e51f96045067a16fae3d0909115f28305cbcf6905d04624c42b767303cb2f482faad295722ada02b6ef9ee4ce72e0834c63d57db1d6df010e6037016195ea335e27ac1ac7b7d5d8ab308e02f8e74dcc4dcc14d82e90c335282d825377f376c7456d8dd3e0066b257974616eac4233af2229602bcafc37efeb71622dd239848647685607790a15e20d5d1610b386c8e6923d92bec6858716307cf578514ff4754a6ca7e8ecb4f8af0aa9b3609548a4eab157e991ef919f70a703d40fb8ebbed54cf4e3c954f12c620f49a9257069fe0fa10db5d0d5bcf52ec2502f181492d0db3910ed4be4b3704b062e134774c71deb8bdabb1b3407efa506ae647cb5847a4daf948061d050a8edca5dbc4fd80f4b7e3ac4f651d68967d69adb7b55816e88292e2eb3d951c44d81a6870d00bc498182a164846efbf7dfc0961330b7938a757b2bf16ae1717b4c6832f1fbf7bf69a007031e124ec643c574e6ae7d1df339b1dd2bde642d0fa1d91b5d8cf1777379be41256254dfb62d521a942fd3c86cf13fcf5c74bfbf0d0e9f766c588c57121e67347763b02310f5980b5f707a1d5cc4abe0eaf1fd6dc96abb3fbc3ef8b6139da0dd17da08b0419b8c9ba0f7b214799e58102a2f0a539a6308c2135989e6d753ae28b4e33815cf1d04a1a83587f4451e898a7525011cbf921df6ee347c8bea3776965258a3a3d98378e53f6036bccc988d3dc0cb58e34c17fc66a3dea777b86c105625fb66541fce61986cba3838b715c0c728da29c1c7f9bb2a98da00c43a561fdab6413cd31714d52de6264d9cac4e8b7ed3a6b93d3755b636dbf14a1f3711e25f16d0b6f804c620cc9d44f717fa4902cca0e10b39a8841b2a46ed11c64f26e470b5d8b5438444c6ba58ddcb5390df417d666f335d0094087dfaf3f993223e85a38222155cb3fef0968d1328995d55ade5f5523afaab7343d383e0cefb45d5bf8ee98c8be59304da1c486fb037342da67034324fc28bbb598d77dfa6c26f618b4205c63d5255567b84cce8ea15b018a54b411641330fd1887c2dd27395fc199523f9b222b4253aef8c363ec73a258b795f5ba393077e4108d2a9fdb3dd46b1bea4c049ecae38eadf9bbc6890934e58bbeb5162547784c2346530726625ed883415757654261ed17dfd07f195de460d0aa9a5a997a20e3105c563d0e401ffc7d619c65b95263c1531e77be5e8ca8562160b67334c90e308b35b8cfc934bc22a72317717968955124c5100ef0ea6308fe049e31b7061699b5b3441cf83519f2458dbf2b3fce7bb4a7753c5998a339a05b7fa9174dfabf4dfbcd9b8b0701bd289a8fb5322c228ec5b8f7cf7245034128bad0caf1d3a51d2c3b08198f44136213222b5a020d904618042a3f630344e30609637afb6016783a1544f8278fa62a31132b08ddfc3cf9bd9926ee060a6770177724b7c23c9259f26d51b4815f875738444bf1b0402e25320ae81629d32ebe33abc1660714a8f726a68906969af61ccff621e5b979e2dde4a9fccf8dc78e82f5ce3ae8081de3babe2212a51f6d93c0410148235871bfc74be37a891ba9d6814b2df03b093c96b39be876ef54a04060e9caa37a91f51bb0c228b8da7a9e161f14527fbdba7624cd9d255c3c00d7503593b4eb9e4b7109c8f85b899f864cded778d9227eb23bceb261a7385a8015d5e0ca0a0a859c07f2544ea0372c5058eceec39b3b4b993dda0e15ba5b6923a7b1c00a74cc4d09ddf9e6e9fedf9b0521aaa2dc9ceb5ddecced410661ae3ad288e0150d8a120ec29f2f63ef4709416f2eb4cd2c7200e5ee3e5d52ffb1e655b11c503a85df62d3feca025215cf303b589f848b5853d3f21d39da94e09e285346135d49169ad52ff9218d712b4691414559a093ed1d07c69efea329f26726a42ba67ae03a34e9e57493ea682ec0a49d2e9bc0f4255035afd125e9649264dfd90145b9ae1004e040cd8fe29fa05be2513da1e24af8a09b63f73510048d693c8db77878a78ce34879af9cc6918b82c10326cd9e1e83cb865657c85f917ef159728697196588835ee0e272e5433fe6ada48dd950fc9a424d0d4e890dc41885b9c8fb80c579a2c02e2c0d263b3ffff8348baea2a29e20fc9da54750d05802019b016b9eef0c40285670bb24be816e412ddccaef8bb7dc2e96d02d125b5ffe851fc243632cb739a322ca568fc3a6cb0ec40a9b435eac265fa726e50005c2160e095055249def1d1c00327a6a219a5ee8b40437accba3b41c63a2d1076295abbe82513b39befe48159d517767a54cb3f43395e61e0fddb60576f033f8b7f5fcabd9cafdab2fc95febc0b0e05f7951f832f7bcc840bff48d72c39ac4b1aef836892ae2dd6b5e5bb7d983434ae0c9d91a13db5ba2ed3232eee8e7ef8e2b8fd7fcefad7ecb7227725357dcfbde71fc006b131643616072931fccd57bec0b14bce811fd9cc903c6fe7df04399c0af3dc322d379f5f977cfd33234134636c3a5d93ec837566335d2eb76a67a15d9474efa8785bbbc962ef82cea0777792c6fe50171fd2c2e2b2515ead944918801f46b82b106ec5182cebaf37d17ab8fb3c49797e6b37ee92d4c2f8078e9052d34dd0223fe75997c4ab796735ccfb1c3dcd22ce453d7f64724c3d2932ff5ee3e8e10409789a6de38fdc844152285ffb336d230864fc153e7a46744deb60d5f059f11c5f61f77f612a2c82d2a89eb6f25b19d68c51ae3e1d44ead7c1ca027f0ed28329634be645932e1ab7c321bf27b8cfaf9aed30f2cbf5ee4478952bfc9a93dd241f6b045cbff0481cf4e1901becd0e12fb45166a8f17f95823f0b1acfd56c75814e8dd474bd53b622b19152650c5595cf3c8bfad7a8703985105e8aa6c0904499f1efeef05641bd28fd7c73785e60f69ce9c699daf65af8b372070348e5c04d5ae481e9417f76ce4b64532e2c1040ec0470552007846337be17110bc3fc7c974b816f6bf9bae605019906d71635477d776418ce1126392308d7ae0c4f5eb29954b7046ea67036a9d75b082814260b4c65fa454e3ea828f751dfc62a6e13e0f88217ee5dacac33fa57b0b835d71b894207f838712ee751363a828425833af4ee63ad1ab3480da013dbfbe5e40a82f81b307966dc8cf59612989ae99084019efdfc9438b9eef2c191d3c689c1841146120ec8ebb8bae055e56cb3566df726c49d3df23549c2037fb22ff6efebb04514d9611cc9e273ffafa4cb2485fdc1ff9fb807de5e53b2a8ee0edacda03c5e5206a69d764590a5fde438d12418d600657bb3ee38398c217f18ec4037e3ea4826ab2331f36811dd0b65d019ad1a69baf2c1de555086bc9a8937556f0c4b7688b78ad70e8a1a684a2dcc1fc8f71808b68f454c2bd58959c862d94bf0f16c3f78a2d537388ca060d354344db80ee695bb0a0e89ebd824df714516bf64b9101c62081e4b376f00f929a58c09555bf1112908e362589b8b7978716a97459a263ec0922932dacd74c2c386bfa80400cad5f7b9d8ee90723640dcdea24bd99449352083755d37a96bbdc366138a1e3e4178baf7f76ee248763db841e55cd73b8e3c85b9e598aec388e23deb6b4b7a4b9e65rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootjava-21-openjdk-21.0.8.0-150600.3.15.1.src.rpmjava-21-javadocjava-21-openjdk-javadocjava-javadoc    /bin/sh/bin/shjpackage-utilsrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)update-alternativesupdate-alternatives3.0.4-14.6.0-14.0-15.2-14.14.3hz7@hvBh 'gg$f@ff! @f e@eԔ@epee@ez@e;@e9@e/e 0@e @fstrba@suse.combwiedemann@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.com- Update to upstream tag jdk-21.0.8+9 (July 2025 CPU) * CVEs + CVE-2025-30749, bsc#1246595 + CVE-2025-30754, bsc#1246598 + CVE-2025-50059, bsc#1246575 + CVE-2025-50106, bsc#1246584 * Changes + JDK-6956385: URLConnection.getLastModified() leaks file handles for jar:file and file: URLs + JDK-8051591: Test javax/swing/JTabbedPane/8007563/Test8007563.java fails + JDK-8136895: Writer not closed with disk full error, file resource leaked + JDK-8180450: secondary_super_cache does not scale well + JDK-8183348: Better cleanup for jdk/test/sun/security/pkcs12/P12SecretKey.java + JDK-8200566: DistributionPointFetcher fails to fetch CRLs if the DistributionPoints field contains more than one DistributionPoint and the first one fails + JDK-8202100: Merge vm/share/InMemoryJavaCompiler w/ jdk/test/lib/compiler/InMemoryJavaCompiler + JDK-8210471: GZIPInputStream constructor could leak an un-end()ed Inflater + JDK-8211400: nsk.share.gc.Memory::getArrayLength returns wrong value + JDK-8220213: com/sun/jndi/dns/ConfigTests/Timeout.java failed intermittent + JDK-8249831: Test sun/security/mscapi/nonUniqueAliases/ /NonUniqueAliases.java is marked with @ignore + JDK-8253440: serviceability/sa/TestJhsdbJstackLineNumbers.java failed with "Didn't find enough line numbers" + JDK-8256211: assert fired in java/net/httpclient/DependentPromiseActionsTest (infrequent) + JDK-8258483: [TESTBUG] gtest CollectorPolicy.young_scaled_initial_ergo_vm fails if heap is too small + JDK-8267174: Many test files have the wrong Copyright header + JDK-8270269: Desktop.browse method fails if earlier CoInitialize call as COINIT_MULTITHREADED + JDK-8276995: Bug in jdk.jfr.event.gc.collection.TestSystemGC + JDK-8279016: JFR Leak Profiler is broken with Shenandoah + JDK-8280991: [XWayland] No displayChanged event after setDisplayMode call + JDK-8281511: java/net/ipv6tests/UdpTest.java fails with checkTime failed + JDK-8282726: java/net/vthread/BlockingSocketOps.java timeout/hang intermittently on Windows + JDK-8286204: [Accessibility,macOS,VoiceOver] VoiceOver reads the spinner value 10 as 1 when user iterates to 10 for the first time on macOS + JDK-8286789: Test forceEarlyReturn002.java timed out + JDK-8286875: ProgrammableUpcallHandler::on_entry/on_exit access thread fields from native + JDK-8294155: Exception thrown before awaitAndCheck hangs PassFailJFrame + JDK-8295804: javax/swing/JFileChooser/ /JFileChooserSetLocationTest.java failed with "setLocation() is not working properly" + JDK-8297692: Avoid sending per-region GCPhaseParallel JFR events in G1ScanCollectionSetRegionClosure + JDK-8303770: Remove Baltimore root certificate expiring in May 2025 + JDK-8305010: Test vmTestbase/nsk/jvmti/scenarios/sampling/ /SP05/sp05t003/TestDescription.java timed out: thread not suspended + JDK-8307318: Test serviceability/sa/ /ClhsdbCDSJstackPrintAll.java failed: ArrayIndexOutOfBoundsException + JDK-8307824: Clean up Finalizable.java and finalize terminology in vmTestbase/nsk/share + JDK-8308033: The jcmd thread dump related tests should test virtual threads + JDK-8308966: Add intrinsic for float/double modulo for x86 AVX2 and AVX512 + JDK-8309667: TLS handshake fails because of ConcurrentModificationException in PKCS12KeyStore .engineGetEntry + JDK-8309841: Jarsigner should print a warning if an entry is removed + JDK-8309978: [x64] Fix useless padding + JDK-8310066: Improve test coverage for JVMTI GetThreadState on carrier and mounted vthread + JDK-8310525: DynamicLauncher for JDP test needs to try harder to find a free port + JDK-8310643: Misformatted copyright messages in FFM + JDK-8312246: NPE when HSDB visits bad oop + JDK-8312475: org.jline.util.PumpReader signed byte problem + JDK-8313290: Misleading exception message from STS.Subtask::get when task forked after shutdown + JDK-8313430: [JVMCI] fatal error: Never compilable: in JVMCI shutdown + JDK-8313654: Test WaitNotifySuspendedVThreadTest.java timed out + JDK-8314056: Remove runtime platform check from frem/drem + JDK-8314136: Test java/net/httpclient/CancelRequestTest.java failed: WARNING: tracker for HttpClientImpl(42) has outstanding operations + JDK-8314236: Overflow in Collections.rotate + JDK-8314319: LogCompilation doesn't reset lateInlining when it encounters a failure. + JDK-8314840: 3 gc/epsilon tests ignore external vm options + JDK-8314842: zgc/genzgc tests ignore vm flags + JDK-8315128: jdk/jfr/event/runtime/ /TestResidentSetSizeEvent.java fails with "The size should be less than or equal to peak" + JDK-8315484: java/awt/dnd/RejectDragDropActionTest.java timed out + JDK-8315669: Open source several Swing PopupMenu related tests + JDK-8315742: Open source several Swing Scroll related tests + JDK-8315827: Kitchensink.java and RenaissanceStressTest.java time out with jvmti module errors + JDK-8315871: Opensource five more Swing regression tests + JDK-8315876: Open source several Swing CSS related tests + JDK-8315951: Open source several Swing HTMLEditorKit related tests + JDK-8315981: Opensource five more random Swing tests + JDK-8316061: Open source several Swing RootPane and Slider related tests + JDK-8316324: Opensource five miscellaneous Swing tests + JDK-8316388: Opensource five Swing component related regression tests + JDK-8316452: java/lang/instrument/modules/ /AppendToClassPathModuleTest.java ignores VM flags + JDK-8316497: ColorConvertOp - typo for non-ICC conversions needs one-line fix + JDK-8316580: HttpClient with StructuredTaskScope does not close when a task fails + JDK-8316629: j.text.DateFormatSymbols setZoneStrings() exception is unhelpful + JDK-8317264: Pattern.Bound has `static` fields that should be `static final`. + JDK-8318509: x86 count_positives intrinsic broken for - XX:AVX3Threshold=0 + JDK-8318636: Add jcmd to print annotated process memory map + JDK-8318700: MacOS Zero cannot run gtests due to wrong JVM path + JDK-8318811: Compiler directives parser swallows a character after line comments + JDK-8318915: Enhance checks in BigDecimal.toPlainString() + JDK-8319439: Move BufferNode from PtrQueue files to new files + JDK-8319572: Test jdk/incubator/vector/LoadJsvmlTest.java ignores VM flags + JDK-8319690: [AArch64] C2 compilation hits offset_ok_for_immed: assert "c2 compiler bug" + JDK-8320687: sun.jvmstat.monitor.MonitoredHost .getMonitoredHost() throws unexpected exceptions when invoked concurrently + JDK-8320948: NPE due to unreported compiler error + JDK-8321204: C2: assert(false) failed: node should be in igvn hash table + JDK-8321479: java -D-D crashes + JDK-8321931: memory_swap_current_in_bytes reports 0 as "unlimited" + JDK-8322141: SequenceInputStream.transferTo should not return as soon as Long.MAX_VALUE bytes have been transferred + JDK-8322475: Extend printing for System.map + JDK-8323795: jcmd Compiler.codecache should print total size of code cache + JDK-8324345: Stack overflow during C2 compilation when splitting memory phi + JDK-8324678: Replace NULL with nullptr in HotSpot gtests + JDK-8324681: Replace NULL with nullptr in HotSpot jtreg test native code files + JDK-8324799: Use correct extension for C++ test headers + JDK-8324880: Rename get_stack_trace.h + JDK-8325055: Rename Injector.h + JDK-8325180: Rename jvmti_FollowRefObjects.h + JDK-8325347: Rename native_thread.h + JDK-8325367: Rename nsk_list.h + JDK-8325435: [macos] Menu or JPopupMenu not closed when main window is resized + JDK-8325456: Rename nsk_mutex.h + JDK-8325458: Rename mlvmJvmtiUtils.h + JDK-8325680: Uninitialised memory in deleteGSSCB of GSSLibStub.c:179 + JDK-8325682: Rename nsk_strace.h + JDK-8325910: Rename jnihelper.h + JDK-8326090: Rename jvmti_aod.h + JDK-8326389: [test] improve assertEquals failure output + JDK-8326524: Rename agent_common.h + JDK-8326586: Improve Speed of System.map + JDK-8327071: [Testbug] g-tests for cgroup leave files in /tmp on linux + JDK-8327169: serviceability/dcmd/vm/SystemMapTest.java and SystemDumpMapTest.java may fail after JDK-8326586 + JDK-8327370: (ch) sun.nio.ch.Poller.register throws AssertionError + JDK-8327461: KeyStore getEntry is not thread-safe + JDK-8328107: Shenandoah/C2: TestVerifyLoopOptimizations test failure + JDK-8328301: Convert Applet test ManualHTMLDataFlavorTest.java to main program + JDK-8328482: Convert and Open source few manual applet test to main based + JDK-8328484: Convert and Opensource few JFileChooser applet test to main + JDK-8328648: Remove applet usage from JFileChooser tests bug4150029 + JDK-8328670: Automate and open source few closed manual applet test + JDK-8328673: Convert closed text/html/CSS manual applet test to main + JDK-8328864: NullPointerException in sun.security.jca.ProviderList.getService() + JDK-8329261: G1: interpreter post-barrier x86 code asserts index size of wrong buffer + JDK-8329729: java/util/Properties/StoreReproducibilityTest.java times out + JDK-8330106: C2: VectorInsertNode::make() shouldn't call ConINode::make() directly + JDK-8330158: C2: Loop strip mining uses ABS with min int + JDK-8330534: Update nsk/jdwp tests to use driver instead of othervm + JDK-8330598: java/net/httpclient/Http1ChunkedTest.java fails with java.util.MissingFormatArgumentException: Format specifier '%s' + JDK-8330936: [ubsan] exclude function BilinearInterp and ShapeSINextSpan in libawt java2d from ubsan checks + JDK-8331088: Incorrect TraceLoopPredicate output + JDK-8331735: UpcallLinker::on_exit races with GC when copying frame anchor + JDK-8332252: Clean up vmTestbase/vm/share + JDK-8332506: SIGFPE In ObjectSynchronizer::is_async_deflation_needed() + JDK-8332631: Update nsk.share.jpda.BindServer to don't use finalization + JDK-8332641: Update nsk.share.jpda.Jdb to don't use finalization + JDK-8332880: JFR GCHelper class recognizes "Archive" regions as valid + JDK-8332921: Ctrl+C does not call shutdown hooks after JLine upgrade + JDK-8333013: Update vmTestbase/nsk/share/LocalProcess.java to don't use finalization + JDK-8333117: Remove support of remote and manual debuggee launchers + JDK-8333680: com/sun/tools/attach/BasicTests.java fails with "SocketException: Permission denied: connect" + JDK-8333805: Replaying compilation with null static final fields results in a crash + JDK-8333890: Fatal error in auto-vectorizer with float16 kernel. + JDK-8334644: Automate javax/print/attribute/PageRangesException.java + JDK-8334780: Crash: assert(h_array_list.not_null()) failed: invariant + JDK-8334895: OpenJDK fails to configure on linux aarch64 when CDS is disabled after JDK-8331942 + JDK-8335181: Incorrect handling of HTTP/2 GOAWAY frames in HttpClient + JDK-8335643: serviceability/dcmd/vm tests fail for ZGC after JDK-8322475 + JDK-8335662: [AArch64] C1: guarantee(val < (1ULL << nbits)) failed: Field too big for insn + JDK-8335684: Test ThreadCpuTime.java should pause like ThreadCpuTimeArray.java + JDK-8335710: serviceability/dcmd/vm/SystemDumpMapTest.java and SystemMapTest.java fail on Linux Alpine after 8322475 + JDK-8335836: serviceability/jvmti/StartPhase/AllowedFunctions/ /AllowedFunctions.java fails with unexpected exit code: 112 + JDK-8335860: compiler/vectorization/ /TestFloat16VectorConvChain.java fails with non-standard AVX/SSE settings + JDK-8336042: Caller/callee param size mismatch in deoptimization causes crash + JDK-8336499: Failure when creating non-CRT RSA private keys in SunPKCS11 + JDK-8336587: failure_handler lldb command times out on macosx-aarch64 core file + JDK-8336827: compiler/vectorization/ /TestFloat16VectorConvChain.java timeouts on ppc64 platforms after JDK-8335860 + JDK-8337221: CompileFramework: test library to conveniently compile java and jasm sources for fuzzing + JDK-8337299: vmTestbase/nsk/jdb/stop_at/stop_at002/ /stop_at002.java failure goes undetected + JDK-8337681: PNGImageWriter uses much more memory than necessary + JDK-8337795: Type annotation attached to incorrect type during class reading + JDK-8337958: Out-of-bounds array access in secondary_super_cache + JDK-8337981: ShenandoahHeap::is_in should check for alive regions + JDK-8337998: CompletionFailure in getEnclosingType attaching type annotations + JDK-8338010: WB_IsFrameDeoptimized miss ResourceMark + JDK-8338064: Give better error for ConcurrentHashTable corruption + JDK-8338136: Hotspot should support multiple large page sizes on Windows + JDK-8338154: Fix -Wzero-as-null-pointer-constant warnings in gtest framework + JDK-8338202: Shenandoah: Improve handshake closure labels + JDK-8338314: JFR: Split JFRCheckpoint VM operation + JDK-8339148: Make os::Linux::active_processor_count() public + JDK-8339288: Improve diagnostic logging runtime/cds/DeterministicDump.java + JDK-8339300: CollectorPolicy.young_scaled_initial_ergo_vm gtest fails on ppc64 based platforms + JDK-8339538: Wrong timeout computations in DnsClient + JDK-8339639: Opensource few AWT PopupMenu tests + JDK-8339678: Update runtime/condy tests to be executed with VM flags + JDK-8339727: Open source several AWT focus tests - series 1 + JDK-8339769: Incorrect error message during startup if working directory does not exist + JDK-8339794: Open source closed choice tests #1 + JDK-8339810: Clean up the code in sun.tools.jar.Main to properly close resources and use ZipFile during extract + JDK-8339836: Open source several AWT Mouse tests - Batch 1 + JDK-8339842: Open source several AWT focus tests - series 2 + JDK-8339895: Open source several AWT focus tests - series 3 + JDK-8339906: Open source several AWT focus tests - series 4 + JDK-8339935: Open source several AWT focus tests - series 5 + JDK-8339982: Open source several AWT Mouse tests - Batch 2 + JDK-8339984: Open source AWT MenuItem related tests + JDK-8339995: Open source several AWT focus tests - series 6 + JDK-8340024: In ClassReader, extract a constant for the superclass supertype_index + JDK-8340077: Open source few Checkbox tests - Set2 + JDK-8340084: Open source AWT Frame related tests + JDK-8340143: Open source several Java2D rendering loop tests. + JDK-8340146: ZGC: TestAllocateHeapAt.java should not run with UseLargePages + JDK-8340164: Open source few Component tests - Set1 + JDK-8340173: Open source some Component/Panel/EventQueue tests - Set2 + JDK-8340176: Replace usage of -noclassgc with -Xnoclassgc in test/jdk/java/lang/management/MemoryMXBean/LowMemoryTest2.java + JDK-8340193: Open source several AWT Dialog tests - Batch 1 + JDK-8340228: Open source couple more miscellaneous AWT tests + JDK-8340271: Open source several AWT Robot tests + JDK-8340279: Open source several AWT Dialog tests - Batch 2 + JDK-8340332: Open source mixed AWT tests - Set3 + JDK-8340366: Open source several AWT Dialog tests - Batch 3 + JDK-8340367: Opensource few AWT image tests + JDK-8340393: Open source closed choice tests #2 + JDK-8340407: Open source a few more Component related tests + JDK-8340417: Open source some MenuBar tests - Set1 + JDK-8340432: Open source some MenuBar tests - Set2 + JDK-8340433: Open source closed choice tests #3 + JDK-8340437: Open source few more AWT Frame related tests + JDK-8340458: Open source additional Component tests (part 2) + JDK-8340555: Open source DnD tests - Set4 + JDK-8340560: Open Source several AWT/2D font and rendering tests + JDK-8340605: Open source several AWT PopupMenu tests + JDK-8340621: Open source several AWT List tests + JDK-8340625: Open source additional Component tests (part 3) + JDK-8340639: Open source few more AWT List tests + JDK-8340713: Open source DnD tests - Set5 + JDK-8340784: Remove PassFailJFrame constructor with screenshots + JDK-8340790: Open source several AWT Dialog tests - Batch 4 + JDK-8340809: Open source few more AWT PopupMenu tests + JDK-8340874: Open source some of the AWT Geometry/Button tests + JDK-8340907: Open source closed frame tests # 2 + JDK-8340966: Open source few Checkbox and Cursor tests - Set1 + JDK-8340967: Open source few Cursor tests - Set2 + JDK-8340978: Open source few DnD tests - Set6 + JDK-8340985: Open source some Desktop related tests + JDK-8341000: Open source some of the AWT Window tests + JDK-8341004: Open source AWT FileDialog related tests + JDK-8341072: Open source several AWT Canvas and Rectangle related tests + JDK-8341128: open source some 2d graphics tests + JDK-8341148: Open source several Choice related tests + JDK-8341162: Open source some of the AWT window test + JDK-8341170: Open source several Choice related tests (part 2) + JDK-8341177: Opensource few List and a Window test + JDK-8341191: Open source few more AWT FileDialog tests + JDK-8341239: Open source closed frame tests # 3 + JDK-8341257: Open source few DND tests - Set1 + JDK-8341258: Open source few various AWT tests - Set1 + JDK-8341278: Open source few TrayIcon tests - Set7 + JDK-8341298: Open source more AWT window tests + JDK-8341373: Open source closed frame tests # 4 + JDK-8341378: Open source few TrayIcon tests - Set8 + JDK-8341447: Open source closed frame tests # 5 + JDK-8341535: sun/awt/font/TestDevTransform.java fails with RuntimeException: Different rendering + JDK-8341637: java/net/Socket/UdpSocket.java fails with "java.net.BindException: Address already in use" (macos-aarch64) + JDK-8341779: [REDO BACKPORT] type annotations are not visible to javac plugins across compilation boundaries (JDK-8225377) + JDK-8341972: java/awt/dnd/DnDRemoveFocusOwnerCrashTest.java timed out after JDK-8341257 + JDK-8342075: HttpClient: improve HTTP/2 flow control checks + JDK-8342376: More reliable OOM handling in ExceptionDuringDumpAtObjectsInitPhase test + JDK-8342524: Use latch in AbstractButton/bug6298940.java instead of delay + JDK-8342633: javax/management/security/ /HashedPasswordFileTest.java creates tmp file in src dir + JDK-8342958: Use jvmArgs consistently in microbenchmarks + JDK-8343019: Primitive caches must use boxed instances from the archive + JDK-8343037: Missing @since tag on JColorChooser.showDialog overload + JDK-8343103: Enable debug logging for vmTestbase/nsk/jvmti/ /scenarios/sampling/SP05/sp05t003/TestDescription.java + JDK-8343124: Tests fails with java.lang.IllegalAccessException: class com.sun.javatest.regtest.agent.MainWrapper$MainTask cannot access + JDK-8343144: UpcallLinker::on_entry racingly clears pending exception with GC safepoints + JDK-8343170: java/awt/Cursor/JPanelCursorTest/ /JPanelCursorTest.java does not show the default cursor + JDK-8343224: print/Dialog/PaperSizeError.java fails with MediaSizeName is not A4: A4 + JDK-8343342: java/io/File/GetXSpace.java fails on Windows with CD-ROM drive + JDK-8343345: Use -jvmArgsPrepend when running microbenchmarks in RunTests.gmk + JDK-8343529: serviceability/sa/ClhsdbWhere.java fails AssertionFailure: Corrupted constant pool + JDK-8343754: Problemlist jdk/jfr/event/oldobject/TestShenandoah.java after JDK-8279016 + JDK-8343855: HTTP/2 ConnectionWindowUpdateSender may miss some unprocessed DataFrames from closed streams + JDK-8343891: Test javax/swing/JTabbedPane/ /TestJTabbedPaneBackgroundColor.java failed + JDK-8343936: Adjust timeout in test javax/management/monitor/DerivedGaugeMonitorTest.java + JDK-8344316: security/auth/callback/TextCallbackHandler/ /Password.java make runnable with JTReg and add the UI + JDK-8344346: java/net/httpclient/ShutdownNow.java fails with java.lang.AssertionError: client was still running, but exited after further delay: timeout should be adjusted + JDK-8344361: Restore null return for invalid services from legacy providers + JDK-8344414: ZGC: Another division by zero in rule_major_allocation_rate + JDK-8344925: translet-name ignored when package-name is also set + JDK-8345133: Test sun/security/tools/jarsigner/ /TsacertOptionTest.java failed: Warning found in stdout + JDK-8345134: Test sun/security/tools/jarsigner/ /ConciseJarsigner.java failed: unable to find valid certification path to requested target + JDK-8345146: [PPC64] Make intrinsic conversions between bit representations of half precision values and floats + JDK-8345341: Fix incorrect log message in JDI stop002t test + JDK-8345357: test/jdk/javax/swing/JRadioButton/8033699/ /bug8033699.java fails in ubuntu22.04 + JDK-8345447: test/jdk/javax/swing/JToolBar/4529206/ /bug4529206.java fails in ubuntu22.04 + JDK-8345547: test/jdk/javax/swing/text/DefaultEditorKit/ /4278839/bug4278839.java fails in ubuntu22.04 + JDK-8345598: Upgrade NSS binaries for interop tests + JDK-8345625: Better HTTP connections + JDK-8345728: [Accessibility,macOS,Screen Magnifier]: JCheckbox unchecked state does not magnify but works for checked state + JDK-8345838: Remove the appcds/javaldr/AnonVmClassesDuringDump.java test + JDK-8346049: jdk/test/lib/security/timestamp/TsaServer.java warnings + JDK-8346082: Output JVMTI agent information in hserr files + JDK-8346264: "Total compile time" counter should include time spent in failing/bailout compiles + JDK-8346581: JRadioButton/ButtonGroupFocusTest.java fails in CI on Linux + JDK-8346888: [ubsan] block.cpp:1617:30: runtime error: 9.97582e+36 is outside the range of representable values of type 'int' + JDK-8347000: Bug in com/sun/net/httpserver/bugs/B6361557.java test + JDK-8347019: Test javax/swing/JRadioButton/8033699/ /bug8033699.java still fails: Focus is not on Radio Button Single as Expected + JDK-8347083: Incomplete logging in nsk/jvmti/ /ResourceExhausted/resexhausted00* tests + JDK-8347126: gc/stress/TestStressG1Uncommit.java gets OOM-killed + JDK-8347173: java/net/DatagramSocket/ /InterruptibleDatagramSocket.java fails with virtual thread factory + JDK-8347286: (fs) Remove some extensions from java/nio/file/Files/probeContentType/Basic.java + JDK-8347296: WinInstallerUiTest fails in local test runs if the path to test work directory is longer that regular + JDK-8347373: HTTP/2 flow control checks may count unprocessed data twice + JDK-8347506: Compatible OCSP readtimeout property with OCSP timeout + JDK-8347596: Update HSS/LMS public key encoding + JDK-8347629: Test FailOverDirectExecutionControlTest.java fails with -Xcomp + JDK-8347995: Race condition in jdk/java/net/httpclient/ /offline/FixedResponseHttpClient.java + JDK-8348107: test/jdk/java/net/httpclient/ /HttpsTunnelAuthTest.java fails intermittently + JDK-8348110: Update LCMS to 2.17 + JDK-8348299: Update List/ItemEventTest/ItemEventTest.java + JDK-8348323: Corrupted timezone string in JVM crash log + JDK-8348596: Update FreeType to 2.13.3 + JDK-8348597: Update HarfBuzz to 10.4.0 + JDK-8348598: Update Libpng to 1.6.47 + JDK-8348600: Update PipeWire to 1.3.81 + JDK-8348865: JButton/bug4796987.java never runs because Windows XP is unavailable + JDK-8348936: [Accessibility,macOS,VoiceOver] VoiceOver doesn't announce untick on toggling the checkbox with "space" key on macOS + JDK-8348989: Better Glyph drawing + JDK-8349111: Enhance Swing supports + JDK-8349200: [JMH] time.format.ZonedDateTimeFormatterBenchmark fails + JDK-8349348: Refactor ClassLoaderDeadlock.sh and Deadlock.sh to run fully in java + JDK-8349358: [JMH] Cannot access class jdk.internal.vm.ContinuationScope + JDK-8349492: Update sun/security/pkcs12/ /KeytoolOpensslInteropTest.java to use a recent Openssl version + JDK-8349501: Relocate supporting classes in security/testlibrary to test/lib/jdk tree + JDK-8349594: Enhance TLS protocol support + JDK-8349623: [ASAN] Gtest os_linux.glibc_mallinfo_wrapper_vm fails + JDK-8349637: Integer.numberOfLeadingZeros outputs incorrectly in certain cases + JDK-8349751: AIX build failure after upgrade pipewire to 1.3.81 + JDK-8350201: Out of bounds access on Linux aarch64 in os::print_register_info + JDK-8350211: CTW: Attempt to preload all classes in constant pool + JDK-8350224: Test javax/swing/JComboBox/ /TestComboBoxComponentRendering.java fails in ubuntu 23.x and later + JDK-8350260: Improve HTML instruction formatting in PassFailJFrame + JDK-8350313: Include timings for leaving safepoint in safepoint logging + JDK-8350383: Test: add more test case for string compare (UL case) + JDK-8350386: Test TestCodeCacheFull.java fails with option - XX:-UseCodeCacheFlushing + JDK-8350412: [21u] AArch64: Ambiguous frame layout leads to incorrect traces in JFR + JDK-8350483: AArch64: turn on signum intrinsics by default on Ampere CPUs + JDK-8350498: Remove two Camerfirma root CA certificates + JDK-8350546: Several java/net/InetAddress tests fails UnknownHostException + JDK-8350616: Skip ValidateHazardPtrsClosure in non-debug builds + JDK-8350650: Bump update version for OpenJDK: jdk-21.0.8 + JDK-8350682: [JMH] vector.IndexInRangeBenchmark failed with IndexOutOfBoundsException for size=1024 + JDK-8350786: Some java/lang jtreg tests miss requires vm.hasJFR + JDK-8350924: javax/swing/JMenu/4213634/bug4213634.java fails + JDK-8350991: Improve HTTP client header handling + JDK-8351086: (fc) Make java/nio/channels/FileChannel/ /BlockDeviceSize.java test manual + JDK-8351500: G1: NUMA migrations cause crashes in region allocation + JDK-8351665: Remove unused UseNUMA in os_aix.cpp + JDK-8351933: Inaccurate masking of TC subfield decrement in ForkJoinPool + JDK-8352076: [21u] Problem list tests that fail in 21 and would be fixed by 8309622 + JDK-8352109: java/awt/Desktop/MailTest.java fails in platforms where Action.MAIL is not supported + JDK-8352302: Test sun/security/tools/jarsigner/ /TimestampCheck.java is failing + JDK-8352512: TestVectorZeroCount: counter not reset between iterations + JDK-8352676: Opensource JMenu tests - series1 + JDK-8352680: Opensource few misc swing tests + JDK-8352684: Opensource JInternalFrame tests - series1 + JDK-8352706: httpclient HeadTest does not run on HTTP2 + JDK-8352716: (tz) Update Timezone Data to 2025b + JDK-8352908: Open source several swing tests batch1 + JDK-8352942: jdk/jfr/startupargs/TestMemoryOptions.java fails with 32-bit build + JDK-8353070: Clean up and open source couple AWT Graphics related tests (Part 1) + JDK-8353138: Screen capture for test TaskbarPositionTest.java, failure case + JDK-8353190: Use "/native" Run Option for TestAvailableProcessors Execution + JDK-8353237: [AArch64] Incorrect result of VectorizedHashCode intrinsic on Cortex-A53 + JDK-8353320: Open source more Swing text tests + JDK-8353446: Open source several AWT Menu tests - Batch 2 + JDK-8353475: Open source two Swing DefaultCaret tests + JDK-8353685: Open some JComboBox bugs 4 + JDK-8353709: Debug symbols bundle should contain full debug files when building --with-external-symbols-in-bundles=public + JDK-8353787: Increased number of SHA-384-Digest java.util.jar.Attributes$Name instances leading to higher memory footprint + JDK-8353942: Open source Swing Tests - Set 5 + JDK-8354255: [jittester] Remove TempDir debug output + JDK-8354530: AIX: sporadic unexpected errno when calling setsockopt in Net.joinOrDrop + JDK-8354554: Open source several clipboard tests batch1 + JDK-8354802: MAX_SECS definition is unused in os_linux + JDK-8354893: [REDO BACKPORT] javac crashes while adding type annotations to the return type of a constructor (JDK-8320001) + JDK-8355498: [AIX] Adapt code for C++ VLA rule + JDK-8356053: Test java/awt/Toolkit/Headless/ /HeadlessToolkit.java fails by timeout + JDK-8356096: ISO 4217 Amendment 179 Update + JDK-8356571: Re-enable -Wtype-limits for GCC in LCMS + JDK-8357105: C2: compilation fails with "assert(false) failed: empty program detected during loop optimization" + JDK-8357193: [VS 2022 17.14] Warning C5287 in debugInit.c: enum type mismatch during build + JDK-8359170: Add 2 TLS and 2 CS Sectigo roots + JDK-8360147: Better Glyph drawing redux + JDK-8360406: [21u] Disable logic for attaching type annotations to class files until 8359336 is fixed + JDK-8361672: [21u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 21.0.8- Add java-40y.patch to allow compilation of openjdk for 40 years (bsc#1213796)- Update to upstream tag jdk-21.0.7+6 (April 2025 CPU) * CVEs + CVE-2025-21587, bsc#1241274 + CVE-2025-30691, bsc#1241275 + CVE-2025-30698, bsc#1241276 * Changes + JDK-8198237: [macos] Test java/awt/Frame/ /ExceptionOnSetExtendedStateTest/ /ExceptionOnSetExtendedStateTest.java fails + JDK-8211851: (ch) java/nio/channels/AsynchronousSocketChannel/ /StressLoopback.java times out (aix) + JDK-8226933: [TEST_BUG]GTK L&F: There is no swatches or RGB tab in JColorChooser + JDK-8226938: [TEST_BUG]GTK L&F: There is no Details button in FileChooser Dialog + JDK-8227529: With malformed --app-image the error messages are awful + JDK-8277240: java/awt/Graphics2D/ScaledTransform/ /ScaledTransform.java dialog does not get disposed + JDK-8283664: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/PrintTextTest.java + JDK-8286875: ProgrammableUpcallHandler::on_entry/on_exit access thread fields from native + JDK-8293345: SunPKCS11 provider checks on PKCS11 Mechanism are problematic + JDK-8294316: SA core file support is broken on macosx-x64 starting with macOS 12.x + JDK-8295159: DSO created with -ffast-math breaks Java floating-point arithmetic + JDK-8302111: Serialization considerations + JDK-8304701: Request with timeout aborts later in-flight request on HTTP/1.1 cxn + JDK-8309841: Jarsigner should print a warning if an entry is removed + JDK-8311546: Certificate name constraints improperly validated with leading period + JDK-8312570: [TESTBUG] Jtreg compiler/loopopts/superword/ /TestDependencyOffsets.java fails on 512-bit SVE + JDK-8313633: [macOS] java/awt/dnd/NextDropActionTest/ /NextDropActionTest.java fails with java.lang.RuntimeException: wrong next drop action! + JDK-8313905: Checked_cast assert in CDS compare_by_loader + JDK-8314752: Use google test string comparison macros + JDK-8314909: tools/jpackage/windows/Win8282351Test.java fails with java.lang.AssertionError: Expected [0]. Actual [1618]: + JDK-8315486: vmTestbase/nsk/jdwp/ThreadReference/ /ForceEarlyReturn/forceEarlyReturn002/forceEarlyReturn002.java timed out + JDK-8315825: Open some swing tests + JDK-8315882: Open some swing tests 2 + JDK-8315883: Open source several Swing JToolbar tests + JDK-8315952: Open source several Swing JToolbar JTooltip JTree tests + JDK-8316056: Open source several Swing JTree tests + JDK-8316146: Open some swing tests 4 + JDK-8316149: Open source several Swing JTree JViewport KeyboardManager tests + JDK-8316218: Open some swing tests 5 + JDK-8316371: Open some swing tests 6 + JDK-8316627: JViewport Test headless failure + JDK-8316885: jcmd: Compiler.CodeHeap_Analytics cmd does not inform about missing aggregate + JDK-8317283: jpackage tests run osx-specific checks on windows and linux + JDK-8317636: Improve heap walking API tests to verify correctness of field indexes + JDK-8317808: HTTP/2 stream cancelImpl may leave subscriber registered + JDK-8317919: pthread_attr_init handle return value and destroy pthread_attr_t object + JDK-8319233: AArch64: Build failure with clang due to - Wformat-nonliteral warning + JDK-8320372: test/jdk/sun/security/x509/DNSName/ /LeadingPeriod.java validity check failed + JDK-8320676: Manual printer tests have no Pass/Fail buttons, instructions close set 1 + JDK-8320691: Timeout handler on Windows takes 2 hours to complete + JDK-8320706: RuntimePackageTest.testUsrInstallDir test fails on Linux + JDK-8320916: jdk/jfr/event/gc/stacktrace/ /TestParallelMarkSweepAllocationPendingStackTrace.java failed with "OutOfMemoryError: GC overhead limit exceeded" + JDK-8321818: vmTestbase/nsk/stress/strace/strace015.java failed with 'Cannot read the array length because "" is null' + JDK-8322983: Virtual Threads: exclude 2 tests + JDK-8324672: Update jdk/java/time/tck/java/time/ /TCKInstant.java now() to be more robust + JDK-8324807: Manual printer tests have no Pass/Fail buttons, instructions close set 2 + JDK-8324838: test_nmt_locationprinting.cpp broken in the gcc windows build + JDK-8325042: Remove unused JVMDITools test files + JDK-8325529: Remove unused imports from `ModuleGenerator` test file + JDK-8325659: Normalize Random usage by incubator vector tests + JDK-8325937: runtime/handshake/HandshakeDirectTest.java causes "monitor end should be strictly below the frame pointer" assertion failure on AArch64 + JDK-8326421: Add jtreg test for large arrayCopy disjoint case. + JDK-8326525: com/sun/tools/attach/BasicTests.java does not verify AgentLoadException case + JDK-8327098: GTest needs larger combination limit + JDK-8327390: JitTester: Implement temporary folder functionality + JDK-8327460: Compile tests with the same visibility rules as product code + JDK-8327476: Upgrade JLine to 3.26.1 + JDK-8327505: Test com/sun/jmx/remote/ /NotificationMarshalVersions/TestSerializationMismatch.java fails + JDK-8327857: Remove applet usage from JColorChooser tests Test4222508 + JDK-8327859: Remove applet usage from JColorChooser tests Test4319113 + JDK-8327986: ASAN reports use-after-free in DirectivesParserTest.empty_object_vm + JDK-8327994: Update code gen in CallGeneratorHelper + JDK-8328005: Convert java/awt/im/JTextFieldTest.java applet test to main + JDK-8328085: C2: Use after free in PhaseChaitin::Register_Allocate() + JDK-8328121: Remove applet usage from JColorChooser tests Test4759306 + JDK-8328130: Remove applet usage from JColorChooser tests Test4759934 + JDK-8328185: Convert java/awt/image/MemoryLeakTest/ /MemoryLeakTest.java applet test to main + JDK-8328227: Remove applet usage from JColorChooser tests Test4887836 + JDK-8328368: Convert java/awt/image/multiresolution/ /MultiDisplayTest/MultiDisplayTest.java applet test to main + JDK-8328370: Convert java/awt/print/Dialog/PrintApplet.java applet test to main + JDK-8328380: Remove applet usage from JColorChooser tests Test6348456 + JDK-8328387: Convert java/awt/Frame/FrameStateTest/ /FrameStateTest.html applet test to main + JDK-8328403: Remove applet usage from JColorChooser tests Test6977726 + JDK-8328553: Get rid of JApplet in test/jdk/sanity/client/lib/ /SwingSet2/src/DemoModule.java + JDK-8328558: Convert javax/swing/JCheckBox/8032667/ /bug8032667.java applet test to main + JDK-8328717: Convert javax/swing/JColorChooser/8065098/ /bug8065098.java applet test to main + JDK-8328719: Convert java/awt/print/PageFormat/SetOrient.html applet test to main + JDK-8328730: Convert java/awt/print/bug8023392/bug8023392.html applet test to main + JDK-8328753: Open source few Undecorated Frame tests + JDK-8328819: Remove applet usage from JFileChooser tests bug6698013 + JDK-8328827: Convert java/awt/print/PrinterJob/ /PrinterDialogsModalityTest/PrinterDialogsModalityTest.html applet test to main + JDK-8329210: Delete Redundant Printer Dialog Modality Test + JDK-8329320: Simplify awt/print/PageFormat/NullPaper.java test + JDK-8329322: Convert PageFormat/Orient.java to use PassFailJFrame + JDK-8329692: Add more details to FrameStateTest.java test instructions + JDK-8330647: Two CDS tests fail with -UseCompressedOops and UseSerialGC/UseParallelGC + JDK-8330702: Update failure handler to don't generate Error message if cores actions are empty + JDK-8331735: UpcallLinker::on_exit races with GC when copying frame anchor + JDK-8331959: Update PKCS#11 Cryptographic Token Interface to v3.1 + JDK-8331977: Crash: SIGSEGV in dlerror() + JDK-8331993: Add counting leading/trailing zero tests for Integer + JDK-8332158: [XWayland] test/jdk/java/awt/Mouse/ /EnterExitEvents/ResizingFrameTest.java + JDK-8332494: java/util/zip/EntryCount64k.java failing with java.lang.RuntimeException: '\\A\\Z' missing from stderr + JDK-8332917: failure_handler should execute gdb "info threads" command on linux + JDK-8333116: test/jdk/tools/jpackage/share/ServiceTest.java test fails + JDK-8333360: PrintNullString.java doesn't use float arguments + JDK-8333391: Test com/sun/jdi/InterruptHangTest.java failed: Thread was never interrupted during sleep + JDK-8333403: Write a test to check various components events are triggered properly + JDK-8333647: C2 SuperWord: some additional PopulateIndex tests + JDK-8334305: Remove all code for nsk.share.Log verbose mode + JDK-8334371: [AIX] Beginning with AIX 7.3 TL1 mmap() supports 64K memory pages + JDK-8334490: Normalize string with locale invariant `toLowerCase()` + JDK-8334777: Test javax/management/remote/mandatory/notif/ /NotifReconnectDeadlockTest.java failed with NullPointerException + JDK-8335288: SunPKCS11 initialization will call C_GetMechanismInfo on unsupported mechanisms + JDK-8335468: [XWayland] JavaFX hangs when calling java.awt.Robot.getPixelColor + JDK-8335789: [TESTBUG] XparColor.java test fails with Error. Parse Exception: Invalid or unrecognized bugid: @ + JDK-8336012: Fix usages of jtreg-reserved properties + JDK-8336498: [macos] [build]: install-file macro may run into permission denied error + JDK-8336692: Redo fix for JDK-8284620 + JDK-8336942: Improve test coverage for class loading elements with annotations of different retentions + JDK-8337222: gc/TestDisableExplicitGC.java fails due to unexpected CodeCache GC + JDK-8337494: Clarify JarInputStream behavior + JDK-8337660: C2: basic blocks with only BoxLock nodes are wrongly treated as empty + JDK-8337692: Better TLS connection support + JDK-8337886: java/awt/Frame/MaximizeUndecoratedTest.java fails in OEL due to a slight color difference + JDK-8337951: Test sun/security/validator/samedn.sh CertificateNotYetValidException: NotBefore validation + JDK-8337994: [REDO] Native memory leak when not recording any events + JDK-8338100: C2: assert(!n_loop->is_member(get_loop(lca))) failed: control must not be back in the loop + JDK-8338303: Linux ppc64le with toolchain clang - detection failure in early JVM startup + JDK-8338426: Test java/nio/channels/Selector/WakeupNow.java failed + JDK-8338430: Improve compiler transformations + JDK-8338571: [TestBug] DefaultCloseOperation.java test not working as expected wrt instruction after JDK-8325851 fix + JDK-8338595: Add more linesize for MIME decoder in macro bench test Base64Decode + JDK-8338668: Test javax/swing/JFileChooser/8080628/ /bug8080628.java doesn't test for GTK L&F + JDK-8339154: Cleanups and JUnit conversion of test/jdk/java/util/zip/Available.java + JDK-8339261: Logs truncated in test javax/net/ssl/DTLS/DTLSRehandshakeTest.java + JDK-8339356: Test javax/net/ssl/SSLSocket/Tls13PacketSize.java failed with java.net.SocketException: An established connection was aborted by the software in your host machine + JDK-8339475: Clean up return code handling for pthread calls in library coding + JDK-8339524: Clean up a few ExtendedRobot tests + JDK-8339542: compiler/codecache/CheckSegmentedCodeCache.java fails + JDK-8339687: Rearrange reachabilityFence()s in jdk.test.lib.util.ForceGC + JDK-8339728: [Accessibility,Windows,JAWS] Bug in the getKeyChar method of the AccessBridge class + JDK-8339810: Clean up the code in sun.tools.jar.Main to properly close resources and use ZipFile during extract + JDK-8339834: Replace usages of -mx and -ms in some tests + JDK-8339883: Open source several AWT/2D related tests + JDK-8339902: Open source couple TextField related tests + JDK-8339943: Frame not disposed in java/awt/dnd/DropActionChangeTest.java + JDK-8340078: Open source several 2D tests + JDK-8340116: test/jdk/sun/security/tools/jarsigner/ /PreserveRawManifestEntryAndDigest.java can fail due to regex + JDK-8340313: Crash due to invalid oop in nmethod after C1 patching + JDK-8340411: open source several 2D imaging tests + JDK-8340480: Bad copyright notices in changes from JDK-8339902 + JDK-8340687: Open source closed frame tests #1 + JDK-8340719: Open source AWT List tests + JDK-8340824: C2: Memory for TypeInterfaces not reclaimed by hashcons() + JDK-8340969: jdk/jfr/startupargs/TestStartDuration.java should be marked as flagless + JDK-8341037: Use standard layouts in DefaultFrameIconTest.java and MenuCrash.java + JDK-8341111: open source several AWT tests including menu shortcut tests + JDK-8341135: Incorrect format string after JDK-8339475 + JDK-8341194: [REDO] Implement C2 VectorizedHashCode on AArch64 + JDK-8341316: [macos] javax/swing/ProgressMonitor/ /ProgressMonitorEscapeKeyPress.java fails sometimes in macos + JDK-8341412: Various test failures after JDK-8334305 + JDK-8341424: GHA: Collect hs_errs from build time failures + JDK-8341453: java/awt/a11y/AccessibleJTableTest.java fails in some cases where the test tables are not visible + JDK-8341715: PPC64: ObjectMonitor::_owner should be reset unconditionally in nmethod unlocking + JDK-8341820: Check return value of hcreate_r + JDK-8341862: PPC64: C1 unwind_handler fails to unlock synchronized methods with LM_MONITOR + JDK-8341881: [REDO] java/nio/file/attribute/ /BasicFileAttributeView/CreationTime.java#tmp fails on alinux3 + JDK-8341978: Improve JButton/bug4490179.java + JDK-8341982: Simplify JButton/bug4323121.java + JDK-8342098: Write a test to compare the images + JDK-8342145: File libCreationTimeHelper.c compile fails on Alpine + JDK-8342270: Test sun/security/pkcs11/Provider/ /RequiredMechCheck.java needs write access to src tree + JDK-8342498: Add test for Allocation elimination after use as alignment reference by SuperWord + JDK-8342508: Use latch in BasicMenuUI/bug4983388.java instead of delay + JDK-8342541: Exclude List/KeyEventsTest/KeyEventsTest.java from running on macOS + JDK-8342562: Enhance Deflater operations + JDK-8342602: Remove JButton/PressedButtonRightClickTest test + JDK-8342609: jpackage test helper function incorrectly removes a directory instead of its contents only + JDK-8342634: javax/imageio/plugins/wbmp/ /WBMPStreamTruncateTest.java creates temp file in src dir + JDK-8342635: javax/swing/JFileChooser/FileSystemView/ /WindowsDefaultIconSizeTest.java creates tmp file in src dir + JDK-8342704: GHA: Report truncation is broken after JDK-8341424 + JDK-8342811: java/net/httpclient/PlainProxyConnectionTest.java failed: Unexpected connection count: 5 + JDK-8342858: Make target mac-jdk-bundle fails on chmod command + JDK-8342988: GHA: Build JTReg in single step + JDK-8343007: Enhance Buffered Image handling + JDK-8343100: Consolidate EmptyFolderTest and EmptyFolderPackageTest jpackage tests into single java file + JDK-8343101: Rework BasicTest.testTemp test cases + JDK-8343102: Remove `--compress` from jlink command lines from jpackage tests + JDK-8343118: [TESTBUG] java/awt/PrintJob/PrintCheckboxTest/ /PrintCheckboxManualTest.java fails with Error. Can't find HTML file PrintCheckboxManualTest.html + JDK-8343128: PassFailJFrame.java test result: Error. Bad action for script: build} + JDK-8343129: Disable unstable check of ThreadsListHandle.sanity_vm ThreadList values + JDK-8343144: UpcallLinker::on_entry racingly clears pending exception with GC safepoints + JDK-8343149: Cleanup os::print_tos_pc on AIX + JDK-8343178: Test BasicTest.java javac compile fails cannot find symbol + JDK-8343205: CompileBroker::possibly_add_compiler_threads excessively polls available memory + JDK-8343314: Move common properties from jpackage jtreg test declarations to TEST.properties file + JDK-8343343: Misc crash dump improvements on more platforms after JDK-8294160 + JDK-8343378: Exceptions in javax/management DeadLockTest.java do not cause test failure + JDK-8343396: Use OperatingSystem, Architecture, and OSVersion in jpackage tests + JDK-8343491: javax/management/remote/mandatory/connection/ /DeadLockTest.java failing with NoSuchObjectException: no such object in table + JDK-8343599: Kmem limit and max values swapped when printing container information + JDK-8343882: BasicAnnoTests doesn't handle multiple annotations at the same position + JDK-8344275: tools/jpackage/windows/Win8301247Test.java fails on localized Windows platform + JDK-8344326: Move jpackage tests from "jdk.jpackage.tests" package to the default package + JDK-8344581: [TESTBUG] java/awt/Robot/ /ScreenCaptureRobotTest.java failing on macOS + JDK-8344589: Update IANA Language Subtag Registry to Version 2024-11-19 + JDK-8344646: The libjsig deprecation warning should go to stderr not stdout + JDK-8345296: AArch64: VM crashes with SIGILL when prctl is disallowed + JDK-8345368: java/io/File/createTempFile/SpecialTempFile.java fails on Windows Server 2025 + JDK-8345370: Bump update version for OpenJDK: jdk-21.0.7 + JDK-8345375: Improve debuggability of test/jdk/java/net/Socket/CloseAvailable.java + JDK-8345414: Google CAInterop test failures + JDK-8345468: test/jdk/javax/swing/JScrollBar/4865918/ /bug4865918.java fails in ubuntu22.04 + JDK-8345569: [ubsan] adjustments to filemap.cpp and virtualspace.cpp for macOS aarch64 + JDK-8345614: Improve AnnotationFormatError message for duplicate annotation interfaces + JDK-8345676: [ubsan] ProcessImpl_md.c:561:40: runtime error: applying zero offset to null pointer on macOS aarch64 + JDK-8345684: OperatingSystemMXBean.getSystemCpuLoad() throws NPE + JDK-8345750: Shenandoah: Test TestJcmdHeapDump.java#aggressive intermittent assert(gc_cause() == GCCause::_no_gc) failed: Over-writing cause + JDK-8346055: javax/swing/text/StyledEditorKit/4506788/ /bug4506788.java fails in ubuntu22.04 + JDK-8346108: [21u][BACKOUT] 8337994: [REDO] Native memory leak when not recording any events + JDK-8346324: javax/swing/JScrollBar/4865918/bug4865918.java fails in CI + JDK-8346587: Distrust TLS server certificates anchored by Camerfirma Root CAs + JDK-8346671: java/nio/file/Files/probeContentType/Basic.java fails on Windows 2025 + JDK-8346713: [testsuite] NeverActAsServerClassMachine breaks TestPLABAdaptToMinTLABSize.java TestPinnedHumongousFragmentation.java TestPinnedObjectContents.java + JDK-8346828: javax/swing/JScrollBar/4865918/bug4865918.java still fails in CI + JDK-8346847: [s390x] minimal build failure + JDK-8346880: [aix] java/lang/ProcessHandle/InfoTest.java still fails: "reported cputime less than expected" + JDK-8346881: [ubsan] logSelection.cpp:154:24 / logSelectionList.cpp:72:94 : runtime error: applying non-zero offset 1 to null pointer + JDK-8346887: DrawFocusRect() may cause an assertion failure + JDK-8346972: Test java/nio/channels/FileChannel/ /LoopingTruncate.java fails sometimes with IOException: There is not enough space on the disk + JDK-8347038: [JMH] jdk.incubator.vector.SpiltReplicate fails NoClassDefFoundError + JDK-8347129: cpuset cgroups controller is required for no good reason + JDK-8347171: (dc) java/nio/channels/DatagramChannel/ /InterruptibleOrNot.java fails with virtual thread factory + JDK-8347256: Epsilon: Demote heap size and AlwaysPreTouch warnings to info level + JDK-8347267: [macOS]: UnixOperatingSystem.c:67:40: runtime error: division by zero + JDK-8347268: [ubsan] logOutput.cpp:357:21: runtime error: applying non-zero offset 1 to null pointer + JDK-8347424: Fix and rewrite sun/security/x509/DNSName/LeadingPeriod.java test + JDK-8347427: JTabbedPane/8134116/Bug8134116.java has no license header + JDK-8347576: Error output in libjsound has non matching format strings + JDK-8347740: java/io/File/createTempFile/SpecialTempFile.java failing + JDK-8347847: Enhance jar file support + JDK-8347911: Limit the length of inflated text chunks + JDK-8347965: (tz) Update Timezone Data to 2025a + JDK-8348562: ZGC: segmentation fault due to missing node type check in barrier elision analysis + JDK-8348625: [21u, 17u] Revert JDK-8185862 to restore old java.awt.headless behavior on Windows + JDK-8348675: TrayIcon tests fail in Ubuntu 24.10 Wayland + JDK-8349039: Adjust exception No type named in database + JDK-8349603: [21u, 17u, 11u] Update GHA JDKs after Jan/25 updates + JDK-8349729: [21u] AIX jtreg tests fail to compile with qvisibility=hidden + JDK-8352097: (tz) zone.tab update missed in 2025a backport + JDK-8353904: [21u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 21.0.7 - Modified patch: * fips.patch + rediff- Update to upstream tag jdk-21.0.6+7 (January 2025 CPU) * Security fixes + JDK-8330045, CVE-2025-21502, bsc#1236278: Enhance array handling * Changes + JDK-6942632: Hotspot should be able to use more than 64 logical processors on Windows + JDK-8028127: Regtest java/security/Security/ /SynchronizedAccess.java is incorrect + JDK-8195675: Call to insertText with single character from custom Input Method ignored + JDK-8207908: JMXStatusTest.java fails assertion intermittently + JDK-8225220: When the Tab Policy is checked,the scroll button direction displayed incorrectly. + JDK-8240343: JDI stopListening/stoplis001 "FAILED: listening is successfully stopped without starting listening" + JDK-8283214: [macos] Screen magnifier does not show the magnified text for JComboBox + JDK-8296787: Unify debug printing format of X.509 cert serial numbers + JDK-8296972: [macos13] java/awt/Frame/MaximizedToIconified/ /MaximizedToIconified.java: getExtendedState() != 6 as expected. + JDK-8306446: java/lang/management/ThreadMXBean/Locks.java transient failures + JDK-8308429: jvmti/StopThread/stopthrd007 failed with "NoClassDefFoundError: Could not initialize class jdk.internal.misc.VirtualThreads" + JDK-8309218: java/util/concurrent/locks/Lock/OOMEInAQS.java still times out with ZGC, Generational ZGC, and SerialGC + JDK-8311301: MethodExitTest may fail with stack buffer overrun + JDK-8311656: Shenandoah: Unused ShenandoahSATBAndRemarkThreadsClosure::_claim_token + JDK-8312518: [macos13] setFullScreenWindow() shows black screen on macOS 13 & above + JDK-8313374: --enable-ccache's CCACHE_BASEDIR breaks builds + JDK-8313878: Exclude two compiler/rtm/locking tests on ppc64le + JDK-8315701: [macos] Regression: KeyEvent has different keycode on different keyboard layouts + JDK-8316428: G1: Nmethod count statistics only count last code root set iterated + JDK-8316893: Compile without -fno-delete-null-pointer-checks + JDK-8316895: SeenThread::print_action_queue called on a null pointer + JDK-8316907: Fix nonnull-compare warnings + JDK-8317116: Provide layouts for multiple test UI in PassFailJFrame + JDK-8317575: AArch64: C2_MacroAssembler::fast_lock uses rscratch1 for cmpxchg result + JDK-8318105: [jmh] the test java.security.HSS failed with 2 active threads + JDK-8318442: java/net/httpclient/ManyRequests2.java fails intermittently on Linux + JDK-8319640: ClassicFormat::parseObject (from DateTimeFormatter) does not conform to the javadoc and may leak DateTimeException + JDK-8319673: Few security tests ignore VM flags + JDK-8319678: Several tests from corelibs areas ignore VM flags + JDK-8319960: RISC-V: compiler/intrinsics/TestInteger/ /LongUnsignedDivMod.java failed with "counts: Graph contains wrong number of nodes" + JDK-8319970: AArch64: enable tests compiler/intrinsics/ /Test(Long|Integer)UnsignedDivMod.java on aarch64 + JDK-8319973: AArch64: Save and restore FPCR in the call stub + JDK-8320192: SHAKE256 does not work correctly if n >= 137 + JDK-8320397: RISC-V: Avoid passing t0 as temp register to MacroAssembler:: cmpxchg_obj_header/cmpxchgptr + JDK-8320575: generic type information lost on mandated parameters of record's compact constructors + JDK-8320586: update manual test/jdk/TEST.groups + JDK-8320665: update jdk_core at open/test/jdk/TEST.groups + JDK-8320673: PageFormat/CustomPaper.java has no Pass/Fail buttons; multiple instructions + JDK-8320682: [AArch64] C1 compilation fails with "Field too big for insn" + JDK-8320892: AArch64: Restore FPU control state after JNI + JDK-8321299: runtime/logging/ClassLoadUnloadTest.java doesn't reliably trigger class unloading + JDK-8321470: ThreadLocal.nextHashCode can be static final + JDK-8321474: TestAutoCreateSharedArchiveUpgrade.java should be updated with JDK 21 + JDK-8321543: Update NSS to version 3.96 + JDK-8321550: Update several runtime/cds tests to use vm flags or mark as flagless + JDK-8321616: Retire binary test vectors in test/jdk/java/util/zip/ZipFile + JDK-8321940: Improve CDSHeapVerifier in handling of interned strings + JDK-8322166: Files.isReadable/isWritable/isExecutable expensive when file does not exist + JDK-8322754: click JComboBox when dialog about to close causes IllegalComponentStateException + JDK-8322809: SystemModulesMap::classNames and moduleNames arrays do not match the order + JDK-8322830: Add test case for ZipFile opening a ZIP with no entries + JDK-8323562: SaslInputStream.read() may return wrong value + JDK-8323688: C2: Fix UB of jlong overflow in PhaseIdealLoop::is_counted_loop() + JDK-8324841: PKCS11 tests still skip execution + JDK-8324861: Exceptions::wrap_dynamic_exception() doesn't have ResourceMark + JDK-8325038: runtime/cds/appcds/ProhibitedPackage.java can fail with UseLargePages + JDK-8325399: Add tests for virtual threads doing Selector operations + JDK-8325506: Ensure randomness is only read from provided SecureRandom object + JDK-8325525: Create jtreg test case for JDK-8325203 + JDK-8325610: CTW: Add StressIncrementalInlining to stress options + JDK-8325762: Use PassFailJFrame.Builder.splitUI() in PrintLatinCJKTest.java + JDK-8325851: Hide PassFailJFrame.Builder constructor + JDK-8325906: Problemlist vmTestbase/vm/mlvm/meth/stress/ /compiler/deoptimize/Test.java#id1 until JDK-8320865 is fixed + JDK-8326100: DeflaterDictionaryTests should use Deflater.getBytesWritten instead of Deflater.getTotalOut + JDK-8326121: vmTestbase/gc/g1/unloading/tests/ /unloading_keepRef_rootClass_inMemoryCompilation_keep_cl failed with Full gc happened. Test was useless. + JDK-8326611: Clean up vmTestbase/nsk/stress/stack tests + JDK-8326898: NSK tests should listen on loopback addresses only + JDK-8327924: Simplify TrayIconScalingTest.java + JDK-8328021: Convert applet test java/awt/List/SetFontTest/ /SetFontTest.html to main program + JDK-8328242: Add a log area to the PassFailJFrame + JDK-8328303: 3 JDI tests timed out with UT enabled + JDK-8328379: Convert URLDragTest.html applet test to main + JDK-8328402: Implement pausing functionality for the PassFailJFrame + JDK-8328619: sun/management/jmxremote/bootstrap/ /SSLConfigFilePermissionTest.java failed with BindException: Address already in use + JDK-8328665: serviceability/jvmti/vthread/PopFrameTest failed with a timeout + JDK-8328723: IP Address error when client enables HTTPS endpoint check on server socket + JDK-8329353: ResolvedReferencesNotNullTest.java failed with Incorrect resolved references array, quxString should not be archived + JDK-8329533: TestCDSVMCrash fails on libgraal + JDK-8330278: Have SSLSocketTemplate.doClientSide use loopback address + JDK-8330621: Make 5 compiler tests use ProcessTools.executeProcess + JDK-8331391: Enhance the keytool code by invoking the buildTrustedCerts method for essential options + JDK-8331393: AArch64: u32 _partial_subtype_ctr loaded/stored as 64 + JDK-8331864: Update Public Suffix List to 1cbd6e7 + JDK-8332112: Update nsk.share.Log to don't print summary during VM shutdown hook + JDK-8332340: Add JavacBench as a test case for CDS + JDK-8332461: ubsan : dependencies.cpp:906:3: runtime error: load of value 4294967295, which is not a valid value for type 'DepType' + JDK-8332724: x86 MacroAssembler may over-align code + JDK-8332777: Update JCStress test suite + JDK-8332866: Crash in ImageIO JPEG decoding when MEM_STATS in enabled + JDK-8332901: Select{Current,New}ItemTest.java for Choice don't open popup on macOS + JDK-8333098: ubsan: bytecodeInfo.cpp:318:59: runtime error: division by zero + JDK-8333108: Update vmTestbase/nsk/share/DebugeeProcess.java to don't use finalization + JDK-8333144: docker tests do not work when ubsan is configured + JDK-8333235: vmTestbase/nsk/jdb/kill/kill001/kill001.java fails with C1 + JDK-8333248: VectorGatherMaskFoldingTest.java failed when maximum vector bits is 64 + JDK-8333317: Test sun/security/pkcs11/sslecc/ /ClientJSSEServerJSSE.java failed with: Invalid ECDH ServerKeyExchange signature + JDK-8333427: langtools/tools/javac/newlines/NewLineTest.java is failing on Japanese Windows + JDK-8333728: ubsan: shenandoahFreeSet.cpp:1347:24: runtime error: division by zero + JDK-8333754: Add a Test against ECDSA and ECDH NIST Test vector + JDK-8333824: Unused ClassValue in VarHandles + JDK-8334057: JLinkReproducibleTest.java support receive test.tool.vm.opts + JDK-8334405: java/nio/channels/Selector/ /SelectWithConsumer.java#id0 failed in testWakeupDuringSelect + JDK-8334475: UnsafeIntrinsicsTest.java#ZGenerationalDebug assert(!assert_on_failure) failed: Has low-order bits set + JDK-8334560: [PPC64]: postalloc_expand_java_dynamic_call_sched does not copy all fields + JDK-8334562: Automate com/sun/security/auth/callback/ /TextCallbackHandler/Default.java test + JDK-8334567: [test] runtime/os/TestTracePageSizes move ppc handling + JDK-8334719: (se) Deferred close of SelectableChannel may result in a Selector doing the final close before concurrent I/O on channel has completed + JDK-8335142: compiler/c1/TestTraceLinearScanLevel.java occasionally times out with -Xcomp + JDK-8335172: Add manual steps to run security/auth/callback/ /TextCallbackHandler/Password.java test + JDK-8335267: [XWayland] move screencast tokens from .awt to .java folder + JDK-8335344: test/jdk/sun/security/tools/keytool/NssTest.java fails to compile + JDK-8335428: Enhanced Building of Processes + JDK-8335449: runtime/cds/DeterministicDump.java fails with File content different at byte ... + JDK-8335530: Java file extension missing in AuthenticatorTest + JDK-8335664: Parsing jsr broken: assert(bci>= 0 && bci < c->method()->code_size()) failed: index out of bounds + JDK-8335709: C2: assert(!loop->is_member(get_loop(useblock))) failed: must be outside loop + JDK-8335912, JDK-8337499: Add an operation mode to the jar command when extracting to not overwriting existing files + JDK-8336240: Test com/sun/crypto/provider/Cipher/DES/ /PerformanceTest.java fails with java.lang.ArithmeticException + JDK-8336257: Additional tests in jmxremote/startstop to match on PID not app name + JDK-8336315: tools/jpackage/windows/WinChildProcessTest.java Failed: Check is calculator process is alive + JDK-8336413: gtk headers : Fix typedef redeclaration of GMainContext and GdkPixbuf + JDK-8336564: Enhance mask blit functionality redux + JDK-8336640: Shenandoah: Parallel worker use in parallel_heap_region_iterate + JDK-8336854: CAInterop.java#actalisauthenticationrootca conflicted with /manual and /timeout + JDK-8336911: ZGC: Division by zero in heuristics after JDK-8332717 + JDK-8337066: Repeated call of StringBuffer.reverse with double byte string returns wrong result + JDK-8337067: Test runtime/classFileParserBug/Bad_NCDFE_Msg.java won't compile + JDK-8337320: Update ProblemList.txt with tests known to fail on XWayland + JDK-8337331: crash: pinned virtual thread will lead to jvm crash when running with the javaagent option + JDK-8337410: The makefiles should set problemlist and adjust timeout basing on the given VM flags + JDK-8337780: RISC-V: C2: Change C calling convention for sp to NS + JDK-8337810: ProblemList BasicDirectoryModel/LoaderThreadCount.java on Windows + JDK-8337826: Improve logging in OCSPTimeout and SimpleOCSPResponder to help diagnose JDK-8309754 + JDK-8337851: Some tests have name which confuse jtreg + JDK-8337876: [IR Framework] Add support for IR tests with @Stable + JDK-8337966: (fs) Files.readAttributes fails with Operation not permitted on older docker releases + JDK-8338058: map_or_reserve_memory_aligned Windows enhance remap assertion + JDK-8338101: remove old remap assertion in map_or_reserve_memory_aligned after JDK-8338058 + JDK-8338109: java/awt/Mouse/EnterExitEvents/ /ResizingFrameTest.java duplicate in ProblemList + JDK-8338110: Exclude Fingerprinter::do_type from ubsan checks + JDK-8338112: Test testlibrary_tests/ir_framework/tests/ /TestPrivilegedMode.java fails with release build + JDK-8338344: Test TestPrivilegedMode.java intermittent fails java.lang.NoClassDefFoundError: jdk/test/lib/Platform + JDK-8338380: Update TLSCommon/interop/AbstractServer to specify an interface to listen for connections + JDK-8338389: [JFR] Long strings should be added to the string pool + JDK-8338402: GHA: some of bundles may not get removed + JDK-8338449: ubsan: division by zero in sharedRuntimeTrans.cpp + JDK-8338550: Do libubsan1 installation in test container only if requested + JDK-8338748: [17u,21u] Test Disconnect.java compile error: cannot find symbol after JDK-8299813 + JDK-8338751: ConfigureNotify behavior has changed in KWin 6.2 + JDK-8338759: Add extra diagnostic to java/net/InetAddress/ptr/Lookup.java + JDK-8338924: C1: assert(0 <= i && i < _len) failed: illegal index 5 for length 5 + JDK-8339080: Bump update version for OpenJDK: jdk-21.0.6 + JDK-8339180: Enhanced Building of Processes: Follow-on Issue + JDK-8339248: RISC-V: Remove li64 macro assembler routine and related code + JDK-8339384: Unintentional IOException in jdk.jdi module when JDWP end of stream occurs + JDK-8339386: Assertion on AIX - original PC must be in the main code section of the compiled method + JDK-8339416: [s390x] Provide implementation for resolve_global_jobject + JDK-8339487: ProcessHandleImpl os_getChildren sysctl call - retry in case of ENOMEM and enhance exception message + JDK-8339548: GHA: RISC-V: Use Debian snapshot archive for bootstrap + JDK-8339560: Unaddressed comments during code review of JDK-8337664 + JDK-8339591: Mark jdk/jshell/ExceptionMessageTest.java intermittent + JDK-8339637: (tz) Update Timezone Data to 2024b + JDK-8339644: Improve parsing of Day/Month in tzdata rules + JDK-8339648: ZGC: Division by zero in rule_major_allocation_rate + JDK-8339725: Concurrent GC crashed due to GetMethodDeclaringClass + JDK-8339731: java.desktop/share/classes/javax/swing/text/html/ /default.css typo in margin settings + JDK-8339741: RISC-V: C ABI breakage for integer on stack + JDK-8339787: Add some additional diagnostic output to java/net/ipv6tests/UdpTest.java + JDK-8339803: Acknowledge case insensitive unambiguous keywords in tzdata files + JDK-8339892: Several security shell tests don't set TESTJAVAOPTS + JDK-8340007: Refactor KeyEvent/FunctionKeyTest.java + JDK-8340008: KeyEvent/KeyTyped/Numpad1KeyTyped.java has 15 seconds timeout + JDK-8340109: Ubsan: ciEnv.cpp:1660:65: runtime error: member call on null pointer of type 'struct CompileTask' + JDK-8340210: Add positionTestUI() to PassFailJFrame.Builder + JDK-8340214: C2 compilation asserts with "no node with a side effect" in PhaseIdealLoop::try_sink_out_of_loop + JDK-8340230: Tests crash: assert(is_in_encoding_range || k->is_interface() || k->is_abstract()) failed: sanity + JDK-8340306: Add border around instructions in PassFailJFrame + JDK-8340308: PassFailJFrame: Make rows default to number of lines in instructions + JDK-8340365: Position the first window of a window list + JDK-8340383: VM issues warning failure to find kernel32.dll on Windows nanoserver + JDK-8340387: Update OS detection code to recognize Windows Server 2025 + JDK-8340398: [JVMCI] Unintuitive behavior of UseJVMCICompiler option + JDK-8340418: GHA: MacOS AArch64 bundles can be removed prematurely + JDK-8340461: Amend description for logArea + JDK-8340466: Add description for PassFailJFrame constructors + JDK-8340552: Harden TzdbZoneRulesCompiler against missing zone names + JDK-8340590: RISC-V: C2: Small improvement to vector gather load and scatter store + JDK-8340632: ProblemList java/nio/channels/DatagramChannel/ for Macos + JDK-8340657: [PPC64] SA determines wrong unextendedSP + JDK-8340684: Reading from an input stream backed by a closed ZipFile has no test coverage + JDK-8340785: Update description of PassFailJFrame and samples + JDK-8340799: Add border inside instruction frame in PassFailJFrame + JDK-8340801: Disable ubsan checks in some awt/2d coding + JDK-8340804: doc/building.md update Xcode instructions to note that full install is required + JDK-8340812: LambdaForm customization via MethodHandle::updateForm is not thread safe + JDK-8340815: Add SECURITY.md file + JDK-8340899: Remove wildcard bound in PositionWindows.positionTestWindows + JDK-8340923: The class LogSelection copies uninitialized memory + JDK-8341024: [test] build/AbsPathsInImage.java fails with OOM when using ubsan-enabled binaries + JDK-8341146: RISC-V: Unnecessary fences used for load-acquire in template interpreter + JDK-8341235: Improve default instruction frame title in PassFailJFrame + JDK-8341261: Tests assume UnlockExperimentalVMOptions is disabled by default + JDK-8341562: RISC-V: Generate comments in - XX:+PrintInterpreter to link to source code + JDK-8341688: Aarch64: Generate comments in - XX:+PrintInterpreter to link to source code + JDK-8341722: Fix some warnings as errors when building on Linux with toolchain clang + JDK-8341806: Gcc version detection failure on Alinux3 + JDK-8341927: Replace hardcoded security providers with new test.provider.name system property + JDK-8341997: Tests create files in src tree instead of scratch dir + JDK-8342014: RISC-V: ZStoreBarrierStubC2 clobbers rflags + JDK-8342063: [21u][aix] Backport introduced redundant line in ProblemList + JDK-8342181: Update tests to use stronger Key and Salt size + JDK-8342183: Update tests to use stronger algorithms and keys + JDK-8342188: Update tests to use stronger key parameters and certificates + JDK-8342409: [s390x] C1 unwind_handler fails to unlock synchronized methods with LM_MONITOR + JDK-8342496: C2/Shenandoah: SEGV in compiled code when running jcstress + JDK-8342578: GHA: RISC-V: Bootstrap using Debian snapshot is still failing + JDK-8342607: Enhance register printing on x86_64 platforms + JDK-8342669: [21u] Fix TestArrayAllocatorMallocLimit after backport of JDK-8315097 + JDK-8342681: TestLoadBypassesNullCheck.java fails improperly specified VM option + JDK-8342701: [PPC64] TestOSRLotsOfLocals.java crashes + JDK-8342765: [21u] RTM tests assume UnlockExperimentalVMOptions is disabled by default + JDK-8342823: Ubsan: ciEnv.cpp:1614:65: runtime error: member call on null pointer of type 'struct CompileTask' + JDK-8342905: Thread.setContextClassloader from thread in FJP commonPool task no longer works after JDK-8327501 redux + JDK-8342962: [s390x] TestOSRLotsOfLocals.java crashes + JDK-8343285: java.lang.Process is unresponsive and CPU usage spikes to 100% + JDK-8343474: [updates] Customize README.md to specifics of update project + JDK-8343506: [s390x] multiple test failures with ubsan + JDK-8343724: [PPC64] Disallow OptoScheduling + JDK-8343848: Fix typo of property name in TestOAEPPadding after 8341927 + JDK-8343877: Test AsyncClose.java intermittent fails - Socket.getInputStream().read() wasn't preempted + JDK-8343884: [s390x] Disallow OptoScheduling + JDK-8343923: GHA: Switch to Xcode 15 on MacOS AArch64 runners + JDK-8344164: [s390x] ProblemList hotspot/jtreg/runtime/NMT/VirtualAllocCommitMerge.java + JDK-8344628: Test TestEnableJVMCIProduct.java run with virtual thread intermittent fails + JDK-8344993: [21u] [REDO] Backport JDK-8327501 and JDK-8328366 to JDK 21 + JDK-8345055: [21u] ProblemList failing rtm tests on ppc platforms + JDK-8347010: [21u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 21.0.6 - Added patch * reproducible-directory-mtime.patch + reproducible modification times for directory creation- Update to upstream tag jdk-21.0.5+13 (October 2024 CPU) * Security fixes + JDK-8307383: Enhance DTLS connections + JDK-8311208: Improve CDS Support + JDK-8328286, CVE-2024-21208, bsc#1231702: Enhance HTTP client + JDK-8328544, CVE-2024-21210, bsc#1231711: Improve handling of vectorization + JDK-8328726: Better Kerberos support + JDK-8331446, CVE-2024-21217, bsc#1231716: Improve deserialization support + JDK-8332644, CVE-2024-21235, bsc#1231719: Improve graph optimizations + JDK-8335713: Enhance vectorization analysis * Other changes + JDK-6355567: AdobeMarkerSegment causes failure to read valid JPEG + JDK-6967482: TAB-key does not work in JTables after selecting details-view in JFileChooser + JDK-7022325: TEST_BUG: test/java/util/zip/ZipFile/ /ReadLongZipFileName.java leaks files if it fails + JDK-8051959: Add thread and timestamp options to java.security.debug system property + JDK-8073061: (fs) Files.copy(foo, bar, REPLACE_EXISTING) deletes bar even if foo is not readable + JDK-8166352: FilePane.createDetailsView() removes JTable TAB, SHIFT-TAB functionality + JDK-8170817: G1: Returning MinTLABSize from unsafe_max_tlab_alloc causes TLAB flapping + JDK-8211847: [aix] java/lang/ProcessHandle/InfoTest.java fails: "reported cputime less than expected" + JDK-8211854: [aix] java/net/ServerSocket/ /AcceptInheritHandle.java fails: read times out + JDK-8222884: ConcurrentClassDescLookup.java times out intermittently + JDK-8238169: BasicDirectoryModel getDirectories and DoChangeContents.run can deadlock + JDK-8241550: [macOS] SSLSocketImpl/ReuseAddr.java failed due to "BindException: Address already in use" + JDK-8242564: javadoc crashes:: class cast exception com.sun.tools.javac.code.Symtab$6 + JDK-8260633: [macos] java/awt/dnd/MouseEventAfterStartDragTest/ /MouseEventAfterStartDragTest.html test failed + JDK-8261433: Better pkcs11 performance for libpkcs11:C_EncryptInit/libpkcs11:C_DecryptInit + JDK-8269428: java/util/concurrent/ConcurrentHashMap/ /ToArray.java timed out + JDK-8269657: Test java/nio/channels/DatagramChannel/ /Loopback.java failed: Unexpected message + JDK-8280120: [IR Framework] Add attribute to @IR to enable/disable IR matching based on the architecture + JDK-8280392: java/awt/Focus/NonFocusableWindowTest/ /NonfocusableOwnerTest.java failed with "RuntimeException: Test failed." + JDK-8280988: [XWayland] Click on title to request focus test failures + JDK-8280990: [XWayland] XTest emulated mouse click does not bring window to front + JDK-8283223: gc/stringdedup/TestStringDeduplicationFullGC.java [#]Parallel failed with "RuntimeException: String verification failed" + JDK-8287325: AArch64: fix virtual threads with - XX:UseBranchProtection=pac-ret + JDK-8291809: Convert compiler/c2/cr7200264/TestSSE2IntVect.java to IR verification test + JDK-8294148: Support JSplitPane for instructions and test UI + JDK-8299058: AssertionError in sun.net.httpserver.ServerImpl when connection is idle + JDK-8299487: Test java/net/httpclient/whitebox/ /SSLTubeTestDriver.java timed out + JDK-8299790: os::print_hex_dump is racy + JDK-8299813: java/nio/channels/DatagramChannel/Disconnect.java fails with jtreg test timeout due to lost datagram + JDK-8301686: TLS 1.3 handshake fails if server_name doesn't match resuming session + JDK-8303920: Avoid calling out to python in DataDescriptorSignatureMissing test + JDK-8305072: Win32ShellFolder2.compareTo is inconsistent + JDK-8305825: getBounds API returns wrong value resulting in multiple Regression Test Failures on Ubuntu 23.04 + JDK-8307193: Several Swing jtreg tests use class.forName on L&F classes + JDK-8307352: AARCH64: Improve itable_stub + JDK-8307778: com/sun/jdi/cds tests fail with jtreg's Virtual test thread factory + JDK-8307788: vmTestbase/gc/gctests/LargeObjects/large003/ /TestDescription.java timed out + JDK-8308286: Fix clang warnings in linux code + JDK-8308660: C2 compilation hits 'node must be dead' assert + JDK-8309067: gtest/AsyncLogGtest.java fails again in stderrOutput_vm + JDK-8309621: [XWayland][Screencast] screen capture failure with sun.java2d.uiScale other than 1 + JDK-8309685: Fix -Wconversion warnings in assembler and register code + JDK-8309894: compiler/vectorapi/ /VectorLogicalOpIdentityTest.java fails on SVE system with UseSVE=0 + JDK-8310072: JComboBox/DisabledComboBoxFontTestAuto: Enabled and disabled ComboBox does not match in these LAFs: GTK+ + JDK-8310108: Skip ReplaceCriticalClassesForSubgraphs when EnableJVMCI is specified + JDK-8310201: Reduce verbose locale output in -XshowSettings launcher option + JDK-8310334: [XWayland][Screencast] screen capture error message in debug + JDK-8310628: GcInfoBuilder.c missing JNI Exception checks + JDK-8310683: Refactor StandardCharset/standard.java to use JUnit + JDK-8310906: Fix -Wconversion warnings in runtime, oops and some code header files. + JDK-8311306: Test com/sun/management/ThreadMXBean/ /ThreadCpuTimeArray.java failed: out of expected range + JDK-8311666: Disabled tests in test/jdk/sun/java2d/marlin + JDK-8311989: Test java/lang/Thread/virtual/Reflection.java timed out + JDK-8312049: runtime/logging/ClassLoadUnloadTest can be improved + JDK-8312111: open/test/jdk/java/awt/Robot/ModifierRobotKey/ /ModifierRobotKeyTest.java fails on ubuntu 23.04 + JDK-8312140: jdk/jshell tests failed with JDI socket timeouts + JDK-8312200: Fix Parse::catch_call_exceptions memory leak + JDK-8312229: Crash involving yield, switch and anonymous classes + JDK-8313674: (fc) java/nio/channels/FileChannel/ /BlockDeviceSize.java should test for more block devices + JDK-8313697: [XWayland][Screencast] consequent getPixelColor calls are slow + JDK-8313983: jmod create --target-platform should replace existing ModuleTarget attribute + JDK-8314163: os::print_hex_dump prints incorrectly for big endian platforms and unit sizes larger than 1 + JDK-8314225: SIGSEGV in JavaThread::is_lock_owned + JDK-8314515: java/util/concurrent/SynchronousQueue/ /Fairness.java failed with "Error: fair=false i=8 j=0" + JDK-8314614: jdk/jshell/ImportTest.java failed with "InternalError: Failed remote listen" + JDK-8315024: Vector API FP reduction tests should not test for exact equality + JDK-8315031: YoungPLABSize and OldPLABSize not aligned by ObjectAlignmentInBytes + JDK-8315422: getSoTimeout() would be in try block in SSLSocketImpl + JDK-8315505: CompileTask timestamp printed can overflow + JDK-8315576: compiler/codecache/CodeCacheFullCountTest.java fails after JDK-8314837 + JDK-8315804: Open source several Swing JTabbedPane JTextArea JTextField tests + JDK-8315923: pretouch_memory by atomic-add-0 fragments huge pages unexpectedly + JDK-8315965: Open source various AWT applet tests + JDK-8315969: compiler/rangechecks/ /TestRangeCheckHoistingScaledIV.java: make flagless + JDK-8316104: Open source several Swing SplitPane and RadioButton related tests + JDK-8316131: runtime/cds/appcds/TestParallelGCWithCDS.java fails with JNI error + JDK-8316193: jdk/jfr/event/oldobject/TestListenerLeak.java java.lang.Exception: Could not find leak + JDK-8316211: Open source several manual applet tests + JDK-8316240: Open source several add/remove MenuBar manual tests + JDK-8316285: Opensource JButton manual tests + JDK-8316306: Open source and convert manual Swing test + JDK-8316328: Test jdk/jfr/event/oldobject/ /TestSanityDefault.java times out for some heap sizes + JDK-8316361: C2: assert(!failure) failed: Missed optimization opportunity in PhaseIterGVN with -XX:VerifyIterativeGVN=10 + JDK-8316389: Open source few AWT applet tests + JDK-8316756: C2 EA fails with "missing memory path" when encountering unsafe_arraycopy stub call + JDK-8317112: Add screenshot for Frame/DefaultSizeTest.java + JDK-8317128: java/nio/file/Files/CopyAndMove.java failed with AccessDeniedException + JDK-8317240: Promptly free OopMapEntry after fail to insert the entry to OopMapCache + JDK-8317288: [macos] java/awt/Window/Grab/GrabTest.java: Press on the outside area didn't cause ungrab + JDK-8317299: safepoint scalarization doesn't keep track of the depth of the JVM state + JDK-8317360: Missing null checks in JfrCheckpointManager and JfrStringPool initialization routines + JDK-8317372: Refactor some NumberFormat tests to use JUnit + JDK-8317446: ProblemList gc/arguments/TestNewSizeFlags.java on macosx-aarch64 in Xcomp + JDK-8317449: ProblemList serviceability/jvmti/stress/ /StackTrace/NotSuspended/ /GetStackTraceNotSuspendedStressTest.java on several platforms + JDK-8317635: Improve GetClassFields test to verify correctness of field order + JDK-8317696: Fix compilation with clang-16 + JDK-8317738: CodeCacheFullCountTest failed with "VirtualMachineError: Out of space in CodeCache for method handle intrinsic" + JDK-8317831: compiler/codecache/CheckLargePages.java fails on OL 8.8 with unexpected memory string + JDK-8318071: IgnoreUnrecognizedVMOptions flag still causes failure in ArchiveHeapTestClass + JDK-8318479: [jmh] the test security.CacheBench failed for multiple threads run + JDK-8318605: Enable parallelism in vmTestbase/nsk/stress/stack tests + JDK-8319197: Exclude hb-subset and hb-style from compilation + JDK-8319406: x86: Shorter movptr(reg, imm) for 32-bit immediates + JDK-8319773: Avoid inflating monitors when installing hash codes for LM_LIGHTWEIGHT + JDK-8319793: C2 compilation fails with "Bad graph detected in build_loop_late" after JDK-8279888 + JDK-8319817: Charset constructor should make defensive copy of aliases + JDK-8319818: Address GCC 13.2.0 warnings (stringop-overflow and dangling-pointer) + JDK-8320079: The ArabicBox.java test has no control buttons + JDK-8320212: Disable GCC stringop-overflow warning for affected files + JDK-8320379: C2: Sort spilling/unspilling sequence for better ld/st merging into ldp/stp on AArch64 + JDK-8320602: Lock contention in SchemaDVFactory.getInstance() + JDK-8320608: Many jtreg printing tests are missing the @printer keyword + JDK-8320655: awt screencast robot spin and sync issues with native libpipewire api + JDK-8320675: PrinterJob/SecurityDialogTest.java hangs + JDK-8320945: problemlist tests failing on latest Windows 11 update + JDK-8321025: Enable Neoverse N1 optimizations for Neoverse V2 + JDK-8321176: [Screencast] make a second attempt on screencast failure + JDK-8321206: Make Locale related system properties `StaticProperty` + JDK-8321220: JFR: RecordedClass reports incorrect modifiers + JDK-8321278: C2: Partial peeling fails with assert "last_peel <- first_not_peeled" + JDK-8321509: False positive in get_trampoline fast path causes crash + JDK-8321933: TestCDSVMCrash.java spawns two processes + JDK-8322008: Exclude some CDS tests from running with - Xshare:off + JDK-8322062: com/sun/jdi/JdwpAllowTest.java does not performs negative testing with prefix length + JDK-8322330: JavadocHelperTest.java OOMEs with Parallel GC and ZGC + JDK-8322726: C2: Unloaded signature class kills argument value + JDK-8322743: C2: prevent lock region elimination in OSR compilation + JDK-8322766: Micro bench SSLHandshake should use default algorithms + JDK-8322881: java/nio/file/Files/CopyMoveVariations.java fails with AccessDeniedException due to permissions of files in /tmp + JDK-8322971: KEM.getInstance() should check if a 3rd-party security provider is signed + JDK-8322996: BoxLockNode creation fails with assert(reg < CHUNK_SIZE) failed: sanity + JDK-8323122: AArch64: Increase itable stub size estimate + JDK-8323196: jdk/jfr/api/consumer/filestream/TestOrdered.java failed with "Events are not ordered! Reuse = false" + JDK-8323274: C2: array load may float above range check + JDK-8323552: AbstractMemorySegmentImpl#mismatch returns -1 when comparing distinct areas of the same instance of MemorySegment + JDK-8323577: C2 SuperWord: remove AlignVector restrictions on IR tests added in JDK-8305055 + JDK-8323584: AArch64: Unnecessary ResourceMark in NativeCall::set_destination_mt_safe + JDK-8323670: A few client tests intermittently throw ConcurrentModificationException + JDK-8323682: C2: guard check is not generated in Arrays.copyOfRange intrinsic when allocation is eliminated by EA + JDK-8323782: Race: Thread::interrupt vs. AbstractInterruptibleChannel.begin + JDK-8323801: tag doesn't strikethrough the text + JDK-8323972: C2 compilation fails with assert(!x->as_Loop()->is_loop_nest_inner_loop()) failed: loop was transformed + JDK-8324174: assert(m->is_entered(current)) failed: invariant + JDK-8324577: [REDO] - [IMPROVE] OPEN_MAX is no longer the max limit on macOS >= 10.6 for RLIMIT_NOFILE + JDK-8324580: SIGFPE on THP initialization on kernels < 4.10 + JDK-8324641: [IR Framework] Add Setup method to provide custom arguments and set fields + JDK-8324668: JDWP process management needs more efficient file descriptor handling + JDK-8324755: Enable parallelism in vmTestbase/gc/gctests/LargeObjects tests + JDK-8324781: runtime/Thread/TestAlwaysPreTouchStacks.java failed with Expected a higher ratio between stack committed and reserved + JDK-8324808: Manual printer tests have no Pass/Fail buttons, instructions close set 3 + JDK-8324969: C2: prevent elimination of unbalanced coarsened locking regions + JDK-8324983: Race in CompileBroker::possibly_add_compiler_threads + JDK-8325022: Incorrect error message on client authentication + JDK-8325037: x86: enable and fix hotspot/jtreg/compiler/vectorization/TestRoundVectFloat.java + JDK-8325083: jdk/incubator/vector/Double512VectorTests.java crashes in Assembler::vex_prefix_and_encode + JDK-8325179: Race in BasicDirectoryModel.validateFileCache + JDK-8325218: gc/parallel/TestAlwaysPreTouchBehavior.java fails + JDK-8325382: (fc) FileChannel.transferTo throws IOException when position equals size + JDK-8325384: sun/security/ssl/SSLSessionImpl/ /ResumptionUpdateBoundValues.java failing intermittently when main thread is a virtual thread + JDK-8325469: Freeze/Thaw code can crash in the presence of OSR frames + JDK-8325494: C2: Broken graph after not skipping CastII node anymore for Assertion Predicates after JDK-8309902 + JDK-8325520: Vector loads and stores with indices and masks incorrectly compiled + JDK-8325542: CTW: Runner can produce negative StressSeed + JDK-8325587: Shenandoah: ShenandoahLock should allow blocking in VM + JDK-8325616: JFR ZGC Allocation Stall events should record stack traces + JDK-8325620: HTMLReader uses ConvertAction instead of specified CharacterAction for , , + JDK-8325754: Dead AbstractQueuedSynchronizer$ConditionNodes survive minor garbage collections + JDK-8325763: Revert properties: vm.opt.x.* + JDK-8326106: Write and clear stack trace table outside of safepoint + JDK-8326129: Java Record Pattern Match leads to infinite loop + JDK-8326332: Unclosed inline tags cause misalignment in summary tables + JDK-8326717: Disable stringop-overflow in shenandoahLock.cpp + JDK-8326734: text-decoration applied to lost when mixed with or + JDK-8327007: javax/swing/JSpinner/8008657/bug8008657.java fails + JDK-8327040: Problemlist ActionListenerCalledTwiceTest.java test failing in macos14 + JDK-8327137: Add test for ConcurrentModificationException in BasicDirectoryModel + JDK-8327401: Some jtreg tests fail on Wayland without any tracking bug + JDK-8327423: C2 remove_main_post_loops: check if main-loop belongs to pre-loop, not just assert + JDK-8327424: ProblemList serviceability/sa/TestJmapCore.java on all platforms with ZGC + JDK-8327501: Common ForkJoinPool prevents class unloading in some cases + JDK-8327650: Test java/nio/channels/DatagramChannel/ /StressNativeSignal.java timed out + JDK-8327787: Convert javax/swing/border/Test4129681.java applet test to main + JDK-8327840: Automate javax/swing/border/Test4129681.java + JDK-8327990: [macosx-aarch64] Various tests fail with - XX:+AssertWXAtThreadSync + JDK-8328011: Convert java/awt/Frame/GetBoundsResizeTest/ /GetBoundsResizeTest.java applet test to main + JDK-8328075: Shenandoah: Avoid forwarding when objects don't move in full-GC + JDK-8328110: Allow simultaneous use of PassFailJFrame with split UI and additional windows + JDK-8328115: Convert java/awt/font/TextLayout/ /TestJustification.html applet test to main + JDK-8328158: Convert java/awt/Choice/NonFocusablePopupMenuTest to automatic main test + JDK-8328218: Delete test java/awt/Window/FindOwner/FindOwner.html + JDK-8328234: Remove unused nativeUtils files + JDK-8328238: Convert few closed manual applet tests to main + JDK-8328269: NonFocusablePopupMenuTest.java should be marked as headful + JDK-8328273: sun/management/jmxremote/bootstrap/ /RmiRegistrySslTest.java failed with java.rmi.server.ExportException: Port already in use + JDK-8328366: Thread.setContextClassloader from thread in FJP commonPool task no longer works after JDK-8327501 + JDK-8328560: java/awt/event/MouseEvent/ClickDuringKeypress/ /ClickDuringKeypress.java imports Applet + JDK-8328561: test java/awt/Robot/ManualInstructions/ /ManualInstructions.java isn't used + JDK-8328642: Convert applet test MouseDraggedOutCauseScrollingTest.html to main + JDK-8328647: TestGarbageCollectorMXBean.java fails with C1-only and -Xcomp + JDK-8328697: SubMenuShowTest and SwallowKeyEvents tests stabilization + JDK-8328785: IOException: Symbol not found: C_GetInterface for PKCS11 interface prior to V3.0 + JDK-8328896: Fontmetrics for large Fonts has zero width + JDK-8328953: JEditorPane.read throws ChangedCharSetException + JDK-8328999: Update GIFlib to 5.2.2 + JDK-8329004: Update Libpng to 1.6.43 + JDK-8329088: Stack chunk thawing races with concurrent GC stack iteration + JDK-8329103: assert(!thread->in_asgct()) failed during multi-mode profiling + JDK-8329126: No native wrappers generated anymore with - XX:-TieredCompilation after JDK-8251462 + JDK-8329134: Reconsider TLAB zapping + JDK-8329258: TailCall should not use frame pointer register for jump target + JDK-8329510: Update ProblemList for JFileChooser/8194044/FileSystemRootTest.java + JDK-8329559: Test javax/swing/JFrame/bug4419914.java failed because The End and Start buttons are not placed correctly and Tab focus does not move as expected + JDK-8329665: fatal error: memory leak: allocating without ResourceMark + JDK-8329667: [macos] Issue with JTree related fix for JDK-8317771 + JDK-8329995: Restricted access to `/proc` can cause JFR initialization to crash + JDK-8330027: Identity hashes of archived objects must be based on a reproducible random seed + JDK-8330063: Upgrade jQuery to 3.7.1 + JDK-8330133: libj2pkcs11.so crashes on some pkcs#11 v3.0 libraries + JDK-8330146: assert(!_thread->is_in_any_VTMS_transition()) failed + JDK-8330520: linux clang build fails in os_linux.cpp with static_assert with no message is a C++17 extension + JDK-8330576: ZYoungCompactionLimit should have range check + JDK-8330611: AES-CTR vector intrinsic may read out of bounds (x86_64, AVX-512) + JDK-8330748: ByteArrayOutputStream.writeTo(OutputStream) pins carrier + JDK-8330814: Cleanups for KeepAliveCache tests + JDK-8330819: C2 SuperWord: bad dominance after pre-loop limit adjustment with base that has CastLL after pre-loop + JDK-8330849: Add test to verify memory usage with recursive locking + JDK-8330981: ZGC: Should not dedup strings in the finalizer graph + JDK-8331011: [XWayland] TokenStorage fails under Security Manager + JDK-8331063: Some HttpClient tests don't report leaks + JDK-8331077: nroff man page update for jar tool + JDK-8331142: Add test for number of loader threads in BasicDirectoryModel + JDK-8331153: JFR: Improve logging of jdk/jfr/api/consumer/filestream/TestOrdered.java + JDK-8331164: createJMHBundle.sh download jars fail when url needed to be redirected + JDK-8331266: Bump update version for OpenJDK: jdk-21.0.5 + JDK-8331405: Shenandoah: Optimize ShenandoahLock with TTAS + JDK-8331411: Shenandoah: Reconsider spinning duration in ShenandoahLock + JDK-8331421: ubsan: vmreg.cpp checking error member call on misaligned address + JDK-8331495: Limit BasicDirectoryModel/LoaderThreadCount.java to Windows only + JDK-8331518: Tests should not use the "Classpath" exception form of the legal header + JDK-8331572: Allow using OopMapCache outside of STW GC phases + JDK-8331573: Rename CollectedHeap::is_gc_active to be explicitly about STW GCs + JDK-8331575: C2: crash when ConvL2I is split thru phi at LongCountedLoop + JDK-8331605: jdk/test/lib/TestMutuallyExclusivePlatformPredicates.java test failure + JDK-8331626: unsafe.cpp:162:38: runtime error in index_oop_from_field_offset_long - applying non-zero offset 4563897424 to null pointer + JDK-8331714: Make OopMapCache installation lock-free + JDK-8331731: ubsan: relocInfo.cpp:155:30: runtime error: applying non-zero offset to null pointer + JDK-8331746: Create a test to verify that the cmm id is not ignored + JDK-8331771: ZGC: Remove OopMapCacheAlloc_lock ordering workaround + JDK-8331789: ubsan: deoptimization.cpp:403:29: runtime error: load of value 208, which is not a valid value for type 'bool' + JDK-8331798: Remove unused arg of checkErgonomics() in TestMaxHeapSizeTools.java + JDK-8331854: ubsan: copy.hpp:218:10: runtime error: addition of unsigned offset to 0x7fc2b4024518 overflowed to 0x7fc2b4024510 + JDK-8331863: DUIterator_Fast used before it is constructed + JDK-8331885: C2: meet between unloaded and speculative types is not symmetric + JDK-8331931: JFR: Avoid loading regex classes during startup + JDK-8331999: BasicDirectoryModel/LoaderThreadCount.java frequently fails on Windows in CI + JDK-8332008: Enable issuestitle check + JDK-8332113: Update nsk.share.Log to be always verbose + JDK-8332154: Memory leak in SynchronousQueue + JDK-8332174: Remove 2 (unpaired) RLO Unicode characters in ff_Adlm.xml + JDK-8332248: (fc) java/nio/channels/FileChannel/ /BlockDeviceSize.java failed with RuntimeException + JDK-8332424: Update IANA Language Subtag Registry to Version 2024-05-16 + JDK-8332431: NullPointerException in JTable of SwingSet2 + JDK-8332473: ubsan: growableArray.hpp:290:10: runtime error: null pointer passed as argument 1, which is declared to never be null + JDK-8332490: JMH org.openjdk.bench.java.util.zip .InflaterInputStreams.inflaterInputStreamRead OOM + JDK-8332499: Gtest codestrings.validate_vm fail on linux x64 when hsdis is present + JDK-8332524: Instead of printing "TLSv1.3," it is showing "TLS13" + JDK-8332589: ubsan: unix/native/libjava/ProcessImpl_md.c:562:5: runtime error: null pointer passed as argument 2, which is declared to never be null + JDK-8332675: test/hotspot/jtreg/gc/testlibrary/Helpers.java compileClass javadoc does not match after 8321812 + JDK-8332699: ubsan: jfrEventSetting.inline.hpp:31:43: runtime error: index 163 out of bounds for type 'jfrNativeEventSetting [162]' + JDK-8332717: ZGC: Division by zero in heuristics + JDK-8332720: ubsan: instanceKlass.cpp:3550:76: runtime error: member call on null pointer of type 'struct Array' + JDK-8332818: ubsan: archiveHeapLoader.cpp:70:27: runtime error: applying non-zero offset 18446744073707454464 to null pointer + JDK-8332825: ubsan: guardedMemory.cpp:35:11: runtime error: null pointer passed as argument 2, which is declared to never be null + JDK-8332885: Clarify failure_handler self-tests + JDK-8332894: ubsan: vmError.cpp:2090:26: runtime error: division by zero + JDK-8332898: failure_handler: log directory of commands + JDK-8332903: ubsan: opto/output.cpp:1002:18: runtime error: load of value 171, which is not a valid value for type 'bool' + JDK-8332904: ubsan ppc64le: c1_LIRGenerator_ppc.cpp:581:21: runtime error: signed integer overflow: 9223372036854775807 + 1 cannot be represented in type 'long int' + JDK-8332905: C2 SuperWord: bad AD file, with RotateRightV and first operand not a pack + JDK-8332920: C2: Partial Peeling is wrongly applied for CmpU with negative limit + JDK-8332935: Crash: assert(*lastPtr != 0) failed: Mismatched JNINativeInterface tables, check for new entries + JDK-8332936: Test vmTestbase/metaspace/gc/watermark_70_80/ /TestDescription.java fails with no GC's recorded + JDK-8332959: C2: ZGC fails with 'Incorrect load shift' when invoking Object.clone() reflectively on an array + JDK-8333088: ubsan: shenandoahAdaptiveHeuristics.cpp:245:44: runtime error: division by zero + JDK-8333093: Incorrect comment in zAddress_aarch64.cpp + JDK-8333099: Missing check for is_LoadVector in StoreNode::Identity + JDK-8333149: ubsan : memset on nullptr target detected in jvmtiEnvBase.cpp get_object_monitor_usage + JDK-8333178: ubsan: jvmti_tools.cpp:149:16: runtime error: null pointer passed as argument 2, which is declared to never be null + JDK-8333270: HandlersOnComplexResetUpdate and HandlersOnComplexUpdate tests fail with "Unexpected reference" if timeoutFactor is less than 1/3 + JDK-8333277: ubsan: mlib_ImageScanPoly.c:292:43: runtime error: division by zero + JDK-8333353: Delete extra empty line in CodeBlob.java + JDK-8333354: ubsan: frame.inline.hpp:91:25: and src/hotspot/share/runtime/frame.inline.hpp:88:29: runtime error: member call on null pointer of type 'const struct SmallRegisterMap' + JDK-8333361: ubsan,test : libHeapMonitorTest.cpp:518:9: runtime error: null pointer passed as argument 2, which is declared to never be null + JDK-8333363: ubsan: instanceKlass.cpp: runtime error: member call on null pointer of type 'struct AnnotationArray' + JDK-8333366: C2: CmpU3Nodes are not pushed back to worklist in PhaseCCP leading to non-fixpoint assertion failure + JDK-8333398: Uncomment the commented test in test/jdk/java/ /util/jar/JarFile/mrjar/MultiReleaseJarAPI.java + JDK-8333462: Performance regression of new DecimalFormat() when compare to jdk11 + JDK-8333477: Delete extra empty spaces in Makefiles + JDK-8333542: Breakpoint in parallel code does not work + JDK-8333622: ubsan: relocInfo_x86.cpp:101:56: runtime error: pointer index expression with base (-1) overflowed + JDK-8333639: ubsan: cppVtables.cpp:81:55: runtime error: index 14 out of bounds for type 'long int [1]' + JDK-8333652: RISC-V: compiler/vectorapi/ /VectorGatherMaskFoldingTest.java fails when using RVV + JDK-8333716: Shenandoah: Check for disarmed method before taking the nmethod lock + JDK-8333724: Problem list security/infra/java/security/cert/ /CertPathValidator/certification/CAInterop.java [#]teliasonerarootcav1 + JDK-8333804: java/net/httpclient/ForbiddenHeadTest.java threw an exception with 0 failures + JDK-8333887: ubsan: unsafe.cpp:247:13: runtime error: store to null pointer of type 'volatile int' + JDK-8334078: RISC-V: TestIntVect.java fails after JDK-8332153 when running without RVV + JDK-8334123: log the opening of Type 1 fonts + JDK-8334166: Enable binary check + JDK-8334239: Introduce macro for ubsan method/function exclusions + JDK-8334297: (so) java/nio/channels/SocketChannel/OpenLeak.java should not depend on SecurityManager + JDK-8334332: TestIOException.java fails if run by root + JDK-8334333: MissingResourceCauseTestRun.java fails if run by root + JDK-8334339: Test java/nio/file/attribute/ /BasicFileAttributeView/CreationTime.java fails on alinux3 + JDK-8334418: Update IANA Language Subtag Registry to Version 2024-06-14 + JDK-8334421: assert(!oldbox->is_unbalanced()) failed: this should not be called for unbalanced region + JDK-8334482: Shenandoah: Deadlock when safepoint is pending during nmethods iteration + JDK-8334592: ProblemList serviceability/jvmti/stress/ /StackTrace/NotSuspended/ /GetStackTraceNotSuspendedStressTest.java in jdk21 on all platforms + JDK-8334594: Generational ZGC: Deadlock after OopMap rewrites in 8331572 + JDK-8334600: TEST java/net/MulticastSocket/IPMulticastIF.java fails on linux-aarch64 + JDK-8334618: ubsan: support setting additional ubsan check options + JDK-8334653: ISO 4217 Amendment 177 Update + JDK-8334769: Shenandoah: Move CodeCache_lock close to its use in ShenandoahConcurrentNMethodIterator + JDK-8334867: Add back assertion from JDK-8325494 + JDK-8335007: Inline OopMapCache table + JDK-8335134: Test com/sun/jdi/BreakpointOnClassPrepare.java timeout + JDK-8335150: Test LogGeneratedClassesTest.java fails on rpmbuild mock enviroment + JDK-8335237: ubsan: vtableStubs.hpp is_vtable_stub exclude from ubsan checks + JDK-8335283: Build failure due to 'no_sanitize' attribute directive ignored + JDK-8335409: Can't allocate and retain memory from resource area in frame::oops_interpreted_do oop closure after 8329665 + JDK-8335493: check_gc_overhead_limit should reset SoftRefPolicy::_should_clear_all_soft_refs + JDK-8335536: Fix assertion failure in IdealGraphPrinter when append is true + JDK-8335743: jhsdb jstack cannot print some information on the waiting thread + JDK-8335775: Remove extraneous 's' in comment of rawmonitor.cpp test file + JDK-8335904: Fix invalid comment in ShenandoahLock + JDK-8335967: "text-decoration: none" does not work with "A" HTML tags + JDK-8336284: Test TestClhsdbJstackLock.java/ TestJhsdbJstackLock.java fails with -Xcomp after JDK-8335743 + JDK-8336301: test/jdk/java/nio/channels/ /AsyncCloseAndInterrupt.java leaves around a FIFO file upon test completion + JDK-8336342: Fix known X11 library locations in sysroot + JDK-8336343: Add more known sysroot library locations for ALSA + JDK-8336926: jdk/internal/util/ReferencedKeyTest.java can fail with ConcurrentModificationException + JDK-8336928: GHA: Bundle artifacts removal broken + JDK-8337038: Test java/nio/file/attribute/ /BasicFileAttributeView/CreationTime.java shoud set as /native + JDK-8337283: configure.log is truncated when build dir is on different filesystem + JDK-8337622: IllegalArgumentException in java.lang.reflect.Field.get + JDK-8337664: Distrust TLS server certificates issued after Oct 2024 and anchored by Entrust Root CAs + JDK-8338139: {ClassLoading,Memory}MXBean::isVerbose methods are inconsistent with their setVerbose methods + JDK-8338286: GHA: Demote x86_32 to hotspot build only + JDK-8338696: (fs) BasicFileAttributes.creationTime() falls back to epoch if birth time is unavailable (Linux) + JDK-8339869: [21u] Test CreationTime.java fails with UnsatisfiedLinkError after 8334339 + JDK-8341057: Add 2 SSL.com TLS roots + JDK-8341059: Change Entrust TLS distrust date to November 12, 2024 + JDK-8341674: [21u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 21.0.5 + JDK-8341989: [21u] Back out JDK-8327501 and JDK-8328366- Update to upstream tag jdk-21.0.4+7 (July 2024 CPU) * Security fixes + JDK-8314794, CVE-2024-21131, bsc#1228046: Improve UTF8 String supports + JDK-8319859, CVE-2024-21138, bsc#1228047: Better symbol storage + JDK-8320097: Improve Image transformations + JDK-8320548, CVE-2024-21140, bsc#1228048: Improved loop handling + JDK-8323231, CVE-2024-21147, bsc#1228052: Improve array management + JDK-8323390: Enhance mask blit functionality + JDK-8324559, CVE-2024-21145, bsc#1228051: Improve 2D image handling + JDK-8325600: Better symbol storage + JDK-8327413: Enhance compilation efficiency * Other changes + JDK-7001133: OutOfMemoryError by CustomMediaSizeName implementation + JDK-8159927: Add a test to verify JMOD files created in the images do not have debug symbols + JDK-8185862: AWT Assertion Failure in ::GetDIBits(hBMDC, hBM, 0, 1, 0, gpBitmapInfo, 0) 'awt_Win32GraphicsDevice.cpp', at line 185 + JDK-8187759: Background not refreshed when painting over a transparent JFrame + JDK-8223696: java/net/httpclient/MaxStreams.java failed with didn't finish within the time-out + JDK-8259866: two java.util tests failed with "IOException: There is not enough space on the disk" + JDK-8266242: java/awt/GraphicsDevice/CheckDisplayModes.java failing on macOS 11 ARM + JDK-8278527: java/util/concurrent/tck/JSR166TestCase.java fails nanoTime test + JDK-8280056: gtest/LargePageGtests.java#use-large-pages failed "os.release_one_mapping_multi_commits_vm" + JDK-8281658: Add a security category to the java - XshowSettings option + JDK-8288936: Wrong lock ordering writing G1HeapRegionTypeChange JFR event + JDK-8288989: Make tests not depend on the source code + JDK-8293069: Make -XX:+Verbose less verbose + JDK-8293850: need a largest_committed metric for each category of NMT's output + JDK-8294699: Launcher causes lingering busy cursor + JDK-8294985: SSLEngine throws IAE during parsing of X500Principal + JDK-8295111: dpkg appears to have problems resolving symbolically linked native libraries + JDK-8299023: TestPLABResize.java and TestPLABPromotion.java are failing intermittently + JDK-8301183: (zipfs) jdk/jdk/nio/zipfs/ /TestLocOffsetFromZip64EF.java failing with ZipException:R0 on OL9 + JDK-8303525: Refactor/cleanup open/test/jdk/javax/rmi/ssl/SSLSocketParametersTest.java + JDK-8303773: Replace "main.wrapper" with "test.thread.factory" property in test code + JDK-8303891: Speed up Zip64SizeTest using a small ZIP64 file + JDK-8303959: tools/jpackage/share/RuntimePackageTest.java fails with java.lang.AssertionError missing files + JDK-8303972: (zipfs) Make test/jdk/jdk/nio/zipfs/ /TestLocOffsetFromZip64EF.java independent of the zip command line + JDK-8304839: Move TestScaffold.main() to the separate class DebugeeWrapper + JDK-8305645: System Tray icons get corrupted when Windows primary monitor changes + JDK-8305931: jdk/jfr/jcmd/TestJcmdDumpPathToGCRoots.java failed with "Expected chains but found none" + JDK-8306040: HttpResponseInputStream.available() returns 1 on empty stream + JDK-8308144: Uncontrolled memory consumption in SSLFlowDelegate.Reader + JDK-8308453: Convert JKS test keystores in test/jdk/javax/net/ssl/etc to PKCS12 + JDK-8309142: Refactor test/langtools/tools/javac/versions/ /Versions.java + JDK-8309752: com/sun/jdi/SetLocalWhileThreadInNative.java fails with virtual test thread factory due to OpaqueFrameException + JDK-8309757: com/sun/jdi/ReferrersTest.java fails with virtual test thread factory + JDK-8309763: Move tests in test/jdk/sun/misc/URLClassPath directory to test/jdk/jdk/internal/loader + JDK-8309871: jdk/jfr/api/consumer/recordingstream/ /TestSetEndTime.java timed out + JDK-8309890: TestStringDeduplicationInterned.java waits for the wrong condition + JDK-8310070: Test javax/net/ssl/DTLS/DTLSWontNegotiateV10.java timed out + JDK-8310228: Improve error reporting for uncaught native exceptions on Windows + JDK-8310234: Refactor Locale tests to use JUnit + JDK-8310355: Move the stub test from initialize_final_stubs() to test/hotspot/gtest + JDK-8310513: [s390x] Intrinsify recursive ObjectMonitor locking + JDK-8310731: Configure a javax.net.ssl.SNIMatcher for the HTTP/1.1 test servers in java/net/httpclient tests + JDK-8310818: Refactor more Locale tests to use JUnit + JDK-8310913: Move ReferencedKeyMap to jdk.internal so it may be shared + JDK-8311792: java/net/httpclient/ResponsePublisher.java fails intermittently with AssertionError: Found some outstanding operations + JDK-8311823: JFR: Uninitialized EventEmitter::_thread_id field + JDK-8311881: jdk/javax/swing/ProgressMonitor/ProgressTest.java does not show the ProgressMonitorInputStream all the time + JDK-8311964: Some jtreg tests failing on x86 with error 'unrecognized VM options' (C2 flags) + JDK-8312014: [s390x] TestSigInfoInHsErrFile.java Failure + JDK-8312194: test/hotspot/jtreg/applications/ctw/modules/ /jdk_crypto_ec.java cannot handle empty modules + JDK-8312218: Print additional debug information when hitting assert(in_hash) + JDK-8312320: Remove javax/rmi/ssl/SSLSocketParametersTest.sh from ProblemList + JDK-8312383: Log X509ExtendedKeyManager implementation class name in TLS/SSL connection + JDK-8312498: Thread::getState and JVM TI GetThreadState should return TIMED_WAITING virtual thread is timed parked + JDK-8312777: notifyJvmtiMount before notifyJvmtiUnmount 8321270: Virtual Thread.yield consumes parking permit + JDK-8313394: Array Elements in OldObjectSample event has the incorrect description + JDK-8313612: Use JUnit in lib-test/jdk tests + JDK-8313702: Update IANA Language Subtag Registry to Version 2023-08-02 + JDK-8313710: jcmd: typo in the documentation of JFR.start and JFR.dump + JDK-8313899: JVMCI exception Translation can fail in TranslatedException. + JDK-8314573: G1: Heap resizing at Remark does not take existing eden regions into account + JDK-8314824: Fix serviceability/jvmti/8036666/ /GetObjectLockCount.java to use vm flags + JDK-8314828: Mark 3 jcmd command-line options test as vm.flagless + JDK-8314832: Few runtime/os tests ignore vm flags + JDK-8314975: JavadocTester should set source path if not specified + JDK-8315071: Modify TrayIconScalingTest.java, PrintLatinCJKTest.java to use new PassFailJFrame's builder pattern usage + JDK-8315117: Update Zlib Data Compression Library to Version 1.3 + JDK-8315373: Change VirtualThread to unmount after freezing, re-mount before thawing + JDK-8315485: (fs) Move java/nio/file/Path/Misc.java tests into java/nio/file/Path/PathOps.java + JDK-8315503: G1: Code root scan causes long GC pauses due to imbalanced iteration + JDK-8315559: Delay TempSymbol cleanup to avoid symbol table churn + JDK-8315605: G1: Add number of nmethods in code roots scanning statistics + JDK-8315609: Open source few more swing text/html tests + JDK-8315652: RISC-V: Features string uses wrong separator for jtreg + JDK-8315663: Open source misc awt tests + JDK-8315677: Open source few swing JFileChooser and other tests + JDK-8315741: Open source few swing JFormattedTextField and JPopupMenu tests + JDK-8315824: Open source several Swing Text/HTML related tests + JDK-8315834: Open source several Swing JSpinner related tests + JDK-8315889: Open source several Swing HTMLDocument related tests + JDK-8315898: Open source swing JMenu tests + JDK-8315998: Remove dead ClassLoaderDataGraphKlassIteratorStatic + JDK-8316002: Remove unnecessary seen_dead_loader in ClassLoaderDataGraph::do_unloading + JDK-8316053: Open some swing tests 3 + JDK-8316138: Add GlobalSign 2 TLS root certificates + JDK-8316154: Opensource JTextArea manual tests + JDK-8316164: Opensource JMenuBar manual test + JDK-8316186: RISC-V: Remove PlatformCmpxchg<4> + JDK-8316228: jcmd tests are broken by 8314828 + JDK-8316242: Opensource SwingGraphics manual test + JDK-8316451: 6 java/lang/instrument/PremainClass tests ignore VM flags + JDK-8316460: 4 javax/management tests ignore VM flags + JDK-8316559: Refactor some util/Calendar tests to JUnit + JDK-8316563: test tools/jpackage/linux/LinuxResourceTest.java fails on CentOS Linux release 8.5.2111 and Fedora 27 + JDK-8316608: Enable parallelism in vmTestbase/gc/vector tests + JDK-8316669: ImmutableOopMapSet destructor not called + JDK-8316670: Remove effectively unused nmethodBucket::_count + JDK-8316696: Remove the testing base classes: IntlTest and CollatorTest + JDK-8316924: java/lang/Thread/virtual/stress/ParkALot.java times out + JDK-8316959: Improve InlineCacheBuffer pending queue management + JDK-8317007: Add bulk removal of dead nmethods during class unloading + JDK-8317235: Remove Access API use in nmethod class + JDK-8317287: [macos14] InterJVMGetDropSuccessTest.java: Child VM: abnormal termination + JDK-8317350: Move code cache purging out of CodeCache::UnloadingScope + JDK-8317440: Lock rank checking fails when code root set is modified with the Servicelock held after JDK-8315503 + JDK-8317600: VtableStubs::stub_containing() table load not ordered wrt to stores + JDK-8317631: Refactor ChoiceFormat tests to use JUnit + JDK-8317677: Specialize Vtablestubs::entry_for() for VtableBlob + JDK-8317809: Insertion of free code blobs into code cache can be very slow during class unloading + JDK-8317965: TestLoadLibraryDeadlock.java fails with "Unable to load native library.: expected true, was false" + JDK-8318109: Writing JFR records while a CHT has taken its lock asserts in rank checking + JDK-8318322: Update IANA Language Subtag Registry to Version 2023-10-16 + JDK-8318455: Fix the compiler/sharedstubs/ /SharedTrampolineTest.java and SharedStubToInterpTest.java + JDK-8318580: "javax/swing/MultiMonitor/MultimonVImage.java failing with Error. Can't find library: /open/test/jdk/java/ /awt/regtesthelpers" after JDK-8316053 + JDK-8318585: Rename CodeCache::UnloadingScope to UnlinkingScope + JDK-8318599: HttpURLConnection cache issues leading to crashes in JGSS w/ native GSS introduced by 8303809 + JDK-8318720: G1: Memory leak in G1CodeRootSet after JDK-8315503 + JDK-8318727: Enable parallelism in vmTestbase/vm/gc/concurrent tests + JDK-8318757: VM_ThreadDump asserts in interleaved ObjectMonitor::deflate_monitor calls + JDK-8318854: [macos14] Running any AWT app prints Secure coding warning + JDK-8318962: Update ProcessTools javadoc with suggestions in 8315097 + JDK-8318986: Improve GenericWaitBarrier performance + JDK-8319048: Monitor deflation unlink phase prolongs time to safepoint + JDK-8319153: Fix: Class is a raw type in ProcessTools + JDK-8319265: TestLoadLibraryDeadlock.java fails on windows-x64 "Unable to load b.jar" + JDK-8319338: tools/jpackage/share/RuntimeImageTest.java fails with -XX:+UseZGC + JDK-8319376: ParallelGC: Forwarded objects found during heap inspection + JDK-8319437: NMT should show library names in call stacks + JDK-8319567: Update java/lang/invoke tests to support vm flags + JDK-8319568: Update java/lang/reflect/exeCallerAccessTest/ /CallerAccessTest.java to accept vm flags + JDK-8319571: Update jni/nullCaller/NullCallerTest.java to accept flags or mark as flagless + JDK-8319574: Exec/process tests should be marked as flagless + JDK-8319578: Few java/lang/instrument ignore test.java.opts and accept test.vm.opts only + JDK-8319647: Few java/lang/System/LoggerFinder/modules tests ignore vm flags + JDK-8319648: java/lang/SecurityManager tests ignore vm flags + JDK-8319650: Improve heap dump performance with class metadata caching + JDK-8319651: Several network tests ignore vm flags when start java process + JDK-8319672: Several classloader tests ignore VM flags + JDK-8319676: A couple of jdk/modules/incubator/ tests ignore VM flags + JDK-8319677: Test jdk/internal/misc/VM/RuntimeArguments.java should be marked as flagless + JDK-8319713: Parallel: Remove PSAdaptiveSizePolicy::should_full_GC + JDK-8319757: java/nio/channels/DatagramChannel/ /InterruptibleOrNot.java failed: wrong exception thrown + JDK-8319876: Reduce memory consumption of VM_ThreadDump::doit + JDK-8319896: Remove monitor deflation from final audit + JDK-8319955: Improve dependencies removal during class unloading + JDK-8320005: Allow loading of shared objects with .a extension on AIX + JDK-8320061: [nmt] Multiple issues with peak accounting + JDK-8320113: [macos14] : ShapeNotSetSometimes.java fails intermittently on macOS 14 + JDK-8320129: "top" command during jtreg failure handler does not display CPU usage on OSX + JDK-8320275: assert(_chunk->bitmap().at(index)) failed: Bit not set at index + JDK-8320331: G1 Full GC Heap verification relies on metadata not reset before verification + JDK-8320342: Use PassFailJFrame for TruncatedPopupMenuTest.java + JDK-8320343: Generate GIF images for AbstractButton/5049549/bug5049549.java + JDK-8320349: Simplify FileChooserSymLinkTest.java by using single-window testUI + JDK-8320365: IPPPrintService.getAttributes() causes blanket re-initialisation + JDK-8320370: NMT: Change MallocMemorySnapshot to simplify code. + JDK-8320515: assert(monitor->object_peek() != nullptr) failed: Owned monitors should not have a dead object + JDK-8320525: G1: G1UpdateRemSetTrackingBeforeRebuild::distribute_marked_bytes accesses partially unloaded klass + JDK-8320570: NegativeArraySizeException decoding >1G UTF8 bytes with non-ascii characters + JDK-8320681: [macos] Test tools/jpackage/macosx/ /MacAppStoreJlinkOptionsTest.java timed out on macOS + JDK-8320692: Null icon returned for .exe without custom icon + JDK-8320707: Virtual thread test updates + JDK-8320712: Rewrite BadFactoryTest in pure Java + JDK-8320714: java/util/Locale/LocaleProvidersRun.java and java/util/ResourceBundle/modules/visibility/ /VisibilityTest.java timeout after passing + JDK-8320715: Improve the tests of test/hotspot/jtreg/compiler/intrinsics/float16 + JDK-8320924: Improve heap dump performance by optimizing archived object checks + JDK-8321075: RISC-V: UseSystemMemoryBarrier lacking proper OS support + JDK-8321107: Add more test cases for JDK-8319372 + JDK-8321163: [test] OutputAnalyzer.getExitValue() unnecessarily logs even when process has already completed + JDK-8321182: SourceExample.SOURCE_14 comment should refer to 'switch expressions' instead of 'text blocks' + JDK-8321276: runtime/cds/appcds/dynamicArchive/ /DynamicSharedSymbols.java failed with "'17 2: jdk/test/lib/apps ' missing from stdout/stderr" + JDK-8321489: Update LCMS to 2.16 + JDK-8321713: Harmonize executeTestJvm with create[Limited]TestJavaProcessBuilder + JDK-8321718: ProcessTools.executeProcess calls waitFor before logging + JDK-8321812: Update GC tests to use execute[Limited]TestJava + JDK-8321815: Shenandoah: gc state should be synchronized to java threads only once per safepoint + JDK-8321925: sun/security/mscapi/KeytoolChangeAlias.java fails with "Alias <246810> does not exist" + JDK-8322239: [macos] a11y : java.lang.NullPointerException is thrown when focus is moved on the JTabbedPane + JDK-8322477: order of subclasses in the permits clause can differ between compilations + JDK-8322503: Shenandoah: Clarify gc state usage + JDK-8322818: Thread::getStackTrace can fail with InternalError if virtual thread is timed-parked when pinned + JDK-8322846: Running with -Djdk.tracePinnedThreads set can hang + JDK-8322858: compiler/c2/aarch64/TestFarJump.java fails on AArch64 due to unexpected PrintAssembly output + JDK-8322920: Some ProcessTools.execute* functions are declared to throw Throwable + JDK-8322962: Upcall stub might go undetected when freezing frames + JDK-8323002: test/jdk/java/lang/Thread/virtual/stress/ /GetStackTraceALotWhenPinned.java times out on macosx-x64 + JDK-8323170: j2dbench is using outdated javac source/target to be able to build by itself + JDK-8323210: Update the usage of cmsFLAGS_COPY_ALPHA + JDK-8323276: StressDirListings.java fails on AIX + JDK-8323296: java/lang/Thread/virtual/stress/ /GetStackTraceALotWhenPinned.java#id1 timed out + JDK-8323519: Add applications/ctw/modules to Hotspot tiered testing + JDK-8323595: is_aligned(p, alignof(OopT))) assertion fails in Jetty without compressed OOPs + JDK-8323635: Test gc/g1/TestHumongousAllocConcurrentStart.java fails with -XX:TieredStopAtLevel=3 + JDK-8323685: PrintSystemDictionaryAtExit has mutex rank assert + JDK-8323994: gtest runner repeats test name for every single gtest assertion + JDK-8324121: SIGFPE in PhaseIdealLoop::extract_long_range_checks + JDK-8324123: aarch64: fix prfm literal encoding in assembler + JDK-8324236: compiler/ciReplay/ /TestInliningProtectionDomain.java failed with RuntimeException: should only dump inline information for ... expected true, was false + JDK-8324238: [macOS] java/awt/Frame/ShapeNotSetSometimes/ /ShapeNotSetSometimes.java fails with the shape has not been applied msg + JDK-8324243: Compilation failures in java.desktop module with gcc 14 + JDK-8324632: Update Zlib Data Compression Library to Version 1.3.1 + JDK-8324646: Avoid Class.forName in SecureRandom constructor + JDK-8324648: Avoid NoSuchMethodError when instantiating NativePRNG + JDK-8324723: GHA: Upgrade some actions to avoid deprecated Node 16 + JDK-8324733: [macos14] Problem list tests which fail due to macOS bug described in JDK-8322653 + JDK-8324817: Parallel GC does not pre-touch all heap pages when AlwaysPreTouch enabled and large page disabled + JDK-8324824: AArch64: Detect Ampere-1B core and update default options for Ampere CPUs + JDK-8324834: Use _LARGE_FILES on AIX + JDK-8324933: ConcurrentHashTable::statistics_calculate synchronization is expensive + JDK-8324998: Add test cases for String.regionMatches comparing Turkic dotted/dotless I with uppercase latin I + JDK-8325024: java/security/cert/CertPathValidator/OCSP/ /OCSPTimeout.java incorrect comment information + JDK-8325028: (ch) Pipe channels should lazily set socket to non-blocking mode on first use by virtual thread + JDK-8325095: C2: bailout message broken: ResourceArea allocated string used after free + JDK-8325137: com/sun/management/ThreadMXBean/ /ThreadCpuTimeArray.java can fail in Xcomp with out of expected range + JDK-8325203: System.exit(0) kills the launched 3rd party application + JDK-8325213: Flags introduced by configure script are not passed to ADLC build + JDK-8325255: jdk.internal.util.ReferencedKeySet::add using wrong test + JDK-8325326: [PPC64] Don't relocate in case of allocation failure + JDK-8325372: Shenandoah: SIGSEGV crash in unnecessary_acquire due to LoadStore split through phi + JDK-8325432: enhance assert message "relocation addr must be in this section" + JDK-8325437: Safepoint polling in monitor deflation can cause massive logs + JDK-8325567: jspawnhelper without args fails with segfault + JDK-8325579: Inconsistent behavior in com.sun.jndi.ldap.Connection::createSocket + JDK-8325613: CTW: Stale method cleanup requires GC after Sweeper removal + JDK-8325621: Improve jspawnhelper version checks + JDK-8325743: test/jdk/java/nio/channels/unixdomain/ /SocketOptions.java enhance user name output in error case + JDK-8325862: set -XX:+ErrorFileToStderr when executing java in containers for some container related jtreg tests + JDK-8325908: Finish removal of IntlTest and CollatorTest + JDK-8325972: Add -x to bash for building with LOG=debug + JDK-8326006: Allow TEST_VM_FLAGLESS to set flagless mode + JDK-8326101: [PPC64] Need to bailout cleanly if creation of stubs fails when code cache is out of space + JDK-8326140: src/jdk.accessibility/windows/native/ /libjavaaccessbridge/AccessBridgeJavaEntryPoints.cpp ReleaseStringChars might be missing in early returns + JDK-8326201: [S390] Need to bailout cleanly if creation of stubs fails when code cache is out of space + JDK-8326351: Update the Zlib version in open/src/java.base/share/legal/zlib.md to 1.3.1 + JDK-8326446: The User and System of jdk.CPULoad on Apple M1 are inaccurate + JDK-8326496: [test] checkHsErrFileContent support printing hserr in error case + JDK-8326521: JFR: CompilerPhase event test fails on windows 32 bit + JDK-8326529: JFR: Test for CompilerCompile events fails due to time out + JDK-8326591: New test JmodExcludedFiles.java fails on Windows when --with-external-symbols-in-bundles=public is used + JDK-8326638: Crash in PhaseIdealLoop::remix_address_expressions due to unexpected Region instead of Loop + JDK-8326643: JDK server does not send a dummy change_cipher_spec record after HelloRetryRequest message + JDK-8326661: sun/java2d/cmm/ColorConvertOp/ColConvTest.java assumes profiles were generated by LCMS + JDK-8326685: Linux builds not reproducible if two builds configured in different build folders + JDK-8326718: Test java/util/Formatter/Padding.java should timeout on large inputs before fix in JDK-8299677 + JDK-8326773: Bump update version for OpenJDK: jdk-21.0.4 + JDK-8326824: Test: remove redundant test in compiler/vectorapi/reshape/utils/TestCastMethods.java + JDK-8326891: Prefer RPATH over RUNPATH for $ORIGIN rpaths in internal JDK binaries + JDK-8326936: RISC-V: Shenandoah GC crashes due to incorrect atomic memory operations + JDK-8326948: Force English locale for timeout formatting + JDK-8326960: GHA: RISC-V sysroot cannot be debootstrapped due to ongoing Debian t64 transition + JDK-8326974: ODR violation in macroAssembler_aarch64.cpp + JDK-8327036: [macosx-aarch64] SIGBUS in MarkActivationClosure::do_code_blob reached from Unsafe_CopySwapMemory0 + JDK-8327059: os::Linux::print_proc_sys_info add swappiness information + JDK-8327096: (fc) java/nio/channels/FileChannel/Size.java fails on partition incapable of creating large files + JDK-8327136: javax/management/remote/mandatory/notif/ /NotifReconnectDeadlockTest.java fails on libgraal + JDK-8327180: Failed: java/io/ObjectStreamClass/ObjectStreamClassCaching.java#G1 + JDK-8327261: Parsing test for Double/Float succeeds w/o testing all bad cases + JDK-8327468: Do not restart close if errno is EINTR [macOS/linux] + JDK-8327474: Review use of java.io.tmpdir in jdk tests + JDK-8327486: java/util/Properties/PropertiesStoreTest.java fails "Text 'xxx' could not be parsed at index 20" after JDK-8174269 + JDK-8327631: Update IANA Language Subtag Registry to Version 2024-03-07 + JDK-8327799: JFR view: the "Park Until" field of jdk.ThreadPark is invalid if the parking method is not absolute + JDK-8327971: Multiple ASAN errors reported for metaspace + JDK-8327988: When running ASAN, disable dangerous NMT test + JDK-8327989: java/net/httpclient/ManyRequest.java should not use "localhost" in URIs + JDK-8327998: Enable java/lang/ProcessBuilder/ /JspawnhelperProtocol.java on Mac + JDK-8328037: Test java/util/Formatter/Padding.java has unnecessary high heap requirement after JDK-8326718 + JDK-8328066: WhiteBoxResizeTest failure on linux-x86: Could not reserve enough space for 2097152KB object heap + JDK-8328165: improve assert(idx < _maxlrg) failed: oob + JDK-8328166: Epsilon: 'EpsilonHeap::allocate_work' misuses the parameter 'size' as size in bytes + JDK-8328168: Epsilon: Premature OOM when allocating object larger than uncommitted heap size + JDK-8328194: Add a test to check default rendering engine + JDK-8328524: [x86] StringRepeat.java failure on linux-x86: Could not reserve enough space for 2097152KB object heap + JDK-8328540: test javax/swing/JSplitPane/4885629/ /bug4885629.java fails on windows hidpi + JDK-8328555: hidpi problems for test java/awt/Dialog/ /DialogAnotherThread/JaWSTest.java + JDK-8328589: unify os::breakpoint among posix platforms + JDK-8328592: hprof tests fail with -XX:-CompactStrings + JDK-8328604: remove on_aix() function + JDK-8328638: Fallback option for POST-only OCSP requests + JDK-8328702: C2: Crash during parsing because sub type check is not folded + JDK-8328703: Illegal accesses in Java_jdk_internal_org_jline_terminal_impl_jna_linux_CLibraryImpl_ioctl0 + JDK-8328705: GHA: Cross-compilation jobs do not require build JDK + JDK-8328709: AIX os::get_summary_cpu_info support Power 10 + JDK-8328744: Parallel: Parallel GC throws OOM before heap is fully expanded + JDK-8328776: [AIX] remove checked_vmgetinfo, use vmgetinfo directly + JDK-8328812: Update and move siphash license + JDK-8328822: C2: "negative trip count?" assert failure in profile predicate code + JDK-8328825: Google CAInterop test failures + JDK-8328938: C2 SuperWord: disable vectorization for large stride and scale + JDK-8328948: GHA: Restoring sysroot from cache skips the build after JDK-8326960 + JDK-8328957: Update PKCS11Test.java to not use hardcoded path + JDK-8328988: [macos14] Problem list LightweightEventTest.java which fails due to macOS bug described in JDK-8322653 + JDK-8328997: Remove unnecessary template parameter lists in GrowableArray + JDK-8329013: StackOverflowError when starting Apache Tomcat with signed jar + JDK-8329109: Threads::print_on() tries to print CPU time for terminated GC threads + JDK-8329163: C2: possible overflow in PhaseIdealLoop::extract_long_range_checks() + JDK-8329213: Better validation for com.sun.security.ocsp.useget option + JDK-8329223: Parallel: Parallel GC resizes heap even if -Xms = -Xmx + JDK-8329545: [s390x] Fix garbage value being passed in Argument Register + JDK-8329570: G1: Excessive is_obj_dead_cond calls in verification + JDK-8329605: hs errfile generic events - move memory protections and nmethod flushes to separate sections + JDK-8329663: hs_err file event log entry for thread adding/removing should print current thread + JDK-8329823: RISC-V: Need to sync CPU features with related JVM flags + JDK-8329840: Fix ZPhysicalMemorySegment::_end type + JDK-8329850: [AIX] Allow loading of different members of same shared library archive + JDK-8329862: libjli GetApplicationHome cleanups and enhance jli tracing + JDK-8329961: Buffer overflow in os::Linux::kernel_version + JDK-8330011: [s390x] update block-comments to make code consistent + JDK-8330094: RISC-V: Save and restore FRM in the call stub + JDK-8330156: RISC-V: Range check auipc + signed 12 imm instruction + JDK-8330242: RISC-V: Simplify and remove CORRECT_COMPILER_ATOMIC_SUPPORT in atomic_linux_riscv.hpp + JDK-8330275: Crash in XMark::follow_array + JDK-8330464: hserr generic events - add entry for the before_exit calls + JDK-8330523: Reduce runtime and improve efficiency of KeepAliveTest + JDK-8330524: Linux ppc64le compile warning with clang in os_linux_ppc.cpp + JDK-8330615: avoid signed integer overflows in zip_util.c readCen / hashN + JDK-8330815: Use pattern matching for instanceof in KeepAliveCache + JDK-8331031: unify os::dont_yield and os::naked_yield across Posix platforms + JDK-8331113: createJMHBundle.sh support configurable maven repo mirror + JDK-8331167: UBSan enabled build fails in adlc on macOS + JDK-8331298: avoid alignment checks in UBSAN enabled build + JDK-8331331: :tier1 target explanation in doc/testing.md is incorrect + JDK-8331352: error: template-id not allowed for constructor/destructor in C++20 + JDK-8331466: Problemlist serviceability/dcmd/gc/ /RunFinalizationTest.java on generic-all + JDK-8331639: [21u]: Bump GHA bootstrap JDK to 21.0.3 + JDK-8331942: On Linux aarch64, CDS archives should be using 64K alignment by default + JDK-8332253: Linux arm32 build fails after 8292591 + JDK-8334441: Mark tests in jdk_security_infra group as manual + JDK-8335960: [21u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 21.0.4 - Added patch: * reproducible-javadoc-timestamp.patch + set javadoc timestamps to the time from SOURCE_DATE_EPOCH environmental variable if it is set- Require file for posttrans phase of the headless subpackage (bsc#1227298)- Update to upstream tag jdk-21.0.3+9 (April 2024 CPU) * Security fixes + JDK-8315708, CVE-2024-21012, bsc#1222987: Enhance HTTP/2 client usage + JDK-8318340: Improve RSA key implementations + JDK-8319851, CVE-2024-21011, bsc#1222979: Improve exception logging + JDK-8322122, CVE-2024-21068, bsc#1222983: Enhance generation of addresses * Other changes + JDK-6928542: Chinese characters in RTF are not decoded + JDK-8009550: PlatformPCSC should load versioned so + JDK-8077371: Binary files in JAXP test should be removed + JDK-8169475: WheelModifier.java fails by timeout + JDK-8209595: MonitorVmStartTerminate.java timed out + JDK-8210410: Refactor java.util.Currency:i18n shell tests to plain java tests + JDK-8261837: SIGSEGV in ciVirtualCallTypeData::translate_from + JDK-8263256: Test java/net/Inet6Address/serialize/ /Inet6AddressSerializationTest.java fails due to dynamic reconfigurations of network interface during test + JDK-8264899: C1: -XX:AbortVMOnException does not work if all methods in the call stack are compiled with C1 and there are no exception handlers + JDK-8274122: java/io/File/createTempFile/SpecialTempFile.java fails in Windows 11 + JDK-8295343: sun/security/pkcs11 tests fail on Linux RHEL 8.6 and newer + JDK-8296631: NSS tests failing on OL9 linux-aarch64 hosts + JDK-8301310: The SendRawSysexMessage test may cause a JVM crash + JDK-8304020: Speed up test/jdk/java/util/zip/ZipFile/ /TestTooManyEntries.java and clarify its purpose + JDK-8304292: Memory leak related to ClassLoader::update_class_path_entry_list + JDK-8305962: update jcstress to 0.16 + JDK-8305971: NPE in JavacProcessingEnvironment for missing enum constructor body + JDK-8306922: IR verification fails because IR dump is chopped up + JDK-8307408: Some jdk/sun/tools/jhsdb tests don't pass test JVM args to the debuggee JVM + JDK-8309109: AArch64: [TESTBUG] compiler/intrinsics/sha/cli/ /TestUseSHA3IntrinsicsOptionOnSupportedCPU.java fails on Neoverse N2 and V1 + JDK-8309203: C2: remove copy-by-value of GrowableArray for InterfaceSet + JDK-8309302: java/net/Socket/Timeouts.java fails with AssertionError on test temporal post condition + JDK-8309697: [TESTBUG] Remove "@requires vm.flagless" from jtreg vectorization tests + JDK-8310031: Parallel: Implement better work distribution for large object arrays in old gen + JDK-8310238: [test bug] javax/swing/JTableHeader/6889007/ /bug6889007.java fails + JDK-8310308: IR Framework: check for type and size of vector nodes + JDK-8310629: java/security/cert/CertPathValidator/OCSP/ /OCSPTimeout.java fails with RuntimeException Server not ready + JDK-8310631: test/jdk/sun/nio/cs/TestCharsetMapping.java is spuriously passing + JDK-8310807: java/nio/channels/DatagramChannel/Connect.java timed out + JDK-8310844: [AArch64] C1 compilation fails because monitor offset in OSR buffer is too large for immediate + JDK-8310919: runtime/ErrorHandling/ /TestAbortVmOnException.java times out due to core dumps taking a long time on OSX + JDK-8310923: Refactor Currency tests to use JUnit + JDK-8311081: KeytoolReaderP12Test.java fail on localized Windows platform + JDK-8311279: TestStressIGVNAndCCP.java failed with different IGVN traces for the same seed + JDK-8311581: Remove obsolete code and comments in TestLVT.java + JDK-8311588: C2: RepeatCompilation compiler directive does not choose stress seed randomly + JDK-8311663: Additional refactoring of Locale tests to JUnit + JDK-8311893: Interactive component with ARIA role 'tabpanel' does not have a programmatically associated name + JDK-8311986: Disable runtime/os/TestTracePageSizes.java for ShenandoahGC + JDK-8311992: Test java/lang/Thread/virtual/ /JfrEvents::testVirtualThreadPinned failed + JDK-8312136: Modify runtime/ErrorHandling/TestDwarf.java to split dwarf and decoder testing + JDK-8312416: Tests in Locale should have more descriptive names + JDK-8312428: PKCS11 tests fail with NSS 3.91 + JDK-8312916: Remove remaining usages of -Xdebug from test/hotspot/jtreg + JDK-8313082: Enable CreateCoredumpOnCrash for testing in makefiles + JDK-8313229: DHEKeySizing.java should be modified to use TLS versions TLSv1, TLSv1.1, TLSv1.2 + JDK-8313507: Remove pkcs11/Cipher/TestKATForGCM.java from ProblemList + JDK-8313621: test/jdk/jdk/internal/math/FloatingDecimal/ /TestFloatingDecimal should use RandomFactory + JDK-8313638: Add test for dump of resolved references + JDK-8313670: Simplify shared lib name handling code in some tests + JDK-8313720: C2 SuperWord: wrong result with - XX:+UseVectorCmov -XX:+UseCMoveUnconditionally + JDK-8313816: Accessing jmethodID might lead to spurious crashes + JDK-8313854: Some tests in serviceability area fail on localized Windows platform + JDK-8314164: java/net/HttpURLConnection/ /HttpURLConnectionExpectContinueTest.java fails intermittently in timeout + JDK-8314220: Configurable InlineCacheBuffer size + JDK-8314283: Support for NSS tests on aarch64 platforms + JDK-8314320: Mark runtime/CommandLine/ tests as flagless + JDK-8314333: Update com/sun/jdi/ProcessAttachTest.java to use ProcessTools.createTestJvm(..) + JDK-8314513: [IR Framework] Some internal IR Framework tests are failing after JDK-8310308 on PPC and Cascade Lake + JDK-8314578: Non-verifiable code is emitted when two guards declare pattern variables in colon-switch + JDK-8314610: hotspot can't compile with the latest of gtest because of + JDK-8314612: TestUnorderedReduction.java fails with - XX:MaxVectorSize=32 and -XX:+AlignVector + JDK-8314629: Generational ZGC: Clearing All SoftReferences log line lacks GCId + JDK-8314829: serviceability/sa/jmap-hprof/ /JMapHProfLargeHeapTest.java ignores vm flags + JDK-8314830: runtime/ErrorHandling/ tests ignore external VM flags + JDK-8314831: NMT tests ignore vm flags + JDK-8314835: gtest wrappers should be marked as flagless + JDK-8314837: 5 compiled/codecache tests ignore VM flags + JDK-8314838: 3 compiler tests ignore vm flags + JDK-8314990: Generational ZGC: Strong OopStorage stats reported as weak roots + JDK-8315034: File.mkdirs() occasionally fails to create folders on Windows shared folder + JDK-8315042: NPE in PKCS7.parseOldSignedData + JDK-8315097: Rename createJavaProcessBuilder + JDK-8315241: (fs) Move toRealPath tests in java/nio/file/Path/Misc.java to separate JUnit 5 test + JDK-8315406: [REDO] serviceability/jdwp/ /AllModulesCommandTest.java ignores VM flags + JDK-8315594: Open source few headless Swing misc tests + JDK-8315600: Open source few more headless Swing misc tests + JDK-8315602: Open source swing security manager test + JDK-8315611: Open source swing text/html and tree test + JDK-8315680: java/lang/ref/ReachabilityFenceTest.java should run with -Xbatch + JDK-8315721: CloseRace.java#id0 fails transiently on libgraal + JDK-8315726: Open source several AWT applet tests + JDK-8315731: Open source several Swing Text related tests + JDK-8315761: Open source few swing JList and JMenuBar tests + JDK-8315891: java/foreign/TestLinker.java failed with "error occurred while instantiating class TestLinker: null" + JDK-8315986: [macos14] javax/swing/JMenuItem/4654927/ /bug4654927.java: component must be showing on the screen to determine its location + JDK-8315988: Parallel: Make TestAggressiveHeap use createTestJvm + JDK-8316001: GC: Make TestArrayAllocatorMallocLimit use createTestJvm + JDK-8316028: Update FreeType to 2.13.2 + JDK-8316106: Open source few swing JInternalFrame and JMenuBar tests + JDK-8316132: CDSProtectionDomain::get_shared_protection_domain should check for exception + JDK-8316229: Enhance class initialization logging + JDK-8316309: AArch64: VMError::print_native_stack() crashes on Java native method frame + JDK-8316319: Generational ZGC: The SoftMaxHeapSize might be wrong when CDS decreases the MaxHeapSize + JDK-8316392: compiler/interpreter/ /TestVerifyStackAfterDeopt.java failed with SIGBUS in PcDescContainer::find_pc_desc_internal + JDK-8316410: GC: Make TestCompressedClassFlags use createTestJvm + JDK-8316445: Mark com/sun/management/HotSpotDiagnosticMXBean/ /CheckOrigin.java as vm.flagless + JDK-8316446: 4 sun/management/jdp tests ignore VM flags + JDK-8316447: 8 sun/management/jmxremote tests ignore VM flags + JDK-8316462: sun/jvmstat/monitor/MonitoredVm/ /MonitorVmStartTerminate.java ignores VM flags + JDK-8316464: 3 sun/tools tests ignore VM flags + JDK-8316562: serviceability/sa/jmap-hprof/ /JMapHProfLargeHeapTest.java times out after JDK-8314829 + JDK-8316594: C2 SuperWord: wrong result with hand unrolled loops + JDK-8316661: CompilerThread leaks CodeBlob memory when dynamically stopping compiler thread in non-product + JDK-8316693: Simplify at-requires checkDockerSupport() + JDK-8316947: Write a test to check textArea triggers MouseEntered/MouseExited events properly + JDK-8316961: Fallback implementations for 64-bit Atomic::{add,xchg} on 32-bit platforms + JDK-8316973: GC: Make TestDisableDefaultGC use createTestJvm + JDK-8317042: G1: Make TestG1ConcMarkStepDurationMillis use createTestJvm + JDK-8317144: Exclude sun/security/pkcs11/sslecc/ /ClientJSSEServerJSSE.java on Linux ppc64le + JDK-8317188: G1: Make TestG1ConcRefinementThreads use createTestJvm + JDK-8317218: G1: Make TestG1HeapRegionSize use createTestJvm + JDK-8317228: GC: Make TestXXXHeapSizeFlags use createTestJvm + JDK-8317300: javac erroneously allows "final" in front of a record pattern + JDK-8317307: test/jdk/com/sun/jndi/ldap/ /LdapPoolTimeoutTest.java fails with ConnectException: Connection timed out: no further information + JDK-8317316: G1: Make TestG1PercentageOptions use createTestJvm + JDK-8317317: G1: Make TestG1RemSetFlags use createTestJvm + JDK-8317343: GC: Make TestHeapFreeRatio use createTestJvm + JDK-8317347: Parallel: Make TestInitialTenuringThreshold use createTestJvm + JDK-8317358: G1: Make TestMaxNewSize use createTestJvm + JDK-8317522: Test logic for BODY_CF in AbstractThrowingSubscribers.java is wrong + JDK-8317535: Shenandoah: Remove unused code + JDK-8317771: [macos14] Expand/collapse a JTree using keyboard freezes the application in macOS 14 Sonoma + JDK-8317804: com/sun/jdi/JdwpAllowTest.java fails on Alpine 3.17 / 3.18 + JDK-8318039: GHA: Bump macOS and Xcode versions + JDK-8318082: ConcurrentModificationException from IndexWriter + JDK-8318154: Improve stability of WheelModifier.java test + JDK-8318157: RISC-V: implement ensureMaterializedForStackWalk intrinsic + JDK-8318158: RISC-V: implement roundD/roundF intrinsics + JDK-8318410: jdk/java/lang/instrument/BootClassPath/ /BootClassPathTest.sh fails on Japanese Windows + JDK-8318468: compiler/tiered/LevelTransitionTest.java fails with -XX:CompileThreshold=100 -XX:TieredStopAtLevel=1 + JDK-8318490: Increase timeout for JDK tests that are close to the limit when run with libgraal + JDK-8318590: JButton ignores margin when painting HTML text + JDK-8318603: Parallelize sun/java2d/marlin/ClipShapeTest.java + JDK-8318607: Enable parallelism in vmTestbase/nsk/stress/jni tests + JDK-8318608: Enable parallelism in vmTestbase/nsk/stress/threads tests + JDK-8318613: ChoiceFormat patterns are not well tested + JDK-8318689: jtreg is confused when folder name is the same as the test name + JDK-8318696: Do not use LFS64 symbols on Linux + JDK-8318737: Fallback linker passes bad JNI handle + JDK-8318809: java/util/concurrent/ConcurrentLinkedQueue/ /WhiteBox.java shows intermittent failures on linux ppc64le and aarch64 + JDK-8318964: Fix build failures caused by 8315097 + JDK-8318971: Better Error Handling for Jar Tool When Processing Non-existent Files + JDK-8318983: Fix comment typo in PKCS12Passwd.java + JDK-8319103: Popups that request focus are not shown on Linux with Wayland + JDK-8319124: Update XML Security for Java to 3.0.3 + JDK-8319128: sun/security/pkcs11 tests fail on OL 7.9 aarch64 + JDK-8319136: Skip pkcs11 tests on linux-aarch64 + JDK-8319137: release _object in ObjectMonitor dtor to avoid races + JDK-8319213: Compatibility.java reads both stdout and stderr of JdkUtils + JDK-8319314: NMT detail report slow or hangs for large number of mappings + JDK-8319372: C2 compilation fails with "Bad immediate dominator info" + JDK-8319382: com/sun/jdi/JdwpAllowTest.java shows failures on AIX if prefixLen of mask is larger than 32 in IPv6 case + JDK-8319456: jdk/jfr/event/gc/collection/ /TestGCCauseWith[Serial|Parallel].java : GC cause 'GCLocker Initiated GC' not in the valid causes + JDK-8319548: Unexpected internal name for Filler array klass causes error in VisualVM + JDK-8319569: Several java/util tests should be updated to accept VM flags + JDK-8319633: runtime/posixSig/TestPosixSig.java intermittent timeouts on UNIX + JDK-8319668: Fixup of jar filename typo in BadFactoryTest.sh + JDK-8319777: Zero: Support 8-byte cmpxchg + JDK-8319879: Stress mode to randomize incremental inlining decision + JDK-8319883: Zero: Use atomic built-ins for 64-bit accesses + JDK-8319897: Move StackWatermark handling out of LockStack::contains + JDK-8319938: TestFileChooserSingleDirectorySelection.java fails with "getSelectedFiles returned empty array" + JDK-8320052: Zero: Use __atomic built-ins for atomic RMW operations + JDK-8320145: Compiler should accept final variable in Record Pattern + JDK-8320168: handle setsocktopt return values + JDK-8320206: Some intrinsics/stubs missing vzeroupper on x86_64 + JDK-8320208: Update Public Suffix List to b5bf572 + JDK-8320300: Adjust hs_err output in malloc/mmap error cases + JDK-8320303: Allow PassFailJFrame to accept single window creator + JDK-8320309: AIX: pthreads created by foreign test library don't work as expected + JDK-8320383: refresh libraries cache on AIX in VMError::report + JDK-8320582: Zero: Misplaced CX8 enablement flag + JDK-8320798: Console read line with zero out should zero out underlying buffer + JDK-8320807: [PPC64][ZGC] C1 generates wrong code for atomics + JDK-8320830: [AIX] Dont mix os::dll_load() with direct dlclose() calls + JDK-8320877: Shenandoah: Remove ShenandoahUnloadClassesFrequency support + JDK-8320888: Shenandoah: Enable ShenandoahVerifyOptoBarriers in debug builds + JDK-8320890: [AIX] Find a better way to mimic dl handle equality + JDK-8320898: exclude compiler/vectorapi/reshape/ /TestVectorReinterpret.java on ppc64(le) platforms + JDK-8320907: Shenandoah: Remove ShenandoahSelfFixing flag + JDK-8320921: GHA: Parallelize hotspot_compiler test jobs + JDK-8320937: support latest VS2022 MSC_VER in abstract_vm_version.cpp + JDK-8320943: Files/probeContentType/Basic.java fails on latest Windows 11 - content type mismatch + JDK-8321120: Shenandoah: Remove ShenandoahElasticTLAB flag + JDK-8321122: Shenandoah: Remove ShenandoahLoopOptsAfterExpansion flag + JDK-8321131: Console read line with zero out should zero out underlying buffer in JLine + JDK-8321151: JDK-8294427 breaks Windows L&F on all older Windows versions + JDK-8321164: javac with annotation processor throws AssertionError: Filling jrt:/... during JarFileObject[/...] + JDK-8321215: Incorrect x86 instruction encoding for VSIB addressing mode + JDK-8321269: Require platforms to define DEFAULT_CACHE_LINE_SIZE + JDK-8321374: Add a configure option to explicitly set CompanyName property in VersionInfo resource for Windows exe/dll + JDK-8321408: Add Certainly roots R1 and E1 + JDK-8321409: Console read line with zero out should zero out underlying buffer in JLine (redux) + JDK-8321410: Shenandoah: Remove ShenandoahSuspendibleWorkers flag + JDK-8321480: ISO 4217 Amendment 176 Update + JDK-8321542: C2: Missing ChaCha20 stub for x86_32 leads to crashes + JDK-8321582: yield .class not parsed correctly. + JDK-8321599: Data loss in AVX3 Base64 decoding + JDK-8321619: Generational ZGC: ZColorStoreGoodOopClosure is only valid for young objects + JDK-8321894: Bump update version for OpenJDK: 21.0.3 + JDK-8321972: test runtime/Unsafe/InternalErrorTest.java timeout on linux-riscv64 platform + JDK-8321974: Crash in ciKlass::is_subtype_of because TypeAryPtr::_klass is not initialized + JDK-8322040: Missing array bounds check in ClassReader.parameter + JDK-8322098: os::Linux::print_system_memory_info enhance the THP output with /sys/kernel/mm/transparent_hugepage/hpage_pmd_size + JDK-8322142: JFR: Periodic tasks aren't orphaned between recordings + JDK-8322159: ThisEscapeAnalyzer crashes for erroneous code + JDK-8322255: Generational ZGC: ZPageSizeMedium should be set before MaxTenuringThreshold + JDK-8322279: Generational ZGC: Use ZFragmentationLimit and ZYoungCompactionLimit as percentage instead of multiples + JDK-8322282: Incorrect LoaderConstraintTable::add_entry after JDK-8298468 + JDK-8322321: Add man page doc for -XX:+VerifySharedSpaces + JDK-8322417: Console read line with zero out should zero out when throwing exception + JDK-8322418: Problem list gc/TestAllocHumongousFragment.java subtests for 8298781 + JDK-8322512: StringBuffer.repeat does not work correctly after toString() was called + JDK-8322583: RISC-V: Enable fast class initialization checks + JDK-8322725: (tz) Update Timezone Data to 2023d + JDK-8322750: Test "api/java_awt/interactive/ /SystemTrayTests.html" failed because A blue ball icon is added outside of the system tray + JDK-8322772: Clean up code after JDK-8322417 + JDK-8322783: prioritize /etc/os-release over /etc/SuSE-release in hs_err/info output + JDK-8322790: RISC-V: Tune costs for shuffles with no conversion + JDK-8322957: Generational ZGC: Relocation selection must join the STS + JDK-8323008: filter out harmful -std* flags added by autoconf from CXX + JDK-8323021: Shenandoah: Encountered reference count always attributed to first worker thread + JDK-8323065: Unneccesary CodeBlob lookup in CompiledIC::internal_set_ic_destination + JDK-8323086: Shenandoah: Heap could be corrupted by oom during evacuation + JDK-8323101: C2: assert(n->in(0) == nullptr) failed: divisions with zero check should already have bailed out earlier in split-if + JDK-8323154: C2: assert(cmp != nullptr && cmp->Opcode() == Op_Cmp(bt)) failed: no exit test + JDK-8323243: JNI invocation of an abstract instance method corrupts the stack + JDK-8323331: fix typo hpage_pdm_size + JDK-8323428: Shenandoah: Unused memory in regions compacted during a full GC should be mangled + JDK-8323515: Create test alias "all" for all test roots + JDK-8323637: Capture hotspot replay files in GHA + JDK-8323640: [TESTBUG]testMemoryFailCount in jdk/internal/platform/docker/TestDockerMemoryMetrics.java always fail because OOM killed + JDK-8323659: LinkedTransferQueue add and put methods call overridable offer + JDK-8323664: java/awt/font/JNICheck/FreeTypeScalerJNICheck.java still fails with JNI warning on some Windows configurations + JDK-8323667: Library debug files contain non-reproducible full gcc include paths + JDK-8323671: DevKit build gcc libraries contain full paths to source location + JDK-8323717: Introduce test keyword for tests that need external dependencies + JDK-8323964: runtime/Thread/ThreadCountLimit.java fails intermittently on AIX + JDK-8324050: Issue store-store barrier after re-materializing objects during deoptimization + JDK-8324280: RISC-V: Incorrect implementation in VM_Version::parse_satp_mode + JDK-8324347: Enable "maybe-uninitialized" warning for FreeType 2.13.1 + JDK-8324514: ClassLoaderData::print_on should print address of class loader + JDK-8324598: use mem_unit when working with sysinfo memory and swap related information + JDK-8324637: [aix] Implement support for reporting swap space in jdk.management + JDK-8324647: Invalid test group of lib-test after JDK-8323515 + JDK-8324659: GHA: Generic jtreg errors are not reported + JDK-8324753: [AIX] adjust os_posix after JDK-8318696 + JDK-8324858: [vectorapi] Bounds checking issues when accessing memory segments + JDK-8324874: AArch64: crypto pmull based CRC32/CRC32C intrinsics clobber V8-V15 registers + JDK-8324937: GHA: Avoid multiple test suites per job + JDK-8325074: ZGC fails assert(index == 0 || is_power_of_2(index)) failed: Incorrect load shift: 11 + JDK-8325096: Test java/security/cert/CertPathBuilder/akiExt/ /AKISerialNumber.java is failing + JDK-8325150: (tz) Update Timezone Data to 2024a + JDK-8325194: GHA: Add macOS M1 testing + JDK-8325254: CKA_TOKEN private and secret keys are not necessarily sensitive + JDK-8325444: GHA: JDK-8325194 causes a regression + JDK-8325470: [AIX] use fclose after fopen in read_psinfo + JDK-8325496: Make TrimNativeHeapInterval a product switch + JDK-8325672: C2: allocate PhaseIdealLoop::_loop_or_ctrl from C->comp_arena() + JDK-8325876: crashes in docker container tests on Linuxppc64le Power8 machines + JDK-8326000: Remove obsolete comments for class sun.security.ssl.SunJSSE + JDK-8327391: Add SipHash attribution file + JDK-8329838: [21u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 21.0.3 - Modified patches: * disable-doclint-by-default.patch * fips.patch * java-21-openjdk.spec * java-atk-wrapper-security.patch * loadAssistiveTechnologies.patch * memory-limits.patch * multiple-pkcs11-library-init.patch * system-pcsclite.patch * zero-ranges.patch + rediff to apply without fuzz- Added patch: * reproducible-jlink.patch + make the timestamp in jmods reproducible- Removed patch: * alternative-tzdb_dat.patch + Remove the possibility to use the system timezone-java. It creates more problems then it solves (bsc#1213470)- Use %patch -P N instead of deprecated %patchN.- Recommend mozilla-nss-sysinit in order to have available the /etc/pki/nssdb directory and its content, required in fips mode (bsc#1219662) - Do not install our crafted nss.fips.cfg file, but use the one that the build produces with our fips.patch applied - Removed patch: * nss-security-provider.patch + this DISABLED nss security provider was not used for years and is largely rendered obsolete by the NSS-FIPS provider - Modified patch: * fips.patch + adapt to the removal of the nss security provider- Add JPackage base provides for SLE15 too (bsc#1219115)- Update to upstream tag jdk-21.0.2+13 (January 2024 CPU) * CVEs + CVE-2024-20918, bsc#1218907 + CVE-2024-20919, bsc#1218903 + CVE-2024-20921, bsc#1218905 + CVE-2024-20945, bsc#1218909 + CVE-2024-20952, bsc#1218911 * Security fixes + JDK-8308204: Enhanced certificate processing + JDK-8314295: Enhance verification of verifier + JDK-8314307: Improve loop handling + JDK-8314468: Improve Compiler loops + JDK-8316976: Improve signature handling + JDK-8317547: Enhance TLS connection support * Other changes + JDK-8038244: (fs) Check return value of malloc in Java_sun_nio_fs_AixNativeDispatcher_getmntctl() + JDK-8161536: sun/security/pkcs11/sslecc/ /ClientJSSEServerJSSE.java fails with ProviderException + JDK-8219652: [aix] Tests failing with JNI attach problems. + JDK-8225377: type annotations are not visible to javac plugins across compilation boundaries + JDK-8232839: JDI AfterThreadDeathTest.java failed due to "FAILED: Did not get expected IllegalThreadStateException on a StepRequest.enable()" + JDK-8267502: JDK-8246677 caused 16x performance regression in SynchronousQueue + JDK-8267509: Improve IllegalAccessException message to include the cause of the exception + JDK-8268916: Tests for AffirmTrust roots + JDK-8286757: adlc tries to build with /pathmap but without /experimental:deterministic + JDK-8294156: Allow PassFailJFrame.Builder to create test UI + JDK-8294158: HTML formatting for PassFailJFrame instructions + JDK-8294427: Check boxes and radio buttons have rendering issues on Windows in High DPI env + JDK-8294535: Add screen capture functionality to PassFailJFrame + JDK-8295068: SSLEngine throws NPE parsing CertificateRequests + JDK-8295555: Primitive wrapper caches could be `@Stable` + JDK-8299614: Shenandoah: STW mark should keep nmethod/oops referenced from stack chunk alive + JDK-8300663: java/util/concurrent/SynchronousQueue/ /Fairness.java failed with "Error: fair=true i=0 j=1" + JDK-8301247: JPackage app-image exe launches multiple exe's in JDK 17+ + JDK-8301341: LinkedTransferQueue does not respect timeout for poll() + JDK-8301457: Code in SendPortZero.java is uncommented even after JDK-8236852 was fixed + JDK-8301489: C1: ShortLoopOptimizer might lift instructions before their inputs + JDK-8301846: Invalid TargetDataLine after screen lock when using JFileChooser or COM library + JDK-8303737: C2: Load can bypass subtype check that enforces it's from the right object type + JDK-8306561: Possible out of bounds access in print_pointer_information + JDK-8308103: Massive (up to ~30x) increase in C2 compilation time since JDK 17 + JDK-8308452: Extend internal Architecture enum with byte order and address size + JDK-8308479: [s390x] Implement alternative fast-locking scheme + JDK-8308592: Framework for CA interoperability testing + JDK-8308593: Add KEEPALIVE Extended Socket Options Support for Windows + JDK-8309209: C2 failed "assert(_stack_guard_state == stack_guard_reserved_disabled) failed: inconsistent state" + JDK-8309305: sun/security/ssl/SSLSocketImpl/ /BlockedAsyncClose.java fails with jtreg test timeout + JDK-8309545: Thread.interrupted from virtual thread needlessly resets interrupt status + JDK-8309663: test fails "assert(check_alignment(result)) failed: address not aligned: 0x00000008baadbabe" + JDK-8309778: java/nio/file/Files/CopyAndMove.java fails when using second test directory + JDK-8309974: some JVMCI tests fail when VM options include - XX:+EnableJVMCI + JDK-8310239: Add missing cross modifying fence in nmethod entry barriers + JDK-8310512: Cleanup indentation in jfc files + JDK-8310596: Utilize existing method frame::interpreter_frame_monitor_size_in_bytes() + JDK-8310982: jdk/internal/util/ArchTest.java fails after JDK-8308452 failed with Method isARM() + JDK-8311261: [AIX] TestAlwaysPreTouchStacks.java fails due to java.lang.RuntimeException: Did not find expected NMT output + JDK-8311514: Incorrect regex in TestMetaSpaceLog.java + JDK-8311585: Add JRadioButtonMenuItem to bug8031573.java + JDK-8311591: Add SystemModulesPlugin test case that splits module descriptors with new local variables defined by DedupSetBuilder + JDK-8311630: [s390] Implementation of Foreign Function & Memory API (Preview) + JDK-8311631: When multiple users run tools/jpackage/share/ /LicenseTest.java, Permission denied for writing /var/tmp/*.files + JDK-8311680: Update the release version after forking Oct CPU23_10 + JDK-8311681: Update the Jan CPU24_01 release date in master branch after forking Oct CPU23_10 + JDK-8311813: C1: Uninitialized PhiResolver::_loop field + JDK-8311938: Add default cups include location for configure on AIX + JDK-8312078: [PPC] JcmdScale.java Failing on AIX + JDK-8312126: NullPointerException in CertStore.getCRLs after 8297955 + JDK-8312166: (dc) DatagramChannel's socket adaptor does not release carrier thread when blocking in receive + JDK-8312174: missing JVMTI events from vthreads parked during JVMTI attach + JDK-8312191: ColorConvertOp.filter for the default destination is too slow + JDK-8312433: HttpClient request fails due to connection being considered idle and closed + JDK-8312434: SPECjvm2008/xml.transform with CDS fails with "can't seal package nu.xom" + JDK-8312440: assert(cast != nullptr) failed: must have added a cast to pin the node + JDK-8312466: /bin/nm usage in AIX makes needs -X64 flag + JDK-8312467: relax the builddir check in make/autoconf/basic.m4 + JDK-8312592: New parentheses warnings after HarfBuzz 7.2.0 update + JDK-8312612: handle WideCharToMultiByte return values + JDK-8313164: src/java.desktop/windows/native/libawt/windows/ /awt_Robot.cpp GetRGBPixels adjust releasing of resources + JDK-8313167: Update to use jtreg 7.3 + JDK-8313206: PKCS11 tests silently skip execution + JDK-8313244: NM flags handling in configure process + JDK-8313252: Java_sun_awt_windows_ThemeReader_paintBackground release resources in early returns + JDK-8313322: RISC-V: implement MD5 intrinsic + JDK-8313368: (fc) FileChannel.size returns 0 on block special files + JDK-8313575: Refactor PKCS11Test tests + JDK-8313616: support loading library members on AIX in os::dll_load + JDK-8313643: Update HarfBuzz to 8.2.2 + JDK-8313656: assert(!JvmtiExport::can_support_virtual_threads()) with -XX:-DoJVMTIVirtualThreadTransitions + JDK-8313756: [BACKOUT] 8308682: Enhance AES performance + JDK-8313760: [REDO] Enhance AES performance + JDK-8313779: RISC-V: use andn / orn in the MD5 instrinsic + JDK-8313781: Add regression tests for large page logging and user-facing error messages + JDK-8313782: Add user-facing warning if THPs are enabled but cannot be used + JDK-8313792: Verify 4th party information in src/jdk.internal.le/share/legal/jline.md + JDK-8313873: java/nio/channels/DatagramChannel/ /SendReceiveMaxSize.java fails on AIX due to small default RCVBUF size and different IPv6 Header interpretation + JDK-8314045: ArithmeticException in GaloisCounterMode + JDK-8314094: java/lang/ProcessHandle/InfoTest.java fails on Windows when run as user with Administrator privileges + JDK-8314120: Add tests for FileDescriptor.sync + JDK-8314121: test tools/jpackage/share/ /RuntimePackageTest.java#id0 fails on RHEL8 + JDK-8314191: C2 compilation fails with "bad AD file" + JDK-8314226: Series of colon-style fallthrough switch cases with guards compiled incorrectly + JDK-8314242: Update applications/scimark/Scimark.java to accept VM flags + JDK-8314246: javax/swing/JToolBar/4529206/bug4529206.java fails intermittently on Linux + JDK-8314263: Signed jars triggering Logger finder recursion and StackOverflowError + JDK-8314330: java/foreign tests should respect vm flags when start new processes + JDK-8314476: TestJstatdPortAndServer.java failed with "java.rmi.NoSuchObjectException: no such object in table" + JDK-8314495: Update to use jtreg 7.3.1 + JDK-8314551: More generic way to handshake GC threads with monitor deflation + JDK-8314580: PhaseIdealLoop::transform_long_range_checks fails with assert "was tested before" + JDK-8314632: Intra-case dominance check fails in the presence of a guard + JDK-8314759: VirtualThread.parkNanos timeout adjustment when pinned should be replaced + JDK-8314883: Java_java_util_prefs_FileSystemPreferences_lockFile0 write result errno in missing case + JDK-8314935: Shenandoah: Unable to throw OOME on back-to-back Full GCs + JDK-8315026: ProcessHandle implementation listing processes on AIX should use getprocs64 + JDK-8315062: [GHA] get-bootjdk action should return the abolute path + JDK-8315082: [REDO] Generational ZGC: Tests crash with assert(index == 0 || is_power_of_2(index)) + JDK-8315088: C2: assert(wq.size() - before == EMPTY_LOOP_SIZE) failed: expect the EMPTY_LOOP_SIZE nodes of this body if empty + JDK-8315195: RISC-V: Update hwprobe query for new extensions + JDK-8315206: RISC-V: hwprobe query is_set return wrong value + JDK-8315213: java/lang/ProcessHandle/TreeTest.java test enhance output of children + JDK-8315214: Do not run sun/tools/jhsdb tests concurrently + JDK-8315362: NMT: summary diff reports threads count incorrectly + JDK-8315377: C2: assert(u->find_out_with(Op_AddP) == nullptr) failed: more than 2 chained AddP nodes? + JDK-8315383: jlink SystemModulesPlugin incorrectly parses the options + JDK-8315415: OutputAnalyzer.shouldMatchByLine() fails in some cases + JDK-8315437: Enable parallelism in vmTestbase/nsk/monitoring/stress/classload tests + JDK-8315442: Enable parallelism in vmTestbase/nsk/monitoring/stress/thread tests + JDK-8315452: Erroneous AST missing modifiers for partial input + JDK-8315499: build using devkit on Linux ppc64le RHEL puts path to devkit into libsplashscreen + JDK-8315545: C1: x86 cmove can use short branches + JDK-8315549: CITime misreports code/total nmethod sizes + JDK-8315554: C1: Replace "cmp reg, 0" with "test reg, reg" on x86 + JDK-8315578: PPC builds are broken after JDK-8304913 + JDK-8315579: SPARC64 builds are broken after JDK-8304913 + JDK-8315606: Open source few swing text/html tests + JDK-8315612: RISC-V: intrinsic for unsignedMultiplyHigh + JDK-8315644: increase timeout of sun/security/tools/jarsigner/Warning.java + JDK-8315651: Stop hiding AIX specific multicast socket errors via NetworkConfiguration (aix) + JDK-8315683: Parallelize java/util/concurrent/tck/JSR166TestCase.java + JDK-8315684: Parallelize sun/security/util/math/TestIntegerModuloP.java + JDK-8315688: Update jdk21u fix version to 21.0.2 + JDK-8315692: Parallelize gc/stress/TestStressRSetCoarsening.java test + JDK-8315696: SignedLoggerFinderTest.java test failed + JDK-8315702: jcmd Thread.dump_to_file slow with millions of virtual threads + JDK-8315706: com/sun/tools/attach/warnings/ /DynamicLoadWarningTest.java real fix for failure on AIX + JDK-8315735: VerifyError when switch statement used with synchronized block + JDK-8315751: RandomTestBsi1999 fails often with timeouts on Linux ppc64le + JDK-8315766: Parallelize gc/stress/TestStressIHOPMultiThread.java test + JDK-8315770: serviceability/sa/TestJmapCoreMetaspace.java should run with -XX:-VerifyDependencies + JDK-8315774: Enable parallelism in vmTestbase/gc/g1/unloading tests + JDK-8315863: [GHA] Update checkout action to use v4 + JDK-8315869: UseHeavyMonitors not used + JDK-8315920: C2: "control input must dominate current control" assert failure + JDK-8315931: RISC-V: xxxMaxVectorTestsSmokeTest fails when using RVV + JDK-8315936: Parallelize gc/stress/TestStressG1Humongous.java test + JDK-8315937: Enable parallelism in vmTestbase/nsk/stress/numeric tests + JDK-8315942: Sort platform enums and definitions after JDK-8304913 follow-ups + JDK-8315960: test/jdk/java/io/File/TempDirDoesNotExist.java leaves test files behind + JDK-8315971: ProblemList containers/docker/ /TestMemoryAwareness.java on linux-all + JDK-8316003: Update FileChooserSymLinkTest.java to HTML instructions + JDK-8316017: Refactor timeout handler in PassFailJFrame + JDK-8316025: Use testUI() method of PassFailJFrame.Builder in FileChooserSymLinkTest.java + JDK-8316030: Update Libpng to 1.6.40 + JDK-8316031: SSLFlowDelegate should not log from synchronized block + JDK-8316060: test/hotspot/jtreg/runtime/reflect/ /ReflectOutOfMemoryError.java may fail if heap is huge + JDK-8316087: Test SignedLoggerFinderTest.java is still failing + JDK-8316113: Infinite permission checking loop in java/net/spi/ /InetAddressResolverProvider/RuntimePermissionTest + JDK-8316123: ProblemList serviceability/dcmd/gc/RunFinalizationTest.java on AIX + JDK-8316130: Incorrect control in LibraryCallKit::inline_native_notify_jvmti_funcs + JDK-8316142: Enable parallelism in vmTestbase/nsk/monitoring/stress/lowmem tests + JDK-8316156: ByteArrayInputStream.transferTo causes MaxDirectMemorySize overflow + JDK-8316178: Better diagnostic header for CodeBlobs + JDK-8316179: Use consistent naming for lightweight locking in MacroAssembler + JDK-8316181: Move the fast locking implementation out of the .ad files + JDK-8316199: Remove sun/tools/jstatd/TestJstatd* tests from problemlist for Windows. + JDK-8316206: Test StretchedFontTest.java fails for Baekmuk font + JDK-8316304: (fs) Add support for BasicFileAttributes.creationTime() for Linux + JDK-8316337: (bf) Concurrency issue in DirectByteBuffer.Deallocator + JDK-8316341: sun/security/pkcs11/PKCS11Test.java needs adjustment on Linux ppc64le Ubuntu 22 + JDK-8316387: Exclude more failing multicast tests on AIX after JDK-8315651 + JDK-8316396: Endless loop in C2 compilation triggered by AddNode::IdealIL + JDK-8316399: Exclude java/net/MulticastSocket/Promiscuous.java on AIX + JDK-8316400: Exclude jdk/jfr/event/runtime/ /TestResidentSetSizeEvent.java on AIX + JDK-8316401: sun/tools/jhsdb/JStackStressTest.java failed with "InternalError: We should have found a thread that owns the anonymous lock" + JDK-8316411: compiler/compilercontrol/ /TestConflictInlineCommands.java fails intermittent with force inline by CompileCommand missing + JDK-8316414: C2: large byte array clone triggers "failed: malformed control flow" assertion failure on linux-x86 + JDK-8316415: Parallelize sun/security/rsa/SignedObjectChain.java subtests + JDK-8316418: containers/docker/TestMemoryWithCgroupV1.java get OOM killed with Parallel GC + JDK-8316436: ContinuationWrapper uses unhandled nullptr oop + JDK-8316461: Fix: make test outputs TEST SUCCESS after unsuccessful exit + JDK-8316468: os::write incorrectly handles partial write + JDK-8316514: Better diagnostic header for VtableStub + JDK-8316540: StoreReproducibilityTest fails on some locales + JDK-8316566: RISC-V: Zero extended narrow oop passed to Atomic::cmpxchg + JDK-8316581: Improve performance of Symbol::print_value_on() + JDK-8316585: [REDO] runtime/InvocationTests spend a lot of time on dependency verification + JDK-8316645: RISC-V: Remove dependency on libatomic by adding cmpxchg 1b + JDK-8316648: jrt-fs.jar classes not reproducible between standard and bootcycle builds + JDK-8316659: assert(LockingMode != LM_LIGHTWEIGHT || flag == CCR0) failed: bad condition register + JDK-8316671: sun/security/ssl/SSLSocketImpl/ /SSLSocketCloseHang.java test fails intermittent with Read timed out + JDK-8316679: C2 SuperWord: wrong result, load should not be moved before store if not comparable + JDK-8316710: Exclude java/awt/font/Rotate/RotatedTextTest.java + JDK-8316719: C2 compilation still fails with "bad AD file" + JDK-8316735: Print LockStack in hs_err files + JDK-8316741: BasicStroke.createStrokedShape miter-limits failing on small shapes + JDK-8316743: RISC-V: Change UseVectorizedMismatchIntrinsic option result to warning + JDK-8316746: Top of lock-stack does not match the unlocked object + JDK-8316778: test hprof lib: invalid array element type from JavaValueArray.elementSize + JDK-8316859: RISC-V: Disable detection of V through HWCAP + JDK-8316879: RegionMatches1Tests fails if CompactStrings are disabled after JDK-8302163 + JDK-8316880: AArch64: "stop: Header is not fast-locked" with - XX:-UseLSE since JDK-8315880 + JDK-8316894: make test TEST="jtreg:test/jdk/..." fails on AIX + JDK-8316906: Clarify TLABWasteTargetPercent flag + JDK-8316929: Shenandoah: Shenandoah degenerated GC and full GC need to cleanup old OopMapCache entries + JDK-8316933: RISC-V: compiler/vectorapi/ /VectorCastShape128Test.java fails when using RVV + JDK-8316935: [s390x] Use consistent naming for lightweight locking in MacroAssembler + JDK-8316958: Add test for unstructured locking + JDK-8316967: Correct the scope of vmtimer in UnregisteredClasses::load_class + JDK-8317039: Enable specifying the JDK used to run jtreg + JDK-8317136: [AIX] Problem List runtime/jni/terminatedThread/TestTerminatedThread.java + JDK-8317257: RISC-V: llvm build broken + JDK-8317262: LockStack::contains(oop) fails "assert(t->is_Java_thread()) failed: incorrect cast to JavaThread" + JDK-8317294: Classloading throws exceptions over already pending exceptions + JDK-8317327: Remove JT_JAVA dead code in jib-profiles.js + JDK-8317331: Solaris build failed with "declaration can not follow a statement (E_DECLARATION_IN_CODE)" + JDK-8317335: Build on windows fails after 8316645 + JDK-8317336: Assertion error thrown during 'this' escape analysis + JDK-8317340: Windows builds are not reproducible if MS VS compiler install path differs + JDK-8317373: Add Telia Root CA v2 + JDK-8317374: Add Let's Encrypt ISRG Root X2 + JDK-8317439: Updating RE Configs for BUILD REQUEST 21.0.2+1 + JDK-8317507: C2 compilation fails with "Exceeded _node_regs array" + JDK-8317510: Change Windows debug symbol files naming to avoid losing info when an executable and a library share the same name + JDK-8317581: [s390x] Multiple test failure with LockingMode=2 + JDK-8317601: Windows build on WSL broken after JDK-8317340 + JDK-8317603: Improve exception messages thrown by sun.nio.ch.Net native methods (win) + JDK-8317692: jcmd GC.heap_dump performance regression after JDK-8292818 + JDK-8317705: ProblemList sun/tools/jstat/jstatLineCountsX.sh on linux-ppc64le and aix due to JDK-8248691 + JDK-8317706: Exclude java/awt/Graphics2D/DrawString/ /RotTransText.java on linux + JDK-8317711: Exclude gtest/GTestWrapper.java on AIX + JDK-8317736: Stream::handleReset locks twice + JDK-8317751: ProblemList ConsumeForModalDialogTest.java, MenuItemActivatedTest.java & MouseModifiersUnitTest_Standard.java for windows + JDK-8317772: NMT: Make peak values available in release builds + JDK-8317790: Fix Bug entry for exclusion of runtime/jni/terminatedThread/TestTerminatedThread.java on AIX + JDK-8317803: Exclude java/net/Socket/asyncClose/Race.java on AIX + JDK-8317807: JAVA_FLAGS removed from jtreg running in JDK-8317039 + JDK-8317818: Combinatorial explosion during 'this' escape analysis + JDK-8317834: java/lang/Thread/IsAlive.java timed out + JDK-8317839: Exclude java/nio/channels/Channels/ /SocketChannelStreams.java on AIX + JDK-8317920: JDWP-agent sends broken exception event with onthrow option + JDK-8317959: Check return values of malloc in native java.base coding + JDK-8317964: java/awt/Mouse/MouseModifiersUnitTest/ /MouseModifiersUnitTest_Standard.java fails on macosx-all after JDK-8317751 + JDK-8317967: Enhance test/jdk/javax/net/ssl/TLSCommon/ /SSLEngineTestCase.java to handle default cases + JDK-8317987: C2 recompilations cause high memory footprint + JDK-8318078: ADLC: pass ASSERT and PRODUCT flags + JDK-8318089: Class space not marked as such with NMT when CDS is off + JDK-8318137: Change milestone to fcs for all releases + JDK-8318144: Match on enum constants with body compiles but fails with MatchException + JDK-8318183: C2: VM may crash after hitting node limit + JDK-8318240: [AIX] Cleaners.java test failure + JDK-8318415: Adjust describing comment of os_getChildren after 8315026 + JDK-8318474: Fix memory reporter for thread_count + JDK-8318525: Atomic gtest should run as TEST_VM to access VM capabilities + JDK-8318528: Rename TestUnstructuredLocking test + JDK-8318540: make test cannot run .jasm tests directly + JDK-8318562: Computational test more than 2x slower when AVX instructions are used + JDK-8318587: refresh libraries cache on AIX in print_vm_info + JDK-8318591: avoid leaks in loadlib_aix.cpp reload_table() + JDK-8318669: Target OS detection in 'test-prebuilt' makefile target is incorrect when running on MSYS2 + JDK-8318705: [macos] ProblemList java/rmi/registry/multipleRegistries/MultipleRegistries.java + JDK-8318736: com/sun/jdi/JdwpOnThrowTest.java failed with "transport error 202: bind failed: Address already in use" + JDK-8318759: Add four DigiCert root certificates + JDK-8318889: C2: add bailout after assert Bad graph detected in build_loop_late + JDK-8318895: Deoptimization results in incorrect lightweight locking stack + JDK-8318951: Additional negative value check in JPEG decoding + JDK-8318953: RISC-V: Small refactoring for MacroAssembler::test_bit + JDK-8318955: Add ReleaseIntArrayElements in Java_sun_awt_X11_XlibWrapper_SetBitmapShape XlbWrapper.c to early return + JDK-8318957: enhance agentlib:jdwp help output by info about allow option + JDK-8318961: increase javacserver connection timeout values and max retry attempts + JDK-8318981: compiler/compilercontrol/ /TestConflictInlineCommands.java fails intermittent with 'disallowed by CompileCommand' missing from stdout/stderr + JDK-8319104: GtestWrapper crashes with SIGILL in AsyncLogTest::test_asynclog_raw on AIX opt + JDK-8319120: Unbound ScopedValue.get() throws the wrong exception + JDK-8319184: RISC-V: improve MD5 intrinsic + JDK-8319187: Add three eMudhra emSign roots + JDK-8319195: Move most tier 1 vector API regression tests to tier 3 + JDK-8319268: Build failure with GCC8.3.1 after 8313643 + JDK-8319339: Internal error on spurious markup in a hybrid snippet + JDK-8319436: Proxy.newProxyInstance throws NPE if loader is null and interface not visible from class loader + JDK-8319525: RISC-V: Rename *_riscv64.ad files to *_riscv.ad under riscv/gc + JDK-8319532: jshell - Non-sealed declarations sometimes break a snippet evaluation + JDK-8319542: Fix boundaries of region to be tested with os::is_readable_range + JDK-8319700: [AArch64] C2 compilation fails with "Field too big for insn" + JDK-8319828: runtime/NMT/VirtualAllocCommitMerge.java may fail if mixing interpreted and compiled native invocations + JDK-8319922: libCreationTimeHelper.so fails to link in JDK 21 + JDK-8319958: test/jdk/java/io/File/libGetXSpace.c does not compile on Windows 32-bit + JDK-8319961: JvmtiEnvBase doesn't zero _ext_event_callbacks + JDK-8320001: javac crashes while adding type annotations to the return type of a constructor + JDK-8320053: GHA: Cross-compile gtest code + JDK-8320209: VectorMaskGen clobbers rflags on x86_64 + JDK-8320280: RISC-V: Avoid passing t0 as temp register to MacroAssembler::lightweight_lock/unlock + JDK-8320363: ppc64 TypeEntries::type_unknown logic looks wrong, missed optimization opportunity + JDK-8320597: RSA signature verification fails on signed data that does not encode params correctly + JDK-8320601: ProblemList java/lang/invoke/lambda/ /LambdaFileEncodingSerialization.java on linux-all + JDK-8321067: Unlock experimental options in EATests.java + JDK-8322883: [BACKOUT] 8225377: type annotations are not visible to javac plugins across compilation boundaries + JDK-8322985: [BACKOUT] 8318562: Computational test more than 2x slower when AVX instructions are used- Modified patch: * fips.patch + use the system crypto-policies provided configuration file by default (bsc#1218061)- Set priority and make it the preferred JDK- Upgrade to upstream tag jdk-21.0.1+12 (October 2023 CPU) * Security fixes: + JDK-8286503: Enhance security classes + JDK-8308204: Enhanced certificate processing + JDK-8309966, CVE-2023-22081, bsc#1216374: Enhanced TLS connections + JDK-8312248: Enhanced archival support redux + JDK-8314649: Enhanced archival support redux + JDK-8317121, CVE-2023-22025, bsc#1216339: vector_masked_load instruction is moved too early after JDK-8286941 * Other changes: + JDK-8240567: MethodTooLargeException thrown while creating a jlink image + JDK-8284772: GHA: Use GCC Major Version Dependencies Only + JDK-8293114: JVM should trim the native heap + JDK-8296581: Better system proxy support + JDK-8297856: Improve handling of Bidi characters + JDK-8299658: C1 compilation crashes in LinearScan::resolve_exception_edge + JDK-8302017: Allocate BadPaddingException only if it will be thrown + JDK-8303815: Improve Metaspace test speed + JDK-8304954: SegmentedCodeCache fails when using large pages + JDK-8307766: Linux: Provide the option to override the timer slack + JDK-8308042: [macos] Developer ID Application Certificate not picked up by jpackage if it contains UNICODE characters + JDK-8308047: java/util/concurrent/ScheduledThreadPoolExecutor/ /BasicCancelTest.java timed out and also had jcmd pipe errors + JDK-8308184: Launching java with large number of jars in classpath with java.protocol.handler.pkgs system property set can lead to StackOverflowError + JDK-8308474: DSA does not reset SecureRandom when initSign is called again + JDK-8308609: java/lang/ScopedValue/StressStackOverflow.java fails with "-XX:-VMContinuations" + JDK-8309032: jpackage does not work for module projects unless --module-path is specified + JDK-8309088: security/infra/java/security/cert/ /CertPathValidator/certification/AmazonCA.java fails + JDK-8309214: sun/security/pkcs11/KeyStore/ /CertChainRemoval.java fails after 8301154 + JDK-8309475: Test java/foreign/TestByteBuffer.java fails: a problem with msync (aix) + JDK-8309502: RISC-V: String.indexOf intrinsic may produce misaligned memory loads + JDK-8309591: Socket.setOption(TCP_QUICKACK) uses wrong level + JDK-8309746: Reconfigure check should include make/conf/version-numbers.conf + JDK-8309889: [s390] Missing return statement after calling jump_to_native_invoker method in generate_method_handle_dispatch. + JDK-8310106: sun.security.ssl.SSLHandshake .getHandshakeProducer() incorrectly checks handshakeConsumers + JDK-8310171: Bump version numbers for 21.0.1 + JDK-8310211: serviceability/jvmti/thread/GetStackTrace/ /getstacktr03/getstacktr03.java failing + JDK-8310233: Fix THP detection on Linux + JDK-8310268: RISC-V: misaligned memory access in String.Compare intrinsic + JDK-8310321: make JDKOPT_CHECK_CODESIGN_PARAMS more verbose + JDK-8310586: ProblemList java/lang/ScopedValue/ /StressStackOverflow.java#default with virtual threads on linux-all + JDK-8310687: JDK-8303215 is incomplete + JDK-8310873: Re-enable locked_create_entry symbol check in runtime/NMT/CheckForProperDetailStackTrace.java for RISC-V + JDK-8311026: Some G1 specific tests do not set -XX:+UseG1GC + JDK-8311033: [macos] PrinterJob does not take into account Sides attribute + JDK-8311160: [macOS, Accessibility] VoiceOver: No announcements on JRadioButtonMenuItem and JCheckBoxMenuItem + JDK-8311249: Remove unused MemAllocator::obj_memory_range + JDK-8311285: report some fontconfig related environment variables in hs_err file + JDK-8311511: Improve description of NativeLibrary JFR event + JDK-8311592: ECKeySizeParameterSpec causes too many exceptions on third party providers + JDK-8311682: Change milestone to fcs for all releases + JDK-8311862: RISC-V: small improvements to shift immediate instructions + JDK-8311917: MAP_FAILED definition seems to be obsolete in src/java.desktop/unix/native/common/awt/fontpath.c + JDK-8311921: Inform about MaxExpectedDataSegmentSize in case of pthread_create failures on AIX + JDK-8311923: TestIRMatching.java fails on RISC-V + JDK-8311926: java/lang/ScopedValue/StressStackOverflow.java takes 9mins in tier1 + JDK-8311955: c++filt is now ibm-llvm-cxxfilt when using xlc17 / clang on AIX + JDK-8311981: Test gc/stringdedup/ /TestStringDeduplicationAgeThreshold.java#ZGenerational timed out + JDK-8312127: FileDescriptor.sync should temporarily increase parallelism + JDK-8312180: (bf) MappedMemoryUtils passes incorrect arguments to msync (aix) + JDK-8312182: THPs cause huge RSS due to thread start timing issue + JDK-8312394: [linux] SIGSEGV if kernel was built without hugepage support + JDK-8312395: Improve assertions in growableArray + JDK-8312401: SymbolTable::do_add_if_needed hangs when called in InstanceKlass::add_initialization_error path with requesting length exceeds max_symbol_length + JDK-8312489: Increase jdk.jar.maxSignatureFileSize default which is too low for JARs such as WhiteSource/Mend unified agent jar + JDK-8312525: New test runtime/os/ /TestTrimNative.java#trimNative is failing: did not see the expected RSS reduction + JDK-8312535: MidiSystem.getSoundbank() throws unexpected SecurityException + JDK-8312555: Ideographic characters aren't stretched by AffineTransform.scale(2, 1) + JDK-8312573: Failure during CompileOnly parsing leads to ShouldNotReachHere + JDK-8312585: Rename DisableTHPStackMitigation flag to THPStackMitigation + JDK-8312591: GCC 6 build failure after JDK-8280982 + JDK-8312619: Strange error message when switching over long + JDK-8312620: WSL Linux build crashes after JDK-8310233 + JDK-8312625: Test serviceability/dcmd/vm/TrimLibcHeapTest.java failed: RSS use increased + JDK-8312909: C1 should not inline through interface calls with non-subtype receiver + JDK-8312976: MatchResult produces StringIndexOutOfBoundsException for groups outside match + JDK-8312984: javac may crash on a record pattern with too few components + JDK-8313081: MonitoringSupport_lock should be unconditionally initialized after 8304074 + JDK-8313248: C2: setScopedValueCache intrinsic exposes nullptr pre-values to store barriers + JDK-8313262: C2: Sinking node may cause required cast to be dropped + JDK-8313307: java/util/Formatter/Padding.java fails on some Locales + JDK-8313312: Add missing classpath exception copyright header + JDK-8313323: javac -g on a java file which uses unnamed variable leads to ClassFormatError when launching that class + JDK-8313402: C1: Incorrect LoadIndexed value numbering + JDK-8313428: GHA: Bump GCC versions for July 2023 updates + JDK-8313576: GCC 7 reports compiler warning in bundled freetype 2.13.0 + JDK-8313602: increase timeout for jdk/classfile/CorpusTest.java + JDK-8313626: C2 crash due to unexpected exception control flow + JDK-8313657: com.sun.jndi.ldap.Connection.cleanup does not close connections on SocketTimeoutErrors + JDK-8313676: Amend TestLoadIndexedMismatch test to target intrinsic directly + JDK-8313678: SymbolTable can leak Symbols during cleanup + JDK-8313691: use close after failing os::fdopen in vmError and ciEnv + JDK-8313701: GHA: RISC-V should use the official repository for bootstrap + JDK-8313707: GHA: Bootstrap sysroots with --variant=minbase + JDK-8313752: InstanceKlassFlags::print_on doesn't print the flag names + JDK-8313765: Invalid CEN header (invalid zip64 extra data field size) + JDK-8313796: AsyncGetCallTrace crash on unreadable interpreter method pointer + JDK-8313874: JNI NewWeakGlobalRef throws exception for null arg + JDK-8313901: [TESTBUG] test/hotspot/jtreg/compiler/codecache/ /CodeCacheFullCountTest.java fails with java.lang.VirtualMachineError + JDK-8313904: [macos] All signing tests which verifies unsigned app images are failing + JDK-8314020: Print instruction blocks in byte units + JDK-8314024: SIGSEGV in PhaseIdealLoop::build_loop_late_post_work due to bad immediate dominator info + JDK-8314063: The socket is not closed in Connection::createSocket when the handshake failed for LDAP connection + JDK-8314117: RISC-V: Incorrect VMReg encoding in RISCV64Frame.java + JDK-8314118: Update JMH devkit to 1.37 + JDK-8314139: TEST_BUG: runtime/os/ /THPsInThreadStackPreventionTest.java could fail on machine with large number of cores + JDK-8314144: gc/g1/ihop/TestIHOPStatic.java fails due to extra concurrent mark with -Xcomp + JDK-8314216: Case enumConstant, pattern compilation fails + JDK-8314262: GHA: Cut down cross-compilation sysroots deeper + JDK-8314423: Multiple patterns without unnamed variables + JDK-8314426: runtime/os/TestTrimNative.java is failing on slow machines + JDK-8314501: Shenandoah: sun/tools/jhsdb/heapconfig/ /JMapHeapConfigTest.java fails + JDK-8314517: some tests fail in case ipv6 is disabled on the machine + JDK-8314618: RISC-V: -XX:MaxVectorSize does not work as expected + JDK-8314656: GHA: No need for Debian ports keyring installation after JDK-8313701 + JDK-8314679: SA fails to properly attach to JVM after having just detached from a different JVM + JDK-8314730: GHA: Drop libfreetype6-dev transitional package in favor of libfreetype-dev + JDK-8314850: SharedRuntime::handle_wrong_method() gets called too often when resolving Continuation.enter + JDK-8314960: Add Certigna Root CA - 2 + JDK-8315020: The macro definition for LoongArch64 zero build is not accurate. + JDK-8315051: jdk/jfr/jvm/TestGetEventWriter.java fails with non-JVMCI GCs + JDK-8315534: Incorrect warnings about implicit annotation processing- Compiler flags to realign stack on ix86 (bsc#1214790)- Added patch: * reproducible-properties.patch + use SOURCE_DATE_EPOCH for timestamp in properties files if it is set- Initial packaging of OpenJDK 21 release - Highlight of changes to OpenJDK 17 LTS * Additions + HotSpot JVM JEP-422: Linux/RISC-V Port (19) ° Garbage Collectors JEP-439: Generational ZGC (21) ° Serviceability JEP-451: Prepare to Disallow the Dynamic Loading of Agents (21) + Language JEP-441: Pattern Matching for switch (21) JEP-440: Record Patterns (21) + Libraries JEP-444: Virtual Threads (21) ° Collections JEP-431: Sequenced Collections (21) ° Cryptography JEP-452: Key Encapsulation Mechanism API (21) ° I/O JEP-400: UTF-8 by Default (18) ° Networking JEP-418: Internet-Address Resolution SPI (18) JEP-408: Simple Web Server (18) ° Reflection & Method Handles JEP-416: Reimplement Core Reflection with Method Handles (18) + Tools ° JavaDoc JEP-413: Code Snippets in Java API Documentation (18) * Preview & Incubating + Language JEP-430: String Templates (Preview) (21) JEP-445: Unnamed Classes and Instance Main Methods (Preview) (21) JEP-443: Unnamed Patterns and Variables (Preview) (21) + Libraries JEP-442: Foreign Function & Memory API (Third Preview) (21) JEP-446: Scoped Values (Preview) (21) JEP-453: Structured Concurrency (Preview) (21) JEP-448: Vector API (Sixth Incubator) (21) * Deprecations + HotSpot JVM JEP-449: Deprecate the Windows 32-bit x86 Port for Removal (21) + Libraries JEP-421: Deprecate Finalization for Removal (18)/bin/sh/bin/shh04-ch1c 1753083542  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  !!!!!!!!!! ! ! ! ! !!!!!!!!!!!!!!!!!!! !!!"!#!$!%!&!'!(!)!*!+!,!-!.!/!0!1!2!3!4!5!6!7!8!9!:!;!<!=!>!?!@!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"""""""""" " " " " """"""""""""""""""" "!"""#"$"%"&"'"(")"*"+","-"."/"0"1"2"3"4"5"6"7"8"9":";"<"=">"?"@"A"B"C"D"E"F"G"H"I"J"K"L"M"N"O"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]"^"_"`"a"b"c"d"e"f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""########## # # # # ################### #!#"###$#%#&#'#(#)#*#+#,#-#.#/#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#V#W#X#Y#Z#[#\#]#^#_#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#{#|#}#~#################################################################################################################################$$$$$$$$$$ $ $ $ $ $$$$$$$$$$$$$$$$$$$ $!$"$#$$$%$&$'$($)$*$+$,$-$.$/$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$t$u$v$w$x$y$z${$|$}$~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%% % % % % %%%%%%%%%%%%%%%%%%% %!%"%#%$%%%&%'%(%)%*%+%,%-%.%/%0%1%2%3%4%5%6%7%8%9%:%;%<%=%>%?%@%A%B%C%D%E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%t%u%v%w%x%y%z%{%|%}%~%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&& & & & & &&&&&&&&&&&&&&&&&&& &!&"&#&$&%&&&'&(&)&*&+&,&-&.&/&0&1&2&3&4&5&6&7&8&9&:&;&<&=&>&?&@&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&[&\&]&^&_&`&a&b&c&d&e&f&g&h&i&j&k&l&m&n&o&p&q&r&s&t&u&v&w&x&y&z&{&|&}&~&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'''''''''' ' ' ' ' ''''''''''''''''''' '!'"'#'$'%'&'''(')'*'+','-'.'/'0'1'2'3'4'5'6'7'8'9':';'<'='>'?'@'A'B'C'D'E'F'G'H'I'J'K'L'M'N'O'P'Q'R'S'T'U'V'W'X'Y'Z'['\']'^'_'`'a'b'c'd'e'f'g'h'i'j'k'l'm'n'o'p'q'r's't'u'v'w'x'y'z'{'|'}'~'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((( ( ( ( ( ((((((((((((((((((( (!("(#($(%(&('((()(*(+(,(-(.(/(0(1(2(3(4(5(6(7(8(9(:(;(<(=(>(?(@(A(B(C(D(E(F(G(H(I(J(K(L(M(N(O(P(Q(R(S(T(U(V(W(X(Y(Z([(\(](^(_(`(a(b(c(d(e(f(g(h(i(j(k(l(m(n(o(p(q(r(s(t(u(v(w(x(y(z({(|(}(~((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()))))))))) ) ) ) ) ))))))))))))))))))) )!)")#)$)%)&)')()))*)+),)-).)/)0)1)2)3)4)5)6)7)8)9):);)<)=)>)?)@)A)B)C)D)E)F)G)H)I)J)K)L)M)N)O)P)Q)R)S)T)U)V)W)X)Y)Z)[)\)])^)_)`)a)b)c)d)e)f)g)h)i)j)k)l)m)n)o)p)q)r)s)t)u)v)w)x)y)z){)|)})~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))********** * * * * ******************* *!*"*#*$*%*&*'*(*)***+*,*-*.*/*0*1*2*3*4*5*6*7*8*9*:*;*<*=*>*?*@*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*\*]*^*_*`*a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*{*|*}*~**********************************************************************21.0.8.0-150600.3.15.121.0.8.0-150600.3.15.121.0.8.0-150600.3.15.1         !!!!!!"""""!!!###############$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$&&&&&&&''''''&&&#((((((((((((())))))))))))((((**+***#,,,,,,,,,,,,,,#------------------------------------------------........................../////////////////////////...-00000000000000000000000000000000000000000000000----11122111###33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333334444444444444444444444444444444444444444444444444444444555555555555555555555555555555555555555555555555555555444366666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666637777777777777777777788888888888888888887773333999999999999999999999999999999999999:::::::::::::::::::::::::::::::::::999;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<;;;;=======>>>>>>===????????????????????@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAA@@@?BBBBBBBBBBBBBBBBBBB?CCCCCCCCCDDDDDDDDCCC????EEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFEEE?GGGGGGGHHHHHHGGGIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMLLLKNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKOOOOOOOOOOOOOOOPPPPPPPPPPPPPPOOOKKKIQQQQIRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRRITTTTTTTTTUUUUUUUUTTTIIIIVVVVVVVVWWWWWWWVVVIXXXXXYYYYXXXIZZZZZZZZZZZ[[[[[[[[[[ZZZI\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]\\\I^^^^^^^^^^^^^^^^^^^^^^_____________________^^^`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbacccccddddcccaaaaeeeeeeeeeeeeeeeeeefffffffffffffffffeee`ggghhggggiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiii`klllllllllmmmmmmmmmmmnnnnnnnnnnmmmloooooooolppppppppppppppppqqqqqqqqqqqqqqqpppllllrrsrrrltttuutttkvvvvvvvvwwwwwwwvvvxyz{{{{{{{{{{{{{{|||||||||||||{{{y}~~~~~~~~~~yx                                            !!!!!!!!!!!!!!!!!!   """"###"""$%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'''''''''''''''''''''''''''''''''''''''''&((((((((((((((((((())))))))))))))))))(((&********+++++++***&,,,,,,,,,,,,,,,,,,,,,,,----------------------,,,,...//...&&&&0000000000000111111111111000$2345555555555555555555555566666666666666666666665552789::::::::::;;;;;;;;;:::7<=>>>>>>>>>>>>>>>>>>>>>????????????????????>@@@@AAA@@@>>>>BBBBCCCBBB>DDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEDDD<FGHHHIIHHH<JKLLLLLLLLLLLLLMMMMMMMMMMMMLLLJNOPQRSSSSSSSSSTTTTTTTTSSSOOUVWWWWWWWWWXXXXXXXXWWWYZ[\\\\\\\\\\\]]]]]]]]]]\\\Y^_``````````````aaaaaaaaaaaaa```^bcdeeeeeeeeeeeeeffffffffffffeeeeggggggggggghhhhhhhhhhgggeiiiiiiiiijjjjjjjjiiibklmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmkoppppppppppppppppppppqqqqqqqqqqqqqqqqqqqpppkrstuuuuvvvuuurwxyzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{z||||}}}|||z~~~~~~~~~~~~~~~~~~~~~~~~~zzzw                                                                                                                                                    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"""""""""""""""""""""""""""""""!#############$$$$$$$$$$$$###!!!!%%%%%%%%%%%%%%%&&&&&&&&&&&&&&%%%!''('''))*+++,,+++-./01233333334444443330567888888888888999999999998885:;<=>>>>>????>>>=@@@AA@@@<BCDEEFEEEBGHIJKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLKKKGMNOPQQQQQQQQQQQQQQQRRSRRRQTTTTTTTTTTTTTTQUUVUUUQWWWWWWWWWXXXXXXXXWWWQQQMYZ[\]]]]]]]^^^^^^]]]Y__`abcccccccccccccccccccccccddddddddddddddddddddddcccbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeebgggggghhhhhgggbiiiiiiijjjjjjiiikllmmmnnopqpjavadocjava-21-openjdkapiallclasses-index.htmlallpackages-index.htmlconstant-values.htmlcopy.svgdeprecated-list.htmlelement-listhelp-doc.htmlindex-filesindex-1.htmlindex-10.htmlindex-11.htmlindex-12.htmlindex-13.htmlindex-14.htmlindex-15.htmlindex-16.htmlindex-17.htmlindex-18.htmlindex-19.htmlindex-2.htmlindex-20.htmlindex-21.htmlindex-22.htmlindex-23.htmlindex-24.htmlindex-25.htmlindex-26.htmlindex-27.htmlindex-3.htmlindex-4.htmlindex-5.htmlindex-6.htmlindex-7.htmlindex-8.htmlindex-9.htmlindex.htmljava.basejavaioBufferedInputStream.htmlBufferedOutputStream.htmlBufferedReader.htmlBufferedWriter.htmlByteArrayInputStream.htmlByteArrayOutputStream.htmlCharArrayReader.htmlCharArrayWriter.htmlCharConversionException.htmlCloseable.htmlConsole.htmlDataInput.htmlDataInputStream.htmlDataOutput.htmlDataOutputStream.htmlEOFException.htmlExternalizable.htmlFile.htmlFileDescriptor.htmlFileFilter.htmlFileInputStream.htmlFileNotFoundException.htmlFileOutputStream.htmlFilePermission.htmlFileReader.htmlFileWriter.htmlFilenameFilter.htmlFilterInputStream.htmlFilterOutputStream.htmlFilterReader.htmlFilterWriter.htmlFlushable.htmlIOError.htmlIOException.htmlInputStream.htmlInputStreamReader.htmlInterruptedIOException.htmlInvalidClassException.htmlInvalidObjectException.htmlLineNumberInputStream.htmlLineNumberReader.htmlNotActiveException.htmlNotSerializableException.htmlObjectInput.htmlObjectInputFilter.Config.htmlObjectInputFilter.FilterInfo.htmlObjectInputFilter.Status.htmlObjectInputFilter.htmlObjectInputStream.GetField.htmlObjectInputStream.htmlObjectInputValidation.htmlObjectOutput.htmlObjectOutputStream.PutField.htmlObjectOutputStream.htmlObjectStreamClass.htmlObjectStreamConstants.htmlObjectStreamException.htmlObjectStreamField.htmlOptionalDataException.htmlOutputStream.htmlOutputStreamWriter.htmlPipedInputStream.htmlPipedOutputStream.htmlPipedReader.htmlPipedWriter.htmlPrintStream.htmlPrintWriter.htmlPushbackInputStream.htmlPushbackReader.htmlRandomAccessFile.htmlReader.htmlSequenceInputStream.htmlSerial.htmlSerializable.htmlSerializablePermission.htmlStreamCorruptedException.htmlStreamTokenizer.htmlStringBufferInputStream.htmlStringReader.htmlStringWriter.htmlSyncFailedException.htmlUTFDataFormatException.htmlUncheckedIOException.htmlUnsupportedEncodingException.htmlWriteAbortedException.htmlWriter.htmlclass-useBufferedInputStream.htmlBufferedOutputStream.htmlBufferedReader.htmlBufferedWriter.htmlByteArrayInputStream.htmlByteArrayOutputStream.htmlCharArrayReader.htmlCharArrayWriter.htmlCharConversionException.htmlCloseable.htmlConsole.htmlDataInput.htmlDataInputStream.htmlDataOutput.htmlDataOutputStream.htmlEOFException.htmlExternalizable.htmlFile.htmlFileDescriptor.htmlFileFilter.htmlFileInputStream.htmlFileNotFoundException.htmlFileOutputStream.htmlFilePermission.htmlFileReader.htmlFileWriter.htmlFilenameFilter.htmlFilterInputStream.htmlFilterOutputStream.htmlFilterReader.htmlFilterWriter.htmlFlushable.htmlIOError.htmlIOException.htmlInputStream.htmlInputStreamReader.htmlInterruptedIOException.htmlInvalidClassException.htmlInvalidObjectException.htmlLineNumberInputStream.htmlLineNumberReader.htmlNotActiveException.htmlNotSerializableException.htmlObjectInput.htmlObjectInputFilter.Config.htmlObjectInputFilter.FilterInfo.htmlObjectInputFilter.Status.htmlObjectInputFilter.htmlObjectInputStream.GetField.htmlObjectInputStream.htmlObjectInputValidation.htmlObjectOutput.htmlObjectOutputStream.PutField.htmlObjectOutputStream.htmlObjectStreamClass.htmlObjectStreamConstants.htmlObjectStreamException.htmlObjectStreamField.htmlOptionalDataException.htmlOutputStream.htmlOutputStreamWriter.htmlPipedInputStream.htmlPipedOutputStream.htmlPipedReader.htmlPipedWriter.htmlPrintStream.htmlPrintWriter.htmlPushbackInputStream.htmlPushbackReader.htmlRandomAccessFile.htmlReader.htmlSequenceInputStream.htmlSerial.htmlSerializable.htmlSerializablePermission.htmlStreamCorruptedException.htmlStreamTokenizer.htmlStringBufferInputStream.htmlStringReader.htmlStringWriter.htmlSyncFailedException.htmlUTFDataFormatException.htmlUncheckedIOException.htmlUnsupportedEncodingException.htmlWriteAbortedException.htmlWriter.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmllangAbstractMethodError.htmlAppendable.htmlArithmeticException.htmlArrayIndexOutOfBoundsException.htmlArrayStoreException.htmlAssertionError.htmlAutoCloseable.htmlBoolean.htmlBootstrapMethodError.htmlByte.htmlCharSequence.htmlCharacter.Subset.htmlCharacter.UnicodeBlock.htmlCharacter.UnicodeScript.htmlCharacter.htmlClass.htmlClassCastException.htmlClassCircularityError.htmlClassFormatError.htmlClassLoader.htmlClassNotFoundException.htmlClassValue.htmlCloneNotSupportedException.htmlCloneable.htmlComparable.htmlDeprecated.htmlDouble.htmlEnum.EnumDesc.htmlEnum.htmlEnumConstantNotPresentException.htmlError.htmlException.htmlExceptionInInitializerError.htmlFloat.htmlFunctionalInterface.htmlIllegalAccessError.htmlIllegalAccessException.htmlIllegalArgumentException.htmlIllegalCallerException.htmlIllegalMonitorStateException.htmlIllegalStateException.htmlIllegalThreadStateException.htmlIncompatibleClassChangeError.htmlIndexOutOfBoundsException.htmlInheritableThreadLocal.htmlInstantiationError.htmlInstantiationException.htmlInteger.htmlInternalError.htmlInterruptedException.htmlIterable.htmlLayerInstantiationException.htmlLinkageError.htmlLong.htmlMatchException.htmlMath.htmlModule.htmlModuleLayer.Controller.htmlModuleLayer.htmlNegativeArraySizeException.htmlNoClassDefFoundError.htmlNoSuchFieldError.htmlNoSuchFieldException.htmlNoSuchMethodError.htmlNoSuchMethodException.htmlNullPointerException.htmlNumber.htmlNumberFormatException.htmlObject.htmlOutOfMemoryError.htmlOverride.htmlPackage.htmlProcess.htmlProcessBuilder.Redirect.Type.htmlProcessBuilder.Redirect.htmlProcessBuilder.htmlProcessHandle.Info.htmlProcessHandle.htmlReadable.htmlRecord.htmlReflectiveOperationException.htmlRunnable.htmlRuntime.Version.htmlRuntime.htmlRuntimeException.htmlRuntimePermission.htmlSafeVarargs.htmlScopedValue.Carrier.htmlScopedValue.htmlSecurityException.htmlSecurityManager.htmlShort.htmlStackOverflowError.htmlStackTraceElement.htmlStackWalker.Option.htmlStackWalker.StackFrame.htmlStackWalker.htmlStrictMath.htmlString.htmlStringBuffer.htmlStringBuilder.htmlStringIndexOutOfBoundsException.htmlStringTemplate.Processor.Linkage.htmlStringTemplate.Processor.htmlStringTemplate.htmlSuppressWarnings.htmlSystem.Logger.Level.htmlSystem.Logger.htmlSystem.LoggerFinder.htmlSystem.htmlThread.Builder.OfPlatform.htmlThread.Builder.OfVirtual.htmlThread.Builder.htmlThread.State.htmlThread.UncaughtExceptionHandler.htmlThread.htmlThreadDeath.htmlThreadGroup.htmlThreadLocal.htmlThrowable.htmlTypeNotPresentException.htmlUnknownError.htmlUnsatisfiedLinkError.htmlUnsupportedClassVersionError.htmlUnsupportedOperationException.htmlVerifyError.htmlVirtualMachineError.htmlVoid.htmlWrongThreadException.htmlannotationAnnotation.htmlAnnotationFormatError.htmlAnnotationTypeMismatchException.htmlDocumented.htmlElementType.htmlIncompleteAnnotationException.htmlInherited.htmlNative.htmlRepeatable.htmlRetention.htmlRetentionPolicy.htmlTarget.htmlclass-useAnnotation.htmlAnnotationFormatError.htmlAnnotationTypeMismatchException.htmlDocumented.htmlElementType.htmlIncompleteAnnotationException.htmlInherited.htmlNative.htmlRepeatable.htmlRetention.htmlRetentionPolicy.htmlTarget.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAbstractMethodError.htmlAppendable.htmlArithmeticException.htmlArrayIndexOutOfBoundsException.htmlArrayStoreException.htmlAssertionError.htmlAutoCloseable.htmlBoolean.htmlBootstrapMethodError.htmlByte.htmlCharSequence.htmlCharacter.Subset.htmlCharacter.UnicodeBlock.htmlCharacter.UnicodeScript.htmlCharacter.htmlClass.htmlClassCastException.htmlClassCircularityError.htmlClassFormatError.htmlClassLoader.htmlClassNotFoundException.htmlClassValue.htmlCloneNotSupportedException.htmlCloneable.htmlComparable.htmlDeprecated.htmlDouble.htmlEnum.EnumDesc.htmlEnum.htmlEnumConstantNotPresentException.htmlError.htmlException.htmlExceptionInInitializerError.htmlFloat.htmlFunctionalInterface.htmlIllegalAccessError.htmlIllegalAccessException.htmlIllegalArgumentException.htmlIllegalCallerException.htmlIllegalMonitorStateException.htmlIllegalStateException.htmlIllegalThreadStateException.htmlIncompatibleClassChangeError.htmlIndexOutOfBoundsException.htmlInheritableThreadLocal.htmlInstantiationError.htmlInstantiationException.htmlInteger.htmlInternalError.htmlInterruptedException.htmlIterable.htmlLayerInstantiationException.htmlLinkageError.htmlLong.htmlMatchException.htmlMath.htmlModule.htmlModuleLayer.Controller.htmlModuleLayer.htmlNegativeArraySizeException.htmlNoClassDefFoundError.htmlNoSuchFieldError.htmlNoSuchFieldException.htmlNoSuchMethodError.htmlNoSuchMethodException.htmlNullPointerException.htmlNumber.htmlNumberFormatException.htmlObject.htmlOutOfMemoryError.htmlOverride.htmlPackage.htmlProcess.htmlProcessBuilder.Redirect.Type.htmlProcessBuilder.Redirect.htmlProcessBuilder.htmlProcessHandle.Info.htmlProcessHandle.htmlReadable.htmlRecord.htmlReflectiveOperationException.htmlRunnable.htmlRuntime.Version.htmlRuntime.htmlRuntimeException.htmlRuntimePermission.htmlSafeVarargs.htmlScopedValue.Carrier.htmlScopedValue.htmlSecurityException.htmlSecurityManager.htmlShort.htmlStackOverflowError.htmlStackTraceElement.htmlStackWalker.Option.htmlStackWalker.StackFrame.htmlStackWalker.htmlStrictMath.htmlString.htmlStringBuffer.htmlStringBuilder.htmlStringIndexOutOfBoundsException.htmlStringTemplate.Processor.Linkage.htmlStringTemplate.Processor.htmlStringTemplate.htmlSuppressWarnings.htmlSystem.Logger.Level.htmlSystem.Logger.htmlSystem.LoggerFinder.htmlSystem.htmlThread.Builder.OfPlatform.htmlThread.Builder.OfVirtual.htmlThread.Builder.htmlThread.State.htmlThread.UncaughtExceptionHandler.htmlThread.htmlThreadDeath.htmlThreadGroup.htmlThreadLocal.htmlThrowable.htmlTypeNotPresentException.htmlUnknownError.htmlUnsatisfiedLinkError.htmlUnsupportedClassVersionError.htmlUnsupportedOperationException.htmlVerifyError.htmlVirtualMachineError.htmlVoid.htmlWrongThreadException.htmlconstantClassDesc.htmlConstable.htmlConstantDesc.htmlConstantDescs.htmlDirectMethodHandleDesc.Kind.htmlDirectMethodHandleDesc.htmlDynamicCallSiteDesc.htmlDynamicConstantDesc.htmlMethodHandleDesc.htmlMethodTypeDesc.htmlModuleDesc.htmlPackageDesc.htmlclass-useClassDesc.htmlConstable.htmlConstantDesc.htmlConstantDescs.htmlDirectMethodHandleDesc.Kind.htmlDirectMethodHandleDesc.htmlDynamicCallSiteDesc.htmlDynamicConstantDesc.htmlMethodHandleDesc.htmlMethodTypeDesc.htmlModuleDesc.htmlPackageDesc.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmldoc-filesValueBased.htmlthreadPrimitiveDeprecation.htmlforeignAddressLayout.htmlArena.htmlFunctionDescriptor.htmlGroupLayout.htmlLinker.Option.htmlLinker.htmlMemoryLayout.PathElement.htmlMemoryLayout.htmlMemorySegment.Scope.htmlMemorySegment.htmlPaddingLayout.htmlSegmentAllocator.htmlSequenceLayout.htmlStructLayout.htmlSymbolLookup.htmlUnionLayout.htmlValueLayout.OfBoolean.htmlValueLayout.OfByte.htmlValueLayout.OfChar.htmlValueLayout.OfDouble.htmlValueLayout.OfFloat.htmlValueLayout.OfInt.htmlValueLayout.OfLong.htmlValueLayout.OfShort.htmlValueLayout.htmlclass-useAddressLayout.htmlArena.htmlFunctionDescriptor.htmlGroupLayout.htmlLinker.Option.htmlLinker.htmlMemoryLayout.PathElement.htmlMemoryLayout.htmlMemorySegment.Scope.htmlMemorySegment.htmlPaddingLayout.htmlSegmentAllocator.htmlSequenceLayout.htmlStructLayout.htmlSymbolLookup.htmlUnionLayout.htmlValueLayout.OfBoolean.htmlValueLayout.OfByte.htmlValueLayout.OfChar.htmlValueLayout.OfDouble.htmlValueLayout.OfFloat.htmlValueLayout.OfInt.htmlValueLayout.OfLong.htmlValueLayout.OfShort.htmlValueLayout.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlinvokeCallSite.htmlConstantBootstraps.htmlConstantCallSite.htmlLambdaConversionException.htmlLambdaMetafactory.htmlMethodHandle.htmlMethodHandleInfo.htmlMethodHandleProxies.htmlMethodHandles.Lookup.ClassOption.htmlMethodHandles.Lookup.htmlMethodHandles.htmlMethodType.htmlMutableCallSite.htmlSerializedLambda.htmlStringConcatException.htmlStringConcatFactory.htmlSwitchPoint.htmlTypeDescriptor.OfField.htmlTypeDescriptor.OfMethod.htmlTypeDescriptor.htmlVarHandle.AccessMode.htmlVarHandle.VarHandleDesc.htmlVarHandle.htmlVolatileCallSite.htmlWrongMethodTypeException.htmlclass-useCallSite.htmlConstantBootstraps.htmlConstantCallSite.htmlLambdaConversionException.htmlLambdaMetafactory.htmlMethodHandle.htmlMethodHandleInfo.htmlMethodHandleProxies.htmlMethodHandles.Lookup.ClassOption.htmlMethodHandles.Lookup.htmlMethodHandles.htmlMethodType.htmlMutableCallSite.htmlSerializedLambda.htmlStringConcatException.htmlStringConcatFactory.htmlSwitchPoint.htmlTypeDescriptor.OfField.htmlTypeDescriptor.OfMethod.htmlTypeDescriptor.htmlVarHandle.AccessMode.htmlVarHandle.VarHandleDesc.htmlVarHandle.htmlVolatileCallSite.htmlWrongMethodTypeException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmoduleConfiguration.htmlFindException.htmlInvalidModuleDescriptorException.htmlModuleDescriptor.Builder.htmlModuleDescriptor.Exports.Modifier.htmlModuleDescriptor.Exports.htmlModuleDescriptor.Modifier.htmlModuleDescriptor.Opens.Modifier.htmlModuleDescriptor.Opens.htmlModuleDescriptor.Provides.htmlModuleDescriptor.Requires.Modifier.htmlModuleDescriptor.Requires.htmlModuleDescriptor.Version.htmlModuleDescriptor.htmlModuleFinder.htmlModuleReader.htmlModuleReference.htmlResolutionException.htmlResolvedModule.htmlclass-useConfiguration.htmlFindException.htmlInvalidModuleDescriptorException.htmlModuleDescriptor.Builder.htmlModuleDescriptor.Exports.Modifier.htmlModuleDescriptor.Exports.htmlModuleDescriptor.Modifier.htmlModuleDescriptor.Opens.Modifier.htmlModuleDescriptor.Opens.htmlModuleDescriptor.Provides.htmlModuleDescriptor.Requires.Modifier.htmlModuleDescriptor.Requires.htmlModuleDescriptor.Version.htmlModuleDescriptor.htmlModuleFinder.htmlModuleReader.htmlModuleReference.htmlResolutionException.htmlResolvedModule.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlrefCleaner.Cleanable.htmlCleaner.htmlPhantomReference.htmlReference.htmlReferenceQueue.htmlSoftReference.htmlWeakReference.htmlclass-useCleaner.Cleanable.htmlCleaner.htmlPhantomReference.htmlReference.htmlReferenceQueue.htmlSoftReference.htmlWeakReference.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlreflectAccessFlag.Location.htmlAccessFlag.htmlAccessibleObject.htmlAnnotatedArrayType.htmlAnnotatedElement.htmlAnnotatedParameterizedType.htmlAnnotatedType.htmlAnnotatedTypeVariable.htmlAnnotatedWildcardType.htmlArray.htmlClassFileFormatVersion.htmlConstructor.htmlExecutable.htmlField.htmlGenericArrayType.htmlGenericDeclaration.htmlGenericSignatureFormatError.htmlInaccessibleObjectException.htmlInvocationHandler.htmlInvocationTargetException.htmlMalformedParameterizedTypeException.htmlMalformedParametersException.htmlMember.htmlMethod.htmlModifier.htmlParameter.htmlParameterizedType.htmlProxy.htmlRecordComponent.htmlReflectPermission.htmlType.htmlTypeVariable.htmlUndeclaredThrowableException.htmlWildcardType.htmlclass-useAccessFlag.Location.htmlAccessFlag.htmlAccessibleObject.htmlAnnotatedArrayType.htmlAnnotatedElement.htmlAnnotatedParameterizedType.htmlAnnotatedType.htmlAnnotatedTypeVariable.htmlAnnotatedWildcardType.htmlArray.htmlClassFileFormatVersion.htmlConstructor.htmlExecutable.htmlField.htmlGenericArrayType.htmlGenericDeclaration.htmlGenericSignatureFormatError.htmlInaccessibleObjectException.htmlInvocationHandler.htmlInvocationTargetException.htmlMalformedParameterizedTypeException.htmlMalformedParametersException.htmlMember.htmlMethod.htmlModifier.htmlParameter.htmlParameterizedType.htmlProxy.htmlRecordComponent.htmlReflectPermission.htmlType.htmlTypeVariable.htmlUndeclaredThrowableException.htmlWildcardType.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlruntimeObjectMethods.htmlSwitchBootstraps.htmlTemplateRuntime.htmlclass-useObjectMethods.htmlSwitchBootstraps.htmlTemplateRuntime.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmathBigDecimal.htmlBigInteger.htmlMathContext.htmlRoundingMode.htmlclass-useBigDecimal.htmlBigInteger.htmlMathContext.htmlRoundingMode.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlnetAuthenticator.RequestorType.htmlAuthenticator.htmlBindException.htmlCacheRequest.htmlCacheResponse.htmlConnectException.htmlContentHandler.htmlContentHandlerFactory.htmlCookieHandler.htmlCookieManager.htmlCookiePolicy.htmlCookieStore.htmlDatagramPacket.htmlDatagramSocket.htmlDatagramSocketImpl.htmlDatagramSocketImplFactory.htmlFileNameMap.htmlHttpCookie.htmlHttpRetryException.htmlHttpURLConnection.htmlIDN.htmlInet4Address.htmlInet6Address.htmlInetAddress.htmlInetSocketAddress.htmlInterfaceAddress.htmlJarURLConnection.htmlMalformedURLException.htmlMulticastSocket.htmlNetPermission.htmlNetworkInterface.htmlNoRouteToHostException.htmlPasswordAuthentication.htmlPortUnreachableException.htmlProtocolException.htmlProtocolFamily.htmlProxy.Type.htmlProxy.htmlProxySelector.htmlResponseCache.htmlSecureCacheResponse.htmlServerSocket.htmlSocket.htmlSocketAddress.htmlSocketException.htmlSocketImpl.htmlSocketImplFactory.htmlSocketOption.htmlSocketOptions.htmlSocketPermission.htmlSocketTimeoutException.htmlStandardProtocolFamily.htmlStandardSocketOptions.htmlURI.htmlURISyntaxException.htmlURL.htmlURLClassLoader.htmlURLConnection.htmlURLDecoder.htmlURLEncoder.htmlURLPermission.htmlURLStreamHandler.htmlURLStreamHandlerFactory.htmlUnixDomainSocketAddress.htmlUnknownHostException.htmlUnknownServiceException.htmlclass-useAuthenticator.RequestorType.htmlAuthenticator.htmlBindException.htmlCacheRequest.htmlCacheResponse.htmlConnectException.htmlContentHandler.htmlContentHandlerFactory.htmlCookieHandler.htmlCookieManager.htmlCookiePolicy.htmlCookieStore.htmlDatagramPacket.htmlDatagramSocket.htmlDatagramSocketImpl.htmlDatagramSocketImplFactory.htmlFileNameMap.htmlHttpCookie.htmlHttpRetryException.htmlHttpURLConnection.htmlIDN.htmlInet4Address.htmlInet6Address.htmlInetAddress.htmlInetSocketAddress.htmlInterfaceAddress.htmlJarURLConnection.htmlMalformedURLException.htmlMulticastSocket.htmlNetPermission.htmlNetworkInterface.htmlNoRouteToHostException.htmlPasswordAuthentication.htmlPortUnreachableException.htmlProtocolException.htmlProtocolFamily.htmlProxy.Type.htmlProxy.htmlProxySelector.htmlResponseCache.htmlSecureCacheResponse.htmlServerSocket.htmlSocket.htmlSocketAddress.htmlSocketException.htmlSocketImpl.htmlSocketImplFactory.htmlSocketOption.htmlSocketOptions.htmlSocketPermission.htmlSocketTimeoutException.htmlStandardProtocolFamily.htmlStandardSocketOptions.htmlURI.htmlURISyntaxException.htmlURL.htmlURLClassLoader.htmlURLConnection.htmlURLDecoder.htmlURLEncoder.htmlURLPermission.htmlURLStreamHandler.htmlURLStreamHandlerFactory.htmlUnixDomainSocketAddress.htmlUnknownHostException.htmlUnknownServiceException.htmldoc-filesnet-properties.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiInetAddressResolver.LookupPolicy.htmlInetAddressResolver.htmlInetAddressResolverProvider.Configuration.htmlInetAddressResolverProvider.htmlURLStreamHandlerProvider.htmlclass-useInetAddressResolver.LookupPolicy.htmlInetAddressResolver.htmlInetAddressResolverProvider.Configuration.htmlInetAddressResolverProvider.htmlURLStreamHandlerProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlnioBuffer.htmlBufferOverflowException.htmlBufferUnderflowException.htmlByteBuffer.htmlByteOrder.htmlCharBuffer.htmlDoubleBuffer.htmlFloatBuffer.htmlIntBuffer.htmlInvalidMarkException.htmlLongBuffer.htmlMappedByteBuffer.htmlReadOnlyBufferException.htmlShortBuffer.htmlchannelsAcceptPendingException.htmlAlreadyBoundException.htmlAlreadyConnectedException.htmlAsynchronousByteChannel.htmlAsynchronousChannel.htmlAsynchronousChannelGroup.htmlAsynchronousCloseException.htmlAsynchronousFileChannel.htmlAsynchronousServerSocketChannel.htmlAsynchronousSocketChannel.htmlByteChannel.htmlCancelledKeyException.htmlChannel.htmlChannels.htmlClosedByInterruptException.htmlClosedChannelException.htmlClosedSelectorException.htmlCompletionHandler.htmlConnectionPendingException.htmlDatagramChannel.htmlFileChannel.MapMode.htmlFileChannel.htmlFileLock.htmlFileLockInterruptionException.htmlGatheringByteChannel.htmlIllegalBlockingModeException.htmlIllegalChannelGroupException.htmlIllegalSelectorException.htmlInterruptedByTimeoutException.htmlInterruptibleChannel.htmlMembershipKey.htmlMulticastChannel.htmlNetworkChannel.htmlNoConnectionPendingException.htmlNonReadableChannelException.htmlNonWritableChannelException.htmlNotYetBoundException.htmlNotYetConnectedException.htmlOverlappingFileLockException.htmlPipe.SinkChannel.htmlPipe.SourceChannel.htmlPipe.htmlReadPendingException.htmlReadableByteChannel.htmlScatteringByteChannel.htmlSeekableByteChannel.htmlSelectableChannel.htmlSelectionKey.htmlSelector.htmlServerSocketChannel.htmlShutdownChannelGroupException.htmlSocketChannel.htmlUnresolvedAddressException.htmlUnsupportedAddressTypeException.htmlWritableByteChannel.htmlWritePendingException.htmlclass-useAcceptPendingException.htmlAlreadyBoundException.htmlAlreadyConnectedException.htmlAsynchronousByteChannel.htmlAsynchronousChannel.htmlAsynchronousChannelGroup.htmlAsynchronousCloseException.htmlAsynchronousFileChannel.htmlAsynchronousServerSocketChannel.htmlAsynchronousSocketChannel.htmlByteChannel.htmlCancelledKeyException.htmlChannel.htmlChannels.htmlClosedByInterruptException.htmlClosedChannelException.htmlClosedSelectorException.htmlCompletionHandler.htmlConnectionPendingException.htmlDatagramChannel.htmlFileChannel.MapMode.htmlFileChannel.htmlFileLock.htmlFileLockInterruptionException.htmlGatheringByteChannel.htmlIllegalBlockingModeException.htmlIllegalChannelGroupException.htmlIllegalSelectorException.htmlInterruptedByTimeoutException.htmlInterruptibleChannel.htmlMembershipKey.htmlMulticastChannel.htmlNetworkChannel.htmlNoConnectionPendingException.htmlNonReadableChannelException.htmlNonWritableChannelException.htmlNotYetBoundException.htmlNotYetConnectedException.htmlOverlappingFileLockException.htmlPipe.SinkChannel.htmlPipe.SourceChannel.htmlPipe.htmlReadPendingException.htmlReadableByteChannel.htmlScatteringByteChannel.htmlSeekableByteChannel.htmlSelectableChannel.htmlSelectionKey.htmlSelector.htmlServerSocketChannel.htmlShutdownChannelGroupException.htmlSocketChannel.htmlUnresolvedAddressException.htmlUnsupportedAddressTypeException.htmlWritableByteChannel.htmlWritePendingException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiAbstractInterruptibleChannel.htmlAbstractSelectableChannel.htmlAbstractSelectionKey.htmlAbstractSelector.htmlAsynchronousChannelProvider.htmlSelectorProvider.htmlclass-useAbstractInterruptibleChannel.htmlAbstractSelectableChannel.htmlAbstractSelectionKey.htmlAbstractSelector.htmlAsynchronousChannelProvider.htmlSelectorProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlcharsetCharacterCodingException.htmlCharset.htmlCharsetDecoder.htmlCharsetEncoder.htmlCoderMalfunctionError.htmlCoderResult.htmlCodingErrorAction.htmlIllegalCharsetNameException.htmlMalformedInputException.htmlStandardCharsets.htmlUnmappableCharacterException.htmlUnsupportedCharsetException.htmlclass-useCharacterCodingException.htmlCharset.htmlCharsetDecoder.htmlCharsetEncoder.htmlCoderMalfunctionError.htmlCoderResult.htmlCodingErrorAction.htmlIllegalCharsetNameException.htmlMalformedInputException.htmlStandardCharsets.htmlUnmappableCharacterException.htmlUnsupportedCharsetException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiCharsetProvider.htmlclass-useCharsetProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useBuffer.htmlBufferOverflowException.htmlBufferUnderflowException.htmlByteBuffer.htmlByteOrder.htmlCharBuffer.htmlDoubleBuffer.htmlFloatBuffer.htmlIntBuffer.htmlInvalidMarkException.htmlLongBuffer.htmlMappedByteBuffer.htmlReadOnlyBufferException.htmlShortBuffer.htmlfileAccessDeniedException.htmlAccessMode.htmlAtomicMoveNotSupportedException.htmlClosedDirectoryStreamException.htmlClosedFileSystemException.htmlClosedWatchServiceException.htmlCopyOption.htmlDirectoryIteratorException.htmlDirectoryNotEmptyException.htmlDirectoryStream.Filter.htmlDirectoryStream.htmlFileAlreadyExistsException.htmlFileStore.htmlFileSystem.htmlFileSystemAlreadyExistsException.htmlFileSystemException.htmlFileSystemLoopException.htmlFileSystemNotFoundException.htmlFileSystems.htmlFileVisitOption.htmlFileVisitResult.htmlFileVisitor.htmlFiles.htmlInvalidPathException.htmlLinkOption.htmlLinkPermission.htmlNoSuchFileException.htmlNotDirectoryException.htmlNotLinkException.htmlOpenOption.htmlPath.htmlPathMatcher.htmlPaths.htmlProviderMismatchException.htmlProviderNotFoundException.htmlReadOnlyFileSystemException.htmlSecureDirectoryStream.htmlSimpleFileVisitor.htmlStandardCopyOption.htmlStandardOpenOption.htmlStandardWatchEventKinds.htmlWatchEvent.Kind.htmlWatchEvent.Modifier.htmlWatchEvent.htmlWatchKey.htmlWatchService.htmlWatchable.htmlattributeAclEntry.Builder.htmlAclEntry.htmlAclEntryFlag.htmlAclEntryPermission.htmlAclEntryType.htmlAclFileAttributeView.htmlAttributeView.htmlBasicFileAttributeView.htmlBasicFileAttributes.htmlDosFileAttributeView.htmlDosFileAttributes.htmlFileAttribute.htmlFileAttributeView.htmlFileOwnerAttributeView.htmlFileStoreAttributeView.htmlFileTime.htmlGroupPrincipal.htmlPosixFileAttributeView.htmlPosixFileAttributes.htmlPosixFilePermission.htmlPosixFilePermissions.htmlUserDefinedFileAttributeView.htmlUserPrincipal.htmlUserPrincipalLookupService.htmlUserPrincipalNotFoundException.htmlclass-useAclEntry.Builder.htmlAclEntry.htmlAclEntryFlag.htmlAclEntryPermission.htmlAclEntryType.htmlAclFileAttributeView.htmlAttributeView.htmlBasicFileAttributeView.htmlBasicFileAttributes.htmlDosFileAttributeView.htmlDosFileAttributes.htmlFileAttribute.htmlFileAttributeView.htmlFileOwnerAttributeView.htmlFileStoreAttributeView.htmlFileTime.htmlGroupPrincipal.htmlPosixFileAttributeView.htmlPosixFileAttributes.htmlPosixFilePermission.htmlPosixFilePermissions.htmlUserDefinedFileAttributeView.htmlUserPrincipal.htmlUserPrincipalLookupService.htmlUserPrincipalNotFoundException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAccessDeniedException.htmlAccessMode.htmlAtomicMoveNotSupportedException.htmlClosedDirectoryStreamException.htmlClosedFileSystemException.htmlClosedWatchServiceException.htmlCopyOption.htmlDirectoryIteratorException.htmlDirectoryNotEmptyException.htmlDirectoryStream.Filter.htmlDirectoryStream.htmlFileAlreadyExistsException.htmlFileStore.htmlFileSystem.htmlFileSystemAlreadyExistsException.htmlFileSystemException.htmlFileSystemLoopException.htmlFileSystemNotFoundException.htmlFileSystems.htmlFileVisitOption.htmlFileVisitResult.htmlFileVisitor.htmlFiles.htmlInvalidPathException.htmlLinkOption.htmlLinkPermission.htmlNoSuchFileException.htmlNotDirectoryException.htmlNotLinkException.htmlOpenOption.htmlPath.htmlPathMatcher.htmlPaths.htmlProviderMismatchException.htmlProviderNotFoundException.htmlReadOnlyFileSystemException.htmlSecureDirectoryStream.htmlSimpleFileVisitor.htmlStandardCopyOption.htmlStandardOpenOption.htmlStandardWatchEventKinds.htmlWatchEvent.Kind.htmlWatchEvent.Modifier.htmlWatchEvent.htmlWatchKey.htmlWatchService.htmlWatchable.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiFileSystemProvider.htmlFileTypeDetector.htmlclass-useFileSystemProvider.htmlFileTypeDetector.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlsecurityAccessControlContext.htmlAccessControlException.htmlAccessController.htmlAlgorithmConstraints.htmlAlgorithmParameterGenerator.htmlAlgorithmParameterGeneratorSpi.htmlAlgorithmParameters.htmlAlgorithmParametersSpi.htmlAllPermission.htmlAuthProvider.htmlBasicPermission.htmlCertificate.htmlCodeSigner.htmlCodeSource.htmlCryptoPrimitive.htmlDigestException.htmlDigestInputStream.htmlDigestOutputStream.htmlDomainCombiner.htmlDomainLoadStoreParameter.htmlDrbgParameters.Capability.htmlDrbgParameters.Instantiation.htmlDrbgParameters.NextBytes.htmlDrbgParameters.Reseed.htmlDrbgParameters.htmlGeneralSecurityException.htmlGuard.htmlGuardedObject.htmlIdentity.htmlIdentityScope.htmlInvalidAlgorithmParameterException.htmlInvalidKeyException.htmlInvalidParameterException.htmlKey.htmlKeyException.htmlKeyFactory.htmlKeyFactorySpi.htmlKeyManagementException.htmlKeyPair.htmlKeyPairGenerator.htmlKeyPairGeneratorSpi.htmlKeyRep.Type.htmlKeyRep.htmlKeyStore.Builder.htmlKeyStore.CallbackHandlerProtection.htmlKeyStore.Entry.Attribute.htmlKeyStore.Entry.htmlKeyStore.LoadStoreParameter.htmlKeyStore.PasswordProtection.htmlKeyStore.PrivateKeyEntry.htmlKeyStore.ProtectionParameter.htmlKeyStore.SecretKeyEntry.htmlKeyStore.TrustedCertificateEntry.htmlKeyStore.htmlKeyStoreException.htmlKeyStoreSpi.htmlMessageDigest.htmlMessageDigestSpi.htmlNoSuchAlgorithmException.htmlNoSuchProviderException.htmlPKCS12Attribute.htmlPermission.htmlPermissionCollection.htmlPermissions.htmlPolicy.Parameters.htmlPolicy.htmlPolicySpi.htmlPrincipal.htmlPrivateKey.htmlPrivilegedAction.htmlPrivilegedActionException.htmlPrivilegedExceptionAction.htmlProtectionDomain.htmlProvider.Service.htmlProvider.htmlProviderException.htmlPublicKey.htmlSecureClassLoader.htmlSecureRandom.htmlSecureRandomParameters.htmlSecureRandomSpi.htmlSecurity.htmlSecurityPermission.htmlSignature.htmlSignatureException.htmlSignatureSpi.htmlSignedObject.htmlSigner.htmlTimestamp.htmlURIParameter.htmlUnrecoverableEntryException.htmlUnrecoverableKeyException.htmlUnresolvedPermission.htmlcertCRL.htmlCRLException.htmlCRLReason.htmlCRLSelector.htmlCertPath.CertPathRep.htmlCertPath.htmlCertPathBuilder.htmlCertPathBuilderException.htmlCertPathBuilderResult.htmlCertPathBuilderSpi.htmlCertPathChecker.htmlCertPathParameters.htmlCertPathValidator.htmlCertPathValidatorException.BasicReason.htmlCertPathValidatorException.Reason.htmlCertPathValidatorException.htmlCertPathValidatorResult.htmlCertPathValidatorSpi.htmlCertSelector.htmlCertStore.htmlCertStoreException.htmlCertStoreParameters.htmlCertStoreSpi.htmlCertificate.CertificateRep.htmlCertificate.htmlCertificateEncodingException.htmlCertificateException.htmlCertificateExpiredException.htmlCertificateFactory.htmlCertificateFactorySpi.htmlCertificateNotYetValidException.htmlCertificateParsingException.htmlCertificateRevokedException.htmlCollectionCertStoreParameters.htmlExtension.htmlLDAPCertStoreParameters.htmlPKIXBuilderParameters.htmlPKIXCertPathBuilderResult.htmlPKIXCertPathChecker.htmlPKIXCertPathValidatorResult.htmlPKIXParameters.htmlPKIXReason.htmlPKIXRevocationChecker.Option.htmlPKIXRevocationChecker.htmlPolicyNode.htmlPolicyQualifierInfo.htmlTrustAnchor.htmlURICertStoreParameters.htmlX509CRL.htmlX509CRLEntry.htmlX509CRLSelector.htmlX509CertSelector.htmlX509Certificate.htmlX509Extension.htmlclass-useCRL.htmlCRLException.htmlCRLReason.htmlCRLSelector.htmlCertPath.CertPathRep.htmlCertPath.htmlCertPathBuilder.htmlCertPathBuilderException.htmlCertPathBuilderResult.htmlCertPathBuilderSpi.htmlCertPathChecker.htmlCertPathParameters.htmlCertPathValidator.htmlCertPathValidatorException.BasicReason.htmlCertPathValidatorException.Reason.htmlCertPathValidatorException.htmlCertPathValidatorResult.htmlCertPathValidatorSpi.htmlCertSelector.htmlCertStore.htmlCertStoreException.htmlCertStoreParameters.htmlCertStoreSpi.htmlCertificate.CertificateRep.htmlCertificate.htmlCertificateEncodingException.htmlCertificateException.htmlCertificateExpiredException.htmlCertificateFactory.htmlCertificateFactorySpi.htmlCertificateNotYetValidException.htmlCertificateParsingException.htmlCertificateRevokedException.htmlCollectionCertStoreParameters.htmlExtension.htmlLDAPCertStoreParameters.htmlPKIXBuilderParameters.htmlPKIXCertPathBuilderResult.htmlPKIXCertPathChecker.htmlPKIXCertPathValidatorResult.htmlPKIXParameters.htmlPKIXReason.htmlPKIXRevocationChecker.Option.htmlPKIXRevocationChecker.htmlPolicyNode.htmlPolicyQualifierInfo.htmlTrustAnchor.htmlURICertStoreParameters.htmlX509CRL.htmlX509CRLEntry.htmlX509CRLSelector.htmlX509CertSelector.htmlX509Certificate.htmlX509Extension.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAccessControlContext.htmlAccessControlException.htmlAccessController.htmlAlgorithmConstraints.htmlAlgorithmParameterGenerator.htmlAlgorithmParameterGeneratorSpi.htmlAlgorithmParameters.htmlAlgorithmParametersSpi.htmlAllPermission.htmlAuthProvider.htmlBasicPermission.htmlCertificate.htmlCodeSigner.htmlCodeSource.htmlCryptoPrimitive.htmlDigestException.htmlDigestInputStream.htmlDigestOutputStream.htmlDomainCombiner.htmlDomainLoadStoreParameter.htmlDrbgParameters.Capability.htmlDrbgParameters.Instantiation.htmlDrbgParameters.NextBytes.htmlDrbgParameters.Reseed.htmlDrbgParameters.htmlGeneralSecurityException.htmlGuard.htmlGuardedObject.htmlIdentity.htmlIdentityScope.htmlInvalidAlgorithmParameterException.htmlInvalidKeyException.htmlInvalidParameterException.htmlKey.htmlKeyException.htmlKeyFactory.htmlKeyFactorySpi.htmlKeyManagementException.htmlKeyPair.htmlKeyPairGenerator.htmlKeyPairGeneratorSpi.htmlKeyRep.Type.htmlKeyRep.htmlKeyStore.Builder.htmlKeyStore.CallbackHandlerProtection.htmlKeyStore.Entry.Attribute.htmlKeyStore.Entry.htmlKeyStore.LoadStoreParameter.htmlKeyStore.PasswordProtection.htmlKeyStore.PrivateKeyEntry.htmlKeyStore.ProtectionParameter.htmlKeyStore.SecretKeyEntry.htmlKeyStore.TrustedCertificateEntry.htmlKeyStore.htmlKeyStoreException.htmlKeyStoreSpi.htmlMessageDigest.htmlMessageDigestSpi.htmlNoSuchAlgorithmException.htmlNoSuchProviderException.htmlPKCS12Attribute.htmlPermission.htmlPermissionCollection.htmlPermissions.htmlPolicy.Parameters.htmlPolicy.htmlPolicySpi.htmlPrincipal.htmlPrivateKey.htmlPrivilegedAction.htmlPrivilegedActionException.htmlPrivilegedExceptionAction.htmlProtectionDomain.htmlProvider.Service.htmlProvider.htmlProviderException.htmlPublicKey.htmlSecureClassLoader.htmlSecureRandom.htmlSecureRandomParameters.htmlSecureRandomSpi.htmlSecurity.htmlSecurityPermission.htmlSignature.htmlSignatureException.htmlSignatureSpi.htmlSignedObject.htmlSigner.htmlTimestamp.htmlURIParameter.htmlUnrecoverableEntryException.htmlUnrecoverableKeyException.htmlUnresolvedPermission.htmlinterfacesDSAKey.htmlDSAKeyPairGenerator.htmlDSAParams.htmlDSAPrivateKey.htmlDSAPublicKey.htmlECKey.htmlECPrivateKey.htmlECPublicKey.htmlEdECKey.htmlEdECPrivateKey.htmlEdECPublicKey.htmlRSAKey.htmlRSAMultiPrimePrivateCrtKey.htmlRSAPrivateCrtKey.htmlRSAPrivateKey.htmlRSAPublicKey.htmlXECKey.htmlXECPrivateKey.htmlXECPublicKey.htmlclass-useDSAKey.htmlDSAKeyPairGenerator.htmlDSAParams.htmlDSAPrivateKey.htmlDSAPublicKey.htmlECKey.htmlECPrivateKey.htmlECPublicKey.htmlEdECKey.htmlEdECPrivateKey.htmlEdECPublicKey.htmlRSAKey.htmlRSAMultiPrimePrivateCrtKey.htmlRSAPrivateCrtKey.htmlRSAPrivateKey.htmlRSAPublicKey.htmlXECKey.htmlXECPrivateKey.htmlXECPublicKey.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspecAlgorithmParameterSpec.htmlDSAGenParameterSpec.htmlDSAParameterSpec.htmlDSAPrivateKeySpec.htmlDSAPublicKeySpec.htmlECField.htmlECFieldF2m.htmlECFieldFp.htmlECGenParameterSpec.htmlECParameterSpec.htmlECPoint.htmlECPrivateKeySpec.htmlECPublicKeySpec.htmlEdDSAParameterSpec.htmlEdECPoint.htmlEdECPrivateKeySpec.htmlEdECPublicKeySpec.htmlEllipticCurve.htmlEncodedKeySpec.htmlInvalidKeySpecException.htmlInvalidParameterSpecException.htmlKeySpec.htmlMGF1ParameterSpec.htmlNamedParameterSpec.htmlPKCS8EncodedKeySpec.htmlPSSParameterSpec.htmlRSAKeyGenParameterSpec.htmlRSAMultiPrimePrivateCrtKeySpec.htmlRSAOtherPrimeInfo.htmlRSAPrivateCrtKeySpec.htmlRSAPrivateKeySpec.htmlRSAPublicKeySpec.htmlX509EncodedKeySpec.htmlXECPrivateKeySpec.htmlXECPublicKeySpec.htmlclass-useAlgorithmParameterSpec.htmlDSAGenParameterSpec.htmlDSAParameterSpec.htmlDSAPrivateKeySpec.htmlDSAPublicKeySpec.htmlECField.htmlECFieldF2m.htmlECFieldFp.htmlECGenParameterSpec.htmlECParameterSpec.htmlECPoint.htmlECPrivateKeySpec.htmlECPublicKeySpec.htmlEdDSAParameterSpec.htmlEdECPoint.htmlEdECPrivateKeySpec.htmlEdECPublicKeySpec.htmlEllipticCurve.htmlEncodedKeySpec.htmlInvalidKeySpecException.htmlInvalidParameterSpecException.htmlKeySpec.htmlMGF1ParameterSpec.htmlNamedParameterSpec.htmlPKCS8EncodedKeySpec.htmlPSSParameterSpec.htmlRSAKeyGenParameterSpec.htmlRSAMultiPrimePrivateCrtKeySpec.htmlRSAOtherPrimeInfo.htmlRSAPrivateCrtKeySpec.htmlRSAPrivateKeySpec.htmlRSAPublicKeySpec.htmlX509EncodedKeySpec.htmlXECPrivateKeySpec.htmlXECPublicKeySpec.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltextAnnotation.htmlAttributedCharacterIterator.Attribute.htmlAttributedCharacterIterator.htmlAttributedString.htmlBidi.htmlBreakIterator.htmlCharacterIterator.htmlChoiceFormat.htmlCollationElementIterator.htmlCollationKey.htmlCollator.htmlCompactNumberFormat.htmlDateFormat.Field.htmlDateFormat.htmlDateFormatSymbols.htmlDecimalFormat.htmlDecimalFormatSymbols.htmlFieldPosition.htmlFormat.Field.htmlFormat.htmlMessageFormat.Field.htmlMessageFormat.htmlNormalizer.Form.htmlNormalizer.htmlNumberFormat.Field.htmlNumberFormat.Style.htmlNumberFormat.htmlParseException.htmlParsePosition.htmlRuleBasedCollator.htmlSimpleDateFormat.htmlStringCharacterIterator.htmlclass-useAnnotation.htmlAttributedCharacterIterator.Attribute.htmlAttributedCharacterIterator.htmlAttributedString.htmlBidi.htmlBreakIterator.htmlCharacterIterator.htmlChoiceFormat.htmlCollationElementIterator.htmlCollationKey.htmlCollator.htmlCompactNumberFormat.htmlDateFormat.Field.htmlDateFormat.htmlDateFormatSymbols.htmlDecimalFormat.htmlDecimalFormatSymbols.htmlFieldPosition.htmlFormat.Field.htmlFormat.htmlMessageFormat.Field.htmlMessageFormat.htmlNormalizer.Form.htmlNormalizer.htmlNumberFormat.Field.htmlNumberFormat.Style.htmlNumberFormat.htmlParseException.htmlParsePosition.htmlRuleBasedCollator.htmlSimpleDateFormat.htmlStringCharacterIterator.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiBreakIteratorProvider.htmlCollatorProvider.htmlDateFormatProvider.htmlDateFormatSymbolsProvider.htmlDecimalFormatSymbolsProvider.htmlNumberFormatProvider.htmlclass-useBreakIteratorProvider.htmlCollatorProvider.htmlDateFormatProvider.htmlDateFormatSymbolsProvider.htmlDecimalFormatSymbolsProvider.htmlNumberFormatProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltimeClock.htmlDateTimeException.htmlDayOfWeek.htmlDuration.htmlInstant.htmlInstantSource.htmlLocalDate.htmlLocalDateTime.htmlLocalTime.htmlMonth.htmlMonthDay.htmlOffsetDateTime.htmlOffsetTime.htmlPeriod.htmlYear.htmlYearMonth.htmlZoneId.htmlZoneOffset.htmlZonedDateTime.htmlchronoAbstractChronology.htmlChronoLocalDate.htmlChronoLocalDateTime.htmlChronoPeriod.htmlChronoZonedDateTime.htmlChronology.htmlEra.htmlHijrahChronology.htmlHijrahDate.htmlHijrahEra.htmlIsoChronology.htmlIsoEra.htmlJapaneseChronology.htmlJapaneseDate.htmlJapaneseEra.htmlMinguoChronology.htmlMinguoDate.htmlMinguoEra.htmlThaiBuddhistChronology.htmlThaiBuddhistDate.htmlThaiBuddhistEra.htmlclass-useAbstractChronology.htmlChronoLocalDate.htmlChronoLocalDateTime.htmlChronoPeriod.htmlChronoZonedDateTime.htmlChronology.htmlEra.htmlHijrahChronology.htmlHijrahDate.htmlHijrahEra.htmlIsoChronology.htmlIsoEra.htmlJapaneseChronology.htmlJapaneseDate.htmlJapaneseEra.htmlMinguoChronology.htmlMinguoDate.htmlMinguoEra.htmlThaiBuddhistChronology.htmlThaiBuddhistDate.htmlThaiBuddhistEra.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useClock.htmlDateTimeException.htmlDayOfWeek.htmlDuration.htmlInstant.htmlInstantSource.htmlLocalDate.htmlLocalDateTime.htmlLocalTime.htmlMonth.htmlMonthDay.htmlOffsetDateTime.htmlOffsetTime.htmlPeriod.htmlYear.htmlYearMonth.htmlZoneId.htmlZoneOffset.htmlZonedDateTime.htmlformatDateTimeFormatter.htmlDateTimeFormatterBuilder.htmlDateTimeParseException.htmlDecimalStyle.htmlFormatStyle.htmlResolverStyle.htmlSignStyle.htmlTextStyle.htmlclass-useDateTimeFormatter.htmlDateTimeFormatterBuilder.htmlDateTimeParseException.htmlDecimalStyle.htmlFormatStyle.htmlResolverStyle.htmlSignStyle.htmlTextStyle.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltemporalChronoField.htmlChronoUnit.htmlIsoFields.htmlJulianFields.htmlTemporal.htmlTemporalAccessor.htmlTemporalAdjuster.htmlTemporalAdjusters.htmlTemporalAmount.htmlTemporalField.htmlTemporalQueries.htmlTemporalQuery.htmlTemporalUnit.htmlUnsupportedTemporalTypeException.htmlValueRange.htmlWeekFields.htmlclass-useChronoField.htmlChronoUnit.htmlIsoFields.htmlJulianFields.htmlTemporal.htmlTemporalAccessor.htmlTemporalAdjuster.htmlTemporalAdjusters.htmlTemporalAmount.htmlTemporalField.htmlTemporalQueries.htmlTemporalQuery.htmlTemporalUnit.htmlUnsupportedTemporalTypeException.htmlValueRange.htmlWeekFields.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlzoneZoneOffsetTransition.htmlZoneOffsetTransitionRule.TimeDefinition.htmlZoneOffsetTransitionRule.htmlZoneRules.htmlZoneRulesException.htmlZoneRulesProvider.htmlclass-useZoneOffsetTransition.htmlZoneOffsetTransitionRule.TimeDefinition.htmlZoneOffsetTransitionRule.htmlZoneRules.htmlZoneRulesException.htmlZoneRulesProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlutilAbstractCollection.htmlAbstractList.htmlAbstractMap.SimpleEntry.htmlAbstractMap.SimpleImmutableEntry.htmlAbstractMap.htmlAbstractQueue.htmlAbstractSequentialList.htmlAbstractSet.htmlArrayDeque.htmlArrayList.htmlArrays.htmlBase64.Decoder.htmlBase64.Encoder.htmlBase64.htmlBitSet.htmlCalendar.Builder.htmlCalendar.htmlCollection.htmlCollections.htmlComparator.htmlConcurrentModificationException.htmlCurrency.htmlDate.htmlDeque.htmlDictionary.htmlDoubleSummaryStatistics.htmlDuplicateFormatFlagsException.htmlEmptyStackException.htmlEnumMap.htmlEnumSet.htmlEnumeration.htmlEventListener.htmlEventListenerProxy.htmlEventObject.htmlFormatFlagsConversionMismatchException.htmlFormatProcessor.htmlFormattable.htmlFormattableFlags.htmlFormatter.BigDecimalLayoutForm.htmlFormatter.htmlFormatterClosedException.htmlGregorianCalendar.htmlHashMap.htmlHashSet.htmlHashtable.htmlHexFormat.htmlIdentityHashMap.htmlIllegalFormatCodePointException.htmlIllegalFormatConversionException.htmlIllegalFormatException.htmlIllegalFormatFlagsException.htmlIllegalFormatPrecisionException.htmlIllegalFormatWidthException.htmlIllformedLocaleException.htmlInputMismatchException.htmlIntSummaryStatistics.htmlInvalidPropertiesFormatException.htmlIterator.htmlLinkedHashMap.htmlLinkedHashSet.htmlLinkedList.htmlList.htmlListIterator.htmlListResourceBundle.htmlLocale.Builder.htmlLocale.Category.htmlLocale.FilteringMode.htmlLocale.IsoCountryCode.htmlLocale.LanguageRange.htmlLocale.htmlLongSummaryStatistics.htmlMap.Entry.htmlMap.htmlMissingFormatArgumentException.htmlMissingFormatWidthException.htmlMissingResourceException.htmlNavigableMap.htmlNavigableSet.htmlNoSuchElementException.htmlObjects.htmlObservable.htmlObserver.htmlOptional.htmlOptionalDouble.htmlOptionalInt.htmlOptionalLong.htmlPrimitiveIterator.OfDouble.htmlPrimitiveIterator.OfInt.htmlPrimitiveIterator.OfLong.htmlPrimitiveIterator.htmlPriorityQueue.htmlProperties.htmlPropertyPermission.htmlPropertyResourceBundle.htmlQueue.htmlRandom.htmlRandomAccess.htmlResourceBundle.Control.htmlResourceBundle.htmlScanner.htmlSequencedCollection.htmlSequencedMap.htmlSequencedSet.htmlServiceConfigurationError.htmlServiceLoader.Provider.htmlServiceLoader.htmlSet.htmlSimpleTimeZone.htmlSortedMap.htmlSortedSet.htmlSpliterator.OfDouble.htmlSpliterator.OfInt.htmlSpliterator.OfLong.htmlSpliterator.OfPrimitive.htmlSpliterator.htmlSpliterators.AbstractDoubleSpliterator.htmlSpliterators.AbstractIntSpliterator.htmlSpliterators.AbstractLongSpliterator.htmlSpliterators.AbstractSpliterator.htmlSpliterators.htmlSplittableRandom.htmlStack.htmlStringJoiner.htmlStringTokenizer.htmlTimeZone.htmlTimer.htmlTimerTask.htmlTooManyListenersException.htmlTreeMap.htmlTreeSet.htmlUUID.htmlUnknownFormatConversionException.htmlUnknownFormatFlagsException.htmlVector.htmlWeakHashMap.htmlclass-useAbstractCollection.htmlAbstractList.htmlAbstractMap.SimpleEntry.htmlAbstractMap.SimpleImmutableEntry.htmlAbstractMap.htmlAbstractQueue.htmlAbstractSequentialList.htmlAbstractSet.htmlArrayDeque.htmlArrayList.htmlArrays.htmlBase64.Decoder.htmlBase64.Encoder.htmlBase64.htmlBitSet.htmlCalendar.Builder.htmlCalendar.htmlCollection.htmlCollections.htmlComparator.htmlConcurrentModificationException.htmlCurrency.htmlDate.htmlDeque.htmlDictionary.htmlDoubleSummaryStatistics.htmlDuplicateFormatFlagsException.htmlEmptyStackException.htmlEnumMap.htmlEnumSet.htmlEnumeration.htmlEventListener.htmlEventListenerProxy.htmlEventObject.htmlFormatFlagsConversionMismatchException.htmlFormatProcessor.htmlFormattable.htmlFormattableFlags.htmlFormatter.BigDecimalLayoutForm.htmlFormatter.htmlFormatterClosedException.htmlGregorianCalendar.htmlHashMap.htmlHashSet.htmlHashtable.htmlHexFormat.htmlIdentityHashMap.htmlIllegalFormatCodePointException.htmlIllegalFormatConversionException.htmlIllegalFormatException.htmlIllegalFormatFlagsException.htmlIllegalFormatPrecisionException.htmlIllegalFormatWidthException.htmlIllformedLocaleException.htmlInputMismatchException.htmlIntSummaryStatistics.htmlInvalidPropertiesFormatException.htmlIterator.htmlLinkedHashMap.htmlLinkedHashSet.htmlLinkedList.htmlList.htmlListIterator.htmlListResourceBundle.htmlLocale.Builder.htmlLocale.Category.htmlLocale.FilteringMode.htmlLocale.IsoCountryCode.htmlLocale.LanguageRange.htmlLocale.htmlLongSummaryStatistics.htmlMap.Entry.htmlMap.htmlMissingFormatArgumentException.htmlMissingFormatWidthException.htmlMissingResourceException.htmlNavigableMap.htmlNavigableSet.htmlNoSuchElementException.htmlObjects.htmlObservable.htmlObserver.htmlOptional.htmlOptionalDouble.htmlOptionalInt.htmlOptionalLong.htmlPrimitiveIterator.OfDouble.htmlPrimitiveIterator.OfInt.htmlPrimitiveIterator.OfLong.htmlPrimitiveIterator.htmlPriorityQueue.htmlProperties.htmlPropertyPermission.htmlPropertyResourceBundle.htmlQueue.htmlRandom.htmlRandomAccess.htmlResourceBundle.Control.htmlResourceBundle.htmlScanner.htmlSequencedCollection.htmlSequencedMap.htmlSequencedSet.htmlServiceConfigurationError.htmlServiceLoader.Provider.htmlServiceLoader.htmlSet.htmlSimpleTimeZone.htmlSortedMap.htmlSortedSet.htmlSpliterator.OfDouble.htmlSpliterator.OfInt.htmlSpliterator.OfLong.htmlSpliterator.OfPrimitive.htmlSpliterator.htmlSpliterators.AbstractDoubleSpliterator.htmlSpliterators.AbstractIntSpliterator.htmlSpliterators.AbstractLongSpliterator.htmlSpliterators.AbstractSpliterator.htmlSpliterators.htmlSplittableRandom.htmlStack.htmlStringJoiner.htmlStringTokenizer.htmlTimeZone.htmlTimer.htmlTimerTask.htmlTooManyListenersException.htmlTreeMap.htmlTreeSet.htmlUUID.htmlUnknownFormatConversionException.htmlUnknownFormatFlagsException.htmlVector.htmlWeakHashMap.htmlconcurrentAbstractExecutorService.htmlArrayBlockingQueue.htmlBlockingDeque.htmlBlockingQueue.htmlBrokenBarrierException.htmlCallable.htmlCancellationException.htmlCompletableFuture.AsynchronousCompletionTask.htmlCompletableFuture.htmlCompletionException.htmlCompletionService.htmlCompletionStage.htmlConcurrentHashMap.KeySetView.htmlConcurrentHashMap.htmlConcurrentLinkedDeque.htmlConcurrentLinkedQueue.htmlConcurrentMap.htmlConcurrentNavigableMap.htmlConcurrentSkipListMap.htmlConcurrentSkipListSet.htmlCopyOnWriteArrayList.htmlCopyOnWriteArraySet.htmlCountDownLatch.htmlCountedCompleter.htmlCyclicBarrier.htmlDelayQueue.htmlDelayed.htmlExchanger.htmlExecutionException.htmlExecutor.htmlExecutorCompletionService.htmlExecutorService.htmlExecutors.htmlFlow.Processor.htmlFlow.Publisher.htmlFlow.Subscriber.htmlFlow.Subscription.htmlFlow.htmlForkJoinPool.ForkJoinWorkerThreadFactory.htmlForkJoinPool.ManagedBlocker.htmlForkJoinPool.htmlForkJoinTask.htmlForkJoinWorkerThread.htmlFuture.State.htmlFuture.htmlFutureTask.htmlLinkedBlockingDeque.htmlLinkedBlockingQueue.htmlLinkedTransferQueue.htmlPhaser.htmlPriorityBlockingQueue.htmlRecursiveAction.htmlRecursiveTask.htmlRejectedExecutionException.htmlRejectedExecutionHandler.htmlRunnableFuture.htmlRunnableScheduledFuture.htmlScheduledExecutorService.htmlScheduledFuture.htmlScheduledThreadPoolExecutor.htmlSemaphore.htmlStructureViolationException.htmlStructuredTaskScope.ShutdownOnFailure.htmlStructuredTaskScope.ShutdownOnSuccess.htmlStructuredTaskScope.Subtask.State.htmlStructuredTaskScope.Subtask.htmlStructuredTaskScope.htmlSubmissionPublisher.htmlSynchronousQueue.htmlThreadFactory.htmlThreadLocalRandom.htmlThreadPoolExecutor.AbortPolicy.htmlThreadPoolExecutor.CallerRunsPolicy.htmlThreadPoolExecutor.DiscardOldestPolicy.htmlThreadPoolExecutor.DiscardPolicy.htmlThreadPoolExecutor.htmlTimeUnit.htmlTimeoutException.htmlTransferQueue.htmlatomicAtomicBoolean.htmlAtomicInteger.htmlAtomicIntegerArray.htmlAtomicIntegerFieldUpdater.htmlAtomicLong.htmlAtomicLongArray.htmlAtomicLongFieldUpdater.htmlAtomicMarkableReference.htmlAtomicReference.htmlAtomicReferenceArray.htmlAtomicReferenceFieldUpdater.htmlAtomicStampedReference.htmlDoubleAccumulator.htmlDoubleAdder.htmlLongAccumulator.htmlLongAdder.htmlclass-useAtomicBoolean.htmlAtomicInteger.htmlAtomicIntegerArray.htmlAtomicIntegerFieldUpdater.htmlAtomicLong.htmlAtomicLongArray.htmlAtomicLongFieldUpdater.htmlAtomicMarkableReference.htmlAtomicReference.htmlAtomicReferenceArray.htmlAtomicReferenceFieldUpdater.htmlAtomicStampedReference.htmlDoubleAccumulator.htmlDoubleAdder.htmlLongAccumulator.htmlLongAdder.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAbstractExecutorService.htmlArrayBlockingQueue.htmlBlockingDeque.htmlBlockingQueue.htmlBrokenBarrierException.htmlCallable.htmlCancellationException.htmlCompletableFuture.AsynchronousCompletionTask.htmlCompletableFuture.htmlCompletionException.htmlCompletionService.htmlCompletionStage.htmlConcurrentHashMap.KeySetView.htmlConcurrentHashMap.htmlConcurrentLinkedDeque.htmlConcurrentLinkedQueue.htmlConcurrentMap.htmlConcurrentNavigableMap.htmlConcurrentSkipListMap.htmlConcurrentSkipListSet.htmlCopyOnWriteArrayList.htmlCopyOnWriteArraySet.htmlCountDownLatch.htmlCountedCompleter.htmlCyclicBarrier.htmlDelayQueue.htmlDelayed.htmlExchanger.htmlExecutionException.htmlExecutor.htmlExecutorCompletionService.htmlExecutorService.htmlExecutors.htmlFlow.Processor.htmlFlow.Publisher.htmlFlow.Subscriber.htmlFlow.Subscription.htmlFlow.htmlForkJoinPool.ForkJoinWorkerThreadFactory.htmlForkJoinPool.ManagedBlocker.htmlForkJoinPool.htmlForkJoinTask.htmlForkJoinWorkerThread.htmlFuture.State.htmlFuture.htmlFutureTask.htmlLinkedBlockingDeque.htmlLinkedBlockingQueue.htmlLinkedTransferQueue.htmlPhaser.htmlPriorityBlockingQueue.htmlRecursiveAction.htmlRecursiveTask.htmlRejectedExecutionException.htmlRejectedExecutionHandler.htmlRunnableFuture.htmlRunnableScheduledFuture.htmlScheduledExecutorService.htmlScheduledFuture.htmlScheduledThreadPoolExecutor.htmlSemaphore.htmlStructureViolationException.htmlStructuredTaskScope.ShutdownOnFailure.htmlStructuredTaskScope.ShutdownOnSuccess.htmlStructuredTaskScope.Subtask.State.htmlStructuredTaskScope.Subtask.htmlStructuredTaskScope.htmlSubmissionPublisher.htmlSynchronousQueue.htmlThreadFactory.htmlThreadLocalRandom.htmlThreadPoolExecutor.AbortPolicy.htmlThreadPoolExecutor.CallerRunsPolicy.htmlThreadPoolExecutor.DiscardOldestPolicy.htmlThreadPoolExecutor.DiscardPolicy.htmlThreadPoolExecutor.htmlTimeUnit.htmlTimeoutException.htmlTransferQueue.htmllocksAbstractOwnableSynchronizer.htmlAbstractQueuedLongSynchronizer.ConditionObject.htmlAbstractQueuedLongSynchronizer.htmlAbstractQueuedSynchronizer.ConditionObject.htmlAbstractQueuedSynchronizer.htmlCondition.htmlLock.htmlLockSupport.htmlReadWriteLock.htmlReentrantLock.htmlReentrantReadWriteLock.ReadLock.htmlReentrantReadWriteLock.WriteLock.htmlReentrantReadWriteLock.htmlStampedLock.htmlclass-useAbstractOwnableSynchronizer.htmlAbstractQueuedLongSynchronizer.ConditionObject.htmlAbstractQueuedLongSynchronizer.htmlAbstractQueuedSynchronizer.ConditionObject.htmlAbstractQueuedSynchronizer.htmlCondition.htmlLock.htmlLockSupport.htmlReadWriteLock.htmlReentrantLock.htmlReentrantReadWriteLock.ReadLock.htmlReentrantReadWriteLock.WriteLock.htmlReentrantReadWriteLock.htmlStampedLock.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmldoc-filescoll-designfaq.htmlcoll-index.htmlcoll-overview.htmlcoll-reference.htmlfunctionBiConsumer.htmlBiFunction.htmlBiPredicate.htmlBinaryOperator.htmlBooleanSupplier.htmlConsumer.htmlDoubleBinaryOperator.htmlDoubleConsumer.htmlDoubleFunction.htmlDoublePredicate.htmlDoubleSupplier.htmlDoubleToIntFunction.htmlDoubleToLongFunction.htmlDoubleUnaryOperator.htmlFunction.htmlIntBinaryOperator.htmlIntConsumer.htmlIntFunction.htmlIntPredicate.htmlIntSupplier.htmlIntToDoubleFunction.htmlIntToLongFunction.htmlIntUnaryOperator.htmlLongBinaryOperator.htmlLongConsumer.htmlLongFunction.htmlLongPredicate.htmlLongSupplier.htmlLongToDoubleFunction.htmlLongToIntFunction.htmlLongUnaryOperator.htmlObjDoubleConsumer.htmlObjIntConsumer.htmlObjLongConsumer.htmlPredicate.htmlSupplier.htmlToDoubleBiFunction.htmlToDoubleFunction.htmlToIntBiFunction.htmlToIntFunction.htmlToLongBiFunction.htmlToLongFunction.htmlUnaryOperator.htmlclass-useBiConsumer.htmlBiFunction.htmlBiPredicate.htmlBinaryOperator.htmlBooleanSupplier.htmlConsumer.htmlDoubleBinaryOperator.htmlDoubleConsumer.htmlDoubleFunction.htmlDoublePredicate.htmlDoubleSupplier.htmlDoubleToIntFunction.htmlDoubleToLongFunction.htmlDoubleUnaryOperator.htmlFunction.htmlIntBinaryOperator.htmlIntConsumer.htmlIntFunction.htmlIntPredicate.htmlIntSupplier.htmlIntToDoubleFunction.htmlIntToLongFunction.htmlIntUnaryOperator.htmlLongBinaryOperator.htmlLongConsumer.htmlLongFunction.htmlLongPredicate.htmlLongSupplier.htmlLongToDoubleFunction.htmlLongToIntFunction.htmlLongUnaryOperator.htmlObjDoubleConsumer.htmlObjIntConsumer.htmlObjLongConsumer.htmlPredicate.htmlSupplier.htmlToDoubleBiFunction.htmlToDoubleFunction.htmlToIntBiFunction.htmlToIntFunction.htmlToLongBiFunction.htmlToLongFunction.htmlUnaryOperator.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljarAttributes.Name.htmlAttributes.htmlJarEntry.htmlJarException.htmlJarFile.htmlJarInputStream.htmlJarOutputStream.htmlManifest.htmlclass-useAttributes.Name.htmlAttributes.htmlJarEntry.htmlJarException.htmlJarFile.htmlJarInputStream.htmlJarOutputStream.htmlManifest.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlrandomRandomGenerator.ArbitrarilyJumpableGenerator.htmlRandomGenerator.JumpableGenerator.htmlRandomGenerator.LeapableGenerator.htmlRandomGenerator.SplittableGenerator.htmlRandomGenerator.StreamableGenerator.htmlRandomGenerator.htmlRandomGeneratorFactory.htmlclass-useRandomGenerator.ArbitrarilyJumpableGenerator.htmlRandomGenerator.JumpableGenerator.htmlRandomGenerator.LeapableGenerator.htmlRandomGenerator.SplittableGenerator.htmlRandomGenerator.StreamableGenerator.htmlRandomGenerator.htmlRandomGeneratorFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlregexMatchResult.htmlMatcher.htmlPattern.htmlPatternSyntaxException.htmlclass-useMatchResult.htmlMatcher.htmlPattern.htmlPatternSyntaxException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiAbstractResourceBundleProvider.htmlCalendarDataProvider.htmlCalendarNameProvider.htmlCurrencyNameProvider.htmlLocaleNameProvider.htmlLocaleServiceProvider.htmlResourceBundleControlProvider.htmlResourceBundleProvider.htmlTimeZoneNameProvider.htmlToolProvider.htmlclass-useAbstractResourceBundleProvider.htmlCalendarDataProvider.htmlCalendarNameProvider.htmlCurrencyNameProvider.htmlLocaleNameProvider.htmlLocaleServiceProvider.htmlResourceBundleControlProvider.htmlResourceBundleProvider.htmlTimeZoneNameProvider.htmlToolProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlstreamBaseStream.htmlCollector.Characteristics.htmlCollector.htmlCollectors.htmlDoubleStream.Builder.htmlDoubleStream.DoubleMapMultiConsumer.htmlDoubleStream.htmlIntStream.Builder.htmlIntStream.IntMapMultiConsumer.htmlIntStream.htmlLongStream.Builder.htmlLongStream.LongMapMultiConsumer.htmlLongStream.htmlStream.Builder.htmlStream.htmlStreamSupport.htmlclass-useBaseStream.htmlCollector.Characteristics.htmlCollector.htmlCollectors.htmlDoubleStream.Builder.htmlDoubleStream.DoubleMapMultiConsumer.htmlDoubleStream.htmlIntStream.Builder.htmlIntStream.IntMapMultiConsumer.htmlIntStream.htmlLongStream.Builder.htmlLongStream.LongMapMultiConsumer.htmlLongStream.htmlStream.Builder.htmlStream.htmlStreamSupport.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlzipAdler32.htmlCRC32.htmlCRC32C.htmlCheckedInputStream.htmlCheckedOutputStream.htmlChecksum.htmlDataFormatException.htmlDeflater.htmlDeflaterInputStream.htmlDeflaterOutputStream.htmlGZIPInputStream.htmlGZIPOutputStream.htmlInflater.htmlInflaterInputStream.htmlInflaterOutputStream.htmlZipEntry.htmlZipError.htmlZipException.htmlZipFile.htmlZipInputStream.htmlZipOutputStream.htmlclass-useAdler32.htmlCRC32.htmlCRC32C.htmlCheckedInputStream.htmlCheckedOutputStream.htmlChecksum.htmlDataFormatException.htmlDeflater.htmlDeflaterInputStream.htmlDeflaterOutputStream.htmlGZIPInputStream.htmlGZIPOutputStream.htmlInflater.htmlInflaterInputStream.htmlInflaterOutputStream.htmlZipEntry.htmlZipError.htmlZipException.htmlZipFile.htmlZipInputStream.htmlZipOutputStream.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljavaxcryptoAEADBadTagException.htmlBadPaddingException.htmlCipher.htmlCipherInputStream.htmlCipherOutputStream.htmlCipherSpi.htmlDecapsulateException.htmlEncryptedPrivateKeyInfo.htmlExemptionMechanism.htmlExemptionMechanismException.htmlExemptionMechanismSpi.htmlIllegalBlockSizeException.htmlKEM.Decapsulator.htmlKEM.Encapsulated.htmlKEM.Encapsulator.htmlKEM.htmlKEMSpi.DecapsulatorSpi.htmlKEMSpi.EncapsulatorSpi.htmlKEMSpi.htmlKeyAgreement.htmlKeyAgreementSpi.htmlKeyGenerator.htmlKeyGeneratorSpi.htmlMac.htmlMacSpi.htmlNoSuchPaddingException.htmlNullCipher.htmlSealedObject.htmlSecretKey.htmlSecretKeyFactory.htmlSecretKeyFactorySpi.htmlShortBufferException.htmlclass-useAEADBadTagException.htmlBadPaddingException.htmlCipher.htmlCipherInputStream.htmlCipherOutputStream.htmlCipherSpi.htmlDecapsulateException.htmlEncryptedPrivateKeyInfo.htmlExemptionMechanism.htmlExemptionMechanismException.htmlExemptionMechanismSpi.htmlIllegalBlockSizeException.htmlKEM.Decapsulator.htmlKEM.Encapsulated.htmlKEM.Encapsulator.htmlKEM.htmlKEMSpi.DecapsulatorSpi.htmlKEMSpi.EncapsulatorSpi.htmlKEMSpi.htmlKeyAgreement.htmlKeyAgreementSpi.htmlKeyGenerator.htmlKeyGeneratorSpi.htmlMac.htmlMacSpi.htmlNoSuchPaddingException.htmlNullCipher.htmlSealedObject.htmlSecretKey.htmlSecretKeyFactory.htmlSecretKeyFactorySpi.htmlShortBufferException.htmlinterfacesDHKey.htmlDHPrivateKey.htmlDHPublicKey.htmlPBEKey.htmlclass-useDHKey.htmlDHPrivateKey.htmlDHPublicKey.htmlPBEKey.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspecChaCha20ParameterSpec.htmlDESKeySpec.htmlDESedeKeySpec.htmlDHGenParameterSpec.htmlDHParameterSpec.htmlDHPrivateKeySpec.htmlDHPublicKeySpec.htmlGCMParameterSpec.htmlIvParameterSpec.htmlOAEPParameterSpec.htmlPBEKeySpec.htmlPBEParameterSpec.htmlPSource.PSpecified.htmlPSource.htmlRC2ParameterSpec.htmlRC5ParameterSpec.htmlSecretKeySpec.htmlclass-useChaCha20ParameterSpec.htmlDESKeySpec.htmlDESedeKeySpec.htmlDHGenParameterSpec.htmlDHParameterSpec.htmlDHPrivateKeySpec.htmlDHPublicKeySpec.htmlGCMParameterSpec.htmlIvParameterSpec.htmlOAEPParameterSpec.htmlPBEKeySpec.htmlPBEParameterSpec.htmlPSource.PSpecified.htmlPSource.htmlRC2ParameterSpec.htmlRC5ParameterSpec.htmlSecretKeySpec.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlnetServerSocketFactory.htmlSocketFactory.htmlclass-useServerSocketFactory.htmlSocketFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlsslCertPathTrustManagerParameters.htmlExtendedSSLSession.htmlHandshakeCompletedEvent.htmlHandshakeCompletedListener.htmlHostnameVerifier.htmlHttpsURLConnection.htmlKeyManager.htmlKeyManagerFactory.htmlKeyManagerFactorySpi.htmlKeyStoreBuilderParameters.htmlManagerFactoryParameters.htmlSNIHostName.htmlSNIMatcher.htmlSNIServerName.htmlSSLContext.htmlSSLContextSpi.htmlSSLEngine.htmlSSLEngineResult.HandshakeStatus.htmlSSLEngineResult.Status.htmlSSLEngineResult.htmlSSLException.htmlSSLHandshakeException.htmlSSLKeyException.htmlSSLParameters.htmlSSLPeerUnverifiedException.htmlSSLPermission.htmlSSLProtocolException.htmlSSLServerSocket.htmlSSLServerSocketFactory.htmlSSLSession.htmlSSLSessionBindingEvent.htmlSSLSessionBindingListener.htmlSSLSessionContext.htmlSSLSocket.htmlSSLSocketFactory.htmlStandardConstants.htmlTrustManager.htmlTrustManagerFactory.htmlTrustManagerFactorySpi.htmlX509ExtendedKeyManager.htmlX509ExtendedTrustManager.htmlX509KeyManager.htmlX509TrustManager.htmlclass-useCertPathTrustManagerParameters.htmlExtendedSSLSession.htmlHandshakeCompletedEvent.htmlHandshakeCompletedListener.htmlHostnameVerifier.htmlHttpsURLConnection.htmlKeyManager.htmlKeyManagerFactory.htmlKeyManagerFactorySpi.htmlKeyStoreBuilderParameters.htmlManagerFactoryParameters.htmlSNIHostName.htmlSNIMatcher.htmlSNIServerName.htmlSSLContext.htmlSSLContextSpi.htmlSSLEngine.htmlSSLEngineResult.HandshakeStatus.htmlSSLEngineResult.Status.htmlSSLEngineResult.htmlSSLException.htmlSSLHandshakeException.htmlSSLKeyException.htmlSSLParameters.htmlSSLPeerUnverifiedException.htmlSSLPermission.htmlSSLProtocolException.htmlSSLServerSocket.htmlSSLServerSocketFactory.htmlSSLSession.htmlSSLSessionBindingEvent.htmlSSLSessionBindingListener.htmlSSLSessionContext.htmlSSLSocket.htmlSSLSocketFactory.htmlStandardConstants.htmlTrustManager.htmlTrustManagerFactory.htmlTrustManagerFactorySpi.htmlX509ExtendedKeyManager.htmlX509ExtendedTrustManager.htmlX509KeyManager.htmlX509TrustManager.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlsecurityauthAuthPermission.htmlDestroyFailedException.htmlDestroyable.htmlPrivateCredentialPermission.htmlRefreshFailedException.htmlRefreshable.htmlSubject.htmlSubjectDomainCombiner.htmlcallbackCallback.htmlCallbackHandler.htmlChoiceCallback.htmlConfirmationCallback.htmlLanguageCallback.htmlNameCallback.htmlPasswordCallback.htmlTextInputCallback.htmlTextOutputCallback.htmlUnsupportedCallbackException.htmlclass-useCallback.htmlCallbackHandler.htmlChoiceCallback.htmlConfirmationCallback.htmlLanguageCallback.htmlNameCallback.htmlPasswordCallback.htmlTextInputCallback.htmlTextOutputCallback.htmlUnsupportedCallbackException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAuthPermission.htmlDestroyFailedException.htmlDestroyable.htmlPrivateCredentialPermission.htmlRefreshFailedException.htmlRefreshable.htmlSubject.htmlSubjectDomainCombiner.htmlloginAccountException.htmlAccountExpiredException.htmlAccountLockedException.htmlAccountNotFoundException.htmlAppConfigurationEntry.LoginModuleControlFlag.htmlAppConfigurationEntry.htmlConfiguration.Parameters.htmlConfiguration.htmlConfigurationSpi.htmlCredentialException.htmlCredentialExpiredException.htmlCredentialNotFoundException.htmlFailedLoginException.htmlLoginContext.htmlLoginException.htmlclass-useAccountException.htmlAccountExpiredException.htmlAccountLockedException.htmlAccountNotFoundException.htmlAppConfigurationEntry.LoginModuleControlFlag.htmlAppConfigurationEntry.htmlConfiguration.Parameters.htmlConfiguration.htmlConfigurationSpi.htmlCredentialException.htmlCredentialExpiredException.htmlCredentialNotFoundException.htmlFailedLoginException.htmlLoginContext.htmlLoginException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiLoginModule.htmlclass-useLoginModule.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlx500X500Principal.htmlX500PrivateCredential.htmlclass-useX500Principal.htmlX500PrivateCredential.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlcertCertificate.htmlCertificateEncodingException.htmlCertificateException.htmlCertificateExpiredException.htmlCertificateNotYetValidException.htmlCertificateParsingException.htmlX509Certificate.htmlclass-useCertificate.htmlCertificateEncodingException.htmlCertificateException.htmlCertificateExpiredException.htmlCertificateNotYetValidException.htmlCertificateParsingException.htmlX509Certificate.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.compilerjavaxannotationprocessingAbstractProcessor.htmlCompletion.htmlCompletions.htmlFiler.htmlFilerException.htmlGenerated.htmlMessager.htmlProcessingEnvironment.htmlProcessor.htmlRoundEnvironment.htmlSupportedAnnotationTypes.htmlSupportedOptions.htmlSupportedSourceVersion.htmlclass-useAbstractProcessor.htmlCompletion.htmlCompletions.htmlFiler.htmlFilerException.htmlGenerated.htmlMessager.htmlProcessingEnvironment.htmlProcessor.htmlRoundEnvironment.htmlSupportedAnnotationTypes.htmlSupportedOptions.htmlSupportedSourceVersion.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmllangmodelAnnotatedConstruct.htmlSourceVersion.htmlUnknownEntityException.htmlclass-useAnnotatedConstruct.htmlSourceVersion.htmlUnknownEntityException.htmlelementAnnotationMirror.htmlAnnotationValue.htmlAnnotationValueVisitor.htmlElement.htmlElementKind.htmlElementVisitor.htmlExecutableElement.htmlModifier.htmlModuleElement.Directive.htmlModuleElement.DirectiveKind.htmlModuleElement.DirectiveVisitor.htmlModuleElement.ExportsDirective.htmlModuleElement.OpensDirective.htmlModuleElement.ProvidesDirective.htmlModuleElement.RequiresDirective.htmlModuleElement.UsesDirective.htmlModuleElement.htmlName.htmlNestingKind.htmlPackageElement.htmlParameterizable.htmlQualifiedNameable.htmlRecordComponentElement.htmlTypeElement.htmlTypeParameterElement.htmlUnknownAnnotationValueException.htmlUnknownDirectiveException.htmlUnknownElementException.htmlVariableElement.htmlclass-useAnnotationMirror.htmlAnnotationValue.htmlAnnotationValueVisitor.htmlElement.htmlElementKind.htmlElementVisitor.htmlExecutableElement.htmlModifier.htmlModuleElement.Directive.htmlModuleElement.DirectiveKind.htmlModuleElement.DirectiveVisitor.htmlModuleElement.ExportsDirective.htmlModuleElement.OpensDirective.htmlModuleElement.ProvidesDirective.htmlModuleElement.RequiresDirective.htmlModuleElement.UsesDirective.htmlModuleElement.htmlName.htmlNestingKind.htmlPackageElement.htmlParameterizable.htmlQualifiedNameable.htmlRecordComponentElement.htmlTypeElement.htmlTypeParameterElement.htmlUnknownAnnotationValueException.htmlUnknownDirectiveException.htmlUnknownElementException.htmlVariableElement.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltypeArrayType.htmlDeclaredType.htmlErrorType.htmlExecutableType.htmlIntersectionType.htmlMirroredTypeException.htmlMirroredTypesException.htmlNoType.htmlNullType.htmlPrimitiveType.htmlReferenceType.htmlTypeKind.htmlTypeMirror.htmlTypeVariable.htmlTypeVisitor.htmlUnionType.htmlUnknownTypeException.htmlWildcardType.htmlclass-useArrayType.htmlDeclaredType.htmlErrorType.htmlExecutableType.htmlIntersectionType.htmlMirroredTypeException.htmlMirroredTypesException.htmlNoType.htmlNullType.htmlPrimitiveType.htmlReferenceType.htmlTypeKind.htmlTypeMirror.htmlTypeVariable.htmlTypeVisitor.htmlUnionType.htmlUnknownTypeException.htmlWildcardType.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlutilAbstractAnnotationValueVisitor14.htmlAbstractAnnotationValueVisitor6.htmlAbstractAnnotationValueVisitor7.htmlAbstractAnnotationValueVisitor8.htmlAbstractAnnotationValueVisitor9.htmlAbstractElementVisitor14.htmlAbstractElementVisitor6.htmlAbstractElementVisitor7.htmlAbstractElementVisitor8.htmlAbstractElementVisitor9.htmlAbstractTypeVisitor14.htmlAbstractTypeVisitor6.htmlAbstractTypeVisitor7.htmlAbstractTypeVisitor8.htmlAbstractTypeVisitor9.htmlElementFilter.htmlElementKindVisitor14.htmlElementKindVisitor6.htmlElementKindVisitor7.htmlElementKindVisitor8.htmlElementKindVisitor9.htmlElementScanner14.htmlElementScanner6.htmlElementScanner7.htmlElementScanner8.htmlElementScanner9.htmlElements.Origin.htmlElements.htmlSimpleAnnotationValueVisitor14.htmlSimpleAnnotationValueVisitor6.htmlSimpleAnnotationValueVisitor7.htmlSimpleAnnotationValueVisitor8.htmlSimpleAnnotationValueVisitor9.htmlSimpleElementVisitor14.htmlSimpleElementVisitor6.htmlSimpleElementVisitor7.htmlSimpleElementVisitor8.htmlSimpleElementVisitor9.htmlSimpleTypeVisitor14.htmlSimpleTypeVisitor6.htmlSimpleTypeVisitor7.htmlSimpleTypeVisitor8.htmlSimpleTypeVisitor9.htmlTypeKindVisitor14.htmlTypeKindVisitor6.htmlTypeKindVisitor7.htmlTypeKindVisitor8.htmlTypeKindVisitor9.htmlTypes.htmlclass-useAbstractAnnotationValueVisitor14.htmlAbstractAnnotationValueVisitor6.htmlAbstractAnnotationValueVisitor7.htmlAbstractAnnotationValueVisitor8.htmlAbstractAnnotationValueVisitor9.htmlAbstractElementVisitor14.htmlAbstractElementVisitor6.htmlAbstractElementVisitor7.htmlAbstractElementVisitor8.htmlAbstractElementVisitor9.htmlAbstractTypeVisitor14.htmlAbstractTypeVisitor6.htmlAbstractTypeVisitor7.htmlAbstractTypeVisitor8.htmlAbstractTypeVisitor9.htmlElementFilter.htmlElementKindVisitor14.htmlElementKindVisitor6.htmlElementKindVisitor7.htmlElementKindVisitor8.htmlElementKindVisitor9.htmlElementScanner14.htmlElementScanner6.htmlElementScanner7.htmlElementScanner8.htmlElementScanner9.htmlElements.Origin.htmlElements.htmlSimpleAnnotationValueVisitor14.htmlSimpleAnnotationValueVisitor6.htmlSimpleAnnotationValueVisitor7.htmlSimpleAnnotationValueVisitor8.htmlSimpleAnnotationValueVisitor9.htmlSimpleElementVisitor14.htmlSimpleElementVisitor6.htmlSimpleElementVisitor7.htmlSimpleElementVisitor8.htmlSimpleElementVisitor9.htmlSimpleTypeVisitor14.htmlSimpleTypeVisitor6.htmlSimpleTypeVisitor7.htmlSimpleTypeVisitor8.htmlSimpleTypeVisitor9.htmlTypeKindVisitor14.htmlTypeKindVisitor6.htmlTypeKindVisitor7.htmlTypeKindVisitor8.htmlTypeKindVisitor9.htmlTypes.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltoolsDiagnostic.Kind.htmlDiagnostic.htmlDiagnosticCollector.htmlDiagnosticListener.htmlDocumentationTool.DocumentationTask.htmlDocumentationTool.Location.htmlDocumentationTool.htmlFileObject.htmlForwardingFileObject.htmlForwardingJavaFileManager.htmlForwardingJavaFileObject.htmlJavaCompiler.CompilationTask.htmlJavaCompiler.htmlJavaFileManager.Location.htmlJavaFileManager.htmlJavaFileObject.Kind.htmlJavaFileObject.htmlOptionChecker.htmlSimpleJavaFileObject.htmlStandardJavaFileManager.PathFactory.htmlStandardJavaFileManager.htmlStandardLocation.htmlTool.htmlToolProvider.htmlclass-useDiagnostic.Kind.htmlDiagnostic.htmlDiagnosticCollector.htmlDiagnosticListener.htmlDocumentationTool.DocumentationTask.htmlDocumentationTool.Location.htmlDocumentationTool.htmlFileObject.htmlForwardingFileObject.htmlForwardingJavaFileManager.htmlForwardingJavaFileObject.htmlJavaCompiler.CompilationTask.htmlJavaCompiler.htmlJavaFileManager.Location.htmlJavaFileManager.htmlJavaFileObject.Kind.htmlJavaFileObject.htmlOptionChecker.htmlSimpleJavaFileObject.htmlStandardJavaFileManager.PathFactory.htmlStandardJavaFileManager.htmlStandardLocation.htmlTool.htmlToolProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.datatransferjavaawtdatatransferClipboard.htmlClipboardOwner.htmlDataFlavor.htmlFlavorEvent.htmlFlavorListener.htmlFlavorMap.htmlFlavorTable.htmlMimeTypeParseException.htmlStringSelection.htmlSystemFlavorMap.htmlTransferable.htmlUnsupportedFlavorException.htmlclass-useClipboard.htmlClipboardOwner.htmlDataFlavor.htmlFlavorEvent.htmlFlavorListener.htmlFlavorMap.htmlFlavorTable.htmlMimeTypeParseException.htmlStringSelection.htmlSystemFlavorMap.htmlTransferable.htmlUnsupportedFlavorException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.desktopjavaappletApplet.AccessibleApplet.htmlApplet.htmlAppletContext.htmlAppletStub.htmlAudioClip.htmlclass-useApplet.AccessibleApplet.htmlApplet.htmlAppletContext.htmlAppletStub.htmlAudioClip.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlawtAWTError.htmlAWTEvent.htmlAWTEventMulticaster.htmlAWTException.htmlAWTKeyStroke.htmlAWTPermission.htmlActiveEvent.htmlAdjustable.htmlAlphaComposite.htmlBasicStroke.htmlBorderLayout.htmlBufferCapabilities.FlipContents.htmlBufferCapabilities.htmlButton.AccessibleAWTButton.htmlButton.htmlCanvas.AccessibleAWTCanvas.htmlCanvas.htmlCardLayout.htmlCheckbox.AccessibleAWTCheckbox.htmlCheckbox.htmlCheckboxGroup.htmlCheckboxMenuItem.AccessibleAWTCheckboxMenuItem.htmlCheckboxMenuItem.htmlChoice.AccessibleAWTChoice.htmlChoice.htmlColor.htmlComponent.AccessibleAWTComponent.AccessibleAWTComponentHandler.htmlComponent.AccessibleAWTComponent.AccessibleAWTFocusHandler.htmlComponent.AccessibleAWTComponent.htmlComponent.BaselineResizeBehavior.htmlComponent.BltBufferStrategy.htmlComponent.FlipBufferStrategy.htmlComponent.htmlComponentOrientation.htmlComposite.htmlCompositeContext.htmlContainer.AccessibleAWTContainer.AccessibleContainerHandler.htmlContainer.AccessibleAWTContainer.htmlContainer.htmlContainerOrderFocusTraversalPolicy.htmlCursor.htmlDefaultFocusTraversalPolicy.htmlDefaultKeyboardFocusManager.htmlDesktop.Action.htmlDesktop.htmlDialog.AccessibleAWTDialog.htmlDialog.ModalExclusionType.htmlDialog.ModalityType.htmlDialog.htmlDimension.htmlDisplayMode.htmlEvent.htmlEventQueue.htmlFileDialog.htmlFlowLayout.htmlFocusTraversalPolicy.htmlFont.htmlFontFormatException.htmlFontMetrics.htmlFrame.AccessibleAWTFrame.htmlFrame.htmlGradientPaint.htmlGraphics.htmlGraphics2D.htmlGraphicsConfigTemplate.htmlGraphicsConfiguration.htmlGraphicsDevice.WindowTranslucency.htmlGraphicsDevice.htmlGraphicsEnvironment.htmlGridBagConstraints.htmlGridBagLayout.htmlGridBagLayoutInfo.htmlGridLayout.htmlHeadlessException.htmlIllegalComponentStateException.htmlImage.htmlImageCapabilities.htmlInsets.htmlItemSelectable.htmlJobAttributes.DefaultSelectionType.htmlJobAttributes.DestinationType.htmlJobAttributes.DialogType.htmlJobAttributes.MultipleDocumentHandlingType.htmlJobAttributes.SidesType.htmlJobAttributes.htmlKeyEventDispatcher.htmlKeyEventPostProcessor.htmlKeyboardFocusManager.htmlLabel.AccessibleAWTLabel.htmlLabel.htmlLayoutManager.htmlLayoutManager2.htmlLinearGradientPaint.htmlList.AccessibleAWTList.AccessibleAWTListChild.htmlList.AccessibleAWTList.htmlList.htmlMediaTracker.htmlMenu.AccessibleAWTMenu.htmlMenu.htmlMenuBar.AccessibleAWTMenuBar.htmlMenuBar.htmlMenuComponent.AccessibleAWTMenuComponent.htmlMenuComponent.htmlMenuContainer.htmlMenuItem.AccessibleAWTMenuItem.htmlMenuItem.htmlMenuShortcut.htmlMouseInfo.htmlMultipleGradientPaint.ColorSpaceType.htmlMultipleGradientPaint.CycleMethod.htmlMultipleGradientPaint.htmlPageAttributes.ColorType.htmlPageAttributes.MediaType.htmlPageAttributes.OrientationRequestedType.htmlPageAttributes.OriginType.htmlPageAttributes.PrintQualityType.htmlPageAttributes.htmlPaint.htmlPaintContext.htmlPanel.AccessibleAWTPanel.htmlPanel.htmlPoint.htmlPointerInfo.htmlPolygon.htmlPopupMenu.AccessibleAWTPopupMenu.htmlPopupMenu.htmlPrintGraphics.htmlPrintJob.htmlRadialGradientPaint.htmlRectangle.htmlRenderingHints.Key.htmlRenderingHints.htmlRobot.htmlScrollPane.AccessibleAWTScrollPane.htmlScrollPane.htmlScrollPaneAdjustable.htmlScrollbar.AccessibleAWTScrollBar.htmlScrollbar.htmlSecondaryLoop.htmlShape.htmlSplashScreen.htmlStroke.htmlSystemColor.htmlSystemTray.htmlTaskbar.Feature.htmlTaskbar.State.htmlTaskbar.htmlTextArea.AccessibleAWTTextArea.htmlTextArea.htmlTextComponent.AccessibleAWTTextComponent.htmlTextComponent.htmlTextField.AccessibleAWTTextField.htmlTextField.htmlTexturePaint.htmlToolkit.htmlTransparency.htmlTrayIcon.MessageType.htmlTrayIcon.htmlWindow.AccessibleAWTWindow.htmlWindow.Type.htmlWindow.htmlclass-useAWTError.htmlAWTEvent.htmlAWTEventMulticaster.htmlAWTException.htmlAWTKeyStroke.htmlAWTPermission.htmlActiveEvent.htmlAdjustable.htmlAlphaComposite.htmlBasicStroke.htmlBorderLayout.htmlBufferCapabilities.FlipContents.htmlBufferCapabilities.htmlButton.AccessibleAWTButton.htmlButton.htmlCanvas.AccessibleAWTCanvas.htmlCanvas.htmlCardLayout.htmlCheckbox.AccessibleAWTCheckbox.htmlCheckbox.htmlCheckboxGroup.htmlCheckboxMenuItem.AccessibleAWTCheckboxMenuItem.htmlCheckboxMenuItem.htmlChoice.AccessibleAWTChoice.htmlChoice.htmlColor.htmlComponent.AccessibleAWTComponent.AccessibleAWTComponentHandler.htmlComponent.AccessibleAWTComponent.AccessibleAWTFocusHandler.htmlComponent.AccessibleAWTComponent.htmlComponent.BaselineResizeBehavior.htmlComponent.BltBufferStrategy.htmlComponent.FlipBufferStrategy.htmlComponent.htmlComponentOrientation.htmlComposite.htmlCompositeContext.htmlContainer.AccessibleAWTContainer.AccessibleContainerHandler.htmlContainer.AccessibleAWTContainer.htmlContainer.htmlContainerOrderFocusTraversalPolicy.htmlCursor.htmlDefaultFocusTraversalPolicy.htmlDefaultKeyboardFocusManager.htmlDesktop.Action.htmlDesktop.htmlDialog.AccessibleAWTDialog.htmlDialog.ModalExclusionType.htmlDialog.ModalityType.htmlDialog.htmlDimension.htmlDisplayMode.htmlEvent.htmlEventQueue.htmlFileDialog.htmlFlowLayout.htmlFocusTraversalPolicy.htmlFont.htmlFontFormatException.htmlFontMetrics.htmlFrame.AccessibleAWTFrame.htmlFrame.htmlGradientPaint.htmlGraphics.htmlGraphics2D.htmlGraphicsConfigTemplate.htmlGraphicsConfiguration.htmlGraphicsDevice.WindowTranslucency.htmlGraphicsDevice.htmlGraphicsEnvironment.htmlGridBagConstraints.htmlGridBagLayout.htmlGridBagLayoutInfo.htmlGridLayout.htmlHeadlessException.htmlIllegalComponentStateException.htmlImage.htmlImageCapabilities.htmlInsets.htmlItemSelectable.htmlJobAttributes.DefaultSelectionType.htmlJobAttributes.DestinationType.htmlJobAttributes.DialogType.htmlJobAttributes.MultipleDocumentHandlingType.htmlJobAttributes.SidesType.htmlJobAttributes.htmlKeyEventDispatcher.htmlKeyEventPostProcessor.htmlKeyboardFocusManager.htmlLabel.AccessibleAWTLabel.htmlLabel.htmlLayoutManager.htmlLayoutManager2.htmlLinearGradientPaint.htmlList.AccessibleAWTList.AccessibleAWTListChild.htmlList.AccessibleAWTList.htmlList.htmlMediaTracker.htmlMenu.AccessibleAWTMenu.htmlMenu.htmlMenuBar.AccessibleAWTMenuBar.htmlMenuBar.htmlMenuComponent.AccessibleAWTMenuComponent.htmlMenuComponent.htmlMenuContainer.htmlMenuItem.AccessibleAWTMenuItem.htmlMenuItem.htmlMenuShortcut.htmlMouseInfo.htmlMultipleGradientPaint.ColorSpaceType.htmlMultipleGradientPaint.CycleMethod.htmlMultipleGradientPaint.htmlPageAttributes.ColorType.htmlPageAttributes.MediaType.htmlPageAttributes.OrientationRequestedType.htmlPageAttributes.OriginType.htmlPageAttributes.PrintQualityType.htmlPageAttributes.htmlPaint.htmlPaintContext.htmlPanel.AccessibleAWTPanel.htmlPanel.htmlPoint.htmlPointerInfo.htmlPolygon.htmlPopupMenu.AccessibleAWTPopupMenu.htmlPopupMenu.htmlPrintGraphics.htmlPrintJob.htmlRadialGradientPaint.htmlRectangle.htmlRenderingHints.Key.htmlRenderingHints.htmlRobot.htmlScrollPane.AccessibleAWTScrollPane.htmlScrollPane.htmlScrollPaneAdjustable.htmlScrollbar.AccessibleAWTScrollBar.htmlScrollbar.htmlSecondaryLoop.htmlShape.htmlSplashScreen.htmlStroke.htmlSystemColor.htmlSystemTray.htmlTaskbar.Feature.htmlTaskbar.State.htmlTaskbar.htmlTextArea.AccessibleAWTTextArea.htmlTextArea.htmlTextComponent.AccessibleAWTTextComponent.htmlTextComponent.htmlTextField.AccessibleAWTTextField.htmlTextField.htmlTexturePaint.htmlToolkit.htmlTransparency.htmlTrayIcon.MessageType.htmlTrayIcon.htmlWindow.AccessibleAWTWindow.htmlWindow.Type.htmlWindow.htmlcolorCMMException.htmlColorSpace.htmlICC_ColorSpace.htmlICC_Profile.htmlICC_ProfileGray.htmlICC_ProfileRGB.htmlProfileDataException.htmlclass-useCMMException.htmlColorSpace.htmlICC_ColorSpace.htmlICC_Profile.htmlICC_ProfileGray.htmlICC_ProfileRGB.htmlProfileDataException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmldesktopAboutEvent.htmlAboutHandler.htmlAppEvent.htmlAppForegroundEvent.htmlAppForegroundListener.htmlAppHiddenEvent.htmlAppHiddenListener.htmlAppReopenedEvent.htmlAppReopenedListener.htmlFilesEvent.htmlOpenFilesEvent.htmlOpenFilesHandler.htmlOpenURIEvent.htmlOpenURIHandler.htmlPreferencesEvent.htmlPreferencesHandler.htmlPrintFilesEvent.htmlPrintFilesHandler.htmlQuitEvent.htmlQuitHandler.htmlQuitResponse.htmlQuitStrategy.htmlScreenSleepEvent.htmlScreenSleepListener.htmlSystemEventListener.htmlSystemSleepEvent.htmlSystemSleepListener.htmlUserSessionEvent.Reason.htmlUserSessionEvent.htmlUserSessionListener.htmlclass-useAboutEvent.htmlAboutHandler.htmlAppEvent.htmlAppForegroundEvent.htmlAppForegroundListener.htmlAppHiddenEvent.htmlAppHiddenListener.htmlAppReopenedEvent.htmlAppReopenedListener.htmlFilesEvent.htmlOpenFilesEvent.htmlOpenFilesHandler.htmlOpenURIEvent.htmlOpenURIHandler.htmlPreferencesEvent.htmlPreferencesHandler.htmlPrintFilesEvent.htmlPrintFilesHandler.htmlQuitEvent.htmlQuitHandler.htmlQuitResponse.htmlQuitStrategy.htmlScreenSleepEvent.htmlScreenSleepListener.htmlSystemEventListener.htmlSystemSleepEvent.htmlSystemSleepListener.htmlUserSessionEvent.Reason.htmlUserSessionEvent.htmlUserSessionListener.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmldndAutoscroll.htmlDnDConstants.htmlDragGestureEvent.htmlDragGestureListener.htmlDragGestureRecognizer.htmlDragSource.htmlDragSourceAdapter.htmlDragSourceContext.htmlDragSourceDragEvent.htmlDragSourceDropEvent.htmlDragSourceEvent.htmlDragSourceListener.htmlDragSourceMotionListener.htmlDropTarget.DropTargetAutoScroller.htmlDropTarget.htmlDropTargetAdapter.htmlDropTargetContext.TransferableProxy.htmlDropTargetContext.htmlDropTargetDragEvent.htmlDropTargetDropEvent.htmlDropTargetEvent.htmlDropTargetListener.htmlInvalidDnDOperationException.htmlMouseDragGestureRecognizer.htmlclass-useAutoscroll.htmlDnDConstants.htmlDragGestureEvent.htmlDragGestureListener.htmlDragGestureRecognizer.htmlDragSource.htmlDragSourceAdapter.htmlDragSourceContext.htmlDragSourceDragEvent.htmlDragSourceDropEvent.htmlDragSourceEvent.htmlDragSourceListener.htmlDragSourceMotionListener.htmlDropTarget.DropTargetAutoScroller.htmlDropTarget.htmlDropTargetAdapter.htmlDropTargetContext.TransferableProxy.htmlDropTargetContext.htmlDropTargetDragEvent.htmlDropTargetDropEvent.htmlDropTargetEvent.htmlDropTargetListener.htmlInvalidDnDOperationException.htmlMouseDragGestureRecognizer.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmldoc-filesAWTThreadIssues.htmlBorderLayout-1.gifButton-1.gifCheckbox-1.gifCheckboxGroup-1.gifChoice-1.gifDesktopProperties.htmlFlowLayout-1.gifFocusCycle.svgFocusSpec.htmlFontMetrics-1.gifGridBagLayout-1.gifGridBagLayout-2.gifGridBagLayout-baseline.pngGridLayout-1.gifGridLayout-2.gifImplicitFocusTransfer1.svgImplicitFocusTransfer2.svgLabel-1.gifLinearGradientPaint.pngList-1.gifMenuBar-1.gifModality.htmlMultiScreen.gifRadialGradientPaint-1.pngRadialGradientPaint-2.pngRadialGradientPaint-3.pngRadialGradientPaint-4.pngScrollbar-1.gifScrollbar-2.gifTextArea-1.gifTextField-1.gifmodal-example1.svgmodal-example2.svgmodal-example3.svgmodal-example4.svgeventAWTEventListener.htmlAWTEventListenerProxy.htmlActionEvent.htmlActionListener.htmlAdjustmentEvent.htmlAdjustmentListener.htmlComponentAdapter.htmlComponentEvent.htmlComponentListener.htmlContainerAdapter.htmlContainerEvent.htmlContainerListener.htmlFocusAdapter.htmlFocusEvent.Cause.htmlFocusEvent.htmlFocusListener.htmlHierarchyBoundsAdapter.htmlHierarchyBoundsListener.htmlHierarchyEvent.htmlHierarchyListener.htmlInputEvent.htmlInputMethodEvent.htmlInputMethodListener.htmlInvocationEvent.htmlItemEvent.htmlItemListener.htmlKeyAdapter.htmlKeyEvent.htmlKeyListener.htmlMouseAdapter.htmlMouseEvent.htmlMouseListener.htmlMouseMotionAdapter.htmlMouseMotionListener.htmlMouseWheelEvent.htmlMouseWheelListener.htmlPaintEvent.htmlTextEvent.htmlTextListener.htmlWindowAdapter.htmlWindowEvent.htmlWindowFocusListener.htmlWindowListener.htmlWindowStateListener.htmlclass-useAWTEventListener.htmlAWTEventListenerProxy.htmlActionEvent.htmlActionListener.htmlAdjustmentEvent.htmlAdjustmentListener.htmlComponentAdapter.htmlComponentEvent.htmlComponentListener.htmlContainerAdapter.htmlContainerEvent.htmlContainerListener.htmlFocusAdapter.htmlFocusEvent.Cause.htmlFocusEvent.htmlFocusListener.htmlHierarchyBoundsAdapter.htmlHierarchyBoundsListener.htmlHierarchyEvent.htmlHierarchyListener.htmlInputEvent.htmlInputMethodEvent.htmlInputMethodListener.htmlInvocationEvent.htmlItemEvent.htmlItemListener.htmlKeyAdapter.htmlKeyEvent.htmlKeyListener.htmlMouseAdapter.htmlMouseEvent.htmlMouseListener.htmlMouseMotionAdapter.htmlMouseMotionListener.htmlMouseWheelEvent.htmlMouseWheelListener.htmlPaintEvent.htmlTextEvent.htmlTextListener.htmlWindowAdapter.htmlWindowEvent.htmlWindowFocusListener.htmlWindowListener.htmlWindowStateListener.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlfontFontRenderContext.htmlGlyphJustificationInfo.htmlGlyphMetrics.htmlGlyphVector.htmlGraphicAttribute.htmlImageGraphicAttribute.htmlLayoutPath.htmlLineBreakMeasurer.htmlLineMetrics.htmlMultipleMaster.htmlNumericShaper.Range.htmlNumericShaper.htmlOpenType.htmlShapeGraphicAttribute.htmlTextAttribute.htmlTextHitInfo.htmlTextLayout.CaretPolicy.htmlTextLayout.htmlTextMeasurer.htmlTransformAttribute.htmlclass-useFontRenderContext.htmlGlyphJustificationInfo.htmlGlyphMetrics.htmlGlyphVector.htmlGraphicAttribute.htmlImageGraphicAttribute.htmlLayoutPath.htmlLineBreakMeasurer.htmlLineMetrics.htmlMultipleMaster.htmlNumericShaper.Range.htmlNumericShaper.htmlOpenType.htmlShapeGraphicAttribute.htmlTextAttribute.htmlTextHitInfo.htmlTextLayout.CaretPolicy.htmlTextLayout.htmlTextMeasurer.htmlTransformAttribute.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlgeomAffineTransform.htmlArc2D.Double.htmlArc2D.Float.htmlArc2D.htmlArea.htmlCubicCurve2D.Double.htmlCubicCurve2D.Float.htmlCubicCurve2D.htmlDimension2D.htmlEllipse2D.Double.htmlEllipse2D.Float.htmlEllipse2D.htmlFlatteningPathIterator.htmlGeneralPath.htmlIllegalPathStateException.htmlLine2D.Double.htmlLine2D.Float.htmlLine2D.htmlNoninvertibleTransformException.htmlPath2D.Double.htmlPath2D.Float.htmlPath2D.htmlPathIterator.htmlPoint2D.Double.htmlPoint2D.Float.htmlPoint2D.htmlQuadCurve2D.Double.htmlQuadCurve2D.Float.htmlQuadCurve2D.htmlRectangle2D.Double.htmlRectangle2D.Float.htmlRectangle2D.htmlRectangularShape.htmlRoundRectangle2D.Double.htmlRoundRectangle2D.Float.htmlRoundRectangle2D.htmlclass-useAffineTransform.htmlArc2D.Double.htmlArc2D.Float.htmlArc2D.htmlArea.htmlCubicCurve2D.Double.htmlCubicCurve2D.Float.htmlCubicCurve2D.htmlDimension2D.htmlEllipse2D.Double.htmlEllipse2D.Float.htmlEllipse2D.htmlFlatteningPathIterator.htmlGeneralPath.htmlIllegalPathStateException.htmlLine2D.Double.htmlLine2D.Float.htmlLine2D.htmlNoninvertibleTransformException.htmlPath2D.Double.htmlPath2D.Float.htmlPath2D.htmlPathIterator.htmlPoint2D.Double.htmlPoint2D.Float.htmlPoint2D.htmlQuadCurve2D.Double.htmlQuadCurve2D.Float.htmlQuadCurve2D.htmlRectangle2D.Double.htmlRectangle2D.Float.htmlRectangle2D.htmlRectangularShape.htmlRoundRectangle2D.Double.htmlRoundRectangle2D.Float.htmlRoundRectangle2D.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlimInputContext.htmlInputMethodHighlight.htmlInputMethodRequests.htmlInputSubset.htmlclass-useInputContext.htmlInputMethodHighlight.htmlInputMethodRequests.htmlInputSubset.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiInputMethod.htmlInputMethodContext.htmlInputMethodDescriptor.htmlclass-useInputMethod.htmlInputMethodContext.htmlInputMethodDescriptor.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlimageAbstractMultiResolutionImage.htmlAffineTransformOp.htmlAreaAveragingScaleFilter.htmlBandCombineOp.htmlBandedSampleModel.htmlBaseMultiResolutionImage.htmlBufferStrategy.htmlBufferedImage.htmlBufferedImageFilter.htmlBufferedImageOp.htmlByteLookupTable.htmlColorConvertOp.htmlColorModel.htmlComponentColorModel.htmlComponentSampleModel.htmlConvolveOp.htmlCropImageFilter.htmlDataBuffer.htmlDataBufferByte.htmlDataBufferDouble.htmlDataBufferFloat.htmlDataBufferInt.htmlDataBufferShort.htmlDataBufferUShort.htmlDirectColorModel.htmlFilteredImageSource.htmlImageConsumer.htmlImageFilter.htmlImageObserver.htmlImageProducer.htmlImagingOpException.htmlIndexColorModel.htmlKernel.htmlLookupOp.htmlLookupTable.htmlMemoryImageSource.htmlMultiPixelPackedSampleModel.htmlMultiResolutionImage.htmlPackedColorModel.htmlPixelGrabber.htmlPixelInterleavedSampleModel.htmlRGBImageFilter.htmlRaster.htmlRasterFormatException.htmlRasterOp.htmlRenderedImage.htmlReplicateScaleFilter.htmlRescaleOp.htmlSampleModel.htmlShortLookupTable.htmlSinglePixelPackedSampleModel.htmlTileObserver.htmlVolatileImage.htmlWritableRaster.htmlWritableRenderedImage.htmlclass-useAbstractMultiResolutionImage.htmlAffineTransformOp.htmlAreaAveragingScaleFilter.htmlBandCombineOp.htmlBandedSampleModel.htmlBaseMultiResolutionImage.htmlBufferStrategy.htmlBufferedImage.htmlBufferedImageFilter.htmlBufferedImageOp.htmlByteLookupTable.htmlColorConvertOp.htmlColorModel.htmlComponentColorModel.htmlComponentSampleModel.htmlConvolveOp.htmlCropImageFilter.htmlDataBuffer.htmlDataBufferByte.htmlDataBufferDouble.htmlDataBufferFloat.htmlDataBufferInt.htmlDataBufferShort.htmlDataBufferUShort.htmlDirectColorModel.htmlFilteredImageSource.htmlImageConsumer.htmlImageFilter.htmlImageObserver.htmlImageProducer.htmlImagingOpException.htmlIndexColorModel.htmlKernel.htmlLookupOp.htmlLookupTable.htmlMemoryImageSource.htmlMultiPixelPackedSampleModel.htmlMultiResolutionImage.htmlPackedColorModel.htmlPixelGrabber.htmlPixelInterleavedSampleModel.htmlRGBImageFilter.htmlRaster.htmlRasterFormatException.htmlRasterOp.htmlRenderedImage.htmlReplicateScaleFilter.htmlRescaleOp.htmlSampleModel.htmlShortLookupTable.htmlSinglePixelPackedSampleModel.htmlTileObserver.htmlVolatileImage.htmlWritableRaster.htmlWritableRenderedImage.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlrenderableContextualRenderedImageFactory.htmlParameterBlock.htmlRenderContext.htmlRenderableImage.htmlRenderableImageOp.htmlRenderableImageProducer.htmlRenderedImageFactory.htmlclass-useContextualRenderedImageFactory.htmlParameterBlock.htmlRenderContext.htmlRenderableImage.htmlRenderableImageOp.htmlRenderableImageProducer.htmlRenderedImageFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlprintBook.htmlPageFormat.htmlPageable.htmlPaper.htmlPrintable.htmlPrinterAbortException.htmlPrinterException.htmlPrinterGraphics.htmlPrinterIOException.htmlPrinterJob.htmlclass-useBook.htmlPageFormat.htmlPageable.htmlPaper.htmlPrintable.htmlPrinterAbortException.htmlPrinterException.htmlPrinterGraphics.htmlPrinterIOException.htmlPrinterJob.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlbeansAppletInitializer.htmlBeanDescriptor.htmlBeanInfo.htmlBeanProperty.htmlBeans.htmlConstructorProperties.htmlCustomizer.htmlDefaultPersistenceDelegate.htmlDesignMode.htmlEncoder.htmlEventHandler.htmlEventSetDescriptor.htmlExceptionListener.htmlExpression.htmlFeatureDescriptor.htmlIndexedPropertyChangeEvent.htmlIndexedPropertyDescriptor.htmlIntrospectionException.htmlIntrospector.htmlJavaBean.htmlMethodDescriptor.htmlParameterDescriptor.htmlPersistenceDelegate.htmlPropertyChangeEvent.htmlPropertyChangeListener.htmlPropertyChangeListenerProxy.htmlPropertyChangeSupport.htmlPropertyDescriptor.htmlPropertyEditor.htmlPropertyEditorManager.htmlPropertyEditorSupport.htmlPropertyVetoException.htmlSimpleBeanInfo.htmlStatement.htmlTransient.htmlVetoableChangeListener.htmlVetoableChangeListenerProxy.htmlVetoableChangeSupport.htmlVisibility.htmlXMLDecoder.htmlXMLEncoder.htmlbeancontextBeanContext.htmlBeanContextChild.htmlBeanContextChildComponentProxy.htmlBeanContextChildSupport.htmlBeanContextContainerProxy.htmlBeanContextEvent.htmlBeanContextMembershipEvent.htmlBeanContextMembershipListener.htmlBeanContextProxy.htmlBeanContextServiceAvailableEvent.htmlBeanContextServiceProvider.htmlBeanContextServiceProviderBeanInfo.htmlBeanContextServiceRevokedEvent.htmlBeanContextServiceRevokedListener.htmlBeanContextServices.htmlBeanContextServicesListener.htmlBeanContextServicesSupport.BCSSChild.htmlBeanContextServicesSupport.BCSSProxyServiceProvider.htmlBeanContextServicesSupport.BCSSServiceProvider.htmlBeanContextServicesSupport.htmlBeanContextSupport.BCSChild.htmlBeanContextSupport.BCSIterator.htmlBeanContextSupport.htmlclass-useBeanContext.htmlBeanContextChild.htmlBeanContextChildComponentProxy.htmlBeanContextChildSupport.htmlBeanContextContainerProxy.htmlBeanContextEvent.htmlBeanContextMembershipEvent.htmlBeanContextMembershipListener.htmlBeanContextProxy.htmlBeanContextServiceAvailableEvent.htmlBeanContextServiceProvider.htmlBeanContextServiceProviderBeanInfo.htmlBeanContextServiceRevokedEvent.htmlBeanContextServiceRevokedListener.htmlBeanContextServices.htmlBeanContextServicesListener.htmlBeanContextServicesSupport.BCSSChild.htmlBeanContextServicesSupport.BCSSProxyServiceProvider.htmlBeanContextServicesSupport.BCSSServiceProvider.htmlBeanContextServicesSupport.htmlBeanContextSupport.BCSChild.htmlBeanContextSupport.BCSIterator.htmlBeanContextSupport.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAppletInitializer.htmlBeanDescriptor.htmlBeanInfo.htmlBeanProperty.htmlBeans.htmlConstructorProperties.htmlCustomizer.htmlDefaultPersistenceDelegate.htmlDesignMode.htmlEncoder.htmlEventHandler.htmlEventSetDescriptor.htmlExceptionListener.htmlExpression.htmlFeatureDescriptor.htmlIndexedPropertyChangeEvent.htmlIndexedPropertyDescriptor.htmlIntrospectionException.htmlIntrospector.htmlJavaBean.htmlMethodDescriptor.htmlParameterDescriptor.htmlPersistenceDelegate.htmlPropertyChangeEvent.htmlPropertyChangeListener.htmlPropertyChangeListenerProxy.htmlPropertyChangeSupport.htmlPropertyDescriptor.htmlPropertyEditor.htmlPropertyEditorManager.htmlPropertyEditorSupport.htmlPropertyVetoException.htmlSimpleBeanInfo.htmlStatement.htmlTransient.htmlVetoableChangeListener.htmlVetoableChangeListenerProxy.htmlVetoableChangeSupport.htmlVisibility.htmlXMLDecoder.htmlXMLEncoder.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljavaxaccessibilityAccessibilityProvider.htmlAccessible.htmlAccessibleAction.htmlAccessibleAttributeSequence.htmlAccessibleBundle.htmlAccessibleComponent.htmlAccessibleContext.htmlAccessibleEditableText.htmlAccessibleExtendedComponent.htmlAccessibleExtendedTable.htmlAccessibleExtendedText.htmlAccessibleHyperlink.htmlAccessibleHypertext.htmlAccessibleIcon.htmlAccessibleKeyBinding.htmlAccessibleRelation.htmlAccessibleRelationSet.htmlAccessibleResourceBundle.htmlAccessibleRole.htmlAccessibleSelection.htmlAccessibleState.htmlAccessibleStateSet.htmlAccessibleStreamable.htmlAccessibleTable.htmlAccessibleTableModelChange.htmlAccessibleText.htmlAccessibleTextSequence.htmlAccessibleValue.htmlclass-useAccessibilityProvider.htmlAccessible.htmlAccessibleAction.htmlAccessibleAttributeSequence.htmlAccessibleBundle.htmlAccessibleComponent.htmlAccessibleContext.htmlAccessibleEditableText.htmlAccessibleExtendedComponent.htmlAccessibleExtendedTable.htmlAccessibleExtendedText.htmlAccessibleHyperlink.htmlAccessibleHypertext.htmlAccessibleIcon.htmlAccessibleKeyBinding.htmlAccessibleRelation.htmlAccessibleRelationSet.htmlAccessibleResourceBundle.htmlAccessibleRole.htmlAccessibleSelection.htmlAccessibleState.htmlAccessibleStateSet.htmlAccessibleStreamable.htmlAccessibleTable.htmlAccessibleTableModelChange.htmlAccessibleText.htmlAccessibleTextSequence.htmlAccessibleValue.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlimageioIIOException.htmlIIOImage.htmlIIOParam.htmlIIOParamController.htmlImageIO.htmlImageReadParam.htmlImageReader.htmlImageTranscoder.htmlImageTypeSpecifier.htmlImageWriteParam.htmlImageWriter.htmlclass-useIIOException.htmlIIOImage.htmlIIOParam.htmlIIOParamController.htmlImageIO.htmlImageReadParam.htmlImageReader.htmlImageTranscoder.htmlImageTypeSpecifier.htmlImageWriteParam.htmlImageWriter.htmleventIIOReadProgressListener.htmlIIOReadUpdateListener.htmlIIOReadWarningListener.htmlIIOWriteProgressListener.htmlIIOWriteWarningListener.htmlclass-useIIOReadProgressListener.htmlIIOReadUpdateListener.htmlIIOReadWarningListener.htmlIIOWriteProgressListener.htmlIIOWriteWarningListener.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmetadataIIOInvalidTreeException.htmlIIOMetadata.htmlIIOMetadataController.htmlIIOMetadataFormat.htmlIIOMetadataFormatImpl.htmlIIOMetadataNode.htmlclass-useIIOInvalidTreeException.htmlIIOMetadata.htmlIIOMetadataController.htmlIIOMetadataFormat.htmlIIOMetadataFormatImpl.htmlIIOMetadataNode.htmldoc-filesbmp_metadata.htmlgif_metadata.htmljpeg_metadata.htmlpng_metadata.htmlstandard_metadata.htmltiff_metadata.htmlwbmp_metadata.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpluginsbmpBMPImageWriteParam.htmlclass-useBMPImageWriteParam.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljpegJPEGHuffmanTable.htmlJPEGImageReadParam.htmlJPEGImageWriteParam.htmlJPEGQTable.htmlclass-useJPEGHuffmanTable.htmlJPEGImageReadParam.htmlJPEGImageWriteParam.htmlJPEGQTable.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltiffBaselineTIFFTagSet.htmlExifGPSTagSet.htmlExifInteroperabilityTagSet.htmlExifParentTIFFTagSet.htmlExifTIFFTagSet.htmlFaxTIFFTagSet.htmlGeoTIFFTagSet.htmlTIFFDirectory.htmlTIFFField.htmlTIFFImageReadParam.htmlTIFFTag.htmlTIFFTagSet.htmlclass-useBaselineTIFFTagSet.htmlExifGPSTagSet.htmlExifInteroperabilityTagSet.htmlExifParentTIFFTagSet.htmlExifTIFFTagSet.htmlFaxTIFFTagSet.htmlGeoTIFFTagSet.htmlTIFFDirectory.htmlTIFFField.htmlTIFFImageReadParam.htmlTIFFTag.htmlTIFFTagSet.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiIIORegistry.htmlIIOServiceProvider.htmlImageInputStreamSpi.htmlImageOutputStreamSpi.htmlImageReaderSpi.htmlImageReaderWriterSpi.htmlImageTranscoderSpi.htmlImageWriterSpi.htmlRegisterableService.htmlServiceRegistry.Filter.htmlServiceRegistry.htmlclass-useIIORegistry.htmlIIOServiceProvider.htmlImageInputStreamSpi.htmlImageOutputStreamSpi.htmlImageReaderSpi.htmlImageReaderWriterSpi.htmlImageTranscoderSpi.htmlImageWriterSpi.htmlRegisterableService.htmlServiceRegistry.Filter.htmlServiceRegistry.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlstreamFileCacheImageInputStream.htmlFileCacheImageOutputStream.htmlFileImageInputStream.htmlFileImageOutputStream.htmlIIOByteBuffer.htmlImageInputStream.htmlImageInputStreamImpl.htmlImageOutputStream.htmlImageOutputStreamImpl.htmlMemoryCacheImageInputStream.htmlMemoryCacheImageOutputStream.htmlclass-useFileCacheImageInputStream.htmlFileCacheImageOutputStream.htmlFileImageInputStream.htmlFileImageOutputStream.htmlIIOByteBuffer.htmlImageInputStream.htmlImageInputStreamImpl.htmlImageOutputStream.htmlImageOutputStreamImpl.htmlMemoryCacheImageInputStream.htmlMemoryCacheImageOutputStream.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlprintAttributeException.htmlCancelablePrintJob.htmlDoc.htmlDocFlavor.BYTE_ARRAY.htmlDocFlavor.CHAR_ARRAY.htmlDocFlavor.INPUT_STREAM.htmlDocFlavor.READER.htmlDocFlavor.SERVICE_FORMATTED.htmlDocFlavor.STRING.htmlDocFlavor.URL.htmlDocFlavor.htmlDocPrintJob.htmlFlavorException.htmlMultiDoc.htmlMultiDocPrintJob.htmlMultiDocPrintService.htmlPrintException.htmlPrintService.htmlPrintServiceLookup.htmlServiceUI.htmlServiceUIFactory.htmlSimpleDoc.htmlStreamPrintService.htmlStreamPrintServiceFactory.htmlURIException.htmlattributeAttribute.htmlAttributeSet.htmlAttributeSetUtilities.htmlDateTimeSyntax.htmlDocAttribute.htmlDocAttributeSet.htmlEnumSyntax.htmlHashAttributeSet.htmlHashDocAttributeSet.htmlHashPrintJobAttributeSet.htmlHashPrintRequestAttributeSet.htmlHashPrintServiceAttributeSet.htmlIntegerSyntax.htmlPrintJobAttribute.htmlPrintJobAttributeSet.htmlPrintRequestAttribute.htmlPrintRequestAttributeSet.htmlPrintServiceAttribute.htmlPrintServiceAttributeSet.htmlResolutionSyntax.htmlSetOfIntegerSyntax.htmlSize2DSyntax.htmlSupportedValuesAttribute.htmlTextSyntax.htmlURISyntax.htmlUnmodifiableSetException.htmlclass-useAttribute.htmlAttributeSet.htmlAttributeSetUtilities.htmlDateTimeSyntax.htmlDocAttribute.htmlDocAttributeSet.htmlEnumSyntax.htmlHashAttributeSet.htmlHashDocAttributeSet.htmlHashPrintJobAttributeSet.htmlHashPrintRequestAttributeSet.htmlHashPrintServiceAttributeSet.htmlIntegerSyntax.htmlPrintJobAttribute.htmlPrintJobAttributeSet.htmlPrintRequestAttribute.htmlPrintRequestAttributeSet.htmlPrintServiceAttribute.htmlPrintServiceAttributeSet.htmlResolutionSyntax.htmlSetOfIntegerSyntax.htmlSize2DSyntax.htmlSupportedValuesAttribute.htmlTextSyntax.htmlURISyntax.htmlUnmodifiableSetException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlstandardChromaticity.htmlColorSupported.htmlCompression.htmlCopies.htmlCopiesSupported.htmlDateTimeAtCompleted.htmlDateTimeAtCreation.htmlDateTimeAtProcessing.htmlDestination.htmlDialogOwner.htmlDialogTypeSelection.htmlDocumentName.htmlFidelity.htmlFinishings.htmlJobHoldUntil.htmlJobImpressions.htmlJobImpressionsCompleted.htmlJobImpressionsSupported.htmlJobKOctets.htmlJobKOctetsProcessed.htmlJobKOctetsSupported.htmlJobMediaSheets.htmlJobMediaSheetsCompleted.htmlJobMediaSheetsSupported.htmlJobMessageFromOperator.htmlJobName.htmlJobOriginatingUserName.htmlJobPriority.htmlJobPrioritySupported.htmlJobSheets.htmlJobState.htmlJobStateReason.htmlJobStateReasons.htmlMedia.htmlMediaName.htmlMediaPrintableArea.htmlMediaSize.Engineering.htmlMediaSize.ISO.htmlMediaSize.JIS.htmlMediaSize.NA.htmlMediaSize.Other.htmlMediaSize.htmlMediaSizeName.htmlMediaTray.htmlMultipleDocumentHandling.htmlNumberOfDocuments.htmlNumberOfInterveningJobs.htmlNumberUp.htmlNumberUpSupported.htmlOrientationRequested.htmlOutputDeviceAssigned.htmlPDLOverrideSupported.htmlPageRanges.htmlPagesPerMinute.htmlPagesPerMinuteColor.htmlPresentationDirection.htmlPrintQuality.htmlPrinterInfo.htmlPrinterIsAcceptingJobs.htmlPrinterLocation.htmlPrinterMakeAndModel.htmlPrinterMessageFromOperator.htmlPrinterMoreInfo.htmlPrinterMoreInfoManufacturer.htmlPrinterName.htmlPrinterResolution.htmlPrinterState.htmlPrinterStateReason.htmlPrinterStateReasons.htmlPrinterURI.htmlQueuedJobCount.htmlReferenceUriSchemesSupported.htmlRequestingUserName.htmlSeverity.htmlSheetCollate.htmlSides.htmlclass-useChromaticity.htmlColorSupported.htmlCompression.htmlCopies.htmlCopiesSupported.htmlDateTimeAtCompleted.htmlDateTimeAtCreation.htmlDateTimeAtProcessing.htmlDestination.htmlDialogOwner.htmlDialogTypeSelection.htmlDocumentName.htmlFidelity.htmlFinishings.htmlJobHoldUntil.htmlJobImpressions.htmlJobImpressionsCompleted.htmlJobImpressionsSupported.htmlJobKOctets.htmlJobKOctetsProcessed.htmlJobKOctetsSupported.htmlJobMediaSheets.htmlJobMediaSheetsCompleted.htmlJobMediaSheetsSupported.htmlJobMessageFromOperator.htmlJobName.htmlJobOriginatingUserName.htmlJobPriority.htmlJobPrioritySupported.htmlJobSheets.htmlJobState.htmlJobStateReason.htmlJobStateReasons.htmlMedia.htmlMediaName.htmlMediaPrintableArea.htmlMediaSize.Engineering.htmlMediaSize.ISO.htmlMediaSize.JIS.htmlMediaSize.NA.htmlMediaSize.Other.htmlMediaSize.htmlMediaSizeName.htmlMediaTray.htmlMultipleDocumentHandling.htmlNumberOfDocuments.htmlNumberOfInterveningJobs.htmlNumberUp.htmlNumberUpSupported.htmlOrientationRequested.htmlOutputDeviceAssigned.htmlPDLOverrideSupported.htmlPageRanges.htmlPagesPerMinute.htmlPagesPerMinuteColor.htmlPresentationDirection.htmlPrintQuality.htmlPrinterInfo.htmlPrinterIsAcceptingJobs.htmlPrinterLocation.htmlPrinterMakeAndModel.htmlPrinterMessageFromOperator.htmlPrinterMoreInfo.htmlPrinterMoreInfoManufacturer.htmlPrinterName.htmlPrinterResolution.htmlPrinterState.htmlPrinterStateReason.htmlPrinterStateReasons.htmlPrinterURI.htmlQueuedJobCount.htmlReferenceUriSchemesSupported.htmlRequestingUserName.htmlSeverity.htmlSheetCollate.htmlSides.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAttributeException.htmlCancelablePrintJob.htmlDoc.htmlDocFlavor.BYTE_ARRAY.htmlDocFlavor.CHAR_ARRAY.htmlDocFlavor.INPUT_STREAM.htmlDocFlavor.READER.htmlDocFlavor.SERVICE_FORMATTED.htmlDocFlavor.STRING.htmlDocFlavor.URL.htmlDocFlavor.htmlDocPrintJob.htmlFlavorException.htmlMultiDoc.htmlMultiDocPrintJob.htmlMultiDocPrintService.htmlPrintException.htmlPrintService.htmlPrintServiceLookup.htmlServiceUI.htmlServiceUIFactory.htmlSimpleDoc.htmlStreamPrintService.htmlStreamPrintServiceFactory.htmlURIException.htmleventPrintEvent.htmlPrintJobAdapter.htmlPrintJobAttributeEvent.htmlPrintJobAttributeListener.htmlPrintJobEvent.htmlPrintJobListener.htmlPrintServiceAttributeEvent.htmlPrintServiceAttributeListener.htmlclass-usePrintEvent.htmlPrintJobAdapter.htmlPrintJobAttributeEvent.htmlPrintJobAttributeListener.htmlPrintJobEvent.htmlPrintJobListener.htmlPrintServiceAttributeEvent.htmlPrintServiceAttributeListener.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlsoundmidiControllerEventListener.htmlInstrument.htmlInvalidMidiDataException.htmlMetaEventListener.htmlMetaMessage.htmlMidiChannel.htmlMidiDevice.Info.htmlMidiDevice.htmlMidiDeviceReceiver.htmlMidiDeviceTransmitter.htmlMidiEvent.htmlMidiFileFormat.htmlMidiMessage.htmlMidiSystem.htmlMidiUnavailableException.htmlPatch.htmlReceiver.htmlSequence.htmlSequencer.SyncMode.htmlSequencer.htmlShortMessage.htmlSoundbank.htmlSoundbankResource.htmlSynthesizer.htmlSysexMessage.htmlTrack.htmlTransmitter.htmlVoiceStatus.htmlclass-useControllerEventListener.htmlInstrument.htmlInvalidMidiDataException.htmlMetaEventListener.htmlMetaMessage.htmlMidiChannel.htmlMidiDevice.Info.htmlMidiDevice.htmlMidiDeviceReceiver.htmlMidiDeviceTransmitter.htmlMidiEvent.htmlMidiFileFormat.htmlMidiMessage.htmlMidiSystem.htmlMidiUnavailableException.htmlPatch.htmlReceiver.htmlSequence.htmlSequencer.SyncMode.htmlSequencer.htmlShortMessage.htmlSoundbank.htmlSoundbankResource.htmlSynthesizer.htmlSysexMessage.htmlTrack.htmlTransmitter.htmlVoiceStatus.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiMidiDeviceProvider.htmlMidiFileReader.htmlMidiFileWriter.htmlSoundbankReader.htmlclass-useMidiDeviceProvider.htmlMidiFileReader.htmlMidiFileWriter.htmlSoundbankReader.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlsampledAudioFileFormat.Type.htmlAudioFileFormat.htmlAudioFormat.Encoding.htmlAudioFormat.htmlAudioInputStream.htmlAudioPermission.htmlAudioSystem.htmlBooleanControl.Type.htmlBooleanControl.htmlClip.htmlCompoundControl.Type.htmlCompoundControl.htmlControl.Type.htmlControl.htmlDataLine.Info.htmlDataLine.htmlEnumControl.Type.htmlEnumControl.htmlFloatControl.Type.htmlFloatControl.htmlLine.Info.htmlLine.htmlLineEvent.Type.htmlLineEvent.htmlLineListener.htmlLineUnavailableException.htmlMixer.Info.htmlMixer.htmlPort.Info.htmlPort.htmlReverbType.htmlSourceDataLine.htmlTargetDataLine.htmlUnsupportedAudioFileException.htmlclass-useAudioFileFormat.Type.htmlAudioFileFormat.htmlAudioFormat.Encoding.htmlAudioFormat.htmlAudioInputStream.htmlAudioPermission.htmlAudioSystem.htmlBooleanControl.Type.htmlBooleanControl.htmlClip.htmlCompoundControl.Type.htmlCompoundControl.htmlControl.Type.htmlControl.htmlDataLine.Info.htmlDataLine.htmlEnumControl.Type.htmlEnumControl.htmlFloatControl.Type.htmlFloatControl.htmlLine.Info.htmlLine.htmlLineEvent.Type.htmlLineEvent.htmlLineListener.htmlLineUnavailableException.htmlMixer.Info.htmlMixer.htmlPort.Info.htmlPort.htmlReverbType.htmlSourceDataLine.htmlTargetDataLine.htmlUnsupportedAudioFileException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiAudioFileReader.htmlAudioFileWriter.htmlFormatConversionProvider.htmlMixerProvider.htmlclass-useAudioFileReader.htmlAudioFileWriter.htmlFormatConversionProvider.htmlMixerProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlswingAbstractAction.htmlAbstractButton.AccessibleAbstractButton.htmlAbstractButton.ButtonChangeListener.htmlAbstractButton.htmlAbstractCellEditor.htmlAbstractListModel.htmlAbstractSpinnerModel.htmlAction.htmlActionMap.htmlBorderFactory.htmlBoundedRangeModel.htmlBox.AccessibleBox.htmlBox.Filler.AccessibleBoxFiller.htmlBox.Filler.htmlBox.htmlBoxLayout.htmlButtonGroup.htmlButtonModel.htmlCellEditor.htmlCellRendererPane.AccessibleCellRendererPane.htmlCellRendererPane.htmlComboBoxEditor.htmlComboBoxModel.htmlComponentInputMap.htmlDebugGraphics.htmlDefaultBoundedRangeModel.htmlDefaultButtonModel.htmlDefaultCellEditor.EditorDelegate.htmlDefaultCellEditor.htmlDefaultComboBoxModel.htmlDefaultDesktopManager.htmlDefaultFocusManager.htmlDefaultListCellRenderer.UIResource.htmlDefaultListCellRenderer.htmlDefaultListModel.htmlDefaultListSelectionModel.htmlDefaultRowSorter.ModelWrapper.htmlDefaultRowSorter.htmlDefaultSingleSelectionModel.htmlDesktopManager.htmlDropMode.htmlFocusManager.htmlGrayFilter.htmlGroupLayout.Alignment.htmlGroupLayout.Group.htmlGroupLayout.ParallelGroup.htmlGroupLayout.SequentialGroup.htmlGroupLayout.htmlIcon.htmlImageIcon.AccessibleImageIcon.htmlImageIcon.htmlInputMap.htmlInputVerifier.htmlInternalFrameFocusTraversalPolicy.htmlJApplet.AccessibleJApplet.htmlJApplet.htmlJButton.AccessibleJButton.htmlJButton.htmlJCheckBox.AccessibleJCheckBox.htmlJCheckBox.htmlJCheckBoxMenuItem.AccessibleJCheckBoxMenuItem.htmlJCheckBoxMenuItem.htmlJColorChooser.AccessibleJColorChooser.htmlJColorChooser.htmlJComboBox.AccessibleJComboBox.htmlJComboBox.KeySelectionManager.htmlJComboBox.htmlJComponent.AccessibleJComponent.AccessibleContainerHandler.htmlJComponent.AccessibleJComponent.AccessibleFocusHandler.htmlJComponent.AccessibleJComponent.htmlJComponent.htmlJDesktopPane.AccessibleJDesktopPane.htmlJDesktopPane.htmlJDialog.AccessibleJDialog.htmlJDialog.htmlJEditorPane.AccessibleJEditorPane.htmlJEditorPane.AccessibleJEditorPaneHTML.htmlJEditorPane.JEditorPaneAccessibleHypertextSupport.HTMLLink.htmlJEditorPane.JEditorPaneAccessibleHypertextSupport.htmlJEditorPane.htmlJFileChooser.AccessibleJFileChooser.htmlJFileChooser.htmlJFormattedTextField.AbstractFormatter.htmlJFormattedTextField.AbstractFormatterFactory.htmlJFormattedTextField.htmlJFrame.AccessibleJFrame.htmlJFrame.htmlJInternalFrame.AccessibleJInternalFrame.htmlJInternalFrame.JDesktopIcon.AccessibleJDesktopIcon.htmlJInternalFrame.JDesktopIcon.htmlJInternalFrame.htmlJLabel.AccessibleJLabel.htmlJLabel.htmlJLayer.htmlJLayeredPane.AccessibleJLayeredPane.htmlJLayeredPane.htmlJList.AccessibleJList.AccessibleJListChild.htmlJList.AccessibleJList.htmlJList.DropLocation.htmlJList.htmlJMenu.AccessibleJMenu.htmlJMenu.WinListener.htmlJMenu.htmlJMenuBar.AccessibleJMenuBar.htmlJMenuBar.htmlJMenuItem.AccessibleJMenuItem.htmlJMenuItem.htmlJOptionPane.AccessibleJOptionPane.htmlJOptionPane.htmlJPanel.AccessibleJPanel.htmlJPanel.htmlJPasswordField.AccessibleJPasswordField.htmlJPasswordField.htmlJPopupMenu.AccessibleJPopupMenu.htmlJPopupMenu.Separator.htmlJPopupMenu.htmlJProgressBar.AccessibleJProgressBar.htmlJProgressBar.htmlJRadioButton.AccessibleJRadioButton.htmlJRadioButton.htmlJRadioButtonMenuItem.AccessibleJRadioButtonMenuItem.htmlJRadioButtonMenuItem.htmlJRootPane.AccessibleJRootPane.htmlJRootPane.RootLayout.htmlJRootPane.htmlJScrollBar.AccessibleJScrollBar.htmlJScrollBar.htmlJScrollPane.AccessibleJScrollPane.htmlJScrollPane.ScrollBar.htmlJScrollPane.htmlJSeparator.AccessibleJSeparator.htmlJSeparator.htmlJSlider.AccessibleJSlider.htmlJSlider.htmlJSpinner.AccessibleJSpinner.htmlJSpinner.DateEditor.htmlJSpinner.DefaultEditor.htmlJSpinner.ListEditor.htmlJSpinner.NumberEditor.htmlJSpinner.htmlJSplitPane.AccessibleJSplitPane.htmlJSplitPane.htmlJTabbedPane.AccessibleJTabbedPane.htmlJTabbedPane.ModelListener.htmlJTabbedPane.htmlJTable.AccessibleJTable.AccessibleJTableCell.htmlJTable.AccessibleJTable.AccessibleJTableModelChange.htmlJTable.AccessibleJTable.htmlJTable.DropLocation.htmlJTable.PrintMode.htmlJTable.htmlJTextArea.AccessibleJTextArea.htmlJTextArea.htmlJTextField.AccessibleJTextField.htmlJTextField.htmlJTextPane.htmlJToggleButton.AccessibleJToggleButton.htmlJToggleButton.ToggleButtonModel.htmlJToggleButton.htmlJToolBar.AccessibleJToolBar.htmlJToolBar.Separator.htmlJToolBar.htmlJToolTip.AccessibleJToolTip.htmlJToolTip.htmlJTree.AccessibleJTree.AccessibleJTreeNode.htmlJTree.AccessibleJTree.htmlJTree.DropLocation.htmlJTree.DynamicUtilTreeNode.htmlJTree.EmptySelectionModel.htmlJTree.TreeModelHandler.htmlJTree.TreeSelectionRedirector.htmlJTree.htmlJViewport.AccessibleJViewport.htmlJViewport.ViewListener.htmlJViewport.htmlJWindow.AccessibleJWindow.htmlJWindow.htmlKeyStroke.htmlLayoutFocusTraversalPolicy.htmlLayoutStyle.ComponentPlacement.htmlLayoutStyle.htmlListCellRenderer.htmlListModel.htmlListSelectionModel.htmlLookAndFeel.htmlMenuElement.htmlMenuSelectionManager.htmlMutableComboBoxModel.htmlOverlayLayout.htmlPainter.htmlPopup.htmlPopupFactory.htmlProgressMonitor.AccessibleProgressMonitor.htmlProgressMonitor.htmlProgressMonitorInputStream.htmlRenderer.htmlRepaintManager.htmlRootPaneContainer.htmlRowFilter.ComparisonType.htmlRowFilter.Entry.htmlRowFilter.htmlRowSorter.SortKey.htmlRowSorter.htmlScrollPaneConstants.htmlScrollPaneLayout.UIResource.htmlScrollPaneLayout.htmlScrollable.htmlSingleSelectionModel.htmlSizeRequirements.htmlSizeSequence.htmlSortOrder.htmlSortingFocusTraversalPolicy.htmlSpinnerDateModel.htmlSpinnerListModel.htmlSpinnerModel.htmlSpinnerNumberModel.htmlSpring.htmlSpringLayout.Constraints.htmlSpringLayout.htmlSwingConstants.htmlSwingContainer.htmlSwingUtilities.htmlSwingWorker.StateValue.htmlSwingWorker.htmlTimer.htmlToolTipManager.htmlToolTipManager.insideTimerAction.htmlToolTipManager.outsideTimerAction.htmlToolTipManager.stillInsideTimerAction.htmlTransferHandler.DropLocation.htmlTransferHandler.TransferSupport.htmlTransferHandler.htmlUIClientPropertyKey.htmlUIDefaults.ActiveValue.htmlUIDefaults.LazyInputMap.htmlUIDefaults.LazyValue.htmlUIDefaults.ProxyLazyValue.htmlUIDefaults.htmlUIManager.LookAndFeelInfo.htmlUIManager.htmlUnsupportedLookAndFeelException.htmlViewportLayout.htmlWindowConstants.htmlborderAbstractBorder.htmlBevelBorder.htmlBorder.htmlCompoundBorder.htmlEmptyBorder.htmlEtchedBorder.htmlLineBorder.htmlMatteBorder.htmlSoftBevelBorder.htmlStrokeBorder.htmlTitledBorder.htmlclass-useAbstractBorder.htmlBevelBorder.htmlBorder.htmlCompoundBorder.htmlEmptyBorder.htmlEtchedBorder.htmlLineBorder.htmlMatteBorder.htmlSoftBevelBorder.htmlStrokeBorder.htmlTitledBorder.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAbstractAction.htmlAbstractButton.AccessibleAbstractButton.htmlAbstractButton.ButtonChangeListener.htmlAbstractButton.htmlAbstractCellEditor.htmlAbstractListModel.htmlAbstractSpinnerModel.htmlAction.htmlActionMap.htmlBorderFactory.htmlBoundedRangeModel.htmlBox.AccessibleBox.htmlBox.Filler.AccessibleBoxFiller.htmlBox.Filler.htmlBox.htmlBoxLayout.htmlButtonGroup.htmlButtonModel.htmlCellEditor.htmlCellRendererPane.AccessibleCellRendererPane.htmlCellRendererPane.htmlComboBoxEditor.htmlComboBoxModel.htmlComponentInputMap.htmlDebugGraphics.htmlDefaultBoundedRangeModel.htmlDefaultButtonModel.htmlDefaultCellEditor.EditorDelegate.htmlDefaultCellEditor.htmlDefaultComboBoxModel.htmlDefaultDesktopManager.htmlDefaultFocusManager.htmlDefaultListCellRenderer.UIResource.htmlDefaultListCellRenderer.htmlDefaultListModel.htmlDefaultListSelectionModel.htmlDefaultRowSorter.ModelWrapper.htmlDefaultRowSorter.htmlDefaultSingleSelectionModel.htmlDesktopManager.htmlDropMode.htmlFocusManager.htmlGrayFilter.htmlGroupLayout.Alignment.htmlGroupLayout.Group.htmlGroupLayout.ParallelGroup.htmlGroupLayout.SequentialGroup.htmlGroupLayout.htmlIcon.htmlImageIcon.AccessibleImageIcon.htmlImageIcon.htmlInputMap.htmlInputVerifier.htmlInternalFrameFocusTraversalPolicy.htmlJApplet.AccessibleJApplet.htmlJApplet.htmlJButton.AccessibleJButton.htmlJButton.htmlJCheckBox.AccessibleJCheckBox.htmlJCheckBox.htmlJCheckBoxMenuItem.AccessibleJCheckBoxMenuItem.htmlJCheckBoxMenuItem.htmlJColorChooser.AccessibleJColorChooser.htmlJColorChooser.htmlJComboBox.AccessibleJComboBox.htmlJComboBox.KeySelectionManager.htmlJComboBox.htmlJComponent.AccessibleJComponent.AccessibleContainerHandler.htmlJComponent.AccessibleJComponent.AccessibleFocusHandler.htmlJComponent.AccessibleJComponent.htmlJComponent.htmlJDesktopPane.AccessibleJDesktopPane.htmlJDesktopPane.htmlJDialog.AccessibleJDialog.htmlJDialog.htmlJEditorPane.AccessibleJEditorPane.htmlJEditorPane.AccessibleJEditorPaneHTML.htmlJEditorPane.JEditorPaneAccessibleHypertextSupport.HTMLLink.htmlJEditorPane.JEditorPaneAccessibleHypertextSupport.htmlJEditorPane.htmlJFileChooser.AccessibleJFileChooser.htmlJFileChooser.htmlJFormattedTextField.AbstractFormatter.htmlJFormattedTextField.AbstractFormatterFactory.htmlJFormattedTextField.htmlJFrame.AccessibleJFrame.htmlJFrame.htmlJInternalFrame.AccessibleJInternalFrame.htmlJInternalFrame.JDesktopIcon.AccessibleJDesktopIcon.htmlJInternalFrame.JDesktopIcon.htmlJInternalFrame.htmlJLabel.AccessibleJLabel.htmlJLabel.htmlJLayer.htmlJLayeredPane.AccessibleJLayeredPane.htmlJLayeredPane.htmlJList.AccessibleJList.AccessibleJListChild.htmlJList.AccessibleJList.htmlJList.DropLocation.htmlJList.htmlJMenu.AccessibleJMenu.htmlJMenu.WinListener.htmlJMenu.htmlJMenuBar.AccessibleJMenuBar.htmlJMenuBar.htmlJMenuItem.AccessibleJMenuItem.htmlJMenuItem.htmlJOptionPane.AccessibleJOptionPane.htmlJOptionPane.htmlJPanel.AccessibleJPanel.htmlJPanel.htmlJPasswordField.AccessibleJPasswordField.htmlJPasswordField.htmlJPopupMenu.AccessibleJPopupMenu.htmlJPopupMenu.Separator.htmlJPopupMenu.htmlJProgressBar.AccessibleJProgressBar.htmlJProgressBar.htmlJRadioButton.AccessibleJRadioButton.htmlJRadioButton.htmlJRadioButtonMenuItem.AccessibleJRadioButtonMenuItem.htmlJRadioButtonMenuItem.htmlJRootPane.AccessibleJRootPane.htmlJRootPane.RootLayout.htmlJRootPane.htmlJScrollBar.AccessibleJScrollBar.htmlJScrollBar.htmlJScrollPane.AccessibleJScrollPane.htmlJScrollPane.ScrollBar.htmlJScrollPane.htmlJSeparator.AccessibleJSeparator.htmlJSeparator.htmlJSlider.AccessibleJSlider.htmlJSlider.htmlJSpinner.AccessibleJSpinner.htmlJSpinner.DateEditor.htmlJSpinner.DefaultEditor.htmlJSpinner.ListEditor.htmlJSpinner.NumberEditor.htmlJSpinner.htmlJSplitPane.AccessibleJSplitPane.htmlJSplitPane.htmlJTabbedPane.AccessibleJTabbedPane.htmlJTabbedPane.ModelListener.htmlJTabbedPane.htmlJTable.AccessibleJTable.AccessibleJTableCell.htmlJTable.AccessibleJTable.AccessibleJTableModelChange.htmlJTable.AccessibleJTable.htmlJTable.DropLocation.htmlJTable.PrintMode.htmlJTable.htmlJTextArea.AccessibleJTextArea.htmlJTextArea.htmlJTextField.AccessibleJTextField.htmlJTextField.htmlJTextPane.htmlJToggleButton.AccessibleJToggleButton.htmlJToggleButton.ToggleButtonModel.htmlJToggleButton.htmlJToolBar.AccessibleJToolBar.htmlJToolBar.Separator.htmlJToolBar.htmlJToolTip.AccessibleJToolTip.htmlJToolTip.htmlJTree.AccessibleJTree.AccessibleJTreeNode.htmlJTree.AccessibleJTree.htmlJTree.DropLocation.htmlJTree.DynamicUtilTreeNode.htmlJTree.EmptySelectionModel.htmlJTree.TreeModelHandler.htmlJTree.TreeSelectionRedirector.htmlJTree.htmlJViewport.AccessibleJViewport.htmlJViewport.ViewListener.htmlJViewport.htmlJWindow.AccessibleJWindow.htmlJWindow.htmlKeyStroke.htmlLayoutFocusTraversalPolicy.htmlLayoutStyle.ComponentPlacement.htmlLayoutStyle.htmlListCellRenderer.htmlListModel.htmlListSelectionModel.htmlLookAndFeel.htmlMenuElement.htmlMenuSelectionManager.htmlMutableComboBoxModel.htmlOverlayLayout.htmlPainter.htmlPopup.htmlPopupFactory.htmlProgressMonitor.AccessibleProgressMonitor.htmlProgressMonitor.htmlProgressMonitorInputStream.htmlRenderer.htmlRepaintManager.htmlRootPaneContainer.htmlRowFilter.ComparisonType.htmlRowFilter.Entry.htmlRowFilter.htmlRowSorter.SortKey.htmlRowSorter.htmlScrollPaneConstants.htmlScrollPaneLayout.UIResource.htmlScrollPaneLayout.htmlScrollable.htmlSingleSelectionModel.htmlSizeRequirements.htmlSizeSequence.htmlSortOrder.htmlSortingFocusTraversalPolicy.htmlSpinnerDateModel.htmlSpinnerListModel.htmlSpinnerModel.htmlSpinnerNumberModel.htmlSpring.htmlSpringLayout.Constraints.htmlSpringLayout.htmlSwingConstants.htmlSwingContainer.htmlSwingUtilities.htmlSwingWorker.StateValue.htmlSwingWorker.htmlTimer.htmlToolTipManager.htmlToolTipManager.insideTimerAction.htmlToolTipManager.outsideTimerAction.htmlToolTipManager.stillInsideTimerAction.htmlTransferHandler.DropLocation.htmlTransferHandler.TransferSupport.htmlTransferHandler.htmlUIClientPropertyKey.htmlUIDefaults.ActiveValue.htmlUIDefaults.LazyInputMap.htmlUIDefaults.LazyValue.htmlUIDefaults.ProxyLazyValue.htmlUIDefaults.htmlUIManager.LookAndFeelInfo.htmlUIManager.htmlUnsupportedLookAndFeelException.htmlViewportLayout.htmlWindowConstants.htmlcolorchooserAbstractColorChooserPanel.htmlColorChooserComponentFactory.htmlColorSelectionModel.htmlDefaultColorSelectionModel.htmlclass-useAbstractColorChooserPanel.htmlColorChooserComponentFactory.htmlColorSelectionModel.htmlDefaultColorSelectionModel.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmldoc-filesBoxLayout-1.gifJLayeredPane-1.gifJRootPane-1.gifJRootPane-2.gifJScrollPane-1.gifSizeSequence-1.gifgroupLayout.1.gifgroupLayout.2.gifgroupLayout.3.gifgroupLayout.example.pnggroupLayout.sequential.gifgroupLayout.sequential.horizontal.gifgroupLayout.sequential.vertical.gifeventAncestorEvent.htmlAncestorListener.htmlCaretEvent.htmlCaretListener.htmlCellEditorListener.htmlChangeEvent.htmlChangeListener.htmlDocumentEvent.ElementChange.htmlDocumentEvent.EventType.htmlDocumentEvent.htmlDocumentListener.htmlEventListenerList.htmlHyperlinkEvent.EventType.htmlHyperlinkEvent.htmlHyperlinkListener.htmlInternalFrameAdapter.htmlInternalFrameEvent.htmlInternalFrameListener.htmlListDataEvent.htmlListDataListener.htmlListSelectionEvent.htmlListSelectionListener.htmlMenuDragMouseEvent.htmlMenuDragMouseListener.htmlMenuEvent.htmlMenuKeyEvent.htmlMenuKeyListener.htmlMenuListener.htmlMouseInputAdapter.htmlMouseInputListener.htmlPopupMenuEvent.htmlPopupMenuListener.htmlRowSorterEvent.Type.htmlRowSorterEvent.htmlRowSorterListener.htmlSwingPropertyChangeSupport.htmlTableColumnModelEvent.htmlTableColumnModelListener.htmlTableModelEvent.htmlTableModelListener.htmlTreeExpansionEvent.htmlTreeExpansionListener.htmlTreeModelEvent.htmlTreeModelListener.htmlTreeSelectionEvent.htmlTreeSelectionListener.htmlTreeWillExpandListener.htmlUndoableEditEvent.htmlUndoableEditListener.htmlclass-useAncestorEvent.htmlAncestorListener.htmlCaretEvent.htmlCaretListener.htmlCellEditorListener.htmlChangeEvent.htmlChangeListener.htmlDocumentEvent.ElementChange.htmlDocumentEvent.EventType.htmlDocumentEvent.htmlDocumentListener.htmlEventListenerList.htmlHyperlinkEvent.EventType.htmlHyperlinkEvent.htmlHyperlinkListener.htmlInternalFrameAdapter.htmlInternalFrameEvent.htmlInternalFrameListener.htmlListDataEvent.htmlListDataListener.htmlListSelectionEvent.htmlListSelectionListener.htmlMenuDragMouseEvent.htmlMenuDragMouseListener.htmlMenuEvent.htmlMenuKeyEvent.htmlMenuKeyListener.htmlMenuListener.htmlMouseInputAdapter.htmlMouseInputListener.htmlPopupMenuEvent.htmlPopupMenuListener.htmlRowSorterEvent.Type.htmlRowSorterEvent.htmlRowSorterListener.htmlSwingPropertyChangeSupport.htmlTableColumnModelEvent.htmlTableColumnModelListener.htmlTableModelEvent.htmlTableModelListener.htmlTreeExpansionEvent.htmlTreeExpansionListener.htmlTreeModelEvent.htmlTreeModelListener.htmlTreeSelectionEvent.htmlTreeSelectionListener.htmlTreeWillExpandListener.htmlUndoableEditEvent.htmlUndoableEditListener.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlfilechooserFileFilter.htmlFileNameExtensionFilter.htmlFileSystemView.htmlFileView.htmlclass-useFileFilter.htmlFileNameExtensionFilter.htmlFileSystemView.htmlFileView.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlplafActionMapUIResource.htmlBorderUIResource.BevelBorderUIResource.htmlBorderUIResource.CompoundBorderUIResource.htmlBorderUIResource.EmptyBorderUIResource.htmlBorderUIResource.EtchedBorderUIResource.htmlBorderUIResource.LineBorderUIResource.htmlBorderUIResource.MatteBorderUIResource.htmlBorderUIResource.TitledBorderUIResource.htmlBorderUIResource.htmlButtonUI.htmlColorChooserUI.htmlColorUIResource.htmlComboBoxUI.htmlComponentInputMapUIResource.htmlComponentUI.htmlDesktopIconUI.htmlDesktopPaneUI.htmlDimensionUIResource.htmlFileChooserUI.htmlFontUIResource.htmlIconUIResource.htmlInputMapUIResource.htmlInsetsUIResource.htmlInternalFrameUI.htmlLabelUI.htmlLayerUI.htmlListUI.htmlMenuBarUI.htmlMenuItemUI.htmlOptionPaneUI.htmlPanelUI.htmlPopupMenuUI.htmlProgressBarUI.htmlRootPaneUI.htmlScrollBarUI.htmlScrollPaneUI.htmlSeparatorUI.htmlSliderUI.htmlSpinnerUI.htmlSplitPaneUI.htmlTabbedPaneUI.htmlTableHeaderUI.htmlTableUI.htmlTextUI.htmlToolBarUI.htmlToolTipUI.htmlTreeUI.htmlUIResource.htmlViewportUI.htmlbasicBasicArrowButton.htmlBasicBorders.ButtonBorder.htmlBasicBorders.FieldBorder.htmlBasicBorders.MarginBorder.htmlBasicBorders.MenuBarBorder.htmlBasicBorders.RadioButtonBorder.htmlBasicBorders.RolloverButtonBorder.htmlBasicBorders.SplitPaneBorder.htmlBasicBorders.ToggleButtonBorder.htmlBasicBorders.htmlBasicButtonListener.htmlBasicButtonUI.htmlBasicCheckBoxMenuItemUI.htmlBasicCheckBoxUI.htmlBasicColorChooserUI.PropertyHandler.htmlBasicColorChooserUI.htmlBasicComboBoxEditor.UIResource.htmlBasicComboBoxEditor.htmlBasicComboBoxRenderer.UIResource.htmlBasicComboBoxRenderer.htmlBasicComboBoxUI.ComboBoxLayoutManager.htmlBasicComboBoxUI.FocusHandler.htmlBasicComboBoxUI.ItemHandler.htmlBasicComboBoxUI.KeyHandler.htmlBasicComboBoxUI.ListDataHandler.htmlBasicComboBoxUI.PropertyChangeHandler.htmlBasicComboBoxUI.htmlBasicComboPopup.InvocationKeyHandler.htmlBasicComboPopup.InvocationMouseHandler.htmlBasicComboPopup.InvocationMouseMotionHandler.htmlBasicComboPopup.ItemHandler.htmlBasicComboPopup.ListDataHandler.htmlBasicComboPopup.ListMouseHandler.htmlBasicComboPopup.ListMouseMotionHandler.htmlBasicComboPopup.ListSelectionHandler.htmlBasicComboPopup.PropertyChangeHandler.htmlBasicComboPopup.htmlBasicDesktopIconUI.MouseInputHandler.htmlBasicDesktopIconUI.htmlBasicDesktopPaneUI.CloseAction.htmlBasicDesktopPaneUI.MaximizeAction.htmlBasicDesktopPaneUI.MinimizeAction.htmlBasicDesktopPaneUI.NavigateAction.htmlBasicDesktopPaneUI.OpenAction.htmlBasicDesktopPaneUI.htmlBasicDirectoryModel.htmlBasicEditorPaneUI.htmlBasicFileChooserUI.AcceptAllFileFilter.htmlBasicFileChooserUI.ApproveSelectionAction.htmlBasicFileChooserUI.BasicFileView.htmlBasicFileChooserUI.CancelSelectionAction.htmlBasicFileChooserUI.ChangeToParentDirectoryAction.htmlBasicFileChooserUI.DoubleClickListener.htmlBasicFileChooserUI.GoHomeAction.htmlBasicFileChooserUI.NewFolderAction.htmlBasicFileChooserUI.SelectionListener.htmlBasicFileChooserUI.UpdateAction.htmlBasicFileChooserUI.htmlBasicFormattedTextFieldUI.htmlBasicGraphicsUtils.htmlBasicHTML.htmlBasicIconFactory.htmlBasicInternalFrameTitlePane.CloseAction.htmlBasicInternalFrameTitlePane.IconifyAction.htmlBasicInternalFrameTitlePane.MaximizeAction.htmlBasicInternalFrameTitlePane.MoveAction.htmlBasicInternalFrameTitlePane.PropertyChangeHandler.htmlBasicInternalFrameTitlePane.RestoreAction.htmlBasicInternalFrameTitlePane.SizeAction.htmlBasicInternalFrameTitlePane.SystemMenuBar.htmlBasicInternalFrameTitlePane.TitlePaneLayout.htmlBasicInternalFrameTitlePane.htmlBasicInternalFrameUI.BasicInternalFrameListener.htmlBasicInternalFrameUI.BorderListener.htmlBasicInternalFrameUI.ComponentHandler.htmlBasicInternalFrameUI.GlassPaneDispatcher.htmlBasicInternalFrameUI.InternalFrameLayout.htmlBasicInternalFrameUI.InternalFramePropertyChangeListener.htmlBasicInternalFrameUI.htmlBasicLabelUI.htmlBasicListUI.FocusHandler.htmlBasicListUI.ListDataHandler.htmlBasicListUI.ListSelectionHandler.htmlBasicListUI.MouseInputHandler.htmlBasicListUI.PropertyChangeHandler.htmlBasicListUI.htmlBasicLookAndFeel.htmlBasicMenuBarUI.htmlBasicMenuItemUI.MouseInputHandler.htmlBasicMenuItemUI.htmlBasicMenuUI.ChangeHandler.htmlBasicMenuUI.MouseInputHandler.htmlBasicMenuUI.htmlBasicOptionPaneUI.ButtonActionListener.htmlBasicOptionPaneUI.ButtonAreaLayout.htmlBasicOptionPaneUI.PropertyChangeHandler.htmlBasicOptionPaneUI.htmlBasicPanelUI.htmlBasicPasswordFieldUI.htmlBasicPopupMenuSeparatorUI.htmlBasicPopupMenuUI.htmlBasicProgressBarUI.ChangeHandler.htmlBasicProgressBarUI.htmlBasicRadioButtonMenuItemUI.htmlBasicRadioButtonUI.htmlBasicRootPaneUI.htmlBasicScrollBarUI.ArrowButtonListener.htmlBasicScrollBarUI.ModelListener.htmlBasicScrollBarUI.PropertyChangeHandler.htmlBasicScrollBarUI.ScrollListener.htmlBasicScrollBarUI.TrackListener.htmlBasicScrollBarUI.htmlBasicScrollPaneUI.HSBChangeListener.htmlBasicScrollPaneUI.MouseWheelHandler.htmlBasicScrollPaneUI.PropertyChangeHandler.htmlBasicScrollPaneUI.VSBChangeListener.htmlBasicScrollPaneUI.ViewportChangeHandler.htmlBasicScrollPaneUI.htmlBasicSeparatorUI.htmlBasicSliderUI.ActionScroller.htmlBasicSliderUI.ChangeHandler.htmlBasicSliderUI.ComponentHandler.htmlBasicSliderUI.FocusHandler.htmlBasicSliderUI.PropertyChangeHandler.htmlBasicSliderUI.ScrollListener.htmlBasicSliderUI.TrackListener.htmlBasicSliderUI.htmlBasicSpinnerUI.htmlBasicSplitPaneDivider.DividerLayout.htmlBasicSplitPaneDivider.DragController.htmlBasicSplitPaneDivider.MouseHandler.htmlBasicSplitPaneDivider.VerticalDragController.htmlBasicSplitPaneDivider.htmlBasicSplitPaneUI.BasicHorizontalLayoutManager.htmlBasicSplitPaneUI.BasicVerticalLayoutManager.htmlBasicSplitPaneUI.FocusHandler.htmlBasicSplitPaneUI.KeyboardDownRightHandler.htmlBasicSplitPaneUI.KeyboardEndHandler.htmlBasicSplitPaneUI.KeyboardHomeHandler.htmlBasicSplitPaneUI.KeyboardResizeToggleHandler.htmlBasicSplitPaneUI.KeyboardUpLeftHandler.htmlBasicSplitPaneUI.PropertyHandler.htmlBasicSplitPaneUI.htmlBasicTabbedPaneUI.FocusHandler.htmlBasicTabbedPaneUI.MouseHandler.htmlBasicTabbedPaneUI.PropertyChangeHandler.htmlBasicTabbedPaneUI.TabSelectionHandler.htmlBasicTabbedPaneUI.TabbedPaneLayout.htmlBasicTabbedPaneUI.htmlBasicTableHeaderUI.MouseInputHandler.htmlBasicTableHeaderUI.htmlBasicTableUI.FocusHandler.htmlBasicTableUI.KeyHandler.htmlBasicTableUI.MouseInputHandler.htmlBasicTableUI.htmlBasicTextAreaUI.htmlBasicTextFieldUI.htmlBasicTextPaneUI.htmlBasicTextUI.BasicCaret.htmlBasicTextUI.BasicHighlighter.htmlBasicTextUI.htmlBasicToggleButtonUI.htmlBasicToolBarSeparatorUI.htmlBasicToolBarUI.DockingListener.htmlBasicToolBarUI.DragWindow.htmlBasicToolBarUI.FrameListener.htmlBasicToolBarUI.PropertyListener.htmlBasicToolBarUI.ToolBarContListener.htmlBasicToolBarUI.ToolBarFocusListener.htmlBasicToolBarUI.htmlBasicToolTipUI.htmlBasicTreeUI.CellEditorHandler.htmlBasicTreeUI.ComponentHandler.htmlBasicTreeUI.FocusHandler.htmlBasicTreeUI.KeyHandler.htmlBasicTreeUI.MouseHandler.htmlBasicTreeUI.MouseInputHandler.htmlBasicTreeUI.NodeDimensionsHandler.htmlBasicTreeUI.PropertyChangeHandler.htmlBasicTreeUI.SelectionModelPropertyChangeHandler.htmlBasicTreeUI.TreeCancelEditingAction.htmlBasicTreeUI.TreeExpansionHandler.htmlBasicTreeUI.TreeHomeAction.htmlBasicTreeUI.TreeIncrementAction.htmlBasicTreeUI.TreeModelHandler.htmlBasicTreeUI.TreePageAction.htmlBasicTreeUI.TreeSelectionHandler.htmlBasicTreeUI.TreeToggleAction.htmlBasicTreeUI.TreeTraverseAction.htmlBasicTreeUI.htmlBasicViewportUI.htmlComboPopup.htmlDefaultMenuLayout.htmlclass-useBasicArrowButton.htmlBasicBorders.ButtonBorder.htmlBasicBorders.FieldBorder.htmlBasicBorders.MarginBorder.htmlBasicBorders.MenuBarBorder.htmlBasicBorders.RadioButtonBorder.htmlBasicBorders.RolloverButtonBorder.htmlBasicBorders.SplitPaneBorder.htmlBasicBorders.ToggleButtonBorder.htmlBasicBorders.htmlBasicButtonListener.htmlBasicButtonUI.htmlBasicCheckBoxMenuItemUI.htmlBasicCheckBoxUI.htmlBasicColorChooserUI.PropertyHandler.htmlBasicColorChooserUI.htmlBasicComboBoxEditor.UIResource.htmlBasicComboBoxEditor.htmlBasicComboBoxRenderer.UIResource.htmlBasicComboBoxRenderer.htmlBasicComboBoxUI.ComboBoxLayoutManager.htmlBasicComboBoxUI.FocusHandler.htmlBasicComboBoxUI.ItemHandler.htmlBasicComboBoxUI.KeyHandler.htmlBasicComboBoxUI.ListDataHandler.htmlBasicComboBoxUI.PropertyChangeHandler.htmlBasicComboBoxUI.htmlBasicComboPopup.InvocationKeyHandler.htmlBasicComboPopup.InvocationMouseHandler.htmlBasicComboPopup.InvocationMouseMotionHandler.htmlBasicComboPopup.ItemHandler.htmlBasicComboPopup.ListDataHandler.htmlBasicComboPopup.ListMouseHandler.htmlBasicComboPopup.ListMouseMotionHandler.htmlBasicComboPopup.ListSelectionHandler.htmlBasicComboPopup.PropertyChangeHandler.htmlBasicComboPopup.htmlBasicDesktopIconUI.MouseInputHandler.htmlBasicDesktopIconUI.htmlBasicDesktopPaneUI.CloseAction.htmlBasicDesktopPaneUI.MaximizeAction.htmlBasicDesktopPaneUI.MinimizeAction.htmlBasicDesktopPaneUI.NavigateAction.htmlBasicDesktopPaneUI.OpenAction.htmlBasicDesktopPaneUI.htmlBasicDirectoryModel.htmlBasicEditorPaneUI.htmlBasicFileChooserUI.AcceptAllFileFilter.htmlBasicFileChooserUI.ApproveSelectionAction.htmlBasicFileChooserUI.BasicFileView.htmlBasicFileChooserUI.CancelSelectionAction.htmlBasicFileChooserUI.ChangeToParentDirectoryAction.htmlBasicFileChooserUI.DoubleClickListener.htmlBasicFileChooserUI.GoHomeAction.htmlBasicFileChooserUI.NewFolderAction.htmlBasicFileChooserUI.SelectionListener.htmlBasicFileChooserUI.UpdateAction.htmlBasicFileChooserUI.htmlBasicFormattedTextFieldUI.htmlBasicGraphicsUtils.htmlBasicHTML.htmlBasicIconFactory.htmlBasicInternalFrameTitlePane.CloseAction.htmlBasicInternalFrameTitlePane.IconifyAction.htmlBasicInternalFrameTitlePane.MaximizeAction.htmlBasicInternalFrameTitlePane.MoveAction.htmlBasicInternalFrameTitlePane.PropertyChangeHandler.htmlBasicInternalFrameTitlePane.RestoreAction.htmlBasicInternalFrameTitlePane.SizeAction.htmlBasicInternalFrameTitlePane.SystemMenuBar.htmlBasicInternalFrameTitlePane.TitlePaneLayout.htmlBasicInternalFrameTitlePane.htmlBasicInternalFrameUI.BasicInternalFrameListener.htmlBasicInternalFrameUI.BorderListener.htmlBasicInternalFrameUI.ComponentHandler.htmlBasicInternalFrameUI.GlassPaneDispatcher.htmlBasicInternalFrameUI.InternalFrameLayout.htmlBasicInternalFrameUI.InternalFramePropertyChangeListener.htmlBasicInternalFrameUI.htmlBasicLabelUI.htmlBasicListUI.FocusHandler.htmlBasicListUI.ListDataHandler.htmlBasicListUI.ListSelectionHandler.htmlBasicListUI.MouseInputHandler.htmlBasicListUI.PropertyChangeHandler.htmlBasicListUI.htmlBasicLookAndFeel.htmlBasicMenuBarUI.htmlBasicMenuItemUI.MouseInputHandler.htmlBasicMenuItemUI.htmlBasicMenuUI.ChangeHandler.htmlBasicMenuUI.MouseInputHandler.htmlBasicMenuUI.htmlBasicOptionPaneUI.ButtonActionListener.htmlBasicOptionPaneUI.ButtonAreaLayout.htmlBasicOptionPaneUI.PropertyChangeHandler.htmlBasicOptionPaneUI.htmlBasicPanelUI.htmlBasicPasswordFieldUI.htmlBasicPopupMenuSeparatorUI.htmlBasicPopupMenuUI.htmlBasicProgressBarUI.ChangeHandler.htmlBasicProgressBarUI.htmlBasicRadioButtonMenuItemUI.htmlBasicRadioButtonUI.htmlBasicRootPaneUI.htmlBasicScrollBarUI.ArrowButtonListener.htmlBasicScrollBarUI.ModelListener.htmlBasicScrollBarUI.PropertyChangeHandler.htmlBasicScrollBarUI.ScrollListener.htmlBasicScrollBarUI.TrackListener.htmlBasicScrollBarUI.htmlBasicScrollPaneUI.HSBChangeListener.htmlBasicScrollPaneUI.MouseWheelHandler.htmlBasicScrollPaneUI.PropertyChangeHandler.htmlBasicScrollPaneUI.VSBChangeListener.htmlBasicScrollPaneUI.ViewportChangeHandler.htmlBasicScrollPaneUI.htmlBasicSeparatorUI.htmlBasicSliderUI.ActionScroller.htmlBasicSliderUI.ChangeHandler.htmlBasicSliderUI.ComponentHandler.htmlBasicSliderUI.FocusHandler.htmlBasicSliderUI.PropertyChangeHandler.htmlBasicSliderUI.ScrollListener.htmlBasicSliderUI.TrackListener.htmlBasicSliderUI.htmlBasicSpinnerUI.htmlBasicSplitPaneDivider.DividerLayout.htmlBasicSplitPaneDivider.DragController.htmlBasicSplitPaneDivider.MouseHandler.htmlBasicSplitPaneDivider.VerticalDragController.htmlBasicSplitPaneDivider.htmlBasicSplitPaneUI.BasicHorizontalLayoutManager.htmlBasicSplitPaneUI.BasicVerticalLayoutManager.htmlBasicSplitPaneUI.FocusHandler.htmlBasicSplitPaneUI.KeyboardDownRightHandler.htmlBasicSplitPaneUI.KeyboardEndHandler.htmlBasicSplitPaneUI.KeyboardHomeHandler.htmlBasicSplitPaneUI.KeyboardResizeToggleHandler.htmlBasicSplitPaneUI.KeyboardUpLeftHandler.htmlBasicSplitPaneUI.PropertyHandler.htmlBasicSplitPaneUI.htmlBasicTabbedPaneUI.FocusHandler.htmlBasicTabbedPaneUI.MouseHandler.htmlBasicTabbedPaneUI.PropertyChangeHandler.htmlBasicTabbedPaneUI.TabSelectionHandler.htmlBasicTabbedPaneUI.TabbedPaneLayout.htmlBasicTabbedPaneUI.htmlBasicTableHeaderUI.MouseInputHandler.htmlBasicTableHeaderUI.htmlBasicTableUI.FocusHandler.htmlBasicTableUI.KeyHandler.htmlBasicTableUI.MouseInputHandler.htmlBasicTableUI.htmlBasicTextAreaUI.htmlBasicTextFieldUI.htmlBasicTextPaneUI.htmlBasicTextUI.BasicCaret.htmlBasicTextUI.BasicHighlighter.htmlBasicTextUI.htmlBasicToggleButtonUI.htmlBasicToolBarSeparatorUI.htmlBasicToolBarUI.DockingListener.htmlBasicToolBarUI.DragWindow.htmlBasicToolBarUI.FrameListener.htmlBasicToolBarUI.PropertyListener.htmlBasicToolBarUI.ToolBarContListener.htmlBasicToolBarUI.ToolBarFocusListener.htmlBasicToolBarUI.htmlBasicToolTipUI.htmlBasicTreeUI.CellEditorHandler.htmlBasicTreeUI.ComponentHandler.htmlBasicTreeUI.FocusHandler.htmlBasicTreeUI.KeyHandler.htmlBasicTreeUI.MouseHandler.htmlBasicTreeUI.MouseInputHandler.htmlBasicTreeUI.NodeDimensionsHandler.htmlBasicTreeUI.PropertyChangeHandler.htmlBasicTreeUI.SelectionModelPropertyChangeHandler.htmlBasicTreeUI.TreeCancelEditingAction.htmlBasicTreeUI.TreeExpansionHandler.htmlBasicTreeUI.TreeHomeAction.htmlBasicTreeUI.TreeIncrementAction.htmlBasicTreeUI.TreeModelHandler.htmlBasicTreeUI.TreePageAction.htmlBasicTreeUI.TreeSelectionHandler.htmlBasicTreeUI.TreeToggleAction.htmlBasicTreeUI.TreeTraverseAction.htmlBasicTreeUI.htmlBasicViewportUI.htmlComboPopup.htmlDefaultMenuLayout.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useActionMapUIResource.htmlBorderUIResource.BevelBorderUIResource.htmlBorderUIResource.CompoundBorderUIResource.htmlBorderUIResource.EmptyBorderUIResource.htmlBorderUIResource.EtchedBorderUIResource.htmlBorderUIResource.LineBorderUIResource.htmlBorderUIResource.MatteBorderUIResource.htmlBorderUIResource.TitledBorderUIResource.htmlBorderUIResource.htmlButtonUI.htmlColorChooserUI.htmlColorUIResource.htmlComboBoxUI.htmlComponentInputMapUIResource.htmlComponentUI.htmlDesktopIconUI.htmlDesktopPaneUI.htmlDimensionUIResource.htmlFileChooserUI.htmlFontUIResource.htmlIconUIResource.htmlInputMapUIResource.htmlInsetsUIResource.htmlInternalFrameUI.htmlLabelUI.htmlLayerUI.htmlListUI.htmlMenuBarUI.htmlMenuItemUI.htmlOptionPaneUI.htmlPanelUI.htmlPopupMenuUI.htmlProgressBarUI.htmlRootPaneUI.htmlScrollBarUI.htmlScrollPaneUI.htmlSeparatorUI.htmlSliderUI.htmlSpinnerUI.htmlSplitPaneUI.htmlTabbedPaneUI.htmlTableHeaderUI.htmlTableUI.htmlTextUI.htmlToolBarUI.htmlToolTipUI.htmlTreeUI.htmlUIResource.htmlViewportUI.htmlmetalDefaultMetalTheme.htmlMetalBorders.ButtonBorder.htmlMetalBorders.Flush3DBorder.htmlMetalBorders.InternalFrameBorder.htmlMetalBorders.MenuBarBorder.htmlMetalBorders.MenuItemBorder.htmlMetalBorders.OptionDialogBorder.htmlMetalBorders.PaletteBorder.htmlMetalBorders.PopupMenuBorder.htmlMetalBorders.RolloverButtonBorder.htmlMetalBorders.ScrollPaneBorder.htmlMetalBorders.TableHeaderBorder.htmlMetalBorders.TextFieldBorder.htmlMetalBorders.ToggleButtonBorder.htmlMetalBorders.ToolBarBorder.htmlMetalBorders.htmlMetalButtonUI.htmlMetalCheckBoxIcon.htmlMetalCheckBoxUI.htmlMetalComboBoxButton.htmlMetalComboBoxEditor.UIResource.htmlMetalComboBoxEditor.htmlMetalComboBoxIcon.htmlMetalComboBoxUI.MetalComboBoxLayoutManager.htmlMetalComboBoxUI.MetalComboPopup.htmlMetalComboBoxUI.MetalPropertyChangeListener.htmlMetalComboBoxUI.htmlMetalDesktopIconUI.htmlMetalFileChooserUI.DirectoryComboBoxAction.htmlMetalFileChooserUI.DirectoryComboBoxModel.htmlMetalFileChooserUI.FileRenderer.htmlMetalFileChooserUI.FilterComboBoxModel.htmlMetalFileChooserUI.FilterComboBoxRenderer.htmlMetalFileChooserUI.SingleClickListener.htmlMetalFileChooserUI.htmlMetalIconFactory.FileIcon16.htmlMetalIconFactory.FolderIcon16.htmlMetalIconFactory.PaletteCloseIcon.htmlMetalIconFactory.TreeControlIcon.htmlMetalIconFactory.TreeFolderIcon.htmlMetalIconFactory.TreeLeafIcon.htmlMetalIconFactory.htmlMetalInternalFrameTitlePane.htmlMetalInternalFrameUI.htmlMetalLabelUI.htmlMetalLookAndFeel.htmlMetalMenuBarUI.htmlMetalPopupMenuSeparatorUI.htmlMetalProgressBarUI.htmlMetalRadioButtonUI.htmlMetalRootPaneUI.htmlMetalScrollBarUI.htmlMetalScrollButton.htmlMetalScrollPaneUI.htmlMetalSeparatorUI.htmlMetalSliderUI.MetalPropertyListener.htmlMetalSliderUI.htmlMetalSplitPaneUI.htmlMetalTabbedPaneUI.TabbedPaneLayout.htmlMetalTabbedPaneUI.htmlMetalTextFieldUI.htmlMetalTheme.htmlMetalToggleButtonUI.htmlMetalToolBarUI.MetalContainerListener.htmlMetalToolBarUI.MetalDockingListener.htmlMetalToolBarUI.MetalRolloverListener.htmlMetalToolBarUI.htmlMetalToolTipUI.htmlMetalTreeUI.htmlOceanTheme.htmlclass-useDefaultMetalTheme.htmlMetalBorders.ButtonBorder.htmlMetalBorders.Flush3DBorder.htmlMetalBorders.InternalFrameBorder.htmlMetalBorders.MenuBarBorder.htmlMetalBorders.MenuItemBorder.htmlMetalBorders.OptionDialogBorder.htmlMetalBorders.PaletteBorder.htmlMetalBorders.PopupMenuBorder.htmlMetalBorders.RolloverButtonBorder.htmlMetalBorders.ScrollPaneBorder.htmlMetalBorders.TableHeaderBorder.htmlMetalBorders.TextFieldBorder.htmlMetalBorders.ToggleButtonBorder.htmlMetalBorders.ToolBarBorder.htmlMetalBorders.htmlMetalButtonUI.htmlMetalCheckBoxIcon.htmlMetalCheckBoxUI.htmlMetalComboBoxButton.htmlMetalComboBoxEditor.UIResource.htmlMetalComboBoxEditor.htmlMetalComboBoxIcon.htmlMetalComboBoxUI.MetalComboBoxLayoutManager.htmlMetalComboBoxUI.MetalComboPopup.htmlMetalComboBoxUI.MetalPropertyChangeListener.htmlMetalComboBoxUI.htmlMetalDesktopIconUI.htmlMetalFileChooserUI.DirectoryComboBoxAction.htmlMetalFileChooserUI.DirectoryComboBoxModel.htmlMetalFileChooserUI.FileRenderer.htmlMetalFileChooserUI.FilterComboBoxModel.htmlMetalFileChooserUI.FilterComboBoxRenderer.htmlMetalFileChooserUI.SingleClickListener.htmlMetalFileChooserUI.htmlMetalIconFactory.FileIcon16.htmlMetalIconFactory.FolderIcon16.htmlMetalIconFactory.PaletteCloseIcon.htmlMetalIconFactory.TreeControlIcon.htmlMetalIconFactory.TreeFolderIcon.htmlMetalIconFactory.TreeLeafIcon.htmlMetalIconFactory.htmlMetalInternalFrameTitlePane.htmlMetalInternalFrameUI.htmlMetalLabelUI.htmlMetalLookAndFeel.htmlMetalMenuBarUI.htmlMetalPopupMenuSeparatorUI.htmlMetalProgressBarUI.htmlMetalRadioButtonUI.htmlMetalRootPaneUI.htmlMetalScrollBarUI.htmlMetalScrollButton.htmlMetalScrollPaneUI.htmlMetalSeparatorUI.htmlMetalSliderUI.MetalPropertyListener.htmlMetalSliderUI.htmlMetalSplitPaneUI.htmlMetalTabbedPaneUI.TabbedPaneLayout.htmlMetalTabbedPaneUI.htmlMetalTextFieldUI.htmlMetalTheme.htmlMetalToggleButtonUI.htmlMetalToolBarUI.MetalContainerListener.htmlMetalToolBarUI.MetalDockingListener.htmlMetalToolBarUI.MetalRolloverListener.htmlMetalToolBarUI.htmlMetalToolTipUI.htmlMetalTreeUI.htmlOceanTheme.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmultiMultiButtonUI.htmlMultiColorChooserUI.htmlMultiComboBoxUI.htmlMultiDesktopIconUI.htmlMultiDesktopPaneUI.htmlMultiFileChooserUI.htmlMultiInternalFrameUI.htmlMultiLabelUI.htmlMultiListUI.htmlMultiLookAndFeel.htmlMultiMenuBarUI.htmlMultiMenuItemUI.htmlMultiOptionPaneUI.htmlMultiPanelUI.htmlMultiPopupMenuUI.htmlMultiProgressBarUI.htmlMultiRootPaneUI.htmlMultiScrollBarUI.htmlMultiScrollPaneUI.htmlMultiSeparatorUI.htmlMultiSliderUI.htmlMultiSpinnerUI.htmlMultiSplitPaneUI.htmlMultiTabbedPaneUI.htmlMultiTableHeaderUI.htmlMultiTableUI.htmlMultiTextUI.htmlMultiToolBarUI.htmlMultiToolTipUI.htmlMultiTreeUI.htmlMultiViewportUI.htmlclass-useMultiButtonUI.htmlMultiColorChooserUI.htmlMultiComboBoxUI.htmlMultiDesktopIconUI.htmlMultiDesktopPaneUI.htmlMultiFileChooserUI.htmlMultiInternalFrameUI.htmlMultiLabelUI.htmlMultiListUI.htmlMultiLookAndFeel.htmlMultiMenuBarUI.htmlMultiMenuItemUI.htmlMultiOptionPaneUI.htmlMultiPanelUI.htmlMultiPopupMenuUI.htmlMultiProgressBarUI.htmlMultiRootPaneUI.htmlMultiScrollBarUI.htmlMultiScrollPaneUI.htmlMultiSeparatorUI.htmlMultiSliderUI.htmlMultiSpinnerUI.htmlMultiSplitPaneUI.htmlMultiTabbedPaneUI.htmlMultiTableHeaderUI.htmlMultiTableUI.htmlMultiTextUI.htmlMultiToolBarUI.htmlMultiToolTipUI.htmlMultiTreeUI.htmlMultiViewportUI.htmldoc-filesmulti_tsc.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlnimbusAbstractRegionPainter.PaintContext.CacheMode.htmlAbstractRegionPainter.PaintContext.htmlAbstractRegionPainter.htmlNimbusLookAndFeel.htmlNimbusStyle.htmlState.htmlclass-useAbstractRegionPainter.PaintContext.CacheMode.htmlAbstractRegionPainter.PaintContext.htmlAbstractRegionPainter.htmlNimbusLookAndFeel.htmlNimbusStyle.htmlState.htmldoc-filesproperties.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlsynthColorType.htmlRegion.htmlSynthButtonUI.htmlSynthCheckBoxMenuItemUI.htmlSynthCheckBoxUI.htmlSynthColorChooserUI.htmlSynthComboBoxUI.htmlSynthConstants.htmlSynthContext.htmlSynthDesktopIconUI.htmlSynthDesktopPaneUI.htmlSynthEditorPaneUI.htmlSynthFormattedTextFieldUI.htmlSynthGraphicsUtils.htmlSynthIcon.htmlSynthInternalFrameUI.htmlSynthLabelUI.htmlSynthListUI.htmlSynthLookAndFeel.htmlSynthMenuBarUI.htmlSynthMenuItemUI.htmlSynthMenuUI.htmlSynthOptionPaneUI.htmlSynthPainter.htmlSynthPanelUI.htmlSynthPasswordFieldUI.htmlSynthPopupMenuUI.htmlSynthProgressBarUI.htmlSynthRadioButtonMenuItemUI.htmlSynthRadioButtonUI.htmlSynthRootPaneUI.htmlSynthScrollBarUI.htmlSynthScrollPaneUI.htmlSynthSeparatorUI.htmlSynthSliderUI.htmlSynthSpinnerUI.htmlSynthSplitPaneUI.htmlSynthStyle.htmlSynthStyleFactory.htmlSynthTabbedPaneUI.htmlSynthTableHeaderUI.htmlSynthTableUI.htmlSynthTextAreaUI.htmlSynthTextFieldUI.htmlSynthTextPaneUI.htmlSynthToggleButtonUI.htmlSynthToolBarUI.htmlSynthToolTipUI.htmlSynthTreeUI.htmlSynthUI.htmlSynthViewportUI.htmlclass-useColorType.htmlRegion.htmlSynthButtonUI.htmlSynthCheckBoxMenuItemUI.htmlSynthCheckBoxUI.htmlSynthColorChooserUI.htmlSynthComboBoxUI.htmlSynthConstants.htmlSynthContext.htmlSynthDesktopIconUI.htmlSynthDesktopPaneUI.htmlSynthEditorPaneUI.htmlSynthFormattedTextFieldUI.htmlSynthGraphicsUtils.htmlSynthIcon.htmlSynthInternalFrameUI.htmlSynthLabelUI.htmlSynthListUI.htmlSynthLookAndFeel.htmlSynthMenuBarUI.htmlSynthMenuItemUI.htmlSynthMenuUI.htmlSynthOptionPaneUI.htmlSynthPainter.htmlSynthPanelUI.htmlSynthPasswordFieldUI.htmlSynthPopupMenuUI.htmlSynthProgressBarUI.htmlSynthRadioButtonMenuItemUI.htmlSynthRadioButtonUI.htmlSynthRootPaneUI.htmlSynthScrollBarUI.htmlSynthScrollPaneUI.htmlSynthSeparatorUI.htmlSynthSliderUI.htmlSynthSpinnerUI.htmlSynthSplitPaneUI.htmlSynthStyle.htmlSynthStyleFactory.htmlSynthTabbedPaneUI.htmlSynthTableHeaderUI.htmlSynthTableUI.htmlSynthTextAreaUI.htmlSynthTextFieldUI.htmlSynthTextPaneUI.htmlSynthToggleButtonUI.htmlSynthToolBarUI.htmlSynthToolTipUI.htmlSynthTreeUI.htmlSynthUI.htmlSynthViewportUI.htmldoc-filescomponentProperties.htmlsynth.dtdsynthFileFormat.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltableAbstractTableModel.htmlDefaultTableCellRenderer.UIResource.htmlDefaultTableCellRenderer.htmlDefaultTableColumnModel.htmlDefaultTableModel.htmlJTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.htmlJTableHeader.AccessibleJTableHeader.htmlJTableHeader.htmlTableCellEditor.htmlTableCellRenderer.htmlTableColumn.htmlTableColumnModel.htmlTableModel.htmlTableRowSorter.htmlTableStringConverter.htmlclass-useAbstractTableModel.htmlDefaultTableCellRenderer.UIResource.htmlDefaultTableCellRenderer.htmlDefaultTableColumnModel.htmlDefaultTableModel.htmlJTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry.htmlJTableHeader.AccessibleJTableHeader.htmlJTableHeader.htmlTableCellEditor.htmlTableCellRenderer.htmlTableColumn.htmlTableColumnModel.htmlTableModel.htmlTableRowSorter.htmlTableStringConverter.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltextAbstractDocument.AbstractElement.htmlAbstractDocument.AttributeContext.htmlAbstractDocument.BranchElement.htmlAbstractDocument.Content.htmlAbstractDocument.DefaultDocumentEvent.htmlAbstractDocument.ElementEdit.htmlAbstractDocument.LeafElement.htmlAbstractDocument.htmlAbstractWriter.htmlAsyncBoxView.ChildLocator.htmlAsyncBoxView.ChildState.htmlAsyncBoxView.htmlAttributeSet.CharacterAttribute.htmlAttributeSet.ColorAttribute.htmlAttributeSet.FontAttribute.htmlAttributeSet.ParagraphAttribute.htmlAttributeSet.htmlBadLocationException.htmlBoxView.htmlCaret.htmlChangedCharSetException.htmlComponentView.htmlCompositeView.htmlDateFormatter.htmlDefaultCaret.htmlDefaultEditorKit.BeepAction.htmlDefaultEditorKit.CopyAction.htmlDefaultEditorKit.CutAction.htmlDefaultEditorKit.DefaultKeyTypedAction.htmlDefaultEditorKit.InsertBreakAction.htmlDefaultEditorKit.InsertContentAction.htmlDefaultEditorKit.InsertTabAction.htmlDefaultEditorKit.PasteAction.htmlDefaultEditorKit.htmlDefaultFormatter.htmlDefaultFormatterFactory.htmlDefaultHighlighter.DefaultHighlightPainter.htmlDefaultHighlighter.htmlDefaultStyledDocument.AttributeUndoableEdit.htmlDefaultStyledDocument.ElementBuffer.htmlDefaultStyledDocument.ElementSpec.htmlDefaultStyledDocument.SectionElement.htmlDefaultStyledDocument.htmlDefaultTextUI.htmlDocument.htmlDocumentFilter.FilterBypass.htmlDocumentFilter.htmlEditorKit.htmlElement.htmlElementIterator.htmlFieldView.htmlFlowView.FlowStrategy.htmlFlowView.htmlGapContent.htmlGlyphView.GlyphPainter.htmlGlyphView.htmlHighlighter.Highlight.htmlHighlighter.HighlightPainter.htmlHighlighter.htmlIconView.htmlInternationalFormatter.htmlJTextComponent.AccessibleJTextComponent.htmlJTextComponent.DropLocation.htmlJTextComponent.KeyBinding.htmlJTextComponent.htmlKeymap.htmlLabelView.htmlLayeredHighlighter.LayerPainter.htmlLayeredHighlighter.htmlLayoutQueue.htmlMaskFormatter.htmlMutableAttributeSet.htmlNavigationFilter.FilterBypass.htmlNavigationFilter.htmlNumberFormatter.htmlParagraphView.htmlPasswordView.htmlPlainDocument.htmlPlainView.htmlPosition.Bias.htmlPosition.htmlSegment.htmlSimpleAttributeSet.htmlStringContent.htmlStyle.htmlStyleConstants.CharacterConstants.htmlStyleConstants.ColorConstants.htmlStyleConstants.FontConstants.htmlStyleConstants.ParagraphConstants.htmlStyleConstants.htmlStyleContext.NamedStyle.htmlStyleContext.SmallAttributeSet.htmlStyleContext.htmlStyledDocument.htmlStyledEditorKit.AlignmentAction.htmlStyledEditorKit.BoldAction.htmlStyledEditorKit.FontFamilyAction.htmlStyledEditorKit.FontSizeAction.htmlStyledEditorKit.ForegroundAction.htmlStyledEditorKit.ItalicAction.htmlStyledEditorKit.StyledTextAction.htmlStyledEditorKit.UnderlineAction.htmlStyledEditorKit.htmlTabExpander.htmlTabSet.htmlTabStop.htmlTabableView.htmlTableView.TableCell.htmlTableView.TableRow.htmlTableView.htmlTextAction.htmlUtilities.htmlView.htmlViewFactory.htmlWrappedPlainView.htmlZoneView.htmlclass-useAbstractDocument.AbstractElement.htmlAbstractDocument.AttributeContext.htmlAbstractDocument.BranchElement.htmlAbstractDocument.Content.htmlAbstractDocument.DefaultDocumentEvent.htmlAbstractDocument.ElementEdit.htmlAbstractDocument.LeafElement.htmlAbstractDocument.htmlAbstractWriter.htmlAsyncBoxView.ChildLocator.htmlAsyncBoxView.ChildState.htmlAsyncBoxView.htmlAttributeSet.CharacterAttribute.htmlAttributeSet.ColorAttribute.htmlAttributeSet.FontAttribute.htmlAttributeSet.ParagraphAttribute.htmlAttributeSet.htmlBadLocationException.htmlBoxView.htmlCaret.htmlChangedCharSetException.htmlComponentView.htmlCompositeView.htmlDateFormatter.htmlDefaultCaret.htmlDefaultEditorKit.BeepAction.htmlDefaultEditorKit.CopyAction.htmlDefaultEditorKit.CutAction.htmlDefaultEditorKit.DefaultKeyTypedAction.htmlDefaultEditorKit.InsertBreakAction.htmlDefaultEditorKit.InsertContentAction.htmlDefaultEditorKit.InsertTabAction.htmlDefaultEditorKit.PasteAction.htmlDefaultEditorKit.htmlDefaultFormatter.htmlDefaultFormatterFactory.htmlDefaultHighlighter.DefaultHighlightPainter.htmlDefaultHighlighter.htmlDefaultStyledDocument.AttributeUndoableEdit.htmlDefaultStyledDocument.ElementBuffer.htmlDefaultStyledDocument.ElementSpec.htmlDefaultStyledDocument.SectionElement.htmlDefaultStyledDocument.htmlDefaultTextUI.htmlDocument.htmlDocumentFilter.FilterBypass.htmlDocumentFilter.htmlEditorKit.htmlElement.htmlElementIterator.htmlFieldView.htmlFlowView.FlowStrategy.htmlFlowView.htmlGapContent.htmlGlyphView.GlyphPainter.htmlGlyphView.htmlHighlighter.Highlight.htmlHighlighter.HighlightPainter.htmlHighlighter.htmlIconView.htmlInternationalFormatter.htmlJTextComponent.AccessibleJTextComponent.htmlJTextComponent.DropLocation.htmlJTextComponent.KeyBinding.htmlJTextComponent.htmlKeymap.htmlLabelView.htmlLayeredHighlighter.LayerPainter.htmlLayeredHighlighter.htmlLayoutQueue.htmlMaskFormatter.htmlMutableAttributeSet.htmlNavigationFilter.FilterBypass.htmlNavigationFilter.htmlNumberFormatter.htmlParagraphView.htmlPasswordView.htmlPlainDocument.htmlPlainView.htmlPosition.Bias.htmlPosition.htmlSegment.htmlSimpleAttributeSet.htmlStringContent.htmlStyle.htmlStyleConstants.CharacterConstants.htmlStyleConstants.ColorConstants.htmlStyleConstants.FontConstants.htmlStyleConstants.ParagraphConstants.htmlStyleConstants.htmlStyleContext.NamedStyle.htmlStyleContext.SmallAttributeSet.htmlStyleContext.htmlStyledDocument.htmlStyledEditorKit.AlignmentAction.htmlStyledEditorKit.BoldAction.htmlStyledEditorKit.FontFamilyAction.htmlStyledEditorKit.FontSizeAction.htmlStyledEditorKit.ForegroundAction.htmlStyledEditorKit.ItalicAction.htmlStyledEditorKit.StyledTextAction.htmlStyledEditorKit.UnderlineAction.htmlStyledEditorKit.htmlTabExpander.htmlTabSet.htmlTabStop.htmlTabableView.htmlTableView.TableCell.htmlTableView.TableRow.htmlTableView.htmlTextAction.htmlUtilities.htmlView.htmlViewFactory.htmlWrappedPlainView.htmlZoneView.htmldoc-filesDocument-coord.gifDocument-insert.gifDocument-notification.gifDocument-remove.gifDocument-structure.gifOpenBookIcon.gifView-flexibility.jpgView-layout.jpgeditor.gifparagraph.gifplain1.gifplain10.gifplain11.gifplain12.gifplain2.gifplain3.gifplain4.gifplain5.gifplain6.gifplain7.gifplain8.gifplain9.gifhtmlBlockView.htmlCSS.Attribute.htmlCSS.htmlFormSubmitEvent.MethodType.htmlFormSubmitEvent.htmlFormView.MouseEventListener.htmlFormView.htmlHTML.Attribute.htmlHTML.Tag.htmlHTML.UnknownTag.htmlHTML.htmlHTMLDocument.BlockElement.htmlHTMLDocument.HTMLReader.BlockAction.htmlHTMLDocument.HTMLReader.CharacterAction.htmlHTMLDocument.HTMLReader.FormAction.htmlHTMLDocument.HTMLReader.HiddenAction.htmlHTMLDocument.HTMLReader.IsindexAction.htmlHTMLDocument.HTMLReader.ParagraphAction.htmlHTMLDocument.HTMLReader.PreAction.htmlHTMLDocument.HTMLReader.SpecialAction.htmlHTMLDocument.HTMLReader.TagAction.htmlHTMLDocument.HTMLReader.htmlHTMLDocument.Iterator.htmlHTMLDocument.RunElement.htmlHTMLDocument.htmlHTMLEditorKit.HTMLFactory.htmlHTMLEditorKit.HTMLTextAction.htmlHTMLEditorKit.InsertHTMLTextAction.htmlHTMLEditorKit.LinkController.htmlHTMLEditorKit.Parser.htmlHTMLEditorKit.ParserCallback.htmlHTMLEditorKit.htmlHTMLFrameHyperlinkEvent.htmlHTMLWriter.htmlImageView.htmlInlineView.htmlListView.htmlMinimalHTMLWriter.htmlObjectView.htmlOption.htmlParagraphView.htmlStyleSheet.BoxPainter.htmlStyleSheet.ListPainter.htmlStyleSheet.htmlclass-useBlockView.htmlCSS.Attribute.htmlCSS.htmlFormSubmitEvent.MethodType.htmlFormSubmitEvent.htmlFormView.MouseEventListener.htmlFormView.htmlHTML.Attribute.htmlHTML.Tag.htmlHTML.UnknownTag.htmlHTML.htmlHTMLDocument.BlockElement.htmlHTMLDocument.HTMLReader.BlockAction.htmlHTMLDocument.HTMLReader.CharacterAction.htmlHTMLDocument.HTMLReader.FormAction.htmlHTMLDocument.HTMLReader.HiddenAction.htmlHTMLDocument.HTMLReader.IsindexAction.htmlHTMLDocument.HTMLReader.ParagraphAction.htmlHTMLDocument.HTMLReader.PreAction.htmlHTMLDocument.HTMLReader.SpecialAction.htmlHTMLDocument.HTMLReader.TagAction.htmlHTMLDocument.HTMLReader.htmlHTMLDocument.Iterator.htmlHTMLDocument.RunElement.htmlHTMLDocument.htmlHTMLEditorKit.HTMLFactory.htmlHTMLEditorKit.HTMLTextAction.htmlHTMLEditorKit.InsertHTMLTextAction.htmlHTMLEditorKit.LinkController.htmlHTMLEditorKit.Parser.htmlHTMLEditorKit.ParserCallback.htmlHTMLEditorKit.htmlHTMLFrameHyperlinkEvent.htmlHTMLWriter.htmlImageView.htmlInlineView.htmlListView.htmlMinimalHTMLWriter.htmlObjectView.htmlOption.htmlParagraphView.htmlStyleSheet.BoxPainter.htmlStyleSheet.ListPainter.htmlStyleSheet.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlparserAttributeList.htmlContentModel.htmlDTD.htmlDTDConstants.htmlDocumentParser.htmlElement.htmlEntity.htmlParser.htmlParserDelegator.htmlTagElement.htmlclass-useAttributeList.htmlContentModel.htmlDTD.htmlDTDConstants.htmlDocumentParser.htmlElement.htmlEntity.htmlParser.htmlParserDelegator.htmlTagElement.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlrtfRTFEditorKit.htmlclass-useRTFEditorKit.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltreeAbstractLayoutCache.NodeDimensions.htmlAbstractLayoutCache.htmlDefaultMutableTreeNode.htmlDefaultTreeCellEditor.DefaultTextField.htmlDefaultTreeCellEditor.EditorContainer.htmlDefaultTreeCellEditor.htmlDefaultTreeCellRenderer.htmlDefaultTreeModel.htmlDefaultTreeSelectionModel.htmlExpandVetoException.htmlFixedHeightLayoutCache.htmlMutableTreeNode.htmlRowMapper.htmlTreeCellEditor.htmlTreeCellRenderer.htmlTreeModel.htmlTreeNode.htmlTreePath.htmlTreeSelectionModel.htmlVariableHeightLayoutCache.htmlclass-useAbstractLayoutCache.NodeDimensions.htmlAbstractLayoutCache.htmlDefaultMutableTreeNode.htmlDefaultTreeCellEditor.DefaultTextField.htmlDefaultTreeCellEditor.EditorContainer.htmlDefaultTreeCellEditor.htmlDefaultTreeCellRenderer.htmlDefaultTreeModel.htmlDefaultTreeSelectionModel.htmlExpandVetoException.htmlFixedHeightLayoutCache.htmlMutableTreeNode.htmlRowMapper.htmlTreeCellEditor.htmlTreeCellRenderer.htmlTreeModel.htmlTreeNode.htmlTreePath.htmlTreeSelectionModel.htmlVariableHeightLayoutCache.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlundoAbstractUndoableEdit.htmlCannotRedoException.htmlCannotUndoException.htmlCompoundEdit.htmlStateEdit.htmlStateEditable.htmlUndoManager.htmlUndoableEdit.htmlUndoableEditSupport.htmlclass-useAbstractUndoableEdit.htmlCannotRedoException.htmlCannotUndoException.htmlCompoundEdit.htmlStateEdit.htmlStateEditable.htmlUndoManager.htmlUndoableEdit.htmlUndoableEditSupport.htmldoc-filesUndoManager-1.gifUndoManager-2.gifUndoManager-3.gifUndoManager-4.gifpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.instrumentjavalanginstrumentClassDefinition.htmlClassFileTransformer.htmlIllegalClassFormatException.htmlInstrumentation.htmlUnmodifiableClassException.htmlUnmodifiableModuleException.htmlclass-useClassDefinition.htmlClassFileTransformer.htmlIllegalClassFormatException.htmlInstrumentation.htmlUnmodifiableClassException.htmlUnmodifiableModuleException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.loggingjavautilloggingConsoleHandler.htmlErrorManager.htmlFileHandler.htmlFilter.htmlFormatter.htmlHandler.htmlLevel.htmlLogManager.htmlLogRecord.htmlLogger.htmlLoggingMXBean.htmlLoggingPermission.htmlMemoryHandler.htmlSimpleFormatter.htmlSocketHandler.htmlStreamHandler.htmlXMLFormatter.htmlclass-useConsoleHandler.htmlErrorManager.htmlFileHandler.htmlFilter.htmlFormatter.htmlHandler.htmlLevel.htmlLogManager.htmlLogRecord.htmlLogger.htmlLoggingMXBean.htmlLoggingPermission.htmlMemoryHandler.htmlSimpleFormatter.htmlSocketHandler.htmlStreamHandler.htmlXMLFormatter.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.managementjava.management.rmijavaxmanagementremotermiRMIConnection.htmlRMIConnectionImpl.htmlRMIConnectionImpl_Stub.htmlRMIConnector.htmlRMIConnectorServer.htmlRMIJRMPServerImpl.htmlRMIServer.htmlRMIServerImpl.htmlRMIServerImpl_Stub.htmlclass-useRMIConnection.htmlRMIConnectionImpl.htmlRMIConnectionImpl_Stub.htmlRMIConnector.htmlRMIConnectorServer.htmlRMIJRMPServerImpl.htmlRMIServer.htmlRMIServerImpl.htmlRMIServerImpl_Stub.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljavalangmanagementBufferPoolMXBean.htmlClassLoadingMXBean.htmlCompilationMXBean.htmlGarbageCollectorMXBean.htmlLockInfo.htmlManagementFactory.htmlManagementPermission.htmlMemoryMXBean.htmlMemoryManagerMXBean.htmlMemoryNotificationInfo.htmlMemoryPoolMXBean.htmlMemoryType.htmlMemoryUsage.htmlMonitorInfo.htmlOperatingSystemMXBean.htmlPlatformLoggingMXBean.htmlPlatformManagedObject.htmlRuntimeMXBean.htmlThreadInfo.htmlThreadMXBean.htmlclass-useBufferPoolMXBean.htmlClassLoadingMXBean.htmlCompilationMXBean.htmlGarbageCollectorMXBean.htmlLockInfo.htmlManagementFactory.htmlManagementPermission.htmlMemoryMXBean.htmlMemoryManagerMXBean.htmlMemoryNotificationInfo.htmlMemoryPoolMXBean.htmlMemoryType.htmlMemoryUsage.htmlMonitorInfo.htmlOperatingSystemMXBean.htmlPlatformLoggingMXBean.htmlPlatformManagedObject.htmlRuntimeMXBean.htmlThreadInfo.htmlThreadMXBean.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljavaxmanagementAttribute.htmlAttributeChangeNotification.htmlAttributeChangeNotificationFilter.htmlAttributeList.htmlAttributeNotFoundException.htmlAttributeValueExp.htmlBadAttributeValueExpException.htmlBadBinaryOpValueExpException.htmlBadStringOperationException.htmlConstructorParameters.htmlDefaultLoaderRepository.htmlDescriptor.htmlDescriptorAccess.htmlDescriptorKey.htmlDescriptorRead.htmlDynamicMBean.htmlImmutableDescriptor.htmlInstanceAlreadyExistsException.htmlInstanceNotFoundException.htmlIntrospectionException.htmlInvalidApplicationException.htmlInvalidAttributeValueException.htmlJMException.htmlJMRuntimeException.htmlJMX.htmlListenerNotFoundException.htmlMBeanAttributeInfo.htmlMBeanConstructorInfo.htmlMBeanException.htmlMBeanFeatureInfo.htmlMBeanInfo.htmlMBeanNotificationInfo.htmlMBeanOperationInfo.htmlMBeanParameterInfo.htmlMBeanPermission.htmlMBeanRegistration.htmlMBeanRegistrationException.htmlMBeanServer.htmlMBeanServerBuilder.htmlMBeanServerConnection.htmlMBeanServerDelegate.htmlMBeanServerDelegateMBean.htmlMBeanServerFactory.htmlMBeanServerInvocationHandler.htmlMBeanServerNotification.htmlMBeanServerPermission.htmlMBeanTrustPermission.htmlMXBean.htmlMalformedObjectNameException.htmlNotCompliantMBeanException.htmlNotification.htmlNotificationBroadcaster.htmlNotificationBroadcasterSupport.htmlNotificationEmitter.htmlNotificationFilter.htmlNotificationFilterSupport.htmlNotificationListener.htmlObjectInstance.htmlObjectName.htmlOperationsException.htmlPersistentMBean.htmlQuery.htmlQueryEval.htmlQueryExp.htmlReflectionException.htmlRuntimeErrorException.htmlRuntimeMBeanException.htmlRuntimeOperationsException.htmlServiceNotFoundException.htmlStandardEmitterMBean.htmlStandardMBean.htmlStringValueExp.htmlValueExp.htmlclass-useAttribute.htmlAttributeChangeNotification.htmlAttributeChangeNotificationFilter.htmlAttributeList.htmlAttributeNotFoundException.htmlAttributeValueExp.htmlBadAttributeValueExpException.htmlBadBinaryOpValueExpException.htmlBadStringOperationException.htmlConstructorParameters.htmlDefaultLoaderRepository.htmlDescriptor.htmlDescriptorAccess.htmlDescriptorKey.htmlDescriptorRead.htmlDynamicMBean.htmlImmutableDescriptor.htmlInstanceAlreadyExistsException.htmlInstanceNotFoundException.htmlIntrospectionException.htmlInvalidApplicationException.htmlInvalidAttributeValueException.htmlJMException.htmlJMRuntimeException.htmlJMX.htmlListenerNotFoundException.htmlMBeanAttributeInfo.htmlMBeanConstructorInfo.htmlMBeanException.htmlMBeanFeatureInfo.htmlMBeanInfo.htmlMBeanNotificationInfo.htmlMBeanOperationInfo.htmlMBeanParameterInfo.htmlMBeanPermission.htmlMBeanRegistration.htmlMBeanRegistrationException.htmlMBeanServer.htmlMBeanServerBuilder.htmlMBeanServerConnection.htmlMBeanServerDelegate.htmlMBeanServerDelegateMBean.htmlMBeanServerFactory.htmlMBeanServerInvocationHandler.htmlMBeanServerNotification.htmlMBeanServerPermission.htmlMBeanTrustPermission.htmlMXBean.htmlMalformedObjectNameException.htmlNotCompliantMBeanException.htmlNotification.htmlNotificationBroadcaster.htmlNotificationBroadcasterSupport.htmlNotificationEmitter.htmlNotificationFilter.htmlNotificationFilterSupport.htmlNotificationListener.htmlObjectInstance.htmlObjectName.htmlOperationsException.htmlPersistentMBean.htmlQuery.htmlQueryEval.htmlQueryExp.htmlReflectionException.htmlRuntimeErrorException.htmlRuntimeMBeanException.htmlRuntimeOperationsException.htmlServiceNotFoundException.htmlStandardEmitterMBean.htmlStandardMBean.htmlStringValueExp.htmlValueExp.htmlloadingClassLoaderRepository.htmlDefaultLoaderRepository.htmlMLet.htmlMLetContent.htmlMLetMBean.htmlPrivateClassLoader.htmlPrivateMLet.htmlclass-useClassLoaderRepository.htmlDefaultLoaderRepository.htmlMLet.htmlMLetContent.htmlMLetMBean.htmlPrivateClassLoader.htmlPrivateMLet.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodelmbeanDescriptorSupport.htmlInvalidTargetObjectTypeException.htmlModelMBean.htmlModelMBeanAttributeInfo.htmlModelMBeanConstructorInfo.htmlModelMBeanInfo.htmlModelMBeanInfoSupport.htmlModelMBeanNotificationBroadcaster.htmlModelMBeanNotificationInfo.htmlModelMBeanOperationInfo.htmlRequiredModelMBean.htmlXMLParseException.htmlclass-useDescriptorSupport.htmlInvalidTargetObjectTypeException.htmlModelMBean.htmlModelMBeanAttributeInfo.htmlModelMBeanConstructorInfo.htmlModelMBeanInfo.htmlModelMBeanInfoSupport.htmlModelMBeanNotificationBroadcaster.htmlModelMBeanNotificationInfo.htmlModelMBeanOperationInfo.htmlRequiredModelMBean.htmlXMLParseException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmonitorCounterMonitor.htmlCounterMonitorMBean.htmlGaugeMonitor.htmlGaugeMonitorMBean.htmlMonitor.htmlMonitorMBean.htmlMonitorNotification.htmlMonitorSettingException.htmlStringMonitor.htmlStringMonitorMBean.htmlclass-useCounterMonitor.htmlCounterMonitorMBean.htmlGaugeMonitor.htmlGaugeMonitorMBean.htmlMonitor.htmlMonitorMBean.htmlMonitorNotification.htmlMonitorSettingException.htmlStringMonitor.htmlStringMonitorMBean.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlopenmbeanArrayType.htmlCompositeData.htmlCompositeDataInvocationHandler.htmlCompositeDataSupport.htmlCompositeDataView.htmlCompositeType.htmlInvalidKeyException.htmlInvalidOpenTypeException.htmlKeyAlreadyExistsException.htmlOpenDataException.htmlOpenMBeanAttributeInfo.htmlOpenMBeanAttributeInfoSupport.htmlOpenMBeanConstructorInfo.htmlOpenMBeanConstructorInfoSupport.htmlOpenMBeanInfo.htmlOpenMBeanInfoSupport.htmlOpenMBeanOperationInfo.htmlOpenMBeanOperationInfoSupport.htmlOpenMBeanParameterInfo.htmlOpenMBeanParameterInfoSupport.htmlOpenType.htmlSimpleType.htmlTabularData.htmlTabularDataSupport.htmlTabularType.htmlclass-useArrayType.htmlCompositeData.htmlCompositeDataInvocationHandler.htmlCompositeDataSupport.htmlCompositeDataView.htmlCompositeType.htmlInvalidKeyException.htmlInvalidOpenTypeException.htmlKeyAlreadyExistsException.htmlOpenDataException.htmlOpenMBeanAttributeInfo.htmlOpenMBeanAttributeInfoSupport.htmlOpenMBeanConstructorInfo.htmlOpenMBeanConstructorInfoSupport.htmlOpenMBeanInfo.htmlOpenMBeanInfoSupport.htmlOpenMBeanOperationInfo.htmlOpenMBeanOperationInfoSupport.htmlOpenMBeanParameterInfo.htmlOpenMBeanParameterInfoSupport.htmlOpenType.htmlSimpleType.htmlTabularData.htmlTabularDataSupport.htmlTabularType.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlrelationInvalidRelationIdException.htmlInvalidRelationServiceException.htmlInvalidRelationTypeException.htmlInvalidRoleInfoException.htmlInvalidRoleValueException.htmlMBeanServerNotificationFilter.htmlRelation.htmlRelationException.htmlRelationNotFoundException.htmlRelationNotification.htmlRelationService.htmlRelationServiceMBean.htmlRelationServiceNotRegisteredException.htmlRelationSupport.htmlRelationSupportMBean.htmlRelationType.htmlRelationTypeNotFoundException.htmlRelationTypeSupport.htmlRole.htmlRoleInfo.htmlRoleInfoNotFoundException.htmlRoleList.htmlRoleNotFoundException.htmlRoleResult.htmlRoleStatus.htmlRoleUnresolved.htmlRoleUnresolvedList.htmlclass-useInvalidRelationIdException.htmlInvalidRelationServiceException.htmlInvalidRelationTypeException.htmlInvalidRoleInfoException.htmlInvalidRoleValueException.htmlMBeanServerNotificationFilter.htmlRelation.htmlRelationException.htmlRelationNotFoundException.htmlRelationNotification.htmlRelationService.htmlRelationServiceMBean.htmlRelationServiceNotRegisteredException.htmlRelationSupport.htmlRelationSupportMBean.htmlRelationType.htmlRelationTypeNotFoundException.htmlRelationTypeSupport.htmlRole.htmlRoleInfo.htmlRoleInfoNotFoundException.htmlRoleList.htmlRoleNotFoundException.htmlRoleResult.htmlRoleStatus.htmlRoleUnresolved.htmlRoleUnresolvedList.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlremoteJMXAddressable.htmlJMXAuthenticator.htmlJMXConnectionNotification.htmlJMXConnector.htmlJMXConnectorFactory.htmlJMXConnectorProvider.htmlJMXConnectorServer.htmlJMXConnectorServerFactory.htmlJMXConnectorServerMBean.htmlJMXConnectorServerProvider.htmlJMXPrincipal.htmlJMXProviderException.htmlJMXServerErrorException.htmlJMXServiceURL.htmlMBeanServerForwarder.htmlNotificationResult.htmlSubjectDelegationPermission.htmlTargetedNotification.htmlclass-useJMXAddressable.htmlJMXAuthenticator.htmlJMXConnectionNotification.htmlJMXConnector.htmlJMXConnectorFactory.htmlJMXConnectorProvider.htmlJMXConnectorServer.htmlJMXConnectorServerFactory.htmlJMXConnectorServerMBean.htmlJMXConnectorServerProvider.htmlJMXPrincipal.htmlJMXProviderException.htmlJMXServerErrorException.htmlJMXServiceURL.htmlMBeanServerForwarder.htmlNotificationResult.htmlSubjectDelegationPermission.htmlTargetedNotification.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltimerTimer.htmlTimerMBean.htmlTimerNotification.htmlclass-useTimer.htmlTimerMBean.htmlTimerNotification.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.namingjavaxnamingAuthenticationException.htmlAuthenticationNotSupportedException.htmlBinaryRefAddr.htmlBinding.htmlCannotProceedException.htmlCommunicationException.htmlCompositeName.htmlCompoundName.htmlConfigurationException.htmlContext.htmlContextNotEmptyException.htmlInitialContext.htmlInsufficientResourcesException.htmlInterruptedNamingException.htmlInvalidNameException.htmlLimitExceededException.htmlLinkException.htmlLinkLoopException.htmlLinkRef.htmlMalformedLinkException.htmlName.htmlNameAlreadyBoundException.htmlNameClassPair.htmlNameNotFoundException.htmlNameParser.htmlNamingEnumeration.htmlNamingException.htmlNamingSecurityException.htmlNoInitialContextException.htmlNoPermissionException.htmlNotContextException.htmlOperationNotSupportedException.htmlPartialResultException.htmlRefAddr.htmlReference.htmlReferenceable.htmlReferralException.htmlServiceUnavailableException.htmlSizeLimitExceededException.htmlStringRefAddr.htmlTimeLimitExceededException.htmlclass-useAuthenticationException.htmlAuthenticationNotSupportedException.htmlBinaryRefAddr.htmlBinding.htmlCannotProceedException.htmlCommunicationException.htmlCompositeName.htmlCompoundName.htmlConfigurationException.htmlContext.htmlContextNotEmptyException.htmlInitialContext.htmlInsufficientResourcesException.htmlInterruptedNamingException.htmlInvalidNameException.htmlLimitExceededException.htmlLinkException.htmlLinkLoopException.htmlLinkRef.htmlMalformedLinkException.htmlName.htmlNameAlreadyBoundException.htmlNameClassPair.htmlNameNotFoundException.htmlNameParser.htmlNamingEnumeration.htmlNamingException.htmlNamingSecurityException.htmlNoInitialContextException.htmlNoPermissionException.htmlNotContextException.htmlOperationNotSupportedException.htmlPartialResultException.htmlRefAddr.htmlReference.htmlReferenceable.htmlReferralException.htmlServiceUnavailableException.htmlSizeLimitExceededException.htmlStringRefAddr.htmlTimeLimitExceededException.htmldirectoryAttribute.htmlAttributeInUseException.htmlAttributeModificationException.htmlAttributes.htmlBasicAttribute.htmlBasicAttributes.htmlDirContext.htmlInitialDirContext.htmlInvalidAttributeIdentifierException.htmlInvalidAttributeValueException.htmlInvalidAttributesException.htmlInvalidSearchControlsException.htmlInvalidSearchFilterException.htmlModificationItem.htmlNoSuchAttributeException.htmlSchemaViolationException.htmlSearchControls.htmlSearchResult.htmlclass-useAttribute.htmlAttributeInUseException.htmlAttributeModificationException.htmlAttributes.htmlBasicAttribute.htmlBasicAttributes.htmlDirContext.htmlInitialDirContext.htmlInvalidAttributeIdentifierException.htmlInvalidAttributeValueException.htmlInvalidAttributesException.htmlInvalidSearchControlsException.htmlInvalidSearchFilterException.htmlModificationItem.htmlNoSuchAttributeException.htmlSchemaViolationException.htmlSearchControls.htmlSearchResult.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmleventEventContext.htmlEventDirContext.htmlNamespaceChangeListener.htmlNamingEvent.htmlNamingExceptionEvent.htmlNamingListener.htmlObjectChangeListener.htmlclass-useEventContext.htmlEventDirContext.htmlNamespaceChangeListener.htmlNamingEvent.htmlNamingExceptionEvent.htmlNamingListener.htmlObjectChangeListener.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlldapBasicControl.htmlControl.htmlControlFactory.htmlExtendedRequest.htmlExtendedResponse.htmlHasControls.htmlInitialLdapContext.htmlLdapContext.htmlLdapName.htmlLdapReferralException.htmlManageReferralControl.htmlPagedResultsControl.htmlPagedResultsResponseControl.htmlRdn.htmlSortControl.htmlSortKey.htmlSortResponseControl.htmlStartTlsRequest.htmlStartTlsResponse.htmlUnsolicitedNotification.htmlUnsolicitedNotificationEvent.htmlUnsolicitedNotificationListener.htmlclass-useBasicControl.htmlControl.htmlControlFactory.htmlExtendedRequest.htmlExtendedResponse.htmlHasControls.htmlInitialLdapContext.htmlLdapContext.htmlLdapName.htmlLdapReferralException.htmlManageReferralControl.htmlPagedResultsControl.htmlPagedResultsResponseControl.htmlRdn.htmlSortControl.htmlSortKey.htmlSortResponseControl.htmlStartTlsRequest.htmlStartTlsResponse.htmlUnsolicitedNotification.htmlUnsolicitedNotificationEvent.htmlUnsolicitedNotificationListener.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiLdapDnsProvider.htmlLdapDnsProviderResult.htmlclass-useLdapDnsProvider.htmlLdapDnsProviderResult.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiDirObjectFactory.htmlDirStateFactory.Result.htmlDirStateFactory.htmlDirectoryManager.htmlInitialContextFactory.htmlInitialContextFactoryBuilder.htmlNamingManager.htmlObjectFactory.htmlObjectFactoryBuilder.htmlResolveResult.htmlResolver.htmlStateFactory.htmlclass-useDirObjectFactory.htmlDirStateFactory.Result.htmlDirStateFactory.htmlDirectoryManager.htmlInitialContextFactory.htmlInitialContextFactoryBuilder.htmlNamingManager.htmlObjectFactory.htmlObjectFactoryBuilder.htmlResolveResult.htmlResolver.htmlStateFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.net.httpjavanethttpHttpClient.Builder.htmlHttpClient.Redirect.htmlHttpClient.Version.htmlHttpClient.htmlHttpConnectTimeoutException.htmlHttpHeaders.htmlHttpRequest.BodyPublisher.htmlHttpRequest.BodyPublishers.htmlHttpRequest.Builder.htmlHttpRequest.htmlHttpResponse.BodyHandler.htmlHttpResponse.BodyHandlers.htmlHttpResponse.BodySubscriber.htmlHttpResponse.BodySubscribers.htmlHttpResponse.PushPromiseHandler.htmlHttpResponse.ResponseInfo.htmlHttpResponse.htmlHttpTimeoutException.htmlWebSocket.Builder.htmlWebSocket.Listener.htmlWebSocket.htmlWebSocketHandshakeException.htmlclass-useHttpClient.Builder.htmlHttpClient.Redirect.htmlHttpClient.Version.htmlHttpClient.htmlHttpConnectTimeoutException.htmlHttpHeaders.htmlHttpRequest.BodyPublisher.htmlHttpRequest.BodyPublishers.htmlHttpRequest.Builder.htmlHttpRequest.htmlHttpResponse.BodyHandler.htmlHttpResponse.BodyHandlers.htmlHttpResponse.BodySubscriber.htmlHttpResponse.BodySubscribers.htmlHttpResponse.PushPromiseHandler.htmlHttpResponse.ResponseInfo.htmlHttpResponse.htmlHttpTimeoutException.htmlWebSocket.Builder.htmlWebSocket.Listener.htmlWebSocket.htmlWebSocketHandshakeException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.prefsjavautilprefsAbstractPreferences.htmlBackingStoreException.htmlInvalidPreferencesFormatException.htmlNodeChangeEvent.htmlNodeChangeListener.htmlPreferenceChangeEvent.htmlPreferenceChangeListener.htmlPreferences.htmlPreferencesFactory.htmlclass-useAbstractPreferences.htmlBackingStoreException.htmlInvalidPreferencesFormatException.htmlNodeChangeEvent.htmlNodeChangeListener.htmlPreferenceChangeEvent.htmlPreferenceChangeListener.htmlPreferences.htmlPreferencesFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.rmijavarmiAccessException.htmlAlreadyBoundException.htmlConnectException.htmlConnectIOException.htmlMarshalException.htmlMarshalledObject.htmlNaming.htmlNoSuchObjectException.htmlNotBoundException.htmlRMISecurityException.htmlRMISecurityManager.htmlRemote.htmlRemoteException.htmlServerError.htmlServerException.htmlServerRuntimeException.htmlStubNotFoundException.htmlUnexpectedException.htmlUnknownHostException.htmlUnmarshalException.htmlclass-useAccessException.htmlAlreadyBoundException.htmlConnectException.htmlConnectIOException.htmlMarshalException.htmlMarshalledObject.htmlNaming.htmlNoSuchObjectException.htmlNotBoundException.htmlRMISecurityException.htmlRMISecurityManager.htmlRemote.htmlRemoteException.htmlServerError.htmlServerException.htmlServerRuntimeException.htmlStubNotFoundException.htmlUnexpectedException.htmlUnknownHostException.htmlUnmarshalException.htmldgcDGC.htmlLease.htmlVMID.htmlclass-useDGC.htmlLease.htmlVMID.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlregistryLocateRegistry.htmlRegistry.htmlRegistryHandler.htmlclass-useLocateRegistry.htmlRegistry.htmlRegistryHandler.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlserverExportException.htmlLoaderHandler.htmlLogStream.htmlObjID.htmlOperation.htmlRMIClassLoader.htmlRMIClassLoaderSpi.htmlRMIClientSocketFactory.htmlRMIFailureHandler.htmlRMIServerSocketFactory.htmlRMISocketFactory.htmlRemoteCall.htmlRemoteObject.htmlRemoteObjectInvocationHandler.htmlRemoteRef.htmlRemoteServer.htmlRemoteStub.htmlServerCloneException.htmlServerNotActiveException.htmlServerRef.htmlSkeleton.htmlSkeletonMismatchException.htmlSkeletonNotFoundException.htmlSocketSecurityException.htmlUID.htmlUnicastRemoteObject.htmlUnreferenced.htmlclass-useExportException.htmlLoaderHandler.htmlLogStream.htmlObjID.htmlOperation.htmlRMIClassLoader.htmlRMIClassLoaderSpi.htmlRMIClientSocketFactory.htmlRMIFailureHandler.htmlRMIServerSocketFactory.htmlRMISocketFactory.htmlRemoteCall.htmlRemoteObject.htmlRemoteObjectInvocationHandler.htmlRemoteRef.htmlRemoteServer.htmlRemoteStub.htmlServerCloneException.htmlServerNotActiveException.htmlServerRef.htmlSkeleton.htmlSkeletonMismatchException.htmlSkeletonNotFoundException.htmlSocketSecurityException.htmlUID.htmlUnicastRemoteObject.htmlUnreferenced.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljavaxrmisslSslRMIClientSocketFactory.htmlSslRMIServerSocketFactory.htmlclass-useSslRMIClientSocketFactory.htmlSslRMIServerSocketFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.scriptingjavaxscriptAbstractScriptEngine.htmlBindings.htmlCompilable.htmlCompiledScript.htmlInvocable.htmlScriptContext.htmlScriptEngine.htmlScriptEngineFactory.htmlScriptEngineManager.htmlScriptException.htmlSimpleBindings.htmlSimpleScriptContext.htmlclass-useAbstractScriptEngine.htmlBindings.htmlCompilable.htmlCompiledScript.htmlInvocable.htmlScriptContext.htmlScriptEngine.htmlScriptEngineFactory.htmlScriptEngineManager.htmlScriptException.htmlSimpleBindings.htmlSimpleScriptContext.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.semodule-summary.htmljava.security.jgssjavaxsecurityauthkerberosDelegationPermission.htmlEncryptionKey.htmlKerberosCredMessage.htmlKerberosKey.htmlKerberosPrincipal.htmlKerberosTicket.htmlKeyTab.htmlServicePermission.htmlclass-useDelegationPermission.htmlEncryptionKey.htmlKerberosCredMessage.htmlKerberosKey.htmlKerberosPrincipal.htmlKerberosTicket.htmlKeyTab.htmlServicePermission.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmlorgietfjgssChannelBinding.htmlGSSContext.htmlGSSCredential.htmlGSSException.htmlGSSManager.htmlGSSName.htmlMessageProp.htmlOid.htmlclass-useChannelBinding.htmlGSSContext.htmlGSSCredential.htmlGSSException.htmlGSSManager.htmlGSSName.htmlMessageProp.htmlOid.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljava.security.sasljavaxsecuritysaslAuthenticationException.htmlAuthorizeCallback.htmlRealmCallback.htmlRealmChoiceCallback.htmlSasl.htmlSaslClient.htmlSaslClientFactory.htmlSaslException.htmlSaslServer.htmlSaslServerFactory.htmlclass-useAuthenticationException.htmlAuthorizeCallback.htmlRealmCallback.htmlRealmChoiceCallback.htmlSasl.htmlSaslClient.htmlSaslClientFactory.htmlSaslException.htmlSaslServer.htmlSaslServerFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.smartcardiojavaxsmartcardioATR.htmlCard.htmlCardChannel.htmlCardException.htmlCardNotPresentException.htmlCardPermission.htmlCardTerminal.htmlCardTerminals.State.htmlCardTerminals.htmlCommandAPDU.htmlResponseAPDU.htmlTerminalFactory.htmlTerminalFactorySpi.htmlclass-useATR.htmlCard.htmlCardChannel.htmlCardException.htmlCardNotPresentException.htmlCardPermission.htmlCardTerminal.htmlCardTerminals.State.htmlCardTerminals.htmlCommandAPDU.htmlResponseAPDU.htmlTerminalFactory.htmlTerminalFactorySpi.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.sqljava.sql.rowsetjavaxsqlrowsetBaseRowSet.htmlCachedRowSet.htmlFilteredRowSet.htmlJdbcRowSet.htmlJoinRowSet.htmlJoinable.htmlPredicate.htmlRowSetFactory.htmlRowSetMetaDataImpl.htmlRowSetProvider.htmlRowSetWarning.htmlWebRowSet.htmlclass-useBaseRowSet.htmlCachedRowSet.htmlFilteredRowSet.htmlJdbcRowSet.htmlJoinRowSet.htmlJoinable.htmlPredicate.htmlRowSetFactory.htmlRowSetMetaDataImpl.htmlRowSetProvider.htmlRowSetWarning.htmlWebRowSet.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlserialSQLInputImpl.htmlSQLOutputImpl.htmlSerialArray.htmlSerialBlob.htmlSerialClob.htmlSerialDatalink.htmlSerialException.htmlSerialJavaObject.htmlSerialRef.htmlSerialStruct.htmlclass-useSQLInputImpl.htmlSQLOutputImpl.htmlSerialArray.htmlSerialBlob.htmlSerialClob.htmlSerialDatalink.htmlSerialException.htmlSerialJavaObject.htmlSerialRef.htmlSerialStruct.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiSyncFactory.htmlSyncFactoryException.htmlSyncProvider.htmlSyncProviderException.htmlSyncResolver.htmlTransactionalWriter.htmlXmlReader.htmlXmlWriter.htmlclass-useSyncFactory.htmlSyncFactoryException.htmlSyncProvider.htmlSyncProviderException.htmlSyncResolver.htmlTransactionalWriter.htmlXmlReader.htmlXmlWriter.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljavasqlArray.htmlBatchUpdateException.htmlBlob.htmlCallableStatement.htmlClientInfoStatus.htmlClob.htmlConnection.htmlConnectionBuilder.htmlDataTruncation.htmlDatabaseMetaData.htmlDate.htmlDriver.htmlDriverAction.htmlDriverManager.htmlDriverPropertyInfo.htmlJDBCType.htmlNClob.htmlParameterMetaData.htmlPreparedStatement.htmlPseudoColumnUsage.htmlRef.htmlResultSet.htmlResultSetMetaData.htmlRowId.htmlRowIdLifetime.htmlSQLClientInfoException.htmlSQLData.htmlSQLDataException.htmlSQLException.htmlSQLFeatureNotSupportedException.htmlSQLInput.htmlSQLIntegrityConstraintViolationException.htmlSQLInvalidAuthorizationSpecException.htmlSQLNonTransientConnectionException.htmlSQLNonTransientException.htmlSQLOutput.htmlSQLPermission.htmlSQLRecoverableException.htmlSQLSyntaxErrorException.htmlSQLTimeoutException.htmlSQLTransactionRollbackException.htmlSQLTransientConnectionException.htmlSQLTransientException.htmlSQLType.htmlSQLWarning.htmlSQLXML.htmlSavepoint.htmlShardingKey.htmlShardingKeyBuilder.htmlStatement.htmlStruct.htmlTime.htmlTimestamp.htmlTypes.htmlWrapper.htmlclass-useArray.htmlBatchUpdateException.htmlBlob.htmlCallableStatement.htmlClientInfoStatus.htmlClob.htmlConnection.htmlConnectionBuilder.htmlDataTruncation.htmlDatabaseMetaData.htmlDate.htmlDriver.htmlDriverAction.htmlDriverManager.htmlDriverPropertyInfo.htmlJDBCType.htmlNClob.htmlParameterMetaData.htmlPreparedStatement.htmlPseudoColumnUsage.htmlRef.htmlResultSet.htmlResultSetMetaData.htmlRowId.htmlRowIdLifetime.htmlSQLClientInfoException.htmlSQLData.htmlSQLDataException.htmlSQLException.htmlSQLFeatureNotSupportedException.htmlSQLInput.htmlSQLIntegrityConstraintViolationException.htmlSQLInvalidAuthorizationSpecException.htmlSQLNonTransientConnectionException.htmlSQLNonTransientException.htmlSQLOutput.htmlSQLPermission.htmlSQLRecoverableException.htmlSQLSyntaxErrorException.htmlSQLTimeoutException.htmlSQLTransactionRollbackException.htmlSQLTransientConnectionException.htmlSQLTransientException.htmlSQLType.htmlSQLWarning.htmlSQLXML.htmlSavepoint.htmlShardingKey.htmlShardingKeyBuilder.htmlStatement.htmlStruct.htmlTime.htmlTimestamp.htmlTypes.htmlWrapper.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljavaxsqlCommonDataSource.htmlConnectionEvent.htmlConnectionEventListener.htmlConnectionPoolDataSource.htmlDataSource.htmlPooledConnection.htmlPooledConnectionBuilder.htmlRowSet.htmlRowSetEvent.htmlRowSetInternal.htmlRowSetListener.htmlRowSetMetaData.htmlRowSetReader.htmlRowSetWriter.htmlStatementEvent.htmlStatementEventListener.htmlXAConnection.htmlXAConnectionBuilder.htmlXADataSource.htmlclass-useCommonDataSource.htmlConnectionEvent.htmlConnectionEventListener.htmlConnectionPoolDataSource.htmlDataSource.htmlPooledConnection.htmlPooledConnectionBuilder.htmlRowSet.htmlRowSetEvent.htmlRowSetInternal.htmlRowSetListener.htmlRowSetMetaData.htmlRowSetReader.htmlRowSetWriter.htmlStatementEvent.htmlStatementEventListener.htmlXAConnection.htmlXAConnectionBuilder.htmlXADataSource.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.transaction.xajavaxtransactionxaXAException.htmlXAResource.htmlXid.htmlclass-useXAException.htmlXAResource.htmlXid.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljava.xmljava.xml.cryptojavaxxmlcryptoAlgorithmMethod.htmlData.htmlKeySelector.Purpose.htmlKeySelector.htmlKeySelectorException.htmlKeySelectorResult.htmlMarshalException.htmlNoSuchMechanismException.htmlNodeSetData.htmlOctetStreamData.htmlURIDereferencer.htmlURIReference.htmlURIReferenceException.htmlXMLCryptoContext.htmlXMLStructure.htmlclass-useAlgorithmMethod.htmlData.htmlKeySelector.Purpose.htmlKeySelector.htmlKeySelectorException.htmlKeySelectorResult.htmlMarshalException.htmlNoSuchMechanismException.htmlNodeSetData.htmlOctetStreamData.htmlURIDereferencer.htmlURIReference.htmlURIReferenceException.htmlXMLCryptoContext.htmlXMLStructure.htmldomDOMCryptoContext.htmlDOMStructure.htmlDOMURIReference.htmlclass-useDOMCryptoContext.htmlDOMStructure.htmlDOMURIReference.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmldsigCanonicalizationMethod.htmlDigestMethod.htmlManifest.htmlReference.htmlSignatureMethod.htmlSignatureProperties.htmlSignatureProperty.htmlSignedInfo.htmlTransform.htmlTransformException.htmlTransformService.htmlXMLObject.htmlXMLSignContext.htmlXMLSignature.SignatureValue.htmlXMLSignature.htmlXMLSignatureException.htmlXMLSignatureFactory.htmlXMLValidateContext.htmlclass-useCanonicalizationMethod.htmlDigestMethod.htmlManifest.htmlReference.htmlSignatureMethod.htmlSignatureProperties.htmlSignatureProperty.htmlSignedInfo.htmlTransform.htmlTransformException.htmlTransformService.htmlXMLObject.htmlXMLSignContext.htmlXMLSignature.SignatureValue.htmlXMLSignature.htmlXMLSignatureException.htmlXMLSignatureFactory.htmlXMLValidateContext.htmldomDOMSignContext.htmlDOMValidateContext.htmlclass-useDOMSignContext.htmlDOMValidateContext.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlkeyinfoKeyInfo.htmlKeyInfoFactory.htmlKeyName.htmlKeyValue.htmlPGPData.htmlRetrievalMethod.htmlX509Data.htmlX509IssuerSerial.htmlclass-useKeyInfo.htmlKeyInfoFactory.htmlKeyName.htmlKeyValue.htmlPGPData.htmlRetrievalMethod.htmlX509Data.htmlX509IssuerSerial.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspecC14NMethodParameterSpec.htmlDigestMethodParameterSpec.htmlExcC14NParameterSpec.htmlHMACParameterSpec.htmlRSAPSSParameterSpec.htmlSignatureMethodParameterSpec.htmlTransformParameterSpec.htmlXPathFilter2ParameterSpec.htmlXPathFilterParameterSpec.htmlXPathType.Filter.htmlXPathType.htmlXSLTTransformParameterSpec.htmlclass-useC14NMethodParameterSpec.htmlDigestMethodParameterSpec.htmlExcC14NParameterSpec.htmlHMACParameterSpec.htmlRSAPSSParameterSpec.htmlSignatureMethodParameterSpec.htmlTransformParameterSpec.htmlXPathFilter2ParameterSpec.htmlXPathFilterParameterSpec.htmlXPathType.Filter.htmlXPathType.htmlXSLTTransformParameterSpec.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljavaxxmlXMLConstants.htmlcatalogCatalog.htmlCatalogException.htmlCatalogFeatures.Builder.htmlCatalogFeatures.Feature.htmlCatalogFeatures.htmlCatalogManager.htmlCatalogResolver.htmlclass-useCatalog.htmlCatalogException.htmlCatalogFeatures.Builder.htmlCatalogFeatures.Feature.htmlCatalogFeatures.htmlCatalogManager.htmlCatalogResolver.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useXMLConstants.htmldatatypeDatatypeConfigurationException.htmlDatatypeConstants.Field.htmlDatatypeConstants.htmlDatatypeFactory.htmlDuration.htmlXMLGregorianCalendar.htmlclass-useDatatypeConfigurationException.htmlDatatypeConstants.Field.htmlDatatypeConstants.htmlDatatypeFactory.htmlDuration.htmlXMLGregorianCalendar.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlnamespaceNamespaceContext.htmlQName.htmlclass-useNamespaceContext.htmlQName.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlparsersDocumentBuilder.htmlDocumentBuilderFactory.htmlFactoryConfigurationError.htmlParserConfigurationException.htmlSAXParser.htmlSAXParserFactory.htmlclass-useDocumentBuilder.htmlDocumentBuilderFactory.htmlFactoryConfigurationError.htmlParserConfigurationException.htmlSAXParser.htmlSAXParserFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlstreamEventFilter.htmlFactoryConfigurationError.htmlLocation.htmlStreamFilter.htmlXMLEventFactory.htmlXMLEventReader.htmlXMLEventWriter.htmlXMLInputFactory.htmlXMLOutputFactory.htmlXMLReporter.htmlXMLResolver.htmlXMLStreamConstants.htmlXMLStreamException.htmlXMLStreamReader.htmlXMLStreamWriter.htmlclass-useEventFilter.htmlFactoryConfigurationError.htmlLocation.htmlStreamFilter.htmlXMLEventFactory.htmlXMLEventReader.htmlXMLEventWriter.htmlXMLInputFactory.htmlXMLOutputFactory.htmlXMLReporter.htmlXMLResolver.htmlXMLStreamConstants.htmlXMLStreamException.htmlXMLStreamReader.htmlXMLStreamWriter.htmleventsAttribute.htmlCharacters.htmlComment.htmlDTD.htmlEndDocument.htmlEndElement.htmlEntityDeclaration.htmlEntityReference.htmlNamespace.htmlNotationDeclaration.htmlProcessingInstruction.htmlStartDocument.htmlStartElement.htmlXMLEvent.htmlclass-useAttribute.htmlCharacters.htmlComment.htmlDTD.htmlEndDocument.htmlEndElement.htmlEntityDeclaration.htmlEntityReference.htmlNamespace.htmlNotationDeclaration.htmlProcessingInstruction.htmlStartDocument.htmlStartElement.htmlXMLEvent.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlutilEventReaderDelegate.htmlStreamReaderDelegate.htmlXMLEventAllocator.htmlXMLEventConsumer.htmlclass-useEventReaderDelegate.htmlStreamReaderDelegate.htmlXMLEventAllocator.htmlXMLEventConsumer.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltransformErrorListener.htmlOutputKeys.htmlResult.htmlSource.htmlSourceLocator.htmlTemplates.htmlTransformer.htmlTransformerConfigurationException.htmlTransformerException.htmlTransformerFactory.htmlTransformerFactoryConfigurationError.htmlURIResolver.htmlclass-useErrorListener.htmlOutputKeys.htmlResult.htmlSource.htmlSourceLocator.htmlTemplates.htmlTransformer.htmlTransformerConfigurationException.htmlTransformerException.htmlTransformerFactory.htmlTransformerFactoryConfigurationError.htmlURIResolver.htmldomDOMLocator.htmlDOMResult.htmlDOMSource.htmlclass-useDOMLocator.htmlDOMResult.htmlDOMSource.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlsaxSAXResult.htmlSAXSource.htmlSAXTransformerFactory.htmlTemplatesHandler.htmlTransformerHandler.htmlclass-useSAXResult.htmlSAXSource.htmlSAXTransformerFactory.htmlTemplatesHandler.htmlTransformerHandler.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlstaxStAXResult.htmlStAXSource.htmlclass-useStAXResult.htmlStAXSource.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlstreamStreamResult.htmlStreamSource.htmlclass-useStreamResult.htmlStreamSource.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlvalidationSchema.htmlSchemaFactory.htmlSchemaFactoryConfigurationError.htmlSchemaFactoryLoader.htmlTypeInfoProvider.htmlValidator.htmlValidatorHandler.htmlclass-useSchema.htmlSchemaFactory.htmlSchemaFactoryConfigurationError.htmlSchemaFactoryLoader.htmlTypeInfoProvider.htmlValidator.htmlValidatorHandler.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlxpathXPath.htmlXPathConstants.htmlXPathEvaluationResult.XPathResultType.htmlXPathEvaluationResult.htmlXPathException.htmlXPathExpression.htmlXPathExpressionException.htmlXPathFactory.htmlXPathFactoryConfigurationException.htmlXPathFunction.htmlXPathFunctionException.htmlXPathFunctionResolver.htmlXPathNodes.htmlXPathVariableResolver.htmlclass-useXPath.htmlXPathConstants.htmlXPathEvaluationResult.XPathResultType.htmlXPathEvaluationResult.htmlXPathException.htmlXPathExpression.htmlXPathExpressionException.htmlXPathFactory.htmlXPathFactoryConfigurationException.htmlXPathFunction.htmlXPathFunctionException.htmlXPathFunctionResolver.htmlXPathNodes.htmlXPathVariableResolver.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmlorgw3cdomAttr.htmlCDATASection.htmlCharacterData.htmlComment.htmlDOMConfiguration.htmlDOMError.htmlDOMErrorHandler.htmlDOMException.htmlDOMImplementation.htmlDOMImplementationList.htmlDOMImplementationSource.htmlDOMLocator.htmlDOMStringList.htmlDocument.htmlDocumentFragment.htmlDocumentType.htmlElement.htmlElementTraversal.htmlEntity.htmlEntityReference.htmlNameList.htmlNamedNodeMap.htmlNode.htmlNodeList.htmlNotation.htmlProcessingInstruction.htmlText.htmlTypeInfo.htmlUserDataHandler.htmlbootstrapDOMImplementationRegistry.htmlclass-useDOMImplementationRegistry.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useAttr.htmlCDATASection.htmlCharacterData.htmlComment.htmlDOMConfiguration.htmlDOMError.htmlDOMErrorHandler.htmlDOMException.htmlDOMImplementation.htmlDOMImplementationList.htmlDOMImplementationSource.htmlDOMLocator.htmlDOMStringList.htmlDocument.htmlDocumentFragment.htmlDocumentType.htmlElement.htmlElementTraversal.htmlEntity.htmlEntityReference.htmlNameList.htmlNamedNodeMap.htmlNode.htmlNodeList.htmlNotation.htmlProcessingInstruction.htmlText.htmlTypeInfo.htmlUserDataHandler.htmleventsDocumentEvent.htmlEvent.htmlEventException.htmlEventListener.htmlEventTarget.htmlMouseEvent.htmlMutationEvent.htmlUIEvent.htmlclass-useDocumentEvent.htmlEvent.htmlEventException.htmlEventListener.htmlEventTarget.htmlMouseEvent.htmlMutationEvent.htmlUIEvent.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmllsDOMImplementationLS.htmlLSException.htmlLSInput.htmlLSLoadEvent.htmlLSOutput.htmlLSParser.htmlLSParserFilter.htmlLSProgressEvent.htmlLSResourceResolver.htmlLSSerializer.htmlLSSerializerFilter.htmlclass-useDOMImplementationLS.htmlLSException.htmlLSInput.htmlLSLoadEvent.htmlLSOutput.htmlLSParser.htmlLSParserFilter.htmlLSProgressEvent.htmlLSResourceResolver.htmlLSSerializer.htmlLSSerializerFilter.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlrangesDocumentRange.htmlRange.htmlRangeException.htmlclass-useDocumentRange.htmlRange.htmlRangeException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltraversalDocumentTraversal.htmlNodeFilter.htmlNodeIterator.htmlTreeWalker.htmlclass-useDocumentTraversal.htmlNodeFilter.htmlNodeIterator.htmlTreeWalker.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlviewsAbstractView.htmlDocumentView.htmlclass-useAbstractView.htmlDocumentView.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlxmlsaxAttributeList.htmlAttributes.htmlContentHandler.htmlDTDHandler.htmlDocumentHandler.htmlEntityResolver.htmlErrorHandler.htmlHandlerBase.htmlInputSource.htmlLocator.htmlParser.htmlSAXException.htmlSAXNotRecognizedException.htmlSAXNotSupportedException.htmlSAXParseException.htmlXMLFilter.htmlXMLReader.htmlclass-useAttributeList.htmlAttributes.htmlContentHandler.htmlDTDHandler.htmlDocumentHandler.htmlEntityResolver.htmlErrorHandler.htmlHandlerBase.htmlInputSource.htmlLocator.htmlParser.htmlSAXException.htmlSAXNotRecognizedException.htmlSAXNotSupportedException.htmlSAXParseException.htmlXMLFilter.htmlXMLReader.htmlextAttributes2.htmlAttributes2Impl.htmlDeclHandler.htmlDefaultHandler2.htmlEntityResolver2.htmlLexicalHandler.htmlLocator2.htmlLocator2Impl.htmlclass-useAttributes2.htmlAttributes2Impl.htmlDeclHandler.htmlDefaultHandler2.htmlEntityResolver2.htmlLexicalHandler.htmlLocator2.htmlLocator2Impl.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlhelpersAttributeListImpl.htmlAttributesImpl.htmlDefaultHandler.htmlLocatorImpl.htmlNamespaceSupport.htmlParserAdapter.htmlParserFactory.htmlXMLFilterImpl.htmlXMLReaderAdapter.htmlXMLReaderFactory.htmlclass-useAttributeListImpl.htmlAttributesImpl.htmlDefaultHandler.htmlLocatorImpl.htmlNamespaceSupport.htmlParserAdapter.htmlParserFactory.htmlXMLFilterImpl.htmlXMLReaderAdapter.htmlXMLReaderFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljdk.accessibilitycomsunjavaaccessibilityutilAWTEventMonitor.htmlAccessibilityEventMonitor.htmlAccessibilityListenerList.htmlEventID.htmlEventQueueMonitor.htmlGUIInitializedListener.htmlSwingEventMonitor.htmlTopLevelWindowListener.htmlTranslator.htmlclass-useAWTEventMonitor.htmlAccessibilityEventMonitor.htmlAccessibilityListenerList.htmlEventID.htmlEventQueueMonitor.htmlGUIInitializedListener.htmlSwingEventMonitor.htmlTopLevelWindowListener.htmlTranslator.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.attachcomsuntoolsattachAgentInitializationException.htmlAgentLoadException.htmlAttachNotSupportedException.htmlAttachOperationFailedException.htmlAttachPermission.htmlVirtualMachine.htmlVirtualMachineDescriptor.htmlclass-useAgentInitializationException.htmlAgentLoadException.htmlAttachNotSupportedException.htmlAttachOperationFailedException.htmlAttachPermission.htmlVirtualMachine.htmlVirtualMachineDescriptor.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiAttachProvider.htmlclass-useAttachProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.charsetsmodule-summary.htmljdk.compilercomsunsourcedoctreeAttributeTree.ValueKind.htmlAttributeTree.htmlAuthorTree.htmlBlockTagTree.htmlCommentTree.htmlDeprecatedTree.htmlDocCommentTree.htmlDocRootTree.htmlDocTree.Kind.htmlDocTree.htmlDocTreeVisitor.htmlDocTypeTree.htmlEndElementTree.htmlEntityTree.htmlErroneousTree.htmlEscapeTree.htmlHiddenTree.htmlIdentifierTree.htmlIndexTree.htmlInheritDocTree.htmlInlineTagTree.htmlLinkTree.htmlLiteralTree.htmlParamTree.htmlProvidesTree.htmlReferenceTree.htmlReturnTree.htmlSeeTree.htmlSerialDataTree.htmlSerialFieldTree.htmlSerialTree.htmlSinceTree.htmlSnippetTree.htmlSpecTree.htmlStartElementTree.htmlSummaryTree.htmlSystemPropertyTree.htmlTextTree.htmlThrowsTree.htmlUnknownBlockTagTree.htmlUnknownInlineTagTree.htmlUsesTree.htmlValueTree.htmlVersionTree.htmlclass-useAttributeTree.ValueKind.htmlAttributeTree.htmlAuthorTree.htmlBlockTagTree.htmlCommentTree.htmlDeprecatedTree.htmlDocCommentTree.htmlDocRootTree.htmlDocTree.Kind.htmlDocTree.htmlDocTreeVisitor.htmlDocTypeTree.htmlEndElementTree.htmlEntityTree.htmlErroneousTree.htmlEscapeTree.htmlHiddenTree.htmlIdentifierTree.htmlIndexTree.htmlInheritDocTree.htmlInlineTagTree.htmlLinkTree.htmlLiteralTree.htmlParamTree.htmlProvidesTree.htmlReferenceTree.htmlReturnTree.htmlSeeTree.htmlSerialDataTree.htmlSerialFieldTree.htmlSerialTree.htmlSinceTree.htmlSnippetTree.htmlSpecTree.htmlStartElementTree.htmlSummaryTree.htmlSystemPropertyTree.htmlTextTree.htmlThrowsTree.htmlUnknownBlockTagTree.htmlUnknownInlineTagTree.htmlUsesTree.htmlValueTree.htmlVersionTree.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltreeAnnotatedTypeTree.htmlAnnotationTree.htmlAnyPatternTree.htmlArrayAccessTree.htmlArrayTypeTree.htmlAssertTree.htmlAssignmentTree.htmlBinaryTree.htmlBindingPatternTree.htmlBlockTree.htmlBreakTree.htmlCaseLabelTree.htmlCaseTree.CaseKind.htmlCaseTree.htmlCatchTree.htmlClassTree.htmlCompilationUnitTree.htmlCompoundAssignmentTree.htmlConditionalExpressionTree.htmlConstantCaseLabelTree.htmlContinueTree.htmlDeconstructionPatternTree.htmlDefaultCaseLabelTree.htmlDirectiveTree.htmlDoWhileLoopTree.htmlEmptyStatementTree.htmlEnhancedForLoopTree.htmlErroneousTree.htmlExportsTree.htmlExpressionStatementTree.htmlExpressionTree.htmlForLoopTree.htmlIdentifierTree.htmlIfTree.htmlImportTree.htmlInstanceOfTree.htmlIntersectionTypeTree.htmlLabeledStatementTree.htmlLambdaExpressionTree.BodyKind.htmlLambdaExpressionTree.htmlLineMap.htmlLiteralTree.htmlMemberReferenceTree.ReferenceMode.htmlMemberReferenceTree.htmlMemberSelectTree.htmlMethodInvocationTree.htmlMethodTree.htmlModifiersTree.htmlModuleTree.ModuleKind.htmlModuleTree.htmlNewArrayTree.htmlNewClassTree.htmlOpensTree.htmlPackageTree.htmlParameterizedTypeTree.htmlParenthesizedTree.htmlPatternCaseLabelTree.htmlPatternTree.htmlPrimitiveTypeTree.htmlProvidesTree.htmlRequiresTree.htmlReturnTree.htmlScope.htmlStatementTree.htmlStringTemplateTree.htmlSwitchExpressionTree.htmlSwitchTree.htmlSynchronizedTree.htmlThrowTree.htmlTree.Kind.htmlTree.htmlTreeVisitor.htmlTryTree.htmlTypeCastTree.htmlTypeParameterTree.htmlUnaryTree.htmlUnionTypeTree.htmlUsesTree.htmlVariableTree.htmlWhileLoopTree.htmlWildcardTree.htmlYieldTree.htmlclass-useAnnotatedTypeTree.htmlAnnotationTree.htmlAnyPatternTree.htmlArrayAccessTree.htmlArrayTypeTree.htmlAssertTree.htmlAssignmentTree.htmlBinaryTree.htmlBindingPatternTree.htmlBlockTree.htmlBreakTree.htmlCaseLabelTree.htmlCaseTree.CaseKind.htmlCaseTree.htmlCatchTree.htmlClassTree.htmlCompilationUnitTree.htmlCompoundAssignmentTree.htmlConditionalExpressionTree.htmlConstantCaseLabelTree.htmlContinueTree.htmlDeconstructionPatternTree.htmlDefaultCaseLabelTree.htmlDirectiveTree.htmlDoWhileLoopTree.htmlEmptyStatementTree.htmlEnhancedForLoopTree.htmlErroneousTree.htmlExportsTree.htmlExpressionStatementTree.htmlExpressionTree.htmlForLoopTree.htmlIdentifierTree.htmlIfTree.htmlImportTree.htmlInstanceOfTree.htmlIntersectionTypeTree.htmlLabeledStatementTree.htmlLambdaExpressionTree.BodyKind.htmlLambdaExpressionTree.htmlLineMap.htmlLiteralTree.htmlMemberReferenceTree.ReferenceMode.htmlMemberReferenceTree.htmlMemberSelectTree.htmlMethodInvocationTree.htmlMethodTree.htmlModifiersTree.htmlModuleTree.ModuleKind.htmlModuleTree.htmlNewArrayTree.htmlNewClassTree.htmlOpensTree.htmlPackageTree.htmlParameterizedTypeTree.htmlParenthesizedTree.htmlPatternCaseLabelTree.htmlPatternTree.htmlPrimitiveTypeTree.htmlProvidesTree.htmlRequiresTree.htmlReturnTree.htmlScope.htmlStatementTree.htmlStringTemplateTree.htmlSwitchExpressionTree.htmlSwitchTree.htmlSynchronizedTree.htmlThrowTree.htmlTree.Kind.htmlTree.htmlTreeVisitor.htmlTryTree.htmlTypeCastTree.htmlTypeParameterTree.htmlUnaryTree.htmlUnionTypeTree.htmlUsesTree.htmlVariableTree.htmlWhileLoopTree.htmlWildcardTree.htmlYieldTree.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlutilDocSourcePositions.htmlDocTreeFactory.htmlDocTreePath.htmlDocTreePathScanner.htmlDocTreeScanner.htmlDocTrees.htmlJavacTask.htmlParameterNameProvider.htmlPlugin.htmlSimpleDocTreeVisitor.htmlSimpleTreeVisitor.htmlSourcePositions.htmlTaskEvent.Kind.htmlTaskEvent.htmlTaskListener.htmlTreePath.htmlTreePathScanner.htmlTreeScanner.htmlTrees.htmlclass-useDocSourcePositions.htmlDocTreeFactory.htmlDocTreePath.htmlDocTreePathScanner.htmlDocTreeScanner.htmlDocTrees.htmlJavacTask.htmlParameterNameProvider.htmlPlugin.htmlSimpleDocTreeVisitor.htmlSimpleTreeVisitor.htmlSourcePositions.htmlTaskEvent.Kind.htmlTaskEvent.htmlTaskListener.htmlTreePath.htmlTreePathScanner.htmlTreeScanner.htmlTrees.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltoolsjavacMain.htmlclass-useMain.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.crypto.cryptokimodule-summary.htmljdk.crypto.ecmodule-summary.htmljdk.dynalinkjdkdynalinkCallSiteDescriptor.htmlDynamicLinker.htmlDynamicLinkerFactory.htmlNamedOperation.htmlNamespace.htmlNamespaceOperation.htmlNoSuchDynamicMethodException.htmlOperation.htmlRelinkableCallSite.htmlSecureLookupSupplier.htmlStandardNamespace.htmlStandardOperation.htmlbeansBeansLinker.htmlMissingMemberHandlerFactory.htmlStaticClass.htmlclass-useBeansLinker.htmlMissingMemberHandlerFactory.htmlStaticClass.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useCallSiteDescriptor.htmlDynamicLinker.htmlDynamicLinkerFactory.htmlNamedOperation.htmlNamespace.htmlNamespaceOperation.htmlNoSuchDynamicMethodException.htmlOperation.htmlRelinkableCallSite.htmlSecureLookupSupplier.htmlStandardNamespace.htmlStandardOperation.htmllinkerConversionComparator.Comparison.htmlConversionComparator.htmlGuardedInvocation.htmlGuardedInvocationTransformer.htmlGuardingDynamicLinker.htmlGuardingDynamicLinkerExporter.htmlGuardingTypeConverterFactory.htmlLinkRequest.htmlLinkerServices.htmlMethodHandleTransformer.htmlMethodTypeConversionStrategy.htmlTypeBasedGuardingDynamicLinker.htmlclass-useConversionComparator.Comparison.htmlConversionComparator.htmlGuardedInvocation.htmlGuardedInvocationTransformer.htmlGuardingDynamicLinker.htmlGuardingDynamicLinkerExporter.htmlGuardingTypeConverterFactory.htmlLinkRequest.htmlLinkerServices.htmlMethodHandleTransformer.htmlMethodTypeConversionStrategy.htmlTypeBasedGuardingDynamicLinker.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlsupportCompositeGuardingDynamicLinker.htmlCompositeTypeBasedGuardingDynamicLinker.htmlDefaultInternalObjectFilter.htmlGuards.htmlLookup.htmlSimpleLinkRequest.htmlTypeUtilities.htmlclass-useCompositeGuardingDynamicLinker.htmlCompositeTypeBasedGuardingDynamicLinker.htmlDefaultInternalObjectFilter.htmlGuards.htmlLookup.htmlSimpleLinkRequest.htmlTypeUtilities.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlsupportAbstractRelinkableCallSite.htmlChainedCallSite.htmlSimpleRelinkableCallSite.htmlclass-useAbstractRelinkableCallSite.htmlChainedCallSite.htmlSimpleRelinkableCallSite.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.editpadmodule-summary.htmljdk.hotspot.agentmodule-summary.htmljdk.httpservercomsunnethttpserverAuthenticator.Failure.htmlAuthenticator.Result.htmlAuthenticator.Retry.htmlAuthenticator.Success.htmlAuthenticator.htmlBasicAuthenticator.htmlFilter.Chain.htmlFilter.htmlHeaders.htmlHttpContext.htmlHttpExchange.htmlHttpHandler.htmlHttpHandlers.htmlHttpPrincipal.htmlHttpServer.htmlHttpsConfigurator.htmlHttpsExchange.htmlHttpsParameters.htmlHttpsServer.htmlRequest.htmlSimpleFileServer.OutputLevel.htmlSimpleFileServer.htmlclass-useAuthenticator.Failure.htmlAuthenticator.Result.htmlAuthenticator.Retry.htmlAuthenticator.Success.htmlAuthenticator.htmlBasicAuthenticator.htmlFilter.Chain.htmlFilter.htmlHeaders.htmlHttpContext.htmlHttpExchange.htmlHttpHandler.htmlHttpHandlers.htmlHttpPrincipal.htmlHttpServer.htmlHttpsConfigurator.htmlHttpsExchange.htmlHttpsParameters.htmlHttpsServer.htmlRequest.htmlSimpleFileServer.OutputLevel.htmlSimpleFileServer.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiHttpServerProvider.htmlclass-useHttpServerProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.incubator.vectorjdkincubatorvectorByteVector.htmlDoubleVector.htmlFloatVector.htmlIntVector.htmlLongVector.htmlShortVector.htmlVector.htmlVectorMask.htmlVectorOperators.Associative.htmlVectorOperators.Binary.htmlVectorOperators.Comparison.htmlVectorOperators.Conversion.htmlVectorOperators.Operator.htmlVectorOperators.Ternary.htmlVectorOperators.Test.htmlVectorOperators.Unary.htmlVectorOperators.htmlVectorShape.htmlVectorShuffle.htmlVectorSpecies.htmlclass-useByteVector.htmlDoubleVector.htmlFloatVector.htmlIntVector.htmlLongVector.htmlShortVector.htmlVector.htmlVectorMask.htmlVectorOperators.Associative.htmlVectorOperators.Binary.htmlVectorOperators.Comparison.htmlVectorOperators.Conversion.htmlVectorOperators.Operator.htmlVectorOperators.Ternary.htmlVectorOperators.Test.htmlVectorOperators.Unary.htmlVectorOperators.htmlVectorShape.htmlVectorShuffle.htmlVectorSpecies.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.jartooljdksecurityjarsignerJarSigner.Builder.htmlJarSigner.htmlJarSignerException.htmlclass-useJarSigner.Builder.htmlJarSigner.htmlJarSignerException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.javadocjdkjavadocdocletDoclet.Option.Kind.htmlDoclet.Option.htmlDoclet.htmlDocletEnvironment.ModuleMode.htmlDocletEnvironment.htmlReporter.htmlStandardDoclet.htmlTaglet.Location.htmlTaglet.htmlclass-useDoclet.Option.Kind.htmlDoclet.Option.htmlDoclet.htmlDocletEnvironment.ModuleMode.htmlDocletEnvironment.htmlReporter.htmlStandardDoclet.htmlTaglet.Location.htmlTaglet.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.jcmdmodule-summary.htmljdk.jconsolecomsuntoolsjconsoleJConsoleContext.ConnectionState.htmlJConsoleContext.htmlJConsolePlugin.htmlclass-useJConsoleContext.ConnectionState.htmlJConsoleContext.htmlJConsolePlugin.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.jdepsmodule-summary.htmljdk.jdicomsunjdiAbsentInformationException.htmlAccessible.htmlArrayReference.htmlArrayType.htmlBooleanType.htmlBooleanValue.htmlBootstrap.htmlByteType.htmlByteValue.htmlCharType.htmlCharValue.htmlClassLoaderReference.htmlClassNotLoadedException.htmlClassNotPreparedException.htmlClassObjectReference.htmlClassType.htmlDoubleType.htmlDoubleValue.htmlField.htmlFloatType.htmlFloatValue.htmlIncompatibleThreadStateException.htmlInconsistentDebugInfoException.htmlIntegerType.htmlIntegerValue.htmlInterfaceType.htmlInternalException.htmlInvalidCodeIndexException.htmlInvalidLineNumberException.htmlInvalidModuleException.htmlInvalidStackFrameException.htmlInvalidTypeException.htmlInvocationException.htmlJDIPermission.htmlLocalVariable.htmlLocatable.htmlLocation.htmlLongType.htmlLongValue.htmlMethod.htmlMirror.htmlModuleReference.htmlMonitorInfo.htmlNativeMethodException.htmlObjectCollectedException.htmlObjectReference.htmlOpaqueFrameException.htmlPathSearchingVirtualMachine.htmlPrimitiveType.htmlPrimitiveValue.htmlReferenceType.htmlShortType.htmlShortValue.htmlStackFrame.htmlStringReference.htmlThreadGroupReference.htmlThreadReference.htmlType.htmlTypeComponent.htmlVMCannotBeModifiedException.htmlVMDisconnectedException.htmlVMMismatchException.htmlVMOutOfMemoryException.htmlValue.htmlVirtualMachine.htmlVirtualMachineManager.htmlVoidType.htmlVoidValue.htmlclass-useAbsentInformationException.htmlAccessible.htmlArrayReference.htmlArrayType.htmlBooleanType.htmlBooleanValue.htmlBootstrap.htmlByteType.htmlByteValue.htmlCharType.htmlCharValue.htmlClassLoaderReference.htmlClassNotLoadedException.htmlClassNotPreparedException.htmlClassObjectReference.htmlClassType.htmlDoubleType.htmlDoubleValue.htmlField.htmlFloatType.htmlFloatValue.htmlIncompatibleThreadStateException.htmlInconsistentDebugInfoException.htmlIntegerType.htmlIntegerValue.htmlInterfaceType.htmlInternalException.htmlInvalidCodeIndexException.htmlInvalidLineNumberException.htmlInvalidModuleException.htmlInvalidStackFrameException.htmlInvalidTypeException.htmlInvocationException.htmlJDIPermission.htmlLocalVariable.htmlLocatable.htmlLocation.htmlLongType.htmlLongValue.htmlMethod.htmlMirror.htmlModuleReference.htmlMonitorInfo.htmlNativeMethodException.htmlObjectCollectedException.htmlObjectReference.htmlOpaqueFrameException.htmlPathSearchingVirtualMachine.htmlPrimitiveType.htmlPrimitiveValue.htmlReferenceType.htmlShortType.htmlShortValue.htmlStackFrame.htmlStringReference.htmlThreadGroupReference.htmlThreadReference.htmlType.htmlTypeComponent.htmlVMCannotBeModifiedException.htmlVMDisconnectedException.htmlVMMismatchException.htmlVMOutOfMemoryException.htmlValue.htmlVirtualMachine.htmlVirtualMachineManager.htmlVoidType.htmlVoidValue.htmlconnectAttachingConnector.htmlConnector.Argument.htmlConnector.BooleanArgument.htmlConnector.IntegerArgument.htmlConnector.SelectedArgument.htmlConnector.StringArgument.htmlConnector.htmlIllegalConnectorArgumentsException.htmlLaunchingConnector.htmlListeningConnector.htmlTransport.htmlTransportTimeoutException.htmlVMStartException.htmlclass-useAttachingConnector.htmlConnector.Argument.htmlConnector.BooleanArgument.htmlConnector.IntegerArgument.htmlConnector.SelectedArgument.htmlConnector.StringArgument.htmlConnector.htmlIllegalConnectorArgumentsException.htmlLaunchingConnector.htmlListeningConnector.htmlTransport.htmlTransportTimeoutException.htmlVMStartException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiClosedConnectionException.htmlConnection.htmlTransportService.Capabilities.htmlTransportService.ListenKey.htmlTransportService.htmlclass-useClosedConnectionException.htmlConnection.htmlTransportService.Capabilities.htmlTransportService.ListenKey.htmlTransportService.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmleventAccessWatchpointEvent.htmlBreakpointEvent.htmlClassPrepareEvent.htmlClassUnloadEvent.htmlEvent.htmlEventIterator.htmlEventQueue.htmlEventSet.htmlExceptionEvent.htmlLocatableEvent.htmlMethodEntryEvent.htmlMethodExitEvent.htmlModificationWatchpointEvent.htmlMonitorContendedEnterEvent.htmlMonitorContendedEnteredEvent.htmlMonitorWaitEvent.htmlMonitorWaitedEvent.htmlStepEvent.htmlThreadDeathEvent.htmlThreadStartEvent.htmlVMDeathEvent.htmlVMDisconnectEvent.htmlVMStartEvent.htmlWatchpointEvent.htmlclass-useAccessWatchpointEvent.htmlBreakpointEvent.htmlClassPrepareEvent.htmlClassUnloadEvent.htmlEvent.htmlEventIterator.htmlEventQueue.htmlEventSet.htmlExceptionEvent.htmlLocatableEvent.htmlMethodEntryEvent.htmlMethodExitEvent.htmlModificationWatchpointEvent.htmlMonitorContendedEnterEvent.htmlMonitorContendedEnteredEvent.htmlMonitorWaitEvent.htmlMonitorWaitedEvent.htmlStepEvent.htmlThreadDeathEvent.htmlThreadStartEvent.htmlVMDeathEvent.htmlVMDisconnectEvent.htmlVMStartEvent.htmlWatchpointEvent.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlrequestAccessWatchpointRequest.htmlBreakpointRequest.htmlClassPrepareRequest.htmlClassUnloadRequest.htmlDuplicateRequestException.htmlEventRequest.htmlEventRequestManager.htmlExceptionRequest.htmlInvalidRequestStateException.htmlMethodEntryRequest.htmlMethodExitRequest.htmlModificationWatchpointRequest.htmlMonitorContendedEnterRequest.htmlMonitorContendedEnteredRequest.htmlMonitorWaitRequest.htmlMonitorWaitedRequest.htmlStepRequest.htmlThreadDeathRequest.htmlThreadStartRequest.htmlVMDeathRequest.htmlWatchpointRequest.htmlclass-useAccessWatchpointRequest.htmlBreakpointRequest.htmlClassPrepareRequest.htmlClassUnloadRequest.htmlDuplicateRequestException.htmlEventRequest.htmlEventRequestManager.htmlExceptionRequest.htmlInvalidRequestStateException.htmlMethodEntryRequest.htmlMethodExitRequest.htmlModificationWatchpointRequest.htmlMonitorContendedEnterRequest.htmlMonitorContendedEnteredRequest.htmlMonitorWaitRequest.htmlMonitorWaitedRequest.htmlStepRequest.htmlThreadDeathRequest.htmlThreadStartRequest.htmlVMDeathRequest.htmlWatchpointRequest.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.jdwp.agentmodule-summary.htmljdk.jfrjdkjfrAnnotationElement.htmlBooleanFlag.htmlCategory.htmlConfiguration.htmlContentType.htmlDataAmount.htmlDescription.htmlEnabled.htmlEvent.htmlEventFactory.htmlEventSettings.htmlEventType.htmlExperimental.htmlFlightRecorder.htmlFlightRecorderListener.htmlFlightRecorderPermission.htmlFrequency.htmlLabel.htmlMemoryAddress.htmlMetadataDefinition.htmlName.htmlPercentage.htmlPeriod.htmlRecording.htmlRecordingState.htmlRegistered.htmlRelational.htmlSettingControl.htmlSettingDefinition.htmlSettingDescriptor.htmlStackTrace.htmlThreshold.htmlTimespan.htmlTimestamp.htmlTransitionFrom.htmlTransitionTo.htmlUnsigned.htmlValueDescriptor.htmlclass-useAnnotationElement.htmlBooleanFlag.htmlCategory.htmlConfiguration.htmlContentType.htmlDataAmount.htmlDescription.htmlEnabled.htmlEvent.htmlEventFactory.htmlEventSettings.htmlEventType.htmlExperimental.htmlFlightRecorder.htmlFlightRecorderListener.htmlFlightRecorderPermission.htmlFrequency.htmlLabel.htmlMemoryAddress.htmlMetadataDefinition.htmlName.htmlPercentage.htmlPeriod.htmlRecording.htmlRecordingState.htmlRegistered.htmlRelational.htmlSettingControl.htmlSettingDefinition.htmlSettingDescriptor.htmlStackTrace.htmlThreshold.htmlTimespan.htmlTimestamp.htmlTransitionFrom.htmlTransitionTo.htmlUnsigned.htmlValueDescriptor.htmlconsumerEventStream.htmlMetadataEvent.htmlRecordedClass.htmlRecordedClassLoader.htmlRecordedEvent.htmlRecordedFrame.htmlRecordedMethod.htmlRecordedObject.htmlRecordedStackTrace.htmlRecordedThread.htmlRecordedThreadGroup.htmlRecordingFile.htmlRecordingStream.htmlclass-useEventStream.htmlMetadataEvent.htmlRecordedClass.htmlRecordedClassLoader.htmlRecordedEvent.htmlRecordedFrame.htmlRecordedMethod.htmlRecordedObject.htmlRecordedStackTrace.htmlRecordedThread.htmlRecordedThreadGroup.htmlRecordingFile.htmlRecordingStream.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.jlinkmodule-summary.htmljdk.jpackagemodule-summary.htmljdk.jshelljdkjshellDeclarationSnippet.htmlDiag.htmlErroneousSnippet.htmlEvalException.htmlExpressionSnippet.htmlImportSnippet.htmlJShell.Builder.htmlJShell.Subscription.htmlJShell.htmlJShellConsole.htmlJShellException.htmlMethodSnippet.htmlPersistentSnippet.htmlSnippet.Kind.htmlSnippet.Status.htmlSnippet.SubKind.htmlSnippet.htmlSnippetEvent.htmlSourceCodeAnalysis.Attribute.htmlSourceCodeAnalysis.Completeness.htmlSourceCodeAnalysis.CompletionInfo.htmlSourceCodeAnalysis.Documentation.htmlSourceCodeAnalysis.Highlight.htmlSourceCodeAnalysis.QualifiedNames.htmlSourceCodeAnalysis.SnippetWrapper.htmlSourceCodeAnalysis.Suggestion.htmlSourceCodeAnalysis.htmlStatementSnippet.htmlTypeDeclSnippet.htmlUnresolvedReferenceException.htmlVarSnippet.htmlclass-useDeclarationSnippet.htmlDiag.htmlErroneousSnippet.htmlEvalException.htmlExpressionSnippet.htmlImportSnippet.htmlJShell.Builder.htmlJShell.Subscription.htmlJShell.htmlJShellConsole.htmlJShellException.htmlMethodSnippet.htmlPersistentSnippet.htmlSnippet.Kind.htmlSnippet.Status.htmlSnippet.SubKind.htmlSnippet.htmlSnippetEvent.htmlSourceCodeAnalysis.Attribute.htmlSourceCodeAnalysis.Completeness.htmlSourceCodeAnalysis.CompletionInfo.htmlSourceCodeAnalysis.Documentation.htmlSourceCodeAnalysis.Highlight.htmlSourceCodeAnalysis.QualifiedNames.htmlSourceCodeAnalysis.SnippetWrapper.htmlSourceCodeAnalysis.Suggestion.htmlSourceCodeAnalysis.htmlStatementSnippet.htmlTypeDeclSnippet.htmlUnresolvedReferenceException.htmlVarSnippet.htmlexecutionDirectExecutionControl.htmlFailOverExecutionControlProvider.htmlJdiDefaultExecutionControl.htmlJdiExecutionControl.htmlJdiExecutionControlProvider.htmlJdiInitiator.htmlLoaderDelegate.htmlLocalExecutionControl.htmlLocalExecutionControlProvider.htmlRemoteExecutionControl.htmlStreamingExecutionControl.htmlUtil.htmlclass-useDirectExecutionControl.htmlFailOverExecutionControlProvider.htmlJdiDefaultExecutionControl.htmlJdiExecutionControl.htmlJdiExecutionControlProvider.htmlJdiInitiator.htmlLoaderDelegate.htmlLocalExecutionControl.htmlLocalExecutionControlProvider.htmlRemoteExecutionControl.htmlStreamingExecutionControl.htmlUtil.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlspiExecutionControl.ClassBytecodes.htmlExecutionControl.ClassInstallException.htmlExecutionControl.EngineTerminationException.htmlExecutionControl.ExecutionControlException.htmlExecutionControl.InternalException.htmlExecutionControl.NotImplementedException.htmlExecutionControl.ResolutionException.htmlExecutionControl.RunException.htmlExecutionControl.StoppedException.htmlExecutionControl.UserException.htmlExecutionControl.htmlExecutionControlProvider.htmlExecutionEnv.htmlSPIResolutionException.htmlclass-useExecutionControl.ClassBytecodes.htmlExecutionControl.ClassInstallException.htmlExecutionControl.EngineTerminationException.htmlExecutionControl.ExecutionControlException.htmlExecutionControl.InternalException.htmlExecutionControl.NotImplementedException.htmlExecutionControl.ResolutionException.htmlExecutionControl.RunException.htmlExecutionControl.StoppedException.htmlExecutionControl.UserException.htmlExecutionControl.htmlExecutionControlProvider.htmlExecutionEnv.htmlSPIResolutionException.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmltoolJavaShellToolBuilder.htmlclass-useJavaShellToolBuilder.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.jsobjectmodule-summary.htmlnetscapejavascriptJSException.htmlJSObject.htmlclass-useJSException.htmlJSObject.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljdk.jstatdmodule-summary.htmljdk.localedatamodule-summary.htmljdk.managementjdk.management.agentmodule-summary.htmljdk.management.jfrjdkmanagementjfrConfigurationInfo.htmlEventTypeInfo.htmlFlightRecorderMXBean.htmlRecordingInfo.htmlRemoteRecordingStream.htmlSettingDescriptorInfo.htmlclass-useConfigurationInfo.htmlEventTypeInfo.htmlFlightRecorderMXBean.htmlRecordingInfo.htmlRemoteRecordingStream.htmlSettingDescriptorInfo.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmlcomsunmanagementDiagnosticCommandMBean.htmlGarbageCollectionNotificationInfo.htmlGarbageCollectorMXBean.htmlGcInfo.htmlHotSpotDiagnosticMXBean.ThreadDumpFormat.htmlHotSpotDiagnosticMXBean.htmlOperatingSystemMXBean.htmlThreadMXBean.htmlUnixOperatingSystemMXBean.htmlVMOption.Origin.htmlVMOption.htmlclass-useDiagnosticCommandMBean.htmlGarbageCollectionNotificationInfo.htmlGarbageCollectorMXBean.htmlGcInfo.htmlHotSpotDiagnosticMXBean.ThreadDumpFormat.htmlHotSpotDiagnosticMXBean.htmlOperatingSystemMXBean.htmlThreadMXBean.htmlUnixOperatingSystemMXBean.htmlVMOption.Origin.htmlVMOption.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.naming.dnsmodule-summary.htmljdk.naming.rmimodule-summary.htmljdk.netjdknetExtendedSocketOptions.htmlNetworkPermission.htmlSockets.htmlUnixDomainPrincipal.htmlclass-useExtendedSocketOptions.htmlNetworkPermission.htmlSockets.htmlUnixDomainPrincipal.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlnioChannels.SelectableChannelCloser.htmlChannels.htmlclass-useChannels.SelectableChannelCloser.htmlChannels.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.nio.mapmodejdkniomapmodeExtendedMapMode.htmlclass-useExtendedMapMode.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.sctpcomsunniosctpAbstractNotificationHandler.htmlAssociation.htmlAssociationChangeNotification.AssocChangeEvent.htmlAssociationChangeNotification.htmlHandlerResult.htmlIllegalReceiveException.htmlIllegalUnbindException.htmlInvalidStreamException.htmlMessageInfo.htmlNotification.htmlNotificationHandler.htmlPeerAddressChangeNotification.AddressChangeEvent.htmlPeerAddressChangeNotification.htmlSctpChannel.htmlSctpMultiChannel.htmlSctpServerChannel.htmlSctpSocketOption.htmlSctpStandardSocketOptions.InitMaxStreams.htmlSctpStandardSocketOptions.htmlSendFailedNotification.htmlShutdownNotification.htmlclass-useAbstractNotificationHandler.htmlAssociation.htmlAssociationChangeNotification.AssocChangeEvent.htmlAssociationChangeNotification.htmlHandlerResult.htmlIllegalReceiveException.htmlIllegalUnbindException.htmlInvalidStreamException.htmlMessageInfo.htmlNotification.htmlNotificationHandler.htmlPeerAddressChangeNotification.AddressChangeEvent.htmlPeerAddressChangeNotification.htmlSctpChannel.htmlSctpMultiChannel.htmlSctpServerChannel.htmlSctpSocketOption.htmlSctpStandardSocketOptions.InitMaxStreams.htmlSctpStandardSocketOptions.htmlSendFailedNotification.htmlShutdownNotification.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.security.authcomsunsecurityauthLdapPrincipal.htmlNTDomainPrincipal.htmlNTNumericCredential.htmlNTSid.htmlNTSidDomainPrincipal.htmlNTSidGroupPrincipal.htmlNTSidPrimaryGroupPrincipal.htmlNTSidUserPrincipal.htmlNTUserPrincipal.htmlPrincipalComparator.htmlUnixNumericGroupPrincipal.htmlUnixNumericUserPrincipal.htmlUnixPrincipal.htmlUserPrincipal.htmlcallbackTextCallbackHandler.htmlclass-useTextCallbackHandler.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlclass-useLdapPrincipal.htmlNTDomainPrincipal.htmlNTNumericCredential.htmlNTSid.htmlNTSidDomainPrincipal.htmlNTSidGroupPrincipal.htmlNTSidPrimaryGroupPrincipal.htmlNTSidUserPrincipal.htmlNTUserPrincipal.htmlPrincipalComparator.htmlUnixNumericGroupPrincipal.htmlUnixNumericUserPrincipal.htmlUnixPrincipal.htmlUserPrincipal.htmlloginConfigFile.htmlclass-useConfigFile.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmoduleJndiLoginModule.htmlKeyStoreLoginModule.htmlKrb5LoginModule.htmlLdapLoginModule.htmlNTLoginModule.htmlNTSystem.htmlUnixLoginModule.htmlUnixSystem.htmlclass-useJndiLoginModule.htmlKeyStoreLoginModule.htmlKrb5LoginModule.htmlLdapLoginModule.htmlNTLoginModule.htmlNTSystem.htmlUnixLoginModule.htmlUnixSystem.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.security.jgsscomsunsecurityjgssAuthorizationDataEntry.htmlExtendedGSSContext.htmlExtendedGSSCredential.htmlGSSUtil.htmlInquireSecContextPermission.htmlInquireType.htmlclass-useAuthorizationDataEntry.htmlExtendedGSSContext.htmlExtendedGSSCredential.htmlGSSUtil.htmlInquireSecContextPermission.htmlInquireType.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlmodule-summary.htmljdk.xml.dommodule-summary.htmlorgw3cdomcssCSS2Properties.htmlCSSCharsetRule.htmlCSSFontFaceRule.htmlCSSImportRule.htmlCSSMediaRule.htmlCSSPageRule.htmlCSSPrimitiveValue.htmlCSSRule.htmlCSSRuleList.htmlCSSStyleDeclaration.htmlCSSStyleRule.htmlCSSStyleSheet.htmlCSSUnknownRule.htmlCSSValue.htmlCSSValueList.htmlCounter.htmlDOMImplementationCSS.htmlDocumentCSS.htmlElementCSSInlineStyle.htmlRGBColor.htmlRect.htmlViewCSS.htmlclass-useCSS2Properties.htmlCSSCharsetRule.htmlCSSFontFaceRule.htmlCSSImportRule.htmlCSSMediaRule.htmlCSSPageRule.htmlCSSPrimitiveValue.htmlCSSRule.htmlCSSRuleList.htmlCSSStyleDeclaration.htmlCSSStyleRule.htmlCSSStyleSheet.htmlCSSUnknownRule.htmlCSSValue.htmlCSSValueList.htmlCounter.htmlDOMImplementationCSS.htmlDocumentCSS.htmlElementCSSInlineStyle.htmlRGBColor.htmlRect.htmlViewCSS.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlhtmlHTMLAnchorElement.htmlHTMLAppletElement.htmlHTMLAreaElement.htmlHTMLBRElement.htmlHTMLBaseElement.htmlHTMLBaseFontElement.htmlHTMLBodyElement.htmlHTMLButtonElement.htmlHTMLCollection.htmlHTMLDListElement.htmlHTMLDOMImplementation.htmlHTMLDirectoryElement.htmlHTMLDivElement.htmlHTMLDocument.htmlHTMLElement.htmlHTMLFieldSetElement.htmlHTMLFontElement.htmlHTMLFormElement.htmlHTMLFrameElement.htmlHTMLFrameSetElement.htmlHTMLHRElement.htmlHTMLHeadElement.htmlHTMLHeadingElement.htmlHTMLHtmlElement.htmlHTMLIFrameElement.htmlHTMLImageElement.htmlHTMLInputElement.htmlHTMLIsIndexElement.htmlHTMLLIElement.htmlHTMLLabelElement.htmlHTMLLegendElement.htmlHTMLLinkElement.htmlHTMLMapElement.htmlHTMLMenuElement.htmlHTMLMetaElement.htmlHTMLModElement.htmlHTMLOListElement.htmlHTMLObjectElement.htmlHTMLOptGroupElement.htmlHTMLOptionElement.htmlHTMLParagraphElement.htmlHTMLParamElement.htmlHTMLPreElement.htmlHTMLQuoteElement.htmlHTMLScriptElement.htmlHTMLSelectElement.htmlHTMLStyleElement.htmlHTMLTableCaptionElement.htmlHTMLTableCellElement.htmlHTMLTableColElement.htmlHTMLTableElement.htmlHTMLTableRowElement.htmlHTMLTableSectionElement.htmlHTMLTextAreaElement.htmlHTMLTitleElement.htmlHTMLUListElement.htmlclass-useHTMLAnchorElement.htmlHTMLAppletElement.htmlHTMLAreaElement.htmlHTMLBRElement.htmlHTMLBaseElement.htmlHTMLBaseFontElement.htmlHTMLBodyElement.htmlHTMLButtonElement.htmlHTMLCollection.htmlHTMLDListElement.htmlHTMLDOMImplementation.htmlHTMLDirectoryElement.htmlHTMLDivElement.htmlHTMLDocument.htmlHTMLElement.htmlHTMLFieldSetElement.htmlHTMLFontElement.htmlHTMLFormElement.htmlHTMLFrameElement.htmlHTMLFrameSetElement.htmlHTMLHRElement.htmlHTMLHeadElement.htmlHTMLHeadingElement.htmlHTMLHtmlElement.htmlHTMLIFrameElement.htmlHTMLImageElement.htmlHTMLInputElement.htmlHTMLIsIndexElement.htmlHTMLLIElement.htmlHTMLLabelElement.htmlHTMLLegendElement.htmlHTMLLinkElement.htmlHTMLMapElement.htmlHTMLMenuElement.htmlHTMLMetaElement.htmlHTMLModElement.htmlHTMLOListElement.htmlHTMLObjectElement.htmlHTMLOptGroupElement.htmlHTMLOptionElement.htmlHTMLParagraphElement.htmlHTMLParamElement.htmlHTMLPreElement.htmlHTMLQuoteElement.htmlHTMLScriptElement.htmlHTMLSelectElement.htmlHTMLStyleElement.htmlHTMLTableCaptionElement.htmlHTMLTableCellElement.htmlHTMLTableColElement.htmlHTMLTableElement.htmlHTMLTableRowElement.htmlHTMLTableSectionElement.htmlHTMLTextAreaElement.htmlHTMLTitleElement.htmlHTMLUListElement.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlstylesheetsDocumentStyle.htmlLinkStyle.htmlMediaList.htmlStyleSheet.htmlStyleSheetList.htmlclass-useDocumentStyle.htmlLinkStyle.htmlMediaList.htmlStyleSheet.htmlStyleSheetList.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmlxpathXPathEvaluator.htmlXPathException.htmlXPathExpression.htmlXPathNSResolver.htmlXPathNamespace.htmlXPathResult.htmlclass-useXPathEvaluator.htmlXPathException.htmlXPathExpression.htmlXPathNSResolver.htmlXPathNamespace.htmlXPathResult.htmlpackage-summary.htmlpackage-tree.htmlpackage-use.htmljdk.zipfsmodule-summary.htmllink.svgmember-search-index.jsmodule-search-index.jsnew-list.htmloverview-summary.htmloverview-tree.htmlpackage-search-index.jspreview-list.htmlresourcesglass.pngx.pngscript-dirjquery-3.7.1.min.jsjquery-ui.min.cssjquery-ui.min.jsscript.jssearch-page.jssearch.htmlsearch.jsserialized-form.htmlstylesheet.csssystem-properties.htmltag-search-index.jstype-search-index.jsindex.htmllegaljquery.mdjqueryUI.mdresourcesjdk-default.cssspecsjdwpjdwp-protocol.htmljvmti.html/usr/share//usr/share/javadoc//usr/share/javadoc/java-21-openjdk//usr/share/javadoc/java-21-openjdk/api//usr/share/javadoc/java-21-openjdk/api/index-files//usr/share/javadoc/java-21-openjdk/api/java.base//usr/share/javadoc/java-21-openjdk/api/java.base/java//usr/share/javadoc/java-21-openjdk/api/java.base/java/io//usr/share/javadoc/java-21-openjdk/api/java.base/java/io/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/lang//usr/share/javadoc/java-21-openjdk/api/java.base/java/lang/annotation//usr/share/javadoc/java-21-openjdk/api/java.base/java/lang/annotation/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/lang/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/lang/constant//usr/share/javadoc/java-21-openjdk/api/java.base/java/lang/constant/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/lang/doc-files//usr/share/javadoc/java-21-openjdk/api/java.base/java/lang/foreign//usr/share/javadoc/java-21-openjdk/api/java.base/java/lang/foreign/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/lang/invoke//usr/share/javadoc/java-21-openjdk/api/java.base/java/lang/invoke/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/lang/module//usr/share/javadoc/java-21-openjdk/api/java.base/java/lang/module/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/lang/ref//usr/share/javadoc/java-21-openjdk/api/java.base/java/lang/ref/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/lang/reflect//usr/share/javadoc/java-21-openjdk/api/java.base/java/lang/reflect/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/lang/runtime//usr/share/javadoc/java-21-openjdk/api/java.base/java/lang/runtime/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/math//usr/share/javadoc/java-21-openjdk/api/java.base/java/math/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/net//usr/share/javadoc/java-21-openjdk/api/java.base/java/net/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/net/doc-files//usr/share/javadoc/java-21-openjdk/api/java.base/java/net/spi//usr/share/javadoc/java-21-openjdk/api/java.base/java/net/spi/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/nio//usr/share/javadoc/java-21-openjdk/api/java.base/java/nio/channels//usr/share/javadoc/java-21-openjdk/api/java.base/java/nio/channels/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/nio/channels/spi//usr/share/javadoc/java-21-openjdk/api/java.base/java/nio/channels/spi/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/nio/charset//usr/share/javadoc/java-21-openjdk/api/java.base/java/nio/charset/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/nio/charset/spi//usr/share/javadoc/java-21-openjdk/api/java.base/java/nio/charset/spi/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/nio/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/nio/file//usr/share/javadoc/java-21-openjdk/api/java.base/java/nio/file/attribute//usr/share/javadoc/java-21-openjdk/api/java.base/java/nio/file/attribute/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/nio/file/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/nio/file/spi//usr/share/javadoc/java-21-openjdk/api/java.base/java/nio/file/spi/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/security//usr/share/javadoc/java-21-openjdk/api/java.base/java/security/cert//usr/share/javadoc/java-21-openjdk/api/java.base/java/security/cert/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/security/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/security/interfaces//usr/share/javadoc/java-21-openjdk/api/java.base/java/security/interfaces/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/security/spec//usr/share/javadoc/java-21-openjdk/api/java.base/java/security/spec/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/text//usr/share/javadoc/java-21-openjdk/api/java.base/java/text/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/text/spi//usr/share/javadoc/java-21-openjdk/api/java.base/java/text/spi/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/time//usr/share/javadoc/java-21-openjdk/api/java.base/java/time/chrono//usr/share/javadoc/java-21-openjdk/api/java.base/java/time/chrono/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/time/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/time/format//usr/share/javadoc/java-21-openjdk/api/java.base/java/time/format/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/time/temporal//usr/share/javadoc/java-21-openjdk/api/java.base/java/time/temporal/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/time/zone//usr/share/javadoc/java-21-openjdk/api/java.base/java/time/zone/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/util//usr/share/javadoc/java-21-openjdk/api/java.base/java/util/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/util/concurrent//usr/share/javadoc/java-21-openjdk/api/java.base/java/util/concurrent/atomic//usr/share/javadoc/java-21-openjdk/api/java.base/java/util/concurrent/atomic/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/util/concurrent/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/util/concurrent/locks//usr/share/javadoc/java-21-openjdk/api/java.base/java/util/concurrent/locks/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/util/doc-files//usr/share/javadoc/java-21-openjdk/api/java.base/java/util/function//usr/share/javadoc/java-21-openjdk/api/java.base/java/util/function/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/util/jar//usr/share/javadoc/java-21-openjdk/api/java.base/java/util/jar/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/util/random//usr/share/javadoc/java-21-openjdk/api/java.base/java/util/random/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/util/regex//usr/share/javadoc/java-21-openjdk/api/java.base/java/util/regex/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/util/spi//usr/share/javadoc/java-21-openjdk/api/java.base/java/util/spi/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/util/stream//usr/share/javadoc/java-21-openjdk/api/java.base/java/util/stream/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/java/util/zip//usr/share/javadoc/java-21-openjdk/api/java.base/java/util/zip/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/javax//usr/share/javadoc/java-21-openjdk/api/java.base/javax/crypto//usr/share/javadoc/java-21-openjdk/api/java.base/javax/crypto/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/javax/crypto/interfaces//usr/share/javadoc/java-21-openjdk/api/java.base/javax/crypto/interfaces/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/javax/crypto/spec//usr/share/javadoc/java-21-openjdk/api/java.base/javax/crypto/spec/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/javax/net//usr/share/javadoc/java-21-openjdk/api/java.base/javax/net/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/javax/net/ssl//usr/share/javadoc/java-21-openjdk/api/java.base/javax/net/ssl/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/javax/security//usr/share/javadoc/java-21-openjdk/api/java.base/javax/security/auth//usr/share/javadoc/java-21-openjdk/api/java.base/javax/security/auth/callback//usr/share/javadoc/java-21-openjdk/api/java.base/javax/security/auth/callback/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/javax/security/auth/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/javax/security/auth/login//usr/share/javadoc/java-21-openjdk/api/java.base/javax/security/auth/login/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/javax/security/auth/spi//usr/share/javadoc/java-21-openjdk/api/java.base/javax/security/auth/spi/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/javax/security/auth/x500//usr/share/javadoc/java-21-openjdk/api/java.base/javax/security/auth/x500/class-use//usr/share/javadoc/java-21-openjdk/api/java.base/javax/security/cert//usr/share/javadoc/java-21-openjdk/api/java.base/javax/security/cert/class-use//usr/share/javadoc/java-21-openjdk/api/java.compiler//usr/share/javadoc/java-21-openjdk/api/java.compiler/javax//usr/share/javadoc/java-21-openjdk/api/java.compiler/javax/annotation//usr/share/javadoc/java-21-openjdk/api/java.compiler/javax/annotation/processing//usr/share/javadoc/java-21-openjdk/api/java.compiler/javax/annotation/processing/class-use//usr/share/javadoc/java-21-openjdk/api/java.compiler/javax/lang//usr/share/javadoc/java-21-openjdk/api/java.compiler/javax/lang/model//usr/share/javadoc/java-21-openjdk/api/java.compiler/javax/lang/model/class-use//usr/share/javadoc/java-21-openjdk/api/java.compiler/javax/lang/model/element//usr/share/javadoc/java-21-openjdk/api/java.compiler/javax/lang/model/element/class-use//usr/share/javadoc/java-21-openjdk/api/java.compiler/javax/lang/model/type//usr/share/javadoc/java-21-openjdk/api/java.compiler/javax/lang/model/type/class-use//usr/share/javadoc/java-21-openjdk/api/java.compiler/javax/lang/model/util//usr/share/javadoc/java-21-openjdk/api/java.compiler/javax/lang/model/util/class-use//usr/share/javadoc/java-21-openjdk/api/java.compiler/javax/tools//usr/share/javadoc/java-21-openjdk/api/java.compiler/javax/tools/class-use//usr/share/javadoc/java-21-openjdk/api/java.datatransfer//usr/share/javadoc/java-21-openjdk/api/java.datatransfer/java//usr/share/javadoc/java-21-openjdk/api/java.datatransfer/java/awt//usr/share/javadoc/java-21-openjdk/api/java.datatransfer/java/awt/datatransfer//usr/share/javadoc/java-21-openjdk/api/java.datatransfer/java/awt/datatransfer/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop//usr/share/javadoc/java-21-openjdk/api/java.desktop/java//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/applet//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/applet/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/awt//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/awt/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/awt/color//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/awt/color/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/awt/desktop//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/awt/desktop/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/awt/dnd//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/awt/dnd/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/awt/doc-files//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/awt/event//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/awt/event/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/awt/font//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/awt/font/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/awt/geom//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/awt/geom/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/awt/im//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/awt/im/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/awt/im/spi//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/awt/im/spi/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/awt/image//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/awt/image/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/awt/image/renderable//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/awt/image/renderable/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/awt/print//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/awt/print/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/beans//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/beans/beancontext//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/beans/beancontext/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/java/beans/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/accessibility//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/accessibility/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/imageio//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/imageio/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/imageio/event//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/imageio/event/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/imageio/metadata//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/imageio/metadata/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/imageio/metadata/doc-files//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/imageio/plugins//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/imageio/plugins/bmp//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/imageio/plugins/bmp/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/imageio/plugins/jpeg//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/imageio/plugins/jpeg/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/imageio/plugins/tiff//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/imageio/plugins/tiff/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/imageio/spi//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/imageio/spi/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/imageio/stream//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/imageio/stream/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/print//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/print/attribute//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/print/attribute/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/print/attribute/standard//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/print/attribute/standard/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/print/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/print/event//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/print/event/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/sound//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/sound/midi//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/sound/midi/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/sound/midi/spi//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/sound/midi/spi/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/sound/sampled//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/sound/sampled/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/sound/sampled/spi//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/sound/sampled/spi/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/border//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/border/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/colorchooser//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/colorchooser/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/doc-files//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/event//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/event/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/filechooser//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/filechooser/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/plaf//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/plaf/basic//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/plaf/basic/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/plaf/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/plaf/metal//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/plaf/metal/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/plaf/multi//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/plaf/multi/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/plaf/multi/doc-files//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/plaf/nimbus//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/plaf/nimbus/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/plaf/nimbus/doc-files//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/plaf/synth//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/plaf/synth/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/plaf/synth/doc-files//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/table//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/table/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/text//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/text/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/text/doc-files//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/text/html//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/text/html/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/text/html/parser//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/text/html/parser/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/text/rtf//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/text/rtf/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/tree//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/tree/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/undo//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/undo/class-use//usr/share/javadoc/java-21-openjdk/api/java.desktop/javax/swing/undo/doc-files//usr/share/javadoc/java-21-openjdk/api/java.instrument//usr/share/javadoc/java-21-openjdk/api/java.instrument/java//usr/share/javadoc/java-21-openjdk/api/java.instrument/java/lang//usr/share/javadoc/java-21-openjdk/api/java.instrument/java/lang/instrument//usr/share/javadoc/java-21-openjdk/api/java.instrument/java/lang/instrument/class-use//usr/share/javadoc/java-21-openjdk/api/java.logging//usr/share/javadoc/java-21-openjdk/api/java.logging/java//usr/share/javadoc/java-21-openjdk/api/java.logging/java/util//usr/share/javadoc/java-21-openjdk/api/java.logging/java/util/logging//usr/share/javadoc/java-21-openjdk/api/java.logging/java/util/logging/class-use//usr/share/javadoc/java-21-openjdk/api/java.management.rmi//usr/share/javadoc/java-21-openjdk/api/java.management.rmi/javax//usr/share/javadoc/java-21-openjdk/api/java.management.rmi/javax/management//usr/share/javadoc/java-21-openjdk/api/java.management.rmi/javax/management/remote//usr/share/javadoc/java-21-openjdk/api/java.management.rmi/javax/management/remote/rmi//usr/share/javadoc/java-21-openjdk/api/java.management.rmi/javax/management/remote/rmi/class-use//usr/share/javadoc/java-21-openjdk/api/java.management//usr/share/javadoc/java-21-openjdk/api/java.management/java//usr/share/javadoc/java-21-openjdk/api/java.management/java/lang//usr/share/javadoc/java-21-openjdk/api/java.management/java/lang/management//usr/share/javadoc/java-21-openjdk/api/java.management/java/lang/management/class-use//usr/share/javadoc/java-21-openjdk/api/java.management/javax//usr/share/javadoc/java-21-openjdk/api/java.management/javax/management//usr/share/javadoc/java-21-openjdk/api/java.management/javax/management/class-use//usr/share/javadoc/java-21-openjdk/api/java.management/javax/management/loading//usr/share/javadoc/java-21-openjdk/api/java.management/javax/management/loading/class-use//usr/share/javadoc/java-21-openjdk/api/java.management/javax/management/modelmbean//usr/share/javadoc/java-21-openjdk/api/java.management/javax/management/modelmbean/class-use//usr/share/javadoc/java-21-openjdk/api/java.management/javax/management/monitor//usr/share/javadoc/java-21-openjdk/api/java.management/javax/management/monitor/class-use//usr/share/javadoc/java-21-openjdk/api/java.management/javax/management/openmbean//usr/share/javadoc/java-21-openjdk/api/java.management/javax/management/openmbean/class-use//usr/share/javadoc/java-21-openjdk/api/java.management/javax/management/relation//usr/share/javadoc/java-21-openjdk/api/java.management/javax/management/relation/class-use//usr/share/javadoc/java-21-openjdk/api/java.management/javax/management/remote//usr/share/javadoc/java-21-openjdk/api/java.management/javax/management/remote/class-use//usr/share/javadoc/java-21-openjdk/api/java.management/javax/management/timer//usr/share/javadoc/java-21-openjdk/api/java.management/javax/management/timer/class-use//usr/share/javadoc/java-21-openjdk/api/java.naming//usr/share/javadoc/java-21-openjdk/api/java.naming/javax//usr/share/javadoc/java-21-openjdk/api/java.naming/javax/naming//usr/share/javadoc/java-21-openjdk/api/java.naming/javax/naming/class-use//usr/share/javadoc/java-21-openjdk/api/java.naming/javax/naming/directory//usr/share/javadoc/java-21-openjdk/api/java.naming/javax/naming/directory/class-use//usr/share/javadoc/java-21-openjdk/api/java.naming/javax/naming/event//usr/share/javadoc/java-21-openjdk/api/java.naming/javax/naming/event/class-use//usr/share/javadoc/java-21-openjdk/api/java.naming/javax/naming/ldap//usr/share/javadoc/java-21-openjdk/api/java.naming/javax/naming/ldap/class-use//usr/share/javadoc/java-21-openjdk/api/java.naming/javax/naming/ldap/spi//usr/share/javadoc/java-21-openjdk/api/java.naming/javax/naming/ldap/spi/class-use//usr/share/javadoc/java-21-openjdk/api/java.naming/javax/naming/spi//usr/share/javadoc/java-21-openjdk/api/java.naming/javax/naming/spi/class-use//usr/share/javadoc/java-21-openjdk/api/java.net.http//usr/share/javadoc/java-21-openjdk/api/java.net.http/java//usr/share/javadoc/java-21-openjdk/api/java.net.http/java/net//usr/share/javadoc/java-21-openjdk/api/java.net.http/java/net/http//usr/share/javadoc/java-21-openjdk/api/java.net.http/java/net/http/class-use//usr/share/javadoc/java-21-openjdk/api/java.prefs//usr/share/javadoc/java-21-openjdk/api/java.prefs/java//usr/share/javadoc/java-21-openjdk/api/java.prefs/java/util//usr/share/javadoc/java-21-openjdk/api/java.prefs/java/util/prefs//usr/share/javadoc/java-21-openjdk/api/java.prefs/java/util/prefs/class-use//usr/share/javadoc/java-21-openjdk/api/java.rmi//usr/share/javadoc/java-21-openjdk/api/java.rmi/java//usr/share/javadoc/java-21-openjdk/api/java.rmi/java/rmi//usr/share/javadoc/java-21-openjdk/api/java.rmi/java/rmi/class-use//usr/share/javadoc/java-21-openjdk/api/java.rmi/java/rmi/dgc//usr/share/javadoc/java-21-openjdk/api/java.rmi/java/rmi/dgc/class-use//usr/share/javadoc/java-21-openjdk/api/java.rmi/java/rmi/registry//usr/share/javadoc/java-21-openjdk/api/java.rmi/java/rmi/registry/class-use//usr/share/javadoc/java-21-openjdk/api/java.rmi/java/rmi/server//usr/share/javadoc/java-21-openjdk/api/java.rmi/java/rmi/server/class-use//usr/share/javadoc/java-21-openjdk/api/java.rmi/javax//usr/share/javadoc/java-21-openjdk/api/java.rmi/javax/rmi//usr/share/javadoc/java-21-openjdk/api/java.rmi/javax/rmi/ssl//usr/share/javadoc/java-21-openjdk/api/java.rmi/javax/rmi/ssl/class-use//usr/share/javadoc/java-21-openjdk/api/java.scripting//usr/share/javadoc/java-21-openjdk/api/java.scripting/javax//usr/share/javadoc/java-21-openjdk/api/java.scripting/javax/script//usr/share/javadoc/java-21-openjdk/api/java.scripting/javax/script/class-use//usr/share/javadoc/java-21-openjdk/api/java.se//usr/share/javadoc/java-21-openjdk/api/java.security.jgss//usr/share/javadoc/java-21-openjdk/api/java.security.jgss/javax//usr/share/javadoc/java-21-openjdk/api/java.security.jgss/javax/security//usr/share/javadoc/java-21-openjdk/api/java.security.jgss/javax/security/auth//usr/share/javadoc/java-21-openjdk/api/java.security.jgss/javax/security/auth/kerberos//usr/share/javadoc/java-21-openjdk/api/java.security.jgss/javax/security/auth/kerberos/class-use//usr/share/javadoc/java-21-openjdk/api/java.security.jgss/org//usr/share/javadoc/java-21-openjdk/api/java.security.jgss/org/ietf//usr/share/javadoc/java-21-openjdk/api/java.security.jgss/org/ietf/jgss//usr/share/javadoc/java-21-openjdk/api/java.security.jgss/org/ietf/jgss/class-use//usr/share/javadoc/java-21-openjdk/api/java.security.sasl//usr/share/javadoc/java-21-openjdk/api/java.security.sasl/javax//usr/share/javadoc/java-21-openjdk/api/java.security.sasl/javax/security//usr/share/javadoc/java-21-openjdk/api/java.security.sasl/javax/security/sasl//usr/share/javadoc/java-21-openjdk/api/java.security.sasl/javax/security/sasl/class-use//usr/share/javadoc/java-21-openjdk/api/java.smartcardio//usr/share/javadoc/java-21-openjdk/api/java.smartcardio/javax//usr/share/javadoc/java-21-openjdk/api/java.smartcardio/javax/smartcardio//usr/share/javadoc/java-21-openjdk/api/java.smartcardio/javax/smartcardio/class-use//usr/share/javadoc/java-21-openjdk/api/java.sql.rowset//usr/share/javadoc/java-21-openjdk/api/java.sql.rowset/javax//usr/share/javadoc/java-21-openjdk/api/java.sql.rowset/javax/sql//usr/share/javadoc/java-21-openjdk/api/java.sql.rowset/javax/sql/rowset//usr/share/javadoc/java-21-openjdk/api/java.sql.rowset/javax/sql/rowset/class-use//usr/share/javadoc/java-21-openjdk/api/java.sql.rowset/javax/sql/rowset/serial//usr/share/javadoc/java-21-openjdk/api/java.sql.rowset/javax/sql/rowset/serial/class-use//usr/share/javadoc/java-21-openjdk/api/java.sql.rowset/javax/sql/rowset/spi//usr/share/javadoc/java-21-openjdk/api/java.sql.rowset/javax/sql/rowset/spi/class-use//usr/share/javadoc/java-21-openjdk/api/java.sql//usr/share/javadoc/java-21-openjdk/api/java.sql/java//usr/share/javadoc/java-21-openjdk/api/java.sql/java/sql//usr/share/javadoc/java-21-openjdk/api/java.sql/java/sql/class-use//usr/share/javadoc/java-21-openjdk/api/java.sql/javax//usr/share/javadoc/java-21-openjdk/api/java.sql/javax/sql//usr/share/javadoc/java-21-openjdk/api/java.sql/javax/sql/class-use//usr/share/javadoc/java-21-openjdk/api/java.transaction.xa//usr/share/javadoc/java-21-openjdk/api/java.transaction.xa/javax//usr/share/javadoc/java-21-openjdk/api/java.transaction.xa/javax/transaction//usr/share/javadoc/java-21-openjdk/api/java.transaction.xa/javax/transaction/xa//usr/share/javadoc/java-21-openjdk/api/java.transaction.xa/javax/transaction/xa/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml.crypto//usr/share/javadoc/java-21-openjdk/api/java.xml.crypto/javax//usr/share/javadoc/java-21-openjdk/api/java.xml.crypto/javax/xml//usr/share/javadoc/java-21-openjdk/api/java.xml.crypto/javax/xml/crypto//usr/share/javadoc/java-21-openjdk/api/java.xml.crypto/javax/xml/crypto/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml.crypto/javax/xml/crypto/dom//usr/share/javadoc/java-21-openjdk/api/java.xml.crypto/javax/xml/crypto/dom/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml.crypto/javax/xml/crypto/dsig//usr/share/javadoc/java-21-openjdk/api/java.xml.crypto/javax/xml/crypto/dsig/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml.crypto/javax/xml/crypto/dsig/dom//usr/share/javadoc/java-21-openjdk/api/java.xml.crypto/javax/xml/crypto/dsig/dom/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml.crypto/javax/xml/crypto/dsig/keyinfo//usr/share/javadoc/java-21-openjdk/api/java.xml.crypto/javax/xml/crypto/dsig/keyinfo/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml.crypto/javax/xml/crypto/dsig/spec//usr/share/javadoc/java-21-openjdk/api/java.xml.crypto/javax/xml/crypto/dsig/spec/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml//usr/share/javadoc/java-21-openjdk/api/java.xml/javax//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml/catalog//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml/catalog/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml/datatype//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml/datatype/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml/namespace//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml/namespace/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml/parsers//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml/parsers/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml/stream//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml/stream/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml/stream/events//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml/stream/events/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml/stream/util//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml/stream/util/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml/transform//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml/transform/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml/transform/dom//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml/transform/dom/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml/transform/sax//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml/transform/sax/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml/transform/stax//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml/transform/stax/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml/transform/stream//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml/transform/stream/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml/validation//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml/validation/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml/xpath//usr/share/javadoc/java-21-openjdk/api/java.xml/javax/xml/xpath/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml/org//usr/share/javadoc/java-21-openjdk/api/java.xml/org/w3c//usr/share/javadoc/java-21-openjdk/api/java.xml/org/w3c/dom//usr/share/javadoc/java-21-openjdk/api/java.xml/org/w3c/dom/bootstrap//usr/share/javadoc/java-21-openjdk/api/java.xml/org/w3c/dom/bootstrap/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml/org/w3c/dom/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml/org/w3c/dom/events//usr/share/javadoc/java-21-openjdk/api/java.xml/org/w3c/dom/events/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml/org/w3c/dom/ls//usr/share/javadoc/java-21-openjdk/api/java.xml/org/w3c/dom/ls/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml/org/w3c/dom/ranges//usr/share/javadoc/java-21-openjdk/api/java.xml/org/w3c/dom/ranges/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml/org/w3c/dom/traversal//usr/share/javadoc/java-21-openjdk/api/java.xml/org/w3c/dom/traversal/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml/org/w3c/dom/views//usr/share/javadoc/java-21-openjdk/api/java.xml/org/w3c/dom/views/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml/org/xml//usr/share/javadoc/java-21-openjdk/api/java.xml/org/xml/sax//usr/share/javadoc/java-21-openjdk/api/java.xml/org/xml/sax/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml/org/xml/sax/ext//usr/share/javadoc/java-21-openjdk/api/java.xml/org/xml/sax/ext/class-use//usr/share/javadoc/java-21-openjdk/api/java.xml/org/xml/sax/helpers//usr/share/javadoc/java-21-openjdk/api/java.xml/org/xml/sax/helpers/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.accessibility//usr/share/javadoc/java-21-openjdk/api/jdk.accessibility/com//usr/share/javadoc/java-21-openjdk/api/jdk.accessibility/com/sun//usr/share/javadoc/java-21-openjdk/api/jdk.accessibility/com/sun/java//usr/share/javadoc/java-21-openjdk/api/jdk.accessibility/com/sun/java/accessibility//usr/share/javadoc/java-21-openjdk/api/jdk.accessibility/com/sun/java/accessibility/util//usr/share/javadoc/java-21-openjdk/api/jdk.accessibility/com/sun/java/accessibility/util/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.attach//usr/share/javadoc/java-21-openjdk/api/jdk.attach/com//usr/share/javadoc/java-21-openjdk/api/jdk.attach/com/sun//usr/share/javadoc/java-21-openjdk/api/jdk.attach/com/sun/tools//usr/share/javadoc/java-21-openjdk/api/jdk.attach/com/sun/tools/attach//usr/share/javadoc/java-21-openjdk/api/jdk.attach/com/sun/tools/attach/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.attach/com/sun/tools/attach/spi//usr/share/javadoc/java-21-openjdk/api/jdk.attach/com/sun/tools/attach/spi/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.charsets//usr/share/javadoc/java-21-openjdk/api/jdk.compiler//usr/share/javadoc/java-21-openjdk/api/jdk.compiler/com//usr/share/javadoc/java-21-openjdk/api/jdk.compiler/com/sun//usr/share/javadoc/java-21-openjdk/api/jdk.compiler/com/sun/source//usr/share/javadoc/java-21-openjdk/api/jdk.compiler/com/sun/source/doctree//usr/share/javadoc/java-21-openjdk/api/jdk.compiler/com/sun/source/doctree/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.compiler/com/sun/source/tree//usr/share/javadoc/java-21-openjdk/api/jdk.compiler/com/sun/source/tree/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.compiler/com/sun/source/util//usr/share/javadoc/java-21-openjdk/api/jdk.compiler/com/sun/source/util/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.compiler/com/sun/tools//usr/share/javadoc/java-21-openjdk/api/jdk.compiler/com/sun/tools/javac//usr/share/javadoc/java-21-openjdk/api/jdk.compiler/com/sun/tools/javac/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.crypto.cryptoki//usr/share/javadoc/java-21-openjdk/api/jdk.crypto.ec//usr/share/javadoc/java-21-openjdk/api/jdk.dynalink//usr/share/javadoc/java-21-openjdk/api/jdk.dynalink/jdk//usr/share/javadoc/java-21-openjdk/api/jdk.dynalink/jdk/dynalink//usr/share/javadoc/java-21-openjdk/api/jdk.dynalink/jdk/dynalink/beans//usr/share/javadoc/java-21-openjdk/api/jdk.dynalink/jdk/dynalink/beans/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.dynalink/jdk/dynalink/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.dynalink/jdk/dynalink/linker//usr/share/javadoc/java-21-openjdk/api/jdk.dynalink/jdk/dynalink/linker/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.dynalink/jdk/dynalink/linker/support//usr/share/javadoc/java-21-openjdk/api/jdk.dynalink/jdk/dynalink/linker/support/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.dynalink/jdk/dynalink/support//usr/share/javadoc/java-21-openjdk/api/jdk.dynalink/jdk/dynalink/support/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.editpad//usr/share/javadoc/java-21-openjdk/api/jdk.hotspot.agent//usr/share/javadoc/java-21-openjdk/api/jdk.httpserver//usr/share/javadoc/java-21-openjdk/api/jdk.httpserver/com//usr/share/javadoc/java-21-openjdk/api/jdk.httpserver/com/sun//usr/share/javadoc/java-21-openjdk/api/jdk.httpserver/com/sun/net//usr/share/javadoc/java-21-openjdk/api/jdk.httpserver/com/sun/net/httpserver//usr/share/javadoc/java-21-openjdk/api/jdk.httpserver/com/sun/net/httpserver/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.httpserver/com/sun/net/httpserver/spi//usr/share/javadoc/java-21-openjdk/api/jdk.httpserver/com/sun/net/httpserver/spi/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.incubator.vector//usr/share/javadoc/java-21-openjdk/api/jdk.incubator.vector/jdk//usr/share/javadoc/java-21-openjdk/api/jdk.incubator.vector/jdk/incubator//usr/share/javadoc/java-21-openjdk/api/jdk.incubator.vector/jdk/incubator/vector//usr/share/javadoc/java-21-openjdk/api/jdk.incubator.vector/jdk/incubator/vector/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.jartool//usr/share/javadoc/java-21-openjdk/api/jdk.jartool/jdk//usr/share/javadoc/java-21-openjdk/api/jdk.jartool/jdk/security//usr/share/javadoc/java-21-openjdk/api/jdk.jartool/jdk/security/jarsigner//usr/share/javadoc/java-21-openjdk/api/jdk.jartool/jdk/security/jarsigner/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.javadoc//usr/share/javadoc/java-21-openjdk/api/jdk.javadoc/jdk//usr/share/javadoc/java-21-openjdk/api/jdk.javadoc/jdk/javadoc//usr/share/javadoc/java-21-openjdk/api/jdk.javadoc/jdk/javadoc/doclet//usr/share/javadoc/java-21-openjdk/api/jdk.javadoc/jdk/javadoc/doclet/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.jcmd//usr/share/javadoc/java-21-openjdk/api/jdk.jconsole//usr/share/javadoc/java-21-openjdk/api/jdk.jconsole/com//usr/share/javadoc/java-21-openjdk/api/jdk.jconsole/com/sun//usr/share/javadoc/java-21-openjdk/api/jdk.jconsole/com/sun/tools//usr/share/javadoc/java-21-openjdk/api/jdk.jconsole/com/sun/tools/jconsole//usr/share/javadoc/java-21-openjdk/api/jdk.jconsole/com/sun/tools/jconsole/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.jdeps//usr/share/javadoc/java-21-openjdk/api/jdk.jdi//usr/share/javadoc/java-21-openjdk/api/jdk.jdi/com//usr/share/javadoc/java-21-openjdk/api/jdk.jdi/com/sun//usr/share/javadoc/java-21-openjdk/api/jdk.jdi/com/sun/jdi//usr/share/javadoc/java-21-openjdk/api/jdk.jdi/com/sun/jdi/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.jdi/com/sun/jdi/connect//usr/share/javadoc/java-21-openjdk/api/jdk.jdi/com/sun/jdi/connect/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.jdi/com/sun/jdi/connect/spi//usr/share/javadoc/java-21-openjdk/api/jdk.jdi/com/sun/jdi/connect/spi/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.jdi/com/sun/jdi/event//usr/share/javadoc/java-21-openjdk/api/jdk.jdi/com/sun/jdi/event/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.jdi/com/sun/jdi/request//usr/share/javadoc/java-21-openjdk/api/jdk.jdi/com/sun/jdi/request/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.jdwp.agent//usr/share/javadoc/java-21-openjdk/api/jdk.jfr//usr/share/javadoc/java-21-openjdk/api/jdk.jfr/jdk//usr/share/javadoc/java-21-openjdk/api/jdk.jfr/jdk/jfr//usr/share/javadoc/java-21-openjdk/api/jdk.jfr/jdk/jfr/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.jfr/jdk/jfr/consumer//usr/share/javadoc/java-21-openjdk/api/jdk.jfr/jdk/jfr/consumer/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.jlink//usr/share/javadoc/java-21-openjdk/api/jdk.jpackage//usr/share/javadoc/java-21-openjdk/api/jdk.jshell//usr/share/javadoc/java-21-openjdk/api/jdk.jshell/jdk//usr/share/javadoc/java-21-openjdk/api/jdk.jshell/jdk/jshell//usr/share/javadoc/java-21-openjdk/api/jdk.jshell/jdk/jshell/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.jshell/jdk/jshell/execution//usr/share/javadoc/java-21-openjdk/api/jdk.jshell/jdk/jshell/execution/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.jshell/jdk/jshell/spi//usr/share/javadoc/java-21-openjdk/api/jdk.jshell/jdk/jshell/spi/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.jshell/jdk/jshell/tool//usr/share/javadoc/java-21-openjdk/api/jdk.jshell/jdk/jshell/tool/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.jsobject//usr/share/javadoc/java-21-openjdk/api/jdk.jsobject/netscape//usr/share/javadoc/java-21-openjdk/api/jdk.jsobject/netscape/javascript//usr/share/javadoc/java-21-openjdk/api/jdk.jsobject/netscape/javascript/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.jstatd//usr/share/javadoc/java-21-openjdk/api/jdk.localedata//usr/share/javadoc/java-21-openjdk/api/jdk.management.agent//usr/share/javadoc/java-21-openjdk/api/jdk.management.jfr//usr/share/javadoc/java-21-openjdk/api/jdk.management.jfr/jdk//usr/share/javadoc/java-21-openjdk/api/jdk.management.jfr/jdk/management//usr/share/javadoc/java-21-openjdk/api/jdk.management.jfr/jdk/management/jfr//usr/share/javadoc/java-21-openjdk/api/jdk.management.jfr/jdk/management/jfr/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.management//usr/share/javadoc/java-21-openjdk/api/jdk.management/com//usr/share/javadoc/java-21-openjdk/api/jdk.management/com/sun//usr/share/javadoc/java-21-openjdk/api/jdk.management/com/sun/management//usr/share/javadoc/java-21-openjdk/api/jdk.management/com/sun/management/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.naming.dns//usr/share/javadoc/java-21-openjdk/api/jdk.naming.rmi//usr/share/javadoc/java-21-openjdk/api/jdk.net//usr/share/javadoc/java-21-openjdk/api/jdk.net/jdk//usr/share/javadoc/java-21-openjdk/api/jdk.net/jdk/net//usr/share/javadoc/java-21-openjdk/api/jdk.net/jdk/net/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.net/jdk/nio//usr/share/javadoc/java-21-openjdk/api/jdk.net/jdk/nio/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.nio.mapmode//usr/share/javadoc/java-21-openjdk/api/jdk.nio.mapmode/jdk//usr/share/javadoc/java-21-openjdk/api/jdk.nio.mapmode/jdk/nio//usr/share/javadoc/java-21-openjdk/api/jdk.nio.mapmode/jdk/nio/mapmode//usr/share/javadoc/java-21-openjdk/api/jdk.nio.mapmode/jdk/nio/mapmode/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.sctp//usr/share/javadoc/java-21-openjdk/api/jdk.sctp/com//usr/share/javadoc/java-21-openjdk/api/jdk.sctp/com/sun//usr/share/javadoc/java-21-openjdk/api/jdk.sctp/com/sun/nio//usr/share/javadoc/java-21-openjdk/api/jdk.sctp/com/sun/nio/sctp//usr/share/javadoc/java-21-openjdk/api/jdk.sctp/com/sun/nio/sctp/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.security.auth//usr/share/javadoc/java-21-openjdk/api/jdk.security.auth/com//usr/share/javadoc/java-21-openjdk/api/jdk.security.auth/com/sun//usr/share/javadoc/java-21-openjdk/api/jdk.security.auth/com/sun/security//usr/share/javadoc/java-21-openjdk/api/jdk.security.auth/com/sun/security/auth//usr/share/javadoc/java-21-openjdk/api/jdk.security.auth/com/sun/security/auth/callback//usr/share/javadoc/java-21-openjdk/api/jdk.security.auth/com/sun/security/auth/callback/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.security.auth/com/sun/security/auth/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.security.auth/com/sun/security/auth/login//usr/share/javadoc/java-21-openjdk/api/jdk.security.auth/com/sun/security/auth/login/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.security.auth/com/sun/security/auth/module//usr/share/javadoc/java-21-openjdk/api/jdk.security.auth/com/sun/security/auth/module/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.security.jgss//usr/share/javadoc/java-21-openjdk/api/jdk.security.jgss/com//usr/share/javadoc/java-21-openjdk/api/jdk.security.jgss/com/sun//usr/share/javadoc/java-21-openjdk/api/jdk.security.jgss/com/sun/security//usr/share/javadoc/java-21-openjdk/api/jdk.security.jgss/com/sun/security/jgss//usr/share/javadoc/java-21-openjdk/api/jdk.security.jgss/com/sun/security/jgss/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.xml.dom//usr/share/javadoc/java-21-openjdk/api/jdk.xml.dom/org//usr/share/javadoc/java-21-openjdk/api/jdk.xml.dom/org/w3c//usr/share/javadoc/java-21-openjdk/api/jdk.xml.dom/org/w3c/dom//usr/share/javadoc/java-21-openjdk/api/jdk.xml.dom/org/w3c/dom/css//usr/share/javadoc/java-21-openjdk/api/jdk.xml.dom/org/w3c/dom/css/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.xml.dom/org/w3c/dom/html//usr/share/javadoc/java-21-openjdk/api/jdk.xml.dom/org/w3c/dom/html/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.xml.dom/org/w3c/dom/stylesheets//usr/share/javadoc/java-21-openjdk/api/jdk.xml.dom/org/w3c/dom/stylesheets/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.xml.dom/org/w3c/dom/xpath//usr/share/javadoc/java-21-openjdk/api/jdk.xml.dom/org/w3c/dom/xpath/class-use//usr/share/javadoc/java-21-openjdk/api/jdk.zipfs//usr/share/javadoc/java-21-openjdk/api/resources//usr/share/javadoc/java-21-openjdk/api/script-dir//usr/share/javadoc/java-21-openjdk/legal//usr/share/javadoc/java-21-openjdk/resources//usr/share/javadoc/java-21-openjdk/specs//usr/share/javadoc/java-21-openjdk/specs/jdwp/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:39824/SUSE_SLE-15-SP6_Update/1ab58ad46026926e5734bdeefd1359fe-java-21-openjdk.SUSE_SLE-15-SP6_Updatedrpmxz5x86_64-suse-linux    !"#$%&'()*+,-./0123456789:;<=>????@@A@BBCCC@@AdirectoryHTML document, ASCII text, with very long linesSVG Scalable Vector Graphics imageASCII textHTML document, UTF-8 Unicode text, with very long linesC++ source, ASCII text, with very long linesGIF image data, version 89a, 362 x 302GIF image data, version 89a, 432 x 87GIF image data, version 89a, 77 x 81GIF image data, version 89a, 104 x 120GIF image data, version 89a, 118 x 61GIF image data, version 89a, 439 x 238GIF image data, version 89a, 44 x 59GIF image data, version 89a, 289 x 122PNG image data, 181 x 52, 8-bit/color RGBA, non-interlacedGIF image data, version 89a, 151 x 150GIF image data, version 89a, 295 x 67PNG image data, 370 x 130, 8-bit/color RGB, non-interlacedGIF image data, version 89a, 168 x 108GIF image data, version 89a, 285 x 235GIF image data, version 87a, 404 x 280PNG image data, 132 x 125, 8-bit/color RGB, non-interlacedPNG image data, 129 x 123, 8-bit/color RGB, non-interlacedGIF image data, version 89a, 125 x 93GIF image data, version 87a, 417 x 112GIF image data, version 89a, 429 x 206GIF image data, version 89a, 450 x 183GIF image data, version 89a, 191 x 201GIF image data, version 89a, 269 x 264GIF image data, version 89a, 629 x 484GIF image data, version 89a, 349 x 386GIF image data, version 89a, 256 x 248GIF image data, version 87a, 384 x 100GIF image data, version 89a, 434 x 122GIF image data, version 89a, 194 x 266GIF image data, version 89a, 427 x 266PNG image data, 177 x 102, 8-bit/color RGB, non-interlacedGIF image data, version 89a, 332 x 198GIF image data, version 89a, 342 x 85GIF image data, version 89a, 175 x 198Algol 68 source, ASCII textGIF image data, version 89a, 450 x 114GIF image data, version 89a, 438 x 168GIF image data, version 89a, 306 x 181GIF image data, version 89a, 438 x 171GIF image data, version 87a, 467 x 168GIF image data, version 89a, 48 x 30JPEG image data, JFIF standard 1.01, resolution (DPI), density 100x100, segment length 16, baseline, precision 8, 270x220, frames 3JPEG image data, JFIF standard 1.01, resolution (DPI), density 100x100, segment length 16, baseline, precision 8, 345x530, frames 3GIF image data, version 87a, 587 x 358GIF image data, version 89a, 322 x 144GIF image data, version 89a, 363 x 144GIF image data, version 89a, 406 x 307GIF image data, version 89a, 316 x 312GIF image data, version 89a, 361 x 304GIF image data, version 89a, 335 x 236GIF image data, version 89a, 363 x 236GIF image data, version 89a, 560 x 225GIF image data, version 89a, 197 x 226GIF image data, version 89a, 328 x 283GIF image data, version 89a, 784 x 294GIF image data, version 89a, 374 x 304GIF image data, version 89a, 420 x 311GIF image data, version 89a, 346 x 162ASCII text, with very long lines, with no line terminatorsHTML document, ASCII textPNG image data, 16 x 16, 8-bit/color RGBA, non-interlacedASCII text, with very long linest޼.8~eputf-81bd1385db15d14ab695e9de7eb1012e42b6e029b77e74d0b50949881a6560879?7zXZ !t/]"k%ˬiǠH$jz:=2 >[^`+(Ss  dV|k<8c;@\itL}zRSq>F[‘E,,k>h)CZ~T0uZJlBeBs(^Yt11m)/Y47tJ'YV0^55tn\[ Z7qDp"JDs wƉS9ƴl/ M7}* cď8$M^ t |XPV$0ڸe >@ME`hkA7ߕnyG YYY*u*m#~9_OIM5\YwP*8.9WILجĵC [œcKH"NDrꨍ]z^_@)"cu&ݹ25( j"bK뼉Db'!QW*":0|Xe(dڱN!3{ Eg |$I{0fz`[q_"wBLl= *T!d1ܖJ_!(Q?7S'B`NVRtK!=*5Ӏ#S3:ԄV9 pb䋦CQ.U),r&mÂn%DKe բML>o->ˤ]o;Fb]O c퍝ÄifӋ-YTĞ7/@hE.wH(+Y4X+1H8\=J*i^Bglo[2+]f5?NVH__sw-¬xݸI~Ǵ?XkMȩ2ID6DjEІ֤x[ cO+'(8éσM,(fqVdQ0hS+d-Ӱ(I{qm'0ņti{e;v_o~5Mȋőiw㯐T*zyۼT:@&g8 ۺ-q@$R-M^_"Jb^_g΁}m)#]b !I%,mx*UYX b?< oo8;+wAg 7D9 [0WHJIYBZ@ .3cS,W'kxOdsazjB-Y1F}4ʴwՏ&xlEf/ɤZ_Ez;庻v?FEL.(D瘴i3,/,`ᦆCr ?(] _#2bRhB!"nѹMUɻR B[ޜߑmlgT*?#n (sbxuHY>}dԏr̊D&(i d Iې&%k`6L~O_Zf:tͦ>F۠#yW}FqA0ݦ3[BbOHZgnx])l+F@6$lEF;51f4%K;:;Y`R,NBaLS5ȧ3[D,| tY%?)k`?&*'F/E "ƚ6O<3]=%,!/*֡,#r B]`ӽsj~Hno_7AT{1qm="T*)%W+G* o}6{Kn؎>74Zdtľԣ&$!çs* mFUlTfym[o6̟D2c]0_0, @Η)='VT8̿/I[_×É }0]„c4$E4IRA£8^.B'26;A.9}fՇ3E k9V*Gcޠ(=n"U{} %NhIq*V6{IG9Ag/$Ո hEaƗ= $ā|u|0jjŜdBz|6u ~ pп"TY{ fi*2?Q<vzTǒbe\&@*JjInU0 %oo~U3yFBK&:8@t;{WJ^Ae@/όjG;@NDF<|z9VZv0_Q SAexnc y?/a%r#ȪT1ƫT$l"H<,JA´m@**R$IڧhWP!}Mld@!sDĠ.$B}ƥ2Ro=+޸:5`GDVemfs\9Mr:t)oe^يɸXԦi|6~R޲ʰPiMU76kDQ;y&r_QcI0`1;K\YcҐۻq~R8{R3坏{%)a҇;Wi}m[lJ6i Z2ЅnҎ0ݡġƫ.邷Fy<&~IIdL ǜ0_6?x}7yCLHolLSVsUAblBa8')mƦ-O{rp}ePf2u]>!7̻DZ%hw ]OguM6:+'cHg= 5̓]Whbb*2e{uRM!}(Vj踳G&$j;\[ԉ.l7|%i.3*}lLGը b ܓXQ/VmdeuJe#7mb]MRt+ Gy' \Yo!绊ڌ#ƊV9XqB4a7D^UzD%EU|TM/ғM@is:Egļ]ńO֍IEm3ȻOѹ*;i)ч"ౣ3;߆vz}1IG2xNo]45G'{DꨲP-HkEQXѱuÙ*\NM Vѡ~Sq}W :Kִ1SuP4] &̠<='c}KnQФ fŒ-֕J!أZ0*CЄqfF033g%yrDV^NL>04R`u0}Xx%% [׾̧l&p!X#Kuxƣ|Y@^0}g8%}ֹݷ7J7Ʌ J*x] `$>^i a z0qu MlKOj3=[°hx#N mwo[9{`͟^g:^bME1o&{s07lцoyj+j?Äb!cقͥu*˅,8a2"d1X$g|0%؊:#qxfq{XS[lX'B ]uH[oTuj:לD"J0f u$dVŪ>8`u8YExGsqsV.i|x twapb0 c\SUZN8u.gÓ+eN'Ȝ\B>*t+ L4~5}@#MJ|q,Ǹf &Rlc)o#cѧU6ʜUzcr2e7st X(fn !ְn`@뵫 ]8j=V՚%ZRメ' $Yx.U&4 "cMaZQЃcԸq9ԍJWj/n@Ejg:~8;Z@: Q#DD_ؐ2j ]㲡fMQһ!;ǻ~NW'* X N믺Pk Ybd#kڬL~= v0Γ3+u3 Z4F԰MtX׆H`bqThX!&r7yh[{&lz݀McJ?#lJ.mK ^ Cmѧ*)!pO(PveVVi1 &73X^`PU5:\|@>] Z$el/>k K`kwʄ8e? Gɻ*b6,PSװ@sVkB|>]dU*QBsior*|("}{WEu_Aeb i ~A7FIr{b@TQ+PҜ7<u&i$ }t P})3]?MVQcjϛHi!XƥqMk Jim&nfX<h;u/nE%t%T#ۏO5k;;\._E cR<oKBg__t7[Wl&^VDnJ7no# #= H'Tcl? Vp SbtxkQ4X6Tk+Gy#i0Ɂ\]Jb|$_[CV~eaP/GbT˥B?N7 Tj#I0rikۧ*^4b ?{O>:'Vm/o8eӇn,)\)YVBu2r {YgE e7"V8%i 7`ꉚ!qi%lAJeKo;NNpj0y|ipv~]IKlibND&CEs{ܻc[8:F2qi]ʚp ܪ&eJ$6 Oaوz;١(taҨ♸Ȭ 03r~cH_0tcd#|aعoK/r o2Y$_z ]bU #aPƞ5KgJb+5b"rXs;^KMAR̋FoنUDJ~4uH;\VOA2-6rv\iH/4W?2߲;yo eS%1%ջ>8z/ B4"=FZ汋랩VI0o2ɤ;dK&/v"}- !r76I>,[4#rMҁoGc  =t@@TsA1?7fb||52g-1L lXV`a#ʳ Bz:'vLm.`Vq#0Ҩ[qYxdL:JmyBl1z";s6 ';r{:m2Ulx3Xi'CH͹a4g=v}DC^ x@h3翅lB !(Ho~ AįRa]5Ed\;Wmddf6 Uo!:[Sc)^=] 1э`*wskM~Vyi26^Sm\_4VI :Oޭ Moj&q( {> TСJz X|h?"7<1udR%mRӬݥq({ X8尫F}M%Oozl8GS̋yz7"Shڶjj( hK@W:?J@-Nn(*l42Ss8'5*d Iu>;~´)1yx'pw ާZ+IĎ]m:l[i14~SUP`lW!LMeKh$;ienH˩ʜޚ')/$(S^i =tGC#RrE2RoƶMcga <(r/0ݻ_/x9}@pPI\@-sk39CA͚i&ܐV YPwS71y}(RP>ԊED|ǒ1!N$'lDaȑ#-4f}lϏ$o7?U^e6>x[ 7§_Qԕeg01FAཱɉh7hns#6K Zۺ1^YŜs'TWZ! &l%מ-Jb])Q{BC 0+m*Cv Fg4 _ע X!7{3Ux#w^3/U,`~"ד6і0p6PcfV=L?{d0w~nPc5PzXi*H 4 l# L:,Vu>FꁾB"<~Ρo21ӓ +-Le"D8/-|gT2iq烲4<>: n$T-sc}h o~e0ni D)f@"u5:/Dy;z: xR83 u/C'I+p{ʹ&/#ECqS˰_/>U)Pة~<30= {ykRb ~s(rv}o]+WT:\tnt_.E1!Ce5/5ҔK ?8G; \)lsERuC:vSJ8/،6-O+Cveps&hJ!_W d/A;{=l,ʵD˗>'jf ^>x|EI kiMFV <ωX=<57{ٝ,\6VA%R'X@ü7.3SwEC|caDA[7*/-{xPp` yoK~7Y9zi_ɏU$SWzM34&uo8{ޢ [jwKKp@ܭHi %K`ܦKR;̸&x$L>B *3^"ՙHP=VE=" y 视T]G!~O(Q < Wcl\.렉 6 vswnk*Y/pO{D4864WLlDm_?p1*r9K '۾E5S{t+Nt>wXN#'l)>b{׿  m&ƻ=vaGKֻ5j#vdNGYhMƳ"|P-G#3QzFd,(RNj( }2L[aRŠPkuO8w.Wn0B}.g>ày7v4~|*tOu%WEs"LjZֿph0ǐ9lWbzhLqkaDP9Q~o_V<3ܳ 2+RV.E\g LK^=tE&2Gyh2:g mG|pK5LW"I Sg< +n>5m$A\a,^4w ְ^K[}΃eqG~s o$iG:NEwPw;y!) [4D\w]HSJF[RBysJ|R]ϵ w69_x6.ec?]~ZC¹B(~"Fu<7nSk!4"-78H^˲ş>7y1B(70$t t^jg <9ډۜg!%xFUg嬌}>ҒО3FȂ{ Q /Gܒ԰H/L $ҁ ӶΗhR۶%. Ǭ0jq2>X2Sω@ead%1y<SGC:ЎH+M'PhZ!v- 0:.2zt$y^"Adp]3I(?eF~?&i$٠SP![Kz-e8D^CBq^(}(L4 (1Yi+\d_,?aҐ:UsL3y&cKWKp}gۇ U7нD~|m|C7{Sn7 k*8ݏ>j3_633Sōn+6O3-cV椔AA}^HQJ쩦yF@ˀB,澥n\tS?Vt`n7wY'6wB:'4\c_|Ec\K1sev,+4{0 J@6s#O|8v%bŹYp!!0:^ᴠԐ /"J+x&Pv<#kaɭoYwdJ}RQ/߆RClu9$?Ԡ{1kR5N4vF2TvD&*oڃ45$Vs.yol "z%YM!M:B/c;<5ltaŐ9*^;r-%mٔ󯈩GG㞅Z%V);u]#4d~fȑG$eUUچ2#.3#?ɐd|W|WݬB#=9emȡ&tu.E˥m{N[X GOZa<0Ga Tx J̤`EԪ%"5L2D>z {M[8#k}hU-IHO+F'he!IÛKߑby Hlh>\j#z}!!2y)Lya]mN5e]:;L+=XKIa:NNEcȶ NGyd\nhzEDXF~n&0q'OS=qշSoUpkx_8ލ8C4Yˉ)u j̀f&cVB-͓)^kx&^CǻS)=?5 k~ݾ=<ɃJ)Iru3jԷ>ˌݣ* ։vQQ$EbMD>s@vޥ~[DWB v崻}Lq9a(֡ahb /Cyf#+:sQ//SuLl!.D¶e{`';1Ē60l p\lKF'?J 7>N"@l@pp -l~nϷn(F&`x&Dץh .y2GO ;L8ƭ8=@EXG@w_(Y:iuj~t>&>֫, i_&ӝ[e`;݌DS>S'!p(ĊEz[;kE@l^,d)@ff1,Rf1lԃ%vgƥkֆ!1"VU{YHKN[^`ܐa0 a:Z2Y mJ&k9,l"tD dxŗœ +]c^};ڔc&Bc&BJ2>fhS3lȲZX}9XU>랖~%w9 [@vd;+ǧO.BN$Ty fX'EU Np="(w#xdBsLcpQ.IrȊ2Q)"(za ZXv}Cq"D[J7 _\VƓ*%K;"f(xGCKCcve̅=3zfu_2ejqXM<dĘiZog_7{V!qcCFLjr# ``?e.'Ȃ*GKtЉ` mN \r&!%eK<{#?r( #UƬnO;E1i!0 ˗v(A*)g?=jH&B^47q!0> 6G8WMQ`n:Lfh-eJHv‹^+:5S;{bJG÷B>2(:  ׉ PvW]Uv^$(e 9]hY{F @SJLETmٝ<8{7[ඛX@1)nH" CyPPṔaKzpC^]] X@ª9C{,>+mAxsؾ4YN7܄6F+ȫӧ#s^eS3hSeYN'S:ݷ*dF:oؾ$h6-)1x'cZ!vqsc[z{JckǬp Ⴈ*ǗmU Nq A/uFif|jAH.6 $Np?4 #^zp7 2I :4Mr52<ј*$?oߝ^ڌ3ٛo{ʜmf:b`M"&d(ᓙ֛~OD^V٧ljC)PId ^i""rkMqhj]n "qs20"!1o>\Pu:Sg wQ;/Aπn}WWXR/&!C9«̋owhGb*|^iv+|\Q75<AJ%ng!!6)'$קV7W"Ba[l!!lfL7YBh#3FXQ>GM Lګu =ҭF2 Rim Ŷof 1"؄D~n?H '"(q;B k[ rDyG0)0ez_(%A< f s鱆tͭyQj';1{(oOӘɜPE4vҙ#+]X@s$ҧµ! fk} *;6hS_R5d =)ƱVUmY ֞{SۻL3=J?" n חsx‘u`_&ܮӳf>n%6/g''eԂV(*r.6C5ǣ$CؗIUb4@<;m&2AV`ƂlPmB#IG~imhCz4tf@QuAr^!7B޵"x%)D!S/9ϡh4saqfTLᖽ҄KnUqYYJ]$ e#q~seJ)[?4Ȗla|nҊm@Ng KzKpgK۷|L>^Z}i5D)up%1W$<}rkknN"SfGۺ)8+7|3 @{G5[0sfOfmE怳tz}`f=/տЁ3xᔛ8M紡fW܆?\@8"EU|5P؄Ԙʵ4 dAʱZZOޓ)J:@,C58hB{nC˚Zl__D/WVMX̖'Sn)vk풻_&-񑁪*VpKio71[Ymq&l^bk/MqPoɶmDC|d A38[֖Nm#`` LS_)iuc_GS߹7c60@eȉGel%4f1b9C 9c;*9u2|˼u13iZYY:(ˏ=t'YyE@ֿ Q7#V|yipZC ;xGu&5ő\_PN!wU'̲qu 4^pR vRM:94w AR- 7g i'š~1N)e1c#:#WwʕIL&yxYrٓ}50JF)/I 2j| z^O]D mofEQ!i!V/L|NWZ!N$K2»&p>\79⊜''="D1U}Y31\ -TKtۺ=v!k]qGm*wΘv)XD`L xwߤ×sf)AXNm I 8kU<D]z1^NJ)@:,m8R)*Z.m=JC ޱY&@ȬӞ~XtQja=S; 0?ŭ8p_I @bIv!;my>Bp̧[+䃤= q/qr@oVWL5H~ɥǩD|.߿ sl rIzA ]H7 #7ueD,Up>!y%a_l_η~P#[JnI~Q6@ZQTT"Њ% hǓRb|`b{ q9p,(Q6fxH*6 jۗ{^K(p@%%IwaI CJ6e^ZWϻa|ԢvWQSyGaNzԋtp,:KO&YIJ9F'ic]`=qiaǎl?iQOaFvmۻ Qd]]%&ZN)`mDh2>dMgD}G%Y4SA`PW 3pPgM!?@q\sj')ݲm 0)c%lMi9_6L$2R/E)1~iFؘ'Zwh;5]pUX 4PhGU_Q|FKpMÉC+^v#8XH4Oͳ|qrlҩֵ/YLZB&?Kr^cAAtGlyؓ#ٳ0@u9 چ~Go(~s5`߂n22WlEolPݕɍ^7P4AG"?=kD(2N@\OEZ]l {K'1K$kH16^} GX\Z&͜_F12{s0x3AMrw6uȅ m7V Fм`A%\w N;ੵ)g8|KtG%Zd/< hz/4\f?=H^2w1M} <80͎CorJ4 MENIZ(ޠ^0M*{UN>3yYs9̱Iq|_> i x&t֝u8@i{o ==޻ -0Ar uH Ќ))Jw]S˔֛zfme V]>5 bN&)qv\k֋]q>,cM܄%;Jd:zG)M8[s~dGE%A<.}p*Xx"+$ٺ^-J}qg}=츜@V(Wڭ OM7bq4]aa6^_8FaXX kUvey" *' s= x] Hm9`x9CD{KIJ6:GQֆDu<9s;,TE]o7Bice :1 EAuP ]DmMvQ )'3ɫZ*~;^kψuxE&IyHE9PZ).ܨGKt`s2m[Ȍ P DC+ϡyg$Ho2PKPJt9#,F]CA/,j^-cܪRR(GOA^ڠ=9Z׷m/ǍKv_~zDLYGDՔxȄX45=Z7,BR+`"Lez]T~iٴ]v)F<>Hu(|Kp P*X(! y Zd w!>ORn+k 5I= Y-R^#2Y m'kJ͒sLw2~K :35۲bb{4i9&DMؠlzC/ٕf^#E/!)h[jJ㓰'R֤ *ɌGa^I}JC`1RpK kf';QiV\MtvuynDk u2Sw4`JonJ+jV4ss)1KݡM 㤼]~5#."h-ds8˳S%vV㶺ݲS.N7 9hAPd(;fO H&*qU5U/t&{ɔ&Yj&<'>riX/Q` ; [6gE*3D2H+r:BKƂ38(:ҽ+2R7q8엌݋Y$H&q5и%1;3 2/M- 1iF\blsZ.GQFJ+ LlPh$JR)漪jvxʝr#y,] >ΐz=mf3/ x`ά:xidw9"[!o' gw㹺=kfL+T1CFOTYE`h2E'bũGD)3&.֕5!zn-(J9Q^w3qԥSXֳsrIeКAVu"S`@1|#ܫH=7vqiFAۛYm !\_807QClY|vCph]k9`[,W!" f8#9uԼQͽV% 5;]ΐo|aʖמ[>qL<փvqDWh.@-*5s8btknQ tPE Dhhk] Sl(F N433//fk dČ1J ]q??8$w 8,$]Qå~5b-;  X~nt}@ɼ|XUȱ\{̑l_;-q w{}ƣmCΝO.:QbF<0a?C@]Kx."Fk.U,p\"?>PўhH"7x]e˰D?օ݈Ux`:!}1%297Cs* #@Fj!))*pDP'u,xs}:bylL%KGqUf h ,]PDuB=_P :/1&g% ܇\ L @f !,qmJDêi j1s)׬\zP;'}j.|Aŵy?3er!DC#$;GEgOV~gGWPᥐ9iIbL66zPgQ#X^z\ ̾THNʼݩ@ caBh3`Ep3>tͩĨamk ְY8m_)&qyV4@^w؁y+T 9]|Fޛ7Tx?ۗ0dɰGU~J8Wt*55L~a}lA!}mP*dk1͔g8t?MTH,8 V0 YZn18X퉎uxeƺ028&\R`YqtDXhK>+0L/ IF3[םoB$/cA^|K,)SuxD<1\A]D">Ov}ۘIVkWgj*2|;;rQ` {jBf(j j$pGD9jJb`7"*.ez1{#llr, 7ԃU깟uUNE#T5]tT P9{ + FafLj孡؂bmLu= 9ax,EA@Y9xJ&"L!g8N;Ez/rjZifAZuoVTO X}᭴bKTgsR[3N@I4$吝IG<eafse'B<$Tl9Fv/ \z >ju鋙9:x =@u^B2e#l3j0{LB4ff+5<0?%>]tH { ֧;LlXX/u@8iyqށ߼ 4g]9A4鎀~w1G}tJ](AZxң/SQѫKWYs?=]h@-tNҢ$2T, ݲR^l`Ej루?%*jr&68ڱl.^0//&cF^'d =>b5'0V^4p VQ%`x@*GΈYaGs0 Xr(bh)ϗ\6{xۈڳpl VɄ=ǔHDÃW@ PFDٞ"2 =یo>͞o#'(@I=9?a\NIħ-N׮Pٌbpk&@ˬLfʈgH/O B<0B%fPodD 'ٍ0Y1+ȎJM"2tn:Ή}'q;' _[-CMC< O!*`dILpq4y+alWxS5t^j87?M4Y1jz[lRPN S`Br_tHLq ݁8`̕_K6HLpv5"^X'SCE>g(4<༾רEq#0 0kN``% |-V.ݖ7T 6g JۊL$tq%d:@M׋B:Df;idԎjG_ .t, P[}=o>{Wk)5g}jZpså19yJu2_E3a䋳s6j*X6+ Jrl>34LKT֋{@h*v ԑHl6*'XLޱJ,u5z.B;j 4q C8lWx fT3=V}|3'`D-_Sfp4`Y1ss\3iHe0E%.ht,:͏Ԙ spW6UȽYHT\CKX`F* ͟tg$*R[C##SJ!%eIAlZ 4_sGȊ FL;㘀qNh]"q6 TWmWukrJ*>n \;`>O1YBIG$qa;N85=wYՇWB٣p]iXT2nmГ)55t1s#Eo!Z7=]?lzNN5 IVafgSBB,07ENc4܆#lL_H/HqƬlKkovz*Ʒv 1C{ R.߱hZBlPM?v̒t\7SK~u; ^BsX[9FI]ús+5Gww30Ћ.g~wFꐡfHm? ծ'#,[ֱ2@bIʻ l׍Y4껉~; +bP1Jh9 UIMno*F]wa?ѣL /Z)U|ʟ:WRs/ė67;ԖM_L(RJ!E' p.Hj8 e!Γ嚯0\^XK纽Gk9[༏uJj J~% NȀ7xX sW4Z0VNgbiFo"YfClr 6 W.4sz0nk7y]ܤ2, wO&O{OI6:O6")&x~CaHcoƍHa8a+:Ve5hTt00j6ԑj?+M?Г'Yl>ϐEFdhBj#H Eepy33IJTzߏyuSW|Pɲ ZBoɎCR -Xxku~jb]cF Hoe<%|}KЕ|!0ve:R‰s'+Op {Bʻ"m!fT!-a:;ri`ϼdT{}.zC4f=7$[ Pm8!SEYmvvlEHl_D%2ؒ 䍁c5xpIL]1S2'L9Tjf Og+1 lT`lԜJze4aQ~7(OROq+ z" @d"N5h0F8J|9кH^ MA+5'ZͰ}@FI*B'C<3^) tI:py ,o.08M孡c&G8J镟6gnȔrɏ&Β'dҴØIoC ZC [7\ìuL/#P3CVjfiNT-N!0vO=hyB-֩U%@(ve⼷lڃOQ noJ q:׹ ܙJb;=k,!Kcd @$Yh@w+y+`aZ_lZ\>/Q^V轢w"aBs衞#>l~ғI]io.4K\6Aўץ \juIq*a,=hѨP,}>ǁ9B0Q9k[xRJa2GYH??~_$rBNe;RW'X:“<;.{kA΀#h냞o>&Sx"tL^Jp`f dm3QY Jwu\k;{uW*uFQU,rM4=>BI.6 1z#zz5'I"hf*A䨱J)/͢i[:TG|C^6Y@s;)76G a"eՁ y`!P-,$[<4Z0 g{Vj5O;NHx|9ɦ)>oOG,x+>iMAqQm&Tmv#卌]oX:׺aX1oͽw&Qln4ur ᧖rɒ.M=YI[ wP7(vҀZtWe;= j7}',LmA+={P{5?Ee*^Jd@XԚf>?2ƀ66S# ^f;+tffcv}Zr Η(c? eN0_Tdfmέg7ȸCՕcAԡfRB@C@\UJbܑ#f owY8*@%W3dB"K#\$\=L*ɵK΢+ _JsRG@g8x:WO|S֒6O7Rou ! Dܖ(DLDk\dYNrB;'g*<}D]BYvBp̤A#aIuСrt++G7uzaRr8|or<Ƶ"*a3\z}L,(ʣ\SE"n '~[fBm$C :Aof&%eT/\bD~cϭ \Ȳי[F8QFyq).q`Ҟ7$ZT#mdfMnKir)>x-@xyp!-#I/Jk])Ĉ8 &yktÉ5jHIrbO Uqj?"@Ԁ&R1j %+³OEo~0t0C'Ť琡Gd ߖKJL2+\ _*7TqV |,}n# *SUtdSņא}m K(&,)&gp{XP_!rRLgoR»ȏ[$,MKxL}启'[MY P[r G?A0u(MNfP8l5wE@bZωT`d~T5~> ah6'}3s+:؍ *cn\(Z1Θu&@-ֆAggJ1v}PK^HZ~G(m7MHGB Z8*Klul]u2SoQ>#'n4v"Ҧ> eF,$v}k8IX’+<ʓz}F tdAUY J"Ĉ :A0D wo(<1> 33 }Ee~~Àp057Μk*pK\3*iΈd1}ƕj4#vEP6凥Cܭ .ieA>.Q]b݊4()<310dȖ&*Eq/@ '4VоjG!Ho8Py}az0n rXZ`ei,0RLBpSG ˺vJTJZK^g#ᖯ]hFσUs}DmvL$!>2gAapNoX<¨'`T`qLA?UG&{4pI5ȥt@G CVuQO?ZZst _͖yu-$!2کB[wt:疥[aoE,,W1r-#hq|e|%r)71HQ~>1(C@MMB Ş_j`{Zo!f&5=8 TNab;3iKV4!K,S2ME:7`8gzE՛CM>wfoMEEK(EA/'k[~o`1zc_p-ȹj2Tf:ϻQ S6)FxV)p@J1^\Ic,qqxr ɹc[{o7(Yv nUorI=Xc/[hIR

>]ˌ3pY-Rw<lep/9fzzԿ 9`S9]ed&mΦwpi5uRMTr$11ׁuN68nrU?J*sBNn[K/&)aBe"|& ZQj+T92h\v<]fWFꪾk?]/b&i)$^%;ӏAԤCic8!]A^'wVGQNMoO@z 0ok~$jG9 ` -eDDža kilz$$G jޚ큉RѣA|08,;yKoqθ'TrTpOR ]+OJDrYtVy`wV7"2"]޾[f2:uE<%K4|7!u#sMkfU;1* .m7ip5no aȵ(Y]dwP&Ӂشc/$F$&-F=z%k'˕] 8P9%hSGh D]7/7hIQr|XaRQm{UN'_4=:Q '.~3mO۽d:g?TʸLHQ$>2Ј "SҖk9i)`7x}*`$GOM oZLċpN"Zys2l~3:(:5äL2dޙZ$V,7}&`&^l6t|{` "⟥Ⱦ@RNt]Չ@}0|tRhufhIۍOsVKQ?nY9FW^ojAj y [sM`H-rx,unUmHbo‡{o3ҘcWM,qZt> ~WOKr\a[3_*UwozH}DW"C jc/ef#C)u*/MOD狥p"/nD'Is7 P%bx5Ռ0AŔx9é 9UXnLf\.zznyVfHgC7;(p']4 P+RB֜GQ=ByG~8 s26 Zn6b8REX&r!ckMWS J2:F)7pf>)!DLؿOkO=!a `dX ؽǘoajLkw.iK u=Ì^MBAŐh8@9DJx;EdzeUl&g8p1MKB5Іo<Ek&c|O]x]Z}'bpUbNEzȯd=%ͮugIؕu2B7BwW GS'*~ Z, q QޏLGO > K}_gr"BZN%h˛7V\{Q+vM' 3Nݖ4X0ߤDccכ)*b`<5;֊SVA~?>2:kpb;85:#+zȣqm  4ۅH=@35.pjty-C;i?!KZ{Sʴ8$9'jun mj./I֥@+JroOco$RrImPGf]P<2Ζ9п$VbD#H:S778$SmhjR~ǣ n8[ 3'.=Y" 6"?Ro#$ٶt島^ݼSM-LRwʾ_]ha:^Nr`Lerc)bqlpM8Pq{ 6[ (GJN \WC9}b'z-V(.ڗG.1b,r:l-rG8q֥Ӫ6oGN\^N>M5d)&'&c uEM1 8QVGDe{40$A{޸~ ,@_]E#JynN>e Q(,ԁT5#s|y\ٶ 65F;>g  iYm$uڛ!=557]:ɥ6l=@agxgPX"=)?1 ^ q2Sc(6ZbX'n_bGtc7z"ş E={PU K9)Az ]yԐm&.2zޙ (q׎KT;nc%hP8gn 6Gȯ-(!_`:LX^ݡyق.j|銐#Fuׂ[?z"ؾz:Tycz{+cHnp1::WFzU񄁹tFs[~O\GlUݝX5`Mq{vz?*.F70Qi+m4&9GXMk4+ ,*>ޛs䄂5e 5sI4g2s  o߂*'o ]Z%%l c7F1cUO9A&C+ZH| Gȇv<>V8ڐk}oEH9Ar* ]{8ig54L[);OYCsCTb U,ÎX.Ϳ"TƢc }"xf'G},\ Mv*4#MJ䉼O.gD,`a U`=nyzoRxkWlKa׮f AwV5gɭXh<|3BiVcq'Gd'hB:׵?Upy? "6TWh% l<,wjzhEagB߰]EiwR>~d&C]*%YĊ?C;3GwjS^N6O,iQ!VRh]$^O4g5Htr$Cߴf/*r TdS}{&T >AbW>jBY4BDݲNW/&I͜u2Lmg\\͡#$g%@n˽jyx_hI|5vNp+XOixykߖiHE~p2[:AE Q9`ղ-RZ0uV:B銪@nӹ! MzzM"%y6a"5棚9ڸmZ7fርwT"D"Q %bdAl#S!h BRVcgBKm(I)C@Jե bݭӎQ^1܍ʪ Q5;$k¥ _20zAq.\)%uy|fc^Ms NJ=\M0U\Z+Y۶3UJv wrYn.m0k3vuʄOVޑ C6 ç,qU)nAE[=Ew|Lj p?C;*m+^VaSr93_&f|gMM1L`u sUUL+ԧ< ݴQ9/Z1iڽ ]/kȐʚyAͯvBO0zP|N#c Pf]vfJ |z-[VHwpMa:7?AWiT(4RHZD}әfmtʓg6mEa3oW_1D-MҘd"Dv~ʹpU3Pq>w]qw\)4qX[_,O?EJsS`M d#_(;iXL:QX9t_A:q~,Q 0 ؆ KK4l*[JLmx C2~vaTyo*u#-|J[ RhI`Mr.}yx. >Z'nB! -㨈=uZPVEl3I yq 5.҇@ (>yWsZ?*Lb$P2 u=TIиb6;,Dku]FUyk 屁kDMxuFdzwyûk$$s11t#>4&%}J&"#=[髠5s3m!4ooRӁtgSԍާ dP*|&{RAi]N 5(K&k R"4/^L2 ܒ T37l}mP /b`ch mSh7< O8J'1D';)&Q޵KJ`hεNm6| 0.|;ם"z o{kV0,D|. ;&㳵s?_/:­(CA,9E0]K?X8Ci!(T&8Rbe%ݛ)p6^08W\8  \2KN Փi "`47zL %E?`ys}}1'c"6S6zYUlߊE' ߆ƙٖxc\KスП"X;yrݸrn6;y8|ٿ7%xP r UK؛[l+6ސ'#ON¡4*7'$Ya 4HcqqMAM4ۓrRoB䜀Ȱ|K,>~*mBƔqrCF0 #l\] ~4b );&6qm m$=GH#O"-o5,s$Ƶ? DDӻmc3{B%'Cd&(H8|9g`qϔK+TzD4=vMPI1扰SP;Dm >xF#|ZJ߮4|쓐]}rQ94X|r0o@jo.cD{%j]i-OuNϗ-Q~9uc"Fת% q b|8ֲ05n(exMWIQe`TX[?hpӾKSE`}H=>-E֜Njw 6,ZGbaֈZnУ (o|!  )hLb= )GW4ʉ!C6l X_IcLu &Ovd?O9 (ϘٴɪO6+t ,wRBA7Q7U@۵倣ҩ^,2%PTa%e{EP"*0C 0aTu+o~"VD:&[S̚2ΆV-8%RVj$?ψrlzW}wBDBzeHS> EŮWMRN벃v>` &Hl USTn6$XK j/^6V,dn4=Rfh)(;R$fqļ6 6I&Ůmڇ1*hz6,xQᐅhL:9GMW?dgnlxDstFt֧˺s?^YV|eftKuWx푤^7LѬϦk=;,60@y@i:{"ex>Fd7N<'إ1͵ݙ\ߐ.X!QG&=2 @Q*J>svF1'@/8JuT!S`@EQi4]67}$L٤qxa$Ng-Qb턚-VYS%L?ȶ8{a[̬ê&4jkĨT%3Ꭸ쐆K"%p}Г}'crh?'} A E F[+WXOYp֨)KrK^b윊цDgq7cNÚ˓`)o/w,Z7\wڽsGܹ k["闃Sˈڃ"+Q +M]rUK)B"#w߯^= ؋RhVj>ņ PLuC&a +-ۅz kjN?Ԩb[8*4=h)g}*&|&>Xa-PBEkR+ լgRďI},+ QEJL eʙ=D1v}چ. Tak~5"ghtI^.GhF5_mAM+JЦ%wy3[s*1U7PEYJJTiJځB1 {6v^fuٔ&;/spA"B J`40d ga/h O7݇h V֟X^g'j;×l OK?8:i\Fv6[Q]%ǜ~*}Ր`L'L5\:}ފ @drbZ$k,>ۓ2["+ZRǐYmޗOiC=7tmk ENEΚea]6n?pɃ |P"|@QH[A#_xIRHٷ^s΂ʝ?kB4AVw/2_t(O8A K͵mB29ȺEyyY3銭OePz5J쉯ŔiYk;G&L(OvVQf~1՚{)6kSIܣ6; #7snt";)bU6 '=K4Kl0DQӳ4@o Ĕh{+˳HkZ'xf1r\ tzh0gatb,&3'5zOD]Ӂ׃9D~SF(m@ZoOQ9|ĊLI80t18nȰ6;A_Zu"ڕQоETuTE8}?[&iM9Wԛ ^ /[2Ql+S}G0 +|t!d)$yI_x0T yzMߖ7()k]:r-hcV!Phu˱ZJ11%P>óe#RHtȤ*(%Uq&Sm ؜Hv ap VPM8{?C$SUD -+V- ϲyH"tM07bt*GJ^@>"L@"l WbN>`yWW[v,gæi髰KSBv4zByp=8Z?M=:&j߄reH,>71Wt)S \`ކ?3殸dxt4c WTwE>6c]DTGWG^"%0<`cttݾ@Vm/t/vY?'"Zќ0UTx䧉~(A2eu:wY`gt%{s,Šla*Z匕{X\y@Н.x,-=an!9D_Dϭ7!9f-xl/P[7[3>f.CWHw}ޕęԦ''v{|妘 LQļ^4UTxb\Ut If]ON,۾Kp2$luH:̞ $]TAGjUE#ULCAMIIS>,#0m/a+mA飨G$P+-q96阼-yPF^ ie)6O4;0@SQ_f7DO`K <XMxNߨX8[YXxmrH3UmW]L1skfr )H&;Jop>.0k t{Ľ$Зި ,ImL vN^3Ɩ%OepAKxݟ^9]m\O gx+٪8ۄLT#p38rׂ+[ۜ+\\zjy [IV@(Qzc$M7j-WIcq:\5LpH4jnqKFPnp-#޼aHMX`͚$CLvio q Ė.<>8WZB 0zmuDOP)(]s < ؁ "t?UvYL U),.2a#Fk/QnM'd"k.&`/-sҴL7 CLɉ*1TifxE?I bLHŔ;i1hO˰Ekʪ)!pfǸGJ\bx.!tLYcͦÈC af=u3XSb/m@&֝cUok]f;è.$ªYxgc`$C2$՗D/ #gric6G)jqͷ,eᛨO:]sǝx_KY{Ny z<LjZ|"{|,1M\Ks(F ?Ri;Mh#焒ME+) zvw\=gԫ~?)*{ĀT[U)-+p{x2v]]}9gPW{aYT}lh %wcZHfsJ|*拱5 CSa?+4OZMc8ad\&,E|`mh%OIy P@/ă6o>ZvEaڙZhIi$Z$Vkn}k'Qf~6D4zS.\F‰4PM%,ANv XrqTEGgNy+Gl>}3 +ȝgՄhJO 4.H}wܹjƝZۺqMۀ.U.\WB'0 l .C_$o5n'&Ʉ Hdvo_u!*_%(65>R|K)'ia^N ۦFV@e~Y"SxvJY-##o?шA(b8D`8MG]=f#1݀" -"ϧ2Пz AMF) )KKt4dON 򚇤-"- \a;5q@ޏ,4(g㷙藡#sv& >uADip0RX[e_yR}W_kصߵG(84@uR6F*pTC,*]e|pv zkJL'YmC:Aڲs"6;ٔi Kz|z^ _]L9{ k.c,%ungǶ_w]zcpAy_ jP.ꐅkEHxJ(/ZY`?=nd;Ȏ sq1_fpK ([Rs <Х׹>bC 853|fgﺐٝ oaZ>ImtC#Vr(%ۋÉ 4:rQĔ5yqݩ= (D{L<` ]Т3ڹZ  49#>3\vL/TR6:\3xIfB_~& ΤvL?K>Q:_:^U>3m ~,Tf wΕj?&mU~rI@(=*> n?(8Fk CV$Yk}Mg='<&6aXh+ֹ\2(rp紗ruєUgI #/YڃE N>2i &#ӳl9Xd shh!ǽi]0#J"#8xz;%SeژL@S\Pwv|Qw|֨+6Z.{S:=e")qo!(ow/Z،,tLR"fa<uP9ޛk&w ZY̓o4:]n r)^#FruCbZ}4dEw ܮ7R ՇlFgQ Hj,-2j f.9b|Wv}+[;2 >U)pUpWˆGL@&䈰TdtND%s$iNZo?Қgdud 7r8оDmƚ(pHT:8k>1b+9j<*e3:ܣnՋz`.v<NP/=.u2D J?:ba5/=xb c2o_Jsbcs(16m0Ewr(!@ 07]f} AK%쥥 &/4Ze6bl6y ;M,n. v,dQ!FYtcZʴv-vz\'n1U Ѓ@̟ UPjoܘuKD\V<4 f#,J*OgzYS 5S[6QHy5&[hVNzqف|Ԇ5ͩ*`pW]Y=x^gk?uTToє餺狆8e%VsEo|{`rL XԦr݅R!=/hj<;oˇ-=Yk0'\/荝 Q ɏeHY₈A?xvuHHO$w Wӌ1myKZo2&;ѣ]_)^ =fk1B!;fY:QIUT\}Ʋ7²VaY&)G._'?I|5#4b0HlR}Ɵ8P.6:6{*YqPZ+~>>jA&Ο6O^ij@_4܂ 1Rp{.mvٰ ql&sJ Y-Y}>S6LjIT^uJ ݖ+]IBr]Iksj%n CcDV 4 l6Gh0 c3-Z@Žpxp KGp x D nx0GLlUD-7OvKKX TaMvۋ̼M!S?pIaZA+5\%|G]KMrlwp[Ayn#.&cnU!i k!nZ*Jn9a܇eqpOAAMRDQvZK sXCZYEz|5<%OCңO0_>SZCt FsY;fM]@;뚜 j@K (Tr0y5iT|n+[Rӄ\[r' 㦪庎y%Ĉp* FjkhM78 * j[_mrUzXBDS Ijf.$WgL|}}X翽QIVMJ5PuNP.8ŠR3{sh d^pʈCkFstne^ɯtAڸ=T; xr[FT{=:r80rѡOkJƑ /t軺" Kv1}ufN(s{ƚT42*3c1ҙwAVx/^74sMm(j^9r&̆VN^(,u[#Paju`o\~oE/5*a0K)/hGh?'Jڇl1܇| 9 6T]Fƫ|EL{*pOdޭåQew $tO>G@m&x]7[ș'o7$bY\Czަ)&t@9[㈚'x;y! "i?e=>?^ w\NEKiU͝t焋tH-uYw٬M #R]LOGc7BR(U,Y<W6NdUC1TC>ՠ$`EW<}Y B?B??4,P0j\]'h-Y ߜ̓kMky[25O*'*1xޠ 끵Z_;#Ōzm>C/FCA|Y)@/}$^g(? J9ꚨբeЇ=A%bV Y'X3ҁ -\tȪ>ˆwH"١IIa/ܺ(q a]mMJ'IvO;is/tJJȣOrX)Kю,XGOIg0.\`L1khkN 7\;3ukX=2H!S).J<,hꞂHϑc ^s Jp G1 cǂK'/xO7wrp'z A<MFCˬk$5J,#g p27g*9-vKMJ}ӧjae` D5dʝ2BSbFsncL)?1Hόc}Knc4P== dD:w4&lh#,BUR~wy_{ U w ?u/c5/ƗevX:aZ bX Ep _G*.-+zSaisd6~Z$T>T;ZW|x%fϬۂUq v@S,8;%G6zyh%- NN*,:-FH6c g(M62 ͫmp~FNX<Jԋd z$!Aѥ أ {k.°NXs\,Rs:>GAhx_՚-QKb@E4+Yw3Wtc6 <|)cuĒ a#bĸDk:9GBRZI+Ǔ%I8S*Msbkr>'⍟6o5`*5]"3Ni/6[Į5 NU0χ2nxȕkdbWM#?:%{-IC]ӑ5jߚαAS SEBO.РǪʹH 3X֩@paڄذTJI-)P;@u"6RGϛ%`kA9/k2:Z}{f|n鳛>󌏣6~VmUqG4 ;U'T2y@ure!J:L=- z&uxxޣo͌~Bj~"Βʄ{|:E&=-+nN0 y4IMmNG|WgFTk |Vh5ɫ :r>bR@K9GV~yc6EaQ@7]|ӮqMgm+#"']rsE I2CN|7[!'S%m5gh$ǘ !7:,j)8N}޼͍X m3#6`ieFMƸj#o.i^²ͷQۇ7ŹicǦM0Ho9lMW=ȭK\òK gC (./IvEddKy F%]rN;q݀*nZߺߛl\ ҎB,/rPuh\dQ?K~B"Š@Q] 4 2Y.Lbf#'VFup1=S? qh. Z}pxpRn!MH O;Gx'Ml4톟i5Xd {Ȗx &x$l9”Q{dMϗ$X0ڿka<jdv(" RBOw o-0*Yq3.`N֫uK_JىctV:\Aߍ_}*Kp W|Q +=Eě{Y<9@aPI߉X3M! m%[YlΎ{1.eQB1-T;<q yYܭVw]ƚ7OA 4٣Ư?IA8"D&ywsy* E,O nQFױ1% PzdM'`ݪg 9NZNƢ$t zq}Y0K#o·-ɔKdW TȐД}SFcb& n@O<]"WכTy 6яw&I@ D:.Ehb?Ussl%my%Ln#L/2d>)H5lf'!֙eKK(Je_wTcF ˢ)56rpje@M 3TER[e@OHfP-ryȌ:P " >#[OԦF[}L? UaJ `v){4ĪvQ@ 6q6r꙱ƥGu5iE=dbdYҌ;\/iPM"m iwy뮰3TgkR$ ŭWk"4pPP`ۈ=Q6[!eu5CBi!Uyh:iOʆ,g >@FJ6&"NVK9nP/Qajq!<&59ct8zJ[}gw{sfCYX156-C]!:m3UfעLt'O\k!@*;%ųTEw^Ցs1WEI%2|GOTyf-JAIMہ^r3?PtWݬ$V-H8a}$i1j+cNHݔRCJ4})R =?(&O>ŏgu6HEIvp|VuLQM!L8hiC*qcɔ\WytČۍ-uyavn 1exXBYhiRf#L~x+;Akh8 G/ҕdS.ˌjXwQM3s)zeue|aQ76YLy5 a%;Sı8v mTl?ؿPBkH5埣3`Ԓy`Zvh{Y;˺w6g|]ڃd0Dnߦcv1? P:Q