java-21-openjdk-javadoc-21.0.6.0-150600.3.9.1<>,`g]p9|ZDhwF N>ӶG0-튡Oy>+syd}!-B]FɸS̈́)ռ>R:{봥65p n^\tRAGkŝ]AA L"͡ʫ;LYD_aj]lGA=mHzhPv rߨ$l_"B:,9a}{RU$7/8,ƹC:mE ^2f]H>??d# 0 Mptu !l*|* * Z* *  E *  o* * *Ɯ*qr r8 r (s8s 9sP:t`>@FG*HV*I*X+Y+\,(*]8*^rb5xc6!d6e6f6l6u6*vDz3DHNCjava-21-openjdk-javadoc21.0.6.0150600.3.9.1OpenJDK 21 API DocumentationThe OpenJDK 21 API documentation.g]h03-ch2cSUSE 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 firi4L  r 3*h`]Ǹ&~,TY Vv{F p ,>Ms eRdrz*_'-+7LD%#`.Ds:Il,&^`i#V.o(~Jӥi5*K50zf9+,cLq4A`zJ#F_m=ZY7ci-]rTZ6g Z|tlET]D%,R:,ca|>)|.9x+vE -%$L EP@(1'<IgdJ$?0;c, 2*I&LJt9$P2 2$ K2 lntx &YeTd_+=+06+9QC4Z=j. ћΪ+)*+>M,!D.5 :HpQ>+4A4l,G +-45Y+,7[.I\>4U16=O*++)+*:MMc++{(ܢ IQg;?)UT|<4& - mk!eg7*P[H0]d("AQ1!0 `*Da{`GdGG]IS+:*P)7:)*+;)8!_3^4=rc=m! C(zJ@d!X~"/"UxWC%&Q= o( +ygw.SRV^[-G@P2/ 65Ȃ/TK9<^/4F{.?1H+7t5/c1NQ33V0@.6C6 h0.-s#;%\l`(G8P p4!r* %!}>bAr x5?t 5j?jtDYö3GQwf>2 z)CA'XW H"Fz@>XnPON=3~BnUI~rH`/_``_`]``*C?<$0f=!1"*%Q+!5>5A*BFA@A^AO9w,xBM;S9QG!DSksr,W=g2,Z ZJ-\ZPD!J6V%2(#D- V3n0$6-&Dt*9w4S-b}A`gF6AaKeHcO id=48HV{2[)yq$u)+?))31eVZ&)]x mN!lR7j|<>D.:2#P;  8W|1`P4O71$9 {  (+,,ZC(,.G3t7k9(jB1>2&=!aj8V||&M<^$>)g&dRPN%'uFe58t;?O>\r8JD|z" pT'1X?7 bX?,04,yD&"Tf0C£ʷ#E"\HAob 0zqC+ I h-2,+C!4@NP SdSX"3 #5j")e-BJX?LGok&J+l,%.-/X ("{!/*!$@c0JuW /T-K&B+H@p@j3xT+w G(/#C7>%+4hbDtkC/UM:(GE(wn\%d''6rql(m(o%)&()p_;(*&T!(9*s))+)64Kz*)E&)X)b)P(3|_If|T*G)E)D()*)@A?)5E_z)],)C)3) nhK8 -*3hS+(MtDu0l,7/z1\!'bzMmbB4DiB 0x0]467hϢK?oLW9l`0. n+?" 'p)oXu*jZ7483E84"h--b3<nDAO<{7{LT$SiQY 6;Si3\?.)O))(d7U, 'Bj2;{,GL-!+=tHN,L@521,1n$s76,+)TSBo_3($,3BfM?wQ_;J&rE[ZZ&hLUQZ4F': md25_RDZf!$BK5)$T'J0 %D/qc:E)6?<L`+KP 9ht+nn"+jn"X9#V\t-1J^&DP2hht78\0$q([&(}C6c9tw#G! I\tdDu=K?YOnhZFfRm8$f`9LTp:80P, oC!52;a9-;}L: P ;+4C@;hw02&|(d$NX;D#E8XXh9,W:ncMvQI/(:;O+ybHfv{8(kbhjked8qV5[Gx.r-w-5z:8N\+t1{r;+=2l&@QqPn& @,:-=Gm2[:<^._B.;WG3:KUbEPh5Q7PNJiFFo,K_w!F 0-%$EpTn$0$-"I-,8"2DYpm%zn$q$69&/{JPapCcK .xSZL 8!&k #5!nc!1(rL# +Vl66]^1y3g2m%EO)Gq7m=}Nk2`Wa'&xWW"]EA ] Aq:&5U"$`6+220"1~/#-)+O+Hw3.#.*"dvppj|vRpvp:9 N7f`'?;>>#[@N+?6E459345IVpD9.%^AAc+Gm-;8]A@X@56VbPVP$[,&\&)gPJ\!\V7 b"+2!~#bt-khP\VPY4L5]f|Z֥]nF׵:/nͼb+%r =05DCc@3K%o`IE" :D)<1I*M6 -&gW],;bO,wO,2pL36d^0P2>hzJ"M f&0\qddդ DA0H]2luSt I>Lfy Uc+nStGW]] es5;ivN\~S-j!TU.hPz!ShN78a!VR}s)Q9N!7xlT;KوSNOAy^EG#J[|h+-oDTt/'l79xK TC;im9k.%-=AL|1GG{GcFa!``]S+S[c`l<=.RQXk55]*U.,! ,t:F":P4(3#;./,x6$=;!<X'#q((,"$(GM)/G/#qOK S8\0/!B%z>sv##/@A/[vl8G0])I/!!!9vgIq2.-]/#^9@T#i+Hfb?*> >k&=ygmU!M#-9M/G:/n,)"- K29^KO wgPK]2up'!K91r?& -6*)AHK'y/v)hFf;\Xg9?^GXW9*Y,0c"5Q/}oOzGMv7&2G140kqm,_4d a1 YCH(Xa[b>c=^1A"5h G2'z /k#bzzKE67tnP-J82@;d2l4k)O-Mc"68nnnzVJ6(A&.J6 2 !!>!&n\c0)a= B` 7}B/Rmx{W79i" nj$l#8'tP=B#i$JVTIj23D,2#/b%/%X<2#$$=bA%o/% ;#$$<%/}%2;#$$<&&A&VN%'S%'%d'%{$.L^?BB:k}3}UC`*9N""[`yZ2B0: kKKS#3q>==YYi,g)2b+J*h@** 3&,)*!"morxT:+.!Cf,gpP"f3~{|Dk5t(6b&6Q(;UtPAXu]*g;GLJJJ>/JJ,ZUlG,5=(kI4's4(T9,W|H D+ e>$92֬"UrDcCENB=\+y][ki\)d,Ao>D%) )D,2$ \JI<E1&*--Tkznh1~-`-H:Da736LPo%CV-c/q.*F3-:0/E ) p1E48sFjhuc_)6URz>74KW"]8h&8V JDJD&J/ JJ87%  ^r:@3\o)%$ӡBU:kK=5MrmTK`9 251+3:;2 mD;,K}Unbr%U X?CI{S0<>I*h>'Uh$!|'?i:'G$P'R1P,<2 J,3P| &*8'Vbg[;PdD-3ib-(Kb!}7U5iFeCGD;Dy!f7`!l=J&NF ęt061A00?;OGM7y010/'/*#*2quV:U/L0mTX^# "LBT%q-435a444In,U&x&-"-m&/&-.k\Q9l!!5!I'l~,2!7*Ai2 C+Ev u+/Y.k2j1MigJ,<, +_-c%nB<V W<)(7n<BBA~Kh a3VeH)y.TS:"""""rT-zp&#H:?C0Xa+\`8v'.&7;C);<~{+6}'BY,#@6%")5f"B_Z*ސ$ TAj>!?+PyhPG=N?}PzN?IXWWy$*@{,4+8 l ]$%u+WY* @% }]<^'KUN6$7$XOH~Z-}gmXx>m7AML>$*%k|5<<-P,H.$3-*D8[ A)8WG1%M'!*'13<5}-T4l,-Y =>A`dd2(c1 24%(j/evJ^.0!Z!#*xK+ )O%nOkcz[RQOWz"3x,I:pUm  @Sf0,;_Lx@U hJPwQu,h+'hl)~u LJa2S?l/K?[6C>BCBDF,24&jCaMG#@SQe6)\|}zYV\Y5CFtN>4;?>SBٰ>0Ha~i/nd_D I}SbDvaU+5q*`cJf}L0YfKSp}7Gti G!B6UBm06&,3..F!p.d4:8r]J,T"<:z uF.T?RFnc1i!3&P!'83+mJw.Y*>,m--*:*%"v/k`|"V:+'ܺ%'$))!@Kg';"* (*G0EW,R$1^88u^Rg(E6F]R <_"+C`|},#U/45/S(@%X*"*?,B* +(+!$.;Z#6Y"+G# ."*('7Dn+)+)Ha=+ (y+a,myPH0Znm(Hm nmD@):1*;?o)o\$sbSP}RI@(:xOeMEumt=G^0(B? 9:4Cf5/2#S$ 5.v,"/?;kT,63)  G:M~" 0  ^3 aVM ;Uc|85&8   )]:N$Hg::e1;Y76:-(^׎g+egj+@~4nK5"Ob=D 3\RPz'eo0J(0Y+IJ {QIfY`C;<i8g_5:V.U3)/&5A4:wN^]A1a_2Aj'!^@r*i?K?X8} wZL~t)m<O[?}zt3onPm1v/b;0=1#$PbRK""$;J$x:eZEGyqc)N0BV-ryRjQXV@|eE},Eib/%#OI"(E=7Yk+%  +u1+:IC#ICn:ga"U:8Xnk^G@%0#C)#$$MPEwt,(clb%_%HViZtx7KK7D}A;bmԕyy5yzHCK[BE-J}Ik >Q2us_&C,Ek{aTI%n RS Ak)Ak9M,5/IM5 /;5)5;;Mc$,l/<G!( A}#}Yu,;,lzu>yRAhqD^*YM04o'PH[{1;VBd//#B,|? 6YHIG-%u4I>cuB".`7jvJ!e}I;u,=0?('bUSN=ijJr7GeR$'U?c/w^lLR[#z#UKVR+'J=?2*4P() 9V1Soc `5 [Q6 +'!5+#0J4 9)$=;,K2h 52_*+! 2,_Wf! FB@8)Jqt389"r]5Y6qQW1L]SK9Va>9Q3*r̄hCH7O]+Bvx%0lEpJ wn3RltN'<!T&"* \5,U#c{<X9tf*3mb|s&95d{0J]@F)-$Bj&"pSS\hF)N()  3 %YKD-/] #6w3%)I-;$SXtS 3)QI=Y!N*qV{T20X>6 ]GQFW'n`:Kp@oo!K"4@({> >?#ioSncINO1 %D'_euY !z%)/{mGJ_c7+xBw}zACCCR/>+8?8$?*wRH/o=q7'!w= ntA0X`7G=$%,62bW7WYK3N_M[M#MkJ0DTJUdV QLyKWNOKgP,LKLLLJI^U}QzK.Oo1 u6[ G.$[{FbGYTkKXUgyGKh[J+W%IIMpIJJT%Z٠GnFlLbq)rR# :'afC$"' )En \k '0r!4=A(nC<r?&X<*3 z=]f 5T<#VA<$G1,"]#Q@C*:0&)^Sv%r%7o}[609/XKJM+nNE"2I%f;c+'gy(l%#'''1B#-Ax/$V"N,&,@F>\jkYeE XTuW;v0-M~t%:?p;d-KbY8Do6SN'%/Sj j\iYZ/WK(^:?bS;!eM<S)(QS:;1AGq7&H;3T %5 V8\R/?lb~C O7-.EkqX&W@Vqa \BU ZMFb&9.UKxWc%TpuQ&OqtZ!xJNPrxD1X"XY~8Ws1D089);Aroߵ%+:|>(Lt9]ja}XZgvrX4v3 ojh R_ʃ-t9{T6` ;X[TS|tt^s]{p$ܖ '.nN|jZɐ\!t:ųESײ>O؅Xz"p$1EVא>Em<QkFw?xV@p}zVs=w5Mr4\s)WDdulfKX>4$6QBt8~2@~=y:QIx9KmE/iJv'FzD050C0z9~v%2) FW#<,Q.} Ia_u y_[ 8[e @ M;0-<h$vZ%56  `"",&D2`3;#,gpP;=>).+9,6>OPR61::]R([R"Xh=v!:"tNv]U*i..N&.RCv=R"gl":FI[}j..N;^<vvRY^?j"@_^.:GGF"0 ^Mj:4 .v/w=RR*/^F,Fv" :/(rR ;X:F8..&B>XM@=tS"L't8O$~#9 /*Fl0P*,mL)X Q!dj$-"<.:S.!50a34[)$  a @ U[H17&*)/04"=6d4m"b]tMR 1H'w3),+2').C0O|$IB:|%<:+J;|:',5B#) -:H:w(DALI%eIk5?FLD]a).b)de'.1)S / >9905`:6[sE`0R*CBc"@F8!JkP D-0!r0C(A"W&B2 57=5:* ((.XG9B&+((g^F3() :(f;s(((()(w(P?[((g((n40)(?=*,22N2aHGPMd3n1Jn_oV9w3(D85q(@=(2D9+}(w3A5;Zr=====(mN5<G<=I8&=r<1:33'3223.22n'Q*3?26Xaax/8BFa)5iW6a3b,M:hnǜ,33;]9gJ/7G\7*=Hbr9N23?8CCNbC1>DN?G>C /Q0/!nc$H$s$60`$ mn*6<$f6$6BZ00 ""%!s$ *s(d[$** n" F5|H)B6H$.*[(([7!46Zz$-YGP+M~/K0j+ Y't7y;SG0/E *4/1 + *$*0y0$0704/*00W+>*C/,/.p*'1l**0!0/**\0=-*v/*w-0WrJ.S@36;4@(;(?>*UϨ_Ͷ.ucH.HL?IM)'hOPdW^;9Xj,\fb<'\-7R lwd(^/g'Jg}AgB<@$7KvS ! zti%h-p?Lcuc,ue5??[Qzzz\.HR8Hp89G"G\+q40`GG~GN3PKct DA.tx4uWEdkPoqyp~wuepPRouR#&y,2`t~A}0ivIm?/},_? zDz['<?0z\S:T}-v:*ux-0IOSu1;wSw,?I;H.EPAh2/0SG;Y'z^_U Am7.Fo:/B.@@@DASAoA/@ B{wPXyHw>PGQ|KPNg~)$&^Ol[xh4/N\5<<.M8L?Lq;2"'2o<>?`?S>0rGCG*F;HCfD$SXq,}jxGV #*-&/8CBYk'[/?{)2,>a+5"^q .5$ N?q&G*3k#9|7&)3"+ 1|5(#A/5w'dJH5Zy#r4f) (RF [lCw6uG 0 eW$>   ,I"*0@D;:+}'\G]Qs'&0&|&c'b''48CQ`=e4Q2_5 e=gNM5~-:DbhvJ, ,F)]0:$e-t nhnbn3P`1I(RT.n{[1Y+hD[]ĖBC?51*U:&:L*+bNezt{4&Y>M m]7>$-,%VXBi32 ":eGm"k7O/BY4FA4}7/1M$++p0oՄcmn#()(?#!)crY +V& 5W1T501 ip2gU.K@4Hz$FF}b&xVK>3fJFKadKaA_/#2*47ETS;G;65G,"PFx 7l3PHM1 p$(\(E(*7=6$4uNF$O>gi4e7J]HHJn0s(Bv hz~#j3!S,=\.%$4H1VK<.X7R;6$VB$d)b5*S ..w.P,.//.nZCDWVzOVr"H+3Aa>~STO6 U..J$='&&O&YK!S2)1670CaBoEuEo.zHRJ3L7fK*GQ='qKu|9=3E ,:\HZ6~6jEhCWH})p,A)eG;5'-PpXI3NwN(V0W;;>)p5g']M@BTz{{4f})i9\2sb$4LDWw>kkFC3:+r'5$G=++nf<|/ k,ef}0 ]n1b"h#K!qa`TG5y//04.QKjbZy@\zMt->emd};N''C'1u4E8=4$\IN?dX-~$e5[Z<-,|t"1%9<Ref7}ѿ9A48͗9:9H9=4A<;Vu6%D]:;<6876RO&7g77x78+s5%%1U=Y'%| 7(vI7U%1CWC==8U`Vc99988]=Z7=i<n^dRS&JQ:CS**v7xBV+,6%`>Z~8iO=?;lPZk5GO%@4EYf*5+C%,fU3>mZTFz<* 7 CHA-p&/X5Y99vC*=]-*HvD2 +^rxHz@=~kx^="8 >>&xI^'&@K/9:y*A'$ T(!GX;B _,&x"54/O34-5I/Y1/}69@ MT044n444m7 0!y x82hC!vB!5e^e1=-2W#|6]Erg:f=,_&p+iT9WJnvFB Mc/@/388["? u1AO>XK!)R5r'(U'!ssgO0G.d@Pzggeaq-pGGvUL1$&D8Dcc[ie1[E˶z_,<;$2VUn2gT$36p!D-]5p$f:N'10Na6=E`B<eMq!V< A5# mEc2[ 5,5T.OK\+Y>{<6)37pNA!02 !!;Eu,B:jAiZb/&'!V>& ji+j"[#vűbKd53Um t}}wS@$Vt6eY=Z6N,D+G$""!]yy!pX31v(hH}@4\3U(: y]HGF \-?K2AaUef eeMeCbbb2ddc2+r|0(,Ci::r%:O V)?X;%jj&B(Ix 7_OH %MGx#8 3v^R"G@@xD1$7JH.5>w"+iw@?O<.`iZYAm+?81)(E91*A*bNH0,?"@>"3"![CT!i|#1*h4*&*"7HX#YW[)A+6)h]-)9?\#2bG o*jz@D22 =G^Ϣ;t$qw#<U_9QX.:@7@^CZzF%5gZY&*t0EC<&&t+NG"K&x(%$K"&pW\ =?(XKAO@?18( 2*`+)7"@C2:\9xE)5WR04 "Q+(j4$@8 IK*CF30UgE8t"I""/=S4k&9,rj'UJZ5:z5(M='/i$P$O.y%$R$$FD"fP2"0 OSlLǡ'H*H\Y6HiC55D"XMU*b%"#6R*<;-@#3D'4S972EBO;<>J%rK&#-2 /F*.5;y5%"!@@_b8:/5-I4IP& 1F@k.q%"~:u-8"[(^&Z=pp,`WQ\qr6@Cipp7[Jf,||!(j9$>>$:p2Y.5! m=;oܧ6VZE+N8'4{4%4v),0&1{!L V n-nek "0x7k.H&ygS(.0<6-^1BO&v?R.9Yf ':=?^<_j>&PTIq 34SBM  F9) !08 / ' * b6&p>uc~X77 ~*0"l~(Ly;+&,fM7T]253%0rZz: r1V+s$YW$:#ޖ9~( 9iF.j'6wt"", y(Ut+?pI7MC-d?h`U0/0p0,?YV?$MV&/p@&c}cf1x EHQdNOS^1wLydd' R/ }2^IkEM@P5'ppp()^gqCUyw)_ .G6\3E9B\0v1.; >^$#$_#(4(-!2l*l_I3T(,&3)+Hծ;6&&&)+(&-&+-G(u1<-'Q0))21)n) /,h0X)(&.H)*)>-.W(%(&-b&'NV&9OJ!U&'[)("&'&4o'X&&*)=''R*#&x'(&&''%('-(B|+) )2':)'Qg1k-K,K+&++/&X, 'DO+zIP,1D&'+i+0v'I-#'&F7E'1_+1&+D3j1'D8--K2P0B7=<8-,n+'&n',.'[4@$2,,+'B{J^75+@3('&;+''V"7%""=!"^!",n!'(K)Q!#c##B"##!!"p"#"=!'!"^!V&7"^#$#! #!<!@#"#!&H)<%""!%#B"#!%"""!%J5&#!!"!&G !t")I!":!1|":"%!^HD7:`iQV|-%b2bW0QRA'eU_5ŵPA !P^(^wL(3h%(k=>0\Mx&Gi} ,`<Ka?Q:X5}<5"`'EM/9JJ<"|}\G,Ze*5f5|8<d&&)#w4GAE!w$W:x\;9U;XywU\5 @z-&D0 -+KY[SY|Qg.v%/0z>1]g5r_8%FT=7Xi\g=/J_j"#c7(_!.96/IN&E(%Z%.Hvc19C fPk<}JKnL" ̀M) OFowa+Ɵmj"t5mO90,vAhD?,AC^kd`8NLOK_ANT6Ft*tQI,eGGj1=BMt,;fliLF4177}A>-O/R7S7{- .%7m:8///-],`3:[m*IvK7c*P7H3q--B/DG7{-K CpI.-U--G2T[-~O Q?+Zl@N"/B/xJW*Z`H`8&55HB;BThDz!!i+/%, m7~fN6HEeg3 D6B-'B`A5/Oi#t7{9C3!k'cF3 F 4~V@l0g%##:!b!/.20&5Q 6,*1,..2 1!(*# ((*56I>|}(_qqM>.m{]X)?K 9-{0^//N?N)NNN>N]d77i7i%RoW?W?xHxW\WW?G%/8mz.+&j%*, +@QPJhux.44j |N%.L PRW&+(I5+BVNzi)E,"!#/)@-_ C)7 9+ (G9:6 K@C~2IR1`aR&43 BG0<1"5k;q0X'bH,92v;]ƥDT$3,fv%A/M:EJW+%Q 7F?&j" #1.#65 0"]E<k$]L<#D]aY\ ;;GPAs+`WE{f2._*237,.-@-H;(w-|97<72t. a%U5.gG[C#;/]<.[e5{3k1\%C9%\t]-\W w!|n @@2n.YD]j2kSR" "a'Q!+7$@:W 2@L$25G9Ec->bvZ=gO8~C 00s0$&s*%S<H "<I {C/9p.2N$ ?p)'$HLD/%NIO|@Q,BABEAgM(?_XpMK@6' Qx5eG,\cHrYpEX)Q4&#%c0KZ5/0\a$#3&32,(K1N)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큤g]fgUgVgUgUgUgVgUgUgVgVgUgUgUgUgUgUgUgUgUgUgVgUgVgVgVgVgVgVgVgVgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgUgVgUgUgUgVgUgUgUgVgVgVgVgVgVgVgVgVgVgVgUgVgUgUgUgTgTgTgTgTgTgTgTgTgT7f8930eab4928a994f0b1cb630a90ab7cad98c9e2728072d6a9d23c4e002861390fcb0110d1c3915741877d171c79617b67fc33127373896d1bae138c6dc41142fb5392d948645697e82ed635a5147994bfa04f218dbda05fca5962f82dad2ff980d3ba5caa63c212658a2996f42a8e51174bc4e5b758b5b7d844ed316bed7244d7fb578e14058c45db3615134f6ad9201739a7514c0c9e7e9f6bb77532853e3a89b6c3ad741f2bab38378d655a3d03f75bc8a63624c7126d05dfddedc6189d8f49a946429caf25e5ea584ec304749eee9573bb95c3145e9ae4c2087e6aef7ce80fc08812fae7c57af2f98212ce406b0d2b2c074b107faac8a3dbddee078b731918e313c4fa37ab26bc5a2df41fc990f0c925a26de28c3f41e14d539a2bae86a4d7cac0bf504d213c064665554a002d0cf10b587679899ced07de4c9ab5242d8935b1b83bf96bac9e95cf0a067c1761759e5c1ec976a191e967a90ff0a23ab24229ff613152aaab6411fc7940f9b35cb6d2e55fca8f24d96bf5bbb9bbdb444908189f9f23db490d6130a70341d8552d0dc2b8b8f1a956e1a22d44f6ce1d310dcb7ef04c9c08f019ded95fe5bc8c6cac8127808de0434dccf3d7d4e53f3c3b205c373cc7d093a5710ffe678bfe65a4e99ee26441ec70051808a45fd941ede7b2133900c952bbaba925049e78ab19a858b70ea598833443839dd7a4b8e8a3121575b4acb1e1a6109323cd23394ade0556be4acc4e5abffe28fe1e584d4201975af897b569bf7a19df9c561fae4203f4a8fc9ab9a853523185f094e28f86d005f7892e5552992a8d6d143f191b5bee9a8b7afcd094c2b4d64a4db5740601d13e0977f4e5606d1756f5a3ea66307c096bb2f7659f2fb5218934702381b6897ca18957130bb84ac1857ead90c61b704e5bb2768e7c0b9ee87efa0a61105a742e997883ed513a2bb3d01519b462825d0307ff4d6a31c6afc710a2c585a4b9134399e4e7b400980175cc8fb91fa95bf3b67cbc2bbef2b2084512afaf7ba561a1e735e1d83a9ae07d002c487d4bc2d399a053eefd4a23a6b1ecd633ee7dbeaaa7c2e05247d16bb1c1597a271a2e07cd6d155090b1134f7ed6d3c7ba9f30778bb826cffb1250d7ea3d1f3400900f2baeca0e7facfe301e0a4d8002d4f8233ee3c16e3fb2198a44fa49a18935514fb2ee60a1e7a5bbf07184fdf7ce25561d0f73c2bbb83243da8b1ee75b7db5161a056898a1fbbcdf13d85286b127aaf8104039bbe8ec62e0159d11d4960d8dfbccbc7edf05ec1793e487698f09011714407e0fca2d16d51be198d0ee4421933734c7382dd9608593106b2f111b4f68c6ed3fa2922110bc853ca139b76e0d2fb8eee9692dd37aab0d254f3987b2145c7488538ba8babcdf5a43aac299fdbf134fcbb2ab462f31511267ae33e28e34f9d6f90622a862ae8d24a516b7c1a9f08b621cd47c0fa82b11f5d60db159d163f06e843c4bd3e34afe91433615ddaae1f8874f4e4b562eac61c85d93b4359a774571a592d52af259b8b152254a43f5ec4ece309f462329278354f37eee08b0f33caa3d2def3277a79cd4293dacf5e12b475f6dca9ae1a582ba90fe262fd1a69bf47dd12020f500be67dc40c39f26403b8cdeadab4968152573ac36480be34a6a718830a87c9aa8f465ba3505683cde009e702ae5c24f7830e75276d50a9a6915c1511f93733e72317f0180f67894e7d1494bfd96f28260e671139c8a4e9b6623070780ea033b62387ccd879ff257ecd1e80e2eae442a9f75c82e6bd5c7dbeab5340a3129ab45fa12486601a7caddf8474b7560e50d367aa2404e492f1b8d96333d0f8d95d8de84dd59047371198367758ab2d64ddaf7de161f69dfc5e26a0e94873bdda7d0a2ef81bcc377f36bbf4a49eb97600a5bdc949df0710ef441a3eaeb0d1b133f8861a6f27ed18a6cab1f488874cc219b13c1ca783623f7d703ad216c81962a100e0f92caae83546af71889bf547722fb1590076826fc4b1264f13d52d51d96f04ea48fb87197883cf9ac3677f120ddf44ac9191dee68e9b4ac138d0d65692c2e541a0d8f792d80e61680721194af0e1afc323169736f73a24459cb374c331c9f0bb3985164beaa9a57ac2d0ae918793118c836bae60b5c99c652864863964095eb6eb6377db08d22ff5cdf3d2b9d506c9d599140732a787f6694659a1f82ef6632135da537b71a165f3e690dacc080e943e8f36fd77d76c42a7e469b52e2e098ab58cac105c64c1cfb0283e7437b634a761e7685e958c20804d020306e9e673a4dac95179a8e22c07475e9adfea5b303499c6526495ea31dcdcb4cd03b9717b6e72d4735a0ea8f3edd5da2f737bcf6afcbcabe3b723cf191da28aec5b146c03bbbb6816b031d8e67f909943d0bd7b9965b6a17d174763c845324dc24117022edcbd230460ba59e907be86674fca981057585455b887f670111d9886aa349e41222e26a9f7509cbc308f2a6be3293235f804dda3db552a8f11518fc25ed240132783bca9a65a036d00faba1351f526b70e1e643fe56fe0f195d3d1ed1c61618c41700fc7c2dd431cb72fc5606772add62a703c986ffd3278767e648b6796569ce980db8bf17c55a1dc1ca7992a30d4468b63f60c5469cbc1cd1bc4f0efa0f9cc153cfdd841820c6557a2d0d7009b4376913367062e9dbc18b5ae328bfcf5bfdd2752abe1871262abb5c02aa876a8a684c6d95b87a922611b7733ef992160c9e06816e7e55af3bb2c98940ce5d42296bab90869777b4cee7b37261918884a9fcd33f1fd7e552d567074c9f2aa450f2e75d4c4121b61409776e8d8350879cde7d25ebaa57cb2ca2a915d72fdb8a329a33e53048bc5d7bb9a3c0cffac0cd1ac8e037beeae05b5035258a8234d1d8ed955786039a5fe41a3230ef9311f1f71c14f5add1eb83bbb80f268d6b7e5fea944d95d7c879e4af5ba3972382be8333bdd5b554921d40b50d019b592449afead82d26374d76ac1b444ef71d1595fbe427ff4756fce88cf79056bd22af4374cd0ce226430a847c8283a127d64884efc3834418c853b49d2fcc5f303ef9a8d277fcae82521708cf9e5e0af8b52ca7198c059c26441ebff9fc53bc3fe556d47545194265617efc0ed1c7965849abd89a7b883a39968318dfe0965d33b84e23d753413bec1988917e58fbd78844956bc07a9bf3cad885dacb72cbb9e45b863de22716218d86590d4dc8f5deab79dc520275664c892d0169f5db20003d2f4175cfdbf1895a146b68e8db2044ee6e4cd6aa1a698a1a485e98ee15164bbf8f46026db67aaef7f4296316d1a3bd351e1db9c472ea138afbdfca11790720eae9ad39b679c56f7f27675e30233a6e565a06279d39f8bad0fcba6a9b264ee4a9b3660b7754763c905593813adccc7934e13d3abfa5158d149b0ddf30a2efee1c7507c4483c6157e97f30b0c7e1ce4bc63f8c606e9a7915ab9419c202d5bb1dd495420d3b5e164d499be336ad71fd10b5bd893eed46113af53d4410026300233bcd583cfd35eb250182a2b305111197be019f24654f9ec778b6bf3feb15add3ba714ad01a5fbd0ed630593ccdbd2b2ba65f83640c6e2f008d1300df9f5ed6da0207657557ff94e310454a2a4d92d33ee1384da466d1cd4a93bb3784587d1c85075b39b7409cde59d058f9a86a39ae16a8e294e1d81043d98ee120fa71add3eef22bbac6de53ab7851d60ca6394e0c2a21565620e0963337491dbf9ba2f6b27a1526782bbdea48bbf27740e2c0d1d34da1d50cedae739b967e5ae56d740028741c0dad69e0fa865c88c919695ae9f235f3847e97520d78bb2e9eeaf98c279f7bf903da62ae16ed7247b94621ecbc809cf368bc3b60d9a7e67f5b53531f2826dff9970e504f1093d44eecce7525b729843b7d9d2be23ae6be5af1a6e1268a043cfbafe21ec5bf44bf0b6b57ae20f4fed72f9704c464277a0fd60bc14ff9c99aa7d5f357c2925b244b4059d9de1e7416acc696f383eed41d0c98eb9585f2063d43cdc50dcd71eb2b5333a35ca7284de972b9a34bff6b72f71d002c2a1856b83b3ca07fc41dd924ebd95066827eca40fdc2893a9402a6be8971da67be9c28e26c9f6652aaa0ff6ca8a408adf427c74db7e4b590a5828504eccbcc07c67628e0f995bf07ad539ff39a63fa91f723223a0f5d9a182a3afcde202d816bb0d45c0004a675306493d088f12024babf03d7b1fcb74d51ebfdc2088a40fee73baa0e1f2560ce214fec64d3131d7964a204df5fac8987a01cc5e17db81a0382606a7f730a7a70948d57bf56d9105c71000f50b726962da93d9ab8a585c024816fdff8ce3935b763d5d5b26492f1ae38a0245f6c66daa18e96c61e7a0436e24d710af1a8bca164872c3949f2b3c7336792a2b0bfa17b3154279b287ab0a4d1a32be6044e602921641cb19d5081479ae4dd3b410ef04722a22efe2860fb5d07d3ea5e166f3427b011ff78eff2a612ff700a80c47ddb75fe848e54dc039afb5f103242105a57f6c4748e13a8ba83758ddfc6cd9e8a40045b9d7826f5bfa4404226fea415a6eda8bc2b0cdd7a1b9005d5abbc8a396908b222fe30c69a58eec7931cd23a9a0e9cff10d7b2b7fcec440e39d2154941cdd1bac15732f60f5314efccb042a7f0516ee8f082418ae61bc83d1bfc1a84b0f2e14d81ffe95de89c8dfdd670915b37af34e9ba117b778a1ed3d0efc36636e80e83d62b2b9e6fbfa39ce77d13410bd103806f713564f3c736698a2f6911562a1a67240c1e8329bc18ddca0a4689f20e9602c3dad120bbb4ba7b45529beed868e5431fb9b0f417db48098558d8847ea6ba8f7482c39d8aedd7b2bdb137a2c4c25b6e65c16898ee967ec82005d1ad59b04b352f4bd68da024ec90376b2ca81a20d02c73018f16ba3c21195238ba58d01edee1e1aa56ebfcb365798cfa29217c166d86704ac26fa7ce0c2dfc04394f3cdf0ff0c3de03302f1fef70d9cc158bf940e779d2606c25671b0ce4a09c8f3e45a2266f85917786a4de598dfa07c1fd14ce687463a66ed336c89f0ae523ebe57392b0b3adb0d3f2523cc9c98cc8e1f955e5b59f34dc1c9ac15264e59ed4e0c9dd92dc56e053da5ca609e80d148b1c20795d75b63f222d8a9411aae12694581594e8d34c2f6ff0282a158e3170fca8df1939a2f28544519ae26d6d9cfa47cf8d96fab0de42d900c2240e7765672d7d4084cdd70314d9064eb93e45da4ebcb9df706c0a6855b29bb2d555bcafec1ba6bc8e6562335f75214311d07e8d3969894e98546fec77bdeceb9827a624ed2d4ff7eca8014ee3010a530ab9959c6774f75e4eb25cfec305271e72698cc31af3bf0aab25a8435289a968ff27bc011dae66b733050046294e7e36cc885a02f3c271200a838f225c815bbd84db47fb662f59b819e5bac4e36b2a2d180ee8c65d0a18c0a7bbd42a9164666d5dfab725ae42dc79e7d2be1842113a63f5f054e94eb275c9857b58004d8d3619e22a7998d1943a351eaab2fca8b2d214c4599500a6718e3ed9d9b6c05d14a2d8a7ececc20641f19677373c3200459bcf9de8964b4b092a73876914eeef8707971fba6d336effedf0c3648782192f84356621b2bc9566abc0449809b2fb8362b79f26c8efee0bc7b94babe35859cc3d4973ab1d09f68eb78fa03e4f0c96058e1400b89cb69bbf8f329744279589012b61ddca4ef7001521441af5245612cb9478c32d97705c6d514bb82340b5ff22e56dc2a942fbb4fbdb95976f9e72cdfbc2be0a7108ea2bd36221c7b2b0dcaa64f38de749b2de07449e4223e2587802db87f8e098003688ddb07d0d3bf2c57968ce4b7975d2081a29b1639ed09c8b60d7b0ac250b943716cb3bc3bae5b206d3cd8e2ce151f780cd9a3ffccea074703f46c9eccb142324f7e696348a74fbd84b013427149ae7b2a8c1244a10b038956b2afaadcc317b0f177ce2e1ad604e0bfa7554ec70c3cc5ba498dd2815757a2c6b0b7330faf4fbcd5fe9291e27073f14a52e35fd5bd560495d10a6cc02ea7e13c6022342a4113acb9e6c227a57c4df5507767783f12d69cd29326676d33371ad20afaced90c7f3c3408618934051ca69cc16953643ec835f5fd61d6b98b3081c13aa234a2d34dbbc87bba0574a8c9750a6d5c086929049f5013e4604712198d7bb6be109c4b5c761708fb16dbf688e69d003c1f49fd303c1a14724b1d6173d9b4e70139606aa9f9d5983405904cd048f4047422a44cf5bd5ff575c54e102cdb855340bf06a88f85844286d9616be4c33fa80c0dd33ceec7bd94733f2f524832b73a791ffecb6a796ccd2e8c37298432bc4087e428791344fae6a8f7f2ca2eda78cc7aea0c11262351e3b307824f8a88d62e742ad870d8faadfa9ed09cbd259bf4aab9c3dd03129b504e9c1a7b137dda8fe3a5d4d5893e636b4ea385e3ac72f368f8b6b211051860acc1ef5ed8666af25c2a1bbbae5ca73935020f6b7eb63de99852c2d324010fde4dafd53573b9b1aa9ed6dbb13208c91c714f295fd2d23be036a18948806f39d0ababcd711018219d5a3805e042c6018cd1f59b7abd5c1d9fb6dcc4c578f6a3fcdaaa57882e5fe2d807b9965f80597e39d7a5215938eb316a54350926dfbb41415bd26f392943da4a245070bf25bcd0a72cd12fb61210fb4d368f080d2eb732974da5e51a4d9aa952b6fc9c706e1a8d5b118ff040ef582df20cec8bb5531201c83fb601fb8717106253504d9a83380925beaa61b930a12f845556c540bd52be0d62101a39f3becb8d4932628c894691245a320239e2aa8abb8c146a8dd18b4d6bb1757b256d151c2212ad1a758e7148533d7e99c18a12281a5e2188e4b6481dd4f77eb2a9fd1e89da0e7e9ab1afbc8b67796917c247be1dbde3bc0f3abe560e8be36e347b93382bf379565ff115a82f29d2b121ae5eef1f700be61c7021a11e0f34d775d14e98c032ba0194a8a635cff0349d7440ec3d0838d5695c913bb17d131670a521d82593b999414dbc3fcb389c55f70708dec3ef9569aebf093848a4d6a2f9983a896d5c6e2069e66bee9d65fab5ab470511e2ad42251ce2e8cee76c7db7d145079d20541af4bb34b44c55a73934044acb445c9b6e266a3b0a315ee8a239669be8592500485678e0af6aacfc1a95b3d8928cc9640037f1bc7d7502f101311208fdb712163493481b17d5b57b5d52d9947e7f3a4027413c8c7383692ea1c3479b24abb157b505e0d85a40fc51c4c8d7a96c615275ba85b8364b427c2c482c9a8521f9b9dfd621df5511b5c1df210f4cb7e0eb0aef89057f369d767ab4b71a9e85677674db849a09dcec3f15d4233646876a0fd56812aab0aaff02f8ed089fe0ef19ef6b32ed0c007371f816016cb1bf0edb11cccb31dd6ed8dbb94cc332e2e62addee8b1b5db5a78baffaa4523416d0b053475a74e2822c798b8d25c207f73a4cb4e4ccba3b9b06dedca1b00e075e0fb22721e29848aaecf4f74b82587164546220efda4e93e85bf7279e0bb9e0f278634e1edcdc42a323df0a3d3d7b726a3170dc93bf2f7cae05f18af85c8d1d43f250f371c54fe4856548e792cd96521f22d1b67bbb35eec46ee3fa9931732a9825c73a07dd76679c0f74e0108b10fb9472b51d6dab06f195d02d43fc5ca5b1745c2925044fab4811bd7c50ecf3ae44d13c4fc7100318c57ae8b55e9bbf052cc74da813959fb0aaee397e1b9ebeceacbe4258046482a2b1a09fa9261f97b6e3e1419827efcf3fef4c3b816cda5333166b3f74474c3a8143be3d0fccb8efdebb3d200e99aa752b335055eec68aaa07de4344bc84850be569221626d1e20725ae3d1117018ffce1023797745656309aced72c43fb46251a86146cc2d063f97cb61c500028d7a08dc33c63e6386f8c6b73c178ba8f9654fd29ac743e01cf61ecbc16cb65b7ec11c7d72287e5514df19ce2401f6d609ee465f49b908131e40dbde556c0dca16108d57768e324f4716aeae901802815edf45466ca6a98fc994a2aac683f88ed21a5ff320945f990370d006552a57170bee4c445712efdb6c3876253347a92df0e6db63c0fb14f03b57cd5ec4f45727b874f1f3ff39589a04bfaabab5a0274ec960f7c1035afb0f1ed3674ce9e4cb90182760e6914891801a1b3b3632d5488fcd3b0162c3742922454111567741d91705ee2e2e21b1bcea8847ac61598c1b165627d518c8a8fe1263baa02580d1444845ebd7001b4d785b959d61c9fa4dd2cd882ae8fe1384c293e88a3fc8f8ccfe80c30022349fe52c7c1c59483cd1bdd6a4e38282018ab243207ab2f2c8c244218b24f7b755ce408ad89c7402a769996f28285aa0ed7029c5bd0be1838f26c6a83029f256447f4a51041711ef9424a06204bf7c40022b9fb006188cd6b0cd8d91df81e08d2df61086937a1659874f26a12b5c939cebf7071269f6ca7cb2c7e3f1d922a5a391a868dad0eb01692393e1d353db8a1bc5453294b59fe88ef0b264d4f37d5ba960833755730bba7605c59473d53d906ebb9748fc6608b6171d362d5ad443075572078252746fd89a301518889a4bf4af51c2762091314c023767a90fa3af83eaac9e26ac621a4f3d9ffed269725409080073e6d91a416f29e84ac76501755c24d85b8f11a498076ca588df901f300c1ed028384d62b96b0a50814fbcfd690aa456239e4c64cd528275bdf4c6368d7422d38c929283b669e92fdf72f87740281decbcd947af602a69b3b88b4cdc7eb1c38b2f614c610bcd0d16515841fec4228251501d180f6758dacda9c582ece3594e4660b9c93f24ce2d46eac9ce6222bc85df0c7706894eec99baf497df45b7a518b0bdca81dae565d6a7f2bf2b9ae777c1d7a4f590fd2da29a8bd494875e8b6529bbadcdf4b4421c8a1c859b4c57047f8150861e6d13a71baa7fad9a9e58da760674602ee0b8700319866820742a4da36c507872c570856be68606fa8b9266e6445bcc0f4cde1e451256342d9ca8cfb737a99950d4ddedba88f83a5b46778e40968404f197b6469c72bb6fc9ae2c16927aec61bff12fcf4345cdfdf263191026b8aff45f0495f2f94922875acfb26304f61ad8733e4f7417cf1fc50e0781230e4fdd0a032dd2c6b79bb45e787725d411d8f9ca9ef08f6cfd5bd728bcbcab94fd9e680d2eec87f112c9cfb9cd177a7821992e8eb78f87123d8553b4f91a56af4995b4de3cdbb1a2d025928c5e487bf9f563d150662d3c6b49103b728bd586a78b3cf678be47496b7f59e4bbd4ec0b749c683b9fb00f7da67ed726ecb03e3671839e7a1b7f248e3c7da42ab71ff9096d8c3f821a010078156578f6edd60259ce4e176918651b031d7fd6710a4842b3883a70a04d4080bd84a4d48219105bdaaae2091b4a81a23f8ee67bcb8adad8404e50932a0b20641897e5ae1ca4d63ccc4c004015732cac0bfad3e48ad0c8fd9167ccac8bdda737f8478c4b2859967f24aea9d080c5f3f1e44970a52d1adbbce77091fee655f3af62fff783e1bfe1f34821f3ea0b28e3326e76efbf6372e04e7ae3c989f806ffa8d610d8831ea5e26971d6bea44b9e9ef2e746a903a78fca53d23e551feaaad56d15c211e758e8e9a21fea1370020af308efd778d4ddbd833d4a1cb39939869dc67553fa10486b4f596b1f0d9e3142383fd755f653858bf2e0ded7cd54192ebc3051388369ca8442058026edba330f2ccbcd2b65f89309ab310ac127bc02dcf35703fc6d8f953d04f1d8712c6a9cf309e91c9b59f318af0eee13658a7a5dd9d057f0dfdd97b948a346bfe90abe2f4948df63c3144a9aa39e726e3eb9e35d050af2925c30666b52cfaac9423370f74767de50146b43b62e973298135182a753a7474a84f4733df8c0f40043cb476cc7c0fff01aa8f0be7ddf209db2eb35876cfef02e3d64759ee58f03a8482cf6acc1205889d3ae2dc4d75ac0b714bb3ed7cf7d07d4ed5e93d4c35aba43b0709c684a1eaeae88756de5e4aa4bca07c4c4ac68b6b24a6de35679530d8757839dfc48f6426a5c3eebb23693bc44095ebb21853a5baee8c131f325939d1ca6c28fc692b11d73567a3332be597203096881b251cc750bde4e5ae628d2e172ed7a6f51e3b9ef4639525b8d2c2125922a3b7029dd91bcaf417b6d48d57c9dac0e378f8833ecac69515cfed242bddc22ebebd9b17238ba508e4ba6c00235c98a6e647476e56c98e9d7bd3e3588b3dfab7398bc8f49f8a87072b4854f9d5c076a4debfb485ba825e28d2876fd21a294a585c594f15855547a7ab7475e997f6ec2ce8919b22e78b1ef98391a0a8f7d7bfb5ca628ba2dcd7db380e7d752549fad2de992978406e53317ef45ebc933bf0e96550f8e848901f0dfd3c79286f769562398489c459378d1016796d40ecc5781e52b3e1a3a9fb4ecc3b3dace39cda828013221abfb1dbba65fc6a542f60a21f2121cc4b38cce6d54d48049d61393b0904c6e689e10c94ad398026ceea715b5e1fc4782d15f6c5b847219d357e6393460cdc1e7387140a20a56b7ace6ef27512e34d10d6524938e8ff7adf088800c792ea3c4e95186dc612f2dfa203a0278ea1a50e71a90f14eedc26e1c0b6254bf3013ab27cdee4ec30730743c08319682252914cc53acc2f4b853fce038ee8e5f920b3d2da66e13f3cca0098bfa3cf2b46cffcd68c9c1b76423a500a66ac3ea7c660211d73deab482e2e2d99aa984d9a4d79b479819c362bdc2804410c26703dbf1c7c46a7da8171c11a1ecd91b0fe3dae0ee9900ad067ac1e2c337f1ebf74bb48258efbebd2064ee7f939cc598caee0ba00072c6fad87be136aa31febd213b0fdebf9ff8da31292d3ee4f3e450f8566dc592b4c5b9f66879f1bb75c885b43b6663f94c7d8bbf07669e4d03bf763056e71f6c71c9e3bb44c2205e65030b5a63c84942bbbfa4ac1523cb2c1eaaf258b64414e0d0ca10d6dd3af2b6a1c2459207b5f5b2fe02c843e92e074f7fb2b2f8bdda964c3bd33fec09c2b71167d4653e249829577772f9a55e09ceec7864bb8ec0efd426525295486320a65c9d700e608f259c80ce6358e9e5780b027cacfd9e507c4345e9c17f60cf9693a68a4290722f9644322a52a09f3ec7376f9a5baf8550b76c283fcc061c7e497035557b3fd551d59990a8bf47ed8bf17e1ce007e64ab7ddb762d33e01dac5e27dd083e6dd3d8e25307347ee994a8f0f55b6488524abb0c37c9e9cdbc1510c09ed99c57458a27147591a3528fc05c8c965d53a31c8658d9689464c23334842e10228ab00f5f9dcb308ecacb9ca5c1cd5201012c5313c35109cee8fa7cde3e48fe36bef8ea295fc2941bbfeda15c8d772f9cded8719643aeebdc63b02704f40ba3b2cec6ca6185f16c27772aede621c4f0f6028c006071f6c189452df8668a5904f0bf30b56ff1c602166edf363f7ae8f4b5487e9640a45ebb643919234c15b049d30dd27976e82ae05b0b77a63f942de663cb5130200cbcd98034ec6f0011e00fc8de5aeac033ef05eaa3400311cfa4dc9fd64d817ef9fa5bbb52378edbc1d9a2a3fc20b21156a7cfe0e271a5eb08e2eda4275e568a297f3b2a8b9ecbe1963c605f29d0123c5b35b570e2ffd92c62d11d0694993855dfea3ad1a2e608f026f94f9578b37e6495fbbcc7aaec42c9598e01078b82372b0ed7687a7d7dd57e81d4d0063edf47dfbbfc9fdbf2d685de8c2d2ecd63ca88bb08e18f50846b83e3c2cc4e6ce3946789f435bc9b3dcbad63ea63643d0537651c229a6048a5f86deebe06c562ddc264fca92059f5a872a181e9434c5a042adaf4e523ddb412eceaf8e78000af79e2e6615faeda74f18decb71a9da55873c06a3f6532b2f2c83d6f898316eae706d36f98774cae81a2133f6746f35824a2e940d58bf1adefbe3c08554120d7d34400aa0f0814c017b0b2226239823aec81b3835096130d85fb660b4e7323e32e75586bbf0fdaa336d0512e946e42e358648d39c6d4fb0be4da2046c341e0d01dad62e9ebc0f8f68fef46111dccd855be76a3ed43e1af9050d332170fb40e432a6a43501f60c66fdf8f155f7a49d705046ca6c8254c1bb23f71520b62cfd791b67884d7b74f5dc05b17be7f125c80eb55f337839cbc39eae80cce79aab01997186906ee5fc07ffb85e273c63f2b6e4af4a86838645f8fd67f32fb2d78bdea7a8f51fcc2fe4d1dc72d79cff3688f7995346e995bb2fdd6271535170b01036476d475f055546e38ca3b0a42494b24bc4eb4e6ee3fcb2597e7f5f9cc668cb2c9b2815b6b75bbf3e4fbdf5470bdd4095952e6f09432861d8df8583680abfe38b4403c7adb599babd3d36892b6c9b8bf3caceb83bf1b29825d722d6989173fac18f063c7db1f0109600b5b46847b54045b698b1b725303af5ff0534fdd131031f468d8531ae1d1610a59b8472d4687c124171b9976b3481bc17d685d12c92ca431cc566db82a8f62d49bae9143ba7facd8178f2bd618784f166f18e44581a7e2c42b15c6d58927e5483116f5ec7ced67f17baafc6c2d97d13c32bccf8c91ee4df8628625608668ef3be551ecb022288e555a1e7c83e5e919047b639deb3fb69ea8a242f6224362d787357dcd42b28238419fc514f2fa6c9b1d06e45f643c63cc9e2dae9f846c1a441faa3f36b84fbf4a914f3ce0e11fa8de824178695586de9da1d8b5b9daafe557420b8d867c5006e52287ba6ac9d179a3de17e44af59d8d91bca9a9a3e4d6eacd1482cf9f8e15ed9eb2eb57a91e885ea79ac7247d0f6d62907dce1e04034ed5ab70606865e8856b64cd2377ca39dd95b830f163be46f7dd63f2673ba22b8f4de95b6d483989c6246c29223b6fe3e0c3a0d89518c40b18fda984733ed9a3ad849fcc091fce7caa2489ae2f7a56f2d50a03e107a3cbb5b1fe7bee52f1c50f982dc53831213908c8e1a897bc7f7fe830b491975953b13b71a532680e479db68e712141f7ebe1b3c117152dd125fd96acfb63784f13df47fb6cbd17921ee976e8c79fb34f06f0d39cbb406365619dbacac9bdf7d326dc73df97a98ca3643f17823eb37a859b4e591a0f78fb2a169c8e6b41983d730b5b7eb8e3a0807a40105f6bfe24513abc222d311a2a04036457da9db00cdf6aad24ecdd278814e2dbf9cfa1c5ba72b17e869cf4730a271a138f6e42185825a7c99e5cbfc63fa549b976b12318b11de84ba37c0f4fc48200ef4a93cf14db3cf4942ec8da1cb903261b1b1f981b8f8ac52c6994922d0a932c08368c2d409fe4879fadc80b474e07dc4fa3d34915aad7fd00046420413ee52e0622a1ba279c86281ae4add070bb5cccb0e42c7c528a8a87ad60d52b1a84c4f27d260f616b4b428c0bf1b8d7f180441bae36bd6418d2f187ef1f88f6f3ca9b5cc9a7409d37296a334431232acc67057b4540122eafea194afcb4ebabd41045d4824041ea3d58d8122f6a6a442147588ffcd076ae94ec2b9312c0e853d40dc65e88b3259942c9c2e5d3fcaf8e6f7d6120b175fd753d8878cb70b92bf45faca7f8daf14d6a8e934648dca9dd756e7c65e294a9c1172394aa712b1d8b51ba60e0f24cd9f56108411dc6d9604b144810fbe61243f436dadcbe2599d9bfd3c45b55fed9a01862bc1194dbfb8efd7522d8e43b2fee88eb71af523cfed609b455c91319ba6881003ec4190e833b389d881992982c5cebb85c196a34d2ca0cabb51affb026389d1d35a5c4bce86ef10c8bd6ab761b1d79d9679ee3cd9eb8da8c1d929868a4cfc1f43fe1fd27cbe59c7eec8e92b7a653b66d33b5e84e2b859c9ae996a4af59fd69e08be9eca24714cf5ff2c2e62edddee69a3058846eda2acc0f675848881932887f16e546c3c39959e1303df8cf15fb9a24b19b358bba4a3b02bd5b4b7f1f65fb59cc245fdc07696d37c9db3bd3607f19de0240d6ae92b78d3663042bb76562a68136eaa6a213575569301f8824d4bf7caa0280376906d6b1520a60fbe621c8069bffd2248cfb985789d40867b22f985fbfe516ceefa5d2dfdf964e8637f08f37286704e08824242bbd4fc3991b819a04e5683c1dcc026cbc5331580e1a4f54c5285ff5846099fd99698b750e597e4b96b561e22dcc65f48b172e6943d8a6b0f825802b9728960fe66f84d25aadfbc6b4d5723141795e5debeebb0a388a62e372920e22db88303521085ff2b816cc01a12b0201cb70bff048bbcbe24365dfd7b92c092e5dffbc2b212e56c7bd69ddcd57b2826812335f28045c93374fee5ccb62e918d02583ee26ebda6c1dc5f522c381dde3536091970a449920700afc7c80122c8935ca3f1500a57fb7ad806670c0d0f8b6fad7e8df0e33404959f848227377c99b6ec1e2a941dd2f1cf4b826f1e8fee96531d1eea077564bff52e43f1e4c8bafb0254fac8885f44bb464e9e873a3038160646c044d962362fd729bbb26d015381a1459474eafa382bc7cdab66a8c1a8b8a3b3c666cdb2dd7d01bb0d9c20a109f06946a5aabbdd1eaf6031c213d4404b3f131f940f667c0d4847870e3974d8ed2999790222a29b20792269e62f0c1b2a06966eb2fcf181b15d1827447c7fb3523ad9e70e51b011a9451ff54f8a97ad92c6a86cac95784e28cd8caee46a942af998b1284f7d4a8612f1a18930c86563fc43361d1dea6879ad2cbb34fb758a9de600fe9e3d7075a5b9c6fe1041cec5f110809f9dc8c80825d68510730ac77091797ee14220e0c37e0a48e8326d45a861651ed5c3cf7bdb3509b640b9362d298ee058aab0b2b073fdc931dfaffef56ee4d9ef898b0c6eca478127d3fcea74e380bab687321a56f3f057c4c9f62e9271a2681801194d89ac14d9c649282ba447f58cb314e18dbb873a3cc76920b485f3f7b3cec78bdb9244da4bf6de4e71cbdd9b61b803ea0453a0ca4ba610842ff9064aaea5c05de27bf10fa15253064b809fb0a4592316fcec34c18568296bf9ed8c1e6ddb7d451f8222dbdd7aec6ebe833f0205fe34d2b777ad0e40414d0f6622f27b9f47784e95fba27c9de92cf5b3d20f54ecbaf1f57c765c503edca49bacced1af84c6d0da11c7450962bb792cb1b15f4d586a36f2780d671b78614c1142db44a47e18500226045b669003ce823c45aeb0d29e096d590b2d0043d0bacc3de202b36f88d2567529aaee823cfedc42a6469aaf8a1a86ca6183533cdf94003c8d1788802ed44125c02ec5f6f10bd356b25f51aa7515feb21c702f4289759491e8cac15ef378e11bef683874eeb89a0e7450af7a43d7a843b8350053f6c48b363f27d6f46b66551047f7f0bee94ad38c85bea515484eeafc64592fa47469d29bc5112d51831a37d68746fe5aa37059627c5a95e5334e5b4df5fb5ad6862fbb6d9ffe1e0a462a5d97754c4d2eb230f3005bda7bc2942d4785f5e91118085b01ced9a63ceaecc7807158a69827709004382c70ad4d41b627ea9ea7923491e724be45a56273496729dccf4461a059c317c6de36aa270200d1de05cb47040b820d14466ad443f08793dae901fb5f1313f2ce98983736bb95fdf532ee9f73880f13aff016e63e30098551270e15275802e370516d08ab961b29c22cbe717646700cfd80518bc5d123332f79f4f6ee59083703e91bb74314b5f82c9504eb83ef4ceb5dec2e74a62568ec4a51662d5ffd792dd4b57c82d138aaa2d818303814f1e7ca4213e44addaf303b5756f8ed4610b9c78f11bec1a29489c51b54db5bcb7f105e6994c139295556e1506942fffd81908c6511371056ba4c01956d48ff50d0d3eafed33ca8f0c10d00940cba2a8a0df6c9e295e4c82029c70f322b6a93cc9cfbb301c65da87db99fb283e265d46b79d0ca5d497468e78672914a87f39a5f5f94f18212d8730e26918a11db3730eb4ed8dd44ac9a01daf45acbdd190b1a3f46b98bdc197a8f5342e9879e037633049180fe12822dccfad3a947454158137ed80df6254e884ead47f656b8b2f1847a5d356a8443dd196b80ff9b83a55c3dc747c498e876d12484d61bb80929cb6253fae99e9ac272a24ab285e07272e7f440bc8996e4f40bd4e8f754a90f4990554b93ada7c56162251a03e3e29ffd148abb6c0f24afed6ad9882b62a24f13d6b3e9a0d7afe5516f7f5b22ae93abd7dcb17060bbf9ff3599edc529f8d9e930a5ac6022ec01e5c73f4ea20b17ed5a0a7ba7a7040ee9f0fcc0b113693986b1636396de15b5f21547e947c078647a2d5840d5204b6d73041bbae62fafb339036814aa0f020b04e764a5b55f7b502b8b239df64ff457a6128bdf4ec2c9ec675dadce37b2d9246266bebf91f7fe4453bf848840f260cacb50a2fe9cd12a13f646bf89bb45cb02a16c7ce520047d6086e05d5b044f513d610f6ccb5ffb5e55a3dacc20e6add83fc2d6c268f2cc3206e6f61f6cebd2b9e69c956f8313524c5adb7922676c6ee803af5c55237dc55898ee07be003637e7da673195f1fa52b3f3939037f7e2904fd0bc4d4dd8ef6508b28a942815e097e17428e1964708154ba9bd21639c763a0fb36a3aa9a0d51d4a14565a1286ff74fcedf443ab608f42e1b92c4ea43e12001f6f920cd81f02feca978553fd3e00001c858918f2fbd1de65b9ebcb2c59435e6eb0d2c742f382a56c52242d1e7dae6b825bef35e90844ccfe403494599f4b092950975ae9b7b3063070012b9ac2a85fa440b4a56ff32c0b906ab8da8757884fed602d5888b06d80b5b6db58c1b6b67fd6d7373677aa12edbe700200c477b8d20808b5565c6848fd12cf07418515b17f31e7f6fa10290be7630accfa3803b7a01b626a51aa466bb78384c95fe5e3d53899f954ec295929fe1c4e0f1348ccbbcb1d0f2fa8e2662f9427154eccf8172367e39ca49d897fcf95e26d6058ee2be79017a90f094af452327fc5fa9b632205fc9cd79485cfabdad1c278c9fc8c0b33d8e116e09e867c54d8cecaac7454eecfcc55f3d591aba044fff5cdf36800e8b6046eb3e5e9b90c2e5876a0d582685a202b88a8031156f4d53cedb29bb2bc5a9d2a0bd1a094da6a9a3ee32176f1dba123959ede4785e31c7936382254660d81b94859e696f6a6f532d57d91a99d186ccb44e08d6ccf47d9aaa7b241091322da92429187fa1520ad8c10880a28bda2eaa1672e83708b9a08adf4bc607c70452325cf47e658fa9518bcca4817379d4d8940e90ca06204f22a929c480f0f760605fbd63e436d7fee1138c20af11f56954cc6a1615ba05b335c6a812657c52e21383056ddce601833edec07915a769b972b1c2beb340f5f80a31853e8190d7eda51a0a98fcd6e77726bfac92cde9db48a7ababb366d04abfa0695f69ff2b0e736d2b6c35536bd51833a82fa801e2cb13af04e7603a5b72b1a688135d59901e5f1b965b6616053436a77d2c14ff035bdedd5fccbebadcf82a990b5cb8f5f6264133bb7d996fb89df9fd3a092a8d9f3364d7ed37e059e4e4b80c6e23cf2e09c31e24c85a9b51805f4b66d7fad4e0546e4dede9ebe12dc1756cdad891c4ce6b408b71cc66ca07e884b53ba53c4a42e21bbf37e6e6c797823e5f599b3e3b8ef561c1a76aea5d709ad787e7f139dbe0417cea0bf2f5858b1484c02b7ca7923b560fc160511cc1976590d22d709f05376b4ceb4dc8728df55f6590ba1690ffcce038b344d6e23234d671e05f338d76cf37ebc726aea90a1e0c2bc84d51c2e20a7509b1de93d9db6306312235566ee6ba42b3f8aed61967c8b354d93635b00968f8c2c07206856246ec3576e888767f4bd95b85462bcac5d35d182799f685828990e72e6874b1772fbf50504dd07561dd5f14f24243d8eec73dc30cb6745df2f3b24fe40b8e8c573e0f32d8cc539787d357c7c278946d0c0ed8eb2c7bf1b7b62ba9ee5cbd6dfabb405b0d0130fed7f7a44eb49363ae24628b4ecde95c8e5c4eebf9672a9593ae76fd47764629aa75f6df6f9c4ada516b44d81425c1ca6a15962ea09c162e8dfc6310a69e6520749cbd58447a8551f9c898a4a1bdfe69ac8ee0a22111ae2e9261e8e27548ceef8cb3398ef0e0d259dca99f2c636e914c3622493b6970c18ba1fc26a40ca1c0a83503be06b37f5cbe13aebf8ba6351b4125c53000027720dbad2f18ce16968264a7f7f6d829dfb83eb771e4016ab8424cc0c8212d0a859723c7c976ee7401300c439128f1e4ad9165bc8a5ef19081f0e67e96429bb8592938be1392435c52d1c62027223ef31097bde1095e738e030548b8b39514ff2a6f3a0cf5f043ab57a0bf156e98230b19b379a52075f76eef2d5678ce8804606ad806cb39454e75779b0e9325bc0dedc2f233ccfcdcfc6a6c9e6de8024e20197dd3033e75dbddc7501a1c0dd9af3575d6f565f73fe26b7056fc17b62127e083dff3b56811fd9857b79045bd00297db4a82c9b58af431614a3c36a0832c91f73630f33002416c0785af189442ec2cb0fff176ef036fd119c453c3d31db0e3b17807cc30fce6076a86d93a45aba599bca4f4cd0ba61ca478e9b73764b4f537bf5aa43dc4a60c92a7dd355e407c24785e742d286ae473f018101483d74156128d3471e05559b45152f9614e9282577186bef20806c03d4f0956cb8f891b8def5646160c871b6ab9d4647fc515327ba32686e613c7952425775eb57628ca5efe6d4a61c156a0b0b150c8b379d43254c234d104f383d11a0ee476e111b2e78ab8eb5ccfe0dcce2edc8c5271e3d1975e57618db073127aec5a4653bf1b0ce18a784cace1d383aa68f0d03e2f628fdabbd9be237dad0240df8fd4887c54e31fe6c4068c5beabdc9254cc2137c3c7596f5ed28bf488c0cf0e450b7f522276c6b83dc4a9a15dc46d01283f27231a48f16a722a1afe2ee6c6dbce9ef5dffaaff55a0369ce2d7c98bcc20139dc93c83ff8c7ff352c903b88c4fe4df5e39b44d3bea9dd2e703bf6644191015696e1fa03e7520b8105d98d691e27a04c8980ef5d507e536ba42c442cd7d4f6e33f61f7b4cc5c639c99ba73c6c1387aa2d53041b8acc6745e54eece957c3e02f434b979898193688eb4bc291eda68fb061ab4b253549ed97791a098186754144b832e055c53a4ccaf300eb8c045cb9bbaaf5abf981730f6509cf8ac4f91c262043c72f9ba0c776924b6036d9de4fde824a2cfdaed2eedbe3555b5f45fb0ac2e35cf2850cf66d78b1966e393c6b09b9efa7a5de23a3fad782bc76a686d482041f6e09490e16345fa9a00ec174af5198a269ff348a9187a2aafe7c7146dbea0c1f8005f2c16f90fd1c7e9d36dd29d905979ebd352bb4f5199dfd1ca2ec9b11fb1efe20032dbd61e85f00ef9bdab36007de5fbb754809333ffa199461b3246b1c0d13c1ebbc1c8d7ea55bb2ff4b5967d52ef9a39c5ef1fca9ce087ff94d0e152717f01e69465cf6afa59383f64e7ba588d3779fc968fb3a36b90e8ba3ef70c49f5d45e13427da7f55846975149a4b4207f680ecc508428befff2886d188de5f1743aff6e84aa66b751a8e72caf0ceaeb3ca3f702350cd38e2dfde26ac63aa49780c5fd00283b29aa7f73864f828b7930717405bfac0a2e240b6233573b05935aba4ccfc255e2723bc1f09eee337296fc32011913e63e6072d482e52c390e1a05c3b6e874d3b7d5ed5317b70b00cba93a2121d80136399f222c39d799c1433270985f253805dcbe076c469b6dd0e67177986072bfa34d2882aaec031eb9a59234a6dbdaf39cc9687ea0fb2967adbf66f0ed462d7b7382667f2514db5d299db228d5276ee5c91e6dddc15e6dc972ee0b8a14058ba4f08d9ef00af3ed600f2075d7e9f7186d931c481ffb0e358281bb22ca8d70e623b15365e2191ad86d76088927330ada0cc3c81a13ae317a03b42abe5aa3b7cb064341e410013b992a83d52c6b7e9fd96a50b0c9a83c5c039868e8cbffff15247ab0ba7b57bb3cb6c10ed0696b705aeaa797265969ddfc9b74bac6c7a153df6d733583de50107cee660cccb7e8a820fd6f8eaa676222718fc342c6edf9777a404674557da9283f170d378153676546cc1035565a56ff089c94bc365b7ca8a7168c10a87c6482498ccabdb7af2126bee224b736f5746de1fb6d9ad40f7aac04f6674bd6df96153fff39876b8cf6b0e60969b42d52a07bc0c69f62a8b34b627d78fe0c74c6346e50cab7b10b44227596b7e3d61817ea205166e12c49980a940ca44e3a843350f76445d65685ba26b76eee116c79e5cd1e4a0db9bbf465cca7d7b495d099742dd56607b219b4b0a3a26e1ca0ab5059c5dc9d302d65e561b488356bb869476db5be19de3d8ae5602bf04dc5c4cd0adc38b34087f00d523f403a0b6af2e80c094862abdf3b8b3c3fc50853cacc4362d22744bb2219a938c6232b884aac42b335eaf215882cbddd7233aa98f0265b44baf4817c36e0c428aa0af12b8d070bf9f5065e905752295ec4f1b3a1e97c3177c8cd136baf11e62e9d6c25062b9f6b4d5bd96f017cf842c699b710b7b749136ea1f7cf6a72443166187eb432a8ecbfef1e1453628fffead8e0a79085c45106a58eec5950946e9635c776faf4b2c925acab005ac73374da4c500a25f48d14089c806b54509e3b8b3aaea738b253dcbefb0e466d393050916b27b349d3337ed6dc21968f9c22cd13699703eeb59e257e6e92480d20db2b0cc223ce5ef70a69ad84dd8a0db4587140f6118c75f7e48af4a57e1e377ff63f3003c810d28cb055981057df38799db404477e8ad2938ebd1a0879d07c46888e8223bbc9ef68efde81bfe7e0a67ebc3c8a54056c8e0f29c59c11d0f675a189419dfbb91f6976e6c5ad8ada32d9e0f073d6538c7922ab3d50de6da82ac6de2a1d6e27a67deb2693b6cc736c205185bb1fd69ffb42b0b9da93425ad2570dcd36ac983bee1ba4f62d10c7014644a55149d6a7127671a9262d623baceceaed906e3dad5d30f92dd3b46f9b32bf3e40c7ec16039d4ac11196621329d87f68c899c1897cf420bc5c6a88f17756d187df764983a320e4d24898457eeea37a1a1b421bc8a7571e844a54bbe10d9aeba10e91855260f015bc5641416c07f0d19e527d9fd9e27c9f68d8a54db28d97816e76ee1ee7636cc44c84d03375baa43478bfa0c36df3f6f9179ce58054669b544c65bcd66bc9522cffc1bd389dbf865b10a79c6e8693f7274c5ddf9ec36fc2049c66d8a5ee63c605dc215e3a4dff2e85dea9f485d2cf52cc47adb756ed6ab329638111d8365d35ca37d71b9f6796f7f6763891d4d76166869ed3e97ac1f72fb7edf6cf9b2b9722427a8e419fdada15f1574f00204b4043063900ed682d5f59f3de4fec66d3ce7bcc296ee4b8715fb56351ef8650aeaf810f13990211fb11369665507349233b1f002b9e8abcccb283246c2679a6cbfa0f0b4abaca1e93fd59dc1b1db691362d64bfcb85a873ead85ab7679afc7d5ad50ec92b899ff986282f82522afc7ee6b867dcf2a974c3bafe31f1c512ec830fddd3be7f17fb2e380bf29d19f1a01dc41d9c0b56da19003240a64e09511bbdebde3e6ac35b7ffeeea489efe184c2e6339c23d7ff55ee686e6b10681c93a5f91bd9ab316a8b546260e5acdc845da74402152ae5f9dc220a4e66e24faed856eec7d7884fc86214e4bf4eea6d10743531d09821a32bfa88ee7145adf414e47ef53bec3aca36b7e5d2f34f681d964a6ed92b22220be93f69db30a99a14a0ccccc95a6f1f70601c93eccad7434a94865f3ff000151ed40f5ea451e350d28589448874b136bbb85213c5bd287bd5e67c8c6901f0a8e09a84b8898c9bf13a889202cd547f40ae56f3e2e9b8c5a3fdb112385b696a9d3447f3de3c97df0ddd664e333cae193d23f200ddcd5b498b254ad27caf93faf1e7e4478f299443f0ff21717294233365cbe1d6f436123372b239a00b5bba82ec67433fe698083990994f8e3bf4d0d2aa0c4d2dc6624f7959c8a1225490c24ee0c20daccb15460fc977d08f77aa45c81eaccce8c1aac8c75479ddc04c076cd4068b31d80beb21f9ff741c5b0208713bbc04f155c4a32e0e838d8bccf3a870d206228157cf7f542615b67175ef01a405c4c9195647af35ae932555773dc344ac3cc65c91581c61c634f7495cf6e215b952f092e9048581b1465c67771ffd4cb55b74f86d10c00b4a60a5f1cebce62967a59d78776fd169121daab23da8e7cd4aca02c046024f162e3a96c26a720480c6c8cdae3d639ab79253a0f6576765359dd566ac37c76e5fe0c308d785d388da190fc03d4f589b3955c88f113f07c8b350d61fb64ef8dd97e07fcdc5094b1b0fd057b051e84f6cf631886829066329ac97c9dceedcc0968e2cedf572b916a02ce0d42eb65e99b2d2edcfed26311217d1042e02a4dd1f200feba975ebd1a6316ede88b1d75dbed8b94c5186d35eed03f6da272adcfd7c6f1cab3cc1d4dd82bfa09c58cf22e2ea73bc9a584262db32c5c72b97e19279d56263125e7aa66fbc51acfea78b5456baefbbb8849b5af460d64c3f9830b1c434f5a2a81dcc973ca4f22a723b8b09c60b948800a4de4a22ee77305444230891d6c65a566521210324cc3c10ff01d6a44e9fe1abdbf06a204bb960f7629810b0c00b669022c6b086d64fcacb5053f4e1f6295d3a81fca1a88e0df206b84ae1f67dd605b0d47910231de6a598175b81b07f258528ab837a65cab5be490e0ff496053af431f1447d1d10aaeac895981b4c2faaeb17e461e50ee066d08679264e4d3a5ebbb5d8bf797429309a480e36447523429e10f473661f5480f09dd234f1befee208e05f24f12c7a74373a0df650e159287c17b4dcef2d2b055550dada37bdb83591cf43202c572514e7b2b72a82d906d8bc1e582f6211650b35e482734142e9312bbe4c2b30fb59089a3c112d52f1efdb0c595e2f8336987c271a4765073bf27641626b29e0813079ea96b46e5b2c5a6bfaef6625c6fbbd69ac7f5ac356a0a1864025ba6991870ad773a4f43f11bce86350075328e68aff5abc5a9429fa0ae718c571af7435fd92f3223e56450aa22822bb0246e43784c991e6f7dc83f409c00ab44f62382163915ae7ee1dda3a772bff00dbde24d1357109d54ef1428b5e86f045c6bb073b9b44286c739e07c92982b4cc5853b9bc17d7a217b8ddf2d7193c67a4fff6a3681d7f95a8cebacf3c24f76e95aa7612f9e34a10e798c4ee76d46030d5e0c9e8c3a5f3f7060578bba6e706271cfc323fa56f039bbdc1e7b63bcbe583ff5c43c07edbbfd43716144ef23886ea49d1471a098d2246c7ceae111be79d7fbb31de59bb41a0bc2ed9c6861eee716f40a206900fd8118a150147da5d8728f680d4184a163fc3e0cd53002075ce1f50d5da3af6b1bda02708b24c5594aab0d398b306e3442c6ebbbc92b38d294e2f798c3df451e9f3c0c8f92c191404674fda4127fce467dd28ef271acd1e7cc8817cba2a07db27211eb7a2e6cb9286c7d83b8e429107d02c77f25d781464da2bb528021a1487682fed8ae66107685805159e22c5b10442ef0f2cd8ea427c304257aa48e45937c9aadfa71b912c1c361570c8a52b4c38be6ddf80c89716334be5b4c419911efa3b19562c7e8076e1060e61f125d10f3969f715acf75f49d252b9af52645c7a5e7312724430ee25bde10fe40a5af40d98d80b2cedad2ffee721ea4b604d09267eeb6a56892e0003377a5abc53420f22c4b58521b07dd20a0cb1c1c9eecd68e6703b40e126c50a0471e98ba0eba72b9d17de8a3fb9434fb6b933c88ac61e811da6770d42346ef446a61aea68e2993107f6884b87cedf52fae9193fda7b88ca70648973309a3bde8b7d423f5fc8c6eece63343197dc555730db9c42d969dedaf91d6e2b9a83bda714fc7d565157e23b7a9daee07d126d9ff93c25ce0e823a910f43320cc146a90352e854d0a4b2f782a66b44cb6f1e65664e41598ef7ac8ffb101ccef31f8c06d629a99f45e392aa5d3ffea85f5e1055f78d779abea8350971752e5293cd37cd8e1c1f7aa0e17704df72411876f092b176ea3c17002eba7293ca477ae0dcbd963239093ff2e8de46380a04b154e0d4ba316d2f6945b918f04b887e3e40cd4586ccc6ee2e0dcb63719c5dff0440691470de423c577bb7961600de765766984e4379bb5aa33cbf5d95212165c7d8794f16f3193ba94b6ee1f2912d6c574a48cb9a2c8104cbaf2f711d7d72ae135dfcd0c2fa631419f7cab47a9f3181ae20d4e23e4740179e99c21823f27344fc4d29105fb68690afbaee686c41d6456686ed0065aeb62683720645b372682ca55cc90339fe9e64b2afbc835ee423952c82c80a4b475c347edd43766c12297487661bfefc60f0bf24da75818737fce4da41274a341c4332521750af111139bbd9bd1ddf40d1ce34deaf04a14917ae8bc334cd75014b7329b24cc570f19780d8e700c61eb14b4903d8625930acf7e7f4ef04fff1b6bef2c8f5281bbf3cf6c0a543afa8a03c6079cf7e064bbfc3c5c7add53fcd4b85b2084f2d13ee37513c4ac3ad0ded6868ed345e77de9e4568d78c8c37628505fb338d4fc7338e0eb99e67747992e37df9c316bb128cb596bee0d5568ff994c1a4ea416f554240e7d14bd288c80d12485d3948f5da5a1e38214016f35ad66d8fb214353a8288928251b27b1556331df7253968c4cf1ecfd8b30cdd16cbf094bd1b9000d63872e93e58dc9f551f3348bc104f3ea6947466796ee162b259035979aaf1e07a7f4e1361808cfe9107c7f8cb1cad519496eaddea7c8648bcde5f16bef89a61ede83c4ef1ce45e3a02d5e7e7032774d1cd160e3edb5474ba5f6c0621fb67e800be3858d579484cdc4712dda29fa6fe4af63a39a4be368a4fbb16024302316961d689d425ce84af30f51dbfb440d3a6b7404187932f79a37afbff092d6f9b759155dfddbce570ff53f672f2069fbee006c4cf1220d9c946642887f939ed0e6e54cc68acbae20325b79683d640f69ba4c71254871d5a5ba66f7fb52f5b1a2d17f0d92ac776919471b8d895befaa4ec554bd14008aba05778dd31b3cae39845f46a2d424950be817a6601121c13dfc134f550791ed671b993d8abc13d3ae5a9cbf2d505a93ea158b7b16a66f52aae36f162158aed3dd7ee510be36722d40a723de871a692a9c8c0056e3cd3300197c9cb0b36ef0b7f36b73464079ce987c1a3f229a904cdf525ead1407191f03bed73d9a0bc7640d0f996dc77a31e54adff91c744badab4195c8bfa718764095b3a022e2bae2b3204bbef71b9c108dc075930ce1099c68c45c60d36ddda9c31cd7ef11b9980e950641fdf9095cf0e04c2abfe7dfd2ad425df16c4f755a40d36c08e87824489b92da1c0e7db01af23ac3de351e9c8a74089e9d93923740adfd43a0bff6c513c5dc024e738df66bff45d717151f5132a86dc13bcdebf893eba2703671d1746f6c615973fcb3429a9c8e390b671a0ff62e6ed1568538af1e09c09acfd25798b6e5aa54c2e1f4387ce1b431f0bee9c2460bbad3eb030dea254b81b2dae492d8eb01da5849554c887ef1fa68e7315134255afa8681d9f7a8ead5936b4b6dbfa7828fafa504939bfc02f2613b53e4cca38ab962a3febe70572baa877820db8d4d0abd1be2ea48aa1fe5996101d2e0e698d8e6fe6502b02eff67c0befbfc8a3401a8de464071d8159aa86604ee516fc75a44b179b943bf57d6ba625843b4075d9078c70844871881e2a2da9be70f6b5c26a1c6323ca9f6786d8b56a329fee501a78db5abaa3ec3eefda35f0ee90da8fa348b6be56f3b092e750fd6b10299b588a3f0a1dad6c14b744db23c4d5874efc1a20dae0006ce59680b22de059d7180809df050837173e102792180324cdabbedd56aa1c441ad60396aaee33e67beb620634577e14e35c661cea20998c7c911b80f57f6ed76c504bb2e44bba798188d33ffa99884fe5de2b06010aba09f3de99b72ab89379be6bc63a7a65a337b8a63e641aaa21dfe94da43155063c3cd9cae457c970b12eded8973c002812081a09c34c5defb672991fa5c50c408cc42f8c28227909344335979702841217413449f6e25107fd1d24e5870ac70bc5d765f7e0e0a8a26ba1b7d45cabc6ac37d1d1cb0106a2786e7cd0eeca7b5e259cf97ecb553e7d4fffbc1cd8fb6cdda80d58233c91a346b4e7e193de924e564e4da04dba11b88ff50b6d0addf206d4cf795e3f345acc987c07601b8075ff0fe38e5e142560a6e69eee35b0edc5c9c65f1ba2b8594f2f6c8c2bf9ae041dda5e1b2ffd414992caffb7aca742bfaafb3fb32913d2e2b2588e6ee82b37d56b229f4f02dd1c5a27d9ce25d03bf17833bd023b304f8090789e48990643e1af83eeb9b1feed5dae508ff608c37a415fb336d5738de88472c5707e7473596881cbef7d18777727f5851ad37591b691381f357bd0960e4262ce737f11282a60bd0aa9ba4083467195daa5f31892a95e3b61414158279ce74c7644bb79449e1751e26cff3cccfc174c42c18c8eeb3e9f0576f65494d30bcc0a39280d17ce22572ddde52f644c1668d188d2b8ced4b4bf73932a54419a8ffcf119ac050c64e28183691f9f1f86b1347356ebeec004dd786d3ffbe4f8ea23df842e717f642d15356eeff9160374ddeaa15e5a1da5221523ba5efb7e293fafaa4a044f712cde4ec776fbf63ac298391574541c6c62962744926d5b46936964a1cb960ade4a777018c024578394060b0aed26aaff1faf0b49b841aec29cbff34cbe5e64ba5be630c4d27fa798b51809979bab63164eb5c0b8fa24afee1a9c2a5b8d78cf0fcb803b6956bb5edd7570c357bef535bb2d8d91268fbc694a512a10d7c5190c8d4df06ba874494856cbed8d088f84554e49fc2d43203c8d67e4f59268b216a88cdca302f0017d66bfbd1ba89a9a05a7a81b50667b2758413ebd8f1fc6ad8c66edd3f66d183f92825f726264c7b6e40a035a0950bc57df990c7b2cd19982bd6073beb55da5d5685ec2e475300bcb2514f640291da4ae8f0208a96c7aca6eddffcdf6cff13fb46240be7eb119d9ea6132871f6e018e9997595669cea330febcfc0a43320a452da9866b4de37b899e0687cf424eae8f82f542f72493472da21f07872d63d785685f940f1266514438d9931ef71509a6d379b04376eff5c1d8231b7288371ee98cdcb8221e5f6db9f766989f9881ac7fbf3d3aac921d1a56347451b7036529145c1f78ccdcbd5545461a97700f5101c6021ebf5c53a074f4f5f48a28ceaad83abef8f9d32ad439a0985ca314e9feb18b1abb8c87bf6624bb2ea272c65205358c5276bfd921efde8db02583bb0aac5354d98d527db20935e8be4b05042dcf7f42cb88ef7498beb63adf3e29ffb8f7cbdf617741eded4494bb7c795683b27230b884f9af23d00a1aaeefb5e56856ea2b6dea30a1b8bf41f609eb77ccdefb0027aeed18c6d75e016372f4ea646eb9e9016b3c533c7bb0e59d8c45569095501d36339736e76b30fb4d9901bceee5eaf83388108ae3f65a13eadb05a06f65dd2d47596acfd598dba7d49ee7ebd00bb1e1ee6c042663fc0a0deece4b40caa285d56a1eedffba16bb4439aa8ba8f090666fc85ffa4b7a5fdd1fa09e20ee1181543d55919069bc83e58b3471cce04263d90a54f7ea938980361912309dacf0a5a27473cd282a9886c20c2c575499fa9595be9198c0998844db1aaf781d7a3b90ef49854decab71d0880fbf2c79a0efbf4881fae1e52c710e68a945d652ad701ea1a2f93e76753dcbe1899252b565c277d3388c8ef4ddc774eca696538f28861feaed04b815ab73ddad7c4574ba4ca0131cb94fc7fa275dafb4d50fbcb728bd03d4c9a866720970465f120076bccef8d156c0f617f029c0e74ca2c9371b4841ec9a29f91b04f0b33c74fc69c6f49095dbb7219c836e8356c3e567ddc229e0b01dd0421c92d57ef36192034493cc69667a8e94876ac62f9f76780b974bf0fe460d181741a24a77e5c6abda7773e9b02342cd62c3d2b1ee8a23bba0fc22c7e3a7ef73d17e702895e21d2b9c5e21c1449e14b08e444f72d82faa5a587af1af292d75268a17fae9cbc90b994d06348caa168728300542675ca4c48306adb1dcbf198dc1cd5c9fb9796b52c8607779082cb541602fe7163b4c868f8bd6d5506f2123218cad32ccf4b39569ac430df451230a5becae8d47b088590917c82a70d0d1b1949c2766bfa2924604f398670cfc462daa7d04db18cfd5625f975b113023fb3c7c8d10737ffa08429b46cb69bbd2c5c110fd4b8fb83af29855372fe68e72ed32ee33864060f4802cbeab95d2596604a9488717f5d88b5d0a256431f5a380a5ee003b0cabbef1402fc53f044a5f302901f2a396937b9531fa600ddb99a6c37a7e32e73f7245578ff0ff1279e7f329b06389c8627474fdba1806b9d5c157463457c2d26e79e9956e098c235346e88741083e39efb75dae50e3a98864bd74c17ab1de755b5f0f5f5eabdf9c20ac2083ed64357af91e6fb89aae7240bb0f408d5d764ebbfa13399f82edbe2dc6c96d3e9d0289427d0aee744ac5b20e165cf95ab246e4902e7d8c27f52adf15d291a7b67364b6c3dc76bd1008c510f44f6825108baee400bf1bdd1d8d7e058c7fc7e06c1665f0ec0f203e979285cd336b74e71c2807c5403c2f53b7d9644371570b162ba131d7c7ec769a56812dcfa4f57b1e5b94a1b231d481dabfba107fa07bd48c3182d86b1315364884ac4aa78204e12c86c6bc2e427e7c106bc86c62b4464a971cbb87bb913e18d35520897c6c9a0feb52e4333534f7da170cb395860701ec18e280fca69530dcf5b45f57c12b7ad4b2824dee69a106d3aa792983806d99da6f762053ff87dc126917ba17c4b29ac8245c587d123a855641ec3e722309a92cd7fef3fba84e06b3e41aa30d44cb386caf229187f83e2c9517ca2caa4168133a8a17822ed095fa911b2ec28ff6772f142bc3e875378dd722c3f42a1c135fe47b68ddc398bc9d32839861565209d6cfefbfee67194ecc37be810e7c22fde97d4fd0b19dda47f6913cf814cf7b33378233ad5071ab399b3887fd5d7e4169b5368f037d42ccdc97f45ac43fc3e8e05a29ddced41788dcdc601b900dfb843db52eb7d7f4e2d5182522ddf2f47e968b4c267dc9a33320f1424873b490251056c56a8c4308343d061ceeb1b98066373c4d6dc7fe4e7b28e42cf1a67d4b38acda98c4dc7a90abe03869a67f51ebc14f245b98e9fca9ed73b7b98bc301d3e842eb851942954b59b99dd6136d75f2ece53f7ee85d95917fcff6c0f39aa74ad52901b0c48da12a00c0554e7fecae8c7bea8b6c16aac589a336bc26add1c257b32846b93b10dba64786e950d1760d866882774d879074351fbad37ea17fb974f52d538f6bf7acc71159666744cd74a41499cd5687a495dee567b1e3b823e48499132eea99d93e9de115e702c039fe60f88dc9c2024fbe51c5f4f6bc96b26f468c83cf1b90f0afb9bd826b9e5ddb811ba9f30d5585029e8cedf1ec0503192372d8f9d3743fee480ddf6fbd2933fd75f4ed266b600505f078a88fac9390a8fc73902f21c672431dc6b2b77008a3c936500c3f8ee29d948273550ef91161d927e9f103c04765a39498a2d948440543b3b7960827defe67b4787782ca906d4c30e7e75410862b4c8147fb3e893e835a29718d21fa95526207a2425b62b1aa9ee353464ab831a4a8595a033c69a9cfe6f8ef48f6e2a6dc4a6b163b70e6c9cf437d63307b5e106f78c5fa4e6c91f7e29546a3ad578d035a6ffa607b0cf3dc5a7ac0f1314a770b25bfb0b1a203c11f540c14931967fdb780d7dd4622bfd7be891adb583c68322a38d321f29d62d61c0744d286fdbfab1318ab57ee77fee2001c25259e6a2ad8959a1f12fd0a4a186130d673194aadd9cdd7f2053c0d49ff3b8e027025d70eea683d68593c08d308a8ef152df22d2d54b54e14db53332a7f3de1bb06f7c2bb8d7601d1f12bc5e4aafb91d2da07e4bdd3161f70bd76c76da3846a0b793a6593380d32ebaf4eb480f65e0115a245d153883b108fef2756721e181b70c8c17682334cfae0f7b2c1dbfcdfdd8c3a2acd599e73655b5d4bcd195eea64b027b6fadf0dc8b834ffb602448093d0d0c113f6ad69fc5c16d912a59f6c52d7418dc5ad3db8dde6bc1b8cea354ea697590c9d95ea1d75c6d17431c53f4a99ace546aed288232b9c870927c515cdb3bb6c4225d73e6cbc8b2f48d9d60eb332fea2143df7d2499521371324f984cfba89e5981e0f65f62a5e4288e90e4be1ebba31e3fa98b5509e06d6096e013cc9622c82c50db1c36fd92e521773200fd25336a9963b2300be53d89a41ced51be1a96aabd54f5ce86246daa5a6cbc98ee5c863d7f6c7828e958be0af30a4b5c3d3f941fb81527050ca7e2fd7e0589f468ca03131874fc4d088a50fa33aa5a8f6aa3b27d614e32a21dc1ce1a09cd7da180e50a3b851f2246a0b88533bbcaa7d6cf49a449dca0fc66c164b4ae89ede305667006be52fe2627bf6a44b83e14356b6a5a530aa349915cdef6b7cba7d016f1d31674144a1d914a4866415401d354284e91ac7e2bbd76864868da90392daf9c45afb17eaf994797e5f0215bace9607c46447f70fe7440040e2431c028350ea5d47045b2142acf0f901b4add5f9aba1baa9c95967d4424c076aaf4f229a844a8eeb766b5bc115655636813a4e0b447ea2b6aacd620b4689f2be8bdabdca5c6a163868aa8e87f4c0cce7c5285299c6a27de5578de84de24efe5c36fddb01e3e6bfd4f940af55fe42222baffee7e96ae6963fb6e9e89c92d123a84abcd85d73ba7981d6121ad128adeb77c50c75eb8b37ebd223fc211e06964cab9ba37a01d66a9e30a9cfaab48707ffab91744b1f52ae3cc163de27ce0437b5162b2e27f1473f82a9fbb3acbe4186cd3a56d830dde1f57462e978185f911fbbdc51651acabba2aba57b07abbec8f6cb55cea1b6285ac93ecc5594a570e92de0e8866d3608d45c2b03851bcec2e115af64cbf300913c7d5a04d6a3aa43856d3c7bca4d7e04e4febc8f167f16c2c68c77c4e2b721e3a0d2d5eb0285143ebbdc948d36a6eb73af3281991ff9c2c9bc03be8e3fc5026aa8658ce7f3da9c3f512f5f50c2a0ce0a1634b3462c0492f4167236802f3bd943af80db0e4dfeeabedac9f8d12f47383854a9fc586508de6ffe77fbaeb1f45dca914387475f789545478b152255f3411acd1b70bf443bbc3d4c2654ef252db4f9f4e809bf0d5ccee88d52a1bb6ec3108d354626277cf6f1d7e86711690c34b7ca57d2806b108390bd5e9164257c9d1ab031ee935033fe4be5f7d96695b551e403d88bc9b95c91bfafe1b6c7bf43edc372bec00973fe9c288838a8a78873924499b965c314d8ca40e928ba2e02a3b54f278e3f961dd447c86150bacf736101e90b09425249eba03452ce7c68aad523ddaae338597106255220af1336817d288c79305ade876d9bc7d8cea77e108ba26d2a44544eafe1bb0f0879bb4489ae7e170ccdc9fc6ce9d1d842894ecb8547a99b758983353f33dd356ff867a670f7f0c07dda350109ddc5526e5b0af3194ef503af9079786bcd8a1e4bc6ec6bf5ccae5bdbede85d73b6b1aa3b07787096753f5ef11528b6811b3adcd8d3264d66f2a4e2bffed7a2a24d13f7afad7cea2360d94857fe29eaa407f49faefd1d0a6059ea47d22b5cc0ca2b577bb6b574c05d44242ee75d5902bd79e381cca06c964d927ef88713d91cc41b56b3c8041ce2e5e1e3677fa175a220f8f7ed69c52bd524fc607904dea7871e2d261a8843d97b15739c095e52da30dc297f2edda935b08027ddcdaf374aeb1226164ac001a5536c0f984cb6b91d67aee65b1fc12276af891bb3a8b3a4775d38578b8691029b2a9f15863a44812d6672c0f2a97f6f436bae2a4ee85a28d063aa73d50763b6b393d7e202f4bfdc16703787bae67d580a589e5eadd74beeb240630a276a8035d6973749de2795e398990635141ca30ee5a09f78ec47ee03d09381915011b2d0cb03f99dd7f5af1568ca8553b5cd8e71998976734b39cbb3d3275a242ae129f3583140779cdab5923316b4afb0b2c42f8f5e3fbbf7da94ea00cee1d3ad7f7ff2b0ba1232e5183bac8fbd4d39e426edf817a99b4a17325951e4ddd172a7085017fffc5d8afdbd0a9160ade2feb541dbd9c94d59da91c14e11cb23e40a1c881dc9a784a05e4e9e51c32bca6656cff3db5ecbb1965ae24cf094e2a874389961ceeebb8749b467d679966b8f2197b27d92948ea61155980779529e878d19e4e2b7bc65a78edecf055e2e18ac0195cf99c24129350a737e190e7389f5058134ef94e510525dbbd635447d8eb69b35c571bcfb4dc544a7803b3b8ae3818d85bfd8868aed17d213bc26fc1b0effb50110088a3ab619a0a43052c3516c42f3b222eb55abbf462ec8cd8f4ff934202a8325e1ea7536ba8e3c521670eee1727e7a2524cdf94a8158877bbe409f8000eae51d8c8963dcaa4dc389725847ae8086e90ca0906e45ed2eb1009773dda2342bc94473d6203beae0067612307fca1d0ddfcf07a02d4f7eb20609603f9b6a8ca3e1baf9de18cf2e5bc95d5285621259906a9925fdf9a14b8887db92eb8e8502f9169b18399ffcda3bfc301254803ddac563080cb6095c8a351769a4e4037ddbe1350dbe1d82aebc09140225762f636bf7211a15d7a727f390d9f8b06216d9d5e18a9ca3761e700a05ed937aecedff743a8f0bf254d69f1e2e9e2fb651a17757761eac3b4598c17b5871c4430c3c5a613b60bee1ff7c58fa1059d8a399572807ed49323a83504e63637762103b5827998824f99725d2c131ae1412b1ef90b1c22118ffdfd0b41826d4a118358c800677be6f26134419b84af9a91fe14858cabe4570976339b59ddead2bae30b192d569a8ae297cad6f05d67ae951730249dcf303692e2a07ef513b18ec470c3a721e3eb9ad205ce15166d79f4fef1da3ffaf3b32a8941cb8404c85b3ff05ef857b19a1ed6d6e4a41e64995def0d14a18bcf0c6853b5ef078188f4a0e726a530614be50e502a004a2f1b69219adeddf740e4d4344d32d9da8887c763d58df86cf1ca60614882033682b0ae3fc770dfccb842386d3e91aa33bc5772d77c0821fd3af1083f16e25f29fa656a433ea661e781fae812e6e3754b546521cb83e45c2d9804d3a630fb05180f84f08d186ff2192d829d37f6c2ff1eb15934af0efdc9b4c34804b040a8799a5974bb51aa999b99e48e8d2369d73f22541dec921cf9cae27f0abe48d104e04ac89d3f16c1f1e7426a1b57e8b81d97bf159a2265f2d87490e089c567a7e2665d41ec0165d27998b4d8142b8f0d27c0eacf959fb436b9d2c75fe9891a100c508fa7bd619618743696175e25e3ce719cb3b1948009e7c91ba6fa7aa43e6dacb8bb4de3fec793de155a6fac13200803c0455350d6a4a435ef8db6936d9d62b7de6116703a7b080c0812f98ed7c388f117fda87076b12b986a08f9e0894439f8ecadeb39d950651494f20afe5cda2bf95c0dd86bb0d779552cc7d3af4346f68045014f65958ece5531cbb1de0ce2b425de7a72fd72a5562cceed0555080da7cda064595ff98be6edf38c431f7a663b3d174e6f19d29179e37ee16c31a4b4825ad9bef43003e0cda5a9f9c1448995eb1f27ed3aa8f8f20f1374df9d7f45af839bd3c81f78f931bfd109c837db92805b5155118187742019e4ae7b5e2c566a84b24c09608d572a733c6a46643aa51f2cffe9ca4cc00ce46251c57cb6a1533fa37e3d264d66e5e2cbd2455ff411fda96f65f4a4a9db06a2e16593645c25356581796118708e6193fa219608573a0397948ee652f0cf960d156c4e85dfeadcb0b1187a275e75ddf65062e046af076fc1ad34aae3e697609d3187c63a6fd2806215a10bb4dd33881b81bdb8ac53f0fe216bc54ead093e7b00276922106612b4ae29e819af5f9efb7e92a4a7316a2b32e15213b4d94a0f27a8fa542dcc75138dbda87e3438d50ff98a6f5c0000fe5d335cfe9395ec12992e6c517d63c35f18963ff708dd68f3c872627f7cdfd76c688b2a2eda4fec8af7edf136517941c9c6c8d775957042d3c39ef821c7b82ce9d77877e3f914856d43df31898940710a3f0876eeaa4f5388134e58aaa085e1833abb4e264cceae82bbf398ed5bf1f9cf61a089ef07e261521fcef41415f471bea22f38fe8fcefe4e99096d1c8c22ff834d93ee0ba8b75dbc0d9603f682a908cb2f5bf2d2275746f954f34f1931650db1d12ac355e9fe6e6edc75cc53195acc820e6ee1f69768195f61123b8e01ce30715886d9813da26552e85e0b3a0bac40f7f619a5419f59159d4e597eb4245c3250d7ba06532092b3c2a144bad20bd59930c6dc02b62527e89782589b4a03658028eff68604d1ba5591585de65fe7053d2d6e75e608d59534d3e81169f7abd34c50b6f410ca78a4fe74429555cc1313c4ff5cb3b0c5461bcc563ffc436e0400d4bd18f875e9631bc3ead4dbbc5efe2642833dcc5eb3e132ef6521226727c8625f4f8a5f926edd2063a7dd05ad27d57ac1eb176e60b0596aa0de51cd3d0cd687dbdeb87ecc8ebc87dfebce7a91a4289fe6ec3900eca0e91abc88eb536e56f9e48ba6da71ed42f3d2f26aed2e91d29b1de6d2df04ad96129b8441546dc2bb73485f76a05db84a8fb45518ce55634920a2b3fe94b036e6f7463cb5f8c214f009105c3af7f2a78048a15c3ae019ab811a5461b7f45a65f08537161c7b186a75800f578f1f1b91e8bb7ce7ea07a3b58e113ae0b8efbe3f5238e1dc47bfed23eced966814b7b8d549a5c6ac8b833f49557cdbbcdb6523f3a66c762dbe2e4b6fca4f802a6acc6168baf9474bd66feda48a2ad31411e90e8416429019b32bfcca283747fc2bb9727c5fd6171b819a86b08ffda11b0c5f8697b13088b9b3b34e45aacb8127fe5be814efb1e8bace5cb3539a082d6c8b6801591ad37140226adb3f5cca599babbfcceac43d0f98af2405cba02a7f75e03ea96341f78a481bf2dd5a867e5843cc577a857849959176e4315d18e2a078ebb27031f27efaa88a9bf8b5c7bd306cd2c5838b8fbc7ab71b9649edbfa01d0abac3e9fde734cbf90636ec101f3692c3f0f43a5f993f6f4a93452722d49f4e869de20c74a3aef8fa60aab58fa3763d2c59960cd0afea204441ee63829c1595243a73840824b50ad328b6b81c8ed9ccad650d4d3459fcb98d0a87a86706438db9d67429292794cd3226a879f5f267b55b096f387fb1272a0203223ac8bd8e111f67835a9b403a3e730e0eafaaab13ab6d58eeafc2b5866b5d6ec28bfca19161b78855f3a5e596937abe9368a3f66bb31361e7ef7444fe20a8229365f0c1bf750d5de880699a8ac7ee4090856e7eac374ab589bea02299fe6da03ade19173483231db6f93bff4fdc9516b497e98183a90b91ebeb4afd6b60d76334dac6545d331751069ebe0d883e907de50fc844a13dfd1c151d17aeca0e2760159404aeefee51a9a23b7f79344bc05208078be43937a373f3cceef4d1a6a9cc02a3ddb49fad9328726e405e65713489235aaab304db6debdf0fe915f03a915950fc8c20ef4836cd2362ff48f2cc2384f1b7753007ca5bf11d04d6cb81218a7d8a4033e75d4adf8f242480eef2a0ba63479b1333715a1d2624ef4215b025c412cc55ace6e67781342b0b621ae37155ffd887566c4a99c8063d856115c2a223e5a49c3ade23325dd150d141b0e20c4aef5eef87ec8ac1034c3e318ab491e4263f43c3f667ba78298408b568c1a72d688f38e5ff0a083b1fc80b9d1f98a699dea677fc3b7b982d88349763384d723fe9aeddbc6bade3fda42e85abc4cd414fdff071f1b7f242a0e9b504d9fbe458361a2fac7002276eec91ef9ad51c7e93a2484da48781187ae3bd747205eb43d9aefad12be2008e1d5d24b219815e40d1041dfe94707ef301e912a099797fa1a5f4d4f4ba1ea5f80e5d9449fc82ea7d64747363ed57137a9ee6dba6d3603ea1df6f4ce52d715bb837ae6c1d0dda8537b0a63c39f5bd6bad1d8b2a41c7f1d1d51f45b1adccc9eb3368a1751278a3701d24bd08853fbbb4c41230155396f9bda99a162242c7f560922e66fb0811c757313d753d44794c32ee3a05e86a7cbe7370958687580d7d1fa3c62197e7dae86888efa4eb4060767f847b67a556b02fb8e6d4f2008806b651379398d27a98faabaf51d467d598e18cc3107ef2ea6d476eb8b7c6c5055add9d2b2885dbeed53b873f9bd32e6ebc8101262d378ca2b54ce5ddfb965821ccdde79b3d8c76f7ecd8f6c74598cb8fc7b0088c99a8cc708bb5bd7d1024e9ac75e93928ea1418f378538bce82d6c00977e31547891d56404975fc774a1acf16626ed4af083680d05c9947bac22daa0ed15a3a6b7131f5b48148139a5c7b75ec32234f0bedc176fc3d8b74917d8536563173b1f5af0792a760f96454dae4f4f894289329d000dc96a618b1f6d5d5ba732662630f4d52d1492550f32af2cabc621ec177931c75d8bfe37cc5a479a5eae6e49d6215a302cbbede6dbad7d56308bf91b70f18cd89f621e44b5dd3362a5b56333030b0f2b1cf6670ec4b7b0bd55f00e2cfdc0f0d49674f5d4ecc6f639963cf0c678b59521b8830965495cb51c8bc400a95b3bdf138fd2aeba2836bac8887fd86a9466cb2cc26755a0e2a787a4a4ae7a84e6c074fd9da9ba99b4b7f727e149ce1c5ed742e8f82542425848c4a17606716d182ec3881aff82adf4bbffe4af53303aef9f619fd3fb8a3d68db62f9860b606bccc5e02c9eb3ab30b24395f68d3b2ab67befcc0632a7851ded1ba549b2c57a00c03c9bb48e1a63ca8ad193cb06cf34910958b73a5bc4087f632dd27280823849bb773a43b2f8e960a1d8dde3213de28c5fe57468e2d2c99f029503a8b5f89dbede36e67a6d8ab654090b04150c7a2377d09c2d4bcb09d55cf4ef25eaab8f0352b265b70d899907e76ce428085a5e8a2b0f1877edc39d8b82a6b4ee98cba11ee5fb9380fab249faa49580c7be07d13a10e0887ea9fe8a6c1c5a52df813db107b30fdb462f338b03ef6f64e8b0d303be2bf0a5ccdc5d166d3abe90189ed6e14666c97d6eb30779e4d6cee881f9da8f596e32f9febc33c9284a2a25858f4bc39c2a7f0a21a6148fec05055fa2f5cec03ea34a80f6e349210871ffdb66c4a2a9c9f9d68b92d9eedb289eeed8535d5cb40e3d49e171662e3801dca76ccb75522d870c40a7438343018708202334346114358965b3612b47f83af06b7369b3eb05c5aeac06bb89b43d1b9842db924e202f333f20e99fcb5db0fa8de55dd844bcca1fcbe0de6f30594366d38b59e2534f5b805e39f0d6e27c9a5f2c28ca3e7e76dbb7c104177c5b475c2b07e8c38a27039f9aa1bcf1cc07013e37430108d89e0b252916e13649c75f8d0be5d43a784eb1cd9b1a8cb96d1e71d5de3f7c1c439d649ed60b60f9efc790c4ae163f8e1f7537fe1b75b83188d2f33e0f67f81bcdb2334bf73a5d15503c682b6a620f8d937b12be26d6dbf5474da8e89028e83ad2a1ecbf6e5ff39c7f8a70fd81081e433bf598179986a03e0655f59718e39eea892a559a529770e297481c406ced9c29873e895c7a1b1c49ed278efbf8b62094906ca848304843e7a55b86053c01af79c64848d520f25ca9926519d4a0af66925d1415a4918b7b660531279119a9b4326bf6f09bca63b59b70ce5c4de8176d40df014ff92db24d3653c4d3ebbac6b20aa03809b5801ee21e74b514335b10f9027250b1b782abd7191a0c58b20a1ee94d35c2f4bfdba73e00ee42c4e1c882d9840afd387b8463abf38dcc3baa4092382c91e6f6900f2be24e5a94a3a57c7ea5754a0a7a76aa414210f948a40fd3595be96b3454b8ba140d4cb3238af9c1e9c19f73b86982dd27a390cc6f3aa83ee24774e68dfc2bcf3f6ab38e2071c50b084c1b0d0904ab903ef03701a0c683076a13d542453f99837cad8228f19d2ea3c1067c20f53dde08e9e026d1fa079e461e787e24a46fcccaf4d65860c1c229dd8b6359669cfaf185fbf7c7d60e91ac94b368d2bd0a24a0f02b14e30bbb75f22bd4172718d5c3ac9d5144782e19a44df4a0e26b0360e17b6b93bf9fff8df7f7112d75b952741700abcc8438c8d2e8b5bf58fbe00124536ada702b2559752ae1b0720b663d6f9cfea40fdbd216c380e0647d01d51e6f08585dfb258ff6a128764434af0c4ab00899a61b4e46e9ef1e31cf00779d1bb5c4f0cecce1d88da96f1727c3839afb4a59ba5b8acbe1aadbf1b79ec9ee3aecda6878e7a6b51e4acffa29fa9b5f149ce069f8f0328fe40c345ba7725f958872471a4cc6b3050c736ded78ec06c5557f89c94643729c96679fd012c2232bf6f3f2df41736a2ac30f8ec5e327f8de0b7f0633e2f5daf185a92884713a54ffec080aa634d39effd5009f49d4745f5a1a1963afbb1dbcc709c83a38227a1b51eda380ebb61bda72672f077be47f6ee44de4a6aa6211476c31b81f0fa764b1745d0dbf501b226a66eabf5d7179d18ef94864addca4455e545e6f4366ad04b57308b36ce2a036ebede72d6898a0f24eb5b074e44409a52c94df7b320986a01f3cd833d28b02f350ba3a36cfd2100ba200832f5c1c2e7e9cf339c06475b30091ba0642a1be3676401f7b091212ef96c97c21ceca60574fda66fde551708a0344a9c1d529927268fb2e35171d06e98932cb55552c48284efdb05ab3f20108e598a11ef32fa5a7f2c5e6561e16bb973ba3e6566eae5444e33795d889a221227930d8a0c71825cbbdff4588d1066b82636f8076436ba270ea77979b86702690a96cd3cb83f16191923aa6578d0ae54bb16c5a7d686484afdcbad8183142c9d1048ffb1ba4f1bd0241a76695a9af1e14a8e27cb5f7f1c0424f774ada6fb44812ca2575752977285c26c044bb6d9f883d0f7f218d190430e155fa11f56e3d2e140d82a70e630b4fd9bc647498701f147e608a4758457d3ce0f1a3b9ef97c1eb7aff8bf6ce8f0af7f00e254af7ebbe94593a0dd69ac9406fccce4be5a91fc9bfe9937b950723d89997f46fdd489c93c4b750e62d2e63f87ba3409a233a9fa81f710ea331c569ebaf5c4485c8f986e8eb87fae55b1aefa4e73345031cf49f4988058913529bbfc15baef199604c1ff0cbb30cff8b37de6ef02c94c31423e5d9539d014a46835a32b44e643851780c8d55b9e2c69aa7fcf87d63ed64825f2119923e306b2967d9dcb297f48ae9dbf9fa164bd824fcada85f5b2f7909ce6dfeaa980bc03f36901b2b577b6ec01894063fb9ed35971cae54d38064b8cfacb476b24fa8ecd2c4c67dd423eff3a5990a72d45310723469ec6acb527d556f4e626794f1f21148cf1dd87d11d613bb85eee2ad6f4a6f199dbbb7b261fafcb764d7c4ac053f9066756541858f34f008771828a449487622da2d6ea8d9b3d9bc6aaffb55019ab97200887edc18898ca4c9310c316ab99c88b2990875041b044c5761087d2b86913924d1b0fee7faf021d84746f97c9351e790d8653c78fa28720f3d41ed24368a4a9caad778dd401cae2f1d25fe12a59f883a47d9694e369cc8a63ea51aad6bd124b972c5aaea93a34e0b401c30b8a1758f59064433097576953049719076fbc492ad1f078262893cf6dd868cf0d0a12d49d987af2c219e4a209bfe5c892035b48c14352147b469cfc4199cb19d545a933c6d7028000b64b0ee1ba7a84f3043bfe7d566fe9c4051b7c404dbc0d8da732eb04233249e9f11bfe101b40858d6a7b1d1c1ef5b2479f7e98578e1d9bb67e49979a9a32e9bc09ead5e7856dd601be0bbbc33e60c35ec2c39d508b6a8462801e2e8e859fbd2b49f383057c92f2bbe33178a06e4e96e99e09fe047423b9ae0f1ab743a1d03dbed63ef9bbc7295e5ff46c3236bd100ff04bfb06586f8b4d61411caa1e88ec71d0628cebe9d64ecae830483d186fd3549517a0ad22685321266870fc54e94a624fd189cf5d3a7292b090f358bd19d929756a6f66c55ba59dca77e2fd9d28d36b9fe30137ea1642a2802846b611f8b36eea0c8a931d9dbfba2ebc68cacfcb60c6bcb24ddeba0ffb69169715c7aba39c36945b84edf883063037631bbe3f7276e18717f73b0a108e63a1d2723d89cc7db5d6325330170e5eb75925f0b5736acdc69aec112db4389e9520249833f29c4bd7b258bc15739c6a1ce5211102ca48a50c5a48ba26c34c743bf32a5925093d361cf51d8cf26f7b3533f76a8035066687a5a34e27763a4c52028bad8cab264ab50491cb4d08a8da4f4814c01ebdd8c785995d89fe2701e2a42e4f73f20bcd0c759d44e3e1f935108b1a73b396228b60a057e7c6069a29a14fdfc26f7fbbce6128acf0e6050a78faee8c34634e48c38af1644331d8afbff43282d9217d8eabb18f8d8682a50fe8eb6e3762c1f04a27d1d2887dafbc3499d064e46d7fb904077f04e222f0b31ffa68b27152959e6f4a87e13afdbf7198ef00528ef8a8bd4fe6eac782bedeff9922d9dbb16463087962e65a952c8e11171ac5406d0030968712c4b5acf93b8be4c50fa20ff9cb07306196454f6581876f26789aabef3afba992ab03a5bd85e34cc2a2ef2607de2d7a4bca1070070110141d463f7405cb4213c37192380eb920b548e7f35747ba2e8b8c4cfbc62228e7186e518041a0a04d826886cec3e3d9c80d700c1a2bf067f795b84004464aea49af14013ca9033ccf3d9fa70fd9b452811a0c7d86a1051c6677965863e4c1d86250fa9c0d1187780753e98d17c5d9289febe039c0329430c6550339cf39544f80487ee1325fc78e3ba2fc2242fa13bfaacaf2012939745ed242677204d17caed939bc9a61e79790db8429ebbe430f82a235e795b2cd01bbdc0932a4c606dbb5307542f67c7a8825abdbbd1a8ff65bea2e8b25ecabc58931507c69226cef10a92785085722d4a572161310f2fe0a9ee880cf6328be19c7fccb791d187a02d0558bc385acb128fbb817256eb20056c3b88c43887f8e19dd5e75effd9ef9dce2af669aa804dbae5eb4530fdb863024ddac07786f3e2b7030b6d389a83ddb6151e19e584f2f95267b9dbe20d09818d1257ed18b411e82c6c08a01032736029523edbcf2f4ee264a98a98dfbe6f72630128037f408c9ab7d807a78d6f6df3cec9b1bb6568a917f7b784f1ffce59a1ec45469d2d2151bab91cf6f9c1885ccb75bdbcfde00484928829f08c41a09700a20a6ca172072598bb022968a39bf4789edf4715b6e1b483ad25fac224a3220524d44ce46658601af8f5ffe68838b012a4bab8c1e56ef5dbbbffc108a16374303aa2d7f7d8f62d09564481cfe0b204ddec127ac3e8fc1d105d8bbaebe955259e8ca52b2631c15839de26e077962464de96ee3fca4ceec13e0b31a758cc712445e6f6542afe8d7f99a924848ae7c29bca1dd2252c43106eac3459c242fe02ee26a997f848491ba0241add25633c51d6ac33749ebd2492f3c5cc3fee638edda4c345c3846984b76c3e20ea4f2652d3654df96ddc23fa2ed8fba7560c81ac32012026943dd5233e2f70d507978c35c724afd613295ddd3a40e1de3f4695511882b3298215537302f3eb36fd0475dc455a367fe471464a441b29c00757ace6ca68c1a93f4a159d8e4a81e2e201c805def479fd92cd8ca549f2052c4c7a430661e46ca8435a3816a2f135adf2ff99b1411ceee6767a9a86dc6c6fba44c04558c969ec5e036d211fe19eeb453af27c778c0fbf1831a2eb5bc6b8ca9a9c50d54d1d0d1dafbc6a57a17b1969801f34891b83a8e495313eec5d634c2c8ec28e84a8a23d75ac3e877aa56a1fa483978043ef3ed8def9ad12271dd0a788e3baf1427ff05cb0cde26d749d5a4b326fac8e30c5d8d2955df6ca12559db3ec9e340973c204eb0f9b81436d0df44d05aafa54467b15c001f2e1d106cbd3197897974b6e44c8b617722e87268ed0466148b5ec1d777b8f2a165d25a4282cc1fb53f2be90734d4082d4fd48e267c5a0e286cc4de15a43eba8220da4abb615c5987ebbcf9648c7798b259c0d49746995a5b9a4867a8dbb14fb7c12c675f9e5117fa3bab75817ba37a7e8cecf97ff819376416622b7a1321cc9f518464345553c14a7e6cef2e7335d9103df3fe92c165ba54f6b9ea209b8085f788246d9ba0e3aec053d99ab37e437eb3aa6951ab3242d1679a096c9cd192cedbc7d19daa9bf9f3ef888a2a566e509ff523c5675155d091f7767c301e5fff478b6533118e7356d23b3eb020de6280d8d125ad01288b44ab76ddecb3980c0a48072091f1c4a909315b06b85cffb4d75eec20289f862448700f039f8045082dd866aac91c908950e43b914676b74ea431eedc29465d1a738e30964d0da563228166face0094b1c7cc540cd08da169cc5ab3d133af48c5e8b5972c731c770ef09ec87270047408ad89b0c4b766499c5d3d4d359b50e668af87bb08d44f91f97af5319c38c3ba109aae7fc7ad5def1e740616049dd7e2fc48eaa2235b6b1d65d46b02d60bf26616792a3af2303803d25a8669dffa3f19b9f8d22cd1b67cab7df4459f53297785962acab9649dc268ab2e5990a45e5d8a47bd53da51b715b5b1e124fe2c6c8e5f5218e8ccb1c576255bbaabf1bdd1f2462fc85380c64a2dc175df3ce59a58b47e39262d89c20cca4317bf18743d7b7356a4c9e6d4fb484f994fba410e657c3d628376ef2658b77126114c7c4383393915f68bc0998fe77178a3f5e0a43e912de719690270ec3ef817365e7efe11e702673da9c9f105cfced72b9ff186c2fe7e6e93846c1a3efa8c5b088cbf600ebd7a6edae69d7d0871dfbe83ea35841869d98a2ebeaae257fec628ca34fa3278c0450b35b097a9ffbbd3bbcea9f8b977f7b6eb479522ff6211fe55e08c2a8debf71482215ba0d384b445992a070928c8510b2e37c14a887fed8dcd4568e6ae225ca242f4b8019f5ab0b4c786146970871099e49614497409314282a098954ef4bd0edfdf871bdef651b6a68c21391840714199d16e84335bb4f94aee1ced418b91fb7f81210d4d385823917452fc8255c73133742860a31d8e55a4a758c037f48c1d73b93b0e3b0be54210089b1338c140a78e4eb1e920327284ba88dae5f6d2da5d67d714ddfab306ad2cc2e6b7f9b6586c32b283352cffb94cdfc4541d9cb58d96a9bd7cce837bf50c992e4c07c9da87aadd8c9e35225ab0a38d4913438df2d4b481d5ea4b3eff386406caaf7a10f8f81b2a16c5ab2dd40a00f4cb214cae81f55fdf647075b462535505b1e14fcf06dfcfe153c20c13224610cd73b78d646815bf397e8da08d3a8173dbe943011180f0c397f2b78e5845ba0367cf07d17d1f56d825ae7dc0cceb157f3832635537ce51e3ad13a105cc58eceff91a45f090351acdcf391b2afa4eab4d28285b8176277d09a5222b6a56dd251391d56f7112473b7dc047f35db4ada4f1c345d5308f890d2582d91d2bd32d81c4caf90a048103aedf8d84d9294ecd097d2e6bcc61a56d6601d4c01ee620f0ee70682d56c6d766cbdd926e1f8005c9f822e9b95bb78bbc75f6c084967a79e4783eee883702c9baeffd706e02174b69dd45a072d6dde7039004b9ea97e0f4ef60353d86d8afe92aca4535fbcf25fee1f74f84ab0a022cb2bde9fdaec376084544594e5660fd8195033daad710ac056b896dfac85fc09d0b92521ff9215e08cd9e5f83e667245089e40b6e472d85f37758f2542274917ae65dff604d1a9a1aba7e61ce321013867f65b9757ec08767a95d90c60ba35b9ef940097dbb1c603edeca78a5e082a9f897d19890298ac15bc8cd3aa9eb4be6c80e663e7db07eb7e9f4f7a00cedbe9d150b1fd190d115d21d20764c798f4da785cbc3d3eedd685fdbc3719c1b561681f29542a8717a4321470a88f0b3ce4e14b8798f3f8b5ab222b97c7d5b0ce8d7d61d1ff0fce83bd3ea80a4db9b2a039af0e4fc69266ca6544dae35bd6d680b211ceb29fa46f0e08424ac7921af53a8b8de66c4a1c91cfe096d6269d89e2061693a9daae927ed5c2e1cc88489ea36de6d271ad551552f2f4892bf92772274fa0ba1e2ce0a20772235b4daf5612b59d14e34c43c8b43c04f4a570119c39b8fdfcb90e84259651040b6ab3516c807f29457860cdc4abf9301efc734b20abb8dda2171810f2cd23ee16ee85cfdebc8098850a8c38c281f3b56d1b2600662ae7b6e844c9ef328ffdb232496d8159e55768c227aac17446b702dbaa6cb96cc305c9d158d14832003b321236d91fb292233370ff4b517c339632cccabcc5fd06e47e8ddf852798c009f937c0550ead0f777f0cfcbf547598ffc01d1fcc6ec71f302f7d642c7ed667db269c7232d5104fe828dba378c75206e943b6255b8312b28bac22b91fcc359f3f476cb8963182652cb1e35887be50ebd201f83932b1cab3cf5f49f732dabd5e043132f82b5667a0f811934044618e5df78d5e86d08519fc1dcb9684ea8789991c525d17a86693712a8e88b1cb7b83cd4e3a63e49e69df88b84b461f84a256a07fe084c8f1a0389516adb2027f56ffe7937e891d3b371bec94750c0a3aca00d5ae437aa7ae355c1c8f6d09c959ac94f6a9598be3976cb5f37f2ee96f200ed1e2148044c4540c0376bfc3437b53f5e70116b32438a04ffb81192d1beca06231c0052069d1639e4f5a9c851d35ab0fce451b279c6841cb2bff5115be53ea74fea34b695cfec82ab45c5c7a5ae495b9fb25098b16dd32e3bc38c4271f9141bed739da54362fd8770d5c4d10b7dacc0154dde838923078782f44595e1cb10a40cdb16bcfbd2a43f466cde0f737664a0020abbe82de823309328fa98bd6c132ced9b09ca388b75c537d22961c70d021f40ecf0e33f13c24de794320588764bc58a9ea043acdce95bdd5fd2bb456f1bb293c7ecf888bdc1da9e6193d439fd03befe9019b679ec265225e7be06d360baa886cabf361ae0103f9c38b411853357de9b79fc287b1851a3ada90f243375e915be5816f78f7998028867ac7b4089260ab2589fe1f77de12d4b10b325e48d1e110ed13871bbf360f8c1c6340173dcc8af658d45facb86ebc00a5b76f7b0b49f4baf7ccc48c8f2b62aa38bc58745819eb52bf26a99be041f04f06785c0240d9c81e1502378138864c08eecb458e1a9d31dbe1bb3b377af94be944a59e27d24f4ba93b8705db2c6e85dcaa8911628ffa5f137e9a58807d050c0653ecb62f3d5a40f5d4fd1805b58cc5824cd42ee058f4bff7888a48bf68c26339d6cfaf55c8d4590f97309dc491a8cfb2e91c304c8a457657ebff95cadedf7ce50de1c83947b295726389d03c1c3f8737d87e8af2616dc5577827d4431a0e08a3cbbaf074a700d3a7e31fac7bc508059c5cef5c104f3a28e1b44fb4eb5d5ac5c632347417f8de43115e86ef041a7c7c5bcd378c01c18071499f2f3d9429220366785656902b14a78566b137dcd6f8ab6ba2b080bb6cbf15464c24c91183c363bd22561fa477f88b5ece993c4dc8788c3a89d2f227bfe02767d526488fd7a4426022b1e362e0bea5f1351469afc115b5a119d90dcdab19d837334a8b2523f14399211538cd97298a61667180c2d274f57a81b793b3b69531e82b6b8c53efb343f858577aad73205e352f301363fc00da7c5bfb3ec4e202809e36dc91cb7941504a2b74f1575f4666b96fb3ba3ab54e12636497dd77ef95a2b326d78ef9f637183316b5beca40fb43a0c949bddcbf0a73ca7c709d4e8ec2424329c2e3015b5568a1f4a010d56504596653408bd1b686c597da00e5d249d2146286b4f8f799ebe4dc61bc041209713e00f869c5ee08cb4e9e0a11f7f49b07ba790cd31ba45bb62589bb693ea4591b2371d47cef9de1ac3d74862925415eb33ff1d400d2a1cf7813bc5301fc7953c83e93c9c3c276058db33de0542e9f53f87587ba02e6a6983ae12f5a26e81afb8c66c2a65e496c060ba1402b7aaea79931511d5406376c6cae11bbe85a106d0beab603fee6bc5eddfe331904747502a18d1d30196e5153d215d43c0579233488e5b4e3aba91fc4866acb262aecf7e44e0e2f9b70f08afba7d6da655cab7d95503ea4f3eb0131cde5b6654650690a866ea14ce8ff21617dfceed8289c9e9f04cce35517460c82f63028f1314dcba71a75a0574d315cddae8d761d61bb1a07486a07a4831bf48b33a63a5a9f6e094ef1f98fa495ddb4023796ffcd3634724cb752a10cb4f696fe27afa8df0e5212411d53310d1b455e8cedfc1bcf15d7868fe7e86578c07d8627b02d7d1e55137e5cd284ef0b656045ad86ab7d0871b317f44d3ef034eb11c8ca8670cac1f284dca500165b6fbd6f43fdf73eab2e15b9c10c58e4d07fd1294362d09e3ec87e38df1d777b8036d3cb5ea72282acd9f0d85bad318a6708969c7c18e4eab4f96dd25ce899d971c0cef2f97702e28dc6c1ddf62776f844761f9d829c96f47b4052fd87df2a866f953a2b679d1d3f00f01a6b1ea913ee7ba6a3a0ab28649e7c5d20f064d2009472e1f2e3f83f5ce3261bc039f37c5ab4a9efc9c221c8d0dbe880caf9f5d97ef8b8e6772ba34ec0e763c66c64806e308431545ccb384d2ad3cfab42269a392948e38b22436e06a23c6a4093761c4fa828ad3f4bafe77358e0f8a307b8c34e62c7576c7456f32b01728f516cf219e6dd8bbfff6655017fa354139992378ec1a77f6cb1f82a2b68bec54b504e90d8fe0629d27875f90cdb2d82357a3fb963ba325437e717d20937eb25720666c082e3fff18481f9e65083e3fb412e1da8bddf5b3e8c5cadbde54b6e5e69b0482e775d234d544474946dc3c9f645e5aff583d75ff5aca3d14bbc63c7545f9c4dd7d536c8c04217910d2881f7070a72d483899ca3e4e700689da3b2078bf788ac323181e9187e333d795b55638a4b46254763c689609ed7712a435ec6a709be7387391b3ed2b9df6fed6b74ad29367cfeb629d8a0a156d5c74d6922abaf0358c729281052ee4e567866738258bc164cff39da12d5ef146d0dc3504ebd6d7564428b1f1b7f3e27b16aa54cf4b4a50eb4ee45f02b99bd2e06f9509c322d9b05e4881b538256d00f5a2783a2a1df631acf371df15d61ec318dcf3c787f2db70e007e591c32fa505b48b3f6dc1d61f45c079ebf352613b8b64db3e0ea87d17a2b2fa197c6eda1b19e10cfe5a6cbc4e63d789276bfe8422982fde154b14e7958cf5aaec3769118b7be192b072ed00743e3828cef8b4226ec01df0295744fd4884cdd7d01d1125e1ac1d787493bb7b0d30c37f58942cd585740f39e2c72878fb8d9915aee50b8dd365891da951a1b8bf3b4c0fbb21a58136900760ece637f4490a22ee0e019b7eb8949c17b7de6f17c6db829e82a5730702dab907a0e04d9ebfbee7ae0467acdda99c0afac39a924e35798b87d938fbe06c3ad9c686a4a181108237a7f9be01db4c3c636135a48709a4f14b83fbcdd1273fec42fe1ea30bc8ef00a01b29837287d4e7f3e9bf1ba6641bb8c348c86b38fa48edfafcf8a927225eb350f5d259d8ea7b67ea8b7638a82c9e65f1a7150c19afbbc544c827eef86674e45ad53558fdcedb76a42bed5cfe3942cd32244f5cbfb168ac74225558b85c984801d83c80c4eb6b01ed2d4dff992cb835da72e33659947035573ceac41ff12f0671bb60880c5977d64e534efe41e8149fd69a76f96ecb8549262547c2c80b69a1201dd761ba6786f1d23486ee193a89d30526ea6be1a3a378f353f5e0c69bee10bf36260364cf8418280e774ba8c0fc941c4e59730bfcd9496734aa9dd2050fbf9ba1a04346b2193ff4c63049b14bad2acd578f29baab36501a14f43df67d2ba2d87c72f26bb6cbf69aa88bddea8735a88bee78f6e488a1184bd34106d7ebeb0e93097118d8ea6162d559ab4484945852c28a1a55aa6c1ed86e5f3c7338f98676144f00477764b3dda3f139edbdff4330cc818265d592361165bca9fd1f5f4393d8a66c8d1a01ffc1238e922ce64123612a04b226e3036f41a7229fc9ca7af7562f1517050f9b1950054267685ab9013965f70e5eb219c789ab95a26a8c93ef245613c447eb6a6f520db80de495dd72d9787688b1cce02a78c08914af1b6880dbe78f2a0287a9b151b4d64826486b89c510c9a79f452f753961ba852be48d0691e52984a97526677ac6488e58b596f9045680605d7498711ae4998147c368a7e1167fad589fc8f4a15b7a31943e3aea985edaeb11a208b2ffc224726606cb5263fa51e49dc360afa48b00d2e84cf8df27fb22365dfce8e504b6f947cfbdc9f165019712e92a20ea58dc64ec5a720acbc0a96029d8c20f0e1e9408926d807d317b7240769b89ccb512135c74037f69e811cfe88afcf9e6a6e6ee1e3c46bd8181fb4b50d6aad418c36f372b231962ca0603aa7a68991308d0852c324ed37747b133879dba027d3010d74f7a5c2078f28090c6956e4ceb879c6d1ac0eaee3e6c890ad6ece5924342b829b1d30a365eb2878a9f5ead0fe1c2c0193885144d1aa4b196be8a970b517675d46d0387005a362dba3a42488ce52f21549012443e80a1c78f056ecd8822a8244e0b613c451c10bd92da4b32a7d915fbb9c9699254a39fda32fac9db99b91bd11562d30c1ce287630ff24c101a531fee40f4167778efebe7b869a938a62d44f447f1a2447c5909b1beddd54b58807398c564c253184ee94c9e4e341c491487873b94a3121587baacb62108bcf295835521fdb1c55f0f3541f1dcc3fd56bbcdfd1667818da3c54ce1a7b0a4c0efcb1017a1ad0c1e51708d9abdcdf6457887b8cecda50f31637b75b99fd59d5d64f79799df957e6c2c0fee24cff5d0a2ca7093314670d9276dcf83d8b6e182f879924c91903c03a744245f6d25ff1dc2a0ce4707959c557f2b8441506a50fcd8fd1c908d6267466c4ea74cee5b5ce6b4b5577571926220c3be09997f7ea808fe054f2f66d71d6683a620079149f0fd01e26a8755662a73236795c737641c5b267a3c09c349d5f7055d37821fb06ba6bb535f4d308ee704d8c88b335ea84b845a97a07e70541eb7d5f46c44bc7a303939798903d64f29c0eb0caee36fa19bca4e2e4f79cc6916f3df5fd678961b3ee1d9072d986e3ed030bc33563d992c8e424afec53f81e0c2417304e282e726d4e8929ad219713181049cc8e52eb7b96a1c29b960f7526dd9e43fe4a54b4bd3d3a2039558eb86098b0aa3563167712636b01dd6c6adc2802cb53079b2e5469fc14388c75e6220b075d1bff29e4a774c16e0bcd78feb554597fa8b5d13e51102f158d2f49f5f19131647557fca2119e5e46715434c4d00719bee03ae4fee38380295fddfad0ef550cfb51e2fb30f0ae7d3d56d1d9e406309fd5f7f9b7e762cf8983e5948fc508c5f27cfd93a9a70735934c0015106a48257893ca39a28cbcad991529cfbe837df84498a5d28375b9b3ea44500e86f56373fb47de14a8c4b23eb96e1114046d6a15029bec1f2c97732678fbe26e6561ac27cf3036ef056c0aa4eea7b12cfc93f1357f1df82f5bc46bf62089415d119198216aa14899af86199f1c82c8e52ad31647465ad9afe65607b8612fcda8c2d554f12235c4158af94ee8f525f8c09073245552ceb49872dc01d88b12194d19a236a46925e0deb62cc9d495628970194719fa5c02e43434c550009da277e34643b945d50f95a6ca2a8c50d369dcfaeadab0b6cf23ca203e15bceb322c4116726d894500b26b767a74a3f8c4cf0a84e1887b80019868616411a055e6ce55d352ff17a88ccd2e56a34c30d355343beec0546ed94d73b62d18631d0ab6893e99811d25e19172123cc19481c8c091e33b531da7e6709a9003cadd59a0d68e93cdfb605f1a3432087ed2d151e226ebc673ce346cef13ac7a909aab78f607a52d0fb97e085d82ac4e3a5efae950d923098afe9b41f04827dbb95dacb4ba3fc67ff06623be492feb1201dadc4cb132f8afd9af3c83434ead8b09ce4c6cf963a38cd637e64cf59cbd46b95f9163ee09b4087e746f5eedbd2cd8de045da7f2fdb77cc960416e4ee55f9adf17c336a0c6b90ca1d53dc36248292aa96bd117eb83e258e7b93ef64ad87e9eb34f990bf4ba18f18b8791d97506ce345878134a1914638ffdf769c4d13612cdb1f0b1b7147724328878dbe7ae9ba0b15491fd195d5aaba77eec48a11ce5c03372ac2fb28ff15746c15653a7a884e3673304ac01592df6cff0ce90479588d0951a7ce1bf8af8503838afb4b6890e7ba587ac3b34719405c8ee69c9d6806221b1c28df7262924df2d2c982d1e32c95251223a55c059ad6bac4190cf0886011d474ee2a7bc4e5ced6a33a779f46e9972eeb479c7ce78ab30e50bab532c9e77b4c9e1531646eecc49d6cb96ad64b329fc1c38c1234f64b2a7b6f3d20a51b7aa407e76e14202569460ebfc50b91476cfb8261252f4ee74b6c2ac694a744c70bb9930e6a9dfd8d4ac8e63ef560ff85b47616b17038615583458c07ed764167453431b06e87c5096631e0f948a5692939d2dafb945928350b6ef735c41c8902f784b3c0b55b0187d848f1759bd4834b2e77d0d08343d3cf9f4b81b9db373d4a27f5b0a00512b7b8888e353dd12a6ad704cbc79572ce20101b0d0a36edd4ad46bc236ca03657498cf40b07700ba6ac4722671d490c8ed7024e316ecf692545e742109d3bfe952f2a098b081d6b1ec4acb8e7a8c8c5f601bb2e1b0060fcfd9b2ad5b11f314acdf61d5052a7f1cdb37b9c3a62dd5576c555eaf7846d5979e64b6b265e4a5856cab85a245d2be03d3f121a2b851293a827d1dfe7107f73f31304ee10806585ffe254ab0b739138a61e880e90a12cbdcce2eb77e709b8857150f93d0a07296e94fcf52044840e85719ac54fe771d602365c7fc80474578beace87b318c40236aa285652c5f07341d35e7971ed0f34e138fe192ca3013c5fe5513007e757a24284f30d4f3a9520c0bc48e4731dd58c8c8ff30f508d6bcc760f5d104fab3648dbdea37de2b1e219253143648e5b9a343a5b7e0c28e7a44a9cf99747f8b1e101411d69750e46caa473093e9bea1cc861059f31a243de42de62e608f744a7d74241a79bfcf4079f34b93a8484633cb41ac11720a73705c563510408bba244e48f81488ae9d2f07d879be6f38208032d0b5aefa00a985d579e65c421dcb520f1096564b405e418c71e7b9509553e9c53d45936a8df5430a3022da00ce0fd515bf2b4eb4adf4023c7e250967b4506ad5aaeac87083f2fa50214a6f72d55e7f656b2a87bda73ceb9ed952632e6b5a7a0bfcc5c75a1bfe5b131fad18e644353b280c89cdb875e4cf1a952d1979d33d4fc3019f79ddad947f22463e5d0e018b8f175240eb2256388410a7bdaec79a3d1e9e50d57760b5dd0aa0762174df172cb903cb634fe4d1b8fb4ded39610019454b77dcdc4bf9cb2d053c3e2b9e45666875976d4522523a0477df2a1a90f77453f0be7128ee7549adc6e4aab2b96d43778059fe88de4840680c5b91ea8fcc810df9dd95e3265f5f444e909383dafa9829d6b27625ac6e1ee80128451e0485f21e7014d5c6ec9908841a9d922df2a42d5a2c9dbdf8f1291710a4a6c1c982a466f8116e673634138ffc531a32e9ea4ceba2221bc199fef62bc0c4cfe5b03175e37d7fc7d4656b9709b9fc6847bc18e4688060b2aa506aa0972e4576c5ef84c730e462619952b026221bca9787de60ceb63334527710ef0d3867055cd3b2dd60eab74aca57c05a1e712b06951f8635307d884a7827ae03bf62c383e4c7a398f7ab3c2a95fd62b31c6548308b2b6f78f04f673383f4c122b8982ee6eacc17b0cf5576ffa667ab4aabc8ffe7913c41c4727f067e537e7e895c8d47317269cb7838864bf06146b8d761bc49faccab1cb4bf058a07acf935454b49e819de4297a0a2255847d08c14509a74f86e98a9aba50f41b62209ac2d532e982aafe1a5b155400a56d44785f0b61ba8b3189da442502f83e3c9cfba2cc68a4abf963e432d096f31a44aae421b7595d4488b353efa96f076ddd2c0960ba2783833b39c1b3e2f6516f18bc39dce3e0639c77ade6fb5f438b6b9fc6f1fb5c4301df97c17d2fb5e1b3b4bf0dfdacb33f8d9b06fa177383a3c1f0f42e946ac5e248ef39f3f453496077e3535db171c6e4b1fa95144c6708d838e41a605b4c3ba55992c4ee7a2e404ac665979cce38647959d3a258d9e4c91d9a429f052d803867020931ad579f00eb7bee5b4b2b5bfb5ca5f9770cddf9d59f53484902621aaf1ab7a76dba85af7442914581000168ae7396820d2122e72124dc747ad183df0ca8125de022e42e388c55e655b4f60c6474d423c757ba005d19adea1835bf334b2f7e3f7d72fd4d1ce83c0d988dc2b7477cab10bce9917e4c5870763b364e34c6cc5458a4c588b61d97193ad0b7959906613f730ae618cb714e6f156388de10ca0b6764cdb2165bec7cc21fddf4436065e8eaaf2de22516c99836d6c5bc645e90d4f4e6a1ba58750cb566fa551df7bee15280a331e36d6ecc74b54ba6cdac477659b9a5867a0edeabeff72ea1f8971181326a8e41ca75252d4241b701c29c2ebcf312b1f3017bd976b8902742d017495eedecc51a4fecced41eb785272486e976146b919baa54f1433aec9a93593c8a3ec6c2b055e385e59531b68ccb7b357926bf9aa684d75a922e1ed8e76b3e8acfb85cd982c85a8bc2473d067be5ae44b0f9eeee3e64783f2e823a0f04c3b3dda425c6f71d990eb17038c757d9da29777081f995f645b9e757ef71cc148c9a7bde7b1cc41410c976976a771eb9a09423ec8f32d538501aa7d6128bc54432210998a7b79596b148a906640da6b22497bee68b109e3fdce33b68e69564d89acd0881d14cef943e44e658e982ae31281024626248e604f6932bfba42bfa5bffe9c03026aa7d9830f79656ee43d969a9e56d8dd8e716f3ee19401c9ed484f17186132fa8451462585baeb514a0409710d0086a0d4a4e512170bb55a5c0231410c1508dbaabb9ac82b0e91309de6ae5ce2905eb1a457e89d6d8e5f27d8296228ea6f318a35c7c120f3fdd759239a681e5b0e06134274212e4f783a7ef1ed3c112739a5cb65ebaa5f46090d48bf434d5e5fa04a0d3f62bdf2c33dac0acbd43036d63e4dc207ebf39ddbbe9dc3cfbdb79459a1f9c4ed03af8233ed183eb9f8fae7cfc2c9e5ca3d4b00c66ee5a91dea9fc4b678df975afa9fc5b70823b407764e1377c881863915bcdf9721c8acff5fc01e00f94c92c0e98fe2789fe7ca60d9f9d7c5cfac1d2f94be8260ad73364376e09dccf0fd0e2b43281234a322d5864b51122cce080edbbc59bd9f391fac01c904f68bf38f415d5075a3ea5a62ea95784a78dd25b35d902e40ab9c5eb5dc0b40e1eeefbf7198b50edb05dd056bf57efeba81f27deb548f2cdac2b41776572b1bfb8aeaeb7305b0a3b9a4c9fbc41677d0671dd3927220ce9746fb15af09cc39bb971fb65f7826c5dc2bc2e55205eece8f4c84580e30b2c4481b440c7873edda3395c528ca3b1a5150d297cd90d731f9d43ced1730398f703605e5701c239243efea7547ebdce238126bdb0bc01eb4f6c3ba74c1a2574a0e098b79485f41bbe592fa670e73b0768e148b1cc236b6188b556fa2a4c45ebc0db7f43b93d2f9c9c6bd096f6b4fae04ae48dddc66c01be03fdac694c86132cda7877466d21f765d4c02a5d2feb1677002c98134cdbe6a5139b98859c9998ecc2521d7f256f48885f1b79644a4604d2baa124236e8d258c74fdae5328bf95fd268f7eff8aaf82598ba69caadd48496e34b4f061ddb15d959cfb687a70dd3b82c5f544f5095eccce9f9d438070bb64288e4781de692e92336ebaa07c0952def98a1e559633482c5189441fcaf77323f859cf9f62b2b3d2c3476a1d1e657732a99fa89959aad02dae1069d95a18f3e7d2298fb1788e7f266b6f1690c162620231edc17501d20af40ce3e7fd65a81da91eeb628ce3047249adcc73a85583d24499754bdf1652fe13c64d16815cc054856170817e528d80e6104664f78a6c87ebe04173ddc10b301e0e3ab7d106578358a643d25c0e0ebd74092961de0ec9e652d639c2ecc596cc0cf0fcd3b2929e297e7e26c22e42fe3b947fb076bd8f31dfa02ed562e2e6b7d03f7cf5ee77486515678d3587a2ed5526458eea60d14cc2115287146c9047ee441ee82b1996ea8c39e4fe705a8144440b5e01e2c2420fa929efe7f233e64a798d38501d62195a3187fb186a206e3757499bcdad1d7b5c7264e81cc1a668b36c0354b425da72bbaa58de301ea2dade1413a461310b9d525531c1e0dbdf068e5efb5873d510ef73aeef576ede2a9c363a96b7d278e39506e696112ec0fa7036117796e0756c575c17ccc6a6a20d7e30f89e05de7ff2694ca9d38e63a0969f4d6bee8b4aead1afa713c4d61dcd03b6c537a246bf361b183fd4de189061e7b834d16d1288796216d3c503135f4939b8f0c6ab14c0d904227c09808419ebd19aa9d3d669ce9eae1accf522d60be5d4e052e060e37e874231e18773f624786d22205e05c35b4e5ed6491fb671538b3722f59e25bc11761e43bac1d2360efbba13cda930fe5e75fc9e00212387828fcc113eb1c037ee69c50edead1a01d4600630f671e532f0e58318d48b7ea3a2879c3affd10c1cc1ed8b6c513530596e645f2fb547141776a0a33657172a586a9ccaa12383a98cfa3b3feb01f5c2b4908aaeee420e2cf229a5966a8dc12037760931883e7166195cbf28a39b62b72834428711c387d00303aadc37ffbf0daa7e5862d9639874c5b4d6bbcd19e9411b57ec9252ab9897de1c57b6c067cba5b53cf79af74f16bde54ea7dc77434325c582e7568fdf02b907416dee1d1271a07b9a49150785ddeac14c892378c63614583c24832a94a6b9f2907c44683662bb14b0ed310d8fba211d8f89d1e2234ffb706becf499b145a4c415f166a3413ca3ff494bad920debc15b40e880f5e9fa714448924f562b4cd1b4396e27a8118feeba2ec6e156f8f74b2444ae4fea69322a28b0524455e1e24c05884ff923218c22d1193307dacb7a26a4fa31c9ee22ba53f1d415b96ea101ffeaf26113a24919bf39e78f529010929e4bda5f238a7b42371f03886ba64fadd4d562d9f10345bad6a939512603208f0f3ad9b4585dd1208106f358fd4be600e689783974d72861903fd746ab3427ed78448be06fd0e83c96a88ba35b447d06fbccd4d2a0492a4a6c699d73f06e54fdaf4a5ce127434f99c803935b9cc69f86581073533fde30cfab38366cbd6587239ed1be8cd139618ac33b8f03888fea0c8c2979a1bc5df2d5b0b613e6fca12bd50b1a36a1e4b0dbb142152abffe136711d282d14005cbb014d65fc2422450551a45b343513b70b48ea4ae09cc8712f0a12658a3ec89d6983e86f61e8c78f0bfc33047e4165c82905332960ca9d21a8aed64348cb17719fb42d420e2f3cfe67b26444f7bca353e3433b8113734af04085fe5b1aa9401d419f2a63f23105a520307febe7e89904348f8d807df563349ced83acdd704bb6fa1873ecff6dc9b429da716c5a2b2bb1df4823eec97c9b277c5f69d85b641b3509d1c43e7dc3557840713d16f6d130c47812da33049f77b48aa585f61c0238b4c9d4f41c53566afffa2496b2418a5b414939e69850a86bd0422b155cf6987a95ab1843bff5bf4c096092416c3fa0e34c6687f9b2741c053e3db6d6e019b8323a83c508b1417a930eb579226047b896867e5913fe2353aa9d1e3912982e8c435d56af7663b0db7991d103d69048eadc7d9dd49974cc958ed5177ad5ef8055e5aef7888666a576936b7d0f431959eabb02d09fc751b75b971afd1a1a00022908e434d0652d3f7e579ca980396cb9d6420c994ca577d8c15a832d68e7fbbba8c5134f5eea11aaf40688ebb59a53e407fe07c9118034cedbfb21e2892f27224e28662f1245b77a62c7dc98b80a2bb4808e2519e4eafdf81253485d829b3e14f2e528551bfbeb6e954e95f110426ba78da496c649d95c70233f235aaa6cdece9c847fb6433ba16ea861462fcaa20cdfca185fdce9f99e5fc7767463088b312e1917ebcb480c438919a23136051cd178ac94758b0ee65be341fac92faf26c83bc68a49160e126e7db18af2a05d314094520758fbcc96807d8729a0b7fe2da6c878f0c5c127f539f240a3930f45cbb23c49c5700bda40ec113f3fdd0e06facfbfbf0d513c44568572da7789aa80e5090ca589e8f7bee8f14da739973e7ada8110464a0e6214d3925fc0a92bf278904f6ad629199da1b2adc2f53ba495ad2585276a09a3c38ec92f30e97ca0364e7e9a880d5ff7c5d1645fb785b3d9eea9cab0e93f46db66a69c367427167fea49fb793c6a38d7fa1904f95d9b5d363c46e264e84dfc48a031be5e2babc12900b26064642f9056c6cf4ecc69d44bda7864b77959b84ee9ab0bc93e7b8cb1cd5347cd1cedd650b9b398313f62c0ab79cdc8f0923509da7813726735b245946849850aad933e4114177dff117dd1a7675663f2abb7afc501bfbc45f4862f219ba2c5b53d318c3dd21e4c6eb36b090bed1288be411b881b36ca9a4f837f0b1099c08c8fdc5341e670166065050a74d03da3d700949810f98d255c10d1a6f49a02baf48a4cbda0ecc7e69f965546bd56d9a17044bcccab1cc46ecb551f86b1e8cd0ec06083d47b72da327ce20d93daaa37593d7baee5db0e3d2d52dcd7838f8f434ffa9a443acb1106a20f2c5b54a582dc8e9211c43981b161e95ba491001c09c6a2d49de58096defb498512dea1f24b798bc35741301eeff764ecfc3e059978ea8780fa586585306dde4c3027b029066b0109dbfd303af2610f08e69565f8fa6b8c099d9def7fcee03c17670443dd7360b33dc5ed6b96b3d3706dbf16b119956a45439283977610b7435f78dcef63129b7341545f02bb636e02f652db1bf9904977378022ef7e77feac697b72396f576e1c80f97165d4010098e7c3dbd28234475fec7bb4234afb9f8bd216ff47b4eba388f45d520aa131ca1e1b042fa4479f4589e868094890e3b3ce8fc925c24783f8f707c7f538d2ab693bea7d4b1222105db776457ce0a49eb0297aca6c21e953e2ed8f9ceadc4f91d89f5abb0d136e14b0a4f8cd908f5533a9a255dd62b3f469a1625420abadf08202316b09c3c7378ddd572c510a92eeb6cb906bb89b1fefb28ba4e633a79c811710a7815001ed5e3c02f1bafeb32a343bbdaa2b56d1863726be12df9be50ee96976be9d1578e7c304a44474b9aa5b9c9f0af69b902af050f216cf03bb06713b324ce2cc5f551d0f727526ddab5bfacffd4b873d3fb15235418ae37ff2eb96b4889b786eebd656e9e66df322dac7c31f83ed509fd2b68c9d92795e9ff52e2943d442d54bea85ea943e5a21fad9c9977e3e5c415af2c5ae652f1fe97bc9c9b2563ca50c73192ffc9333e6a29930f9f283feab8136e664c315814c1d7cc526d7f63b027a8f6a5767dc7c3bba063c3388b3320f8087344a7fbcc8a34faa3f46bb4685bc31084562f7166dc6bbb438a020cd6b4779b645ac8a15f997d0804d41499221e1ea979b97dfc03fc8ab0a84a86031131aee49c39c4b880b344b59c96fb6825216ba56bf8dee7f01351696bc24192cba37a09c4226ad9931b76bff6a951624a8d46c83d7dbc50a21968f5f707c9c16004a443e756857d51dd6435867fc9cf0a21e07ae2855c7366e341eddb3481bebb59b2c5d64ccefe8300227c8518056ec38fe8ee98ab0a14e978c3a877d972da60d5ff4330c227898d5d9a353b87e1a7f2d76ea84eef22b3911897685eb0a31291e8ec9326e3883b3e031123187240ef2152020f14ad0e3135ac717f1adbfe359062aee7e99bf99939bfede2d45d657d261b1f6056507ca7ac4fe6772c390a0719729df37cc8f238606ce94e75a57dfb37c8329d0e5e01b14e3756418ca14cb3be914ac43e961055b20180f4059858a4598e74ce2b15d17e58c090646f211e5562032dc6a495c3fd9be480add9263c1176c9a649b6c2b0b027b74bafc42d7a2741a6d1028fc121b8fe5a75de67871b2e023206d57af1e5ad3cdf85eef3dae90a13008462a7d44004018a60ab190c85d2276ce79f681dd24ca20a7fd976675d5e4b1f708c3c4999527d7869fe44cf17b73f529efebe4b31b0e3cdb99bfffcc346b1456bb0e997451e1d207edb35ded243c34f9d9dab2371faa8bf376b8b3d3095119bfd8f45b72f9fd31bdb14efac0a50d36294f2c86c96425939a1cfc234456a40cfb08d3e21edfe2e8cca3531f29223ce14dcd7317ce0a8aa78dfddae4ab68c49f2287af51c0986e6977bdbb75cd58de8786b4cfa28e234afb236e80b231c8dc4e3bb92af25eb7f13e4f1bcd6ab6c469468d0551bb5bcf944db0f0374430b747e59b3d78af222200dc21cf4561a5a1fcf6b346108f89c55897b9aeff299dccb3eb59a03402754e027299b392f7430dccde1f31cdf2d74c37f1058be0d93282881011afa53c26ccecdd13b6072d52ae17ab4dd1969a7b8daf8bdeec57bdc7b48a5b0730b6c00f52f8544d06502844125ae2852e937d5f363e93fc4ba645ce6f8b6deef79d6c741dd8fc96887eefddc2c1856ea2cde285c0349684c666ecfe35d9834c722289e114d97d3fe8c57fbe4b14f4d78754b1b179be73fb904a42f139b9e2b84137c0da70296318241c9e4bb24069148b5b4bad290822bb4af03fa73875175f13348ca8bfbc1319a3917feacd69d6d0379bec020002525da7f47243c52797c9f943b8247004c90e8f623b7784c97aa6f8b42c958a8813e5d21976ebe3324b92e63d43925b75ef5b4e92fd2b3ab866c352f98f6b984c68f3c142a4fefb1b54c412d2ddc03db08279e55bd7d858a6394441217bd048241e542176c7adf43b463ca6e2f1a1a8870030e2c53a42f11ea7d5e64f704aac7ca407d00b50269f6b669fe03f15bf7f64f7eb9eb3e776a2aaf14f07f2e3ff3f5aea16111fd3325170554fd1dfcd33c35a4bc968f635791c7d6d92cc2596cf694f711ce19d969844630555c53fcbf770bba073218940189c286b4a934554065dd2bbf4112ae0280ec8d8488af42ae9462c0a7d7d7eba3215ec6289760ff7bf2a508791860665a6aa80d229d246502a4cb56aa69276937223ab90b5efc76728a90418304289390f30ce1c82e60afb45abec024f671740dea8084a470fb9ce2c13ce3c51f4b7fc85a43468892860f72c4546ad2d35f5f939e52efbe5183139398eb09e331a7e1532cd5f662030d3287714afe11a5f5d26686e72c521c8bb90b0efabf202e5a2c3110306ae69e26e3165be0da835d70e3f59fc5367602e4d57d0315a9b23b8a3b18e1bce6083b71d6fc4dc1ef26fd766bf6ebfc04fd3db85de8dc4af6c48c32252254a00d45c242633059d1f43e2af81f591139c4cfd9a0f420b3ab411b74f88bd4c7e02ba23f22a15cbc1e44698b3347adb0afacc19869c780e299816cfcd7de87a097cd5f3017b689a506279fbb0327223e52771b272d5532a441e163817b053137c8ccf2d2d76d2174df8e4713541939637e962cb46e9cd7fd33ca0b2692471e8d605cda035075419c6684826b3ab171509faa6f22f558485a6d17370ce6cd890b8c0bb7b0b1dcca3838bccd4fe2e88dacdb5b89e022e27a3f501d93bd3f11ea9c32e6389bb3f277c1922d2eb513d15d5d07f58b8ace8916f569402bb650ff77a55a0acb4daef44ad724cd2bddb39c09037331a4a050b86874bd6b92ae9d310be0fb96ca453fd7871f7de7718cb054a8b676bccc92c1c932c4007a8f626f45469151c5bf68342211953298184e82eddc5ac05df4e10c81805f839fec4d7fe8822d667f82f150d68b843ae74627644b151f6353aba49e44cc7e6d03d2013336d34c0cfaf33c6ed5ee6f767f940dc1caf6d9c028771a2107aa8d8a4c56d6b81a60e40b6ed1f924b0ead327d0c0b79d763f7d1e00928981aa0696efc92e9a2c2953020ecd8b0ac1bd757b430b6f9feb5d8606c23fd70cbe2c0855120ac07e9ff57d024e6ebafc907f99e84ca11e8673f4fb2b14a634ca8e347e2ae7aecfe413d778844585605b9bd1b1cc18453df6355eec6ad3b77f25c2b396a3102e0d8af67512820e5624737c295de0b6cdb7d51f01cac4804c891520de8d160b52d5352c94a3b14fdf8b60d34548aab4d25e89bb276f56e59bb83a9a574d9fff115fac06b8a2bb66c9e0b74de946af779b8585fcd70e6b81ec4b85b05edb372e6e9f748a6f13cfae524bb17cbf20cc48cc3bc2caa0123de3d1b955676d0d08950d9e4f44438914c4e05f91ef44da9c52f18d25ec4c299b9d79c760e871796907f1935c2504cb902ccabe31f8b6cc93bee5fafda40dc2a1e760e260f970cd3e18676f58a557b0238a1ef7144444868dbe029f6f1d40fd22a3f25af5ea5b9d1cea88469f0374703352b7d34cf13df27ff2a2079c6471c802353ee15d3442c97b7d07f653a06d50092583ae02826d4a0150598e2be1503d7e1c24c2c7e6abe56f3e7140f1f6c429665deed8493548673f399a7b45f37143240f5bc5395c3a9430fda42644de995c9865682f4fca6b38157b12ed1cd4af00cf6124109ea40cdb445d762d36e3f39fe1e9104ca8e1703a589c50253d99e7bfb1c4cd8df952c9414aa0e1dfd1ce13b03051babeebd27d3ed06c16e1c759174f530f1c0e9a96e32b0d1b6e5d605dc9a6b53bc0196512f0842b7e95db21f6c53bc2b66029bb916dc3fae136469595cf0ca6a5c10ae87052d70ed136399456cb9380147cbd10bbd4aa47ea8f3952d8683d7b8117598110a01c9d20e8543bb94a23f0b7a61a2a93b5a00b74fdfc79230df678b041bee08ff9c5b303032c8e760b644ce385f9ab88b40741cbabba9f3cda135a2718b39655f526715d6525492b84e865b46553c86d31f949ff09912f75a4f5a0315e3a7a94737e182fe22c240f500b66c978e8ebf7566f39a5a0ccde89fe505c6144cbaba3a360a3d286c376ccea12b12187e6644f50b0c1550a5ae99cf107731e08869f833034d036fe5ae8fe41b0bee9e35931e3bd55c831b9eaafc38358e2696c2039458d6b462123d83a0ae0542bbb83ac96b42ea98572da541718bc778ab372305b30a5578aa3f3495b273395d55b537a7168f280c04cfe056eef999a33694dee58258371e31091bab0c0eced1c02573ad63af46d2aa48890d8c872e27afb038d0dbaec6be85bea2edc3e885959e9d3a82cd49315d2b9229172d6075c8288145b97e572f23b8a78b4ea23fe4d9812d5d1adf7abac98ca119682f1fc2e3b63d54f5f32782a26cacd04716c84ed39199109697aa68b512a79a72474d8f79ae1a98eacf615e7cad0136cb1f7d2beec97161b56264bbbe9d0d93b5974350948ca8be7e4112f6d379a135ab2d8e40f953c78f4d50a32b6ed08ce4df39cc2ca95c14569a0555111cd163685ec92ab1c8c0adaaa1880f64f8678194c60c01fb8a7affd90357cb9df4ba85afc5439d6cec8f43136dccaf23a6521b075e38a7f7ec38e1e856808a4012516d1876ccbac0a1850cb7ef47ca65b61f3d781fe09d46280ba65b75c0fe437d77e634bd3cff0919a8e83b6453bfc995065daac0e7c91d4e8bc0a1934904c52c17ffd7d427365db5bdc5f2f84d56043c9a64f1c0c9c83f862bda83f4707266420485f1dfbde9199d3216be0f32bea6b77f9096775cb247b050c99b3f91ae9e3f4fc80d472a9732e88302e2df943470b78edbe689730d24db55ef904b4480463b1e654e9453cfcb9841d7d9a765735dbfd9cfba7f7c629a00940618424a08b3a2aa275d95c2d3c1339f2252d1e6ec4c610bdbfaf1d67d2b100fd288509d27ec349c60101d762996087b92727796e60ec24c0555fbed04c82b3867b8688d2fac46e922cdbbcb48d69d4e158f24c223dfafc6c022c8c29c9403242e988822a68cb04edd1f9aa31f28549e8877bf7cbcea69c1df59bceb8c8c81d91e99268b8b9f34c9ed7f5eec83ac0c3a3b78975cbde1b33701750971089d891a5f248a5c88e47dba188579c2ead92a4114fd83b994261930bbdecec14cbd8f3e033e327527aea764ef9df6be98b487d4d25a6a19f77c075c8a04974efb0fa07e2a76224f8b283247fe6d246691348d1bf2d427c5e143996adb00d2fdd09ab950c5a6932cd56364fc77ac1f3bd4b257f9e054025f7f9f255c4fdb12e5a63e14367045af75bed18a0d34f30f75373a7dfdc4b78c2d60a964cfc1b54739ef8d482f39b1cef8fc51f762c4064898d1140b756283975bae3dde525915b2f8dd14bfcc23538b26a443742d25600cca34aa9d1bd4dcdc01458347f162a8621cef495cb158a899f9e6491fae981b9921d3952cb8dcb44bb0954a5da22771f381520450d6aa2c2d280b636c5b14e33ced4724f220ee002b3661457a2ac664a6fd0141fc98f997a8d1f62feb59a90025c185c833796ac75f9648a4dbbbbd553b9e01ced3574acb9c34b59dfa6faac859886940a17cfc501a34c79b2b916fc0c7642b3673d994cec95bc2e4a88b795180c8d7383aca812c23b5e1befca4cc7ef74e998ddf3503a537e147243bfeb1398d6d44b163244661524fc0a822ba8dec2af80f9bdcb542bbfc07285bb7087907f7c23be6bdb62f33dedf5f761bca7e4d5c5fc1ac7beabddc5ab102319645a635bbdb22a2c3ba01a6a4166163101b854223c98f799bd948eea2081aade73ec89419062654819aa3dd1c2a04649a8f64a8b1a4c48b331f672e1d4d98cbd743ba035badc70e16fa8002732977d2561d3639c6631d858e02ad90d20cefe1c5ae64fcce4a4a215230099e07f4fd2f65fd07182dd862ff107c296c783630bfd260534f0b9bebf1a1cec6e1ecb429bbb8ddaf906c3e1252aca9552a3cd5ab4dc44dbc5349427737479bdb47df33e177d8110a495f5b74756e2b9065c2b7df6296b4171aa74017422710451769467b781d84ebd0f9f781478ae7d91f6e32f8ff5858ca6857110bcf2608ff824ce43f9ea4011a100dd789a0a82204773abf0e11bbbc547eeb94f79c632db9d10f8931dc76551344983ffd92c533be8fe392d90f9ce2e1f6a2f47d25e0c015119274785a481df77f7a6928d706e74440761773a50a4f56d5fe27a0737b5609b93abc610da1360baf74dfd622d61229622a09b825d1a2ab3f6de689734920a45f9f5b98584ebeb9258a39b617b03791fc0a2a811b670d2ac417451ab9bb49e1404380e414c2317e3ed0f16b460517fce39481045c26ba1aecc626679421cb91a4cf82521401ab92b10dcce0a27fc8d299276af3559e8af9eb50ee9050609a51fe9aebf5ad79a4fef050fd8416302ae64c2d1f27f8c1de013c387b81632ab5585cb35418561ba865e691ef03e834b4bdeb26f1a04660a83d02f8f032f7e0d57a1251c16fee19d090e071897eb78bf41ff7e2467f839c6d51134ce2f1839c393708a2db8661916f052ee6e721e00ec6d203fb7a5431d003c1d0d6d45eceb7691a5a8b8d8d434bf9a1050b236e9a678222917eff8989aab560ad7f358449ffdb196fd1d70164c3744f4f91b9f334121e637b075bf8403f5f3ec99436652e8d4c63883d2a8d55bfaa2f9c561ce98ece65626c7b1827ea69b117460bf17759725b8397da4e21e0af56c63b9bb16f407285a7a46c5ca8dd9ea57a336cddb538f96a5d9a61ba30a34fee27735f103d057393838e700e3fc75dcfb04402769a08d1b1b863f0a1a7cba88d48c3240e1ac421f74aa56f0329d3e6041df02db20d85128c0cd2283adbed6370da32faf394bd701e0ac8b2fbd33505a8be4ebac8eb3facaca6ddab18f274cef83520b0b22c3b3e093986686828cbf8a3beaa53f9bf3c95ce36f7f0a6eca84ce2418da87ed6f178c850b5b7c00cd93007d05e5d6510d03788d8fbf5e43366a35494be1c1c84439cbd0fc7c16acd9800cd53d361cb1ce00214d4ea33268ba68ef7441f5feae107fc65175b125f683ac7ee7f919d0b1c9ed06455a4b68546fc5f4fc0ba25a7be28a3f72aadcb0a21047ffac2703dea41acde079ccaa16b82780d27026c97e23babb43c5b14a1d2c5f3a4c36de91670d8b8171737c3f176cf128f437f9350cdd061e05f08be805dab77df852719f887be9c1785557f86a0246ee507ce44a1ef96ea5c4b9bf8220ab1c3ac41c2ed22cdd966a779227b61a74b01e1d59beb13f748889dcd7912bfcc18c876d0cb937b696c28a2134560ff4da130308df02a80b0e4928958a0463b9a3ddb941c25b2d64596975da27a751de76a126a570e096f5b7db39b28ee29a10eea9c7e604914096dd756ccc04a73c5c0d8b468b06b9793a1a8c6eea167d3d46a9e625a9a24d7d80ff3560c99efcb7c0c0d5c2d011e0256cfac4343d6ba2cb6d29dec5805a6e4a792d396327bf3218817e9bf88b5b4af79311849949b5a6c05d2de5ebfd594c09f5864c7a9be6bdb40073d3c754b631c64f3b0d49ba9fdffc47aadd185893b764ec350610fd15ed75c47db5b3fd082b4e96c043a6e3d67fa695793a148b4999f27b9ab24292021104fd19ab044e0cd1bd4547efcc590b9c21988c425a2c97caae00bff0f77c3730d5681de967a845927c76b314c6909db427229954155fcb5d7901896068fd6151c114e5c2530f707b1f5116fc1888ab1af7cbf6005630d32f8779554d90d09b7db5e6a4567a039316f1b8c14bbeacccb6f0f1f4bedf18be52abdb4d1cdf075ce59869f4141552c206283eaa1a0b198844fed23dc0b1905ba6d1a5f8941f3ede7436f9a608e39b1838f79eb4bfdf30dd497cb16abb6d0a19323ba42247625198dc25204ed3a568101cf72bc5d12500f036d63c96be58dd3d67f6498031bdf15d900ceb1ee59079c1f01b5bef64891153c10b44d3a22daebf71b54cf3a8287dd327ddc8567759297a09458b8a4abc4ec48632106067c74c96aa2f9675265d8b88075fb66440e136ce73c220b795468e80743eb3fc207390c94100db50b239a001735645df49008e823f1f1cd4f11858e08c2d29707ad94b66c232b5155dd9976c8bfce37abe0a669b3fc8d0a38b564fa22db9537ccf88788067974d644d502c37deaea7bde3c8eadff348f7eeb22c644d6f9880c6c4df64338b6e1d47eaf0b7468120a964168e9e225f9e1ec13c9732c8b985531f5c1add2553ce914823361e2a28cdba9d53829d66464a960ebc62ebc6ab30ebebaa1f41c2ab482fbe85643a49fcba9532907996cfe6d6b40b60e0715497b1d6a0a94a662c778a07f37de68750f9339f313a32475e8aa4c4d1e4ff6e0452c5c9322b26dff3693341b483e0aa556c40ae7a6f6b8be2b1953a048f4a5cd977b3d68860df46dab44c38b6a2cf2ef14b63e9b26c9739122ef0ccad02eec36fa52aff33550c9eb0c5a94aefd88b82d4cf5df8e29834631511b34b7273231c133449d3a3b7d6f43b016ac422b08cec05cec517941cc5f4775f87e269727657b49d92e8380af2d011e40a3c458a2a022ab6eb3ffa46722467f838b3b16b773003a2987b95c6aef8827fb70bfa2c4793db1cb519927357c9345de2e51d7d01a69c8cd6c6833412834ceab1d005c6cca38d980e886c8b2a7e073359eeb024980a946c2c6dfa8e3cd96476f634eb4be6fc068b9021f9ef5f2e1f18f2ffbb2820f13a2062076dbdb8f7b0b58f7c2e07a757f46b43a73432b8de7e737c0e09a73851b6a9c4e83708fbe18cfb1edba934e6521e80df21c72ae9620ca1bbae27226f250ad6106449338fdd430acacc45a6eb44b5ca412264d719db60a675f2d539feb5ba3b0e83dc35eab4347f2cd6234695aeeb812e66d177f64f533f55673234566d5a00acc8fc7165ef699418993895ff4c3cb5954caf6fa9e604a07ada29b7bbf08a9a8a67a03e7278a24e5fff678f90cdf993219c52deca7f8786974d335250dd72991764cc5f721916a16ac9827269f06f0ba5a0d6e19020d991d60f387fd494310489015941515dacf87fcd6e114b751d0072f75735d97d03504fa9af450cd1a69566ce55c666350631e6d2cefe94e9a3090d3f9e1dcea7286c8af98c175faebe715195c16f334611f122a84784bd4aeb37da4aa0195aa47976f42ed73cb24654886222c062353287070b5e0901a89301c93427bf122e39be2ca1b5cf626167bc2f9ac0cadd07b40d627dfb23279c5f8387acdb6c61dcabd5ec91311751c65a422ea3a176cda569324cd744a60e90e8c1de694b5d2f56a2197e38e141e29b31c80ffa22cc99b100190d37ab8b9bbf913289a2b0b0bc92861e88e7bf57afe18b8733d3b985d9546125e47f8a7eb385464eee024f4e11821102a1a39344ac037d225ee23bb09ac5716680b9988339eaa2d521627792c6d6dc9f6734ed69083ca148bcc7d4a72b0f391d9e652f0a72b4540bbe17868e4d70c7f5427dd62d966a835078090ae0b618179a1195c2cb98d990c6482a16d0d4a99fad4751345f174392d687f4787c94a7920de833fc3486a82a96bbc1362bd5fc92c66a7ee624bcbe5bdfbe1e671358e1b059694f3598e11c67d11f8dd10303334e88025e0d116c58c6f908bafb8adebdcca2d51c755040a79506e983c9f400e48088c14d22b38fe57243122f18509d4c213f2b217ca60979d5e227987c1507e9a6d731b861cbd93f31cee82c57f18dc299725495d223bb68c843efe05cae5f338e050f1fc2d5211c016bb1dbb83e1b1dc1fbccfd4bb6f62afa0441adf7460224d95812f5c5f0a4b44e1880636badf984f8d0d489ef4d415b1453e6a092eea5fc5852a09fad2500e8af1edb013934b54ce154f0ac46e8e06aa3e2d629aafe9a298e952381c403fa4b556b92600a348016492198795632c9c3b202aea9642fcb363d9bf0a537c0f2ce99a6797de4a071f9377362ae665616c053af3ad9acd78ef5cb1989f1308b04c3a7867ce0aee81657a4cdf6d508dd05d4d92c752d2cfd3c833d5123e2606c95a22bdeb63737496b64393d8fce13dde81f3e8c2ff4cfcd47be2464d90fac11e1a2d2ce40cdc5f61b22e68a8fb5f23ee0bca686acf642f5783aee258e3d6ddb4036ee786ab7fc64ebfd2041f9983a2a48988fe87e9962128e2e9038fec77d4b189603ce65f481498404831261dcc548e9e0b0f3338f745245e546ccce1c57b9092a26cbebe19e5bdfe28978b1e241ad2b48aeaf3467be3d4a24eea002dbe39fa29a06d9e84e6702358547046a7d5e900375b1d8e173d3d8c97c554f0ce500e86b16750d1fb5e6fb8a375a43ffc6c7f99d1469b8dee2d63ba272aab90fede3503ca505ccc5452d8c368414e4752b4ff229f2465968cfb469c0cff180fefba3def335b88a91e017743a54468aaf6a1a612aa742740aebfb1659db765fa925200146a8884adf1be1dab51b825b2c8abfdb7ad915f364d75b77208c2b8a8dc213f5ee2deaa6788c5d8d5c963d856d25591362d8d27a6e9d362ee4f9408a67f508bb33bfaa04b086fc18b173eafd33a8983374a3e8e90eef3bdcf75c556f163bfb27b5c9142558f34afa4066786bbd48df709d4fd44c2653c413b14f5bd24337649f4914f2d2c95ea30e1246d8edfb91f5ad317686ea575fe14408ecc4411fa5295e57670d30cc2141527f967e5c6c58cdd34440a10946cd362ef7f059059e67752fb9ecd9894a86a1836f86749958cb63073296c5353e28f4784b0b833dece7a1fd8a745299559d014ad7d1cf2d15f8aeb97f3cbe08e1ed962c580d2dd2e2d8cb282e0ec7121787940f0f65a311019080de81e26258425c2f89b4dbdba4d7d2293215a2a228576dbf6a336ac45d07ce81835ce009661a7dd7a52f9b44edcbed67beff24da06cf222e9b3a09f1112e34f556dcc18a23dde2f6691ea2cceceeb45381a21a7aa7b9eb431bd3b80f1562667175e6f25631f20a537a2c9b3499e3d3a02d694492b7c92e89194fbfaab6a822dc755c9d96f204f1a7182f940f2ed0eb69f6b52c5aa1ca3aa85a20a90371543ed62e3288f94cfc202f4074a212ff45a28e99e82620d3d0447d364d15f3ddb032bc7ff9f9c90344ad09300777e2736bffdd77eff832b4ac5197b16347fc94f906401c1388b014a4751ee5fd2c003dea1c8daaf8fe93dcc7d4c5985806ea3b5caab57ca2947a9f840f679bcb0b300cf4d590ffc5cfd7b5a9fc5566b5333d2177fcc3373ea484b7965007e603088a583509a42badda7f9cb8cabacc30395d936477dca869aee2160adbdc128545783d27653bf4cf73970ce95b7c91ec6ff376d46309ba8bd79fac133d12abe1d92851c390d29a2c5ba625474e4ed6ebd281f389a26ab9664f6940dc0cb66ff2e68afa234b1727a594cf50a0f9159f0ef71a4462584c32581fe98dac1fc63378c8f989c2b181dfe580eeed1ca084f61fbf2583cb570a2399786e8ecf5721a63f4a4ff8dd3569a4e147adb769874ed65a7525e6bff449d3926bb8a5b22252dccca29d5098f8bae67c01d785783474bf78acb7b9cc037c0b0c73dbba5b86268d969475539655685969776716777b328db830d3c18200db882045bed45a94bf0dcd8087a1733e6f03fb5687b5dfa2127e3fde9541c998a56adb8257f10109385760884180c898fc46fcfcb7f9343858147f62a775d34d0f3f0354d498eb03bccda4dbc07876def2d12bc7960af593d14eb3a4dfa02a5217642500893a60b303ae398d82331e9a8b9fac574ccd8794ecc19b9beec1e7c14cfa4f7923b5105f376c8308143ababd2a317b77cc9731dcce508269c88acd1014c294848e2435091fc347b17278ae68d1076f06f4f72b24b487b742d857aaa3e26a5611d7593ed4f68da26870b2f43cdf36e0b095fa431d05ab07628a16caf0a05318c0d8a1239fa7532565075a9249cf3edbde403a4a177b47f71b8fc08ff635e6b674c3a1ee6348d7cd809c1c2af4ae0fc7f73d9f5e7f0a21783f6690b7ab64d5ad28c52ba6b0441a85cc31b7dc389dd1ebb553757709c9b233fc13495f81f4b9cde2be38146b32a39f90d1833505b6a5c000c6e15e8b119ec6df820f1eda080740d788de05a2ca2aecd28b21a64af74185c53eb1ed468302a123444cdcf9a740272aededdab152f1f0f590873a218a46fa4a95052f6dd33b51caf914974497c234eeea82a9b584e6175079a82277d51b24bdaba460df0f68f40485b560cf5f5554ca12386f10c06c2c84b9e6a65606c176f55971c610468b32c476601683186b9193be985615891b2f95eee9d674d8427a7412af10f623fb98126c7a3ef0291d5df7bb3a419955dad6b2dd7b25410d6eb42afdb2f9aa5d1221baf932184e7dbb8e4d49e830e30a06d2929c526142339ed4847b69a2e33589e90cc49ccb00d963df16414d9745ff8b7a952abc4add75405d14a4b0441bb53c9e9b5955ea4d79c66ae3597bf2bb6e9621ed449e3efd06665a15b9c084454b7c40cee8b88fb519edaaf6f6ecb0acf9269ebf552b8e2206bdc8c466a3f7e98fbc37bd89aa1a52559ee6a4e2b382aa5384bc5cd9871b0bc3b362ba38569fbe2b70856b30922375ceedc5c084264e727fe780d9d7b7e832b65da85918f860b51abbd9ec5190fb20d86972058a938fb106498254e487dfdfa03b51e9ed9838b78f645185303904ebd08cb8003b9befa90320462c7c56d7effda6ee5483a886e4713a8774bb3dbdc38f53b3eb9de343c6bfd262fb2dc0ba1aeff918a83f5cc69300d279fa668419e91052683bc66a24fbec0613b412ba26f24210b80b0d4fa45d7620f7ce7c5172eb97c66a03ce44393e202dadcbfc7c96e3958e13ad8d4699c20d8cc6658b73be94d1bc1dcfae87450ba4bc60b7cbca12b424f4262b397f2fa50621bec61ab488238b4215f0aa3f1866c8ab9ac257620f0da3c0071bd06014e4def2a65c195e23fe76ee4acd9db76e32ae6ab772666b949a96d16bac9a8f1ccdb040e164ce8f57bbf258cdab17c08c21beddf0a186bd60649f9dc5d016b2f166eca49cd00ceeb998b26897d03b70eeaf863d1fc0000e6d7b1b7cfad2bd4124d18d11075db0cb45ca80775cbb8d3607121f119f04f1398b4ef5eb21d5be4de83a592dd393cd3a05c2f18c63fd1e5775278921554f450c8c9bad4e4f8a3ae61c6449d1923cb9727078b3c251933b24bbb1dc2a3faf5c5113d2da87accf2c64672ac8cdeb00b83d77f82fe97d658222ae74ccb164a1003b5878ed444a44457c0085b06796120bbb30abe28caf3f1f39bf1b5933eada787cca657defc7fc52fc1a7e2858f426ad6faa636e533ae83812fe9aacbb02689ad2e88a1aff96348068b3c7a58be3c1016249342357edaeaf966228e5fa6c2e425a4438546e67f03ac277d7b719eecdd26037f7cd3f92d7ea59c501732cb68d8b6181cb6a0b58b8a3f010e3c3281c19cc66fb39438564a7b8f300fa5b86aaa82066ee466c9f09925fda3cc3c9dcdb7f22772c5ce2f0ac00d2e06d14e02ac104b4071042077a0b4f9125fa79d02e794c95f9c21d8f0ea507dfb40b93a9ca232b50a33b57e35ad284ecfecf03bd0433f8a62f9b89090a49aa606f49687d653b545edbab599cabec9270651d61c8e188ee9ed032a1f0ab9d9e5a6acdcc856651188667ba7e00407ae8ff8ee1ca751c0c0bc62c4656012bc7d0bf94948ee54f9b93a825ecff2d5b686f6feeb098d528c768580b94eba6b776f20c59eded0b7c3c38dc60d28696782065f0a85dd503c598a4eef2f742d83826820f01d90585eb05d599716a4791ea1f83b90a7ae8790bccfe0af26ef93dad7bfa768b7b2c779d707cebaa8e99f433e7ab08499679c85fd165cc11df8881614b5987e5ffa608eb29c56bf415f9456956aba22920def481158b7d0402787fc8ecfcb6575d7a120e208297498edc9a762af53442794fb1c3f2e726b0b62a361fdc2559fa2649d4780b70893f59a5baa36bf84728eb031ef871a95a18b8054e27623d38cbe0c663e7ed0844325cc1ee8473f9bfef86f06cb78dd62ddddc881d28f224be0cb8a0ff828949d1c863aa08825d956899736f71a824012d10ac7984aca015db04a34c9d702d2310efe11d118253f2d471bd185c0f061c432c47bfa9eb58f2693725d6b9893039b21a3294e0748b710eb9d93e7867a6a8dcd19ad5b4d39d33915457cc6b0c36cf7e177c0bf2365291c48bef47f11249ad0b3e6e7f57b22d9a38cb35fc513fb06051b6ee3bcccc12c68ed5ef5e7120497948cb9fdadf5ed08209bc1dac174a60a7fb768edb21de882d66970d572321b077f710318adf73babaf6011f7f61694b680268d013b77434bf092c0ccdac6443f235e502325f7a2b09e9720cfcf7e0ab8e01b5e1b30c0d59865912f9460ddca61efcbd89fda22c9d63a22238d31d96d0cac7b3db266637dc1b6ac1cc8c998eb3cc535f81a82c6221e2af38733b4d5354ce6af5ff4d98bbd78af6311088a81f760f26f297a53c50ae2229f40d6bf9a3a90e22767fa6e727bd4302225ae72a67cb94caa4bdd89a718a78c65c210dea52870bf1f1d471b09e80d94d72164239d25be88649f02e1ef04ad4bcb122b9038a35ec5ab10c089b8ede20a778c0989967e3e0865168436bc4e50f96ebc762e257a9fc9c78d4b4599d03d0b02ce292e94274dda7a9c2f90cc4661d5741404e1c85b03d27991797c4da9547abbee854515d86acaa71b5ae28850d0e189141fc4988353063407602362863726fd761f051d94213f25de7131a03c36587ac958a1c5772965424a59adec4e582a655ad386d4d22110068950d9e47f9f23f6398c9d35e2f1937fc7a6a9b1e3663fa198fe65a3fc38cb70e21360a46be8afae9d19870d266951d13ef4e659491af8491c37faba6b64e21f50f4a0e97ce9ecdc13f92126b3d954a28e76eaee266f157f794d44d54038ff9a230d863962ff8cf8034080de485de51bdc87323bee755ecc415978aff800105e8600267ce349d672c22dc16b64d6b6037cd0c9ba6cde1cd6fd9c53cba231f86ac0e903a943db60f2a4331889ea361862a752a25fe531f84edb49db03d3ea9f7740d9874ee3edb6717caa0a2034ce1b64e9b1035d9bd7d53ba39c1b776606901a6e129888237e4619a7f3b69b37996287a0d9d1194b050c150b37bf23fa88280f9d9014b239cc0961a02458dbc0ca0f9651f529bf9532ece668af11341df24412463f79c35abba9b97d4d80c6f4e3ad3880d01959e103e66d05ee20b0aa838fa7fe7fc2d0005e29a3a88975def074382004a4275efa20eb497f0944a6d5fde2d45c13f77c462ab7b224092cdfd56970ce3348c93ab92cd122eb6950a830cce41bef2dd6e3bdb9d49198ddc4177782fccca674f337cbf989773585702eb7cf024ea4b7c267659b6e43b1b447c8462ef874f2eedfa2df2f774dc5aab5f23fdcd18cefa2c07717f3d6b1e31254247a31e65abbbed2cee8fc37ad1d55796a89fa06c06189b693912577b1baee5006af3f583d06cdd4d2dc8e7e4e5f96d093829b8aef70ea675fdc1a733c54614ba60a5d924cd47cf49d1b99730967c10701e988581682bf3b85053fb0096a9cdbc61b2f40eacc3d0c3bd6a7911ed8f8d077d34b95b00f9344bc76462b38de91bd2e920418a0d8413a201199dd7aaa46d5f66dff25e833cba294e19d14a8c127dd9776385c3c566169c6f19ed107e7a6c5017852b6d7af5f3d8582c375ad2a755ada678535c5d129dd9b61d16f6ad60a3de195ba4e20e87e3274724f2ec946f24a2cd1b3faed313819af461f5a1956ad515ed8c457565e9131c91677b41d7a8b9c61bc3a67b664c3fa4d1b6ec6e2c8828f8745e7e83a9b690ba2a852c23a04523e4cca2c10acec7a342fadf5e5f05786b8366d6c1f4d5d08b7c497e692be176d3551c8c4b8670395160f8bbcf706312857bb80222ee2e46f571c3f32c5e550fdbd65f92dac9424019adf677341074bfbc194487b070282bfca294d92d2cb5ce8b87409026a419498d900a19103da7f685b2c4173e5f7e36cd93adc03b525d8a977bb2b7f7a4ddfde906709cdac09d6a0596ca69d461286bae9352e193919b84296642166207671505c87c399fd8a1d1edeb96095af260f9c6d39428f25d6e39baf74143375f2d1193f66d45a39a341499fe0a5f3bc33cbe7567388ae6949b1212662377df8b753ce0839ff2528c4ac5835d077541cc899c68d6c36fdc5aa0a0166971d210296ddec2e873848386c7a9780f2d6eea80234c2dcf9aad55a975b541c2fcc8855de1ebdedefebfee1ee0f47bb2be6b6102e4ef676b4f0d3218f4c4f4e874ccf3a0b519950c0258237c80ab88da0506c0202091b7fce7405393dee736cad85d33a26728fbef436b3d6e433c00ca5512dfba9e58f52f488f8c4a0892e2fda4edd3cdcbbd254e1059afabcfbb3c4f080cde5d4fc0e18488c6748537ba2d3977ab14870e035a29f2e285166ad31f03a4eebff76bdf512f8193aac64e75698c5fe0819c9c8a095a94adc614c4adc42aa2d74bede0234daa5c3f8002ed82c444f6e9d68753a102376a3f8bc93e7154c167029cc4d3a262e5b1640a223a85ef85ac86c84471090ed989c4b7360db36fa3d8d69736b479cdc02926ad8a52905d64e6298d5d91b700bfed2515fb42d66e1dd6ffb19aa77c1193e2389740ac554bcfb49ada2da45a9c97952bdee5d261e6673f42196c0f015a0210b1a731c05af125f8524bcd206947449bf2a1e369d58f194b2316bd1f7d3573b057079c037fd7a9f987cbf352bd668edb2be8bdfb3fd2e3350f33cc4b81d1a84cd9bd049470a968b2ddb501f9b62bbfc741bf243d102dcecaccf5d7d24fd23911abe85ac55c51b41bb0643a4941b567883612d6784f590808b09d4fd47331e51354a443f983b66acc06299ac2de41e13c7adfe930fee2ca3daa87b820368ef31847c953be850fc01adc07774999a135bb36fdeffa535c3a6bb36f29795695b05efe72f2393047e7fa49c276de0b4ab029027ae67b70048a5c5200f1c5fa828ea887d9fa6cbfca9576d075aedee4bb72fd161b7ab1ae10a855df5a0a16767a8b912b71ba1b0200da048b5896c0d990f6d563f50bf1c75fe6dff52f926499af1d0273d3bcbad0901d9cee5e1b1cf489fcdd9da3d082f33a10746c97ca60b8eec987d2d88a117df7a91d93852ffc244fa8f52fe587aa54eda1acaf815f314149b35fd3580975aa1f6658a262b6f39a3cd086e348b242d5b43faf70e5ed58c97d396ee3e7b7ac1e35269e565ccc72cd5de531ace93ede7971a023623affe6b916a904607d3c977887010abceb1b34412a79f54417f375fdf12c77f1ad4b6c4d7e344ace164f4bc1a78723f9d295c5a28743849b4a8bf9c7295a16bfac900ed3413ab52abd8f047989426df89bb36c82ac9cce19eb5aa3b287f0e940fe8c4cde22fb6351fab5301c03469394820e4daa9aa68fc49ffbf02f92222edf010f8a2beeb79b9e2308edcd201136abe6d7f4033831f16f47f5233513acb0cfca21115b4552d45507d8200560525b8e793f427f77de816b419e7f127cc8bce675eaf8dfb4fc596525e5ea2b1f35b08d852d8233a5414c253f015f0796c668540c683522d7ae078397abdb8c318a275e5431c851933ca5eaf8a4e8db49b2826ab2a9b5663b2eebc024f69d9937af092d83a4bf3e79c36f31899c03ae88f7e371637734668715a645091ce669f92de426babefa46d476e025c1f3869bb0a3e20eed66cfaedba28e09005c7a2324fce67fb3b1004ae061637bffcb7ee581e1d30d0698b8cb4ccee2e34cc106bf0b83e7f8d06eb2fb0530b33b361dc7cb8f6572932638d01ffa2cca1547a6644138f64e64fafd08c3b8d6c56ca093c1ac0af03a4f84d0163d1ee1847aed655a1e5c0d7e261760cb888006031a0105e39418714460c3bfaa02c49163f044e4519bac8db1281f8c48fd3d1efed0106e936121eadeaba0b50ce4f9aa9d76702ef125a36561968a887c565fb4f86c1c348a38ae95cb738403c3870df9e4070315fcdafb629644604611ed4087a01d178a4dfbbcc9a4874a4db9192d060a41d1da86066492b248e0fed552c159cca74da3a420dbbc964efd5d724bfa62c6415c2d7524abfeab0c7694abd5a7f471067cbca98b7c452fdf76aaaac1a697b6745c3296cee2cb3048024290925d111af64df0ba14fb6eb08540d9ae9a481eb7efa3395a71e88dde3a1ac501fe948b7f4357a1841ada0907622d9cbf51eccf2840b5cf569619bb6cef9b6601389669ca7431700d9af891e0a1264bcabb7865f7dbf7ba32b268742c3040e65475deda382341c402d166b7012edb1fee82836ce44860e1aaea01bc8cafae453b3572be20268d62b0c9560801802d77a0fdc6b6e56522aa4f42f7a2f3d5f78c121bb399b08eb31d7abc9a9870bc2d4b8527ebde02f2c833689b8988dfefa41112ebb9fb2a610739d623dabf5b9330a683c0c8154c7569acfaea8b0c4516879b3be6a879e1a64ba7001f2a74378ebf0bf9a91e54bcbb9b43daf852e6f80b0ebc45c971b94ac3bfda65528a48f193155946fcd8cfcfbc23427e9605c680c4b8b729713447ecbb4127195a1ca52221f31eaab233f512ee1fa43c402c22f15cce0c821b1ac957d13d749aebe8715b9a4f6b466259286818081ecebc9cf6884d76adbc8786966457cb6d13d1264b1dc21102ef830c61c957d81912322ff02130d883110308838f7f431b90c4888d81b6d952a48fa6a43677752a7744bc33e32755ae7f4f1da188c0b2ca32336930f3d2dd9bf52b5f9ad7b4b3e166cb35bcfaa9d22476d5655514db3a3e26fdcadbe0e8c0f627edac1dd376fa3ae51cbeb89573de935f86d476b763084a14502ed13b9e83c9883c0995855e06271e24c28222aeacbd049c2dc6300ebd07156faaa456112ee5f99c8b20f9b10a13effd4352e76c26cd41b0c756c5a34a2a74b6e7982dc43ab2801f845eadfc0e73c91ec7a73154ee431eba7d93398d7cd4214993d9ee969f7812cfd33cbcb95a8c4e28916336b963cba21bc18a4870d60353cef7969feaf3ec6d12db21de6b59e177d02b5321aaf2ddfba278669158cd07916c3db0fa38522014eae9a77ac7a1bff03de871f4c6151ba16fa953e29ecbdc5b2c56493b4d873df0d3fb5dfbd4a13cb50e43e93fd5e9928e8e05a27a2bf587c3971f38df63f1f86cbf62abcc3e6590fd0d35f29ad971fe5c6d474cfad9a36217dec5ead83f38fbf9dbefc2c1f598368e9dfafb09b4674c3fdfb266a4c8239d658edef695b7757f9ecd66c84b94d09a7caf1723e420c703a62fe8a734a3f9cdd0e1b369718252c93fcb06c5607aa1d6881122dfd4cf2e27bc926fd93fa9bb855af4e164abbba2249ac8cc2fab4fa83641bb333f9b841b46e47f9617500fc77fcda848d5fd097c6790a53289e6f3109156bc105f2d58b9d0a87bad929d36b54c9f9d55038d4dd9153d86039c87c49bebed0d4b4450849b713e40e3051109e85d55d314b7f489c15c69a70186c51a7fb3d9f6ca97ea84638dd1b54f3e2575d0ecf5c66e671da8c863d2e3f2f8c99899b6c6229cce4e5269a7bd7bae3c1404c6c6e86cbc2c899553ecff3de1371d431092ef6f9d0fd0b824d8c7b059c0940613379f5fa6071e17de4916a5bbe587fd6186462da37ddd262ee592cf1def4c68ee3b8d5f9e04ca5bd2c72983a93b7d08b2be97dc15fdaabe18483542c68b34b43850ae7f3238290f46424a68e80451be8567005b8b307b8f2c82b75ef9a19db7e706bf90088fc2ccf1e8ae8db0727a4902e14c6d49fd57bd01d7b8d4736627f0010b000bd41e5203abaa81ebe7fd385a3a81b8e4fc1886f649aa89ad20ed93b3401127384c7fc7b69e1fe80efc1da43b1b2283b5093af0bcdae49fbce56c000ac2227a4b2e6061b405834300b2145dd586acb227f7d192eca64282a59d4d8b1a0ba125bbe11fecd8e7d97b7250b5d19399bf537fb68e45803c043ed691a1b19cfb54fa1a1a580bad7d9127889d4db413cde312135099a2f3c7aa4b9912aa61c5be0349a6906f9d3ffaad7e10be73f6720e5e6fa902bc4243fd398d8eff774764bc9d5f9765b43725309d10e24b59baf82b3879d605881670e9b66640e4e4e5049734e658129c835f9bbce9d29d0d91b6b2c05926988573efde013a4bb91e6a7ad88665ed3342b1425e58c9d77f15895e8e9295add198bf298ebfb45596942dde59917e2a3457808765b316ceae17a864317e0b328e981c4c9f0ac3316dd3ad75ddd2c5ce1b1115f406b1f9b0f45f74712bdf692b99b458a79a84598e7016a0a5bcab585a2d62a2f9a2119c405a36f37cd46e374fd04bc904aa1a41cd0a558142e502b6deaec25c5bc5cd48ad46293b4e54779d67f2d2ca966eed49801979cfa697f743ad772d51959ecccc92cc8b3bfd3d3c51aff5e7cd7b85bf28e9bb43ac4c79c26fb75a68b4cb6e1fc5a9c0539ed6a3588d93519edfb42db4058c9717b8c617352b82629782b2027d42edbd027e4dcef84878f5b7b55bcf833bc91b11b02c2012e700834866bf35d1208397a1a079358c64b8dc21d82522069f16bebb5df2548da85fea7f2e28f83ad0ea050926dfaf9f4e558c5a5dca8755cadc338e49a016d17a5f0e93d7b81f30415374a3e1e0e7bea6ec8e4de199084e6370368a01a52d394976febf053084e48bf630b77acd6c4c71e595e63ba5499f5d5f285b6c9851a8c93d7e0cb63184e025320f9fab3b11cc0f1349aba298be1b1b6d566a0210b762d086be145a1cd175580267750c88b3e48b9139c52890903ff16fd04d4ca924d7b54c7273abeb14c71f96ecc0025c7d1c077709ed12026ac11325252cd7a2ee44a9cc2b655b8bc80db20bc7fca419f754c1d08cb37538d5d0828408a014cc01712f0db397d08d09dc2d02a4f2b3e2fc030c8943d7280f3080132eec9eefb190fd278ef57b4029e763de90fe950de8c7e715bb170efa3b43d3ee3e198b73499669507ad654b8b7856146e17b9e81b712dfe68c79e6117d41731ff3dcadaba9c6530b4a1b2a78a3a55070721b1b28714462cbe9a60989f77f140c48d38de15278733cca89a3aecca31c49044612860a7ac3adb5849c5503f0cc2ba76ea5b2998633d2ddfe74d1530777bcac7b186cc931914b0dafcdb91b3444bb555ede1e21c19bb3a045ea025cdaaad13f42f55979a385e429a76b1526994a5b747f723a14a06e771f7c318fb31688ab73884cbbc919aed4616178ad29cb9f9d8a4f7f23eb8f6aab10175d3a3ca3249c4f3e79762fa04ca6fe676dfa5367c3df42bcbdc9c377d9787e7870b822cff9f967116591cec248b4658b940e39b0d3d216f2ea724591b2742d53b6ffc193b3d18fab73b48da2923b3a3ca0371b3cfcb20a8579b08e385606ed4c3dbbc4f3720cd3948aa87e19a43477177f5696a32c0e321dcac30024977eab316fcf95c5173530243c1579f30b5d296e688df985713b3a5b0f27a0b2270a33c7643356b30fabb202d1731b2c8b75c87e3c74533a33d8c0a50eb07b1f2372514d67bbc27b788d170dcd006b2f9fdeada30e5439ec3f4bb86d8a1e79da91ca93cf4831f095f202025839c367c26055ba619d6eb3e3bafd19f7810d7a6e6c69924681c04c2bef689c4e4901d2fcfe774523fc9bd4f740b0dd6db184231c8ca35561af3105408f5c6be1e31577e4162a9899c8dabba38c23599adf99d0b34c5779fbc486246a8d99738c2324113b2e934db1e5ee66b7709611b81f932a65d313a5713f8c479ccd746c77c7ffec3e583c6bb5848b9bdda26e954d52cfb7fbbe0af67994ddfbafc2299a4295eb284b159856509f55a2a58455afefd22006f671870c585eeec4f0f9473c1e3cf830d8c79d85f3da10f2788a66f4f3b5282b4e370830d3a9d13b5b3a852bc3b96e63dd9b7659f071559128bef10f03df43060c050346e76c3338ae2ad4662045a42447d759df4f9d4d23d2ac358a1d3f43f22324a3e34ece0c45302c3e6b742c94bd8232d312f88f4625a2a99ca70aeb71aba755f9372cd4e964ac959bdf142ee8135a4f2e83aa84f7a49a8605ea87d6af2b260a85c04fea70cbffcece1c00f01e9ae7847f1f12685fa9e3dbc3e0835d2b1b273edb3c2a2c585910d16459b3fe76e64f792f31b953f4dbebcf7b55b10394f352830f914a1df63117357937c14b5488d62ad3adc937b79ab07bde14ad983fdd7550acb2865bf41a4a991345733e6496fa7432f3dce94f5fe48d530d73a54ba2b97e3d0fc1ed3eb02bf52994f7c3d94b903e1d772a28d0279bc814f5c47c0c941ddd8f861ea44e7aaf7162362396fe9656656c2bd4dff2aee848d8ba3395a52be6fcba7e3d335ce927f50075af1ed1c6f916a0e4cda4e1a3e3be02443f8a1124550b4f621012cc7ec6f4a863a13dee1c9413bdac210c3c36422850f64b7e446b6fa4f93ba93a79709596e2f8ac10ade63d944d5c55b2187e7f698289c8c154371546ac8dc3520311cdbfb51f9ece998b5196f9d9046c2dfc7fa3f9130d6dc288b331b7dea32b28e6270aa55392b4bc524787fef4e22050afd9bc7a629373827e896d2d7dbaf0c1eb4862d57126ed65d38cde37c4fe543e4fa24cdddc077cf887cf0c7b2f743175205357b5c56f923fa7c271a58da16764e4c616da74a1e866ee01697eb2886553adead1be8035279ee96c4177c6ad838967f1644cc1ec4e01cdb4349adf4384b3cbda943670bdd7cd832b58dcb3f95606f6357085f359728f7cc2a90afe29b007dc8bef96e1b0482f54a551fb96ec2f94a16cbc50acb2e1a3a8f7ea2a821265b32d365f568698a462df602fe9d6cfb457a4ef4af93e8b4d434750e0b7edee82d0bd82437a3cb6c8140ab60b5699d396c4f8dc62e390ee8ef3df3b54b18e683cde865c86cae662ea892ed8d171ccf3c6084189706f6c63e89652f8c74cc7c9598a38c69ccd2941e9ad397ea7a4fb6570c6d11e32ba544e0310e7c35e2f76615a56b21d4072d2101a92ada3d16b17c9b1c32c5c2ce8f5f8814e77fe0fea8f6e111f95f0a89d1dd57357d922e19ef1177fe473747ccae2208ed70891a4bd5b1c99c35399399bf57ad4ce2e78552d7747f3a1c5745c69d9601e44d2a43f3f0bd2122db3b85f8c9d286dba4f77d952bfdf7aa52393fe684a1e72caba10c0d989e980d65e9ea3cde3b4b846ae4b8df80cd304c94b130be5bde4641d7a94c09011d0143ca95538e1a73593bc01d09882666a5ec4ee161f2e5e00f48e06c82ddc41771b9ad67ee7728549a4cd0fccf81e880be46e518dd736381c5c419beaec81474cdc2698c37857f69a586f8972ef66485798f95ef96660dac5006b15b7b414d360b96641e9561095c5ff9b097a3ca869552678bfa84b798c6affdc15e8593b45409cfe6c6c5d21452d681b9b932738ee4777d4e8cb3076f7c488c511bd807ceaf757a2a21a0e8c0ecc24185b9bc94d63a16e8ab0344891580c44cfc1bd8b2aec5e76a1ca3c46fc3deec7c85dcf6c3bc51486bc413935dead959af21dc6c9fda1f71350ecce907d0d7f2b7cfd1d3a92192e2ca19919a9960557c21b0ad7303910e0ca360467f4d702925a33c52788e04e601dd10aea2e8ed59f4b57cdf5503aa3cc47cc997d61e900108694570cfedf43efacf988d829e30385fc5f14c52c6aa1fbe24be95db1eaea503da91b1cd3f80efccab368a41fd87027e8b9f876ce039f078c77166b3887c3546270499983fd69e70b122040676e72c0fa87a7a7ac39defaf1075178e94a3303b02fddefe679b0ada6c6b2f3ee7737902f8a596f8d44ed37ed20a6c0762b3fa962a3ece946504c88235ee18573d25bce944dad7f744a10ea85c3351c9af4b4f843a56a4932448d723ae947c398f7150ad43316371c03ee99c8879ca186565e7b23e3fbf53f93714d199d97ffa1aad534eb60338033dbcf7afbce97382d50fb53b2fe860673813738ad4e8cd38f646d272648104decc6906f51afc13b3d4118c5d819d3b9fe283ba2f2d441cd94a106431c2eec0a2cd16e83c4a939c602986bd76832588cb0ad94c0f82860b49e5a7221683c84a2cebe42139ae1f87f780b2ff623a023555bb27f40b87a0d806e514242261c009211ec0449115a2056e6ec732017d00050a0c0e738daee50c209992f8bf696c95150a8b3dac54a6369779181e62fc2e007f961733ee10dff5bd54c88dbb511fb0cbef42e877c8ec8c2066058187b23d92db63d273da9e0ab00f755bfe861914c0375e117f60318799d6a87f643549abdeb4cf16305f563938f60573aedda5a992c6f44583bd2b479ea505cc3e8b5a04ef9307eb91e87895ff48d5dce6365b9ec7ab6768e64f3e27b15dbd56bf713c286d7fe94c7a16e97f0c4052c5b1d8b200dbda0d934633de658d68496ee152f87bfa9cb5f93eb207e315730cd8538964cbc7366f46b984a61a1a498b4237495581b1602093556ef286cee506782430ebbb6675d5c2af29588f12f545cef836560408f03578074b465a2e4d3ed9b75ed4fd86513fdf54c7ff4bd257debf0105ace2e77a4ef74b21e0c409a3d5cce195e6422b239b51e53e26083281bbea9875b1463be464f91e0bd111552f66f8239dbd049cdf02554e3a3495516b3a614d56a3f3da894892eeee75a1a37531142e0476c93f2e22102e4d2b7c153133e987c7ecbcea375bcea5f13cd21c57e443369e2d7fdc94d17ec4a2b0974de38ac7e1cfec4b2011931079435b8622d670003997375ceeac8568fe3a99da5907c1a2aa2cb3bc1fe54c7a5e198f13f6b8fd98d6dae99abbc0af6e91ce73bea863d1382a84886c0b62934504aea114bd15f083fe70d185f294c2f79e5397c9ea99cdf9cddc373d555bbb6f4e37b1255f57dc60ab2da22a9721ab8643bab65d493533b8167735f08fb2cf47e5fcab671bba8a4e3fcf44ed04adb2099af2229d13e35005640e931769bcf40d345b663c98f0eccb052593caeccc0069fc4b0080d8e9ff4b61fb75b144d502a06625c989a52eb6599c2ec0d6f6a6919a314879bb2ed7f624f62d10f5387e140729d4fe8f325c418354ae01ed68a9f4774f35010cd549640411103eddfff7ad7665451d67a3ca75e9a8df22428f6a1a8abdd879d5cfe35869e70d7963077dcae13fa1986a2f3e3f37d30c866004a8eac95a4dd69c2ccfcc36be693c32dfd854849f905058c6f6379cc9c8e8fdf4570826099640d5676a67a9f9f967ce206b460e1be4337de32d765a57be3f3c1ffc4917710ab3d7265ec0251f817b3092c326cf071f4f90eae06ce30ac16b15c8426a599a20d79617927ab9c430748a32a836381dcd1ed49637eb93fa49e26a2448cbc8489de27292a2481d663da7edf92bc648036e941aa054f87240068214c640d45db830a9b90838dc8a09a82b42dd53c98f81a21b28c59762c981e70ef9c81fc37afab9d6a8af79adfb4a08c9ba17a061963cd8e02f933e76029af5ddb3096594a359d36eb65649115f5c5225066f695d579fec62b5a9d5af71521417da6deab18e906f89d454f11d3f13487453b267d29df3eb6fafe734827c7baaa06b5deb7ce49e81cd428392597d05d5f79b562950d14fd04b66d4e173eb130f38eeb29d9ce013a1e77ba0088b032732bb92690b74b5f8e706b5a61ee44f6903ed45c4474e5018c35e80f4f2547029e2d89146c5af7859d99f1ae401ce99fcae4771c4f98d5ca487f6cdf0bdd8d8019f205f664c917edb7e24f5c49a86b7c92b1b1881f543c01a50006e20084139db13b7aef458c11009107c9a07e81510e634e31802d85e6066bec1893105601d8872c62480659b02c5b5e1d26ed7979e964189dba5cd4ba7955dfc623fedda3783646a9932f4dca6c10d43815dfcbdc7e02efff4f18325f92733c250846f7f35d4e1a220e672cbd42c57397e64203e34cdfdb8f9084973204659abf34ef50523ee8cd41d854f9a14ebe3c46ce09c9be82c56c16cce24acde9ba082bc15588fa98d4ceee06b44775e755ccefc780f33f045aa30d6cb0fcafc3246443cdf9f01400d661f366d78802f16ee23f4234152b3936f7ad17557cb4c393458dce4cc1862bd2dbb0362c8dbf4f588496825369f5bd0b71d859fb06b42123e73d0b53d3efab2023cf70a51ed33b2f5eebf03f612a40347896654b05bb7aea95e57b0d22eefbbaa57865feab7ccbb0abe03a583cf3e57fcf2b295a790d1a3140bccd02b4aff395b234f71035a96c39247b11dc332662b60ef80c8ba436824dd1a633af9f933498fb3fb4ae2d8742b31371767a308efce86b7a9b12b9304a86d48331601ebdffdfdb7d60e3bf80417452841e24da365604bf13a1f5aabcab8ebd4e1bbf25150abe071729e646963af50f43bd13c7de8a8ae73c6b9f0c0b6bbe057c799aa6e8bf3f06cbfbfbc3b4eab6fdfcef46836e2fbd508f721bff05b18a33d706bfbcb914e1b77dc3f43604757d7c35e55c8db8b8a3e451a090d6699154e530ebc9c11e9387ed2f69510458c303b7b74affe76e9bd6ebe2391b6e5ff865c499f71859ba8dbd2e0a4ca42679d96761f589e887261dad0836377151d8c5a4c5348ce886ad70bd201690aaba13195bb5bcf46ae0f348035ed7a056ff5348e2250d46cab3ac5928f17dac46fbfe1c99e688619f146edeee477c4096dc1913bc2d6cf8113af75f4cc0545c02bfe680dd8806436fc3191d8a52f7de6a62498c9952c86314c9979b3dc4a60e0ac93340b5762a8ea9d7a05d622ab58a6523ddb72f61459c2343b1bfdc24a7fe5ff4f6cc70e222655691c27e6c0aefa1b33109201f0b6826c01e8cb28b6c23b371ee75a25f82c29dd2d8f4bf34c3e2249908e4c65c0da57b249a3d9c9d25e640376435bdd4206be779eee1dba9cddb01ceabe9acdde1854f995139adf03072936966c77f7d6c1be5fe8df0637083c54890626749c00fd87df0fd3ecb7615cba668a48952871a23478b5a0b67e3c9bd6ff8dcd7082e338c73cd3ef7c37f73ed5de767c4ec79c0f51347d9440fde6ecb78df1a2afd98a07097684958c54fe97a5848be60b1e3d826303995ed122746a80af5eb23700b01fbf9fd94025b96022827ff2d29bac1d09bfa4e588d1d79318dfd9e54d5e2d2d21369faeb0c1b6f394a17b35ec7ce1aae9c4869ca50bc6bb641f83f0c649c419a9b237c5c361caaedad827564183b0b31738193e4c210532aa5793181bc5d8a0457cdee47413b0cefa1f9b95ba63070b09f580d5ea840cb1bb8e0fcfc1513c52b75cfc8284be8cf976fd85eb3e898bb3217d0d9e884f24e3ff21289df773a82df8d6fbb4964dddf71279858aafb7ff3c352d668e90bd6dd58c77b2fb93c979f045b2db7a4cf313e2dc96395fedb21ad6f22d7db002585f9d40277b83659ef0e008405a35d2b2faa1debca58d293cb058cc09e4d9d2e43300ea02272dd1d261a29da6ff92d2b4f53af531657075d5aa53e09c3c73b44d73d0271c8d3a92f3548f31947a4de75bbfe4854c54bef1f633ed89a361b197a1c27bb16e4e0a3e1e3a3106f2e84785d309742e732b512a9ef007fc7b098f4b344a8c5a6c1bfd2de50338c6dd3a9aea42d92455f6f0988f9bf6202c80e7dc4c15515a52979eb6c596e8c713249e92089a97d4d2e105e4b081ee0da254a3551d071a805269321c957a4adab58c20e16bb0fe54e16fb17e02d1b9bf74c61a5ff593d7eb5f704fd556e29b3be67f9da51dc4ec2c9c47e2e1e3aca8f6f1d48327f87f941adcd9122bbabe3384b68aaf45db622590ad598d052de655db1382f5baf09ed56475f7006e4acee23c13cc016e5c9b03a6aef978781cfdb6314b58d38133de7882311134a64f19c7094610f8bcadd0d71553dab9b6db9717fe7e1c8317d36bb597245f27701438bf498c12c3c5f77deccfa6c2988fe11c6da5acf59094a231c31e6019a4ef21034b6baa61f6fb8b230e2cf5085ab7d97021f9940de44d975a55155f83a8faddf5579ef5ec22dc3a88fddb493f3932baa1d5e29c76725ec4477f8bd161ef611abefcfdae5e7f83297e8b104243a4d716f100a26fad9f1ae715dddb032acfad3ec1f845b88de5c981c28089d9e09668f04faba390b23ab7a4cb8a47e505d861ad66df590e973337c61424df1efeaccba73684456de9fb0026e6fe57220bf3c31458fff4b52e848f407f5ecbb965947c0a60a4eacff4e9e8b9f81d154fcb5406b34bb25db44e3ef6f8a575c29ffa9380905be23c5a5aef7288ca011532360cb92b64be14ad392018f000b0e75d6f084f0288992e3444159bf55a7f0c1c08b015078fb3b65235b1e8e4448ebaf6d581e4bec3d991fe903dc6f1e87fd8ead79caf7cc9e54a7dbb517e80cd1588733594aa5865c4bc91ff3400c42d5887abe2af5631f6535607e811d74bfaf6a92bcbfee6296fba8f01ddc9588859ab1a3e79657abbe8778463cad30572a80d070f8d24085bb6a291711df28587ab9ec36145a12ed186612ca3ebb4c7ecb42b5644ca44a70cbb1f9340da0c4994238f80eaa4dfff8adc62c7d28bf09b1f66c85b5bccf75264c5673d144b06b2e1220963a07584b9149f5dd6e43d47d8a93df0686e950e7b84f2f6f9567660cccdd1d66bf3c6ecee3307100d57290b5584f561ca3171eda41325ab4e2145fa0acdeac5372df5fc1ad30db7d718a138aa6ff9ff778ecdef69e11df04491c16d4ba2a0a66eb51f1c201490563a6585be5046404023f44439b2d8e1463c380f8c1c396b8de4a3b3e3e4d6d5f2b559bd5893f22da9cba5fc4c5bf2d1cfc499c9f6ab527511128f5cd73e977863c0055252b9794f52c14b50295823a966d33130bb5bb7906d2378abc79b6165421d5558153d9b9ce5cdcb75fea7759d3e337f7a813ea54b4473933729c3caab83bc721e33c450c6b49041cfdf7d37b7548349c6dfb30bc08833688902435e386e8c81fe3381f55771ed4e4dc598d0afced9bf96e33eb2df7fc17c47e9e5936bd756eca608f54910d7b6bff552a02be6ad7cf9a16d0ca70b826c6c56c7a042d71020292950a6193c2c13db252a3eb2f5a9845d12905a29e17103b4b68557ddb4c8fcfaddda8631a51f855350955a5931750f14bff2c6dffef31ccea22612e8c30b51f1fad89daf9d4f70aacdc577f678e0ee6365380a21cb2bcb36b4a914258b3a2f077e7cfbc5a8f7fe3f4732df8aba19eca866d15442a871e42e912c59c9cedfa06230206416d76aa4aacd85b2b4cd0af940a6bf7fe6ef7421c8d0dca1b3754e29e53a1a9b9c88189554e34e3dedee217df72b8581f06f2fe219567100390011fd1856255e47e85c49bb0014e61064deb5e982722d79692b0a1cf01dbf130ba1ae2e877af3edac6e0d4aaf91e1c5f351b8542c569f16ce844fb3f7f37bfe91c62aa1a1e5e58a36c8f4a5a830cbe83b0700a2e7db7b0dbba3a2b529f70a7675e8044d6a10329bb734db459966cc8e58f44fb95601764ddec7947c54134c975025afc12ba3b75baae284ea8676930fbe49d8f3794e4d2bfc0e62efee837fd6baf027fddafdf694b14f841ce3da123190097faa10864ba597ac620f17d0a5e702ba7bd77126e60778d2bd2418c8bfd185d15a1385d2b7a6eb3d609a7e14135c44812ba240c5d1c66de8b6b88f579830b2bd27b63ffe4018e3708f12d236fde65d6d70df1f58bd1d00b45d243a28b32b8c87c826cce7aa48285de9cd0fb00b9cb101e5178e7212c1597f9587072143bf5f252695c75a4398e04ee9f23422a202c9ce3a336e693a0d4a54f8d48ba60dff1ad54cd60f6180d9d6190fec1ae1a5c47993c5bf3e50717d164b775bc60d638fdb6344d0124019530286acbe4203e02d9ea9c88c0f9dddbf7824f77e09da70e478d585fea05741e30adccaf30b12f52aeb5fa245c2ea68766a7fc4bf361473e2c101975af1161689b8e4f47db4c62f98ba74e2ba37095a7550bfccf1ab1d6ec81c80015e095617678beb0ce809b1d4cf032c4de18eb72f55509190a7350b6dc0d37692218e353b45d8245b41e739cdc124dc94975d90b62afd39b2f0256bed1715d8d282c42a00a8e1acd6e12e5ad05ecb420d2f21cd3fd5db2edbdc6a3b6fa65975fc854331b1ba750de9ee9da765cc326007affd809a4028a8b11af92773fd27e26ef5a167b56ce2b0ed48d38bf5df5c2f857707d159e5d1c0809fdc56171063550c4376556d2f830cb73b8e009dc76049c41ace0a4e30b328725bacbbd05a35ad5e1a2a977b6edf3ecd8c73bb19821d08c5d1733916bbc7ca358e145b5b977610498a851962823e66667a4d497204ed61ab329b787c6682d488cb33b1c9f7178d70398ba9a1efbf1bcec08e3e48d8677d5fbe7599444a9a9528ed42443939d56e9bb9ccd163dc937206840554a8571b9c1b622db117eda551756e6fdd224b8d76f3bc01ff3e0171bc14f15be73f581b546e4b5d599894d9203a2aaf244629e67939888d2bacb30847c0421bee878b5d64b9191a75442271a7236b39f08ab596bdac5bc344d157d717a06c68f828e009f0e33436d984edb2a6a92bdddfbfa23ab1fcf38fcf8986ccdb6f1985e55d26a1bc783232b9c5023b62282e767a69fe7c7390bf7d0a228de3c661de0b2562173149e7f943aadced97ec4d518966031dea63ee6b87b292896126414ac611b3c5ac8a76d6ada6199b89bbb77af91a838af89aa47a027b1e907570aa11ac6a27f602c6314c5de78644cea7760124f7a94e48b9d75a4d5206a788fc4724c9da2e7d6f93db8d861ff990ac1da1a7c6e2e04560729c9d33d3d9f3712d1145a1b9077446e568bcbd2704c5ce83161e2f1807fae8f286f7eb3d603f0a478e7a584255c147c8a1a775e77789a6a6afd24951706010c34ac65f78ad21fd0f61039e64eccdaa8857fd50f8ed476e33089ccdb68be73be9255fd393dda27b11e8573cb070d61b6058d774d9e6399579fbb81a28727e2caccd914b8524542a3c611a6a1a95f89aeef7e6d5336272d9064c090e22fec73f827fc0afcaaaa44fe86fee6acc10115fafc9ff1958a81fe31c8eb856a063a12a8134d03223a44c120874710247cd9f7c00000585d266710edc65dc2983c4efa4cbcf012b2139426a8b6379e268dbb1902c8e55106dc6fcdba57e154d8b058c39e18c6249d8324e584584e68b387163a4750b0524dc21fd33059453f477317b038a648dcaf14d1d95f0800b9a28f2e8ee50e6ebf9ab095cc29a314a73af697e2da2d4d4778542f4dba912264ff3fffe624d0f6660e9c55241dce3da53266bcf357870d85a45dd99e9ffeaa37a5fabefd266345c0eed40f6c64e5fb584f960998102d22103f7d1ccd29c308fdfc21ff5ce4e12f3c41c9642b2f6f752f88600c3c2b9f9d636279860801a2efc4ef61b060e189db86580f31a5c69cd216e61a311617b1691f8b31b0f2812fc3d483c87efc6d84ebdf19219efa8f467c18ef9240e48e827086bbb43cf0d7edf22a0405bdabcb8a16a4bebc41f274fbac8ae66732a9ee34580b36e413465a1eac1cd9603f265b621cd6d8faf448b849730a9e3b7673a6985046f2c9f84604702192266a94b54cf8855b44ccaa8febb534786ec19dd6c4d4c06e1d3f279d1f1f496f35344073d02143649250ed90ac12fee6660a00b460c4d5b8e1d7d7f4ca5c39d85d4673ae2e344450572d2d5de54db37b480b46a5087ef46bad6714f1388f70159e183e3a7381ec376f0ddabe3036ab17618df4bb688a3b5783ea4b1897f4f9900f3b93c238f8bacac5a43391e6b944dc272cddf741fb2ea02b354780c9a1bf97620b0ea9669f5a6f45351cf49b7faef150c201479b8fde80b46684db71b682ec8e9a1f6e0765d6f5e47063d20364c261f43ca8d33730132d19f1d76788991dccbe2c9467436acc073f11237d449b9cd309b00e18be7f9c1d73e3b01c9c3fcd1719507b7d598e5246b295b991c88d102bd0fabc729b2f51c260841078cc82394ee4d2f52e01c8a43fee75b7b1f39a2563ed2c3869ab2a5c5928c9d032305a6b1cda8f09d836ef74de7375dc3cb90f90a41a0ee856e51a7400916b74a2dc9aa9244301d233ece57021ae254f1146c13cfb902dce201c093a628a3e0dba2d93776e7e8863f26426cacf4e53a47238b7aa4cbde22c41eea022ca6447a0ad60d38d6dd4b6a7891d45694502934faff27f051a1abad710adba4d9f22a0fc557a61d988b7fad9825d90f7627643f869a94e29cd3e1ca150248d67dc544fdf8d01e02840f39e0d52d301c16e41e5f562fc6d90d0b0105cdb93b79c59660cddeeacd68a838618e743dd682b8e9d2561df9747d57154c32a86433946aa1e019cbb61c27c330843c46b212463e1dd543bf4fe770b47fac2f38fe90568db12aa25e5ee74fd1988275f764d0414af1f5c8e1299f76717db30a8857ccd8bfaa47d35fa1ce21c97c1a51e7e54cd4d0193db38bea8ab2eadb3c41b1f7a21d79ed9e5110ccbf0503f2dddedf82b23dd4377bfbd1aa62c8ea40d67030cd36bd6324e260b492da0042b453bd6da822cc0444746b77282aabcde4fc5f8917f2d92a698c08cc1f12ec11d6e13b790808965312c152da039b6d2654df848261f387505c9120ff1b399a5d808c4a13b0857f25207e16aadd96f0cf6075fa60b7a1fd9545b54fac4afda27f137f4309c3baa0f5c26d96ab67c0d5a8731c830d70ff54ea478c772aedfb788e57dd8e591980ae61d6dbc5eec5d15fee490bfeb3268e1ddb8bdd292ee9a667e7164c44b4aa956b72f0f4ab480ee279d0ecde5dda44dca6d4b61be3643f1903c0ef126e3ae4493a4f49a35f81113cfa20f4e259f56d137443f750328e9028bfabffc5df845469aae9117fbc8ac0740eb985c99bb3b54ee5548a956aa3a0ae4a06326953389f7bbab95da16d411bc7f6d04dcc54f88c80667530b1cffc267479b85583e7a3508ee1d65e7a0b153a49d9bd3e77105931c38d72f9cf29e4f27b6a56a9423bfd9e8e0aadd6d1f9f135bd70ee6eed587ed19d1e7918b12de137611a822ad8fe2e1103711ab872c2e0d2012b19f5717c664ab38d3d54595d387faa112612e9b932ff66439c3d4db4d99062bfd710b621640e49ff245fb56895c9528547188819f34d9023d3775d213e14f888660bf0d61904fe588624ebb3b9fa64bf306bbd7939a7a393618385ec107226c299f47186a40be27a7ce11b2a3e3c1e3cddcff2d5d735fb4f9ac224f74a31357118043ee7d446e2cd8f8f1e3fc336956baccd695472f8525aee7453da9c231bc94d3928296995749b3f80a44009bfdb20f7f521935a4ceb6498b3e112f41c9449be6270ba6d081cf4bb74febec22e34fe1d12c973b89f8ff3639952dd32bdf11a2f3b238ba1260776595fbf91275af925bb2948ed6909a057b40d013743821e6fff4a42c5b3060d0f350cf4206761b8b67565bcb41f539bd95f1c7318a65e2993b916d214e66c569ca4e63a08d3ad2cb960619e998feac5f0129a18199f4b0b9603a251ead603470126458cd2c2a736c93f0d78aa25e63af6530e6d9f04b9ab655c59cec2619e27b04f6bfab82cde9f14dbce8a5da5151ab6439907d4b308f3e78374aef09d426cf2826525256c4bd598391f3b4916bf1e8c9f854f2ad76c69f372321397b0276a2d02c1b32a103ed142147bd9280825eb750fa982f92ecb2969b4acfa0298afcdd071e0cf05a71e13ce0cd9bfc94bbf73678f07849e86ea4b62209c2b4d32f299b07c0f911039b0bfed97da2c2765dd54095881447353332eed5ce5ea2f91a962dc9b755e4b83be2f374e27fba271689f9ba1aefd774dc1c2e22e9054f82c85be683b788430f1eff6601744e6a12031307ed4d7d6db56d9c7b5f3aad986e6ff309fb55f0581543a0e54f4675d39344ab66f0d72fe29c049d1282e85cb8a4c42becd50908d512ad38c5e000f6da915c44b74e88307ee1c4016a61037a8dd5001c94a4f377feb0ca2df2ab5e21c11f54718ea2d6349263f762f5ec5f9e84e9eb7294075182ece11e7f6df1ab9a72e799727fbd4537118f3792ccd623a861c5d2d23d6223a7a8730ae3c387661304894603336de66e01ef122bc509b0bb311ca45186756035d57ffe61025d4d626ec19548678858e4d265b6fd5ae166a3a010d74d0cc9c6b23938bcc6352269254fd9c727f9bf4b6707409031e72cfc030181296bb4de95d12fc6c512f514a0a0bb22125a6d7ae148556d97cd59b0d50f7f5b0ffb14c99b72380286b80a3acae8c6d3bcfdfb6de02d7ef603d202c70eebd76f5bae963847460e2da51f4c96fedb436e719b15194bbc316f189627ac1f1a26ef1fa338df7d9cde928304ebb602e8e0ec04e7e93cc50a1b3f1bf68e9657eeb6c59d2a85920dccb358a2452d1d2d7472fb530e01a1101b9a61ef63de71d3f3acd878986678cd80e41b389a35b6f4c5344ea5de075d21e47b46a0a2db0b4d196ce11c7728630bf4a2d1bda0af0ab21b650ac6970c6e7e14d086c91db7ba068419dc8241ce960dd76896d883905907f85d775b8fce43026fcefe65cf442f28fcdba20170fcdec741ae4f8941fcc41ce15e52932c295dfc420ec39ec70826874f74db61fca675f8cba7d12f5b2ac3b0ca99806cf900336c89b94ea2bc87506973130351c4745ab4d30312e39f63cf471e1170be10871ec7b6f2a37868bba55b000443c89d50d0ea362de3c9d677d6c5b055604584b62ca286ec808c43fb6e6dd39544b836d885fb04c3f332d32b3ed78a4c2204f10c41989aafb0bafdfaaaeb1f768c23f7ae7af9639b49fb9bb5381d92eec87217766d1b669fc61dac4c84a1ffc906ce2973a149cd3751f38abc803ddb45a97d22d6f4102acc16d7354280dd0b197009cdc46232f48c7376dbed34f4ae9f08d2813d902367582b4f2d263d5b562a49dd241b41025cf6a1362718a66086d3f563497021968beeb91a8b85d388cbaed4edd3a67cfa51ab78956f7728a220f7ecc487607d510d632ea44622ceba69af84c31c3a89e2dd8b27ee5c465dad56e2d0a681f82762273011acfbf89c9cbec2e6aaff00051ffdc533234029a6616ab726a9f3be3aacde953d5cf139dfee8d7b21f1383b419f0fd7b7da274dd1095a9b0081ebac99d32df233edb921b413ede2ba8b8343a9d93d274304a8ca08aed50be48d9c821ca4dd6fc0b6139db2c671c296fb3e365f9b510537d3b2f00293ce1419345369c2ae12eca58c484869c2c49d24b033329548967f1bf032f7cf62b078d65e7b3ffc69043ce2719e006178684d42db7d3e957c247f0674346593165a4bd2e43eb1c334c280a04dabc1a836c00b94600f6092d4b8a9e5798034ac55141f610ad5389fbe590ed858ca24fab798954d821bffbb32f1a81564cb7668941571f81aa9b904e43b4f29133ea7ac673a13706e585cd02c9ec6e9cab1677f001422f6f0734fb181b7e084adf711a4825a1b0beb81abfdb4fe46be687875ec910ee250a47ae772cfc1382bf8a0629f014c844a61152576499c1dd62ca59c020c507019f8f1b8c25e65cace33f0bf6e9e84616a88ad9349e965065e76f8149a0ed66674a08f1a43a17babfb99faacf12d9462e64be2e563b0401610068e134e57c2fd3b78e02832768a4ec76b8ead3eb177e663625f1f7ecabb758315bef43221257d46ba239bee6156e37cc2cf9d98dd7501ec660f8ef9d2ba9fa7478f8cfe9f0a321032c7c40f49dbb7cda995e754d89871b2bea1c3ed5b429419808b464bb3934178c4ea0edad4087c120a6dc7b469a39da899c163c288928affab645a23350926111ea65f547baacf3794d347808dda6cfc231475b3134aa631aec0ec067910cf62d33523145eb2fce4947c7386c4fcf8d03e6f434a70abb877c8355004494666819bcc45a2f65cebe90c9ff987a285e8e2a6b826ed55a9277e6853b991fb1d5af9cc34a5a1798888d7f3c4e04a32f92d149d431a185840472a3a09a5d71a54b5ffee1a511cf10f8d19479be8aced3dcf5dfdb149a15aa23aa02df99755c22c2ddde8d39a75dc3c46d87765bf41988067adbb018525e01de84bf968249fe2f5cbdab06200987af31d6bc24e6045ae7ded5439969303eca82241cf0a72324dcec20745c8691ca4cd389460956d0b0af5abd91926c92bf8e2315eee3cc89da5f5999ce0120839c8841bebda6f82d9226cc8e5eeee84556dfff812a66bd0c99326435c049e03efc4578a5d037b66414eee56718dd6d5483774a20355b5acf65bf077b5600883a3260e3a29074fe76ab413004d660555e08850f02f28adfcb16eab5af1db2be0b5196651283761a668889339c990fe67096958858e54aaecb24e091b129d46a0f8dc925460a40816aa59febaa018e962facc107c6c9ad93ed29e4ff317f828daa3307dd12cb53a02f1df2a4ca5da2adc5f8136c1dc3b2adc4d62e63d0a71238145c419456c509e2c5897279070502dead167a21fc6646c22d029ed87faae6469243d95a38edd38108f1bc84dfb83f398e8f51a4eeecdd31c3fd39be45a9fd80beadc0951f7149e2967a2810362f8319c3ca4a84d534dd3737d9a3aeee5494a91beae9f384a121f4668056ff4abf831fa3898248b74464c33ddb9db615930deab605b61247c00e0fdc05004329168a0484223f91e896f4682c09d9ac1f01f1db8a21a697fdc129f71586c75089c0db2781c3868ada0bce1005e99425655d8cfb8d48ae116dc2f0b41b15d7cd9dff626b9d9a7185ab77385e1ef148ce34d283f16522482b28058df5b0c6cbd5c72670734144cbc4ae37bff9fcd35d2b4dac9599f229b8d3aecf36509a29208cb7038f276616733c8f2fdb63875ca2196662d4dea31d985de0f4bc3bd861bc05664c9ee200e22d2b64ec131f85d97e1ebd6db4318a2b4e2e3086e955c1487a0b5cd44ab860a0a200e47abece10fb31c4880c7f1a97a2bc8888ac739e89c858c6cb248cdf6a3fa06ba4aea4bbb42a036fc4ee9896e7337be765203fdf3fbc879d91c38f5606f90ddd5602b92c4e3fdd3a741d1dcfe9da8c32e57dc0b94698f605cad33f4687f9940224ef5d766399db466d44876f19b725a1fd30928edd305701c3f7e3bc412ce75eb78cd67358fdf8b689e4ad6e1fd54a828a8c86bec943a48928ffb33dbaace404db279e58b00c06377d6db25124bf14db4d3b9f846947402c75d25185966946b09b745df1c8bac01a11aba5d0fdaacf9183ecaf766ab5b5fdfbe2445c414dfb8be2d341bb020e1ceedf57d6727efc7cb74c65b8698b2fe8385282fe56bcf24ec15a49c443c433b924b0f752b6caa839600322c12586f7f626b96a3f80eb6c446a6ff35728689ab543897f3e6d7785beca844461d0142eee16935d072755e969d5c09ca2376f3c932d826006ed2bd4b6f538b208f7cf73b79118dd15cefdc79ad1634a0b75ccb1ddf2e0d2d471b5c707f6d1a202a849f851b23cb2feadd042e7117877f4832922ef5e6dad7a5d22cea07189d37c61f6d132ceb7a05ff10ac358976059fa955d380cd6e38d62ba89a0f5908a4d5976d08e7292ca56e5b1bc39feff94d5d6354ef21d7252d689a5381cfe68a568b65746db671eaf4b626b4ec73f7055629dc7dbb280be9103152da2150b359a5dddf28b17c280c885dddbc0105014ce90d6b2d04a532dc8389a539552acb5c9c1f45c509aa539145c7aaa64ab2fc1e241c1f2e5c38bc804a99f4a44df64fa68a9917b5d74759a52d3f825048350417dcfe52ab8e5c605217f93087fbae4dd52a513aefedff79653040adcc92e06b15367ff983a299fe765575ecddd364021507e70b7950def89ee774c8b7f27256744756817a3850d40c374bbca2dd1c192f187270ce4fa67e23953a003e656036bc02b64518855687b4e34ed8609419a1bf01a7c2fdf390c61c0db1ccf90d134b4ac8715caeb88dd5101feebbf6b6a646dc03059c7640373ae6b736392292aa90d28ccec37d60dfc94a46a15354cf48b8c69ec76f2927c5ceb6f9f504bb28d0d3b6084638f6bcdddfbbdae639ebe961236b879a6551f7c9369a5c2adf5d31d761acf7cbe75964bd74418488de664fe2a969e8232e2c17b15a498b0353924e5246263d2c3bbcb130e3d5e89d682017e38f81a82662367b36cce33ce85c113668c2f38bfbc976cbec1a2d96cd236c340e3198702a0d032d657819aa928596f55fc0b7eaea014a4459065c967dca094bd7f1d3bf3d7b807b6bf62e5fb7f6f32a12761212ccc785ef49ae84af95b3dbe822297d58852acea9a009be95aa5ccf0cf07d98aa1aa7839e606f7cdc3a8f2cdb1981f25a85687b225ed4428d7a29f2862c76cb99eecd3f7894dbbe81680a92e2b93d35bcbd079bcd2da60bd31e90e7e198d535a95c42369eb3a016433cc9f0c91810efed57ffddb8bd1b84f7cfaf507e1111bfed42b1764b109cac5c9b231d9555048bfbd63332a6f519fed9319a97a94b2b9d2c1953db1796d73f535ec7418cc1a71ceb019936aca5b69e24176999df46734a5d71f8e940a1a32213d813d798d5316bc4851cc1b39acaa3142e508ce79b40ffe73c6a42683dc81e9552ff506d920e2683ef359fb314dfd3ea2e6fdc4d53ae5ee8cd3647cbdc5a6e06bc2f95d38735bb033355d7ab155a961c6e5d9bf2ef9dd8b9a40d8eb992405f526c03581d373f8880486e42d57ebd477f261b8ba3d895324fc2cbec1103d669ee5d281299166ad32bf2f2cdea915af4d652310b766c4a7fea2b8d9f64751cb70f65f03d36c9d9b33656fcb560f06dcf2c5fe3ead0858cdfec80e9da4c922c063d3ec75bffabc52cad3da0f2f87c57dad114d3f5f2c22c3e5e0aecde7811ab766989c04d252ae4f9852a3aec8e022e6a9ebfdbbd890d68de05c7a236fa1f6b19a31b236d12722ef3a5d46f4d18f0f8423ee4c413a0a6be31b5cee8f98db923b64c0189cb8cb3ab4e0cdb13b99140a0ad8b362f19b5a341947e856cf5a73dd1a39a269bcfcccd2650a977fff4d484941e46bd22c250f3a74d9dbb6282fa909ddcb4c05c68922f6090d45992d95dab4c29cc768b6a7fbc0e8005ec0e404b31e0663d705390a7f2b87a38ef783d198ca9afb759c06e81635c57cd8c8b285876057c358a53db955c8173924f4941b99b6acd638d9291d6afdb83d724edc732f466c75c0dd3e92a69a6a5835bd3cf31a7faf5a132e0e8a6f8f1f6d451617ccd77fef3704ba8dc9705bc99bb62a482d6831331834749105ecbb88819ba0bd17aab45c2c92dc03c16ac928d5074b8b8c9d4e59ac85d9c80345ec886568c4fe47560aeaa876f375998f49fad43c404de29a65b6dd26cfd7a402c671228cc17bb33e27f7f39c0cabf4401a970198119a6f9661e7b261deba755a95c7061a0c539a2fa27aaf75f6571fe39ca4896740ae41e10f1da026c5c8e03e4ea81b71ba6d27c4ea4b65cd1d6f8d9557c8a79af8f82b6572b7425d1580e350d0d2ac0c8afbaa26031e5e66733dc8dc1d9d7338a3dddb64f4549e9383abba0037cfe2113e81a26275dbe0b459d0d73dde5cc38aeb33d0e89ce9fc349240feb32792844210eabadd72e385fbc6036f7a3f16ed34292cb095686cc35982fd46feecbf15ba2a885af4e211e02f0abe6b26cb8c655781b70697cb5aa8576d8d1414ff8fca23b418be7b5aada12861cef188310c59288e5c2f586376959affeb7b00e675e3b449228cd97f953db6474aa23fc24fddbba44c22864a31f4c9e54c8413b6d4241a2f46a0708c8a361808d3b4fef4e844fc4f5995b4256b0cbfb7712eae7a5158f1c6837bd74da06bedfe99c836db265f5bbcc6d749b280d5172e02a102abacaf1d08577132f91be6e4a029ae34ab2f5fa0a37f1cb2f49140ffce1d8d4af498a6a7a88bfcdb2d00857cfe38486567730b8c28449aab1d90db84d495f8571ba96d5c83a96237f62655bad5af2cd51f798d7f4203b46e4edf02dc7f1f764ec75f733b81b2273159ca2ec88ce7a212f83474fd97ffe9a07b34d4de18973d8628746e99ba1a970d5bb7acdbe4d77d59243605fcd9fadfd7d7093e9ee5f74de0ce7f122e1bc1be7b2d31494c1edf3012d66a9823e52db5fbdd3305f637f1988d8e2249aef7a64246645e5cb57b8160a43b81d3ca71a9b9c539044034f5206d282ce469c501def2df4afea30ca90a1136bc3b0e654fe2480f49d334371a3a3dba5d1c8b31fc9c5c0558e7127b8ad81f12f2a82b1a334eceba310ecbd8e67bf9ef701dfaa9859124633a0af56f2d4ea9bca68026439681ef6df91da29115a2eaff566b04995d5db744500a9a1b9181cb82f362bbe3eb4b0bcfe6c04f029d7bac9c3df24d454e5b1f56b52d7a8f8cbb7eaf7a53f047b3fe05318051e17f05dccc25df6c6c5bdfe7ef7346466cc073dee10002e517ea2409662dc2eb4a1700e1a90401823db2da23382c3ddfd121858b9e7e81d38dcdf435213d5519609d2e2f14455260c7eb4fa6afc832fdc81603cc009dd5ded15cb62baad672d756866a09e6d4f384b33f4a00af292886fc684e1aced15267269d3b31289167c33221976002366d33a6930c1c814a2a75221fb4adc033a7883effcc7b0364a72abc3bb4a51699d40b6e1dfd321af0635bcae3e4e9e3937e3c717734961aeb8fd78712ae3424d0265ebc9c35890235f678af76ddfe593a1453a7b7d83c4044a0932272eb8e7e24e8b312e0707ac3855c1989051a7dc8dab3ffe8d779c303a0c7c386408c965c33dbcce943d8a9d6625cb9a7fc045cc38ef3056150ac8533f365f1be2001466ebc3ee200a355b4268c2a341e45299199a4dec6bcb727d6e70f5b6d6fd9e4e2e8574a7414471e03b6420a7bca3e75fd8018744cf3289a3772ea3240cdf120356d416707ac9d388f92abd19469f334090fbe82e8df1529e12961d11d196e50d610ab66cbd765e186ab5b1ec47e0173f3a365f56d71042e7d2c53d628ddb11c19df3f89e39a86a9f8daf8f651d2bfa2b6486f93088d50f92512749d3fa182563be7da5ef0d10abba40796f05fe919b7cf8a576a55a6e654c622a8d219a24650ba8eedf31355a16803ac3f7ff09abc189051cf3856a93295d23a1f053e52f1c022b780bb6fc37b4a9a4926bb955ab85ae06411bd0cba08c0fdd87cf9a87f8db77239c14320d70046d7b1d88555a7e89a62ba0d54bdbb7a13183df64054afb9b8b370ba980899cba764da9f63f127790fdf4baeec71eb1475bf2e832dba01e9117ae333781a030bda9a30fd036f562d4b8f68c88657969a465e982a3724154cfce9f3d7681947fab34525aedf7b1fc8e0dfaed84ec0fd7f9ba1bceca45b0fb3193a82dfc7e78d951715b1344f65c71cc0a7f06de293bc67d9af11202314fc89573bfebccd33e39c687af6339a1e1e6f47d4f210ca3891fd1fcefda31ca0bb13298874a23a9bc5341467a4154df7d77f5e75d8bd28544b6eeb1932ace4e3fdad283fec97bca8ef52e1981ad96a0c07e998fcc1c23564b982f71d4352313d888466ede2fd18464b863d7371b5f7a6654d198ce8078bb61480e5ae0f08c8d85e35af46326a87a6d52ba37798de21ebef25e5d734151a7921c78428d024496ca3e25cb4fccc58850b0e28591038e48c06c6a5ecf2e6c38a306649d04bfaacc3b55090f021b1906fb303d85d3b0a5019d9c6ab75693e997870355c76de22ed8473d5efa6b12db34cf9c5ec512efa7a5bfa2fe5df0303951db756e281ff967daa79aeaf05bff9b6803b89d88f3c09d9c385e604a68b645cd9b9a6a387f6ca023714eee41f2de592d65a7539f21456680f04139e1057c995e49ba918ee8937417b00fb013fe2cf751dd6a8da63f263659f10000f55128856ff3a919f84e97162b21c9d94c7174ad648103caf7f739e5628881270c4ff0dc880a20a1d66951ab2227fc56afbd49d84f0049bd5d7fa860d283eee960b06228716e4618a07786f478adfaea76d116a69f552a6928805c214a6b9d4fc08742aa88efad793242d4f76f8f1ad7a5078a900cca8f4156085ac7c05c13f463592e408a3c1ee314af52502e4c14fbb8b3578c2708c80230f83c258bafb73719414df97d5bf61d9bd2c1303de080b913b5deb6b4b7a75cb60ed3f5212a9afb068217f44a6f58a3c848d46558239d3bd5676d24cf7e7122150d66a94b78fd5e2b37326e224b2ce2d2ff0625d10a202ab1c7d0b9d3d4374970c5d83c3d00c7a0fa219e1490f7d1ca322f8afb947b1aac0495ab2980d1bc7aef74cb355c2e2c9d77cf70eeea6ebbf0a1eb322e7fb84e000a5c5276958a4633ea2e843229c33fe726fce21bee3959f7e80d57ac0f582f6e349a75bef3e8dd77ba9a80e12b225b0707000b2f5c2a93d2d14e6ade4b0a9f3aae13427183aba249a2b6713fc8bd4b781486739a1ad4277ec485e843312c168bff72a0ea177081ea9231a6e21afc05202f170f5c727c78dc1263329eee5c47a78be344df4573b424abf504f4f1dd47a9cc98bfda049be0a4cbf02e9450b9eaac3f80b08227f5db696a9ebb64627e946dad7996771488587f42c7fc9799889e996c9ab675167b0a33636c446b928103f17b5defab1d5b430c10a0c960220183cd681bac34bf1c4016cb8ac712de6bc732911df9d8274b515492a9e4c62885260ed41078673cb453d0002fb49c4555c99f5432544811cee682bb0e4eebb78d27e40e0c3a275a240010707590caaa716da6c63e0e4781fe52fd2fe91f7810bcc3e4606b9afedfa34a30e4ac0437b25cde04d0f56d62b124f6ba961639abfaf9e96022b1853d804a41a9b60842d175796e76168a69adc0ba21504ea48869b1b2555f462ed58e4c4830efdfe97f4bce9abeee7b239375210d21dca89442cc5935932037b6627799e4d45c1326a72d3d2120cc89c7ba25fb2817f784e9c526349d01ee88d7f34e61e0a99bc10e9d58fee33c241a6c5be0e2a7e04509fefd95345c18542b5279d2c42a0defa8cbe1ba9b192dea964f1317974b0bcc74df87b99700f75c49d291d1dee1f19779dc5ec824cb892a2d79166e2ed2daa1ba8e608aef9921089d56fde49eefdc505356dd6dcb1204b2108de0ac5dc67692c8d861b9cc309c80774d11b02f4a02b04c34a4a020c15d21dcea36cd8757211c717114d6483b72f05b4a88f2177c6e4c35b5baaf6ad9044f2bc66eb77625b4700a903063a4fafdaaf50b99d88988584b039032a2db58ca6dd58fd31f68ea3a57a5bcbd3cdf54ed369f89314c20a713cf43aa638caed2cfaaaf8dba7ce2d137d64d752defc6605e4f80e9107f59153f220fe3ba2be6fff9ec76ad0661390be241aa6a0a74bdc0264b031e5e361e4f8aca08fbf31670a2365efe8898e85fb2d0add7835ab21488245cf9859a3551454ee4670399304652e7709a752d79240d1a25291f8a4e84616d34525bd65ef7e87264c2b67e2c10f805f20ac68ecd6d2f2bd9bbea34c75aa73fe650a2028f2f7326c90a69afe51e507c4ce2649c2e2c62685348c7ccd8f7c1fb95fe9df062a0dbd715d03d17bb3d60e990116e1e9cd850e17315bc2d674fa1e67657f28e92e97131b2ce27b5f3bb310345b1dd40115798e75aed982d6452e3e7809382c45c05e51b7dd98780bc5946c563950b2de19ee41de24d63d6f3933857c69c7786c859b60fd4205cf36e73e36ec82d16760c594d44809fce4c61b43c957cfe7fe482c3958eab45689333065248ba43b56eb54193516870a68fbcb2a41c8f5b4ca99b6dadc61cc5bb8f1393a63e8f9bf0d2fd0dbf93684b73679ff83443404e052220724cd663f30da3a12dd0ad463282bf6e2908f85fd22b33fe2a30685cb9f94432eed3a699f63fc8b9c55286ba2d25cb29a31ad34a27f095240d3a10c6d060b50a652da2ab5737698fdc32ffcc7d469484b4e796f4fcb5e8fc26570289855d75fd144c0998586e0e9c5370fcc0598faaacf07c08cef94cf18125698f7fb4317ccaf007e3e8ff75d41ee5b8d9b7444fa5e432aae6967dcdd3772e1c4c4252258f282fa16240beb3748baca069499f27d1a804873a0f1392bc826f86e00a61231b2de90fcf1cda4c941e54689a1bf4ef903c10b95ee1fafb709c4db1acec10839875c67b69e15e336745a452e0a717d8013e033ab8ef0263e0483823babe2f347a18c8eca28942c6c9933f476c931b26e62bc205319aa0625d5a3fa485dcc82b328c9ba760d1b181b2e4395d418d06d82484b76e12178966fb88fdc96d49c43726e229b7cc0e8ed5a673c979fc5f486d3cff5fa88f8312df3fad35ce6af3dda45b5d0eb3350deae6d434a92922aa6884ee34d41097cb83f5cd1302443e4c2cad78c358196a1d5ae2503bf544f9897ff76b4f0c1ff1ea955c6818cb35ebafb7f510439d6089c4d194ed1b7c0636cc4e9245723f69aedbae4a279dc823a260bd31b9eef4b86f9ca19760c35c37195b665604d5bd1b9caa3cfb7fcd6fdea847945d17a1b59b529ea1a0fde8d5b76ba5d40e5d7b8563e6d0d7578ba9b46409f51bb6ad3d6cedacc6e2e1cf12486fb6a4d2bf5859bac568c709faaf2e3e7d3b9a2485eb5b1a7d7e38e08a5129630c7e24d1413c192d620f0b9b57303f1c4b0b463b879ccdd1166892eaaac855ae424ea1b8967e91ad7b733613ea14ff35bcd3e25676ff89f56a5f059483a49bfbf5ee552b9f7a0b90f6a031e8da2b9e77bc0c720f07ccc2c25e9f029bc6e4c0771625b82cbbeb41468e817ad57484a6bf3003d09c8c520eb0fdcf54710c7709e9de08a4d994b733679c7b90528e447d23ee101e883382aec16e42cd0a84cfe5a0caf543f09c08205fa7817aefb4c91e6e8fd944174c6d1169ae160a66700351790cdaede8a68faa1d38e7152c0a6a6836a8d3263d8fd1b4a3ad4e485365d08175a8ec132cbc31182e6990d0e5964cb4628a2b49313ed68018593ba9bb8e5bb5ea6a5473d1b6834af59d2c0196870fc7e894df593b4f4e5a840ddc4758051a15bcee810da3120dfc140feba6834f1e6dfc3da508c034e4f7f2fcd04820b0fcc14c0a93bb796215be63cf6ce1904724b367373c725fb9febb35f80128d1a2a2af8822fdf1712fe2d1d2eeaea5f33a0f25a79116b14144f0ff67d9b808ecd19928f31ca0bd5e89b3c8bcd246d49b0703c4946c98a6e91a18e64af494806a151db74aae5d2adbbf89037ccc892436f1408cdee1628cc0cc65ac6cdb364e6da103fda3f00b90825882dbce3d06f34a54004f258c8a8b36fbc6daabec6b9b722a7adc38842d6f840c8cd6233765d419d75715922f3307739f42a141af3f695e60dbe795e2b9007a0022e6c6a4ab72e7689b644ddbd6f7b5394bf2c3f9e37823deb0a4f1ed79a7b7eefb230956d0a390e804b76bbedc3fca63ea55b917834861ffa1f14a3ee861f8eb617bf031f7c64ed1632decb013d3b139fb2d5b883ea1e4675235b50ab55234a951592d22c3ed99f6656da3252979c8550f71f19534737d143efb63d022a574233b844f7a4ff98b3f4aaba8694df75bd4baa4c1d92da59f6a9ee60ce2237e05f8e8edd034a384f86cba00990502b7f78884d5db6152f4d3f2af333f5a749dd037bb97c35201250d4ff5baa46bfa1c803e9eb6ac1ab3cb37951ff0f0b371bc6fc0cfe06e68737a293dc5c6dc4d89b48a65e322dceb077db1446971fc558d2d970356200562ab955bfb0ad8eb6afc76006ce43a84402b0ce36e12b720b8a7ecf64261d5e7b7891a31a050ba8cd63f4b276d896e0a35366c4a9262ded37e784452839fed95245562e108814351cccab2e2532c1e36a4e7f4c62d54c517b23356a3d47d25fe0bc42ecccead07b7903e98d1b8157e958234413d4dfaa821816396f5d9a0ab884000cecae3088b3dd237073433e55a4fa7ff35f5112d0f0cb9dcf5599483deaa656a870026ae64dea33a9e18150556b9f5e41b1a1ada884a7eab32f08fd0b541a799b6df90f87a14b82e9c25cc7f21e66f992808abb50a27fae1834922c8a25d9c3883b17d86258077b455922f88df51b30fcceca5f58fabb4fdd671db5286473fbf12914f40f5b7ee2e4fe239fc44a7d8073cc19c77cf76632dfd5d146d47110ea02d055223a5292d013dfc8c48e86b7ce84a7e59dbb7f3cfab8c7dbcfe693b066eb7433f8179491835f7efd49f0bb40e9910cf67575093f301af97ca3b3d133b9464e60c646a49f7ea8dc8b4b5ef2918620707a485872aa7719ffb08582bae3be69be773ed6e689b094fd7cb98e31f6b88fd374026d6adeaedde0eb9f1e29994fb5f767a42c818ed9c2484b484b5df54613d6a25fadba29f2702cec294ec5d771453f1933dbbd488b3f4bbc1c34508f7cf1d1c7b8f95a0c0b22f3d7f4bfb39ece149797949e43874d38b973d03f41af8e47b2edbe1ae7c6a5ed64bd974d090683e6f036d270990f5bcf115cebd9b7ed145fbc794166620d699c1b4ec04201350adb8063d3c6b3edf25aa9a74182402096b94081cf88226310dfd7424d53a9e3227ef0c5bb63564f86d52f0b708159df9ad2e16d43379f91f3fea39368b6b6eb64bb00493a76d83c5079ad3f5e59387ba90311eff51f0ce84d6e16b4ac0a6b962f23d6bd302007b9a153401a45d1efa2ff4cd11d801ad6d539a0b9b794d8c6143a08c35b1a3f833ae0f4f34da14779eba2d0a3262b5094e016bdf7e70d3bb5b1398d744f43738ff1c266d60de63a6dbef1c41b1dbdf122a7444a22f48f797e20bfc7a67084724017308b932103f230b154c82152f7edc2bd3f19d1613f7c025e8d14cb29890e5e711eb470823301ac1f7b0358423b75ae8ea4e64f9cc3da572e2195491306cc1c83e07fc5c37614b6da12fe8723cafd9f82a089b4168ba936f044413f3081046a653a4a20311828066e532901cd4e6c63787746f0c10732bcecc3aadff64dd96ed3d4cfb689e22e557c3bd1e479c8fbce58a42421d0c93d54c9897bd7fdc5c6b98cbcb031f52c2102e37d9bfd0fcada18a2f8cf21ea89fc6b59a85716d1d276ceab6d15ba70c54ad77a6a616ba1ea256ee76ee8b788b3c242013b68b762b58971fcff978fcd598456085f8831afea940549e47bc72c632fb0874eeddb017161f79d424f825d2e7c3aa697896f50e8b18c161dbb7fc861ea8aa1a32caaa14c31b938af3903fbd167e5be74a8772882f4715e7100414a2de6ccb3ec572e44c68532f90a1f170479f4c2c5be1b48122ea4011b6da9d706a7d150375379d7c4b343b2195407e573cc461900f050d8e79b36539bf069f8fdc804cf9b74b7dad269464d6e9e7b7bdac2fc28d26c8080f373008da0c87b4b1cae73eb2993a4940b1bed5eca6e31a37e2df5fd2e6dc55e30d013665be844f25d0199a3b6fae5a5e87b6db02722cc25f22eafaffbd38f8a0db43f47b52b7d6f65deb56d497cd7781203281f685741f82c1ece2a1766c0c05a28d0dde6633b73e6e8f9f9f69367d8cf0f6df085185ea20ba96ee8afa6ec85df3f2387b02d9bbd57af267a8053d45f96f62e4d210d9ee376f7ba524136e2049bdf3164f926115163be42289829609455c8108120f9791a9dca4ec0917790aa1a170a521b0113727627419947d0a867cadb731f855118053800755cc37b329c3fe8a195fb9e6738c9be217175e57a81773d3595c1637a4642f1103338b892d734c3660ea8a4a0d236cf1724133f448f276791c986082f691917c9ad4d7e0cb4963643e88ea1b427fd673d37f399903f59b71a456f6ccd25d94f29a9fe130ac188f07879e7793a5f8506773a28f0524414f5aaccf2a5b2637fddb210f5488cc9f620148a16c75ff7a38c42b827ec5a491e965f673c1ae203367151d254617865fbf9a3f6a8d6449a46c89d8f855cfc2a25f32be45eef6b8d99d3648a686ff600508fb49b2ddda079c8f145629cf55a1032956af24fd905859f73699545f5f237bb6c67671f932fca8964bff9a11a8eedbb7c887aba46c40e9605c694590d9306456bbca1b3a5ea4f6815180101e6b5182c3d9b514b9bc56d03646fb762625389c2dfcfea448ac6527ab7f6a9fd05939b1a2c9f735f3b4a6278c52b59882584150213b3be395ca8dee39826db26ee5ac5f4a8d51487461a114f34b4b45bffc55b2399989d2e5c292f58007c369658e2a43933d83b3ede315447b557b97e4d203103e18ca74b9a5b3deaa40f024df7f171d3d6b8c7d328da60bedd6d4c231d0ab5aeeb0125a9b7322c62cb74ceed441e7e04a66bb6fff5b0d7dbea00833bf084587a3c9d98d4f03fce08c1db6bad67dc2bf5916a9221a88363f9805b58c5841a6912cd3325f949a2e5ea200cf42de45e807ca6c9c3341f7b4b9edd98ac79aaa81916b5d69a6b21ebe1af1e2aaf9710788d07b9fadaad786baeb77d0847026075e83dea84f33853377b732918b5fa864e34e3c6fc800f819119c20b8b654d15d8351a4be342e588f8a5be303424aa1460eee3dda233859bdf6f2a7c028523e6d521282ef6ee72ce281e159c5d9314fa6f8e9a0f99afeb28de8bdc9e6fda63f0a3ef7ee4535ab43dbe7f4f373c549aa1061587ee11c29bcf5674e30bff5fe6a37ea5ccb4f82a5cd0b41a44d545efe104b7993140a54f60abcec994755aa035bea4776af7c56bdc99aa21423cc6d26d08f8636a22a5313e0938604591aa1457aa31f1482e7bdee4b8198cc3efd5bd1b2569507d5e76ee8f295ce091b33ab3b422cd9577fd048fc59102b73e56646493eae3f7b73eec63ff9831abcfb05baa1c2d4760e37a0dee8e1abe625bf01eb914ad0840ee3181c2d6b632e2a0ccd89c0f302938f152544159b0f6d94c83b35b7bb7ea5fcd3dcda32a2c673adc5161b1aca40b4320f7f5506d4e700e18486726193dcb786e9e839220d18e8ed23d3482b1b1ba99ebdb8dfe85a836074672b83ae7116af876897529e4a8a51bd2ca578d9a92b8444f77a9b20ab9ed6ad326f00b5be2c62e371f23e0ea57b42ae7ffdcbf269b0d6d0d2e590fa7a8fad413d49fabeb2283ee7484710e6f949d84a85e1072f589968fe9fabee4b21de18944224f53765950cfe00453770ef016bdfa2bbd36c25591b03b1fdcbbd1e68eca61ad624fade971a02e000cac3fe288cf4f6f458a73e499fd069d45413040d6d0f5e77f95b9900f744cfa03c4bfdf4bec7edf60912690ceb2dee90d1e6c621ab169dd40216564cc731d87f30df6aa3a6113c9974d0515ceb7ca76a08df9a6f828276264f8727b6a31dea45c79317b52e407ec74d1682fc8610893ed9fddf6d135017b9ad20c66752d03ec0bb03842042998caf4bafd477156737862adeffd3e4ce6b720898afff348da1ed6ca15de6aeba79577b614d8e688aabc415d33022438ccd8e97ea459bf0660605040cc5b4c00c0bc8ce8149f179146f767b1fe57491aa60a246cad85e2ac5ba45b67e960107c723617fe2ce3be73b019aa7225ea84cad93cd7bef383b4771b98196d91a198c5e77e96f5b0669e04040b1c3651b44db3fc989698acc708df63a17415d0ec546ba284ae2264d6cc2a35b8a1a3e3c483e901e47c48aa134610d1103bb385f50c8cd55d94c68f00c2d583c06de7344c055afecce996890dab8cc613125f74ae76debba29efdc9aa8c3c6d6e6488ec25ba659e824275e8c403acfdb0dc09df214e0ebe109884774ad6454288e853eeb684bf143ae14c840b5fefce36feb9fee85012a5ff035c4b3705f480d751f8751ebf20fc022f354c50a4e027334eae52d073f01b8221f1f164e39cad54c4178df015472e9d38b03d614f4c48bad607fae5622eda17c94948e5ad5a4fa36f194e416e917776b42774759a04cd67da5cb8db4c836eda954c6794f6c79b524bdf20290e5ca8fc3da447400b9d4f756a074f0ac631796d3d063a76d1de8c2e408457ece73ed1e1bafb9c901916db641984d5f64abe2a22897fd9b608804a1ae381fd41b2959b26525a6fb611fe4e6d8f732d37e4c2c11a0d28e08541853d0368467888f8f484c6cce075a7d74404c9807d39f772acf0f8e9f236656cd9f13e03831c9d5467f50b95fe5ae7329905d9e155d15d354a5f6cf3a17b8b606597c3fa60846a528a333d0cd8fdb1e2b6cbe49322debe5308ad6fb1f25b7b62078741496ab43444e76e2200d25668b1e2b153b7d8cdabb8e723f0a50cb11fc83cef9961977185cb1efdf2280243e14f5fd1ba7439207f6eb6ee46f01c719b7adb0ece110a70e1ec65502635a1753723cef9b40f4b9f2fa4b9550ff1d3bc71c52799004d612a889b73f3d281e9764dd5c4e536b6d88d77eb8c573e8076b6ac82f6c99002a94ced2de772ea2088fffdc7d28587c8d95e6500759f5da97c00e1110d1eac8c6adda04c3fe0bb61ec1b0f0574d69c9e2064d64c94e975cf84fe98b753276abf3a45ca13158fcc7420ef4aa526345b3d446d0cc08f3a3219e3a7d77171a9e37709756ffb2092b0db70940227b3cdaf4d510f49bac2b772bd7308028695e6c8d828619eff216bd4be5e7e1b0314b8ff386819ed5e6b8f1121a5399653cdd52f3b3def9163dad9f44bb31a4baf14a508beac062727721839b3e4ba7961a412f8453ba4186e7e76515435c01c04d35e8865873434129c3931cf97028020d705dd369f757e8a067654419c7d0818be80357f9d5f2fcfc89566dbb78f5071ca1c9b14834129e614f2c6188be81f3e3432ea85624eb8dee1b22de9b8ace71f9faaa88faf52baa734146fef0aee383f336089ab08f20c93beaf817f701ccc2305719b316eb9adad112aff2c492570e97af19c72488900dd3b3e32a0e75145690de7db598fe3757ee1444c1ab03552e464ba22f391fe0f6caacd4981dd2b9f8f09c5325dfcddb9865bc2ec1d9e715803f7ddbc7912135fe18d8bfdb8efc53d04f6ff32bff0cce8397358cbca7bc537b1cabdad49a7c0fa03ea30be06dc57b17fa3d69c31946422b7e629a1f2f3ec9c264f42ad280420e1f632c588ad315063fa8ecc2d36a23b02b8b49b1794aebd485db332d66395a3868b798e3c6856c14683f7ccf5332a27f825c6f6e03dbbd574384ef4324e7d09e353f1677a1533f3511b50153dd8562a2a1ca6b5fc818491decc93fffc68596fc16faf324cdc7261c6268a8df7c751822133b1966fe34c02d5300382b31f0aafa6469637d9f4286d087bf88d628b6cb81e222109067c4a7b3d5ece29a99383bcedfc6f8fc5657f5edeba6e394117a353cc13ac9be87305cee62f977f693a876ea52f7fa315e032142e5888ce3edcf7bad7dbae0aa577c3ce573d70038806a739f2eb39f81d2057abd780c04863b2233026db246f2ae7157aff7d4443fac5c699921190fb2edce408d34828da3f4817dde4a7bdd181f531f7e1ba2000d71d30e8315b589b3315df8c041e5ccc42c177ac8bda51c2976c1009834e3b943f96ab4796fddce05b8337f860a3448a1dec33846583efe7c66463f28db83cf3b0c438cc52b7fa36a7830e04995f453b080382c85673246df542176d22fc9de9d11df0df9b097f7b5acbcb4400dd243ff4b3dcef60053531bdf2416aca4cd6e43fd2fc56f51d570961f8a8ebab8fc3c397fef1fc8903a4cb37cac1ec0b634f10c45344114f1f22942e0ee6dcce69d1ccfb5042a20eaee59c4b8bd8f3febd78a134348423fcea017e29110c225136ff816f7e6b6b16badce2ecbb2e6d8e98f5db04d8c88ff632c8c5c37f9ae1167ff81c2a1e9c819d7d948afb7c18fe09836bbaccdbc1f1116ab7b55c02689c97bfe0d377f59c60905b5734cf39e6dd5193b869cfacc226789bacaf90dff7ca59954427f1a872f891729343e34c17ea021e8887575211ef8feced5c2b7503942fb19ca1a36d920d79df64b237b6407a2865f228d7ee928c9f19877c5aa8ead7c558d8d444274f7f12f7138122d1535400ddb9c70b1e6e867d8ff30e15921313e668df408229f73ef024192964fb524ba59915351c56513f548630f2ca85ec345583c65a51f3ca0d7a629e2ad8057c67a9c7333ef9e39ac91486242f3e22219a7fe8ff3f4a04f1a924173517b4035f6632ab2cbc7c009f68deaea8f3d6ddfddc2ae8c8d71a228e17540a265f039b9a51fce7a51769b0fcb30139ced1f3bf32ae0386e8a9dae36b8de640b69da57901abe9dbc39263da02db8ac52200b21333460bebc372c0496df2c37eb56a376c1af8c81c030ece31f5e8e1e177d6af72947167cf3cdbf39cdd66032494bd1897e44f06e366e028489f93d5ae2c9f52a3974535535932b67fb518ed083e711f736e82ba0f0fedbb6cb977c34b58d686799d3f67009fd6f9897c313acee0d3f3e2242459f8156df8ae796226462865cc5d1625e991efe94b15e8cc3d0ae83370e333c9f4464b1edc99048a778f2017663834db1b1ad0f0a4bd3908f4eb76d6e4974a2dec7a248ec47b4fd169b2d044fa7625cf8d746e3a39d7f846447d99c2c50cfcb96e4d0bcac822cf80dad5c67744d4ad4276cb275a451ff1b5fe9e2494cff20891d36dda5067bad25c523ec7ac8c6fb93109ac276032757378cd372f82d252aad4741f7c4dee7c9ccf7069a830d184dadcd23aa62112c3f1a57c6d2187188452b06edb474a367b532fabd41621668b2727d8dd9be0e0576841b7bc3b35278ae40562a599ea3a47b75855379824adf049e59da2e96587c63f7430ec8d01dfbc226177cf4997bb9091ae3b293a1519f9eeaa02c160080565f6c74411ace50e041deb34a70d7533a15585c3709cefe269d46bbec152641e4e2e20d6c6538398336e1ba0f28dee05b95b162dcead656e62b2c13e32221eba0f50b1dcaffb2ffe4cad972f5ef0a2a720e937a28fc651b39c293f2c027331f4ce4447a97016fa39107782aeb803feefa10173ca6cbf72b43c7838584e89af99acae9d85d2722d178fe08df0cca2782a4e1978434414ba784d21b22db112d725030d732306ddc201e42b82d2d1c7adc49c7543fbc3592469abe9c705a2f2910aab892c8f50c15a6e98267e97ae8d6f26035560bcc25b050d4acb45c2952d3d25a11bce24406d8dc04b4cea093eb6eb03fda7356a32fa9cf6e7c823f581c3911402a7e96bf38f17cd5ed5312415c9daf69aba77538d6c8a8b1d03f2af31e2d6fc2f0fc35123244f547da6dbd96518f3d1b9491eac3c250e5f837a410886fe98ab874ba9ef427f9a181d378ff479ed22c30976720dad2cdea9840e59dd6a828dd3f269c8cea59cc66abafee7af139afb431e5646958219ab04b43d4afc695bf327d6fb81ffc880a3264b7805ad436940cbf4a77d8e98231bd017020c6592adb98a8fe80f527874d4c2661840b0d38a5c429593668bb40aa9cf7bb799821591998193ff9e2b19ee9f128b526c96a73d75ceb910b12dbb0067cd802bf1291548b63244ca4dd35aa507f2a37827fbda646b5cbc73c80908d4e4780650644d72270a37b0c99e7032857e53b5c6104d0f9bc0d50ada634d0d2762236be0e75cfaadaafd15e763aee0e71f882d860a273607fcb3ddb826703b35b2eaa96311f86d80226f792236bbe204d7590194d9b18ee2754cd8fd8b1e810b96b2c440cdef133e18da2e0b02717aba73f13d01c81174befa929b912a984d78b70b6f145793341ed2ffb3b8b52f4ab85d502004b5675cb163bc1030f86a7c9783dc6ea1ed8a8cd0b648fb8892ed488f4ebea6825445106ee7ba774ec7080e3814ca6e653ac03487803d8285ce4fcaa3d64dbc79ee891b20ac2baec2cf0acda0c381cee6ddd64feefe9b43431e006b37f944613cd1b03494da771bb4a4b7f4e067cee751af2bcda21991fafb5f08df3fad1dae69d7918ee855fd287254f27c0c7e8acf6def27dda3b3a8cde4fe2e913983640f74dd79f5ec61d49f36019892939373be89372672119f4185f12c04b535e51b91d5645c82e723f0691204d36030d815f6b7f680a225c6a7a556775089068abae63e7e8461b36e45f79b6b41202967166e2002d31983407fe62983b0bed159196d82745d741530e5b80d5b5c87ffee5d127cf79652a28a28dba16c13ffa8f712dc42d1f10cc89f31c370d88106d243920cd39555b92a23cf44a8725ae30cee8fb17b1a075de6407362b5cc838a69d28f906c7dbebf5f1b0ea2f08686cd42b049515adbb754fe499f48bec302c485e5f69f4865b4e8038daad345c7d205583015f05717f3bed854892ff259b90a613ccb50bdec835a738b52f2ea4e0ba01d3f5d02360730299f448a97de326e7fcd3d2bbab730afa816e1c81021e192edb59d183a4c865d800711f784fe3eeaa0bb94fc499a357eeb8003b26e76cfd45fa1e6595aac971e5b35ff4a50232eb4f660c173733f012ff2a2a3434e01dd02d656197272ec6132357d2ab8e2b3e4a15e465cb33598703bb4a1445c89025eec9121e3f0ce4f2ee42efc3fc1de3c809263d3c509b3dcb3ebb9314c84df33f9642c4c639edc11342eda448fab36eb80f8be6790d7ed99ec9dea0e69eb0c20971c2c493b9a1f87bd8939ba1dcfe3da19e25d87bbc2b3cde2f604eb373310c3acde81b3c3345c96fef70b2abe0097e03b031dee0cd6cc4f152303931c152bc59548731f1e35df984554117ae1a3c916c5c8d66def1381ba9d25295ca9ee3f8d0a5d5a3276dbf41c8f7338f83c367d9071abe4fc0bec9964dd4b9743921cd9b9ae38d077a6885ebb0e9315b5c4c7ec44eaabe6eceddf88ab686616ee596fec5fb7dc613e865033749336cccb15733bb334f87e0475104aee987a1875ef9c7ffaa914f9c599b00b9675bc4e9320fb0262535b1e6de41041bca2ba1bba1131b6754d813f22d3316b9d8f983a840625fdea50c5bff5b467ffc9ed1bc6f5b02b91a5c5442834baa22451c080add8b06f88f7890db388ed2f617b7a496268479484b71fd90e43aa36eb7762b3991a2811176155648243e3b1ca1d0b2f34da578fb834aced6e8387ce767354094fd90e67f2f36df70aa6daa7c4e16ef133823e9fef8e4e7ba24af1664269d94e6c94d5396999d0c0cd1663b3106cc8adc084ff74f1649a08a020acf42761008936cf7b5b7a8eb375755ce9bcde5e4c00a95de0f3cdb6cf9e4f426f778681020a92aacbf076ae8ebe8e11c6198f2097bb75325290d460a12a29445cd59a7b4f09438fa914fa4e57347924a9b38a49850873500f2e1a33c17889f6f33d38e913101c0faa2600f563a07ba5f7a26e9ac0919f8bca3d460fc224c1ab91e47d9aef6f70258a1988cfa4f7bd4fc205fb328ed8d130900ec87c676c9983c44121722ed920c709d7ed0ccc2e5faf9a061c4eacaa240c0d8940d8d5b3952eba59c91e8c047470d9d383ae148c3ac0aacc19c980142ad45d9282285bb5fd80ea5aa0665fa7cf7f9222ecbfac24ccf01cbfde193103dceaa4ab44357889acbfe7958dc3e8147a9247a25ff1cdd9f47808031bdc13b38b7c10c3b348952d5fa199a98f4e5732ba1516d8d5245bab4f4a78e8fcb9061803978fbfedbf2a11b275b4622e191435646ce36648188d9125be1a416d130d727c3f62a9158e62bd522e9d4e4e3675cb6defb1298f0fef59e7225b23a43d215c1fc7b51f55cabf62e219638642bb5994f2c2d31f154f4f03e470a642759ecfbbad53fb645c8746391a0dd540754d4e12d6e0f8f323a4422001dd9c88a4f985845deb924132d0a9dcde7381b9329ca258e209e342fabb5fc4640882927aac842b0ced11af9aaa9618b67a11f3201f599f0dd355a72e174faf7381c709241d6c339d5ab79ad70d1b7b606a13fb0f84488598f1679f614fd726e7911e66fd76e1d7a7278539701b6616b14719a397cc551643dc33b4c9a4754702f9e0ecc7a3c8b2934a035ba1581709063b41f91d91d19db42aad396bb5511a5c486eb4d6cd028ff3d5f03975d6979055b533452d570c84dba74596143d9f2ec1db7e2ecb15887dfaab1bbff2017363567dd08c459c26a31c53ed125db288e7aff88bc1ca4bf0db8bd16a3ed6e9c63e1a554d2cbbe10ac77e3f9f86a40e7c9f3d1c96b9b2752ea084fcb58586c5f327975a7685dd675c21d5ef0abb95218bc108c4982a27a8985ea9818e7e940759b330965e3d2d4a92968f86abc7098c0cdb0bddeaf2d4310e4921622a18b46bc48e74cf42977f3d658510e97bf2f91106db97601bb90def1cd4f30466d007bebcbb2eede584a89177f82cd8273197ca38a49a0ad7d3ffb223d73f0f745deb7a6d9b6801fd235abf59fcc9e92cdd12876f96163ead8d6004003163673089614e6fa83cafe136933a9b76e63dab2ce6c531b94fd177c1c2512ced04ff0edd0d032a6b3479a8d1dad7fcc2c570d58c5469d82cc33d5510639f4806ffc93088092749eda4eba1117ea3471ab41616eccdf06652dbdc696baa3f2546f033705cf697a9dd65b8486c8a971ab35b0dca74c394abcdfcf239c22b1ffd3bc8b83edb820ae27daf40af7b8f9e62c2ebf96fa3143ee180d07fd14dc71f82666e9f4d1e96d63a8e8025f76908bec757deb6e497ecad0a3c42c4de46adb543b8ce7cf1cafc9f226729d7ad7e6b373633f44a744038860060da243fbbf1026f35cbc99298ff6fb01c2f28ad05a06c6059ea3b2de05799476a0e460d7666376542bd64468e0ce27331d1f6663ffcc35f8eb1abb154d5f97619dc123b36acee5a0a91a1b5782156d3f286a629a77309cc32244df8bc7b65efd28b00fc79b587d0be4281653719238af2f06facdf7da3047d3c9a5388128c466c8aceb9df7eb6082c199111a547d213508e3237e1bc2a36168de755f046ea7c377768ecf7a4113e6b511b6d7877891bd15b2e30064f4459264b819f0657da3b7517642c93933e02626a7ec3d27deadc71051bc1a682f80505e6a18640067d1fb7f5cb69dbd72a5232715d438ec92d679095a35c5b9e42d356d94afcb42a1f7a53c62a89d713e9c83e57dd3b0d172e4a5d39023c24c5202a63e7586d5645a06e3a24e4a02d42cffe6b2d425e98673168dc60119dd9cf2539b97b0cc33c1a4ceb973118008ef5c57e821f2c7b09651356c90c38fc37a83ce08630859768e96e29e2baffadfad5dd7f3fd9cd861f67335fe20995717e995d46d0c118c6c8a095a85188e741cc1263b092cf9ce41b4a5808d6d60611e1a4fac54b9da5713c8e1bf7885d3555cb253944535713949cefb273bad9f8e7186c3426d03436e536a6b99ea9988f1f703062dfdb7540beea255fe900b2c19eb4be36232da299a537c63b83680d5787ff31f1f05030c674d54cac5dfa9ec7998d8482f3e6cfa464feee6521791a2e4fd60328e0d4713a766e92c8bc45b902631f36f6375c35a31b8715f8aa58a479065762525eeb6466c32a496bc1d383cbfafec59bc4a2265c21cf553a501a0296bf454396459b8405fe78157497f1ca85e4b55293ae53c32b85a15ade2f184593bb51f1334415143028fc26d59745c38836a3d93f64aa7c97d899009bc6c2083ae1b6fc93f3869d33480441bee4d79b6e49c7121905f47110679ed6e658a17982d9f21820d38ef9b4391cc0a50f74ea39d5fece87bb88890b111144980ab591a9798e20883260305abd1476a101f56bbd95ac3ea4d412e2fbd1227b83931e3ffa3ad0ccafce783be4c20bc5f68cd8a0c73df58c2db93d901d811c3f32407f886f7cade8e509103e44e702f60ece210a196ca6ce36bb5b6c1af89d8c02bb3269db5bc2feaf1cc2303f23125995ea0ba652621cadbf8856f2fe2cd00c34b3deb3cc88b445bf8a1011ed380d6f66adc06c0e787a41a2d3801c761cfc8ef354bda915b485fff98664ee90eaa6e85108e726a1d1ad63dfa5257ba132c9c2f04c5ab7562018498ed34041e737d065c1aa4a87ba360640c8eef96421682acaa5b1d0f4106c94396638ced5ded1c6c6a2eb7704304e6bb124a6c94b2a07c8809e1eb1cf4e8986224d61c6d5a3ed6ab68ce1284e1b133f1f5bea575995a1cabebeadb188b36343243fbca79c1f9ffb0e7214d554f87af9242e51c25f5a2f947d6b2eb7ff517330e2c9300f0d674fb8a88cc38c13758056953fc793e357b1e70b39d8b0cb33cca3cc7a5c36edcb870c315b1769f40c5079f1f698160a883b56ef1f6efdd9ecd42e525e00a996828a296d89f858bd832091b1f55def266a453d2cf5098d2b139af993d4678a1924e67d822a5e80d677b826bc1bbfb77b31369b5dac4c77676b99b1d4425bb8f615e09f7fd479f363d517a755a39463db113d79bad3379317109d1d2afcfa4f6fe55cdfe4c5028d855911e6fb75813247ee7ebeddb5d8091682d97c0da8585479ed630e153fc8dff599ea8b2d1c9824e6d29f7477949231c49e2670d08da9998111d75634fe2358d1b508a58d89170ecc49c37a545192b7f761515114485060bb90c26cc7e71adbf6e2adccb11731028cbcecc031c831edab5f3826a5ab7696603ebb4f3dda792c84c12812a54ddd4333e9e11b535b134d98aeba4a2a623436dd90a2acec866fd6ed3dd5194ae51d494b0cb7e94a47670d007d9034214b7e75e6e8aacd0af9e35ebadb8a6ff6ad06b130c76db9717594074c65afc0293047d59cd9a151f250a3b6c269eebb0a558ec6da71c00eb331b1a6e02b39fd9f498727bcbd6e33c85c2ce3915e793d29768625260734b807924e2e7cd0f6010fcd70da4942e8328234601bc14d1918bb4ecb8552e0dc727b6481632806b59eff7ee6a6baa3f60a5d3fd1b2a79568076496ee52c46856c36cf6436e29e4e5b07da9fca35fe6fad7af8954f8f28201e7d97239dcffbf34ac973ffa0b91ff7333e68587f7ffe16c4479ce79c18441d147bacae98898f401cc1a08139ea0d1432c709a62717c06d0697368d4c34733caae9ffccd505ac49893f085feee92762cbb352351d0a09d3648d6db24b06bef56f4acb683d1752ae2a2db11470a16f31b1bf9eaa102d394bce794bc4ff08be9fc9c5f95f4030274d51268122e8c798f611743734700a344710fad9cca2d7a13b186f060eb2fda8387fa1f17dd1e40f632e6af9abdd707a6b094fee2b73e04dd619c9e4c0f2e6e8cea1b0bd3898bb3cf1788ea503a3b621911cd974d3fcf50913cdd3b912b2b75457b7ef158770409ec7f2c448b637aed7ad66e81b277789937b20f680d9f6e5cae1d3e34ff37d6a6f69aa8662e83bce2dd7892681a24c6294c51e938560cb2ca96a5fe5b0193845af63c8c7c6466e1a3b8bc3b9d6a3befed3cbbcc1bcfae90bba55649512236e1b6ecc4c71ee3e3fb553c9158100473eb06d1f83baf2ada80d81edb493b998606cbd5fe3f377a30f63717e74102abb511b0a448fbae8c0c369db4870c9a15f7722dc1b23e59497b0a1d39ea95e9eb6822a8b56952328f8fb816368231f498fefeab528fd0485350c71ccd3f98298c6d657cdd847c22877596ab22aaf7df98b5940b41e0adc715176b2a2266e469afdc562e73130be1d1e81cb20bfba8bc33722408c5d48f9c9eb66e6963e57ba3db848a8c1d9c85c2869e7d60453c6707c8387f5997d59ee17aa846c3379b4d595186a80d819696477e1a01fbb78bf7c67b7589c7999c5fb8e230e447bf615a4526cc42077e1bb273484b683a7bd9f1e172a34ba4d49a3d6dbfc7c094d62dd253c209177b935471522faedf34554df33579d78fd0e6d36b38a9c07a305c4008d6e2d03a188a752e29dbc778f419493fac2fc203a865c9f0aaa84f31f68758265edc24a646854ea6845e22dd550595bb686d1a0a6233634b8f6ffa19c7a5e9ac164d6ae15eff395244ccb96cdc6abb7d9753848a2b804422c1599325304d0238cc3dcb990f1a4deb98f73206c7995257ac69045aacbfe81b2c257070dc38881ad72b0b6ab5ee7cd599b9a7bbc0778a240f9cac2af7a3908b089d454d6e2b94125e1c3e151e0759ed65ee298e2f7389dd56d6a678b114ee7773c81f67c7078128938fa69ce5ca107d6f939217b036f4f697bb14b5690ca678677d77dba9f20f8258f20dd94b6b679d4bac526ec1acde57296236349bd52c3e063fa249b2b8c8f63f56cf094237075c952314b02e00dce330ac07efcfa9d2d1b0eb98ec81b80ab9d79403ce8d7c993a33eb7567eedff35ee1ebd40e2779f815f22be218038aee8cd77b08a0d64e6273437ef57e5764f0f6fb4536fd4a506a3847f5aa3455f7dfee799ee5e2f68aec216cd18686c1c1c46b8220166eaec93e144577d859b6ab3a8244ac7ab13dd9147c5cfa4f1769f9d7112d5487d07230252ae9e412d7a72e541c01b2c8033c735d056089ba77791bad8830948b558fecdaa6003f7ee10dfb5daf524a9567fc19fbf1052438b220fec9325e1c4151c2eb470746453bf7bf22e350cf3a8bb39bc3ce72b9f313dfa9d451e0623534150c54eead607fa663df6bea3bd3f71c6fa6b9b35399101162e55ae53ff40ea7b3f11583f0e48cf55be3e30a580afa86d19e008d1908fd9732febd26c5325b7843f0ce8b987f0abaf18102b361fbaeda3617eba99866c4e43fe2d9c09ac867d3d4b4583bfbc49184b58259a1cef7d523cef53c50808567d79f4e7416e23928a623a0bc6cda1f5a7bd2d7dc990dbaca394f15fc267fb37f7cbc8faf00dcf41ae176f9fc3610649b9b76815fc3673a73d4057c01848de789f35309aae408108f589b7d78c21768545515e7a8d173b1c38343ea6505577c1e79f16ffb08cfd44c1f9fc7cd319d290d96fbe267d233e839975f8f16ce00cd5f0ebb00accb7468ff1472757e059c3d0a14b45e83b5dc0276da2ec5a64d5e055f8008a717eb7a075695a7616a6761c69fdb65a78ea17cff2425d27b7b947e7b2424e2d94b57b68ca97363998fda71dd8d5cfdd64d720340a69d883bfb1a37944f65a555e540aca6c93c209ed128e36d86592922a3d8dc77915c246010a657880539635bd15d0b03861306a8b8f2de1e2351cb1c1749aaceb1b289974086a6780c340b43d8c30d087e66c916d9432ddf94b7a3a0b7e7809a613d65666ccb14eab03054f0dfc7f204644641b8406399bc6ba86de49caa84af8133502d78352516ee5e9d50258995a3ec62a99c5860aee332d900bc9e813f881c47cd9f5ed4c15084a201f55b2e4d561155b5bb62faaa1435337335c996bb36a929c5745454367933116142a1833fe94d5a21e4b944b865003b1356b856796e16c3e2ee3a3cdeace3b13aa8188c0edb75645b06537e2e26644f28af16e638ac912a245d5b7c304c37750aa15fd82bd955b42e44a08a9f11bf4fd4ac5a7e3420c61ff278cb4c5857220c64400cfdba5eb8722366bb84f40861819134e1ba649b5dc6aa54a8101d1cce0be78e8735b0746c2a361d10b41888ca3c8002fc7d3a52e47ce4f8a39e89bfdd8122b9ac88030ae4491a380efeb15aa353427c9f73c12c9c86a8cc419ba271d397c8d3171ff3c4b108cd6f2384a85d6c34272d2a711d74211c80ff7b779baabe4ba9c36f5b8e048c078e9ad693bd292697fecd789ad134ea9b4189d8b779f85d210490a9daea3b2759f56bc9bedb0155b6f9a2c456e50f896fdf2ab62c9324cf61be02801ab1599ce42f57eebb4e845ea9a1f1d87675321f4517050a77f3eb2718aaa818e8e91a72473d18f3574f6bc8e0671ebd2f5f4c35769000ba0dc8b4ed5229ee586b4fd0ff449ae05be821d89f84e41cef384f5f68be1a325a77871d09ca5de22e5c60a58df6ed9dd6cfb07d5a3fba6f1bce81de22668271a243fafe678bdab0b49f648123a62ebc200e6f8193417cabf1f63bdde4b8e66ab489d505935902eaa651cce6e1359324973f0122ce54dae2d310a27ba64ecb031012199202d127c34311f6ff8b0a4d5d18e7d8200f03426bec06e3395da65730bf50d2dc4f42c3a01d61e44867c5067798411721abc001aadfa3d5cf371fc5782c1c5b2fb5a62652f9724dcc7022bc0e4a23dee3943e8622c3f45e59498dfe5ab435aa719e9437ceca108c956f986745f3e074e23ca6e33991ac2af3e273ef5a8bae6ee3a3fdd42c848096b9b225bcc0d682b3370c3d2ebeaf54a8fbc29b22e5bddd8e2d678892097c4d49cfb38c8a024c84ed644cb9c2d42449d06fe493cc3f2f459f1b724ad2ba4663ac1a83eb5eb2961f4d044c17ab1ae764ed0f1c9f047445a30a4128179d64f115c357a23708cdcd2b18aa05e635d64cfadec0c1c9c3aa4a7e35711968c767173f268d339c079e36c6fc4d347a6808b2a47270f621960a3e6a5476cb05fc35d9744045551c65ea1727cb3c9f4d52fa91486c0acfcedf3169b53f80d56c0e4588dd653c1cffd3d3b3f817a89272817da0f46678f6638da850da91822d91c96a6d4215ad1cb801d1af6e2c0de87dcded576a4379b6d3c7cde9330ddd097c09c32286a76f4f8e36b743f9ac0aa53716768f2be3cdde79207b5cb42f292dccc4a34087fd06d2fb85c358568a8753e6d8a50748fae3e6e1d1c9f1fa671afd47a13019c989933a308484c5bdb751898454f15b27793ef2edd041221b853fa949c48aa33d91eb7d83e437542eb30c2bb827d9d752c0d47c54e0abb78d11f7c30dcda610d1a800dd514bd998aa01e6f759c728938058b76dffc48daade2de30ac4c12f824890ff2f7e84bb9add6c562f52a60f8aa92c9c96c8845ecd86ba28e7cb5f8ae1e5c07f58aca89306d4ccb2cd8ee49a5afded06b87407da1726ef8927d67699c2a6a7133ab1898ad1b8e60b233ce789128ec93e89e5eab8bb4b9de8528a65054f20d92dab5e81ab0c125f8d2d8364c76d3cda8edd0b55e6827b1313dac560efd4458786f359dcd8d13bbcaaab4b0a1b6d218fd17014386d54773082214fcb6b1cb4291553d3cac1c785c22f5559fd796d8794950d80730c7a82595319ea9ac8e7e457b9a880f274263b2caaf00e53cf780475dfc2cba8f1099be7aef84367a90963bcba95f408017ca0ff234ebec57c345255a6999133903a774e3b3713a623d6b412c074b5c84f4126cfb378d78ee67af51c9689d621ab83707b407665eb4d85e17b5f0fd9d2beaf60afb14b3abbbb0b83fba1ed0cc5f01b2f2cfdfe7967cecaccf7d8f5778388ca3a1faff4dbc6ebb5848067caa6a9a99d295c7353803d405fc26a30f5578fcdc325bd9e1b4f7fbf311ec36476264f245d00c0bfc3d8dc82fbd98f385bcaf89436b5e4a07f6eb9fae2c08ceab0448e5f92af3429ca6c384cfeb3f7756ec242b416ff2bd3927af77e2439ef9dd690549f750c58f128dc562ce9d2212c8d74ffceeab31f623394a364b276e2b46a95ada489f13e7de19aa67f05344a9f6eeecf8308893737e2499c62779d1341ef53542fb453b634ba71e356c912e1ecbdc4667315307049fe64ab8966761b69e34d7f8f6bf1dd205ada9c2b69643e96891082992bc3cc0aca16e45326ee5934f2692ea075f96f41fadb58dc90b0ad0027e55e0d3a4040519244d6f642728e5f8ccfca232e0af9e46725fc3d27a897f330a976cba3af9e36390b981bc57889473cd5c83ff9d6159324312f3af0e3332e96731a94e006e6cd05c218f9a9bb7984b6b00a6a256c5d3df5f02751c35f26c9a937ab0716cb6e3a79038c9ac09bf8ef648800e3d2fe826ef81944e6eabf7b30618139f4ad51a37ecdf45998d7f01119c6a285f4d4a724282b34cc15bbdbc72dec389a64e2324baff9c4d61c2ae3e6ae2a63ee629e61277963201d09c8f652c49f8cb52e8ae5381ea9c851ca61a6a42015745d71f868ea0ecff4b7f04e2ea8cb80600352a2e24d4c89f8431a0f678f577ac6538b1ca0d6dd24a871013c608f8a13eed16c87a72f071ac9969c320c82787860fb0216894e524071c63d311e551daf47e3e3b3d71ea6b1b9418ef3351de20b7ac41ac963486ada91f2ac3ea239a16ad07bf55252e6c474667781db5f8981a0b860b85bf7d60c567fbffac2fdde110ab9cc18d1e6bb0111efdaee3f98f3f7f83ae33a7ded3a4529c1772496769f8c6ce91e70456a25bf9d6f21d4d43c01fa0bc2c1335c42e1334c77bc208bb97fd7ef74ddaa218c8959884a8fb8c747a10a03a53b016f8320122dc759a6b83fdee4a7ac5dd85d48c15f1f2b612e1793f8ec717f0dc5a0fa3981b84be5152715bd4ead529270c5237d6b3e64ab0cf6d9669b715f4a401ee9e3d336f9b173dc66d2f1c985c9735e1d46fac472d086bf7c1909697d8e7cbbd0b6a5dadc5b85ab1feb793798d2167f402da469980756cb561389391ed0b1e2e2250c35a270fbfb083b662f29dad0cc96fad36aacb73de64e9aa8286edf000f7b79e01976e6ccb0f3cf1ea23952a789720debbc841e1e0be694fd15651601aa19a96d3b3407e191a3a4fc9de59024f65b18406f149471ffcc3e8d691ee1fd1441a70aae961fab401d9680ffa7aa5521e3b217afd50ac25c74a50fd3b94269305433b4db00d1d5ec40d2dca0c6f4283b5c0200f6655e191dde885a0970a2b7216eba34742d34df54111062f2c4de8aab7287ec9537626ce6dfda04c28a8400464bf753eb4e193be6b306d15d0cd969f9599067e15070382328b2362f53e6b2b1628397e0bd7e5ae9aae4417960147681f8b264d0de497eadddb7959d681d9684359e757829895702b99e389a945875689e006a4cc4d5b7b42df09dd915c21a8359a27f854faf7962e6e4b555e17bbd919068e0dec1c0c4db26610c80152cf50fbc53a7347d84122aa884a28254765fec771d342355404e406ffe88a431cb4c7fafae402bbc81dabd1fe6adf942be67ba4a0bd4123240c1bb2d2137ec6d3becceaae10d419277111e2d75daedc5d614d006727173417dc3e7fd4c7b0a00509ea61e453408a3b52b19cdba0e54a70b1ee056d523a3937c411069ce1e67ea15d32d2ef898772fcd060b8a44ef37a5e995a41c1488ea72adf0740cc6f3105c4502e93da60c0f296a6d0964bb9c1fa7b37530f221247cc693a90df1bb6783ddbcd2825e3533c522dd3283bb950f671c35c6809fb6f2135d1439f699f7ba14720412665d5c8ff1567c6d2753eeb3fa52b7b420f572b788ebd805e5814631ae818a278e02b1256b220dcc5024d6f2b2d8ba2fee16d3c9104c0148fe2d48b01f19559b4d77c8617f2c0801939aca25ee58bd12141ea0b5ead71862768efe69a49d407956beaf38d7cb591705e13dcb20ea169c9a96c080e1e4dc956a7df9870f14d40ec868b1caa1cbc07e03298a97369ab5309a8a4f430111612b6d260d1e0c2f25e81eeb26f264a4ddcad8273042df6bf7d9e3b1486e65cc48e06449bd5c250cbce057680a992c56944e2ee643acd49fda439a2d3864b5a26713163bb0ff86d7f02712c84d8d5ae6ffaa896df55ee5b85cfff190ab4ea5cf1a5c4bf0100289845fd1e5d0b0e8d5aa9df16d50d3cbb57441519fcc2ee5dd0c82e929960073d21262fe11c4956cee3db7554df95a23192cff88a9ee7951b1cfa569b3447e09d944d94d0f3096a2e597524faaed73e609c0c25873f33828bd67ff03d0737a7fda2b59198f0d608cad048a4883fec0bfa5179563946042619adc7bd8366c44ccd53b922102c398df01a15e7c9f3ee7d11049417ed4bdb4959c8f086abecdc09ae1d2c0185309611a742ab48103cfda791351eea20dd7cf29ab8422a917c5ca941162b05618e7ca95676d1f379b3a42d6c8330423921a2b2103c34b1fca055a4298fa07ece02b0a34b7da99a7697ed30424f2719ead729b9608b6183384d9e041b4b2a5f7f50ff29b2bbe5fda0f2c5b72893d6102ea78a9165b04c34a4e993d8200f8b4292f5cfa68856ede3082b6db4ce5ac8c95e2af71560a49cb228d99992f07b9a9ebf87746a4e4626aa78da3aeb120dbcab16a76521b268df9a03b20871610179bf0050c40bb9b2034750f77232130b6748e059a97745ef08a5530b93bb4551151a5a64d23a44fbdfd3a1b819f54db6171f356cdcce0e8507f0ba93fffae44bac23d0bd33507af9e78b7f8037e737c7a0021488ec1080e1317d1636831dfdc3466302330266dfba4810b36c8fdd5f7a654efbdef2753e9f5cae87c421d135b2f068a63c9f62e341168c2b2313520e7410bbe01dfd8631aca5b33a6468c5901fc30dad3634a7e4ca3586003161fabf74d49459b19aab65e19562fb70ca78419bfce8784b88cbfcbd717869aa150729600c846b6e6609655607e4fcd7e2b301d72ed972d6016a2966892c76fc1eacfa8a363d9b5e727e0c745524dfcf33c9bb8df1398941864b2b8954cc839e47d0ab98a84d7ee63495cea1fb15fecdf42fd3470478fb58be3662f69853bfd840507a5b4f0e9ce3cce6a1d375347576ca63a0bc617f5c4e0536888516d15ec8d3d9a441b84227f3d82594e85fc4e866a90a8b602a2318ec6643624e2c9fb79c1f309d78f7b448414d299a91b9e2c0e0b500feb16f9fa860f714eafeab75fc91803ca9de84f04f6654b17d4a1f33a24b22148d34a8c420a9e5759be7fed0d33d01ed4bda5aba36a75153d2115757554768d3634f407c792427e4ebc97d6a498bbcbef3d9133d80041bc34a6b3cc608eb5b97a116e84afa5d26192262af08a8cde6d05b4d9db1eae4019e94becc1484ae8a61661c0cbc734f0f0cb7d6470ce0d1ed3f22fb8134caa683ce9c16e5b274875fe4e50debed0a9527ac1a9a659f5ed49e26df73ab2a65d7bd532857355f47daf93ba693b460914b0b204ee9478e3e039cebbc984025a8adc87e940f6785315c4cfe8db7f4f142a214c55694faa30e95c1b26e66416f854a4ad6d9efb9cf8b43beb9ad9401f617acf630528aeae012171f78e136af7a15a1584f3a4b287e96790440b5c5c77877e49d0f6098ff22fa5918170fe1696eb20df9346f887ee8667c57c83c8f004f983c2f5750bd2b97a31e9bd4c73b15e8a859ea7b4566692d7b4d626e0014485979031329fd74f4a60c10243ba4d4196250ab7f0d294205dc8794e0a8f266dfa21799e9332696ecb1676d49f8fa7964d7b880d17ffd105126e1bfbe4c4e4a6d0e9ec9e14441267be84885e901baf74c8aac14f8bed27330429a3d625c6e798c80f9c33a41200debdb827f8dc7b7c13ec61d4fdd26edf0b236571ad35264625aa8b54439e864eb27a816e0ff001d07d0c89eaf9540dbab29b159a50b4d17a2f270ed89adbfa4826bc726681d76130a38ebcd31b61b70d1beee538db1f2b521b0daa704efb25ab5c730e2f3c2968ece800a2c78c358d59987817c1352dcfea061df44e8bbc66e72d39aa3481baa9629bb131c0b93db849a4d5544c3109c9d6af59a34728d1d04148032600e85ab4aeb4dc1a0cb50d63c05f1a7eac98e15f55292c41b2641529e3d4a11bd28261bc1f601325d203f0342fd50ae39a560568fafef219f16b3e87c2fe8643be939a440195d96d8250cff37f35f7c8d1b47eec3ef8d1839f69bd80b39fa93f1dc8245f93d0e627dc8f895869cbce56df4d6a93c4a91c2869d55bd1ddfdbed4a15f6f2f0789308b4cb3032bc65f81c2cd23b1c5817fcfa15fd0665c4b604bd9e38a050a5ea187ccb98c442c663aa78c50335be256de8fc85cea8b81788c0f5653011fe02420771f8413c19fff1c1abfa9c568613847b08ee49a1b95f3ab71629f38a5355f43b15cce5d64e0b45eb8de2cec26d77e8df92dd2b6e66ee4bc00c465895667ad84e846c646ca2e15709f0b663195e810ec24d227abc6cb15a572ee02897850dc29b0a2ee31f9b82ea8a18ea9ae0371281f3ba91818bd43ac250f20fb55990c8f6021b5442e752c4110761e2a7c2e5b5ecd5f3980247ea56e928aed6582be5a01bea0eea7456deaa31074e2b06472c3f97a922a8825c50501a5187baa0b5e710c3143b5117668e5a224a8a74a29302fe98c721dc26b04cea51ca2a589701bf0eaf250f19111b22a44329f91c1a6b7664d010a466d1b3923a97a4040cdd108af8b3f3a2c8c849d42554c3c8c4b98093680595fb1caba8d2bff1670257e7e0402823e17a49b62446810f0eade23616afab82aad2024a83e9d7f6e56e824eb4474e2a18ca58e4f86467e83a890e209d60f8870daebf34a549139a8bfe7822959961657de05f845dcea0121b8f8fe4e630e8d82c46a391be2b843a50a588a8af420a97fdeb4da389c24f03e5b7d9305d648a57b02ce5e9e533f80855bc66f584e7d9f2a536b9ac0009b79c9ed5a52b45b8ee3ddceb9216e2b7c93fd270da7a2f29988a23fcb3bfb03a32692b43588070c0ac9e2cb45f1180d4d85ec0be61a6f01612b98910fe6568df2a893008b564b5080b06962f219c88d0d5da1eec6d4700ed647df289c6ced12917e36721b2297ba6c5e18e5dc125b7927757aef427267bf828c344cd479ebbf1e2f91dd3bed751f43e0a188dd3e4faac2d9620ecbbae7bc98344ff1964143efa7fa33f163ca61db2a7178579c0bbb039dafbaa59d47f22ecdad39ae344e568b1aefe3f8e6e02d5d22291478ea146615732e7f0ee3b39b598dedc89b5ad086fef8b1265d5bd6609759e8710e9c0a182250978a6849ab9c1174bba0df42d7fdb6e16ea06881b6d0e48b749eb7307c85a34c6dae957e493c3acd044a99000c6fca63c47a5e9c94f7afcc3f3237c6cce637169f35be648acf326e7b68857fee4280c25ec9eb25230a2d927062934d60b41ffbd2ba91dc2c8fa09ba479d718395b1bb5d6678a1b2f975459f0a1478cb5dbf9f4ff2c4277293463960994482333db465d6be01b1bd76150f6995ca177d4603d6ea0f19770802109ac68ff0491bc0aed1801ce883381a695493ca0121c8e51ed3da3f2b8c4ae3e8fe233ac28328b20833085e8c7438cf664035cda4de39b50fa4d213ce6568c50f427f021a71802f02fbf7d38e47846f74e4fed939d414f31c346751c99e5e5fee24fdfd8dc8c18d67db6cdf84a4c3e6a5380f1ebe8d2d1f7841e390a8fcbddb47d8b85a2cc17de94d370289b1029e06de04b0dd7f734c003ff1010a2be7578b96003df335f29d4fafe0ce2431ae6b90e374e9f2a62e006e6a34ff1fcf950f11eadb059bfb171718f84a3fad1aaa7b9d269ac3f26bfa36d269dbf3c78c73bc95778655968e644f289e72879f702303739cfc047d7ed0ee483af5181331d497e0a9dc1bf0af1a4c824505e69879d98ee7031181a18cea0ac728c1f2b207d2034bd3ea1c3092389c824e83ee47fb43f24d7e97ef840db96247cbe529c82fee85c6b9ff3b1c8e5062131e700d237e306b15a0b245521f4efc9c9d7f289270b9e4f5584332caf2fe8dd13c56a2df5af74dbeb273eb40622ce11c31eb9607eb81a916a6ac76f8676144fa083367da6b57c5da684cbaa37179ff204db716d81eab926b9bb5800045db7d8fa56243c773f977e1beab1622e9b9f9cfc187199ab96ce1f885eefd6c87aaec9c967483c38147afff96a0274ccf3bed569117d7f90254eb13ac50da16e9a7e7b691fba47a8073385dd6759d44229896a4f7fd794db477e69c1616b1795b1a20e805613731b26a54e7f138a5a41b035492e529e834708da9833385270d054f8f0dadc94e60a6f39706a17048a5673e9a3024135c25be5a5d2a29fa12b57c01e5b7cf2128bb65105d395c3bc9dc0cfd1726cd06287227574fe5fab2aa18b1705252ccb02ee259312d8bb7aa96e5f4508ea22bbff144a6293cdb6fea213d8b73a6e4c6eb402a22cac2da710fcd9bc83e4221f10db3f8173b3187a0df8a3465ea6c24f3f58ee28455f26dcb4bb6ca498e2e03f04aa096004244761008a47baa4637952a01f10b3ae51530b95626853f1b8ba8a26f5cf54b8d6dc61116b16519efca39ac59665c1297f4093adf240eb70512fda35202555f4f6c776744b3005002ee40aba72d2b22d51db3505e4d09d12cc576fd579bb192a28814c037ffbc4700591494940bcffad98d187f6c563871d535e2e0a7625343ca26a31af492f08f752750de2a323122145e451b25a696efffc452cddb53c1974104f5b1a72d6d2ef4d97776e0afe033a29fc3f3716392dbd6555548f03589e5173a55cceae669d81f7409dfdcc659aaa945478de7bcf43aa8937ddc10f1d48fa9bd34873cc2b5dbfae3e326f90f5791cb82f15f818db31aca786a4e64591ce432e9db83b8b708d349ceb1c06642e2af75edf451db7b9077e96ef46dee96cbbf044133a802f3032c26249264aee19f3b3818d00c50fd453cef3f26a25078c12ece516193a95e7814a5adf489498920023eb5fb9712b7bca45d2ce2ac9996c194ffdb702b1baac2a2b5101c0e322b397aa1eac5b8aabe9929343d6f4764f085b14782534ef60147942f9b67311c75090d8a325a32fb814296ef35f89944cd6d190699ffe1913b891563cb002130da34c82ec5b6bae772057ddcd28310762655fb4eb84fa52ecbec09bec3f08fa9a0c57d51ed0f4170f65b557d1f351342a7fbbfc62227460dd607829d5dadfdb72044e7b61fec36bd2004c60ad7c9293d46ed8a9e251df62ecbf8889e0cd2dba772971fd152aa3d04b54f68fd0df5812c8c4673f7c662a4f7a0325f1df4c757eeb026aba1808364c6773ce331aa3ab0dbc2466d19e453b69f168697547211e7769776e8ac97979924bdf5c4dc684fc4e1dc19a34fc61872b5636ac4a07a8cbfb137f8eac7c6a0917a040aafb298f8b17a8e86c573be212c4477ffc3cf8ae3adde9c01dd63c9f2169c4d8f4fe9488ee7981d3770aa42be37a5a98fdc0551df1964c6c1baba37077925a01c0a8ee9f81d065e38c54212dce42111ea2503f0dd8aee7f01ccf87baeb3dec1ee8d667ea265b4f6456e431a4a2cf984f8dec7dc40576347b0c3844b2eac21ae29580e09a33a8cbc69cbbdcc39853256d487e57d65f7fce0c946f9438520c5f3b2d3c8f717b9c2116d70765ad78e53416994474d57022ddd0765ddcfe4020e31317e2187dab9500cf161156be8e40df76747b77e7a8394f391523ecfa35ff58dca9a3bb5ab2b72b9b7869b5066b7e7ce2c069d2de155adf541dcf4e786b795876a1639fa84babca13c75e17a42d56ca8779edd08f68a66e9506bfee0f83f709d334e62c236c6300f342ff530af06d45b7c1dd57e86ffbbf4280b8728ced26735c46a3d39bf8bca99826a0816c0d1343788eaff55d125c1afbf50d8a9992980c546a1916aaaf88eebd3a331b6fb85533589e5731925c3892ce1e7cdb1c4b591de0b89415944da3da747412993b8d33fb9b1affa5002ff2b8a916edd49a75e08e396fb63028b7a3b5c3fa478d9f063a2b18475853bb8964eaed21902527c442d43d824ff72924f899ca3266bff6284ba0708524900982c785757f4c7505e01c93c942cbbfced71550773c9748db958f4acfb8e273d5e60b53273fc349e61656eeb50e3b8d4ce11b6e95a81a2ac325ad3b9d9d76b27f694c4e5892ae45e541b0a5116ff3861269edc8d195574aa1d09ef0efd465aeadb3b9904360d43dc9168444cf45fc167e866bc0a5b86315a1c47281847c444141d0b95e9ffaf328efe09d78e4194465f06779d14f24cd2b824acf3d7de54cb0b7ca33bf16740a5dd14034d80c740c7f909ccefc67a129e2dec2a4dd8ce1cb5d7ab7202878637bc8a42de9de082851caac80b5958a7d9385d6dbda45b50387a047940b8823abf0b4b44d1d49982da110d65696dda5d93cc37bae36e918d2709a2c5a7161fc37d4e267e56d9ff204531f8218be3e3a4f66830aee5a4c04a17511050b2e496f101b18a6167700a62c7f3c6e8bc9339341a795fcc545f381bf620709ae0a8b13ac2d920a47c22f6f6e271c0607671f8dc6737065df8b2453895721c690da4026b6276f629bf11680a486ccbde0e36454df898cd8a937e86bea8ee205b64bfbc714b69349b41c1e3b7f9de16e1e47fbc21dfb4dcbc881b4b36e0cd444c5eedefa2ee334ef8db0743d15a0613571396268515e80a2de4f8582e26e4e0dad95274e7cab00e30fdc45fbf95c957389c6933bc01e1ab538436cadba4f5b42e1430b853c6a79526b003d4805baf9b2c27a63628a3e49b58eaf523989691fce7c5a20ad875f09902cba648650f6250c4bda0c5297211ddf47e30b95857c832c1065b8e4db942233eddc3f4e62f02485325c9ea7f9646ff2a50500c6214d2b50eb7bc0abe701b8a7c42a21d1ed40551be4b53ebb42b1ba1bd2c43f903eaae368119c84aebb5d9876fcbe4dbeec746f6b5e198256443016cfeaefcb222fea886706937ada2cee38571b8d2b3a70a9b07ced23224f6aeafa6b917bfad036da85a64a33adbf84a77a5e726e98ad0f6e0996ffce39044b6522935bdc5280b17075ddc28e2f966cf8163067c9896ae064c55a1c312d1c9a77d4192814b89cf825a22c8a0d5aa8ef5c80f24e2196e5019bcf03ea81e4252f95e671caee70d454d4cb41708d766e04f37224d23c343d4f6f41d49b12eaedcbc32ec75e5d55fdc667c1b29c53761ccfae5ec462aa05a977d435b3a3f8fc680327c54eeb7ffa88ff0a2766eccd7bcb6779115dd795121016e7f1324854e2a54b3acb7e806f884c4e293d779f47c3989461f2dbea2be2461d2aff0a148185db5c1656ffa32397696b9c1d2fbe1ccc670f85757a5b58024fe891cd6d4b1f0cbb0e3030b67b92f4073d713bc1f9de878ff23760effedfbc4849178be2ddb5aecd62c4a0d78491cef9b3466056a405ab77d09e867f0d2404f4cd000cc2b73fe1f770c033c9202f230643c68f6b7509e2c03e252c8ff3153651eb550550add4b27790f71b5c3f57141897623966545dcdec2367adb575ee8e748ccc49be4524d61730cec94b0f6f8682f7f305a9abc554e0dad39405f5150a9ad79d378b241cd3b08cb91ec8c062bae883c1b80a6526f4fc493cc0c4ea48bfb9a0defa9a11eeadf61f1986b0320264593efbf98929f6171b3d21bf2391c121d7a0b0d5baefd224d234fe7f21680953daa8b7a3ce17383832364aefbbd050b6b01f14c8981f7eb6780d43bf62f5f65dfd6cfba0c869c63e24b727d251e33248d26dda72b81e3b2f95632bbbd7c2d8ad49486c97c3902e078194fba67192a114d721dfb410586559aee30ad9bb520878b04f187d786658b884dd61ae837cba68aabb825525f2aa4c28c3df80def2b6df16ab9b6e82c2d0640bb1c28adae23924cf4e03b7e3cb9dd202e95ff7fcfde7c088308dfddd619b7ce51e0af8eccefc213b673c00f847be21d81b0f3f37a438bc53dfe1c629b3bb05b9c23eac99a7310aa2253b80a5e410cdda9a632c36e8171747f23a6c25a727d6b4fb0d6013b8cb02b119156f10d12dbeeb912cd5f01a5a176cc7654a79a34520eb652b9950dda90d7886e239a0a5d3cfe65856403f46eaf17567f31e5d028ccbdd89163567f89de3dcd3a64fed85c04974f3256c15fa55e6c00338bb87a72f4053fc371c13137295382cde05ed2bc5267028c5360015bace7596aaa924a0fcf4a272084b7de72d9e628d5679abf39f66ac7ef9fbb44929e77d6d0894320d2b68efe4d7c31aead83459b1447316143de0143b487601b2aa49dbdc7c8b9fb018f7e3ebb3c661af4bc78cde1ea5f2b5f0ecf5c0626466a92cdbcb79ad60553856d92e7aa5389c6cdb6ce807ef1877d9f3e1a63a59245c65cf4874ccd50e425801dfa2c270018d83108900105256c945b61155e092ed7f6b7cccc18d432843b0b2deb7ab04e3c88aa684ef8a79bd69a0f669ba70dc9e2e4f13f3990261a0293b91f72f2d41beee39f343b0f1e2824d9f10fba2a5bb6dbb764dd31b063733542807af565c4da1a33e03cc38a6f053ce95d5f4dfdf3e66ddd2c16acc0a96a81c7fd1b76eee6a07c9c222b6fb019b589890d2b8c92f176e7de7a99c549638d062ede80f851fee9a4a92b04903b3544ee26d8bad8e36a5bec26c6184016243cd2ebd6a5afa83e8bdcdf70b02c3677d3bf037b20a98796f11e560110b4fcb3e7d6f455dd684a3c0dab5f998bb11ce006161d164f53a87c6bc16bbe7bf41aaffb2f3bfc6f8f5302872a3a6a77b9958f74015b924cb6af61a6808699b573c9d151b18bdd232cbe93ba237b4259fc4435101db37b2cd7aef87830c243c0404247cc1f2008ab0ff60d8f7e52116be20c9d1089e3bf3d59abe01a44dd15efabb714b3ed3fb7e06af190963e04ea552fd555195849ad2e414f08809b90665f38f7bf6503f64fbc68c00f8ea666407f0b7b497734907251f5b6b2d8afd02cdb4d6f23a1290525a2166cb95905c7e18a5aebd165266b99a72e4fd1fa54df570a576b710ceb3a5f301fab3b5dc8ada0f5d2e9eb4fcbfb6b3b89877f410ee002533ec4a162634bd08e20df9f2b60761fd60b3351f07b6cd059ec611fd8ae8fc39dc06a3e590ed5f93d4d10845e14fa6e1e9151519d3f4ee61eee90fe7428b3ef5129946ea04b836dbde6a192e6d5030302390210cdfceee4d229e87f42bcc9d8df3c1f8726ac6a30c2c0aa2d782a746e20945b37d698c4731c537ec3510efa459a23dace13719beb74b218bc76b984dc4b1f9356e3e148908a83e363e45e0fe730841eb7ed2e501c5290af30ae779999835f20c3a06106f11dadbd6c1e8edd5dcb4e9e783bcdcec3ef61f73352e261987f85c8fd2d40c6892781942d8d3ae2e87a994463581933e567aad0a33bb7cb69c835c07cdeb6c6abc9273bd20902cc80fb8d8dd95155ef76213bcbe2f6a71fed24c0bf14ae978e28bb8daaee0142d285213d5690448cc58b79a4d06765c0eb8611e7627c2eea15f4d2ebeae1f916d1a37dd91e1e6175a0e6506dd84a4a330c143e1ca28d2cf638d8675ec6280ad44a27bf9b3a593ea2dc500b83f16b47a1184914914213310f1d0adfd3f1921210ebb07cc91dcf16a1528f506de0c2cbf1093e1346b20dfaa0f780a2541b89e2a08acfdb75698711f1be0fdee5d9bca907e4b2c11301fd6b1775f537cc291538e9eb707c408eeae97d0175e646a2ff112e84e1d3e64e73b3d3ce74a83436d1efab81052fdb13625f54eef22fc1f89d733f7919ee6f9b41cebcbe60579481eee7b34f71ae3c3054faec91540c4391e6986b5750b61622f252ee24aa2b3d86218b9aeed47a86d18b5ba4f81e2e860e26f1220aed81606b538a0b5697da9a9102e04fa4181f06590258bdb3f9c783d9bce0b4316079e1d7619795dad2eaee508f2a9bbece4ae6d4b12b38e3947c2da729b6b60b7238534cf171f910286cf49c82e2ef6ea99331f8dfba747b99b87cc9867db1e38f73722c7f4471ec23bc0d6d42e104fc602b4a7903dba2966ff16e4745bb406aee31b60ab766bc7e3b03d417ed4d1466f4812d4a030f993cc001c04d5e2bfda542cfaf477f2007123cdb84555ebaac1e28d1caa795d28af9592baf682cf9676c675b85ef3838c5dbc4a9bcc3e41addb14f549baffe7a38ac0ef769b2bf0eb9120531337dc37f540681f011513613ed558924c3a00666289ac8e8032791bc978c9d20b78399f70d04b93c60c92df99ea17cfeec47f4db8ddf905cf2d4cb164830b074a5ca7f54e6d63ae22a16991f9043a38ac86283c7bec0e4a99f866fc2f2c74d164f4638f03288a45b475ed227bc91d1456d49bbb48562fffa356dea285f412eb0c749b226536a457cdde85e516c85b6d9eb7e24885ffbd527ca2774dccf888741d266fea978281553ae4a040ad7b46cd5ebc5bee0e1918a45ff5d485f55bc086fc3d9ab5459fe875d2c5ed069b18c5e513a8f9ae557d92dfb59eb08671494f947ed685e528e7c8175e9b7bb76d3d8d93a91c87001e42a6a398bf77678a0169464f36f69bc9e15f5265027bd1dcb64a42378ff603662c0076a4d06fc68894444f44e84ad21f4a151efde6124bf4f07592a2b7fe4f3661fd191f7ae89b3768ce8d47f9854b5dca86d20c117cae6b360c0d184ab8f295731ebbd47b7fdcecefa968dd23c3a435949e8c3e5ba350dfdd37b67a2bd002806cdff7103959dd407cb8d276dcfd40daa02c1fc223ae9400f6d98b3b3c61d06b1df8e3fd3078b17091c2ffa5472ef0577d71441c8145412ccd0823e104fa679433ae6ef568651a581c91657a1fcbab9357885695d7d652086f451ce0cf36a6cf0b3ddd5c5f799f0454f670d5df739fd73aaf451ba469ff1b81e6213ef7e33b972f95ff5650f1d7785788e6370f3bdfd016f166cf1d3d605dd5d8f405b49dd1e6cfc95e1e920c12d1f16a2776606a4b21efac55b0ecb5c02d00c2cad8d2a8f268eb3eaa809dd004b393c80e2c8628e05e62a9ee1dda14f865302f29e94a930b0afcd3e0b46766dc5e340f2544379527f538347a6ac435466d55460d025fa6d29cd59f0ceb8e1ff6277804c7f95a3b9681d30cb993c1909ac93adf4ea0c9b8fb4fd7c2372cf675213bca9fe2e09dd60d6f6e8b08448e4e39dbcc0d252422c633479f97542f85e66ffb2cd2a0e043314980d7ca5efacf20b736dbccfbfcf52c2dcb57b3de8b5b429a13f625ea5734cd735b1cf8246521fc5b0ac8a5c690e70397ab3cddac9df9f5577b8b4abb26f53a0ecf526387c5bb863619dbc9979fa8b6db6693bba57bc432e50ebb49a7c7451e065294e503456f75939b5b5d58b1d81435d084b58118e1997abdb143585e593f3759800eab0c83af6579b6a9773ee64098f50d471872e1861f5c2d45d825981172d05dfa8ebb7fe1b84eb1033a8d8fdd7faa7db8547abe50fc77236271eaa925674d2228d1e879b999085d0ca625053d6da506c064dd5ea8b6f703d3a1e08ebafec8e66efa398167d72661c89d546ed75542f0f160ab914a15722ad59a5f26980871063c49ddd67f8d4dbabd03adb3253b46e72e0553ee0220c8a504a78f08432b37a6bcad2c7beeaef738ad5589497be147fe56034d730fce5ec059118b3aa0349e687a1c4b9c1666cdb16964ef21e612ea1f3967a7380839e0b39cc8f49e07655f6df749813ecb5209dab4f2bb36043e9e349d1e8aea3ac9885c6febd1b10181887d0ff2f6e8605050f1c1638c1c9f3907b63d81e63c8a050b9e1f76d6461719db9aee15609108852ed146824f8d3b58fe272ca821ee70c1c08a7675d5b46c16e1ab900890c18b5a0041a4d6a8b5f857f84dec7d734943b746c592de4c92958e59d0c55a3f44a82e6e4718220d25ed86026132272d706db2ca955954f63cd2c55d981a47673ce7c42236e23c7c80b137a4eb9601c61478133f59c516f5dab356625145a54a81281bdb4fd0b465f1581c731663a1aba44d49fee1a6cb2a49f1b47efd1281610e05b1ff1170fc8b70546027234ad535630e321a7d526d9665ead4a2151f712228ce809ed5893ab58d03ef49f8028231ee4e3643ce8bcece359dc9844f692d5baf46b5fde8628f87472ff19787571446fc0adb2d70b8117d50435a3a6447d6d893da4022b6e9e3df4c29c8cb5207ffcedcd764f6fba162c1fc6ff7de59d7e21de7d6a69a03d4928d305d5b52fdee9b61c1f772f46e80e62142374f93ad4a3f684b0793b435746d7faa0cc705dcd868b9833ea51d43e21deb520cb2150f7e38ca2019231c0a84aaf3e2b97e65708e3771d6f2f75c8d60edfc58baafdeb962b28752916afe1c32665b6e65605481f194345604f70d2309285c02ac5f29e00855cf94ab56accdf337fb97936ae77068a957027bb96ea515485664bc00472d4dc65110b59c900405663f2366cb6ffe2c886e88e36e72c310cd73d19ada27c186994b432028e1853afa64a8e0050e43f245d5eb11d61ca98be37733fea6ebdeceb7596507bf41b37058c6cc85224fb505e5c9ad53e2b364f24be9ab00f2c4cc907409671cdf5cd0e11885c78cfd8a10a0338de392dd2876005238c79089d936ad210d8727a219a5054e6fe2e088130b7c004bc5b37bf9c599276bfe884a697edb7082a3f5e9cd625bad4e452a337368ed4037475ec7da683da5eb64b619d8fd48465a86aa7f6b82a17f7b2283f51be85d6dc154541c2f7313d79997b3da1e968246e6e5a0fb94f02d8fc5b37f49e8cc9061f09492073bc2bc1d02d7c38bd619cbdf41cf12ac46813b1248f843d39c6a319b158b65113b218ebc54575819ff6cf6386b5eb5d04db934a95e452b20f1c4f826925c421cb59346eeaa5ac562b23cea931bf4586b8349c4610f0cffa95d8c9c27433fd9a07deb63b25a4f17b81883f40fc1a42afa112015e1a560cefe45bacce163f37d31fd3f4acab728183eefb016cf2e8395fdbd4799177e02afd5335aa180c622d75fc61afd092f4c0b93c7acdf4235e07514ec301a5f2f036e493fe8545ef084a5cf28ce6ffd9d9ea30d33536edf0f22a1651b6e28cb350ec9b6dbe5eaa15641569366baa307378749ab7bcc79ce6061235ec405536b4fe6c429c8b2baab8394bdf9d14fd7606bed27f444e4edda969883b189e08db2480aa6174bc31bc356a7ab279914746df5a831e16e767ed4e26ddbce9b1079f7e8a193adcc9d3119f30db02c581eeee6ae402838cc8de78031f92a60ab9b42943d1a58e84f0104fc90a20b5c9bba77b51818ebdb520d34558b517199656f59dfd40ee1f975f54a262dfa0d658d27a67fa090d11e82fb7025d29982b1f58e422d383b1966031e01f62a6b24d0b7436e59d83e88c23ad45e3e4c47e88b47a5debac3292512b2ceed28d538ec9b86b1c66f8e4be8cc419cea137b5ee11a008313e947fb706118d9650948b72bd61d257c8ce2823a0f5c7493420421c33cb192aedd5d1b5f7801a6ae1fefc6f619b52da81111fb128dfe7dc47f58f3c96549be632b57e7c99ec80e6c6b3170a8b368bc828915ad0388af87bb022bc79f3a3305e33ee11f735732cc1fb53384ef19570429d721494ad90f4f4af5f405c9047e94d8d05c8a5136c40288b3ad9e1427530efd496556028438a9cbf85cde6efb87f2826c84eb3e0bfb56933b1025695e5cb8f1f400194d6e809394d80610b6b03083954a0370b8c56cfcf768938b3f608155bef2759f515a2dc67bd2b34cb3cbc0c9d2dfe4d7606d027f60f97699d092b12a4ef49187f2cdaa4d0572a46170638c24c9cee0b1bf411d6302cfd8abfcbb1b6219829e12043f53ba8e1836995ebec47348194d3f5cb6b69bd0ff10c196f3173119485e50316df62e4841dc6d9c6f497aa49a17a9f3014213b1e59ba523be5a6c4e871bf947e6d06817299209b93f5d656b84ab8a002f4f38910c62a610949d17627a93167cc412e7bafb670344bfc848acaab41a003c45538fa99b5266e694c4568aba6e76cbceccb4218646bd989ad4b9c87edb9293248e02d79ef919f28c05cc85b070924a8a344e33e038761c23127d82d8ef810a7ad8c8b0f79d0f3de453cb0f6cb5a7407174b47c57d3fc73aea28816da9901ea024ec637139929da62b2f0caa3fb58afeefcd874ada8f721a791cafb64b8909c7936173d228a318e64f1f948bf5b2ef1aea55e7c98987f1fc4220dcb55576cdc03a8d804f36ee6825bd2a77878e133b0b3a963026eab52c6ec825645de9a039009abc1e1d1efdc6ebe2ad591b0a006915798875b0f02d5153521a52d2c2c77f08b578c5bdba393ed88464a7318405e9ccdec448c12171eacb589fa71e692ee3e59532aa0820e5a4539d427c74535895a2f2e34d99f4efce301e8b6e8075ba8d369244309fa844d0ba608f08af370d003598feb66cddc766333ba85beb9727703289df35b705d5ebea60807188d665b1cf22828f8894f9136efe120739caede7df011ff9ca372a027aa63d7a3f1e289c4c612486a801ab8190175cb669d7baab1f51c11435a76bfd6d9d9c911c2a78b34536b56304ea5298331f28d417b3b5cdaecbc917029d7b0bfadda04f7e88eb8386cb18e1a288675324bd9114743ba40b0cd9903b53f4cc3ae02da62838a3aadf22fef3140371a12d61117aabfbf53e1bed97ba5961e8b5e4144ae398c69604ab394201ec10be0c5fdba484c518bc134ef4a322c9b2b46eb9fe6869eac204da1163cce0708c993e8c127c5569a19d3615350a6418caf90f71168ce89a5bde8fdd45055298538acabb784c29e4d9f50ec8bfd94175ac3efc473bb74aa4fa94dd5b857b78e4d1490cb99859ffe95d954032b792a6ab22ac812b256cce071262125f2cf760feb97d2fced80aa3cfcc6cf34407b5cc086c6ddeefed14daa884d426d2f4d57b053ff04f5c42687d281a806d5ea98082ff7ba0ddeb5ce5b8096678b43173df27d6eb771d49d43d10aa1e5607048772ce2803744dd957eb6a4d3abf94289fe38379e57655513bc86805b5f2e7314ca9e7a1b0e380b57a90f63f16ce3f7687d77732aed33384bfa51c3006b31403de8a5ea1e2a14476f42a6d21193d1f71d34e7e39a1737f65cc6b0fc101e34f70ab2371dfbd36c6489d3cf87343c0d4a8d1157c471634fe884d45581b2a3ee01a26038875a6529f10b132fbc7c1fcb5376d52e1f9366d933296b32818be688477d8e8280dd107e4e29eb348c820d33855e34bf9290d68c534e8e35741e980ae429c99e8130a9b69f048331628f51c4c3f23b4fc502999f6065959a61f9ad255aaaabec71ba22849ded6680b053a4a6f89b82f3d74fd9f3ae6d4bc84d6ee20d6085030d5ed5ea009761552986c14c506770befaa1943d5c1e4cd0f7c0af8aa7fd5565362dd67357abcb4458ca29deb781a1c00182a5eb574b5e262a9e8f77f33af85e5d9d7f35c6b87c395a8a2d955e5e9fd5080c097d83c7330fc5a5a22789c05607d2ed63366a2bee2e13824a50cd8bddb8a49906c2890dc4cde665ab48f0b18f70e1cd316cd71bf7238ef11c2b6ca25bb8a674dae7067e170eff8ea19650bc15174565883a3f885d920a977453d1f4417b45aebd82293aea82bd582937d5591dc59e90178b400937ccd2581c2a550f16d8cdda8a391ec1908eae107a80355d678e939aa91b1a25afad103756f03213ed0b4e5c4e29dbfc9ebf6d29e802a192fefa5df1bcbc5b061cd9bf8806fcf5bc75e1879c0aae7cc03741e746d13bbee53c78714f277e99d44abb8aa00ea7f27915f897af4e52200a28b4aa46069dcb81a211808e6e5287c66a3c1660e7b549f57dc514783d7aafcd79b0a7d27aa4607a84a2ef7dc574fbf0b9ade967ded1b0b5489519bb1db5eba9491518bc464a3308871be314c90fdb3ba3a50a05829edafa3fd6218282ece6bd7d41a826178f823d8776909face37ec1d3e1921c2c8bd6cb583cd1ebc2dfbe437e0bc310dcde9d4b39922ec8be0a656c70d749c5efd5eddbef666639d7686d67c9d639e69b8353415192167ce591fc2807d2e82ea96ba507e0528f7534d605992e566cca48f7c336f57a3edd5f4c861d0a28c5ff8b1de529740407ac51e4cf229dd1cd9b2337e6905048e4822eae54204282e7f50666d6f110b91a513bd97e39f149c773b425ca87185457287ad004ea61db00694e90c4e8727b87e0c3ec84ace23fa897c3d2e3473c2d136a9f7b63dd7de83cfacf671a4bd5b2a4095043b81fe00f07f75882158070aca58fadaf96147641a48d6317ca8ff07fbe9dcf5fdc054120d5e373cb257f52ad226abac2a9a84646fee8add21de0083c25d71c2aa1c2282424feca11ba5a4ceb0fa1ea6f10f8941a1d93266cee6bccf87f09d6a01322f80290a281048629aa56e61e1c7fca012671d15b11bf79d825566342c12db8445102527cb1cf5eb3a99c1e81f38f1f50de7482588663cb2a0cca4a250e99cf52dc465768ed5e4a55024858b4e8d28a14b26c8a3c66f258ec41d7ee6391c816ca60248e93b6ef87d12c185f48817f784e8fc9095d28c432c7eba86133f0e12846217d1ccea60a45173f2e59b11a9010af8b8dffd53dfc264a25aed85105e45d9a4661af3ead41d578934c4e3a9579231428e85a716bb62b95eb62f76bb42d1ca7008c9e63e6ac1f17bc37c260660bcbd13dd96b5a800e90f7816baffba0349c1bfc42f62fa095a5439647fb3d91962cb130d961b79f68a9938472f2f2a62511b707241ead20bef1c47be002b1e6e359df4287e3e3d24c6d03b4b08f82e1ec03120a517f2626f55c9a0cc77e08fe6161b03fad2196b828ee89fccb7fa9eb2a791644ff8b7eba5e819314691c2c5d18b4c0a4bc34fc0f28d2d6c948c6110e2c57542df16f78d46b9c52d7328bfe228f2d251430256a467e72543f795ec775986b31a292295c64fb37f7d94cce114f391203e1253561d11be3f937f841359035f2b5c24ee8bea55bf2d86602cecc8cc7a2919471874086f9e03c04e1f4a6b3431b8de06c29473b625348f7070dd749e4e38fd92657ae94586a07d384a48c8db9c4348fdccd89a274c0713cbec13c392983c5fed5f72419e46804d8c477ad91ec7b4af6c4bf4dfbaffb0efd3e7f0edf9d9e60693b5ec751937216753d3f58a50d78a7450ef0d637574b3f2c477803386b2e1236e33696faae80a41717e976ba55be57752972eb0e08877c622624afafe989261f2fecad0bf03cca98f78ac09eee4bb6a0ef9cfaeef884e35f956a94c2a41ece20f1a144eacb9133079c7e41be0d5626582a8f50d32f209857d2fec3d6d890429a03000a26e53be40229350b22d05c7cd498a296c2089e8ac274023b20e836c606a027e2fa026a614d9f4463a1ed50fc34d34e854ff120a72fd01d64cfb327651f6e1b5d02e55b9dfcd85bddaaa70b996f29873271719f5ffd886bb08cb48c35c3a1d7af7dd067110f89dce8ffe14bdb372caa563598cf6c6e298a132f880d6f4f51941e6d1abfb4b49b759e65462137d86a048969ad6f0fddec4adcd740a52edcb09e41cf5fd64f21ca480c0da343ccb780c71f92c6cd8228727ffea45137dc570b26553625646b48091946bfc7c942d556d445c1b777b3a53d14ee39a5b0aa4f351debe782901574b357a54d820d6732b085bf1f861e6ded42c1a3ae50f80ddf90c18c14ab3dcd3301b3e4e004122a6d319c353109288c5f955af9ddb44b2574d525063f5e9c2df5bc7c7920b67ea6d5c7a0d9b5b940012176e8f38a0d6f897d713a0aaf84789f05f10d22254a1f59a8d614130dc74beaf1e37ef21375781aafa033b23077ff8c778951c2e2497dc90b74f5b61bf88d8489368184069e51f3a599262305438a78e975f7a437976faedd3230de82fd1fffa0e7e248a7875a3c78aeb9cb2ffce700f0cdfbb460c2c5447edcad3a4a6696565aa0fb26bb01777e33c618283c394596a4e0d689e732f0e68049c2f702a7473733beefeb13dd2744d38811abb95dcd4a9d0209d068ea3a8b9276c32a9bbfab3924d247ee43ff951ee4ac1993d94ffdfead33ea20e40b8aee99612f627a8871edf8ca7905e0023fdbb7f3ab2679ca13298d56b735f4c203057a2fd67de22b14109c2bee53b47efb646bc79d397b6eeeb31cb17a7e4629cea4279a94e082f2c40f41bada4dd321acf14b31196283a6c8f0c071ad3a7dfda1f83dcf7d97c9e29047db9af582b5398692f52111518a82e7bee648dad98be6732a1bc891fad09dd9a3217eabb200374bf7836fb870ded0275d0dea95a63d8627d42c80cccf17baa9f72ebfd14a0a970b5d9905a2048da9e221dc836f8a33b97d9ed13cffab553b7f58b8541fc274a55989bec6b67473c7634462d4de0bb759a532a6117bf23f80ec50dea8d1f63fb2b76d4820fccac22feed667627d31e7d2b2fc53c95200002100e45d0135d1914a5a021fd12e678135329ebbf9eb8780461572ddbf5c26b83f96da03485f4bef7bece4190cca425a8fb957a7779cbc7ca47d05119dcf42d0afbe30f6443624fd122755b0bb28e5d05f636eedaa84e624433afc1e2b6fb228be4f74af73916f4b3ab96c98402556958cb7872468b0eb0bed33f5fd5a8a28467e289da01cd1c2bb4f47c8b67e9d806377a9644b3c8149df3b1a64f50ef11a00da00820a53d6458bfd7f52fe5ecc0253298e474143d9e31149d3a744d35f073396e28432a6677c1c253a3971c8d9c48648cbfbd8da2b196a9593c3e1ef802059e7bb330ac0bbf382461ff83883528184ea393b32e40db1a3ca57a0c3d26ff4a3966fe6f2e43737a61c776cb4b7a2f6adfb4ca7ba3053c975838d5ef41e354ff84b70efc7050fd6994e7a9f872da432098af905625c752ccf6e9d2692eb5d7f02ed41cd9029f75863ff8d4e5cc2425bb6cd72cd1dda7a6792c0fd754c3fcd788cb11841556d73b58ad69b28a8ffe9d70bddd97e999b98ee5966ed077499efa16e46b43e0b1fbb6e7446e0d2e926a3e8844fbd9d0cd0eb8f8fa6bf9efd89bc28b69b0a5be444b44e69ec8c897e60892127fb894fbacb951fa1fe710bcccb628e0424d115451445b961da54bf514d6029bac384199012124455fb7e8cf50104d152c365d8abfd53956a3a704dc75012c765822d3612f4d7bd6e515aaa2dd09029addce2d02a3fec09072a7cadbcbe9e648160fcebd6c8ed96fa18607750b9c64eda2db8bfcd3225cec88f4c6237b60a9e317d8b41ec72f2c5f8f76126448fdc7a7ad428065f784b6cd3d261aad0d9f118e68c20e74a8d942fab3b467b2eb5b914425a0c1b3f5ed70a9b0b493611874c88a96c9412ecbe53fa31d86d96bd4147c6067d2919e0a93b5a86fc00d6d6339a7c70c8da7ec278bcd99593ab5d707c80d873c9e90aec4336c7c5d5c1fd092782a3dd98a36be86e89a7cca4a360c76d019d46968696bb666bde47ba876d93730761ba0f48720da7eddf6910a2ded6d8b289a0ddff52acdb88bf4015544095a1258f19dbf90deb753e71e8c6f593ffd410b6524d7a7cb458c6c83338ae7f50220ad589dc7e4bae89b337b1166edf72114c159a5660d74b7d7f3ba13241281a9dd3948db69517cbed4b3454965fab4e8e200327779aebc59e7f523c9dee9298a9afab724a6b913404f527ae388b2e6860c052f13a64d3f97924d11b7d4fd84604a88103280c6991b3f2869af76d68902d1b6485d10adde8f6de46af5344ceeb81fb5ff60e5ffbdcc54e65fb2c02a6e6724dce57c6120b595fd5da7dff08948cefbda8e97b1b4180ad79b9b2accb370d0930a4f273687aa36c6f3b060239b95c3190305a16e93f32c63dd5dd6013641499ef607623203c55000f18c52d673f5f03d62eaa44d3124d2280430883953d0b3a8247add7dc338f99329ef2b03070f825300b37833b1c12e2a225174c90c55f604fe0e34aa5b3271817234d84dbfdf058bc67693750b56d51b87315445c6c077a5a89b621015db8887c538bc8008c5a0c9ffa221973641eab242b54cae747180c8ba37725b8f17d49f8192082cb5816d3d2231da1048af1713bade721a7c13cb3b3fc00f13b493d35f2de3481cbbbdcdf9fd985a1116e2f118a96bb7997e4d56fe768104c4318865c93e52a8b3fe6004759eefa5afce73ce1c7daa4b81ced847ac23bf002293ccd5035acb2eb2d02a652cc89dab1ccccb8e9d9463ae3ba2f7956adff464ddde6f1200008a26b197bff83d48460060c599a8c6491147316a003e8db3d35ad9f6a6757ebd5d710f9ea885b248c218e3c4876c2e0021e908a4168240bd6692c223e4bf48694e38023def7dd29384e0a30295fe95ab4d60803a6d0a11c2188901328b88ba29068aec5c404af43c26156dc512fa9a1f870e5c2343a57e8667db2b40d1a3ced0ac19bd91bb49cb9858398932ec23fdedda9f473eebd2ca77bec808869d094d00496c80a8a910c2b3464e6510045a6921e18a0ef350bf9779dbce489804165130f87b75b8cf26f3f1c76ab089213f64f6c6dfb94ab4cb997e8a1071617dc8e2e1588c7aed44b77e8c0ba50a1c18d1fa73090a0e61c15e57ea3d4d2a4a35a7200fac92b4382582212befb13216458ea4e5363c4f5ae5c75dbde989e0671bee980159b87ed1692122c6911ddba4dde7b3869bd464309709fba8117f5584888d399f0e17cddd1f22f8d8d4bff70095db33b0194be2b3ac6628f540de31703a235836526ce5d9f13a3721c1f14cedbc68064a42659926addaa1051d638f32c49a853a5a034ba9ce3b7d464d8786914a1da6c7b0630c134885ddfd38aa393dc1bd7cd5d85514f91758c95248249d64c61c13b7aa5f6ff514de95b25259b73e82bdc5bcef6c90fbc29bcad80605ec68383477b38c468469423beff8ed1759ef2654055bfd4528ef3ae1b82a3173e629acb66d07349b8dad31a1e53c4ff6563cb3332be24fd749318c4d52a93aee52b288e3b3dd8e0cf5652e2929a979f1f0d6681f031b4466f06e8de48fbde627b7a196cc0d1f088efdf0e6d338ee118d33781d05e1f6f33acb580987b8b07dc756cc313bb046a3b05627d106c609bfa23296d45d1be805fb7ffa9015a02e8247d83f03aab4621e6c367e88c192eaf137868715b8913ece36bef0c9fa4ffa91d7708398f2b16735ddd24a63232a3958533d85df5405a52f2ec27fe3603184d78e603acb53710e5d7fa55866ad7957bca7d028beab16be91cb52fb0fe39ddfef62b585f5865f16bcce662b6defc4334a949029f129a422e23fa8f1a79cad9ac34e7a2ed9cada824a99e58effd74e8c6a6b5515687da5846b44327ec2c6140ebb3a987da791b3ac58d00d319268159ca51534d124aba3cabf4d5d1cea715a4a352396d37b725869947d634d94b0555654fb73bcfe89f9452a60639fd1f3050739e364705486bb71697d8325b411ba10a415833499e7c4ae93e3b1f94ec9509ff666f495a6c37af0bce46cb19be5c77ec846dbb3dd479ff4af86dfa6abffb6bfd87a4d2809bb1861c150850bce6a0c29993583f4f8d296af0523f61ee8fbb6f68c61442147f8b96eb004a923689ce539ba7e0b98378db0e2e31fa8350a5851cd3c8bc6d94836a8e3defc7e0a91f86e9cabbedc4a20593c7a89557c7b0c1731e8304373386e8ddf288be4c39586fa48eb8c69577ed4755c1bb56e450fc064995ca6aeb2946bef6d227efb3d112c953d7d4e4986bb7d106c2ddc11824de063e1f202642c803a1d8b21d71919e11d96c00e4cf432fb55844658386c886fda5d51fb0e55aee7a21d9b6b8d5cb805c76f8c48fb7ea632bff336d755084e0bec87d13183afc98182acd35e01044091ace2bcba7215fa684b41f005fdd205f2d7e6083cbab2298c78be2971c8f94e0b1dde1bc7f598d8b9d1e81e3fe38b9d3612e82546d1890822abefca182a3ebac8ad8dabc227f7136ef46675a3f4565a5186cb36f4ea206c5ec8471fabca1e97e25164fdc13915eafb50fb4e893fcbe76539f74bdfa6f157dd92e7f6d2e2df653af7c76217eecc106fdbc11dda0129c9c51f162bd2a27b82020911c04ba8c8385e5217d1384cf75f56c8f8a819559dde0248cb856fa019f1eeae2fbd846d8354c279ac20c6f79244d92537e22a65de1679c7415dfad1870cdafd26006aaaea705a84c73cbaba41292e0d7ba9769ce10f0ee8407f2574faabd788bd106b7849864c6aef1f37fb5f6fead79b4680f45de5584a6b5a5ae09065330cff25a4cf9acc2331ade863ffb7af1be96a08937caa138bec7846bb58aa2aad714a4b8dec55f1658eb5959072ad1c2b71fcf45ef60d5930e4370b05c7e746c4b3431fd1458a3a0a3765e73d39358f685a6c92a266b95494f509e767f3c6d44cbdaead919f73a076138d3dc11dd00c8e98c8ae06f44a0cfd5af247dcd6cbdc5976fa6905147708f1eab51c3b67c57c26b516ef9fe4fb06630ae7f08f37b3401cb41294275a4cd16c4ddfc406df164fc860afdb57b8343057b6b62d1cb58be9109636b3874b7f86faed6d5664f0176b6ca76402f69187fd62a79cf6b3ff7eda155a356031116c67f627182287524df75013a2e1b071988a387042f3242a0a006d6381ee962b373a4da7d37ac8a1c9c3710599bfd96a2e4ba1d4ac13b1514956e6f668065d490d930396242d8749fbb233592594f04dc57a740aa7990c5614cdebd6b689e0dc9c9796aec548fbe69b6410e701090439362421f305372683767e0d0b76a8505ccfd93a68093a61a8485b26817131de74f28d1968deb65b6e6be454080c00858a05784325b97d8807c293212d6bed350e34d6431db5e821001508f56a5c560ca8d8df041403fa6beb240463c9cd4432fbdbc3522bffe7d7a1fdcdae7051125698df923fa47394b89f4fb48eea92e1b5babc40e579f2d2c212997eef3c1030545c39752998d14f290fbcc64ab51e2dd7a89587619a69e5ac6c19f783234e2346c20ef446fb2249be4ee2d48c38bcc40a93590ce84c6ff1546b069c8e7b331db8fe8db23e60570fa044058ec05b442b5bfdecc22101b0a678f8a1347ff2d6cef56ebecdf4e61471de56938cc6363c36de7978878992d3b01ccac3f1fcf0fca9eca62cde6c2e8f7805bae1625154b83548d700a0f096d7a86b160ba1e672ac4af1fb224d90405d42816a17bf08725d253b1221b76412a286963c7e00cdf794854a0c3e14956f22577553d2ce13daf26e57158902730443acd19c9ac360e397332f7f7e8cb1e0bb155c27a3dcdf652135f17542e363a2430f35dfd0b307bc2205effe36503e74148f9d13f02abfb8fc048169f29724c36e56f8ee858cec710c55a14a494f9c671cb9876d7eb53dbc5cfa5c70e18d0e22496d946a700246ef556fdd0ca4a0da39fa84127ec65022e8757fc6067702f3fff52a9b1230275671d251a2c05ada6dc3b4dd16be5fe79a6506fda39f7817f7c11d001eab76f484a36193f6eb928488f29cb6b5b0bed7785e1abb90b2b780e93b4269c86307421550dab612116e802f25badbb3568f298fc85deb9bc832d6d4d0c6d1931be856aa40bffa7bb51643bd3f8d149ef4b7cd9bcac36d8f4ffc4955b3b1c9800ec8d5669c93902ab30d2e23156a3f5be6fe8337d9c89a3aaed726ce949d9478b3c07caf012b43a89dde523de7f76d7a199fb0aff35dfd28a5b462e2ae97d3e672022322c1dd2e390de3410285752fcb870f5651ddcb082e8ad13f26c2f131488f0b4aa9fd7a1d2cc3efed97ca5fba73a2c47d41f8aa853f61f360e25f1df929c83131eba35bffadd40e0d53353f16c4c06211254ce9b39fc5d07527737d3411287481ade570116190a216f30099b5b20624d8617e6b4b7a27f0a9f32bac8837dc6bed737082b98e0273ff1cbf94e605fd8ff1728c57d77993c0af618601c7497e1c6fa23612b5b576b7d0d51b7472dd5961993aa92392b9dda38fb0e8fc98a417b24ac5601c9fb01e08a86ebb150eeedfded4ad2129f747bdf10423c33dafa7fae4db870aab78acea51940ddbb6e2deffafd67e32bd9ce72eda21f4b6e1a0dae939adf18c046905dd7581a1e1bea439be1798e9cf39b17b4cd73bf962a2965e9062bc7135e0399d10094d3ce1377c219d583d445af134b9f5fe27d27cae3a0710501357d64781c6595f7d2d236b40aa32d0923ed5db9b3c007629379251e9af80c681e7eebeddb9a30bee0278622ccce195ccd6a0f87841280e836ec670a455d2938d76a6d2f03060615478d94629c613d46bf6befff1873105bec1f7e925bedaf1174bfdb487cc84843c59bcc352b0466410ef3cfcf65948998f4b7acae4937d690691d417b4ca5b50f548d4974cc9a8a692c078f358793948b666ff524eaf7ed4dd2f4f2ac02e14da9763372824acf83e3868bc3aeb7c88b2dee7f8bf9857230ebe9c627269d99a6e8d40c1f0c261ef486a27c2277045a6c6930c04711f16f93a60f1ddd3d52c2c05c0d1d5970072e8368c002a900896f393abc4b9912fa3a297954937db5596cf8e9f802b0fb6781d0d2bdae7e7d923aa3b1a3c1749c90355b310a36f233eb168b7460e723121cb6b110516f6e680436ff78d34302b53fd4cf27c7ef15ba50914ddf4ab00c90103963ef1d071b95bcaf1269a77c3b98ea46154319f6049cca40253d451bf1a79a75e673f7544a87f02e9f017171003000dc32c5d385328a322d373756bc578b8abf596e0a92a22e000861b31f1507c2ad6cc754c82f63f54d67d12e9089951f4375376d0007e7f3b3b74ebdef79ca4091952e66a4699fe7f69784917a2aab15d74180c3b7472f1577f504d026cd8b8e0f9a7f3fb99d00acd11cc3b54ddb38d7560d5208fd0a4cab0aaaf26ee3a44aa27cd7a6388ba5d9527dcd3da37bab8175911790a168591950232aa8c389b5fc4a736a8b2f3dac4efeff73bdf9cee7316eaeb424a3acefa5ad66e94dfe2100ec6a0f3d5266ec708de9a0d6542c9437e405aef82640d371bb24f1dae241939903326d3c4a1414660d7462dc67df5f221b6872703d17c3a0272a9a2787d4f33e9ab4666583afe5cc39ca0357a7263cb6127dd0e3671245f1f6263e2aa476b56c05d8bb50d34d70bf92a3e1ca66dec00b10dbfe974d87b1c2cc65185410d31113b5d497fa1805fb96d03d12eb8c72d593fc658afd8879a7f4cda854535e1ef90c5392fb53a6117d83eeb609f2548df8e0307aeefe7455c25d72fd526752e5068b68b80e15c206ddcccc82303ee7d58733c156c5569cf9ef125cc8f87e81347106768c2b5c0b39e0fb102e879be28fde345ff644caefef60893e364d4866fb56d8a5be683c5baffd3a1b44ad86e3109af2e40a84bba0750f88b3372bc421fe89aa0cdf52855fe1cd9d0b1b04a6dd95ee3e910b29230f6d1a6830d9fdc2e8e72cc7f608bef87f71b43354bec92c579744edf8ffc000e66f3f6d541fce1241b0764900a984e97cf74cf1b53f34ee3c2978b647010bb9e83912ad00d33cc2306ac3f32af748146e6d2ca0155ff4b898b8738bff38fe61d2b424b859789d077c561eb84f9a89cb30e8c55e8e1556150afb9a859fc52f0b255d879d7e17e12a5a59361c073016e03de6dfd996fcaf16be4d49ffaa834731cd251b74aac26f390c78370118224b2fbf7f2df4eb6cfd8331d9765de163cb5641a57c2943a2b855b48a7a152692932521960117b7f8f4c39815a1f4d37e43b0674ceeb9021244fe5ba836245b9dbdee1e6f762f153a72db9337b62977a5da085fc5f5323e77294ef089be53e2ac8d516fdbba6bae6f8e5bdc1fff01d84c097ee6c669f1e5cffb0daf42fa384834b42abd5aa77bcd21f82b4773634f84c931472bcca4dab01a46ada7fddf0fb36cdaddad0584ac9d934af12f806dd0516cf28211134908acd2c8e23a36f1606b5a9fa6e1d0fbf188452ab02a039e6b4a7be54352365c0e8a9670e35a19d911e46f634491a57531dae200b4580fef53fb6a858a91ee6ee06aaadd78bc36776801101488a22dddfea913d0ab1842b0122b5bdcb328cbb2bb4d5108debb15110aa650e1067900200b394137543850ae0c837670d1cdfb2432f5d45639850237c06b663d7f0e675e48b77efabbec7aab0630fef791ef4e3f34eee0877ea0db1bb3eeb9f0cf79b166f65509c9a021e15e9c7d9f1c6bc2543357486b966096b6f22d8b3e17e41d749d1dfc977422394f2118810048e3d2cf7987613eb6e1e3c303dbb6d71ce391c1bf73bb54937beff050ad6ebba4bfc6f9a82eea8460e66046d11ec538f733d4f5b9349d4e9153bfb030e06001e698863497c8ba49f463d37b5d4dc4bf07b040812715b5bb9ee0724e81c1368a51bdec0ed0b1c5305eb40f97567476d37529295a3bbc82a94dc24922b17f74fada9a24ca721fbf57f43c6c115ec6a9e86624e8eebe5fc50e0450c76e0220406f0a6bf63596c5826e957b358d385aebe22aa32ba2b8e2402c14a2e84584efa613f08fdc3fd642c2a9d42ad4e98c5155de3f66f7c166d736e3258b5daa23e82f077e10a19b194ef1661dfdd84e2cd8e995c774f70ed8c53399761b1233a27a87361c942dec08a9d575bbd518b04493117087bdf4bb777383f109b149b3e1bc14d8a26287a95a97e88c2f1df0b7c42d09e6cdbbaf4ebb43e5627792a9ff06f291b7510f6d0b9da22e6787fae008fe38f8cfed6833389e5c82adf4cc1cdecec859472d94151a68ab512ef55db3152f43609561245fcbc694cb0f0c0edeece62bf70c63776f808956c8e46c28a01ae398b0ae178473b7e9eadeb0e1380778e35933d821bb72953735a3b441ffe889cbad0335026a33092574a71e9b6ffb1a4b4f2609c5beb91e48f00b1efa3d7f79727a6b97b69ff8c1b8752aed241e4e9c1af61794476e78c7952751d4ee30fd6f75110e9ecc26ecccbe3b2450bf6caaac2fad34676a486d59d2cb74b693f819b38265e94b7b7ba39acf987cb8f658cadc16b502ff0858b49469f891b5b5827052831e7d0b3c46d0b80c6815038f172299c5eb16c931460d04444e6f86165063e066dfe26acda21c38c3c9a9c048b87d27396cdc0c8bce5b2a8e8d0dbe95727cf330affe92da006bd73c0c81cde54c590116f1568704bab8127820c781b39009db124d2917a5c57da05c5373715b5b442d646e980de4c99c44e736ecb157a596bf1822a14775022b3069f6fa9ad6d2da363edfef09f9df8dcce8aa796322de9f20bc822cd2ae2bb581d3ca85e5fafe119e87423848d1bbe86702c8b6d44079c946ab92934daa4e5dabf569f6b8c2d10429d6ce118dcf3277aa5ca407aa9be89ad8600df72ea5d5a5a35b6c56656be838315cfa647b8b1535774780dac7ffc493bf10e23112fd2b1c7e4c92de71eadc88eed0c08ad5eeb6093915ec23ae7ea50b33d0682935fca97c3ad82d8d635a8a2364b0e7d26a1722bcc8aac3765903b2ae4119deeb2cad2b61dee5da421462f3edd0be841f47fe70d83d297d25cfb78df2a41097dbabb235a5c4ccde7f634e6e0a70d0574d487f08918e95971044ced2b792a38c964ce5f0252ff87f7d7de170eb2f99e03e873da57633170a5abeee9a58ca34a6ab202d268e12e4700808c7505a35a4f97e1ffd7656a427eac207a47f6b0c4892b6f707a32ba86c4ddeded87fd65899ab96f4138a8d08337e3fcdfd311d438624d251f31b7558e79c0e1359ecc0d22a5560e7099081ed10b08a3b9b909cb301ee9f2400cb36094045628db8f629afed66ed041132dc20431a2797dbd44acf53c6c3bfd129a32a0f5f6b3b8f0963e3bf8025c2d4b94068ff1df07f04379658c7be0a64bed3eeb188eb919abf518a642d8c0db9614ab73146c65f5db3542aaa4f2082cff86f14ce927d0449a393331699a98cbc67c25982357fe675a5072b924e1d76ecb8ca9f1c0deed166932f971c987b80cfdfac69928fa2b5bdae0442952d8d96e1e9f986cd853e6d0a69d2b1f8b767738cb82dd80137ee283d5c1542636076a07020f1a30eb5a30b0b33a7f013dac286eea63548b8f475065210512c2116ff68bbc60a531569ff016d9a6524679ed499c8a484f34ac65e54e48df496b29430009936440636a411b43c7d30a2b6aa6ef6c095cdef598d1fa7c1ae3534b824fe32b3121fcdaa52a162b180a61278a5573794a58a187f20d24f5e8cb8df67a6994f0964e910368af9bb32b4c576c92d5819c3e63e0713c76e7b872530e51f2a564e1bcfecd5c0b337a74a378de93c5c06d456bcbdcc7f730b93127fb63fdd3464313b6c59c94a8c1e9e09f1ab01bdf81097d0cc645f41c93a10abb48a8e8af2b9f05799c0df22e430bb3f89da352f549772d8fce5ae52969015d50b94a46de76d27d1aa02ffdd66a39113cf713c381ab70fd341c94a729080b7289347e1fe9a27eee6e4d37a964ec6c56f0f64fff47dd89e8da5f73a9d461d3f745a656abbac5fa5f2d4c56eedca8fc0f8e8c9cd3f20dc2147e522d5cea85dd7a6b2d9a7cc61f0e63d95eb47245bcc6f4ff5a5d03159816a1dddac879ae52c17e071a659cf72c498769336c877bb00ce8b35cf264ca59505538430c0823802b5eccc91467f77c0eb133424526b10d64d44573ee5ccba628a321e390b85ec10d43f93e6825a754a5338c06894ebbd7ce8f4388dcfcf90473e8a8d38359e8b8dc68f771b7eef2a5f17b04a78cb962660b7df83e60d5854e0667a33dbcdf7f5e7c8d7889f5ee532314e1d09ce57506cd6e555274d27ca8e570f6739fb995dfecdc4210b98fa611b171ec4337b911197b7143cb9db7d6292cb93b2b82c61140b16559d55a959f1b07e999ffea000287d76b97f730dd361439003a4c4dfb675342f36297d4750e2a7eeaecb7a2c1bbe88c5213f149c7c81571d658e738a5c60faae03a163ac41fb2ede5179eb0e9cd3a4e44269f412efc4f593a6e5267a05676f45ef55f5a5ec062b015d8f7baaa794b97214312abf8b4b2b64da6e0180b5fe139ead73044e3d7c2f4ade012646d5853c5c421d641c3e8411254870e76b893f1a0f4d6b19b7eaea96475d35fa4b54c889c0799caff521a5fe87cd905a758551f0ce621f80841300c95eb287f56dfd853fb4c7dc4b2e695c5bb61552d1d3c904a0af9072ed2d4b73caf3766f2a18d30a3adc0deab2e0d8cc50ed09ec781d9eb509c0a3b3d406c0fe3e49320e335db9516e3134456ee83faad00639e96b18dc6cee3653e657fc8f8e13b7036967ab173b446057b04a3df85eb43ca0db5393d9bf8880f38680c4b3b26a95451e50887cc57b2f4667c4a4991bab112b1cc066c15135563ab8b32b8aabed5abd9c1d3cb9110ff961e328175fdb8774a551d0a1bdb3e7ea4539a428de340c3b2b72f0c314f37f4754314eadd4ab50ddae7cc60be5e0657817c06033064abce9e6f857be3d3242c27fb0f9727a2eec58b8cb078a49ede3bd724f02ce8a346843077d4c3ca09c736d3a0405d4be430ef46c7ff9ac3c7f42d1b1536839ef03c4446791b7ab668190880a0031d8a114c578ad9c99f65d7c4a3a878546e635a329b7b0d38740680180e131acfebb01ca9b81af95bcf06df7c633258403b1ea997e4edc533cebab72a96e8a9c3b0fa4ad7b96901510393d5bd5fcffd1d6d580d77dc2e65100c69063e2fc0e27ce5a5cb320354ffcc03a1d3550998be04e2d17ea509c962da0c504896abbd3e07e60fcf1320b88341e71cb8dda871896ee6f3cad9d1e468bd4e9cf3014dc3d62d1a9090bd215c9f194798174cd29978c1b9cbb8f2d61778fc2fcdbc34be311e4a6b4f52fe03c13eb367a61e72da7e824324d59311c94c335e6ede1ea807af9ada2cace86a24d2ee6ff75a4fc4ee3b35d0cfd71ad9300c64d5543f3eaba33a3fdb6591baea8f305e123df87827bf58e093a6fef88448c15d82c1f83fb3490c618ac3a01c8ebf1832e10c39818b9aacce92f46114a5101d7041841daa08e8cf5bfb565f85f4b998407e027ebf1370a1e8f87e63a52e2b78106077ba0eec3f7fe4f2e067fc14eddaba5bae67d5f17b16cdffa26706498eed85862c459183827fe0bf9b69291d34a7afe7b62e33467987e4999c84569723a2417114e629e3a2962ad31ff185ba50cdcd0f33cc49b40cba0f387682629f7886eafddf32c439d1982689a18e653c700aa785a5283c9b2013a96c61d30e3bfdc079f64d55b33cf5e3040c2a4760c09fda72315ef550585538682c2990b509490aaafb2c1ed2923b347645639fd6dccb77e1e3dd3dc30d97a1217b4ad1b3e5c4301ffec443b5667904a3ee78d2e693d2e984c4bb08be5457d0ba4f20081beb5188151bd7d1969bdb7edf624eb7260e040bf9d9d08a1e836ea9179598eb3b229560a842c32565427c6e250d219e8dd69cb6a1d3b8c69415b13be46fca6ffb9f14f491ed7c82a90f58be26f5f70984de29fa8f95828faa72e5c3f23a3b104389851b479971cacb413152d4a2d6e6538b187c93d5545179cd57cdeb1799994baedcb64cb3d754197a9b5e097312d38e001de6a23c5d834c4e3d8b2886ef8f18f24c38361128d855103630e8c40a6d20ed66dac2550d7d48feea1351948b7ac4024510dd50f0532d002b074382f1debd683adf357faac877c235c4cc361c40977674a5178a8ac353f160409468fd73dc07494cab3308db48a3375c514b0f60516c24c2b97e6e07de25f3eb2275d8c4b4819c06c3bb5cc9835d7059fb00292369c3d6e235ad2c28065ab8d7d2ae3f2ff710a0a5eb628497454cbe5edfeb39e0932710469f038ecfa0b5524462f5924d17d861b46c2e4562f6b64592045cc517e1a2ce3e5baed9e3827c8886799357380ccd5e9ee878dbdcebdef61099650a3281945303e575cc09e645378fc1aff95a444f5b0b873c1bcff7ec2195e9d161f65575661524917fd264a73a6218e86fd706d4c8ac197f5e3b50978fafcfa61656fecaddfd426afef704ecdccec57a761c1c166785855554fab0098a02ff5570803de3addb442453f96f25037fb0603f680dcfc5e51f4d5e0576cc49a718d0545c588b90df3f7e14056926d1f573d7205f9235b0b0bb6bf62a3bb6c908914ed640e113664460c6237a4df7f7d29961c48f1c1276719e6e30a996f37c93bf450eb4d0feda66d6e407051290934dc9c109875051aa66c8cc44fd955dfe5778c6ab3fe4495c196073b2eb565785fad2dc930f18667120a9af82e6e55800959947efc98b9456b45ec223a3179fa1a269a77dc060e91d63a76fc014b9a359394c9750624d893a7a204a61462134a7035c627698544fc5f1691061f062090d56bec7c571fe8ee31aab2d210ba47554a3b1a09b89491208743c9a4f7d5d79b7cae9491281af36e5ff6cebd8f3614e3247dbce6299ebba68fff2721ebdc510a799489699850a6329930792ae966d669d5b8270dde817ccd491e74df29545c5640d9d5f0a18772e11cbaf7015bf2c37dae2e7ac185dc08a46bccb82c9cbe0dc454fc5c116616e832ff6d75686f93377e0cb3baf8ba88add700710e98e0cf8c4902d6b9e980b11b4f9b8b72a308dcea48a5d1b5ebc30ba3c32619d5a45bd4aba8f8b5fbda90d744e652cf68d147aec348b9eb1ab6388b7b71053855a7fc7cd48032af49d8b39cef60e30ee96def198f431226e458db6fcd0bb8f37d28490aafeb21fdb80e99a84fcf814c20cbcd369e06492c18f9fa4d61adb3a1e7a357701429d1fb93a26c7c8744a7be05e27e7477bdeeda78c68be1901e5455e8e650c2df6781b1b06efb6eb843eca7108e8d747a96b74c87b12aa21f5cef403b9f07b527181b447d91805c0015ad57635a583aaa1ea1f37ec7a3187e0bc53626f10513d2fe6ec7e61f3d0f8eca42e66ffa90b4f72a89777bb0cc519b3dc690badfb1f6c2a2eb2f4c3cc290a6746bdbeb0eb80a3a8f1d852008d4b20c9ad738c1e0f0d16be10501eade4b9bb82f1fd5eda38807a35109ff58102c9467724d6e9cc0e5bc918820e9e364761bb835910f11da89c6e5b35985e3eafe5503876d0326f7044ffc95e21fc76b744ff5fff46a28cbddc4ff98f28b2b06166735fa48b4cf0466db5baab5ab2da5f8c381b31d8a8af491165e2787bce7adf18143f27be01b38c3d304f2043a0512d38b997de1bfa52aabbfae59f1e70b9c22a8022357b2c7c0f9a4c916291dd595ce8dbeedd7e1a35b3acadffe974707f8e92b746daf0d1690033aecafdbf91fd58d939c6e45ea7b900637e74d763e0d5df02a234cea53441656e989330dd3a823b8f2bf62cb399b2533b6090c6f0128631967b54503315ec12cae609abeaa2eb2a8c16ede94a20755d7d0f6d77f534499d46bad3aacddfb0647fdf530ec3054df61b1d2b1905ee0615ea9f92f4fbc9b83fbe83139783c495fbe8d309321442144da29c256c733fe6b5864e843b9c68824e629a344a071e791e040c4141bf25cdce6110b1a1dd659d4e91f7f8f5ed32eafb18fa2d7abc86f66df029235e35b8aff3aba9146cf5e63f0b0d249b59432e45cf69d5bc9a3f8ea15ff0352f4428c974b0c0733295bc3d1420d5d1f83df72f51b69ee8865b7bc0638897b7cd31b147e9e005bb301ed2740b36f132668ec547669dedb7a525b1a66c980e7181a069e776ee8948d49da18573c735521b642cd7df29b8a10c8d3ed1d50da143a42067074449cc9a1651d20d02be6b62fc73b786e44947a81a1ee1cf6d8fc88e6235eb77746034ffa4e8cb8d9d79abf237b77571e917f396e901a9a1d54d1d607d71f302c7af09d2cee39a267abc678b118f150f4497d6ce4085b13a3fe388f128e6715e26de5c902368ea5ec755c6638dff3911239594238bd0b58fd892dca9359e9ad72a1c6c8ee5b461d24b74d256923784985a76eb26e9f7fba97913b7d0f291a59a78d71d7a3c2993c51d4a12ec049606058144f26e80f789e7193941e110bb33eaa1fe1c2b07e443fd9c21f7f2b392b98ac5c83e7aeeb1cbba5a04b97bb08d91bf88e2ec415dc32cef12f18bfd69de14cff51a5fca9eb442206ba97b8811316a0bcd0c0da9b22b7b8814ed6ac3393f0ecddf5686fc7b54ae7d4bb76b30076692807c107c40f28921ea23f5e170d40bef6f4da22d228fb037b898608eec0c8ab3ca442c5af674d3db7bbb70e803f9fc1178125691da9fce7ae7480abf226d3697fb40afba1d0201dd7d2d5d836439f8200bc72086ef42163e65ca470ba4061d81adac0fb9a96a9925f29b8554c121b733b6fdc97f2265b8eea39f1b8f7efee574ae3c9e8e16fc8e6fca43cf0331a4e9f6c7d37e2710e798225829f59a648bef1c71889fde10cbbc7ee2cba954ac09f81c0968a8e511c75f44850cfa6f617f841e1a8f1e88a9984ffa5000f4de8701f960f0d9611afeeabf6322d5a04007b8066117733a82f769f7892107ef00aa48f7cf8f445d97fd0c1fc5876e8e61a41bd1580a0c6c1493ca704eb53ffb4a4c9f4a6dc0177f7db35bf132927fcb82e6d09c66988cab7fad8dc27b529fad0cde9f8ffde14baa5efdee953eb0a633eabf3386d0e1a57bb34cb24821f07846afe5e462e8d1c6be1586a44d723c8e39303f20c1c2e05b2eadeebc17714799fc1cf260fac826401a067728251b59502a57e944163d8aa71145a38710fe8287fe6426cfa9c7eaafe6d9c7c2ded1a5e4ab6c50ece122c799d1ee9d1c373aba2a99c6b6f7cd182f86e2e4dc688162d6a2a79637c5a35839dd6d7562291a8c9e1ebabb5754ec4c915f66e14caaadc80616a6047c45ddd937fb405d524535f297d43215a49a0de1761d809150ee715a0f6c075bf7c9df33a35cf757b5cf8c391f4d9f83dc9ceb09ca515ed3886681c8cd9030023cfe3a69be3bd31122354f2f55e1397bae47b5a5687395634cc533caef790e31c5ca77233ebe0d0e17778586c5fcec2e249a1be35779e4a64b127c514673ea7b80796ee3a9ff16ae7832396ecd848d52470351f5d924636d192767b5cb1d37235a0019e7f4de46ffe589249751648be46f9a960e503acb6b81ffb731edcc2bd755e285ac67e781d818aeb706b450dcc7b598c373fb0115abebf74040be7fc97a900489806cb12a67b847e4221dd5b08596ca22cd98c855d161d4973c91c84aaf1188abe978ef96247b967248fe30e56493cf48d059615e17be6f98f48f6dce5382a120f0866d7369622aa0a343d30866f7c5079278fab574ea9db5b5445df19b657e823276debabbc0f781d6f96b1a50f796cc72dfd819abd59f88b5d213c0f3cd85431a0cd57ca83396b3a069abccba228bcd54812d24f5d5b09eef81218b662f59b818eec730f670084d76727a080e18a770ae53403ce3cd118f5a30a0acd98dda6536cef19e80077c9bb0545063cdfa0f3394c6bb5cdb3149b3f1982838959edc0f5cddc46bd24de8ff831e333335f3a13c271d001848b9eaf15b5708bed2d374ce6e99119acf7b9ee5b5b3cbdcf37c58246d95831f8dc92727d18ee37e51b3fe29bf977071f0f401d871548ef786d52a76ab5255b24b1bdbaa194104f7da35e8955366d39522e9e5f7e0a8ef80848e223ea5752bb2cc1a015afb3751cfb17aeb03c4050e500027f9850f003f99fc72b36bc7ce4ca44167052fb0a11b4b690b0323f3491cbab911e95e48b0714b668ae1ff2e4fe8625d66be7c9bd1cf6966642eab84e8bd26561957df6a6737a77c28308c88baa8d7493b22f05ae1d96ff12ccba6aad1933e9301d37f2173e57f6184af1e29efa90515e4a8fd39e7ee5ecf56aef35d2c9b9076954a6d5c9360b69e3a15eb9de7544441c657eeedca46536fde16ee89aa7f398140665c40e4e4ccb2ddfdce38456fd372bd3b58b6750e31c08589c9de630b2f70a49c5ab7041c18c0031965afb05ce7636d88e90cdcec18540fbddd0f33c46b0b78145c8bbdc657c2a549d0c775d2fa34087fb2420f0199d9cfc07b1f4f8352670e90830a7bc87cc1264d184daac753efc427ffcd8a7e7a3614cc5f9d29dd514c95a8d4365c4b26c2c0f09bb536723d19655f487e3181145d1e2d8964f72f0551cdb2d11a11aa14e24f6e48dabc6648b905980e51170b6497b097ee8542068935d1b308391751d86576bf129f537faaaa9282e9505a5689b1f11703b36c793efd8f6de7000853f089de9a7e947fdb83222162168142f8b22b46105646fafb88dbe3623ccecfd7d25fd3aab618a2b11a2f57d2756a8821ba70f72172dfc2e674f07b8d9fe4162710ee8ca2bb36ba096bda6beac17d9b5d96d540e82b3ca89b4a8eb4e481dc01cee29aafc84a37bcb25b0849e6848d5302ba53a87b23fba437ade8b1a4400de5c9b761e1d20b5131243d0b70cb59ea1b0d4b1a1b82c51895b3352adc8da179d5fdeda4e05d94979fbee2b7822b8fb05976adb4af425adce51ce8214e0ce5b7d1759952afef19a8f37e6b39351854fd7909b7d240d335d44a8424a2e6749f96e09c133be24eec2e93aa93bc37d905b5f3f1953bd7f3e2d2da1962025f552abd48e8d3d6510ece078d75b8085cd9702baa69172d9a5e574fe48ce2134360f99176209aed8f5f92026760b997bf508d1e17426c4f335c3bfea858272f95b2cf19403bb1ccae1e87bfbe2a5d919670bd2ca4187ee87681d710a1a0afb96b18be68d6321ed824234f51ed3636d8eb7ecc2dff02ecd67cc1f1a5ea7b283e0d4eb25f30048967a355ce23443b4b9c9ae7b094149d39221fb0eceae9e7454db49c99a4e711e24526bb3c3f26b9f6b0159407065f4c94d96975c5d00b40641a6ae34e8b5ae5b151694ac23e73c38b389651b81d94e7d09846ccabd5bf9514e54c69305d7ad675969e0b433998a20eb8f5939c784816fdd25db808436bb9a998bbaa00d6913170a94d5806be5a40d3edd4bf01ee8e7a101b2622bf7b7a275dfb1057891b3efdc5b30085d9b523d0a419d04ad624b919469b6fa6f7fcb74e5deb683239d719c39f5687afa1f26887c56f0c68cede743551415413a40f63f395fb86063d1623c0504639aea911c83e5c1d0803eab27da55672a9dc94f354f13ed8f81e9363eb10c450da1947d7e2fa669b24c6ec322cc938bc7b3423a6eee9fa2485fd9daf20e7cb64a30d489033966c209cc6c2b319460541fec325ecb5aa68117bd0a0134195eea01e857eb2c5995fdbda83fe561a1d985a765c207f9d55e9c79d058aefba1e823decca73bc8e43d1bfd5d826cc53cd9402609b0f231d8cfeaa6ab1933b51696d985ec985c9c30c8d3425f4379566a4f8c6c4233556ea320cf6810fe1f0aaddf8d44a6ee427d4bf3bfdc8f2b8e4af096712a1a67e455bb0b5b32c09412dff1b3da8078f1c6bc72e4748e4bd6f145c06b1eaa6619d94695ab002c152afface0ec7c88dde66f1d7d1141c381148acdb98b0ff796f01618ae4b561a5be8d9a2f000daced7326b65748e0dfb8dd967a0ba83b29104d0141f4d362de159a19d885560fd3dddc9e4cd783332002108d8e29961bc998328a8ed027a1112b3d734d487e03f718e6087c6dc16e2ef3b29403e63ae439ab6f3e5dc732955ae3b2df457497392797eb7322899936dfb55382215dc8ccea8121d236b8ccbb3da0a302888eeab14f43b51d4a0ddcacd01ce3804a0686eae62b7dcb34763bf25b416bea82e9c52ce5a9ba729391e9ed785fc9f5469cfb5672fc20eda813179c8c9bd058d97a65a2354ff332792c60f4ec889d6eb5675e081039a2397979b3784ff9d7d88848645bf92334219279f5135eb2b0b0f8eb6c1f509f67657deeb789be0b4d3c4893e5e054d18685f6951ce7c81ab0dbb76cb429c4c06ccabc8ea87c0d2aa6ba30c9a4004da75dcb93e7f4934266b49ecc79c6063175bda7c095115c99fb9d7e9203eac7d227dda6c47bb05ba827e627f69197a56b470459a33b14760854d9bd467330251d0f9d3490b4a8ff937519e6b9a833c502d025785a28709179ad50a126d8930081e27057abd2f3260ed357855f643f5bad61b11c2c3272cfa9cae61a0df47c0d130c8e717d42739b7e2b80bbde2829616c77a465b0ce7f9e19ea26d4d181f4f0598b12f3fbc5307460a46bc1b93807c95e6b339a82aabde5499a2bab14a8e007404c5f22edb3c60405bade7665dc83ec3615bb62b06ecf900d8e85fed049ef0294949677f3b6b6ebbc4b86cbf0cd2ffaba1871ae8a4f94e2b7e9469cd17469343f889e04462cebce9d122e766d37aba346cbeac6efeb51434943579747cf158e03999b666f11379442a567edb768e95ea74fea63732973cfde9ca08d4e3505aa7d438abce6a3b9bbd9cbc8a4e78a0eadde80faee59c64da74e2e971c5c7b2d9f1c157097ac1b08d402bb0c58c83d04d59781672dd83a672b5f60471b4d710d757e3e547faf98567860a0899f7f871080a2b60eb54183ef4799be8e5cd83a1987a748b9d395dc576cfe783341958f95a857a730c68b2d2ced166a160c3dd6db53559347f42b9abd131aae576397bd5bb572fd14ad201e080b8bcac6c586f830b052c5a2c163231c2009314defd3b2a062da9a3c076778e5b65c1d02da1fa015ab4c09b8dfb201ae4c3d5345925de915740409948e7c08737c8857d70dae2fa4d4d905a0977c0b40b841f89d63c2a7ce6699441735306686434d9fa8822d9b691e3917da4a11bb7de04f53e26d93d8450af447e8a802fbe54706afd4409b0d4422be4b3914b74f548faf02bd16761bc5bedc4026195b804ed4387770660e097f9879b628cf8ad8b0666859779b4869cff9e9c5924f4e8bac4baa5e082ac33d28083e79cf2a500a805acc5e30fd66a7a0fc96d79b9335add40ae458adaad1409ccd0aba08ea888d2230faeb3b1650c0fcadf453a15652d923290582643f4aa68ddb2593ff34df521b7f5f8a0298eb880f94445fc9b77157ffe46cccf9444ceddc17c1dbf07bc55d2b0d768f5ae3e7f7d504ef94f13c7963553edaeaf606cf2dc02b244c1f0c503730e50f72a0355680846800532ad8c2b3cc309d70ca0b63fb7e783af44d110ba07fd4fed6b2115339155ace96858f681264c21132c32dccf3ed8ca59a7a5668a9578ed2a9f95c63c41a3c43ca50bc19b57457a357ba9034cbde67b32cf249fcc8711649f26138a383ffc74a91034205bee7f614b98b75b36beab901e6f93fcaa3049082cd9b0bcff090582c3669dc5995d3b4ff5ec8304634f70a05ce354994a2510491e0da5ba10bc98b8faf828da53a064502c6ae99cc7ef0990c21fbeebc396a1fad4e209b58f757c2bf573bc7626cb2aab3ac2544e0120f0269eed5c1b1b347087cae028021a91c05581b6e6a875912ade3313befe246c181707a84108f321239ddfbae87aa1d877e1b67fc7d5b73c9ace7fcde04204ab0281e109e59ba093c453b12e65ef35e85d24b5e6504173d552b851055cfc5a5fa8537add66ae408f350c4d6766785d6a41f85733a58134b0744b07b3b8331b5ed242459525b91f46bec5c9bed2e563dbaf736358ea6d51d737651231b51049e726bc9ea91fc9c47559b3c6f8ffbdcf78d256363683b18f4ff4466b2d29738573f1c627385dc644d8405e13fda7e80b13b87dcf34469a1e78eea5a4b2a9989a303dc16b7ea95dc2336d90e1ac5ce0df47cb26692ba0b1eeaee7ac2d72a96e29af29ec0c32b243b314b4fe2447c72dc4fbe60a93e9d62b7212ee4d572bf76d2b0d39e613227c62fad67c1648739608ec64b9ef487789e56aacd9877f2077b551ae0735053f783de72f289e634879b4fe3ffa1697a99db71620e78a0cf7155012b309d87cff74308739b553045b83e49b2ec01fd69dabdfd7b98928e6ca0e197a3fa10d172356c8d58f5dc11b839510bec5ac6290c906800601660202cfa94b3fe4cede2213cf661b6ae96dc547ac462bf73dc13fa55d301acede65788088a4c4629651d6255e847782796009a7f9658b49bb8aafbf037f46c864d7b774697546641fe4e3e06b67399b0066a575454fd9300f93107d0663e3deeb531fb81418f2a35a5f82cd12c67ab0cdd2880e2137b172e75c4eedffdcfe7420c78e7f899a283beb4056724f84150d5cc9a64490cfba95e400a2a7ee3ada3b854f0d117b82a81da084ff3737ccfcac5a4fca5dcefe33931aee8135e107dc26568bef1174ac0d922e9f410621c7cecde242ae2ea436f0189dde4f475cdd7be8ab2ae07416d97320707dfb729653fe9f2e1cf01c26cda2e77a8fadfb215f44252cbe03346174745ecdb96c068374cb234398052774bdab43f8b78a2a7537d792b090deeaaaeaa06326ab4202cd8b8a7cc89b8523a0ceaad8d0b5438569e11ec8d0063c350e8657df4e862d1d65ebaf62fcf53320b01c72cb2ed627a2cd90f0e6af205904d6f263ff7ff348d5cda2995778c75cdcb918d70ce94ba9618bb0747ce1aec89216e15da13e425430452d723643878703b6ebc228ab9823918f02524f2a1bad00c7180342169c89165199f900bdbc03d2bc9e65bdfd1bf1a3bdb57c63fa7e252e925228f10e21237e4fc757a9c8e7d1b07750a84931731ba6b14d56aa30989526881f44fba51472f03c01d8dfa2baf17f570a894c6c5d2494deea411aa15256218a2a5ee5b3acbfecd52d330c73f43395eb5ee5d1df46ef6fc66c18ab01b386d636b4ec6cc94c1fb98d1cd9ae660046bcb8cc5edde0d77e7efcb08908e065d2c86b6dcb9328081a2b498291dcd205b855bf2554d4f459094fbcfa7daf549a68249155064c233fe54ccf8b03ad0a326d84a377c70c736472cf3aea8366de42f5f56d6dacfc2e7f022d1a859f3c64ac1e3fcc04f69f38d9fdb5d0f358aad5342bad5b60bac61a51ee5f385b29ce5141498642b7917cf612b7d4e3802434643486c5a0aaf6ed29ec839f4b25728e5a31953d3b579392ad2230a4df6901f3f2e20f738d687ddb264617df81297187558e1ba9f4f7d6a7f5b097a1f465f41974bfee2a29eb0971caa46a8648b2beead0e5c9ac03b309dce470e44b1d66525192ae03d36a0cd93019b87c7352e824f65c2a4d61ca86fb1e75211839d96562120366a3a4c2e5957d660624bff442f5898ff2eb97ab98f26385d2d3ffde6dffbeb1a762785ec815fb5832b144cb428402a9d17ddda6ed173c3c01e8d132caa1f3b9212398b000216d3a266530905e417b5faf675f841cd597c5697ffd6ae96808eb3f8d5b4433a1b50ea2b942e9d9128c1304521d861f3fa6242454177bd25ebc32729a02215da0070b4133dfabde6811b879527d8044482f6af94896291f05eb8868ccaadc8708b45ff9b06e49b0917285affb63de7eb00a87adc656845dc93b7915c1bf950547ca300ec82beef45745a70ab521d6fdb2939b66d4111def6f1bdbeaa2b049daf2ba92f0299309859183dad8234db5d7f2d8863c8c97f6c137b25d46453c091a32c041d8f825378fe94768b2884cf4676cc68af4b24b35daaa328a70fac8029705d9345e786bb4da5c4f63014a0f769b237b95a8745c0ede75da43a784dc534e9ae4f1a45817c26b4a20a6cfa53054af5e42f78bb13f2b05a87208be57d13becdf1ac6498d6d3d86eafad989040a06270fd1ea009c1570ebde54ed24a53f55983df326a46d68d13dd13a33bdcaed95673c575d224e495306fb6c184f07b6cea0a1981a32c950fb153489dff833808ef9ca5d4fb68917ffcbc0be599400584c89967aaea2e52611a009c7e530115320986fe1b8cfef09124b034d7108ea0bcc0b543eb8ccd63821165379dbf583b4253e060e37077488cc02182f47999b768a6c759ab739e7884249cae3f5c3430fa4bcab6c7be72f20a7068ef55b42748ca455fffa240f38068b7bcd77ab32a415a1960753746c76637ee28745762db56661f39525e3cde224ebaea47556bb5d2134a097d5a580874ac87fd0c13b5b554617338b15385a0294db35a1a244371efa8519952c4dd61803b33eb618eff5a21e0d303d51eafe66be6b4554e723de076a123c18121e065f4389ed2e1fe6be1d4bc67f333268d3e4ff1d2b8b74d1ccfe8d4882147be249955e91a1b13bd043f190e1e020f16695a896bd7445adfc3a5244dbae84105ef0dca4f918212f798f6acac2df0a27f3ce294d2b5f4d2c5e33a0c7a4ddec810db0ce742c123d0e382f937d6ce1d5725f3427200cab21af3d1f0f8dd9a12500c089d53ec376309540d0c90cad0acce2483add962db96764ed4b98c3e773b2e477331d46dae03876c30457847018e86b4ece6e99f3c7974451bf475cf64b0485ac15893ff607488f0406ded97b71931e5372c33430ef4d08478a92502efe45fe385212d090700d629801a06a83bf94db1c8fab29b7cd29665adae09208dd94817a95478b3d55adba80d1d43426ae1eb949cd82f63a694a55d1439eef64b11da5036324823559c58041ce5eca86c2f4471e2cbc4d12ccff7bcd341449c5ca86f75021e25de7a85b4aaf6753719ccc72e3f63ec97458dc065dbd32e785bfa7a511e3ea6cdf9edbbd3d7a7e3319f388ee790cb3d012f4bf6f49ede8d1400767ec5d5ea79f5584b57ac04ddb0c6ac2440713ee7f18cdb62bc07e7437f6300d36e5c34268766386619963347ec195d0496d1486eddd1e4ab120125ae7704ae603e3787ff77018411016255575d2dc23342d72728fea8e0adab63be00416a1607b53086a416ce1cf596e9d03bcfdf4bc6b0c8fbb3d032a4d763efc88394ffa265d170cd51cc2cdeb9186a264e00daa32c337466da6d24d835a03ac3c7b177eeb7884b59467b9c5ddf8cae7ea767c4794fdf6f050802dc5b8034f9f0914b587da09def27e09e319fe2d7c9227c4d4d9c5453baec982ec86a18a15ebf6cf9404ab25fb6ca663db0533d0da6b030b40a3e8a58985f2875982ee5603e6d46cb41cfe3222c3943bec022da6ee4f033d6af9522e6ea441248177fcf1e3ad40814fe79ad61209d588e4bea1c935276a7fce53c6a600563845a3e34cf8da9b4207ffcaf4df2e1b02f7a407799d827f3cf38d347449a5909b6d727aab8ed0137fac8877ce8b16deaeec044a8948ae35ab1fedbdff18a9fcbaf0fcff30f10a4ca43b72b24c1d2300ba6cf134d694e67f9d9c6cf011b042abf814c2ae4ce4646a488f9e6a096b150caecdeda468aec7b6165e10018c023edde1f522626586f6f3775c7f1fc446990c8fbd807403136db73b3c17b5256493f1479fd0e189ade6622a40c5a94f073dbfa76c9a3d4a3255484caca5bda0ece6c58e833fbecdee1df2b4ce93388fd429a2a191bb4e0a97b77f57e3e0a35280aeac04e3cad38aafcd6821824f85775209e841e1e6d0d74b3ce8a1f364202d8ad058f9209eb44291a4fae5077f7b8063e07b2e7e6e7bb1b1d062a8565d3a0f2a22572dcf51a48760ebed3ce5aacf853027d3e7f934c583f25b42f22631381949c8b41cd5f87e68e5852507b1c8e298b4e16c13c0cdb02c1f8ec2e78fd6926e52ae7c9a38a02aa31d352804ecef32df579c044e988b546ffd5f4177d9800527bfeb011cc67fbeecb7af883e144c64c1ba5af42da386b9fcc1fd680f96c974aa7e06ed042ab84c04a5d76205c693f5c7b5cb386c7472e28344e8983c99637048e670a96d386b7000e772c278495895c5b7cdea61bb878e2d5adb71a7aea1a4182c3c001db7178ebe738325d4ca46f82f9184dedbb1c1007dedc1fef7120eb2aa1ce25d2b79cc5442a3c8b0197fa7a77f5da1c5b2ec6d2e2792fe651ad16240b0d86e788c5db0652a3837411a535bb9916eb3b2e71eeaf8597f0c5e99cf884fd9e16d2d0b2f8f228a1256603617b712b9e5288ff7d1adcd2bc654a6bc2f04267caebf9cb6ac5fd51a47ce3074729388c4329ede93b3b370dec235f7196091b4a0736db36965ea697f74510212a1532dd18f7ff1cb9438b896f4bfff8bcc5e4647f8d6b26ee4e2ba5f9d7844221f1049788b554ade09be0987f090fd15a165eb9ab8d323e1bc49439bc7b51c8e5d0d25c5e11fbd843664f6dd3464153a58e06176baeaf952b4f5f4379b1acfd4e39359d025b6bb001d308be2220c2b9a4dd76066ac43bb7fca378d0b5ed4200586e2c694cac967d4ec975ec9583e56c9a04313426ba71d596ade6449dc44551b2c69cc7d77651542edae9304c40804e472a5e9de5fc841eaa4194eada989499d89e4f8aa840f05c5f2bd07eee2ac6470f7d36dc52812b07134d55077a82d9c9bebc02f5ea7326ca282a708ea7a26e4e569c86fafa4a27cc2390a13abbf7019661036e31c8f09949af9b28fca38d7cd5ea2a4b3a086b664c2dbb0c62b5379fbc761de9e7b6f79acec32ecec7d9b5af6496ba77a33b90fe075484eacd9d9af182585bce1b0fdc1b37f02ae4a71c985d9318ff86223709e3e0e9df5fc1dd253c5b8fc9a639a0862eee24f0ad69645f11ad25f956bc007c5300eb77b3549f03f5af3341a7551385c2c09dcdba1dd8f6699e509a352fae03241118c26e899f03e77421793fa3dc6197376ed0be4edcbf20fab5265931b162ab6ea34e4efb41f1598dc3ad5dbfdb24fc0280440df5a8c7b6d6d637bceff6e1bc23e07c58b3470696f20e447be1725c8fa6575cbb634c0d73e0230b915bf30589b221576f4473734703b9925048e8c6cbc72cddd8c7bf53e2bcab5021979bb21a443f09235bf33702f0f421bb7414bb6389cd886d3557adcefdcac90431ba6c714ff9d7a3a457ff07e59b63c2f3bbeabbd082b71ab1b000ef3cc04f12158cb7816b81accd9498589ac169cb098fbba1b2db0a2822f23cc8556cb92bdca0314b8118e179e47c898e3cb7ff2c2eb5ae5b7d05a848bf3cc58874e4a4ba8d396b829481b1c84de0319bfa03e05e1e95b51ce45c48d9233544678e6f0d159308983f83110d1552a48dc916916b870dbc598285af95d4a953edcf4fb545a5cfddd3b2384a5383961f69dfffa1b14bb1daf0ab29877e840a1163d4b120cfa59c64986caef9f880889631d58dd6c61fdbf00d9eda53e909c2fd6628264b2ae1b28e7034dd9369318cbe1ed2171222631f294564ade18aa3fe127d0d298a13e6b2c50706851e35f250f0c02bc930aa18bff0ab9d3a5893fc3c225dfdba3c51a4c0503e167b1ae069633bcd296053596f58985988e5fe5b65188a15b438eaf428eefbad79c293fe13599a5366644eb585a1809a5707824b805d05233b961944fde71ba40e3312dd74bcfcf9a0659feb59f55099273c51dd4dfd769ce53fe84d175c024be78d2037fb2d970ade019e643ebcb85c091887ad74cce98dc37041bba3a88028b746bea39c967da419fcee3971c1ffd78fdbf60c6c574283098a5f31447ee66dc98a8d05c5fcfff018895c1ba37ac1008baf4077c55b975bf182e27b7ea0fbecebebce21ef6fa12cb102bba7e445d7de893d9bf92a525c8c8e4d30df372f2b8518f6572c4169546f3f93f96ee3aa880a62a24302f2c5cc97ebf78ea4191736401c84acd3ace512f2edb670f420363dce3f561c6216bfcc3cf3314c7166cd2f5eaf8875326ca5b8db055e3a157417996d76213ce0467c49973d03dbe8f556212d3e418490f4c626e559f29caa2968f29432045783db9d536b30697a088420b778fb2fe68d71ab8bc1e5a682bdd767b9109632ce11fd58a19e057ae3bdbde00dce106943d50f65811d6826e8268730779426b2c7bf328d5e7a2ebc36f0e10c5ecb4e07ca549880eeff408913ef880fd089e62d9d748b6de6f120e841fbc0dc09d3c527e18119d43c6d7a7a779d6c5802af89ddf7e255a2d0606c14b15c5ce6be84f38da483e0df60f8b7e3ce22d35684334d70b157f9b87b49c0604bf564d95b5f581630009273f033940e65ac8992b9a5a775cab313cb16d66e62a62cfbbcae7595ba36a3a68c72557dbe8d57f52973f285fbb295b7dcf42757c0995d105329edb83686e58f6691c151226d0d2ea8de84ffe809f1526d8d92b83a1befcdff767977786610cfcbbf85aa8c78569b3ef445edcf73ae522500065cfd89b89c3a00b4d142090884ba63910aa64925270897dbde4bc489651c714482276cdf08735ecefeeecfac8233879a573d2cfe5ac04fc811cd7842bc6d7e5569363813537c681a3971991a12b0363d23106c4aeb3dc05cd4ff40efba5e0fc30b6b8b034f9dbee5ba57ad59fffc9e1b81fa83de4d1eacb3ac16621b522d995e7b28d74298703b901403b7f42d91f634989ba2b99d41ff7fa3ce7345e786c290da23131cee8dcf2566bbb72d95f1ae10ad8696bdf341070674fa1a4d53b831962de21efbf4d1de12316a0e24847c8abe30e6be5c7e0e0aa4cd4789b2b0a2c149282488af868df66b72f2a8ddb02e6ac016cc1320c2d7c33d26288f2d68b16a3ddf8d5b83527d0d8b5e8907335406a5185777ba1246b6b13d0c03453453ba8138eedfdac20d473be37b649a43857c134e1bd0974c94ef958cdbdd06fd5af7b1f4dc6f6ef9604126478efdac60e9f9381b7a992a06f666a769dddb13a2e5bedf27d70690c6841f4e0e7312d0a7508c3784b96895294f48c849a55464a1ed8e50a243ad12ecc93d75f612e3b5cefc27502d88349adbd9ba7f3a54a8ec6aeb7903132fac628b59ca92a829b9bf788fa411db0c1d9261d94a339f03ef04e695616b6774e81ed56b410b972621d37d4558403f6764024931b784b0720fa910cb6efaa03f36192ca95bf9a36f8fb71379515bf8f59f3fd4c8f7d58504904d94985de37f273846de46d391227ff69934c0d59222a7d9ed163df2697181b6763a6539d52a18781fa0c55509dae1824b1e5956b7cbfbde9d4b9d7c4e4b72707270c45d4e1d6a123e9024f7638ecd5ec904b3d086e4dd288555615f0250ef0511cbf4bd6cd75343e18733f97cb958268b6ae8960ecdc4298140316cfb5ae502cab0958f1770bd0d4675c2b99d51df09d5e6ef37acde10a758084957ea0f6e4c964dddfe5fedef414dfadc7bef6e2f06105f04c16c8dabae671454602b04410fb7a1e5626a2e3e8ad1add8dd6d9c0d11e76fdb1da7ba02de3ce16a4d119f0557c9d83f619e8a025444083d08e39b774366f938dab955990a43a0852d23351f9cd0516ddd4a48da0cf1c1b7cf6fd844bc04aaaf4138ad1e01c60e34132d2f4e184571e76a70b3ca7b27df237793010864760f7d1c8c2c799d1b1a54c4353da8a2027d7f2eab9ce483d4abc80c047ff8f1dd15559cecf734ff8d67a5a677299f6a4d0ff8cc0a0185961961caa89b9f4b13e50fb616c840dc69abc08ede7105645f9a5adc9a75a7c698589ae9966640182c174768dc4ab1491e7898a1f9b0f675201e134839cb25abde1dfeb5e9e21c525e0150c0169fb6dbb5295df0b35da10481e2c8754d3e8ff16bff16314bf4df42a40380088c04783d4869b027d948f5cf2617dbd8ff40641b1714bc5102eb8dd930720926af332fd0353bea0b0864ae21c67756b1402b1f582e68a80c981455099d48ddbac65b902930e82934a9aca0ad64e458569215de805714a227143aba4942ee9b5c410140cffecb0ebff98ed954e2ed00a2c9b4b9018b0b5067b5fe12498aeb3cecb790f528bfc640342d424ca26557c442b464e19d20635bf852abaca6436ad36d47d0e1b690b60293f9dfe5c54f0d865e6663c1997692c025d289042b1c87c6c7e1bb38c134e44277350ffc16b8b807ee1d0149ae376d957f19f1c820a83bd9d4992e3972502982174c1c523fa9fcbf0391f36d1d4db77327b21c71154171bd492c1e965a298cd3c0a3f905dac131f6b5b8613b2c0f2d40e08b1f97ef3cadd1641d4a357c7c98ffc46ee3f985944ea072cd1876b6fc4d01b1396310973e8e0798602f008ce1e358b3e442e2516b8e9fbae1ca7542ff087d1bc5a37498dd986c37cef10889e2c5c00837cb423d335583ac26d224252fffad4e85786f30cab6964001f9811cdae6b9f6479f8fe5634fb885e0623349418ec94e16e205fb5868b39c0745bc397799d0dd40eb0737a46d57135c968b5ed83feb1da2f5136a9b942c9d875372e6ec4264c853092e8dcb7446163a7cddb3cfdb40fe20366b216e57025604fe33f80e2aab10841597b135b15cf013f427b342a5d6f20bf487ee10f4ca77c761fce90cbd806a682ea7e61aafddfacedc69b36078246051ffb8f26bc8e832080d472e027e307303d6a36820f601827e03da9a88e8b0a7c1eef4ddf98966fc5a7548ffe6f2934896c32c9f6c0998a684c5f47cae42698dc4021ae09e9ad4ea7d689db39bbefb4033b4d3408a9b5a1681c8e772665c299eeff953d0f591d725867cdd87f945174097eda88030b4626b090851a50164e52fd32ac4de83286d6ef5ce623e5242389dfd08603f8a39d8b8e3eab1d7881da77da99138eaa6813ef68bd9627e6b78dbfb02a2de96c05f25755d96601db34ac30506077fbe681adce31648bc5dc6a55aff41738ffd79071b681233aad8acb04c82f5d4bbf7f921b67cb939d71562b8b1dfa551637adcb8095ffd5ec402e0a4f852d539f5b42bd18f8b844d2568057997ea06e8c69ef9f431e847769de002a4fbc90aabfe4b31505e80e1c012207d215614e506711383a608a58982643820957287aa891e42ed4a80fc6261e59e4be3a21697eb7afe58074dfe033b25545972019e3de9da2763dee818e4d8f6ffee04ea0a959ef67570c9fcc42dc4c2f1d7869c445b86654ee341c28effb3bf2ccdd5224e921167f9ee3d96c81642550aa57857366b447f5ae81af19cf79576fd76cac1020186fd5678dc978c0ec3d651540ee2093235b6aca2e5e1ddf13ae3e19a1c5c621c0828a3c9e6507d777eea5f9e587aa05656d1622885868babd26c1e67a49307efe00a47b834e11e4fc29a3e62bf8eaeec87fee53198647789f62111e5d4442629d12a4145d6bf40d609cb42bedcaac51abbc346b2c21bbba47961451b22683d3f88ae8dd0061aec7538c4500ef9216e175faa92f395f907b0725fa5e6037bc482983deb9f8be0ecc89a0e71c69fd49c3b1d2252af6087a15f03c9e525fee9a87668110c1035c338aeda3d29f2a9153bd38565e2238795e727d6bbdb57d24783d5b615d21421cab6c6b99d9f09d933351cc40d493a17fd794ef41c046be26285475fa29c0676391538bda5ba6ba91972c773cea4d1116d6154f0f93d1d29038aab6fc3da4be7c9a26efc6bd0b6de44c13af243cefed34797516f227058b06e6d0a9ecbcdf8f1819228c435e90bc2c0eb2c6231630a6cdce1cdcc0a89f4b4ec74c2258f1f15449004767b539cfcc3d3cff356c490da77098a6272008c69bcdb93b877224e8756b4dab28588a9a8d5937dffa944b676db1a9b25b51bf355f6d8c5e78da6a46164b7b11ca741fc3ea9f323c073c6a33110fa9ff7582f09966de47b5d4f5975ab1d797fa4b79c2325969cf4245a8842511e624b93b3284d5f81270b5c5d65d014755058ff13ab97f718784a1ccf2695ee5a390165b476201160f1ec45bf47a1d9ce8c1f7a035bcce98ad0118010f97ba1ce38f534391372de3cf9d78ee092e17377e84bcdb25be8429f9d2bbfff1abc1673633e8dd445de840747db23175e16feff0f1b3c9797c8c335d628d5aadb8fd6863b29c46d9a592042d5114116f82f29f6179b1f8f0cf56c8b37e3dcdeea55f177380d7c0c5edb11cc0502ee17033184fc5784082bc3d79ac6d10a980987a2a6b308b7978ab2deaa6cecfdc12d659fe5df3c3c7c757e8563f23ad290544dd40e490caf51ae2c1f37610be4e1557c1022e07ecd343899209bb96c29799f90dc37bf75ec33a97860d506284ebd546e34afd85a3346ff5fd4fd6e453e6f0eb88572d74dab9d256d35c8f6189e41ea32438913bd72c0e71f354f98f3af0f90eb710b5624a71a56b30ba793d017253f88322d847f318f827a7e3cbba9a801981d084577c9ef1f73548dc87e8f0df410528e90ef5107f38932b20341f972c1e5675e225ec96cdba30b60b5beccd9242deed25d965c5eca26f900d54cff53effed867bafeb70f34c90e25e2f7c0967e35236e1bcfe7a424b381bb7933b73a7ce96a6a8028dc5879a7817876ebd445011baaad45b6b52756f0a340cbfa0d3b18e9106e7260c4d9c29b90c80639bd194a0a01f5af006c85bace1ed361cb221b29129b891986642cb4f7fe89202a544177a95ce1bd3f5a6fe4aeb942635753fe8883f5eb903264e0c02e9a8bccba4bd4298ac880ec53d5c0e86cc6a7f21a6393d2e40ee2d057c1d5583a0928e595327526e27d58683293ed707fad5fb432dc1f235ff706bead4dc1bca4ccb9dea4c155cddb4b8219ab400b34ebb9d8ec01ee82d78c533ec42de7db71ad2457f07d32df4bef1c0b307820827c891a80867e00a4c4c6bd0e38ed6e914b606d5eed7f12489141ccc8a69ca53ce1b723b3b590b39c01cf2653807a92219b2bffe1edd5179088d0f7d7f8d9ce3a63c9473b8d2cafa8257f8a8dd6025e66f81b08e972a9e245dac252a5784d3862e2500ade8074ad7c490a9191021639fe5e5b1b120f60329dac09c3da8cfe27ecf6d91ffd0f63954d203e06f6137997fc44f45ba05b44f75fe00f482b9efe40fe4a98c1761678e612d92eca2e8e187b13c8109a5ffb6b33021bd7cb15013485c17fcab5053905f7bb5bd50d309ba6d7b586b74375a773a695c3b7d551a8563ba703a813d498d1851c82204008df1eee71c65b96f068562dfdef63847479e89b0d6bd18284f479fa077a16f406340c278ac3797dbee00579e5732ef871374e8c39a1d00e746324d99fe8b1d4f9dc620c45300c07a652b711eb9ed42801a9ebc222f464783dc1ad56c310a1f4e14dd296550c8c7430c0e27cc7489dd2c75c8319c43a0443d8247a4143e35c596eeb7ebc68f6f266ab80888253ef75ea81870897b74ff6370832cfe383402372ada6f0e30a936d9d34f3b9cbd5a3f8001968fa59f2d3f7cda1ca53978d14cf31067d10cd033874cbbd0e92d56bc70445da42c565926fda1bb12a774a2f4b4888d2faba518226a9a37de8ff348975445ea58d02309c2b7a1210a16a24fa56d81e1021538e713893f00e561b809f6f333271f8001ec54a0c309e8655914afe15c4ee4a7203378d25b3270c975ade62ae843307857b965531701d2d89e700532e10edc746f686974bfd6b5b3833669c3817c024d1768b39826de5020c9253f13f18c591e89f1b81c31ae28f57467edff653a6dc5fe6ef97175457ffbfcc59b1a9ba8e988d35c621e99d23060a85318aeb63c2a8277393e55b8a60e09a9faa68ba39b4a7151bc745e60839cbc565e47b2a8f3e4a498026c45047c570ab15c875f193c68d07b19c57efccaa804507ab17fbb01769ba774e02ef1e3eeb883b0086bacc670604862473477bf4144367be33ab44d6f2cc23fc2e68f7492eb805c4be0cddb5417eb3fc4d1948e1ab7b63fd408a9ee7c8629150fdb03a350c8b6855cda2ce8bb267391db692bd265fbac512447f6088a0919abb7e8417a2278f4472526370887c79bfda9e030b68a43778ad2158f157d9c0baee75ff057e33b129c39a4e5e9ee7e24ca9ae38d60aedeeb4c31020a2f92b397a204b3f1c41a0d6e42ca3f4a4e4c1fcc183a3f08b09702372d068b2b506e90c3a95049f14dbc60e049c89d4025ce418d94622da8af0ac681f9c84cff1551c977513d3efadf225bd761186a6caeed82c3f98aa464b3319d769494287dbc77fc95472cafd1a1877c233d05cbb823e154d9605aa864803188b3a417787ce2610cf6997909c4cead362e6859fcf92e764ee893c5917e30ed163453cb55d52f121a292325adbdf54b48f92d5073d4b08bb8c812226a1195710fd0d86611b5aa03ed4c500f961f5ea032619255abf39ffa41cbe2f246c5af1f78d7b57519256f83f30d22d4d583b0045affc7bc7cc14399ac5cde4fce4de20a1d4bb8ef5f2d546d16cb1ab7949a0707db311af1c1f566caaa7e3e8c38d13ca68eb54ab8efce9aa2559d9f61f388b09dbc7a90f8c4423ae31ed966c97e2cead94e9c730033afc14da5ca3dd893094d3790bc8eb888e6da3a808ec6f7223f1a7a1617e428ab2ee7c1f654d9f05db2d67fc7d1984dfc0eb91346067a049a19d280e5df1b0bb3a102bf00aaa5bd51e9f39ffcbffb9596ee9e41e55042b4ebdeb68b81ced30bb86dda5641fa8048604ac8184ee153d425be9ea93fc8d381366c17fe5cb87c4c542b32956a74e6bab445d226b4cddb507d38296d0c7e24683cd773c140bc6df103ffa0ce58f5d46fafdda485db54a0c59dad2440a228c1d669d26baa25af8f2759872e846d209582bed9f5d849bcc6c0547e72a87eb085ea3cc5d52033ec454ad65f1d3f391c1db7517023cb25625ec90f6dfe1a0c3a5296836e429c755085583d577e8232adfd63295e757dafdb615659589b7f72a42de9cd92cae93a5a024bd73899ce4e4ad62a78940bccc9b14691780183b8c981db33bfb01c6c9e3a3052277f5f55195d5ed1eceb9782cba3cf203f2c637d89ae043ce01ef90517009ff01133aa51eb4d7f801c1d1076b4580fbe14ed40df423b9202eebb17ba2b33f397adcbd37a17b57fe5be68c0ca1c37e7ec78bb645a69e818381fc4099e1759af0a3179df834e953ff2b09bd078cebf98d1bd564632ed422b658b91f70de4d2654d150700c0a2c29b61564a16a83d7838ad9cac6df3e02337fd4137a575e0dcec3fdf985f438aeca38be6cc44c961d3832cded38c4038e057045dbd13c87262a20a5726ce05c3c6d93ce512905aa259dc9f93a290514084f867657848a8fcdd3f82953293264a55d4258ac484e07791455a49802422be5225b5f6b8b69cf7121ef843820d4ace572b284b4718d8d2737fe0e28dcf10b233485bcdd8fbdb92c23ccc47fbc2b2d3bfecc3f69062544563aee5a3a86a0de81696c56ad3167bb4b086a9d20c5ea5ca4c079b71c99358c5c871ae3c3c72059a08b3333eb135c4788002f19cf0ff7d6ddaeb6ecf32dea00a93ad41cc73e2ea3643e801cd8283c48c7e501b554b97926e3bd2ee08de7af99685497d415add768537227c795d018122cfef55fdbf76f95b8cf02554b125078995b85733490255ae298adc3407f141c1043dc7118785a83fbbb46ba1221b3385213c1dae9a0e8f42830c7b64b664764719cff11948e460f99a383809b2a0c147b8812059c0b1bc09e64e01b0042f509be9ae254538f68f31c3853a70b05d8233ccee1aadc6c8e3c8945fcbbf19aef0e244590b01746253ba47592db4149da0def53af083ec08e590109d953039ffd04ffa1b882ba86970970d273b9b42165dd9f43e8ceb09e7c9dbae5d6bd0bc4b7be2378481acebca341126ac130ba5c7454a68c9083c0aa694b1f3510038174eee696fed2354d05033f9a7e903af9c06afff2e60b46edf801b0f27ae187a6844fdcf22ba34e316901311e1a36934e8bbdc67b927ab0c75ccc9d8ee9030ed00f1793c44701ef11f56e73c253094f35becd94456a89a3a8c2c81ff73f2a3f6892a7623c3719d5f746e26907fda9ec9fc7e6483a7f39316c2308bf4f307708580265cf4a17092fcf9ae2c7204924de921ba7fa54ebe87dd65d33c65c9ac07a7591da8d9415c4a6b33f70b0f1e7452caadbaf8f29666a4e3d1abca3173ba47e9410b4b4d1fcb62f87e5d972f0688a0c2b6b21e45888a27a01f75f7d1d052d0e67bb7d33ec3ddf04875a1fe61b23b407521377912700d7c41b11d3479682e47a9b73c3c9139e198cdfb0b267b07b75ef496964ad5a4c3ae93f2abb125cfeb13aa2f5c00e0f29fbbf5075979c9d83b86d7de03775f8d42a3467be5f125cd7b32e873c368e6f3e79edbaeb2a52b24bca6d233a82ddab6182a6f2756ddeb0b54117257b55385789a654dc84cbe51ad9064a5e9a44a9d86c8cb12c8835942f52f7c3e670b875cb96e2e01e30d2335ae60554b2067d134b58f39cff2092742aaaa4282d1b1df34987a3673ccb70238720b64590c6950e3cfebec6f755c496039064db25af24da62eeff3eadea4f1c2ec8009c718ac112318d2ae1004989ad366b5d1d12d75870e1ccbcd4566d7c7612484ab0b6d1792b48994d997558dae8ffe9fd354a0e9759c7ebd11e55647fe29dbc49f3fe301f0d1732edd55f43dbeb9c6cf292bcf231886ab192c472920487b6aa0353250d89b500ed5891491bf2f8a2e026b624a6113c2fca729f2d7658658ecab73f3edb8ae6af8653805d795dd16c82e0b2df62d018a5754ba52b01c98045ca198e48a5572312dc8a50ffc9192a1ebec0ca46c3dba44514a7292f1f8682845587006a236a6239436fbc2f96d2caf53222b3db28d41901c44381ab95d88800074bbf3d69be559aed1c3fabed46c2a09fa863429d53156c2b849cb1705a38389b50c0178465feb7e32afc2a0443d44f7eb205ff06ac89463484412597d9e0ceb1e7952ab8f9fbb9d20fd17d60f7f7fb7cfaeac5fb6801dbe709c8a011537fb7ee84c1f4074a62104acbb181933d6217fd4a35735bdcbb0846fae22681f80030b952b0685c4c77c2152d43843d8596d21a9f3f6c656eef0bce8e62a48b04cb777c0266b17e66a7b24772435dd90261255977d23cb5f8c5b0766c1caa96b1c02a5082445b063eb079f324b1feac1aad7bd28e2807d49c6d8ef0233728b546776fe3d94253e47ac7be57d599afd50927433331a5c424b38319910b54267574987e3c7b52b3e5ae783def3cd8ae18cdb5aebdc8fbe4a90872f74f808da8e9c0f8b28607998fc588d11186c96eeafd79c6d18a087deac3ad85f4193bf53aa2866386a37aae51e01b22318302e657c173e8ea89722168b7a176600c747dae8d420893a7cddeabbf00a033975810229acf402f32edcaef6edaac57207c18fa662ce546ff8ef022f593f265d74d429cf6af02820d3125275a67489dd7dd71f018a0c523ed5851e022d035c5f3eed6e4de616e15625e93662339dc11a12c7001da68ba9e5532352578e9420e652cd5a79012b49cbb6938189f81eb8cc7d926af6563f00dcdcb72ce35816082131bb2748a066bc8159a7afaef3b458f92e4cf7103d359520d38e70add606c85d31f09f9e251bb35237fe74fb7b15005f82e060265efe12b1f931e38c993db3c607f4bf313aab5717f5d588f3d42121d019ae5ee1db27a6c12fb42f37fef39a45623dad7923b3cf4b0927305234147fcfbe6166dea7d9f7a8057731f998f54c771ddf6aa611a3efa046b31dc80e70bb4d50bed1324a7b46dcabc36e00afb59ec66802e169c23a6b91107f0ade4ef8b59fc058980fbeffe7c501a8b7d1e1e6a7ff3bcdbb2ab78c11907e57104ac3c22fcefeac04dfad16dcb77d519d7efd26cde00e3f7b2270e74de6410e16ba4e2f1d049dcdda6d4f2a907a16c816e7d1d86c32365295d10163acb136eb2f7e6d85b19b1ffd16b4a9e6834417c74c29f3e9ae8e9936fdb5f1f3df45cd6ec06ecf81e6718b48fa3b6242262a7a4a08e83ea3a3daae46c80b131f7cc3c3beb79e83280476d1eae73352cbd54b56c18fd0557ad8503acdeaa9ce3e18219b744ae9cc9938eda71756a7382b17e4b4ab6d2bbe6b7239d1674257e00c0409498009d777f4cb16aa98ee4e4cefd457edd18fcd6fb239341ce3aa6d3869e84005d6b941f5a3a7f4240f1c32d41f055e5eb626a07b569f69b739affdc4d36cd2950170f170ab7d095344915a0b5a5bab839654cb72f58ac240236125e76ce2a3081d7bf9f4cba978738f2b3d2b2b32d0e42779dc69c88ee0a9a9807ba9269f815ed900e54177e0c828c032ef0ed8d0ef71ffc2ad0642490bc3095374eca6168906c39757d53b15b624bd4d2ef6e1b753571e3c97e19c17e7d3a96a34523834f6017041a5ea0d3b86ca5e0e5889ca30c2a0cdec8f38b98aa3676c6104b2c819354aea68b64ff45cc2479ac246945ab446e2a0ea08eeb34f6726b21da7bae974461e3ee14a80a98283863bd1b05bfad41d714204cee5762cb588b47933953cc1ff57182e6156daefa9bf62a655bca77693e97f1e2c1863e5f95029180e61bf79bb14caf84f671d004cda233e88278d0256e4720437962289c7d1f62cd46c617a0d3b26b5c688e870a456b430e0651af72f0630b1b2c847eb2d5dd968dcfa6e74bd3e13a481564852e2656513255ac145afb465edd998180eba1a789afbbb53a96e26eb235e34999a26d0c931ad45ec0dd32be5c1020f9a5ec258c9a0aa9de10745b7dfc584a0df85923f608078b8b5c73a5c2ef68fd8d17a2681fee527a5a59a788f783187115f814814d8a5b31094e6b2eb3d655946d4e7bf7f45356da09fe11d5679adbdc91174abe4d235d6b13fcae2330ee42950095be56841e593e2990e6ab43ecc858c2d1ef749113c2a17a5f275113ccc0e61f3f434cca0b65818e12c657655edf9e665132fac24e29c51f98623b1c65da288a1e0c9133d5f27b455c1d09cefbbb9d7446fd07feb0f1d79d0c2b4056f46dfc115f8cd880aeb52cb53faccb4f6bf84a51c8850ea06de9d4ba2b749019a0dc6eddbcfceae0434a211c1206f9eb3b2fdaae0e2e719ea076615827a3ffbf088fe93e39b815e15dfcfbd3f765492378c5f0723e4bfa4a651e2baa83d0816ea4657ceae75631dd28ebfb03bd483f84675b64061de9b033db824a2594fa4f713a9bfd6fb27a3a0c8849793cb20850772e5f09cf4efe2c7f599396a49f9f57b4eeb96c926f3325bf4426b7b838b24bceb36769fc557947edd1d8b4d784a84210c3b1898527b6a2c03f32fc2e2f90b695955526190e36460c049732bd0330ad943b4368318fee7bdd5eebd44ed6ce2caaf2ef4a63c6f0f46f6f6281cf00f04735f2290e40c257ddbe9742b6476b55678ca9fccd6093b989981840562a4ac716bb145141e7a1a94efc3876774f0286a29e632fd61d260615cd96fa57f23570173dde67b6c4626bee088edc5a231e25c4580a2b2fb89035c601cafe43b31a9982476cd9ee6c7817460cd914176c695c46693aea9ee6939daf0dcadece449521ef2ed2946b9fd64006bd5e2f5d08f529b4c6bbd13177b7f54a5eb1d917609025027648e2c26cc5808157ae48fea440230bad9c2f6262e5ed8e582efc9a180a59a542336f132ef8fd96ed00fd648c04c5cf4861f66a6d9a61719d3577623b5fe455ee92f2dfcb5601f99754c3f1238204d2c4dded8592687f7b5c223826dbccc5095093d90c4d598a57d4187afa70018592f992278c4b66a2714ef3a0a3501370f9d7a5dba75dc30aafaeea04aab003bf456c13c5987fd87859b55c6c2c843210d19fdcbfb8629961922db013065cb61d50a9310a848145b5691b2a1d4f255d8bc2c19f35b7e0448eea74885fa2ac6c08cd66fb80840d3d981609bbf59294c5a1a0624fc23e4bb7b9834cb32a45d7fed4683bf8a4775d786aac1d6e499177a26be130d0e7356dc4939812b7866c4fabf6d71b905e215a73e1b7745b3ffaa77eab2bca7c3906be94416a4f0b1a1d213912a0c6211d1026e10673a9a4db32b81fccff2719b7c9a72b3bdeded946b28fc2655d3f13525993af41c85f8df1c8f01d34a6075c47d3c47183ab0e54c722ba8f3840b71d003525970a3d307d03f1704d20f33753c327f7be5c3a62255d3e1f2a1286498e03159aa1cc5faf2c6bd8e557b9d4ee3ba88114fd0548cb2ab409dab300b4426ee9fbf60b8ff3064f0bf7e0c1015cda7c619fa358661fe6bd8bc90cbb1f6b663b9c630b01ae6b385159ca6e492d3f3d1e7a85c81dbe9166e526963935a55b9d070640a889679cf592586ada36f90ea7f07bc74c72ec5f17a2f9ea3b62bce631557ccb8d31fa60c59e4ec05f5a745a2854e90032a62b12b32f1fc7ad75c559e3c938bd7eabe6df4d3665042ef9e88fbb292d7845a68326ef89fd196636f30e8e9d15d03f4d1a1334426668f86727ef5d12cfe5e52948b261e18a9263d9549f368729355034a2e0c1f4c87f906111fd8c8efe9fc20fa1a3b6119c8709630c05ed8e903da3f3a7632720143fbd0dc5a1871796bf866ea67ae7636e532dbe272ca80ab0be6a09244f49364cce152d172b7661c50c5f90c7071b646db6a2701e6d156a9a36b0e4ca90ae9ac9b774e60b925404d0747415766f612109ead876ee8080b362a1d7ac158ea39e0b9c380589bfcf9f96e88a3d966a2c217286d6f2c75804137fa7fd8256e66c92549f980bcbe26e090d91ad5d1e6d990c223eb0dda7741d992b2dcfa3756b551699baa5fca71edc8631d5e36915dcbca142b7d79f9857138ecec2befd98ec0f34e7dc99ff2b968b9dc160256b692bf6d5da32d9532f86d8ae5db781144fec5563d985401f997aa3632c60b2135930a0aaa0d3c7e17c7c82c7fed984bb73b6b496484d98c2409ea13606153f3b86fe774a3f5e660c57f95ace9bb1c70f0708d2b8e2deb648baa56271d05ba0fa6d4215e7ece8e956a7625d1c1a683ca62934cc830ddffcf49d5d198a144ed78ac610c8d987e005092d2454157787bd55d49ba5facd4d1067c21bc4906080690460e4978b0f890afdf59a4931ec8d78f1e3b3aecac425b8cee32bfd6d613923bb60c9e748ceb42805fd373a7f5ca1a9426c188b28ddb05d797e5df754d305693f319bc43e9517c93e79fa6a0d1c741acd20544768f4e14b65d413fd385fcaff941abc349a38a1b2946eb3c28734ca3f86885e31f92042f94719eeda6bdb160f07f6accbb60f77741e007bdfa11f41119683e1d9605a890e0d7e306235dcd8519de832c9d618354cc63537b7294848b5b96c62ef2b5ab026df39d70a89e7fb25abb075f39a650193b100f718510ec3c2d6568fa4ee5d59b3d3bc25e0d21b10f5514a6895c743213a2661e81ce3dfad40cae26f00f75c4442b0f12d3b58ead2a267594fdbc315895378c5bc441b51b3d230094e506d0584a2e623b1658068f9245ef8107c5e3b7122ecd701f92dfa12abd7c4889ef72b95bda375fb8ab0a31f7f7f177694a18a4488804a389895925958911446118e4f6a93ebd23d2f8bd3d110c98a8460d1d4defa4d61224856c78430d04751f19a917fd3134244c6d797be733188745b0419e6ac4c6b9fc7c427bf39a5d969e6c08d62d0b87d5a5c2010d804f43fa705fb3719338e6af466b787093c22d6cd5f236bd252740242ab7f242c3b392e2c53402bdacc612fd97342614712c553a2cb6f33825b48014bf1a45f532e9fb97c0f2221de480181ab8c211f829da9805c0161401d8b014b64753f523c165298b3b492d24d9215920523a1f466c0e65783d2dac494289971299f9225d916316d6687863dbaa659295b016b374f78a89a7450b9a2938587a96a52e07eb714a4809a5f04c4d6c47e0f0e499d88dd985a0ee9dded2da27a6f6969fe96e507aab020cc949aa378fea3b04581c5d5cae1461d641d83c5aa9b77c126755db7cc2b999318f234b9ee153e97ba3ef443e2505e64bca4e3e96f349832d162be5b13baac46d7604c24643f946de86d556bb1cb874e375859d9cd64d8dbff46e6e712cb1217e02242c8ff1b0d7ea6529b4c7d149c71f36631882242eaee0c7c77e576fdaa1c08188a4111710ad130c38657d766e15cc7e6f8ba4138fb9346723ca4151dd5dd79422486ea6ab888bbef3a1bd20ad791f9ba507011a95d023ad6f2dcade9a22175a7a4b280f81d15493057f731ffb3047b560ffd4826992484a27bec8412b86c57d9fa8beff3494e856955ee857c2179ef0f16599815a19e9d49ae18a61b05b0b8b011264361706f62e48d7c4985783490367880f84c7c970abe36c7a556a5f6f0ce20d0e8f5bdcbbe7d3029ff12826802e726855fededc617157964141957a4213e8b13a768fd6de4c5368daa65b516cb30507c96f1771329ebc932d5874ecaa5ce854a69dd10d41220c8e2250f755f604be247b357beb1474530c1eed3d7e206a37e5a873c602d8871a9da40333238c521d7dfa545882b9a5145c77c01927e51e791e970e8632603948213b8bcafbfd16b2467de241e192cfc42fdfcbce453f445df32daeff3c69032e73b962c2804b63692cd640ed7851d5de8dbfd55218c9aaa79ec2a776a45631cec1c52ff92cc9d098eaf65f5c16c1af2bfd7aefdda82646e86de5e26ffa0f9ebc04cafaca8e1a61a515faac14c027cd8c47436503a2628392a7e52fa2cdb59259444a7f51ab786487dacfebbb697ebb9d9eba5b8f8e821329fac216451b39f52b5165bc3aca11bd6f8e893e8b471c9b0648645d94303a832f5a4ee4f313611607d415607ea220256a7153831f5c064b702ff71769811a6628b18ff5cad23b9bb3878b4db7f109cb05b0c2bec01078d7b411828f4edd3e84c85e8a321f5100ff6376d302f3b789518a6e09462b15a0684eb79b0b39743f0affdfca58670dbaad8a19314b9046b9d391bba767b903ed8c6d19a53f6de2bed96b987298e321e16e86c09aedd2250c3e808bd32675b51635cd62edab684e1e22705b59026ccf5acea602d4b6cb60e16f078d37c5f3531ccd3871abaf08e939d123bcf855ce667ef83164c1984e787e8e15f228899883d524cc123fcd820c224bec4e9ac27a444c94d6f74333f30354eb45cf2dca823e6c88fb9ae236bbebcb10076bb979cbf51ecee1a7aa911db7ffce1f306b47e9fcb52d2a891e2b98db7e8b8e6d6cd6800f6b51553689bad3304249682c79c90bf13f0a7db67a478585e073d1c9ebc8bb9860a854bae4697f30c88a0897142915dd63a8d291f67eae6c04b22aac77e4a05b6d34e3bfec9798e4073f2cbdeaa94ef4405e7fb9cfca8496b19f476c7c4265f3579832adb654d1e1b4cf7fab62526653ea2bb4811f37fd5722c105376d2dfd53e3822ce88180316dc7a01dd48bbf55795ba4e550ad74a549f85ece4f821f5e88165b19c9de3ee52cf289e55aa5b248953dbf45f0c5a169772621c9190256b3e8af63e7a52cfd6897e6d814a8db50ed3fa5ec3eb11ff7ba2f30c85a085fbec573486e7813d6a47df76401dbd4f1876bd7085e7547e2aa65c2ca731921cadea5059dc97d95e34cab8dd718102fe41fe3141df5f040c80ed2e0b167fd2828f345cb0e766cbd9a29b045eb5a9dacecfcb94055d93e49f9a0e909d55e8c8d1f1fe6a4350709b879222b9a938821a9ae0d1894cfbbf60d3c6c358d9dac43752dcc88ef6d71ac0b52f55562a2fe0945d7c6b1027af6f8d6dcfea7f2d41cae531c282a3b73b10405ca1a355b939c30a5da9a1c208c2ecbb7fa6acebdd24e3dc3bcfee11747ac45f0aa1fff655ba0e84656f6e81bff8f9ad3c59d79d5d888aeef3cabb2007cc39e43e2f283228d0c64d52d450c100243191cbde254feeba7fb50b8b7d2a5511da93f437961fad617814cc414ce82e88a5c6f4fdf511e362cf04d05e51624f85531abef7fe3c0d05040be83a1bc7f420f64750bebc1390a8f7bc074408a9d7764de85a11531931b4394576965976d66ef25ea71a9d7558261721e832f5fc5f370982bdc6be446caaef4a8910b3e99d744d5b30cf3320fb6fb8efd6324f2c86bb2d0d59d4fbd5e9583ca6c8602508ec9195cfa2e6d32e1cc65d8414bf5605aab5fdcee4cc03c018abeeb90166348b343bf377b5bd4022dde81833de07ec9bef41ae74cfba874d21fa28dbbcc922abe32b2ef0064977d1d8497462e1cc4d23cb4b5063513c7d980fc180e521e05f93f3ce39f554a54efc3d2435dda0db9742253fc56ad48a6c964d9c5e386c94dd74702cbd04e965d0b47dd427fb4ded5fdcf6a3d4d80ae3dcf69c1877599e37bffd6792b8282630e8282ab3a9fd20777dfb6d3f27bf88d58707a1cdbff86fbba96ded27ca8901949010ef29f1101a765782a028cf819ee42896f77c46a1a67863eaa858bf9574f47739969646902d4ffbcfebcb5ff59aa4e446ba733a67fdba5ea27fb51f24f24a5464bc3258b1fe3ced91c1f418fb7e3340131210998eb6ca3b1231bd849f6bf7a8a223e413919f387e7878996483b34d939cdb0890a7678e271a4b91fec5082754f322eb17f9046ea6671686e2ff13faf3938f776df4458edeac261d42ff8bf903a8e900dd6cf8a0aa81900169b55bb9dfb7cc22d82be32709111342c25b611d4cbb93c700e35120a313f2ce3eea6f84b91a25d68e25b0f0d8935468fa1388961bd5eec444d8421c09b4a9b05f9ae924bda61ff919ba13c2c7229ccf80cb3ebb82bd3e87982d202c8b055fcf508fdb20aee41075972addbdaaa4351aeaebf42fb531ff17d6398cb4c5cc3abe0fd061cb5d09a78c85fe55ac0af7313764f075c4c2c47ada8cb338bd89e20dfce9c8b2fba686271b8ecd29706260ddb11de436814849d16cc61929b4fe81a2132b38e55f1658856a25b5d3891bbbd683d6cac0553ccd8a8adc0347998b2344899a85a75eef93a3a21a6c903285f7629f46f9da39fcf1c5bc09f03c9d4d4b81895daa21d1835ea1367e34ab92db3b362604d6499ab1b1ef2d7ece68238f1fb8f4d8c285f6225dcf5fc1c8cb598137ccda76d656811dc1fd7d40dbc36669c2cc89d6e00162a689032b27945cc10a454d3b7666a0070091375647de1c84bd4e089c3cf895493a2ed86704c4778978202f3b0b701a6c163cf962e402d8965e161abcc58a333a957935fda39f839751fbece5e43e2b88feedfaf9ca6d6c1be338280c0468ecfc3a9cdef8c7a0d612422faad7e1b65c17f8c59f3cf0605806c770cb2b06d20bf2c6d5f96beeb1542c91aca14c392637a098121351f351f5742fe28150177fbc5959373962a9521cf71e539242a4dba9e6c911aea7839f79b1232f6a4da5b1cf9d3048be71edfcc81b6dcbcf032169fd11d019fdad6ca38abfdfc1149ffe1b2048d76339c7b63b43108c7e06a725357d5d69aeddb66d731958f441d6d1359ed819d089d730e6a000a19d02c5c60b57e8bceb2e002fbef1234b1f1a1847726d8cc382a161141b0086361b0347d9903470a9f5aa1ba0bb73bf9c4a815e8af36f5a3b5fb70ce665ef39d936fe0d063580cfebf723471adf52a6bb3359121fe847dcd893c91d3c0b9b00186edd886d48c1f0b8e4098b33af1f2ef5e8d0bf1366b3ae9c800a58072396a62a3b4592511b7f6452901aae4a9d48de97eeeee5c4c91d9e513ddadcd8ad97373daa86e64891497790e494250f281e327660259827033321107c4a4d862ede7dfb2dd4582fddbd7d256e500ae654fb2b8f481e3033351024fdcd166173bf5095107176b0822ef7ea3176b0241f9f3f833e6cd14b58b43b9b50fa0c16e890c8059eb1393f81b03ecfc80eb1d2d721203495204512401e210a0547f7aa4ea75000ffec628f6dc51bdb7ed54c54a2e61469623108d1bc829c402fb945ffb1b4aa7f873b06e95d057ad0bed55d61975c7a0997f669192094d9623c3ba0aedb2c65f513cae72895a75a9dd60b79056259a05c2d51492de246995dead412a1bc6e08d354e4363c05991eb08b3b3e4b44b9221b38f8131c201ac4c4006e485ac354e5946122bbe2d16c09aca8e4a3ae166a2faaefb82ce977c12b89aafdeee55a88b70368ececc62a160b53d689479bffe848fa2240edefbd71b65417132c80c019444799dc86a64decbfa9fee3d2749df1ec00505e3d2b89dcad97a245eea7116fabf0ff4f5a2c1a68fe0406eef0eb0fd2347efdd44055c6db53ec8b4e93bcc5963a2d226beb765fa02664ed2ac30128e7bae9fb797dc6ebc971754b3b2ae1aad0f819f355672e38b264c7fef3bb69bd04f34150a1f78a65e85dd7b781db3cdd64ca381573437cc5a87d8143789c477b2b1cf1284a316a522150446fcce189c0a3ad1a811a97cbdd4f9397a69655aa7f01980c4239bbb637e29c525b1ed7668cdf1cdf700a914674da5984d75e2f5bdb2ebad1815e30820ee0172d5fe54ced43fecfcc7d8ebbfdf6d3bac757254b25115028f356f8218a9431d417125b81f82cac8ca05f3d8c929f0175c8c1b9c97700ccbeb0d6d9ac6d9ddbc071df8cc01e5d60c967b1e381bbbb9cff71545257aff7fa6fbabf6b4c351c9862f3fa2a0e643f205782c2611e3edd2bf6fa048870ff9cc7c35e61a6cadb7a1e3e08c87c25e520bb8e8ef0222107a8805d8d2e2632b26dc64b90aeb36657284415e3d25efc1782cd47d1e49df971b9fc9e0baf6e72935aab9bbd90d01242b85a71bf534a8616832808fffa4048397565c4909ce67837968a1d4e793e0fca7b53bce9adf80d284a06ba65ba470e1ff045d2da2d4e0ecc5da371ae63e024b95b1f5096b00b20a76470f2115f22d2f52a75725df48a809c8fcf45fa233c710259a33ef59abfc12bd5e184f2e39894905e59982525ac3096aae8dd17f29031870c739f56c36444efd9afb3a52fe44f1b8d0af2e6c8842fadef5f3f79ec254c74ee20a7041ea0d6234d81844a9cbb9b6e410851d4175036231cc1ad30aadd2aeeebf9143d5e9f0a05fb9d8bb81e2aedf4f64c972ead100ad262431fb182e64f24218630afe3e3f7c1ed16323c583000f500a68a0a03ac984be2a10286af62f8aa3cb0267446833558779ca1c0bf8f31341a77e69298578e007ba227f5f5fdfa4a40a2cb2dafc4091a42d3504bca955ce2f42ee9f4e92e690f83f00c2155ef213ea989123cb2c84fd22c1dce4651f7b71ce59cdbaa76037989fe892296599359d4132ed095109cc61d3f2739763f21b0ba042aa14a80a39e0cf4e616bafcaf725cb96945741af6321d07e4935df169844d34278ebdcb09a874737620d1cbfcc7e6bb3ad2ee3a3af4a910726f6bbd9c48ed54c8a11b90a1afb7d5cc93aff1143cd7503665284459dd617b8454e328ed921c03637e0d74925cf1c0d6f7e25bdf625422ae8e7d1e6da26418d75abad8bfa28f9fed8d7bf506cd629992a4b9c63e2021beb1b9cdf32b6791d660ad8162793edc9da97f2413bab195ea085af24f28c21ff68908dd3649b1eb44f9e4eb6de84fac60abd744f4c7840e5d214628290b1e3f41721e6759d1574c98970d6c65565d42358ebe9f76269889bb054bed7cf5a2c8d93b56073c93d8e5e2c456c68a5a2e2d182cd9b4c64bd11dff9861de5837e60ecd76fac66b5cbadb77f86c3366badf31c61b0b661060dee695e074d358bde35377e7bc3d0646d7c6165df4e8ae7a6a13c67fd081cff4597272791f05b0e5f987505a47e8db482306a3f9727be8ce18837d9563e3c4f8b89114ee53eb43bd45c857995f716b640456fa197216870c04821dc9b0c2f7ccd02a1cdd5dd04a21b26cc5f74b90412a67988ede03a323c2d75204cae33e2fdfa6e6705b78e70b4ecb8bd287beaa346319cbfc3184d0fd69950b486d0111c448af72868f3efc0562a5c3461d283ff92cfa39465c509dc4d686cec01cb9bc7b7f4b36cbf24e922185792fbc410ee4c14f852bfada491229ba76f4fa6faefcc50e2fea0215edd2623c188e2f2a305f54b805660cb7fe78444adcbbc5232812c39eab07578ceb7c538738244a30359f86808b2f98441913556f102cdbab4510992f0caaf113225b747113d0b2ad8ed2b61610b5e3f7a41137379380a82fe8eac29b1225c91a0495861874dcec7fb7aa4cafe00bc01ba8c21c50a8b3fce4c449f5c7e646e1ba4fbb8d873742addbea9054b198de76a6bf9cda0814cb9f82f5ee965d83bba3561a0e7b229624a53dfafd4631613889f01da3081e96014df93d9490ffc3869d1f1572ebb33cafa807404e4d263b91b0d371a38c5112b8637c77e8491ddf1f382b23e672bfd6823df0a4ab743600f34d377a26931a3b39ad55fd61c2f22a63e02bd76d9e1d1a1e3caf148463efd6210e28ca16f5fd398d3a4816edbce678c6406a281b7ccbecf25f75aa25925b568b98aaa3cd4c7969f92bb489b11d19b64c118dfd0b61f502bbca83af40ed9c668c15e205fa4b017403d34d989eb841ddc2eef354eccee585d6accf71f6a8ba9862ddd5546100579ba16b4ee694567b9dafdce314558e8ca17abbbd6e7c58abf7a8a4da7ee0a8247eb6fc67b22b4d00ab1455d3f30f965f180b27e7402768bb4cbeae9e529e1e46acc2ad0f24c8e3e1f7bf078bc69d6fd532093f489dcb559a1fbcfae13f69a20614ebc1a69bbdc76b66b01a161ba4b4d63165f03b7c2010405021bc3fadf336bbc67eb405529f727b95662967501b4002c62b21071cc0591550a60ff4d465999f070bbbb8716770d6ab4f5882b047db77bc524c29f45889c1f700882a3011807ba68bd8cedc7a8ed74b951c86a8edf8e4fb846e4637285ce5a15ef5c94bfb1a9f665c2cced06d5d5632a3bd97f93d47e68749677dfa14131357636759e0919e14e1aaa2185d16261e1334f47292d2ba686570164adc971de83add38dfca3b2421880c1cc1a28bbf9b22b848a58b9dffc3a3452e37f91098bcf2af60c884cb32e5c0716b080a2056f1945a1246b8b24eae260fafe83e47f4cdf2568b0ce68039e70cec00deb599876861aa1a121dbf5cc7dfc09888cdb7ed46ea3e61ae5f9bee705f368e2c4370f009ade6e70e2a654433142ef22bbc54b1afaab9df61311209091942e179731d79f10275c48514da815bf920c758ec669f17f11a772a32139e1abc14acbb89da5daa1cf5b78e3459c3c883168d269cb58d5688ba597e1af44ce6003fa94782e56c42b84f3b90a1e9d72bcb2ccb4544b3d5b1370250e60ecb7b164554f2f335e84b93f1040215688d530814b21f836606864c1f68236422d9d206edd0780cc507193418cf55891147ae4d9bc6ad386601405b205af5145d8aa1c3e91ada212a5a0e84a86785c8a6c58f3733ab4faa90b67620def4ab4b0d173dd3d2629b694a3189992e0c3f4776e515443c5d4400358e98f30686a00bba0f7e01d9932371f22e5a81422d8b9b0e7e5890441022ab840dbdcd758489568f0a5912fc6b2032e2b4fd1f3210982aee945b5ba97860c59243bd0948b210bc7316362300b2856811535b7cc4b93524504a12a848407bcc4e274398e70386fbe55c2a380b1ddf5476a91c15ce639f36abadfc280e7ae198ca2f9de0ba00b7dfbe0ed26ed276b1008454095ca3c1b89a479bd07a65f38f93608694399bbf861f33eee16ec7113c94d07ca182584bbc6c14140654d5f84390ff3702ae697a6b92605210d8419e42154b3b6d962fddc633bede5c9c405120fa1099b929f75d4371588f33be91ae5e69e5698d420327a1fd72fd8039ac19483a2b1208545664afeb2e1873d4b3f9786e341b66632f4109af8622ed813970cb4f8ea1d060f2abe0616ae22fb8933813dd044bf26756f87716c60e7b2da0cc7e646569a1c3468f18ed928480ca98b12d319d6920533753447de23abd9deb10a7d910959eb31d83aa4ba80002eaaa1537f5ba5b173d96be0be55528924212ae0c5b8a55d09ff4a2dcc16c1044ead836496131009dd717b55d57afc0fb22b8a99edeafe762fdcab2ca60e99c9505d64ff95b5e7c72c38d11caf4d6160cc6f1079ff61d9e6eb6dd7cc116f7e7be7af904bfc07402044126dfc16a07f696a26b6477fef18a5286c889084a9d39bb0bf0d5b4018f1b31d094792cd60541de8cc3d7c3f72d4fac09df22c218ba7f628d8d403d11e147e41f5ab3b833e98165bb79cef8a5d2f0acd8bf55bd13b8a1bd3af128eac7a3c3378a52c61c1935fcee75737dc8705b3e68c7962866dd8277328f5c7c9117e4b68dc7f2516f458b04e7a7c74e48cbcaee41c228083d8131984ec2b06fd946c479a0c1e5cf2aa92e30731be75cfc74883aea6959c3cb97362fb29ecc6ab8db16b8fd4129adf458fc9663e433f8af0830ccce653220ba62e6a76c4e26a1a3a4a48544b832ff309f9e162b3e77b2d7bb58783287b96cdfc655d24620613ccdded5f14622e64ebe89058611024060b4616d73302cad0adf62c16bffdb32ddf5d5738561ca372ae85dcb05fdb84d28fca5ccc952c6acc325e3ff7703409c74c9568f469a71ee07ec23075025acd36cd4235ab2b58044fcf4f073c57b2a823a71ce9cc91ddd0e6cdd8472b8531efa75b3e0ecd106ba30cbf9609801df346de0fff24a35a2ddf94d4c330141d6fcbd8e513f9a2b4d96d1e81a7bffc31e85fba3cc9fe4e7ba5ffe5e3e9f29159caa979b4d0f4fda9ad7586af1c4a6aa64fbef444e8426f8b4744005ca8b73de59cbbc78204c721137d1f4c0483997d84f8c9a404ac17c5e7ca26e108939b4f5f31642a522f3e1cdbdeeee1577ce46e1912c9b3e1952d8dc35a346870a4a51596dd18058580b0ed610a9671e3519e5a8519b235bc3cac80b23ba7829c2a81791143e3981daf962bef4f0ac48d54880067577642618af578dd2ff7bcb0c74b7335682fe3ea1ae1a0ef3291af873a550f66f9c6c0b392fde9a4048e5f55edda9cb04ee2338eb79bc493baaee82fea3c4245876f99427ef3de40eabec129acd733c9c6c72e4d3ea337b6e29d2ab157e84c864735e913ad624db2b7f65f76c08e147fbe8ea308e7e365411568130080e972d9e164bf448183eff9a931922cd42efbd77a2f7254c75b60d0eb42b5795055d129ba21c263ccccad6bf828cf2d04224926e0ff8d3200e22b28ff2369610760cfdd070db3c3aa8ab164e5ac6f0c413d17e8c0e8c51ac42ae0af32b388aed0a891792889bd732c8cb828bc8de6aebbfd0d9d44240780b9d8d1e1e0f32fe327a88d314be1c5207d45b71670d50d283a735e67bdcdf7c7b4d11598b3d5e4d666b83a2e514ea0d15bbc3f595dd39b7e0cd84e0c578b5197ccf092c9198816c6d780693c22841acd9655b3dd6aaae5c8de32549012e0e40d6400dc1fc943c69584499222da68cde41a91129827e924d407863f871c1d329eca898f400320724272a5cb7fe53a2bc177665f15292690ca3306cfb213f9db64cf4eafe34ef0b0b2abe6399eacfb16c252af44d7153dc0350c41f842462a18c0981d9801c96682000ef9623f8874963ee2639b9075e2bd0884512906fd9f50fa004587deed542c466c719b065aef7174862e1ae5291afe4860e515f63afed031ccee6e304fafad36a8606e8f125b236fa0a46cb17cf3863231b6853e8910dceaf74fe571bb89e86019cc338c7c407559ca11aac43df0b48e7f16fc8ea6d441836cc633c3fe1cae362170fc9372b0b1060ece2705848ea846c6e5407f31b832cd1f3d1bbcf5f867ae3de313eddbc34df3dd6bc867ce1097c898c6d9c9d9498894b4227e130837a86914b2e5f5c04d86ee405ea24e961f0ad0c956cc9b77510b035207266b57baee9d4b7a2293dee53d0e91ee6fff7742bc59c61c2c67c987798ca0c700f9b1d33cc1114b95fac9a0893bd05bfb8b8ef0a2e18e781dd6609be9bf227848f63c2ef71112ef5951a9cdff3b4e8a13dbf4f398398cfde483463cfd392e7b414ea865c4397cadd63f1ecca5cbb3d68d954bec9bfcec3806b0f4ea63030a5490951f5335a75839f5c100164b7beeb6b0a47c0435ea5e8457fa4c01225489f2f394d89b1e7ee97fcf012f127d84d35903d2a842432bbd1524c9bffb9be06cd7caf4bb238b99a92fa5975b150013648868e50d144b9e7306a6cd60278cee1a6d68c1e2a64e772d6eb681d9a9ebd7c49f87c8bd819ab2718d103f01a2b1a2bab67ff058a6dcabe4fc6971e9a2e86931d766a6444f64d369a8146dcfe44ca3fa78339ed892c821d16c305cf302b361b4054141b7df80992f2e8913c75727664aa5c737378f51d0e1419c0c959a50ba182034399997d918dacaa6f0603ed1150d88f204368c343755e8b5e05ee3d1cddf8371ba18d099857bb3a63ace12e6c320ad46b9134c64d719faecaabaa75d1d28e689aad3daa2bbe39308253a1e005d55d3306691e2a0c968731621e65ccbf278069b8277ae33bd3a8bb70564ccabc1dae7c558083c905293aed30f33a2dfddf1a5175a2a4ff49cc95bb93233046930c4ebb068cc0b5f6d1b3185ed2de2291d655d015406bc770b419ac653af9ba5be53eeb2e480fbe47d9e61afe99a83e91b712e6a8468b69068f4aedf9f3e0112dae48895324888f31be2f6479769a076958eccd0d60a05e7e67b5762a7f921bb72da82ac1cef1e69e160b02979336be5c7174a7f4edc0aab719a051e0b5699d435e71d152e8243a184864fa1998496328918a2be56f0a28335a0ab5651fb277ef421fe69c4b510dec473881640b08cf258bdcf3854627b1935d6bffd0491685615f76b69e25d55e57bd06700c6c4c3b53fe5ec1175d40e528968434fc40d186fa675ca2471fd690419b596a8544d8cca1c67b9d9d84c217f0dda5bd57db92952b3fa0d749c8194c233fce129228701fefbd8a469ee90c2ca06331936829afdb31fbfdd71c0bc5febdce05442198f4a2e73c65dc6cdbf714f205645ac00ede68a8e826d4f7b7aee8a195ad653ea19b643216076d30376ffbaf7004710ade1f6eb812f8561a0ede9a38975582dec1c61d16cd9608bd9e36ecbb5720592201bcae57a078cb09d3a3ca5263ec051821542fcd1e5a3bdeedb2333232cee19e1db4fdbf8cc74cb61bd49151b4c5d9539185152965dd5c08f5eace2d9ab25aa486fde8c9294d368c6b303cbe7ab795beced0b08532d8e931b03fd9b2877eaf373fd492ed322b318b6ead9e2a4f2dbb9eba7bdbf58dff42c34de593a80e887da8b62545d565ea8413367cffab63dd9a091c2c872fd9fe64ee5232ee4885eeb0ed1cae6395b5cd8d33b176b401d7a73eefc071c3d68c46b11c02d15a0cd82c6dc387a172cffb9fc51feac326088b9782660e469e16a02baca45c90515422f1ddafc17bd93ae897f059ab2643cb8a614aa321213a6205e7a721f4d3a44167e973f81099ec59f1a3cdab8e081b9fb302489a571af88a2b72b8340d90999345998842a85a6505cba391b78263fc8cf5912d948b05513bb5e74eccc9ddbea217dfb17694d158de61aebd98d267fc76654bfdc583d59ec3e9e10eacd647ffa35ec40de7bdf1d6f36492b54b55718a26525670a51e0b648e33df429ddf63b13888f2e23e2d1e519f9451c9fe3b8390fc4cda8a80ae20a6735ae420765296c4a56c05584a44241b61638ac6e7c3906ba151113ebf0464720bb45d49093c012304056ec4bf567202bd138f14606dd6b19144053344adb4a57e28ed122507ce94f0c284a422943038988f8ed43765259bb03d97fc4172adb19e3c20e0eac413c8127223e29614fc13bbf25b16616ade9ffe79b38b44dcb4c0f158d9fcce728caae6029c99bc5d78dedb97a4575af40cbb4f05d6ce47b9e1031e40dfb27c72eae12473fb7e4e44c475d5361132111e6e6515877c24614d9f86963dfa2cb4c0fe631635f13c9adb32fa5aa80cd140f1a0a86172d9a9cb7f94dfb853f3143f952d31bceb6bc8407663a5656d7ac0dfd48c0e118748583b40b0924b8a05c01dee1e8c371c82f6542197a5777142c320ca55c6c610454b9d9dd15c06a4b534be3b07de0d4b59a74f75bcd268e29fb3680a6bbb164563455a0a00b89661201fe33c95e5eb8af4a74430a9225374a168c02cb49d80ee2dba1f831e42771a270d902c43c0bb5bcc3f18b1c489cab52be043333fd9c70266b3c259403d8dbcce5f60d0704dae14f0df7d59863f9f1270e699f1c892223493fe246dd778603cc018666fe4fea20f8664a2220db58edc7e50907677430bd4b4bfd8884920994c54dd270dc5b30f805a044fb944a8d55c68b72a69f753a69e6d9144d924e4ab5595a4671244381835d691187c22d8897654326b9eaa473eaf5e0ca4dcd153cbb335e1f5cec73b44be625041ba23fd5038fe9df1188db0e9c602e44f3b446028b8648985754c635b23246c960c8469f5b1b17bb7e073e066a4766c513cbf93565deec46e5ab3ee3dae3c5f6a64de16caf762c5439afb013f4decedc3cdf0b2af6611aaf54b1a390ea2e38801d5788ad32130f7199de7d257389bf35e089836c3cd103f343e3ec3576da66f3b297c8230732c2848103dc922b696c4bbafde1f78fe3ed70a641bdc6d5ef18d4c66d5a85718331a8d95f577e7ce38cb761e7ee6dd62c8cf3bbf1a1450805e81de9674a6b49f1f5fa070a3292553772c540b5b6b87e3991bd3afcb0d6735a13dd91acbf26adbc724aad8ab6f8b64967ee8a5cb5d62b0fcf86c7ae03debd70cf5b2840756bc87ab48f51f17b89bb9c3e91d4646d578da3eecc7d5342983627cdd0e061cb9bb48109e0616fc9b1c545376ea9198013e44008501c2203156d3706efc985d3aed6a6b3f1651832cdfd4943d47d178e8e64fa2b704ae4bb1e7ff6ceb64cb2f25bafe1bd7455d3a6cc2c20699629e9c6559180027cf504202f2f13211885ed78d6e3f86c535c56f55643b877d50a0bab26479d1831b62a7e2bdeb87cc9d180ba6d4c14245398f899a537fa27bad211884a93d76d371281a83c6dc854d1780904736d5cde2f4f589663dbe0daf6bd3d56ffe49e4d394123551db4b79c9cd476ecfdcd8efd7cd5d5cf9bd8124c3cd67e4d700123a0f126a2008b7ce89cd64847455e48862a8dd44153ecb2343c2fd8eac6d692f7e60d541ece9b56af767fac6963f18c7da5247fc4522909764b1efe15cb7cb875fe9e2500c0cf482798c0bb74d67a7e71a60e2302cd060ccc58148aa2738d473721ef002566efb6ef10022f5fcf03fb2e97c3e55bb3ed3b3ef87dd2db0a721edf52d1bf31a512d9264004f7fc1e5302ce1670ea5a315e8c3ec20176451335aef32eaf6e7c39de671d48c5e28218acab2b755875ed0f2acace54c75c02b4edd3f204afad84c8916e60854fb7f70b07f17a3233ccd861e3845d2ece211427bb8bea4ef6f91cb2b96e69d290a7b2f982d608b1a2da87e2c56315524a1b8e66ce38fee381213bedbc8d946eb664756c4d800d89ccde9f41084d5f8f355ef2ed0f1ce48f6edbb08e55ef1d42823cfcf8c44fc3646b56dba812a37f756cb916cea7ed743c79399206fb98dfbe9c8ac46cef6527d16c080485c538243045bfb6b45d893345c229106a88e986e25f1e487500bbac7a16ec42b73e5fdf94bde6f2a6767e1cbf01d7560f2762602fd2fff60384c1f2f1ccdc51fe30288a6058e6269620155a4fa94eeac47baaf6126bc96f7cabe991c4bd34511b2872f76ee2f8042e1aa9ef61a49f43a313084fad90b3095f74f180810a620ea4a0bc4ef2691fdf8ec3cd5e3f0833d3da3979a627e45659126eb785b57127de93fb0aa60208a225a4010e6515ccd2315de5e6b179c70e798443eaf3a3047b066d3d06b96a136c9631ed4d315a508127b110fe58f1aceb41bae72b33cb72e8687a5ece918238d60f8b3183f14c47aaba4a3322161e4f07904d977b8b13c340269344d7104d10447f591b803ef9743d4525c349734581bc6d3e513bde2448bd130b44fb89893a9df8a976a5c9bb8a85a290ec16337fe072684f9a04b7b54a26c5eaacd27a4ec170f1315a8b33c2eac7f69ed59749f243c4cd1e71f1ba11098640ca520a8d7e8cb06185588013de1227b2052b7e8c04558cba19206784344aa2e5059d23c23a09acd9fc676bab5dc02defa0e9944ae21eeb601eed6319e1efcca35a4611311256519aa7dc40b908426ce5ff4678cd24937e4d0af6f9e04247414652a5ae2fda0aa42044114aecb8aa42b82ae13d264268a760bb121a157580e96d987be72b2df9d54f91e2322385b4becbb477de20f156b693dfa718fc8030d2677e7eb20e05ebe146264aead1c2db273c2f046f29b8656c9799cea0cd91369c894e03c39d009001c39046c460856c5a603d1b445fb0ef2f6fb8f84a5e7904cab958171c41ffd96d749543a57e7fd62d376d3cd81da7eba5635131f5ebaf5855fd7b45a5469f0a7e3ccddde60a5c2b55ead36ab3d4c4b5ee16b15a5d53fa841b7c6d479990ef662d0513ad8f42824dc1c5593d5bcc0ebb297e18ac46b26c5fe89bdc9c972ac101e1b0c7619dd57f2b02c3745e55171f94ee2bba0256dfc32ca35a45b0199a7761bc896c15556837d49a6ea9c57be57f51a5624859f3536fff7ca6926e6ab6b21c1c159f457c0740e7e8521ba361ec280a061a687c2df3e0cbf5d195762a5e0df88bc7af4781911e085845050511d8690ea002da277ed9e93235a9739d201d19ad6774d6d56d38c0cc8b63288957b152adf09b3591b35f6fdcd3508c01ce8e834e5cacd0cb4cba3a3b271bc91235f96550667b7d25814eb0f5effc58308921bed2b8c59b218983813b1a27cef5b51921cced104ff3bced85244315572402eb72b7bb4c80bdaa0ead5f5ff14d47c1188b239112d2eec31433b228bea9a6eaa2b01516d2fdb39a28bf0818b2f1815f9d618cbfee020c44752bde8e256bed3c2ae76599853b01cb6f766bc8f16bf09acf7172fda3a5e0eb1d36f2ee0b773117289d6c0734a2268f5524a73cdb76676663206122004b83ce6c85aca0142c080076afc06be3349636216406d5359a140530e3c1e52db1853d24f97fa57d5979a538c03ff90c995b58744c4ced7eab206ecd63b58d733cdda3768441fc4d40c18f4def0856475e4a90c17b8d24c61699a5e94ccfee43bc9acae532a59eeea31244b39974b7b7ab968324722d791cbc883bc0e976c2d77c635fb6b1898873f5030fbb7c3eb4ff23860412334a98c8c7eeba0063d92774ee5baf952cbfd5ec1791032acb3207ad697ca7ec463ff9c05646fa9185d71bcb4db929ac17897ad00cb17b5e54518421e1fff5901016af1b86198060e17e86b537012132092c6046945dbda8339902d9f8e3d887318bcc717dcc26f4dfbd3d2db9427ec999fd0b7b8e49e602e30bbd864f8a3d8b5050a55b75d2f998ed3f8b9d2ba68e102bcc55e79dbb289ec37255d4ba6fba8c7fae2f5e1d2a1070b4b99a3d73e89851283b77a99ca70f2912ddaeda5b63d1d9a4d94beff3850e442a394c674e6287ac0f240efd8072cb89c523319f24696d5291ae25a71fe3fe43b2ab3e950b827dc50c17afa45acc51dba1ad506a3c1a2afdf07de7e7782770894ef9850f0b982d5f4a2a8588a16573d3f031f863c1612f4935b331ae1cf02d340e02702f22810d1e9714f4580364188f993c0078b43014b6a263800e3a1dd2963aa97d61d6d30a60c8addb81f5490d2157de9da52d72e8e93b1d23d7935f59250975735e5f84882c78552aa530f09ba1b14c844c73fe89621e2a03dd3a1a10e765e71735a4ca4cc69562e1c12b1f2c30563759be136af31e72b79ace3966a20c59f815ffacbfaf4c41e7600b02ace2b944754eb4942ff06a8016031d7224c181b0539516be6e4edb09d5a1ffe55055ed09250db9550e574f9e13dac7bb82a7dfd30d9e1e97872df344a4677d9902f7aa9cbc0508fd2c8a0c075ea35e250a2cddf5088f70650f915b0229a6ebe9e9342c098ecd8f9d6d89626618ae3e43caebd8cf0acb50bd94a26d1dba6815cf235951049fd3c6220e5ac521fb305538733cdf60089b37f4a900fe4e671d7441387899d70d2b265ca65cc52cf0fbf3291a923874dc391c8cce7ae808f0c527af2a80e2270fb4e1e1e01256c47eb3becfff163c20a31fceff93e821e1b30cdf0465bba1e0eb12625329a5758a9f40790c5c52035e86676448d2680afd696ee543a673a5e366a3e8cf3ed5409038f5fe5c77871d6d9bcec372cfc18ed441240a437c2a4e8f1e28febc448b888b72170294bdb4194ff9a48c6de83287c12ce03540d625d30fba3dc604e8e0ce7b5c967c9a75f2f10ec9bf5a74d4bad3b9d16e5b2c48f090bcb5a536c18d8ad51789911bfbd47d5b6692084bdd84e7ffecd9fcea17d2db693cd5707ac9163bbd4ac49601c0a06d8d35e368c5e2961b558c1475785e0bbee283f06bb221835da76977af1a0bca6590d3d4b04e3b4882f84a017c10b4a3d13af7500f4e6c39f939da64f3cb2eba6b2957ea3fd81cabfde1413c1b7dfb6c6cce6d4193447eca4e26ab6ddb43f834f568da49d6195352ab687119cf62219d30d6451a27c8205d9e0a044094d6d6b5c086140ea1cb6c7634915016d36e651909a337639f3c733d45f46c4284cf857e7d9673a3ddeea4cdc59277c5a58426569ffc367bb49b9149d2581af2f3865d487732ee6101c1155a9512dbea6228d28b8e1858c61163d020d814a1c559f0d70eb28559aa0b183b230d23fc714429e05d074bc3a504186ee7f17ad2ddb302511ea7f8cd58e579792e4a969f094cd105822e198c59d9980e054772acfac6dd096ac06224eb50ede923680d8eb9cb4abc42df397ab501397ad22ec6296c3ba89114c4ca9e9b5a5e51f8baa73755ff7d3fed6895624d5077e18ea3ee18446e0a18b5c81b6a8ccdab7b55ed794af27bebc7b05beefb2a45b3d1d073059447a661481adc57382adc233cae9060957b14a8c3b904022d091cc8cbbd9e37b796b2159d9daaf0c062e55a5d18b7ff8d3e4c8b2bfe5cddfb2da8b7915669a6c8af0ca0caa8fd84c69d4e0a897dd23d4c220b0e2e564f64a213e2ed4b8a2ea669821e5bacc259dc128e42dff55ae54c5240a6681382d6e0e01c195940563fed512ad6d020a177e1e21e0f3acb07ff2dc1f3fe11f58c30b86b485379c1934c093640f7f7d4ff0f3c3ca3cb4e17b67ff9146dcff97e077a5863b962a7807eeae7c78d987b451acc59387920478c565661337073e71e3526deb9f403345d71d211943093a56b7b6f03785f6603eff72faab434fc4debe939e0ae3c066243844e5732c37455d933e5b3af64c34a4f1ebc79807324884a21dba5e5744b103e463543807d4fa97be7bcf6197d01591f45853f13212972cec8140c6c32630e5993dd1b30129eedd3a91d0a364c6c0484bb9c2f802eaa3806d6753322875f5ee1129578bce16b0fb69c842d4c0797d550fdc8a3a31ef61cfa2341d7588b7d271d44a82943895be9bf8d33f660d5929da08222644979d44c8aaff9c7a22ab23373acecee44ef88fe8a34315ff34eb03f38d5abd8265286416a463c7ceea063fb11984da577a4f0452cd49d3539acb2f9bc298925996e449bf8a1cfc68f77b43a554f7e32cc7c0704f556f643ee4914500fa721ee34f9c2ede30e422f3f26526ca9ca3e51cb1bd71296218908b3187cd0dcf09e4f1cc6a4df9344ff080bffabcb704ffb640d636a915ca4b169c0a15b1d9e767657981123caabb9d46b5660e5887752dc3b4b49908a57deeba8945a7bf81a60a08162d8807bbc27ea42ee97d429f9c0df0aea04315b7d3e45141c3137cd0a3a328309924689e62b4d68e2035a57762a9c1b234f848a299d47f8be0c85c21c909b86b46b3d67a57978fb7e5ac9d0593b88bed4b0caad35711cf05293d64799f03f0c7ffd79c683af3bfab45465ba34c7fbf4839e1892c1f650e76a2087ac6cd1757da383df27e8c7455be4c020012fd854c5a3af52ee8ee2d6b94d6e1a5cf82172051ddac0937b52103d5d329fa620d5ad6c9db3a984e91d81e8919c8052eede1552ab349d6c20823598fc79769d093f3a0a577f63b354bdd6bd6079256be646937b175615d51f9712a02d8af82e6acb70a3e5fc877825bedcc8da99937a51f165ab1b546d012908d39e35becf92cef15a2392ea6fc775882a3283a519a8090c1807dcfac0c0ad2c5df33f13933ec7d66b357b0be73385ea51136855c3e2296d29a5266c4ce9e712a711da58c00b03769d93200e654a361e53ad77c210beda3dad21076ccb101735ed6d62cda547e43528cb846e0c82db5829dd04057098753a217e3f44fd19a23fd132f8bfa337c983adf4da8efd60031bb909cbac8f7b28f3e1683bb6095341050a6749706c366b249159ab2beba5138f31c301aa091e4bdf2c39435b821c572200cbbdffd7063a4e14f604351a0b8449e02dfbed99ec2343f97d46935b9472249c46182cb02d1188e867f8c9c2efc7fa2553e6929fcbc2122c96377ea68bf70548aa35e288973d87b8d2202d507135b2eb06f32a62b68ab66f2252e78b0d995274dca161acfc4dabaae51a63f2a2107b1f56dcdd142bd0a5f9a11c535c6fbc5923753506c90e8d084530ec95730d3e2e6b7be4805409e67ede2cff16cb6ed28c68fd6af000ee066b3f37d8e4daf26af51277aa7a006902a8c686ef783036a099c664e2c2bba4c854e4bfeb8c5a75a6c30d6425d413233e5093c547f23926f87eaf97676e2e39f43215ff1104b017cd606ffad86691f7b249a82e79acd71c07b0ed20fc0e4a7a1c00c4657bcf18248e8bf8e9e33cb64a2ef01e8f13f22ec5e03d145741acac8bcf8affeaba451f72bfe3385528657a3ee27f6607dd76a944d97ba775ab2c5074b27380a7655dddc70d77a8abb39ee35e042ea4ac6eb0d45a598605e387518662fefd92f5380f0bf7d8d0254ee3d8e1d6e61dd667743b1b0d4cbef02344a5456973a2dbe361c1eb2a2cf2c8ccc8d02f9d9b18f54ff1bf3814428ea13add9f4209ed9615ea7604a04630f2e8bb9fb660ed247aab8d3db4cb3c2cc390a631e5f2e11df188672331bccc12054aa19a0cdcfb41eb008a0e5304d3d43513b195241de7047dbc6944a674ee7c24a77187d3da20068b7d48fb2bdcc6f4926ce93f17b5c776d23e0fc3d98667a14da366c26157bbf77e70b28021ff1fdfdbc732f92c64e18fddb90bc9425302891dda4fef870d92b33d60d1412a5bb41bf2c4a90bf40b735b9cf0e86c29c7797af3f578404e43b0b61f1b303853cd6d00ab833393b6bfae91f79566850fda284ed14e2c241cea14c88f2c6c153d8bcd20324a41de898773e9321f33ba75758415043ca1d45d3eac7c8009d628b22165ca50cac9347604b7b5a0c7e68e4a27abaa2a5a683daa52b6d5a1aa43e35c230fcd8f97e3300e9f0742d2c1d88a36221805608d3fa83f2465b4719178377bd7e715b6a609422ec3d7356f9c311f9d3c397a19b2937d7054244b507da9b1a560eb040f00c822fb611e8ae1384eefafb20957088083b33849cda78b220c9a8fdcffe708c3a85386bab2dd3145026ed9e1bf3180ed4d371fa7440fe75e9c339997d76516fec63e1ebc2a0ee6a342865648051f444f01f151b707b78aa108d2964905ae3258c885e6abbe9d11bbd77cb58c8c6081b4694358552fccfef91199a912f834081837bfec77f810c9e936d4ee3d416d828f51aaa0aefdd2d93b54d74307c0f11b7b63d778592c61db9d243117c342bc1e5cf2a8d8d6e5c4792cb33e02e6d319eed5fa361ee8c0166197b6dd5a5db9befb53095a1da70274a7265e7ea5d30f023fcac61317bd786daf699022eef413f1b5d0ee4b8f67cb1b58970599d3ca560be1b84df4193abba42312fd4373547b5f152e94f37ae497f87be9377782b2c4180efcb0df1eeb3c3774e5bd8f1d5df5bf7f97a0ebad94244df21d5852545194bdd393af778d70d4fb0a8fcf662860a0aa84b41f44c41462e50901fe73bc020f9f879a546ac60e4ed548a079edfc78239dbfb0bdfca12eafaae08aa24b00d7ed0dbf6ac9a00a7e834d2e19b93df2af456f3693169d4c4fd7153ecb8aba4c290e607626fb683a38a5b3f292da0cb6f382d830d904481c9c07d144ec5b92274cac595f1fd9ef565b7f21c946e60dccf12469fa7bbe9d621532a09e8980197794aac9297e4f8fc5cfa3198276ff14b6ff40e8a6f9b387e0648b107dca5ee6c3872fb84dfed4f824ceb0c643398232a14fa9823ada1fecce8b41395ac69d71f4ae2bf17b13282525198cb91c4f7fc449e8e9a11dca2deb7cb8fbdcdfcf7cb3afd8814dcfef9444c2e85bbd5be7d44c51a8058cd4f68fdb50aa0fb9c7e0b3228e96af69cabce527eec64221880cca555b945bc2bae62648460d897de0b57aa4b5057f3c5cefaf2a52d64cc851905e574d636a0046ad336899078d0c385ae6474f330849de37b77b72f7d9da45271705b121cff3bc3db12e2a03c66b21672765183a2d346dcc78186641021288952527bde647525c8c4e85643660f9e0f35d06009f4ebd50fae1f7762b56901550f1f16cb9c564724ddf7b96e3b5570eea4388fa5dd4c93d972d221685b881fca065ac3b903fcb033dafb854845ec95ca3e9ca137072d25db232ad5381e4334a89ad64a43ccdd71cf86c68cc5d23553a6d34460f7789075e6d11d5216f8e72875a2c1ce5b75d373b197014fe5cf2ab2f9bf1932a0a02054fcf770f0efa2e1947e4bbab79a922f8717aca1eb180b15eaaf87cc874e28cda2edfc9c23cb36909d694345533b1317d461f8057877f7869221b435aa3591e130e9da15277e2cb3b1e5bc4f475e005c2315656fbbe3f541d04eeed36e684d9e0c34809618979fb9561ef38e4fdcdf53e4eff29795af8413d7c73e05e1975ed418ee74b0ace3e75bfa576c4a0746d38d4d17988a89f56c99ad012613c5c2e1396ad339fe8281547ac8dedf9f1f827f1c4fcdb2cefa5aaff9867869ca0bb7b2ff8dc57c6439fe6651ce64ea374e8444ecb67f22571db0c8b4304c58a6a1a51244424a6a7214cb24b4452009ee58242be139ef6459a7ae312431c86a45328100838347023afbf9c4058870e138423072e7685ec44d2c0f10edf0bf26b81b2fb18efb91a65b0cf8794b6297e9fc748a7e2ccb9e2c0346d322217e1fca9406492c19e43f81c313e325ab76982e75632565e2a21d983af7ef100bb4080f6e8e8841d3224088fe25aa42d102e97f54cb969cb92582048777ccc32a8de96c64ce758c2c6dba706cb33c0a06e2246e17d53cd28724377ee1124b3ad00e0740d2cf61171a31b252d8c19d65f088b8b5a980d826ac8c912ddc36f16cacfab9678dcb346285e471c0de4aa9c960cbd3a3ee1af199f1ee9e94c9ee447ee386627017327315954ada88c0a866a5feff8f94b818f4a00f1147b02d8d479cbbb65181ed41297efc2097fc5c2f415ba7857869f6c8a942b0cb3025f49199f449ed20850c82b08c7712aeec88a14f403382cab6565b95a758da1ee0145767fa146e0822558029d143aae9f522f53a0b9eb43804fd4924f759426cca7ae4677626ebeab11d981e81708c62f86afeb375c9d6c08f59266768d0c7a150304d9548732e54a192a8ddf92e5a6cba5443ee7270ac3789819da8c178786249badae3de869ce05c948517ce63d626ddd2ef3c4736213eaa3a59be8aa497ab13e42eb80e3775a260ea1badaffa133551748c3dcdb9ac95a551d6553abaca2add2255e1b6d66ed438c684d8c76310ac95daae8870278e8011d2970b3ea35c155258e7f82f3606f814bda33530e7ac9b1bc00b5b777a89888dbe46b24116fd6afd3c3f204ce0820d92a6b2e843386d7763ae49e3b1f688a3c6e814fd59e17a9b0812ba2d06f8b27d216cca5bf7c5e4c17020622aa3d5f95db607a184a7f414566122032975c488552d2c59116fef32be74ce853d3dde15dc892075ec3a8b9ee1355da244f90d328584adaa953cdc9dac7078d2c5329128c2cb24fd3af768a097c6561b56573c63ef1e79e772dd88fc2fcca2e4a94c22a667decf9a19422bd4b2b2e48d58b799370dfcf738d0002a5d5b91405b2aae715021ec275be95db5cd4c7a64982a262633fab474aac14baf23c29942688c62feb39b6d20b58bca7527d7654eb293f892f12902f51003aaa6a062da00c31ae26dea643270b070592d3fbdbdd1234019952b077b033753e48a93a4ebb3bc475cd728f183e617af488237b589615705194ff712c359c508832af1c444145c0becc96dcf8e461ab2c39352f6354f12c33ee9c4e9106f64cccc1cbb7e21a23450609b2adf2cc42517d3bcf8c39a5bcecb9646a442a5bdc458e1ebb41915970e3c1a5aad351fead7185771900efe722687b404499ec6508ea49e18ba7d2909932bb4efd4a09d0c6d5212c0f037400affac0d6354505ccf82a95b73a54158443062976c18e33f12827aa393952031c3cd35e39b3f64e71bfeb5a4014b04d66751d6ad3b062f0eb5b37202616c7d78215c7a98759683b3ec862b315d8fa4f1fbdf57ec352478ba75adeed3398c4f5d674552c486d13703a103203e1ca5636c3e8e29691b2d0704c3d821d118ee4b09c4646ffc97f0afc5e1a621a817b56fe9ddf13945b80346f12fbbbad518d38934e8da07e9e4370c55468550868606e4c4024e5a3cb7a2dcda0b34b9277d8819fbdbecb75b2e6e7b29fb95006428e7f401138a5ab437172b54f290ee9f96fa15a07382665f321416e83267a0895f45e6c12fe041c0fd3c9079c36c9346748269eb8eefc7bc671ee63eb4e32a5c814d87620cd2b454e30b53600a9a71543216c07fa574e891688afa5b77f7a0b4d939d6b2ca8e5066ce5e2217854c0c5e6c1d7c58279dd84bca070d603f3140125dd695a027ff29e21d84af17e6b39f64b4ecfce2a8704df949420fa3a3ca9312820d9f394469b23c62a99d6c9d9915b4dc739fe910558901e1cf76b8c7430f0a95a23f620f16e206443c06a73f053f2602e9284d5fbcface6e5b7081968495aa22ee62237228957d2234dd6313226b3d6777bd5c40d5887c3ad9ab9e8bd118df8c546ec366c00b1fb6acf9c0497c383659204a310fb7611255112387b60ef7023f1d28042800cf3842f1d538ca9679213aa3e303b6cc37708386d289d662722c404f80170901274c835bab290d17bb7c002d90346fc8d3632680b810603d44acda61a82af73c3c1fb61035882afc1228d9ee97ed39350d9825ab14d78e1dd31510073072de8fdf426b9977a6a8bda6f3978262da823c7dfc40127300aad9e48ab1c8a2cebdd879c3f5fbbc96b9998923f51e968b3d4af26fe06e81f39feb28e0594bc8fcc024b17d70c951224c3b0c3c83328c9326280c6dca00fb05d454b24ea26b83e6fa674729c6a7d54b5a9ce26b3da3ce8e4c4abe079a835acfea245a2c07e081778832c9841035b22b3246ee85d70a20dc3037fc9b046a8dfee6b36da5e5734e0b6eb4feb2919c3127ca537f51a0edb8bc4d5ce9e4c5a94c2346d05913aaf36971a1c76af63d92d8ff7a7fb5cf4453813e3bb5cde5d377f290612e539487dce824ccf77d441f93f8b51875cab547ea8bb78d52c1ad173cd07cd7a906f95a4610444399995d0dfff49c8f48a5860106f3a2d32af1fdcccc84572d5f466ccaace5ced29d6bcb5c89636b2c6c2470b9375b44002f5aa0e4e335b358dfeed9ed8683b31ae1b820fe940a770324de50048340126c9808ee967feab14b31d6420647ca841569e08e7fc1c9b3979ef96c6cc27d0bb313d4f06c82d0f4eef1d1c2109530a7674debf758e3b4c21f9499a5bf50e02b6ec4ffae7b2158e5606ef8ae123e8f6d35cea59ef7b6a8edcd86c427751326caffc16c053f9ec3a2b19829c10462e658dd8dbf480b4ab64427011d4f595e1400ca3ebc10de51bd243f0f1c70e22d9f7e702bd1296a8566605bf17e9ba056e7bfa4f63b2f33a5ce259de9f001f75d8cdbd97379a4ed07fc7f4f71a1ae0b08ace662ea85dda47334031f020b7e086c0bf65f3d17e864a5838cad97d797cc31dcff73a40a82b18f2c36094b676a9711aeeaaf2cff4c3794a2229c287993c09f35c0448c026a43b9f80502a23e0d0e56218f3836a78ad328cb0243e8b0eb79d75438ef70efb5eb1ef8b66cdb66fb9e96f6aa5ce8832b9936d91a685448149e57dddfd30ef823b041305acab9c61de7d855b14465f502dda75a8550b8c1a64b1137949cf96c512c26906074d0b21c58d3924eff24d6faa92a143ae2351ca458a546b57eaca5a265b61a75e0db538d66d4c39b72e374c80699271561c1d68ebdcf013ba8b9f815d814b54d2d8654f7e8f077399c8636050809cc17010bfc68d843641e7b0ed43feb34eac700e8c055c511d09d8eb13128e2439428485ce41ad873eed8b601d93827e0d54f9757964a938a622aee682dd349f44040b6429c204e6c1f3819bf0c6a21b05bb38513566d0a35778d5ef1c0340391380c394748ef4b6a3bb6f1d436462b094f752e84cc38fa81f6a0d3e85b20cd841359cd4c656b5d20698bf844ed201900c28b17fb8357b0438bc5724b0bb89d282eb17affe53561ec5a17a5f447728ab13282cdac1295f68f7b262687e979487e2ae4ce1ba3d496de50874e6b49d26d1ab9daa10a3c64355290f0000d457cfdd74f11623883123ba1702bb57eb133a20a69578411561ba4db42e006bdff647a585f7ed80a17a2fefe7fbc0f100c3e86378b299ded2cff88ed0e562eb8b86bcca8bf0e8e05138d98f5e6632075a2200016efd569e75d914bfde8cc09fd247fab1b9d310c1513983174cad02a30abbf133fad3bb0d513d0fd6d164c57cdd87a723d14411595a36a351682b35b88a9915eca479e1159b406bd3146bc3aa83b57f3156e9569f7355f7993fc0663aaf51662dc6402ff4f73ff50897202e1012554f19b760121195972b1d018aff191b79807904c828322e51c106de5cd4cc00fe2623bf4f8a68dc780a51380747fd9b1046d6fb18fa268af5fe19bc0a10c8ac9196e6f3845cde3b18853277cb7b200945a3b71a199abc8e5e6586ab0694d81d2fc72a581098a5df28d7b75671ef684ffccada5d856ac9fc4be99d7543b49e08d1b6952603761894ad3ab992e1ca198470f77babb0b8c51508261544d000fbd3f7a298b50720a63eee8a6d473fc592b21d1d57a06e72a67c14318c422bcf73c334308348169bffae0f64f75caaeccb8b8865624281750612371c35c3558522e8d33c499ed8dacc5a42f83f4e6010767d78c912b4e34e8010b472ad3011786f7e6a26787e717d6f08124f05f5f1d0bce9ef780cb6c37f6b121076d8fb7db85bbf2e9c252d63bd3dd25b2aa8a1f982673f4207eec9b45f0cfbd258781ac1a792ef02b80892eb7d500133cbc711728cfff648c057f19e8ef2f536f7c87508b3d7dd93dbc629cd46a6864d8ae68b5edb571a5ba0b13f7e785a13ccf2ba2fb251d6284acc338b98c48036ef26434df2b69adabc765f1cf4e22cb9fba21c28acc8d1d41e751cad2c9c250cf8e0f536c22464f624f18c033fe20c628e0283d99c880d6ec3ce9048aad6a7f17ca5f86aa9dcd8399bbf4be8c72fe1d0b8a8c9f9d179238724509c70a6c4adba3dd7ad842a327dd05d0ba398933998df08046069bc0daf9ca5d324734efb3c232b7cffcc03f2b4a86d40ec59136d7397fe771e5e3c9f3ea89d6c269c136558efae2c6d8f190c2c5cdc55971914c3040ce0418c5a8c3e588721245a9ea57d5005d92a682bad9697d6e2471fa86f4218ed1c705b3b672bec537b3f6c79d4c649530a25d66829bc6f71e6b829eb1fa4d6a6ec8ee30a3840c3b462bf7bdc369bc2a2e289500cf46cb446aae3b7b2ce264940f13282f2585ceb6d2de36ec821470571c66d4699a88c6b58a4b51fff1541f9adf4e830b86863dc7ccab691f790c4875fc4a01c90f69443a36d832cd3d95758745c5a79a1e54f042d6674543d0f8610303eab0650585394c24b7acdefe687be37816ebad71f7829d7e61de2c359d521801166cc19ea924da050bb26ebc3bb2eae210d4c7ef5fcb579dce23955edfe938e0e3447054d7a5ba39504201f0ae7d6a142ac9300d3e1e0b042a24a99625f266c5ff773ee44bcd87a070c78babccc6064a5f7012760e6e195400712053f4ccf2e38518c034caa02f65fc3d44aacbdf91dac1e0926cbe9627ae153b036120b726d3a26e0064c407621a398292a0e7afd69b76aa8249fb29950f5cad6cdc97ffc3a0588724176dc3d65f6d4be0f58eed9ae92dec0ec7adb8543d77eae79edfc2f0dc21e4aaf92c0f0f115feda809fa340897cf4d6f222c0f5b105a0f959582e4a036c82af17b19e67d8d110b5429ab0c211d608eefa073002575b5de323fb421ce4862792db5b14852c96f3c3b6db9f75e7ce934c0a5940f3ade5ef319063113b59c2ff2905e156fb72975977887f6b5b922cec4309a3dcfb54a10646f99f5cfda660cc4ddf53e28ec8d29d6f621f7690852974764b791a1d703565fd51f6516447c2207a1c1c3ce4310bad246adcc881e7ee70b15cab211cf0e4c270718b22b5cf6b6790603d76cbbc887a3f08b7a89b6fa163f4407b9a8bb2bbf6d7eb558cc3dd71026b9bb20d4865623bda9a063c20a1f4272bb8568fe12c3453251e5ea38687701ea5b02ff3f2b68b89975b3b2502a25db6bcd13eacd6c25a60aafbedcb9deef70f5d7cf51919a5e08f8177842a3322b332549a52bfd069ab84dd1f896ab796cba3514d2a7f324cd37dd7f651ae68b5745912a0b46f7ce50eea22764f94f86c420c6a5651356c28cc6cc8bfc5c2e7dbebba91ab1431f129385ab340ab17caab8ada7415fb5d0f35a4ebfd3300d2252eda41b877087ea2bc78f93144f5835f1b0f41bb912575cf14df0c115a82128161708c78d85f6709b29baa5eb693049e2337a298da68c67df0f6b712baee58c647c6ca6bcc31fcb61420529e5cafb2c45980ff767bfa0d374073d9fd2d069ab54e4e1ec87f2df47154d426c09118b6d2676e841d5bef5c06f225594e4fb333c0d093ed9ec913fed139c5f4f425cc14cd693d1539b0cd9216c8f78a0816de6172073b6ba09b49aeaa8f46f650593919f5af33c9196c28fc468138e08982e27bf6767a07aab9c15c9dbf6517ab39609b411ce095019da67d246f1897c8017aa20878e751c1cfd2d4b86deaa9109724f64d487764827f437c98c24566687e445ca513d9c55d58e1e325f6df269707f7b516707ae88630187d43af0c911e7fa28dcf75f68e0e6919a44b0138ea2bb8036e64f10519e028ec31891431253a98bc74ea37ed521fc326671761311797c13edc507b76e2195be393328132df242316d7a92a57285ab13e10b7c3bfe603b6e6ee727d7136acca66414026629c42f402a4b9b280a281b93bacdbaa3534458e7bb4656879780c5b8e69068f2e9fdb748af2e6992bba5a624886fef2e1350f5e2052f9f2b1c15939b5012a828b21519dd909f3d608d55bb3b91abce2ed444bb699d884d9c45cf3bda1bb93b4cb5eb59ed04d7fb76d797af7b13ea4a07d6bb3e8f2f362c63e115547f612d2e81f85a4666fff6ae70b04374c575caeb17b8a4e4bd11110c5a2a8658f22b5398c064b10fa33a457acfc8417339e02dbe58f74d200d8d3dbb01071871d416946ed52c8a6de251c8ce3879a70fa40b1c16402fada19c840bdd9e1789e58ffe9b33a23facc091885352ca87163590e7b82694e8a77cf083d1ec0572ba2c7393a1f81648e871345c010678c57eb9ff9eb9e2d9106d185bedf055edbf990b7b417d0e5382ca1a4dc3ab2998751214180caa982dd0ed9baf56e681b63f2afc998ba35f4f93e5f98d9cf6140b8d766bbfb9329f8e470aff072e657f853e353320553c8e3f49b58990a0f73c20f42bbc5647d31b828adb5c4c7bf17295d123459a340af84e9cb613a7a855c3eca382d2430b948bac29f7b864719d03433c3549f3f44ac14588772999e704232b04fdf67a3045afeab700f61356e107dbb30267e9de3c03ebb3db5664c717cc6a8dc6a61e66f6aca0af1305368e7ca595f3cc1c1346f3c778f599d95567352e6155a3f91c8cfa7eb19a7d643ebb868183755dbf6d116fd6810a5c9eac6e0f50b74af9b7490428e7b3054884f1c6a85524c0e237214b71e0c3e0ec4a2f6abdfa0e6e7e1d80bd024747e26cfa57f4a7b909453797e8da430ad8b25c9692640bf51c7a97c564cf2bc5da7ccaa2057b5004b197154e3b8f84d49c729a24bf5e798e8ddeedbf21ca3bd2a92d1759371f0ea38417f6e41b633cee3eea1080f14ebc5443c1d98eea54aed399831b71306b84e3fba454a3a28f32c98daf99ec5e506cecd529f3cab842f28f71e1fb1829203fcb99af3594b526e968a443dbc1e292b21217de84f9c0d610798e623da5a983c2df91d3e9cfd92f8cc625b064c99b41af2148c35aaed6eb1d80ed2f6055baf9ccf722146286a0f8041dcd7416be0c675d82ae18a4caf05dcbc4219522e6e5da10fc408d7376e0f883c5ab4296b72544fb1f9b9739fbf74d000c9955e1980a86616a325bc5151237d0cf65603e53e7d2c143997040e398f64bb48b32b78f31f23e03e02a853100e7091eec07ea06f3b8188f0f72d00dc9ed7b4164b8f2cd1d982fbda1367a83a61bf70a59722ec94774fe610f6757679e2881254ce2459c900b87b993657fa2feb46d77be7647e9c4804d51c8147626c19ae99df94edef55cf7bae9852b371c7ab2b7763325907e80eff055ab6ce6d0f64b91c1a6ebc7eaddff2ce6ae9b92a61bfe14eda5c0fc81716a5ba0c7dd37ee860e89c6a3a3fdf8653e56ad7dcfc84638841088c74376235bb2afc7119fb2e7cc104efaa40bb64b4bd2ee04c9dd430ab64d7b8b0f9e825ad287b439a9d2a2511cc16b68a3de07cf964b06d2b0b1efbf929f78fa4218991494b03f8fc0a333e72bdee342acf75ffbaa2923033ab358475150682bc500bc51278e2590e267caa9f95306231fea2daf79f6067fe503591ef3c48fe6c93e892c75bbf8ea206415d3eb8812a45020dac8419314b3a63fef3fc0c23f381802ebeff1f2e0c9b8581f7d1a130b91d3f2ae19c15c16ebf840404b225e6fbb1baa23d21078b41cf69f812e80c0e7c614da3083488eb294b7ede1bcf897b376a177a93bbf86ed731c7ff72719aa0e14eb9fa4cf6da97dbd611d1a484061f2f9680b6f98841cd28eabb9cb703424922316162ab6a3ac96aff337030947a95cd2ec0e2e0ae18d0fd6af8196b9ea009a200001b890c855da56e284a970498a361a44016d9e6bfad44b2659c5699122f3779f3f15e311a3aa1150389de434b5cd37213c531e7a7102807b980fa429f226e04b483361f4da9c62ede69cdce35567014d0dd0da6c613a68cf3fc6c800d433da7e41614867fe4c6147faa962d4af960fc66a3cb7a83643c74e19f25414c7f4250d30111b162ad2a8afbc9e3126df96f20ee079f7fc5f63663a291210d5cf4492d1eacbf16052bbb70430985036beb9e425dc7f93485e9304e1858ab906aca37e69c0198880ae8e36ce62a0724cef3c229817c192ade6c98c08c8084fdb36c1e5464e6c7357c0c884440147bdbe37ace6c825398be9522bb0996f6f72372ff174221421f6310efb706c45e29100ec9da78ce60129a404fb00b49fa0ec70342e96eaadeb38274d39cb93dd901581583076655d54f6848521a1d1bcf577193ede2d0d5d33908aa50cbc0ad601a25c421e62e8799064034ab9125cd3f8c2920e50be10cc7ac44a3b54eade7f17fee1e1700b0da172489e3744127fcba09db7250ff95785d047b3fe71f66a426a8cbd982b8d1fda2d100f6e9c8e1c4c2bf4447ee37d62816312da82c3547dc67348fbc9e7a89aa981b988a121a1dd80b183ce1d8375d22d94a41414da5251d5f33a50c65aa5e9443489e528348285c06a1ab541ca8dc4eac37d4d36aadcf239491eaab7bd74193d4ea1c56f33e12ce1954b30fbcb08b368ec8ee38af348fd5f1757ac78331d0f66873e6c07d0787aff8462944468e06896b891934b62734cedb191634106a12617b76fd205aaf66d04a9943b6b2d2f655219cd142bcb251189ea08bf1a399535774a6da0b26f702c6f084dfec46d9bfe5d79d25e5ff0527dc54da092d3c8a0b3912c2adbf8774c47b575333a7df8db3589a5e2824e8033765b4f8ff082dce056871bd6b0c250913b8b4721f5c18f74de3a7a9294fcd3baa9e4d0a39ac6bd6d216af9acaf6980039f72d3e14937c081657d6a15ccab55c685fc7724bd715a3c0aebd632bb4d935f9f1c54280c19f052edddbb3a2685ce0373f185212e74afcc18fa28cc4e65ac833629643e7de4a95c83f6a6b461a7331294a2145f2fc8d4d75bc4c60d2f79e9bd064d66b7a33a38ddac70fb2864360df89a9fdfad8482b52d1999afc8ec40e2a3f35f1be7ebd87b30f5d15235472c8d4df6c1e7a30589779fa5d64868a84f3d169bdb020c3a67db6e0eed2c3e81c645cf1a9db836a1c32fbc22b5cb495ccc449dc8bba83939e5f07ca7dc2c6f10c26c105c45a7bfaa6166bdacf39ae108c114b15d7223e6d2f19dcc075a9a965729e77f27adc9942cddc35497349c573d2abe77a1e3527eca41cd95c4949efbfe4f6c3c618711513f1282b3ca209a404060c9af4dc3e2c068e1b78ed3fa3177a046908209c32497550dff55691cf43906ccdc1be22fe5391fc908bb11f84ff444aee878906cec28ad84183ece9bb79dfbfce4ac10df729f53c42e670b443122e3ba8fc1d38f84546dbe0050f7794c799ba5a5980e6366a9147169ff97d088eea146a42452a21adc401d1b5ef9bd061582dcc50e20a39f9274c4545ee379e24d63219ba4c1d441d238c6fc7ec472c9cf694276447545acc04d3985b1fb8978fadfdec28eba233dae645bd7a5bde132528ab5e8f1dccc1440def046ef5e5b3d3720ff8c395887154b9d2ad022b1f933ebb6e6cbcb2459b5036d49771133c0a579b4f472c78119b4d86559e41a2c46b0be169d28322e9f139702b72e6ba146c255cd97725d95a3988db6c6299fe8eff433d10dae3e8c8410e94d3f3f7f5332353b70feac6c33290d21edd30f9e3b034096b768139d986bfa371054eba6095aa8af0cdb5aa2fac42cfbfdffa5717ba8d6d67b6fc8716b2d1f03222f3818a10ad5c13211014ea3ea7dd86affc4f54c058361c4beb1dc99b9bd56b325834bc556b4b3fa58c814490c72f318612d71613cefb25515006afae7a220c8806b3239cb09259a966df594c1ddd6bce021a086c069234a858a29be5d9b6ad3e014aa6b3fbe542723621e133ed84af5e89c8f706002f6c4f457f8154156820e70126ff427f254accce437676c43fdd434d04d83bb8b8a97f9fed39249dca7f6deaa5f431f6854a5303df0f10a83a454df1d1c25a6bbf27dfb3ac7caa65c092d224b16f02f6663fded5c45326f493484f4a0f47fbfb8109ad4d1835b0f0329b5204caa9954c357378ec8d480df8e9f745ac5cf8128338d1878c1b4d6dcc7d9f196daff082637536e8f8bf1b713750bf86cf009cb26f7e2eb98a61bc4ba42ce9447edf3cba11ba0dd034d7d5dab729d9f7e9af9e1223055f6ad3faf63cc515e8ae43ed73ebc47d9bd8cb8d82b3a91a3f606a117e7028393c7d0d362c50c34a6f4195b464b27c27545c99c5e4c77d172e3f6b6f4fc819b541e1f7766ab744a2b42fd77a3a3077be0a56892de90c3e6fefebd24e4213947df7aaf3a64ccbf8dff9941b1c99aab16c4dec0f56acdbc8c0e9e0b2767cbd23d8e168b4fca0623bcb9394bcf506c0993a8c560c580fe75224afa14d69d267f5932a18bd68dc939adb485a6e09edeb434bf01bb5d56faf1461434b5a4cfcd729ba62fb461bd6c46686be4388541d269ec8f77e8971ac0bd717dbadacc8d04f83f6fd6cd8b6a50120e0951aab5f3159c7dbd834efa1e7758396a5d64e835a9e20838046cfc5f11e8b1d7742896e48aaa52d2f2b2187491a7e5e7c30a16d2060abbc1f4c6889d5cd73da0e31295e4bb29fccb43d5cf543b969f271cdbf9af0646cc98ea463be21746f2c7ecb2824bc24839dc264ebdcb56043a4c0bd8fc3b7ac9bae2aa45c0363e561dfe4d78ccb11d0122e1ecfba9e9f3509b5427363633672a0da6e038fe6babd5b8408b1dcfd31a4a0eaee0cf37d63477e717692a8efb9a61e5f872d8cd86cd62e5f324186fef0b780cb53540396c5ad866ab5e1459bded2676e418f0b03ce083e11482cb34bd4bda0e7815e276d982b4e7a42fd40b0ece3c783dc2ab670e0247fab43a2975a5d1bae68b21e3418c5d9c9906c00a8c879b70916e3b4cd6ada099f070e3c00bd0cc02b693bcb6559ba1923ec8606f7e72ae393e1458767f66cd7614c36cab36b5b212ccad27dd667460d65182a2d3be6cdc291c58f74c97597381ca393256d3a5e452103a683a5d0dba413e21ee0a8ea71cb818025fe5fd0aaabffed9f9159a0f71d5a6f8c1962c64a65c91130eed2ac62c085be1dfa6a44a7263142fdbd9f8258bd95dab0fc3cb716814fd6f3d16414b3dd90c5d79ecd3911048551ae2a5a2d7fd516acb876701b7d1e585cb3a168ceb846d963a150931d48bf32558f9f94bc960ada84afa9fe44ac1fa59f491cbf8bad683ccbdc92fea391562fdfef6c66e2e18d01e52e37caca0bf025246257c69b9bb2ddbcd9934617c9df2c150c42af26eab250e3041a192b26dcbbf58175fb75b2aa3daa73219eae131167da07317944682ece1474596dec9b691afeb136964d21040da5c5819ed094955b0cfdf73b1f71e6d160b28e774c5be110890df02b4b9b39b5c5a8236e3e7b195382e05dd1b7938f3fdf6d67973592dadcab23c4144a455000a385da5298715c47db3263cfcc3e41d9dc95c16a0d3adc0ecc3b21f75acfd3a89fdeb58f83d10504ae9038c32754bc9cf7966724aea1ba5680ba432f9a74e0b06cf1e69766212d47bc8667cdbaa42d9b7fb8dcd9e48249e2a30764a392e207d3e6a7899b7ea83884b8d9a073775f6e5ba6ada4e8686cbc35ddac53b209c7f8745ca0abad950dec8923a38130fbe12ac96fc5177199c496e85a6683d2f05f36e5cac9bbd428e5ec4f09834995a24303a8f38f804e0a5a2ed9dd09e69bdcaacd50e3a773e68fd5b202230c489462c24b78b4fa120f6d6fe4ef348ad9378d4bc0dfe0ad386d04d57474dbaaf99bc83bf04d706c8fb11b6281bd498a8be4327bc584f5fca7382127afbb52aabb8ba49687b6f614c12bee612eeb4e3e1a014b2492d5a854a5aa8272c6201c788b73e97e21a14296f13da28faeb2d8e5edcad81b633be3322c7e85eac78f14eea73c6eccae268aa749d9f7d7ec0feffdcc08cd93df7dc326cc3646250e91f1bff4b2ce5224bd605dfc884fe61a6e5ca9b6c7531a8ff33d7c7c67951c70a62cd5a81ba62247306636500a5a61fce7e2ac668e7bfde830ac96980cf75ffd0be7bd7af3aa8d63b748115c1e34e346723df127f9a38333fab57349b7fe572f34d599203eace111c1610e8c8cd617e6e2c9032148dfc7cecd1569af3b7cbe43725b3a06b2eeae06d18bf8259ed74109057c8061f09eb98a78a5f92bdb1cd455701ccc1b47f381851ce0a0913d8ff83091427ffa63cde12db54c93ec9b859d2aed450b9bdc90475346e7fded7e32770de3ab6386479962cb1897cd69eb17f258991d4bf3f07516ef4a9910fbd4fefa5ac0b30cc6835b6bc6ccdf348f90a7a07ed7bc278bcaef2a898613230d6e52614d6ef9627ea3defa6c659581465590a0d80f6600ebab89dacb9792880138e0137970936dfec5257171ca0b9bd516df02f3a9fdd0a3bbef83d99f23b2d577432e393b0f1915a412b8d89ed865bdd2827f150004c47ab2ab0c6bee7769717df8ca9fbcc5293c5a7eeb3c742f0b502a9c28f8f18e7932b1fa6b24dec6270e235538134db4fd8f93b88fc6780d89624739c7e5cc74008942a1f55959c7b262e3c4c54ee76ac3dd467349fa0af7b048833b19f100baeb340403f8708ab3e6c3b7276d9d7307036befbef7c4dd7ca554363affb181c1d57c793bdacc4e238a5c45f4726fe5527b93d09c1189ae0c0df6f4b91fda5a0fafc3eaf8dce9b706f1ed336855cf3141f055329ee44dd67ba0e9ed4df3f5be71a769efd7d9fc33d2087dfe2f423d41130518f70a3734e6d05831a9b235add74416aa90a1556bcfdfd7dc86a76526631693e8bd1bd4be7964c2c9c2a7f8557f6f361d9f887bdef4f601592a9afbac910808273e753944f6a6692b36231cd6b4278c16bd29fef5346dcf34fdcf75665a764004ae1b59ef44796b3e34ca49c84e93c9816cca6dd012e9b21e56f0d1ea937f56c72949e87752926bec37f43d64b5a0bd9e5e0ad4cb1357f50edbbbbaa9112c7db5044af61bbd5ae4bdd5bd0008deaa04c52c0459cdb7186464a4ccbaf5699f6094161c22234aea4c393a7871160afc34d8d040a505ac79f5838e42db40adbd336aada2f44064c8863e401aca18fe50ea16f0f17abfb536dcf8f0bcf5f0c68590006cd52cd8b64cb582500fc961d7b952a05bb7e94c114ec3e25c6b647fa5d898caaf37baea219316cd347d9645568802217854e3e1f4bfa264bef310a5e291f4a2e3866209e121c68eadb62ef0233d85f23d5acabab4f2378b5f8c67dbd54685b274827643e5608521c91d32a0e9ded92ad6bd65059300fbae18ca8334ef8f5ec0b6c876267cf71c2a8a0c1494c1f65420c2ea5bf8af48c417a1f6753be4f3fb3b8af003d3c794bb4f30dfa6c1328192f8ebe59774d92e83919c58986b04e19c31c97186b0da64d1501c9f4ae6dd33e1fcc00b50853a997a5722a73f7ad3a08b478c6b31188217cfd69941b09844504fb6f3b834680f40c45d85e74f0a905cf07589b5c5e00902172a696248468dbd2841140a6fe4e3a9a0c9ea925221f1c42797e8778afd77abd11868691a6a09cfae5d32b91de6f5bae0464824b51a384f8b6f6e84ee80c77cf198616770c8d4cbfc346ee86baf381602a5eaa6bb853c9cbff6e9de626ad663b1e00d9661a9b032ca68eb79851742e4d53f797d36fd9c2776be18371ecb412bac986ee01f250240b399c63747f4c947591cca5051ac675b30f53267d99d372d4003af9ca424ebeabc4978aa59c65ba7e8095b26e0d35b890667977137aed2e0fa59d0a0ef8a37271fd38039708c2fc1b373f20b380cdfe9ce160aee2b4cf6e424293b6339386288f054393b046db16c0701d856a8ca3027e056542709b0d3b32042ae4bfe41e5cc7986e721751779acfb18d6b96123cf971314e0cc93e536813d82f3e8a098b160af268ef90b0880790a9dec6221149027523c5362e61af1f79106dd5af3df7129d5cdf0308f13016de6962b31a3714d6de3d5e30b6a60ee9dc7313465121f1a0fb2c4f654e8d03d1d9cbed0f6d8ba089070c42736f21f8d72fbab46382539426cce4ac1593c086a3b7c11def195bda7e25114610b73efdd170bd10d01c5b88128bef2b9a313b333d19d299570eb9c690a4e1d3367bcce339c31543e000e73b0f1ddb5bfb37c0c56122d85c15a96091ee031c6524ff15820ec0315b9b265c64937972f0de639aaa3ccdd3cf76e867c8cfbda04f6e7ed09d6224f66ad1ce6b4174fe7f7bd69358051c39096db011df52308a0e44dace027d1274fac337bee2ed6d225c8f422c33aca8ed14b3cb0b1e4fd537293091166ab9ae32bc2b4f23554fdaa1ef608a5e7dbffd62ae1c6eac86a25b0905eaa6eb9b85415c05ed5859818f219f04f4206c97b34f5e17190cb3b09dd8b7d3ba74f005a101cdefa193bcd30d32984e4330eb3e17b7644dfd38156be83f88db16d7bca90cee915c79642ecfc06ac2ca9d1de2e068276914ba0a129a63e3ea6ff375d976e605ca14a830527c0499cd27d49bce4e92d2e7c17d775c525973d1075352d60f5c182270fc41b8170b4d0fc4ad5c444f7906c05a26d62f30133269493a71a2a8de8074236da64445b0dcbd4d084113e96d5f4575d99fd8e81a218c3eb1a0dd9c67f76fef47e936d40137782f745e952871e50ebb5ddd6ab3218b62d019df62decffbce604a1d42db84e728ab2408b7cb9f8f96b8ffd70fbfaf3cf6d7e0a5186abb595a084345b7073b1218be741fc58ca738d59fd574fd9e1d1fd2c1f54d77eb11c9dcafa4e7e673a6f437dc5068f635858cbd91b05fca4cd0a4112daabd5e0b9b2ec487e528c838a36be29731074834d22d031fcaafee6c36b9723e2f1beb6f11ab6c9ae208d7b4e9bd3377c62c69269d3cb38e8c4a4dbe74851877635f55679124c439ae91300f5b09b814356e14652aa8bae378aa2f003bac4805f0382acdf20e6d4dd19c13f9f5ee4b1865ba47ce3bf49d0326363756c4ecb9caac9534945965b630b52270b430f11052c0976ef258680a1c42b790c1d9026991f5ca7e24890ad151412007f19fde29f2a33de22cd6bae18e4601ae66d5d0b63bbc6c38abe2a4876be741d4e5d0a6e1ab3ce6d99fc716a15a61b74b7273070db8847cb709519b1a597d7d04ce71220c17162714c42e02cf4b3650d40ade19c3b4bda94cf0c4e80a93bc7142764bca35db568d16c018e693c8abedb0822e7424e21b596a96b5bd22a12904ce6a8e295cb8d662d18c1678ae011f53f1f16cb9173fd528b441e143d30f5dcea08f42c59fad0396380c1de1bd5c343289cbd7875f7761f1cc32066d1138863a5e539d6c6219d921a2a976d944156eb3e4c89dd3f4eceb15f94037823c9e255e85934f89f98e556632278f23fcef7fbf495a40f34c505f769f1a72a0401de4a02bcc1a6a0e397ffa43ee78a429da63b26cf7c8a660d5fd27499a63976b04c2a13a0757a8a48b0643d6980bfc2ccc575eccbafc512a4c354067ea29716f27a4d2f48fdf2bb4ca37bf7c276098c585bcf83f31672584d514e7b06a2056557bdda5d2e99ea85cc8e6638f4740cc11c272fe1087db2815c438e047e4169b361a26e0d9ddaec64a1e24a7b32f380e15213bea6ebf463921d2e958bdc63e03e8467ced041fd274167fc6fb4a36509f7cce3672e36c7fac32e09cf384b5100902562c563fb5112185c6f8ab4142d6e341e6d26707d162fd4672af49ef3bb5a714e6c73b862dd1e5a06147ce435445b1e4b7344dea88dec92dd9e2b1b07738c379bd34e2aade20a8e0b69e6f1619c9b774fd366f27e765037eda63ec3a70c52de943ef7f2ace5a5c6aa9f391e8f07c6a3c059f57a90342bacbc39d908e205ecfb0fa9a22580109b16559c4635391c004a4519c290d0a1d667fc7af5b208f9884261583a38cb922601caf12f405e8fbb48066257bab2c60a56890d47003c1e0aa83e2641d9976af6ee96906f87fefc025585b0fe959e218b527d1968a20791855675253b63e73a908468e99ff01c0e998762d2cbe3b82db68c1cc985fb86d15aba2cd509b4426f46ae5e9bd5dec1d44f4d3e74c78f74eaba5a5e09be8cb4ab98c469a3a58f59f3401ff4435f360a6ada3a74bdaa0a019e602fefd8a2c13ce7cd4216053693a5589da9d66b894651f5b23aaa7b6eb239b7643a5bc38bc829ad81b4bf2417f843a8ba9b286c36d2d7817bbfce0def200328340d3f0b52a2c132c1ec004149ddac4e00ceba836b7da1a5b14a2e65295059963204d4b2e70c15710d45f3147f018f92118ae27d800e0ed24c39f411a0615907d713d3ddfffa159ddc42159e698c4a2e50768252b96397cd47fd21eb20798a086ed88cc2825f79952f456b5246d4a39287ad7069fde734b5fc08252d81af198ae796d68c3845d76d1712fdf4767190e8c5acee6058dc1fdef453d67c72942878b563f4073d98d321df533add21c2f38a9a78ef02258b27fcb09fcc35b453a850b5602b586ec30e8800f004a2058eedd259d05dbec8eb07597d2bc2e5fa369d14e823115cfee825df8c9dd4f856ec489a54f66b21d962c41605a551ac1d0a543f8809b711100fda53c28bf4f77251203c3da755147f95be8d78b61afec18a7bc5995d72aedd6e1374c7f86a273ba60f96a88e03c8a758a879d9b45ece28587c8e8ce96b81eac63e60b8a6eadc6c29f0e77b46969a303facb506d9d9f998746ee10997843850dc55d6282204de52718f90789206340e3e10133473df47247a479e33346a48bb834d0b8ac471224940f700389fd3fa4acb111bfbcec356a996d594fb286cacdb234a63102ba188fe2e42fdb98aa6f5b3936392440296246fc7a4ed8ea4ed05390b2c9832fad4aa664156e1f1d39f01871ef195de757ae0ba7d9c1e87069fc317b999d7cbb1e5d11dd122f9897d8b40cb46d07eab91d741a2fd87f97af3149b6e3a7d3e61c6f58dfddcd5e30c4d258600e0c892e0b1f44398fa3102efb587a7e67ad23f4bf524b4e5b0a5e84025ee6f24a2a3fce2869116c4dc352859679921d8bc3e3933e723e346840a76dbca839c0039413f13b4ab97a28612d0e4d5675d2a6208f681a1ba2e8a2de148223b71a19e61de133395af2a9ac473b01a0882e955b70edfefe2fc3e4753f3b3e712004ca699f08b76002cdcbc5a8088bc8354f416a129119bb3526860d8b0cb028f0d846d4f57f21f61c8ffac0b653ee33362033b0d392c5b99e98111baee56561fac04d7471b19b09cddea9944c67dc78de1dd27390419f5bd64111798616eed6f48439168b9d7eadffa917e682a90e6a1b9dff468a0e849970556d19f7945b14a52cf5e269ac5169f82bbb6f58debf6aadb004aea1fb5f49a18843bae8a4fcda4ac171c612651c5b4f9dd567ddb49ba26479df4e345f40219ff01f23862d5213adf8d3ba69628d5b428ee9abe4156a8cf4f71197c086695f9f10a4908d35dc6bf079e2641684c91137bd1bbca410d12170fe1460084bab5077976bfea8e0fe30cafcf6b2af0eec6694b3f1a1d1e6687e1ef78b41f6b259475e7b36c4de483bc063d532ebd0d9b44c07edc91e1fdec8bcf835557dbd8b227b838b39d5876de57073807dac160231afaf225c2d46e3aedfeea1fb2cf73771195b71f0ceae09e58337003eebd8446921111b508ed37a5985e87a583a54167f09bca9953e7d68594ed0908edad7f5efcbbd9d8d19d98863c02661e1c8203e49ab4ae47013444771fce278d6c724b98f73ecf0e115fb69ffc78344a95af6a254e87c4dfba370e28ab903c6e5751d0f1e9b2f7ef38dd2c1f94c34caf9403de955ff4232953b178aab048f6b88dd198d8600369a3b4a3b59db11c2b0757ee5d95cb3fd9ef2f608e6ade1fee99a505cefea4f96c9f85e9d55906ced9f7b024cdb0552e25d02b5c4dac945c405596470a67387fac75e352007ceea7a60772781c089e7bc1a5ba4c85f4212bc8b9fc4b04e171e1b6ee77982b0faac2f587df2cc30a34f77cbaecf13e23aea6a7385b159bef44dc619c8629a2b1f8515af498190b692fffddc428ffc58e0cc1007c46958f9f71a324f1bde67cec299484e0a23d03e5bc303d06be339ebf03145bbb508f398e7ddf31959cef3f473a03e59e9bbe5237065c41d7d331bc4911775e157f06b43d172f422b771c3ab91f1ef2b1872ba09a1eba260daddfbd64372a257261f1a15cca33fa70077082d2806bef690d0edb539f7e79eb5b45f56ac4f19d071fb74d31ccb62cd2caf4a95f1178a3552ec2718a765106facf7f83628696d21531b4ffddd649186097f85d043169e73d1584c93d357ba305659d567c9aa17e975ca0d2be1e2f261adc4a993f84d07b6bf9b50206fc554e7cfc5555a5a0e17f28402e0057ff3a5dd5293f0bc67df764f9a78851db8a988ba100c43b1df8847f2328c0119d60440668be05d2533f60e64192a0b787b400428426b023ec1947016c52db144fc56c57f713ae506ded0e906c896aeb93cace4d01cb5d168c13bd58f6fa95bb93b02dc4e4a2258e01ff44ff4d1562277d1c8932eec28099db1172b0ecb0f338af3fd51fcfa9a572e75d7545fb32d3c1cf324f9db5ccb9c7ba9c147f2730527c121b29746edc60e9fe8c2465f70f5e0654674263ca604d32d7c4b4a9ffea3d7d59d59f569770e9dd58371f91690e833e7d542909687f77833f7b7b5f99aa4cea5c19f1671aaadc15dd9a0d2b3c85ba7d6253ddde0456fb5e788f3efacc06e4f9fff36c8cbbba73ac605d158822e6f457f550e5c7ffde4c1ad2ec9b2c706d942c620eabd08ef45b6ed7f0dced24aca2ea5645b867699971ae70f7ac865b07e9e17ba39d4ea3957412091b40d6d23c9255a2f01b40426417c8ca5b9a51651fd825795bdad69596fca22078266ea93033e313ac6a75a7f633b21a18e776793dba21f7a1d0e16cf2d35200729b7f3e090af9d7663b4afc1594acd19108fea804e8e279d1bf0de9f562785388a96d0c47dbf4582a82b96ac1e6177f765980d6bff4d757e11dbe0102d02bcf550d545c922ba4a76e72051cadf3bc02e461af57eeb8f912363daff7c879939f9eb0b0c0ecd673d18cfb4bd542f191c84366bc6dc9a335309e2e483ad89600bb61ae4aa5e81c77a521234a6fcb376c516c23e3de753048b7d46fdb5281424ac687a10d6977a85e9b86ad4c88ab2336a9c56c92ef0e1336a5666230c1ffb34954a3744d9c12aad7794c78f75a81e7ef4bcf724eae394d80e3fe469195dbca6bfc7d836e20cbac4ac1a30bcc16a33807741d2fbb2544ec340173e1ae08b50c3982492be1d2c09a1190a841e83bf2a0c7ae29231b470c565fa9493d7a195cfe63ac0628a6aabd825bc4e9f1230bec6e8d0e0090b40395b8c63ef9f575602961cfb5da5f768c85374bd2176ada339197292a92f8c30cb24de1bb1223f7ff0a53fc2aeadaeaee836cb997f3c64e9a6fcc0db2fb54461be3d48e23e42f74c5cf28ea3c7bdb9bedcb9b734b085a4de5b8bca8eb1678d3629f2d7d7885b84039322a80b42d66f9c3e8ce8a778b2b16c947939f6977861219ad8231260033e923bedfae5b3c6b54b43f11231ba6ce7c41adc940a26c4297b6daf81bd821353f33cdd73ab9f32736cbfe7e4d53ceb8082196b47dcf1e5f6de02b85dd5ee283b0b0ac9582d8743c7cd02d4de77f3b0200021a63a38e59795c9ca4d9626ce671ab87e9a665da72562e7391b93569dec35d329df9fe6092b3241549fa70b0580091de50559832b8ff5b2fe94074bc438f5cf00961ffb06ff5306c2335d17cc0ae6ee2f7bb727abfbe28379d5c4e4c43590342467c54eb44144f41ccb46eaa70619dbb8c7a4aaeb80eddf1cc04fb55fbc3872afb7c500e3346d2ada50074b5a09a47fef30c278c47c11149ce1e749fe1ddf33e9c846d2fffad2105275c76e0e6a9f5798fe7a5e7cad792c2774947fd7f3dbfa5c896bb75bb7d1d81ec9eda75c1e1797464c0efea595bf7d78e4c4a798cd094dfca4f348c7886d10c86b8b7e1e5088c9bfac15fa66a1a708c875e6e26898c5cb11a52d806c7440beea3da976a21556dac13373a58f22ef31ac6e784089117a32137052df87caab98bed971811e4071d0cde4157c5ba3eeec511e51e83c4a87981cee9162ea48b142008d02afeec997985d5f216dbf62abc9dd2c9424d803f0ada8e07c1c18765ba911a6deabc54810baa7054d9766bbe90efd8247d9cefb7a952405e1fed21f47ccd431166cd69f4a9bf7923fcbd3d19b9d07c893b46267c71cc85575c11388be587ce2a93231716eb1c5bbcad3a42d45f9909c9eba9f389a9cdbcf6aab429063d77366eb46ed20370409db0bfa55bf7c3c73fdcafca624d264c1fe4d1b1f208e721cb908dd1244b84671479e5e9ce59ea7e82fef93591873d9eeb2db96216b7825d89e82e30ce167ca0aeb4a93710c8818401b0486839b5b44b8ed1cda12e1dff4eac74961794d79140ffa5f16ec5e7701a23dfcd072ab688c9461d42c3d4c68a9473b8a4c89b522288bae6fe3762fec86f49fe2a358398ca00376dfdb566a3871b7bc6a7662404d4e9ad7bffff92756a9ab08ffa5043474f56f8fa6cbd5696579d724a889dd4f0e9cae84928f0e68e35720063fee936edb5be318a030fd7bf5a45e7f2e573f30a66c7679b94a99e0320b16379dfa747bf16d1272caa432854823fd974825d252bb846941f464f59d26832b45ad40d7f49257923dbc79c0954f76cb0bec915037c27188cc649532e5d69a5af9a4a74d550eefba633fb78d020bffd85a223f91b5d82a3a6d25e03220325b60381a40e7585b136d3fa17fbcfd83735e868a809a69cde06abd9b3bd00f4612896ad2edccbf4cc1503c3d546e61b7984dfbbd394912d2c6543807ed51119c21b7fbc93487329eb03566d68e42712d7c49ecab6ab8be4c10afdc96383b3ae83525f9d9ec4ee4915e296f086e279dc4df46dbd5c111664edbd36230be63aafb54c306ec084a0f3e5fc80e14d8436eabbcddb5dc4997cf6a5c65cf5a748907d4b58ee565ce5a8a14db82e94eab7c79e82cc129b869a347a2f82cda60db94747b06367fb7754d6972d61bd1d0a961dd74f3e8328699a1fac708e9aa3b818150158e8984a94b0163d3cca950a0de7a708fd648ec85292b1ac2527b3a4242f3e8203391ea193c26c7a81de6db1f76efcf6e089ce170bc682a3aed9eaabd0d1cbd86d52eaaf3d42c0d88416b297fe67bc8b33dc16de11b647d4eeeecbe1c97adea9d8f4e230d5e2a587f525fd41ad2d5ebd3255055ec4bfcf259b1f8410bbd5784d24ad68d91b73e0285e852c84703e20e73808a57af41623208ad68a1c693af3a963427dcef1f7b3df56a02f40f64746cea4ec72ec83dbdf1c811da7b51ff77e07f55e3853a1931676b3e9958e559ad51d950604f6beb4c17b8ab22060f5280668bb2659bb3f86c3e0ade89bbf22549edebb9ca58f1101f094339727115b2c757c9f5543c4baee1d05186e9e4fea5c5cf034d8f4580c2885ffc7221935f08add1a5a5f890921505f71fcd99b273df3091dc77e5b6eaaa63821de129d6ddd28d25907f9c903b749f63f6884a86623564ff7c8821ccdb39c99a8d9bf0518973115bc5ee8408a3845eafe726b81559adaae715efb93ad92eebee3aa5bd4cdba40e74d5da2789a7f6dbf76a8d88ab6bf34383d5fdfa8117861d0b6b966bb6c34f3aa9073eb074c5888cf0de966ad8aea0668425ba42f9f698875a77cc0d3db3d63f3ed448e50839af6b8488d3bf43e0d3ce8ae6cabfa2956b88d8092d9582172adbce1a322b7bef087634561e834469337416af7e70643abcef89e1cb6c21178f6bb4a8ea6dbceba00d16209a212b6141d0e564da8570e918efcb9b935f1810c8d86d11e5ca9cb928a2b54c7ed505e1503fb76337dcec7532dd96807509a75b470295e0440ed0cb00e1e359724439248edb5b7859da51e05a3dd22e705a3fb5fdc28b350467b89e567bfd8fb85dd55c4681ec57b897bc1d644d9932ffcaf50b5120ed0cc38b67dcc6f2fc33e1174a36037445bb0a4fa9cb32ab837ef7077426b84b3df626bf97084c836fe90b829527d3bdc484e3f3b3c154ebb76af7d19a3ce117b0a3b1c95b64b7faac602d912190100ec025c5ee55a8f6cab7621207199316b3bbde89c4af2a04389fd24b846e38b36e8afeb8a5ea2811c916f922844b2eb36ade8c4ebe82904068d9a85e7e5e6b6e482f8364cf4b302206b3f6434cfce081699788467a998544e80208e896a4a2bbc71c78aa453511a6451827384edf79da354c14f758c6c2c391d8ee6831c1481511adbbcc26aa99dfc6b133ea7ec5952c86938405333ee87d363cb799c4d6746ff5dd47b18f99835976ef6e6c96af097d59f2ff8401aac0acea809292d735768a3974d4d7677d0d8e7b148676041ae1cbc25736dc402f50c73a5048110385494653f751e8d89b0630b56683443e828d8aa3e3af3585f9af6ab082038681c2256d9949dfbe0d58deecd28510f2e8c8512902cfbf44854f4b307acab981dad4604dbba7ec62fc178dcd5b5af82ca8c2c7ad59638a6c802bfe42756c1bdf40917a34ff39aa9e465d52ca160bae1cfd0168148361ec4af83d5bed7d71d27c5a9145c814fbbf20c5d1ef22e2c65c53c52245dce3231c57a33e5b4c9cfa03dd2ce1824eadf2a48b3ae30a3208010d40e9f47038a5c1201d03eef726eaab3630052998355f060b7ef782358d657d168cdc87cedb08db67c40df37ef392c3e90854910d728fcbf06651dc9e2649c314277cf8349d7ad1d4852666a8bcc1125c54c050163c38e38b26adc8b056bfff6cae99db51ed91bd9872a9e95b4fdb96f034e6e2cb451fc0b5ff11e287c71cc39647387590d1d3071c0361233fa3a6007439be07a0f33c80becbb6124df5a1abf433e61e09b3704f0c12e5a1b8aafd6e9acf115d664bebeabad16352e830e17ba452a81342ea2d94fd6d40ea0d843217209ab9345a67254185a2b5d969e1f1c4582e1c69ff6053db600d0adca4037997f936e496a0ee5c93174542d2304a088969261646c3349652ae9741c84dd4fd888baa3d25d296dbf24200ea12d41d506428b0c66495a549d485227e75f2694e90ff951fed9ee03312dd1e6c000f41cab49b1c72ad4b16242632b565c3760cdeaa4568e7b77ab7dc8252754f885d2ac2fdb36d35b20c9b58104a77d6ddc75a495bc1bebc901b78cd5485c51aecada751692ae065bac61608767ecd291119c917383ba3b6189a1d252bfbc5fe9da0bef48f2f925179a8e39886904b6a33518c66abe0b8bc739ec164b6c69479bef9e5fe2b12f68e141f9d49b1a18f347a2fc336f5a24aff850f382169f4669133e6877f0f3fa3fba0d228f567248b10b9d760914ce4ec9983df8f41e5584574c0fc986ddc35b6507013e5a58b8fd25b588ea142cc3f6595309f97c433769df56f0fc036a42958e7561aea14c718d4017e87e82c4017c96c3a6027a8ecd752cf1c7b3b67e438adad24a7f164fde5afbb0b0c3905c90766c1f32bb5c1bd93cd2310927fd873711bfdffc564ed0b723c72b5d1a3fc88acf3b8cd3f9b8999fb32b2fd40602d9263f200019d07da98a8b1252c1c7caa5e0fbdb92773fcfb1972dc63f50b547fd2d527d129a14fc22d7b1510a8896acd0baa10abbfc3ab9f9164d8ab64635fac178ba4d3ac92c1b92daf03874938463edb3a32d31c434e515c48ef6e9651a5b1393e04933016afac41bd0b36c87efc01760323a5ede4e9b52fbcea07521f5531c8b95f1a3c34f4c6ceab75908050dd29c8f31cd33d58d77316840140c2bb2afc29df136933a5c841431cd6b16d17a58ae261301090e52132b73463b11f5d0bb7d28e5e2974e2a9a89af6c21bc642c362559c5003016ff5b34fcfe5179c43b399b8d8cc3dded585a70fbb7e114ccbc3477915f6538b2f8e56203f79b0c5f9b4e527c37b6a75d9c253776d958510730d68671f946fdd813bf89d2ede19303e2aabb5b445109aa58dd57e3a0920ed082fff56b54490f1366302444aebf31e82598bd94a695dfcbb4c0729ac92860e31546ff7909e535119d577ebe1734ccda977d7cade4dd39e7dea985fb09dd2c3248d0be631eb19919f88487ba9cf7bd5f86b1c328dd75c74f4a0de51fd5e65d2c03510806661347dd77881545917bacd9854d5b322582f6d803e1384bc09604a10b4cc8361242f5e2f0c540a2bd09293238023a9c1e4a87f86579eb6128e0fc35617e26e1d7b3ea807782bfa8b87fd968c80907e8b287df39b74a2b655733b0058d71a3c20957d0a3860596dec8bf7702956415a61e198e191dbd448bccfa704a14eb004b659948cdb7d5fb549dda5e5f49166b0d3228cfa15306fbb36f9eca9fed95654cfbccf9677e08fdd0b12405fe12e9500a28d398984d70b1b90438b7f4bbd71a9e5b7410c2581f2df025b9e5e637b804905509278e0b15a455ab93761d114fecf8ea7fbc7040e425028727ed7d0abd7e1ff50c7f30e25667efb15767d7fba46883a34e58f13ba483948191481b2d627f027f8022c2888e9e2c2b17cd0ec7804af239c4406231415b0bcd3ae1e196605a3fa2d0b5b873d198cec6d74e99b1ad0bb1fdd9d9b240e6e786ab888e10a21a3125690c0aedb7b093b8032718fd8b2e0dc20f73a8fb42b43a11ce327ec45203c275df5e83fa29cf2f612eeb7c0ba1960b6855355d23afc274734c41e94dcfa9681b30e77d16cc4d6c694ba4864809f755b44a8e09c645e12b1199f3f55c4309577ae73daf162096a41b3d13e31b2488f5e47cb1b2f9b48339a63a40918b883920f47d7da610418f2c5e4fde80424d9715d46dc84679ad726351c4a8abc3a7f5d5eb5e94726f35b9cbd768668d0016fd0dd899492f4ec8c810ac28f6916418026066c4525094ec59a5a3ae5cc18814ac8b373425a8a8072739316d9fbc6028a7ed3c6c0530e7d87e2f4eeb85de93396eb3dce2c6d01fb8b1f480bdbd136d29a76a708bfdf5776c4108a3d628a8c67c4d6e01f693b31e99d43664e5651137c474edc3c03e9500e0a9389bffb29d458023257def085fccba90d978680974a5c6b201a4b6e5b8de9d17123954e4281a718a115ca9109932ab3f5019cef465af9d593bc6420318f623acd51f57e3e26d399bb04ce865353fbab15d3afe8a53031df02fc199612a835bf68e2036a1ac3d7da6c7006a1dde15622d4bd84d6444db1318aacd945837f3b68e5d3ea8f7564afe8d546c891deeeac0bea591a69b2b7a8e80f07cf8456a6b8cbe03fd1884a54afcc734b508a10717ce6defc91212158bfd3165cc4cb7a34d6afde4e3a53ae6afb09336ea91204890c47a62b1dfb3e8d5f82ebfade85da9e23d28239d63ca87f1cfa2a99398199fbbe5db38b45cfc8e443d1a37859623719de9b9328387aef4bc572952d6879e65b07c3e282a3417fad0d7665be8d2ff15a2c60b91971de51db69ac0b3f4374638f3f80caf206091dc8113c10d6539c149f180708b18f49b7f693a4090b4b4430eb8b167b86a633b27cf234a2a8e0fc365465edcc30ba73c45a2f5f7f460676f1d3168a7205f738596b3f7ac78c8a731689e38a7f7c714bd2a382a2ff03833de0e58f62863c780de28f9f7869f1c2856136b6bd76eb873c0d7ee9a8e22bf23ec291b277ea8cb7a79de0ccfdb9c3033711cb9ef1d07ee4a0d6457a03eb526b9a64bb93744869930bfba3e59820cf544259f891ff3cd52500bc27d22a4eda0b751f7d105eb9e44fcc23927a7e58dedbd77ef13bcb322fc40251472655210bf4c0fc3eb20d22f2e01ea070bec079a45c2a095b33225da8e9215d91c545e951cb981286478ac2395ccfeca6d13f75862bb4a6336f12a572b94e59586b7dd07eb14f1a56853db641e3b909778f7de54fd299c0c22bfbfe655715e70580b9bfca8e6a48d423cde7da3662ce7b43289f4adb9e2e649e9ec476ec56f000eb48834f988029bc39352740613c554c48fde303b5b9a04adf4cd7d6ebbb904c1d5bfb96a2cd4246b0d07d9318c4bb92b6edac7b3958fc4f03ecb3f9c0359a7c5afc95fe6b1424c491763e19338d8bd036df0455fed4b48085adef377485a3821ad654e1858552037c2a04bdf264f884cb1b1db82397114ad8d67b22714cc7fd307c6336600b6305e4e33ba1537af8190d1a1cfa97ee55a58221054091f4f84de129055084cce8d1687cf40572f444c5d8ac52f9a2668261bd1193c8d2a36c9595820286b062ba8d7b2c0998072cc84b8556b9d7608426beefd8c2e258ec7784bbbfcfaf4fd302d4ddcb86ef48b8543ee5be398acd9b8b4ee06f05b955a7f0c054f29b7ae7b1f3a1f711dbdd77a150c379d7d3c511e13adb4072fd64e93d972d8dc6e83d46ee2412c8f5e3d75356744a8ff28337a2e7ea8edf4f8d88d8a4074eea489fa488cb854531f735679476f3f2b8e3d5caf08ae40bfd8531bdfc90236644d9f7f1968fc75e2a9e6a52e5d16858e9308add2163693d72c80915acc0ce74a66d27a250241f849e090617b211317659361849482bc5d47280b64158b72991912f4c77670670fa6c46e4ef24bb25c0a260b78c5d879b9ac9495e5afaddf205e5248a6dd0104a2d5c7e53ffd87faf2a4553eb424485598ce9111e965b6b7a2cdf6f67b23e4d9bf025ab660535f9277b7ab2ccfc332949f0312f486b8fc2785c8750641615c26ecf692eeda24233c84a31235e250460a67bd0f8621da81e9e2217fc7e165f653c3ecb2d8a4abdfb2e2ea3e89a49fd550a750f5f796d452c6438afcf34662e9b611e1f6de21695ec7e005223bb002f90cfbc8e3363cb92f5f2e727e41bc67d9750581f1591aa42dd26935db149631e3171cafaf786bd4300976644f880258245bb8186ab458d14de1141a42c8a2e33acf3aed23118b9ec938cce3757748615d86a46535f011613f6ad787c59a548cfa2d91447cc9f853f174fae8c0e5b7abdf91843bfb725439325101e7d60ba71e89fe19c879c1e47ede54342379030b1d3f5cd8aaea742929841891bc339d4998192f1e7206e809102ae5f77dc8941a9df66b5f5e5a0cd75027f59a922ade280b9f7096b1fdffbbe3575a5fab5bcebf2102ad4d7dca6a6ff1951d44e2e011ec1194efb37a47fa6116abb16ecc042a9b1bb5c3faca0a95fff1e457cdb2a33f88ebc9c2065481f673cd4ab9d8d1d5e21ddfd7faf95b5a076207462df0abb09418593ac5a8d2aba81726d3e83e2220dbe649ad9e3dc516328658dbce0cbfe0fadfc2988670c25c127692eba02d8e00f19158541535ef6d9822f407bc46db2c75186fe78c02775074072c3a11de8de7697a4efeeb51d5b26c357950bc0fd3a1ef123624cbd10c2a5b0315c5bb4680cd0cb2020796138bb32cd00e3996a33717a8d30101a36383c9b2aab4c75181fc029f334c9e0160b8ea4200fbe4d85b5fe08cd3836b5e2f89107ca71b8759a545c27baccafbafe3e5f0c4b5ffa56043bf0a1ea0c208257b345dbf8754f70b04b279bb09f930502f3e7cb2bd19b273ecbd544fffe631cd7b286771cb9bddb3dab92a83f7d83fb1adcdec8a689159f7b648ffd63ce15ecf000366abf9e1a966e89e0df0ccd35a1aa214dce66569a14ed3062ce462ad6208d6c7f15384019126a7db13673509c4fe38fb44e88174e5fd04b744e95990968b6638d553544cdca83c5e0b9c9c09236df8f34ee504eb94f2171290b07853969186aaa94ebfdc710631490a2a79e1e88ba2337528b1583cc34b41a78afef2aeb2c16ddfffcb21f3d4ce48edb421c3c134856a8b745b551ad2fdcb5161c8619380d0a6ca780aeecde3a20ef5445596cedd7a0b0235dff4f63cf981d5978a1d7ca482a5773ae61e6de0a84bf72c5014ac7f4cdc4d0e373b6fcc35b921dd9b655e1705095a03c450d82c187e3a2be92259d99ff9ea23e11822445632f156776d0b5bb9f320b5da42e6c9d5dc0b2cf5646a57f6061a2526d50d0695b16d29b4780cdd01d97f25cdf8bdb2c7b751a7b33cc1a4bfdc59e582814a90fdb47ba8ed10e33db2d888cd45fe98391f3c9fb96d811db4950f1fdd035d3074e606aa4d36933793e92168833d53ccf969b7f3f4bc3069fddca9873d05ccd5715753e50b59843504f51aa0fc2a42b387022ab66e37f326c0d42fdfde278436648d8fcd40b2531c172e4a13c72a280a662ea9ee5c3bb7ae3c8e488f4e466f1a9369a0852c7a4391396c06d0c5b39ef15af89f2d1f337dbbd5768932b9faa381cdb55b01f09153c3d02022f5a7954c79562e5227dcfb0184769d863e226c0e14734c158033830e0c1fa863f4a0e94829648cff39a8bb29bfa5defcf324b11d583c596b63b049c43802b37529288d6c417aa2edc683c27ddf7615bd69efeb26e7dbf76ead31cc73f8f3c89fe948f0a8c4b85585141260064c959adefe327e3235afcbf230b7fdc3b02590618d86e701edd7d3462c0fdf25c6f092136a7c6c24a5521cb248020885b589669abf7c2bc0329341d90432c543b5bff4a79bac74973231f96a3a01c4fbf0097b7c510172a8dbfc76fff4650272137ab5a104deef87978905c67bd8f68c0d44e4acdf9a71b690a97f2af14626164d9fe6a2bffc0c1d51de37b1eccc312b3c24fb839159e76f77b9ec5b2a1bdb64fd372171a32c68861ac0df7ef411bc4c9d8a0e1d4dcea3e1e50712523c548e549df6d25eb398380569b499294fa0b947d1e09e3278475d8acbe441b9f07c895cde40490c2697744fe823568b3ab06cfbb634f00e888673bf0bf6166068af2316aac893541dfcd1741e277c7accbb18f13270bac4bb26d9ba9b4ce6091e07dd192464c901548af33a8b52ef3fe247c1c4140e9d9be357560c01e26bed98a386baf782dbf2e8badde606644600c9e094c5e2060f6b1598ab69cbfc7e1cec86f0c94ccf6df14899b75d723914cf1f630baa4d47f77cc54a470379df42b897c24557c25edf3c126f28790d57fb74b5d65f7260d1db2d1a266a10e1ab0fd2820b45a26a4fab860c5b77cb2362a178a7a384f5993e1ac0d39f5aa6f75de1963fd0128cbae003b23503228e0056432671544f8b8b743130372ca6fc893df42aa448682de339e200a9f702a77789e8236f8ec42874f73cd54c017ba9dd3b36ef71fc26f40577b5ce2e23ae2f817926086ea3f329df2862d6e84c23edc47321a797fba4e6b50986fb7c02a58162c04e0944fc6a76f2bb561fc313e71625f78330cf379fa5700acf9073c3ac713e6cb06725a17160b9bdfb099cde5a16df2d17bc70fdd30b972ca7b5b8ad8e0efc6144248a46b432b61b5b79a8a9827555cabbc698dcd37b21d1b021fd66f2ad39cee6e0d73a509b27c69f5f60fcabaa198caf5915a502c89c2faaaf0d9500b09847f7e2ca2faa18afcfd79c2f0128e65c05f851c1ea819e876cb67abc73a141136a96b9d143cb81496ec68d8537efc953097f955edd828cfd27da6a51f2f315e6ffba08ab29115bbf31c8473f4b9fa5f61a7920f0d6aee55034fed2eb2264fdfaaaee5bd204a84c63d46124c9f6ca291e47416313519087a6aed4e1a5b2d8e3b4afccf49ca8e855a7331cc7f295f301530cae471bdcc55a14c7d1a38b13c6d75f5d9f09274be720306a58d66d0f458fdc72ac4c5b000964916ffdadef992e1d203ae3cac6dabbce7b444b19ff15d019b13f3076cd7141c4ce1fd8e5f319dbced1ffecc35fe6bb2b1619aadbc26ee911942fc00056a628a50c3d5ff36ced26cf80dc7a331b1affd6493ca8805d2f1c57668bc648f5b785361bcc69a6a2fb9a74726a4629df2ade29f3bdfb39611f9bec6ddc6d540d74b0fb1c4ecdbb06e613f2a74eb9e2f9b6da4123896a49e324c783bf18893bbee207754d4e7b0166c7a151ab5ac0801331d1d2048bda8ec6c824fa78cdb102feb3d01c59f9ba82bdb9039e670ffce2c53752d1b8974b07d3eb80b045061da5c405fb9a1cbf5aa6519318ae62baa16216c0c4254334f7803ef432c76c802844da2d38145cf76e4fa52858f462cb0ad7ba01c953ec312720e626dcf9dbbcd1b0c47dfbf2396bee55cfa1317fdb44ca14a111d803f3abb5033210575b79769544897626ff3d8b2252a055bfb09ca723577b875537e8707a1d0fec9010fe38ab766f192bc575c6995441eaa3d4bd99d7c53912b89375f3511343f8e2a2b3d8b8e76a433cb82930ba2d17eea75e86864565034e3871e4d8d3ab94c30c8f00a48a07b98b5cadfb54c0eebd57a63df6f1a985e1d4dcc3588a43b9a4d408227fd609e5f982280bef66a3c387499ef6ba4d7081edd2e361987b9bcd041457be082f1e49692f74fa3836eda00d5f717933f4a505b8067199031a437d9c9605a47a1c6da53350095697277f6991f57b5ad057720c6a84c33be0193c733176a94d3f993753ea90799732f3ef9d634a4e53d4cc42ee5d9f629ccfdff615f8fb1151c7020c705010a67d84d79179bac00fed5668bc28eff8bee172c8c34c536c78bbf1e84c4cec2ce1705780e7fda162f6aaa91b7358c49506ce7f4e633ea7352249fccbf6b067299ade157746b73a5e1a1a8436f6b9bf3dfca18e8c8d49e808657fbb824437562f1391aaefe3d496746b958588c0cd46506223b964e6306d43f7c38e4fe47bcd8b2eaf818262aba1c7da915579471d28d3efd33c3fc5ef1e6081d0f96a4a43635f9a98bcbaf7baddcb2e9826c272bfb1f3f1e5ab37c9f93a22a3340aa4c6fdaf4ebff50d10aaf95bdea177e41e6dcc0a0dd94503b8f945950cdb2822ef8add83ac34f46e62623810a31922e74cf54033a621ab63b73b3077a224d7acdf253e2a076e7396c7ce579515a5f895a5f45386882accdd37337ca4c50d94b238beefa0968d2ca176b45be8192bab5c91aaee816cceecd46c44cfcb2da6ed49762af59e0c14672591187d476ae0fe2f5f7de1fa20068d14e5b37c3d653a8d9c253b599fbeb7394c25c65a02db0e099bc762c518a63576afd84099d18f2eff5aa889562fa09c2cbe3bf998d9b1e705b88eb2c64583c1b2b88ea1c2e0f3274ac770113c32af4ce6e3a8441d274e0599c93403703cd9b59bfc2f9279c29d5365a2312bed23d4046f4c1801f273a29107d2491e657530004a496f186f88713ce87c30c7027bfb07204fc2c6c3b51c3b2a1b22d889b8e72478e571519003ca488cdb5ef4fa99b10eac013ff6244674cd7ac805595dc32c122057c3e965f8ec1f4acd941bccc5980f79be4cb9c6dc486e9e6ebe44850ca4dd1ac0dda1fae2b6db3162df5a1c22fceec932ba4abb2f50c8e2f4e1408df2c65a367f6dd53f47d7d39781d98ea99f86891031b1b8c675b288a6365c8dbe41f3054771b9be1435353bda9dd1599b2aff5d2decea3ff598651ac23c5fa66fd3c8e8330f8dcc81e7eededd8f1f1050259b26b641a4654680e7df16753f7877ce4b4291ac054e01e601638a129342ab994ac4b77675e423f8eb992cc99a0360282ecb5c8154a10249d442ee458b7e423a1cb377f2e89e2fc57ecd0f03dfc49c70ff1faab0833bc4c258618aea60e1b0a30eca41904516023f89ca6aa1b2fca611d5598043ce3661372acd71e50d9321572541c30fd76dea6f3805c862b69c2eb9ffe92543b105e10d9d62f5f745029259138883a3b7f03d50ce6c2f44a6f184aa2117fa1cd02040cc8faecca5bcdf2055f38ac8067225aba05963868733ac2a5823405576857bf1bfd59f00f317f7002719934fd7770b0ad10563a122d53934ab9af0514ac1304639fa25f2c1973725bad3fdf25d3b228138285e1bae35673fa04086e3fc2ddfc2f832d649475152fba7e655bbd49ab5d18bbca750e74d438b2e8b888cac336d3ea940e8311ddb4ebcd4bad37ed8273dfbbe69d384f13e47ecd121347446e256c1c7674bac9bb1c5d52116ea1164bb21826274ccfea79fbf36dc0f0c65c1aa17db4413b9483cab05f05f8db1217314b7ffc6b9e74f718ba9cb448400b999e9d18d001fec870de138b28ec56ff42e51a634e5182fbfa88ce1e9bb697b906997e68f16a7a0edc50da0cc8bb40595603af099cc8dc3d4fda472da4e67340a5cb0df52ce62bdadfc6f196f6179639b8ad8416435933662bb9256a05bb2f0a4f890593cd356bcbd10d446a7600b532ec97396b0d031a87d700336097697ce5cd4a9696b4d8535bd189fe011bfcb83a1bd0fef7de7501b9b3494c50e169db6363832051943f295d380b581122de0c7b7c516b657a86d58e0da247fc14b22b18919ce9a16be01b1daa3be614af3b63cb8ed6183c96e617fb509817b356b12fda4de2ee2027815268eef81aa6d11ffdb5b3dc6778f1c129f649cd733bcf0791008ecb7c70c9603cbd98f4404132848b0c846fe4a119650f93d11cb66dd96ce367b28d910a98eae8afe5bdf0041fd0578e2ddd70f624ad36e607e8c0ccd9ab67c92eeae27fba989ad392511e66343ad21145f316969cb8b86ef1d2d17eb4ba3c6b49603effc24b7a35f171450da33fe2467e1a741ef1e33c14d33df78d57a0264fbda4471a5b41290501a46e3aaeec6ed38cfc2a0c9b29d918e51d1275ae1f83123fd952a9440f07788901b984f18391451845c4c6ddd17d0d4c993d9622295c705a05c28335ba2de9ae1efaaa5097994d4c217abebac2909226a10a2ed34ed8afb14ecd004f4b8d32f8767a5382edbd4119c5f99422584833a08b0506175f7b82028113c0da4b841b061c61d72e6eaee424a58b10a30c5af7d258536607622baedb70aa74778ebe31a971d20a9a4d87df625dbff844aaf415aab0ec02b95122a356a5916086bf5659f78f39fb5157c80b96de661369a8295da534c33e8f8c1e2d0eb1bc5d8c9a321dc9e313dac6ed2af84a2c48e02a30b8f40350f7985de8be3357fec8b130ffb67100ce82031b860ff101c44204e00e8cda5a6206b458796b7f60d2370e661598fe9eeb53f18346af990416a1f44726d6a3d2c65abb5363d7cf09a39f0202b4e899c34b08efb57d89602f79dfab83bb1155a4bea5e9d39cab8547293a879799eccdf4133a31c26cdf8b31dd30198f6f2a990796fa46a9c47f0e28cca97c4cf3bc68e1d1355558f3253ce201e80108caf7edb47cf2262a6d1f979ab5caad4af12dea9e7d486e4a6f821b1e77ec3bf43fc6b299121316d33522dc8a7180c242d92a8bc0e683144d837484842b3b26be5ec62a091372a762e5006e5f324f97e953d485825088198e8fb16e87473ab818eb755472383d9c36ea039dec11ae99893b4a465c9ae1ed7f98e65734c8dc5832c119d00d28941c6eb0ca7e9dda9fb3672a8f35e501439c89983721f5644422275cbb7ad11df4105e214c24733122c32634d8fffe12c21f4bdab6cd87144f7cd9668d057ba09aba4bd83caaf234e16c1988258f6eb62089c96a7c0d73af76101c6c28a7d6db951c8a7a3bfb3b5a133599631afb400bae2d18bcfd8f9a7f8780efbc426cf60f298f5d30317a55e6a44babe54800d7f5818774b6904d6050e4289e7b29d4f11cc84c5e4e6ee429fa2c8cc2eecc61312d21ed45fec5ec90c4094cd12bbe7bbcb649b4f8e7348d9957ed9269e845a8e79f3c0c7fe5e29c0033ede3a47426925c40207428b30db533a5c4ca01c9292d1a63dfb33f0a7a864131e4f7bf9f97fd84d5e9d9680fe3bf04fba086ea54c7c4bb23473d6da9c770878cb2e917bcfd2a628935a97173b39170021b0fed6e19184f053b35076dcdf1a2e144f5f8b6df177caefb3cf69aef04256c3d0e4350fbbe0ac45237715568e8ce55fb1af54788b398cdd8ca1ae15b91ae4f68b1e348560f6f7edf73bca79ae2c3e54e9fd7c3d387d9178ab7209014680393230a81925fee13c799f464119ddfd106cc25c884998973eae13a2846b87816c1a646da6126759d0de77bfd085177c256c8da96634b8bbcebc69750f7c73ac5e51b91d2a94102f72671ab893f8511babff456e0135a130bda69fa20f7f0a8b556a14a40bfc9d52b12962938e15a4b7342c3593ec588dc2f0e8c4a7593e66dedd63d4c2533e08610c9aa64a8c3e7cdd3fff0dde25ae578115c4986eeb5fb5870bc99c74742c55c173e526d53983dc7fddfd7095cfa1c6f37442db10e8d5d5efe953ec7f6a7efc4a4c5cf14bbc885e244274f762de9698abccff373b361a66cd433069098762be88191687960f49e01fc174f00dd6b52ac5c5dd6de002ebe49a30d4f416983059495d6a9566b79f8ff25cb1f2f10d848ea625ce54f21fee377503866bf69f058fbaa854fb41d1943350d83f48516260a4374a7ec7d029b8de5bdd45689fcabfad54c912475fd0efea830bdffeb81c2fd2936e2a34e67fe47c07c6a6cd9b7efd98ed687d3a2c21ebd39e1bee6ea246e41310a640cae43b52c68c882fe09c76a4fae42fe9919835ec72e1d71f7529062c4a5552646b9010f6192783b7afd274ec0764f4eefc2535b8e533fffb50aaba01998960fc7fad144dba916e14d2bca101c3ad84b9b40ecb54298eca2b1b7cb4c28c29f47a739e648141b0234e1be52be793d17291328bd0e6ff47a3f985de8fdcdfabf1c8e2380058d084e594609951a6915bd5a3f9233512c06fd430908451adedcf8cef737c27d776f2d44a990b969b36b91e02502bdddd8feed4600ab5321efd9f6f16f8e761ae4d8780fa245f1456e5d331c364c3f211794dfc4485388f4780385fd804d88e2eb5977cf3126bfa0a9b5b1ec800a196f7f07a8653ab935bf9e17369d58d0ba6946a15578f4e6271e406d28abb71f43ff4f9c54c29e32d7bdf902a433f8ce96af490712bfeaf81eac3d2e7d77be575909f8420fbce86c7024a99b3cfc84c9923a9f1b055718041f17b192b49ff3fedc0a0ad6e96fa28c4e6b3759490dc632c795cd049f04b1f6e44a267dc099cdd9bdd6ea7b6e39ab935dab9f1347d6b20bdea4956fe2713ae3f047d356dafe3348575af94ce60cb2c0fd2f59cd90610a150728e820b1843c5744047b7fb9ca494e5cb21e9af074f35fa14bf3bc8ab6644cfc19dce99382b12c8af964739a8a8254197f446108f88265f6b9086a662ab9988ae2140889c7ab0df9c0cf6bb5feb9ffca6ec499d67d63ee8e6a27310f5b2720773d6d5b41bb0b25befaa12562f9361de00f690b23935356f438414b509b1af75d42d0aa2463fe46042e8657ae7b8ddc50c1142d7584e5f4135000e265c3757fa4266a4c616d2f6efe369c7100f666a0785cc330a14ecd0611d3402eaa724a532ae7acc51e45d2740255add266850eba237a17447fccbfbf2edb437919c273d9d618277adb63f540d5af5602be31ca75d5d3942d3dc4a9c8d30d4b6872f61f8639b757df123ca20878f440154d94c1ea80a57e1ac58f3a30ff27fb8fd10da756ff098c92336b553c83562f28a040601fda48770ae0c4314c3593253c3685f5ca9048a7080b4ea3b16b5332c5c23727af9ad8fec2c4bd49ab4781ff7a681ba5c0a965dc78e50c6153be063f0f5ae28422edce6807db9b6f6fde516bf4f9abc85ee0d1dbd04d9288c6bbf3f1dc41f6ce442d5105f186c34247bb89e11e7df7d0fb6a66b148f12cb91744e0a3d59c1df26ec4a38f4a05ad4f3232d73ae46900082823a9efe5633052a62a027a657eee33e11367c6480e093fcbfa2dc6b7ce07454fef6cdd9fd69a0f1898464d911e13f6720c846e8d1579169e618b0ace133f2f470a3692d9fda8dd17531d9d541d5dd16a1b52c1826c285b3be071a0c85d3b32fb4284d7063a55492bc4af23bec99058efeb3d991e8790ba87b44772f9c80c285f786cb6423ba42cfb456e5f11d27d692f14c2c6fe950cf0765bca601a92c4c8734201f80d15ee1f554da3649a78b8c152de7bf90b552e00b55766f8090f711bbf0de5fdb297d53629c3328c9aa858b42c464ee06a665094142e3e47acc7a0e909593385670630086434abdf987120084e78b424cb7c7af11b252525f0ad49bb50d4f58bedcf1be732a425dc0b0c5ace4104ada7d53bbf323389a4aa9c4e1d9c79cdf8d31c39b4559a26d1fd296c28ba153dfff0976f6e751bd7ea912a42b3d8ce1dc4950ac0ee4e2f1274fca12fc8c5d7da459cd33ff55dd65d920070e8567001e5c70fed67a6f5a40775df031467e4e38b47604a954af5a7e40f459becdc727db05cfc382a1d44c0dfea848d2df42093a2295643b038947e994816c21fd6272adb114943b667fb2e4516a57d102f3b7654c05c54366fa97b41cbde4e5eb731cc421799f58d7d605389cd73bca9af6e457a7a6d958b3a661654b5cd156092c5867b507c7fd25398c8050ffafa73d950627f9e8253facec737fe9970a963414fa362b12b39506c134801927bf0275c10c6c020720276456be4c6667a98930d7e28e4218f34a1b8466bea23a5b27ec359006e4105a2ffe5721ba006f6097603e2cfa8cc3391290e85c9a3d593530fbf4cad18deeccb013d1f611b3d69c8ef34c3291cd540a6868d9a54c3e692581f45fd52ee2a148ed8cd64961010cbabe23f7f397987c50aef90b0cfac2ade5d5af7eb43f47d518c57d46f3840bcab1e554d720ba755ccea723179fcb130692637c965a2b3f1dded06249a22c7eb678f18868a8f6d16d84c36538a94e5c3bc4360e89e2d06d92af869b3f483add53be8b0ef153347f8c5fad95c5d22166df1bb06332d7098ad9c81b81a645ed347aae5e989a961f439d47a5d9374debd473f59118f42792343beb4ce68d9f74ed0e95579860a9a1bace825dd83e5485889a8ad3086930de6c5fca290625ebd196fe48fbdf6d0b41c055b4bf95a2976f1808b43048bc33971ead15d09efb3953c4535ad5bc3621b06c6e518a8863cf7b6fe2f6d791364d6acefeea9be2569d206e331197e7318d9c0a28b7a9769e49b8a90cb4c943240b555c49c8745ae76e41c6d2df0feda29e50b913d9e8c71935178ca8057eb120ed26bc2f68443503cc524055efb74a82d771024bdbcfd60b571d3760d6297fb70185ded36c2d08f9e4c944bec245b8f1caa0b6a9c49a06b9396c337814adf20ee2dc0b6be1ec48c6dde58be7967c6a4d88d3b434ac99f1ce26af09645da06eac4f0d91a561851f250bfe7baad984c71bcd3941b596ba0be0a8f89af2946a39dd37895082e965800d96c95b0e097f57df365f27758300f70c0741cf2b62a7485548a3ff64d36d659beeeb33e0574a00e779ba51bc3edaa569d2be13efeaca14724badcb22017620001d36b40737d378d16214dca50de40d24bf54dc54892596cfbf1598f06d04d4576d858896e890678f3e681c4ced0f1e4c750a1482754a3675e78591eabf71c89fc3dbc36a12b55474e32d691054ff6933b7a44f4434c58ed3c6c39f792ee0a40c75a29346b80d216b510e20d7ba2ce96861bd201d57599ba20b3180674c1da2abe03c2482620a674ff9dfae1a3ca3b09b6fb1d78c6504b8b445e1a8a3aafb1949be7451bd2e2347791d6dc589b315a705c9c08ff2e4b34baf59101f7c57eadc9d9b9ae182af5f09c656c4764009446ff9a2c463fe5cc7f384e0e024a43ee3e455ee7b3a254161713f98c0e9a3a316c8ff94d586bdfe8e822ae38fd28eb6f71c6841f0c87d3ab18ace31c47a85a096a5a34bcdb1cc05f402fb4c5127a5dacc4960890a4c09642e842c0d5d416525906bcc6169ddfa096a3bf256cf6018f1cfb6f7d820747bdc5461e0b1ac2b2b3caaf0d4787228f485040e6e1bde0f4a08ed8f841a9516c8fad1a66f4b99885d32bb1de70f4d2f8ac4a690e285fa9266e1aa29fe9081c6b077a2237da577ad6b6be4af33b2a8c0e71abb2f1990b8ec7b5b11acd6f02ab2178e8e5de47d44c16356c8d009ad5bb98698ec0a614c9294845c7488a25591d69e8642316925efdc9f3685e016b4cd91ee6769112afffcc70f4708be567b41f941d3b03b188a31dea1d59601f01be3f4233f85af04f59e548f4b933adc575e33db722e1864aa8ce75835473e6c068f742ec96abb72552b746c3b74c854e89b6ab72b33ceceb16ff1988ccea547a9d3c059b86039519725f4ccc8fb86012968f365b1c357a70191b6436544599e102f18902aff63e89fe3179b8c0480069bf4fdbac8567d7e1f2cacf286e91cbcb83fec7a6171a150035b013996a39463d08358265bb67111cf6cf6bbbbeea8daaa641f0a57cd34177f8a67bc64b114aad9d25223c4840e883e03dc3ad2f72489033fd1be4b97bfd83c7ed8db741384a198b28818904ffb21612fbaaba6b5428ff88c1f3de75ad440662d0a43d9bb3a1b13c08a3c6e4690fbeb73e28fc9c4c2e8155859e6bd1d2e2b0746f7d2abd385d08fb90169b78f98ef5afd2bb69eface18c6c213bcc3d045012eb257018a6f51e43433484cd889551399b8cf327adf944e1154288e41153844f28161a4d2c0f435c11ac26afb50e63f3bb2e39d8de288086b66d32c82204ccc1a60ea1a959dccdf4b5acea07fb56e56b35b2c9760158d137185e368b78b4d7b1efd5a1d1a16a7d4941c200bac1df605459d7ba1ba5f034e3ae259e760060673c192a1c3be96f7a5d790f0d4df8a818cb8e5de86213b67e324b510303fd8c2b5b6b5d3e94f1998a16f84fc3e9222cce10dab828344baa9a39b9c6b3463fee5db1e7affe85242d6193239deb68586ddfa6210d7c9b87d50d4f175ff969c2fd54613a6fc724c6215896196e2f0401aed4863673bfe8bc8071b5c23056887646076daaf7bdcf71ad4e9466fbc4236eeece997df5e73c857cee9ab3fa476033ecd49c8223997367ec01d5ed818f7f07fe2c7d103e072cfb78ff4a8907599934a6f7c66e428dbaacb0169a805cf6178f0e819d0359aad3226656fc0f155eaa45f61e08278ecf1906f601a9e19bdfe7b170820d5bbf68bfcd8d04eb457eb4323bdb9c0171042ed977d50e40056ecc7b35e1e9ff520e1b73ae0c052a8431e81eeaeaa773d83b0f1fe9174976566c14f726c0d40304a6bc5ef475d54ae265f0d966e95f693ff243e0e1f2f781362c216f005f4ed77f04fba24df153a4d8d7c698218c62e23f5078e125ef6497cf81ef6f464491cac0cefe502e90c9ffa055dfb1bfb3831531416371fb0f635d7874f3bac56673109f4f28896ab18ad4a9f4a86e014ab1964bed9f58697d959e8807391db26f9f53907106a0d4a4df3666194809224993f35bbc81156f6b7a5abf740bf086fb8961d15a96a43bbba9aefa899770058fc0e7c5a9e7dd432603ca7fde0371c8dae5b630c56342251b97b6ea4df190d38cc48a127a4e4de1d2c40d5ea308d90843592b3019dca33e29f5c3a34013b5f0990d12e40e8be3adad1917f0ea610cb602ae1027164b3c93a50d7ffad2a82b7ea255aaa7b1770b8e71caeeb77407b6e479616b5863d39cc7d3444d34136bf79b0f012a750a3dbb8655de02d3a92aea93d0183ef357fdac799fea0e093bf45160af263179663961bd29e9f725629452133f03c59dedba724f2a42c107910448c71fe32b9730f34bd2b1bcbec0144d7e550194d3db079b8b464a1b4adb997a802c051c09028ceb6c9a6f26849c4b583250a2659ffc76df0d0e6a156c74b16d32c1f0ebb730ac456124320d624af9cb9d373fa04a267cc9368e59ce220abcd489a55164284e08c755c8192d326638de31c47048343d066753d9b03897ab237e475c35d11991b8567457b2700b616b805defd57f46d64d906971dc13b0904c53bdbc8446653d1ab8cc88b93b8eef604f31e6f629522bac81d58e4cffc785fc9cd9bc89dc3bab9d4ba5a9413f1469d14e7373d070dfb4b80813b24a865c10b0554025ca3099665c2214fc0d57369531966ade9680a77cc52c94053d3fd82feb4cdda3bd162e74a04be9affa692ecb9f22856552e9ecc314b75732e90c04202b4dc948ec349bf5420279fb448e1cb20a820eb829c3bef629c721d2cc2ca9437e2a01b57dbada42a94a0a7970bc72fd9386e5b9a95796bffdf67fd4f5ae97ca404e33f0cad93041faaeb21b456e287356f180cd6674a55a5aac50e38148108363d0c0792e3e08b752dc11d5d8a864328d7b92a08fca3770e11b87237f949af0af344582866f847473d26885ffaef7e396e564a4526d4364b08a2a4b5d07f75c35fa596c57389d21d2b80a0e414bafdf9191f0d5e82807375957524592b1cd39248bd65d532522291caa4218a5b8e8b9eb3c09df2388bae89cfe8e3417e134c6856d2fc44d9f17c1bbbbb6385e7026cf9ac6944a70454636141572ec061c3cf8bcb25626affe8f9d01884486722c1b382e9f83f01b0ccca44c2d7032c0b2b04cc2766cbfb0bdf4d732652c172239f69871a06df8b142dc81dcf0106f4e12b6304d3efd980b1cf4e581a0795aba4d3839c1c261e2c232ebca88adc99e01120b7a28f1cf8248f7bc227932ecb7c778af5a8236af590c42b9d98fd9c9fde529e1809ebe1bc6195505338493a2f938e197f0453de8a02b8e87d519c3d43a2cb0fd40bffbfdfec41200ab8e5bd7b9f787eda3faeb23b05c35ba1dbde7ab2b94fb8e793f303d967bc960391a2b1ad91a1118a34c30ac93b7e52dc74b488a9a78ad5877c36f8cfe6f778d67fa0383e8f96daca8b209394c877b0b6ed18b8b589dc9f9f10a989397c9d76ad44544c907830bb1274d05e16418f53c2c0d4e7fb1464df125560c45a1ab77519beea4070fb5493531e0c16678f30d0d62a680678473b422c1860aab11fd9915374dc7ce4c38f0d76dadf065fcccdee0a694649a1eb7f620277ec4c8f6e128c0fb3355b3ee7b8c95626559e0feed610b0ef6c60d2fac5f882bd20e09175aa3cf257e7a7638ed704ea38a9c29d908b3236e5b8196ac1eb1db498ae60f9df2c8953153aa4a7af2aad48a3c7bcbcd9742bf187c5af49c79be0d17883c10db67917ed998c9654057407d61d44424b7cb64f66e8a289cdaa11508ab2fce469c108e813f0fa60499316e4d48692d578ed9446b4044c32938e490e131b8cbb87965675fcff7ea539839396b5c0d49869cc0bc8aaba6d4c2ae115cdfba78698932b781c819ccfb37413c65d3ac9b14e4278da7229f0e7eec1b6321e9e33ce1cf7f0b465f39dc720e7eb8d2ab771936f2afc1790526ed6061a91d6282926a1d1b4f9287d8d9e9b07e2ad2c9b3a804d32991e310f0414dad5bf80128c549613624a406f2c046a852baf95c8598ab7ca7a3997882f3e0dae85c9c97010ea209ce9eae0502fa9961069a4e5d5b971f194318ddb798242cbb7f1bd0419e89cf1fa9515e620724c518d549ab77046890b1b40d3269e75804de5bb3195b9d0738da2f43252019082ffef408452dd3d9847a02fdbbbd2846ccbe918c28ba4dedbe4bfec5eb722a9fe88373b460c29fdb7e1ae3520eb3b761031e6fc7527405fa90e2460b090733eb92c02e9dd52eb9d1cb93fbeb3751641f0f6386a2345a12c10bc329503e080d0ad5e220af92d819a0f9325caa349a6b12e8e910feb996867dc114514f512ea189562b617ad3d6581f7d364033afe0c78dc34b5d78f5ccbc52177c37a559c60ccd7c97c55d2a376740197a8da3bc7e6408bf686b6166228c1aa7d630b2672dbc6e435063b23a43dd51d1742e00d2338ebf50431daa7460a70f1e763b3192f852522b5a01cc9a8a9bdeb903a4c79705ab181c6245a024a2f58c1b65bdf70136047d69d594445a6a8a932f9111daefff6b467086c6e3d1c51ae87b19f6ea1674a135989070e68f254a625f310e3d31a6a579129ad59d10bc784bd04c607bf28c78b1c728b054f66a3cb73e404d4a8a625397269dac63f26a74ea93c5f8376b17574175ad6be756b78bc19fb7604acee89bf100229911f116d77d8f1fc655e38771d778a4fe3831026ffd6ccae4504742bd1e6b3811aa7d714bbd3d70a83d8f33b7b9557a56ef4bafcafa05bf0581a7856ec0ed0e4592b8f897a76f45469632452ea07461ad5ddded3c73eea5fbc75aaf5c25ecf0d9453ff620c7b592f1741019aeb47e301fa350af0e5297446151052ffb9ad82ddaab7b0c8417c8beccd20d39f863b5d6de63f0f14fe7aa77e833e44c001dc9cf09c7fcde34250c4dc56862f3b165ce0ccaa87a76c2b2ebbec0902f8972b376578f08306dbf0f725883b3280b51a9d99bcb5a89f83c71ca4f2de9495a4883dbcff0602c39d5d98f239522baa28c77f72f83b2dc76b3152f549311b5460601763ee9369d56515b426ad94e2ab79cd27ca25f817db3a68fcbde6e2a0668b1d74aee218810a1f77936520a7563c1ea4fa59c6cc99dd2873f5d37c8da44852135d401b84b48651f2568d09713d942776d1ac6dd2f1084cc097259c0b1b6ef148f4b25964b59e541f97e89a029d59650c71bee2764445dd4091d5da1508566f7325ed8b0e153829e276b4e73b5e9fdf660b9a1c636162f16e3d5c047f276849c3047b2ae7ce743dcd22239c77468a90aa67750a1b2119dd5412fad64c1f4be2a26e34bd11cdcfce729e7d9225b47af50dc39e4208a16c777b0ae433f0e5c407c5ff2aac17a617dd6d16acdfeee01f8f7726257e4be7f4f0e4a01442deaa70ef759db780357c07836aa92530aabcb42940bfcd0656826f35ea2317eb69e0ed974a9688dcf0c808f882c7e3aefbbe56db66b077cca40d0a7cb226e029fbb14b684012a8143088401200517b1daa808dee2fba2fb58e7b78975129101108eb38bd9f210f628bc3122d608f2ee815ce81bf321a74f9724a4e8d3c3803721aaccc1b856c366db6c20cbe69089c8dfe4e714202fd8b14b1594e2daa70487f84a1b42c72560d8612280d4dd1f38af793f6d8594d63876c1d3f7a6fac9de9ee80db715d26650818e5e52a4e2e1606dcfe585594d544992ab202e6fc06ae4a01cf0628e9ba970bf66992ed5d77d0a40c495665ce0b141e858f3f0420029db99fd11eeb4534c52bfb1a053c5dcd5f48a3317baeafdef23dfbaa3ba254702632657307122dcf58af52cefe1eca17ef3ac9b7c3952c22df8df4df253e07e27ee16ad08bf96f17c5eb5123a1d2548d1a193ae171712e8f275b23d3ca2b478725422bead53087d00b0a53748f339c1bb5b926a6e8d6e57ffcb169c7033fe08cc561cb08c529d22ce47d3854efaed53bbd900fece54fb5dbef63d250d7432a59787272b818b821b909d65f52228c4fedc8904a618cc635dc366e89fc28971eab92f88d18d48936eda5baebbe3cca74aa14cf41b43df2e668676ee524601262c2e5ff4c79ff64c9afe88e60fb2a3f3fd18429b022fdcbea6644c876304e7f14cf6cf33b169f84503f4818905e9f64188b85338a04add45fc2faf0a086ae347a6a08c546c863a00387ac96f364f146b9e239584e5a04843cade09cefe5fa59c7d6d9a1915b4dd1cd4cdc2a9023ecf4a1490fb590c7a5a3c067be33e9d0020154e7d88fa7643479af6c83fcd94e44a56b0b267bd080481c9beb591d1f29f1992a56c7fb2c9abd02d239964672085ed5a2744c4552703b387fff501478b301ae82d62f381ec047887eddbdc7eb9e29b71cd7364cc31fd561a173bc8fe8c8789e7f7c4e0f4d33617d51ec8aa87a168457c0776918e2bbd62e36ef03a3d9f6b4c1f3ed5cc8c35f8b17a34ab1598822bc282c922cd9702db29988abce8501511d9068e9a6172a125b915a6c6fb321e577b08a4bdb4d9a5c786d023b41675da7d5f59479df952242827d2c18f54085bbeb9d90281c928094b052edfaff4686346e8a5c6ca7c8d1e8aacc6836933ace7332026ef3d60312c91faf9bf8577a94dcbb6e6e2afaa2791eedcebde7f6c6c1b254999bce14f7c582d4543f32f570defc5a9e667cdef0e73546963af859d98e88796fdcc4ad4b68a18c979d3e53d1b5e504ee927fe4f88efd32ca9673428ad7d59ad31a97d4b96c17230cf242ac54d6f431934e8d9a96374827955353f34c1c6d19512934864615d3494a3c3e8da6884dd097425699890f12e5fe53fa90663b417be39dd75ba6ae65631d3e28a35fa14677125b0702657ce4b9fb986e3f8ce23493d8e94dc77fb26c5c9e7bd75d69672dd87108ff0a44205b17f2e6fcd1438dd06ae7a63ca6b3cbf06f9ced79fbb608c4263f596caa556fc437ef15721d3ea388afc75526cfc73b12f4a8ac78a4860263db7ba12f64c65efd52ec167d9666905fdd54f3e05d528af899b5c447ceef98033e3709ad63f34961309e0bc9a46e2d1b63782a3cbef3c01b8f82981ae87efa58fdf137956bad315939990ed2a5d339108ad098d1f33539fb4f1784bedbc5894bb37c01f69a7aea2b93de546e8cbb9989a8b892bc021125c3889d2aba459ba16b2c2f6430d1da52987ce0a1006cde90e148d30c35aa14d763a8d12fa70fdff6b34b944e778dbe9d8321da78c0ce00425b1d7c03da1f86d3f79ab2d788abaaae30031bbaef1028012ca40a9af3eba520ee260fc4663a08723b9f45f733addbfcecf9dc8bfa40d9565449d0d68736648407f858d40e0589ea45aee5ba9ea889e94438e91f1f0dd2d42469041682a76fb9e8f560115fd9a187ed1f6ebba8acd77265f64e36df573c8f4e6e1e4651f92c3d04f873fe177e977ea87c6f821641519aaafe2ab354b61a75b3eadad8f202a46ee2c904256fc8f79ca2b034bec9911c0c6be69c5220b37e64626322745eb411d3a3625d4933a5114cfdc2d0bea02d338e719d4dea507ebd8fd549044ffeea732008c49a9288a11871155e1d9f020f39c08a80fc640864c3d4872590b652cc9886d995a64ff973f430bef54225183bdfb6c3d9d3a71033dfce09d559b0d94d71feee039f4a8870ffc8034cdadf99c3d597367fc47da889e8c8655f325065ebb3b3693701408a3a627b735b64e883590935087284bae135b14b4e4668a7d7556f8a905caeba0e64d2632e4586c69deaa0b0af6ca1127bb5b05a3d20114ea7efcffc81cac94b5b2fa76bfef675ea477d5e8dfa83dbaf242657eff4e9cdeea38eadda56a431ba2ed8387f6d0385709024ff84e87a024503133ecf4f561dd2bc25da5fcdfb6c9e71810019b5529c90ff2e9456a817e2e534d83d78985b93b04eb59d427191cacb81443d9b22b48e31d2e0609678c17eb136eac7cf3ebe43b9459776c1bf233d600b31ee58429ec3c7f2543e9c74ec0fc1cfded4ae990135d7984f8422838dbbd9fe6ca828745df26a59ae9987d850f75f8bb0efca6b257d7bae799109b1ea92b762831c2fb5c0e3c3014c79e2c603ea17271aef4e3507869ec4287783578f170d3520855031cfee9519b9c4b99a2daccd5aee8c4e360c6c1bf51358e79969d319e16b442786198bf9e40ca2687d6d78e5c7119e8350dcdb36ad8a1918cbc3053930d0532d560909f33165d82b2694cb2986c631ee9103a0c0095ea82fb93aa2a04c9b78b11e0076e44c08231a9ac1a53d4a86080721e981042bf26ca50b28a785389ab13cbba854ecbeec396a7f149be7724e7dfcff162a0444eb34f96158761d24017dd5a5d8d0f81182c89036d1cb81e636fce40431363347bf93c108ba0e3ca36a70a2db1e620aea8ad5d8cb0f17aefb30aa09b8b21d049710ebbdfddb974ace533142240e0220f26ce2a7e99124fe698550f767c5aa70c76d9d14c5473943e0beb16331442af6f32f77790deeccd5218c6503bf6012d152bcdd2851d513e29785ce8dd3aa85a8417e3140b187466328bd244420af4e64d117251cfe82e849e5b26d1aaa58a6fff8f1317c763f0eaf1a5b9779f1388c49fe3710f741401f180273d52b17b143fe34967b8efd052bbf5b87e572e99cae1afea005caa34b69300ccfa1f68f3c89448c9a1450c0cea5dd55fe67e9558e1cd0ebf615e94a95594911a396f01f2833a89aeaddefce0e4aa16430280cb6ebf17a862338a0431438cb6e8e81d1950bce415eda63d4dcf1963be187cd41e0e8fdc617a18c1b052d0fcbb29b1f55d356d4d53548db5bab2426bf2e812bdd6ffba59763533f7e9ea9da53c5e5b7e8961081cc571a54f8a6d47f537708b0b633545bb215acaf9115c2082b29dc520e9de5e34f7ce46ee9f53ce89f11ec44c7120c217aeeb859572fe07a4b35c22877544d34e98ba477d769d189bf946055aa0ca00cb8c329de7a5827161ba22850f1dcc9f38688f01089bee571652c2ba930b9266aee26f6f0212408fefe504be6328aabc9dd8507fdf63004b1881777677d5f5b3edc58d0f278b500dba2b7cb9b0c33a333c03a8d11c59b721e48438f25fb029065d38d3a05ee7af4b2e8b0d3c42625ee2aa59deb8b6043f6cb31ab8742de666b5a4b8a89162acc1c1d2a7d13ee0f25f7bd3976a1751041904fb945e25a6ed8f54670811185a29a6a7d3cdb38b9a098782497c597ddbbdb7a18c40e4b8870f14ebfef7fae81cf6609f1ed7adbc8135e6b647a70a880c7b1263d74fb9f2d6e5c68de06ddf4120de4753c5efd6a685f0da25f7d8b7e3ea81f9a52ef6a427726590e9b0abc5f0dccf1722bce60afa1f2037a44395973ef7c1c4db93fcfa02b7cf718bad520e53e07d550f1ce88a10fca21b5e6041a69ff7a49e90352d77c15da31360e1765c4e29192d450fc8f1a3a552d7e2eb1e8715f2d1a7238149a77c7f44dfe2c2006e2a10f3d3ed786425f3118e5634f1a36b24332582bf7abc267bd2dbcbbec140aac599cb8a337f7d065accb58ade745e47a17611ac1e964c658ec2e39d41b3648449dd9137905c93679130fae5a56e6417656dfee11b81014505b323427003d382f871b337a274ed660f59979f8730fb08fbe4ce48959c539a3e2b16d2543849d1828aa207ecccb30bf88b903ef073536ea30370bea7d872e6c84a8002caf30f03051f8dff0bcc2ac12ccc3289b9da6a9f3364300611f34c2c5f332ed8bd686e3f9b1eee0e77a1dc2528dd80c509567356ebbff4a7beb5133ca161388e5695e1253dc8ab7a500eb7fc577c02b07a869d8d4a1c117ec8ebf062c3e3b6dcdf552b069d996e2c1dc5cb1dd57db685cce54b21dbb2d1f5024f28b2d6bb2e7c5be5245728140dc8e6c108e2b1154ad5467c67801ca0859d3f4312e3ddef7ce9db397e13b954c3a25699127e98c898a4b28303d8a3ec601fa9b255946f4bffe4279300093f3de45c020ed9945c7b49c6929ddff3f5a595b4d1ac9aa4066128ca25236eb442c414cabf1c78d32faf536bde8589847a46fb7ca2e72fb45a3fc8a41a11e649dd6fddb86c3b19fe2217366b4d4b77ab02588c2dabb7bd175f0e44afea37212a3f9e9126f0a7b6ff3ce36b732697c58a8f0ba2db5c83f0a9756c1576c12f066f9fed18ad60933263c011f61fa0f640256e26167d80a2f13fe51abb83e5fb8da9208b78835f71a71084b952ed4c315692a3292d67199a92cd3419e11b0b99e8b1873b91ab25b988506f703ffdde35f741683df348666b16b12de2bf7282242b5585d0a796265d5cf99c20d8aae0b9f02e04da57f12ce2732695bad34360db84c98e769ab5d84a4c040cc66d91cb23cae12e7adfc9f307073c2b9bca298aeb7afa721ab87c8b0c7b912fecea739996f28de47ccf1fb0ed569ec45d08bf2a9a2d5d31e5e4b94ca1a3b5b92d3876c1bf61cf74fe7e43a37b0200b824561793feb4a93a5b4f85e75695891bde14f14ebd31756f0bd95fbcea0da5938f0f022b33b3fba97a0372d4271061c4ef01068bc2a6d910b5edfe78329b4e2cd1624b2eb7b5579db2d552556ec91b4b45d80ceef101905cd811b4df26674642868c1b9e23b449761712d4c2f68844b9ea32b51d2ae55123d84f9d3507f0e8a0abb2699945b6017f1de6c0c5f3c4fafa2d28b4fb1f08662353fe09f34a1f3efdfd11dcdf26a09ba7df6437aa9f0d34b01c9964c238e305d2c19f9e946394fa7ca71d78e641308b232afd4a8176cdd3c975cb692c71870aeff21d2ca37dd952f2118a98f7b3e1cfb6a18f6cf068b8482065382ccb85a5179f2a028b1c37c91f509d42faeb46c867bc121e693443ae9a13e6d0efdad2cabc19ec0408d1cc5d43a5bf1f88bf2a0e6a818835f9d59a7bbe38656da87978cb18750fec2fe68b9f68a3b47d6574f3ae4cbe0dc288b04ca0322d2d1aea2436ee053e3b6b8fd47fc820846c8f02d67f41778410c1474b7b099bc21e4350128f91d4ac161a3ca689cc1a54e58d26583ec638e1a9837e6ca726da098d81c79c3a83ab3952d958760b14d92ed68ff874960d6d2510b16573638364281c7985af9629172e091167bf563602ca85ae3e6f94dc6cb201558c2761265f21dd055b7a9998a9396daa9a1746b6438b7890910dad9a0bce808103aaff75e51c05c2b99818c5047b129354cdc86fada574ac33ba77e9a85254d9b7d28653f5ed41e492c7d2478ba594e26448b840f2496d64b7027e97a6ac5c5119c2f16e86bffad8aacb908ef2617ac56cf09cbec5dab3786a9ebbaf3106cfd946e44898c3a0ea1fe2a9ed7cd3909e2a30f04b12d8e00785c310fbe71a49e28240ad7f74bf496e32f69b5240e4a78335873e334db07e0b1563c661f42d46f2f64e700fc69c64e5f969f608879bb15dac81eb02c040523303322bee5157c1d99b79ca82d4f4ad2a515f6dbeb5a2e967afb6c39faea7450cdcf208f6728240a6efc1a9dbd1884d91df0ec1aee275ed842efb71c22a708e637211317dd3ae513ab47625e4936978a8b4a4185b88e6d3686aab10d1ca36ee706c8958812103c6ad7dab4cbd1fd9dac6989f6e4578aada861146850162712bd62c0a757e802c6b655ded271c2992785e5cfe15636d27a5658505537c98ec51df4e24e2b4d59b5f8185051f3f6a47efb6e8c021cf4379e285f63b1018bb1153cf2bdb0dcecccff99bb2d79597fb29b064a0f09a5fb92f8dfd4757a6dd858b010f5369c75724149a7ab3b01c9bcbbf4611c7cd9b49264372e2de643a532fe2a11755c537466e724a527c5ab1ab1d1a26ebf8f861b1b36026bca7d7031e298fc9a0f56c613f5ec2d00bc5601e1f1d800712e9f28df84491ef33b9b186456cee77974ae6874e6af0e112912f0fdea4ed1a3e33ff628fadb3f499df45be4cf370c7f32a571a9fb6a397546269e0431ebb43ab9ac274f03de84e42b30645da96a3aaa219649dd77b47e1f91331d23e3a15ca2eea1ef1c9b63db5390165ee7f7e639173ecaf9b58cc87b932b93b3dcc186e4ae21ca44d1b5983594ec9d3862bf2c6bab66e32b5f8f718170172fceb097e4079d00d1edb5d3945f35411edcd474e26ee902dab54616934740c0f3874865ced9dd4ca33e1519e7cd2fc8975ab5ec8b795312c871d5ceb7da60ce8be225027124befbbd0f6f502dafded94882c62bc9f67936fbd9076322c490c4ae614a3e602cbf96207a3b906e8878dfeab318c81fd2693cc228b557b1df2061b63d0b645aeb813830f4e7a11010720d7009e66d01646fb0530cab3b9227a4bc09b944cce09ca5376784a1d74de3199994ae3933745041f5e69aa14e5df30ac2b10196e80693907ee79912c1c5883d6786cf9c1b76308c5151068c1a944fc85b38eeb0d14ec7dc9d6b1e8ab6998f4a7226ac8a4c7ae302b091c468c88836b9c441147e3659595ea1ec7313b1f04eb17cdfc1899d6f40ad76338413825f7c66cb8a53bb5505a29584150b88ac4940944c97fd9e25d144f3bef510d21dc3f08e7b1bb0aa3778c223214639b7662886daf0c916b5708f899d9ebe491ec8fe906b74fcd828b7a0d7b929861da89b4b1edc1dd3f38369d3b7f12238f14484fa03be30e0888d2eb0801e9f2d4b0b777690ef1abbad885ef2976bf5be87d36831086fb196cee764d9b3d4840b531faa6d27fe59e655a5b65b4a8d9168ae0e3ee53e9533b55ef89a44568f1e324f1d164a7544f4d8b2cb86a2e8c1878efce87cce5e0f5e1ec9db0b6142a76629045e63eb23d8d1319547ec0a5f4cadccd921819e7360b91c7bd889c89df6649c122e4ede77dcd8e509b2f2bc3d53a4ba3096b7604ce6f68c6aa5410ea118d6705239fb247cec3e0a25ca17bf6e46992218cd177ce6f64c8984551790b27e6295ac4112d2f69c796e0327a8c3da802b4d2fe5c3dd3c09d2636a70ba88be44ab46179cb2945cdf7f05576bb150acdc7fe3bd08915083db283eb6517da609535eaf32256490eda269cbeb45769f03a96d6646209a5ae2e367c1ffb304460abc59afce6fa370ccfc3c959cd65f003328b3fe25fcb8ceb79c0e717389714bb9d3a86c30b27a2a522e85e82ba30bf24907fa0af5dfa2247d1d7e977ffe8ddc8538f0acd34e11f3ccabd8b951242bdeea56f0ed9ca49476a6ab87866edb12ef862dfc786cad065e0a592fdd0dae4fd5c54df1df8855fc4162087a044a08dc4bfd10b91a1c0c233afd8545107dd5f01426969a4990680bca887a930400126c05b64daa3160ccea090efa33090295fb0340fe1b391ae42bbbb97b61a9deaa6b588a8747f0434a0b400ad6b82ffe47e78764899f9b42db66af4c8ac5c616472ebcc48c982701599bac8308296adcea6926a9d9abf3454a1115d2e52a2245fbb49b04cc12401eec69a19a13ffbd4ed0c2851bd9d2858095a20657c3885c07309d643191c03e57b698fc8140ca736677e441e5006ab2f8eedd3291a8dea2ca09bebd1bf30d3bb480f4b5b733754a666873d17e20fce26388b3b67df72e9e2e2cccdbe9ffe9201a2f96746881c6548fd797601306645d8f8db903addc6cb61a9793962bd1905db8fb5bf91ed315cb63774ce8e766b75ece52d67a17fad22c92205f1e7ff53ca4f8a3e406c003bb9752659a0f1c52ab4cd22df450439da84797c95b1739ac3c7bf9f96e6cfc73af543dc4a03a60617d89853cc94ae0cac9992592724c38ad3fdbaaaf8661c77078a544203e2a9b7a225dbae902ea7234fbcb0677628191910976d9d07aa6c29d24bdd8a71139092ed8b95533206b6aa8ea036cda006c3ad185c23c32b5bb38f6e011cb75831d250ff79a768afa86d8a41002658c9e8d0b7c556b6de546c4cd7aa27680f5d3c7040044b6da95e8ddd9ea5393a6d3677b2bc3c4a6db6ba1cf03e0942a7d1b0424dba4109bcc48647568341dd0090775eb38024408f5e08733e525db1941221b4fd03a23bd32ab7532608c9f0c9113bb1064d148db85f4006aa1d9679ed797abd63d87f2276bd7e6418896b02c1b2c6acde1d0945209c387ec6868d2e2c26fcb1064a06ae31e8e766e6ea70b4455cfa138fed2365c26431f7ddc8291fee92fc92558d21b9c074e2dd68b3689c36c6b1d546c1676c2abaa59af99210ce0dd67436cf642c4f2d50d2f0fb2e22c8af37352751afca89166a41313c8e00fc91b3c815fffbf999f30b13992b913110d0f6d62a535d722af584d2c8e03f23a06a2b10745a14741c68afc661623a677cd8aa418b42a412652a1301498bb3d3fd31291a6d259fa513c848c725aed7563592d1f0881616b0f81073073dfcde83f2972fe67a238563235e2678fc1fd45fa6d3764d6d8c2533c820de1e5a999415e1fc136d13d85da45e4b34a74db0703d8aee801cb57e2c13fc6741bec2e21f3f10892ce1f2864f3d3df3dcaafddaad990659338d18fa188622073c663c154019a5af1f9df41342cd948398a22c3d1f07978863d942662c433eac5a286bb692d266cefb89b371adfbb2d3cb379658f20378fad81903dc7e6fa4dd69577ed49082b98198670cb33e0e25a4f49d50fcbfdc0f4826d3d33359e6970eeb2309c7695051cdff6039c98bcc0246f2fda46a86a02f422be74151f1c0d620119cdc6b6fc76b172a9c5ab28502d4e9e49577b4e75ec20a8a52d1a3d1727646b2feaefc22d7a8fdd4f1502eecb8f8e044e1d83f8d395b1554fc43b054e82c90e59bdfcebd0f4227a4ed41e71a079f48510cdcdd00841c1f898b6533e6e3a608ed909f901668057a1d227a74c29f6dc10d732e1eb9579216adb609216dd5e6240e5d6f0fb34953c837085fa71afbdb97eb1f8ad48d7a0942909b554331300624e24793189e581b3afbcd9a72bf3d26c40bbbb32adba973ec1c09e80b018743b428cf719d8849d2e1d1f4541b4da673624f088668678dde503f8302b48c66ca01d99b3ae024b665b208e7aeb4f4da1d49e10c422df4f41956ca7e19aef80d3fcaf31e2702cc29d62453acce7095694528a65b325f7f3c9e443c6acaa0063faa570d9b94c75e940ddc9b562bc956f48baf95b6fd4a449e36d4766dad63d3d34a48391cb62a5d28700890a6928d1e7eaaaf4e22486890249b67e07cf37766e9db6818691c0b2bd399397f303b5d7cea1594530baf092fdb9c78786b0925165d3e2591c8941a0bb87e69dda4e582ffa86d6af59b165b82bb30239569464b86658edd8ac2153c1214f6ff7eebc94f26da4d6089742a187a9014d762deb82cb91ffc97c16b4c1d00a05595c935cb26f9bbd3b760c69c458c77a7c0030984dd0ad8c067f18317ba5b44913e1e0a0e64c2fc78b43232018133e34b2adb0a510b9c22a56c4056504f6b476954858dfbce49f98ee8f66953ffd12e40cffb6f7479382235f1c9ac2953f4da9619f45d2b08c64eadcc7b88281a8cca0176941db92c9edf1116879cfe76e6ca760ae18ff77ba70059b33407dbe4c74ae036f20b9ca5155b0e92f8e9e2ade88dd3804c0f1e6a4aa4c350fb1ed9755e93383fb52544b44c4293dbdcd7380257806f63949bf4bb18a40882ac9d98a1eba53ac1a147f2f6baf99a7198b664e67b6970ced719f49fce37ec63370a1d69d1f63d0d51085921e41ad48cbf990ebfef5fcb2746a038ccf3f50a429fa76d0a62f6000e665423e25da5c34b200c7eb734dcb1ef0f7f2bbf95dbae1b5ba08bf5e6adca93a6053b98252c9af0778b8b1e06c0d05fd9fe382227764440d9b994f91c3ef026d9974a7c035a527afffeac2224ec2c2357680e9b857c08d58799015e4dba87e340fd5ec6c4be434dbacfdd84387e5c47f36090bf55f5c293fa182a8c990550a2f90e0be3631f5f41066f7e2ae089284b09e2569d7592f6db7c78728d0d101b5d4c408047ff2aaa171ff3e409612ebcdecd077d81bf2e8a351745e56f530c9686d8d64106ed757fa3472b15938bc1b505c8748c3c50d5a40c5529761a02eb8757d0dd05a3d67dc316be4bb70a5e0231426155adbbfc78bc02ccadf57c51efa8b38317f5b630da27a436d174595540b250e073a8c9ea2d213a9f27e24b608c5277db8bbc00969d86afe9e682a8cf80d8a7d90d8e915596e160ad4bc4ec0d9ba3c70d6f6d90e83b5737299fad32fa9028cb71bbdcade6bd04dbc3d1c51e44ab8c4279cbaaabb900daf37bce10b902bd3414360defd66221a23078dcb2c0884467d1f9c6ce15425e22844dd0d279ac66f445d20f87e98f5fdfafd0b626efb381e072727eac9d8cc720ce167a05986961a428efb82381e50c51b4146427ec1df5479ab218c779cfb025ab9f222757daa9a40e82142585aaf154a9a8c2d2e3a17318bbb701ce3fdf713f43aa238254eabd880dbdae752018a8fc0bcc9b0a4c7529ad5c4d3bb44ce7f718ca39b942e695606b2a2f48a63aafbf7ff761cf6d643feab1bc40e25bf03eb4b0597c07fa0bd05c0d5564054669af98177c08298a3a8b9aae432fbb856917375686026e8aa4bea3ae2410f96e2ee3f1c5ff0f66caf5844812862358daecf253567ef9d0d2fe8a57d325f096f219392717f7b8ec5a7efdf3a52f376ab7944122266f5fe51e9d4aa59e5e2b5afcc515319650e9efc1d258386912ebcb8f8d7f597541e05251e309c208a83586251c989f633d0c9a77ed4d4847ed69ac3aa0cf4303f538cfb3ab94f5cbc2a03b48c0b07f6a392f4836a4cbb0b68dad7de9043bff4c1515a1e2b8118c0a61e4ae155178e914c5f2302135a425ed8e2a0193dc13f4e336451552932e75665e88a0871283effeacf6dc0e92a005c14d85f202e315b3513f18b3ac6fce51308861fe8efea473e95dd1461dbb3bdc8b966ea43f22afbc1341b2d67a8b718236fbda047cf3e8a76c85a0f4e6a91a5aa97eec8af705ed50d7dde2b169bb4540a10d3e9e7f8d25706399c8e265fbb42e71f77fd09c0b97c353edcb8e5fe8986ccad4193aeea5b4bf63255fd2a4b89dc8f9d1e6a2f47dd0fda16472d27d530f2bb8f676fb7b29781b772d1ac23cc788eabaa237a9e533ac2e7f0a24e671689e09ddb3129ced005273776c0ce38051a0aa6b8571a467d0f8129eb9cbd10d02bd8b7fc8b95cfdf94ab21f68fd6b339ecb21fe5fdaa028794bf217848f2cd97c63c885bfd55f4d5568f5d684c58c53614f232f3885d8e5aba7d94d48c235a0ab99edeffdf6fee238b6c00a2d733bda94898b106bcf2d4ee30ef8b134abf563a9ca144fecbfb879c3b5b55cafa273ea77260dcfd8c74b8054aaff70d831f2537e6837b3e1764309210ba8719185453b427fefee76cd0841dbc2eafdbf3002429af1e4b3df547977a154877236a3414aea5b2f34fca57f3d2f42b5b7fdc64ebafd2725922301ff0240efb8bd867b24b8740bba9c76644111fbd5a263732aecc04f3c725555d1b864a7af21a7150476741a8bfb57f5730854877e2bace241983ebe47258a99bc35b71e118d0df1021f11bb2b60f75065ef2c72b29dec432294f4aa21b8d511ebc285dddcf32a6f02b552d076e07ea7e5b5b98ae3ae928ae41b70a6d4ab37ce4bd83f6581b1881f8d8ddf61ae98181e72615ae05af6444377998d3c515c796c59592e996f336cc6fa8be3b226717f450296d55f3c79c40f5570e384c02f820ce2e216b3dc0d913f440ced04117a343747a2ff1a2b655d18aa201f898fd0419ed1191584d2ab844aed99904f7ac904677259419c03915e4f4cce532cc988065c2313565a74d8143810c782003bcd12f76e9d16fb1650065dcaf4b48de07f7f2a0329cca899b4ebbc9011da6d9700d0124cbcea40733804b834b45e7cf378a861e4012c55d0b5e8194c78c316a2bc75227ca1c7bcbfbeadd7cac16d588a8d6062ecf1cb1f57d66e40c9b002cf3b209dc09b2ee78ea81dfb064d8a934e72361a77b4615d2c14f28021304e051bdfc458548481b8c874fbacfc47098d91ae4de65c9a2e8e586846501f16d5630b7b24611015ac7e610dc9eba35c6320bc9348ab40869022565787ef54319bbb648de848d80037e5ac10ee3db0666143bec7e7f007d863b806c85d73e1751b73fbe7a145290791e99eebe9e9b239af49d1b082cc37d975cf9f6a4238ce0f0069e923dd8028a1f65d577efb4b35a4c6ce5bf3b61e1afcdd16026aa5f88d0f28fd8422aa3f81ef3d4852adfc9b45111e426fb1813d5fe99c3454761453e79b84cfdd2279392dce1105b6a4109fd9ce2aa1491b73aeceac1f7e882891c54bd8ec675bbb91d8eacc9f6134f10d65de506ee0f3d593fbb564dcdd2444fa6652bb742f2369079af30439eba273a524436d928e98f0b0870cdba2368d2221d0c117f918268de0813ca7ed7047c098a90366c1fc5e2e1e1f778a2fd43e86426421123e464e96680d6f9dd6a522617d44416aada34d6f0c6abdb54ab0c4ace3abf56a1e046640636a40c8ec43c4aa6ed3cb23f7e9a5ad2877630a7e2621bcc03136122bf4615ce838dcdffbd50ec9f497c686a812548c07756de5b55cf6b17d74c632849cef3be42cb5cfdb211f71718642e2983cf38642ed5d994160a5a19e9aa798db2fa290313a16e46a27df723c26d92552918a53e24b60066f516a09d29d6e6cf7dc1ca0d79c04499254d5a99b3df645d475818181adbabebc3184fc991d56017598ea29ac4c80b13fd619301ac6f52ce9cc4f1b59a3be952f527a4a1fac2d1fbbc7c0d436904a77750360ae9b26e6d9e313dba3a214c2426c6c7ae618bf48de76bc7bc7c5ab9462605417af81a5577c884d005a1e6395835bcbe965ba310f79b2e8a5d962be307816ec3948a2194ebdc76d645190fd0ca9b70e75ef28435f813b0e1a4823dded7fb1337c25303536e137d07573c3a495f5f6de15f979e8d0335f3a88745a875062525e127c6795b7f51eea39257c01b254945dc5c54544fa7103b81581d5a0b8efa1af8a2db0c50bcd3cdc95b9462c7466e752f1d3fa9ff0e4d2c7b23655d923ccbc2a193b1e74f1ff917f75cc7cca5a7a721084e804c9e20498c114349f2c0f38fb0716aabaf9bdfc7fcc37f18c0152f8843d99bca05e4df4b63e8b2e052d235a2a8d8b68d34a8025e7bde95169042136f5231eee250e7acff90235ca2de6914d5780e084d85f065361ae9225f6fbf6a00b221f7c91089edcf11ab120ee3283cc4301489109201c41000884ce225ff699d59c133f562e444c7fb8231c706b77b7a3ce9683dc913ca6ab472f4dbd1f16639e67b633d2c44b8b9418220ce87cc94a072a4648e57a22d5cda7f2452df73433d747ae0c01369ad2262729258887b4282191b81df66d220428ee2b7415b0a5b2b1a99a039bd34e8fb8a9e028fe5b234b0bc23d837072a4a61702f3e90852dc0a7dc6432d9b333d04cd3a61172ef21431f074da20d38720968b8ea28e84cae05ae430fc363c0a53b11678b4c6a394befe0cb69bddb954d56b179d2884049509e1c3ef357b7c2ac733810d56929f0d6e1df7af0443768e67c49d05a4ea6276ada3eab15c6b1a4c46f34e05c7a21fd8c6f5ef6cf6398a82e6c102f54a61d02a9cda90691eda812d0ee8561d2ba9807d7e6ab2e058d316f9ee0187e62eeb47df576f07d7218ec212347c10183b840ac71f6753892ab1656266a047cf180862c2d2db98d0ba88e2ef0e339f4670d71172082165e565bfac5ef39bfde91a1e7bafe1489bf49228abb67f65fd6d6aa4851d352c9b67052719b1cbb6abe97443d2f19f2bf50eeead7b4ed6e97a1d61149054dffdbcd914bfad29c321c02d770652a23b5465e979237315f1542fd18c107dad50e1327a858d10da231f1e28e8f1182c4da30977f44c75833b22c2d057a81810a63d1b3f6a9881717d8d9706a534a8c7d63ac9cdc473f19aed9fe5fb92594baae8b37c98be57c1dee87b373e7867b09872135ee2069fb57b44d1e5b1e6bf6b1c9ad87dfb57ae1ace1287b1a8612f6d96477e183e6c65e5a539252bcd694daac45d096043a8eee75ed6ad4422fb85a6f8baf785ab5c23d5b6152ba2140dfa7561b00b0355ee6f4689ac183f9055bcc7a0bd445dd2342392350eb4a5ded0a669bf761df16b488f7cd49edd3b19237de57427bb67d6c7fc3d45116e319df713a25b355f22b545e5809d68ecbd24d191992611e9d22483373c6cfd3eec5df88f2893f42417f0c569b17b1b09c970b5d4fdf5a4ff5b6a7c32711697a07d6fa93fe751c3fc231e3e049cb53a8bdba8e682f6b8c43ddf691467a30c0119340e83be887de14117876d61bf8b154d7ca132d7aa68bdcceb04749ecf8bdff68682976c173e488dd00232d88c04ef9b8c613753929c665186f193366819c9fbb864b00b7896e715dc830d78c6b4dac8308aede749b0ed8be4cf5853ce31eb1aaac422ced6013c104357fa52d08f29e7619851fd69ce314a1b3f018a377c55619bd638a726177c7d486adc2c9175ffa990ddbbfc51b9ac3ea7c8adf47104ed663455ddccd5332843f2c1ba243a931e5275168f237f67deafeea802109f9a9b9c7a1c43ca5534a5e21630329a9e140fbe1c6d948e64e2fabb67a7d84b2dde037f844c62c68df511cab55805964d10c652c09eda2df5d42f5ac62d8b08b89bf389bd629d14f79199cc6fa61f5cfd3e9246304553d8501e7fe860bd9fa0ec60d7e650f891d861b20006b52da9190993b569f68da60f8661699cada3581224dfb61795eb553af4796dfca211b7f42d57fc375499952af4735733f69f524a2240708b4b08413d6bda1105739efac866bb89fe358c062640c05974a2de0277e33140f281e394574072dcef96e43ca1370e5602f973470b884450a069b4c1f3e5cd0a12464f83fd25130fdab226b6a31038537c603d4154034e6aff5e8acf123b6e3b07f5a30570794b67dc68646e0403b42cbbe3d1e9356e8c829bd84a2015657e0c4aa45fe7b6f17750e5c3b17b06b8c9adaad8c2f6be657c63371241168f373def7fe67a728385c205fcefec736d5a004aa0cd02e0464a39cbee3177f1b7a1dc353999d1413299eb0c06f4129909bbfbd7245f523abfed413faa147278154bb0bd97a77451a746985b21a20c58af6b6e02e9fa1cf2f5cdcb8d0279f5ee2e0810cf201386bb47e7d46e7624b300ef746fb2f74be424280c91bd85a7f3a6cda55ee359d130b67ff22cf65d570187b5e5ccafb514677e6b76d79d70ed95dd3ba77abeee3107723975ba8cab17f39b1943197ea16c102bfd883a464ff47a6f3fb8a15deb808a61e492e0078fd3b436c81e74da8e8d3ea25a0c630b57987356d6194b73fd96c8272cab2fa6583a8cb97c38e201a9828f6a781cc6cde4022fc476803e17395c673aa4df5cd5450cbe9551b34593e1c32a1a5713b602164c20289fc86dad62dbbdb0970989acc1b4e7f22134670b37de0a52049ab6e3cabe07b7f406cab225a7e20a01d2fe0daee8617f8703e7c15b9bb29a34126f577ab81706e890b773f2c16341672e59ce08092f609181a4d57634a3b13b60cd357f7db3163de77dad71063453c0bcdd98528d6e2eae885de22d4556a3e511b3c824a8d99f2fcf1948f3b2a1212bdac1b3714b7a6b1eb579a0b2e42560c42473b6270888da83212c04882cf94592ad834ed74b6eda431bf50749f838a46c65781fe1ff698e113f9e5274ad8f9c5b1579fad1f724aad1cc2d39eeab1598c7193b614a660af0b2a67c2ec9ecadacfdf0b97e2e6b05683ad316b72801b9a61c0b8bca1d1c6d0a9068e37a365b604991ff68f45c2f4b9360844c2011f13f58214e7a7794d4823777d43d5edb5d73f9d2213a4d631db24df54a2cdbd9d9728647904c9293264c57f9ea384b2d8eb00b27f669fb5890cbbfe574977d3b611113318568414ad1e4bd844c3ece80a12b2e2bd6e5eb6e2e88c9905e10e9d11b14e2e233c883a9e2fc51b6a493af1669259620fbe62700545505d04516e841ad3d533d1a147a746cb7a996ce8167ec178114c8a425af1d2bfe1b25a95bac706245999a83d1ef2097400ca90034d13983297009a44f7a7cceac07a51eca7d6bfc294f172c2d164a2ac1d9180c030d24fca6e3da8ab51c0ccd77b7305f8a1ee332220925364c1bd9118fc77b45bb8d5c835fb0cf0be0df3778f4bf52e5176d48aa0da0bdd6bfd5114cc99bc263ccaa910adcfc2ac4c9a4301df7d90c63e4879bf05ba7b21c67b61419889407816f09eed0c32ee4dca371c037534361160054bc5bf4a54faeb1dba7a79efa904fc27674d4d98628bc7889011d410084f6676a8d555c55a5bd87bbab9e880263bbdf87359d16b7d018145ebad41d65b6ab4a09de643ecff517c6b0705f4f64f4669f50efdf3d1199dc2aea94ad519df49c6087b794c82394225f5826ba0fb5ef1f92536590e414001d54a02907d1d60cba5f41fcac6a5a952b9eee0ead99e66bc9bfd1614ae68506dd386d3358ff23220e7c97dead6ad1270a4dc236d02a0c398719b5974b5599d81aa9043ce9b32e003491b4b9677073443370539c9ba3e12b69b5d8cd8e738ede4b8c8def545c9591e81cba3aeed00e30b502e927e1c62687660bd5c915e5e7e7b694e7eb408091d98c8d8055dcd58510f5bb944e5be31fa383e6f07fc26c1cf25907a306675175e5ba335484eac7e1d9ba81a77010317a5bd0f15512bb5d8cd86885e93e01a848560ee8e55a7295c37e38d99cd1066b38fe88c504208bb74aeb87c09176d80aa7cb8ebe37bc659b27f11a2feec6bd9f23997d075c117872b5d0170239e4c85cf6f3c38734ff415305e618763a49e08a29d65e9f018f5fba2184ff11d3d5b0ff2a3f40d868a248b2299e6480b9b8f250cdaa3f013ef9504ef3be064315edbb71fd96d074b6d316b2ec827404f11affd69d38514909b05454143eb25169c26c4574f1c8dc99ddd7dd6b41e26ca0991a14fb2d0c638ae79273f0418896f1bbb782d8ccbc4d8edd7f505f64d12c1e15c02c091da85b618041c63b4702fa2ac5c8f19e77af59103ac95cd3262659e00e9a965581510b3728155ba57c334974e0f766b635cef5e73f6271a9ab2e59731794511ade344512867d282ecf58cfa31fcd4de51e1342c7f2f02792cd54edd0e209a0bc50231d152cd8ad3166e2396a9c0de7d755dc49587447944ba073eb8d74d47441f97a8c5cb01fd6f41ca2751f0503d261771d0788c99fb1c4c72da8db9938523391b406c503161e1fd9cb109ed8fd70825d3a158bf947755b4229a48eeca83cc38c0650a0fe7848d15e7dcda089e8b3c5b7a2709a38cccfb18290757e9fdfc7eae3a2692dfba42ab2fca2ea8fc9c7ba35abe03ccb66873b8cc001cdc59f9a3f999f93a643844871de1a73f797770359da694698fa79d15ace772ebc713901b9dee25c16958e32b0c04cb13ffc3466898b3a6edb98e3508e7eabf8f16c5c03c37fe6d1abb4f9a79121f5f6cc46dcdc86143e5798507147264b5f4f831d5f2d77b32ef10c44f31bae287c2d49cdb9dff55421c78a1fc5a602901af1bc3b2e3617210faf91cfcb954223b8386095e4e18ccd80813f289f1959c92392e87a0c1c9bd74bf9e150d119ee690b012f8d11204f1ba28a44ffa4c60f8b3fbec44be9ab122203b68d8572ad5337d2486fb3c3950bcbc79fc094bbf8c35b90d208971e69f96c32137998756c0c87eec156ab73a1669363f9bc8d0723bd5467613b055aa3dea450f6ce9da0b0b5194ce668a1df1b9dc7993e15295792c0513e98aab11963471c0c4beb9503b411f251342f0d7e80322300754a18af6666a5ec3f663be35ec41673c9c45718b18bd59d78e7d61ee8b0d8dfcb60b181d3577562e4c8de8e0e58e2246cc34b5c1f248ce06d9a173dd38ca35abf3f9dc2401dcb710563e4898bd2b69a23e4d406b8aa056ba32d95890fc0d0f614be76df0a1017562680a067ecbc9571f650bceb724467d145fc070cd070c6d330929fb62afe8d0c17cac346db5affdeb1a348dc7e82c33bd51fa0c4e5f00d059c33d8f264c0de0c14cd2293ff590834d49f6847a750a0248df40493b10987ba2146eaba256a99e43771af901bd915536567f075670d8930f5307836e2ec473c2f9555870ae563d3bfc711435ca076b3a70713a8b1c65f6539bfc5371eabcb059a8ecdbe2bbad22f8bafe197e0cc6dfeafb14123eb0ae0f281328041038fc30a5bbaf8bab11c3d6e45d7446a8db160a2d484af8eb1334a63d668a045afda51d505f04603b45cd8009ceb3a8b7f149347cbef8e34b79e021d514b5ec1636732343d5bae35c6b7fbe4e9d5c66ac43a52b0fa5e96e9ab1545d57317baaa29ae53ff604920a9fa5054e2420527f1971697c701e859d1f0adb676db860b075e1e2b221cfe6bdd22132c2a07024306e139a467731e09f07e9f9994bb6cff8e78c30a0d0f63b04b92d793db37285ea24929fd3ff19fa70c6d7e56445fc8ce51c23f83c9c9b43dbf9861f8c0f243553093f2cd0db2f19b1b718b932d23a1e4f56c20e84c5b4c9402f2e8573fe50ed108e3aac6fa43c409238d85652aaffe844be989ef0087c9822aedd4371562e629843cb56532cfa730e2d077c12f9dc65907414b3f0f998fa9a512a2f7328c59e223ef23abc709c318bab3088dcc208cd947e7acdf4e0920d57947ccb303c30168c27fded96db9e0660b9f5ec2f0574a917db422c0132cbe95734dd625ee00be15615865237da11e60caa68b430305759083e1a00b3b832dd3b357333826ae61a6088f26a1f9e91b085aa59da80d5f304c5555c8fc0c40b9b560882a9fca15373027985fb26c79290eff522ee3a2a417187fc42ce046fd407623713ec7016cdca028ace8f3911bfb80c667b3e7c65824f25740601e57eeb12bd7a0d481d88fe654f3ec0a1870c53e213f3fb47dca6fd9ed61ca73d871a070d6ceb11b5f4a3f6d8f65d4bbb4bd957e0b76a1c21308ceb054c3342f2ec86053a606a2c779fc3c217472fe35d1d6d977954243882809398d477b617e921dab4ab98028b360247eb9b7b1ae3f5fb28d014679315bb0517c414ebde9b108693037fbffd01f8d2d3abff7fafab1604f6429719596446dfe57e76a021bbc2823bc1a5c627f7e67f1385da88adee110a49dbaa1dec5f51cdb7def10f7e699f485412e8c2519f984af3c9c78442f3f5cefcf2de62720872cba8003343ed9f34b807e9b7dfaa46ade481185aabc42a41a6b21381786dc7dbb85558cf063fe7d9fc716b0324b5b15b412985462600d4fef9f83a7a8f215235f82e6179b3d3a836e7eb976cd30cc03d2b4fe462df0c38f0e47ecec9e843f14fc5f2429877123e2b79e70136a63c3ed391ce886edee6634b5bf62a9f88d525beeb3bf943536c2f90401441c21a1ad9a16d180ef963726d0780e932d5b9ae6517f8a34eeb0629a97a90439f9260716939649f0bc53d9a989ed7dd93d4278e2fab4282fbe2fbb21041c98e98e917458fc14a8205416c4a211052b80d0bbc5ca43a622575145bc141142f98405b6d77edabe22a4f4920f06d1c578ad5d7a3156fdc37019c2c7438b54521257171cf53a12d059ad5bd194c458346634313f390bbd1bd0d21350d436dce034cb233a10d3ca60996a28895da46c825433d80607355782556821faaaa65b34e2e4182514b1960c22f47c8c2b0e887c7af5e1a8dc387435e6c412f5b566b54381a7a19b0d2687fed992e1ead732db0c742d9e1b26aed3df58e43b0b4d2475833333ff01b79be21eaa261d25fbab75f51bcfa60965d19acf259cdc98d032648fddd1286cceb72847cc29142704e2f3a696a3052bac572fb2cda93bae251a618a16397f1d9780404777a75c7827e47da07e71426a8d27379b58c5235c9a7b38bc12efab622fc11535f603d5fb6aabc697dca6d4673486d8f3e16a9633f168c0b46c0b41175d7e4b167fdb9ac78643d9667bae58f726c44e693de3c1715cb473634700449121152a65f77de050623fb1e9ed0f13c259a0eaec8d51b30aa64699745fc7ebec722a53a34624253c0fde97926a77de85fee3a7a808b0413414e0c70daa75499150f6fb660deda6e808b401e7bb53146fdb573f2145d10c8f346972997aee0e95f4106a838664101db5e6edf4cf010ac52e7ef2c3d912898ce148652ce8c8b5d9aee7e0208bbd5b3dbfcf9b01ff2b52395b57bf24f00dfae9bff669776b04c781e447cb1987191901d103c8f50b19dc73d29eccd909af38e2c0d8e277941fa566a23f76ac506115c2fb3c79cb53dfc0218cc3475f472346877cede030d111b88dc41f2e843096ba0a5029e2ab14ce4676b9d9b02e46965b806e9a6badf90ff1cce3704e26f0806a1b4bf367a8a34bb861e652b295657541f8a9f074d088765c5ffd37fd2ee2d8d53fea937e293618503a5634b9296ae60febd458e58dc5517c813ee68839fe8b5772b7448e07a0868bc177774db7b8cd6cb5d8fb64acf617bcc0ba067fe084f923bd4d3b61de8cadc3bbab020d281a82a064e2d8b851c9941db7d4bd03ee5667b0127041568ea931a8287a27fee8647dfc9607833c4ccf59a2fe894b88df4b92252e4b7e74d064026b16fded9b7b84859cbb51c4e68d9c16b0337b57a90efc9624c7e4e1be2af22a3b76617df7918af721e4a2bfd37ee850c67ebef248538655661adfaf316278928a3b9f5d625ec7bd80403c2fd7dc230d7b625cd9a70362bfcafcbf095811b7eb56d1c34f2b8d15ab006e670920f267fafe3bcbd8c4a62bbab8dc0a02c70efd545255d9f3fd85fd495ff943385dad74fd6a4e8337bddbde9e88c3f9877eeaec199585d2e0d12aae37883d3cd862ffe72f6e268b6a4286872cfeb78acb7f3806b6bbff880ff3b89a9660d3f7585cd4f02d2fa12c2177a4240b4464e2d9e900cce32cd6155134762d325eb5965ab0619322254ce8d83ec1f7cebe3ac56b9d828ff767551dec4e3251e7c357d412ba08817c3298c921fdc6b43156be393d6b07364f8f3a766a1a2e1f45542b114a59d2cc4156465cfe1b5fe85d41ed7061128b660a5728e3d35ad40a938c3695c5b784335c6a149b77e4bc90dcb5ba0251f61cbafdf528af2ad2c4891ac2813bedd6338dfa450f108a82ee31d341db224249ffbfb41e88d7c13539c5c8caa84feb47d7b5549fc11216348281a97de7c03fde9398335bef137e3d652e5556fd52a526eec2a49a268bfc45ba6537ba0740487204d5ea3f6a9c9f8ab76ef4ec3519f934eb74abbffb1806d25208ba2907e006537755b2df3b8fe60384a8bdd3ddec665c39151e5fdc4a624936247ef0c985c18f2692f2f782c1df553853adbcd1efbae50439fa78b755450c9772a181ec9e7a447ef6edc8cf0ade9ae70441cf9e5671ea98d13eb479c611fc9d0f3732ed3c6fd8002fb30ce08a4c2deff5657cd52f0350a5cc64d32cca24f872992f625f38018e08ce71e00d89d485e38dac01150a7a7d7474141bf21462c55047cd6f46973f2bc0ebc3c7893e346d562dea88fb535ffe57db50f626ca7401a3b6c492289659b247bdbfcae7f7d3b4b0906553a4d5bc2988915f1334911c0a511b77cd4ad328f08a908478d77730653d6a07a7da42a1e4fd49a8a644778edb547af85ceeb5d6bcdc47783a58325dabbcc293fe11195601fc77170ec2c2d97a936b558110be5a333d1147363e374b766c9c0c4466866acb899bca79b426a0861ea304c884e0b6d2c4a571b3e94fb739e11c2dd8d8160f2e8847978a80e70bbe0082e67e6028aacf7b84c67c413bc04ffc16abc16ce2f5561aec73f1606f33dda1d800df315b5ca4e65e33ebe0bd99b7c9dbdc00d979200367a3b4b9faef05fe1f701fd363cd409e24e40c20ebe1ba6722799416a157fc7bc437f963c7e4388e3d6eb80c62cda326e01a6b575a4f0455433be75593e3dfbf176cacf020e71abc85aee61c6f922bced6b5359718cbcdf3eb7322dd9f729842177647fb7e235fe1106423689ad49250db82fa1891867b5f370180139441bce8a789d2a473b17966d4c001e86772ff99bc95dada643389699530ed6dd28388b74826eb09dfecfc7b8be58d0f67e443adaa65996cff5222cf93af1201e4fc0215dc98ed38ae2ed4fcc326f67783c24689b9f0b6ba5c7c6e691005c40697b92ed3e30017f2b5b03a9afdb6b4be00a8e7bad6deb526360a316d2dc549c0e6c1f5b7fde3f8c7b3bd764dc6ee4748802d1e3ea387f8466d03ce29d36a482d32b2ead1586ad54d09bd6348cfd99f504e3bd8461a488406d83e2f1f05773052ee2858ff1159b1e68043f8cfc41878d37d52ba016210f851c0028d6f13e0b3e7e77554175f74fb5f6edbd39afd18c948afaab44dace4d6eba911a5f958bed8712288e546dbfb1858f7726097211755d47f5e8c272fcb793bdc648b7b2e6bad5a72944055ddb9fd92a32e7cb58a2111a31fced1ce29a921db8c25ba4853f957f95e73d007c2a8449d36e78cffefd289feec7c5c1bdd295da1db7af6a252f8a9770b8c538a836cbf8f06a744d18dc7617670fc7792197e00c0354f301886de4769c13cdc35aef030758ce270e11d26fe31dd6c2c89f9b806111881b4245e8abb580452ee99202bd3f6de5be7472bddf1a3a803accac952576207717875652cf20829d2a4b61201938a01b8aee61f9eb0573a95fece4c9afa36a1c13f4752680b167f2545c59c1639f04fc7ce0dd2911acb616a6f33830f0891c9ddc62980af3ba48979e8fada50994a82304b10b196eac511f59405a59f2645a627c521c119b087936adab23cc2d647fd2c6a1d92ddd8f0b12156f641637d6c3a9a21a2d51be919a44b9626568468b120dc6736c58fb6f3f04a970f7bebd255583dc15fe81adc033f92b9aadaa229d1412a925ec9686dd4abdc57754938789173d7352f0b11ba88c9499720844993803bedc7dbf1a770fd3abe7e2def261b73b5c7f07273c5dd1943504024a07a5e24e47f2fdf02ca232f65bdc55cce94c69d102f21abbd8b37078b83498c1ac9aea98ca0be514202fdfd9817d2d8acffc196d08c6c9ad261a029b18c6c81ee5d86f07632e5f690a209982c267d282e786644397aed28879e1dfa4c449f82a8f843ef3e971b9a7d8cf0042249c12918e4c54877e893a317b32e9e24dd613e8f191494fe1f19256e3578ba3a292d6373398326834f20fa085372050559a62eb8476c27a92cef94a6263e032f51be4ce1146d6ae6af483029ddc45d2cf114840c6a2271996fe1c6102b0c9b7d10a8bd37e5aece608b1dc0a3e053e4c3630e21112c1865524fb966ec7883a13ed438720b7d0ffef185d416939ce9855c972c0700d927393a0180a58e4fd443f0a7db6993cd91b639cd18f31115b3e06bc4d03f7d420ce75c86c3a4edd1a952032b81a1b21bf597e4cd22eaddb39487774a58787afa1e285467999e5a6d0b3e891dca86b32ac687cb8d0762bc0c518ca32d77c1cc8d535798a16cbc7d77367f02ab9d06f48d91dfecc6351b4b34e0847e971837bde487c5f14c6426667859a5c5f29836753d2d72e55d6b3641f615114434264f1bed836e69e9d87f599706038135b5b6de7c77b7347ecfb9d9895b77459db303f9b9d22b1606fbaff6ec9eee1c346caf781dc51c92d947cc3236a6e6504f6981d97d813c8c262771600bcd238ab68e6aead31066b0e460306425088e8921f502fdd687f212703bb449bb127c2775e208a42bb466d0111336a6f0386adaad4e27805d3a53177dc42241b8752f99c2280ec46b501bd89679bf445eb2843114cfcc7a75e32af175ad4a8ae91f54aa7d94e234bd91a188bee41b754109cd28b77bb620bec189c6f68b1747ea2cdd6d3e48d2a0e57bd98d3b7ccbc445ff2859694e3fc6cb573f9ed798afde0717c276c41912911920580bfc90a099d79d39e52dc5e883538b7392797ecc1f3ddd18a75800370a32d9b680ceba97ab89dfdf6e35ef7490ba0d222514a0956870a2c9245a3814d93737d90220c6ad3d584291b88e25fb6e3d3a5d89b8a87ed2294a37f78e75801b6edd626db59c1721d81e3cf3c2e5bff547ae8fdc5182843eb026a8c11010d322990ea426cc3c7fb1854f80729a8fc9f7d679b27939a086877fd85845b2c9cc068a8b6495609e8704d9def099bf47d2a9cb626c6bc17b3472cf892b586113b06e2bc4e7b7e6ef16d31719ae5cd03bdfc9c1cbf9e23ce63e665c59b3cbce83f0abdd5f28968a3cd6349080f9aaeb45ffc257c048ad00a33d2e8cc2b5342878bd0bc93f485ec364be1b3ca8f5bd284ad5d7935951b87434ef39ef24927c4d48d07c666e6cb2e36ef027ee8e6449fa0b204e2a41e1324bf99e6daaaa05eec65ebafb7fd69b76e82ad1bb60b7f35137928ee31454a13159f2aaddaf86a4407d2b3275b5ee6adfecda42a2867e13b14ed20799833ba12a3e5c0f3c1c7a800f7d65d7baa3768d564a028981e1cb8f62c7bfab7df9a0854b1ac44182d65807500390b379ac6603efc773fef3edcebeddf7860b17469bd6d37b987e34c15054a544bf09a53cd998dbb0cfe59041428596bbe4eca5247fd65657f56bfc078fd2ef2eb0ad880ac3d95b3f77c133ee1d2bb60ce25217bccb5c1221c748e9ac7a2eff5068a9fca73c542711ae0d46b53fd7357f3b2c0503f5530e712ff099dfbd93022bf37479ca65e1c79ed6e7735afd4719bc2265375a48a1ddb282a42f18812b2cfc109e9e2f1bf2ce1df1b7eedf399659010d1204a3f780fba129a29814d26f6d780ec860e847360efe925239b381b150bb4a1d960b96db90c7f634d21e4b44efb4843e744d80e182a346b6d786dd21dab8647dbeae3af01e16f75292db62c3577522e22910920621f2f53edab3aa540641faea2dc4ff441282690d2af6d64df5afdad8d17ba6ee5eecd8136bdbfc5095643969c2e29f7e7c699b8f93d7f09bf9ef285e3fd8140c37a8a253da8d2c3dc8288ba00a586d4c70b56c5bfa2fde6b4e52724ee87feceb4c0dacdea9f14e4a557041e463e4a77b251676355b6aa169a5f40c6c6002219d860b8255a9c6d16461349942382cf240b3068f85c9e5bc914149811d5c157d6d1a89f84f2fc97133392ab910d9b3a5811231764b7014c02b803b6ac07d051a9750ac0d2774847dda26a0bc2782f2441b806929c2880b10925bd442d714b286148030695d514f788e0d9fb2c75e47d8cacddc1be2f1b14e11a5e27905c1447ba6fcad8e892ace301e66ca4aac4f672746ff14f518f568f0f45b91786af607cbb394c4b9f5653ed7265875493eca0871c99f0acf80b5d5ed96763650e561df202bc5e817ad9b5dd325f52a32a37a036a9ab1ac7512bd0088af36a4c40d42a600d12dad4b211158584d190bb4594ef5cfe4ea7116f0c9762900a0c7812e941d3605fd337befc79d33886716d892db024edfd970e6cfdcaca57dd0450173fd8820c3f11b355be8dc9c84f83ed824caa758af81a588daedd717409d2dc6f7cd4cc060beb8ae8a3907e607c62f5aeef9a420f8792224691983a9b629e70af620fe51e1234eaf82803b1df37e929db66f531d0e2f828e941c5cd2efb671481a30ab90bcd041b718906cec7ee264c9304eaf80a40fe59d7ceea671705df87c72997bf8b6519d94cd3ab29533abcbc8199fb8a4d2e02672dfa6e104b22fe97d13e5b8ec5deb715215e7f2a9e4379425029c675abee7e003c0dcdfa0409ecb03d0cffbcfb92356f3d62399bd0fde0cc2d261df046a759f18bb5612c61b81a4fa7cbd009ae780bbb79e453494e09c95f6f13a1d7c6568dde75a41389625566db8e16654b6a12720d776128e1c75ded2c013ead81c7040b71e94b033c1d110996ba4063c38af9927a015529af8d506851332b6a6bc30d3c2aead76d52c69b73ce0000a1383d8b6ad7d3347f75f703b0f9a6b2be88ba8778c4f76575e8f68a576f35cfdd36373ab5e7fa22593ec5f255b117010c87a2666fba176b10fa18e5b16f2dc39f1c52d8181c2e7dc3cc1ecbc6fa4ff77ac845c7680d0f22432865c2237f4b0ba905a242e328a536bd9350c8bf9cd27babdd294e05726490e015a09d3f68f41063b0e981f62b773ed4f542c9aaaade94c2b213a22eb8290d0a65e3a36468b03e4f3f7628d269219f8d64367f27851fb99f78a717ff77bc57a4130277953c6c7a2f6863ab492a91f29045a254e0d922b0decb75aabd950b7253676d60284f1eadb3ccdb94ce151230b4df66e4b68f2c9bfc36f7c4ad89de86586285e9b84582b410c4bd4f4e74963b00e032c5ac12c434c8d0671b0b883a24b811e31b8aaf50c5d2deb104b2e9232cbaf7f07179574cc71585c73f89020b6763b67d0d616feac2602ad663b61db6fd9afea7916ee1b00580dc951432286525ef17c01ee055ec4665c3ec9a279a466a70e65cfbd8ef3c9f98a0b01bfcfe377fda412afc9d1d6f4306430f80f143e917f8aea7af9fafa4865324d8bd7cbba5408990086a03e56e3c9a5c56b4c670ece9266ed0caa78f630d3af748c1a08298868526160608218d4b9f4211f14ece16add7217969448f4ccfcbc3f55d292d20204ed8a26b9fdc3c07916671d48aadc2bceb8ad64ecbfc00b4d6b68a18aa18a347e6a16c65801b9d8048d32505b3cbfbf9f9598aaf5288610254f0a101ec7d16180d64c19796b38887e8f500e25bf1efe072be00c0d84001fd07400f4be3d0c239cfdd6b56e2726c047c0f36bbeb4b934e8afd5aa76a33eb8b6b6f866935ffc5f9447b47280cd31e5a405958feba1ddc18a9c0f975a8fcb590a2c21da975658794ddd1e249245c623df1cfdc5c46bcc1faba552f24de83b459c8e69aea797cd4e4c26cddbfdaba16543290f8b744c9862a799e5828e00b5091a9a9d474ed1a0e953c4f308b4edf3b3b869e18e3346ae1f1e17e0a7b02fb0faf248181d6889bcea7a3c08e83c3000628b2217b8af195d013a1504843ba23c87e539a9387651f9c6a7f0276a7eff20f3626c68b89a3f3860eff95141f7b18ec44bc285b5c6b0736e0c6652e9118054aa56d226a35f0e833e8b9060cb30379ce719fd77629d409e207814a261c80e5495546bf2f92fc4ae26c20eff184d9b373ac926bb0ffcee177f86035a3b026e28f7fdd0219e2c619bb5451d294d29f46edbdd62e374df4e8d424c5cf6223b26d40639c716f0106394751f0abcc7bec5cb68085b87b6a0fc8eb301f856600a64b5f68996201a5ce967edd5b7b61df930a0bc0e7243e1f8951474587d03a090aebf04da511ab96c8fc10ffc9f5c7aa9c2d58862059c32d6293568fa36668f9db936c516ecf215c096fbbaf781d45cd1438c07b878b2385f5c7af3e9715166fd8397be92e5ca24130670b767733b5d793b3a9d87c2e65049d376096b3e00bf0a2ac02e7a442cbbe7584337e074f320f9c128367721f13800914a74242dee15af50a403075533b2c1ed169e64a76ecd2e9537a003dc60df4345848dcbde6d7fc15bd686ae7f789ea641926c07aafb8ed87f6c11b701d00b6027f19757b088dd5edb510c4dbb86f9445a46c31d4894dad8ee69bf31e9edc1f067f6bf7f08b2ae475b72b9962751a08736b67ce1e5ab4eecdf805f6877045303c62e0a12619e6a2eba19e58170d626f334446ecf4cbb84239b8b6a921d1edf13661c532c373d589fd02f24b4112705596502bc41c724ee809053e9f834feeda7b14c81d1c19fc132d9043e25fbad0a0e17a3307ccf14f24389c83c6811bab3fbf6de416dc999109728970e240fb7ce871b743ccd81a2d7a1d3600904bc19484f781730cb4ce743e8cfda448cccda53ff904c03051c06de350731a7881b10ccbbe845b8d19dd9d1e29df13ffe259ee5108c2640ee301a78fc667155e5a48411901948cd332f4169bf927151e10a5e7cf8c42d332983639ee5602907c53d3c1b217e53182e4a1d6e1c750a72230d01282b570db40124b016914e9acf5db850f3f107f7b25d64a0591eb29dab719460914cd88d027ec0d598c9a79e96e228e177bd8ecacee6c633ef4e354964598069408bcb4b6fc01751e9892cef991354051e36eac1b43153ea1b297a9e700c366a3313c9c448befa5be75485abf7afd196ce762f3286cea9e4bddd717cfe0cc1541ff37f24df486790cb0b7068d25d776e0109c16f99408ae3efa6810b0716df7fd7be301c56f46aead92e888a99c896fac2383890122472c0b1160a4a50eea5d24a8f00f68fb031fc8ab52c43dc751df3fe150e5d54d78c791324b83ca41b94b500955cf9388032d72633fa97bf2a7d3ae38675006ad1199df9b3a33b5f6c04febe65167ac4468f8b5035150cb573f9d942d9030880ccc24b4f135da49bf2ac91df0c1514e1b298851aa42759e8ae0e4cff9940e6c26726a1b28aafa32c8e4fcb9e3c08682f4fbc9cba1d805ecb65ae8a7150c82a039b43b70321f0569125643612b769e9aee360943dd1698622057f5429c1882e9121427415ac0477f5bb7d57d7fa00a5f74f0b264132be24579110b90fa3cf21fe84aca256112b7a3a3cba7f34db7b960c2c04c86e12d5218ae0e97e1b55bbc4d5e5fdcc41baf8fa5ab723f4c12e7b882add592d4e48bf0a27c2a19f0828c8222090f25ca2da68409fa06485d8556b71478bbd672a1467aab5f0467c8d17d6e99915e8f2fc1d9a1168606bb88e8eb27d3cedc34026b98b7d209a47846ebd3687a1ba0af71b65899a77b6edd9dbd09a85144858ff7135314f76f95377bb1e08be1224f1bb6a0109e412212a1a0899d50c169321630a41e72a2c33ebf3739ed9f04adacc5c4d08599fe967d9be065fdb3816a590961adc685313c99e31c949d3ce36753a00e539c93cbffbe1086b5094b707be5407924149d8b23739d9482df1c02544ea6c217b2ad6fb2a25bf7816863fc6eef3bcd203bc6aa47552d6a7dd7079643fbf99f0bdaae020c0cf1bdf0203a6f6f5be2f24ba0754d8dca281d70b24e7efe60123f6993a11a0db5f3f58470479323e19fee24e2575e2d2a9654d903248b0708737f69bdc2450e1ba7d86c9699307c674f09dd759c9cba195c89618d43e5e54530091b14531c6ce273fb828a75892f3e0b814df14881c4f4c146083124b7e38d6eddac133ad0cc04bcd32e5b02c804e7a6dbc8f5920f14f39f6163f4aa16b83f732b237384a627a663f45e928e517f009c2c8a11d778118a616412ae7d72d706ebde22a0bb89b6b7b16226bd874cc7838007ad92825828718831487d7fae18c78c1824e3591973838bc0c7a942e3bfc40d27dbe2e5d2f1db89f2f08c1a9825524a550b851ea3179a548731f3057426753577191d5bd429aaf6166f85ad26cecf975268bcd1ff0d796b0a48eec33bdaafd80c5297772de537c32e195fa0e27772258e3b02d86106efbcc9a7e211bd44f5eb73a607627b1bf6d315095dcabcb749dfbc51e448c616376e71f5537308f1544788f2f4693f64bd8b940f0870c5607c68e07db9fd91b5497a274c2de04d69b2762365343253a9db85ea31ba7b73b974f6fc700abf76cec2607636513e15b85ae724f9cf093e9a32602a2ee67a738a7e0df2e00d706e9c51341f81a8f54282ccfe599b8e88464cdb1dd8fe4feefe1f080b30e21ef3fc6bb01578b99eabd248c391e05257d5be63b491c28b1512b93a10f6aeb7ff1f244c85ae2ba0bd3d900b2724e285e88fd5981566f3b1b908fea3185ccc9955c188425efe3d488d94bb48d15eb561b1896f912fb6c9ee1ccadbb11b44692caa75db7f93126cf223fe38c53d176e4704b38456d27fee64f937d728d36476a37b057298a9a2c2d713bb5a9cd6ac9087232651b3e8145f40684241f03912490f473f954c068744cf8b1e84d200b28914cf70b9a95f27c62b2e0558f91ab9d961879ca78f5a5c595a51a062d10656625010c42b830c3cfde86aaaa5f64cb13e42f09f78742a9c70818a1ae4f539aeaa2a746f45e366ecfb8e96c888e7e2ad00699ac2c1005cedcb341be0220bc5aae4544d26c431d99648ad4b98c33928a229bfe5ace60521e676852e6e4f1f6c82deccded4cb7083829e2569dbcef291493f194a2ab77deee0ae7a53ab5ecd777264fa7f7a0a2cb31682535f1fe7cb8a5ffdd98a2479cfddff1be930d659a254336dcb3306f3aa69cd419656eec3fdf101a9175263f5e804d76e6fe19e18de5e29ae18ef8735b88e3e4c76aba4a490c3ce969b97e0433470cb1fa8d26278f4ed4905dc5d5d6fb7081d0e9cb26a52ae004cae1c4825a950ac38eac40d1558174747b09bd645d9bbaf0ea69cf55280c47411c2de65fa595dea4593c5edf9039251514ef727a247c7225a2fbff867f2d443017234a6bc950a4a8b1c4769893e2d12ff6475b87801165a11e6e4b66f3e7c7cc6c79bd7dc6d855aa208d4d782f58adb91ce765c159bdf06902be0b388cb4e66a8d527cb4517af9187eb156acb76056697c8bc9416f8c4d5f5ed907abcfe7762982b47d61e5f667be314828612cc4f7d1bba147039dab834c37ddbae39fd5c6a1496bdc08f3d71d746155cc6299a347bec704743e37f235ae4c25f8b913d9d9cc8471e5378a063d7a4ce8fb4e97123b60293cf62903c5a0d2a0ae7213ae6358b7644de999afac3ccb82fe6dc913d5a94b0a68ce98e22c017758e30bfeecc171b94ecd9bf80c814e156cd1e4352675e93e049543f1cadf185e19f822f5e2598dfda36c7f93eb8db9f664d10adb09e793e24de5f00f7f818d1a094e57493982940cd263ea5d0142c1cc1553fd587959e8d4aae8bdbe23d6f21ad52b926c305b9b75ec62849ecba2e67fb6e042eca4bdd5aa3bd01b4c3ff586f2944a6f9287ed3abb5b5cc869cb1f0554588e445e19ffccb82126451436d2131e9c87a386a9ac5cf89d036504e48e191b52390a9745b9087890b13b9d2e5fb1fec7ecc8da9ea60ca4338e3ab30fbce898eb59749bb2ec74e7735c97c22edf111bcbd32627a3934a6d3883cf5e8d9a842289dcfcdf00df79552aa3797104226060f8a1e9cd4264766d1d2d8c653974f739e06a4cf22ccda5a4291b9224b11f13ecd39f87d33ebc6a6ba635725d1ee3aca6e254161a605303e4b3c682489c0af3e2394268cd2db0e33c70651b03d7f27eb2713e48370899582ba8db38a7662d17aab17e1b9f41606861d56a225bfbfacc0cc9ba5574ffeda3d211e9c47b25d03a900145773073d815f12c5c62eb0ef92f4f3a2d108c7ab8790f06d3f77ee5c59d59255496c52a85bcf2279350666f7df5dc0b281a22da603945e974d5cdfe01d77bc7de9c56b709e1f6ac3489f75269f238cd5f903ba55f32e60fa18537acfe1a72a5c61fdde5f072d0c80498e119ed321bf98ca20c8bd2d54affc2643fc1fa4831b74e2a47441c896d03ccad6ca051e7889a912afd259675a16dd0a59ee176c2ec7a727977518e2559ffcaabab25b4a2788a82f6c4d9bcc618165a57e7e9016b4eab7ee5720b8e0fd74a4980750d0ad2d44d929698982cbe5fb421e154c30987b03f3a256c94428aded64dbbfac6395d4cbf6d75609814443760aa7414afdbfa1a8f90297a14837e1e6b1dd67ac799fef623d46af8b794e4dc2fd300f6fb4e4c91c577080e1bb02094052cf7e7e4e71db5f4bb04f4a257aeb7c5388fa3be19d23c93868dfa7802646247c1b2a40707e7469585315ec9c467d97e7adca68bfd4b5af224a121ebd670ca54d86a98c1d9e0f4c32d44fc47dbc7ef382dd4669cbfb80bd0060ff2d589ce76d881803809970abbd19ba5551279131e0f9aa49a7a5c25c0e4e5b583c9953b6ffe12050d53e95c9d58b5bb6acb181561e11e8fb31b3628b398b5f296b60cd4b32b38dfa019b7292204ae7b49706f61412478ea75e8675f3a32aff6c27866daca135870ca5f84c3196daff8cab1b9846b753c6f1282f382b78bdf605e420cbc76e74ef55327286d9e56be83350c110b803a860478d7a3ec92db7c7505b64dbb806a3b94786d84a20a15322de42cdf3c0ad507a0357e66d4c3f4997277788a44fbcbc7499e9ad17f48f073e2265fefe1c0e526aa62c7a8eb8ebf5a5fb51c811bcac7371f5bb59dec9a52b9a6f605d4d847907ff0332537cbf983ca30c2de5992001664a3d93577efaf16ae0e3a62d826c2503b878e7faf0b8985d0a575dfb1e67a896795443f0648db6ae8227c3547ae125afe70ca59b895a6c9f1010ae8962c278426da1d2690f5ae56ff646a7c8b809a23bed65192ff86b4aba4631714ad549e5fc83f37fc32ce09db0c76ddd9e927a4487e5e1f7ef9586f67dccf566219cacb90820cc9aa662fda34847b137ce7b1dcfdff879294f9c37c7f06bbc353561e4802db60308150abf52a1bdbebd224bb773bed3ff1a084190380bc80eadc80590d44164f0767283828b6ca150afc06ef5413cc58739f70700ae84bdd703fa4669db4eda6f894a10a48860c87566745f41fafb842426414721b36652a0a4ce878aeed48572b94190e14ca718df20b045e8cc351a23ac653c9379cd947527d0e962eff09517dcbc1da44092551506986aae3b2fc95956b365bb74e8fe7ad8bd5f688a198ce52be171914b2fba4a4a87ea8ab67d1fec98d530640a6dc7c248045037bde3a6350aedf781e3da3572b2bf81189829b83acd5236afc71c5bc05c63bdd0650cace16c02e71f744205f545fe69e5f6327b935e011bab6211f402f6b6874ca08031adfea1ee856991c8506978f0c222fec24e8c3a181d526bdee6a568f668dc6a1060d93cf7e43855aa1955f5eb2b70ebcccc8aebc2cf7e75f6f7c380ade083119055784f369001846b11da2e6c8df15213d3bdb95fe4b98de6de2957ac6b3777afab0a4704014a9e3321cee9fe94843498fe2d5d246ded7091c0919b9a9e02bce3a12d85fdb7e27a0ec98b5bdf9a439f6234286f9a029c2fd7233e1a28c13cf4c0a2bd75a8e8ca0edd5d01943b7f39f6ab95495d544f00c25883c9b6eedf2bd09e89e6c36d64810b91e5d329109b3aff83b3e9b61d65754c7c0da127afd96738788aa356709c9da444fabd1990af0e87e96f0ba256a86b855c7b9987f41eea4ffe18c510b5965339726dddb04ad878989155a658f608bcbebe30c8b57d7606ea9bdd996efe5871bafbf41e064a5ae92bfe52edcf89f9cf8c218f84cef6a21c5cbef347e2bcdacbdcc6f8c4397d5b98e6afe1680edb2899340b6429c622176b021afcef82dd87e2dfc6ac68cf0836cc2155ca79cc189bde98a5b24ff86ed13e7a4d1ba25c237daa92c82ab441cd59732dde4a110a0c7de5371bca8df7900c6281a486363773b1a3ee2b526e305e54097ad90d84dff72a7cdc1ca4eb73843b50c53e6f1e017f40313928a71b756afb3361c8cfc53aa00530cb0e2c8c4e5ce97560a3d065475bfeafd3f6608a3139e83d2138218d07252634fc1f5758c196c1ff2db1b8fc765a8722c5b4e67c4eaa4888b778c287e09ad60bb3840907a025d33266def8a024f6a6334fa52bd10afd680a71b62bf96264225ac8dcdec3b8164ee411ab85b004c011f70815ae15e54f9c5f210737b606187894326c3a933d1f036d337874ef1adb20e1c5a3c020bcdd0170cedb4acc67388dd878372ce3c704ec0a84d01d7a5c554747c518f68cebfaa63f666125945bb347d22231e7900f60d83b1ed5b3434c3096bfe581239b7707d886e0d4f8c244565e1f20d5dc9e4997d54e46e229afc5b8750d36189784f8ecf9a45d8c9067e1594eefbd7beef1d754a37fae33cbbbf1eec226d6f5cde505ba4fa7247d5419b04eb7949af1dacadb6b6fab62f06515060f9f869a5cd71c9dc29c2a9b43006c96fd248686f51cf4a2fcb77cb5ff039e7144a04cd5e5ed9a46ee85641549f8909b286bb7511dc80a25577b706d9d57f5805a77d71a9b850dac5ac1fb4f7510afac56f6757407b7828e2c6c3b774f9222aaadd3272a62804b956d471341314d5b4382e4bebd63088c862e20075d67e0fe218b52cfb98d87af2a80affa6afc8d115f2ea8b85736397395d2cc475d289a2271f164929d6c8290eee9eae3f23cf0b1005ad1a3efd7665cdcf84d8742bf54d9f2bae3c081ef91e5395504a348ed144872f95b8042d577493bb4fc3e64e4a945e3e5f9ca14771e216066f0e75e8a2047a09e5990c8cdf390d792105875dc74990888df08994f6a76d300a822fc180b2e5d58e57bc0615b02ed2d0f075bc51dcfb0f5898048704b89f59e39f73c31b0188523d14526667bf31415c9d8c2a07a166cb4e037d8cfcb2c08b8ce2f97c61c2fa8f2cd629708a119d966f1bd036baec8197df8679a53230ebae93dbb238aeed9db36135b440dea9029ec5dbd74e53e642415d0d44439ce36eaa9f57e1bb25eac6d6e1c8d2d57115f3f2ea1477f7706508070a8e1d789916c6a506a73acd95cce06bf797bb277462c86a61ad38f25635075cab613cad5ef780ec5c00d17c10af72fbea4b9230bff1d15b8eb08d179caf0670c3583a0963710287b4e98eb5591cf573ed6e8027fc6ec8647608998e839a290fa671b781b9038752d00e49419056b19f6249a7c429038657000a84d4b1bd677055928e477fca7ecd8bff882e4fb50cc334cf3683f673230afecc939b14a974d7fc3960db2c4e3d55ff6274048b48e18f87c09996f0c52e667a7f35ada36fed8e5e0f468c0f2cfa6ed2433458508b1d26babaad2c47c0346ae5746ef58eeb5ab37f6caa31281ad62e4f26053eb5741ef39a1bdbfb91f4c60511a7e8d648976946671f6ec466ccd855f0eceb4db59fde8dba1e23f85670be65cdb910b0a69274d7a76d914b0a84f37088fc132c76fb9bec39c4c7548c65a0d12400badc21f442d9dc031cbd2b7051457673b77d03503459c6e19a35354220bfc9b84f3a0354b77e0cda4f9181c46c838fbc4920d140a1db895d0fd6376f7d88e8183c96ea5f5e6b4f12ee9b051c01f272a6659dbc8a0e8d9620f08ca93ce40f37628dbde4c8b6b65c0dfe0d6c3b04dd9f7d0d621ea3581509ad25fee4bc979e5c5f95b002d4601867e7353f2568c3173f43c83c484faafd186b5783c6f62193e09436fda9b20e2e71f19840cbcb1e116490880fb5e0393c92c63fef0a6481edea58ce517889ee335aed1937f633d1e742778d59468a1cf0ff588098c8481be305642391a3dd8b5e1af664e65f9b7d63a2b476a339dd4fbed0b3c4d0e65953f8c7510add61d362cc214659ea33efd5e8e0b73cc6f06e0427abdb01e47f648814ba28b6b1f8deb2ed9b25713ca538dc081fc96dcecb2549a06a5bea3e6279f41e8fcd80ed25c2b5d51c23f7a31c471502e958306c11bfbee1e88f2627d62f6eaea03a8ad7d84bfb0bbf3dd8136bd8b94b2599f0ba1c55dc03e6fe98a3cbaae75b49fcd0fdd63bd0b0f0ecd6e5fbd95bd7649c4ff0cdd1a394a189e52b0beb89c624fc371ec6f24df95779ac20622846b5b4b4b35afdfcfd8b6353a272e48f0160de47dda68c633df1ab2493e894bf25d77d28c2ab6119c1d4cf6d2e5938407cee20696036cb1bce19d0b03af4059eabfe8ccb2452ae48893a35083c8d5722aaa4c4657b4380ed08697c61e64e91ca0c4fafd767c62012fd3a8ad847c5fb13f4a3c93776949f5eacefac818d8cd2e6f6578c76cc1e25e2c721412223674e727bfeeb8e49a4633faee2c074de86caae79dcb029d46b00246b9a2b2e3ab179df69a817d4dba6f3d431abceec5c3e3980f74aee0b351e5ff847f9085ca5976317356c5bf7d382f56d89bdaea660e9e74f74c9552b69617738e3986a587e744739e5858f0498d1a5ebaa04f539a54870530a62145f58606ef0596b59e811fd868becdc64bbba8420936bb3d52b10de5529b75ecaafb8465ba4c96a84a8211909b85c0d4d00bc54eb2f91ff2fc897d9cfe1861d7bfbf554fded520546ca10ced7f286fd15c57fb49e945b13e832c0238d202b2c8d01468fec50f904ff3639a75d541f9a280a98b968d1aa658db4768a52379e0fe99ced1dc00ac8dcd4545e029fdc4abd50d40d57e8438c01630b70fce4550ede6976a16cc395cfad1c45d8467cfd02354e6db09a7f74a15691d4084a5e8ded24849e1e427ba2a6b98e08a2f1e21f2990f5eacc48326643559ac2995e3315d2a81d1ca4266a6f25817ee30951fae5d03f600a71950e0c05f137b54287a301bfa8c0642b60b5350a9cc20f5279de23f2d51beda8417a5cd5207df6b686432e16d4a72d9d409fb3928bd45a61c8020ee4d732aa095d29d2f363f73f132cdc4a7b2476352aebb7433baf505ba097e583396db2aac1179d55234a3740862369db26c3af858251c1462d443f861ae08e12e483703b0c75c4fed684aa8385e11f0f763ceec5214373ae96ee9f0e536fe561150b3747703928f192936a0de0d2423c42730a42c80ad3182487fde686a330baa98224c3f4ada612f07099ea0a67098d48ba594ec862254be677537ad7aaf6a44e8604448b1a409152450b43e58ec74db67670f8b289f128c991cda8e5831f24435d8a13751e204a93042c220f417b56c106c377b258b0bc118bd2ca31bf47a62c8579deb423b2be06fcd01f232e6ad9972f7d316cabe5da0399bdfa852d7babc47d46c4ad0e532339007b3667d73b0b4e7054983a9b4e21d90b04c46101b31438207470cc903ef42d0cdcb3e137afc5b239b972f08f09404bcd451d4616e708ba6c836f07ea1f69cbbcd448c3ab6587c404c6ff5b283eec8fc14708e1746dad45730ec7c7075a718114cb59d0d4308f8bdef194bb8c8d49988bac95a96cf5732ef94fa12a5a8c26e5a6473d09d66ba04c15a28bc53f93da19b2db496303a79d200763bdefa95fb23b19da4d5e537eac336d8bafa1eb4dce865012357d2670e374c6731e43541007393c378e2c6ef61284066adb2fbdeeebb32650998373c0b70fcb6d80348a40095e88436da6a590cb5d7ff1769732b0317dfd0a101b770841edeeb6ff9026cb0ba39edffa3bb6d152e19abd9b7ad77ee28f20842e004d6838d7de8dd975ac1801e58d534d2fef35c9cf5dc879d0305a45b05687408a1d46920e3e998c630be8a5b13db3c9950e1337dbf385abe9090b67a12a0b8f38cf6f14a461539e856aa4af7d1c067e5633e6ec19c3db1b09e983b4c2dc9b8d637c555ec01034df2fb486f4943540d51fa02c0b161f1ddba8ced1d9578df4e642171ba06c403775e05144b33b4e44a5de86b436e6487c6a7848cc5daabd8d50f5f5b8e675f2bd03b2ae705168b99110f491469d5490dfe0ae7db47e5fe7eb7ca1b54f7d6eec55e7cc838691d05f343d9be3f3e997d5790e34a611e60888f25e65096cb5061529fe3849fe31194a2f519368c9e6f9dfb5f29526365dafd99cdb5ccdd433a2e8553f006af5a80fad088553b05e320339e1e3a4c66dc77c0e48e8292e6e29847aa4034b3c5d8d9c28095feca2c1745867369eefe25fb983be6165e0833c67570a273ecb56602c9b3b2ad9684c77bd19c80bd5ff6371da057cd22456e92f9bd8b16a97a01f1f18c3b4c272f58e4d0ab0aa08d1598459d0ef2a30eb569e2283a769aa2a1798b918d7eec298c6cca4a7bbd2126b2c1c47c5c0648bc7afeec9c1ce9b98b2cf4c64208cac0bda20715d0b7cc034f61bab6ee159dcc3039c710da9ea343e0d154577abef23c51946d28bfb80e5cc7ba5de501596c321c1c36cdab191e4eb3b363495e4f19ff18e37084df55a4332c1a8f301271aa390d505a4b2cd5933f3e238aa82c73f282504ab7f76dc8a8d36c641382d23698cb64051160c31ed95e83bb9bfc98c8d59d943369af81c1a2a9a84368da56f9a7d0e2e834a6fbb3bf7218f86efdab3a95f9ca5b56be422e9344f28b607310d4585ff81dc99685f6aeb6ae69a239e0059d03af6a1a6b96be95303379e94197f170d1002d896bda02a55be2fb32010b4ef25c466966354c031b641fbf2b1ff9c5709485c6a9bf1f12a0ab3eef3e5e9d8aa2959c1933775b59d048df3b02a86b50f883f003ba915eca057f8fd7505a7a0a04a990c5616bd9b8e29e60d49e634e5e6f364a5867b7edfc1382bfe930a7aabdec9fb7ce3e4326df143cf696f6fc02faf6142bd639878b1bc646e9f2f119892ea20a062620c6a987ee847ed40e2a2b6a83f7027ba3ffd513a4e58cf3edd70ccc3728a615ce07b9b39a18fb337f1a5f5c455fe67c2eefb84c4dc2ab4d43a3a53768b8c1c36c8b359674e1db309ae759d35df0d308a15b25b8acc20781449709330c693c3ef3ca7fe24a015a5d3a7b84f72f44f13e1065aec1c61af95f9975a5f4013d1f4f6167487802a8008ee44508813272506f859947476b2b1d88b5a35d11970a1be7cdc4dfdc1ba0e7fb20396ef112c6dc50ad5dca6b15e9b5e5253c92dd1de352e93b22dcfb860fd1af3e5b3e60cf09610ac3b648b7f0cd5eeff32634a8ba019285e6c229e2c50bb950b5e4051f94e052ddeb6bd92acb0c2dcf392cbee4b33c202718a3985bb58dbb970f7ae9bf12c5b392c276d059158c8a08b43d136c1ca5e09e27d934c8708ba570c0a4ac560c662dd02e114155bb974052c51f92465cf82196b3d7a8263ee5137444c06aab18db2134d1386097dbd5a8f647059e91f3cb59c847b805df08ebf58ee2e034647eb8ea72c1fce07fecb58a16cedbcc67a80700653ccbc2aea8a4f2557b47938c30aaf76c193c64bb17ffe23fcbfb39654f76911d30f5ddeea255204d9e76eabf8f4c55a06eb5378f69796b07144564698a9ec4fe3e1eab7fe1ba42aae5d119511867649db5b05edf446a6cc65e3e2f27cbb9ffc641318b7d2a32ec40ef6671686806be4ebf083e46efb184629a0b16941022e4d059c4a0963b2bb10077de1a700de9af2beec9490d846fa000e34de25d6676ab50ac0fb9640243cd8b850b9df2071a2f7826fbcfa1e98112138f12e414eaaadbbb17cf8375e33b02ccd105cf1f018ed79e5139b522b5b4c338edaaecc7f588d17b76d2c46a539c85e6ff6c5182c732436454e410ed18849837ded2fd51b654c8e2a49b3432e31e278de8c50538f553a72ebf7404132b87579b438948b046370ce6338e3e0c3c55009f3df96ca7baef318fe5a0b856cad4c29f084269895a3d9cb74cd7f95a0f8d70bc5a0163b41bd25fa568336b3a7702b781b8889fb38a642c74b3a89a000275ed3995163bca5b4242b31d5d8d5987bc354fcd1b34fbda5ea2e827e33b608a020aa2d45715ef221c9c8e31988e81dd112729ace11ea8a3ef29f6f5e5ebfb177cd1c5ce5eb1e18f482c1f675a0245c19b31c4aeb48662c67798fc10c80d3c448afe8c6754b0797b0f2425d65a49ded526e007c3b7d5912ef3b5c16e61892626a0bf33281a991adb2c454fcab5df3b45377cffacd551c55f21610531115566a9b951a53ed1fda0bbee06a9ac82d51239c6841300d18e4aafb9f646fdaf9ea12cf47fac77d9283c7cc43f5f455e2ffcccc2f6360d2c478dfae259bca27d56e61e70919a78430be1417301a4f56f7aece0023bb51b56f48b2ed7102d2ec90b06fe8880b68d606df8f8c76af5498ddccdf4cc8178ac2a8d8a8376b3945d48ba6cfd3502a19404ec0a879cfdbee0a301cbf88c29ad9826c2fd603b1e9bafdabb6e5297d5d4d98379b766ad453c2ceff77901ab0fbdb0e699419e6cd4fbecf283803d71853d8d44639cba1e5fbfea168ab057122f0ba792c459523e86fa7a462f4d5d9a9702985f45762332529ed579dd808d4aaa3fd76cffc4765fd6a9d7341bde25869eff7d410b4fd6b85b4067ab6ffe614e173c7d6d09956142694969c74c310307aaaa155c5667224a92b25eddbaf686afb45b941ff5be17d4774b1dd6f9aab2f79e78485f67a2bcaca69cee68622d4a182a0699bd21e391fe9bc12ca4576fd0a50fea4d3020e743f763b3a7a3728c776da8fcdf7546ff8833bc7728cb1fec513d6a945f0ce4eafd65b07c753196b362f8e306446fd602248cabbfd21125706d79c517e8aee4740c10bb4274b5f8abd19007ba327fee38f72c9fe1f1e5f1546bf031453a91d2a11e26e4a246b10862104c57d60a9af1709532da9cc5b01aa378d1cdeb4394499560549bedc13ccc6f5724b53296e8dbedb1efe4d83a2c13695894aff7fb8d764ae550f8154f7c32c301edb59df4ad42b73ef40fa0e2beebeb15c60b2a29613b277d82c8c298363f38cb5e0b7f33236ebfa5f465982e36fe371202c1dac05a18aba8c8efbcb0b153e60cf435b2a66add1967952746015f5560f5e818f8ac4646dba657839540165c927198af78d6a59d2a75fbd45a86f9bf46af4f000d8ec51acf6168d14b4fce8c3b3d1341f0a650e59002d10622cfa840941c9ac5fc940f0d7d3679c7a6f9c5194335f65a5ae98a00fb2ada78c2012fe37f4bfe3dd245a7d6269e82c331144cb5258c552f21f97b6667acbb101404d07b119a2925838d45a01a6826e3b794abeebc03789cfc2c58204ea8617d1e80e9c1c1b150e5e0bf439a9fee5e4bb27be45abb99eceb11b562f28e4d4baac1362b7ee63b116033b319168a9e5fc852fd8156231ef6f24acc4baaa0113a467982e718957d531b15f776f7835d127539b31f89099aa33974b739a37a8ca9ead904f191e51cc3751e1775e0afd7fc04fa46e9dc716b94f7cc6930e2221fcdbbc215e8c563b4bab7b03b96cf9440a305aa516df0319d773c73deb14652079a83bdf6ac21d43e74d6f404c45c81242997ccbcc5b6f033d64aba74f081191b027ed7041fbdb3b505c9148471e734fa3ff9ad4afbe8da52d73868f2ec67b4146c53864d4ea9e50f735c5374e71c5bda220712ff21c82bd00158fc0100d3c94bfa12059245ad2aa890937baf4d3b4f37ef9984869259b8590b843201c58256e1a594a0fe06cabb60f60c894500e37ec43186996353a5d0738d1e34cc42bbf273e00e7e088017db43f0b13f8ba425323173f234e5d5286a4247349fe5e3233d336debbc259aadf6161ba7acb9a34170de10d496e93c089d0b5b948d708c06ff7b21cec2a28a07b8f5c8d769ad630aa2e3c3c44f740a1fb08168546d204d04912572c5b555cda450550b8cf060bb94c35ed5afc85ded7e66213d779dfde118363ab3cae7994657c134978fcb59b7a6f18b89d3d68a2f28a32147fb1257def5d6d258709b767316f81ea95326844037cd51a439eecebf2c85b8330d8fecff1b0c19698572c7b43af45af8deabf921c3d78cd239f24aeebd2d1cc4135bd3e15e914bfb7a436b3f2ef8ebe865eb9653aeee1390829a69ab130c67ae88aa80af9b32be6125f2a47595f97b302f06f0ee9e487590b91481c8c7d9a2a35f89a51642dc58b0a5c30e4dc5625c7e60fb1feb6f07f9dd406239b9cbe045e5f099f512e1c1e6032fb972d6e1d28dfbc72f4ce8515c9ae0cc38ac029777d0793457e0ffa63d1328b3fe9f16300004dc2be9b34daf2d713f9312cf6d79af65c5f377d7cb52d4a7ee58fb50b8bc8b30f79dc01b3b727072ef96d6e52aef46a10fe5314a11b3097be03c0fbc251e131d05fb7494a49599fa378c35fd765446ecb5b2bed29659ba7af05a8344e6a87fc457dcedf1b7455bd8b5a1c46447153abbdbd99faf96cc3151acc45e77215b9a5d28d99da09a27778275e5457c7c1341a7d18a422fd61f0063c35b7a6c4b38b783135bd2506686f92c6e4e6b34bfcac3e2f26a27f3b34c9e6aca7e223f9c0d8ffaa33dd2d316846488d3d6f25b6aed7e628c4765a265e8a3af12bc9d37149bc705aee1a26c3e9edab2316a94e58bfe91b74879e56c8090e91f30db6b624fbec1f2f0663d6e36e75142ef96b7cfb74d9f900084be853895a48c6c12650eef25d9a64ba1393ada7aba2205b41665d88b5027d494d4b23ba50989dd4864d19570a4d60b145d7c7c6d2eebd5901e60669cdd9ac1addf4731fe17e030b3f1ef87e24a4a0bfb51e08668690c33a682a0cddbf45c54862e8084fc7c0ccebc3cd487ad63104c6819c97414bcba005e3092395f5d9bed7855ce5e85deab022ca436c963f720ca4d9411112797f23d7b31f99c337481da34ceb6af7fc0e4fee80bad78ce0df6eeb9dbdd7121e52429c8b87949a9a3351defe0b974cd1803b8b33bb05790aafebabc832e641d8b321927d066e98616fccef311f980fc12a0c71def377edf4f9c727bf0ad6559a95c915091e457e3573fbbcb8e73776407641d45da10b350971d3c4b1a4b8cc7604fd71f3db9c228009cfb9fdfbeb6dae59802c47c43cfd6977479f5e8e696d97fd69d9dcf7b9f730b6020b5a9d6a661434e61c7135e2b40d829e6813b296689c85a924e242c86c866dfca4b8be4b1024b18c6aa27d76ddac1bb93aab18367890122b794c92755efed4c70ce525d009022cc57836af7cc183c783435603a68ae73fd3fa55bc4465e435ee268ef03488f5be9e873d45d0e55a7d948095f5106acc928c8058031ea6a93734b9cc35cb9872c0ea79160a1736ac7e0a24fc23002dfc1da968b1de866b1168e6d6cee660f74b470bdc13db35f95037083165cad990578cd70d0d5387554a229bbda56f55a5dfdcb9d61f78cdb3f44c35fb39cf8566d58fcafe4e3ccc4ff611a0ba313744715e830ff6133fbd1b8228a9ce3203273a26ca06ed2c7366debae2fb1e561beaa534ed629a2eb56f654b13fc69e5d7f21d0dd9a1cd5cf01b06cc0085243e2329a807cd152a1cebe1c02c9ef909b6c68fcca5cb744155df82ff64797115aacbdd1ee29dde8af8f2653aa7275ae4eb348cc849c652155c196920ca30ebd41c6339885dcaee81f2e3925802e92a7e563ce86f1cd9eeeef6e7dea6c03981ab9aa209cdedf03e90bced7e9ba7ca70ae74abf5ef8d628033f3dcc5905b742f98df861c5b5dd8962c94179823b34cab1b619726ab7262cb1d671fb25f69fd367d2bd70744f6fed469949e82eda2ee2ca2c3de96b60b9a19cadb7586e5687f30e72786f26a784847fbb48ce6f71eb9678842bf4607bbada5948b50491b8ff6d5b7dd95300151b8ebb8ce8ba9c4540f316a2f94c009da1254cf796d2d3c9581178a1bb2f1f23bf41e312b17f34ae717df5147834686096e11557c225d76e550d61c703b2e3bcf1c2d0adf9dcc5a47482862641cc5593c197d3cb482e6545c419b7ff816d398c8fccff2534a3d93b42f462c952208265c1bfbf835a52c7212f5f860428370025a7bbb9e126a0e16a9b2291fcc3078e76622b0a0dd89d72f46e2c456b4f6dd1151873620663b8420784a0e38734ec599a79e8c93211a22b5bfa1e5323250fa96a014165d4bb6e44bd40f52295eb4bf3b4168d6cbb64a41a2a3d61df43ad31e28706087528724ee4062dd2415b53a3363363af7fe86ba5e9771baf0d41113804cfeb41efbe1c9cda4c6c5c3630b2254b5721390623accaf177355ad3d2eb664e82d3a75dd1f5dc61bfd0e56d14858edb32c50053ab648264a27c142d8fcca5ba324b1ee120e92c0c22d4cd04706a7d82da1f25524333147b02775e86a746e1e5f1de705bdb4c579c7722c9656d7301b9190611b5bb919136a4efc64a3a551a71b227f332d4074ed6fe87740b0abf8249af4650a6653f90e914cb2a0f784d0444c2f9df5ead62770d4c3ad7f33ccd0477dad618f2cd355258f5804f22764eb1bead9a808c0ec1471c0c9117cfd349a7e13ff2262b80f2b8e07eaf2f74c8ee05908d6233661e09ff0cdea22e98b659256f1f788914f1423ea0608b4db852ee859f3c704644b904545421834a067c9a60b29bccc18eb427777b134ce40b8395f3266791364e00c53cb23a8883adcb92288825333dc1a7ed8955103a8ebef2bfe1284de34d82625af4cc47f8a6d6525b287f20069ccd48eb65a64811c05ce576cb7241ef8fe3c17b44b87645424e5d917337fedd8681cd3f37aa32bb2cf4a4d712b261412a55ecf836d55c4a99c7a6c120633ae2932333606be21a3a3647f78a2362a6db9925370b742106b743846899d3cf5e27d1d5c3102db61718e54987bf21698d9ac2cef5b9a35b561313794fce28f229e49d5559c49f3d257522cb8aca4660718bcf2e1ec5a52b1c8f074f1cf17c961ededd1aea84f21208e03321dfaf7a6c510e9144e98b3614d7e33eb4ca4bd0e364a165eecb31978b9d9f8ce330ec6ed85c3de21a722e66b0b9471b81961cf49bbdbd1e094531ca5332447062552ef0eed505541d882d5aaa3883d46c1b6f41e04227a7822fc3b15864760167e4a323f737bb6df2b446f7a9acdb5435853ae3469d1fbd53e3ff9151da6616c172301a726e8c707538ae3d69bba3d2f40e57c82f07e6c8ac3b9ec415d1de1ce283d223faeefca1065a718cdc355d0a99a8ee38e3b0e0daa30d3d645430d60c83c5c3c4d26331711bb2b7063888ad7a9077b3e41cbf36bbca2abbe222c551d16cf3e1dd3d8632ec21f4873bd1ed938ad01600c0ea98a6da6f2fe16d38645baf6be92f7377e1619f98d8d1b4a8fb9305efc1c9b6a27a9e660f538d83004ac4063de0bf7d696349b41453fb8e65a7508e8f5b124e04400ba3a74f945d7d36c4063bd59c4373142ffed5ba78696d91ec3fae509ce211f617d976706d5d930d82449c0e0ae81269538da09c54dde8863a25001c9c61448b4387cd0052a99768c462f5e0c2bcd8c9ba3c371521162d04e59b373b14daaee649f6612ba563f7c804ec9448be420c0a1a4891848778ebfe8995d1f103b524b32b239a0a477c23ac737efcf22f0f6e4644337198f0c692d5c1526b44518bd659fbd1366f57d8715bb6a23c9aac824c12e845aa1bc680414d82ba5fc0d94daa573a0d28dff8e33ba28293bd8423e8922db04bb3f6d5bf07d33dd7690514f00f52ac5e4eb361d1ba6ec2fa16d055b1e5d1ae9c630dd01413a666eb5f74a3322720741db04b53bf719694eb9500bef1e727ecc69d970e0b4909e5e965bb7bcea95de44e0750205f8d8dd77238b5dda7901001a4d4baa68823f84dcc385cc8d442f7107d10a331b87dda8f158d300da45b2b90d0a3bf9b0c9747a06af23d7d12661cd4fdc73ffd34e763708d85af10b1a504ee7ee711d098e5e830007202889da5e3bf80b3fb01c889fe1e2291f7053f8c12926627e2dfd8cdeddf5fbc803889dd8fd0050c2ba06482b8442021ac394d258ca7cb6c815d1cc63e0da4b3736d89f4700c9f58987dc307440c484e101fc1525f53aa5f684bf1616ace9db2a3677a7d7c39006172f8e55e92135ad65c2c3af93bb0393ea51527706e30e10b971730d42b781a9dd9ad305001294a58061da8f19cd031c0cd916956c2a4f64c6248b0220396a20d6ad58fac54ea5457e00a950cd83cfa85602a33018d1fff569b2bfe4cae8e5f96de983411041740e01c2ef7d038b1477613d1a1704e97fd1146c3b9c7a158a245c2a550915a6855bd1902f34651e7057eba0058e5bae47f4e2aab25b2df54931c88002cb0252023f400bf326466423c5a08c3b234ecb0d7af2d660529cfb8c126154362499ee164567ec3129c7e5a0d460fd06e61c9f3cf572a226f7b4dee6fa1fa090365a9d8378f21d75680839db260902dcaab0b5d8795aca482c69392db374232404024c55f7ac1e38d54fe09ce097a986930f224d7b2d98a8dcd380d3b2ae6a7b5653d538d02232db8ebaa36bfe06abeed7ee16f3519543f968cebbbc7988ae53f57789f47221ddde940f1c023ef882da5b2f4cbd81f71e4784a08bdfd5c45e4c70fa198ebe0acf8ac368c6c59eb850ed5e73a2ec73bc4ae3ccbdfef652b103eadd17fa2b8fc3d94e5dce4f788d6b0f3b914864bbee1f8aa24e311d614dc05de3f4713e904da654c1ae584d4c2fa97da5bd46a09a4d04867077bf16f82ab94ff24edd01d439391648ba503ca89b2ac8c777e41dc6530641794144396e97c0d35d081c580468120b026e3c7a34228ec6457b11333720aa4d3e03c31bdb0a4fbb71af414b18a66f7213863321559387c29485f2898e6ab21f7230bd0660b41dbce7df2090cf610e67ae14e516e46e78f7d0553fffed6460816ba6033239ba4ee3f4a682b3e5e22d97544a1e972b245d53d91dc37e1deeb887829cff9a855cc188e43df2389922d8cddff309ad3dedac73dd51b6c0edc8dda677da81d94d7bc010b1d327f771bad4575f94ecf8929676d6a3c2098b96b85800f1ae86d067ea8eb9b2eac26e5305477a64d6089961bb6940bf0ac6a3022c1f0dd5b2a4c5f708a31b4319c56febd1195f31792128dcde443b816af536f52ff75475b6283fb66cad2f89f02223dfe05bbda06ab685a2ddc9332700b28f0a616bcd65f46d2bff8597830eb092f44b19ca828c87a01684ffa2827967d306c6064754ccdf664de71f1d0d6afda482546cf985dfc797a2ee9819b808108597c0cb7389ca9cb6ab8588be432704595cbd4eb94033f9ff07d4081ed97ae8890492668988a46473dd575e711c110fc3bd239792caf094c5f21dc696da8514f08e0f95dd1488bd15996f1929fea41adab22c84b760e252950e53a005006cbbc01c548590266ff4cdf98488b0111800c493bb5322f518b64537c5ce5106d7a4197844610dc7f927016964696ea9d95d0c2af179a53486453670c3f655af51951898b54aa29e61d398a4e0324a442179e1602fd9deb350dd7b899d19436a4bb8f7202b4b741b3e84016d99ea64cce0a897b8aa016a4ca6cfa8154462978711658e772697679b0c0e39182f5042fba79b70f94879d702b84df2de21fc31d2dd9f96367ec49acf681a3ecbde11806735800dde9ba8c80c3dc95f6176fc3ab9e0ba0ffb5da682efd5f433387bfcdc6e6f1d6b3688c0652f368be6cc7ac6e892193c0ea9f80fb6c9f3435e72cdc6a25ade984e2e1bb42ba7ff66ef07a332cac9bbf2a0a11c93070c68bba709bd4b79f36a6d1f357f40b9c86be294c336874ea238a1653f4c7ba9031725f84103efa56c6572d5b4a706eb76c1efb5cca9f31ee842016ccfaab4011167edcba616799eed3305e9e90ff95e029a9487781430ff6992ca86efc99a5cbda27440b2bdec3e7fa669d45b440787565cf085e44b8bc1ea9fdc4e37bcab43e3088abc33bb7b094278edc89bcb5097cc1d9a5785d6e0017797d72f75093d3a63e095a174be093ef0217b55a3921ba1880734b7da7c3d51821db1f11a0ee37df5177eefb9d4146e22ec5f10f6ac2504549050cb3d55eb085b164ccf2ba0093942304b520da0d73b6142a59434c16666ce61fbcd9704090560a7d4377a798f173e26d25929ed71f00fc2e29d0d5b10a89cf183eabe6d59099dfbb9ae0307cec18d6444905a63f8a0c0c94af97b8348da62038691d0fce111f1999a2dbb6dd7c61f3f8d02c4c5cadc163bfffef9d789af5d7b39426e0ff596a40efce55789d0216213da3916c00ea6592080ee5efffd5af1b7abeb1b7f4d0af7243aa3883f66392f7f177441002ce0b4c1b060c917a2917f3a6c23190a9691895ac753ec200c53748f513e2e09eff2d803a11b22ac7ae5a18021c51e37ec752be11cac92a6bcd3d23e09a0c80e92157f725d17c03e88e1ad0cd3cb9784efad12e552fbdc579169a5dfb315fd3275c1c326280e173cc71942830a00de17a9d94833414a0caf4721d4480caed08228ef6b6f2d7f6efa1dbd39967cd76e71e36928ff02e57fc9c51366b54fef2bb7be1eb10874767a07edd8f146a14da8f1a79b0cb69278da39a513d147ab2f27dc01f4e081232d68de05d2f0ddb92038f85314acd264d200545ce776700b4e6e41f9c6fac839aca4bc6ba8027bc27a35ecfa467b4887a9c437f8be1738bdda93ff799cdb3a58d70200c1eccdc793ad47919f1eb26836464466b666e6736cd264e5ac799673bb2c9436f107661e48c4b69028a48a3423b2c37efc2d33c588a771e198ac76d013ba7208234682cf6f9f6552cce54e908c48f146f9c3f54ceaac84a979533700eb53728aa5db5321acb6f5729390131c8c48d8ec5f25760630ee9b21ecb4c01b843e65e5de05defc6dc43136c4668af314c0271c48fa18a5ec6ca16123cbb30c122dff6c2752db1ccfa6ca553af87b6c216c3390d72accc8b9c0c76e97870997d5e169835347cdc825eec0089df95293159874fc356afa53c306586a3abad85b4888f2ccdfc3314391ef200c817ffe2a97301a06b26cb5a448481a0c54ae3d647d7a3893d42a7633d78c36726fff994d79a923332aebcd0cc3cc3aeb8ce5abc93db90686a98f0d6720d04739fb747766a0c1bd488a932dca936f3e81ec349274a8fd36838adbfe504c8872aecd219150f292b92e60adfc0d2be991f8e39bdee76f58b752a348ce4fca7b93bfd003d011f5bc88ffea1a3c5614593bb404cb7facc0e1bf8fca1b299d4baaf5cfa800fc9fd4f5fa7b082cafa31dc3069c30ee3e8b2c40013f112f7b05ec7a6eaab11f3fd651f77e463dbf992044ca56ff8341d554b1d699cf3ee398e0faff79da730849b9a3fb8ebabb9ae0aa88533c69b2a3e130f15b4c2024a3e0f6ab18de4ed0419f703a302de7a44ca21de0e27cf85086a44f3b123ecfd0e1d41f58ca717b126469a4a575515f13783ca5c746bc812c04444d0fec98951a1135385dbb717ff83aee5a63cd4741eca34455f0337cf045e7ab28fa8b7021247b16cc04a03b078f27f08e4bfc194c2a47fb7a4d206107820a42f151e7f0c4e661b7fc9b071dd282dec0a9d441b8e5d42a6458b4d67f3b37c20e94b68f60227f56d8dcbd40ff907549de9c180d565ccc32c192453f5bf9d0dd5986668d576514666c458a72c3d2717c0ef96680c816731f8d369d3fee2783e11a8bab546c6a0ac374be57864b5195706d99e5d9230b0a5043c19541be00e7e4f3cadf8eda5f98c161be29d54539924cc3596693c5ac7cf9f79a4906982301102c89a792c64b6ddbf3febff6caf8565d7614e4701905530f192a945b2035094c8ac8b7f746bee1aa46e3e3dfefdd45a1aafbc2121e679ffcb5401e5b04705658efdddcdc271dd051ba31a349b6aff288fb1c2cdf124489ce234e1f21f5240bd866340789a467341cff79203fe42d177b7fdb8c9f6f24c3c572a01916860ab4eee1ed8ff242a9abd39bd511207d1ef9a311acb65912d375c429159362d95fc52daa3e3cb59c3e528c06de102fe823d086a775535c9f581376f10e6a7d11cdf90ea9288763a0926f79d588d19056a406a0f9263b7ebd1abcdc616fef51b482d624a96fd8baa4a5c3f887cfae063e534feff7b057be463db6263f849ced7d8c68c26a14e5483b59bd80f15cb631dd05b65c6be05862d184d340c7d9f32c5ac070ee11c2c54d8e62cd4a1eb65addb0a494f35dbccf9a3a7f8883dfe3024a57c5f2877478dea2f49e8c58b056b975248f8b7d37090ff016fc62124b8a38e45353d4f74608bf2f4d8f4bc1e5cee3d139c0348231fd709a5dbd573659b45e473fd81ceb26a74ec01a5f4aac4363b64582625411f582b6b58cda0112f99f14b1159636c65c20d185f8f1bbfcd7f35f01c78994c078b66d60aee909fd4cefe34584d764e00ba21dc1f2153a7a5d522b3ca820f6a4df40b1d76194e1096f0a2c3dbd53b0f47f6dc070a0e3fb055c73bd0dccdc418bfc22a734c72719c9ad1c326bac3e7ec8044632acdb5d0e2d9502dc512fd489a4588f55ff3ffd3e68c69205895ee0b7383c5c21db08bb5285ab4405d3e209bdc1d8dd9fe71c30e65c6e22b2850c46b92ae16968afa3412138828f094e689a3e05228c90f6094c7af9acab6eb640c33f6e6e13dcf4429e1e7d6a7f470b272d5ad716c18b10a9e394b4ee2198336992bacab9aaaec93d6ce788dc231e7007a2843930f3f336fbe1e6ef3ca105fa2b5be7e05e2fa33757b0053d7455f0707eb95a5f5952221dd433bc49633967348fea853ea1f31a75047ab97d5559ce4c102efbc8c045597c707a8a4b610e104e5bdaaa854fc992f9746bf4d853022b1c2dacdfb04d1d11a8ed7a618af05e333c39afe3ae1fcf263f0b2f6a502e8387bac4efadd2abccfea47a938edb90706c9bca8c76f4df5d1f48d95e6da88420c22aea33460e9ab443a499fa26034c28e0c5c3d130db3973d216f192a6682a29454bed7b831a1f7ca0014da42f8ffb7dd1e98f1412c81a08b680e38a4e3530f380c938ad2f4f9670eca2d68bb0fb069bf76981bce23e96abc0d419245f77039a6fde1492b60cf7febe9e578b840c0a3d81e4b09b8c2c2160c9693ca70806cc9016b261d9a4f956a7ab2f81f7d2ce8bdf29634d4ff153f98d099664105bda4fbf3fcfa755e4357868390461b2f683e8e70780ac02ccbbc26ec610fe5728fc804d516a1e83c49096bd7915720b6cb0d27f6a0ed0e97e32392913d9828cb013a2ad697b4ce7a4764873a4b08436adc4cbc5ba6ff8e2509e140537387b4d979bcca644c336f2aa4fe4a6010c732089e3f9fc0ad4cd47577d588b10c943646757e6bd9f68dc1bae22c9455cdc154dbb8c080e14393559981f917693eb098bcf6a8d3333a3369fd78886ab0aec84183818b3d65dcf3a700cf324661197963919932192ad0619835499bbbe8a239f25236df286d4426d5fb46266e69a11651fa94d191af8b25ff36fed308c911b56b278b609f237b5640666b7e2a0cb96ba7c9d6066cb927db50a3625c04436bbd139d5119cf256a6674cd3511efdac22ce1c9ed6d521b0fa7c2659c6c161265b3199289916ed7963ce214543ad1bc57ea1858284d59039ce610ca7ab8f1527e0485b2d8b41b2119d780abb28a7f405df39cdb47561381da1b43bc7cabbbd32bf0671cb6beebaafd7519753ff6dedf385436e51d1a83ab1633f0756562afd785ea4933e883e55d93548e223f2b9f9376db44f04ad80c07b6c12acc42e6c58c2eefc517b069b50e69ba036952ef75b752bd85a1ba82c18eee6e8a2538f9b5338c0ffa817ccda0a255a27f1a5beab54fb9e61ff3a53c8f2a4d943f72ffeeddd828f3d9ef35970535fffa2e2d92b04314b2e7f1d572735de783fe67051a922fef7702faa1bc40f25806a19c35df4f8f47d812a8ab9c1e73fbe972ac17eaf1742627c8452d27cae74cba76dbeed01c7f04b05397be068e0c3e5cb06ef1649161f0926f0b34c095d71dc8cb8fcdcc49aabf2972e3dd9eeaed6c6a085df1ec94d0ada29a3f11eb8e8e9b19a6cafe712f1b3b24980caaa66dd8204f5ce70a8ce1038ff0e0c29cfed426f87754498978716b73c9f844c9c07ab847e1c31de681bd82991c655ba32c0288b4f3e339b878f804fef91f918357ec22ba3008dc3231b7e90dad0a9e10a4304db6ed792ade34a0e01ecc6563211659b93894104157cc3fb34673c2a6e9dae8c50cfa652079d7d03b380d2ebed66ecd236d0548ac65c794b7a821f792a8200c9338654f22ac75b16bf124b76d2d2705b02abb9651ba33855d59e7fa4e93bea7891afeb30833754e26bee2cb64f701114edb4f813bf4ee2c8e334b9634daaaa65c5b59dbee7b70688e81329aab5e810548785a391e2a23bd379c0148d73ff999fa4a15552b7c83ce9e76beb681921f79afc8b785e91006d01ccf34f2d69378a95ed38b82e09f360ec9c280bd47d82ae43c8e6a8dd9b3d8929b65731b22928b1be016dcc6c0cb32792ab5d02c9be2c60a1b957a1d190816c76086e91a3fc5d984382504112e6f2f3ad4df5050a5cf66ec1bc2ba00352688791a5f459f4608e18cb06e9645874fd45fb74a9e7f47c1bc7c4ea9192178a7a97cff2073601c57c051004dd2b6b476be196184e981395b167f99ef07b2c2236e26eeee2e44fd7f49156e428c6b6b5a30a41e77502e474f7779ba4f8de8395900fb6589d3f0766c9cf889cfff0b0d741d4eb536a8aba73c1500759fcfa493c3a64281fe1dbcf7745842a6af10ac7ce1899b08295a14ea59825458281260c40dac960e1331e1b1fe48234de14797d06247aa20a2dfaabc813d5877d84390278b9a6759e8fd553ef071c4e91fd32442e789618ba2557f7b2449edd1bfec1f75f7966b49ec5e35fc1ba52be4fce96da95b737ea9f5b62c75727168ec2adf988a661d8bbc55c891468ef6a933f953cb95949bba2cefdd571fdb729666c7ff47a0a8850d1d31283491ffde2fa81cbcd3ce874b50b8bbe91e27fc733541db3a131b586bea40e45621ac42e5a5842c3579814ce45055befad0ebdc288fdc8901534f9b407402dfc2d55016f50bfdb32b2af0a6a76802d1115b407b2e5cef6b27ca60d9b2725154b0dcbd7e20f6e117929b3b2a1762587a31371cf4b0c9bdbb41bb27a499b6cea41579def3ee9b1043ddc908111981b13830d20c985b148e6363a80d918b2e3cbacff249ebdf2e4b51866da6e68902115aeb436ebfd2aace2f5c606714280a1a67c5e647b767d118da61e78844e0fc9c8a0081d5682bb3ba3145ea7b6e37014db1233129960d52d29e0d1475afacedd0c946746c13789e5705d85ac8dec5fb78f1cf559b92a51ad483d0e3ab58c2db365b97d237b40a6a24010eb7e87f404fddd92e19f34afac3b0532bce2351cc99226cfc6090a61b4a95e1d197b6c44aa3d1798a35c6c447a940eb644be6f9d6a2b7ef78bc133be712e72d08b69ee7f8d873f17c0581a369c6141018b2a499dfdce79981d7951891163e4370807bc9de93e1816e23a80dd316ba9d6c575b877a277a8a3a4480ea3512e5aa0790e25e0c700eb3da91aba3a1fc946baa3cbcb81d2622956693c3cfaeff3d1f079244830613234607a95d812939433eed24a6119a40e1c7717d01ce77a4d05b4c802c803ba4299a4d9188da24a1d10b073f94a17767fd71002bf53ca169bac3799aa77b95b2fa2c90a3c335590df31ea4f16176d6f581fe62f538d345c95e11b3a27e9ff48c511cd8427d7ce09dedc5d637f8a5bce9bc87df81b647d066f09054a4293de94a6781e05d575b93c5c1639d3390cf44d4ed9ede432d222978d51ec4f1334720b398f77df8e2e21428e9a017b795a3f55af12c6f91b429b4736fa582c198464b57674afa2bffd425a79b86f66a5f6e108cbf0a32c639a4ae8a4840d0078b9a556ebf3bd50c894f6290f5e0f61e1afabcc30e63b8eeb5c5ec47ea5fd05d455ea733a70f5c7928b5b801b5df09621ebb8476a697f29cb9a474849863333177681e8b7bd68a890294aa57746610f603d8996ece895933af962566f223a07935ca0444153aed1d90722d58da45ed4f5d62d0163dd7a298de18a415d83c76a005479dd69b9495e413d5f8d774c46d50a5fd7240ec5a8956965c822c40d4c076cdfcba38c00d70715f2fecbd401149b51d5e076567031bdda48c60ef5ea9ad6dcd7be9d92e79d5ed6dd5b1cced121d66912155ff037e851c07180fff938a60aabd648202ff323d3d8c7b3c6d4ea1757baf318b05af936d21aaa43fcca3416008d27c4ed3519a20394498486cf33233bc6ed9da6a9ded22ebfa5e45fb2a1617be774989aeb7382b4d312a936c0cda5e3d085fcf64e688dbe429baf1ed6d08ef56e635cd3d50facb54738a989d1d4ff693a19b91721f6768cc848aadc23116b94d87dcd415907b0880280121d3cd21e57f7efcb2d834f3a6b8fb096f8cd21afbc9798bb74d398a320fce8ebf2f1e1c07958720039b0811d79d471f0e9dcfd8ebbcd0327782f2df4e6099df170da5fdb33bb45c5698b78114f5a77c1879d4e8872ecfad796a718479adc482cc3905f1fd76764c14f6d3c73225081fb620fc98f47ccae929108fab6d21670121362eaf961cb33e54b4a14d92a44717c18eb71a518c225719a7a8c4533a15cdce475da9cf71d49138170c2f6ad1c77208f5597e8f3b49fecb9f5d37515df657feec491da158be73d02ebc085ca65222cc022d42704e0b770d2da4dca1eba81f58e53742e7cbf23477fde3257d74f2501122b5fad11d2ad430c11217fb5206c45f3db4000f9176682ff3f06eb31f578215f6c7433a3a70b9701e386d3976442a9d469598368be4fa56a6c114a3fdc5996b41eb59741e75c16f554d3f4fb475819119e976a12033d575ae8417830b1e76fa9ee511c640dbe8d4f1b55ed0d9993dc703c5c9afdfe31fa9482a3158d638d02499e1661adca38b3ab891449d6919b90fa45e1c16573f087caa36c99931dfeb8398fe76441e1eb4e68074e36e12c5e1ccb5ac45e202a8b21727e807dc1ebea678a02d724edde309b60cbd0bc09c06eafd8cf6cb0937a746aae14981a18563c607335b14bd05dc4bbb45e8b7c85fe54d131770a99d99a41820af043b98ac65eeabdab9434b0145e540c30df8191d01f88d9d62e96b7f001693e5a8322e6b6c43a876f7457a2c9cb131afcd948d750721476eecaef7cee9f82ddce28b1d74a76e8062b1616d20c4740462e6f860f534023a08b3d015baf0c27f6a9093cd9c718a3cd4c75d2a267fc0003755531c3a7fa8b876a5e5df570697a8aca0cc2a53cc979f2b79de5301e26c6a058ffdacc91d74e80ea81f4f44ccb4b48d6db75a229189449beadc375415c67e0a5a8472f07c098bb9634dd797240b312c8dc0dc663a6fd80e2c892581d8bba3ade317939b37b1f0aefa70ede489e390a69b164013d16e93a51bd72da644c6884744e610069776b21e45a9f852044b2b28da009fcc0cf6f9159b4fc14b7c7a8dbfbf16fa6220bfe636d2ff23cef67edbb5dc0f999a3454f166c0f131f4875db7e34d15103d70878bfbcc5117b12db6d468651fbf5b908590d797e829aae22e6414a2123a0d4ba57a36e6cff67292e6bb5b230f09780b56dab58e7bc286175344b57f118bbe067d88fc8ab49787b909e63ee74285a5f15878d3c06ba2e8f80cd5f22a20fa9edf510e2b18aab9ece919e766b17c9edf406c385789f82728270db052be1c5b24f72a88ee3f31126fc0b74df687412e568e31d6ca684395613709e705c82f89f1227eb59631bc45e36e259df7f5fd2945746066912af165b26ba535224758fc9cfd7669a43428b60e9b60c26dc4002088c641304ce15e8c22dca3dbf50a5667604f8d6ebc80f5dcd5fa9ddf75928ac7e8db5be6ec441350d31791768815e9bbea104aefe83b382b41d181314867772d2ad2bf8c9d27ba3b263e590c80711d6a5c3999920255ee6ce71c4ce57ae115d236804ef44839ef9d3d765f0c84df82a43a74b8fe556ccbc9642dcfe1e7686b461fbdb505b0d06b5671bddf2a32f021edc22eb98a06bbdd285002e4ea466c8f3b508d0e7f541c73741b4b67cf47e7491dbac0cc9be874a5f90397d9563b1a9f32b474a52380a071b1c42c791f0c88a73b61d0b01825d9f5e32822a9332fd011719a7df5c56cd1bc6f62c991dbe63fe31bc19b3dfc2506aaaa04e4a78c8f353f38900fe2a579370294b78b5d53a2179a9222e70486530b28d0dc9f03d6b4909ea2158c1921c496c070ab6f04b5f616bb84427a38a574687ec6e323bec437bdad8d51b0167d4eadb3ce2bebc3ef9a1658ce63dac86b4224186406af51957fbeff01f63283179d50525def9419b18b851cc9839794ef6305413bda847bcff5db4c2e0054fb44b7d4292127f9fbadac8dd9cec95bf1c3cdf186247708b8ac31ffb932a7e3f397e20ecb4545d8be3183987e2dd1f8a8ecd25f8ebce667979ffa8a52c2c38040c38f7a3109f34122a533711c2237ad92b018ba804f587876e3e79be009d158ebc27251cf81d31a78de53d241f5c48ce6e08a91b7b9af844265128db0df1496760b61e94ced97ebe83e3b7b7ba7bb26596108f6d5adfa183f246b137fbc4c6928e2a206b78c8fb5c1c15809b9db7e09688ee4a7126acff588cd5b70c964bd6bf9d600b23dc3fa3b0d7463cd5468545942469b9354ef60fbfb37bc2053bef9418bd5092787583bb7f1d7fb313fa641e3a31c64541612e0d02624802954effe65a8b0a866bfa32ab9757de9efd87ddf2d2ddc7e2625a588e04419b80d21ed56c076af293cb59ae5dac0fef35fbeb23d128b7e3289f78eb08b4111d8b558f0924c25e247c965498bf557af686f71b29978c9fc2202b8b0188fabd6461969c803249fe66b91f9860a11b8d44fdccdd44c0449c87f0ff3621ea844fd65e7507aa13f6344dc22aeebc559619699a4ed3bfa9bc5b1b1cd352c83c85ce1c65c93c38d690b18e226bfb8bce914bcfcf0cf879fd4fe074c08092f13a9127e00d075eeebeffae70848f4badb4cccac9f0dee4095741cace14af960d3913c0124b28f01ec7810a27cca96cd9570cae6d39766233d0bb32554f31f37544d1078c277fc607d8176ca41f846211affd62334bc7a8b5649607c0e5ad54e89549731124bde2c18fbae8fa041b596dfdccc5b638efd0ebcfe0e6797dfbbf16279a6fe6b51bd580a3ebc84bb0c8ae2ae1aedafdd8a4bc70f79766b0a1e63745c5372eb9e90ede266b909c8f8c538495960bece878c4caa7361a47afed4c64ada6c355b0dd33af3efdeb4b5f21fc6512aa96aae786f6bec6a5fc88cce5dde5ec497fc1c1acaf902e7fcd966717fb788fa7800a06c1f6f4595fe9150d7524f50c599a815c34de1aa78b24ac6777f344fa1d788396177642c4099ed5462e3185ca64f901f626b976e15dcb07ba5a53e0ff37fd5491b5a0224b57e96e69516c9acc148873dc8b051c5bae24df3b1fc259a9d117aaf78c74f12cc51d701bb658037515b8eb0bfaf7ba1d2a300ab752cb485cb8d665a02f3a1c8986de23b2d9ab312284ff30b237264392f8ed2851dcd95a6c39e2cbee23d6c836693ba4995ff54f62621b908fc49eb704c5fee274bdf972f813821da5212dadaa12ff227af8f015c42406284f8d1307c0716db75b1b545d5256053e7f6ecd2ba35443a648e3d8768f709acb3cf938f7b3b813d8fa99545484a069e1b4996c4182b3c6df98e3796a19eeae65dd50cae4c99688fd6ae45e52e8976d6f45d86d8ee8a7cfd1b3118ea255b22b01749ee6d088d3f4b40af4ae504c6deb4c1847984e5b5f706907af57e808565c14e669ffbb3b41e3ebba2623de08d501bbfdaa85131a7ee9bb60993dadf618616a4fe760cac2e26a95359aadb374706f3e4213961c4729091bc53deb29252f169f17dfe210916292e74abcb935e77bc1b30f39affeebbf790de85ff78178fb038f4fe1c2b4d66065df53d22ac1209af4013811f1d1cd1e1d39ac5ea2df94aabc28d1bc21a2ac7569349c7f117a39ce013c8fe1191a21099897a681413d1f176039fd0386b995fb33bd2e165afd8448c00c2af6e710dca3f0d76c06a69c16be1adfd40cafb75413c220de459ef26e678b6a3b752cead8d608220589fb5928772bd1f25131691730ee8da9bb641a0fa168a0f51107289a46dbbb0bb438137946a7c2ee89a82a99fdc919ac2548d0e5eb4f54a8d89737f4066ec3ab5bb19dba8430ea94966808e432f0b87b6d6635604e400f99989b314a645b16365633954d25e43ac79ad80cc226b952d86a44dc4a71a2f4bc50f5a841f825f36747417591915b57a8f8efcb5fad444fb1a81e9788e3f0aef93cab34307c50561fdfe681fd9fed75fa8b627bbfeaa52417a18bf231c7d038e7343ffe5c03b6310466d9e6ace591358448f48ebebac60c4dd6596ae7228da6cad45d344a9f60cc84051d4be793ab0bdde42f0f9e2a437249da40fa2f926ef4b148e0a972073e1999db904061e1c97b781364f7589e2a7625c14acc043f94e85754d69248fc8134bf1997f4ba0e643adb84f6203331e780b5b71303945eac72b2ce952f665a3ed9aa5e8b3c35303dd15a4163b15694bc9559494e7bf052fbb63239fdfd5fd3b72c6ba004ff86dcac2d25a637699a19c0bad11e025493715836d22f7865cfea053249077e47057dc42515f75fbbd8dcdf35d0f38fe0083352714efd456eebe86c0af74f42975085ead265e3fc810559f9daced6ce6361bc2f1dc173a30ffe89768a13a3fcb08206bf0ab335bd78da8bd25e42533af1cfbb49bb01912c4aea2320b33198ee6768d5063e5d435b783725df1be0ca6ad29740122c195a385a61a3d7648ca7a5d9b1ea7efba610b3f72c14c2b577273e53877e6d63c0bf6bfe7690d47bfbd553af15f1e28243d8f7203237a12f3ea838516b5ec759f2c28832d2166860c6b16fb4ab6b7aeab281ed865e8faf53ed861c78d61fe8b65adb02b90580db1749504608c874e7d6f7862f2cf659de0c17345e786af811805c2fac467bed31b23d539342d15456e6156d10a6df9c4f5034db9953e3ec82addb20e28c5c2e7701ace60358ecadc1d07bc8e1a449566cce842a4c3c3e431685e5855948a6502bf7bc8183e36ff857e08a95fa9b80bd4d8307717747ae928424badcef7a23ad8c5a1e8e49ac94dc4f7ca9e0f71b08634b5bee558c8db0a8210ff9344635534d19d12f7a1c697e9b578d3685c2bb4835fa45cc5e924538ffa18523908a191ba43a42f6823e753fd179293777061df4592633321a86acb493819851d09c02f6bfbc7f3ceec0c99aea8b11c4388a858a11477528b3fc69be87e40095ffd55e718d9189cf337a6d48e5ba8abc315f947c215ac09fe682aaf8fcf6a7982395673cb4f569a4473d058fc7abe8f356c681910814b08b8ba7b71410895ca240d4a67bc60aad1a6c242900e78f694d0eddd6ede985dafcba948d19a27807ffd46e660a87fa16dca6ca57a0717840324d5b1e849bed4811c1930170a4023ab05a23583225a047edf4727e8067a1848d18d058e2d4faa727c3d3852ac32212cc61cda58ffc3a592d2ae8a395b5f6d035a223196f4f1d5a2c1b0c0ef854147d842298fd49034c0b79431d8bf4471549a4f73e0865077cd685185aa164a509f5358a36e995a6da98e196f7b349eb03652e8fcf57873263377392133ad3cd0f1cf8df2fa54ceb76e2b265a5edbcbb8692db1568af86fe818a3a4d0d66b66c810a3911f5de417aa36eff83ded47b5882274d34d85d6732ca588f97941d6985b86b51a3f52aab63159d831061e05994c392f3e6915dad0de9d88b2f3e0fe4d8fad4da3758421e115398c9107302a954759ac18b1b4fc75171451ddf9ed24438a5db9b1f76a4d4b18b4a5e002177afe2d66066e37f5e3586bd76588142bc269c4f045b0e3bb9046674a231bd8833a4439a87372720e74c6a22237e03352e38bee655e602b07b1a93066c18533fa79534f8332bafb0ccca2a11cf3e933ab26d896ffeed6031fd24450174eeb978b709c649d1f2c251746bc7b3c18f4bb15473a482ecfce37afa1894a32aa48734bcc338c74ecfa5a1815a01fb356673bba29e5fd67758c87faffb35c6e9a322d9d7653316dbb5965fad8298f1e076441aa53576b49860ab1634da891ccf81971aabc2776e3543e77e80200f33b66894b6bb977e5b3facfd9c0a7ed6ee321fba2af6bd5fa72fee700e6e5975813dc8febf7d57e2024cd556e55c286c29971903b8c3668eed6e0b462314876af59fcc89a8e2192b718841cb512bae372c2e6cf8f8d12bc65e505ebbf101dc2219b0b45dd07fbd879afea5af187423324bdbde672ae14bf8993440462f1962f575fe0edbf8e411be75b707e280a21883f07a973aa5972c3635843ddb65a804690507d7346933dde16fb65a32739e944cd0eb3f8a55f39fc2cadafba19847ccea85deaabc6d6ce293e46a992a108afff9c40cebc8985716fa81c1fd5ceaaf264897ffc29251e7e4e0c6ce6d4c7ff52c5359cab93e31db1eb7390cebdf5298738956f478c18052dcdf4f70e541d8061b71ca575a2c1ab55c676e1e6af531d0a312a2b4f4fea7bc30ccb864694f4162d47f255ada6a4481b95abca567fa01d3a69667703a9542495036fd16082f65d3476e370f47ec23c2b7c7e0cf6127b881c70965f701ab32f70ce08b151c1500a0dae02a6d29728dba4fd69fcab36d3508e088906850acc3aad172a45827277316d4797d9cfff83fd90d7dfc2b66d3ba8a799dd03c7e9c30bc539d3fc5ff5d622b402fda46c170dbfe03802a628a2e66ac7b52140acfbd0e927bc7ac8294c21018ab38fc91d7148d195c8cc1ad0091f10914b35379fc2071b73c1cae5a9dc8127a7eee80fbc7e0a9a7c6f95e8d0dc99b44f425e3393adab3077a22054a6eaf18c52028f15b33ada087427a428c516bc4e5cb7ca7cc7daac329ee2947371152306a3366622e2ed7f04d953e74fa33ae44657ab38f3d3f6ee018120699e2ea75eea5986f8e5ba4437dfb23f34b5e60ebcd57ef04f2486fc61b6536cd69fc1ee44ca18961d490ad515835e1122d008dda52dde933e8eb940d14670c24494ff5096b316081a5442ef352c996f89522811779ca9a70b305e782299feed719f902030712ee43a0a0072b0d270d2ecef17b1359338cde59259c4270ff23f1925838f05b9d284f2c913997c4fff2f26f08365de0461608a2c5dd255380a08fc4ca18dcc31266f7d26a519c23f4d0dfe95709695ab0202e5fec330391a351c652ec5e84fd8a0d05e39c1c48c5bc4505d3e2f9bf4d9fdea56903e5761428bf15805b5e3217c43201693feb830562c3da3e003608901d683f95420f73bad58f31a18874e92883481c32d86813159dfd7f5b80cf3b3dfd5bc337f367afad30122bf9c12da02da58a15ebe92f2f5947a61a799f55dea14f7433f392f3de9ace0a5eaf765da30fe2608d2e0b2af236a3110f8a8b92017d901d6cb072de0e9a1c5e32be292ede7c0a53e344112e17c71e08cbfa50d8f74447f68fd814ca70b8da120d33497b040dd784d4d63f02c72c41815aefcf3a54a905ab68335afc3ae1d52c37a30381a631e40a67868cc88590a0800bb7f18ed5f63801b9f9cb4a2e07a682763c2bc485adee68512b90bd30beeba0d782c9d9252f27bc1877da4bc2971037a135cea29fecdf35f541d7b4e87c89b7c0228ff9818b22d24c55f8cd64587a695617e2dd68fa0e021da297ae3787e6f53b85f087ef78ac93b2e0c5a0fa190900fc6fd8b0ad8db582a42cb7e9b3973bc1a2a242fe661afb61ff3676a40f12ea89df875d2e3b2ff3a46abdeb2707f3dc40f7ed8fd9661a36b33fabc08e4994ebce9f48c60214b9284f767dff39539e1cc3cf2896f58a4b76f152afe18814d9443cbc4dda1d588dde95eea210cd753bcaee7e8ea2b25a4c5cc8fbc94b8046038cd706ecd27bc590a0514d09817700a5d26992c44201088270eb6d2af3b855d8f49e5f00780282dae9e2495ceb2072409fba9ba743e3a6a65faded72523438d6c89b7245e50ef46f2feadc9522e474fbeefbc648c4eb079fc8e9b71fc54a9ee4dda5b6b423c8e2d159e929a6a0ced0760dcadfed18b65ec94ddf677b6d226ba2a15a1ad1685d5e107333c1dbd1abad0f9d375e3a57ff37879b9881fd874aec194a524c635c26dd5cb9ded7e73c56982ba947fa3ae8a6010b568b1a27cbc40ac5ef66d6d77e909a1c4232b435d402e22b6c82b8217ada264ef6a4fb6bd727bf08752c9cd73a612edf9aefa19c1bedf3721cfc21ec1d194ce4dc5904d2648f5736a57c006fd9d9b6a76ee28d0ab3866b4853678070de0867c967706ca1d496bc13cef4aa6d8c5280a7ea93c817a8acfdbe7bceccb5b55b7b978902bf4ad8ea8e99305043f5608dfb6e7afcc7322d30b1700badd4c90bd8044a08ebb96c3bdddffffbd1dc98c222ca4d70c420253a6162f0e92dc0636dc644f1db8ed105807b9373b07e95b8a3b2d6601244cfdfeb573de9fec0e06442eeb6a1f140096fa32b6c3dd42359157512b358314eb493019d7e67c886dccb6901a215d1882d9962a9235ed0a16b52a078e1602587da73159ab35cbcc37b2c3d3227d57cbb314aa244249fa31cc9d37bbaf9d219332c770a94ee0a88fa2d6366f5ac8654975eac3d28a244085f8e90540f4849b9c098f7ed50de2f9030fb8d9991f6ebe0171b5e224cdad4f66cb964feef87bffd0f531d68cdfab30351e17da64ce4a061868d8d0289d02f1098423d13967d4f5d4278b736ebf21a9a9b964af0d7df54766fa29619c6a87f6edf93ab9f8564d4bd17e9724c4fe4f647dd7151af768ca6965298ead4f9bfd59c9d8db14db9590660f6c33bc9c27fdeb29fb0f13570440adc7140c6816be2b9f66c28a1ddb9832eb042dab9f2fce12dd1871518e4a75636d15ded8664bd41b9b1e6717dc956b815f184f14268085b875aad5aea87da8455fd4f575cdf346a673e610c904672fd6ad4c044c906561f41ac9d370e3390cbb8f933cca40292033ffc6001c45017d8fc1d04fb0fd71f06590e9e15c67e0188d8e9551fafb3a5767cc817066f0aa2f1b7e5e1ccd813466df10a1a2c784ee597c56fdb8860c3d088f257e7a82f60b64fb3a4204acaa5b0d69c745b9ec16412e477fbfb8380098db2d255a8874d63230316c675a629b2a9dadb276349b6f336f739655285004e68c3c1181b96b16601cd6326f90a632af5b1a6e46c5600f9b97cd4d5cff9f472a895d7f46a4cb5c3adbf7bddc61fa6c662bc0fe58e838902afebb44e3a060d0247e0e3d03bd0b2a13204a1a70ebfa0ed0be1e23b80f17fc5f5404978d8b66e80c23db05839f76bae3e4eb53cf08222940a95d83a6db5d03d9fc9ce0b8223c9b65710202ee62f6af11809baa4b9bbc2cfc2d6ab2d3bfb97285551f085f663f4465f0613249096efbb6d8b976fa75588873872be2cbe94844acfd84ef3e1074f2ca3270366e1aea383028daa4a22117b564e3d9d00bbd31919ee3f91fda0909d78efe4dd4e3c7168225e19d5be4af9a43f149d04d81efa7d3a7137f42780c88dd1c1eb20c7c09ab5186106aa040c27ccad9c3e173a61d8061a2137c95b8136c24bda090eb76e11123dd968c470d74bf5f28b94fb9c94a5e4ecab76ddfbfa3acde47d473a86dc512eac43319c0f385cb9d46441a395f125c6c1b7a5aba0d99f17d33b988839220b49681f1d1f04eab449fd49a6af604f161decba5b807deb7bb4d76691466544d56107a75bf7bc6bc68710a83bd0e6bde4328165816937ce6a6d89ee89d53372c444637c594bd6a2e6dba27ccd0afb8d21eedc80f463dc2df1c8b2826803a144f6c8a76104aec8faadf9cad89a006601381839eeea879c063a4fb6f01962ac3e7aab3b41b802145f4bd754f7ecca041e869e7b026c8f1600fd542807f66a53dbe90354e34e833f7f935ffa0da0c400d7398b4eb54ceb9ae87cc0571cdcde0a6460841847da656979e0b573559d7a3f51cc6c2fcb0413d730a16a52cf3cb90b4e1f61f9615115fa903de573d116c226a2b158d22f6c6daa07d7cf656fed2a5217ec7a75d86e2c22ec96e6fb0691cf6d6dbbdabeae4f68105311d16eae1eb1c6294b53f107d85b949793a689b206325fa3c0985f322c8a4334bf6459d5efd34bf47905c6c2edb91fe28a7ac46e266bfd15ed7ec5424e16c311b59e96b2290c289ac3c6acf70ece7d01535ed4961b76de3b13a91cafb8b53ea3299a117913281c124fde987d90d7504e224e78a313bda5a04f7061888b509da5dc22070b661997e7a757aed0ec5c1f961d2aeb51ad8345752fddc8283644c45162be40276551224c32ec9989a1874f4f761925331afcc9d9f6efcca8f743e91fd7457e370e27ba3253d6a93d6f1a05f257d9c5c5eb1b609e1e07ffe5248e1c06c61404987500ca3b276050e69c9c49251bead84ab97d159b4c73798f900aa37cd5588b103514fb51c2d35f725d1c191b8c6178ae8af4b49ae8b2c0ce641f3a6144f2397c2286063427531de92685f61baa99e4db77662d2c34833393b3a85c260277d71159eadaae7641b2e38941771b6d3fd7ec7293a572d2ed7057e95f2ca6bc253f35f7b437413fb91d325ea4fabe015bd2dda5b82d9f3234889493e3eb300742869f9ce7b80bd80583c6540d650166129af801b6d17a4fea0f9df5692ecac8273ff15b09ffbd1ff869c838587303e30e17c8544cf9148c8c52a1a50562761d461a2ef114d99eb253553b2206a035e842776b581a94d38375a2e8d8784ba0b3de520cfaa39730de50411cc0f2848cbf2d23413380821f29ef06334a8abe3d995e4e76f63fe911aac7bbd383f7c2a6ed8398764519075f582f770fce67d27bee500d2bb13d08b3f0607dc1d48f37ee68ae647c65b67567d63c3ab03b884dd7efed9630eff9365354d0c41a84e0ded20b80a5db71d585f0e8ce1d32c9a560c4d3c2b0fa9c7be1834a9027c10b57799a6353073e2b4f166277547535ec3c4921a5e32105cb8cae4692d6a9dc82404fb215f04366a07b92043243cc0403d99b32dcfd421e1f801ad3698f6474520e55d25900159693a2a4409e9e2e9d0b3b1d4d208d90ed1b9bc067c6c9aa7d60e08f13422c0504992dbe7d403572229a160059cf03f6feb7d4a8d5be80f83db6c78a2c5dff9694c8b26fad32b513f96eaff495738cac18e03c85b51e00a3ad5973a76c85fc07433b99351f77d39e73e2490020fdbb2d391b908442b4562b981d2f82c68b6b707b7d1fdd4738d214d5c1c736c4e27d85bcfb37a5baaabeec7e838612885f0c8c43b4b8a9fe0145f03bd28257f360e05645a79582d7e0a732e8fbf2dd262e94a1aab3b6468855dfd2b89ae966192570895af5ee0befed4cd21d33236b8f8f6abcb15da544384df1b9e07d63fc136bcd5706e024f2b6f898c447c4e4c0afada6f2382e1e51d9dfe43a6bc2588504f35b7c99ab2578272fe1d81a3c17e7e4cbc76f36f46ab90d8c980762108dc1c2cb2a48fea664ff870cfea2aa6d2b8e9c2e24977a3e0c358ee3847f1e3d8ae3269426c2d2c0355da6346dd10bc17fab8f9129bfd9d981cda5f6c49b4b5ce3eca73a34a1f4248ea4e8e9efc1d1ceb3bf12cb552345952b73ba67c0ca36271c1dd49ad074937d70c9d05339a739fbc98ec8145257e1fb8b984c1ca6f7bb0f937acb026dd157b545cfd6b0d08960b1469daecc08c21f4d56d57c9c4e9f749acac80e5b86c144039c4a7f42cdb161d30469b723f26e6b4f55f6602f3096d8a7ce1e08b248b8ec5832674c55701468c5a61c6c09cbf122d526f5faa30b5dece437605e44e2317ee513ea5608c27c8e7fdbc82c8135f2cba524376d476da9ae41eb88aadd5766495aaec77a83ccc2edf331a0daf6efd5008cda65f142f7440995326f000c34b3336fbc5b6a797412277e7d267774008fa32b286af69fc3ba5df1097edb1da3c78d9cdec2572c2756ae8dc9c0ac59a4887c35d26f93a3a23bb5378c4ef93e33ce6a66ef93b0bd0e472089c453c6c41dd19c02db5a0d308063c021f3535e3ca91b0a2dcb5cf6269ca6ef9e9e8cf9bd0bd8c840da18524d3322d0be1fd567518468504553d62632d1c590e43dd3b09651bc01c669dad5a8781829dd060843b844ba3ae95f0ff37777f179cde50d321b28552f8d9f866b46fcdc6b2f3b140902f8e00feb3c3cf9551f1c2e65cc321a018fa62d0867abddaaaeb31fefacf0782df224dbb8363e704af96e8045c8cde07ea3eecaba83cd537b46a0ca63a78734b9f805d87602903b58a38004aac5cffbb2b91fd94e41c5a1286b1e4b7bcef9462605cf9a7aafc8828ebf0c5485967f61657c90acd4ad32c2ae42cd2e43aac932c71b1088ff5e0f9bc69db0ce8d96dd91d5a82ddc46d956110e0c45448c17694055e95475f955a37f2151f71b047a368bac85acb0ba62e7f75e711e01afcd46922af27a569b4de6b52e3b2ab7cddf911e96c4e8d2513c709186a33c9cfdd85687bc940e619245e27e23a787ddd3869263ad448f1a4ced4bff91e681b0dd47f87cc35569aa3c5be3b62b30485d0806d11af5b55bad105575dbce60ea46b27a75c8eb83b533424fc1ffec6d1eb761cb9fbfa917837fd2dd89d8d27297727706bb7b480c709671e51d5c5679291822fde55f976c76cbe4cc9af61ecdf0ec25c468bae3527643a64f754d11104a260d7519be6aa6ae187b7e275f504f25477470126e37ad6230e690586683de56c4a948f62fea7bbd996de355e56c2ac3e5a59a46fb40d8d941c55b7e3bb5fc888381f6bfe4bbb68790ac049419981243382f954858adebb01f1ed56976a19be9174ef0158e3f88a5a2c407574d893863524ec3c3abb6edc6fd74b409e242e2236675c37bdbb554a360e4f6ff3196e1d805687797bd1299d606f075ec7a49ea0f86ae4ca67fb3f1ff8a41f69766a2d66e5d39b7f1d3e62fbef7249163246b3b76c79a16daf98a361a9eb39a3417968b2a4a3f6bca203496a35ec0db9b56f307a30c2fd129024f43210cf49e56af523078249711e0fd90d6cc3d7809a0121f6921a9f453366eebd96649d3e7b6446a192fe1f7c37018fa005d636226c77b30cf309202be90beb45120f1f27f89b9ce53ed3e9d36d7e285b9a639b78e92685d3c500ff81b594e676242acbf0e25aea1192c097e1bce6833627550333ba283180801cf4f97246780f8e17920b44e1478d6630a13ca74355cdfd26c8430d8439e5039687845a8b0ee3afec27d17be2951576c10a6d317c9400b8780457ae7cce1a2bfc494de87f0582d29b11986001e6e724758f4d5457dc6b9cc03d0437dfb9855b22727b43d5eb1e1a017568b74e8155cbac964837beb8208faebdba053dcffac7cc14face4cde93aaba4cdec2d5b203f7bf4be6b6188fb54f6b7fa6fc28cc4f6b209cbb91442947d53d2d07741fd2a118227c0881e6bfaa721ea380fd4771156ad9edbc041a4ddc5fdf94cd6b3ce1301976b5ac3020208ef3cc029d1465536a98ed36c1f03f51d6a35681761aee8b9ca10cc5f409198f95605deedeec15af11288768a8747d7a9ef6ba1e9283c2efc066c07feb8b03e642a6d1c856fdc2bd9c05c9339f91d3e13c7172842f991ffc77d7fa0ca565e49ba8ba55761126f3ca9d231f312039d2926e31aaa98229a8d591ba7fdc368bfd749b63d73f09b39be37adbc9435d6eb59833a1aec39bcffd3d0d098e1df5132b786f2ead7826896598c35a24ea03d28165d876d1eb84372522e22051442437d2224387234f3ae04e544b33bc7ffb92ffd81d3c0e18f1e7f74e4a28086d188337efd551a0907444b7a63e730718bdd0105234a13978d27df6a6c6cea9afbcd2bf4156b15f7bfe268ffad5308328d780dcee69d1352b42fd7684fd7f5df439cf0d89d2b53de6deebf3d65862d5dca03c36046110ac0fe8ce8b3cfbbb0268e1e3b93052455575cf98b6f6535b8d9b2cb669c5c8fc0dcb32045d23066eb326b371c06112eb7583a0b3a8379a6174f2c6e537da51267c3fc1e6ff8d1d416fa800f55451dd6bcbb5ad12b556b46eb86bdb1c96435b8d4eba0d8ca9c9fbc8ed7b31ddb476239444af453f7c12aec227828a4e4116714f69b56a9ce8a7ca7bf182b6f7d9dc984b6ab2a16045f9edcf136a7581af0790724396ca055aa880458b7c54903b49332d78ac9abaab9b71f601fb1b6556ee107be55ffda2a846ab278a17e5ac98e8ed8dee21eba450ecd2047563785093946e032b376a6269e6965763004f7af73a28c6a8ec71726c376c0dcde2550358308df63a47f402dd8e2989e0f52f88db1c6c458b3c1a37f682a1961be96b063df85a186d7ffa2599ae486b93a45138b0821ea4d5bc0c38ee6d741bdcf500dd894a49cf1ac1ddd6a76e1357b06b04dc7de33942b11f0143f0e524e2f6e02c15fa4bc5d733ae458dd87253f67877af1208e8a8896e8a15db9fc209ea0cd5bba00aa3f0cb38df213a8288427edb8a78ad4ace3047b9ad26f1946011297c990689a7a0939ff502e1ae9f9e2dd01a43ccf56573ef60ef70bed7d8931015a7d7d3c74f93e752ce6b8abbdcd0eea569beddbb543c74a026141f66b56289cf48371a6bd9daf2704f0613d572534b8747a0aa3d9ba5d83bc3277e92e8139e9813bcae6a95b7e12d8c77a6fab261a1f4268847746e0af7df569d2e6b998a1f4276b31549128db26fcda7705ab972f39e047155379b8412dedb59128df0166eae3e6e82c3a712469d32fe617a5f7a616f319e009e431ecb05bb64200182c4a8d8a436820db076ce2696074a09add5224d4ea4a0a2de73b695e046a234cbee2a82f564e2d4aeda2be4afe3468c18c79b9470b56cfa196d387af8fe2def5c988e0c0980924ef50cdd9c8eac3bfab634a7a0994f66131902013342da8241e3a6e453c9c2c6aeb9d1d6b135be60b2164773ed724fe160d6310b6435e1083fdc5dbebd3c88105272d0d3dd69c95e23a2da348bb0a83c75aaa43599ab4716cf1465cd280d15e140b5f31e074dee71f786356e443bc3d77f8098e846076b49b69c18394d66d7c4b127949f32401f43a67b4a98767efbcfb5c7aa9f5ea00da9ce3bfa5bb9057837d33cb1e9d2094b67871e84c2e5e0f1954349ad01d71d34afdf690bf9594b3a46ca4893db7b3e6a5eb2d1f80649ec1818b0bc48814d9f5efc672fc814e642096734b0a562837d24be82c5e6b776dbfab6741a82952c279c6d6f13b36f8935408a01eccd53fb23431de030ac06c36f027652b7428f149deb8270fa726a73c34257f3baee4e550f408789e327684f9bd9bd23285ddff058fff123f78f3b963d92ad13b71b519802b814c0af20f923db0c00498104e9ee6b94a8c9bea66b5bcfc7cc94f7ff29ba1eccf9b690d27bb0c629a00a18bb3729530c0d505a22d7ee75da0ebb1f5fff940b8d2bfebec646fbcbc3b0275efb3f7af83ce18e0aab9714189e5fb24e590c519731a165d5cd024278291edac2e7550c35ca5aee2fb9ea95ef544b214a3843005eeee187a772c0f62a808479d61cf1562769062c94b3271b82f6069d210066be25d33088537e249015c94cd207075595abe04d8c555b5a42fc1ae2c62a920112d712169f8d5e60f8b7cc2fd7ca2c3fdc8dcb25e8b138b6235bfff3b1f13c5482d8de873dc276251527095823c292afefbf993ca874a800445c71297165048bede2d5ab4a73ce517f9a19f83c7200d4a6fef647ba217c96f939296ea7bb8db81556967cd416ef9ee29d5290e46d80ff95f40fde7ce3b8f893e2a35004a0a7a46813de23a36162f52867386900e878c67e9d1301a9a9d1b2b80fee9d6a2da65b20086e4eeeb44ed0ff574644acc2b8c8421dcdfd13a227cb182e51f83682aab84d0d0cab157400923424370cf053bd419520184323fdf8137e57c1bde996dacf96c4a86be23f0ef852c57457d793aea074d0b829622ee18ec374445868d53a4b31013db87981d61ecbae41d62e552440d7bbd70fea398e6a3c746611890e62079268559012c2820f52b7ec70adb13cfa675af2c187d50bef1678cbd952baedb72cf386f264cccd71a33b4c85e8c72107b1669a02e66ff42a8ac6d72484e220590c345701cc609eb5bf774a1af96aaa4f0c61e57365a5829d806a6d5a2247b594a71e285f47c5d4c48f9dfbe482256eed921dd866a9303844830678769c27e8b66b51c8b02335a1dd1fbf780c276fa2d02ea123c4986104fb98e5662146716622485d4d489531f946adc39f0de7bab262c47e70fc46d9af22c092f28e3b2317262b2d3f35ca4a21665d7769d0af752c6b5c6a80d9d19331e34d3cb5b0929b4be3507708ceeb917f1668cdf1a38e977e6782934250782aff59d4ebfda1c4b684def763e2266400f53ca7c37e1cc6c4d7542d509c22c8c64d7549a171355af2a57e4d7fcc12eb6923066c4f3abb91edf73736865f5f22e0595e98f67cd62ab014ba94c8209a80785405c623b00f47edc8324350c5e197083b4a35392b25ec8a9635ad35eece261ff045c3f06ed16fb87cadfb42882a3211dd54d61d5f576d09107a4e70b3966cd83f353c590029d1308854580ffb0b8e9f65a6e028b85aca856037af6b0eaeb518f89caff2adbc04e925ea27c602e3d5c797819a1d1c14b6210c52a507acf93fa5ea48f563c6b7d2456f320d671451c0b669a674e90bf7e493c3c9e60a5e43e62488daa6ce62bd312865f0a2ccc744e41afe9afa6a291d317f05053953af8f592d1b50a42a7ea84e70c08e2b052fe7faea2184be7d7fbbe14ce2c65e840d0303c9c6596150f20d1fe5d0ffa02a0b5e819bf458d75d89e7d08fdba3b43d3c01e36cf7133bfdf1ad40e8818177ccfb0b6b9adc12dd9865aa5af3ce6a437ef057683240b2ed03da70506a30bc52194b7ac41d1091d4e0441a2d135759a47f8838c707e4cbdf75ea7a7cebb66d850033a7e6ed61c804c7dcd098d97b10b1b49197b86c787fb4432b4dd4a2b556c47feb12fb4f9228a8fd3b8b1180f639cac6ecd477bd3c1ff24939153b4174e22208a4ad4eba5dc01d9612af691694d5d6783afb09387945abb48bee4be1bcb726d959def73bf49066353dfd8ebbc17ce2a33929f41f103666a0da137d415d1c27affee89489ebf6da03d47fce0d327d5f5ac519bfedf5d7c81be5e9ac3a6eeb7e091e3832e115be205d648549a688c05b7fff79345c69bd75a7b394b249eedaa004ef1bfc4741c2b2a56880969d3e5eaffb2344c225e62a4f2462c4212a8b406818b8a909058113fe62617893b31da3502f9e7b02abaca733260b77492d2a08d4f5c42a11af482d655fa714d87afefda475bc2f3323a34d325f0671d5366f7a8dfc014092302ab0fcd8b7fe1affaca331326e41ad26c151831c642ded15bedb2099ddfbda0d36b5363acf2ecaa26418d947913021da23dddee3a1c20bfbf9bf0d62234a504967a62fbf171554e70669daaabe6004cc6693cb151fad7f80d3f818f2d51e4790c3fb4c7702390e0fbfd860bba1fdc9a22daf5234fc496ae3801c7ea43ca3629333e10e20d1c1abbaab0c1266b5c5ae8620aca707aed9c191829b2a6ba8c3506e2d6b66439dac24ca3573f56a12f3e6d21669c2a6ce2a9b3bbfefb7a431ddbeaf03945bf412d4889b73b668a0c633dc1c31420ea859edc893700fcfda5b004cbaa8d4377ee1eff7d2d2b06fd117122ddc6ddd7ba34f6185ac27a3b6c7d328afb99585394a26cf46f9f2f83b757cb5f53baf195fe0af786b44b92801955be3fa4f0f65436139b1146993308f2c9875b4a7f00ec506e4273b1e4bc8c1251cdc2fa2212aad173d43e8b609df7eb321b5eee46a31aa08226aafb4bdcd7e8aef024c0a50aafb2508fa758defcf2fdd02f439c0a8d8e8f692f738ba8bb58a089a42cad97cd31ef766d7f4a7ecd5fed45dd897c8071085062bda97f4fe9e89fd188550ff1fa2171c236d53689626d4117bb2dc7322b3ab08a4d635ff1f1588017ab7e30717a12e70a8a90e37247a5586b528609204b819ae644d5f48b4533ae26a2d49a40550b823d86fd602c3a467665c1534a9a8e214d59336596342acfe96ac11b5a9f523db22d329be9ad6ef89b1192c57c6ac677f89800cb4c8c67eb176b0cf723e781963e6d583d0b7757082aae8825d3fa0cc130d7c65884e09054cecbab8a15ae0c650e0591d73ca660ae5cb05ba6ce348823410d5ef157c5762a64b98844a394c0e79b99a67747f849a80310265749dfc6135fa3cfd493c368a8cd4c0c7028c6b2f8b816d6967fa37ad2efd1f0bbe27adfa966b0c8b93053d32eabebd545c7e61a170015f37258f8a824c84e870d2a0cd3a58184efd5920740d7ddbc16dded62f75bbf946adec2274d749f952de8dad3221f209820b669444fc58fe75423dbebbf26de9fdf824dd0e85f1d55dfa23acd69f8fe4cb63f4c7bab1ef9b1e286d406b6eccea9f5072bc9cc98bf4746e3c265f7e77e41632341f44af5d6fead5b4de962cc631bf6e63715bd6e623f541cb84ad648284493409a93d2221925c42a9cf2c8f95520a801efe0ae857d3d2dd3133cfe6e489740b54989736c0458bd15498a215ff766e0c9c6241650b82ab2d573371209993db93dfe229d6d8049edaafeb05b707b290437fe2e49c80dbda5c295756ab01b4397f0e6d9b5e56e74c07c7ed6e46cddb6e61e1b610a4930fac23f15d4b53c41c6258a1571214dccffd110e0b12fc08386c8b100ebada0e950c0862d224b392d57958756b0526df26778934d7aec52975d26a16a0218addd851a16bcd7de4262ec34ebcf407fe3ac0f432040dad9cb42fc5f7756e60c300f9a470c248b4b2bcd8cc54086cdd28c641c9ddabb72687a88f823387c841ef4eedfe63af226b14e0539dcc68104caea39cdf09cb1c3d7b72c7c17dd1af824e6746fde878161567ed918c1567df4af08b011791463c4444a33adb464cbf89f51035b311170cf793235f391e5d70ec7d4ef4d19a5c6b1a867ca0a4cc469afef79994cac53c5493a78bf20d34557fc4d9d80289a94fab2b2ef2686834e57833e2e23c973b5afe2d0df887192e413bf96de6e68df549f759644fe4ab0c74fa902e7c23355c996f8ba3511ab253c83484de11117c276506cd3dc057588257ab17f08ca2a70e248264b4d0f0ac74e5ccdbda0fb1f808f277f7dc5e5690da3a294efc709e907456fb634176b55db07fcd0882d47e9552c1f0e457a0ad25edc122b9a3bbaa0c7f5c6d5f386792ca65b7f6e140b127f1dff1e5bbb619a475a8d51c4c24af2145d22b5e89da3cb07c35d9d766084e7e63e01db4934cc9c953508e5edd7a847919a3518c13cca3545ae7900a1989e64a00929e12213e48158e3865f4f4ed3d879e0fb492f527573406f930bae955fe70e770a7641eaeaae7ae5a4a3a0705e5a54e6feea8be1089e61d2a47ab9b3435cc58c1c8c3d2a5aaee1dae88754b8b0ec3e7749a4b1a86686667d186a16ecb0ef08462cefd2d32a6c875d89d3426ab2bf955df1f66e64d1fa104384900983fc88d30f7a24d56d7e3db9fc8f03cdd9b7c16366bcb93683afe2a6c8638c11a438437889a61f1c7d2b2862b215f9dadf344d1a37f940d5f7a8ad75bf6eade2a65ca9049e6344834c483e2f933b7a536f62af7e955c1674fae387c696b8c0d3ade89d8653b0bc0f9b29bbd817efe58a17bb869a8c797984a8b6e9d124d2feabe0a2fcda3336a903df49164a0e9477001f66a885d6659248d0a6862532ceff580339ed960d18fcbd5e7018ab3954e831db5c51b6fec4818f738ff4108bef808ab3e7e1133c86c52d7c66c35b578db25f386745f6ebfe457aabf1b2fb063b31fed7abfb84a3fdd743690a71051067fb76efadc919044feae60fcb4a07cdaa19b8a691ac6dd157c731685f70f2edeaa5ec284fc7268fbc54416065e712061ca85e0292245b21e79cada2ecae72807f118ea45cdbf8318284c73497c5be1cb8d8eec0d30e5696153d45d3a4a4febf8a3878f19e239ebc1d531fcb75808fb92368612bb70c947f13052fe0f22a11e318db52302992fd53d0ab348e32ddec04ef1024c488645692ae5c644744dded5f4efb92d38f9496cbc9b723a03cd854346c9a44566f3ff3768a7b40285fc84e6a174f49b61f45cd3c939a339a31aa8eb8ce48a058972cc422606944a53c861f270b4bea449d8f6dc12bed2cb8c787fd6daffd7c9791c8ad92518465e3eb814de07246d2e19cf617434714a035479914bec1f6ad4911de4875638edf73d5a0a81ebede9bf1f4e3df7cbba3bb6ffcb319197b8da3e169ce9f4e50fac2e40e916fd2f1088fe0e6f6947c6ab1db7481e5b8d1c2e7b396d09842df0dd871e7c2573a106ed90ed9dab5f95974f5b7417c3ca8938e1ef2c479cdbb41831684905c75c0dd4e9a47636b2b56ac7d8cf016fc7fe404308aa298a3867a58c5777ae4175959f15dacd5976bf3ddb7f1983a82b0e11f7e8ff6f62f0e0b8d04b993201eecd093509e5256f854d25304b0e66ac2eb8bfe9914368ad9645af3107ef8407033c1d35d0fad28ba3f2895fa50efb60b8dea3d1ca16b489488b99bbc4b8edbbb7c7705228109e8d107d375ca3e6fa8169d0997293b861f92c277fbeb1f29f58a474545fcf721c0db32344679a7efcbbfdcf7884a4bf46798a8524c9a9baa2abeb58a2b5421b4813cd343bc3e83e4a83507499e53cbf433870c89fb5e2e528f872d18f9191fe7ad28f4991504df628bbf9b9568daee458fc0cb30919eb6390dd9b6213c74d5c4b551ab8f89b42feaf0451a3b9414af8716697ceb2a5d67d791c92f759da3e7afd6766e73859011f4c18720217a0ac80f941b1e5fda2619c59b2ae2dc210935cfb999c4479bb571bbdbf483413d4078de5ebc40e690fa1d2bfa858a1d8b2607403f4fcf66c351ac30cb825304ba8954f6d1a61606e459e743a5b4dc2e33abe1b62bdb7f8ab67ebbbc296eb453dcf02ad8bb16b83aa4b62e817f66696e158560bca14537ff70ba9d63dc63e1c2dcfb78b1c52a98d2f4320dbb61c86b7df287b49acf33ca9f99a42c3e64ef37fa8bb828ade3719c99076d0ce00cc3e3142245a566683298d7de684d06e684fb0f74264ea7b6fa7cea503e864be7cc9905d83b1721b304d326ee328f49583dc411c592de7031f83731c2ad35470368f7bcdd581be7b7c52d3b9faf5a1923d88f44c41ce8682806a2cfcc4272a09167449066fca7b0e324d0c185249d52e1b557df38b66ba993d129c855d0a10d1c80c6521cd4fff20bac21679a92672032f3eaec6b1bdcf150fcf49f341a481b354969015889488c1106dad18eb7de206e778408232ea379c2904eced5f68897ae7bbbe66f82418696b144a6d4341454b62a70025f50fa9ec29cf8ad185b3c31acfc4f6c5570ea3ea2bde3baca04c359de8b15a9f13c9455a5b87f53678e314c0136d19bfabf1b5df277242b0d4b1baff435981cd5bc4633f65655e9cdd8e0e37a786c06538514eaa857f1284a3b58e860804bc026477140accba5157047790c780464e59d7050d9455a54b1c14c15716c967c1d51e5e5fc93848f9e5a2f8567905de099589926d86c9b7a2fecd7e3ff261e214dc8ad145c0c58adacac0cf4189bd58895f8b97c7a67ba8bb6e09d496a085c90d3458cdf1fdc95e7f1f109cb42aa4abcd5358b236e262f2fe1be89834aadaf5f5d24ec0ba487abc1ca701b5bfb819a6ae32e23cabfff4d44c2c0d0f5f6100a1a6f6331a7c094484157dc39ed9629103247cbf29514c4574a9580a88a09db7ee0893d9bd0788ab1586c2e765f2d1d1ec5c67408b3ff612a5f2d62f9ad5f5c0e1d05865e8b2a363d5847cc1ed3ec85eb9af60f432ef4f1b18e76976dd32ca021459f74765da8e33d0aeb375b6f32b51333453d472d2b84655163d2048d7b87ee9c52d0ee5fbe0c387fe3d4b75b70c80170720f2add0408f40819ccf3ee947678b9b65aab8cacbb01188105b3b7e23c4fbba11df20afcb8f3940b6635cf6e504406e36b73243a4e74d84e1d31363970e2499fb949a153f4aa01a5667757988c8f7418469ce9248adb7523801bd49c7f5c292662552f30514381830eb8ea13ec80641a5d94a6c67f292d324cdaa1113c76494982787cc5c59e8d8616405e2c8d52f64ae3def83ea6fb49ad405797536b7bb47f2f3628ac9992dbdaa7711422b9e0cb6aa97548eef6511b38e643bb309f45b19a9822a41b81537ea5ae896d460130c933d828fb15c3369c50a3770a52c42fc005bfe442e6a1a40fba4890bd3edcc1f14d31a3731d90d996490cd8946d4ee5a6621b9a8d542c3098c82a867b666d0b6f47f6f3171a6ffbcbb34b2f777b018d0a57f8bacbfabb96d1baf0ee2ea7465d6dc2833109022a50beec8cf493583e0571aa55b2bec659d65c0a58e84735a037b592cf2645ad5a65ebc0bc8f7e4e1e18b02620ff90f81ed417346eade6c1fa7f8f981b1bcb5af06407564d7f9bcc1c50e335e10dc640e5ed35c7eeb81bb4d0de8609eba77fd589628b4c53272ce5a3a4ab2fa0e9a6560d1aa63f7953f9d46e6a87156d0c2a7eb5b00653c6fc0b8a6f6fa655aa1c1603eb53de10718312e3d77638383ebd5d6547f9cf84d864b65cc33a7d1a256a4271324748492db10d6f5778beef8c53acb265f4ab1db93aab44687b64000d42d43bdf53bbbcfc7a6f9dae4ffe04717ea7354a1e47699f608b921496bdc9f1bafc401bb3cad58c369b422c0f2618b479ebc1529a2571303c949b0386b53ddc7dc143acea1d3e7f7076614f985465d7a30b7eef3d1728aca04bbef7b9f7f6545c5070e6df6c9f8cf1d51952d03b47043f9407365be9ffbc31342d093ad6549e0bd6fb7938d24a5d06d45088d2c66f1006bf6a25dc8c939c2be0171dc9ab6a85d02705262c50b633017720084f33310b564ae6c9373294134705c159e4da5e33e158b26f2a056957227cf4d0527af18279f7b6e8b8d3baaceb0b46cb7dd7d555ddb7b2bf23e4643064cccda53f57d848fdb3d54a420a7ebd54093c04e7e945aa7f55b79b1c83a8c8ea43e573e75a3648c5f201c9f1f0a3405a826575d335843c3584b8705bbcb73673668d6b927ff3d0484e1d9f61c86d3f6217b17910aa5061d983701e96a5f522b4af8cba0c514a0c21bdb5dcee5627b977fe1b0d7f774bab1201be7fcd78c54a80b532d19f569d65681e4231a88420536322db62f33d808711a1b822eeb3b2500c172f72e50754b2af6987e1fa995a08b1f6df938f0ddc956ae6701d8a2c38db59f809c7b5f3fc07465460167031df915432b95df96f4f40259e294fa265df4c80bbc8b6c8216717682764aae7c14ae2b7fec1c828fdc81a081e7ea02f1664edfbc93c48dd83c27c6b4c84eaf15dfcfd77c2cc785968a975823db84bb1a2f4baa8e15002371edf055d863b229d15676c2bf32d5c1de09f639ef04b77ac59acecb0fdc2a06ab5070448b90971ca3d9711980d3cc1dfc074c841d2e62746d9149aa689a62d36e3acfe86151d14360000c41bfd525b827fa12776caa230143b433beed9fbfd0cc6162b2a8959c72da974c179ed3718126ca67f3c748316a6d7e95fd4bb203851905698e8bf35d59ea894a78d5008eca03702ae8fc74408e20efce0fea28fd8ccabfd6dbfd5658eb306dacea0ad7b40314213d9cf4d9d30890786a5b6464610de457dfec5e389c41b51c9327fa485e331315c27ce1ab60ae195717eabc92f695c60dcc48950a4764ce25310b14f1f5f52c6a4eaba974a4792816a36dabe8c69fb1028e05fa2ac07cdddfdc13573b78e9bcd9c1ff9b2ac20133e4455b21775fbc01912bb8580bd1199fe8a1522f2602666d0eed0b661a9421dcb79ed4b19281b971c6a1f7c3325ad085bbb3e9fc3f35a140659350410e5e9ec733540b0e8c2a37078b6f80d95b3c0442b62dc471f986e8428660ff0fa6d42a38f8cf7edb24e0979f2bc1353b9d0fb4941e9e4f1490a025548e7b54ef8eafdb9e3bcf305945a6947852815165606c9bf62da2c88be371effeebbee9a6d08f2f918d28462b593d3a12d19d9ac15fdd3f7f1cb2fcac6261290edb64bc496e14d4ffff04007450a3ca05a232cd2a700f53e8f9a859d469a9ebfae974dd6382c5843f665c4186b51183d9d3d2c9bb5ad8360b68686b839e068ad9acac11d2b0495cfd8926fdf613c7ef05927e0b95cafd4cfa3a62395b1c6b376f959230cd7111c9056a52b2985964ceaef51bb6b0251a0c3e2d203e38c0962157d3ec757fe1b11018d9481ea6e246e5fd029305505433ca02f8285bb9cb29fe0b8f49d5eeffc636d952bdd2b4089603e196812508d8290cf903e1f32c34f89b5944d3d7c1e17e7336efa7ef473ba83ba0f0028240468564ce5f54fa11bd7690244127c12e5dde2263298b9e8500022144ce781ec4ed5db91f0420e4df97479cb3a64ca26d2614d18da71f5386a19d086a9bd0dad27292460abe6442bdfdfd5b406e323d52698665edaf11df6c0b34eb83570ee8af96727d0b25528d49dc8e2bed55d8951a509211256c7e0ae52088e57719fa47c95b71aeb3b3e32bd87c63446285a609d4a2c76d040c3dc1a7c7c2e8bb1855010be029956243a21d1b993195f61a302e80fe63dd53390629b1cd1cfe6c79672fb4bf60b681825fb432b1a7e504ec159b14eb407e489c6f0e126410e4d36ca8ed399bc92e9e5baca039d7a7ffd86d532e6ec528cb645c37d012cb6cd1493a2732d13f6f1a27ebea9a09feb71e33e593524aed43bf30bab193255e9caa066d507a6486d906eb489f949dd0168bea164ac3b8ff0472b2eef5b81a19152773b5a2e3143b248494705c16975664fe1ce1086877c35fdec14ae92cf54a65a7d454057a2a4c07ca798d2985083b1fa4c839bb7b5d35e21b2574dcff8675615dec9b3ac41d1c675fde3c00127658aa7ea4ebe2001616822e410444656ced10b38450c61bc610f29f62e7c914fd9df5dd5022ac5194318792e94aeadedd2c722adf9eafd55b376d6ae4a25c014c9996ad247f7d2589dfa14c186f7935b942c2ebc395d32f5eb095f609d363ccbc5337061c845bc3d77816d5af6ec6a674c03492d430ab7829610e200c48319f025b0e562beb761ee61f88fe071dfc5a393b873cf5586c2689d411633f950a25fa68cd4b9f9a361aacd3d946a40a356db377faab31b8bf79b353fb68091f01cfb3b6026be75f6282340ecaf9364fdcdfb8426cd8757cc343301ec7b4a2b96a374cf1257efa3a15864c6dba318071405c0c649b01c14e3c3158ea090383008e49e64b8a2057f83a6df80b1665a2531396d2492e7c526d15446289f46b71825ccc3b479980aced73816db78adec79884f8c0f5de880349ccf1f4ee9f30fd253c93de372dc8a97ca6f134fcc0ad8f6cea3385719714f2a06cf25024eb47765126ed55bd61ff3175e43692217c082f0919f7c742e1cb5e0704b0d933f76a28d8542821ba9de1ee2a8becc2328fd3b603918d1dbb32865440ed20b287aa4aa839ac919fcc9723393b0699bd67d1b45bdbd7816c584f7814c19275128b83abe625f4187de5ac58a34cb8a65ddf7b78d0251e3a80a2f2e58b973397f51ec438b05f5245b7a9e843e34ce926ef3fbcc14dc6bb6e8cb8bdf8c758d8bb8e8d9c94c3776d4ce4ca847ef89f242c1688c9b1a408968c8eb9c52da14118178291429eda731f42e0a34403eff20049ad884ee9bdcd2ea7d4f8b8ac4ed7d51ea82bcabcbd135c4f08803ee90ab412d6c86e66ae46cbb0a36784fe3e94afd5003744b27e323e080c0412c61e4e5bf6c1874ae313a25bea5f4af90667e437f6c038486bec11749e8b8f06972fdc0ab863f3db5a90905d5b9b37c4cc583a3906b746438310f4cc0a6c10fdbd880e83095634579d499d9bf7e11ef4ee00f620d949a4f50a277bd0458964f367b509a0ca23dcc1068874bb6b5a00602cbf347f6d502015f237e9f131e684676735375fd78523c14e7a58c134cca727ad05ab9bb61bde228a7ddfc505b0f0bcc1c745535d4d36859b99d98c80b89f32ac75cf734cac82bbd8d7add7956b70460f7ed3e2d4577d940d7888ae4a63d1b45cc9e5df90cba48bba853e0cd048e1b21133e595c23108773a74279737187bd9104d9739069c07a2daf91fb6483e2b15e1b8df827c930175ddd4be64f786026d1f17328704cfd50220342539005da1df8c9e3200b35228ce181c01b1f5c443c7519009c6140f2d6857bf612721ff6b2dca0488d326fc6f3b7a156cf2d806c4193f75061f872f70c0758c74db65faa89b0f8f3fea1b59b4cea4651b0b1a5e909361eccd1bfcc939794715c7c6b2337527a03f617c13d0b754487666ca74a3e6d1dd5e0b79ad2df3b55fbd9d7006813ae225b56000288c141854644c52a4d2f14691685cda17b22debb592ec57fc1cc8fb9330b5e2e76010910013632f25ad0a52fa68140028872278d064f32c3052c4ed6eb2632e21537a8fd118661202b3206dd274e3c774bfe09889caea85203ce501134f267c4ea31e4474b97a14b041e9039e0e3a80c31a4ac80cafe60bc7cb40bcb321ae33cb497e9fcce78c1337de6a3179a36f2949e70c2aa670f2b4e0cb1205c85d3f4a45116b592bb25f9e581e190e209b21a1651985a7e7675c09f5624b2cff41023928d1a133edde10a4be80762de129a8f59496fe8b520c1834e2ed7021d4ac012ab1d7a5afde3c75ed89ce036145de9d24b96c867efedb05e0552d8989042aaa9dd5bae74ce2d6ee3c6163b20cc9476b2088423a09fe503d3a54233e5d399a7ac627f77ac67d83c64367204392b7d78c26314c3de4ff3ace380cd6af71c01a6f68b20f0a8954275965ba0781c7f14d1cf6dfbadb7cee23ef7bc6d5b19e69830c1095f560110ccdaec8e54bf15d7392dc758f09548aa39bb51cbd1b33dd75a8560be0790a92f0a0bff96d79af9b010d588e94b73094bad317ac26315cf70eba40e498db3d40c7c7743dd1adce7424ef99c178e1d2c6a27cb945f7f6e963f33b13c9abb12a6d511929a7757b0df281212fc3fc92f146f4f5927d867373dce2cd0350bc911310e217b1d022a5301fe23ef53686fcc3f8c2857decbca13cb34d620079aefa0051547826adb433b3bb2e6335ec247667f552bbd21f141207d013783871cf314bc3abda5e5ff84f1bf5ce88d5e0ad0613d9b4e3f9dea8d295a70e0755eadd4e9deb34ab58cf3f9f9b895a66a87d6e42b43e4b1b856afb5717b5a35ab991b6cd0770815e7f1bffbc93471a5d8229a0276b5a41cf1e1789c5a0ae21f1b8d23a6e0f152dfd42fc45aadd1188c132f8385f18d04f1370fd69a60ef09bdcf2e477c243c5efb87c633c94a3fc405450ba0bf100d78b5cf14d95dd7fd415ab625e69bab1402ba32b01dc37f93fe9d553ca54a7283d506fbdae5e677c25c5a8119737f2390f8094c60e1a68009d439ba29541de79d79cc07504babbf975f3fc5cfce9616084473a86bac3ccbcb7cde92b2e2e14dab996de41295735469eb10d5aff33520128ab17333973e52c6496af1e7a672988b18454c668875b660e5985401694a53e99c7e848f275841d0d5f4f81fe04e77c455194af0a0eac0539f246e9e18895b2de6dcac6620d6bba701288c761dcc8a8ecb27bee12a1990a48fb17f18cea20a0109bf65350548cc4c3e8ef091f39dfe0e8eb5c3da9e49a22492ad565b1612a86556cd032aaf4a42ec01a1102e975500dabf18f93ed58b432f39a144497eb3207e30ddfb3e077c6d0d899ba6065af72febfc1c723e00181708281688291853b65dcc4abfb4456bc5eac7485a49261d16added971954ebf77af90ae58b014200bacb53cb6d6dfe4e4dadf9fa4704a99541c27a32012c8d8a48d6410208186e2223d2428e2da64d21697cc694340c7f97cb77433846ab8330f670e1605f2db99ebdb05318f979491ee59528020f9aab1555cb70996aa36454fe559ad755bab5cfc2cf765f664d9cd63676d589d07ea223ba294d7f7b681176d2477017d5387f3f6fd3cee2d4ed8656eabefb674b39744886bd2076c1c1dfbf40283bed66bddafcd1dd40c3eb67d22c74b8a9869e84c2e28fb3bcfb9c8011947a05caaa8ebcb17b25ac24be6a5417e34152455037e175ee79fd758660096921822f8b96dc13f915304d74871135d33d621231725ca25f206e7ecaba52028ea4f79dd9251908b87205be70dfc6fa79627ad644380a0dd6fe5ca48675be0871416112cb45e7d4f2612950cbbc31c68110b7e3b0ece81a34a5702917808fc6f5107b97b01b2f184772eff777cf17b3e8d47a60b5e6918fd2c4aaf22a3e525e45802b0d728b1059251a148b75148f309b71502e2da0750537dcf99ed85107e8da19d8325dca6afa6f8e2f52ca9fdf8a8da4658a54e5e0acb71e2190b5b6f19fca99b7a12026275be99a906fb74b0f663794e093d5ed8fc17df469285827f09a40f0bd182f13697b13365aa4d0be2f3fa8dc986677bcc5d50d23af5b24fd902ea7132ee4db919218bef76807999c60abd642fd36cf172d14523a179448e2018b61632b327cb6a7ecc004e60031360cf9bb9ef7c60862dd58cc2f79409dafceaf5d0b589a6d04df92f62488d09baf753b19a1e657059fb01669e6cc88e0b3f7d70f90aadd1b8c4fb6595a35a476c0d935b680f2eb85c1a764effe00854d15ba7e9db5beccf552c8b29309422a4002ef6acfb62be0ef34fee76429aadcd646c74b16ffb024c27b8fd51b51ad60157a0642dd063a16b0a6b51dcecc5dd642c1ed4e227d5d519bb78d622f54625919fbafb1ec82831df221dc265eb938fbd434eb5b3fbe478ffaced62e6da5268af5b98d813c5f16099f28a6e33b021827299574446b210011299abf904501190bb696f35232e82bf24d623158c2864c23ec186221f3b29d9c0d7a716736b5fb3d7ad88abeec01b254d28e2cb6d378676d72823fa956700ea79dd3adacff788d62f7f0263015920bcc9d72510896c14e8c7ccb3d7f5b37b8234573f6553d3ee221a37a99c32cdd1c20eb8e654919b409259722bfa7adb1e22443099bed39b201feb38016f08ffecf789df44b3c343b28971343a1c82488fca01f96714d32bb5e6b6e53756ffad58b803606a0c993cf28fee4fd34aee3ab9720507023bbebe91412640341cb57948f18b7be87a8292d60ebc9ef62bb713dd8015e5e15d0d2f8b41288a4c857c42d51ff2135de13dd0f014ecec25ea30b1cd30a990287d845fcab085e09e64e4033bbabfed6df2a2e0692d3046363edb6a56522c26bf91f2ac84da6b3638874d706950478f299d31e470145342da6cf66d51a156912797626b450c3b8ef15fb7b759c6b2f9830efc4d6a5d7e70b39cd918b0194de3c37678f46786478b8e41d905a7aee56eb790c7515408c1ae48e570f04472135229711e6fbb3e064822c9fd0974731e9545d9ae37c0fd3dc18b30a49bc70753016bee31703d4a0587e754ae33daee0f47e423e5f23dd273b581f269a2b99103bc3e1c9e117e79c58be38cbfd83f0a7630857551febef868acf9dc2b82682e7f718ea943906f10c77031540f424439c5cff165199737de48a21c9643e3affb599146929f388baa005b09dc4f71b929469d3c7cd401433a8493a9ee362de1daad6c67fb75631b8c6e86ef36e67c39b376227cd594e170feb765fe5bd890e350c6e1242d1660473d556984993558236eee76c984738035f32fdee5e9e9f6f75c0190cbf76708d723e246c96f30ddd9fc463142a1299b8fb33a4a47919ec389dfd95d481eb003021e47e129a764976c6cfbd8b7424840c17ded78c3afb4deaed901ab37b570a5b9f9f3c5a3dc2c7d2ccbc7577591a68ca0047214fc3112a8c2f0931f26d39391fa5f2bcb046e4e495faf26d8123984237179e2d209ddb32b1ded1211f58df798f48921dfcfcff56cce06485c2d6eae1eefad00c9578f2b595fef9fa52e3a00f89df18227e55bf519c3897aad7ec096f21b2f2899354dd5905f09e03a7567fe8a9b9fdd203b244e835a5fbe7f1d60204f18944f44b83e99144a435e793698344b3509b0264708875fa9d56864d4f89cc16cd47e2627bf7a527acdb7247358d1d7a64b4e5d7b0341ab95a8ac7b90d25a7676ca6746cd7694186c59ea9445defce6a2986d882059705613da72f9b20b5204c376774e3c92e8b87515d7b9be3066a1aaf77d1fae015d8a2c2b70d6503176e64f00124f4b160088c43f4890367c226198be67f7ed301dc05f6fa99fc01ddae8536fb6df615410a09618bd372ad53d69dbf064be9658c7f85db6187e4c7f42db4bad43e6aacf9754480482ef6b41805c483c2ccb11f97a818c7eb614d9c223ceae8d5cb9072bd749bd2173305955850cdc1f326c28681f0481bab790ae2db36a0a2ffe7fe081f194b8212d43169c488996808fe534531f2b8444b84872e994a7ce1f6589544b88e9833195b8372e26e8bdfeee1989360a8c42d54504a69a4be4022a36df6ee3effd57b8d3dc0d0ed7420ab19791e6f401988675921386fc90a4f0f0faa0662668629ba90fd49e6688041c62aa19e156119dec2145f5697c8465b2e7e480042be6596ef99a9cc216dce174734086aff8f981255fa3d9afbcf1e3b8b2296288cab8991e291b0bf9da4bc9b524781c404781fc015a3024f34de8f8a42f311de594cab9d1513e77a55152c6f43da962a9e7c507b66dde1c425e417d9930aad5589644bc6ab8f1c49297c3e42f4a0d8cdb83b1207edd4dd947c372f2ae582e2ca7bc499ef0729347c24a6d2895cbdfd382a8686a41a5b745461de566834d43074390c6c8d0cf960a35e3bc20203c0739c97f921b2a5190fbff76a3b87bbccc3e41bae1f28bd80254f53b2071cf9acd4257d1f9f50f3ef1d57b5611ae74a7e5cadda9c630570958127393276bb9d825f284580a5cc93460de82f70338f8305cbf61fc5a671d3c85d66f8190336d635f1a472a49e9acbfeb8c480c03565bfc126a34e0905ca8a423867057120f9be87ef21cd37187c1b8e684cefa9fa4eb1ee1ec3f68c0b518e74d78f23802828a04ff5aca0c6ab9b13245f32c4dd769c93fcd5a06c5cbde4c268947a7e2bb8bf4869c420792f359670682e90cdc726f9de7510ca83f07ef6423a643a409a855855136f43faa472a82816c8e7570614d7dde7b1033af3c8e8eb011e2052de3606bbb55987982b8c8c521898129b8cb200d397fe53b77ff0210c55c2ac0971801710c7639bfbf25b383fcb460270033ae3138a9f6086c1caf05e4eba8fa7f2cf93c36f49265056cd310abdd010111634789495a7954173d267d2e61700239c99b4f0bab7bb36ac9b2fb370fa892abc0a8f52905e9cc5b236da9bac92f5ff5ee70e1d2ef9858e805d83b62a9fdb5d09b838305a63a7281c67a9fa1053fdbd087fce06fc2ab074a73189792aef0e7a6c7ee05bae1e62b6533de4dc553542b36d43cee8643d1d46daab87b6a529e2b5e05f815c049e7e98d8b5c3fe5d65bf33fc04e456670b680ffee5d372bd4ec0153d00ffab907597bbf9723cf5772fe1d2ea6a7f2461de963a2b3f619a4da33f870ddc7ab2732946fa91f61dcd342a077b49c61c93c53a9d4f9091014f57ba0b53120cb15d2a5a8a2e765c7ca198615cfc40a84c46e325ef0446b651c34b716f9a90be9ac05607fd2d41d6a2c901294361e5c5f5420a27dd750082c26f810ba93a8e7c964d4a2547cd9a01edc6c4e70259d4fa4754b5a6f827778ce4ba5163cd3228996cc4dce4ef74d55bfe748de9da93f2223ba9864ca54c8b4632bef14b4b6e0cb075e0add141142e3ced4bc072abb98bfb8240556babe7dbb7dde511e18c29c72eaa0ecd05a887f9d0cfd763c0148d131a732c0d53f876aa6da51c53f21bdf61a0b60be30ebdac96c8c33ffb5925a54931d10ac35c029179d4c8d1289e139849aacd079d3958d9dfe5e89004dbfe1f7b10bc8e6fa628833ccef837d31f3e20e0482fce93c651f4f98507a06d2a49b5510554a99833e97e694bcfe2e49898ff4cc5a14f2057cf09f1229e69037707f52365b7103a783c303f4f49d29c215d02db2594573c93d1e0b9696c81e0f90650c0e47df55eafa90238609634f70968666b65949ddf601353aa97020203db0369597439dd1ce7755aa4941043e471bb7034dc6d1d7dc2098fce5abbbffde27b265c8aba419bc0fa33bd44d9d3e6a96cd9384ea315f311a378126e67fd3b0149a263a57712a8fe5716368d95be7766f895bd256d1d5fcb67f6016da762630cd9724cd82d09da928ce5662c3e45152d4798756485dda68407ca3f522ecd53f4eb88869c58f5d4c63e6fc7ef96185fcd54205d88d5834ed7a2d94bef5d5ea4493184501881fcebd71c656107ae3b3acfe659c47ca73dbcf9beb96300731a762a915dd5961ed0868ad3cecb6493e5e2eee731ee01bb5da9afe913e52d0dd088dafc3726a40e8f9401b4dbf004a32c362e952c9a469ae61380e1cc504752f132e5566ae7fa35b8b483e3472c950e2e0e700fb66fb8b223cfe48e397aec198426514361d25adede1323be3e6557aeb49ee7f5845040d5451ed009bfad8f28e4f8a189902ad7e4467dd119ca80eff2c54ee3dff9a98fd601abffe9cb8115c85699580f2c0a5d2a7630633ed63631f9aa28f8ab3383dcabef55eca17b96386724098f2bafb628cdab6e0831eb91824dcda5b4c5607559e040a5688d338f27622598750b5ff7dd1371fc9801ce4657c5c83e9ee2d04f65bd3e70478835f29551ef575977026343c26cc723f06b5555da53419c124b0c367419c5b55200b92885fe16c3aa98a37fa5c52bd18da7bf8e245a2f9f5acefba9479d3009ca9779eda561d11e958f18f392c1618718b531e7844994384990fd300a893f7051230d14cd4c27e137f7f4b9c7eeea03693c89b622fb10f858893d19e2e134bf3dc07830103f7b5ab1c1aa7bbdf331e84f183d8242b2d0bcaf1637aa3fae6cd452ad3a6a2394629d6d9d2b0cc4d84e2c63107505e5366a6a36fe2de061da861d9288aa97dbf9fda99f54ec957fcc499ccdbd01fb95f33d16efc944191a0a41874ef7d3102da89686e987489c681db1d4e80b4988225059d104ea87af828fb28d1f109adc62f51b8658d5d299ad7b4b54d4094c6517c9b0a3480fc5520144c7841f4953e271f1795804d21bb94de90e3d4d4be96045ae0b496ecab7b020d8054367ae3291c0a5864120a8a4b286f3cc06c3089173d7ee6881c4fadf20808c131b98a74177c6e15b22a2846c18941ffe85f46291f42c8cac85b9490100569a3961a00f51d50ab253a7a139d3f65ef6d576362886510f032e3025edd4c66ff5dfc891dfd18849576c5c0c56fc58cd8f8a81183611fc83dee0683dbe6f6174ffcd92dc599e71b75597041084baf889622427547afd1ef64336723484d5f744de8ea5d1a7dc9f13246eb9b14469eed6a0aaaacc3fd990a46764c4cd824566ec9b0584c67dc81e5736b3cc20af6f9106907ecc88697939c0d3a78c1e8021b62e66e3629ba3bdb5ca94f0cda1b298cd653e7ce7a8a233fedf19e0906d414429b46937c10cd7351c27f601092ac736fe069bee73db6a1fef5ef386e368f0c0f4eca45ef494d2aba858ef8010790bf8ff3ef4206ea31709a372439f379ad8c43e1e3359769a2b4d1ccb72fb7ce5496143b8714913aa7d4b2dbef4cacf6db7d567f3107202ad30f4ae361b82b7aad2c2d0ac264804051c3ffe106c17fd5f78f81aebf4424b17732e12f0746b69aa02ba16283eeb47166b46428a6f2996eeda83029ae0013bd0dfdb9386592213174027c09aed26f50191b4c689ec9a8310b2d8a669dbfe69e98ce10eb58057d5031c90ebf4ef842770a626f0a018382415434e6cc6644de525081871f6d08b777b73ca859dfc05b43ff7905c714b9b63f73700bdbc57f4141b3fd651cad27bafe23b0eb2720252551c1f5cab6a5cd5f68da31d2dd7d139ee8fe24fce352e28dd2d41d1cc00f43a69ef0972adef62873454b2df87666fb72305ee3f2017cd43891bed120e92bab80cab66df3bd4a98102e64df713f32c39167322af8dfa5f035ef43ee04c89b2a8533eaf9eda50459fc812cfe88a671306fcff8e8278d446b83c76fc0e3e7a563cbee7e286eaa3ed8cd77f6bd23e6685f394c46fa066ecfc30d942e1888747da7239f562e641f0428b1456d42bb745ac7ed5055f7899269a06011f5dc317374abcb87a53b8cf7494ab6d06d93fccf21c67d3027f19062dff97d3ed9c20fe81d1ac8b44fead15ece6c3eac6cf10bbff95ea9f2e601f122b01efdfb27e4b14b2e2a9846845087f4a03ccee4608716e2ab22a74443a2e04bb988c4a1dc462bd762b653322e7ba499277e604c25f6df4d0e58a7966cb5f773e10c0a4e0c8c0bb3d447b772e474a6639d8e7b21cea078dce81c56a8a951ab0149ac44c8cd3fd632e31861733a6e8be08fa2229ddd2ea8abe0e8f5df5051f0db8a04eab295f2c55db8e4b16cb06f485d3abeb6e6a7cb037af357e154c3fd09a31c0c77f33e5c0f48ee0652ada7e74900c60e07b12a4325186008fd33fbb70f5d995285976819aa58732756f2fb4ea477617ff8f8494325b7e11ae34c86d4b5909190e940aae44fa03778dd0c796476035faec88bbe205649d9d7759887c43d283ee7280e8ccf88ca717f6e1b256a877d423dc6db4281491575d719503e50ee636886efe00f33cf8a36f103fa0fbfee55c26a3d78935d92e74f1682ebe678e83339ed97310319baed0688aef4ce0e0d568e067d3cf9e5463e3c17ef199986864c51c703102af6ec59b3a97af26ee4d94b631a6664b5728c02b7421db8e048b35913b816a84e84d1960f29077e2f3af61fd54f3b2d35a7c756f58f7434b04f4e0630455f77ae09c3f1480d901fd92ce1f5dc89f7b66c2b9b48d013e01b397b7db437fd2543615c02583b655ff0b7b516941857aaa05b2a620c43e4d31f7ac99bfaac35161220d397def7ae4cc00b31d805224580169e6338f44414bb31a6ac895cd6a236f864f5b8857fa419d5e1dab8daa42f7871883251309ffb96635b4b0573b1e325cb77d7aa719d3359c761793cf57f60774e541f649f3a596c19e26ab0dba6491cf3f75bfea367937a61f0e75765bfbd351b2d6fa53d30928e1e39551fe05cab740f7dc705a3d3e5be5fba1e43532ced2989c5c6fcad19dc3c6c805cdc2edf8d02aa227ed4180e3c39815e87fca8c8c68e906854d2d26c98f01302b68d01daa19fd6613e24177cfb6f680354b5f8b4a5890e4ef61f97b040358d2bc0a735b736d161b532880760f961fd2429240e203f8ff8ca5306715fbac468ecf6ee3788dd9c8af9a56c5ebe527a10c44f5133efe30cb0cfb6f5535417bb534888f4430d66434a48e2b2d56a2d2d3b1d374b4a3c332ffdd5b2a5c77a34a57c92c01bb143bdde13b7628922854ecf91463af2c8d83a542b3dff9b08d2f43a12a6d3802d2c3bd6ca4b3b5cdc7f2d05d77adf9170cfcc19b51c207b917c584f6b2210e94a427acbd4ef067445b15b6721ba450d7fcf9eea39234ca313eb9dccb9e21a62a655b9fa75702e0c4ea4f518a988cf72bf08e55c73350cc9fc8ad5b43280a27acc2db76614cc22451fecb46415cc6242faebad930cf24905dc3e64ac7f13268f5ad3eb85fb0026b6aeadf7eb557bfa3aac7c9c708bd04535a5a974b1f600023c7835b6df74f5a12832a3176edd05e782405ad55bca6391539d657b46ce6ece6af21615d8c2b41bce7d4016474aa315605d5de8c6ab8d7be32a0be5c907dbea006265551179a37b868aa6c6a79468536ac4a6b43fa78fc6407b4cbbcae91f101a7139dc5daea09a182c0824bf4e3001cc7d063f597afcec347c1356eb9f04a16c29f84a166245a5b46b309ed1856f62714f1fefc2c71a889fe53a7ae2211f115b7d288d267725f37f4c8a1ee8dd189bdf65b6377df19e8c6784f549d238d8f7fe890fed8881dbe6a620fdf9971a910f63af08aedcc1bb9d38569ba316797a673448f7088add04313876bd1a0b4415b45d702749c54f63bebb38cd95f924e36ff42c12b406f694f5aaf091d4a9356f807f5d2e9eb60ca41b123015f839bd873bf4b4542bc418fece114795b1030b922522ba59bc9e62ddc9a361b274824701d166ac2cbab0aafff9adea0afdf583125f74abec772a8745610e8ff2a71c47078446332221ca7fda878bb81592477609d83c3e00da5deba175435f288136ba753ba44635e8bce8eeb07a83c9bdbb6ba97f2c388d33e357217e05f6538e748adaf240f13998fb4902c6b169d9460af6a3539a2b84058e7fa51098ab988a1ab538f2aedafbf1e14a0af33f4a9716620ba4d90e65a68642cacdec00ffbaf0da7d783da626a7eb6cbd94ba8d466f501bf01796bad028231ab902804729231401b6598f29e1540d5610c3be0f7f9606d4971c6590284cd7f475ec3c48813e5c97df03d4f673c6b70ddbacb20b1516d759e6fedacde8eef112a014cfe9d8e510478f505cc77eaf963c0968cc5fe6ced15db5356ce7bb326ee8452e8703a398cc265b749c06d5ff6317cd8f098addcc2ada8cd42a78678063a3c0536fcab71197f7fe33fa558183e203c9232df35e69f3a519dfb0ebce67f88b287bdf4e9fcf3c0cf14479bf0e562a85c77ebfabac1dea0d42beef960c184c3c1f99fb31a593b8c3f82ae289f4dd98b97e96c5fca9a5563c646df9a9a95b575fe43132cef699422bc39f5ae0a3584a17dcc3f137677407f8e336a61c9c6061eda6be7d2124af2a3a8aa90fabd703bb73c2e83e2c1d0640d71cb1e7dc74a6c0a2d75360960ca5b8e3cb10e1b14f70f3bcdb5448fefaa74bfbdcfe750d986326b90a55e42d355461a26befc419b8d8921fbf4ddcbbf7deb74ec1222ee16bdb79fea7aa0dbdade9c6d7350b3d2d89fe8099c5652fb45915d7dbe002deaeb3bb58bcf3c4b661dac89a6af946b92b5d6a0f0b822c8e4acdcd84928138a82fa93d90ed479aca7e0fd977a8db92a5fd447e780b654d0d4af2c40d6194f3b3b1d8041cecdf13ec7ccc712d2e2df0510a46a88a487a1199c3db39baf1efd7115c4ad0a5263e6df0b8f0d35eb6c8dcf191b387a5f6318cafc6ef13844bb2aa88352d77acb7e38192bf3c7d076b4389392a0906033cb5dcabc29ba9f8bf7cfa40bcf0665c249a222eafbf66e56f12ef0f9d77d41c24906e269ecaa21e6628590ed9a80cf75ae2ad4ab190baa0d0c6da29a5a6436f2985f2b1be60e66eed3389554f07a10cd20787e915aeeafab517a3c0936ba0973d05dbc2859430f6fc09d563bb7e865981235fb1ac9af602dc53f463293b8b589165ae377157edf5e886af60df7920ff54e7f0ced3c07cdb8aa2b0a51e256ae16dea6eebe430114b6502434835d7d187f3bce1d683a20b43b44c40c61f19334a9629f22efedb3563a740759bcebfca09b583d1cead9a3c8b9b927010fae290aab2f6991fd2c11a41aa0b3112f632cfc09989b1bbb38c413e8d71674d547860a6d44b35e10c22f45cd9e5559447a7607eefbb99312cfedcabfd15052c81a016b6513788a84077cfe7476f67922cf296a79fa5e78b58fe9e9cc9bd02b046514f0a7ebdbde85963da142a80d054c3e24a24dd6380c53cf3b72b739f60499ee838253925f2992eb9bfb6c6d0c0774c83673ada89c84481943c13910c7e1419760e951c0aa8619a7107b2d473024e5a2a6eb5fb3011a422677e368637645de021f13257e68428bdf4c498b7a13e9e2f910bfbb7e71151c8e8698605cc5cdf514c396f8cccf31fc0ececcea151448acb67ce4707d871fc77ecfe8bc07f5ad27c848d562d2af49024a7fe5f349261649303548d2ff7e0c622c20d14e7dc79e1a83c741e77963fc2ab7b0400b8f58433a1ea5ac249b2a75a397fb0dadf47ffb419ce4adef5a498aeec36c07d3779f4d26967d370160c2c12f60b25ffc5d541f5dbc73584e4ec31089d8474536f28b7dbdc808e656c590ad5cfbda35a59620480563e66544ffc175632e87cf865f9bfc32ad29ec7379629d074c9334ce4a9f560c3e981496bebd04401ac46a9cdeaed683499dd19bb0293c2c396ded258d0edf4dba4a4948d031e6b1c6906e1ca59879637ab734d491dfa336606e176066ddb39adc3759bd1a380d26e12866a57c3e8590e0d37b797e048148a5cf840cfaa1e69fa4c0214c532b646bb5c09365e5e16aefcf9fda54d7f4a3fdaa5f2082bc7dedfc29c0520c626d54788e81d7695d8a5db981b181014498500b6555f8f7158ceda4fdba741e6d2be53890699ff947fde8f0965a2c7ab700cd66452a7d0a13bef8862497e0678d957e61608304b5b29682e2e6998822cb074f4804dde9e75597e8f48e255e8044d9741fadd2fef5237eea241675bf72574110d364ff7564445d6d6372dd892bdd51158efeeb33e6895b1e164f3ca61182e1ebb7f2c54c96e908907b242d71bee8209080b43a902544e4da3e2f19b9f611a57401cf9b1c0fe54a40ccb2cd8bfc085b83c8e0f4e4ab3d85cb0662a869349878f31745317fab2ee3b2e237bbf368644b0ff7ebe63de8507ec7ae92b061846c4982d24035394a1619bf89efe0242c26caa8e847c65f27a7e853b663d5f23d55d3b2ac6952c1086b0b3e499c0cc5ca793b525071121f07b5549f683597328c6f4032d95645e169b6dbbb07b0c4f30d578d46c7eb64e8aa09719eba07aec468865b601ff611d8e390b74a90dd97acda231fdd069b1597f0e0523cbb5389f7b988f44fb2a2c826aa68d23148df62e8c1a225b160920b603409e430758c3a7503008684587f02e381914fefc43ff85287799c17f127863afd3cce89660abe404b4ca5ad7e96b241c2ab4579b8a1365cf2f6889f21555f747fb7be6e9e93703ee532e0bf175c71dbe6c0d5d37be59c41086f7c65e819344e9867c93cc95f809c607a01b7428f7ec19d863a349cf2f62f21dcc16423d36434ffde8c97b26ff20624b6bbc2a90795f7327224ffb69eebc38d9790b577d3b41169fbc0b4f329f408351c064cf00e20eaf1d46504e1b28acca1ea3da49ef9f4ea861d523f167af7627d750cc22e3396de5739f1a6606f7f47aa387b906b030c049a6e1007105b69300be04fcd24b961742b130c0c7d6e4e30ab300e65cc4eec9a03478c6fdb2e39a1f606ae0e827767735a35522e8a5651bae7866c3af41cebd41b74ea85e5dc1044ca2c07e8b3cce6e5813775f81d9adab61bc77ab53837ba3f720297aa801d5f8f1304d858bfbbebd7b94d4ebbc9aae0158644d85420baf3b470b0328a4b27f31b0d397f133e09974d5aa1a90e2175c342bd62e6dfae196ecd6bf81b6fac765e0f23b169e569575201d0ab94e3795700f4d7884707b04e03f690e2aeaaa8ac6ad65011f79774f12454259f500218280c6a5ae0d5bced347d6c67680e59171dfde9c6fce677fcd3c6f5da23c2f5e67dbcd267854d9753bffeda7fba4855a296ac6fb9df851c012510140720cb2055bd8fe4bc7745326e5f0f120b59590eabb8743ee3be9ef00530a880810f23885651565499361949926a0370f2f89dc2f1b1c0c8b517c4b74cde23f3800384482ec3c8c5702db1f646ad3276dda01692c666553c32b3fcb165d1bf33e6560b1094c6890ec8121a18f9a965b5c57a2b8ac7e6fac6b2092bb29db58e1cf52c20f6300c77cf4d4fa2a4a4d293420924e807e93918a7d3de4cd46b8206644368bd95d0e7a004dd8e7ec78e8c25b23c9254d1205edbd9f0c4d7e8c550503ad4692ae5242f1c29a020ad03f45ab23205e0da269ad0e17d17aa3ab27e449277db453678547dd18c72255454ddb3614e14c2f338f849a54083c7cc6c53caa66f1abf37cdd0de838a45eebb2d1038b8b4b178995591e4b95cf137df18748e7595e89bb0618459fad33515108bbb6f154e8c1a4e52b1782b39936d0413310892c274f08f3e80197b5d7ab3bd639a5e55c13f3b0639ee95a21811a6563b17a6e2bd3a2fa92eb2d8d18fd7a92a1fd1e5f22cf26bba2af628bb0e59048e126e2d99e8921b600f0b32a505bb02aa78b39a9ca5dfc4ff1553a87705a253dddb9740c51ee393f82e6ab42f59bf96c2c66fc2e0ccb5e2a59d43c9c424991726a6ca5e2bb422d6cf1c233c334b20e1be768a0a874db105530e4bc29b6e91a908d47860cab04b50fd007fa0c1fc02f87df949157630ecbf110ffe09737f390dbadb6eb810448d168800dbcc79a6e07f91e31ac0cbdcdafb2cc7b2c49ac02967d75a3cce8e35fbc3b48fff5b7152aeb81753677e7caeeec29d7ef62dcb85cdc72e4d30fa5b802f2a0966e236baea53fe9166311fc58e52d20471bed9114b9f8a3545ddfcc0f6e767d587945fc5ae97b7d3a3171c0ff38403a6f62ec456b11fb5a2f00af6102eee9994b36d4ba9b2f83e9314cdae492fafcc3ce26264ad582eeac33989a0dcf8a491ab012a0e9b48237705797e819b483540935ac355400db8e5bbad7be2f6fd94e7893013d5d281e38bbddbc5cef8eb7457508894c847574c2f54c228eb2e2c571785848b1d25d488e155a3fa083b84b6d269c14453e49260cfc3d686db9fe69ae44037e846189f3c7d33a040296192e1bda2361d6a946be7ebdf2f0ef7ec18491d16d821c23d09b9b64045617b56a9294ce28d7b6f7232ccfd72c12042a10d3dfa31843fa203e11b28c39a3636d26697bc34b2284f252c88374ac8a8d10c5407cbf5d19b5fa669df10855484920ae3c5317cf9b601cec51797a79f121cb8684cef4d5f92b23c0279d835483cc62b5c02d74a5b3f62d9a7569b3adbf678cdf729f7f75e13180da4fb33ae6f40dd9a9171d27df4da4204e9ddf45fedf882a017ef4b85f7583c88d1ed5cc9ff5b6c2fa4db7814febf7d8bee6deaa55548ee8f61c9bd31d310d5ebff883229ec337147bc83e21343cf9f49d2155fc682a95aa7b5b85cb671af6866331ef54d3b73c7377770c075fadcd7a049243c292b2c98c39c27341dc53307043cfbc4ceb5040b33c9ba46e0905a86dbcbf09c248800e679003e94d762779f00d897e3e5b7fa0ee3495940482e0ab549723abcb5b128ec51adafb03ca3dbf726475db8142366a1429852233b6ed5ab3094beeceee9eae2aac7be91e0f0bcf4112e6de1946b8ea75c085fbfa5c9239e40b4d66bb38b6ff0d13823f24192f3093f8109bee428fb38bde64f122da6e1ad642db8d5f522691ff31b043fa9fb0799d451d80a2fc1078a2e6d3be01ddd524a79da58bd6975bf3b39ba8dd2210921548ec0d9bae14f2de3380332317126e6586ac0e2ccc3e5591885a0d875b9f778b8e3b7a9870e75961ef860e563c4af8c2e12ced6242b93ccb47f970953cc1165e59390e9386964dec8a38d1ab5982f94d6f7fe4319dd2923032f992a82bebae24287749fd21457a6f904d309edc6bb70b8cc59c12e7f4285904ff30bf8d0968edbce6f0be8e04c0897db0619fa552533ea551957319a8b58db8691f6365d39f41e9a19c5dfdb2c21b4ceccfc38745160c6043cfa8d00c35b03c093e4de2141b0746cf1e77a6856f2ce5f5b24d32b9ec264f951d96e3088282ed696993939276ac5cba7ff02efc67fe7d93ed70f78c3e524e6b1b56a5802756ce0611b244000c26b4f64bcf5e3d5db34c32e2ff76d085c25f5b16e813d84cc28910c82921b8e651ef5846c6236d363064c7cd0ec298fd086c36430ccf2b60c734d911a752cdf0d327cfc94147a53b6df280a398040d0db7ff15db24e3e0573efeb8fd59684b245f561b23e756e7468f522e7fb56949fdc70448d8692c6220ae7f0ac96b9ccf8743b00ffc815f3dfb44b881def60ed6d67f990008ed5357b78ea4e8ad8889be995081cff4947de260bb76ff6c771f69d764d19ab41e95ad2414943d828f7fbd4e860aa980b74a12c3d3db3dab94e8b2613f1b24697e99baca255a2e53c42cc67b7e45b7d0f310c0557050089abf747b333760cf996fb14b16e0613c1f1b3db086ef473ea942bd0ba428c2163d17154af67b074cb64f6abb0604387ec3282dec10615e71e44625b353f3e100fcd4073795a0bbd0ee3ad10b0059a7bee57eb57879fa2f73e7548f9e3a895e0feb3e787362c83be593b04b7726c4df179f9432e2bdf7ab157ab27bb00f715880654856a479305fc0f129c1f7089939b9ce50874dbf13e459f2333621fd8bef5087188256b2de87a27f8d4b75c2b7f023709183419504f626989a91c6c44e0e3505ef8f183710ea28193a47efb3310d99ace7bbb70bebc9451b1248946fde403d4d2d8bc13c768614cb0f0e8daf4c157015febf48824013d07ac556a111d56c4b1fbe6d58feebbecf7a5521c9db3caad5dc13ace93622bd2f647e13a7e0a664955a8e0162171bda0daae9c95503ee482a2cca18980dbbcfa5d8e23fd5fdd5b45ded25f492be613936f0ffdf0b70cb3a8e3b23b2f78da5a5f612e73b38062b31f64977ba8f4dbb5322f3cca11a0a0015c6a6d8670e71a515cee052b262d0f577685c895bb4063d6cd2223158bd5c80e1de7e4110fac206c30d2ba32ffd3703b5db5906ef6c3927142d91c6f089ad89bd382c7dbf441382555b16977d8e550c16aa4f20628006a32d44bf0d3c32d56bcf5103d454f499089755a476ae8061deba369629c3d906fa647e7cc637889471a9d53ada34b96f384bab00ea30b5d32d6efa6b15a5dc3d7c6bd184b140f4dabb86fb69d831c2c47ddffa03af7b1b123e0b89bf2657d97b051b5d313d9e78f0da517dcac56890f4b827e11c27527ad6d4be3d017e73e5e1da21edfc6e8e5ad7c4ee51f4ad066cbaa86dfffa1c2722216f7761a481f43abf551f401e50df5706033f6c36365d949dbe0ff290bf1fb9d6e505a86d24c5fb8a897277745b86d870f534d6fd988b63a34a46e8b8032fc680cfc3db9fa798e012215e9d81c438d7af843de224e6b2aa4869cc048c349b2ae2bba0b43f94e190d3d53684b8864ee691a76d86ae18f89a47751cb9439b18630c1984beefe378e9b6b960df55b3afcb8c9aab45d4b5961dc9c2ff5bf89697e5d911f065ae1d96983b0a7fe8cf65d3f0abf14571dad30ebb2e7643927c5b8c501ae43b3844f778ce71fef4a9f5b2c1d746c3fa984b483706a81372249103cbf510b29d4a9f8f87b7b3d4679e68c152bfabf06e98ec0541ba60e5b45cd1648c98ddc5414162f7b2cbdc285076d6678b5ccc46ce00224b4c8a3effd7ac3a3e4a64a139116c438038f6849c7deb60ddd7dfbf3eb43ce0ec085a6a01ce3cecb50a55ba8f81b78d273d52623a83b6858c9cd2c8613bf09f4aa933b12d6cebec01b9d9f4d7095967ed06d8532fc9be702290b7f9fafb2afb11550f1fd2d12264e455d6e51452f2c8ef60fe06cd5c6193a5dfbc43e0d1c563e823cb9bdae6a123bf5960b787a2768e91bd1cfa050db2fb02eada5f9edc05c3c76d2a4f33409be2cd8f8bd872307fadad1514df53ea142ae599a55e37af5bd722e608c2faff529c532ee5e5a15f64242d7457987879051759b6807643d13f493d7c332d18aab5866bbd2d7ae93f9c9652b3eb8280923ee31303956091ac33f352e35542626e5ed2266b96540696b07c55a0d98cd4d399d163f32c6d17de5977e111dad2201c8b3d955e855266cce28542a69d7dc7e998240239cc938626f1b07e434152a1c0e1fc3a7cc8ead74c58235b6c25029fa38ec2dfe92de21b2ae9cde7169ee4790bd8eaf94d5509f78a7c64473ba67a1957151fa60f266bc894e74559ed717f95d013f965700ad376502201532972a5de8b0b220ef5afa9028884b190f0e5d78255b9604b21a09f33d3b27c0c14bc230e122e4fe916161874e71b506a5ea2eeaa10848eb5afb4205791bbc510dc199eaf97bc92151b1a474da965f089211da83fd3eec3641dd36abc5952d0ad7a52356fb276a41473794e74d2d82de436d663a63676d47b3482ae8883a7f44e8c202c3278ed28558cc43ea70fc8833d682e02d396602f1560e31e255b9deb11e5d6590887fd115b38ce238c3c696ca3e800ac4b9841dbf7e5d957122c48823992a840b18be685fd83ff7e49764ac4244ce6a28584bd959f01fdce9d7b060a7557dbbbad7744f89bf10ee233922e984f7e338d77193d2437b1b51c8c16a1ddaed0533f9ae9f19d261c183973681f0983b378250f92975629262310fb86622613e50e9c04c5ccbe05b3e3c015176093b8b8e6614db08d596b0fe63918f1480a415cb4dee78127e5e4d861d3639414df6b760bd9a8c64b3811d6e4069d2c4c1760c0f5055f9d645539eb7e2d7e4eff85ddda93b6000a6464773e1c8b7e22d48eaf3ed78f1b1fa438140a7821fb4e11d2babfaac03b148edb6c4355978a581cb4d170451142a2d63c6df04616e2ce52cea7b8d10bb28141a26491eb444575a15cd12ee288e83ab3d870e83e559d9f583a91f35d56dc9140b21751293a8903a60d7642526e77f552086d7cc26fdd7007e2f7e9539a32df4c917af0f821f502a955a8a843c304d6bd8fd18eb7bfc55d7cb2188fe33fda518aed44d97b38d3a6452fc9df07308d84de1b6a1934105c4789b1e3a747e184bbdf34a6fcfc5233f6a1ecbed88082c542328c4e88df1f82171bf54ee7d651cfeffb27f6b81f8cf9b20170528d297239ac3526aed22127a7d714de8f617dacd1f6987520fe0cfcdb341f280dc3a21a70299c53fa6076914761f0cfee14302736c6e5577b3646e7103745a852042bb5c73d356e045a3f1e5ea2a747cd4a1acc61f07ddd0d5396dcaa6d0357ef7c313cb58184800da2770af4f38fade5566c2ade23a631bb5d91712bcadae1bbd8b66b1045c4f94b5356a2a470a6394ef3f4abf350e5d459efc67bcac53a8495df7c590fc79be48ba843c1caeb8235e240c79a89d9fe2fdf122fa39d2649777a6dbfbd9050c3b92de30a6d1922ca5e6472fca0fe638159bcb59c2a6da50d24f00fe4800563827a22b6d6f2802664fdbf92cb714b46fbd5f7280864c96801f360a3f14e5223ec1c3554ac703c1692ca93324bfe938a92e7f94c695cb23e348f68acb3a1cb8b42706937ebfbcc73a1c64bdcc74fa916da48a2a394956e7701d95e43009eb75be986af1d5ad74c638f1afe33204d7f2edf177e225437a806f819e0b2d2e4c2579ed9fe8babb79424b05db1891eeb2bf6ac879523cda9bf6415109036b482adb995f6c36e794c1dbd6ad2c46ee10f074aa9b00993e41c5a02cfb07ac212444fb09606001e074b3c2cef2aa4bee8def99c0a323e46bfdf547519af476d15a59e9997cc79f159659921bf97174c607a414b18ebbbd838226b8911d94832110f3ae7677bfe4113a2257739a999f6af936ff72ca25bfd35975f0676727ac6b188e9200b6b2ec84463142a4f6439b4d76985abcc0c5a705b4d48d68651dbe0c72671e8dcea5cdb8eb1b417c6e01cf562f4348763bf02bb541d65d6d54b1e7470407c1bd78ca814e68e826399751339e9923503c99f0828a8d693a41308cb543fd90d6898af553dd488f7de30ac1b86b3fd638c7ea93161e8398784b95d237967f6c7cae3caf68926d9779a24f35f42537471b1056847a8fe505470ccaf75cabd93922249410949756fee88474af17d2b84d68e43fe1d9fc81bb0d4f71e3ed087bb8e5b5011de3139e235f3d36176f3ea04dd96db71afa6f4ace24cceb1fdafdc6cc80608b83fc35c5bbbe78e9386932ff6c4edc67c38a461ebe09ccac9964e630b2cdedc3699a2476101f989590db9c04a7107c91db76e8f734edaf500093e61b0b72adef8044f57cdf104a04ac306f61e4bc9b7cd146f8bc0b070aaf5179b5767165bfc1163f307f1289b89efbc13ca97b97318ce094585a3909ef89bcbbc0f2103be21f408ecc25970ec9ac1a3b8c7510d19be50edabea2848dfb18c453f28b45bc7df740c185887f9e786cd04fce41cf3aa1008fccffef3426664b9ba2f6922962b6a0ad266438d70c836b3a6d7383fd094e5788f226b8dac89384be1ad679c9ef25d8c77f6c809c8cf55bf23b435295dee3853180e9ab66a502fedb399957e26c4e34be2f60123147082e030c05c06e2eb14d3e9b485fbba7712c07dfb40733436479176266bd7214e5805919ffa8b8807e85d9fb3081af56c59ee7f1f6d53c380732ca74be052a5f921f406df9e480e8fe7395cfb255e2fe298ca7e522043546bde52af06344dbacefdbf645988bd2cc2e216422c8dd97a01ca8ae8743c1fd54ca9b3ce8bc683d441159732b4778b5d540021c35cdb29b04767bb64633c10a81ff31df1f7f32e4641b6a8a1dbabb027257b9ca011115d644db99603f8b6aa974b0f4bdb9f638566db0cb3e3c05b35de36070c50ec92500f12f1206bab396a23fad32c25f7e7718637f8a81692357548e08f6a1cdc5ab25cdf2b53bf20238e42cc13ff6a19c6eda88cc41d910a72770f4027a0366227d3350bac77a251f4667b14751c70a223919e54f44d63a397534cb9c825d359d89a7d7a1d14650bd3c70ca6ac403e33e08fa6a54c57a3c85cf6fe1f7b719608f14c031c4e68a8048cac5009cc9b7448f55244ce3dc1fbed86febe8556b1ee010c18d1e11ca8f3872160b44743ef4414834d2c9e56a2a41407181052b2e221c377cf7e9d28fb440b1ea1804bd6fc091ae158a279c5a693e93c190f32c44d9ad9f97254bb8ed621c9308fb7bfe2fc831bd237be186f3bef9779ccb3e5553f7511a477db059726381c028ba0d16801a4647608ba9e9ebd4ab27466b63af69fc6e4a1b8569301cb69fbf2f03e120f6fb1b3712f0ae8229323145158925f23b42dc039c87d784a837829aa62c64a21ba21a5e8f42e408a0a16840593dc066d025ebbe430eaf14d4966b828f932220bbc71c4d48906df2cad098a62d77c8396233171875e8cc015c31654d91ab499954a98c6b958bdca6534e488948a14f057a8066fa8f55eaccd231f7fed5e6a768bb3be9ce706fa9e730ead4197a517e3cc79d8dfa7d30a64ee58ed64935165be463030f41866c9ba3f276764151b06dc32859624f0a46133ac5537b31f160534e2b6df5ba060256b11e17a983ddf91b6172a7ea92a0400946f5337ebe5c6dd218b240e9fc7dd013632c518379e457705c4050751317f593e25066d8c233b2edd7ee011fa4608df86ad62503a84fe7defc39287d5f82bd8e8073f5c8914b80ebd3e8bfcb8a0cc4078ea8545179dc3478b70c0a30dfa8af43118e42ecf8466930e31f1e8bb2b65f1128578e250f8532d107228c03af5b66906215848478e28fdc13e83c92cd97cd66bdb4e10e4b87892ed93142419f8759ef4bc7396dbe63d99abfab267671e703639a13624ac5f9e1ada459c1c2aae1d3796ae58df5a20c3e2c54ad5f88ad4f58424d103a640444b771a1fe441a6ea2957d8fce508577a12811cea8d160a5b30e725b8d9ac4f56fe90a81c5fdb293a1284ffae71126bd7b3e23cc3cf262a9f2636eefcfe674b26b527c36a1f25df045ec94a73ab3c16a961f71789e1a50096af62bc371c078f8e91048fce45e02590d55dd4019870c37c4d0ec8488fe37f749bbbdc0989a5546967089628cb07909c6d09628c2a04516b22081de76da8c21b384104a1f0cd3aa907f4bdebac0691bcf00ecb486458dd81742a1b6059d703a82726c388930c48b85735919bc5642717c6a686122b42c4495e3609842c7e60f45caeb7e43453bfea541d3107c9aa086547c5ce3943f609b8b6d595438fda785f439d74c9d1071d7cfef6b86c4b9ac23b5c277544e5d3dbf3e783148d971bc9d8df144e6659f2f347f509e2879d9e9d1d64dd7d74ffe4161c495966961db4f87eb1bc307df63f03ced647ae8ef756ac840ac42bce6bc328f209d1b9aa4217353acc9aa131559799d6e6180cc48fbd1000d79e42634490c38a9463417050cc0437ae71b86c234126c0ce8d51ada87ecb55010e9f6dbd605f95d695903689cab352b15baa17db2f74c4f514402db9c29158c3b844f0fde09a58cba0e42126e6acbedfe0d0367ccd229a4b8e5abd6cf3db0269dbef27c9e3719fb7651374f94b5f45a9a0cddbc7cca11bc57b692e6170c6e7800c9fe77fd2311be9276668dc3548b062b98f6230487ca1bb77d1de0fd164a45b8a4a6e4df6f6a40c3d62ecec2384076476ed78ed812fbc6c0d5a4b17783ece65af0576769abf9d8c5f7320d4a20fe5e08305c3eb25bb386759a0a2ae50d4a755a4fa0ed09bded938e8db288cc991b063a82efd187c15cc44e9df8436d32c739bf7b954d59cc8aa7b04d033f4f0ca1dd78b89a8800bdc0b154936204d0d721d81d40d73356029adfa91f79addbf0d93be7a979379ce454826abc874afd96716c9f3fe0da534d05a516633602c738bea0c652c0f7ad5122f720f9a716a90b32c98c893a410f2d79df90a2f804aa4d12dd47042109e7ea72e4fa26c53d448416df3e7c6bf4435ea9fbf7651ed8c4242353931c20ec5e061afc9e220f23c95310cfe7369b8f5e99284ad84519210e3a1a2d364e73b72643cf84721294e1daef718417a9d9a4ae32550c4485563a0d4e8ad80ab1228cac43b4f4dd30117cb22b12cc7f7e60fbb8714dd18d5be5ac830a8725a2920fb6ffca8cc459e4e70f724ea5a0ae31922d170d0ce1d3cc1533654772aa1bca3a9de3654b90042c684eaa18212db898c6fa531829a967f5714f9ad8453d3da61e97bfc4c0c7eabc2cc817edf27394e20756a08a76620fefb7b64bf548327daa238d36e33f751db0d440ea6197a09c1afc5ba6f1d1d128357ae29b5b97e27063d32b03db2034d009dd5cb8c70252e79711922fb61cb814ae4fdcb8a05d303148da4038f7b122d9637ddf426eb02fb995643d7964feb6fe34ef8cd22588736cead568b970eae245a868f1b2d359d743f3f186c5b3a23520617eb8dedd397f4167a5fd7db2b37f507e383cfde50854110a316de301a2a95ccf72e7e0a49ccb50c1410f03062d5852b70098814b4c14cba30f9a2688bcd07a1779c6a46893422fe5d4fa889e9959520b24be18bbe958a651e5d3d84c4bd722fcd1f8dcffa31f59f0b5fa940a08c1391bf6cbf09fd34d386b52754deb809fed649f5198349c17fb93fbf8a591ed634eb11fc31d905ac09160e007a3f3244b2bd7357191415191cc5a681c949f9931669c8e081bec133abd18da32b9298b3ff8f616850e01fd194388a4d65c176529e2d8518f8bfb5c306784a7027c9822924eed7dfe62acfbd72dd80bb5eba319c47b32dd380ded2e5c2f7d3fbbff452812304b8d7704fb1914740403be9261cedd3aff9fca705d0c7085c35544d8f5cb1cb75c32a295b351f19bba230e69b725b4f90032d93b6a7a17648149e36b2fa0d192bb6248eeaeb0d24c61066f010efbe5fd378b901c9e7ec8f76bacef51f53d7c4f4fdd4386cd650427646dfee8a5d400bf712a951482260733f77411ae0f5a5ffbc2f48af2c23ef93539c20017960e04859e56be195dc8bc7e1110403e36cc99d90a8caf1584ca93d9be0d5bcb3d1ebf3615ce8d38e0751843b7f1b812b331e7e11a4ebf747feb104b9579e3f8120dc4ef3d2252c9903529ba94c12c005717c7626ae13dfd6b30af0ac23ebdec540e1f95ceadd240504bfd95da98299125051827191fb73d2adee414c7f6f6a35ef9df7d756fb9886d2f0cf1455313b9ac70938df07ee7465fcf0658f24a4b8621da2a3e492fc0c2db2361befe6dedd8d4e6f8d7eed10e255edef1c9e4abd7c0dfd00636641d7f72780288f496fcc8fa8e6c03b1ff949f174677c10bb670774ad6d23e8e05dd31ae80bd8f43b0d2086b9e301501305ef4a3150ca6df0983825745c7342b2b0a690c384a16ffd92eeb37074965bdc1d52eae345d37d9f1134ad5d71e585ab8ef67af6b65d58c373a060f80a731c8e0d75f2dfdc3045b28a95c7b0176084ac0e579e44c2b6467c2ed4e7ba5b99fac60cecfe5ef2f5cbbc0f49d2186d29cf3f6c3798b6e2df9bf6ca814e95c7976a389e1a3e3c432512a4fca5593d4ded84eaeee92abb0deae35bb8f646c3b6a943cc1248d4e4daa98d8eaccf0a3577e228c9d4ddd70292ef969b3cc9c394174b50f134a471ba64f190d77e8f679bb3b99ec186b58149183bbadfc68b44d81cf9b9eaa6960986c42cd214543bf9ccebf627a395abde34d0280100f868014cb961f9ac770da67ba23270641c9b29a1f78866b483cda5b8406548b71bbfe80048ac2644cba10314e16943c37fe6ab66e0e6f2dde736ae238b39f6482a3c83492709953ac401f7c84dda9e13eec01c1135a9dd8e258eeb155f36b94578b7e66a6ec751df7e7a7495196bf4698dac9a06895bace47d3cea1b23f6a5670a71d30414aec3e5eb7fb5c638778607fc1c0f2901064fe94c40462e13418464dabfb5c17c7c753987e61bdcf9429c88631b3e2459770dfb7d00271a1459a6ffa049c0c160f94853e693c0cebe8b1db23f37c829c9a1078cdf2106d7f512cf69bbe52e9263a8bda59248cc3af7474e3f810ce79aa244e2be18742d28f403871c193307bb6243d980611ba9439fed6fcadcfd052f51f7c36486270ff4a0a5377f7b8fe0630e4f2e9425850a24e91227864708cb657a67f4252a9e495f4c717087064ebc2b06b6dd53c9c33dc7ddf1b3a3141e7f2a0013215d496a9c81140624df0faa0449510858def8b76b64b507d2941fa32ce13744933f4c1ed840ac993373e35e9a7534f3bcae3418226f19c1e38aa7e013768143d4c88d968da2b740cf0f45be9d28f20f0d8b618eca86d77788496befa80af49ffddc240ab7af56304eaf1ba62642539798567c5cac6247a813f3a5b7ab0fe5e0a8c51d5fdd9c51456affba942740f28d1319e8fbfe9cf3a2fa1cfe7f69019721d83710e091f898b4b10a4f94eb47d72e947554050bac13d867258b83f87ba84f52dfd98b02c998f58ff0f2a6d8bfcc5aec16ee9f5be78cb50ea6956c4c39023a3113c4c9787a9a41f511218ab916873f9b4f992159fa6a16467a146f58246a240fee796ec0479c0693920526e95390645151ba63677e94b4d5d73c51f8d7480f23be38a183816e51d6493b5cf3e3c8bcb5581a84af86824696b27ae65c47d9173de6cc6dc1cea3b8e71d0002970318f1c8fee9949e18d668c7b495303f565a2374a4c0af373e57d25455625c81a57847a3b0c296bdf984435f6dcc287fa1722df667ab1028dbe1b4e6418d9e23c171a2bb0249c448c92431e580a38fe62b9791a1206febcc7a87e1f4c7727a81b521dbcfa00f4838e9dfd57c03ef63f21a6d9ffae760d84648f4f517e5f97d862458b0c926e95b41010ca8fcba6fe4c624bc061d1cfe0889d9a4719eb38280de5a73240f8f29c6585ad046b094842b692b57b6af6a1d51ef946b30648eb70ce2d410965f2499fd1b02c51043156742ceecf19a2b156acf72b938e99314173ff5983ac58d7c5bfc51b1ef96567eb588e5c6c83810507848ea68eda8781e8ed74048b557889766c833fc0a91f557f81fc6497df3205a5b8586281d2c5e5caf8f76ef73eedf51977cbe6494b510e244e9fa25f84c6e4f9486be77b7b3aecf6bc52aca06cf92b0f6fbf63f386e75265420ff9f909c48e42895c6c559aae1bcb7a6a347151580d547d92dcb1cc888f4edffeb7dda5c50f53515c235ffb24a9b867ad37462fbe875700bee38e7c29a641ba3d9efb1a3752b04b16c3bcb8b4388098cf8014719cdb45f4fe6260906174296d582c23552bf299647808db26a5ff8dab44919b2494d03c3ddf7d6bbed74ab091d8e69437042dae8a91e5a6e06b614643714c9d3ec8b4c46c6fd387bf0fade86b1edd9024247b7abe021154273dcd409564f4db21c7d8d2ddcacf7a15a9ce45dd360532eb910be40157951d05054dd70b4238a36b360ea737e127ff800124dce3aa0f209711c145cc272409b7568c51ac245ed71d6926d46e510fc2aa64e43db19d861522f410c19daeabbc5641f07a53538a225f1afb4579f6b9d332f24499263b0c7599cd17fe43b8c5604e9df1a9fd8acba7b036e7c7f77b69c942ff6fb8919fd9947a36edb81f21c5a96e0b74f79107988bf623ca90701e290f22c83b22eec6be3ff40d7a1287690b7086ad9395593b7fe2095849426938d68f91d398a21feed10754de1d3d9cf1cd0f06841e567b6c2ff9c77359f78edec52855e76cffcb864bb88bc13cf58bd3fb39c0297ccf1c2d19048ea40c96494d12081d29669a56649616fb7c2b26c3e054e5abee1f3756d69c8777a0011cbcd94447cd7f7b0e7751ab83414acca0c2efa712db9fb8df97184e9e79b64143785b65b233f296c254f6e1274439bcbe962c3ce70b5569c0f0a5143e380dfaf07160c4b4f416a9cdba75b65274ca17f84d20a77bdd097d683860031b16d0cf1e2e9abd9587e88f19e6546616b970ef18e966dfb3f3f3976add9802dfcbe1a89b58cae077dbc57deb23f43aa1f220f26577f739c948ea21a57b5c0648f80dc7c36aeb14eb9d34a76355296161e8e5415a4c21340ff51d92a03116dc3d8d60f9824059076dc38c01bc294d339b9cf1f0d85a0ba6ac380a18835dac7ddff94cc0cdcf0c90696dff66bc571716c5c0b6c5a7c0ce6c317b18321821584d174a3c0fae5eb70b7e8859c5ce389466d3948f02de191fa54533b93a1e1662082157b60b8bb60c2bb0197aff09bc0fdd7868f529753dedcacaa86905de2ed1a60264a297683a56a2f64cff70acb161a2aa61efb8957d150617816056dae3032ea8dc42d4ab3faf09331de635785f2087fcead527e76cf34c14fee4e4ad984e4bbd9c15007537a9ba24fd94b447024de694a91a5c20aae95170fe8dc47c8875245df60014de7943d6c4e34b3ea5f90970fd7af1fefe88b38c94f4b2a3b6c1ee40e84f463091bf7edfcc0adc74fa8a4309ab7fe501d0a87509d103af0cb35a3a411701593595fe014ab7e69d1e5771db23280fe3899db242ebcc71f427627be6c311a313f04fe94cd5838a43406f3486a5541abe391d2942c0b0df6a5ce18982f979fec98a0da6938b69766ad46b66777e8cdd89942a241e7b436734e83575d122d24adcb2ced3f1c8e9aa87674245f716ac66273ae9be2c88f42dbacb4369f87b31a793e5d74b3918ffec460396be23266b6981dd0a12c9d178457c0a2347cb635d7d364ec63c9e9c7c08d6bd6d8e86760a83665924c310709d61a165b08217bc88f7427d5db4f1f279c3a8161e45a5584e857eb80e0ac73eee37008579d7ca7aad585a6d1da2ea997a2e64b54d76ee9533fce01782430a97b1d1e14dc9c694f938bf9efe18b73cba1c2ad62559e6d9b3cde51f29d8039f107912a9357e7e71813e3eb900be81d2632d73296fd45bd3f532781b35287bde69fc78cc6af51e926177fe1311917a933be25cb649b98804190ae2caff05a29068ef12429c16f51f44d6d71e46e467d2484006410061a2c44d3b5d3a743261429ed5fe416be6ca6b634aa6a71522ac6835157ff8a01224ee50c0ff98a6fd448bcfef159cf6bdd8ed51a7a4b2e002cbd9bd233b52492be32aefcb697db581ff84f98e2e6fa3ac55b7a86ee723904a740eff02b222e339414899df7ccb1912042003faf43f766c6abf2d21c2f4b572fa798195bc40e58ebbfe6b6d9c648e90f7a85c6d13d98f7c73ca0337c79aec8d0d6d4b47b775f8e0447f36520932860c6a8b5ee3ad0992c041ef4bd1ca7fc9c7a79fa9512013d097ec28478e221ad5aea817329814ef8f1ddb0b078b01ad3f54c98089a003e1b8d625ac4c7b636da08cda967cd894380d3f2d504d7cb86f38e465a86889717834be0624b085cfc07860cad72d5977a01c454b3a2e0c0d78871858cc109c45bfe90c630cf5097b62ed3fb2788ddb800a45f72d1483756f7dff3852b13c6282af0e6cb5727b35b724e4f1e0e548c08f48f4195b4f55a8397fbd720072feb63366269da368a97e596e6fcd6ead9ef4aed591d48c3b672e90a974f8df74eed77ca3e9f3ee90840f0315f2854b8a1b97dbfa034ed91ba349dd98268c278486aee2eecea5cb281eca8e51fc683ccb75c41b78c0c04829c30658a8885d15a6077c9e64b986a1819ba87652d0109a6e8cb02387094662796ef61279c64eeb20f06728ee688cdcc08479bf4d46e951d7b24ec16b39142afa7bebe877fae539d8d47d071e68ef9899854b089a91626d3c76dde07d4eb99570e1fcee84d719b6e1fe6e7fee7c3645c4613299148b553fec0a2de6e0b0d7885c9a67c8789920ac67dbf9aa93459d597efc125f6afa013172a2596f7028de928201e0132fb19596739e0b05ad53964b3c48414585606dda49c96318c64be5141e0bf7963f3755bfd6e09a993230be49503f13db66b5db08f14c4913855d65e4c9ea8ee5dc2b59059d005089f45ddd79642dacd90c32ce70385a9721c5a5c7ff13e36f3737a6b51b537fd64da0a6a7689330e0874ed450d292c5d53a0681742b766ae3798dd651a239671d6e7149e0f75c61f653221962d3e8dc8cba80b279a3af91c4bf99524ce4cf7bf7f6f9dbc83ad08dd453c0ab931d09a482dded7e382800dc684b499fe26924db5c11fe733c0e8bc669658a427b47cf6c1807429081992af0844cb8d3d3699986b65162eb23d719221c9ff2c0345ee215aa3a0b219ae7c802e151420d2f139079eb09af705918bfd550ac13d556685acb490bf2e2b1702963a64c9b1e04da98e41b806ef34feb711525d7ee5b64f2a15e2c53d6845ceab9d3dc0c1e2ec33236052b446e336ef6ee4db452e41a00c180e4a00da7764bc028050ef4073bd737bebc5186d6c3a64260456e0d272cea4264a082d0f07e472c8d47a7f7955e1228c32f46c1b828dcf0e8ba89389362df1d2d73dfd804f66e3d60107b5ba1d43fe6e7a10a7e0d8f2333db39dc133bb6cc211c224a51832ad76255160b7c5c6f35929a3990f8facf5dbc4df5b4bd8a0a1d9308bf453714241531e9a402e20e7695cd8ac9e60f92c32dff421893ff642a7683be427cad5f3ab7c6db941237802e7d01c32d8f0f2ad1f26573afd9887fbd804e2cc8871af85c0f604e50f96ab046c2e142a798edaa4e0a9fe7779e178f2932cf74b8a864502673f9184b99f6018d34b56c6c9d5a002a024463f2592e5d903ac9322bff78328461d627ae25c93e4a81c90764208bb45a5d1c0980e71b6681dc82387b2e26eefb6a386dd5a42f0eaf09540feae72d1e1174b4c6cc112d2fe77b7e8732d0210913b10c2e14f22ff0f52def7aff174831f3f57592cede9467c4ad32a7bd25367e799437231a1b85c29fe2e2b6032f7227e6c1fedcad2bb77e99fdd5e297ca8a07d7726592535632467626d9cc3b14ea278d398ac37a17273fb0765f1e51d8659ba84c2bf0adbcdaf37aa486a7d97fff6e9cb04f38f4d4f0db595bcfc0d94a72aca43daf7a08b2f11adf2ae1636f503bfd0fd8c6ad8f9c3fc1d1ff00ce6aacfffb9b052f7f36bacc851a0b5848990a7c36001fee610aad5e21a9150438b3a7d65e8b54739a21d60ee95e20700cd4a0fe09e938be49b044b8b28e84874cf48cc4a11212266505f0c3c02479989a91b62792f5ff9e8a00c767c6a47324b5f91eda9b030809c0997e2b2bec30856b0bdef42d629bc7f0500e93c6a17f4f8679c690d87325b3db15afcf3bf2894279d45b0a71d54a3f66b7d54ff72c06a893fda6e322efb74851d9a3d6e1b08e4fa8c0c0f9e232c3ddb34b4be160e603e6e8f99ea8d779afc403b1d3adc2c2efbae6b32fbeedb750d2e70b1d43faf24a917477dd7ffe3f6480c128e6b571f8ee5860d6b390cde7218eccb2841b31ce41df48332fdcd946aaf53dd5a86e56580bc19116425f4d83668d9b1e10e454d715f37c245ee48ce79edc12bbab3076ed7e98e3d67b4fbc6c94ceb0669dbfc5cd4657364273c5a9b76192248e314eaf2f0c8788f98b4cedb3f1a19283648580e814b14f90bac01046bae637456af03d0611dbab35882631b4035505209bae23b0f5e1291b0d69ae9e0a0b717863b215b511308d7e8829acc622151d702f6dc735b8227458a75a7eecd83577323751405bd2d3d5f059303e920d98c7f2dd64b57018d1bcea25b7f20f499c8489b238db36bd0057382940dfc3daa7661616dc1d3b7798b1067a0897d33f509d97309b4c08275700517d109161dba49836684910db283d55e273ea01b4587f651724957b0a6aa66d7769adf895b6539f9738156c0b7bccfd5f111fe236e26cf37c4bea650b4d951a0c5eba9af708830687d683cae8225438421b2e9c4880b4ce3275a1d10b406404419ea86882e17c1e78cc2472e97deb043022b598fdb33a285795e1f690c988f2e46aa4bf58477e971e8a668592b711eed97076980bed7f25cedaf9b3ca6de7cd7919980660d5be4eeef5f9ef13d05bc54c90748675dceed0f7811aa6e417477eba336a2088ce3432c810a321990129d261bac1a3272d88de46d1023773e0d74a6269ec6ee8636bf9c1cde5241b87e84fe4d756bbe78fc19824cb9a89021a27dd8e2f43dc8430f6ce94ea1f4b772f7353d29f4da670df3aee248b60037cb918307d709e1ca3546de605a925c0a362f1116ab397519f3a0f3743651615ee2f51f21ea35d331d189d5e20e041d7c5380cc1b4b015e165702ea980c7b7a9fbb33cd8cadaea353bd9c192a71aebb6245e4e65e7f6c68fd006d384a27f16076ab766452f56cb8a8f4fc93d8d8a47620c75163b2b9009f38044d7d05ce89fe0ae7076af9f825dfdc39686b1714af281600e86bfb0dace35ce3c1622fe09e57d9ee22d42f6affaf718a1b9b60141f9da44c37e7034336020e934d07ea7009bbc1e1483903f39f0836068392b3ed1aa0a1ff0308a635db1a8ad03834561c8bae5fa71bd0debe199fd20ba5f09b59361d1c7b5a8d91166f92a65bc11117459a3f7f4e9897d25cbfcea85bb61ceb945f50221cf2e133d61f50a8887d4d56a97fe48854c165cacb615fe707f52c96b00b74438e2fc293c1c225d9bb43e6341d2b1e8890bacca3151530bc9901c9a09556ae6993168b1c164aa3e0996175cf9633c321ed22e585589745e9e21beba807cb5c71995cb309395f59c4005e0180f81c5d689ee68cf0f559fbec7ffddf1045d3f44b8bdabbf68ccb0585362f08f753b7ad805ab58f235433435702f1d0f5bbe4a49591b914e7651f61939af267541acad45f0ec5e208e78167fc568edc8c88aabe19336a5f045a62dbbe98230f307c0cdca8b72c306bca2ff2bf84a8a07982d1fb10ec2d845f394c7f11bb74d5e7b07797d46367b0e25058f9b9100a4ea286ee3247c6e1e356b3bdb6a4b99de28f56c780928b140e1b1292205c912b3c6fd1c1ec8c3f46a4df26a4842d52e0399d7d0deaa6c75afc3e0111460bc3d83057487a91162db2980c36361a67400a00d5cd3d9c00ca049b4408e31672db664ac2f8e31a8136f143eb63c0daaf2d38f7593d6ff2cf9d5c4e2c92291a40f7d8b1d5a30e4c950810190b34c01c4a325f5858eb82a785b70686af2e625516df6091c8e0536d9e30345703715bc3c7e8789d101c3acec4c64fe7d824297c6dc360f6f2c9dd01d9fa8fedde6b3f6d3c03b414311b00ab92d4bed4dbe17d95c5c5265fbed99864e606b17851ee6cc42f3d0d06c769addb020f15e20db86eb8761b98e30f65da694da37da96a5a73ebad5538d229d1dc60f099efd1fcbc3b3912ae8a0a8658b2fb7f5928e614bc3794aa77ae1659dfad6839e3d0cd52242a2be75cca662325364e8742b3b8b2f972596f1a09f4bbd9080da5738587c41d9a7dd2c5bf4cbada64a1cbf1e55b33dd25394fa44a2eba2f9a885dbc2aabf60dcd5dadaf6a5cc46b5c9f85b9c0e98bcd4ff7d1f2edf50cc9f9142c180bc5f6370eec186217a930d6c23fbfa58ccc0d4ee19609004a25794e3bfb1f387817dfc093fa509c27205f9b21d69a4a9e41b819fe1600d6b9c0a6567a974242d8073f4d2e538ef51634685afbb1854b8adc34a7065f3bf1df61733de28c1c652fdfe8a665e701764e3f5051ad0b346bfc3dae61dbab39dcdca89a6da8d253373191b23355b3445f68829bc0f4ac90672b9969a6d12f8553feda5b72754b8a3a3481d628cc57c96f9a2eb95321227da515cfd3a06e503b3207ed42ebb00c4e17ba8bde03a3fe509da51c2b19b4ca0217be15ebbdf8da04dc64b50305790e819362e2a982219ee679e34bfc0e61216afdb48154c686f82597e1f8464669e74f596dc7475674625879626bd42fc67fa6e959ddba91bc61b1c331f03de299416b3f16baff7105e1c79a57116af69d0b03e0762283e5d9963d318598d50ed3742ecb14b526724281bc6109ec67f78d991b828786b2e91a8fb56941b8620fd68056878d94efd0f13cb21da0bc5a8a5c98e2cc3df54c91e0aa330f5f994b64d0d63daa9e99906a03cd1c10d74099dc4b8ea537c1c213b7495a57e5a83086b45463321f0d330ac7f0c85cb08bace82ef03f149981bfa9f28b064ffdfab27d982fb1394c8964166940de2f611ec6d959b41b4f735f3d253880d8ccef66c531f85846c9899aa03922220f089e3b3ffd3b0c02e2ddfe37cfe32ce2adac941f5fe6b4936d71e582feca97f7b829043c025c01a6929bf7b24dc99dd0fb8e7bb113ed9fbec423b2e13e24dcec4d67b7962afda15ca2d4dc8662f08b66dd252184a954c46a736064aff9fa4727a150408947be3588236213569baebaea4550544ee7f0e67ffc60425401a934c9ca406501eb281e35ff0a3f66a6dcf88ff29e827901c1dd623a7bb95ca42079605d0a4c31a55d1fe5b78f90b5d057efe37b498d81eca879cc82cbe5625a3130ea2f875970783df47d22022c9ff320c25e8a6220f85ea3b1b15ec66d658834f6634a973b146d7e7b272d06316025733fb83b4dcda12c13013d8589f6474497388051bb9a93041a33f20226371f21ddae06c92a019be1c7c4dc72c9d3ac75292ddb79c8eec791bb588c1f71157213deef2561d5c253c2aea43e0b7eda452856f44a86f2ae93c7f41be4b6390c1a38f623fffd0986755eed9385af7c4bcb70552b74e54076a14bac13a6521060be484ec58260cae6e5f575fc1569eb9e7c31a0c00c6ddb2318a828ce4352886d641715c0e56c1a3c05231e170a36e038dede3cc5e8c28572f118aa1b0c52ab5bc83e47fd8c802871fc61983c7ffabf8961b55eb58956d5d7fa015e2014a3d61a76a1e59c50511c124799c2c639d5b663a77ce14e1a34375ea320d6d2bcf8c66d381c35fcffe1f3e0f9eca4e8ebae57512e413db3b2bd3bc8def7c43eb011bb58b21c34e462602cf2a9fb5ccf6bbaea0ee1ef75dec9b52db15131c0295424691f1d27a5aec3322982ee7d94346578d115b073863b8c28e6b6d9c28a97da7395841f6a604d368b5332057b4f2c40865847e66c2da0cdfb151d7e07a4678c137e94dd4c5e2709cf358884e3e4ee0d0d0cce37ed08e04ed93fbf816446d6b448771e8dc71aba28dfa32a25f350072dffc79163c9a49d92b79d553c32a97951712989f3942ccb36c77df1fd1ab9523b9cebf2ed5f81c242f1a26d1f8a32e8816ea8f138039c5da842cc39ea9ecfe5d10302462beaeef7dcff733ec526d884abd8a55e04b637ebcdf85cb05d9ee7dc851bfbc093eec1de393e5054dd6b7504db407b4be3b2693b062d9ea454015ea5ff16f87f12da7184ee9c0628193873459aba4a789cdb9baa2d341872abf3ea751b276710690a07458b528d5500b305a9503d1e62bf7924398e053c35fb7eddcd31679e92385043dcc7e5cb4e05ce7059c0018c9ee01dbed4f32f336e82e7eb3661f9bb20a4c7d6a8c12663620f2b6d281f53f7da4686676f5d5b7cbddffdb68cc3d5bf888b0c63685ba2cc45d1d379a868e3040dc24a2903691baae9dd0c58898431b92149198225fa6b26785097f0bbdc71840082aabc1beb19484e5af6a64de143da2d72cd32782a5829da606212de31b3972fbf7bd743293d340d9bd179e1d3ce20403e25489cf2c0bec1d26b359090ce7ea3428c0ce88da23bc3fc7da437f9f5247ea1dd81aae0cad6890eb474b16498921f37beadb471e4be0cf32145c79e5810509104687f1a71a7fd9ba8a76e5fc740652f1c8da34c27566be6d0b66b0e446a899dc8d4687c8f4ff3b76c3298eb87762fcc56cedbc164745c6d21fc7348982e50a977243b2df1fd658ee26bd7002192a714d0db487d2d3e2e043b08b9626b9d3f41a7ae934ad0fde305e2d18ffb0190eb2ae26be6cc0f41b948dbc116f2bc517314ceb4c11b5de26d67a794218cc57028ce04df0e851c8c2def12aa82062c2b50f395ab6b9e64c6f1fb46c6b4b571a16d65185f1088517d4fddf0def71e4648a76db269f497a84d5ee484603562a81078dbb131e56c0b1cd3c3c9da68f34791f6612fb5411897c9ce930937586f068b7cc9a66702a9771d0f8f0b8c0499aed54a1adbf7c9cb1643ee9c520fdcc1daab52bdfddf0fc1f20528c63a3fc0261d09430c4034c1171bbbccf3d1291dc74582229f7ce2775050cddf6978c6b27b48837e0bc8160e289297e539cbf50df97cd499403b4ed1be2ae4a13fbcee8f07fa199a35ea6d75f127cbc476d2b55de16feb2ece0301e94afb9006ef77e328094c8bd4fee0cfd55afbd106023eda151ddcb9d24b0129d06ea0cd52575cdbcce464a95750bbcdc7da0776c98b748c739e0d229aabf6fca188d8e9fff45ef4537d680f6de0b19e9ee0c5c2165d2ad545d5a1ed5146022925fed4d5069d462259d8153cabb5dc5b601d316ed78f9a58543e76928ec2523cdac5e9ab63795d9060e7253b6e660dedc5818de4017a026582e1f0429362d810157fa37bb3c91a05f83b33469d49b65e785461ac66b31399633c01ff9c83f7a64cfa43350599148837115f1b0c23d49042f5baaa1f6a6f446cb5add6c0467229c994e8585387c44efa5437a7da66d86b0937f648759cabed8e72506bf74fe9ba1cf66719c8b840268c40236d073b4f1a4e15d1fc6d8af766ef538f6743f90700b0088ff9ad50d4f17c458c643f36fb15de4273d8e29944de3c31d96c3a26aedd920bdcfafe50972f119fbdef8e81191072dffd062b68d6995e24d833a71cc28edeea865fc98257803311bce0aec3d1228a5ff77a4fbdfc95a0c39d736578ccbc31db3bdadef6a8094f3ff6569c4840baeb93cf39bfe714f9f702ab352c23d63c7a96abf15e2c1628fc7c6580c277be6a3b417ffb1a5db039d6be7e19ddb6010b0b38076bc568b2ffe6625ca0d7021e5ad55247ffb616c4555a89ec618c378a1df8bacf3fe1aafa969f5d53b3f701270703cf92f2a5df2504736ac4e7aafff5b067528bc535222493c8804b745e90242645aae586773e90e45e208d3f99bde7101cf249ae74307ca82555ad77f47967ad170261e983a9a304d80a6bb08c2c6517faf60f52f62f2dc7c62a0c42928b556b6e9d2133827124a16409eb7cac41a9f2428d148303a7d6f72679d34e1ffbc25daae8622f9eb03b05fe2290067fe7ceaa876c1335de1332baa6fd82df966b2ef7f4afdd7c2becb2f9dcf742e19c6d80f62f7802422725c79026ced2eb19f899be2e53492b0efb049e8ffd4b6e77e19c7a94f4091171213ce5fa2410510a22147b806871e3d387a0963bd96636bf15a9ded64a7eb1b68f846844fbf8b51e279465d813f92970f2fe5a31e02436e5578a98d1909995bce014c1c74770aa9770fea747341c6390660d609a49678127b55e77746dda46f101c669c9bca5a3104fdaff089e8fc10740f4fafd05d8247357871bc57d6239f524c67899a048590ca5bfbe96c39819a3e93fc97dfb48bca718e8b19aa12196f81b2f357a2b6ac9c9569e60d240aee725652e5f7bc407623ae0c81cfda3559a472b8c5608ce6526d8f034f8f01f30165a10d53ed58e1241c762057e6b9ee66fc9923cf4e6baffc53a4b41a2b3091fc942c32b4d234026d3710ca7f1d7472be898d344dc091e815b29ac995e017c1cb5f58c5112d3d6fac4cd357ebc509af4b63f0d8ea13196adffa49570d6fa5b46c5f481561cd404bcd5a0352dd88dfd9e162e352de5f7e64934ff949bc8ac55d28ff6ab955afeb641093aaa4d457941aebd13b017ae9450667620feae8e1cf30c8fe58203986e7e25bf3c742cc374f5b72200f50401f42d0a3654e765a1f497fd19f0d9af7e98f2eaa2e372016ee95112bad6649bcfa65d779bcf9ec45022fad3cadad87134864bf031de9e557cd119018e432bab65f10d9c9663fb89e79f2246de1ae0a4ffa59c7e6bce875385f3ca327915e9ecabc2d442ee2197bc3970f8381067179be3417731121039440d7c417a68cee883575d779b9ef009e4c651879c24eddd83bd49aef0156bd1b18955ff0512a05332f5fe0ec894cea0db51de966df58c2e02874b479cb91cd8458b2eac4fd119f0e9fa686b8b4c312d14d2a4c4a92e8a54e2c84c974b639c62ced85492a0fbaf5feffd829ab9585940682e5490893183afd00c5cf2ca4f61edaa6c270d655e8edbc4742d70fcd15a16da2210fe8df10f39fa5a60d31a03b66e764a6e00c0b0fa35e8b92b56ceebe1e1bc4701bd83ebd48540d0b1592f2605ce430f896fc56b790da8d09e1f8b5bd3e5c6cfbd3f4587960025f905f82e71273bbc53aa6f67be8da57398911c49b058e183f8320b97256eb9eb4f03d35c87c6b7109429d2ca851b92b49efe8a9c6a62e1e51db2c38ef6d4e4ebf2d6d7c04506938e5ccf0e31f8e33aa72aff9e5923484c17c2fcd6a34555d88ba7d96ff77bb3e0d70522632fe88a6caeaf2bd1f4d416aec9057059587e17372303b32c331ae20e28dc24da20bff0668b6e869cf9801587c1031d047c8729b57793d430b64adc4635afc5ba3dfcbf422af48906f7edeb387ff7b765d886be719e29559565dba0cdce91f4d5d4d83ebffec6a402fc7f3bbb996394763ba85756a6194745089f10e87ff3ffd57ecf093ecee7bc9ed290b216fc83bb7412ea1cea0fed8c66a7819f664b3cf087e71dde5609834c0cc281d68c124319574400906b243cb3eaf17d8504f146c1d36678bd49740a9b60cf0b9f6a0841f8abf2212afae16da0e0c88f816bea2de98d4495c2bc961ad92eea14c97bacc16a94e771944cfe045104a764d541b248f653d3b882753d451b99d0dab3c67275d83ba4b768936209175bd395db5a3a4f8f2a524d796e73ca6a56eca87f2a5a432e39f0d4a87d226360dabfb74bcb596aaa8748d6d781933984970d4c6a8b055baaf85d44135d63c30248ac5bc93328432f7b643f87f2e505bbb8032b8bae96ffe65145774f5b41710f85a42dd4d4ba8db42435c18edd7c03f31349de127211c26f3d6f3d3b28a347db8d677f27b46ba6ba185042ba6b1884a59d2c93ed70504a8a61bcbafc93048ca000b1cefba1307a34d6cdbeace8dafd707344df0eb9fa947908b6934dedce78628f070bc69efd0be8133f018337defd9fd72cadf52e996b894e172a9467ca9a35dfe0f66e33786e0c97fad61d0d8367a1104260f8914d848fbf5007cc00f7909d9c282e1adf12733b8adb56853cea678f4c1ef90eb6daa33258655b775d20bab24e37eecd37d63d292d63586c03a56b3e5fbb98cb23e29ccd504d105d8a3ce5e7630c1c9b8aafb9128884f1459b60018acc06a80627495a2e4a071198f897cbbbecc5a771129fa0087e646563fa4dc61a0047eae3500bebf8fa97598aab21917e5461b6d0b926c223893edc1b038f47919f143f1e3b64753ebff7b4e7f8a576509d94b81ea3806a97fca07414cbc2d3cd4c928d78e3f5df42bcd40353e6fef04808b5fe3fa9c950b01881cfc2a91a68f519c11a05e81aa0139b5cbebc995dc9803d46479e194c5ff155c2efd9639cd69a39db26f7a8a0db89d32ceadbb7f2ef99ad2a7d4fc9f6e782e1778bdd41fd7026b8126022c7e4367222b42145eada4814bd4ac05c253031015380d4b97e0b6ae8ea1c3c063a94a8d34e7ded79fe6532d1ecf6df21eac948ae85fda71f07b4fd0291e0af58ba93b8e0c6af9a5adce8213394e0dc0e3c83b8e61e8e66222539ef7572cae1fbb8a0eb4b8c4db6d6b15fd2c150edf0c23520181df6c4c0bbb609e31866cce864e6595b8e1448c154ab684c9507f802d6abc8d9391f4fd49bd03e9df1306bc540b62707945c2a6c013d2aefc2c0bf62a81a540c4dfbf09c4c92d2463559914ecf483c418fbc7bdc39067f37805b6239cbeac36310e2c4aa00317f1c7c1b374bac6d15583af2fcce8a5d637e5e175b260bb9c63b40a6431f8f0b1768cc5593c5425bc40a6742eb439b203cf3d1121cb6ef24de868e852949733c8d6ae77e03cd82463cec617f268c8e4c935b9bc734bbf9d36d9f491423a25ae07e32ff816465f9693b82533a4b8130a7408de9c0c254a9a215435a884254367b440d60978f7040c996866ed768c3895e807122f18a529bfcd5c8500a83a174fe7824108cbc88d9874d5622e17fe7e0e526969b48e6c373d971ba1c41fa85fedc5403de048203cdfcbb52d2641c12c1ada13dbe82412894f4afade9b02f67ebf0ae149141fe37c186a361ddac8c398b03ba56f423a33805f5eb05e08f2762890468b4504099d11a7ffc59977695cae330fd310bb753f241724b05683ebb3ec6d7764ab99ef8e1efd1121c5b66abe2b31c2e22fea255aec48d2a7a22291c1603cfdae7f6a0674f9465f7541a2490993221120f655fa60bc6033418fd07c356f7d5f18881e072622063e3d7ebfdd5b70c8cad448993b79530e953611ab90a4f29286141b8ad9ff22ca9dbcb49f214503a8b060b72e100fd38ffaf31ceb8d30ca52162788d29e2c3083c5075ffe9af2ab6aa71427615516fc12baa79377b53ae08dd3c9b4683c88ad121b1c8b78365806dad1bf0b3bda1005f6604c920ae01dcb453572e778341bad2de444bd222702101c4e84fff2d6f4976b829c801069ce3386084c10faa8c0b27986bf619a6c55ac5fc574f4dfd46339b2132cbd4d6b8dbbe10bd5f1d3508accec0a38365a6711425782b9710fe0ba92f644d7c85b219e72ebad1b146ebae23ec88b74144b45edd8369529f0d5d7f3fb7e96b3bf2511318158b17ff222eac7b61c756e6bac8bb50c03e51554acd45f1a06fae22ea11b5a6219ae2c35fc5cd49688db2a336e30cfc0ce27401b40be0bb367859422e7ca50f4237c80746b2366315310000af383325440f408f5bd12e14a9365ffa61e7e35a09b8a29abc7c29e900b158f13287ae1c401e384132d3115af7a8c4e96000da8f0d415357d5d54a992e8460f8a7c61e5850c9d0047316f62216b8675b90f1495f8b30c77cf4a49d357708425fd96c57e24af659c2441ab0dcea56e4eed5a3c3807bda71d0d50d330cbb3f9c3e7105ac70d3e4843d98f1b08d50b57b58e2c76b91332ef0f0d28445dd3bcaed5befee2bf3fa16b9c6ebfdf128d23cf9fa4341dde39242e138e711431a6439410b7e8411bb90adb097fd10bf61e9bdc171f81a44a2f6f4c77eb4062ff1e8ac23a35d527e38ed61aaaac7eae97da136fe2768268d6415070b491a8851e8246179e83164adad169ebd9d0bdad3e7b989949ff7a9bb8aa73a5e3c357c21a496ce64e206a5ac239a1852b0c9f619249f9d7524e4269d74b50d0eb3024b20e966da78606faebfdbdff7cc129e3ea6e2e01a3afeb665c22ca1896958014d183f1648f0af85ce3bb1f7958a9bd5edc95db9f976a44a9b768d9ed1f6455d85062fbe3ff9312478fe79c07f21029547bb49398662d8cc4702b737ac544ba3c52f5159ff56f6ad0fa002f69bb332a75f80d2c9eb10d6bd1c456f80666f4b9b9fc79aa5d267dc6082a8c6c33c4666b368a6b7e5e72c1080d83c6c32d6d861902c888c0eda717b2beb90c07845f831c789a39b04556a331ddefb466629475265bd62f0faa254a3c409648b9bd67da0f05283ccc21baf889038666c1a16bd434ab10eeca547d23370500d288744234d11d1f51284a92880a779d0387109e4abe9cd769b64f6f55ae27c189d22ca6b28ec937e66e31ae45c253060edadb8975df7b13b7aa4986aa2016fe6f81e284d30c55e8de66c9a0b47cb9d8205b50bdc650aa62db9ac83e2b709874b60b68fc21d67d45aae7d9bb0b4bc648c824cb3c2052702a24b78123f918b93c9bc5ddb2a35c969d7b45d4d2faadba53e542e6998c74ec35170849571a8dca5fdd232fc38989f78c8775866bc501f40c719dee1feed8a106aa3ac19d818145b0d669f5bd5648b6f1c91b5a3f821d148f647b0c115d79c8cb79a65f3ff8c2f2de05a82d9c4e8fc4918fd5631659b5704da4f4960d6a63d8b0e166b5c365c879421e649d6d2d935da248b3c9f24531a430e1bc582f8458d339f207ed3d1cabc7d4bf7d86d7052a4168dc9c35c1896d94e7d4a7f4af4956a81e4c9b748e3ea3e4a871d69fe5c1d3ab8bc4439baa905a48e48ffefec0665ca81606323a6e23f5c9e909885893b014ddb145945cdde9b209263319a631bfa294de3e014e19aacd890bacdddf4c54807300a8a9529c35b1adc2d878a3c0991ecc49b13cf3aa4e7e03c0beefa6adf824e3de599e60e5ac14b47dffac6b8c1e69e5639d2c46d8a95f05fd54fedce50b61caeff70a14f140f2053dc38f4a8d7bcf2eaea3f205db4beff4805a1485744342712aceef92bd03d9a6bcad443fdc71deb18ef0ac88762425d7c4244c79047c5c57f9ec7fd51ee0eecd951ff1258f992aa2e93257f06616c70943393da3b2eafea9d257c08fd2200aed6cb274f3591a6ef64f9c60287e0415d4edd7eb0f5247bb43c6c196ca578a192632d977955aa06054768d81237fe618e23ece1f74064675318bc70bfd1be2a814776247f3df030fb416136b8e0d0432221d931b821295ad1c84c3887b7b2d1c2c7af56744545bf693a6096bac2dcd4e1731886d7d126109e5b6c2ffa5cfb2dff4deda30926d12e5f42a4c6005881d0b8793f21cbd9fcf5ef4f73ea6269c086e225d95bdd243d85aa633928d92f98562d00ac294f587df4435f5124291d4ad6ae0a9282abb85acaa5e44f03b5e009b3af877eb258fbd12d891a49f993eb3af0ea70eaddbc97ca460e8044706e780ef4e1e6aa87b758f7b46b61a9d332877a5e45cc99258db5d772cfc87356e5e747a78da1b733ecfc0a50bd0e15ca9997af879bb655a39f7ddd7cb86b9cc6196e7794f6db547cae91e334f9e29dec21aa60c9b0ba4220ab0bdefa92ed661eba242cba80b8aa188de92f55427600c39dd50b2a62bd08922f69fdd89942cd0754d35ce63d2b629120e720530d0d259379ad76212a2cd2793a8502c9c5085edb988b71dfd1762581b8f923dfcda1f5f1ea7c2340c2c2e55c6c890a047d78d484a134406b54ef3783e53c8e5179708a71bfe0aacc5447988007184ad1de528be12fcae80d22a584eaddf3a51cc6605411644095c99bb9f7cbb002392c15c37c53192751e9b3c9f974e76e0e1166fee5412118726c321cd4f665bfdd10ea7cb1fa174a8eac8b050e96bd7949e12c798ab64e8ffc1d222068f39c567df152b9ab276181162f81f6f0ad78b44b8b90a91a67300e1a6c584673069d6c5f1cac28c4372dd9434ac0558f95a085d4b9d447f123c72ab6fbbd29f1bb38adf326ff777529d2e1e309689375845e31b445c95eea161cb42a4dc1ef58902fb7e94db18ea5f49c7ef6e0040729102e5fdfe92bced26ecc51b7e18b727dade7c77dbf8344dc0bae98b19306f2974fbeb9340cc7f9ae886968bebe69994ae8b61dc2e2fa73c559770fbf7ccb3c687fd73f55ae93e27a974913079c4f32797c3879457e069356af52b1c1bac255b88aa503db7852fc9182cbf3875cdcf4a96ac054ae2d3686c049d2e59ca19e7c3e81f14ae0e5e79b409d451a5dbafb849c4f03d59a0549d46da6d96cdc77a4c0dabf959a8276b20a4064a52e4606da7001aa3bdea3542888396224d1950291b5149ba211715f963193f6472ecd9f3f10ae1454db45f06d7baea55945746e7c53d4e4e2282d75c140bc7e9dc92b257321e0865d40ebbdfbda8e8bc5b557977f632cb84ec626ad37835195e7642682150ffe0d3e3b8d496f2c73437cc554a1c5bd0778c396a22c4ec353f71dd359df21bd944dd87d5a753e1bf870e040c3a41843939ae46444f530644ea6ee2a8046a5cd962477c10e6f12e0ec8f9a9693ad10b66c27e155ec111a73016d4d28f87e5f793bb8dd03db1a4ef28a36c804d03697cb576934385a917a17eba1ac8214551307d80484d484f999d5b56244e683c4f345ba7f714a942bc5be17fe0ed6f8c7f9c6bf1876c3c820614239b1f2f0e8d8a359ae1ae86f6fd71c087af4b67c0f268976c0ee78ea14abd8a65d2059cc59f04c7d263da040f93ffacf2f6a79d12b77c3de9fec2a5d061fa488d9e91fa2cd99f76f227ac202dbf662a6fe9f2e6055aa244f53607f4fdc06b0162a4a29557776a8bd3b51488d27b4fbfcdef5697ff650a38e78a1f928af98f1a238626a376838befcde26021cf425a4c897f54e0cfb5ab2a24f9150c8e0ae147cf19d710de51467aecceb1f5f69ee7c2451633b05678795a37739537d5ccc6148b6efdb2c5bdc228378fa402bc937dc1302dc0fabaa5499dedb391aeb228c40bca828aa6ec68e95a3666ad021054924ee77c91b938b382a5e5b2becc669947d184b58078a5d2d668299ce808bc0d58d0ea940b09093e1a281632089a5a5f30a7cde05f8580f20af60b5ebb3cdbf0b383ee513300ab28220296dd6a2d1538c37e5b741d6be9e3c97575d007f35bc5ee007f96498ef064146b267014ed2f7e93b9013d791ed6c7ca5c5aee00caba5b0c917a9dc1e5f5dd32572f06745dc920e1d32f9edb14aa73555a2f3dc957ced568262ea19a42203464c73869119cc0e9d3e04a2fefefee7b6faa6921995a7baa23350a15c8415dd8e274a42dc60b684a4d83bfc7df9f37b4bdb4f7ce3c110998dfa9d9d2a850d094ea0f45e4ed54739041b404a4be0c95913f1397a96f5aebd118584cafd639646cb16219ccc7ee9011a09669ec65b4a6e28d89a65bcb3b4c4d8d551e65c998cdb5dca103b393b033ed6640b02ee4dd08471d8df6e85b1b4c30a9b127f7f6c1203bfd68902fa6439065105211984335e4b721ef032006ee7e5a13617703e3580d79acd0704f0b15c733a99826d61dcd8303c1352fff9203a4ab2b1a88ce7ae536ff3810ebe7d6f65f103d79bd596ac6cf5b9bbcb425d02e762d608d3442e845d14d2f20d0b2d8832c91e0de776bb1fca99ff0aa057cacb938475e4d27680648034e8f1e9189c74a96d9e94f37419799eee0db54f0a09323f2dd2d8ebcc186a345a43720e1ade9beede9269716ee860de87f1df96484dc282c1f4862912b365aa5becbcbbdf180638be6079666f241ff656a6b209f9c21b0a6ff0b0b582862fe0ae92119d67004f2999464ac366a8ca5e4e44587427eb2b5a59e925407af8d824597a6b7e49e6cafec5fb0a3c1d5043ae0144f37f6a89f0f6af288abebef93cb96759cf06abe719dfa97d19c2c22bda5d56c13abfcd185fe6355839864fe60da270067aa7344c7fd5c48f93eb70970b0740e5e8b662e6a22e6dbe536f9f5fd315178e8a8618f1eda9270e294238b3e877f297ea4969a62354d572b4d58c7e37a64f286d1c1c4fd33a2c71ad1234c2af29582c28a66f76dd31aa9695f8fc8fdf6ddadb4e25be278d7c47229b90ed128b802c7592bdbbf297cc2f13280aa08a139194c92185eb43c203485cb714b33cf0e140608d8c399b1f86e964c5ca2d80345550c60a61847685b320da0f4a636513a65f8d459b123c9b8395773c02cc40dbdca5afed87df102b1d8aeb82b53a346d6139071e38e53e83a3a971b8e0fe14a155d491736bf2593a25415def52c7ecaf0539cc5c947407bcd4f69b0c85e9e3656ec52cb64bab5a9ce0c65da46225c7aab92cf5e102aa283168e041df0d0c6b47a6093d976351ec498a832e50d6fa40e24634932eda7bd7cb8131b8989719b50ea887fb546b8daf6288b9a2c43dbeda0f418b267efe0a63280912cfe72cfa5923e9514b1ae2fdd73d6b8d54f797c40d466b122d7aff56f1906e1e1bcd6562ee4f3370f159116bdf98c0fa4416abc747b78e856e9f18b2399059ea242e95f34a18fedd4b9ca24ad350698fc54ce3f257e4cdac6995ab10319be6196bac93f111b4a9febe35579011405487597f1c8af704b32a9952f177929b9fd8c833df31d69d5d333350715801f74245d6b7706d8c0d0480e552c83c7d71924fdc2b326b2a573b1852d329a156f51a8f1cd5d8645e6a0a0ff1fabe8b00caafea33d3c3d5d3e10f2ec64597e067b83ce0632ca1cc6f4927b2787adeae8df8c3a8a2e2d54a09ecc7c2682532b866dde8681eb906651fdf17d0a002bf5d92b818d17e0a75e226e03e7d33b5144bacb2220bcc94d3b46686caae8ed00f7139f8b5feda8d92a53453f26d07acdd144371e4a9be0742cdcb2320e78ebe2b819cb629cd38336e8f2f3adea170c0f8292b0bb561399d83adeab9e4f860fed5ee64a2135d88b52fb159fe17c1618dcbd2764125b9058a57e271d5864a4e17292eda7fe491c1a694cc7e1b266228f547526cfade618ff1b53ddf0cc0ade5d812392ffa17ec77cca771f7530acca8c1115d6a7a27f8afe9437ebf1e4383969c1f023720d0c2777b23747889a9f86beace554e7c9e616b41159d914b1fbf483697bc82cc1c19832bc0104e3109c4c8e5b7b6eae001814d76a6f78b0266ce4f1edc647a9c04b7b189e090cf286f8877a5b904e829905e9e47e8bdd62264fcc1e037883ed8d77eede1769752cf6deca93277936f69211c8f756d11ff3be27bbc2f9f787dec66d84da27990567cf9a2fc93411846d78392b7859461e1a0b9875dadaffaf2b94e993f749365963ad340a1369cc061082c91e6573b58d3482ca3fa4d328a2bb4ef857711809d79f1013a0afe6f80af63b000ca5a36d12a80ef1274d78a8c4e865284c78d6027396fe57b2cacdc98b28f457b1c6d7cc5be9fc8567c2a709f9b278a68712499519d163e22f60957df0fc52d75859941b4209519f2e1eb5f3509d3d0a82f84edeb0f622f319f294e9afb9a1bf61a401bf76de7e164308f54daeb6125adc627cca9cbf637f48c144add5521140749db09eeb20e6d4f04f77ec7868f2780658f796371407f2dbee8c017ecd6e51fc0d373952c842d7f7aca8dab7ab2dc22eb19d352b88d58e74689024c4214357901af6035579dfc91a3e98c77e7b6325bf314466592add3485ff5d314414cff1512712d5c383f993b3baea97d536812b29476c02cf4717ed9803552d0e6cd7a0f34af55b104d1d47ff9ae84ddfa45c6d18a3de4e0353cf7a50567c0bd771e41cbc39613cdef3cc6d87c3f15e1ce80ed51557850cccfa9b3e0a3c2902f2791654c1bec044c4c001c81c363b27fb988b485e3f42c70c38d6aee9083196fad95d52169243a1c071477efac28f407923116a51b18cd5aaefc50276493bc52a4c07edff0c21a3983a349687b15a24fc8d1ca637a92e89d2136fc16ce42056f1a7dfb232cd42210e2aa2a0d2e18d24bb3df6339c771bcd46896291b15d4f3cf8424fe69b0160308f824247cacfa7cb84428f7ab761493b9415be3624b7755448645c42706c5260d6bd96a5a73766ff235e9da2fe86d8367fe9c26abe04deb608cf59b1d8e64415b8ca93ed0638808c493fa8d9d2e29aea2ef10c713faff57bdc5d262d1c2b1920b7462e6bc8cf823013157e0d8d43432df0f29bcd9af28366c99c50dd6658c4717f645a619d43b0eb31e1c3cbea325f5100e26ef356e9c6389543cae68aecf47b48cd219a91375a393b18ee54bcbf9fe18a572a3b3fc49e8de281d8e0cb3c137edaa1011e7b693c11297b6643785cdff8e332bce0f5871240bdda2aebbc1b22ac9386eafcc62077cfc21ef50ded3be4fb1df01bc49fd9ea29354b2dc357e7dddbfca815600299c220f1474d9a68a94299f773ad0b8d9cf2daf94256baa6b0fce3c5199f11be0afe46d170f8c67b83859752b78749ad71da62e4805ff88535bf215085132071fad67c93232a09eaefddae6386c3c8a5e6fb07af6efa1be391b8c87791f3dff18ca611af903477c9804857788fd80994f95c952b7162fd7b39308b2d17e4cbee0d10f03009b3785349436b76fc30e9ce38e5f8c713c77fb991935077aab5de745f7d2185b9d0f78fd4a1ebbbae9a46be1e8f381f8e26482a6041cb2a8bf0b4aa2d715e24565f585992205996837bad76136f9c924f19faa1476eeb6c93e915a117e5e9062ae374ce8fdcdf8feb7c685b318aa6dd39503bca4a8094d2524111f9e9f97f664743bee53982fc825c9c039b03980e2d6ccd5e4ae8ff598f31a5c56187fd6a6d423794e2b39a67be173e9f7ab99473fd0314c08b2273e3723b36ce521171c038007dea5ab882d74e3022f71a8c13535911373b069797e1d577acc31c3762604894b77f71732a8def870e683eccfb2e0293ec65f0a212cbfbe94257e6d9d5bbb2d54a482a5fd26480b69d1e6680b8d13ed181f34749c7141317df6fa73792684122ce8d9db1275c5a8436d00228fc63fbca9ea4256fce1699de29497dc13b5c46c3ed2969a34d1d6bae13b4ed17d3b80de56efe494b1a728f95b08bb18b0dd934b5864c5222a5ff273a27040d2235fcaa76aeafded4781411a25182e5ef3ee65fa9c2cec06d7b2d41a8ea1e14ff1836d2dfbb71d47cace3f7f99a4b3e5efd562cacfd66f9a5a7c408d89328a179e661c38f5de96226d1c4707fd45ab8b2bd6b1815044830ca8657b70c94b8afc3a52cb409769b20f262e8dc6dae4beaa09a01a4b6918f66e54ae340c02f08993ba1ab7a0175be8c717efdd5af0ba5ced2e3000f3a475c31404904fd096694c5ac30e21782fb5c93199088b3be5fede4d73582436ac7bb70d7b324ecb8dbea1f819cb7948bd2146961005ce99ec808bffb9d7a6a6fc37a38bea14a01677c64a938a93bcbc6c22e11f40052f6d4ea3e5539a297d18d57ee9291cf57f40f699fa56b773a7bdb17ed6db513a025863cedf963aa6e0aad2435bf9504b0fde5a9da7a5f36296364e9e5c0b3332b273a6ca29e8f175ce9bc6dd86471de8f551c2814a0db3de5daafdb3cb27ad215f5a9d01df46713e2431d1f996aeca9ee7a6c1f7b71b181a6a5615ea9a1047f76ec5e5ede2f3edb01b6f7e50d67b074de43a9c3bb26ecfb923aea5c29d232f53d176c8b000fe84bdffdbf9ef6c3984f10d4c9df97674743f9a1ca1554d0f0b6e61a81c41f05c4240eeed1fad8ab55c963865b616c62f293791f229ab1abf2e339a6f78d9d6d69c337353ca09cb5f2dcd867aa45ebac8802979847f907a3fd33b2b96dfbe835d833ee458287603255b3423e58b7e97fa6ec4dd57c7dd408f63b0b08d789345a68983b2bb01c489061128532842c9489423a4d743cad0ccf3fbc121e111df95f8d6cd503ddd2f5f5618fe227697d49580743ce524259aedb48d71decb9687f40f207146bc2c890c2514d2bf27ce21ec449fa66fdfcfa99588800ef7a6d37fe36fbec31cb2d8c9b6a62acc63eac9ddc766e9781e84022ddbf3b2412932be84355149f33eeb838465970f1639a1b75500d432c15906e96d57f5d76b8a0df613e9c6574a6da497c654f02545ca7437ef2a4e821c8afd40f6433b1d96dfcb185e6d162562bdfd7ab8074bcac54ba696b1e1eb28448de1e21c48fbf13b376e876f4a900da2fa1c9720526782e91611e85f67f4a676d6f145a950c7718db167c6c41c2cae1f10b296cf571d47a0030e12ca87ff3694fda8ad42ee8f6ab10d1555a7837aecc0f13bc9ea8b9f040d36cddc7bf1f5e2f3892b818ac1ec7f08d05d7a9da597537ee173a278cedee2cda8caaf3ad236c5d9514ee6aecbe7a698da1252e440c62e0f06bedc48d68a447f28fb0e58e438cd47a18a56908e5d4d30f96c6c922cc56bd431b7275de97922cbeb75d2ffde600422cb6f1dfa477bda54c071584ea084c2fcf0de0d975080037a19d1c44c31b353610273cd6f0d32bc8b5f07509dc0f076b4fc65200fb9f963f218e0ea4a4668b509305d79b99f9e778c8181a7b57cd34450dfe732ab544da3d54398344372b92e12ee4d99396b240bdfaec9458ce08ac086052ccdda976e420d4d6a514841ff42bbc10c4155ac20bd1cf5b78b93e017f7b40e4d7cd0923e79af91196ee3e8cbd4500c47fe79274609326ddf33f0231f4d7ae5e21b8fe151fa2551695526210bd3ca66759e71c78fd335e06304e61137699e9fd87b313303798d25c196a8a2ad01dae6e021edaea56a113e81ae94f1ff2a554476cc79521b687a87a59ed7584acb635efd6221fedef9e1d89c8d7f15a0bda977bdcf4e640bd8ba0174c793908d22a0ca1fe511104f92a562cf452ee3c5c56b615f56eae2791bf50bbebdefff54f033211c6f741ef088fc741c40719697b20b6f2b04a9b1826b322e27fac44b1f415df94f6c7e38cfc5464670467c82bcc731efc6fca97fcdd8984cc49bf3ad86e77412eaca89dfc925a9344d090f206f81cd5a96ff869499c8aef66125d24c8205a6570cd9c288867018c281578e848a18e8f7441f6f7c441e647df4828933abc19ee0fe4e13b32c2f81fbf52eb34e0b54402baf7bf242f47f9ffe0b016c310a9e85faa5180dae861b8fa853b38b17e807c821e7474cf204c362c209a52bd8cacfe2f3979822f65247e8a171624736d8e750413d7ed4dbf50c7d1a8bb5cca9460735b6d9c1e43a615640acafaedfbde8daf2a6e8dfde5a92202b67acb6211bf509777ecd019ebf6ee29d486a997aa6fd15f78b86538b689aacc9ba390a90a4ccb964ba23fdf0efe6085fcee7ddc63598e7b3907df188607e36d2e964623f56ecc459153c31c46cdf33f41fdb84fb1d453b64332365648fbc153d5103d977158e502a65952dc036a03463a94d10337f5ac19608263a6626a18ef823e7c71b64a7a45912198762438b45ef57366ed286666d22b48e86f468bdd34032ce1f1fa10786c00de44cd783c516825de47c6319ec3d44c4047ae5e506f7ea07b75c5594301ea4741246ab186549282ada6865e534a2f83a849db7c044f5b1c9cb682f1cbf83ff60be8dc5227ff0110dd19f5c00167a33297cc166437dc2abe7a05d716125e192bb46b8541f0774cbeb4f7c9ec65c41d0c1ce86c0a4f14f7c2bfd7b7d28750828aa828c38b3f4ee84f5d995d40061ea23248ad5674b5797e1ff12913af1b7a672a45d922dfac4b62c616075ba328962d4c1ae9e10060ceb71d7380d09f132918f897efdd74ec70f8e305ab050fa92fd2b56e1133ad2c1f6f0dae90140f3dedb403958dd9105651658b0ee95ed36e49c113167a69241e647eb296cb25819a75937c740621a468fef397d33beb0521acac19e5fccfd78127a62291c8199eaad97a2052d2419b7c4afe60958470652dab5bf97786a251fc9d2830788b19786b0bb37b66ac027b88edf316f27f0a5c129b3a1be61d4b352ca7ec7b56225db0b9aa0a6dc82f819273ee0312a6fd37109c697a6cb00d00de5dba3bbfd8eed32d4663048de7003031e53ecce98ca3c9c7fc63620d54f51c0af8421330c55753581f432aa7da3723d02cff6c3c7766250ccf2a9617e9f490d9130292c33310d035adb7f9356c57d068250975bdd0cee7b3bb78b82e479c516f63d2812a5238bc4a6b424a4d8df0b4b6862b28e306363794380753430c8310d9cb7b562993995a955673b3c2bc167763bd96fd50b8aa184431feba14b55762f2d9f767b754793bb600072e4f011ba5d06060240ed743fcd2e0595be0b81b6ce0fa7a49e77e01a9944456b736200cacb4f2c7b9c43d84a243ddce3b9d75c7b1d986a063dafb8477841a2089a1ad239c1f3af4a223969a2c2479cd95dc11d363de60b11243914a795adc88a2fa18a0e00cd7c1a161400ec73c27016b4e31a68683089b7d05b5d7c4b70883be3b2d3dd0724f999653d43dd5a8f2a6ff5f53e79d2031a6149061e5851a549cdea8be3d055f40440a7a9c5e293523b7f1196bf3dbdd915b9bea87e693c6ebc5159a87e717938bfc26878390f146a2ac3ac0d51b549f1062e400dfdce9a33357efa6ed6b03ef7818f302d09b8f102f1dd05762e44e0cc2401dd4eb09470538951a9381096fe9d2db0f5370fcc54b8079e0584e618842c59b765ab806e458c3f31beed039120263d2acafb79472a3d763dee1797062a986575e234ce920aed39bdb790f3c8d25a9083c2fd235de18c4f0c2450a458417588fa6517c29cfed7858893c8d3d42033e324fd149c26983290f01ec979ed196eb883f61d955cdc72ad2878a958580b443c2f7643c609617c1c7a91fe1b19ec43fb91c0df0fc3072c67efd7d29ace417da51925c94c20bdcb0662036d30f24e9bfc0fdbf43b83d44cc4dda2f9afb9638e42e40804956cf8370688d8dfe172aa539f94fb7a44cad4ece64d21f33eee4eea80f8cd3b74124b7de7a8f60898289d548a644b8a28188f698c595c21a1bd09a133e6ded5a92a1edd0bca4e4de1cad16ff5da392d69180dedc9941021e07bd09d02e30fce71811c3a5e60a3246bc3cb8c6d40208ff1794e5f17a9ce75139241a049afd2e5d329c3946106fba57ac0deafec7d3de2bbc920d26f92644908226d4fbebdc2616514dcaa6a9a4e3c97f49072e124694f6a43de87df377f0ffb7bdfbd88394806742b5998b1e83a3743c23a3d6b1cd7796f6bad780a6f4d0697b78bc91d13e0a152b327092862e4b6ec64798d32e978bdaa8e34eead9f6e2155083c27217dab79507d8f94c9909015a53725bb231b374eeaccc38fedd4a072da635369f833562732d95cbbb9c76acdd106eb0c9ce4bccb4f0014016ebaf2c532faac9f63eabbba1e2ee5ab44ed5be25ae454852ebe8b0f514dd93c855aa4459d9845c9feafc75b171d40d02fbb1187d2af4e1efc25c37ff0fd3abbbab00f4f1680d8bd9a0549f119f75c4351deec48db00aadcd399d6eecdb6eb3b3301324ed2f472e1bf3a364dcac9ab4aaefcfa37c467717481287df6808771ec65d5210e691fe06dd7d3795bbfdbd12a3fcf626b88be1cd6d4cf22e192805fc517204c828ca023e4445b4bb168bc5fc5bed95731454916193f7bbe67d12e5ac8fc0d9f80fe61011c0352fb90f8e13a91620b48e187f12b99bc5af4691e63845dc162af4b15fde33047f91db9e3217aad89758878f7d7057c03d19a171e3fbeb07dc593d68ca20a5693c8d5826c20cb2995c7fc83f35891cf5865d16f6d1fe6563e62e6de8643fe8847e6b8dd908187a92d20d2d89cacf0fd45125399de568e78710dc843456c4a842371ff519eb4d32b9d2cb8bf77e239d36d2a0a510acb813d1a4b3ca2468745a14f391fd54e33e67c49038eb60eb6e80688a7e48c7b1a70babd3c9871ad87f83d45f0d1b4e1c518b82fd66687c78a3fc3457f43fe21bb8fe312c4250b81373574692d4c997c28d48593ec4497f5e9dcd1cd51b7866f06af54a591065502dbaef6b2030e32df0e440ac87f8be990db36c07f635dd23e30c38707f76918bda6c384c351943c62086d09158ebb3be58bf3db2d362ad10a27b29580f2480fa2283b1121c550926fea77c8de3887da7d7d7515b01ead91cbbb730569aa6a10f6aa8572a8822fa3f945299e94dcb8e6982284f67e22a0aece9a6e11565ccb236fbd6fd91fb20534fb85fb13d6e62bf615413d45be191aa3f94f9d1a22a01a5085edabf81fcb451299c84f0ce6fad5f55b161c439d083131ffecf41beca69676a71906f99775ae9c4ab9809a7f9e88455ab46af6c7df15fa6d777d27808c7aa39bae5f9c4ef2b3da368daf727e84aa237f6311cf297b968b492023d5d75c2b54eb2e522ac862dd4eb0c9ca8dd20e364ff0eaefdb0e9b449707f700d41826cb80c844d280617b1637a7b30ffd93c03ee2079832caadee5183c10d340eab1e29fd4c2fc36525ab412f759be6a566c0486a7fe8a8fed202b461c794098b8ca7748757344fd454ae277a4bfcf3b80bdac191c996327bd324d7364808e6b3cf3a0a38b86f0cf542aa66021cef51bf34d62042fb6bdf7d6638bfe3e319d5774454f2ac46f9c11f4415fb784d3b3d91cf79ad9a32d1d8f01ece2a7701db3d86a666261b61b6383aa9ef36c82b7a4f6279033978e77a02413d53339735f313998a0aa4cd6301276fff17465a81b1a5c3dd94ef8cef677d24aaf61d3b8bb8b8a08e2dc7962e5fc6f1a8cbeef2e1fd2c9f398a7c66fe1f06d8493d2fbb1a8753edc2fb35f87367ff76a53d5a26c2fd831d5f1dceadbb721d1e12c3fb6b75eb18a1e4f14bca761ce91717451f050ac33be2371a8219c1a536cbeaec1f14bf607ade00582bbef1d8daa798a6f8c2961525e3ce4205f00e7e1389a4c828f69ce0f801b9b2aace1edb777e4a091662dfaad21bd21994bfa4098ae0e36ad537789fa0f34d7ef102f1c81b511e98971975ee6e83866de18dd11a5d3faf9e31f3b8da28b4895f500c039d8b7fb015c691e053f589e352c941c654d043a3b79d2c132be7cbc436d9027467f17a81e03aed34e8d0e93fcff545faebba6454c516dbd497572a630a6798777101ba9a91ab53fbdf4fbfc63e14c3b161038496c04f2c4e85766a6b22ac6e96334e6dbe309fd6a3bf9cd8288d61b602e1ab81c1450137ad87c1cb5b8a9c4877b7ca519f88dcd1f0c2f2954642fde6282a598cd17c025f373cf98f8be59b5bb38b5e968ca67e42302248013d1fcc0c9337156f6c61032fd0ec7f69b334d234a0cdbe6ec9460b4a7d17bd8b95c0bc63ffaf602ed04d0493f71ae06737d5b1b4316dea64addbfe7e45c86969760dfe7ec691bb11163c5161fb86aa64000e2f9e3d09e74ddad4e7244bd07474d8892540020e8bdebe252f291be15dc24abdeab0f6a2e1a703e964ca97791e5db1fca5c9a9014f81f096497c54b35cc138444e6c847deebb5b65f54ab263d19dfddc2527cb456ca2ba9d0a6f13059e7110e3a5ef8c6357798c727c64c6dd1f1510b6b3f926b84ec353e166cd74f994f23d87e4cdbb5dd3ea7fda65c895a463b160d50ed083b76bbed3779e56975b5534ba8f7dfc98010270b1945c768747e668180e5a99d59e48b9a705d865c23371a1845728c008e99552d6ced7cf46115a9a93c0ca968d9f6ab5e6a42ceed3b6df107b5494df1dd13171351e838d4cd0e7d3fcbbad74b42f05a25be76eea70002c64f8d97c3b99a28e59b2d4d79effa12fe74a281077f131a32c3bc94d88b4b3019bbc3fc6baaea87d9a0b04f780964423b5f89b56d8ef3f46834102d83d0ce1b0c6abba1bf3ffb2e0091c8489a0d4f0c17ccdd3370bc12a222237cd8119db0ac62746b45172061941c38d87ad428b6be2991896f463a5a8a71cd451af2120c5c5e292fdb0fa7ac5a6e8e852105df00fa250acb08ece4f0e12f835d8af5043c2b3b3f44cbab1231ef258af806a2ef6d62269251f91eeb7e77ce5b63f478b87057be5ba82757321da4d23297aa1fc1eb7407f8b2c5586c486835fa061a4d181f2e27cb495d4cb82a100646d68e2b10d442a96bb62194ba000ba73932fb22501d2f874d410735acb11d44afebcfb4cab53b49aed90e5d63fe8fdba82122f275db311e75015bba4e91db476f30b60754eaedf3807c6946705874eadb2c3cff6894f5a97bf395cd28f207a53308eca7273287441b7d585dd660f356001323a07bc32ef8dcef48cee8f7600671f2220f3c1c56cccd28980990146b0269c526de73c9a455b3603c0bbd7c2b366f2e25d2f2f3fb5247cd18435a0489b573d939a94eeefbc4dabcf66da47a427c94c65492c121d46f0fbe7289cfbafc58a86ce9f6b02955f08f368cc815fac18d3c9fe28d5d65ee730f35f991c624b963205c1a8be35152b4c8ebb47089a2a231ad1a1480aecabeee0005d17c0ca182a6309a7bfae9655205f602f5bbca0dbf08767c9fdfbd0301d4b25e10f0f39b181cbe504ff253e68c38acb6c92b4b3864769043fda127c3bd85817caa30a8c482249f3d517c3acb3af324d92f318d544e343d0f93270dda98fc4fab4ce9b9b75703c1a8d99ec7816d98ca09ca02b240deae9f5aef81bcd138394b0dc00d5061ddb5a82257fbfb70a7ab0063acf2e6481ad37cfe5bd174776d5b36df145780342a3e0415a5b00c5c6385fe2fd71971e0242defb2d5820695daf92202a30bbb7766981d79244ba43fef4b651097e3999215ef23c4398b2f881c4a89b7815eb02238a96ef5f155f63ca72b2888264a1ba2beb41aba0f23c880a272bfcb0dfc6b453af2c546d980f32779dfd8d9f5c61265f41d592ec457072d2ef293a89d84bd51f3cd482b48baf382376894ebf83669088c4364793f5b35f51d3656e8072aec7958dba113f890f65d41abc051f47063b61fec4b152c6e36823eb79f261ea926724b1b84dae9e360a44e656173deb3ca8097fa0ddadd6319ba4cc25d34364bc8e5663172ef23bbf64933e0015d15e5e4b1dde02fd4c06ce35918b4bdc3deca44c1ce889f51d33baeceae9f184769e7e86f47ac6e5d474eae2d4d36c132728efa51feb0314e86aee61375a65b6d985c3faff9a19c9f591593f702d0be3d36986cebe9e47a9457b7d253f539c57d45d50822e726fa0c432ddaa5371c7fd9cbae345edbd3cc2c293e546ca5eb57eb53c96b7b2f8ca0fee7040ff9ecc56a4c50679e4ad172cef1d0fe8834a8a0a6faa30545a76c804130d9c55b46da0d61ff799c307230be3a936366bc2ee4971571dcc8757e978bede28fca28de4e48b82fc7a5266da3ba7696ea749e4cf2aaf7af25ec9ab079a5d828ecba87e2dce03d6cf27a9a4ef22a634f7b60da7bea0870de7c621b76f394784ca1836405b7307936e912f36e3d1a84a499ab66426841510b0e7b105e5f21acbb525fd8b77086c437b75f06db466f96f5f43ed3799542b59d921407c27c9b73bd6f2ce86270467cfd39968ff1b6d82db81cc63f68393861d75fd19fada85207cd5f79b5ae9827f36b09a1a0e36018d1f22088503b1516709868ce97cd6c66e6d14af21ec8fc846c73e38a1a4fab15b706a4317a5c5c839d62d08831d5083d8ba4e009895e9120a6380e7e528cfb6d846fbdc7f6eb87aace32c48558ac4551f187492a40a11a1e5c93b65a4348e5c7fac8280f730b8f59c35d91f63dbf501d9336ce5c3b4548384a7f812eac0b90557298b94b245dba40770b2490486389991c62d58268af7ff6e5e09dba4c62b70befe8af46362cd0216188d8c2418e69310fa2990cfd487f429ecbc8c54321eab752f7995bcf0368164d631f3dfe15e49b35306bb979b323725a277e1fa87681d86609cf4134c91f6c7a2e12a09397c94d1ff48b1ab96717ae8a9bcf5b557b55573c62ae4f166e056d4be8954a2ba7164e7e17724923a01b9ddc6e587e14ef3508013e12649b4b9447a3b2c096c1d42cb8e77c9d3e8a9ae168f9b00a57cd729fbc8fb4996f088db4acebb9da66c28f555778549b29d0280265f3f3451915c6bb855d145601520aac36fd7185834ed57e50d3d0f99623f3a76d82e677ea028b40ca7af44aa1786beb3eb36c15e08a4c540261eb5f343df302a7404342aa098a8afc47ffabd6357c8cac8b66b3a7b4fcfe39212c0acff1027e09fb30b9a3ae2c4be9e5713ff256a6cbcb720f84311ae58eef1a1de3dc2143208950ecefbfccfa4d8b11ccd5cea02e73f9cff384b43ef7ec08fe9f16d91aac31278457e6cc5776bc67578dd0c077f433f72297eba4d7c490ac296ef7e0c6b21cb409ccc82e88cc5fd11a8202927e5b5a1dda18f42b29cdf103cc68e869f8f7c2a46477120e23a13ee857fb856bedd3611bd113941caf165bd5f522ee6f87bcc191a91c2f212e3930ee4b8f82757e627dfbf26d1a816177b198858cfbcee44614e10c2661b2d29af646f210665ef68f2e89e14c50f4a6fbb2151b58cc39f41ea596b40d86762521ebe5d5a2f6839e0e9f778c2589e23c0f43a5fecf64ec2e5cb74bad4a58e37a3f42bcc354040e229a77f46f59106c9c5c67fbeeec4be583f3d3903e10aa89239228cc3de50e90fc6616d35fc42529540396c3f4ad295e3260bf070496c908b3aa504049d86c14e47347325c75427d7b67d51c63e60216d0af2f73e1b2b8a34a628375eef484964e87a5e9ac93992c57c073e969a97fa7fcd5d0ad9b5ce5dc0a4e2f18104a25acd42e216939934d3755ccfdb0de889222fb18ca09e9c3dc5aa9cc7e1b19f24754496584c6aadb52c56c39df945a82c51e8d9a980bb7a990bc6a7dcf6a8634f00a8502cbeb799b9a1c2a58a337c2d965fa0b5f4d7948908a9c901a15b5b9d7cfdf83dd056b08f2c21fa6c40144366fac1e30a1ee90d93e3b3c8546fcb48639947188e33f4405cc4b63b8fd176d208c22c160a33c06a13329583d38a3615b28b5a24dd101f0fb11a3893ca7df83cfb3cf6ce9fd2a0e9843215737c42ccb6a299d3b576a84cee6e6e95bcf865ac0b107593d351fc054409194c3791d9216e07bcc89a3aaa9abdb953dfeb4ca659d45f19b80227762618f6ef194c9cec7e6011c4e2d8118af06461442cfa62346c0d60e16b9212f759d4197a0e73007a70b35044367b75140330427e4c840b5f1bc62c90fa62f12cf5a2095b367adaa25d8ec718a24a605ad52f2010b208f1483c8a335fd600c085b8c3096d567cafed0e340e3b0ddcb9cd31af1746a7d8aa177d2a819baf30c829b4d9c46eac6ce3c9986c67425537dd7b85282233fc18a64f222fb6abc8176e8c509b59f88306364d3a3e2b9bd82a2960f85e0d756b36c12d63c872bef31e981062e6662d56615ff62bcca74043e4e104f20c264b3f983362ef24743a175ce86f095258db3f40124cdd90946e61a98870c7833ae902840fa2637f72c8c71972b39413250c1a40784b726e79edbc19742b2da41f179254c57575f23a75fbfd8f3282688502b0802bcada935fa6e9bba020c1f428658ac24ee5882fee2c49c61cbf309f3a979477b3e37f2d82f534d23605f0f05814dcd307c83b558a36aa5571ce33ed149c967799cd027433169c0fa5ef4d1cfbdebe3589e13ca07ead60f1f3fef372f6e19781aa1d0bfb7ced092327f36db7a1bde2a90036f8def71e31bee1e53a2685e884f518f3a4b9f8c2968d16a0a9c711fa1406cd96dbce28a4ba18aa48add6e76499b0a99eff94917ccb6b8f3ae098b1177284fc2a77665e2beffca4e0d9d939246ff09f6087c23de4ef9fe772d8e6cc5440c913033032b03f39416aa40be465f0eb603c76ede176e7166af22e8b62eb491dd857960c0bec9eb97ee258dc386142d611712110ad3385f6058124f4be16572db26737257e5ea80c8c9ccce6fcc2981eee086ab0ee1108b830e2acc11826f8f78a75bd32e80162a4938297115ec68a1a0b228356ceb3f77974b25fb04dfea590d35ce1142eb56f9145cdc1286119a7f828ae5b97feb4b708553c5731ca31c2031751959c710d1b457b7500e97ad658338a795d242467182b3ba023d0224a21e397430c15f7fa92dd508a1e18edbb73670952790497547cd4a75e86170ca85e3a5f5ebfd72ccbbc6ee6c5bbfd7c48ce9519855859b127547b008f4899fea3d539bb1efd9f7776d005c94555d1b99ad991158918c5b6540f28245256ce56c93702a005ff9c389ce4f482becc1e13d05e98e5127050784fc284a7b2733946e0ed534cf9c9ab101c88059c9ec47ad00c341b3e0d80d778a05bbb23a1c4608048b0b35ff668c11c5917b3d091e24f9597ee36b94d19b9687eff4874a6190d30de3daf70dcc6d90ca0db65784b1ddf79fb6f1ec71d4cb86d964f56259c060c026c99dd6c9d5089b99618e0cbf2b9c58f5290af045167202b038c5c1a717d91a333a0b0f91ee3c192d349c7418e8861cb190427c2d2a59219884148d0f1b6bddefcc057b47bc4f0b11f7ff2eb002ecbe8371e23f2c302eae353d6d04e6f49b36c6487365d4551e843832a69120505050da192a9d0539749a814cea7e9810dee87bcd09f697e13fce2be70d09763a68e576e984615d2b4b6007c551e5554044038cb8d88c8104f4e62ee93da99f2f0514c3dcbd43fa633f43a0c2547011df3a25ea95ff164edb9c28b60983e3598db2fad15f7d897a4ad2c39979464487ae0a19d712fd724a6fd929b17c60d9180a1219d3058677f87301d75e9b806dc380b07f7fa7422ce215e8a1fb15ede9782c8d0012ba30f72ab1e892a3a161db8dfd1d80ccf72430e8aaada9e0fee20c4ffe3ff564e84e43b5af9737c52f90525b976279642ca5c7d65be76663099c0a5f986d7b78953caba7d5a9bace51bbb211946600da52c37bbd35f2b1450f7b1f701409c2fd4538bc84cbcc4b80069755d302ae9f9bb5a380264513704893ee51a828cc56b7871a939464da6f757e6ae9e7de11b7844365e1654cebf043b5e1c8262a02d49eb221c998860f0ec9a92f3b477a62213ee7c4aa2b541d2400c4d9f7cb3d2ab75160d7407ca00d1bc54a8dc775d111f10021dd1c6f014f09007f98b051e8980d7127b8bbec8d003a8f4e86857a727cd951adc6f2813e9d4f94515f7d4535141b530add38a608de49991f066cd2e77c0ba523268699eb2618e3b0764b5e794625e6f644e12d805beaa2d8390f4fb6bac2b36bc419ddf84fcd4f76d0c788932e4f58185bbca326d36fa79c849d6c23a3f64a0446d18dcc5be911250c23cbe3c5841bcb5d4cc22a9fda8db593d908a56936a8608f9aca1c4ec61764e4a80c4c91b91efb4aafaac3cb03d1a4e7e0d8e158674ddd5d36e1c7e49fae8fab945af344dde1fcf903a958b734d88a5c14468bba72c41e705c15af3d7c2b12b1a3c398f951ec7f726c98e5f70d07ad9877d5c4a84067ae249e77d1adc0bd2468420611e14f5addfcff194becdbf75a5664d6d3d275666c1f2ea4a7d5f894c053be2dac51fa8ef9934dcd75dc0630dd25fa20bf6ae3cc7e75e6868311c96a389204b52afdfb9fc2a813e0e45aba4f76f62528a401a6e0eb4237d6fe486a9e9f1843c8ff82f40c9fb43f8e2733ebd11c2882e18a77c93474e036a104d1ca29833c8e1d791a1f33441e42495146e2bc80e33bdd3f9a07eef56a93702a9624020030400f2b587da6d12877e13045785092df04823e1ccb545b080c5d3c66363e71cf19ab7c254393e8976cb77c34e15d845d6d69c4f03bc3736a7e7ac25f15c11f358d34bbfd098f643492d6d52f86d44b8e3ebcefa7996523da8509a4c6e831e96ea2f8528fc5f563816e0609f4fe94754098fb82260a8fbf758902e2bc17f89d5db62d106d134b8d7ffaaa87489055f71e6c643c421597c73d4d5d955bbf5302a887e37a66424614313a43f9e47548de2e29aecdc2565917f56e90c72d11213ebd32848edde4b3f40c15870f983018767e1d41ac026688147802ce813acfa0bf9a780903659b84456592ecbbd05e943932a93c497fe3f8576e4ec0cee2eb308a0b10a494861c7d2a84a541dcc573cc361710635c21429a5f56ed04c3e306a232f58629a7bab3d849fa8e92a6090d6d4c00b984fe342b7c88b957ba523cc37a1df58aa9a0d68b66c984c27c8fa262cb4947ad6e3bbfabbcb5e86b884900e4d3142fb32587f301b63a9c850bbc3e35d5986384be9d9c4bf3ed03a42a696d6cf825d31654834b0faacd35a6b8589f3087af87224bffa54754f648f0316f2b741a7fe5f4c10041a931805836b68b531b3becfa30c5642fe4e10ede9a2f441ddf8983822f19f3269880480bf158572b7a73de0a5ea49620add0514d2178780bc94254640eba1f0212cc5a588a870d638837faa9a8329e510652c9c8efe82b531d791c50a365f4629fb7561f0a5af2685fa65731ba26e29518f5eac8a2caa04fed9d81985061c179ef3e30c6ba633767e9a9cdbdd5f75be9c77706907c2b6c1283b4f1850cc54808ad5a1c4485c54fd5764ede525441bcae8de40808413ecf70dc3cd702e8805ccab462fa8de379818cf11261d30c9503953112e0c31f53d890f5ff6281a0456c4a2be1b30130877a950d88bcd6bad7c057bef19ea2211c19e2a2ef02677ee9a786998117b62d2088673a16390035f34c3faad2f65c5d22efd4505a6fbb8bdc820c937edd11d4f05629c7cb3ebf5ea5e883a5a8ad6f7dd2729e49391df5e20841a0f0bc8a091e47562f1b5bc90ffc3fd70d22f0e836d852677ae9963e89d627e2799afabdc6ccc49cd08440ad8f7458097a8ecb2680d4474f981d85cde7ba29f5dcdb840ff57df7ec469ffa3cc04dc34ed610f61437180e3cd3495f79a14c641ffa6e0878bd2e4f7d121f7f2a2cf4e3930c004fd2b64395e5552f3faee7c23deb7319e28d097e989286757f363efccf39b256b3208c6902d21432c0eb88bf2629fe792707c5673923f80369a66f8fd98c2f49db197c303570d5b4fdb95b5f9994d636abc2b1d3ce2dfbb09f1c1e9bac1c396e1417482cc207d88cad399b8d6e89d8b6a33854db5e93d2728191a465274afa5979c308a5676a897cb24fdddcae3eebb36fb49c7b17852401bfc4aa2aee42d198c465a376f99ffc736a208e44b034d1b012e4c83b27adf61ce254d3dbe008376e0dc8b7fdb5ddccea95e71e0b9eb93fe0da4836036674e7e56d4228a7073ad7dc8c85f229d31213d7e546a892d7a5f9ab2e50bdb29e95294e403434130045c0a40722ae5f597ba81d35ace7a194cce8eb1e2e2f5bc1313b0aa9f6ecaf9495bf2aabba47c27d2faf04da15b2b04f7485a100dc7a08826e65f0594f69a2919302baf47f6c8fbec9047b11144e5fc80086a848782c8e801fecfb57de73b7b73dc5a818d0c8167877234714dbaec80e7c045370ab7e7ee1d1a6919092edc6d9cbf7879dbe809fda3d8090b4265d42d994ed3569c31e0be00be4117f77e1bb2efca2ebef7e20ae5a59f2efb408f3c931d02da913600a80ce89e66d0ccd100a1aba7c789ad4ecad2a6b72471d314ac7603b5172ba9634c8a191aec6a8b1ec1c9e0e69c226e20ef5f2696dd55c2ad5fa78e089b10672f5df4266839f47841ea7ebc5329b7ce8c3b8526d5b646878bf4e41bbb9daeb1dff189136f8f7f025959d0502d8c0170e8b705aa963c7bdf45370d57f546e41b14d0ad90000e20f8991d7e098d775b6df24a6a6a000cbff62347e0391191e14f068a20c40cba8fc30f9d3f5669efd4fcadf576db292e4b2e2057a0511df3191c66d444b6cfafb664ae1c3d025265c4a55ceabc99913e4370b830ecfa7659b5850096fb386c6d8455417414084501c3a39ab0e16139dfef96819bf3de405d0ce2885e1df12d07d4a5510548f9182c4cf6404bfbe635396414de8d65e35628cd0a63dea58144508b959146d8db49e7fa5ede1911c6d5f3baadbe92609813563c1cda0d89b94fb913c703ab0bdcf2702dbc7aeb18a8a533022b5c2b8c8ee89180de600d67494f80c481caaab36ad5cdf95d36a7bb1c419b374c03d38c9cf8d55e2c756737b45c544f2f09a037fc91425df47f74dba6b053d2d07ea2f9ead2c084da2ac60fb7c4658683db019a5abb0a8b558d303334229a4840aa2ad8e0a4c39c4c2be134810235d79b0dbad793c19f3e74b964528e00cba2872e1d69649168c94d3f6dab582472d8983792259ba01ce1bb8015c691255efa8c848e2c5469a332704692b0b727b35405707b667d5ba263677f609c1b899124ec62c2909b801b4c3c45ce68a0240b590e7dcd5c7a614a6554764493d0f9de2de23348d58766013b3c840c9a1bb50aff60f1324a9e125ec60200ff396070d819c0bf4ab97787477cff59a63c955f3c6094639ed883ff3628a29449954ba886af2ec66b3f040b6e2d1560770620e0106193dc3c6bcf8ed8b86e175e66e8b7380de9dff6235d87d4d6d6d130a481969130a950cdcc959ad673b95be88203dd515596401284e79850f4890981acca394ccb6c1149777c7e3cc0558a7b5965908c3da147bd630543a67d011c8d4a2d5b7cfd85f1a1c284513079cd7a5f88f0fbd044dee759d696eec32d34b0728ed1194f160ce1d16cafad67cff073d4da8a8373303ea6af4bcdc83bfe5cb26819b30b9fb60a6d087178dff0d470334365b17614aa0ede4eacf1587d3effabc7524d20d2d2066775a0444206296ca83fbf07bbc01aff2a03adf0a9092565f8a9af7a783c836042503ff0b3bb94b9cc565d47097e3776604593305c133191204a1fcad551977a5db555490a754b6ceb40778d7756293152da4af51006d623007d2de06ff6e20d55c267c6c1c9d45b0676e100a6f932717584cd711bb43791e062c1a4e2a961b3b1ffc7ecd3543c2e45b4b97a4459084d36dd435d437c38769d06da8efac7eb9bbd078d0b6abde3a7a57c85794a8e578d4b598ad96154cb1d5c01e7ebddf34fcf6b5e8117018b70d33ad39c3ed933e0ad1695e3df396fed2e476b2f0f7bc8de1108ed3a5c8873e9fdab0579f16218a85d8dfd56d14b3347f401a91cd6f0db94904da7bb12fd4781988ca068eae70e6b7982669cdab0fd2d1b22c2b492a3c30d3feb0131ed7435cb272a5e1a98eb9ff35026a1df334987f04ccff085ed66b98591f1f59e1e44f245627c363fd00084326d1b7e89103b912b02967bb6f13eabb77dcfeb8fa170b4934ee0795ac38ed81b261c1c3ac7d0d5723ab68dda1f6fc2e3629cf608cefbc8d67d34d3b40b88fb9e737d4667fc4ff31532b5c5348b761bc2f1a49d5a6b933ab56dd6b0985ae13d3ef1d1619561f20d42807aae8e474777a7a9bf32f03346a3cdae8a552f9a93a0091c18077329b08f4cb8a4fefd8b770aec5e59c18524933f98f52f89df993e3a0782e7a259d5bcfe7b866434623f24fbf33aefbce26ab1696239536fa06616e1687841ba0240eccf370bde9c8bdd95623a6f49037ddfe1e616c5b0fc057a492bfedc10a54c6381cf05d87a1be161710a0641684ebbfb69a0926862c557d952dc7e522d64f2c92c391b75db22be03a5ce19aff0a78d38bda990490d95156a83b3f7beeb5e9a4e53d2cca9cc64e4e20b4315089d1b1da8084f43114824087c945b62ae8c19cc004227540a8e6def0cf2ff076e13a42244add38cedb1719f62fac2fa79a8eaa4535c68d18c0c8d107f336597353131c591c5effc5ce3d6bd7ea546989a9def14ee81595edd3caff9626da73a2bd83ea1f468c1ab40482754ab59af0a7d04782f8091422c5072c22aecc1d268626e023b9b2121d698ed2b07a087df1451516f120e5fe1821d6e67bb1a586578362c823fba57a18fbbecdab5204f941ef0516e9c2dd7c86dbd137d7760323977994648c8742568fe8840262ce1a980595fa67209bfbe68a29407872ece21b7449be9fe973cfae82634e4e61cafa2ddd728628ce149069b79d6552691428295a501065dd79ccacf253fe3cea663e0cd914456e51ff80dd457fb0863abcb4bb9ae0cf0887be643c626f18739e93ccfa1c6b8ea9f4b53a957974cff068fa4b89eceeb8d554bc77014a750eba8e7ca0181a5ab13a0abf0846b51bef0aa41598f8b075883b6fe4aca3b5a239a34ac2d103b47bd38cee38e2afb2368f438a52758cab2594371a7f4d14b375dbfba109d4e30a992ce7887794b0e6a99e99ed6f1c42da444f6dd86db49d918d77eff374cd8de6049c4928a982c82526705f82b7a33f7b0bc55f3cafb5ab8b06cd4e0f826430ea43c2c4ec406e4b07d6662923831a491ff22ebef9ddc203e3b4bd0ff572689fb8abc2c4891ce53214d623f7d474c408b5d07ef8230075eec782e6afddf287a506e64f7221989fdbcb4c34e75c7e455a8d2d49b01910cba5a820923f021c87aa73d7f1f7ada333f8bb71061c43f321c88cc2571675b12511eb95d8f16ba4562cbe8aae049d8b2bcd50354433c70b39ed698e1059efe7b12f8fe88440268ed785d02405bf6f6130127ab3196be07cc990808826caa47711b74c5d5bd16f60b59cf123e100442e412e9a7d5538b0c3bb583bf0604355b6f00d6f6a616337850e30ebee62afdf07db74f93e85f007656325bc4e794f62891300f94319d9a4cd1b9eb10abd590c138a6daa2605887b40493076db890185742fde9bc5708b6abdabf69518162c13947d50af18cc9bbd3eb5663dfda3d323b57b6d95464f274d5a9568e93f815aa3468d2a31378624a7c38653e82773b353c7f4d50a5b80705dcedf69a17785d209809a22b335a4ac268bb68ddc0ab8656a55d30ac447ee9fbc9b5660567fc46ec735a312d0d0c7eb83b786c823a4cf15f610087740bce80731cef0eef7130a2edfd8d12849f7fbca22bf332abf867cc6bfaa005174b3dbaf550ff143b467e8e41aabe4d46e4280a55a6ea1f9c823055896c9c44554effb5d2138cf84abbd8e6d94cce5342b492bdc0bdff8ccde6cf20f83168ce893a70c1d1c804c75fae3fc518059c65d771658e7a5a401f01813a10dc1e9db1466caa23be6198ed179b912ec5b73b41884cbb2a1c268d83623b54186cb7b45d866da868705a99b45f3109dabb24167dc783e7de509b4cd8f78ef5ba4f6b6f13f1f848a7a516fb4e38ac757b0bb653564c894a0fdcfaba595b42d5e93009ad3905eb618014b46b30a5830ec8bd0bfc6cc2a81f600c2344b914dd8a35c946a69bf6a0e7627aea62bbd6f3de5f1d7ae9b17bf404ef08faf681200b540af3ec37ad1e59be1c074dc7941a9775a8da5d05ed45ca7bff6783fafe88da144d656d54c5a64b5857c3ff217582dcf3987fa43b37c492c8ac3a9c3995c309c18e9bdd2e46c8788ca49d7f5df83996914357d7322870401d022a928af1c362efa9828de372f656e9f8ed1f6bd378274213e91ee5eaa6fe9d87943c2acb78fc1c939eb14fbcfd53761ee25fc6a64b2bec6c3ee1d3c2ef30537293cf267691614c3b6e33f0e1866f09642a390e4317bbf4832e910d31b1298c0d42a3f494243de2dd4848f6a1fef808a455d6b39e9340e30c9f3113a293d7c4e4f428c89709228d399fb299fa39c1a0fc8556d6100aa2af5891dbc7bf4d0ee0fd8349f37b550240c7855d4145b6184118f949453d8cf10adbece85db2d4011355c7f2efdfd51fd605787409067008c3f2a387e48bae66b6f6274a576810ad13b197e585579bc2642e9c1d93e82957408518bbd41fcfb0e3317a1cdb6371ff8eef2f3450bb000ab14d15194a372330bea0595414175f271a9175d618eba18aa4e3f9461264eef52c1baf1b0825951f36cadb6b8ce4166cf95859f05980d001ec56b51c45eea3389cabb6efa19610ca0a38d5a95e2e394771ddc2bbfb3d72bb15690758c56b6cacc35a6d7ca36faf356fd96de2b3db4af821dd3a71d91939fd822e5ea520e24bde4dd6241c057440026ba3da04e1ddd6c037074b2beb08716755d783fb424fc6d559d6d5b4869fdae4573752b01df182fb103a5577639946befb5321a78237838dbf2118d1dcce765ffa46657834119952267751822f69f53297efd38e17cb7ff7aee8ed647d7bd539ff076708e6886df2d41d63999e36f8c24e82b2bdd76edf10937f6495e1af979487faf61035177cf52b4ffd54469a993ea12a5fff701b53e1647147a38750f74119c4d598358720eae3f9a8f5a28b4b799745a7708fab0c1a44301f6924496314cf6e56d59e2bbb70ef3bea9a505817a56a008e17c04c943d353a85dbe1995a50bb6bc49306b1689e985539776a30533eb48bd9b8faba0ccf68bb26b9a0e24223d22b12faefc72a60fac21ce9e2efd1afa898164fbd75ff5f6916c013f41eb2ddfd3ea067b6ca5f9dbe0b13cc91304a2c04680a370e809280434b518ec37a81809fec894285b49a8749fc7901eb1c253896a6fefad28f75643509049ce9801e2f11e0090fb8282de426f637d92d84d7c0a0968952475df003cb390634d82b4400341370ee0e6dd61786b1c8c9fc3dbb195016fd276e183fdbcbd5eceb73e4c025da4747c142c5214952cd3c9fe7f9f2d3e42962756bc9e925a1ea4aacbe6d14aba9d3054b408dad42e84aee48284504718be1e9f90501c68db6261945980b73e1477c6728ca2b662d5eb4ac53fb51c018c26b249701c6ee0e30dcb01dd14dfb46265ddd3daa54e59e10eafe04fac912cec91a030af8e9e56bb5cc6a4da07dfa06fc56895479626a37b4d3c53def61336c9a7e612cb950810d22986b0d9f01f2396bf6d1b7f451b23ea0d7fa7ed24dd45828d9ada164bcc99083f4883377aa56146981ed625bb23b71b5c81774c733fdca0ca80e5a9e8491663c1d4aaaffe93381a65e9bbf55070d3648a6bcfb8c47d24abaa1c0eca2d9c7e7f5d2de3458b951ba60af8576204802de7a650542215b6ff197d8f751e4709add23b8cfd28575969d969e4d6b8f4873b6ee7da2a58e0ed798513e44c5aa4129dd4fbea2b90cea7590102f43417b72ee4177fcab856f910c5a6b47d261aa5c66c32859dfae8e0fbb0da9d98ef41d1f90d05be64caad89593c2267ac2332c4922dec5d85ae6e619ca7098b43a64fcfb2ed63da0396d57b8d130468d97107b4452555f8153ea13cddfc3a6b24daa280445aeb5cb21e168f9aebcec9231d6b9238292d3c3fcd680ae1193d0546d88659c39c8361d28ad2402a0defd43ed0912b8e3634704def00fff9955e388dca7fcfea73f2c8af5b209146c6fc53b3e6a43716577827a373e9ce7c98b5e3d7a041af8f33db7c783f69bc8507afc97061af7df9608678dd46e310b2b5e7b4e73764e5b1019daf0ad5f19c8c8da1f19a15da6430b7750edfdcc552ae1fac246a9061e9b0499f86f8537299791d1cbd87af4fdb7d1f2e131b55424090e013284b8ebea5098506d2a982dd04c78ac46f3309706d19fce0ca38c7ef29e21214dccc89c3797feda1e7cd6d77b015002913410ca0581bf7d83d65ffd983d52b04638a87768f8d896d34bd13eea720c8b814c335d998a78748e988b3be1c4768297171a5808741eb9c9f3fe03cb810ad83d7a6fdf0c1a6d3890815530996f6fe98affc8407dc76baa8bf3e5c022316ae0e3cb4702f2d4fd004de40c882504ed2488516823a4791abc1f87fa12e7a20e00ef5e6435d2276c0cfe6e877d53656009de93922f2f9b2e21ef20a25ffd4ec332d6cc9f34fba1c3d371dea4455dd58f9bac92f2bc614721e7cc3ca2f86e6b1f2ad6e2a1e3ace350358bd2b644607911785c500b9927d1d5651a5d772db139ed4461c56668fe3e81f5ca1eda5801123103a50f2061d980980168562d85caeb33bf8ac1ee76983bd21e6ad42a968b9e0de9b033d6d3305e2176744d1608a108dd48098bb103482235637033c0581e9308ee5791eb003d62f3e31af24392be32e2cbc789969e614b9eb0de0207eb5382bb6e281824aed7f8a4475df15e8590fd55a32bbf3430c472ba4029332331c0d2d5c5359e0b23bc0cda8966b481e443d58ea89fed84c12426436958051e9c62b733c751222d18a21b710d824c51989aa5c9734c6592912d34ee7056ddd4b393d9cc2fc3d0d10e9e7d3338bc13ba2a3c29fc33f33d85aa6a9832c8060a5df01f945c54034d2f45393ed1c4b08d4b39f3e72c3117947af5511600195548f49e9190ea6d6ba6c873ec83226da920ef8a71d9ea28e6b89fc3811e5d6416db8829599c618e5554291a02476501f8fa931a5d79971493fe738925856ecc5ee4ce01b2a5b4d84b06a1bc398cb443a415e8b12ad1be3960f175c236868c37c6beba8b78a62f331717ca06a2b5b8ad9fe41320b0883783f84f21a631995bf92e12b98cd934d39a08a7fc38b40c173e7711e2f4197772b4232837ad6e7b127cf9f43e2dd30ae82e85f03691b938a48069d90fa2bd112b794e599a78ba71a2d3558188947f801317547aed32ec4bf3f9a86b2b9dbf1778cf472d21b8bb2f82b50ab52f04a83c5e651681705116fa62cfa2782f6ed8d5c88ae5e6521b93d3f76a773ef3b5cb4bb2cb9156ed3a69e80a1534c8fbf5f243acaad31dfaecd60f6dbf9ebc66191ce7654360976277fe5b3a76352142ca480da0d41d0bb611b1a9811e9765f7cec6484b57a248cf02f14a15966649c5aea5aba49262288fa6361a84cd4e9c4fafd8a8432822389d82d5b472095fcc73b1499f5f41e666c449fd8f775455de1045072b245c61f326466e345fa79198567d5f70ec12f61d94d0131a54fa9d7c64d227f1a9ae7f3679c9a134ea0464be8329415e6c64df06ae75aabf18159a6fc82aa4f628282b69916f0a59c2ec95d0dbce9c7f03fe439a7e3bd678dff424ba6307b2ebe112ff5f42df0b0dcaadebb36776cebfc50792eaf023e0c6c871382cfaf8956cca241e46ba62ae5a8d8676b75da4f5b500dea7047e8b91cabea3c6bf544733adcf9ba54074aa245cb2c75eb8e42859c6afd1a83a90825eb0456b4fee7bec4726118b4bc483f2f4febd9377b4e66577e1296fb468bba5a2da6a7dd54e4d6ed6dba0477efe7030cb100f8d6b23fb4050dfd1aed9f16be5fbfa1c920cea7e125907a7cc6430b5c0d247d07c0d1cd03af5c417764e6e216a3efa19125dd50a428c7c7fe648a73019d5cec1f8bdf96ef9a9c527dedb7c54bbc2c1a8ac27b08fcb711a29c12a3a3a519cca127cd76525c9515b6e5ea153f6c56b8604a77fd340629b5a6e7bea9a5bf48a38233644f38507bc37f8080f9007893a20d703c16271e743bdc8d128c971c3142572872f1e55dc67b39d9fc392b461c955d14924bd6c36d29395127ee20f7462bd160766c9b2e0ca2a3db24a99c8653d3e965d876ee83e84d5158b4f00bf1718693aac256f5c6a49b5d968102472b6443d356703e376eadff5f77b3fccd7ac77fc2a00f86c929592aafbf90646abea9474d9b85cbd69a9a1cd449d8cceaae934632749fcb9b21df2115645685f63e7c6d1750521fe862ba08109348252661f699367f9554af1f90b5f8c0043a7401f430a53330d03372585622e9e6b2eea1b413845793a3469695e2eb44d0b91ded5157675b0d33fe8f965fd2a48a994d7443d8aaf91673395a9867640b808111fd521971e199bb864c6bac19349475ac44633378525723201db0611f50955b5234759b2c3ca7abb5bc587f9d50ddcfd208fd612292a5a22d68ce47662207817c90d837ac85a1a93938cdce18b11ecfeca56cc60ac9e0c54a687398c8fd3ea07ec77d24e10e5b46bd7cfba762431825e131fa4b40fd0f2fc9b35125457602ca070427d2389c8f447b472f62d818484d7b9aa58bdcbd70c1eed3f3708f2263cbb43d0f0d6cd6093d749d3e9327381a36d5ee6b0f85b18aab936a3d2d11a6eeb446577f777762edeacee2fd6885ced5ab4602511386e69d72a5c59c1627151134cf4cfb64e3762cbb6dee3c8060ba1c0035f4deaf33a43f4a5b8ce70f261fed534abb06cb7bf44a074eccfa58a6041dbaecbf32323d1eb5d8a7489ca75ee9eb5759d3d85e12054766a7168797d8f2fa14757d92592f55db5b4c70fb2313fd73d57a274edd8f07a7d25a862d950c46217659f0405c4931239a3eca08225fe8596e689cb735e2ee901be3046b4dc81c8325a0f995120a3e62f679f1a29f0592efb11f85d791cd2708f90b5ecf13b0fa8fcb1f5c5769fdc7dce9756b90e01225b506719836d4789fd2836045c3fa7b677b2f622d68e21f3a7c4a933376cded51e8151a6196b8dbddc63a973f8726ff56995bd1aac02d980d48d85d20e08233dfc17e77d3b816bda561328905d59c5c150bd8d19ebe6414c750b05c3973d340d252e35de495ec8c9c02ebc0933f60940ba9af4f87d5d39b1f9450a07814e1744280d27b783b96e6e312550a650cf7a7d50d03697a716ffdb5f36ad63944dd80cba35e4dfdcebab01a974db85d1e8b7aead6b409cc9a1ccdb0dba465926db583877abcb48ddbd58445e2f310bbdf6ce24047930a6eb4878502cda7b4aa9fae9c6390dca7870868729ca8c4a64c87ec5ee6c9914fde2ccf1f7a438a7fd85018219ba53e58af0e41a16acf3c2f94ea0a6b46949359b971cee61b5f579d840483842b99b7dd806527cbdb354215eba2923e94be834399576587646305993d6c0152d027db1eb65027d55d08a6324b7fcf1e0b2401ad303c3f31054a06a02535e27808f515ca063e3e9cb35d5b1727b42c265e01b7c22243396bc0ce78ce6608852860d30dbe712ba47ca4b7c2c1b3703018d6dd6c3111f6258c3c199958f0b4686066aaafe8caa2cc881f26d5c3a4a3f7eec6a508d454d160d940374b2e9823beb00cb73f8c4a0d707c1d679bd15bc0dbd3f8fc4caa76d5765bd2e88acf446c2f3f8fc54ca040bbdc28b087046f1bc5eb3139d9b95ea0d5e8e46e77798ddef4a510ba57be8c61775b2e0baa0af52aaf19469deaddb5154773c50148abf72246e4b9f9db1a7acef2ae13f20b19d0fbe8b7e7721a9b29bc42939c5346185004556cf08a337609a149587a0d803b154e4b105a25b5e74aba90945e64225959ce21b1243b8ca7ed43e300c13a21f19f280a53db7c9052c507847a1744e655f0ed8d399dbc5bc8c49e1dfcb10ab0a23092a8a45a2fdcba8c8b25fd8637f22e42da72bcf9805e91dcf13ccee841ecd1377b0c9bb08b56b49e82653627967e42cad6cafafc8246bd4e1790ef5ba5da06fba4bd58d13620ed26bf2bb34c801680f3451ef5c0433f6942db336c8d39802bf78073c6c19f8050986f281c8dd375d3724f954deafa32fffa4786072a3cd304537ef893a0305dc8297fa59e44eac7db1cd2ac1e32a2ae48fc39424ba9d6b1e1efe214a56fa07cd745d4213a0330cd8c05014478bed46e0a9359e6a584da414a3ca1ff1f153e1adf0b0ea5692723e14c8ba9de573da18d12ff7f784d6253e6633b379bb58e4d65bf89cf7201a3067b0030a65866a8c36c888295d5dbbfd44d250bb4098a60a2cf804431e9cd5c9acc5da5127759c70e85cfdac351f9c771f731325c968dea8c24dea5a85378499dc8cd105372b5758582a0e648e178c7e1da13d70da33ae77ff6140b729520e4707eb3d55f1413cb3d488e5a15c013a615884549a67497a45af113eca8e5101673c5026b249ca3d4a9c2848e3010b558afe9c189a15ecc6480ee58f0dcb1e3005b474c6d6c3196037fda7739918b770a5055f020c1c8640b28149236ad230d1229dd8a5b1189b180f2651378fe65d1e5f8a15f73a505e3c3d7b738d2fd2604b84a4e91061aaa43e1b7f3458f2709e7942f96b66951a4219f610800fd8f5ad4c79186183a14a87f9739795b2491b00a13d9066e2c7f62faac16f2a534a57f8950be0adb16394320d44458d870994e210aa8b4c98ef0c10bbfc5de73845560062b92058ef6de2bbf5bcc76662b5a250cf4a187bbf8a105645d00507960e2b4486970dfc4a502033298c326060ebe251e030974926b1d6531c7c71000bcd3ffc413fd1fe0b4b6c1af2e03cdbacb75111b86566ce50aa31c81af2e50e4c8ca70e26fa05ca8fbf4b72d5b1f162c716d25e83bd4439615f37b8a94a2b817d9aef7d615b6230864c95d9178090f78be72214836b03efe991310893bd7e0c1e7d76315b57b69cf50a92d949a86a4e4b550e2d7bb1c1f23cd29464317be203e27b249afb32ce64685eaac303fac95deebd027bbd59b134ced066ed39c0c614e337e67caca3d1a23423548c6c70781299efadce348b16ef354010b6952fd53e440afd721e5af0d7cab991b6dcf5e467f43c853516639bbc59fc582e4355956da7032cf393c9b845cb4b5361e651252296df856422e0bc29d27c120b77693a036bed6507862843e012d5ec7db65a34b1934212af73239e81e1a1b3c7978b6d8b0b595ee2415c6ede66b79f9d8df2523487db9aba9c7f9e92a52170fa123b0c6fe32d762f1857120eb6020c8294570b29334fce5cfbafce0091c918b4f5ecd21f0524619e65ffea16b47b8d0c0a837e565997edb3090e5d7f9375f92d6c1e418c60401f9713575d39bdabb3b55d5c5c963c9b73afda7abdf83a1412998e38bf12f203fbe31dd42b9c606f27bc4f0aa60ab771f18064cce732bebf3bb012d90071b9025bd042a07dc27bd070802799dfe6ba92dd0fa778e4880c012fdaed3295f8ed25b21eeabe436ca99c1605f91b11f8466fda15bea3606158f0fe9111cd2d75860c9a33ba568f843238e896e22579183fdfc3d5da732c02ef8c22f33f0a604bf92f34dc1b1faa69c14a033630704ac02ce01b2df3116cfb0815f3a4820903e3b1906a308939ab8cdd4d67b21bbea57d67b2d87435801b1328dd89d7d9e401b7a38ade5783bb8ad8feded00cf912c0db67e48cb50a87cadc1c5bf1a9c57fb9e7de580bbeba5bb0b3cdab596196e3fc47d874622c92545e12a9ef9ca86fe1ab1986bd7abc870d1f39cd6f6433f945e2a75b739d738382df718b64806efdf49d56d58a634922a72bb395d5292caba453915ec7d5cdc91d28ca354589320521efc5e52a4cb10bc36067d511e956a26d5f471cb0ca4320adb739847572a73fb58b302d7018362ea80e153f76f94de52988fc6bbda3f2b8f0caa3baab8d950db990a9f322e9364f74a185670880aec3615bb588a5f51288c0ad7125738f44a7f6537cc71d8f8a61ebd765f52da5eef945e7d061094aa46a02a133c9bb7f096a56b5c47e48981476e8123876382bc476b85bbb6d66828016acb3b29bc3df9ddf4cd8fc482491a44e8d044b69a48634b1e471e00f02533985f6363a52ea16a8cc4de484f72bf6cdc580e63d4f417b5de4f172a9316a6b8eed1e24311813cdfbfd4d4420f984d83db7a00cd1dfba46fa72502ad201b02e4137a0f2503678f1ac2ff81fb9a83753897816b609b3c59acffa2f6ac44fd37a04b3746779d4a91f11acf94a02dc169e70c2a32477111d55ae92128baf5c484fbb9a424826983e7ac0ea1d60c21f6fbab4b69f917565a2f7088eb7bc2ec34b8f681708c5c5744ff01992b33cb516c57870b50e6644f59d65da56c794dbde5f61a84256dcf9ea6d6ddade5a731f0612b85fe311ba4bc7743a7992a4e64aeefcbc347cf627fca5f19aedea60f917a88c96ec3fdc5f91ce19eecf7b7cff32c288225c08e044ce41a7c44ef23ece853e85bdf5c5edaef2c4540c68f3a47555977199589dc64fec067796ed91b41ea96a2f0f42909362fa9c759fbf4842b90498bb7c0660d503c329cb6552ad9cffb77a99d5034d97940dcf51bf9c1ff20dcfad411527d72b90a5da33b1d658d61c9e07beef004b899b6efeee320717e21b8210882a6a0c66d62f6982d9ecb10cfe6a41ccbb34df5aa1c844ea3d78e5e50228326f7822e817e810648442cc7ef3c161bc429f6fef2bc746ae6d8832610dcd6e7c59707d78befb2982705a199de59bd96ecd715a2f80d884106b81cdbc73025abe664d9073a3673dd8c222438b954da8dfbd6c6ebf4d18861b8c68e48307dbd2f0d471686f913e126bafc098d35a99bc72bf191b18d3d4cd63db9f788d0d8adbfcc62d1e78e08eca3b88b1a0f01c54052fd89a28c4cf3b2616a03c5191b3d40189bd718a68b39a4c2ea30b2a4ee28b44de7fe22fc0204c3d3c1a72f4cf507d159d4ba93bd6ebdb37a70836760c72f53a53b643db93206a1ae43eee8fc8d173e2eba21d92a81283967e06c1bfd964fbf57cc0d7c2d8d3fa184bf73dcae7df2fd25562412eb58beb2167eb134246c12f6e506bdfac7148e558ff152bd41a537ed799a7fd07fdebe70be453dfbd112d70116e5a30235f01ec882d8f462c3077fd8ecbe3c7ea89dc60f4ed7a5ce98512a1cf70948e8e231b300e435c5dc1c105cd24428e3540973a333699f96affac5f08e3e7ce00b1675f55a2a3436461273e39a03ce5f2a09c258bb7669f0d503197df4bd0f15127a89b9f3fc6aa6911735e5131ceaefe6a00b44967a49662b8baa3d07fb64497e926771e1bd7b39b2d8c9543ec727801531bcd8e4f25159853216232d1cf27db88bdd09acd2c3f0c43190a1792b02576420c8b0ac933596b36c7f3e415139d88180d906d5816b294a2be3f60abc66aa42ff4a67cede0282706ec2a1ebd9a8f3f042b4201f73a58d9cb95f8e138e8362a59c86089b38189f309c800750629229289cd3b9dd5b6d10915854f39642e3127de85a55064255ef6cf1b551d9b1f728eddbf553b39913a9b1b2b0ebb54bf22d1f21cb70e9d7903d2aaeaa282d7a39b60806a775245c7dbffa29c2def9a8df86714190656d7028ac1d887fea70e7ba1bd52edc3d453580ee3ff2ba3f8e56437e7d4217474a2af45f5974da9e4e6716b71127466414c03712fc91712d65436ce05f6440209164b1c8adfcb5b7f01e4dabfd8a703370a9ea38622966f38bf4d9da9adf54b5c420b7081d2b970180863bb20614d05380abb37e67fad258e36a89b92292483d590807b591e3b03a66a37faf4aae0c569e28328686a80da7d7da8625149e9563ac26fd1a360d00098b0de554be460ae090a1a30e3542c1666702443133352b8288a6d21c11419a47c8ff10a62825f2fc237e046d7140544e6b3da133c73880992901699bd031399bde52226bc573738ab3689a7a4a932c9c2115f45cf1c45100baab956a0f3a2253a7f2d5dc9dc2ac81d1a2566bd61885544280acf84d641187c88be057997c23ee0ea4333ebdd88fae5c217cdc13e167191cfe9a4398389c74f188fa391984afa0a7ce16087dd59abf9095964627492fb8d0daca15f778c120ff8f9b5d280a8d3b7c5d83078059f4fe9314531ed3b4db5d29f7037e5fbaab8591edb2612c8518705677697e033f2fd5b099c9f53a125af2edaf60225f46103358b386bf8dadb065b4841c451cbb74aad17f0c7ae7cc0e76059c1ac1947d7c99cd9cb5ef50cab48b8188e0a6efc62e07abacdef63cdca6e6e69d99dc9e397013263a959e642560d94b229fc8cdf362c180eb0d413038589b0e3fb9287c43afe5fd65b15f111c777371f4677038260abec84342ef5fc1ba167fc073818d9feeba3afd32a4fd5dc84946e2a00bb2cc89ded063a8ec72c4bf45c85426ec7d4d2428c7829bdb6aae40ff15d7da791365b421dc0b20b751e85e1945a235f6b67520431e0ae378b5eeb1be127f9014394b99160032e8a3e8ab6437133ad17756f117fad22144f7d6d482e350330257222ca47ad6006181c858b15970ebb54dc6c2b311db73e44d883e5ea15842f79c38b3a544e33eebef55976c4a1202c3e84717d04bc23cc43b04ede3e91d54f4bc3df3a1844b6042da09eb60da65d52f14e84a27351b987c619eb433daaebaa65189db37489c88251a5daeb2084e9151b6bb8e9891aab7c617e5d8d1ecd52d66311f3d205422ae9422c4dad4e466b4aefe9d78f54664084eda9d98236187ce27e86a8f22899c8d72828cb7c7556daa0476b8f000683ef8028667b6313ad2acc18ec19676e025f1706bbae23b9d6cc3b4d4524b40f70630db2a83532bf9af45526b87f28984957e50117ba8a24b6155c54e2bd39f3e3aff1f2cbb58f6198464658dfa0f66ead2718da4a70a0088260843792dce9e5b9c816ff770987dbeabcbc6452a3d1e3ad39430adac873c9e80528cd587b8449d5af493765abea98e269a9e7a8c10a8b3f4ca10070ad25d61b37d06ef7f0237c2ff1c150300824e8f89445eeaad589763806e02006af76e706912131415b870d7bf96bbe877a14e0a170e9561274972f5693c43715145e484646fbef020c60965da26397d0ee0fabbe878e1b3a4e2e84dd8e7af6cc114dea5fbc5c42c58aa15ce21740227d4adcfde36f050a43e38ddee6f56ed57c39e9b97a8bc9bb15665f4e9ef61787dbf4cffe02a6ffe86eb04859ba4cfd529886de6ddfb1c38d55b6bce2c36d336972ea62c84ac4d77355f12f82cd68eb3a9ead2c019fad6453aa3b2adc8c8254b0663164462115f4a80bf3bceb264dd5c821c8299b51a03d91b887ffd03b30eedd5920efa77b31fe71e49caf1a192720ac947ef194d67eaaacbe92ace77c8a9faf0b7a98ac5d3ed8279d42a24de4f9abde14c74c34dece39c9480d45ca6b6818bbe775a50ac1ca114b0789cf1b2f005bfe10c5cc22eeb73055351eb5aa592f4d1e3f5b12f6e36bf5d186942f74dd4d07c4efade1f60b9345296a838a947dba34b9be4e03eb64865b60f8d9aa3a667ab2e7dce9be1fbc481ab54f6d876d401d6fd5e0237d7b206b02ae6b116cf762d75c050bc0c3637b257ebf9ea724599ed5d732196dd3f04d82a64c63d5b42eb2b75a8a45e657314eb07b5a9abfb9e1c6955b156fc8c59e39cca618ee9a10d540cfb7e0b9aa9f33cbec446f48b2f223e49214bd9856c1d81dfbb993740159de2b4f7c07385feb84e0bbe8a054b668a9dabeb93e433614a2276f6b72282dadac515f7abaa3b720f064bbb405b60ce0eaac26c054b67b61101129a572ec8cc0eeeb8ac405f0330a599a98d08b186c7ffd75a13e2acb5e570f66ad3e895d366ab638ba6e3849170c389784c762b2b086ed4b76ac4221074093e559ae1929ca7b037a878d258ab8a73bd832dd857573eb48b7b0d97415299805693e4c27f0664b2091eab209c3b1a716a88a10e9d44467bf0c36ab10317685736f052c0b3552ea9acbb25f8f98b26f1d30d99b5e09d28ba5fa431af3f27aec78010f14da14175bf0cefeab8e76ed84a0eb028ac0725b06d2afb784e189e7e94d9b0408c446225b7da9d225a58006269c595943d2017f8878977da31472886320eef650193d97bebbad5dc317f71ce3428727e27178ccd08d49b63be411448d213c1197629eede45e048ab7f6f5135ffca1adae39ef4c0a83d6e9962690a246dbb45c41222d15925b3c10278772745e778a74acdb55f72fc2ddd28fa33315937f1753da60bf52e9ba88373425363aa90d4efa155fbe9b244253b7dcd6323a4eaa2500b2375f5cdc3031769e57618cbf4652b3cf710c6817768bafa4ee07143ab962e162c20d32744933a2cd8df5084cecc84324ccaa884e5308d0e96f5f45b57394c824e53694158bce390eabc518ce08504c3793e3b64ffd42e764dabe5cf68b7a615f276d75eb4df88e9e4acf2d91b711e6cd7b116f00366c44b85337f068c90fa88f71825c6b230753617cefe1c708d5773b8711ff572be106c07b81021e9a6d4ea67c083af069698464f306d931ce89ea95f948126d762ca04c6cb8e0495e59ecd5e711b7f36e5bb7d66be32b5549d816a09f15e56fc301b08e5fb4d1820da4c5a22c1c884df35bec1a257db53643d7053e8dcb47cfa92ac63410eb9a03adb0846b796ada3ee971d0436a06618b778f87ae15dfe57cb1a17b1c9048549ca9d045ede28c32cc2c54dca2cf69331b69b5c3ab2317d991c72543069cb8a7fea0cf8d592bc2b6759519c40416aaee12c79c43dbe71995d8e51c6738b4ce7f0f27f1a861250466829de1da397e12da8153ec67fca464efddfd09d4fe2c473b4bd1c300297b3377ac63f0aeb6a32acb63e38ac8b8d0261d0692b93070abe50f91e724eaf2821706f75197f64dbd8047915d2dbf42741df791124514d9f833f6cbf9268ac78ea33714dcdad47cb762de7b2d7f524104a7cc99985338ae256df70a987a271203f03a439bdb15a508b2ea19fac7be66d7453bf59656df746cdb8a30fee463cc28db2b001ff0fcb877a55dbe5d8b562e9c7e51d931030a5960d67569dde101ae7916d0dcca7a1086d8cf0b50f207fce09cb426209bd274910afe247d19bad514f8229604ee1e25ab1b3c43bbb9eec17971894dc687910b66f9f4e00fa6b08deafe4ea0f789226c11b33104359e2eb1a1c2e0649550b3b08e4cd09f150f4c3e1139b2831ba56667109fceb15084ae558d297c336ccaa674dba4e49f3b1cd8ea19818a8a961dd0a8414c8830484bbe4850ab461a6a756f98a71c361a3a27150a1ec1055b72ba68ca54e40f49b93e2898aad383420f64ba5675aa68e53de0fadb1b199142ddd87aac7f2e7ec44740944016dc781d4a3b3d80ab8dfb509cd510fc19ef589ca54288dc0ff317a24fa4307af541624f4964361b427afd81d03fcc1f1d44e38cdee07999715dc2fa75057a210da10c62447580c5c7d47819f46fab9bc5d98597bc3b1aa15909d50ed2ca766a17c5cb237d750e97eb3d2c5e603eb7c69bb40f0bd3a75da44478c8072c706af27b6e3d793db757d77e035d0e836b7efa856dc65e61af9e6b7892006447ab8c8cd0b54db05c1b7c803c5663cb610a297b1aff31d836e88ccf59312284bf1ea54f28a6ba5cb832cd6741dc973a38e52905b52653cd031e39d3883cac58a57db787d3d0d6054d8730cc33b3bf3712648a361053bbae67243b730691b15e9f9970338c5f56a9262723ef1432ffe2953d671a65cfa4fae4e42c3db20f367cdd0841286502a23a4058efa6c30b8def41c0af223c5d38f6af0ccc985ce5652e51e0b9720c8d50cf759f3b2767fea108db113dacaf1f8911c7ac22cdd9bcbe5ee5a5f3f5b3f3f4fd8eef0a2f21d2782a7f6e3ba225fc3702f493587e081309401a78769fb4418fe95cc98d1ae4d299f119b74a17434aa27fdd04a4ca608e43954567d58ce3f0648181624ecb2ad4e44e6f4a140b4e7c77c444067f08d2b2e87e81b23ec2119de99635b8c75ea97fb7f6c32be6c5c3cea3e12adaeaea3d297affa79ca737181321b65f42ab498485ef11c2c008b4eb00c78ac0788f30d2519174545b9d0865df3168990ce9fde398856813375bc2adbc2b53f6ace96673375ae46b8a5b65a6694c4ea7009c3b6b07505a4c06088f274e211d7bf7c19c53bf5c1b675c0dd23c58c3a3907696c363cda9608b21aa36cb6782578c2f3f12763cb2cf790f275416027b6c4c44e3ce96c7668a45b8f5541b7436b79ead58605a2790afd947e188fb485a9fc6c0f936813ba0b7fd9b12be8d1fcf27173aa0e6ad660001252c16852e470b5cf7800d16c4ef7f0151cf86878465a1a5f6ac213463517cdf74d73755825ee317c5a7bab8cbdaa003d2a65da5b05a96158bb84203b41116fee20a558dc6134a35b2ff14993c16c44235962d57e473a791fe4a7a9b6fe186aa3c896fcc5c422ad141dddee2a7c41982092fdfb4623ca4c6d7f3a100217193d4fe96e1fffde3a3ccca88cd86c7cd5a5d837a89db131eba1080c0b8e2b299c1bd138c61140cdb629ee1e99051721b9d66e1579ac18f25f53295b195e42746198254893ad4d1221bed43c629a5143e43b5cfd344fc0ac40b821b8109b2368a76b4c1c1d750901d0480e6c27e57242e2b55f5e30aaadf918c9a0b8f5b1b21b6717fe4d07e87751263eabf7e0849c3a86e048cd67e4692ed6d2c7c4221f3dba3760d795b02662797c9cf2e7360333412ac6e52a6d5e4c94a2581c9063d458d52c7534075b4f27d35fa5c8adef17352ed17121511610f4960cb89cea032ed08a6afb1159d9250b842d52fdfbd870f6261ab387f453e9ee388603328bd0a84ba4be6fd59f2424c0c6e1c156f50fabd3ce98200592eaa64d1e33c480dc42748e11c617481a2e065958630c5dcb72a475dc3bdb26cc4d58b3de158852015f555c75e98aa4325cfca690331d72832b6263ce7408e49d82b5df9d6f28223db66ea5a8261e8a0cb497eb23d9670e61d01fffdef2b706d8f03fb89c96feedc6f35cdb5986b4a995888140ff73723fd1149b2bb5608ab7db33af3800ddb62a89ec3f0604738b9517149ca201b682ca30b476a59c7211fff7779ba28b315e753205863fec2fa6fe64ab10b7f965f81fac4f314979b047ee357fad8c4f435147bde8d450f286146196d95e762eba4fba42a94ef4bbfd2d38aa3e7e22a8ecbab9ff2b6bac40ac8a3919873f4e19955f350d2738142d5bfd3f9254a03041780eb61880b1f0d0eff0eede1759e50ab053f26bb185322847cb33d42fa7a4127a8a080c064000e6def6aa74a491605fcc4f994fe63025fd7510d9c489040f68aa77cbc88294c8208a2191498f627213a4f78cda15e049160b3e1293b728de9902adf4965d22544b19be949e31c7eb7a1346bef29ffe0c96dcf9aceb9ab2f5a882210b62127d1fd7655840d52136085b94af3352e02e0ae1e2fa412edf5197e13f89c2b7c317a85810ec41bb47cfb40e5616a1d206009d182b77e9102d2540e218376b5bfd24d5111673a2f48f141150e427e6cf7388477535a42280c9fcd7b2d088eec4afa448c2398da29942ede20b9108ec93adb57c2ed8f3f5330fa32ecbe64590d6001e696f8c88175069a59a34f6d44f8ad9d96c4c1cf880e3d6a67e12db6464693f79c69cea85d1f19dfda4f58e7d612d08adeb9b75cc6bf16799666b022ac98f13417ca3ac881c8ea03e241428832a1d22b398f47036f0a202f9763c88c1a4d9f88703829bf91df218a67ff94e70b788dbff5d9252f32cb000ee55282d3f36003a9f8d98c3387c27e985ef0d67e81bef9a6ff0f8ceb655e5fbdeac63dbbe012ceffb8a0569b1a5aeead295a2eb7dbd6642bdcae5393526f9942d51aaceef0bb9a29a680b82a24a24e587bf9cc775fb58c79831d15fd82d83f69e8cd2f1c2778a646cc3f3ffcf8b94ed7d0b5c89636c542ee14aa107be77bc6747ff08657f02e4b32d17794b6331907f57179135592eaf324f4ac44f97025d49b67596bd134d51429c2b90d96845a67f944e401383558a9231adfe2756728ef6f09e032eb80568d4c0aadde1c3a69142d96e6707e85717427438867df77cd1e8c49622c6a0a346f5d8d128873698efa5ee93df922c87d278af9581850a02bc5dab8f4f30de73e19a41b47d608ae4d47e855bd1d3c545f9169dc74ac37f9c00340d5a9d89ade5b0fb2af38d6c18dca1b69a04bde96169e3747321f375453c8c38d682de9808d0bfc4942ef0b882c9fce15a9652133aec5eac16554a146d0ae5f56689d4ba98a395e5f81dca1ed451a95044ef7de89dcfcac8c4d42b8903238ea69b1ea13a6f6e436ca27c2537904f1e5344234f8d85406404b74601cba01137060c2de196fad17dd1d102857e879f732ded96da6b7ad2f5b9aa61a3834cc08cc825abfc3bb3ed122ad94e15e0ac330e1d96597d2033f260b27f21939df1a6fe656fae701031b250ea6c0befc664ba372e13917e6040900f2b61d6328990e9025ca9dd4b565890bb67611a10ae78cb13256d6aeddc6b4b2cf30f56fef27a57ca3c347f606722296b0b6c4fb7953696793e041342958e12a8647c148938200c48d33ceb14571bfb6d391d4d25df09df712bb4255263ef9d3fc7fdc76080c2f5826fd726dc83f64705b7150e5c2bac11b3141caed436401f522dff48588196d07bc2c3b7badce0e01d6907d95f42cce2c8102125d569f3d67ed52aba342ffdfff2496fc804e43ecfedd362f996846c3f8050cd5dd08c13321311c9c91222676861bbffe760d043c1c34e6f243a21288147ddafde92c41db2d5afea8a43fe9f701255806abdd6a655373c807145341699c6817a5d851185e226b093ab2ec340e7cdb19e58cd28736cd7a463be40c72903967216df17cab37dead8b44d27869ee4b0a8fd8888421be1cc366df13c297288f2a1283ad7c957ca62815dc038c92b404d6f94b5ea8ffed537a4747b5979abd0060b9484f301c8e5b6433cb68776cdf289ceeadf1b1422182acd620d5d207029a8309a7b53fb130c2fbf49f3cdae9f3daf93fc1f840bfd9ecb40bf9a4604e9b84127bbd464df1343d59b5b9e01be8e1286becd812ff86793d348780d4232d138d3e738b4b478ce3b9700e07ee3c3c23aad8d6a4408536b023a85bccd8a12874bbb7e3df67251d19def0bd7fffd902d7c8a6c9939676d12b1c765336b46746a080bb0f58661c4f184491bb2a350b5deb8990427e497dce76547c98340ebe749d997f0c774a0d149df40339f01ee1e9d5418b84be6f77cf3c1f415c8a78cca403fdb42f1dcb2bf36436c888b5e90d56f0eb4a845cf5c3662fa148133e4ee06264f481ad5c38c2a0c6571721fc29e31865f681039ba2c242aeb749fcfe90dd86d9c6cd6a92c543a8eb15b17827c43fe51cb217d7fd43757e625eaf2ebda60ce06e52917376f94de097add6518b55acba2132d1526ee8bfa60d0e413bb8ce6ba126840cb577ba0ed4749630d0435176c9eecb50670c2af0a36e154630ab3134dff50c390d88d4c1e61dc94f1b803f5bdadc65f8652c56b5b6bf7e9b8bd170489bd9f525016f3673da8e8c58ecf4b50ca127414812608d74638ede758063fcacf5600e7299ef41c9616e9fe9c795402772a73df7c326c0e99f1a4f45836a8d5da08f7634d57d8d00a680f84bc0d1f6dfe0485dc8fcaf7e4c51fb00ff1a8c5da051f1a196ad0540c940e1737f0c2bba75d4bd7cef639515ed27d3049704cde2867b62e512c15158fb1aaf2fbc4ffcb89570978a65b5da381a8e3c2b2f2e37a89d1c13dd8a5c652dc6b9b0b912956d1168c246f74cd9a0e796aeb761ee25b48c0371653df31e1f1f9b7bc0b0326489f21f25a18b6099b24c54d4d5df34938e41ebbd7cda35a1af626791d45237fa2006b5e86e677b90847a237cbd765245ff32a1619def4bfcde8afe66f5b49e6bf7a34dc8429f05c8fb000e398333594cb418d4c601efa2ddcb3c2cb0c485c702a2dfc6d879f79afe6403a1999f56d1bc244e01e440bef8b7c37defee431781c7dcdefdee2619354bd071ad0d844661395a3071efedbdacb5ae53b098a37787f725ae98c9513688f32fcc05b2f6954500e80b7705d9d32e0b34b377ddb00990d1eccaa41eaf8587478935320f1ebec7f40febfc193aff73d74d8b3b3bd8735bbd737c0b89053bb9aef9ba5766d72b17a16e22bfdf380a97b54afa6b3dcf7105caa3bd69c91236f5ed1bd74c1851825efcb1e527a92ad893f36c7baf38e84baeea9871b470f43b721727555fa42612088135649075912a8f7290f588b861134954eb1eb8d9b45ee89895450db8ac5daf250715c8e1719cb7474255f99ee68bfaa849a2c980d843e804b04d2a6256294f8ab6755efefc3350c35abeec461f7347b3eaf437068a0bd5805ef5912c7983c8d72b8591b0015ec0e963df898fd2d8912f94fda85330e1fbd0e6d0be57666adab174dc0582bae1bdd9b2d987d90ce8f842064e24ece716e80508916e572d9f69d93540f602be9aa88d3960dd5f2b4ed14acf0e2c073093b5eeb507e50e98a449e99ab4843485a321b0b576515f7de2edee443422ebe85669291f0588f9f856ec5629e216f41d5ed6970a177ad6d083a112b6bf9d305f28638a68aacce12fd858d664f8a21ab3cc716aca2c805559e7db0483a965b19a81d7a0ac847fd8f549f09a88518c78447438967c3c7af2a109db859aa5022accdf601115619ffd8b08f8f9164faed7f45a584960ad5abe85119b173e96dae88bd687779be71be6a39c8f6d225c609deb79c33cbbd7c8d8463a8b0d501a1b97a76c47d23994cd4e74149e337557c9dba3fdf93d379bf440d2f81403f2581aa87d54ea3dc629911900d4f31a6137c9a62384040f3e3d4a3bdf9777a92e8042fa441330fc4a769f8138c39d9a19e4a2d3995adb1bc219651c5e23680d41368efc75a5ac1fa2de3f67f763bae320ba370f3cb8fbe48e31f1c7b0c56f3e79700bc1fbeddd05024841d7e065e59b6d194d81a1b3f45f96f23bfe570d7b4728e05ad5fc325fc597fafa1f3c7cf7707e60024845adc1e5e1264fcfac1c24e0f845c91345d6f1edb4492dd86c44332db7296dfcede9fa33a64f53848a6c1b4d5c09807c98e68a0c2838c5c212f9276e997fcb9c47f64199e78e6b9c6855bd020a83d695584356341ca7b57c5df4bb714a0e77e500c8e81e827f4b16a2a60fcdbe6d37d02b4f7265fe9385d3551a9541fd66970ac7d4247e249c0e3a47fee3206c12918ff6de34627931dd75adbc370becea59a37b39c4c569e945db225ce42ab23c5bdd892c0f6f7530a2ef437aeb2a0b00517931e1bc1e9d89dc096202a4911c133053f156e48e70420a1d199248eff3dda62f5d5b639876c2108c20e80353452b51d1de17e9cc2d31cebb3abcf83c93cae8781ba01d9ad64130a6b3f47baf9b2157b86995a9234e488ee0eba91fd32c2c4f38fb68b4064960c59bdfeea31c6a30a2587bfb290b7474cb3cfba1c1c5c85d99e2499dda5772ff8cb5b528657e4187c4a2e87fde98a458f4bdae5ccf045900243fe36ebdad4ea29c495d290992a60ca88c940fce8fec4f7409fa4ea0ecfe788ab9297e5bb683fa74a136cd66d4c4cd7b88ac16943ac1864cbbcaf7f6cddf56bb38137ad3f229d89102bfe314e78a03e353490b47cec600d82ec7e026a000e73e9e12c984ea1f5870fdfa1a0440ef26eeb479d1de5d1247173e6becaca50f79814c40a6b59cd241236f9f79dd809670b69c34a1c4af81c29a16c9b532af045c1b20e554737e80b6ade5626da21222fe4f1c7ec25aa9b56f9d7e741eeb33a58c8623021fb0452a55ca8ef4718399750cc6acbce8314d0ef5c4fbab581bb4fe215958c1a1b0998f25d8e0d6470f9d00b1f690338aa07b1aa30e15fb2baa56e4ea1a3045fecb7150ba1bf74fe31da2c02ffea8456b9a602c75b0be07efbdd0c714dc54fed0e8d3626cbdfe0fec072236a496848f50883b93f1d206d1161cebf342c1d2f4ab1d445d2d000489a9875c7483a971057bca03a188fc881b9fa9df952e7aa2772ab6815ff5eac413fc6736ab357b028506ecbd25451f55914f7bf7eb2f774702e34da4281072ef3ecd2c12e2b7d50bf5cd8cb120659d06c8b19c38a00f48fd37ac7ed2eb551d61079c78e39e181919d97bbf6f12859a07fa93cc578e6fbd8330e66a89961849578d4d312593fa5150c01450158b83a0e219a5aae5f1673808413afc19aaa1550869ceccaf28502a229576ec8d1cea51aa0eb8e29e355789ee48f153b6205f257fca8ac2ae09bea5df1e66ad9e28bd93179a0b0a854a1d0c3d344444e0c6a28c452b5756a5bca8b3620f7ec1ff0f4561e4dea14aec21a5b5eb02ab69d4c403bebdd2549ff21717cd15b35c95fc6f4e5539620430bfd81f3151c3f1059794d34526502b542112e64a797de637edadb626bbe5cef83fc9802dea2e0e1fc71937b7f6614fbd945c11e798bc555660f9afab4176dc5332387bc3cb477a67a82a698417ffa954fb290062534a83c17b648c1a386ed43df1d1814fb426c8473409a56e5b6730f9a8070590eba3d1ce8dd40e92d7049dafd540c9c34277465b5ed307a8c02ff9f91612e059970ff563d9f964b1cae49590700b02e83b8bf607b3812654a6fdba0ffe699812fc13885d9e0c9d32145ff48f261b4d443cf1de8c4a239115f4e86f2bf85045ead7887786387f1d55368b5e9d7294385116b3d1f3f01dd1a9f2df1088e229dc7f591482b8a7fb71bad7e880e95ee69b28de5cde4853ada8ea0c505e2c8d7d66095ad190a6cc09c4f4cd3a25e1df92133fd9b2b88a81bd24ba40da2b2c1dcc7374f893ef170de343fcbb60585e21bfbea8ea74cdad16ca9bcf344b1836732c360eaa0215e07b540428cfc19262584a83d7bfe227d54c0684c45be6b5e3471c1ff4439af10db4ee7901afa5a1284ea537a47704134d111e6f5ca6e6cf8d9ba0eae2859fa1825a9959c1de7f985c0d1f3fb12fb4235c8627298126b8c7e6d20633d05661ea841d1e42d82c1aa0e25750bb49fab8d5ec6204fef581645333f310389c2757bf92252f8d7c44c6bb5d28926ef36f7978378c9281291f743c1457f4da627f9523f19b9f7c563c1e5292f459cf5eeebe7a2097fd89e0c9b12fdd07c72ea13c1865904c2c98c1a396fbc61548eb6df3366bfbb560231b71ff6196186e64dd6fa89a5e450b9ee91fee29cb8cc88633abb282fd4e12e242e20852dd751e073bd201198be863f6bd525b3b5c825d1c8b8693810e7b34274bf5a3ac8c7ee9f3566f48bf2fd71db2ced28c6efae8f21237f3ab1f02f53c3d4f6bb7e63439f62058334d50c13bd1e9b9502be0d6eb4987bc3ba4f37f1f69ca8c312a69ff3fd6ab7cb92af1eb304d0ffb5ded2ddd9b9c615f334bc385630d74ef0f187de9f8f9db1df8a846b7dc5bc7181559b22b759a35f8029be627e9785880e0f3f67a5f78f8742ce90ba48be1a8a03d9d36518fda2055492cde3b095414c22f78216e44b961332bb079578ea2fa03a5fb1c359d1bfa417f043502b50087df28004ad9eda23f1a6895468dbdbea3efa05f6c1e4f08e0d964ad9470a3592f3e8824bc7d00e37970fcd0bc838bb9277f8ca5a870a087ae2ae227184faa429ef8d1d0d8bab3c1f03ae08f520704422e6d621732f0cfee4f5d684f6929176fd1f52ff39b206fe9fdf22159af07cfba6b82c8c75896612e98831d1ad88008925482253e5fdb86a354b6934fe7e0f783c1ca558cde6b108b9fe1573b2b38f09aa9a8d888af6dd782fe247394c25a433731271e61481c1aa54e8ea3987f891457c09d21e179adf86034311b8dc635a7751ee5d2b3a6ae0ff4ccd13c151c32192d85878ffff289c96165f0b684063819ee782679505a06cfc1b234879a7ffad336e1cad989d870981840bddb0ca3863ecc54751660c0570588ba71694e240e6f804dc1d3cc487f0d1a2c44985d17a8399ca316c6d674db0e2f8585f5b581967fdbb4109c59bba11649e18ce4b304916f2a766c9f0ed56d86f4ea3d65d9841b3f3d0725475d9116b0bd54d8a1db8876389b3ff9a8f762df2e033fc1914edb6cf0b8203d291b9955e9d8ca403ed5a8bd3c7a394609383b862cc8ea83e53b217eb6e97c7c2f78e26d6241c7a88d1e16765ef01bc1d0f53c44683863a604ed645ba83d9af7c3bc3af94fcacc0ee1d2fa639fa31de7a440adea6eab30cfaf9d26ab2f6bcd3384d66ffd529cc0f519f427398791d05f7802ac8ae756763ff67851de9cc2c3788d2485af4290bf5c8e7c99931d36d09c93ed7ef9c6165a2dbcb366b3964fc94ce2dca0d81bfb9a37046ec9b33bec93b93e1ec968aa8a33ebe203fd1467d27dcf6d4dbe71aa5385776c65212d8af2a79b5f591f2866435c1a2baa16c1bf082f377d099c01abdb5b9e4a00aaa46f71ba8342549ded591b257b6b2a8904e78bc404a9db5dda8f0a76d57356732c96cf468680a981dfd8c86c5340c4bf617eb7d4f082286969b25980075cdaadcdec12748064f87f70ca7e15bee6ca2a0a060a3ab41e32eee60c0ddb4559e5d065088dabcf54788263fe807dea755f0c7d8eb873991991e0bcb7ee14db8fc5a09a3cd6cf8c88e218e6ebca4e8f1cd82fc0de333a3dbb5b0593f1e24275ffbad7ccccfd71f1669c15b7d8be71b92ea9ca181d7aa310be11925e48bc2a3b3f47e7ffd4ac3a1425c15f7eeffa6548e66fc5c87f1fe78b4293e793a96a6c596f40afb173aaee2d7c46b0bd3ea4ac122a511cb01ca6eeb108e189512a9b5e53ba0faa1e184cb33834b81528665bf94496ced9dab43535ea3cb3d1acd7c7916d0c8ae93282d5a2a4a50bfc7b71f09cb979911e5d05c809b7fef03cd808b91b721a568db535efb463316f68761fbc30041c766a44b6b2a5dc47b6ea485100b5ad66514e840cc3a5f447850fe0091cf019d1a7220dfee1085a08b2e7f97001b3146e8bd17d79d12a5f5fde3c9bafe39182b8c0fd0ea6a5a7f278d903972b2e6a06a8fd0e3962f5ed57de95e4ee917ed05b2082934a87198848ce345d0af2c6549ac9fa5e5e95c8aa504f78553de02a20a28c263c243108aa07df9a898173749db3b07dc7a05e08039e5dad4b609c9fb3fed0577aae8a50ce113889c8db484f7ea903425d9d2fe4282ab9c99bc9d8531f73e466af72b4b5a06149069fe680a64dfc566e69b4fd60f62b022bbccaf17e74ab7f139917dea5264365de9240172cb4531751ca87b6c12d083d926404c3146419500d84c7772986f8d841ed4fe441724c53d813c505138b40b2768cf6ae1e1ffc61002ae7b757b3ce7d5b0133582293f931b042aa3e2265a3aedfa6678856bfc1332c2c0594d07af790caf98899f79add8bfa15d09a1c2dd3e50bd257167fa7b876b206f61461a0b126c97275ae39c68864428ee6d118c353b0933631ff7239d31f47c43413cf74fcde7656cf9b0fbc660ffc97c973ddac36a6955a57b05541af779d62d3ded9fbcb91d8546a5ec68a69fa0660b65e407d77937932d433eeedbb18b0f301a7f8524c9749192ccc45a0c5e094589dafc99c87820e7f65a545e57418113fc956c60f3697adb126b049de11926f579292d1e2fa80647415dbbc753f7d40d31022f18a15d3a9b66f5f70470abacc92bbab14be1dda4ce5a449876f6c8c7760413822bf3ea7bb276f7ef1f552acc3a5b4fceb35ca4a484a1be772edb8a2e39adb235771b41606290b5b4f74151b6f6a2a026fc8ee45bff252ea59118451749ec0276409cd402789e16d91716de169767ed56a2abe46fd9823c263c2970b4e0d501a30fa7ad3745f4151099bec0cece0ab73b9b01e837f722892cf8b82c13c6fd0ec87ae5587779078b48eff9c306bf22feb060c4f1e2e010be8aa391e43416cbaf7a687565ac0ab58af5a6b0557be05c537e8ed806d1849f6f619b5454587b2b889646301c10e2c40a6c486d4216acbeadb8c7969967d482790f177c11d8de505ffc6f8752526c00e637467cb166a7f39377d7309d34765bf9907e6039d4e05d93c00a2787d0fd57799bc9b16f6d908372d988783bd05b7b289cd32f3c0bcabfe5d30c528a0ec6f4a62eb5997e4dcaac7d687024b2cda718f78e070a764240cb70c4a9e2676620f4534df66ded511bc93bec2fdda8e9aada8dc1020867d5642a040851a82ea1f678768f9ff2dce3793b023997955008eac979259c198e4369a3764ac4db43bfd3d0fab76c80af346c5d4a40c8e5cb079af31ced66be74e9390464ae0f7c06a18a1ec1eb667368450c847717be6def43f1f6266bbf316c1123ef2cd1b1b8fc1b45b01ae597307788939c74c5fa7b83595caf2345a8665f414c043ed5c6e7ab3015ce9f92bcf3c1e4d2cc171ee95e4549303c07c4b4fcb9cda0e3192a340b4e4eefb499bde959a0a90c15969b7693ebab1ef98c9b1eb0fab86a8a383cbbc2951e6c9eb9f8c575c69b602b07e85756539499601c716b9a46dbf42d09815fa7062a4d08261281f34ae612506226e5c487030ea4462b860d85becf5124ea49f12760070574e1ba3eeac8a8e17a1c1ffef2fca5f001db4c023576548e1b1c5d9213cac940bfb4441d93534b0014647e4dedc1f6d06fa3b236f1a074c03b280329d65cc648589387179432296df34e551c97796f4e61e560909ff294bff1800bbfcb423917811d9e0c5a7feaa33b6bcf5baef3176cc44c2f0dc0ad6fe44eccbef4d4bd19af7a6de8613d415b19c3a01b37654b5d74777e761221d78341c7499dda19daf73fa3e33404f4c4eb9e1bf192807944f7f2f254b669103b8eb564e4473fba7a66c5fc30b35a59db0339513bffd190f0c47e533f71f76e092d5de4f0568e323f3254271f208f9f1bdb530a21ca15d8f89e9c021d26334de8513aa15e8f64370d44c9a23bc39d4ea9897a5c39608452216c582b6c3b730e41aff802685b547642e1f5d1e35bfffdfcc0c19f83b24badaaa854b5af94f0da1350a3785ad62cd0c0042eefcd6b202248a6f0114da52eb8c29832901bb23aa66ec30af9552d9b7b04151501f7aedbd566d95a9f5f6a740b5526bd983c991dcf345408aaff0714af731bd7aa49de423654208c7bba50c9af6a74f389defb6c00b948b24e25e8fc7538841974225331c24bb525b16e18ea47c6c9ec230e0f31c69fd1cb6f65d85d0d2fe60b6737f5dffeaf061d75811f4a1a006c0b57252cc85850643f0b0218046a77713c3c2bbc3c8503dfab31f032ecbfe2115efbf785085268d4e76ad07b8a55b72217ba04c56a0de58a51a33d03566470ae633fc9beb53e2aecd9bff227d26b343e9dee6497ebfdb5724a59a63a2176d9e4151073c644c5ce1d3bfe772caa6f8950da0e046d66dfdacb0c8cc7fd47d8295685e8bca3210499e2ac985d6859ee075551af6be2e06147e21581231fedf9e4c79db8406be350a15928b96953c03abfbe01c65b65398f801e9fc8f7358a5cca1d955c332c8b3327708ea344807da99e42bc4c3c5a1485fea7f19d67cede8d42d7935dd8906ec44984739ef2b153bc63a0e09d1bbdef34322ba1806f8391338edcc4c2e8efe133b0f28a083a282383d90e3d440b825834420cca1d9ae655644e95de9285f089aaeedb7c01390351b66d66300d8b2a9796af306446298c3c7d2bfd94d14d7da364ee4501c0e025f2fb74d676c71b4ffc5d2287ebdc4573533227cc0a5d00b73aebb11293a7920d68a20e8b7e10180d030339f6d7dca58fd0d40c28b0061c1c92feef6ec02080c27af31f078135fb793ab1bd838b8dfe776c20e0e5d5ac31b4238934741e381b8a4ffcb7cecec6f41fc85e49691a3f682046812771182d26f9da7a59e2bf86f143aceded2a9411bcc9303619222f6f647b69049fe582a5ae94a36c3749f227b05079fb4595072fb018ad7df41c660fe99c9aa070e4e2635971774e3c09df514ba79f765ee9c527c6bf2b2e22bc347e8aadaa50b7c0416454cdad6c7cd3795a6466abf7cf2c4765e528544ce997e262a67e6fcb61d1b05491692529ad259336dc3570175b06a67b609ff6ac593a03860f2fb4b1f4f35e22eaf97d59509c8c7b0e4f0ceaefd23ac4dae2e40f0dcf94fbeaf23457b8798829a3eb63140e5808e90a212747296aa7e35ae7bb85fca06549d5d0cef715044138bb847837fa6f32f1c8f48b6077bbbad4894fb6e77f66e7e1333d86b5c61e025029bda53645a87bf5b73b224c63800d174b2d261bf7bf180ab7af749500a98281a22d08e59bbb42c4987a5b726734eb18b298b38c35cc3ad34380f3cb771e78a1e899173e02d63e37819c3a6b23d8c5ec82ed2dcccbd0a6c39e120e9a4d78d3d8e456e37cbe195b6721276d01f6d7390fafa5830e3709f6daffa0464f3eb9d6bc83ff53a78a3b4d0becc49526c67d65ac3a63bb0f1dd7545d6bac4308ade8faa5818722a0c5fa3a7c40f292b1b8f2f8d87da296b295621c9a35ad95a26b2f8d5a2525bace9d70fb9d8f3810a8907386adfbc73b15622223d663b8dffc57a79dccdb7af036cf74e0d0903e5663049d65d4b452f22296baab9a1acb960c58587603aef2e9015df0554472d9d675d52ca6d6a07d0458c21bdcf10e97bf1b5f91a49b282e3e62c6582f950c0af42ea875c1bca2396d4a27f16929fdc18e57a0b755d160f7c0efeb815691b35c5823bca2a4d1f3d935c6b135df4e7f74e4ae14c95c55fa49fd98fe447103a50c7ea9d2c7431a4bbd308febfee42766920b70aed9eb31bcbce575caf58e2d3d5f95a3a182a6ef09ee3b46c2734499d702d87d2069a943b3af4bc42a0b2601735d2b0b533d82c0f2a6f620ccb836167f9add0c623bb041ce30ccfd17b0320af14bbf278599f39875cb5a70ab33218884047596912770830f811dc33b37b3b699c68dc03390a186edda6d86833d4b8c2077390b2c0b796a439074c1f499bbdcff7fba96f5df2e26bca7a38ff4840ef2894a6614e7b60698795b2a1a0f3f540987949f295bb829371a13a11c148151bf919a362fd3050391d599573514142a086983f7d4648e7179d1eaecfbc842145e40c5c4af98b051833baa7ab26d613a48efcc7862cd6c4d4c6d51f8c260f5107e564ff702058cdf53056296977d9bc525425185fca6041f15144e1e3ed0d63a04ff9980e8328f131981710d4ac753ec80658e3e94778cab7f342d39ee4e52716a3fe9c3f4484931f3bfb57ab4100fc9793be5deb998e6b5ad25b661ab2226db7bee1b8c7e0b3f7c9901ffa4ae24f093418a94596f983b06402edb5125d429ea71da8825b16170aad581b8648d53373c990874022b33a10f079014e2d1256bf6733cbfa2df246ef1a3fd9ef19072689ddba6505af2688bdf369490d560e45809d0a966cc546683904278b143251ffa41f9d67b5da84b352363d2c7d3e11e07d029520c1e37b31dff09db7335ed39df7e9f903050a56ead54b8b89c64825142ac5fbe3244114b3fedc8a2e95f7d951f0ec0163c219119d7f691867db6fe8bf4168253d9ef552d912745315a3576ace220ebe122ef179b1854e83faaadfc07900953a125a94ba2779d421b64c192fcb71f87ae73578f97a84f61f288efeb43a67a7a188a8cca1dfd2c92850c90d74bbb6c70c32abdea921b74723bb7235459ca2e8f6e95e93f3fcffec1b1ebe9d0dec41951936bd660af31a7963fd0cd677caa5dee0a2dc99ea7bfa80e245359a1d769fe03ae5dc4e907061eb74689ad76bd739d42b639ea8c04bc11a58929613976b412ae2926272c7d0838746cc1570607cd4da50349f485c2c75be425ff5537ec333cf251393b6fdc6c309055b895ee67f688e6668b879b5b593969f365ffdd0623a20878d41307e40e0c33b9f4adf968f7f64b8bd74b124c3668ca806e27de665878d8a00107c32658ddc82880008517f62326ce4ceb85bef2fc4d88ecd87b61443cb534aaff06f532640935ebe0d3c012b0590bacbf0ab68d5ca882dbd947bd07c7e2574f9bb7ae2314121ded16bf985bec69350e405b2536b9438a3cab1832cd35facbb4f413787abb2fd0fafa014b79722d87cf0bd7d0ae26c320a9bc90361b83f2bd55b11148fe3c2a93d696822fdee9fde5f90c3e2e12f9a1b01f01c1967d57eac6b6a1fec9b195c02d1879449691bbcd13428d4fed9fe29ef81c28c2c61a5a7e82617b1b6d18910eccd69d90dbd8db403055643235f36f2c7370ef9e1264fce3dfa59cfc0a5874a9118414582eae8470ce90dcc7e174826ebfe2f3861813698f9a5bfdd71a5b4c258aa7df37c0b20b8cf07fcd8de6b121097a7fa267ec9a00a70360780bed8316c1ac7d2462d05a3d7a5ac0046a7af4709633914fa2c8c709ddbc4e3356cc54729d125f8c1ff0deffe447e133f536bb7b004e23950ff0133c5e98c88145ef519874433b1e442e64d31560c2b7fa21234195fbe4181f3849d0dd28b0c028221af60613fdfd3ad79e467f068ba6d571a350b18771172928bded3a5e5178395e1caeff514580cbdd06b5bd8341a5fee4a546126a848a87512b0ca763f12a9b832593d41defbaf86e4d104ea5ae37493662fe29ebe7966b564e3b8d1f5c678d8fdbea6e1614e0a6fb31a0b2a8507d3c8b07ebbbead09da01804fd4a9bffc71886944aedb678d4d865fb2441a16e191da8bdcf04755bd17981a064e5c1625c2ccce6ecb03421e345e786876cc60f98b05cea8fb44132c096c956426d8b12f07826ddd7b52a66ab42c01fc8882c35b145f2886b0554f7a33abfa063cff2e3e8658961163428592528812ac7794d75ed5ed671496527c4ab9595aa49c6275f86cdba81e46ef5485e80f2084cbd093d2fe7382aa28bc5c9e5362c573804034cfc5bc32021360e24297ee86b1c2672917c1694b50d8e9e1d88a4ca66f3650d20b0e46307c88ac564a9fde977acf9d840111f29c9baa5a9dc4f42e279fa0ecbe50689852a34da93211abe5afbb0563cf39354cba1a2a3b72f6b82b6711b3e053a693f118537fd8d81181eba393659676627a58f46b9e9811983382dc98809d5c54b7c9d94b369b1792d1ed21e82160346bbf024ed27e4b61a37f8bce2e1f5640638104ae0774971c4f6bef8626542db8ece0546c40b4e2c4d670fad106738c12080d2de5ca6db41c87c50c8130ea7aa56b91a17ec448a5306b43a550fc87c302e244a02cb73abff7d1575999d8083d73b487246c4b6d23b23a4fdb2b3ea58cf65b401f43cd0b455c93ce427d171c7c79e56976e8de1a77aa7e1df6c705d5b6aaadf2b2856b1710a8d9f8760c9c909c9fe7a7ab2ce21f0042be9e95f079c4ea7a7755020a80569f3d88c7c15828c3427b192c8e9ffa254497a1612ea270bea9b39702cc24c613a9778716ef122bd68dace8ecd0192f7941e219ee45e4f7fd3e52fcd356a49bc2b241463c3f228d82c29eea7a8725c059be78d958781886f35f869497c6c16cf90678af9ebaaf6c21b8ad559ad263064d82c7e504788003ac5fc9de05a3a63e09ce5a7eb91c05009c3376abf6037a23d55c4711b5491d18e6df7f9e310b2dbac0e5d34ec863f7a4db942164b5aa4906bc71c56217d76400b442c03a1d728424a18e9c5c16875f0e56adb6976cef5aa15bc1cb484467f73eafceca9f2c8025029c20f2478752968aaa89c5fc254dd52440107a47621c7fb635994bc14f6289eb22cf067ac8120a2dfb1cdd64361136b0b0c7bcd2b5b28ebabd4a2365d6c8f8bb1aba895de7b3df3e7d5442c7bd57db4f3ba03423a330421c3100b8dfd6d692746e63073a450450ec80509d9e04331a5d24016a2e04f8c60360edaa751a5b8d7cb95b4fc2aea9fe26689997427c927458afaa46367305fadb0923d36852b69820932e019186c2bd98ef0e21ed820ef3d0251865dad462bfb27d670200fa0727c13c59ab73c353a8276cb37e0eb37a820c3171c706f25c82d7e0e22bb881a4e4b1141617ddc7ebbaef6129b4642cd40e6eeeaa130342a1f384bbcd095ea52305c93c2f4368f1dfa6e67368008346af829640025c789618a37bbdc5859d135d68d4f6f9e8d3637c80b61c19760079b3b92ea18209504bd106082876eba68083aee3965f48e364ae4029b07753bc67391e53113f09cb05da9eed2d9e58736a34a6441581605b90c3021815069f681e86acbb8057806aca0a130db29d8699903a1c60b139f7717c0c95953caa11cd5c549f488aa6317a3bfba12b316391fab00c507c3de43f2098629ee24bfa703a98c0673a6e6b44fbab7e6ebdb9f2ce8218f895c3a663b7d28cfe8da06a81e991dea2665d4b5b091ddc470aac8ac5d08cc9dfeae9d9baddb90dc441edf6a171df7600fe458def6d7e466695fa3fad385ecc4693dd4c6bcfd1e8808646497630eff4f2a1f1e3d6cd56fc5029c6d05aed7fb370f4ce6682b646c85e6e31bfb8993dde24dd0100b7e42fbd3975317fccaaad1f1e4487566b002ce4a182e3939cd0e42c78aade418097d2f54c5681d484cd565919f2d60d963e836471bfffa915fc63869091f1ab4923585725b743086913fde142691d1a6d7959666884c0c7818d35ccd8f4a22d869b1da1d7e9fe27ef7f361c35816c27cf4755bd782eddee1cb1d35ccdf8b30f3d08cbd86837e13305f031e6bdf71421888d0c4b497431fbeb396e8e79d232639cd80e0bd14851dbc539d283b9b024d6b4b6bceb4261afc0f07d1676939f5a10522f528d0e64f7f8211f4c61cbe6605ae15a20f292bc1a0eaa37dcdf055145b2618efe07a55fc1b1500a5fbd31e92e61c094096789140460515e9b7ef1c0aaa712bb39260530ab6efd2dba77c16edc786f7519a989262165454d602ed79e936c52781069785866b240f5f33f624bfae4e73b3c0af65b58eacdd4676dfa6baa6b71ba575c4503245346ac31c3cde902bad415139343d651dcb5fe66635856fa466bbc2e4ad04a50a4f4b7b215fd85053b11affeb84de280d0b433c503e2781f03b9f8a390b3be12bec8fcfc887f9fbb4b29ca806fb335955be504b9c49278b8adeb4084a8138e1cfa721db6750a4d3d1967ef7fba32968d1c129b6472bc4c278f8f97da484e93a7a6f697deef7c72cc33e8a9a6719eea236b8083ffc0c98e90b58dbd0c4ed246b1514c79d40fbc88520dd44cc24fae3a7370af7dfa51ac19354ec99a902deea3581f87d38959ee3cc561049a6b28ef84ec16e0070a200079d728d1a5b621c48d1254a9248f11b1ce569274038ef50b8dedb45b6b26c5097da3decc1689f2ab48cc854bad0e625fb6dad6ffcd4f994be8259622d6d81b26ec13f82607c72d572fe45439c65d57d085de6b7083d2f565ae667fee0f6a1085fca2d2bbe3ced7e282b70351deb4b2c35b8a3ab20e43a6c9299b82d2372a8df9b563b0a5a0434716863af66359e381ef2710fef106708f5fc0c76f9d8fab6e39e6bda3a107991e65038b90c56c88a01bdf3b86c868f3c0f90ca1633b3b34f332a9e9616c36760cbcce1ccc6d0b5ded5352fe61aa6d0c0c53862dd4d5d4e45c2d0bacb55f20fad6926dafe31d663b5f12d401f5f8c13cdb2de6c11f225cf4e5e3b46b65cddcb9ac0570aadf0854b90e0fee92aa40079f3c02d425da85a3201300bf25b4eef99bedb77746b9b14cbb8da5227a6b6828322d95d18d66f8ddc19dbcc332f6fafd712c9402b8dcc249b5450367bdda6216e38980f581f93d38f69dac6b80d70fc43ab53c43a5ae22a3865b6b798f5bbecb64a6e94416bd15d1f58e5d2ac04b0ceb6d80196da22e05728b66957748aacd4a6d5b27682b77ff5503b1ef13fa18a15a9513d4f0385b2c12c8b7122a952d150e635f1d12790fb987fe8fb681b3011b6a686eb728393a7a381d54bae67f5a7dde7f5b953c4fa13387463c1590a8f2624c59d4dc2d00f0e0b781e4bf5e52a9d5d8a008bf8a57a7269125812986667bb3155417263046ac0cfcbef9eb45dcb842751dc9d2ae760e4f6a2e57b8bdd98a3af779a711a5c4faa5700d451ed3f2a97c250a129cc296179bb2d507af167592ff7ac3e40841f316f6a580f3324e37155bec1c309bd42b17ee0ebd56958a5d02999d71b4bebe1ff512652812f489140196e5f31e459eedd1e8a9f2fa41c0f6de5c73f743530ee667419fb501b5294dd84ac743ee6efa0b8e9ed01581472c5090ed99c12194f9346e7f1a157a5056a2e38fbeb53d5cba05e32bd189b1ea3449da64ed71fd540c5e3611167fe1e89b072c9fba9e81644b0dab76a85afb9241809f7e60575f335a9db6143718a2d4ada348eb1c8db2ee6f4b1b67e91907656a9f0fa583e6527e20dacba8b67a32897530b9bc4e96fbddb5538f259977d144fae3c1c6fedea47e3cf0288941960297341eb4471c27dab90adb8845f0c7d3732f0dc3c254b4c5e395bb6890927812a5c50dc3aa70502ec8ca11c98fa8f1e9a48f59d2c08eacc7410e73aa51b6be727e24ba4d5425013bcc13ce580cc7fff26442a878c2279162257374626963ea3488cf00e59b69ecbf9c482e39ebd91298657b5926da4b1f762e02289c02b13ab6d57671f0d698c964012c1f86d8469665577f6ee59809f27a5243b1c09cd58db8c7edbbda7c05c7daac88a38ed42d64fdab8945305c3d1637bac9d835ed0b44575247ea80cfe239092b41cb011decd2a4578d8b2d48c1f9b8b6194089e4f1148c1ed08cc22d7f193f552134a8776598a502a693ba22d4c8377424e77b2fdec6d61432a45ae2ff43fc94fadec24488c40c4b3497661a6d2dd4d4a8a43f750acec585351e067305f5b99216093eb226a4656049416dc54c07097b8b42cc543342ed22160a8739a7dfb8b64642363124ff15c0f57a5f11612b030f6a08baf3eabc078063061f6e59565d3e37430e4a296e74eedadcc0fe4f07c1c3f3381fea41c74a4ea83f99cdff0db0e79672f1db5089feac1599f7b4174d38520bde9273b077117bb4e7d2790dcb608cc928e16ad46fb9f7fab880898b03e665024483a8eece3dc0e156957d9e2755b866ea3f9b98f3b7b7d9b1e11c5798345e8ee725c01bc0b6a32d6c0bb8e7980015f9ce4e1fabf24b6533667953faa686539fc13d85feac75c33f4b4b592418a7f79b034b5d84dbad03c2df4d2ca9f69ce84c7da55e11bee54cdc8499e6d796be80e78a527abde1e7dff74953c59a85d609e4a4c6491ca778e383af0a3ab40206015e9e17448b71ca1c494d9a917d2f129fa431b5071c97ed86a9f5883434b795327d684db5d8d8c27dd9daa7e7cae6f36928bd2f17cfb4f3b8a867cda2a1ad4d0c8aa9f52905bee422c9d7fa00deef2d928a66893174dadad78b303ce714cbda36d579ac4af6647741d6b9622f949782bcb695da1abbd0941b08e3d052643042e0357e564b7f5e401c92409107cff121968b34405993c056314ca967a0aab873695c5add59028d94d8631925b314678b6bde5ae78bad8bc0adc6c5f62e3180eea878af95fd372e7a11efc31a5b3b49cd92ffe69abc460c056a8cb18ef6e943a31d2e8042db2e12cc058084bd7b87a0b6250a042bd2db60ef5654ca836d4d98295a4e13ac3222d6c1c3e801c37cc5e105dc335c87c3bd6c5a55f83becc4428407ac83c741c91b7642e04b45658d656861d527803b5eb224418f08c079bed4a907d90c46719997db13b9a200ca7dc42130f923e3bb35106c09abb1be875fea4c2082d1c2a7103c4095f6ca9eeba8ed80d19da8f122c4369038727332d04610241bce6170ada49dfd9c0aabb203251481af4f401f3e3a9f450b1549c802c6bfb40ded83d3d611e75dd49d5d206a47012e18cbed3865aee22a6dc6803ded729df3216f471099f87bf055ff2bffcc12696896a5cb3f78358205b61d9d1a6b85b7f48f8aefdab8456a7c673af408fc2016fa7c7b573d19401ea0163a684db17b9dfbfdbe50e125c6abcc16ba61053646e5700c4d7d308037f2c941469147c9fda42cd30daa6ff5e942db9912ba5ca3eacd0d6b2f9ef3a4eb39f5ab7b0a824762db4a31cf963872b93f02e89937420e3e3dfc4b38b4b7d91d0ccb00408dd502b205f5c17cdcf185d9864971cd0250bd7814b5cfe4f27cd0febb5b7a8591ba84cdd653bf2e32c9b17c88f101d677a244365b6a8f3c06e41dfe0c232dd6c0ffc374b5d4dbb8caea15f74512650ad50af3fd68affec2ca58df078938e25860466d7c8260aa01c7894dc8bcc9a8bf89c70826647f49a50471f6e2ebd5bdddda9efbd4d2a25f40acbb0c1bce9f564e207beede9a85132f1ca75db273988228a95127cc473450c97910539fd06dad6782fb3bf4e54593e288634a2f95e1880b306e421f8876a1241f91137f10952f0f2ce7961b77b469cb57ca28e3f49465e7a4898b2b3f84b65a2f16d0db6f096cda318c25f85672500d5936a5810e19e4687c88c2e78c00b47940f112e43996704c45c89fd315e49d3967a59e86607f0405683ac39caacf1665aa59a5365724c44204ed0c1e3afd75b108a4c7b44e67df76b020a5e8be78c9410661d8a75da16cebecfc2a45cd29d2953c16ebb166c71fcbf3f281520e176e682dd8ed0217809030eca2ec4348b477f7b631edca150a4fff4df5f98d07b9bfb101cda71697fb9f93aed9f7da570968537631297c8ae2a8cef2aea304c3a4f57e66199d35d42e9207ccf5a82d247e16231b6465b44fcf310cc73e74addf0253a1ccf7708b6d62b6650306bc69e76e9cac846337130854455d8bda0d3fd2e66c37160d617666ddadf39620b2827955a2cbb9ef815bcee674af63366b894e7907774a7d8bcc6c48158d10336c0aac76a1bdd4a8de39e4e6b276f364e189b3042fb60c7c2751b81b99106cf7fe24690123c92d49a0a241da2b4b59cfe50745feb0cb93c2b0a36f10e5e0b1526cba8737bb2a7a1220e4f5e45f7dc3f1793f4c5ddeb665c704c02f79c02dcf723f85e053e7ba3a022077ee36694075c08671e2cd1db35b1c4349ce31237b2bd394209e31bb96577a8e9dfb83a5a2898bc11ff8c93873cdd8924101c9c17dad42b8bd025e26521b3c6bafcfece357713e56a60fa125427e73cf67a40a1c14055563a0fb74ca22f4a230cd4589a369b60fd0668a928ad903fd79b91e6529a8bfd4c074582cb5468499f572ba0c80a07b84538ecc9e22992896e1ae071a63651911466b2de2d312b96a75d60eb69a8191dd70355c183e9da4fb034870a570240912736a4582de1e2033bc400ebf783efd85d0f8e7dfdf0bdaa691a718556ada993f7584788ea16d06ed6479e023dd611bf53c664cb7e17c81a0d08273585add7b6bbd4aee65558d98609ef3d5db83ede50c695b218e127a476dc26cf6194999eeb91e5bab03b7e8247dc371b6bd463eba8b991b29e944d39b88a107c70a790cbef6585a66a2bda6604f9f8cd22f12ec9ac1c74f4cd3902107f50d8e9e5e065103d7ac387de124c2c821af7932fa6de5e1f5d8ab14e645906e53592cfd5daf27caa76146824a6e6f0824bb5a3770dd2b13b90d3df8fd8aea158effc5206bd2f24aa4ee4970ae3d18ccc3f8ae786763a676f747dd94fdd7aae06791dfb25394f64af9482c289ed0ef1f4ba8afd1a1c552c4987d92fb78ceeb016addaec13055f33f212cd55863466b538d66a53c35e3b8e9e376193d553263c35d380297cbb0abce529f382109fe4541dcf1bbb4245cb5c61f1c030ad7e89594a9ad20f93433b0f97cf5a6b0c5ef45bf3fb0b3e879d9ef0ea01a7fea9b2c1614de4e21eb58bccd8cc94faf3b445e2f90c89d35d2cd0f4cd55e9edd1f0ae8b3919bb4ac56e969cccc3d4392b8d1594b7d684e0b1498656b86a8bd9d061fe74ecab780bf1e5f008e99444fa290f5a4767c7dbb1b582725e1ad2858f6ef30db74f1a970a4416d9f09da8916d505855a7d4a939ad161c2e1af397e769f41c67e1b581b55014490b2ac5ecc729137c79dce9ccd09e5d4159587fa53deb038af79f6398dcc5c84d4e12e22a7772785df158d62f12e4e3359cc7622fbd1b37c4d3a610e3e3d31a0c4120ea8d996fd7fdb40012afeac7c3a969c9cbe9147804206fad625d380676bb81b599c3732c3822952c5f3d9802f46b7b73e3dfe4b73a918d5157242935849413281213e04f39ada4fb688c9e323873323ab8498ee81580da483399d66961dfc7fd703e9bf10e028fd2d182181c8b767c73675dacdbe4a2b69a1b82decf9fb2281dc6686f978e0bb4eb68ce9229598e9a3ef7e3f0320fdc38b6ddf211daeda2a9f4b472c6eaf1861988378303679f9447d9ecf379d7be682df8920164b414c83d0b6cef0527a904836ef4fa1bb8b1af84cf4f88b6e4515d6afbc78f3090fef83658c1796e5e357ce86fcd5b8622ad94ccaf381f335482c1908bc0f2013064ac46461061ae3fff667dbc295f457dd95c42bdac0c002758bd350056b246b00a9042eec2f1505a537f74ed587d743896cba77a263710aea5072a8727055e9eea256b90f6ad7348213ce82fa1f4ed7d054f64cdc1fe90b8e37fb512e444950df29bc839a0d4204d158adaf8feeddc64945365634f5be3cff5fabc965abf1f197a02e5d8b104f540e2ab3b6c0c38f30b46c715166bef492f7f99158b70674473a43aa213b0b44614fa74a7dd35b23fb3baed6fbe4c1e4b6bebdd920fbe52210bddd30e0d2f27c07f2eb65bb8fc2cce89faf57ad14b585f3bbb8dd1c3256e0418dc17f6ed46bbc83aa8c8f9c15c0e4efc25afb62d510b648115dc32505a543f409d840cf39b9bda5864efa6c837c3121198537e50b3e5fac58ae1000c8ac49115288e95005f67dfdb9ce9134f4010faddc2cf664a055864d6d6ccc7939e0665d4fc1fe8eed4909b54a9bd63f6b25206fb9985553457e623e717a24b8becc832b211223912313083907dbb2d183561b130c4e02b3b570cfe0c1f9e821a5e213f3ce0870ae364424ea5dce5d10e11a841c4e19fac0e8aa91156566bed328d1a77dd77bc72e0f3aaa1b3aef94f3e3b10114b8b3025ba85c03cbc5c55b7fab30af8781b6ffe53dd591e3180705cb3f68c9ab51162a577ed868aa077a78a323aa2a4a5f1cbd59ba9785d5829151892d596c1ac8738d051b0ccd02fe51192a07bd7f5aee867f5d70a79b680f5d343efdbf53d2aa8703e2adeb546b6e743515f0738605d5fc5770b6f2129f8a6ecb71f8afc24f433ac0d290de9f82b2bbb63b08782277535303645ab8c8c3af53a87f55b74efc26d5f2943bfffbe57df0a93ce20893a079d7178d8ac3233f65ed4e2f24dd714e7f5a4329224ecf523b863a3b7b80ef87541c2e76c6ff628620ab5150d0db0ea7f843b0a65bdb0ea57631bb7cfd4e16183e603813817f6976dff088f80c0c8de48ba79825dd887ea17e8377b66cd2d53fafcdd7bece942d04e449debc234ade25e17d6f1089ae2b65f0ba97f46ed259dc9dab20a47e9a2ffd618738542720cdde3849366f57856973f4fba0c3dcafa2018269240e65ee6a47172aa48425f83397fdc782b98f9d8762e88fd7634b39e5a22297c6295d9b3f2359885118d00eeed9bf67526e5ce52fda2c4f3718a83094cfd3928110fbf37db40b6849ce9dac84207a36d8dbe99b67f31e9ca74cd7beab0eb620ed6b55784712de18d5c0cd86eee685934a58e1694a312dbbb1745415ea2d6a413a67191514b56b2400cfee342aa7b3e30457e923807f9565e6f172199cce7b542d652cfc546a5dd7f2f1ac16e475c17e0dd07c4cf5a1eea2c5612407f0d1da537a5bd2aac19fe24d0d87afdd5f9e6f8a4db8ed220389233cd23659e14ba2b2974f5e96a8c341a72f95268502dcd8af82a3ea62b56c5a0da392f69ed2be648ee33b474fdfb2aa296430f65dfc800945746aa158f681c3a783c516d88e099a01382e8acf006e523b7cf79a0f5ac752e02e71ce42ca9a7300f8431bc849b37503f5cce2cba8963e036682e2f0fea79e5e1cccd1a0a9b5631d43e3338a4efcfe522ddc4fcb771f7b109bd42809138c8aaf1b140da65a472daba8190b50653e5359d2e111dfb8d74dc3c8666d8ad7391d7d2fe3fa1ce8a68423933635f9dae0e9fdc9b44d5796084a144c224a26d1022000a6c56006592e12f7824b703331bb2a6477f91b52196efe9315c9e2141f3db7318c878181538bd3ede164182c7377db8f4055b7f6985b756a9dd7573ad31a24ff42814bbe8fea6e42d3b6e17257f2741cf42f2b5c7e0f06ee6231d0bee5411a852638e2c9aef5c5ac356d0dc31c04cd4553796adf4b16f7d5dee3d82aadd562cd781e9049bfe7d175b115bd535df5ac8eeaad0ba0dc8e34bbaf7465ef46fff4e12368a05ca5f74e6805761aa29ef2f02b88cbaaf439022a8b64b3d9673c2d07d7dba685f209ba162bfd89acabdea02a39a59db2bd08c88e203e976b26516108f7994f10509a0e4bf0bc424e282f7288949ba340abdde22e39a8558774eb6f3fdf40252832f46bf5b4c211332bfaed1ebcb15bee41d19467efcb5135ed628294f56039a3ab6bafb4b6717e01aa0dbaa6f22c02673e24dd9bb3232d52eaa6df43fc50780c635ef87fbebc70eed2ab5ecb02d9e7f7221f3ebf657750dfc764c27ba2bf260e1043c97eac8f723630c62eabf87de410d7591c26a8652b51d7121fb023a71fa87f0a0eac7487795d686718ecfa9152b5ae185f205ba667d995072364e84fecad4a47ba14b02ed062106b96204d28538e98291dd0619d031289a2f237de441b29398f24221777c212f388e46cf2531f498e4ef97fe40fe932e001255cc6b4478d2e1a94143ab8ce62f7877a0ab495debf88aed65bfdaaac327d4e56925202c5335f94d09b4fdee39f1fd2b36210e19a94cf293435301cfb87b9f188788c8a310939c206bf3931215d7394a2c4ff459dd5c08fcdf4e44914ffba12fefdaa6e0f52786bbcbd1c0b433e250d3ea8e395bf2f88946badc27a69b49a5514ff492eb291157d0df7b9add2267b41f7be12f2db2db2461c0762fac4acd5c2d947b8f5cbe73a05f5f1704490641f2362d4e20d598c7334e10d080a22704a2ba6ef7e2cdad5585049e3501ec397c998dff70687a83cefc7ab886bd40765e6a6a56103e4748fe8d17a92d3abf9293cda635def2b25f26d4088fa10b57ab7e94c1c6f1214ab62bb5490ee7fc40f69e1db42743d5b753a8f9d40f42555b930e8e086fb31a9e51e2c6239f1559c3cd8af97538313af9eb24cbc44f15de910a0e8b72b0cf23e578c883c8a9f4da7f9ad6428df922bdea4a2ed55192d507d368068435a7c599ce64eb03fb53d78b4d83ec7117bd66b731c953cbe89b63a66fecdd0eedd8fa4909a3bb84f5bc699f3abebf387a774c35ab5d9fa2e3c96fb882dec1399635c95d5b0ea127b122989cc929825cdbf9f3c49e3c587ab657557c2965fb7d573cf54a6ac2bfd577cf5eb3bd2956638d5221d05bd17f130435096ee34a740f0f104fc23123a2265bde6585d5233c10f419d5c23275b6532f45a3a11ee1c17035378bc4748ecdb6d0675e8ad69c8d89b9bbabed3db5c822ec271bf941f397f4be35b27b528c3b3f5dfb0d6acceb974b298961753d50a2c7fd1da03c3ecbb559955aee9d771d6af9f010dfbd85bd49b4f8c87f56f1c1142b012f9ccc317283dc17a7d45ebd8123be74873d40eaa7abcbdc606138d8e482f0d2d8663513f2510d9b23efaf02141adc4372a425d71bddddbf4cb39d1c299f8e8aae72488c831d38c3972bc27c2ed7bacc70991ae7008259040f6d8fdb0505dfbfedbba24036d317e1341efff2f08df2f8a2360c830657ef3e5b889fe2967231f181d17dd8706d7a701e8cf33675c24d5eb59b183e012f0ee55bf0c6885b8a194f867b636ad346e60560955470c04c8426dd5c332e4890a543c21f30ca7439a3cb02d7ec644152f8a637c3df97af016fc4277ba40e7f9587fbb77627c290a53304be5a442f7b3ef1f9386bacc61dc375974a8b8d8e77defd18938c27323e4d52c623a2d259acf1e24c149043204990a2dd3faa6c180fd95fdd119802cea07826ce9e86bc7478c370b69618e86b6d122a0764d25fd2f12c003616fd5a699dc341de538307714abd33c1595cdac698b7aa79aa20436766d267d5faf7838565fcf54767bef857a19ecf524b42e924651d5fa3ad316ae79bac507fc729df2e593dfa2c7d4045df80a51061b113a85390dcde9ced1a2377667b146aae7cbd27994a695cb66cc8dd67063b5f246c23205d8805f76464a429b5967f7fa81490ad9cfbc078e5bf4019d729b710f94ce3afa8142e3c38ba50d36fb4d54aacbf43902875aa85e02f83c917e20eb2eb816c51083049bcc2739689c558331f4aa1fc2eb71032909f95f9b3f408cf6e42053c4aab6890ef53481b1ac98737ec05791599a3139c9d93cb5da3bb4af984a6b25ec15b71b0d3b22365830efb6ff8a8b16e05fc31b20e86b9e30a57c74d773940ae0129f899c21b9a8c097555fccbda0a9d318a37346970280fcbdaad9df939b04f87d580d353e60e2381a43c13ab7206737546ad1036047ccad7b2133df304115919eb1111c7636c15391167586bc5b75e4a176b1a817ff28d0447fd63741d3dc7718893ae0b0ec5e4f99a7a78c09a3d4c3843d4b76461c7a6510e710bdc3600c4da0552f51232b2d5333d716bd8b02fe0bfe4750e125889d589a368353baf34cd15df91a2c695038ab1f9b4e2edc19fb969b82db43e6098518e220202d1388490057fecf13c5d40196aa89c6d5224cc69126cfb9280793e3de6ba46a1a13c6d157cb54e2463b2d79b04ac737e99136f472409ff9c4993a6af5857aa67089b8a15fa40166ab9ce4ef20ef16fc2ab53423e893fdb3d95942523082dae85e0b0372cea962984b15fcb030b83eaa05659ba1176041f8d014d89278c790e3d6616421ea705edacf8ec10bc6e13562e99a569d4b820baaeb8414e2fd5a1a9379d9efcbf4cf2ddf250d9cf51a57287c4ca8a3e2e7be866f0c05a962116ace9e72a86397a894a22ddfb9d5295034b2005e55775e4e2b1c40644c89ecc076ac8ba096fd1a1be720dc888dd5dfd720b5192a93004347ce411cfc39841ddeaf0e80d917387f7b6d438f03623da5d148d0b66ff9056b9b7c897b3f31992539363d0c987154be6ab35e396dc8479b72a5fa39bab06708ba3a9945076e19454521d084271790120250d139c526b1a59e6eb871641f77d7314d802d8849b5722763bee7da3e75689562d0b9e79306148a0078e296faec47d5458dec414e82cc311f385e0b6ce20a356a87b13339949f02d443f66f01a743cb9037c63ab460ee76c3879bce80b44d364529dc03bff77b8eaaa8eb08ce774645ba22cc7446691809a885aa49c3bad23c7f20bb9d6f9760d4a8bb5d8b05e35b87e359bc5c1fef200d1df12420cafc1507c9551377feaaa205bc09434da828754fc614e05c9a05064c9fdca338ea34eb1c6199e6062041e3e7c85b894c0add97a7dcfef46680ab09ebe933c8171f8034b706b5cc1454591d840cf8b8b19be90ed7a2a07440839a8d1eab05eb0c49d7957fb2f5ea4d142f3e45432319dfe9585be3c1ddf0dba1f533a8fbec4db665f146e14e5784bfa835f2ea495aab3fccb16397337c6723926391d47f44e2de36b29f97b387ea8550007b8fc72766843100b1e26322c07b6c34b4cfa75ad1615df6758048162f9029e1cb436ede379bc7527b685e5d90a536b552d74ef4829280d87bed619fe06deba4779daa4a8d0d27a3c34ef3df99cd022b81accc2aed9cc3b968cca86efcdffb4cdfabcb0537189e37dc083b25b0df74231a989397b33cd237bef427fa8d02f27dd895b2f3a1d6726d5e0b79c77ba30fdf64024feb7ad9d44ff8df4ffb80717fc935f1ed47f605d9632b71883b0358e020fd79f9f89a43a1c67cea79a00f43c41bd00a4c512fb90374be3fe7e00736ed27e46425cf02c4d832f1e52d2c6024658d7c8bf0166eeb3ae3f47180122016217e5113fe87b3825abe8fd3dc1f76418836ee216f4e1937641775f9d8d9f41ba4bf25ca0f89686d571f33a9934b91b4144f07b410a909dffafcf1032c627b0baba6f80742e83ed90055c13eef0fbb44039757d1bc8caa9916a56b5bf00d80a3668c849eaa178a750563c2817eeb89f113f5582690c58c1f2fd707341aa5f8aead7147a26d90fd07e4ce62bd0929dd5cdf8706c57606cfd4c9cc45d82d3290de74f40b9dc5e336c562e72c08a0dfe79bdfebac4bc1bf0d47c4c185b0095e35d81be8bd22425a8321f101878e7393c33e4f46c791250ee5e0e9555db26b5b22ddca5bc3df2870a0c0c73d760a89170198feb6ab7ee2d7e39c6f6874a219de1c9f42129d044cc6ced9c66d564a2c102ee12e3bab030590de24a82d04ad8998defd8d8acb4650f0b10075b268dc0329d88dc8679dc13d7cf86b1301468076ccff93979110f47fe572bcc2ca52bd28022d295c0d2e4dcc703028011d82e1e2ded5077c8a0211ff49fbe1cb5bde75f7916884893c0f08ead0811eadc0e67fe7bdab305a483258497ad9673423ad00cc46c0bf9e481abfc11abd552acbd0e1ce9e0b0648cad2256efbd4b35a80e7e3bb452652a3e7229c1ad1d74be9d277672d2bd6f18ddea87801f2b2a100990e01ad5ea1963c503a2b23d436702fc601d4f9bdbdd7c1eab3bc752b93d04d43741b097c9a02af7717564097f77ad296c531706c8538b07c4f1cb24efeb66eee0e2be4d393e5e27e6e27a26ece183e818216d52320a4dd37d8a1e907a8503bcbd3950332979db06e84726df4f9f44150cf504b03d656d93a1dd7a189ce97b53956bf0f289a62ad7c5a6f66dacc8e5cb21425046e915d39c43ff58643f92503aed3351236b1ae8f284dff0a467b7906a84b15bf01bf25d96dc3145c5b2a96b0e426a94e7b375e06e85759ae1a849265f9298da43f966f125d380492186294ce40a9cffc36243bfd1a9a62a481051cec9322a5e430fd3b817fc2474eaaa595ce2c573fb708f13986cf98402f8020cffb1b1ee3dc8573e4a85ec510bf2177c3a5b352143688f4651878c9c38df48d4fedb4c9095f970146ca7a457c5b953067bb7561ae447d5b96458842ce29ae01252a0d5733ee08e58adf3ea2b1b02ea5c00472b7f0f2978eab13299a08477d7f5aacae9aa6ebe350ff34e0098885312ed6f3b44a5a37af2a9f4e45fc03e12233ba02d4b3b4abb6f97ac714e72309592cf9da9b98cd2bb52851f6ef55e84a77cb55ee206e99026042a7f11be0fe208d681157d898802a39fa720eb66a4bc5ffdf3572ded9136a4ed69a1435290ef621bc425cbf7e84e1172dcac77c727574bcfc4e3656ada104c0e7ccfea0481f04352b1744b04dc48d7d94a8d6f65580d301ffd72d81aefc3e93745311f4213ccf5157de395eb650f7da00f1ff631b21e44628c90dac3124498588ac0b14f636cc45ce958d362f504a09f3301fed96001fc37989b133207fa27051ab81c8736a036ea214603fb96a55772dc486d528d412dab7b7c2e40baf2fb9ebf5f4dee3c8008a1d1c375e5efce4741c582d1ea9e70bee7f8e44899f33668731b1e4e870ba76a1aae2cda5cf3c51338bd82f54f64b6e3a1777cc9b1bf17dd4fe445598db96c066ed27e6feee2849ad0f401771f2033ddf160ffb5684c365c10ec55efd76895cf1752359f377b67448579c92405b45cdba70ad769aabfc71fe7f50b65e6c79540787e29635e098a5f6fd76272a63d71cdb9452cfd27b3dd8e27a317e4bbba51ff9333996b55df032dab8cd21003b6c2375a1f7710ad414e702edb4318e752e9447b8a41a99c8920a8d8d437a53e9c50c9b002e6d643be1db8569c2e58197634b536514f5cd9be213b59ea6aa37a37a6791cf962e10e16b302d2185398ea3081baea85ebdc09280b8c186242cf4d59fc3f31fa91f34dbbb65fb7249fc9fd4158e7696a4f6fabfb3a312fb2052d0401c7e0621a39464b174707dfe33131fc746ad7351c8a6cc0c0b5d0c51729d9bc8743e7b583f8bf0209c6f5c83beee5cf3caac6978b36fec57b51a2ab70e6211a9894c5d63cefd3272036fe1e6b337871685158e59ba94ac2fc1fe5950774da8377a33caafe8b845eb04c91787556e9282fbe371fdf659d22eba1e95bc0ec48035f17ff60c50309eba66667fc8a686e9f16c258d34f09de6c3bb5046fe862d2859fc370eb4366c196608149228f7e111362ab7736aaf10be7c5e6895fe7e8d7662b1fbea3d544aa00d3d4c2738bb0499fb50eb549de2e2c1e8d2ea207d19e95f44edc7a2b67324f15a6cbaa04676d2e0797efef24904b1bdb1c56f13e2bcac913ba0ad4d0789bfd4b64a0130ee51102800cda830730a967476d2303f8754f68008b5b8d72d8a1f9b8dd64d65475dd85bcedcf765331b6716da786eb49a5bce281791984f114ca85e608aa49728f2e4d604b8fde104b47d947a84ee0fb3b24458fe4b942cf6de922c9acc4032d27c222b2562980d76b2f2a15c7e00a855803ea4594096f6084bbc1241180a90cb671693157fc6329b79527b322bec304b4b947603240a983f88c45103bb4c7b4bf273ad9690ccffd1200140e8346ad53ccb9e31686b95d9d6e0e31bbfd4efe7853e682a05effb610b23084e3022d3f8f5fbf8af49d5a7b20e5c00e2934e2a895300e8d1ee9dd729c7d61142ab835c68692c288903ac19b4c16d6f0560a1ec8dd2f9fc7642e3c5847b3053086dd7611fe8b1361428440bf2e2db72c77a6c4823ff18fe128a231980a434a5f1b2e236666b15072bc043dfe2a13d0cbb5eb67fa0900f9b373f0e58f15cb045d14ef7ffd8257a69d6fa5988e38de89e9a29ea411fc6e2c3974855cd172139e9659a8700498d70cffd8444b04e1e1f486a82ec250ba9bf8f69db736633408d279d10a74f66505ebc949044fcbdd1ea24684cea420ecf9b07f717eb2d926c0525b6e35bcae4261d7f5a34fab0055d1aad536a01a8ba754bcbd2bffe5d251641e575908cdc06df4ee2e4cff0c5c94fe920d2d44a06ee65f274d37c19f1b7e904662738c85e2cfaa9031cac7a2e44710592c4bcb3aafec14be613a7928a6ee59765d117db628f143d400abcfabef647973ceab3ad320747132f1e567efe75fead96685d657a5719121e2fe820197c1de8d2cc6e06de145fb8bb5eea1b01d7de1e77df7d2dd89df1f8bb2c76c202ac3bb6a3d92c990ec3e8678d373bf5614cded20641053f18b0ab67e3cafc83339e3d1430ef0abb70dbbb21c5b91c615f18be4a4d30a7c082fde4f97f9f77669df1e1793668745c27ec118fbe98265ddd041a5b1801c19a319e74fd39c9308c461e25cb105596a5accbd2eb1d561acf9000a13848004728aabf3111171ff874713037f42fe872fcb4771fd94b9e0d70e43456cf867aa3a1f1ea27082869d0955c09feaee715b17afd91dea89e5210e9aac0bd61c2176c370e56f7230e50d98c37d042308389db5378c456f605650b299f3d5b2aa55a8256ee7736d18ba23e15180af40f8ac17d950d4b82ecf4dadae60037aded04b47d1bfa30d21f75c0a87232ce76fedbade814f2e0964102601a1b3d50ae4825477706f5c4230f186c567f8265d4250c00ef2fe61ff2d6a6b85ced62c574b7d9e394f0ca10fb422412170009765c1fb36debd5596cfa67c7ddbec83c00c457e8a7eea240c91dd4548c9aee703d3f7794c6cc17d7a5adcabc6a194110b9e156fc8e7c3dd03f235ec4caadea64d363ae5b088b13ea77cf938c1c1495de2c6f92681a3135b566cb78ec2eac81298e475168c88676461c910c6f6d13b6828912d2f2f8bba1c6fbf8d3e76d7cef93a50a0787e77b9de096963bf55ae3910230f0f105518f6cf8ffd7d9b1d9edf2d47553f34cd8977fa7fd1fcb48d2dee8e68311cd0bc0a812a787d5b651676b32e938c3417ffc287e2bdd5ef40f2c75819b3add0214d40272c2e3fb9ed8eedf158613162012949db148e1d5692f577107b403137e18709e56012473889a2a4ee2f0fd3623ea29f51d87096b7b84c3a97f66418d76262810f2a5569c70754411fe0b98fbf11db645e41bce9fa989c7824d51918f2010830cc7468a0be33bcb8973374639262b1f05a8f3c0cb451f7cb46eee9224c56d1e847dd2337d3ea2057e03be62404ae57cf81af3dd6e41c66d8e3def2e072dcd09c7413795528a1a56b806cdcdc11b26872be208885173f1b78c70b63dd26c52b9d7926fc67c9ad7c0937452277d2e435609476b0f882608910ec2d85e689b81bb1b0e01c7b848c722cf8c138cc64234d9aa21a562c74d3c210e9951abbe4e21f4a6d749203acfdb91193fa27c1b80ce7f7a58bbdeadcbb8f8aeeddb5b64200bc53f12810e3a403cec4eaafc1fc419f1b36b6c743ad6bc17c16fe80401c51ce5385ea8a761b41a83a07732adb91c75f86fdd1ebe7348262229c04943d83c479d9274500e95a2500ad8b2b0352e67e9540eaa84d649e91584a166a81a0214b878c0707cdadace75537375ef51ae7eced502f1ba274faddf2890ffa2510c51910483dc19b3a2010e132d0255b6240423257a621a5d119ad98bbf246017f2ef594b518e0c100923ee1e62b0b4ba0586ca8069f9434ba11d6378bc133511d6a4b190368ccb39d7f5740e3078c1891d57db6c9d99e3a3ec5a427480b4438c74354e5eb4bf68cb53266efa7bccd06425d76bca31400d8f8f3088f98652b11eccbd218d43bb6f04c0e8c0fc598e8f0c1fa151f820bfba754dd189efd7fe36605d81bcdbd77988474f0907298b47255557fb01324c6bc3fba748805b2f86958dfb539704e8624c93bb5b1f122862bbe7813df25af0a4d6a2bcb2b58d66bf3060b56fdc0769088271e9077ada5ba70b5a462f73683f575f1425e746354aea3db6a08e2b08c5d0e90c873349890733d3411d35593050ef30111327217730d3002fa0ad16f5bcc8ec5c805301eaf66defade8566dfe0c0ae027cecabfc8f906040459aee86f37949ef36d10461ad41309168d18cdb8fd0c178661f15929b1fbe3e82788c6932d4c9976698feebfdea52f6c74e1739645b801e987abfeb39b0c63bae30008d6d7f99f7e488c8769387b45644abf5f47f6bfe9bfffcfbba354366b1ef31d7040908c167c9270d1cab35b89e67c4fb8d6fd1fac3f5b9dd6142268524d418e61bf74126f1eb60e0860256d9d2e3d8e5f884aa602dbfd37bc363252dea00d3a6b3cd3986e117775ca7a3fc9da759ee838d8d2ffb176ca44d86a1027267a945da40fe519e1fc58f08598e8f0e6f00a5ea3ba60316acf047d58295543e76cf55b305cda715fbafedb449dcee2242c4981ac695557254af749ac129bdc7351e6220a5747220be7335674a610f7002f3a56df4c35bd87c20af89b1551e9d684a3aca07d5eab4d64502b23cdc4e9f9e8a2f40dc083371eeaaafc7c875222d4f20f5145772533bfe65c528b3e5a7456dbc9a4b4d31d04e185100badbd9323860eb7d38eac5196d16958e4bbe052c31f0778fbc7c73094b83b0668722351a1b352286aafa223ac43d969ed1d07ebf03d1394042c77d5969af9acd5a30a650d5213348f3db8f57d298ae77ac71b53ebe4c82350cf9755121a8d62f74423230023fd236134b7684c2ba6f73f6edfe336d0753bf17d3131989e88d95ac8417e4ff181d6abe3ef602b6994a95782c356e5c8011027046ab388aa481444cb17a8e6ea7e6c46b66ac59aeeb512e7710d783e5774cc75e14f8a86bd15361c5dd019acd8dee63abf5e4870044bb850a73ea66bcc74a539c026bee0f24eb28f7e77231e55e7deff2e08f8cc5348ccef88cf2e48dc1b76ec113ca1f1269ae05a792d75987179d6c8520b5b6a84d5170413832b326630136ab49dc15a8210cf83059a5534876a13e5e78ac0a2024f405818d7625c2fc331807e4eb099b67bcaf7c4d21ae31c24c6f383d9d090a4d1496e45afd27507aac96d01f911295b93e4dcaf9d50c2199c91ebf6c04b1fc938a44dd1e9b8a4c610adf9c0127ab44a7994c4a928b7cd967f762ba1990b6384b012c6fd36fc5de4039f3ac872cbc227cdecd5741b20f7f5b5d572eab9a05b8c6eae20af107a0aa15532a8f5cb04da4b19c0e42ae5ab20a7db8dadf0a24e0b61c5de1fe14fb81fd7157280d37a36ab8f28c4ac7f079482212b497acf5bb29516db9bd786a4dfacec8f04b681dae3e7f1c03e6f0bffb27e288abd054d1ff3364f7e1dd5a5789297ee205ae6767f6f36d87f2b603279fcc6afcdc1ce028774168aafda190b5daf49594cddc87eac1d49e1234d527f4a1f6345b3d5762ce443966bd40e98b5dbe746de458e0a1fc3aef2fa2f30710d7954c2976b768d1438340c870f33d094cd3d0a8423ac3bef71114d361a4be6e977c6462ace9f9213dbcff2016427a56183a931fb8523de976004fdedb8b1d386bc8bc235ab745ba600b14b5a66b81cb594e1b4e70a9f60c7e69a3485c2bc921c8b1a5f38f716d5e42fae1bd4921eb5f74839750657ab770fff3d5b3a11e0d55c197c90d67e8418c5e92ae5fd0f947b007a310915ade9aea09bf73b36d28f4810d26ffe0711fa7c7129e0d4f2587ecbc65028f59d88e746d47300ce439029a38a24339633047939e0ba25fee6d02e2f768b1fd2ac091630f3f89c8927cf49738727de3b970bb84e73d1d78deab9fe52916d12a079defd01d4f7175d59e23ccdd42fbedce0b65a87cb9abddad8bb0763d1fe5dbc3e62f10e70d75ad16d284ca58b9dcdf97d25f843a74741a177b64d6f1e5717fd5f6f68e0de8ec9ceb91c791f7b37d5ac0f6d257170c194c07669e86abf35bb2883de8f76b03a4fcf36af07e20d323abb8cd33308e6bf464f9ccfc0a4bb3b8fc205b835e7c78f6234f9d2077c9ce73464afe90c3dce1901695cfca5151207c952750572d498d5196a2127e4940d8c6c23d7698a7d86961cd43c4b7ce77f023274eeb8ca8a00534fa6a303b9906bf2c3e028664d37afb46a54fe15ce0b2a70de2bae2898879a12033bc579631fdb1b31af9ec845e5b932401c8ddd5734174703ffe33e28763ad0980d2bef2ca1be1d2ee432009fabf1054e3eb1d59c298636771cc4a31f97f5a865e843cfe9e7c004c477955c23f799875a5108f65bfb4fe41efc952ca4767759f33322ecfc209d11e430b5b20406d610ecb0c07fe5b20a24fb00d078f55fd49e411e6e02fb5e0673bb782c8700fcbe665aac5f9edc1701c102290e8f9fa049607f8f9f8bdf8d8f3dda3701fd5c98bc437d063b11f701953e652e2a92b729abbcabea818702ba7811dcd09c8ef688d1aa35379208add1cf31549248f1c60de9b6bf82c0e2a1933a1c3bc8f8db5caa48c8babe0dd6b42a7f6f77ed65fff2274b7f06f65fda549a0b24be93232c011be9eb48846e1f56e08be5433858e98c1d04fff89475f2b085172940ae0a9c4131104eeb39be21a2e37afdecc68eec2dbb4e792232348142026ac03e6f6ac10171f8a352a0c337c43617e3bc28071a76da25bb06d751260974c00a6ee963e6f770a9f148724717c64954919229478568300a70f3c9668258b9739be6688ffc56edd4b8c514b001f954e5cf5d99819ecb21ad3b6b08599d09a251bd52710da7ee4f3406d10b1dfb554645ebed4f75d23ad7b96c931a18c4e366f89578d4f216e8866f7f28cdd131f3cd4f93592cc9598e0c9e93706b2a4208b010537c5d69f20706f82cb86dff69e036dbad0da02a7f0d6eed0af87a270b39d9a38121c32f35a27c9c1617b200a4038d571ee748e6409903961b58a0a0893a6b8c07c7ffa22a20fe6430ee2b621890ccaaa1aa517434c9b67303a966064f13f2d64a2213d8b610578bd8537d63b5a03914c97148515740eaf70e8fba40e8c26ae92a5f5cc77af2b54c348bf6e2f87e00ee318402a8c67607a608ba75e6a63064cf3323cb02af07e9a5d8c84edab83eb87257b6b1341be1b8e936dabcd138341290676ec498761605165aa702faa7528a653a71ec36c4bbe67fcae6da02399950361b8620339dc09cb2a1886d4ede363590b9ff093f447142f7171d4f35f7210438cb80f1c4504a8d951d730826a64719a7a4a9e2cbb6dfe7f29ae53ca6df1755af1aa11110a3e775b297497867ac750a7de95b6bbae7f16e034dd1ef4c68e2f8524bcbefce3436a99f6c2082ea6738fe1663abb1bef030581858d085228a3e793da92b105ebfbf2aab7f90bbdfc72117278e522e7ac774bd2bce9dfc018cb240682e9c0a8b0e3a4aef5224a769830db3ce916ab009f0d613bc98dac2073691b19426790f05f05f703f6131e7b19562d3cd636ed0acbf6cf2db823e7b336045f5bf972f429226bd426aac5abfc1e92e83f8521aacf8e0e1e24443a59d726380ac1703003c3ba402d02249163cf140ee1829d812acb671da33c937da7762b7bac210e9acb310bc6e386b68ed7a7cfb4fd40743c4dfb75180910ed076b0be5136004cb381cbe90993b97a35e94266c73e991a5f47031cb84c1316b905d63f9e20c492519a5f8eb5bf3a03e035e24586e0aab38564fd64f5de0d8d3f0cf7ecdfabe3abc44ff5c76c1aa72b585046a34d368ba62f3a66df828095e01e0a968a0efa317fdd7c74cfe53c1fedce60c1a46a6a8c7a366f2bbb4a839a850b530121b0900e06d55deef8e60a6164d9099b35f633e0e3942e0d6f1bb80467d508a1c15b3816199daf6fd2bac82b52289fb1cd274cd5d78595a035ca51d782e27d37f8e2ca88df7c2f10f3efcb14fd01c3e6c6137f126aeca2577b514acbeeb70ce0b1b19ad015d92a6a396ecb03e086161c67500e61d5f06fd7997de291f06b9b2761fbaaa712a709ec705a7adef3cf475a64367b2c02190cc235afc572618c836cfaa7b98e8eea856efeffde78d2f91571c3ad4bb2437ffa1805cd69a5e571d6fd033ee054ad03c1df313f53ec1728f60921416a95d37079f8814907ef9f52256353e91c36e99ec7e57c2f61a6804b3d9b1c4c593c45ee613e5457aea82b25595f53048a507f943c7b26cc4e711efa3b1355d167c5e795ab2797ec7dbd5c2b4b152123f78cefd44025678f1995f423ea882d18e382def23c01a74f38aec851fc4c9260aaea5491555a9772dd99c42336ec03f957d434ae07d45eb7a84b170625bb08d86a1b278d015465ca4a7ce4af76fa908151b4030fcb135d77c871abc80150e0e7cb123f2013843654fa37db3ec0f1fa789e44e146064bc924f5ee8b01e75211072fd9c9670be01ba3198d07eb6d179e73d4dad5f98d5f786a4d63d4e182c659a7e2830e82706cbde13361fb696a65df99abd33d4cbeb316cdca32fd9da29ef6735ed186a94bceb97edd1666a343b9c659a5eda763adefa1d6532ff49d6faa78b7a7ce3e93674f3df32201f6096bd61bb86d469839a2a08fb76b8b2bdf603b3bc3d6e5a2bb07160e71458f2b857a56f2fd84597e938bc6f1e62b98f35beb733ea4c7f58bb3ac27eee471b877bbc6ed72894cc6ff9158e95019f99c00f86e22cc4690f67f3c439e34e8440b942e708de36f7033cf1b95ff4d587ba2d88f9c5084f3a71a62de5922d9f408a951e3f0bd14191c4cb76c9355488b1cb3b49a5b954adcc9bae2fe25b981db8ca837c13111ffe84041a3aec069cc30ebed518c24eb4ba6fd045981e56c12c4fdbeb374db3b02bd916ac8f76f6e3690e274f759e5d5b1f7d31c3e002a607014985c56593033f0612d86d08815879f554937163436d63444a9bc91bb9823335f0663db86a247cf9faeef7c42ad0a6022ccee0f0a0e9f9f42137401e42ece37b5b540961b4bf2f6776c57a4466ba77a83306ab77201148c288e8e66c74825241bdd28340721701e218a905a0f228a0da59360750cf13fdd4ff674f8c4c39eb082532afd00455537b213b065915ff94540675bb049b5b61d419e36511cf4b4d72543edd0b57f8014145f50ce293f74ebba1e25bd2ca1bfc420dfa005577705466008f09dd3223bd6651545396b62bbf9466f4685c4c6f6613d038750aa81605ffb0ca29e4e113ec928ab410aef18a049f6650b4b7d88b247c3a08a1a54033c3905fbf78b545aaff8c581d86e55321cb2208a782b1d206d98fe27803a23b8dd7c51c22f5bfba5821dd2d120f2b962d429f218a692439a18eab9c55f62957748f7675b6830fc0b5d21edca9059c798e37acc8336e38518d4faa8caad765dd640ac4f974bfbee318d430e8ccf81477a9af8730231d95df122702e33647acb5ff6d396871420246440c981983e53bf103bc88cf2404142986669f59260d7e0b979e102ce496a10711d268b30e477dfdab542cf39e35a3119ba0a0a47457cc1e19aedd28ef46822daaf0ffc5d4d5b0eb975bf826aab194f91277346ae33212e5330555500e4df550e00f8492e230a7dad8a63620578abca5f79c1a4684656c65fdc45c99b053f275356b37af34ee9e54d4eab57bc9c0af123c6f18ce85f511dff395cac8ed965ca33753e75303cd7449655d887ff3889652961d109e8da8642c8eda32afe0b8acf931c4ad0bbef16511a4ec2542211e445cfe22a3cfd0aff6c4dc79117d8285dcefbe443ba3ee81a775c4cff9d1e126a3792742672d8bcdbb06b2f938cd8128fa49083c9f8808df420f2da6b91e895997a4ec2422618c6e2745f76201c23538e62ca1692b4cc8e1a148f351528eebd9cf3bc46350e95227670017692a9105268feb40d52a6efe77ccd8e3788b55de928174b60f0f971d4113beb8ab925678a295dcf8040bcc4613e30ae9d6bba6b2d5f8dea997ec879acdc50cb296236ea3a5690f20aea74f7e513bf2816d356ad368c8bd0e32ca776b3b4a2e8d9fe52c450f80678e3887a486e88d83f8c28c2c5e7241ce074b3dac14b2313fe4cc28c1fcb86a6b0ae8830fe8999ed6c29c076e7a5a0ab1be0393af945bf5e8a05aaeb6c6ecc28f1855567634c92655058b419fdd1d3013f0740e435159b8097bbb7ab4124914014a00d627460a61ca6ce0004f38da926828bb30aa193f9f4cdf7013701e0e63fa07373f303c84a5a26b231280e9a5e6d23e63d8764b9be23a7326b7db922956abc576e91d9efb53628b6422135434817d9e963de4490ae3245d33217c4937301c2062589ae21d4789403de227bb73fe94473c5742dedcda80c350f82abc2cdf0de65e522306670be69313a6ae2b368ccbbc69a3db542da2e68a8f0668fd12c099b7fc7f767384924b4b71988de66715e94c3ace187ca97d2bd33fe6231591f14a70e75de61e966452b42d223960400ea8a1365efc14f4b3067cb4498bec1133906ce688e2bad1e7247f5cbfb05ef376aea3e64082ac6e69f67b4cd3ffdbbe07d4f41ea5f68b2b028d5017bf8bcfa76114075dafa84b83e006bf65196ad4f86f4b93a8ea307a778162e2ae14b09f61abc0fc1387e37a711377c01e988d404c8d20d82aafb4323769c26505b44803e5b76e658416d3c05a40affb1ee1b4543903860d072cc7fdd4a27cdc7c9258dea746bfc7fef1f74472b02d919137edd645dbef231269638c6582fcbf87356e4a0744f82b55d7b375c6a0db4064824af3992dcf5e25dc85535582ad013d1255f69e85887f4ab81e59fb7b4a13dc25a422c3f874035ce2b851e64d68abbcc94dd35326faa313507b757bb2cbd8b0291b14691dc4d529188ab4b2ac2d3cb70c2b4134646446bc293169b9849cab534139e819ca21b0fd5b865dbdf24858ffe26b5d6477838cefa4789ecfe2fff2775d6333bdc4f8f87dd1fdc10c1df0c274b1a602cacba131fb33276b965cc5abab1feda9aba66b52ae6bbb61116d768565cecb9975982afde44e364deec4f27dc2025c7749641dc18c0395299ef0dace228cdedffdd55f975caca5fe09439dcf38c87d323e87823f719ff750f944cdaa727b111944b0b09615419e643e761b7babee0d0a78d423f5e3a48dff057de9bd89808b121d7f1863cf9790d6091d4eacaf9c3e0c9a1984384744f03fbaddb988f13019777e5051069016044756b1f29d9d7e9ab31756a8a4da3902dd031ffeb1c9e0ccfe427d089f94a473a897e3014828c3bd3b32d5ae41054427984dd7f990071eb685190892c44a6059ecb31ff6fdca592a40ffb169a132882daf953134b890ff522cf9df1c9a86680dfa2fbecb595ef520c03b20c00363535ebf2c5a4ae9b04249a0e55fd48407b8fe8fe2d9cfb9837fe2a1fe43bdf095d16816f964e617eafc0f7dea5b3861e8e5bf7f7111f78bf6cbb80e6c77e9af3cfbd8471a03b1cf33aa5c44ac3d4d5765e12779764b7a86f11cc88bb4ae1c518d7a308a42533b778c13e404488327f4b9810da48c2274f97e4ba0bdc7b66e9d944f8fd986ed0d2b6274749568228c2d70d369c259d33f25866f9a48b5cc879fd18de53eead231a0ddd978d71d4fe1786959fecfa3077f8fb3426977bbc3ce05fccef3d4f99d379fba568237a32a2136794c5404e25a89caea3e76b2177e12549784588aab6fa75be716178ccbad8be16920a903ae167c6118832e1bfd4cfd9353f60bbd264ec8fb218f6b65818401929e7dc09980d18cc7ceefdbd8c8c165301b4ef371aacb97099472de9d025d3b590b0be4b5ed45cf02cc7815f3e7974675af6face254d7face6286399a6be3a37bd8a5fdcc19626dcbde251ee9fabe7f4960e4b54c78449a41e47b57385293bad8631868e5e23bcf467bfec1f0b6be54c7f897a5b7b72b07e1d57e02a6938fc5b4ffbe6ee46d86680b4ad1cf3bc7973ee61a1390e15708775d05bc8c28613d8cadfc7356ead26b620b395aac6428b42f27cffa49356b0aa079ffc68230593103b74876430229749faf788130b93f5d4e1b7b01496b4774d384966f306568bf99280f5b14a44bbdf833277368bb3ddcf8850209dc3c29ef090d6f3cbdc1e06280939ef4f4346882b390a4ed3703441a5246a98ecf667df7390956408300f89312d826a1fbbb26244d2b968de7465fb706c4867b311dfcee3437880352c872245c9e258ce2fb5204f2da62e122f44fb320d0fff7b1a7d982ef8e5d3980de2331fa4a53c182e32abc1c0223666238c7055664c8b11d287a547583458d12bd827356ca6c46e3305155fcdc958ab9a6158e730bee2921590e2ce08795eda12fed5aa4d4ff2663d4e9c486d0df851647d761d9c3bfb0277ed960d169025b57de4494f7baed66c5342222c33fdf3c38427afcc892864a250b70fb004c6da2063ddc88dcfe59fb06507713b78c91d8486b64b38d00995256536b568db3cfe3b348fb4f9d9c6d788da7cff3629b0a1b89536684dcc4c5c646a28c98881b6d0dd29185f990b866b7e844b42a3eabbe279c03ccd9f3d0926e7e497c43a3912e19fe0ab32e8c0e202752cd63bb751babb11d5d442d139f812797e1cb29ed04300a945094045a1b3e343bf7692a3b62b9a5fa266bac7d129444bbc0143f137c1f56b2fe9a0ba8fac9d4e42852f7505b4dbcf3fa96150d0a15cd57e0208ba0de15a4870023e7f9b5bc205bff13c2b615f202a8cc1677e09aa7a207df0a6788d1155e3e4dff0fdc5ba9ce3b68f8c935fbc3b6680a7bb6a2db038f342ce771d569780686a70e69965af87811a33a8ee9cfc8050073b665dbe8c012839132c436fc1956823e2fe2d45e46f0fa508eef6dedee93a213879e9d91b30e5c0bfa49e5651a0b3befac3f8db206145c31b3d405f52eb29509148eb6a0e8428b7b93196c192ca27f8adac9c29b5b11edbcc219070c95c2cb2b16e748094eb8d6185d642f4649e2579af6b539e2e751130fbf9998bc98baff72170cf2771e448b937b468ece93144f3d57f010c19a4c96651c87e5bdf31e1ebda41a29f8be5e25f3a2e4582f107780682190f48bdbcdb2dcf128c95063185286b6ff6f9e51bc62d1ec7c413e5245a84377811a8644740c8cb82309468e6dcf22cb3b971b0676d2ff6cc9b6e245639d3ff33b4605106276e7846eebf9f6a2d0a413a6611f09bf85fcd824d1e901b4486ff1f95b772441db729dc585b0ead28fcfd352f08a891c6b9f425c9c07a6b5fd8b287d6c7d940f2c57be6ebc4f2db32cafd75fd65fe3ab862af179b68b750e01091f0d66cd66e63d31c13c833a366d14d2b3fd8dfd0fedc62a237ccc91598c0697ee4fc4c20452098c0f83755cf0fc52e337e0364cf17deb4700ac1a218d28f76f333bbec0db39594417bfe2f144a04f393fe7d9f2cda7f8a6dcc0ae52b06f46dc6f8e2c6832dcc924945899dee20178646bcd39e7f5307a81a7955eb6c444374ae67575251e22ed3181c40b0cf623df8e2a4e557700e526e747485b81e490401263d00df6931d073343f71ae92437ccb2ed5c119a0fcc4fb71c6aa1004a504de7614128aae39392bd70c74d024886fa84ead941ac8654f1c6b2eb51640d01bdd27a7725f55c18721555e33e16c9c00915b6bf67eafec731ccea58fc3bb881199a36342dcef43f4efd3e0981f468b252110110a6808f93f3108401071a848d383d7f046b5696b561310283b5165b7a8c412ba7c4772c32c9e50a4244448fa1b7029b4b0c40256e0ca1128ce516a34aa12f4eea1f0c477483905a2433f8fa60c295b4e0889d9cd9bedb5a26764cc371f071dbd6e638b352e892f25a6fd7f3c143ebd6e626d3dcf1041cce6b3492a5b06a240634615927e2005f19312302f530215eb37b3715ec8071a3c1d07d1a81e66c4252df39a0e295d84c338318e08ee8c0bc7a3ace3477db853f741286c3344207dad08f9d7e096ababbb5a06c6047764d24493d0615f6af26fdeb91a8ce4ba8ab8c8fab3a83c6f4f7a474c2c2507bf12720c259ac0246310bc0031992d5d9d1d6b1b3f7764f7aacc5d09aa5b5716ac8babd01ff318880fb53345cf424c178d2e3f98559975fb796412fbe8e5854f695967bd8ca17e765a3698e7157f2a863210cd1e9766b3be32f5bcd18b90a782ea7535fb1abb8330ffa82e7239fe35fb849f5746b192a02f06fd819d8d88fd4b38d5901c3d1472c3f66fd8e05020d01632ccc6af65d83fa7ef3630d74bfb35825f11451433d196cbc9d12590a02d494ee1eaa259fffe9abae5ff402de7cdc0ee86250d95db337b8a053e8713885d6022e4c9b9c8f571136d0b2337ae103ff01102a7cd25d9ebb0dc47f32a31c83e0fce46a827dc619c0b94c26e6699a3069b40cc3d59c1f0b77034ae4bb70a9364312eca4b4bfeddae60fd14bfc1aa5c8c20ff6940c6c3f22ca0e8ccaefc43a2474f593b5700ba94bd5c119802d437e27cdf82d6d9bfda4a6f124d9c37f5bdedd8ca7713958b98ba0a6aa737fda5293a6139c73bfb93cb1e76e07975f0a8c74d285e40572b7903666a6f003bf3224f1e016d129ce4d4f52a390594cc05e10e7b56fd80ce938440de3182e19ace3b754d34c710de0f0b6fec0b27b455d8f69ea0c5e26b99b5c97dbdd5043ab8acaf006e0531e8edaf66235d16b855d92af0fe37b52d1b391df99c411257cb9bdfee10a489eff289c8d54fe1b7224074dd3088e653c98254b23e58f57c1b0121a6f5bd580c1b191dd9cd11e63e09cc76a222fd5201b2652477be68d3b9248df9e7c6a6acaa3cab2d4916c9c32e3f3868539d21cbf6cdad39092861c3f3e938739324abd1f64a420322bd02a18fb13d33d725d432aef9653f18725ce7f5d68605f702656a236e684db19b2a7183f79f2747a1223ce556382ca2db473cfff87e8524ce770d4197210059682c764466076392fd5a0b2c3e8a1fc14b59016588be813c5840adfbf8cb36f9282a213a96e4454d6ee3dac7fe007201eca46f95733562b823013a0626fef780b4a6b0a0841ab2af6173b04b6bb43689fd4bbf1fddb857f347b4f890c8d128f18929c8b68d92c2f311a0a933ea5ee75bb3d41f0b211f281cd6bbe4c25b4e995e4334958365dfd26969926c6f72654a3bddcca525ad155e6105f04485613a19eacd7a65ca99977edd263df4b63079f0d7b35499131bde5d61f3d30c9595828e142640978f03d5aa3fa3ca9493976cc8dc616a7b1d0be591fe556cd5954f096183b6f077f5d4a355ba9c47cb6afd73ca7ce4618896e3d457b4c08011172ca7aaed5626399f2fb99e29ba8ce582eb31790c3b9c647a3890ec99b2a5f890f4bb2f827da687918105e06cf4b3a780d47dfc2247e05cc3b4bcaec78fc2daf48b93c758ee354a8ab0d7d38755097bc4abcea9d0dc382ac03d2c6fa6ad867b967bb8419c086bf9a42f91b88a8f490ef0284a3a9b4d66fdd7bef25a0deb054158838926af261cdcd73e003a5dfdfb702e44dde3661e37ec2ece68fc97271592e3e529a4d1829c1c8725b080b0bb7a11116a112b2029adc6d1feea52b85970e060e142f782f5f4874cbe0c0fd1a74272b7c83ce390bcfbed9e98a800eec884a02a24d583bba8c1c26f2a8b7ade1711c0851a47670cf82957e267429fa8e50a116c38e01b3892b545c7736c5df5fc69b463e6aa7ae7ba1f7a970fb981bb00b577b98017e3bfe19de6a3539b8d809ac99c61749324d5da2474d1c6f7147a0938a37da2bfafa24e878b781065e6b39a96e3f622616dbf82d0fd488a767699a397a9742458b1dac228080f50b37f58947c1af46d38098503ec6c24db979a34ade0e0b2920a7a04de658f89093ba24f0556b266cf11e50d16cbf8afd1fa6688cc6541951da6aa56af35f6b12a2798ac3009c3844e738c3bd0ef38ed4e95a70919f49e6352390e26bf61d2c9cbd246c59278cd41460886e5e79a3a4272efebe2f09fb3651266ac0b518a3abaa90eb38deadc746c29160492d8a720fe3485b72103b53d2ba69af28fd3b5592cd7e9b505947b009fcb9a5e1a65c0424464b1dc6f5ae8310f1f413dda546c0eccc1ed950af4ad309bfcdf7bc0db15e9e7487075ba01a2fe21a51939ad64faf6eb46659307cb403f549436e5ce06d8d1e279ba32425e86c2e6e9a45c8202c75e818ddc94aba091503f3acddcc8a1f5db7906b758c8b2e21129d855a085fccac159979ab99c181206f0404899f1cf93a32dead617e7b4643b6c979a1f259bd0ef5c4cf6caccba432be6bcc1ad1f292e8a04ab5208949d76b6fc8f08b216109b610b20e9007ce8336c67313e511dd5843dc171f8832fc901e8ab3c8d757696257c592a35f9ec023ad5e3bf72f15b339fd133b3b5faf11f22a1ce2ac36ad3faba0c29245eaaa82d69b5164316ad997ce215f6ca09b72a79f94b2f621c075b6e83d5bdceb597c0d5b818e9f02bb76c2712ad820522e340b5fb57a7448877761b14065a5db661b20e327251e5a8d87db72772885c387170a449d1b09a45e85eec5a06d6574207f12f805a80b1bc58a5dc7ddb0134e62fa5aa314a111b27a8b397bcef7d594b8dff571b454dbe372851c968c97492e3fe2b9cbd584edf3e60ed8f192275b2d68b7f9bf899f3dcaa3230fb62a77e75c1930a37b3da1565328db6c349b958eddd4e19d2bc5bafe9e1ee0bbab67e216845e487b551697a7d7ee548e3e6ce68ac47141c9325a02f6cbaa722bb9e425ae35e3d18466a888f088cfae1cba47e7cdf79e828e537c7e442a07b12d88c291aa66746bac6ce7ca749d31eff49cb908d623b988cfa359f7552f057f19acb2d9939911474cf8738906c2c018ee2ff773465203950b80cfeeafad9b1e6601eeeed1d1286ec5d0049594a703a376ba5fa929212f2df0b04615e128d33aa8fc3bd5aa9d443130da31b58c3268c0880929717a88f649c3a4f06e7de11ada33bd3684acf95e1d53fd4a70fb996f2364b152a5bffca2472a4ac72256fb8000938c328a39a02a42f30a2267c2539eafd7df9b1ca6e2a7fdac86f2c5637b4e4254901ea246239a4b757551e21ff73db0f89f9e32e16adf6dc460780a4d0785d7c9581ac24b9f4df11ca0bbd420364d1f702dfae99b9fea1328070b0e0f7d89deff3e0b79d64123740ac18021b2da4fa386b9d21d225f06c0ee2d23d4dfbd921e7780ba2963684ad16a64f067f69c809dee78ab4542369ddcc85d2117d9e166111962da17abeb7c9fb927e4e0f236bebd006b68f75ed55b8f05e2e067659365ad7cc0c3d4f8a6f07d46e5609c939d870853cad04a747d2b98806d443e5bd95218cdbf2621600badad2d672fb4066e93b5a4bc441a1d2b1d634be86916dbb379a27d205b5ce040ac4fd394675e682faf7a72a9e5f0544ac116973c584fa9e81a8499fb9eb90cc266368473d3d04bae24ebcb98b0e49c193b634d07d4f2db9b3f0710b8349408052ed489abeed96ebe416078594ea7a50ffec264bed1160cb01df230853f4d0c4c1d9a93d2feebd69e58fda611d44cc63f387f4ec24d7f5ce4c91cb1294432bfbdecf741f9e3ad3d9284e5d055a72f0c82e264c8112cf7ce1f7af9f56b526708702a2f9ab70134808100bba874230a5f56024dab6f2e452e1691fe281c6779840e554cf5256e2d883080829c6dd33e4103c3f0217aa27c130e3ed4603115e0b8c4297b8777e5076a286c4551fad668d465638cbcc297e338dd74d3a4bbdc677021c410373321b8a2686c96f5f68141f407c5278754f8c607e17db52ebaafd839fa88bf2618b58b81e879ac69ac16997588ccbc9a14838465c85ef2528aa10decbb2ea7d75401c265be70cc8a4c2f2b42e733cca4fb6bf688e3fe98d0f66589234d17eba1002929e04110b6641b0cce9cee82e4c0ae2bb52db923a6979db901f588579ec4532a51d1ad5edaa034ff3480894cc04189623ed7b62b1c37db348cbbf8ffff5d0f4b411610680b9b4db122eddcb2d69fe62b4edaf4489ab8847f6e0203c35e5266a098121cbd3f85feacb9b2f2a619d936fb00f4a723f952ff2bb142b7df57a208435856cb98c038959657a732d49ba50b8a43033eddb16a7f5f3fc2040ae8dc32f334a88a3d81bd21cb8f0ff443c607233bb3f2b26d74811e59a869ff785fdb20bc721ead3fcede2efe47f500a20f0d2da644ecc4dc67336ea60b25478d656d2406d823f4eb243803e7dc9eac5e8f7df222adfbcb353f1a0deeb4e753246c096336e0ea865fe9199cf148558f1cf2c45ce871bb739c416ca5eb228ba10e135242a8dde0db7b8c1f093eebbe22764129231c4242dc3677f85b8b358c44be58244e49b33040d1e208776be6f0281ea975307ac53a31ffb48670e429b4ee1b7b91d6af4cf1a2828b862b0405f16f4e506575f7aad999751610f8c26a823453d1783a82ac4cba91b0a770ef42d97f01eb34a494565b4d6b250f6dfdba176de8c692c6edb6824b01ea53946174928143302f02b42a522bcf893a4f62a1f3e956bd54bbba2001bd8597aa3c86e8171359a57e54d8f5428b2f03b5113e2856d1f89d2bf3c6a434f0ec65ca35b82d822eda6007b87ae46f08c6ef4b535af5525ff9fc59fa096f3a25e4fd39114db5fbf567dec98d6cc2cd4a500e26f0334e902292abd402fa012a140672220007724502c97089808112b14a6423cd43fbaf21842fe26190b77e0a4a16e3500fc45af6313a5188c1e015d966d2e0ad5a41885f782f29daa35d5dd01ef1609e10c48a72852610d28b389bbab831017337e20871eed0976cc2f3c22f824f43eeb73c5c313c0a227ed6a980fb9dc9b33aa977867593563e32b2779fa1bf333b01062083d060308e63ec82e222ae395f17a1f2812aacfc7241c3df5ac7413bb34800bae4c237f1a3baa4725df2644eb4b0a649484579f9a9ad3d589ad2c0858c726342e5798968c5fb13d21649d305687daac92e9974d67d72f44c0b2b041e280c278b81105363b5f3a9ad3beef48f7a166637a83d5fab6117f198297b6666051a36a6ff4be2579c48a2b590b646484262c50de8b1ca49a34e71d4f982381aa5b1aed45409d2fde2d702c437be19df05c10479b70e6394c3f2c5e53594079332c01f429e6b0bb0035541e26c2e613b17109900c742aac66fc307fbccfb13402c9835f70c59760dab8baa159e2421bbe363672e1c19740ddac11f8895d07bcff917f19e45292b23ad10370304a25a730f50623636af3de03adc77376f56e3e6b9667d29fd73aff6b55b2387fa70db1f4ee679041f99f674bf41c7f0ab044ebdf5e7ed5687d92579d43a608c8972afb7910ea91a1481f861668a9ad579af8f6f45be71aaa092e3c9ff4d448f9d77fbf12e7d9e9c650e627f4928a907505a5963fd3f65d5debfa67e46ecbc1f37c0ab221f2b21250bdc5e5468445e45bbf8201333346f11376ea005c36977a7a453630975a22dc885d5222043cc14674cd8b6944617fab19d459fb2177923c15a633ed1be5b843a1dac5de32114d86d7da33e8252cebb902ca81b00ef47e61ef3007cb30561259ff1e2285bc2546bc31957c716938d5105cf6f69a98438d52764b04137a27300961255c547e353262bb4abac63944acd5911b22e75d6ed5c480b914615c33cf63f4c9789447dd1bec531f8d65c28e2ad2475260c3b562d9feeb5b6868f3065c2e766ecea157f7fffb80ac901d077ee24f6d61a9263dc0cbf6791c4d69a911e540af0814b95d5b8b7bc87c1cb004818f2b6f0a13b0adccf6350825d836e5d06217e9d79f02b6955735eee7801874aaf8ad5f52b4c183c70f534aea3d8804aefcdb4d21053b8092c0ac21ecaec0c1cd1bd1f0e5e3b8c5433a022f6ee97057a317fbd956c4e656365d272ebbc602cabcf4f44e45279e2b0040c3580d3cd2a8710690bbc3f50249ec868c39c32739333a539e1e844db1ae9b074f16b85d8a33e90c898ecbba75d1ded15aa63234549a5f5f2890d9cf3c2b5ede949005cf0068a7bfaf7195e36aaad1e9cb7c4b683fc6d1c842bd8560d9ac74d850b7dbe7a50d0814360126c85a8470dc1a1c12ba0b1eefbcfe6f6fb5c0c0fdeae61ea7fb67d2a36ed7b531bc9ee45e87923698d1822c323f55f617d325c746fbe2130e3d8148f97864aaab9a7e3a2d660dfd5795453a57edf0996b0c8ed48c5dfeeec87a99c0590be0de975ebf51cc9e4c4c3b29972b2b633ef2c22f30c2ee9ff1a009ba1ea77bd5d336dc1706429cff98092039247e215e862c2d4123a476f1e4789427175c4ab3781a283a2315f5ff8a50a82b538a7a90756e13a4cc03027a6e25bf25bfac26ccee1631f15afb283ff0ecf793470b6914888b72f027e564345fe89c400dfdf33ff285bcd059be01e877cf23abcc0b0e6948717db26611822d1776b8d2a4696bde428749148116ce16514a5807e4c6d9a9353629b0152a1b989c2aa643c0982fb282076865e08461368ce1b67628453493d1986eb05342c521d66f2629a4c523db67c847b5a8b1ca31070f286896c896c23a5736ee7b80c2987b901208acd757753b4ca30ab3d3f85aed8aba80c8b250184ce84f8a928dcf80b30c7719b4526e44ee82fe9e1d7d3df30ef153a6d06af490a5f2013bfc9ac44df98b9d1f4de61b0ce0a4d05f2c1d96abe8015486e21433b1dd1ee7f5cd7d7c538b555bbbdd0fbc953e9bdf6d0c85737e78dea0c4ade4ef5e563011e0338a87a42bfd44441ea873f5e25b597ab8f9a5bd09db5786bed0af98286133154ee726c88acc415cf454673bbd6188753930f8296677da6e66fe418cb8dc4cc7e0af538112704e12e68d637df1f04344ef99fd7a64a659fb4559839c5a6364919fbd1a39fe3165786ad6841942d43903b0c296aae61e2194fe13b3f08824eebd66a9e29dc0b955f809a606f61aea1195820b2b77d9e1efc7e9d2aaf73403e1946abbedaf40c6e722b2526b080131c40bba9bb1a5e60be2eeb02d4202733bd3aa83cf1b3771409df2246aa672d2ce952f6417a7ed342aaf80aa859a19cbf6868dabc831240bf66a4c4104908bc3ded62f4a67601868c00c4479e89a0b1637472c245dc3f7f59c69a5f4d38a1a418349b3c7d14af88be9747f8358064172e2cc9f0a63bc7d5639c7f3286491b5ba882902fe79dafd9a2c650aa4e28df58ca0d22dfab7baf7805118c8a2813fae93171b9b2a257532a86af2424f8685194ca344e04e229e592f1ea8304c5ab4fc770a6b160d952adbd393f025f6337d1c955bb82fde3f735c58ee038816a30be8753d5d781beb39e22d46f135edb7e40263dd8f0bf9264d015e246e72272775be7dc580f15dc4e5322ea3bab1df987e1eb96633cb55878b9fcc38585f0804a45a0325615ec32a3b26be55cdeb5d512c46ffb600b97908a0e75d97777f9395fed8cdc850760ce5b091b0f1a6450427b4e11afcdffec1156d811c73f7180de91ad562f70b308e18e6385b5286a2a49cff594df2c34df503c7b06622dee9fa1a5ab0bed5ffc3fa9675c0789f3c6b11fed3b6c8d9dfa086821fb3fd7ac881a326ad7178b7f049a6d68c1922634d4d3c4510df8b3efa4884ac1e11c58b70a5570391865e94e2868dbe9a3211a175d165b7be33c839109cbf2fa18300181bc3c2daa48f6eb32b27b7b079e11d1746699bffa3ee319e82eaceeaeb06f58adf9707b2d1a39051a3f68c2e6c73841b6a0ef441b23c53ae476ea9695efd1e4b83690ec238854fd41a091b25c36d815ca88abb04af6cb5bfc6fd9620443efaca2c5997fc1718e61678064c84734f82da619771743011489601699d60a9804746d14c309717722a1e8eaaf43257a82a015590be86456d52e1e59eeb499ac4637090e0458ae90614cbb89cf6df3ae023c7a9118093b938077be80206c61905b9f4b0a19fe2dae0b4b3a2c42e50160a852f92830e8290f521004a7f514e6a2100de1fa467c45ab92bbf831411613ae6081e51a38f93206f76156ec752c47528ff3da0e2dd94dc550b2bbeb10d6060d7c6d08307c432e7eeb449906779f3f146b900cd7001eb443d8a130791dab22ddd868eb0a283ffc812af9d030c3857889bc00bf0974b9a074886ef95c4342e36ce6dd456f9b334fe9b5c627d0097479a1bb0c31cd8bbf34f6e2a012aecf25f0df70e4845651e405d5689a404f24bc4b41a724dddbae754d8064cb9c0c98e3ce5c2fc22423920e1a42ae3ba751709b39fa9ab352b2d4552754566a8a475cef0a16af37fcebab3da8ad7c1842eb9c1b7dfda20937b8ba369a0083f8fac8b8e9c1dc9fac73b813ae69064467119058584df2bb4cb77e5fd884176f977b22b9a7b075760d4e96f5a949885a68a36b047463b7c32a326f4f0c12b7e8953e4617ad227281b691be3fd0137ce1db3416b5a59c0288518273a4a0b97e6ae333d3b2af853adfcbcf626d8388c74a230f817a0060ee9245fb1b206bf0a95ec870447c8aede6388b9ef058ac0d15194e253fc0f8327d3978e086f973526fffa95f5527d7490a2ee20202b39445ec2e75d95c8a067128317c50bf1ddbf51a19f5c3e5f90a2f5c014f0db187cea455e05af77965310644b17197113dfa7915c8b60098ae3e19155322d8ba010dae9a5d6584df2e787e576b9cee8c918f4aad4bbc054e08444c074ede3491bc01ecefa626646984abd562c8f3b8be5901aef28bf1be9a3cba01023d2c524912dae118b18f6182ddd93a84a5bd7d58c9767301782b41bb92d253a0245814fa32eeafd4f319fa254e3cf116adca9025a24f10ef3503548cffbdb88a3115e49a3ca02fa8a624f5c416b9650f559770ecdbf4e34d980f162163a7eed496b565de626ea4456f84623fc21b4a08cea221ffba63190ca4f30f0aa5d7612fa36fd7f217e7703469f732abcfe9ad6364807e3e19fb32307b89be270b67116247d42985642b03631017abfa44ff5807948ff1674d86469f7529580c2aeaf82f3a21edee1d8c1642d1fbb6423e198456e1c9a6b7c24e1316b37e2adb70baac2d86bc667e14c5f47eefcb5cc752c8567a98d61fdc1b52b94daff690f0281eba54c6bb9fcc575287569bdf60de1d238bd78a80492f7fc2f2ad6dc80342f73c8eb2c47149f16cc4a83856616f1b06c60954c42811a0a2177999b231d3c76cf91ffc27fe9d40d02510a1d27be89919b807bfb88ad95ccc8dbe28a9fdf848aa7073bedd6bbbe21ee812ff39a77b4fdee4f70ece0bba4dace63aef8c3126d1a819913fc327019b6f1e16d9bea8fc09547c853bf5da74edfc6ba2febd79e4d23f75b24624e7f9e5d4038843e6c6b0fbe8a22aebf9db93546fd9c7461ee844b950a1998ce6d3a378d2cc0771ad507e69fc83fd94fba4607f1259f93712dd8f4e4b1b018044fef2f4086a15da74925cee4239d1086db34c80fa0bb7d17739d72377e75e2510113ef4e1172c84ce5b2782a32da7025514c495787acfa79b97fee3149100d26c6f455a1a7a274125af23c1bfd156effba8f40be3f2b7b197f2449cc2e72809789e0b71d0220fc26b48f966d1eaf1d894c056d5fbcb6671ca5b96ea311ce07a7690052c360c4e5f1e28d9fdff27e9045f6355f0ce550b98d060c4be6d8a98e7dd29cfc2bb3eedcdaed9c8d9b87a0a6c341e0cde23d7cbf3bce767c05e4aa92b8c38de4730ca456e8938c9cb0052c77605598e87bda9a1da8c864c93c0a009a99ac5c8a94700fbbb21c52fbd236113b02fd66851fa9b3fb1c051d45de18c499e4af6643676ab77d6fa105c304d46dc18923a78511ff2f6891ef781920970def305d0a8a1d7fa274f159d795bc4d04fbcf01904ba862df41d4dbcbcc6ba6ec3b1570b3e541513e9b135b069ea9323ca884130fbb2a80de50c2726981becacda75e1c2058eb92df28abb665c13fc713b20fbcfcb38d74dd2813dd35860b05f20cfcae2ddc0944136a0a3eb2f7c056b16e1e7341a839d2c48269ba6a75abf6fa33e79306f89e9534b98658213c7b181f9c51dea0fc184d9aa9b90a0d6c63050e09e38ec9f6a519310316928c80639387b3d0c1f9ef2eb7c9906b385947ec01a8ac2fdba082310efe38b98bb4293b281db1b1946303be227a990bb7d1919c8ff5d5212cb1c51717766565023871c1c4a707b8f9d8b3e933ba80cbd934c4605d01c3c630bc8a71d504da3726c60f5a3aad662e01d647c5814ac016310d56a739119ca28a75ec213cf33811b13d8310f1712b6ac15a8cd940cdd094dd11d1d37b350316bc150bd31183702f406eec002e4e660646414f78dc60a6e8d3c8aa1dd44b006211aca9bd78e5b7e08ac3f87493a43914e68079fd55b40063b8842be75a05c37d26e4986c51cb69357365dc12ac4b2b05f6ef220389a8eb04c96146af22e15f2ef79e492c8518a4f3fc969faddc06af8c08398025e9be348ee811d314be4d2353dd10835b0b93eb3efbf0c8e43865b4b888f3adc6f4ce1d2e2597520354373ea8f1826e34bf12ef8068727b53cdfc1d94fc555271443c69e4b8af699804778bbfc3b17a3f18846e1efac76a2faf0e2bc4cb3e900038c1c217f6f288d6223a3e8d3c8977431a91938aae5d439b874b0d45f2edcc9b223febb94924c30c51f1f4f32b8ad9fa61db607b322239279e9fc99ddb5b466616a459ae23526d34310ac12eb71081d2f4bd67ea07f357f35a2a36e192b89f69515d830b0db0993cf10efa6de93758b3581bfa4341d4c730fefdc5c7619f72f6e2f29297f1c47dd3a652d5da949f0de00c3ae01b1826adfa3d0925ea19837bf5d59e0c7bd74cbe2116b2271ba6b8b283fc935550f1ef9a7bc31cc18d867fd03b738ac164d6a7524ae0608c006495ab48f25a0cf359b982c2aacd98872abe8abfcf2d597b4f0299fcadf2f6723f963eb8027cfdcc8356c0b31550cf16b65f41479676065e577218bc78f473e4183890c807b74c0d34c1634bc367cfc477558812204dc77a8e9c4521764cf0d422ce56f2040ce6dec2a358e055aaaf9690ced7517868ba19983ae56bb5eda06873614927efc8120ac55b080707cad5e72552fd5c094640de72213014a051c8535a44f11bd8aa693e13114aa8fc16b18b8f5018b64d499c3e23f36a99210135e95800f41272e4dfa286201c56aad8c6f4df0c6b7537d5fab827efc0a9d02f277a8ab82def1c2b2648ecf6cecdc5ef9de2f0e3908c1dca0f7e1c6a031d7373a68feab69722061414af722c01be4b94edab41693c5a57fc78e4e0f0b73a6b462829e752b7ab73030c6061f191c0f9ea3a14fd59c76ebccf1af0609e62239fbafa876152283361ace9d0c76d8f51dcfe4a157f5ff8e123d5249be064f131491f2cc6d204f072af5662436ac838cf2ee9f79dbb6e1572fa28bc498aa5fa23bd728f39d41f4592ca190692ffbb621d2f0804c12944cb7c02c559b661e8bab3f1fb7e6163235f2e7fca53746860ba5ea5100f79ba5a523a5ceef22ad35597a146e97f696982eeb3332a65afcf59b6c15957bb69fc19389da72b19d5ce0c4d00bda520c9425db18cd498e4f85d9beb425a47442cf223d67c8ce67ac961be5a7d157e80fa344cdb7877d04a6a6115a3917f85a50d468e724eb832a1373b432b2cc5696e7593945136e99ea5eabd90c82e480ad40f60325fcbe42ac6221e46f49368e03a5ab60759221c48f739032b4f8e375a5b7a5695303fec421bb5e81e2fa1fe69a90cdc6b7ebc874e5517dc700c011ed88bf6d013f9d8e275950b5cd89d20e1359d659437359f6ac914f051f7210a80aeb02e37b0fadde73dabfa8e0d3153842722bb8a46524f30a6ff75fa4ebdeb1431191b6fd8339dd1b82cae91c11f72a53f90277c9de0cba449d613a63b21d7210a21a9754cf029716123bcc4e9df062086a0583d012d3934b0d6bc70566200691f9912eb8bbff5c368822db974d14a89e43e175af56873eb6dc044f2c761e563d6efbf3269fb35bb3f068037c63ed0ea327c6fc4338c7fce58fa5ead61eb7da3a52d0b457601bb1bf2efbdfc181daaf47c466c6f0df434be8b820b248608009b940451bca7b1510e0b6be58277c1e474674939446a5d212629aa28bf148e9a56c549a1f155f9d80cfab0a8a7ede909cbad62fec3e5ea070697cc91f7d56b84c53df1585ecec4cf6a1cf75093bdac35d727d1d08fc585db7973a97b0f7955e5353c0410a2da4803285c9fabd2cb428fd207a3af1b4124fa249e1c4f57b9248c899167628b6917ae86739325e63942eb0df03cbb8ec9c3278f230f7f1c481b7e0da278af508abe6bcb76e444a92bd6902d4d848830a9afef40fe88f5a05ddb880395ae2ba17eba2f0235f48a49a6e309c936e2febbee3f320f1eb08607e01eda04d2fb063a89e1debc8ae8edff8aee9f88dfbbe572f8c495b0a8b59dc85a64fbde6cb145bc4e2c1937dc012d961b470bb3981b7f724b232831a1ffac8840bb6511c41969c288ad3290ec31847c225882ddb05124668d72b5e5bab37214627cbe01e55200c7d7f87eecfc976fdc0c1be866686fc22177b26ae2b6242bf63533ef000d8f77ca159a5e00ec1dc743df2f603512684c6487bd4c2fbb15725d89cddcfc4d5261b1b3f3fed6e3beb6443f77350e9a615bc58bb6c57d35efd58621c94c9782d779cc7503d1041548bdddf607f4755e7b2ad2f34f548bc0c755ad1003decf2a022a81b05812ce6ac993045bed2b67d95bdfdcc19de9d046bd0984dccfc7c1167265668767ca5608bf42364d77ce7ee7346bc4d56c58708ce6c1a1d0723c22cfa710d9156086b804eb2aef1f927a1d70d89fc91990d32bff2cb3b3513ce19f6fd8d099fa01e5425e20b2d5cd3cdfde6c3bc0226a2014df1415d2ca529ab87d2eb3f7b3dd76c94979d1208bda1d6e2d8404c64f823b604d5c9fbf402c2a9ce9c7a3f3d36ad874cef2f50fcc8a227cd247b5e35ed7fef43c251b4459de5e301f3803e8ee90574cc0d1f00498de6d07b3a7f4732b08a4515c525a4581294ba6677d1ae2cfbcb7c93f48a2f953f67320d5c4945c938c36dfcf792c63bdf152042f412be5c9b1c6c44ea7b1c6658ae99622f001ebdb739b0d3f68017266afacc3fb8a18f19a491c43216c94ae3c357b48c6dd494cfd425c5f4ce88d54afbf4a4ce27cdbe0831fd02ae50c9c0b5f9631bfc7705600493d3fdb4d5a16a119f5c9e8008198d89d0dac7823c9647145904c507b5aea173d6774e0ac3e1a441998c62046816071ca7d73163caedc005e58f136583e6fc7365107db40d5727fab4d8f42f789ac68619fde28ef291cbad096a670a187af76a9062aad566e75b915e97a85097b5c68f35e090fc1385f4a190ebb3d08277a451bd702a51258d2f24c08443b933b591b76ea5dce13d46a16ef76c783b9c7a4d07587325b03d69f4ee3064a3eb03e6b9d316dd6c7ce4a475363406cd0a74f1771cc8f4c8198d7d298693e016ea9b485a8b7a909780e052e03525d6dea1607bff36b67217bd990f88fe4d5dcb7b0ffbdd77c594e7331811676ef73ea414f4ce68592d9b74f1bd3781a0f2648963e1f11c22c8d40395e9af841da288f88511d7b348bb04dcd4775bff7e7b8d6832da422b3d7fbf8fb06b2a7a407432fa72a1f6e968e7716ce57a1a0a34352d094b75f6fa90c9970d99dfa3ce58816ed9e2475bfe27f04926e1063a50930ad39c8d7b964d47c13dd50b871643bf7eac8958cdf9a92f2e540c74a9cf899903183034145e83ef520e7f8ab84235da5635acf0428fe0fd7c4aaee2aa04f3020c19b0bb911debc168136de9e5f473dc0f319e6b9b9b233cafe62589344b3c3c3866866e0c62e006ffacc827817b2e3e006fbdd674ab29a3fdac6935b4ac283c5413b521e5bb9bba04ac9ea1f85e7174786ab939e856b8bac493818f24469d2ccdecf84f1ed6bb591a2b956be5863dc90fb046224f9a26e90f51068bf60549b0a15d38e734bae6b470fe8b038fe6293a9d2ce6e6e8115811413edc6dca1d575e5bb4bab379cd6232d5493e39ab02d03e1cbe88ad91fa92e8d05fff237f3f5c5d2344755564c7ba5d46d9db837a65f425b1017972901ade4619a57a0641a1a120167200b7ccae1632c921620d888330a321f565b6965c1137f5e59ba16d1d6018f7083ba09489681e86ef903ab27fa71f8bd73975f5247877c318bb836feb51271f0a2ea7724ad12d20725ca3659d5b882e3bf9e32ba9d46256f8efd5e36f03f17c1bc3a6f41c2ed4054fac0a9af26c086ed57c58dd223e8e9d62ddd78c51d6531613b9239085921e12fc508381b2db1d5b0a5e0bac889333d22025072ab06af4045d0ebd974204ed994a649e634f4218e36cd51e626c24419f54136f71e6dd1be296d95ced5081f2392d180cb0d7537599549ed607414d31e4bec472ae1af4103573e299e074abbdc3da6891cea0e08a690c06977b6fda240635679547965c161d7d20ee962e4adafceb11e87e0c2d1e26c0e7588091a2a7d132b18452faa8ebc760cc62b473b94e28b57d0df314aa5f88ac22900517d14d0255705618217d2465e6f2faf2ed3026f46216ece491a85a97fc3adef75500b9e0fb42f14bc3375df4784410da814b74058bdb501d6599200f63c15c80ca001d68e6855c71cd5a94848f8a6cd0573b32aa359c4e018292aa2f9597ff26d8943d8314b69b17a39614060b2031f5fd909b888fc1ab9e7c26b68ab565c926fb040b285a45164238483739024eac3e373f25855fd58e566336d6d7056949ae32abfe3560bdaed38af9d0316d736170cb7c718b224db0b953c52e4bcb3eabbe0a39003cc3681ba2ec65c99186d47006fa7d19ff6f6a838c5247f757995019ae7aeecf1d25aa627f4227bd100901bb82846f46e8c13b8bdcfcb06f56f6830e913ac0bafaf8c7a73f6d1760725541c0e36432b9bb585cfa387fb4392a10fee08acc94e04ae8839664f7b222ff39abc5dd113f2f42dff0a19a0ba014643242c84b8e85a734ead085c7a89f5631b529ff1ba2130a6bb1621f25ef3642bc2c59e8f0aa5cfa49d377db526878fe954f91211cd662ff3f7930aa825ec8ddba117c46ccf59cbe11ecf947cdac1661aacf1477fcef1f1be5a950b9de2606d07bd4cc3d3e6d0f8783760a008692b076aacf0e13039b9457d9b84b173090dd98a94e0800b52f9ffcdd72358c16be922a813ede7efe9059036a7bf2c45126c979ca0ecba8551d0e0b874449f3d99136f9bb3ed8ecdee4763ea8b01686bce10e2f43d9a5c3612ba03edd73d4fa782d39cc628f6dd81048822b76dcdfc24e55db13adf24fc0b7aa0e76db3a90a7c401fc846c7cc589f89c170c6cf564932558d22f91dcbe109af4e0429cb4d6e279ccc0c13b6eb863f501caca0b5530ac7d5ad4c2be96d31e881f1c48d07e12c18637e76b3b0cac915217102786ab9547d49fd7d0d3037505ca0d18ec258673a32042aaf6e31753989b98f67a152157afa317f4cb9bda88d1d618a932d70d4a7cd19ec7fc6f3f2d987cf78476a1bd349cefdd5705b2200bdd0da0b369189a56413050a03a46d29cc08654058b647fde4c240bb18671f871482353619d1a5dd1c2eaa788011c4702b4c0fd8f3cb1ce191986d159564881507df1a50ad6dee7f6ba3180b2f77c9b6f6321d266cb952105586d9156b9bd0f3f466152dba993dd6efeff5aa89d31715f35f6b978202f4bdd13119831b1faf6d622fc99545b48f373f8ad3089f64634bf1c1ccf37a1edaa9f027af713d1895da19c0826e6bf33e6931c9a88a4fe0c01035d068c148c7a521db199303b21ceeb0f81cc05183f2d38a646536ee9d27569d68591b5ae5231464b53584e009aaf09ac4258f5a84191e24aa88e6aa5f5ef3d2a013b2c13ed6d096072d7d163ad5cd36566afdf76d70db29662e0425aed7d9207a6a29fa84fb00aaff6e4b27a6fe672fa68567dce5bb73a3956a0e6669673edf2370b84c5c22136f25a70cefdcdd33e563d9bf6b4299cb6b23eb5dffa2675996cc29ea82231313d93a7fea48e607da0863a36cd2d659c480b43c4b0c977749c2cf524bda29392f81a4298b6be15fcfd869c13eb16d7ecbab54efb6401cd55cd7fbcb88660da23d2050afbfc2d15c8e71d63dbc395793798b079bd72c335f7db6276fdabc112b18bc37fee71db204bef2416d452bbf93321f84b5a7a8ea1d228b7fd03a477ab3d1bbc35802d709ddeeb1c481747300583a833d9ecfcf9688bb96a0dd6e572c1b59702a446a47e9006d200e8750523239975eb026fc18d7f1fc14b6c10422102c941fa5944f621215e2d8c7a90d3a2b62d7cc5ff65595ed71ec0a365b10ce5b0175a1f945afa4124cf488b658d2da8094d7e1674d8bd9bfd4164b37f3223b44a462ab00c8fe0b25b76c4ad6b5e1fd8069e2fa5b33895fdbc0f274347640d80e700de39c31096e064eba3b7a1a18378034acdd7399d774e02897baa430b1304e495101d4e60450a8148c0220567a798e49f2663a6083c6b86148f0c10ee7e830b2d7a1bcdafef044c868652aa0803df32234bac7017651db47480312d5b08784d1b1f659a71ffb64b58779fc78ac2dcf4dedb620c256321936704a776ef0dcc1ededa73b648252ca3b8e4c41656befc232c19cf46c0de3090f5dfc39dcf23aea60dc52a6902435496e323cf5ae3e4c8c62441e9c3e1cf96277643a66ae4eaf9f106b52589a68eb4e5c753dcb0e51bb14c6a186cdee03a9eeab390679fb8131cd3a095eee0402dc5bc9153ce741bfbe238aad2244dd53f0d4702472d967bf2811b6aaff4785ae351a33020c45eefd707ad8d5ee8cf6a68b15661fe974c9b35e78b0aaa1a9c051f9b75e015bdf1d4c3a74e6f1827627e9c79698f59a82eb542133fe567e71c03aa4b1dd3a73ca08409393ff83f01e10d597bfd600e874a7981bdef0c3b0fa4fad1f571d7e7e76668125cf6d0fcec530f64c174edf6029668979ddc7bc930ecf166b6938f58446b3088cfce38a1d1a394c88ef0bc145e71f47307a60e387b561e74f641c81282ef062355fe08b2f1cc399da05a6ccf4757a93f824ee7103367ed7263fdb1672768ade274c247a7d441c4ba924adf0c8c2c0b65403c4fc083a443128bab0c7c11f150419a54f2f827943b34d64c51a2ca06a63d1a767cab59d50183739f8030268db1cd218d02824c446d6dd661370f69d296723e06fd8d03b66d6860daa7de6ad85bca6957046b3109d50d5fcf506cc2af3e72090c858d215ae7e88a9793f096467569546f31e01ae77796b9336365cb61a1cee438e589df5f5b1a829633d83844e9d96fcf23b1d838c3f685ef3ec03a45847ce296b5476ba113dd81f47f2253dcf8009d54d14230e4ab7350fb909dbac9279b706ea389d3656a2453e02840d5c96dda7c8a8513115bede321cf12319230e318415cda8c792b143df0fd04026e40c45a6ffa8cd66508513e58c569b2f0322f14731d28614b03353bb5b7a888bc40a5a7d819b4c33d00a19601b2a05f1e2c5a3c8afc3a39c9d056203d767c3f86ed3fdc92d435b597412763c0fe52d2df092bdc3a077c96155be3bdf4761546a45f9ef4c58250b763d3b8239e3e3cee889b222d93962331cbeb53d95e2dda8eaad9bd20dca2e3a9ae4d6832e1edd371c816d3d70f201f2677f9ede77691032e6b1a5d41abcb5ca96b8ecbb15fb6abb9df26e62da97020254e09d74cf98ced8d5e54d4d60dfc7da489dd2e07ef132bb104bded6f811f28951ceca23beae43f786d669f7679faa388b95a16db8826939a6b04d78b282c9575bf1f610365136b4b4a15d2c465a30b616a4a8355e8f55b1702fc23b887b09a42979523c03b94b4875dce6697a72a590762ed3aeed2fd7ecaac59437760d204ecae9c2b9a952391f169d1b9b897314dc4bb3c2b70a0a610774c73539be3b5be8ea074a394d18c79a5e87c22bb7cdbbd452b8dc8e9e11ae31e36734e318ca69935c0484b35e3e9e13112b099dca41dc6ddf14d59512d44bd920c6406025c6869ed4c684719e01413c40958d2c8ce1a26fe15790be9eed37eb15dd022eaff0d0632c8f5ba4b4f466573be610251e5dcf591f1001e3c4a01754bda37a071b508a6872957810984f556cd92d40b44d470c9167b1a52ac41e397ea7841a74157f828a561b97d082a082cedc359254de62a6a9cbc1ba4faad34c4b948ef92478211833baf7bed07c85d1897b826b49c0c67d72c933458e5418e23b212a69b3e913c460a920b908cd9f8c461b1723d11e1f7d78c1028ab8afdc93aa0ba5955e763d2ca4bcde6f2fc481cb7df07817a526776aa01c6505365cfb3352a7b24b18420337149e6bd639f157f680e4abb342fd7ab04b9def7bdd62545f6320f01635544152129f67ab7fc975ee9bbb5b0bd7c0187d37895674d3ae1ca5e1a6ac19bf2687d4cb98b74c8a1c306f3cba4e2974867355eb204ff834690105ca63e2c92a6ec5051b17039ae0ca55e82f2891c4f4aa171023e5d65e4dbc153e7bc7d05a88ca6ad5a70d3444f73ead2ad529dc94be85e1a66dd4434c3ee947fd8c346a0952e8e158c7e9024693498b4220a4f3e60c7f743441893176de21ef9f244d805cbf82670b518330db3a115887163830689581cc197b7adda69efd6210bfaa7b081c666ad88e40d0383fa3e058d0bf87607311dd39bd29ea9b0b3116c4f1eeae9bdebf1ad6626576ecfae6c0e9ec14fd58de906cba5749939dbf6aab658ddf99b3b8cc72573ce4e04112493cd77e5f7f8dc17ba251e3fb43ea76fd606636452fa69355256c67f7ecc2a6040c8312c9a4b0fdb6667e9b3759818f01ddc48975ab3a957cce5f7cf63991a3dec8296fd7d7d57f023bf21c2e4932aa2cfa033268f3eae73783850607f79a1226164486cab37d51f5f63b5859f5284b3ac1a812119bf876d0eeee483c8e99213c3efaf46ec18964228a5e052bfc5ee6c66ffe27208802701b4f761157e67d1dfd27204d1653c151d71c9b524bf45571e9a939e792494cf6637d8450336c515a0946eab3a0f0bc9f45958815fe34636d6bd105f252b5772214109374f7ca5c72e7183568cabdaa298d3ad2be28e836df32e56dc0d9e5fd75425708d4307fbf48022af9feff2a471bb5bb5744aef3ed957bad2417e1cffac5180630ac896f1cc197493da0559ac756509305bb09b2d91ff218f535711666f1c39c5733b24fe6f327fe13b9a9968b87c7706875b67804716699972ec7a48bde4ba64204119ca5a3afeb1b5b4601fe3092922109f0f3e3ea10d528e38843f67b1c8767c299fefe908b82771e6e69de7a6c279840eed9cbc561aef390bcbec9457e0372722e4338b9462d9d242a55f551074529e1143a848b24038f0ce55a41b81f710c3d0642cece374bbb3c67dccd495baafe3377376da8fd75af87a55ad7d4eedc4822c2bf08d80dc24668881b8d9e2a73a55b794e6b8b204cf5ba0952cb455441e376a7ac3ba2666fb528b032c83faf62513227189544518995fe99822d72fa78845b8a2afbaec56ef05bcbaf8ec2e0d3d4257deec6d04a03de68a75e8570eb512549e061947da657a702cb5cb6d3195be5b8af7f458f298e7d44859e169d64da4f1bdb272bc6be84dc5aa7b637e8735ab7ae8df8dd6369c2da5d5283dc0dbc965ec7e81235309b2c04251143e6d7ff6b76260b274371173245e7a9d19048c637ee21bd5b1534b97f5e0656bf632af02f6098d44a4cb49a1f4bc0aef24800c53d1418813ae6d01bb04bdcf539e4826bada8b070d8bd9932d28fb8f9a91fee694b64de4a00649f1ca599fadb0d5197fe798d59bf693323e3c8126ab9cb36e9b03e2bc958b90b5a222e47897486747a2a60af7a77da069e12b8962c87312473e549edc015515b5a8ba83fd0b369a7425ea4b5646d4439608d7f5956d81a3a593b14470eb07b4d4ffd0c61565929a0d615762b4ddd1b5c6b293a7d9e5c4f35bb760692b95eaf9699d8ea8cb419f9c28e2bc2fd9c54b33b5c62e8b56e977b19bfb79c6ea29735f6ee7aede1c7b7d44db0a44e74414b0c084a3bbbc9e12e30b7e6b20848fe70533fa0ca21a7d3020ff94e2dbebdc2ffeb02488402ac25187362e8873599a380ad412380160c9767e1f97105e91b7dff484a29f0c36942697731e54b27eba852184c059143440a327c20b79af431e3e1f46a8438b99dc94fc0caf59245841800cb64d34a22b18a723b8a64ff40b4bd8cb53f09c5c9ad0ddecc4cbadf93a446b383c834edffbbe4f50bd1bdf66a113b806c67ad4c78d80cb7411995e0686e91db1e88b5f4e20affcf4bb77a5dc36b57c8a83d70b62e08fd80498f7222cdef37b808d212b4b17ba29c46eba9ee5fccbe5a9a1bfaeb35b8775ef8666bd1ae430b6799f79e839d3a07ff5d894901ac08ba427ef1b1bf440abaebec77d6b341960c13aa1944892831b1eb7bdd6469800d83e7883b891676f3e8bdc39aa0767eec046201ff4483131cbddeee35ae42d0c6918883ce0533c750cfdc87e761578d6ea342d7364268bc4a670cca36a4c54e92a947afad338b52ba3375b25e317e7482e5104ddfc8105f0b3b3fbd6f87427e35d4d595b3c42e501fe3454859c10bfbc49753609c9ceb87c6292ff9eb5f9778b3ad42825a3620837598572ff38f766fb6fe28835e295c179132c64c7d704a19e2de3ef92fc3f3e780e991acd4fd17adfa2b6f042be790ec727a047664dc05fce0601a29e3ef5cfa1636f22ddf02771e5877cfc58684bcbbfd73301b143da6eed280f7cc598d4b25c42069413c97bee1a77c0446f5c48c89e6a7a30a0d39fbaf56a17c282211da16f65fd9f0a8dc131319f4adc9f885ca4a416946a561ff9ed68e117dd60fc58c601c38b0ae20ef05457a6ea16bbc91e2f3bf1a92ef274e20f4202557c99d05460be6a5b896fa29cdec5f07ceeac83a9d91a602a97cbb45606ed624561ed10536c05933a816170307bb734bc3c36750d9a9ef4cd9ff757419d5179ccf8043a67a7991d3053fe3e3bf0d0157e144b0ec8717913df3dcc78c43ffa0058d58bf425494bcad895bf24afb13ef1b7d60e8d752c8a155f875894e8016ab1908a73284116335fbde108331812c05f2457b424e670c1b92f25421fde1ab12c05e869bbb50407ea85fe9199921c6859ebfad0f11e8db4cf013c3796594b064fd43eccc63139ac14f102985b95b43f069c0dd9341d09c801e4f113d5ae6fb025bc1396b2b8ae5e5a73abeafbbe0ad96bc20e1d1b79eff01acc609e0b013a4cfd264ab80a6f4c74928f9ac3d8b43a42ed63c28ef8dfd92b5bdc8be1492813557b08311214e4a641d667c0da7175505ab395868e75d9c3ce572d21c3fed7b2d558aeb6f71b605e0b1ec351496f55340d8d08242d0a3bb03d6febc0b0e05f7951f832f7bcc840bff48d72c39ac4b1aef836892ae2dd6b5e5bb7d983434ae0c9d91a13db5ba2ed3232eee8e7ef8e2b8fd7fcefad7ecb7227725357dcfbde71fc006b131643616072931fccd57bec0b14bce811fd9cc903c6fe765c33674449fbdc439aa5422b884326320f2f61b7bd9fdf58f7eea8d1b3082676a67a15d9474efa8785bbbc962ef82cea0777792c6fe50171fd2c2e2b2515ead1365f7172e4e1cf33e01943a10429c37de0eded23c89ca7dfac32aec92e3c2608e9052d34dd0223fe75997c4ab796735ccfb1c3dcd22ce453d7f64724c3d29329a6afb28de8323dda770c944d23fb5d3bc9eebea316e45ca7809f33f3ea209ec60d5f059f11c5f61f77f612a2c82d2a89eb6f25b19d68c51ae3e1d44ead7c1ca027f0ed28329634be645932e1ab7c321bf27b8cfaf9aed30f2cbf5ee4478952bfc9a93dd241f6b045cbff0481cf4e1901becd0e12fb45166a8f17f95823f0b1acfd56c75814e8dd474bd53b622b19152650c5595cf3c8bfad7a8703985105e8aa6c0904499f1efeef05641bd28fd7c73785e60f69ce9c699daf65af8b372070348e5c04d5ae481e9417f76ce4b64532e2c1040ec0470552007846337be17110bc3fc7c974b816f6bf9bae605019906d71635477d776418ce1126392308d7ae0c73479618628966b9df56ee5180d65ed49743f5f5101aa73053198d8ac9046aeb6e13e0f88217ee5dacac33fa57b0b835d71b894207f838712ee751363a8284258afdad7e4b3145b6548047e28f072f87752a4b7730afb87ba8746d1fb50e054b84019efdfc9438b9eef2c191d3c689c1841146120ec8ebb8bae055e56cb3566dfae1f9173103cb376abb766b4200a2f48845dc0fb2be92255f61378ae60af485c1ff9fb807de5e53b2a8ee0edacda03c5e5206a69d764590a5fde438d12418d600657bb3ee38398c217f18ec4037e3ea4826ab2331f36811dd0b65d019ad1a69baf2c1de555086bc9a8937556f0c4b7688b78ad70e8a1a684a2dcc1fc8f71808b68f454c2bd58959c862d94bf0f16c3f78a2d537388ca060d354344db80ee695bb0a0e89ebd824df714516bf64b9101c62081e4b376f00f929a58c09555bf1112908e362589b8b7978716a97459a263ec0922932dacd74c2c386bfa80400cad5f07ef35fd4a68705c0d49c1fc195181b0a2a0e6333a96767f7a397624720ddbeb4242ccb68197333ef43ec2251e4f7f2ecf87c0881756efb1bd49972e320d354rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootjava-21-openjdk-21.0.6.0-150600.3.9.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.3gg$f@ff! @f e@eԔ@epee@ez@e;@e9@e/e 0@e @fstrba@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 upsteram 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/shh03-ch2c 1737645500  !"#$%&'()*+,-./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.6.0-150600.3.9.121.0.6.0-150600.3.9.121.0.6.0-150600.3.9.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:37171/SUSE_SLE-15-SP6_Update/a781ba091533e561d38f87f47a0415c3-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 linesTxMW+utf-8834ea1af64bcc1dc71b5396d97b47f21ec4993e39c0dc699ecef6f034121ca7a?7zXZ !t/xd]"k%qǠH$jz:=2 >X&^b:qCP3dY11RXbWNQW΁ꍞ2G|C}.+3g<#谓]+;7L8!R3I7x>*f+P؋u=:azh9,8a0@U9utLGb~io2vVgb}g;VO<pL?[j@XrCLժpzٰZZ s?O.4*HTT E$8"AG*.2o9R Y}v2ld]ѿ6R&**E40w攂-pjOFLe)(/ؿށkdUQj=tmxK-dݙiNO4E^(iD?dz>}7 b1wW'x=4PSCBSgۛ'"Ⱥquӻi^>绿S^h6H G rn<,ZUqEMѧ*=*gPFE;Dۅ @aRA>(T DBY}X2K\ijztJb$:E9g{wH2Pf]\9rK𩞁+LCWaTn>C`Le\B1VY+"fԓoFcBPڀ& owUV8 t\pxGLӬ P|DY~߸("&|,M o7_(}إKCehxߘUR{D)bO.rx@_`CPY|{ԵO)&3k.qQ@;~ ÀCxNZc͊`i*`f8/:.'ΫU1_덁zS}2jޅ,EbX'bBHzq[AjBEu| ҄2vQ|M*."YC+T%nc4-#f- =rmYg6>/ #vX(u`s .}@!^77feS4SEx NVcRrL^ 3",-<(eb6\"m~=qIn]|S3dI'k{HJ:COɮI"ϫQȡPM $[,{Ha ./wWf1EʮB>wŸWw/ 7][qh;*e K+y؂a~0|p_#VwiO G4+5ǖ=8/ kus 6ܤjF1:Q#smfJ[TzC _eK!;BMHl90l9d wpJfh`0>e|.lgdNfa۷;CćUq4O'|_]/@"soE4mlSA衷VjAI}r29 =+@BaY!g8euS_DWFj{)JC{PڼҬ'X.͐.w2l_Z!5{9w1 +4oE_W*{Ao"v,qK.":QM&/OSoӭA8#Iˣ%<3`7}9sstҤW%̓'!KyHF#sɐxH/{`!t6'd7S ]6RKձ2WQ`J+~c[F %Dn~:,N:e,K<bcI(JHYgئx>c$XD?L -14sGUzP騱E3QVθ+7rC34M#)K1qdu*o)_iu61@Q;xr{f-_*e ,[.9-< Id˙-ޟyd(3bBW:u7<7]Լ]ir_pЖʇ,*F:x9z= lzHag8>Z9cBsY\ K`WkKKqNU٬4gm,`Bxo^cPKكOE 6 ~v_R$ŀw(jEJOӺz mmz T &_ÚVoT Qnu!Ha\$ђ@ϖ{:(MhS{fDq ר:7TQ=@2 !^nj7N=۾Pli多~>#ʌgY[UI-0Q.劇e|F/RH Z嗢ATq~٫/Z'D.wiGH8R0Cysۂ~JډXN"O&QaԀݵ<ɻV/5̀]Dn..;~"k5#qؐ](M־",NAq09v*}F!$ + pGy7$[[Xp CVLg@׽~I}Aq)ғ?Z<Q2S>rt-4V!KkZyfQ|^#̂BKe)|*v8o$IFpUdZ$ơ L22?Z\-ILq Sy܏`]($V&r[;u1 d\nƃQG32rL&ɷق;Ո_\OtxtxїsW+ hEL)8iP=n>wҫZnVtZeq;_CכFJU tEVcچnR0 5Ejh;t̂62 Q.[ArLCּO;5_ Ϊ?Kg!R`€-|s5 l\]hr}NHq%݁^fe0'}aSzn)-Ap KCKr`4=ܫ9!gz`ZfQ͆A1cދ}MA|X|*nł^r1>=# rtwZɰK]H<=a5*r;i(ӂl| !DKl2y\$9QVJ_ :0QątPzYx-nZ=~ut|fIS^z B>u;,Z m>#t.a(r+)sH #@=nv+0B͌}2coњzFWH̐K-[:;Rѵ?j*Q^ai:zCoy(TFeV喣?T6h5[xc.HNXf oN߷8rviuRQ͒x2 !vMx{68w6·LW+-[c#NhA^>C(Lx!#9H0zX>࠸Oή4Sakc9в2V-P~@NEɍA<`6AA#e\<Д7Zy+'({,Usy> u0Qe^mQfՁK2H ܥ)LZT|+Z㺠VYӀ:$(% BGo/~N#)XҙpK賐G(< z܃O[Ҡc[hv{TWj{|!@tm̩~MeZjO*5`,0K1zAX(FPzfsA G7ۖ=8,yVFK\¸ޢf` :o٫f~|n|'u;}>.uwLWlg QTu/;LMECuzJ`|9DrFWIy4FHhno8"8":?AZ߄3hg^[g'Gx3zk*?nw;Rvז =rSz>Rg!+B"W0 \NYA ~9 '1P;8';h$kA(9ɕ yLug7)#qOІCqyܾpm>pl#IU9'8ҔX& jc܈KBt7ecŨ뤮 <\NJHsgvr죠oN{kڪ #iV4W A4M4-߄ uϽ:XYdeT$=f-X3UGWLH;D ={ۚF-?RWm#T Љ\&kvEPQ@ smN-2U=!Yh%rRc/:m5/um4J+żE%YxHl9yfmMq}de;'Sjtv櫛WCbu_Y Hs 5lp}}fp H>6h62#`|ÐOYxdTT5Ũ42R历ai $^wڧr')- n)M,`z<ӭtǟHqwʣD%M0aiyo+.X""Zbz  c荎$[Iܦ6[F\ IkfkƔX d m:e:Q׹VUJIQ4RH 6,rqV.°k9%6HN+:t˦9Б֛A[PAC/fI"κ$ņuSǍ% a!At.k}bE$.~\?bxZedԦݹ݇4rM2/?rzm]:M} CAAo[t#Sf`7 k`FrS!B;ڹuz&ښG>.sM@o;AUJI!/0XLRj5aoL]ke\@Nt/NԱu*_YƄTVrN"Te>7yVOgrya vOsNmrod[tOb(֝k{'RGk^S< rf1I=D ec@0ɕuE"*"N쟼@ms|LǏpƵ) B`g0[AܔG]lCOWn-2Q "0ô Cr!P Ӕs鬨 j"B'OA'lg~0C،Z7N˾mLE;T3us_P!c_"ȁ|D%e el+jZoQG:EFGVƪy/$aa 捼INk5 3ɉ|=W4(vj󊘶Cֹ6&By%%?j1σ%  C7aUG2tVCnr󶡢韶#\5k5#[ WRI)ҩ& Zbxj!WnEvM`&QAV 2n%!oZcUS:XM<{\} sRX +W %ğhX[Y;UksM%x.2C ?ef#&8 x\ ="F:7OwQ|jmK/+6w'z@*r^m:H,937ďV5utRx ]ugGsN_5qn+nl*:T0r éxϮ ^oI8O l Lev# SW__ -?S(IARr_~Jj0Zބy$D~hvN|,YU=}\" DrHLD=OrurD $nu!HA:1t&yW9(JQ\U7)"#,97~$9"~gGN-ާ,֢$G݉`:#fk=( 9.ƨ]"Jr0Jw o+TB3cpE 0ia1OFs~(1!ZmZy8:?rxCqU'967jDbS@Zm37h$niLjck5C/n8Kg}=l{L .U9+ZjM($#OʼŽ)H)1ZCz`DtBTfƻ,3(v Qk!;7Ώgsi8|amtF,oJDa lvO 1D6ƻ>1_(UG]؈U-FatG3Iǎ$\Zl3ޫ*عaEQpu'$4K!ݪۣ w1E/a[-pFۍ'&/N5/ :}7k2A)<1ڔߑf`n$w%WƋ8 }lɚm3ي *Fz榿s\gV2:S_ª>s tt0D 7oS0;Y#xgTU@j1n8( 憫GnYe%̗^I/RL8(;"A F<摨rc3X0w{A{r3L3[ݢtNN5[VI*o@ u%ai&=B4leJ%MRX wLxSkp L|yj@ RްI>hhL aZ4=ߖcD➙ZBvXoߒ/AS8ڶy!!cW-hiI08ne,h~ _A:u?!V6gσ,u`ҜJz>ˮֿ9k;@J//0l 9ڗ;V'K8>J0a"!a&`~ MQQ/U Q\fymjSc_[ jFez^H զ_k++RS#xc%lOrނw ċoXM`̔vɑR٠(>ܰ/-xO3taGh:8Ytm @wfvc-@ڛ%#f]+fqO1+Y'3orF!fXA1%a8C;ܦԌh b6:>qDj9> oa ̞(Lq צ B-\sx jDkb{9eT&QR}%8f7 #vzL=,TDQ|]໹&@Lk0)ij i^L7ۻR 췮#,׍_9p9M` U/YhľEW`r:Ǵ3O`| "_C FvÄmuݫ= w*w^9  (ptOv ;vLu4NbP~ yWFX YnkwPFB!̛Tk͙!dBΛO$+sυʉ=+,LC$N҅/l%hQH}`nh\zr*HQNC!;ײɟuQ -KZaJC@;G6 '5n <4b[ӿ=Զ fn !-u2V|v1~poMp2cO:E6O8O*-8ݿ Rfy}}SqNc=O A \]{H #ƚ7?2UbuE&p,i0Ksũb֠IpEvs&ftOK1}^ݡ&z\s4~k~jh ̯{T$ bJw=. ,U}<#<Km2]LdKIŠU^٣bnm3o}Q.ӻ+SBڡ'J[fg8xN?F(y8D*&"FĘڲeyA1Xg̈́1ݨALܮ;.%hF7ȁ0KcoHbPwr1s~ipě?Jُ|yw@7}%Oڀ;䠗>2CЅs3߈=1+o$~Ӏg*~r /Yn{9o IR&@|.jO⣰0&q6eeˁ_|P  dO#NCkRfe̘HRra*o\1Pc3-szq8Mx,8e}i:HQ2]փ:kNO?J/@W.UƐ]j-ςgY5O=!QWf@Ƒ_ڨa+UW(1? %?vQه+'~Uv8C+}?E)Aò j qsxr _|BHo<)1f{Ҷ+G7G(&dȕDr^xp%nWRtb3 \uib2TήA("N;*>In e%n_y?zs&O6D#tsWfm fVzDn[b1 sQ\ė4i3WgL.ōlU^^p372u0_Irh[5qԗ8IErl W5aw [ydA팒#5p+ FprN|^Gڨ "o6HKBU>39MGo.,xC#7hKeԑ⁷((GjXl,}/BrNcxJLxq2.2'vck{C# PT]3aܖC$gf9u)85iPUgCϳ*҃E\q7e` LA(\.3uef < K{Cwsp0+BV}k.uZJ 0dL*ԩ-C-'[C[1؃&UuNjW1OT)ӆNR;.P8,Y7ۺh l(g%?8QF,!X=1_UM 6^_Io$Ѵ.ODŽ]ݩeը{CL*ԉWk$&b,bV6=ʒƟ%2CGkVXI[Sg [Ӻ:,j\8h n X3i"Gq r6,9G;yW`߇X{ă&hܴ'2*Kg ӎclþSP'F=6IV"(}{޿o`#>([ ͍ 6 q1!)/FZJa[ѬhD[`{)UR0R bnb,YkZ\W1ouccBmO 6P+=oS/,h!30q|ڔ<3i973uHlм5Bt B.@yTjA _-Рgp]`J'GQvSbq.0^ٚ&/e,'=BkUOULa+pr ' ri!=ks u r>H};\PNᅣ~ްܖݍ|dMb]P}=9ȶT1PA#1ڰ%GTp le Ѷzi#A1ז0AU_Pn v,8(?9: QVk$RQLLb$ԫ!-ذP4~Pk3\ LX77==Y09z_ GK0鱘k^c/ji7DjjFq?˲& [ jRA3WMQ@|H^+6G#9J=+$N3ۖڢhiWqel{ļ-~o1Sc ;hm\\Eמ=s5TBZՆiBkqsLi_p]; 9|zLhg%ڋ7\]x{جeF66}Kql01:}LҵD2PĉK>bo 4p#AÂɧ3SM8uuK5BgS bI%2\Fc [G)jՊe훋SJυ/buB4͸gPl%)(UJ J%6 /uTN(!؛FXF Wjb\&Kgʡ I~屍:7QW`D/$lDQ8s``ʮp+BRz~n$+Pjij֥|ke_8}! (5Y^g21 jkzh\;^qb3_"W  [tv$yPӀh^{*.}}Sz{LX4rZ(8~k[3-͞!IqJrI]oٕz<[h1mѢr6Q;Mq7&ˋ64&"ȭ=zϛW4sOLJB6'~êF7y`D04ma\7„EڲڄػtQ:Y,uy ǩu@t\?N@& jAHNmѭ*7naa|mMeǜ"g5? ʰ\ȸOg{窜Ñ(`ƜxZпHX@(p#)jg@K4!1W:NXLjuUL9VeGN{;kei*7pXCW2e^[_'J 5-`tn48'RuZoU>e.Ut1f'=̢Y1XYY0ZA1\¿]#rWK_KXz3Rਖ uX53+'EtV0Af"J d.JȮڨ8dtctĞASt;Eˣ-p%Wb6 /v.O}$n10\3[`ϸ%)n2"8bÚݾvI^AV.îGT" k$moDr֋)E,ΠiJ9+e$kbes/O4CqAū,~a3EpMdMfȩG~zEÍ' h<^)`, 1 d)nݦi $mz?>"rMƣB^y*tߗVTX"sǧ51SfHct/lԀ6UMk(@{HT o55|lV;:aMLǬ.7VVJ;e/):c֗3J}q^3lYƒ׼§ꔷ`W`ðIvm-"*.xYE\J(HPbP 5i$PfGTB*yC0-SеSb͒;$#w'l2l%)|(`IPcwoWrJӳO?I`4硙r/u G6",gUail|vH%*umx#铸SkLJ~s76ӻ^fڗĚӌs5 )Ȭ!kN,kB7!3L8ބ͋\c4dLs#lŁ%Sݿ N(Ċ9<:N/x*aǏAZFKuӦTh>Z6}2V>7\ @t%(e8A8L`>e(O:nj:%8Ԭ؟WNEˊE'j9V1ߐo]ze3( UD'O ?tFk7MFQ#,U_@ll<S)5+9}q^RJAF Hrinz2$0PX@~jE/DL4qc%@8fX(hbh*_.m S@NlIi+5cEH߫@9fh"rkbRgTm@5K6':l>EHzmΊHXw+?:K@ݡBg JW =&t)F[yOHD,p)VlatAwvZEMyN8q߷P* Ȥ `e%eCщѽ0|tHl$|Lɉtc=}Ger_-CA 1}ٸo)NB+B߹:1 Ȍ9z0h.vk. c~}x7 *(°'ITD{P^H8c$_5*d=$FӼYÓOollC,p5rsJ@K#' !9&]™? <Ÿ M,Cwlb6h;<)컆z-BI9 54G^(g_=$2nqן>82WA`y ʪބFo-p8/ 㷟|{ɸ=6&映Պ~|ӧ*b yh.:flqfKv> )J:jEe_*fZDҶ`l(rMnaݎ$)=u[4]X ²@9eN`4 q[Ot(UC 2qjKre/uBb)L_SM%I`"#BR=w/ |j]L',n9II @g!Ji͙쾵_u`ɓh HVlih|ȯ.f>3ķK_d<*{Ĉb/N1ߌ޴y?ŗGk2^kܜn:B'KҷjUþEmEx wdޚ.}1`qԌA.DY[FI|/t0(&:Xt b!dٛhDY}Ni?Η"ػlIh$::Z2P('[0c]"VI!xs6sY׍ԟ>,}θGivlVkG@V7P@3s˨EH 1kˍjeZ/Ii W?m #TlggQ(:_@&HiV,%ʟ7@ˍ,Ք %6gN"<-9? }v[v쬏}6N-/?Z;ㅦٝ%Z-q3J.Jɨ&c.*: )īr`P卶ZdR7L* $g5~bJ PyrVpØÖ@lO>s.!%lہ9Vݪ&d  =p@QMvwSܣ$&iDU+C}G+O ˙K0T8Tqӝ*BɯqԲ!%u…7V$Inz[|DgMZH t׍e[K!6RHu'ޅ,/!8ŝP5FK?$W0R>%Z?*v@q4 .M!\V-(XLշEeK7G=>34?mhq{uDW?ΊZx[T/C(>},Q'<Yl-w^yVw5&>?h09ԝ:GoAW"jrofnI;h3YyD9JM"+uS'4FuY -ghAX)m ,.>譯Y̺ XՂQZlRXQwR癓U* @s!7լng 5eShT`j_;#d6 v"9#H=%4мvJ3K.~637㕞CrI8oYD xA#ϣV.T.AZ=̾=7Idz >xc5`\sOro!ةd -ys WbXV~Ci>ʦV2hդōrltnuaY@ȭpS^ tݻc=,䁹' 2oԛT( 6Rr%n.8p >,r(Xɉx ~^"D#Fg!A!ys^sSH?RssTy֝'KZ_vά"za8i#= 2JsNuH(2,]B` TI}޸Ga5mOt=,\J@B.xZo ;Dh9q8=epUH|Cc{UO{a& zys(vQr`R gb5YG \ʦ"ZϽ0ri3ӜuYpZyϋg-GCZ[{2!+|{/YJNe̬eIЗk[ &az"3X9ח&Sf]Uf<D/T ՝MZ- C"^d9ZX=CQL]R\iO9Cj],G`@ ‚m)ʮ3d]']V8/PM}^g$&\{◼cT0g\M\ð UIq'dLk*d0ea](S$mX=I|u{h{h\@7D\chӟLGޞq<}Mzʂ).U|;] uSmd.%&!Kk_X{ ~!DC(1f*ݦcLdM2YtSi{CS;7):-"y =aV/V68$[ '΃.ؼ\ Pk`6@EybPk.=~pz::ʊ7NgDT"hv"<JY?'hrۆMJa#V6 WHCcv;0) *xfR>sFz}?X2 G&T]BCi2|zYo#Gg}5ɱq2 ˖SV}) ATC9A_uEF1;G`+]DLe>WꎴqNt_;Ħ7lu!E ((N9Eww/p>f~eӨOB2D= vǩCTBb<1R:D[uSwdYySUAoO*7`uz4SeZ+I/ז"F x6ais32ƹ>0ፙ[JB4XyI]GN RǘRl,6Փb߳.[b1Y1v{/%.Ăxa+./ZٯG;Rh_a }xjA˟E#)˱=`m/+ J?jVD8-{:Xu޵4~ D3X祐λO &O1z5{Zo8zt5DŽV=oIBL .oˤ7uk %)MjNJѸsص8#;*Ţpp0w)2HX?w,W2{#`^V1>r&5yGȱTR}DYim^ |`[]̇F&zJ~W a?C>HKTuzRbޙyUoݶ -ssy_q>M7?)Efڴ`=-ċ@RN|0`.fb$&P:ڧ@k6&&s|W2RԊ\Px4fnrh@F\>Ns TUcM)+&H4Ξk,v+࢈8Btz:VӒ6v }.H~ppm6 9QB U9_A[gqE-T8o@˘#{jC8W %gh0O27d#D(V p- G'_c'1yC ovT$D_jOjc2(*'x|('HevMN~ DĤ w3y#4aҹ9Z\^x4"RF5xڇ,'j!\n9sѭv %p\E%b/v#;|MK`F _BOԙ7!<i\B:q_3Ե!'ZgPDTVMP/|&2o^q?kjr=tX~3x?r1SUlZ <ҥ$ r],v2o_,>[mE[]B=\U|ItZH~l@_hi䠚O;~nBv =ޑq!Y)J4\~ .X#Z`3(M+6a }b0d'iK1ue?G3P0h̓]!=w*8嵃tBBrG(Uɱh!Qg"Y0lo+=+BNeڠxQ\1GMr0t?6h`r%vFsZ6fh]ve߿jg qJ1\gSn3I-?^iRfuV[ܴ=6ey|Xaw[}A;9jxԉ$ ބ*kMĿgԀqp_.s;,@F o1ss+!;Ek]쁙QuPv.:~ Ѽ-i>=Ia:V+PP;$agBh#)=,eC:+3=?/(ƃɁf2vr½{:[-&=,K&΄Aoie Fcr]m<S%Q}'v;eѭ-v[2$1#յVܲLqC([k$|P2όpHVŢv#G9}J[PQlM/EgߙW@3/Ɛ4<.ktZP$ScӐϐ/?rTO33P=+Sq`8;΅^Ø珧pP MHo\Вbh+*>+%*>tTT?#I{=n4#zZ'mI IZUF$2CPOATOm9hWUB:_W/q+ ,Eo<((]Ƕ#}B{ifHgt˴ ̰1S4N;8@&A߂Њ/y2[pd Z-tHWIET5a}yrņO)jѱJL/G굲U\pkOD`=MYY!g4WsᅠI'r'  O)`m{D*7ZL2joCz{gAs l4b|ɍW6m #J*#{ }Gu3?J n8jbqTo7)9"Qq ]V!I7$(XZt.W*6U ۗWksu K`/Fr-[iyZ5_ g\k0)0lJ _eom.O%KK;V:m âČ|Z[Lz i ?=Zt.CێH3欩'wt0?Vܓ7xM LzD=FӨŎUui>,VwN]wx@P ;IW3m ώXՒ~X 8"z("X65u{&E#/ Qw[Е{fLvڸrF#խÀ;[St#z@6ϻI^o %MqKT-bZЬ8ңafK"A@%[S;Y4%9>gʩ‰Õ7{F^ (chӚfEXnC/UaW3EG߃ E["7Cx(Wr2#?3XUPXCQf:,/Q:~`doR/,et-3`$6/aa/ W)eGMt(Z?Cdeuj %a]Lk쀾 32G##[浕> i5TW>{kxTߡCRKQ:?h6 /&lb\@jtCUtWuL/gD# }h匵^S nv,+e _rk_OAͳ[1OvE,}]HuaToqOnX\u~q)Pvr;n d*!%%L-M0Og<6IyDZH)UAMq Ru6g#F?FVuoHr԰қx+c?ײe9qKϿ[aݦ4 Z.F__cony!,ϳO"rrO؄)ǿ(ׇwrD(ý08{=,sRGO&"[+›G7 ^sD!v=k+ eQ9ڷr)p2QyaCdXFG8PeP 7Zv.M_*,Ch<0R @2%\V\\3GQ.Csϵ3VG9^3>ifv+beh?1?mgXYyBSw)txEv4}U{ȹf ^ɢ)A;PKRÄ135L׍+w^+3\c}JKlNa !s#0#=Y)w#;lEM xhTU)[Z:0wi &ꄭٞ'{"[U, tF28WW$$={zkO4x a!$I5̇]ױc c`^HlQ=2d^I-\Ecݽ-nql$ɝG rML{(h׫\KbWEMIGtgks8 Fncu?B G]@+[bhU"+E/Gz8 wP%Rel d}šG1Df)LgIŽ 8J 9)aB1Gg)E~9ksPRW}#e7^#^0 mp3PNj`Eru!" R1fm|>|lprYV} 9K|ټ){1gbw5)ό{MCqt,IUp _4e묊lGC#h&"lfe݌SթP{[g3&tpWcda;Z(̇ԫoT9ʐLR(F J)vFu8qkgt<&8OcHV^qbt)>>9l;TnfEk2ZmYP8@=B8ϥmY<9>'d9X! dgYiry$Όrx0>(KgwĆHdl OiOvp .x.l,: ZcIaa,P2؊eadrٯ}Mwys$>-Q$Ƚ{e&RGs)f#G W]ƣp:hj'&̃GpkHrd=D@ 5cPR Vi@$7 vsCE( KrlA:1pPJʄ3^cbw`XmX% hxd#2iPzj>zf2RWl|72.l`;,~Sҕi4w`m<* gk ,BcܣDQ~E8ř-i:^]#T&ވh,v^&i庿:D2">H;8Hla_rNJ˶8̅"W)A@׫@w~;H Vq1+=xCK0@dĥ${M?4xם=KFUI\M+s?VN"-n-#w[&g9Uaab{*E9(J4LucI[dmV(h쇱iI&RY,,Sҙ0d-K\6O4b4j?O__ nyWG}N qpC ʈ[ zH:AYKR '4O^=܉\}_O(Zo;lIۡnwq~6TK)cguO<A֔ ~|u:(HGa=DNt?0}Eut[|`sY~t6[ʑ$,Žq@4 ǚb3a ^Y5+i5=t)HuBN+wl]:G #$x>C(J+#BTKfky"նz!㪺Vc}c @A:撤,[xY!yɓ}Pݦ>!%є޹~7Mvg6Bxu7R\@ zR{'HI `6V rCw6YI c [m5C5G=?vp_y|N$À|FJUzR6 9h(t]Iv'3ReFB9d7RӐQ "{݈:@N3Bj}x]r3v+ 6ˑ.Po`:1B#o|v=)B[W}APA+,nj p~~전}v[՟GLj>U_,&ÿX*ɞQln!mқѼ`!G32'.@yaq1;.xY~86tQ$̈:%OLTwI(H\ǥpxo|$~8-/=Vz\ {Z/4)% &}XZo͢t6fDgZ[0R/T0R^wS |F' =ר{/Sz@`URYC˻bo 6]5}m%cԶ\֝jg,i[Qz[e=щ)]Ț,678`c=H.Qov2(;^bJ0/Qs22[])܊$Oy<9}[3>iqq6j>GTx| .kHaZkVG+YB6v\uW'j, Ѱ E.m1+J*$>/e%9_ 'Ǽ Ř8*v=|Xɕ x4{ KRcy'nB p}n[u ҋg{#Ǘ dG9s>zGx0usQrI޽@U;}y 3\i}!뿴J5Z!GezXŮN|LjdK.j蚓11=vxx ^hA3O1-z"o;ʘ ni]~u?<FO>m0;͇VQ#˖X3k%>V~?Wj@liƠKs|7<٨Dm Ѭ1Dӛ 6Bj; v[FS!Z 8PC.B#ӲpPww <;LgjqN`VuȒ̖_6(3ȦG ?d,XA8|eA$;+31FbE-F;G YG)L=iڮpeD1"@/>Uko8Ḿ|sh[rc$XoHSqNJAk=c _9Eʇ*(xkc¤l^ K[,j3(,WJR_00Xp83n݃ߡ_Ȭ^*k)r3ׯ\7eZKu@GRx7GpۡB1?)cl4˝e6j1Ҕk;<d[_}'|ąNA&v>Y8^FVv Tn<ڒ$Ѧ@S7nA9 kQD l~x2Ƀ# Lu{5B~I3:J@$0,B™֌1)]%) lCZOTrim;DBA5&Yn >tE0lj@>KvFJ`ێsY%60t\1H aZ/0 >~yW$KL#x}LZb89R-*P~{jWR6WgS~,ZsΧ}F?N?X,PS'i6 :MؕQ`K8<^qI/̎7MzN<|!(K9€.( >J lS|{pb(/dѩvz7BgBnu_gR..fs^f4pр? qj+DdҼFƶT@"@*s*k=nG¼i;R®X`{ռtrUЂ-%*s zեG{}HIW"T2%^{su)N[*mKf孙0߁x?I{LhK~u AZ"IEf4vrpkLWu+;37#h6+*BO- PN$.fl8_ Z] #H="ʾ!5>,L]q OqfSHBzjTq9Ͷ}'kI&S~j6rMKq)\ 7Bǹ}奴dh3O1jƔuǃ>NpRK7-)_ &o6/QDUyt)mt*HÅztK!;om5՟-,m> R*;hy-p;:QD5c|]T6Wz:!zR0K(Q4y!wܻ"u83\c8!>, R;&lnބL}KvT 1`z5)aX 1΋<>xN6V:˱2* ^6]X3  ?ȤBI`1ГjSE-牣5{j ,%`9}p/") #B C=jXb Q<6\Cɢ 7RSd Vw D.EZ]ڈ ~ڒ71'ux܈++j-ovIρ~9׎X~V&{{*үGWYږ֣1!t翚h%5jKbCJ32Io, )L~nYwn2tzm@A$s6Fu̅urisx8?NȡCG<žX g;E)-9G {IC^"sȩ5&G#Z,Gy#V~8FR qĈP:1$A81~[0yN7eI<:8]|9_4𘙠G1٧˫ҫbW  $ **Bso/y5K| [l6GDQ9R0R8kL %XO/+i_wR6>nsH+N?Ahhyٳ<%D횥vO򬝈Ͽ[6^>-Fs> WqϽj<aWySD#aPKanm܏t`y#_ +FtA^# P:ؗJtք̴lp&J?wiL]@l7^rlcd; Mۄ?qyvc|ɫZ yeMyR'8(fjZ$^DU˺Ŏ#JeiX%Sz-vb/T?AC2s_j Q{eetFF'}= Ҵ1^zv&gU3"ۻz{ABtr0 GSe\Ffl5[PU4'dyЪvklOEը$ ?῟ I<W 3* 2IjCv!6VQ[.k>3EىSd#%MJח aj l6}܋-7U5K<ӇW5]N2vhŵAf_Xxt>C#i[NR\c;MZ- n"P ND4.pE5}D J-UGp11u\?_hQ9g?X+(XOrlX%UEPb92KP f ;Uy-w (5'KYb#j()A<{iYQ ЦK$ijSUL2ۯ_і0Qn("96/ Q{VgnHb~V1Xbw{t9TQ-@ 䦍Rë@HOB?lԬ ݰE}q2Ap"n38IygǃcdH@Ld. nAYhΐ׬{e;~K/a_P;= Y. vP20X?+  ó yD!ʴhJ0IUݙgB7.J[fB>Vhwe @ӑC<їѸFH\sm} }e#0Z)aP@J '2 L\Y lL)F7II ClSA,<6w!KλYvM{<(Tk20{]R<ǹSb;lzIK]fPtT+KYNtx2-N(m?+(` 0jt4<_@#tc .6+6ln"y(Бo)"`Mi++)_cS@[OZjے!T--EpgHC+?gRDqohsĬ`KvJA$ynfbw"Pp%`*ң򌹺bxmź_zx )U%&9Mhv雉'*:6Lt*PXE4B6ER 22WEVެ&+p!Y+џ5|J q p=֛T: L n6,`.+J01 tyjF9,<2Pʟ!Y~&/蠨??\ 55K yyZ\ 2DϳQdVsʌ|JfˬWoB\Ndak)>֤~Er'-Z^.F~/}M_CpbOy\4C@ڙ|kϚ%t>ַzb"WoaIJ VaL^-̰/ƮXeiW/t !W  q ̂4b#"bR先h{h'jcC }1g{X>RųG?Tҏ]ƂFQ͒;xڐ7+/6pCӷ#DQaj) @!§L3^^RP/x'~hTQa:c*>6`*-frH[ve _5\veBRxNQ71|FcIxHL@P0$]/"& 5xN0E;:D*1^/.ЛLb>`oaD=eఓ+\5oDMfBO̓ QHq]„X7L[߷Sy5dn]y|v\c;1F@K]MFQ_-ᩙ d-D )hp=ZuO;CyHmMΕk𢡊 I'ʜF Raﴲ$JlkvA6m6GTبp&zftmgrT6=P#QzC@z.%uݼ"2ԋ uw]"ZD Vs CP225ֽ3GU6fpr؜?ijCX: ~Y"M}j-YAB/8'hcФKǃl'D$*.pyfs;x$a0p394:^ҝDyfiy5 ]aGџJHa495<҆Ad8 ka=џ8J3_W\&Ksy36I=+>n5p5XFjg=X=Y8IH?'2QGFCx"f6+7D>IJ#5 C Wyʵn}{tYmzdJ!BH2ױM>&>w͡[#JZ$TdNW-31[ V0X=SoZ\RFJbnmX:QJb_r,Ǫ6pfJ'Rv-%30~((ʹpz $ُJsXH\j^}B$4ce G(uoּY`:$F{Bi;f }c,|!GX1>wID?M}~߷2vP GC%@Zms@n5ЖZi|9,T+fwu⦍ ES߲[ߤ֊# rfQ ԍTJG#q`-x/>( & 1rif&5?8ѯѵvs3M[k  x})!g"8$хXܣt΋6=cy'B9 %E-s~\B#SuM"7?K9M.ؿCzU5Vqh1i׿g2?ʂ7O4  {8<8r/tuY$H9 G7ۓX~{=*YAktdz)'$Ud]~:ųOX3gClu;aO\(X<e!^̮^/TYO8F&I^XhTѸ[#hƸ=q@F z\ݝ/˖6*e ]w Tr*Jbk#!"P'N(?ȍo~-aJY`0 YEp 2[h~3P[ bK L0փX]Hp`cw P92[~ygLA'ZB7NJݞ`*bϺ,a=I"WlnzaRE8M:]35K5t+ٚ$^ⵓkֳyLbZG׊DC-P@N+Rq7EO&S}z_9cjLC@T^IO]SҨ1g2a{0b:x zE$x|悫1bKL|Q;42{([cyKw^ "+\^=`ɼ럾3k@B3BF̿u>4?" ('zuxIhgo1cSU4l3Ƴh = ,M̮2?뗼Upu@]jt0۸!xb2xV`o;n"9L;』.+8 i}qVORH]BQ(DC7S@~WaVe⫳TZ2^Fp!}yUvGD-7J| lN^Ҁ5msfޔP!IoLqW*Q &Axk ux_i(=CMKSb 0q%wW0lD֤ GZo, "Y~x¢զ| O7ZM 2o~>|j=KoHdžzEEGcL)C!K;w hqB!bKl%*:-7G-5э_,u)[=Ug+bK:7Zeb˕OEQ7+Gi!߅OD d+|jxP !RX ;+vl0VJ!Gi֞õ=Z.1pxYF>ht N$L07J..؊!7ljXDrx7[AͿJ!e8c閑YTj[ҫ]ќA)a}%5ld:"/쥚ʰP(|`ZOP?&d<k}Oq y}@1^닖[T0V  $<5F._e8P 꽑hx(=&Yf"uVV\nQdy%BXh jOf Y/E#$YQfO7ao'rea(iIFft6 DSJ6D@{}}]YyzA/7fY%~λquWV+K-7jwޏ77ASy⣂Gݮu* (`.̽p!Q=޼8G^ .jAuVa[Jm{;VfHk.3=LI*?w%)n͈WiUw}/i]`%O{9pe+1x ƇE39b2 ۿlW,a%ĺTXR {NY$QtuL]+f09kaF?_̐Xmwn>v'*4]ւ-ߦ.ciE aٍ;b=d) DTi>zNK4CJ (H"פqn,=Y/[2)- yBJL*p~q=5󤮓 5M;P'D9 ( Ry^]RK.['}?kh !M@/sF)5eQZ%+dѸOOw:Ϭ䏴VL;p! .ݘ$\`>rh2ʋZR̷!;(j%vS,!l#^an I^V]QI|՝bh`CrkU.5"#janh<(l.-0b;8{.E/9 m+̠r̲!F<8]ƹ]hrb#wmV Y'ZGF%W>ƙwXJ}mϴy91"LɯÄ-wcEv% CJRJp]N/v>wP]}Sm@+NkzD}Nduo!a{thㅷʤ.!lX|gw+D'؃[h{Ig S,NoQ$ytKG0xYX g{Z Zɸ@]RV#}hR#eK3}XX~הK@a ?UhJ=vJ2 3pqhb0>_%&>S88CR~ l7[edArDߍSX$aDӬؼ87 CSY>/SW6B0kʂ>|z1N E&`m L\G<2^v't.W"]o PZΝ͹{'27wPo:HkqKx)926\̟.rp&l NOy1N} 3g,,LZFIkLi;7{˟t4@]Eƍ)pE?vvWҏqvo`D \[tfՒ V6_NČ'v^h_4Uӿ7 v fh7\;zP>'l.bC[ikln3.g9vYDΦZ(KCd|wNmSS"*.cxټ}جԝ! WD[Pr'+13[ߗ!L…'-Ep- IKЃmQ[r8Y3;]K+cq n:,F.-+ZƋ²\3s$쵰:nNŌ%aHq-I"(߻G1|?,nc-8chPCv.'3w灜cYQ"EA@(Pw˃L^Fglk5RH [LdDG ew1a{ߋNi|^Am=f8VIqRtF6teX) gѬ_gv#b# Zeq/)r#p74'~ sڨʻj2y.=}G5kS4>y#o%9r1E!bܓhl*rQ Q鵆 5XƟGN3v=0Gk}x凴^0 ME=d[Ĥ:Qq f}"]߉^@}y~790Td5<ۣ^g;(IF͜ys dpN ]𙁾ଆG^HO+s&m5c̅2_aeE5v[uLlcs4pcMͽt Z`*,]9꠬vNJgg<$J6;QuE4uHwdO C|b}< n`U,Λcax#U)ͷIBhHaΡǺ1FWg)sкG:jgMDD^ Bn֥|@#Y\ҩ_F=_ 3;lP,0oP ?L}) h%>"$}L7L2aVHWLpoPs,si6¬oRX'+pZN Q2ctRAZ18#Hot긪А@6&6:~ƮwirF'kU'S'_3sA01|oY /5`UBlylu[Ar{ˁ RE&2t^{8ZՉ]aWq0$*4?mӿŃH^ yf>+FncATHJ~^7 j)}++IC?#_x=nD MK៹sꂔp e6\P Έ@Ȗpk-=}XzGp8k0n7 zg<\sQNGQe ^{[=dpF -`;q[ҡ0q+FDMAu`x"N}\˒,ZdD jcԻQ{+ C3^-]Sg@@33[N[Fk˾xsƙR37R*ׯRiI/<ҝ1xꖽlPy q=4}YFcYXc^Y%ΑzHHߋ/j VwDWv(/=O0Y`D<G/[2δ²FA zp}]7)u;4mblzԪ,kj?kAa|m?K3[#Tۨ"QqzZćJ,׼*?Y Ģ%tlWv5ѰPD\_;y&ԣ-haeYus|\v6*hoAP1 $eM MtC"f˙Rf@H/"<'~+b*еgVyjcXhYb.$ *Ldo"jKa<M&&m߇zDf$%Y#k )y^JnY6O?ΰ^ڑe?~!#PPjOTGw.Ќ=aF . 2}IDn~Yrh+1Ty+Sr!kY/ ˵Hk brb|.u Rm1M3s5iem`& h^zq㗣=0vxۆ. E;U\},*C~=i<&L`).L 2E=@KZ# y@n HM#u%Ϛ64&z1I" کJ7&C_-\} W'Z盃) Oԣb %$J-=9uC)f94/%\y@)|?\daOAЗ[ˡ$gV:NH]*"|u_ꪝ>l ܬ|c/9.}pQlzOMbw=zԥ,I<y7Xcz͈Tg7=b+ l_YNee,ݜUIj)uZ^zȧqz6e6|ᜋIpj ^~ 1jUHv|iL8cxS:}hXC| ჊V\gh,)?)_~Ex`7EꈥaJCD=5 i6w5iE2Ga'QB I,4>Si,gej[YnrE @LJ6kK?z}9%#ܼseT E\Hy֢,Ny9bԔN7܇ޙmClJؒk1\I?{ki0,XB-kC[ANJ]  ٰٻЬ#D̐]Y"[4|t,)3;FPV(bLDCe-W`aĤHÆAg{9-)i m[_fIL8"Įpə&፵kFJ7>v ?er,&,sB]*P 'T[\N(ܸ`(LV|Z1\uiժ@׮jQO#ީVwLC=$f7kњGX.)n~UH&{:.2$Of!Z# SSJP j-A5m)o331_3P$XZnuTbz(#3O[t5@Op}gSO$S.}Kݶ-H*9ˎry_dw*P,eQ* a8~#-ț['s1QC,P9!ﭱ@ {'\V{ӯƤZ.T?p]2g.S?&L+Tt]k1BnBt2H1:AA*T#[xh YO*l?$4$^ :FŻjw'u.ꖤ O_h54;ETQ'\"9Dinдx] %`MEy$❱*XV:8WU#?Uq Db87{Bbia@-<~T8BKNeXNzoXLN iW|\=.yѪXQ/0Üzf un,JZߨBF 1(jl虭>@Rto}VMQ3e5|͖9l4^x7;7FRGIgmYʼX]am)N"a9У̟@g=šCAq7PGmN?%wk:/,p A *`ߎto\T5[9Z"j7Hj%`F8Rc'Cmyt3*E+4-)A7Hފ߫ <,lco3md07b6a.s#UQE¢F7E]\Փ%!v=-ey{]*Qv܈LNHMs(s;"&-GE^8v dm 2>a3*ΒXdҭ*qʳ?mc*E?(6xÇGK|\:pfFcScgu%UA+ψhls'S#SL"Q3}oA;*@.Kl^]}5GBϪנ]˚ZT 5W'jtKў/p*wȁH᫬IOp sAD>G_Ζ|v@O}],clGYNQj&J\N.XEBAUEь)eZ }8TCU !:iB&{ 2K>)2}2&G )JH2,?o1z3^_cESnmNM&%j .3GnL|F.0r7z ŨL\Es+tPujlLm&؉Mo?erwT)jxarL1:ugEB v4yB;?!T71csT[[uAvY9ܱ @)ſׄ-/aCY޸:*f^We!:f'H~ȩ}gg9R.`jElu?@6[#Mgawil`VVNDm:5sK]urm5uqWh.oQK'܂7S}w` A@g_ Dvc@lTy캺+il3-OXj[hv"Kwm09;T`b@w`"A-Uw\Pʯ=k /+[,p_v2H_=jWIQ*z0; (~nHfwT+NN} & @υvFrY0kh3;D-|_Rsp]LX`+Vu(eu>C>gT#bKftU( C,˛fvUPM>uB {8ͭ^W,쪬jBH  y9ޕG(RWo0M5:`V*QkdLoȝ/N)ʭåMʨ%w#3^+6 ^x8eLiʹ˜-q)aIE䅳 3?VtJ7K@k(Jh<=a¯,%B{x)XHaߘ?|1$ f ,! Na̯_5Ѕ[]C~(nk_rhCryo Cp&y{>sQ.3avS?Y"AMM4;L_i7CZI b}8Jꂪ7#K=O*4R2f9kdhr-rDܐz2 ,-V3HEe9A(kW=K_.:]]܈#L5{7Tcc??gwboe*k;gVI5iqџR*eGCdop3`3Ib  lwGnR1=Ƕj1C97:{[֮*d/U@i gβ!1i $I> E4`$>aܹ}cvŷا_tNB-Mfp#}oyuX/N5[wF=|mr9 XdXC4mvyYK\q9Gxbf JĐ=o$ًf}qo$5یn??@giߧLv}]dl`Fc%jkG5#CHBo6`m;\R%MfpU uu߼2i>@ 79P UX@hMKXv - ؾ$B8pA`&Dwqm}z.aJhރUHw?EN? Jn%"\`?O=fm䦵fuUcRCͳSbpqI+,_U׷킨CUXZF &?.t{yQ,TJӷ>)~oefSJ_Y\oeOw HKR8M%JM hَK8"P P#èd!B%aRۜ'ԃ2uAݴ9a q4~m赽M4J<]-D’ ,4vuc!%3/;]O\N@,.v)NS>D+lP, tˆg]8U.]Z: Ezqу4}6ƌVhH*pw[{g]#/Y6Z(dY NB*8ҧghBQͣ~UT[rpώ=vZ񺽏';xt98P%4t93ͯ|_!˂-J2,ۂ]F t r$b0F>gΓ񩲇ݝ*\ C|;͙.K&Ж^+hq5R۶w2/\E􊴫ȶ,6b?PHC+5S6pGjPzYCz=0.ːDeK%j# EER,]0+݈:h@fȟk:[Y_}"4XaCBd5o5.J͌nf],{A@v+74R%}ڽ; \pH5&GF,tO-26,>ck*2%]t-R8Ph1gXK]өGLyƯNƳO (Uv\M9t[y#n_cM2rǝ^hQm\u@*ÎZbr$5.u(/57/k }qиʥm /n;aU<XLWNQ3e{}~u}~ϗqE&P qTihnl/sG/{hU5=f쎏;aI$>G1̓&"|3O5Z(8'yn6;z-NVE>i:dNjh]X  %U#dӌgRf B@{.pӞ?))CD"^i:ahcvG@iU4y6>$6l+.J!Z>Ns!hI4zWsT@x/XՕYt@5Yw(S9Hx]C+q0 3!`qҟi2kĤ(ir8kzДiDs"X@fnu}oe6溅ثɆMՓ&ŋcϝI 2\ۉ@40A&Z !2Ν:pԸ' */li mgr@ Պ;{vtvk6HdGbT[`S\hC* dr k;V,qOh %+O4%w8XӻWZæ*r+H%$o}g-G}h˪ψ1c-E3c쥡yn%Gh!emփLfD|PZ%f RJܵx!EoxﲣɤBgH:ê AT)uA<|bHj+`cl1.gY&[>gUnC^h~e֟v,<8+JO^`)9IVud "cNFv#)tU~[+`?̉n۝ZF:feݞga@M| {j`}x\CP_mT>A?ܫI\hRn<.+a6]D)]#1#_ gg`щOK/fzq\ڲ?8++mJh1pDXv˷-\d`,zQC)Q̗0\ZԤ31y#A@Ӫn4ѷ ?ЏpnVG:J'AiC/&raU }:~(yts\a8d6/A( =R'W|<>,WAFzOH " ,@h05ZT GB`:\b8#lh_/IkBhim;xaU3+T tt,#hH@as X3"PNWTٖ(/߼&-IqއjVHOAL6HV K#vQ؇h)E^*eh`X~&2hEݐ-.[BKڍ T+ ٕ0]OVVv8*vNItnF7,N67EvSNW䀚 4_wq*|Ɠ.g,E\rv4SjbӒN޺}_]̀`=F pmVeꋣXܮrXuCO{<Ħ)K7R5?'Ϻ(`"/ƀ)רKBSPۀԕZPQ l.v˂jn[ pX\E?0*֏bO=%RX[5xq Td|c :; {ɧ7 =UJƔ/.e1 lQCF/W^uRgmo_MG?ͳ{Om,q@=8b6uNങu*W@l:Q.(]|+a_-H-u~\H rg"!Y,Ta*/ \\ 'f!ŝGؤN 26?v7e"2E <=$vi~{5hH~qKMEuN S,J B ErѾ 782_tlcѧ ;*~/hB_juOm;ƒ:L&FG¸>\ {~LTQ ҡZ? \ȧZȌZ`'yBIVhHPg#!C#s  =,rc7A@)fa2MVBq)J ;>ѓiF-~,{̞8Qj g gb Ei|}s|į'QR+RM&2uAk @[nmFZ+֘X]a&ڷi;̭׌ݍٜwx0 P#^@JE-%vݶSZe ⺹D,<"!C?Ũ)KD/8B3Ӥ`ܙLൣ=uȷjk ?>Fm(ZMzǻcoԐeWԑ?1jz]S'KOX4{[5v`ATL2tv>߭Py:ece0'la="B.3[PN R-çx3ܗEs{3[e\潱>զVq(ihm.N9s" lfYWKw07C*Y4 YZ