SparseM/0000755000176200001440000000000014013453302011617 5ustar liggesusersSparseM/NAMESPACE0000644000176200001440000000443514013163336013051 0ustar liggesusersuseDynLib(SparseM, .registration = TRUE, .fixes = "f_") importFrom("utils", packageDescription) importFrom("graphics", "axis", "box", "image.default") importFrom("methods", "as", "is", "new", "validObject") importFrom("stats", "coef", "coefficients", "fitted", "model.extract", "pf", "printCoefmat", "pt", "quantile", "residuals", "rnorm", "symnum", "weighted.residuals", "weights") export(is.matrix.csr, is.matrix.csc, is.matrix.ssr, is.matrix.ssc, is.matrix.coo, as.matrix.csr, as.matrix.csc, as.matrix.ssr, as.matrix.ssc, as.matrix.coo, forwardsolve, read.matrix.hb, model.guess, model.xexact, rbind.matrix.csr, cbind.matrix.csr, Ops.matrix.csr, Ops.matrix.diag.csr, "[.matrix.csr", "[<-.matrix.csr", "[.matrix.diag.csr", slm, slm.fit, slm.wfit, slm.fit.csr, coef.slm, fitted.slm, residuals.slm, deviance.slm, extractAIC.slm, summary.mslm, summary.slm, print.summary.slm, print.slm, "[<-.matrix.coo","[.matrix.coo") if(getRversion() < "2.11.0" || R.version$`svn rev` < 51018) export("norm") if(getRversion() >= "2.15.0") importFrom("methods", kronecker) ## Exporting S4 classes exportClasses(matrix.csr, matrix.csc, matrix.ssr, matrix.ssc, matrix.coo, matrix.csr.chol, matrix.csc.hb, matrix.ssc.hb, slm, mslm, summary.slm, matrix.diag.csr) ## Exporting S4 methods {*not* for S3 !} exportMethods(as.matrix.csr, as.matrix.csc, as.matrix.ssr, as.matrix.ssc, as.matrix.coo, as.matrix, t, dim, diff, diag, "diag<-", norm, chol, backsolve, solve, model.matrix, model.response, "%*%", kronecker, image) S3method(coef, slm) S3method(fitted, slm) S3method(residuals, slm) S3method(summary, mslm) S3method(summary, slm) S3method(print, summary.slm) S3method(print, slm) S3method(deviance, slm) S3method(extractAIC, slm) S3method(cbind, matrix.csr) S3method(rbind, matrix.csr) S3method(Ops, matrix.csr) S3method(Ops, matrix.diag.csr) S3method("[", matrix.coo) S3method("[", matrix.csr) S3method("[", matrix.diag.csr) S3method("[<-", matrix.coo) S3method("[<-", matrix.csr) S3method("as", matrix.coo) S3method("as", matrix.csr) S3method("as", matrix.csc) S3method("as", matrix.ssr) S3method("as", matrix.ssc) S3method("is", matrix.coo) S3method("is", matrix.csr) S3method("is", matrix.csc) S3method("is", matrix.ssr) S3method("is", matrix.ssc) SparseM/demo/0000755000176200001440000000000013371337105012553 5ustar liggesusersSparseM/demo/LeastSquares.R0000644000176200001440000000140213010640105015272 0ustar liggesusers# lsq.rra is real rectangular matrix stored in compressed sparse column for mat read.matrix.hb(system.file("HBdata","lsq.rra",package = "SparseM"))-> hb.o X <- model.matrix(hb.o) #extract the design matrix y <- model.response(hb.o) # extract the rhs X1 <- as.matrix(X) slm.time <- system.time(slm(y~X1-1) -> slm.o) # pretty fast lm.time <- system.time(lm(y~X1-1) -> lm.o) # very slow cat("slm time =",slm.time,"\n") cat("lm time =",lm.time,"\n") sum.slm <- summary(slm.o) sum.slm$coef <- sum.slm$coef[1:5,] sum.lm <- summary(lm.o) sum.lm$coef <- sum.lm$coef[1:5,] sum.slm sum.lm slm.fit.time <- system.time(slm.fit(X,y)) # very fast lm.fit.time <- system.time(lm.fit(X1,y)) # still very slow cat("slm.fit time =",slm.fit.time,"\n") cat("lm.fit time =",lm.fit.time,"\n") SparseM/demo/Solve.R0000644000176200001440000000163213010640132013753 0ustar liggesusersread.matrix.hb(system.file("HBdata","lsq.rra",package = "SparseM"))-> hb.o class(hb.o) # -> [1] "matrix.csc.hb" model.matrix(hb.o)->design.o class(design.o) # -> "matrix.csr" dim(design.o) # -> [1] 1850 712 y <- model.response(hb.o) # extract the rhs class(y) # -> numeric length(y) # [1] 1850 t(design.o)%*%design.o -> XpX #X'X t(design.o)%*%y -> Xpy #X'y chol(XpX)->chol.o class(chol.o) # "matrix.csr.chol" backsolve(chol.o,Xpy)-> b1 # least squares solutions in two steps b1[1:10] solve(XpX,Xpy) -> b2 # least squares estimates in one step back.solve(chol.o, forward.solve(chol.o, Xpy)) -> b3 # least squares solutions # in 3 steps b2[1:10] solve(XpX) -> XpX.inv # (X'X)^-1 class(XpX) # -> "matrix.csr" diag(XpX %*% XpX.inv) # diagonal of the 712 x 712 identity matrix system.time(solve(XpX)) # faster system.time(solve(as.matrix(XpX))) # much slower image(XpX) SparseM/demo/Binding.R0000644000176200001440000000054611547113521014252 0ustar liggesusersn1 = 3 n2 = 4 p = 5 a = rnorm(n1*p) a[abs(a)<0.7] = 0 A = matrix(a,n1,p) b = rnorm(n2*p) b[abs(b)<0.7] = 0 B = matrix(b,n2,p) A.csr = as.matrix.csr(A) B.csr = as.matrix.csr(B) class(rbind(A.csr,B.csr)) A B as.matrix(rbind(A.csr,B.csr)) as.matrix(cbind(t(A.csr),t(B.csr))) B as.matrix(B.csr[,c(1,3)]) as.matrix(B.csr[-c(1,3),]) B.csr[1,]<-99 as.matrix(B.csr) SparseM/demo/Visualization.R0000644000176200001440000000013011547113521015526 0ustar liggesusersdata(triogramX) image(X) cat("Hit RETURN to continue\n");readLines(n=1) image(t(X)%*%X) SparseM/demo/LinearAlgebra.R0000644000176200001440000000122211547113521015360 0ustar liggesusersn1 = 5 n2 = 5 p = 6 y = rnorm(n1) a = rnorm(n1*p) a[abs(a)<1.0] = 0 A = matrix(a,n1,p) b = rnorm(n2*p) b[abs(b)<1.0] = 0 B = matrix(b,n2,p) A.csr = as.matrix.csr(A) B.csr = as.matrix.csr(B) # testing matrix transposition and matrix-matrix multiplication A.csr%*%t(B.csr) as.matrix(A.csr%*%t(B.csr)) A%*%t(B) # testing matrix transposition and matrix-vector multiplication t(A.csr)%*%y t(A)%*%y # testing diag and diag<- diag(A.csr) diag(A) diag(A.csr) <- 99 diag(A) <- 99 as.matrix(A.csr) A # testing element-wise addition A.csr+B.csr as.matrix(A.csr+B.csr) A+B # testing mix-mode multiplication class(t(A.csr)%*%B) class(t(A)%*%B.csr) class(y%*%B.csr) SparseM/demo/00Index0000644000176200001440000000044211547113521013702 0ustar liggesusersBinding Binding and Indexing for Sparse Matrices Coercion Coercion of Matrices into Various New Classes LeastSquares Least Squares Linear Regression LinearAlgebra Basic Linear Algebra for Sparse Matrices Solve Linear Equation Solving Visualization Visualization Tools for Sparse Matrices SparseM/demo/Coercion.R0000644000176200001440000000065511547113521014442 0ustar liggesusers# Demonstrate coercions between various sparse classes n = 5 p = 3 y = rnorm(n) a = rnorm(n*p) a[abs(a)<0.7] = 0 A = matrix(a,n,p) A.csr = as.matrix.csr(A) class(A.csr) ncol(A.csr) nrow(A.csr) dim(A.csr) A.csr as.matrix(A.csr) A A.csc = as.matrix.csc(A.csr) A.csc as.matrix(A.csc) B = t(A)%*%A B.ssr = as.matrix.ssr(B) B.ssr as.matrix(B.ssr) B D.csr<-as.matrix.csr(4*diag(5)) C<-chol(D.csr) C<-as.matrix.csr(C, upper.tri=FALSE) CSparseM/README0000644000176200001440000000143011727723545012517 0ustar liggesusers Versions of SparseM prior to 0.95 included a LICENSE file that described some uncertainties over the licensing status of the fortran code in src/cholesky.f. As of 9 March 2012, original authors of cholesky.f, Esmond Ng and Barry Peyton, have now, very kindly, given permission to use cholesky.f under an open source license. They have requested that their code be credited via the following two publications: Esmond G. Ng and Barry W. Peyton, "Block sparse Cholesky algorithms on advanced uniprocessor computers". SIAM J. Sci. Stat. Comput. 14 (1993), pp. 1034-1056. John R. Gilbert, Esmond G. Ng, and Barry W. Peyton, "An efficient algorithm to compute row and column counts for sparse Cholesky factorization". SIAM J. Matrix Anal. Appl. 15 (1994), pp. 1075-1091. SparseM/.Rinstignore0000644000176200001440000000001511731375245014134 0ustar liggesusersdoc/Makefile SparseM/data/0000755000176200001440000000000013371337105012540 5ustar liggesusersSparseM/data/lsq.rda0000644000176200001440000015675611547113521014050 0ustar liggesusersw<8~RJd4%$ZzQT2lE$[{{c{JC4yu^s.qyvN,]LBB2dRyd?o) Eiꐐ1|kfSACcЮ~}$-222mqݠu?ͮM8^ET~Tn_{>yWX֠5˕k?뼾6#ᗽّ1}_u|oR;*-/g]??{iUa~o|S<~tױcR9Ǒïl驿Z_OkߚS?w?:n?>]9X7,4]~mrU=oٖޖJOR%wo?~ռk埽%?g7~U}]>^?濒Q>3)N:d/O0__u=KQkfy)wQc~)6__Ϛ?{Ï5O>󿽾~z~rj1s 7zOͷG~uo\ǧ {W*Go| Wy~t ?ߙ|m'߻9wo-oQ~)'_J%]_qާV1]y _?>}=R;Uշ7?<o;~|iS~>¯|~Ư~WC~Unm{gϾKS_=U߭qY/gϪ}j]_盿zn\w+rUͯ?~u=wGʼW]qw]'?ϊ"FxA?~U}ɯG~s,~}HŶ49) 3.rIke1-rXP{G1)wY2?Zac'UL~q?EUX W {5O Mo:!ġuKK>:)TH^{ 8 "la($5!n{0U r#$Ȅ6_y3EbAInO2@ sch!ߙ=+eO_d O̴Swcg1]7gDtT{VQY &'t_/v5v%/Y߆BG)`ck%uhcڢp lZrvEФAZh˅ҲнJEIuٿPLԣvec0lp l?#n|6Pא\OB`*h1:%RlSA3Vw;AO Cvjhf9-KȴJMaY8|^ t$LfH"4T,SAS/v 2ȕyo ]gNɺt<]-4ی qbImQDwh5n+b @Cze +:$dp Bto5 ƒ0b 8tmg =6>∔G m9wGX< &url,HB]Swaٻ&)*{߃ەpq[wi^ߴ/b3FcIX-t2N_$Q8_5zJr3R.Wp .$vYc?in_6m,haM >b ,} 2 K6'iB1+@K ϫzTC"gzXfePg ]`eEA K/y]:B Uk=oU@㘙'Z@OhZN[NXշ nQwၑYkpAv[oQ>XU71IWRC7&IkS' F<+6 4 G=A }SɋXpGzE+.5=E"OA]%+9V6XBJk߳cw],6QVuʑcunFQbr.[0vn\Iϵe~q4ݩ\hA-! 3h^5fD vyXܟq:q~ G4ŲoBcJv H;Y[apfzkp0J9m9GI !!Ng!G& T^э.4V GT@f7ht~+%WrF\ =G.yGqk䯟s1eP@V{O Z0i<{J"o{GB~ #4Vz)<&֦xpB鞨 {iKC :{$cc5JD)Ьj~D;֓> V.mt'nkpQjvli~R"᳎_a0ؿI:n[ie3c@Q/bνGkQYL;D2%댁8=qay$VعZd=)YsR=/ND3ahrĻJ ^}g˼X]=UFC㍞4'eJRY3֨<O+5h6n5wN,;Ъb&f8DCMu JvpZ]{ZǷ%}L^;[cH7s"b_%XrBp'f uBgJtH2e8@`R(~ 4tYQpjZƂ֯"0%}μŶ+wF6)h!NK}F%H2 ~|*x<]}4y"r8vho 2b҇ ̏"Smzݻru6'8 Cٹ163KMaQy.e@lVm48>r_z}_\ehq{*>Y:EH"T]ik V&\8BGWJ?E>rϞ(Ay dhau@ ;G) ^ۥ$w7­`#ںo0sdu:S2ey9FR+z|y(}۵5^QI73„;KW(s"fk3dlw"[,iKk$fۭaR3V o"AV6V찢KXSjt yyR64Mz O +AQ}Ndrl\_V-l.5nv#f =oBꪊY¡`Q[9T9_ hlnж{rmte G͎cU̵G,~1ށS2NA>%D?(Y W8Py:4_S<` -K/<#q(`v&CllfĒB">Q'/u3~+'԰t>v^w:<;?8$Dp c9yQh8N>n3҃&ǯ|qKbC̕1hQ]i:tc>ZX ֪ R`;uaoh)_lupGG?V:꛿c]~*ng>Mxpx<OĆEU<PDlMD@cibGxf,VU /-]R%[s[81T%$>ӄFƸNhLNIR;*pھ9곉=G=X*RR)U9 *bI>QBǑ)>͛E}ӱŋ^`|C!\tv3%ʡ8J{dM %':B!M9`GQ47?Riz!5V;lMbR*Əs_~s2K]SG)bNpJ3ڱP@5?B瀘(ʯ( [lsnQ̎UDZn[ e&; i+dRǻ}0f!t2=<{*=@D v.VrRx:؇.iYΌ rylxOx>6T.¦9ick5X~%Q*Lo[ o8x0ƓLqVB9@_|O%-=<֖{n.m!Hݮm\ޱ ]NX!Xs \7"W:MlH01K==K5 e)[0@'@dl灮nU{ݲTKLAVE-ԛ=+9CK 0cp}(EL m [l_dbǦfDe7cgj/A0icQU\g4'A_ҊGKqH}xƱ`k-Psj8c3ثM1;-2߭kL3!](R0 ݺ^aI26gf#0X,QS&BK[힮uveIuEe-v7ݴ{b:CN`pb63qh $Vh1_ 'yH,bqoؔ[\{~F\8 Z%IcxpdSGB.H%LVGlڇ-/{@v3)@- 'o+V{_Tu_qd4r{_d,n\pn;9屭A{6x G&cBGU6HQS{Vϼ&FX-ۀWBD0]eɆoo8JL_lB6oLaqLGf I;סϵ tZf]ד.dD^ю[ht; ͦA]G]xJ5\7~t\:gi]F:߾t{!J ^1t'pׂ{QJp6+}Q PWqC%`Hbfʵov.P]ubBZ=Hm٧w>L:c9y}8,d2x N K­!'d1oH,:a I1,q%a#{mcX6;me|*T w*c'mt~-b*!D?}1TYt6͇0s1(3{o${m6k1~,hf麦d/A's2ЯE==Ʒ?k JWR@0{>OSw lqvdx2pcHczFakgdSMMU݇A;b@j_${+@ @(g#< $!Pչc8vxM@z07 ,ut9Hk)֎tlrjl3K#n%!J@!qCk޴[t]}h6#rشoq9,?w,Ǽ*m7b{s|]BPrrh{kg|R[NkW_slse#WTzd aUt?[!v*C9wCnUBleh[pvŶ(p}CظjwXU<>ɱH{K7՝7O}B;C[-|4P,< tJW Bs TƔF-*;ߚ-9k9JIK2fN;oj:]'~2BLsJh/v=:<0n^ti&eP,^R+!~ %AuakPiZJڎu{{cUCNnT?-Yh|dMkG5qsRq.~,(&1*łIL\9xLz1[.~)F217L<&/MMdR7na(,&\f*be|*K}`9up>G1n;k)~~\fA0DhϢ O$?J_ڳ(~H2S}:ZIA͌i&;د4-iM .@Ah4i;&AJX0Ue?Y-ѫAj>;FcRn f :bVa +AKhyz`06`ok <{%d`}^LK|dF/mŀFB`<^]{/BFcd'~krc2|0lHCdfeF[na&67Jo26wl:[w,_UW~d: wbއ~leWRfpK/|əVgyѳ'NpW.k#z =u8mJύ)s2z4RBa*c1{`2zvB%l|fWo$? cGŝIٖt|P=],yc}a7֭[ך:=谲s?{^z9F ep+Gwm)} AYtfxҺ) e_[a6*@7wj&t&t[_@#nLd5ѵ{S:t% vEGw5Hxtrș'/Uc">'g{Agu4W6A3RGvtd97-؄נ=qٕQ]yGl+ W;/+nJP47=ӟHN,Gۗ,6{>hӳ}+z E>F[Gh+@Nʈ܂ vh^H90mnJ\EU4IІ깨n,ڐqb+Az/i#cDxj`ڌVZ9IJIrFXMԼ:Iju0nld)b@"AEO-}a͸Z*inFK7`5SdSסEm n9!zE͇-޿kB_Cs~zzhμd6ݏf`=^?(x>`I[^DSQBhB1Z~0d{ڇ9^g羕РBv>[gGӮ Eb(8T4T@Фrfo"{ S"W`N ٍV}dIf2R͘* PH- ki-`}AL pժk(ngχzT MiʖƂ wrH,`hrmmH=MyE ÄeQ] >1 Q˴2xrȳ̛J%QBK}Rt.}fHnM?nylcb:a_ߍ.KnSyOIM~ݞȨJ0H]!H'SmĬI0>cd|$ˏJ/Ǚ 08(r L'%Zfwn)8IEԲpCcQe?X(ؔ[aݮnR;֌je"p}9ǸSu˘o\$ז7nkǴɯ='50"8}ru^: (s^A h*"q3^p~Z E$yes7/xS#׉#z@hYm{6xз0P>F"]ϛ;\i3SID\<`/#̀שE۝rKˤCi;x9]" .XBDuT>DeϰXAİ׹ t& 5p2D6MAYN1enmqdCd ;Fԭ|! ԧD!&\wmͪS4{tu/班ʸ!U3"nn؝–Cᷢ{B ny{m;:uڽ{b .A,RBlSi>5uV 3 dBr@ܶn,;~i]K3G @B\)mmH(: 7cߵ o^#孥SC"KsUyH&||DZ9djK$Z_W|ZWAb'i3ex3$+Q%9h WՒ.dEu5luŎ5a'${JjB=!9ҧԊr(D!vl$qOzBrr5qH޹24$*^CaƿxȞe\Ś#ׂOhK3V́ &@|yK֗;: lt{bje]P+?2Es mT,+{c])ܱ>#c'wA[w r:<"`~U"ן1 uTSm kgrzTrGcj./{\݇=|(o u6Y0LӦs`. Q) Y:71A"ﻝ`[x~8hR@؉ʹ/ [*vA* 0r4c(V5~r/TfQ*@nTWL$zok (ixukU_Ú)C±X{aA>;p6_skVQP\3xJc}宍~:׿#U w.xcH [9QDbOMxvm_&'ە_vbݒ@}repD5ߟ("793(BܫmRK!a H LX IVk+@װƞvFH1U<}!2K ![c +1).pB#' 8 6Cng<=uCQ{sN(^&5ߞ4#?%h.Beot֕s1 Wbdj8:O,TȽ Z+pDW#3c}ae+K0g2E5@ 꾸E9fl#TQ,geenͽ f)J>ƬCEì=®mR,֫5ӘE>%Sq4 3y{gə"iAۯtqb[i1~ENUh%jiT m1˲&&4/'9ЀiJhc :Ә07in6ULg|A@=0MHTSɷ&b0uňU^6Pߍ)CaD0%G [[?I !U0iQwՀ#&f7U 0Ѭu6&J[a"GO NjbB sc t&{Q$a|y҇0Lb쉹+Gc#i*Ïhb~mu{$0b!F$2#FDTU:Ki;Z%0`VNb!ռ #۸uJGğ5Q n2EZ 7fU2bK30,kCv,AÌ C`\y ɟǁs04u9Co/г"g{0j7 ebŐfҙzC COH 720dq a ~=@p{kɶ|Hp"{N80'%XٳO#RN|bz\IsT } Wqk:alZ!yde)[v*r=J֋Ҋd'yн-rLvVcty] zM}_m-p3+p ]Up8|ݟ] eE81l!KpC༣evޜsv܉bU۹\6r/k%2Jh..Oכ)_km{GqB\N  ~p_7}wL%Z{_ʕ,UJ֗  {ZC`+#oF1smO!=2$^̯q`%&a/oC'!E!Dlb&Tھ#*zl!NN8(q's0>SƲǿb3y}zlhwΕdM,0C1TLt/\1ƎaK:yC4bX!>򏘝G Uޙ7:,Q7F+ ak7 N@ӼwKq[;u!.[ JCF-̣/G2;;9$ 1k*Ę!aKNHYc`wR$= ̣kU[{!ŵR#)>i1ϲsHx,\} RI_8AX9qHfv)h'=}s!UwBDF6H gI<҇ @ǐZLlݔ$ᅌ5,T Cljd-`?Arۄ^) qZ t}2IgگvLUD!b%iɽ 2]*_Bfʅ5E!EAᨏ;d-7W;Y KcOe(Hf&6)J'Y;*8[.Y߯\ CŊՐkzXr]}׽B!,Pl'<сMg)>0}@TR6l?Hp`W?'4w{ MhnU}ʔa~Nlg4Y9׺fH;SLG7g,m"4eωZDS`Ǐ,<7,K:F|I\EQ٭=7qZz_(U)DڡF27g9<9}cm=>'t>u9Mv,S=|k,?'F d巨-$-IfqAHQvX9]}wo&vw Z߭VS3l/[7'6޺8BF׍\KbQi_sS[@#{OXRgm]eǖ9q]_|@xV8#h}ќz0Q,?SqK'gb-aw6%֑͚-bzD|E Fo*%l3mk cexĶj?'!=/DY3صrx|stNhR}'r˺G]y 1'}"={]0>sxY`Z?ZAIR8-4yy%>3;e^f|x~y3n-!o[@}N~{sB(-]2x]?^*##ÕbKg\_^&Z¥vYאX^BIa93οk;T̯ He,~iL +_~* ;\h|,%?Z줴xv-sBiHmg?J=7P@~[u׎/ >ZKB]RS?;^e<8{u;v>CVٱOf^KFmN"̉\פ~6&|^G;O겵n۟v$>䲂5G < D߮9{} ҍB6}Ts~~@竝V*Q/_kf"̉uF|*vo[*N4BkNHm\ͣ9vN_BP=ǘ[okV:H2'vdT ӽ6[p~s*aq'ۧBsΑ}]ma?XGjNl o5izB~M-Zaa/*]”V3y}9cבyOU(LN(,==đ|G/B.ObPs(vחr+ .߬Fq% i1~hk'wZ;'6(ng r@lQop眻}_Z~p%]-K>^5q|{Vh7['n1T{M`*F4I*hRiLJFT,dbN2U EsF*~{[?oqt뾯8syM붧术f60y35z[Ib̙ͷyq9nJJ]?w :]vw޿P-97Q[w{7asd̀G.BSܠNӣ,qWL;ᮾ\둔wKz?SƵ62tZ}}Ʀ/o#Ū /LX{lU.wz\,M5+Ks:- n4{ocS'NZۊ.|䞿"vx ikv}sz {-/4_#,?]b/G]Zqۂn<(?=IHcg_]7g^_L7onF1 !m6ZA;??Jv I}\(0+Y^_rދ>}QՃU yӔi<z-aUfx'ؠrNoa?șO </#^{:m,;|_bNio#;ewWTX']ZV_#\;>_Aߧ_~=j/iOf6IL[VCy-X X_O\U|V-o={{꿘B-`>#  c(y-\ӎߏ^ƃ\B0up c |cUE gaf= ّv_j)BͲ3!8} H6&K@}W!qЇyC~*kL?S:6I {^~o~3pEsu4nBw+0װuzY^m^u@c`8vxʕDiiϩsyJ7nHπۯ`ۺ9ƹfO-0um!y6 `>fʨV)70YN# VNWB؄~w@!o3ȅTD߭쌻n;a̡Ei9Шmm!OB Ý/kzy9~=wyv,S]r'Xk͝W؆}JAfHYx\l/oU6.[tY6h,Y9`ޗsy_ף/%=_}%#4e͵„ck>żY ;Wj?qV>=!;=z?:Or[)Cguv ܿ_Ô爵1l=.s {Lj4&9,~>*#&7?} 퉇1>—5O 0PmWOH/9c߁TXqȏy`z0 N,6+Ąݏ_E_؃g@bw%1pjővJX沍x>xbbmLiE<Q6[wzObJ9ZG𼍽ڡ T̥w ը@Dsc)ubHz▝f)a2Kd1h7T~,8Q?Cݻ݆W{-HKpŒ-ܣt7t)s n5s^QZ$!"u]h`:m"@tQ:,k8q:y>$gTYa^MSAhԢ^.:K:w(\g̲'00!m0k ќRb ƵK`\ G]˵(ݴ I Tg ni3F(yv-J4Y|nC';ȦM ^qA|sBryթZ%̼@&f>HFi7=P}-53ce<5N1= pJWm}jbO{ȇvs=5> Ԏ xgGx7َ*fzPd5^16Z M ~#}=}jvlyԪv͂0NnCQyW!,?(Q;LKM:Fcd$35xaELNamLEнҫYNIku_1[~`[t>pkzD=:/]v&4ڋ}Dx%~c!ò\|[۽7E5qZE [ZoBS↠ըo.%O/d}Ďkc$хOW"=,f?ԇcqvyi|IWBKF e2\f~|{~GO0a=/!jYpH[Zso@Fg޸ <6pPz`vY&U' a{ER>a,Q8!޻׵~~[-?v,Vu9{Zyn:4ydynZ&ؤCjOH\_ݎ!B⯓AxʌeS!tibrn\8yċo|t3֌|6)-8MS\l٣9&:u^Ne[m.…|xFq(K8$QTgGTM\*w6T03WoZ7cތ1@m;[iczm މW@֛r-͔t1ǫfqycQw^%rz肸ӥa?Fþ;66|[I7\.a./:'KN> < Q>\LuYEu%~aPgo|v7*.tMUׁ2K\`m`5lZm]4ѹf켳7M!) 7;G\AQ8vV<4 x1X? ]uks֜! د^tHr/2;t ovt?֘9GMuVdB~%V-V}ȃmmBNoYJSӳDPVY-&񷌞fr^TztcR ąBzGCLzϴ2CKc<ԑDG=OMց`I71Z!mR>Vl>p}S,y,q^nzB*BJY9g/N8䜶 P'6:\;wFHdsH<\#!i=oH\@ªw%8wC&k{b֪X{w)2U$!xu i~n */CYJ ơ1O7 _P(M'C^~[WNeHvɢ!p@X ҝL9qme>!a]ӵ 9Y/w.8͠hҊ6 f*?N^y=C]Ǟ?"i fgfJft`]S kS!K1`zN+Ƭk+OBfZy{(8~N̜ۚ.``wgSLg4{` Ҹbj >ÌSqE {!1$?cZ(*̮=oj^Tp- >K}zkza_DMb'rSWKNG[kcSvؤ(uQ8Tlt~÷zJ#fsuJv^3,IbaR4<A~ǪCcdrŞMhpӠi.o>V rږʞzYCq8ȿ~q+ Shf5_.ɗ\-R̝r5sq:PyK ahuc>VIe_i$ICi3_P\Qv'w0o%E\LuF$}Trc $]nZ+pQr3ߚS^w]I73ffis5隄*KV`\3`㍹A+|\0g_X`T ԪCL#{ÅuX5'1sˌ[&q ?JekcL+4Kb얇aLIpmZx *骮j—܄¼!x7!d  Mgi8L6ӈF/n V]Vv})-Ysڕwx[>͜ c뎁]~uq7N.]4[3`*ۢY_tNwmdʤvwod´H@Ꟶ7asHA1W)-5}}*Bl4m/t.||W>s ş𯪇1 h_`pY3Ci)CR(iB ;}FZ|.=J_'~={$A5V`e_cģ'J'ZaDRX]"dkv`⻥Od Wm׬HLSkr*`rGI7AMOcLO-oˇ*3,:d a(= 2.?!UA(_0/Pp!(LbjyoɅe7a+ILyz[&~ŖŔn;r!N3L{!EnKԎW{>l0FOVu 02;Ԯ0É|>祏jŒeg% M0cFuYC 3 C2cZU0DL ?cj˜lNAz0&^gio $zuJӃ%3cLOc$#!c4F\2d2ԺAG?U䷘$A¦{qؿ8(ad*21`ҲR٘t?SO?E4_c28&9-%(v/*%[G1Lߦ J¾mwv[R,pc VdCT8/ ݗٶЩ=1䌪)ڪ>fGIt '< ̮c;NG-\a\WS}^=Oީ g# w&w ݏ?ϔE<#&r1mV* Ƌ]u{'kc~'0ы߯Hc#g]`=SF% RT[k!g߱SGe 9xIY֗1dASfॉV?v<:㖣_];_L73+=gz^3O*v>Ąą{Lxy qoY`# ̑wFq*% FTZJR%-WmkMun=9bH bz_$~S2VGv| )nqȏXaV L~z^gr0pa(<(.-Jґo#zQ*T'AĊq;݃ˋrjͅm/;PE:Pn\+mpu{}Pк](.u{j(|Uo0)q홖n!$N0g.>K< wT咆n脾mMSm+a]y>&i ճyھK-CVݳq?kOʓL9`Pg5J.G@ihqE(2L_Ο~M3#cS>^lٷt|.6cqC׉敱)м=2,,{y3|sŶRTֶCyC4z%Y/Pܱr-sU~mi= -o[O۲v~OQ\W?qނ V532۲oP^ic9S(olRM#%RLҁ6/Lt@MШﴄfbx_ ywpұXQ< g G/YY{5B9ϊbsMƊӉYsPЪ|lŶBOCΌA)W(hb6|ц+7t6bhkuj0TedjH;x(Q5~id(P45> .*HwԠV%-(YyVz *. }N ŞA(2` <tfA~EM(z6X[ĝyݐCZiX0Q0Q uLdU>Buҿ`UmwN`~%, wn>m~B "^gu;B c44fCS>P|$H(=ubB bQ".qtP{ÎzűAՆ@moρX|Hn/цғΣ)iq6iߕeSSFK6u'lꬥS#d{Wx\Bߚ9.,Q,;O(, X(Pp" ܜ.n؉ٽc-D`N? \#MB'*}EVɍpA b0&h^kYxK;ƬY}S~MqwE[,~9N/-hJbRvKɾXʋK}_D7m G+*]P,;sJ k8\4(+1o+mԹW9i(],^u}r ?`}4!oC}9gDۂPp8R Q?EtOj/ľ}?l3~=ڑOڊ(Mt\@Z=g4h.t}S]1^ oРҙޢpQژ6QxH YS_OF#Ma~E%T|xd]|UԿXLVa,n}%[#?vH'Ƈ;Ǚ}o}Y6OC,XYy! JmFMlKsÌ}>?u9&w/m?M|z8Gy^I|L!`¬9j3sщ)Cb@qu.6pzR֌?Ioiď|pt[q&0u1 Mo-h$=0[Mto ,!AnA!}$W9v }5.6};JI1 hܘ%jOBX;?fK߳#k_=F0CM'ߙ4A*F- gx^bc@>g XO0 Q0(uV?}H]9+_:C=Vl?bX]Wk[2]⇿]3 0Kz%L`N`fi_Qu9KݹZywFA8mp=EM ټS=g>clvO Cs^I['W:`l81-Z3MW[;#G~uJ})b{)+K3B@c)-`me' vÇP:͊>]k!c_@ Sφ9c<|"Xh4\_$6MŘa;w@@kAo)8-#ZAKM'#0WxKU vOJov_^'׫E)j-G,vԈl?9P]1 lY16c. )M?7r&3/`fo+Zj$^5\wC4+BD1 [eCaP1!P!uJ_g S~59-YK@UwAIUL`\)//q_ N/| EWVBўԛh1c !vvr_zOO}b[@ycJ"ӓ>Q뚖7{GĞF2])wHE(Ho9r]~Ն&J= Yll!qʬDt7;/lKnv^z!]S?E~% m[{M}b:߭+֮,dȳ1A vظ҅_iX5N_]L^\8{@uVQP4njy+CͿFnKܡPuHנZދGʡ&wT+ zro(y=[+.y |H^O6{_tu 0cY uס3;C5;x ]Y`>}*v\8e+L1 ^FB9m(4mۥNwP7PD ީ3k@ }f&eibʯEgmzέl7]#;^o2Ȯ96O}>1q>WۉHGkmKq_ǺI|-E||5ڕ*t]Y2}fxy˟q7s(.~41j}UfZmHq_z-#~Qɞ)*ƈk^í>KcMBZ.0Acj /i^nH !փnae:b~㤯Q?賶Yj-n:&7}|HÌAkFym3e!fN/{9&8>a g֫C5V*{a+[CJC`g.TjE#b,aJcfƆ@C-W Fo.⁵pk Ԅٙ&f9*yVp-mդs7쑙|^ag9/ 3/Mk~cCo,^6Gn SZ.7 c7רn{|1o:bh_yY. 2<_ zܲ-g'2=q :c`Ie}i`* -@Z]wR՛;d]beC+vA~~vp8=w\sʚNiZPv 3Pra?xJbcY(yXnϱqs|P](ԳWt(f`qfm2[si⯝+uu!iD+B8|ipi҄+c)ۊ~iUPhr@}}!k X%{Cs'r#gㅺ?㰳8 bkKƳϺ,x{_+tz4djGBIW˂pݎťK~/ \Om~j YOCnHi+{Vl1bHkior}kFH;dCݏj&}OW2rc dK@= !Tt?QIΟ+S+V'An'pʭA+ X{_!Wp d8%v"Q[G#N3orA͚Ò-~KwuG-SZpk<W坛3wW< #{x'`VnΛ_ U(zx7K3oPsˏ䛢ǥ^w5m 6XݎѿLop>( "jrÑC9^{̡ [Rx Y_\ו7OOAmڅaCO:_X_cBZrӌ;j^qҩO`$yY̰۸Ng}" &\.~^ӒęyZK(/՝'%03񑙿ɿh4b8sx&gfʝYMt4BPqE|A.їRGP11KLLڷ$&6^W؄QxB"=+&m] |C o8AH'QI4A0vS% !? &ӵzXk&&!(ДPKG⼡yCsf(Z#CиppB$!CE{#BDb q:O#=?νMŅdQ}eyi︔\ڿ E4JdiPr TDfS#0+&i"P$3,w'ǽZ{l~|O}EwYjz߷||||\c>ck\.=1׉.璋s<ǼXG`P{q0p(qN1Pp(O<0> (`8;8;87p8C8?8;p\4O8Kp~4v)mki5-h'\.s혃C׀(@p0q1r) ~Ìus9\Kn\\K.m>L@ii99Xcqq8\ iM|]h\§П)NbA`^ࠟp0p0p0pAҚpюo_E@);iXq3V75|ړa#Mq| `1sP( s-qs98Xq6Tb !!;ڈP}D1p_e?.Ř9Xp60$y8Xp9}8T9qN`ġkg8;8,8g/#g^#\1rhX#pF@8x=jnA(n`mA)q(>sAz1 p4ߘ9䷔ G=5αn31q-8q]h\+\0q1r1rV8h... my99K))c)s!c))!c)**!*8cmCsŘ8Ÿ.}60r1q1 h\\\\o\c\\G\e\\ڋ 5p~aŸ|˜:s㊀,}Z4+wB[PmJ1VhCSɧO\-׌C{-y{anh'||ίC+CΟK@Es1K1c~mx<ʣaţ p pMTp SX rNEOsN\E.4C;x+x+x0G00O0o00000*>\DZFg)ncnql|Oq{q-8~>ޓvGccnh|_||G>anho||>;|L0/іl||V>> 풏us$瀏ZsǹӞm1O{S>\>2 s58g|\#>8O9r';> k> ׅOu /|ʷ''''>>L>:>1x-[||7O{|1. 00%""}O>=>70 p pXY\ΫcpG|f΁@AD)y`]!L ,H82,H<#o;H<"v.8D|vB3D[9C>7$xJ+$~ 5!>"⑈$>8ByA⿈c9A$AC~ _H|q,G#>w;G<x;Gk>G<qxrxaW>7>7G4qrsqq1|ywB\ 1pĉGqĻ_LqīguZ;oQJ̝dēcm@\#> kvN0XN.b,5Rk7ESMGSo c" r;_Ev)IqRy)⠈fy(♈Gk"v;wDm1GD\Da^"8!8!nGr9Hv>{$A WD#D|"Ίv)\U,C8a_J8!G_D\;C<'q:b^X1K qL3q?K 0C ;B w q(< q(ĥBq),7B > x @o-?@o?_݄bN}X|0{1nO%?qbNy'΍pz㉳'L0xvpw1Nx;s'lpw{oY\_̇?/X7k C'pt۱s ?gr'"r '' Go Fc,M7ڄelŘ6qY\[^J8GL4b Z%VߎN-;M-%_6ߎK\1᱄'L8,,abO;Ř'ᦄ{O?Ř'iG{rߤ1q✄/5Y,pMDo4 dqM $p@X"a~,H~GX',G'abxG# O#,051/Bc`wc^s~'օ/Ʒ"Žb+1E"\ _MN?aTbp3BSG1)œ"܉ř۱&˜8J-1%1/Ɩ%’$ŽaExa?,fD=ḃv0y!\! _#6LX2O&\_M.ߎ/@'^@%CxC88/sAc7ϰ ?a8b\01NC !<0dObq1b0C a#àw!,Y!W ! #cuc-qO $6&p:q8 D\%XIw ^f7c%1Fb$FzK$_>M<a,'Fן80Ą-n¼%VD"VjjXm sa+~հVCjqXl=,au8ɰAV j"Jt&v a>f Y#+Od5PduQbloQ,jX=cdQceN&bWiiXiXTV᪬~h%:vˁN<8a넹O=aO?0}1O;ab|puENNX:ab9a&N8℃^Nx:iH7O,d1'#nxf⨉&8y DV@Oq A7/, N8g }s(,gB\ ?HSE3Ft$/'&?.tΪ:[BH\tvb>3ⴈ?3/b>tr fX֟9fttFU:3 e@xN d$ܝP<`iIxnN[J8y:ż0}$V49! cĚ=ߺ=􂤧$ͤX[HFҫƖt%1IKiOZ|VBy :Ag3tNY,:_Dg\`tVΑf4;g95:Flcrȴ?%*o'փj6[p{Q&>jAEI羃8d⏉;&ŴXJ$CFOrIR3'J|>qgho1B?=,Ou>Ɯ %Mnwހ;BI@:8WrQs[>AIcA9_.PbP# lGm!}!R;>9R{K~g'XHBҬPߒfիV|8f 8$ikHWC.m>1q\4oL4A2UJuGch^A9%\It_-Q$(s+*..F3 f!M![Y@^])Dbb KhBXq qXa b5%Ĺ2\ 1v1vRb\yhB8B|&!ڍZK6,Db| 1S qmB!>o,YqYhhhӲ,_d1bF5QEY,V Xɢ/ʢbܑE?EŵE13f8_1tFc邕YA)qTJ+9y7Xw1|ȣ |c,JHBP}G}G@}E}Y!㷐GǢTgV̫W@PuS@SjX<|Ṇ 8&F0):)`S8cR5R())})*:(*(|(+8q@JPĸ]mHǠNm_Dm_mD+[E E{E{EE<1)?*b^SĜ"΅"ZEE"VX#0*!((aSB{V{+a,SBV5WZ@ O @ s>>%9%̽J8%sJhJX%*aTRyUFW+-ൻvg6D+]UQU\?UUaUKU#ŰT1Ob|SCTSÜQgPêJ Οڬڒ2jhjhjoj8j jp0VẩaVC{TõSùS\թ~^v8w;81O-3 ک=1Oͨc^RHDs:Buuu\u̇x/uf5p40j`k=4p}4'54& 5kk`ϡ6q@c  \Mc4q蓚xMMho8fMIwXWijF[Gm\C&&>&PM|M9x?M5MZNZNZg0ki}iaLMtC% tIxEuGaf[[@8d!X:˜NA pN=]sBCڭl TsK9׿)ۙOe퇰]+ TWϟ4{USwE fG#h۸Swqu=X5QQo>=EQuj~{wυ!]T!pįUR Yȕ߳dӖ`;:`"   {kρsFc̺ ~vG~a[v:UŗJZ_jB#5Y5|[p`݆plnbt♢G u`?^ % oW{Kˌ;7hv ;Pn㯼+"M'ݵ]k՟*ռǾRfZ2T^3 <Ӂm5x( 3BPN?y_iS"G . +ԼBY?e#i]v^ef:{ɦsl!J~mw|}iRt+7}jڣ3!\eϛZ.v)V o9}n, jb?r n_r.u8x4}>U!-y_B .hh=u GYV/I]s U{#'j6w#^`;Aո^ < r_j@/ˀnUPXzC޹zG~&/8[.89~Mbz9{T~E/@o]wmނG𯁇y O'ohv0 #_d:  V+;j Gߪ>CA=ѪwWTTѴ&p|]t08:}H K9ե>y?Cf遣C1V/^Oji5gΞ`PH1ŕ-S?Gkx4$Jnm־ οN)\s ̶A`.y.`z2p)c!8 {Sq1kSi!`φ ?f\źG08/uA185So?=c8=y;c8x|VYuI!(r{*UHt*`Oș++֞12~/֧3L'kL0*p{zN0lIi'I3|W3/g2=~ Vsw.ou()}0`zTȫP.˂ 4x 5r &)+OZt㒙Uw˰H8dl٢W5}+1#lυ+k#y.hs"kw߃Ws$Ltǵ(i #lhOX{VctpUݦ x%OKSmnuT\tWɎי px/(ld{/Y`FlYB+cK&kTagLg38S(3nd _|٪0@_X K>ЃʏAz\? zAQ/G@[&Z??=C٩G'C`Sؾԍhڽ_"ꗶ`md'̖ޟz}{=gny aFfS#'Kb*.E""2n3X$Ft],*^?>,l?, T o՟w~ g^ZYY?xުUsNCw՛[}Q/S0J}\{~ > y F-sU t;깙Y-:5[kxcx̎L2ZwuߗQTfC;{]x9Jw-(:Ju(;kgx3ՃhMa`f`c({hh4xe@4ߢ669׃WQ{0mgLvy< y!;%z*+z!r3WC}?ogA!|w# @l>ɜ*kLfo\ G | <M-x^vdcS;Իny|Rjjt8+Hƀ|}~Oaz]гTuoٹS;c x𖕝!x}ERu]nѪ\x;3B+13QJB ؙ}=/B@ۑ; y_`:`D֫UBЦhx7wypx'=|Nm.^>;;;qiQWpY71 i{ #>2{tn;|t g]n n`*0pٟNh@E187=쟼YcW0xSjq`pɻ[cT:ΜS؝_&6\|q= z9lϿuw-"`~#94w?fZ6 .Wd?Ƿ%\??쳵G6?z>\x(8Y!fÌru xA˓A Fm[4 u}t.9'%ދT{*Zn(>Bj^W¿Q7Bh}[y`x#$jMhS$o L9E[^S> ۺ3XUqc~uwZ6 ]=5zl2؉uYќUyszI}yOg]xnU!)w` B~xqh7v5m Y8Bt h.]ž>fʲ_Ư P7:V *'F=.q0 B57[qgj*+Z[z)wј> z@_(4bi:x?(K۽|~<8w4uBHY޵ijd9iLb͉_Gg͕\SoGhe|q7;1L-k'(D{[^/1;zuYt>o4ͅӶDlٯ]mخS|9&[jOvˡmBUxg&[87> RRׁჳM\}Qpk^vgQDi?Ge:-nI#1.; Xe!pڃ#\~ڷǹ!x֩A#e+Vf}p:' Ou~ Օϧ]~^ j}b8%]YU <|=ST_bo\YgW O*o/|ͷ>cegr)S&kMe% >4Mӗ6uFNn 4| ^9MY{b͐na.a8y fv /Mk16> rJྮA^߃f0gWCE_!6:Vʟ _>&Bp4*:e0`3;6п;ݶQIsoA3)[n7?ހ5x#M0qhddK0P41gϱ'.!xvF`aGx[7, ,w}bVl‘IN\O]T)0wp5<ͦx?C{)zS ʲj ĺ2%0tn*c~UlsQϋg n[>#8BmY=dП׏g!'mAАG0y0ӹߌ:s"=ڢx-dw5Ƽ]`c\?E`m䛫&3@10ؘo!f7vwrqKA[E(NOMSg\=>ܔ'm??\]˧bps\ES%WwU cnfRQ[d[r)cVbbt{. ؞OgVvOYQ?aOM]cA_u`Q{PpΫcF.& qiź\ߣdhX] VIC+~z/im!~`*p8^cȠqK5VW+}}&rXgWTGކs 7&9S&۹+@á A%B D]KOC5"4.ŦziYw^8>8q]jq =i)+~.Px ??ws#}#E@8]AIv6 . ׹_A¼Aƨ,>Ϸ&N߼m%ڛ4}!Sꌔ̵K⡇s`1Q>f\ c^)hlQ-#ژ&i\Us ~?Gut*5iWJ~fT6&rtrNj-<ro47 cSao~ Yok^A桜\{[ɪ >[ASS{G@zZy0~CKػw#d`-_Ƕ8;`&S]mќ s` ]3t{ږ0$2§OT0)E}tXr@du[֦1꽾_ue8IkWm"Kʷ`p\Ȗr]k<o:ɡ`wpUs^[ vGrZ߮'E?cKj :L=eMy4 v4fiěyrLu+:D~^=^Fv_[zU{؝6ȸ3 Y`յ5 _r'oPmg߾GK)Sg? vWun4k}wF Iq.c}yoFA̻]uDYy [%ʲ=[0͎r=ϲoVm Z.y&.`X/fL f3q5$o^}?7Nמ*&'sG- MGyBtKs'aֽB#0hl鰀Lc DAW]!]S8gsn\~νĵ+7BM¥hl\sfLEJ@]0ZU>jnV/N]~$0l VE :y[ͨsHȴXI/;;1$ ȉߋgl1)U}t GTW3Ŀb={:+ĤOݵ2~UГmaXl}6Iy 7U!rGV!J֭U}4,sO]{a~ amQ9dAǼVPXӻAkI8lUq̷ a. W̥ A6B|Y~/|2ՁC^ G'}=Z%n˃-V-JZ*'umd< k 8K{=amoEyZ;~7HɁj}*_$LCOl엧{W3Qy ncd2iNgcA}ExGIޑ׮wI`gm_li7`_Wi`Rc~8^#wԢߥ -#& |b fpVvE`{Z>d/i<{>rF=xMgږ0n~ RuGʰ?x?r*0/Vy=ckn35 !s|{0D^sp|:*ѷegzg0'ɔg`[6zNWT9[&(+3oہQ`{$hݗ8ΒOd􆀉3ݪ􄀌  ۖ:Ԝ{{/peEMC@G o={K4 K*35>g{Ly٥}EB cC/ 2/O|hϨx{ꊷjTT*~*,ňԓӞ~4V<f*l f/>U{~ӫK %l o-65Lmr^؄;!G+ oqJj܉~E ,ĺІ_7]㋋?]5?}5zLZPst=N{/}2ώ %(#R԰+#RkSma{x@l;ʈz>t p/LGdl?% rzʼnQ>t"16n(S6hܰʼ2D4EguĘ7=lχUm_C>N#RO;هmBq Z#5t,l :m: (uly#v(W)kr[;A-B| q˷ci\dQ 0+Me6yifWW$D1"1"/53&cb;è 67\*ekeL>VƘN]dl勚a{yiP}ڌo@bө:q_bJIy(ts7ٺM+`##7rl~ɾ͘*QŘL0<_yUgLfV4F(;V4wE,3yѕ^t%ޟ+CԆ_v޽UZە2v ]U#qV-ۊJ9)UV|j]l6nKE㢟#y*Nb4cs}ܛl$g6ߙ?#lWĈ\6T,sm~q]ozLϱfC41有Ϊ ڃ*0sl>AL<@^nE`N*L0+xwv@wf#v:Fd7>ܹYbY3غ?tݲ1#t#a4I=8&v]]&P;Nm^I2ɤ7vM˘S2zm;CvRѴI/5}ZMcOetMuet{vu!/Ga;S͵. L0Sv=qiړuӚar3u+۴$cZFqŔL^]dN3{o01vR[:}1f8;`l*Hf/qch-FVGHitوV}e=;^X G^ 85GNzt'CXT_mxuvcc! 'jyS] owSTUUaXUȓ :iν+;=52L6t[0L6 ݗ?'7Zanø<ĥ8N\cr9GVQc۟wS%ۀd3R0~ TalU1n {53?zd_<8\C~% ɴǁxT׹vW РS)E-F֭|/ ՃOko\)`ߧ=2;nMyX3S͖@Ԩ/.ՎF ƫztF/ֵ\) Y ^X¥ u+oWm侉k Fjpu[?t{p_Jָ0c`~.d3F/ .v^3E[_hWFz[k3\>Vٵx9V|$=+5w_zHRZvd$۠ѶǙ8s4ߗ.>4{}q|AhG}geX\i.VAȖAQ=GbJ8uGkq ɡl?\6L]&SOV@;tu"ax# =<ŽxnW}D zaQ[?o&0Aސ8Vsv >}([&˺LkfY-}ҿoPhL|kqlӬ8o co--w2@57 gސX,șo6xE Z U><]ʅ=wˁiaT.)>٭/CUSߏ2~+? R0჊8ELD*u4v5\w/.uϏ^ ~d-SbC y_]b2Ouga0K`7zÑw3k|^?YM+4p`?gxl\(ψ7N<<8Z cv/1 \ 6)))[\gZ4q~E0'ٸs`^h Bb㽣 asܕ@t$agZ7%㤵k!щ-)rkMm{L/>tI#UyMQun'-U51qtsƗ粄 匝c(AEKlO8ܝ 8,vPzm aX3V!?Wzd`?&^X&}B$3T;FFZ&R cQ ɛ1|5`"G$ʄs-3 ba)2Um:Q̈́Lt p̥@E {]u:CVzL%L菀VcCVLL~ngbΙHO16.3q#53I ~{>bV8r&)nL\f0o0'7-6j7L=byht)k{;m&c8oܹ#m|&t QxӀwy{ \H+՟]uz-sW`G|5I՜yQ?38"?W:dt<1;8m'gz yBg8E۞R%pXǭ$$i̪ !}.T2 WlgcucK+bjYwrݪ_2K׮t8ޒ d1n u$Vzxq^vb:&a>>W[3VB?&ښPxߞ={8n}avAG;ʙ{Ճ8^ly F9f TNuTWM$5(t(-$[[nKr9,p ;i aeKQlvE݈Ge]d1 ? u20#ig|23pWBʲی2ˍ9)6&2fFwLe-dzؘca?CbK8au2AW0_?*+qZ2JE/=]=85Ycm:׌Egԏqڣ\Kqe;r\J:옙B-3 f>Cv$.ڢm$I"yL!m!vM[;u*|Y==y~ϻԬc5Hq*^Ҥ6#qאk>jZ8[$g)9;%ȳ7HE?:+5(M+ߙ jXoD֭?#*oĥ!.__yy`݉ɈZuHrEgt#aӏ9_0:m%Ű)uhԝ.\3 rsF O&'2;SV-iBlgSֈBi@n9-p0{Dfzd~ȁr3NAo7>-2%%S! ߢM{HJiwM{㐍iYʾzzBTQ4yv(z ӿB;@v$nӤڮ i,8 Ahfa>]nz-}KъIGc *.ΡH=`1$,ݗJfN/^T`mkI==Nh!^_9=9 {{Y Ս5'D)~Qx6<K3qؐL`;*O1)3<9OsrSTl6L2ӆv!lŗui gt7ei}"ˎ="ൗ3jL= ͲK!HBC qW9돳мP=̬9SJ^ .Ea-pU!: @>RAgԥ)qJb=ϳ| 4xVsu 5m!l<_b+H_c8ALǑvΣ՟n(hoxv ;/q.%9kv#RDӮi㸹g cE9T~Dj78u6bplv -Fx?#r\dX q$ӫkU1^騙!S .2wkd["lm؏jl º R_ Iw 3󂓮3"?-ReeL:]DY<ި=`|T*;l/l=L g~ȫBF2::/1E&=2Eh1aF,k@fh hyQluC23j/ӆe՞a >O)F-8@ ~^D>fDQ"i;-""QRWU#,GC$%꾤kG$KM1󃷅ӗ[G–Lx|䇥_ 98SparseM/data/triogramX.rda0000644000176200001440000002522311547113521015205 0ustar liggesusersy4_d)s"C%S(I(Jh4iԠR"e[yPH(ᘎ>}κӽޟpe,%LPh?BA#?ӋB+Mh&?IcϿ~O|чY3Kcg&s*b/n{H|Ӿlz T3B1TBQͼs~-$ |USE@_Z> 4Ċ謕V&bK]GOCbMP/-󏜠4 NZRX#͟=_]r.Wa;w;,TtgS{TUՙhiui'4PԵO})wČQߵSx]C(=֍o)xtw 蝴&|9%݅oZeWPPݛŠΟdRs(b~UEfAJءw,_7|*E@Q٨(?K|gP;J$dz~m6d:Z ۳xC bدӬԢw.b4/亿z`%\jLg, *+7LԤ~5'W=MkpU8^auP$3t!Si[XRںlSw{jMn̞m8b=odn5J>Lߋ)9}n3\쭀NPtofAΆɣOjqTIȷ5-r2;vR$_ W|u vӞi-o-D5;~~th>P9MM4K?Y-^5@߂s貘rR;\*Z~-?ڳ<:Q3X@{μxlHvlQBWb mlx5Ij}Yk0JהᕋRݒ/tkASk[ Li`Ih܈ - >TG=.3g4@0|)Y>QCśYCA٩RMwk^XLA_stLP.k4gG:EUڬ{WhI{S l{KD-ERBҮN[|k6TxgcsO-H*:jcwh ;"zuYĒϻv|U=KaUqW{w_e0@}Ф"}hP0;4<?](>-Pv%`-+<׶=15tE8{C! `xӛ;.ح1Z{blvxf M;WcԸd({P-hN|aAVdN~PU T 8\gXUWڰ{-JV9oc@Tr`ZD{)ɜ6p*,*FYV;þueFj*@{&Kł=W+\ڳfF6zy٠}9[X 1\Zxh$Wף]97l.;;4b@{ƅ=AbNŠHjtikPeblgfvz.Ph-؀ ШHI (!遺vɓ}-oqUkOVxGu(zm26~^0 1AIK"/w[DJX> UpU% |+}(˔*XM?8n vI܁t1:u[)|E m: ca˜6CF(Q3L&ڋr,a,19UJz8 )_lyP- 6x:QRo򡆌: ~ .n[ŵT7]F/P]m .D_eC S;ww;%cP7+P h- )֌+hq:| _*Xr4Q[ܺ&XOXMc+K^*YP):7䬛:l]/sug_Ạ.܇rZA^㯐r͐); _z5-nH]ט9ըt,~u4\"/e:*5Q]3FH;g`+d뾇 f1aռ`RG{l ڻ\#n %+a!3k/{w0,G?`ꈄRA~x.zZзnř 6: OE|KOK`W%, :u*Y^ >ZcۯGwf̌A=%f+s~i(Bۣe>AlEVxnqr 4i"$O{}5sjgߕnfID]%4vt?vT(Lga1Ϗ#f)$_))rILiH] /YY.4=+Y4=0*AmzD+eR@=hWTPI AT~@i,|ǔ.:odBԑ\;b*DSV:sK@U`]bzgDubOЪ^I0<@WDٳXDŶ"I#T/yu != M5#"lv2SwyF;Ax5igKgfҠdޯI&M5s9Ue!职 ?]&o412`ᜂ&x-ԕfcr~tqC P+&;h]ܵChYZ7i-sOv; '@jGd}#0XAeh-2~_nxu8tഏ|K,`:!\ww`7T.JܦƊm6EuWNy>$x*0dlÂEb[BuM!Hӝ'R'uCaXBk:5hYVr|7kTnDnafG4[3=hq/X} 0& O_~k\{ S7k+~5%)?Qth|NjL傮~䭜 S7͛ :rj/A@xU:?G.6bBAGvTd5yoڐY;ѓ/w戙1yztoBއ(Q_yapS:˶A~!51X9`ƣV{ ֏A9 RC VҎ/-a^n%# RTf.RGspȘ x͵|{02\NI`.3o @Jo}SgfQz1̟ӵI{S4)`,w9o8;vOrF+jIկio3 *raq^`!"J֯?{?$U?P ſ HsEvÔuIr#k5o>lJ6KaQ:j]ʠ/Ryw\4ؖdu& &!U0ouePuYB#P#|lٝFR:hU;#]:P Vz!JzyuRt/щ3-i7ӫnkݹ޴R( uDj4~xBut۳iM냨JzaZ- zUM7;i`LE]*cejF_'s3"c5]P+2Vb bn/LvX|lƷ|ɼ_ͶT(X>:%VKJ |w?>(44YejPuxxt ɥO?55tN\5<4_E4 ;.5Ǡ=_csi'j[+SӔl9 ƟSlLer\H%`|,*S5q}%{P޺\ 4ajЯ0RSUwot(ھ :~<_m|V72r+baUǡ@m=C{Ac^hot\:iL&gu[|Aw\yOgѠRQb0PAhP{V}5v ; jg{걘⼬PvO KpV~CtpONڹf`ѣ2ڮK&]A/_EX8mDd?8BQg3b+6۩h}Ɓd}6C3tt|.c5Q~N~$0xu34FK -=XrڧTH3l.IJGc_݅0n5sǠnԝ?31ߩ+_,٩#[QCyGW7wa 3krx5# Oy|'+ZB_fpFۂmCI[ r2]zAEQg86_} 3T gb1 KpjE{?4 A֘B/O @L{8ͳc716 Ӈ)?MQ8+aa 6$|8s!rV> x~-%2 ʃN@;mH#;l|R z;.u Z2jO)z*YVņwX酋Ϋ0e,Ak4] zcFr!UI,T-u\/Dݪ>4 bҭ.I#haBUu=~u*|RMq0m^VW~؊.[N\. B=fa Aw?&>%kDũ(,[!ʢ'WA snG:ai`qFe=IwOR6@!&}-hj@U9WK6Xi Z7kc6y˷%u;Ry+4Q/tK[4wG@¾ʐ qBn ,RK%0z8}c}ЖoU4T u ̲/=M<e{QfqJ{}bg0KļoD; ;SFs%mQA'ѠԄ"Խ>Α÷ > :TzADj(xub'ӗOMןC톞jQ|XotvyF`nHl> 䄿os ~]{~!6ts{\30 |J6[ЋSbcqӵm(YGz!QsY46(lõG%"-RUTgh'oo—8&LO5w=M6 No&V.Е\ŖAIܛz[|ARzPD$t-^e-&c>$h}2Eߖzw-?,zUG/$rVhx:4VgxB]‘6u3/OLHe %hc za# cƶ0c&Vx6AՖj0tȈ:=ݧ,Ph8O@QT?~)YDvZfYjϷG%B$HIII))))M"R%R#R' $"&L4HHHh*4"}DDDFD3f"2%2#2' MdI4ȊȚȆ"%GdK4Ȏh=#3 +B"7ED܉<y-%ZFEMhJ"_UD~D\r!kqۅs\x|jqx/=ty=O=6q;q_Wi=۳6{\9meW?Oxncb<9KgmBfkƇw yڸsx={<`ӿl?[xvٱy(Y<(؄qxq={n>+8{x ^xwν;׈zyE<{$'yӒ8m\/y<~_%Mӗyكx&<7=xxguh71NMhxn?jϝ+7V_ؙx͗#'V23ƭzhsom?gs*sظuxؾs>nm;OOʿcxƭM\ϘƠsgo-&xD'cɀ?v2u9{XXIw-z5(y>q5;Kvl?&=5߄cn}ם&\[Ϲ?:\?sB77|q&z N۴ m{<ί<|\~n+w}fs {,se8!]sg{n/n[s=7KNȟߵ{)O̝xY^Mwz m"<ǰsk371owW;ܹwfx'0 3yBKS]SBbBr8]gb5;w½rU'xz[߸/y{:眜zlfl5D6m% 'Eh!D']"Jt6Q*4 DDDD>}#*!*#MTMTOLNEG4H4J +T2>dLPJM%9RI.$T3*JA%9~>~>~~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~~~~~~~~~~~~~᧭a?DFiFiFiFiFiFiFiFiFiFiFiFiFiFiFiFiFiFiN鄟N鄟N鄟WtO'tO'tO'tO'tO'tO'tO'tO'tO'tO'tO'tO'tO'tO'tO'tO'tO'tO'tO'tO'tO'tO'tO'tO'tO'tO'tO'tO't ~g3?3?3?3?3?3?3?3?3?3?3?3?3?3?3?3?3?3?3&B6ٴmMMd#u m#%y7 ]0`[YĞxز:t9+XT(?SparseM/man/0000755000176200001440000000000014013445474012405 5ustar liggesusersSparseM/man/summary.slm-class.Rd0000644000176200001440000000053611547113521016264 0ustar liggesusers\name{summary.slm-class} \docType{class} \alias{summary.slm-class} \title{Class "summary.slm" } \description{Sparse version of \code{summary.lm}} \section{Objects from the Class}{A virtual Class: No objects may be created from it.} \section{Methods}{ \describe{ \item{print}{\code{signature(x = "summary.slm")}: ... } } } \keyword{classes} SparseM/man/matrix.csr-class.Rd0000644000176200001440000000551311547113521016067 0ustar liggesusers\name{matrix.csr-class} \docType{class} \alias{matrix.csr-class} \alias{matrix.diag.csr-class} \title{Class "matrix.csr"} \description{A new class for sparse matrices stored in compressed sparse row format} \section{Objects from the Class}{ Objects can be created by calls of the form \code{new("matrix.csr", ...)}. and coerced from various other formats. Coercion of integer scalars and vectors into identity matrices and diagonal matrices respectively is accomplished by \code{as(x,"matrix.diag.csr")} which generates an object that has all the rights and responsibilties of the matrix.csr class. The default matrix.csr object is a scalar (1 by 1) matrix with element 0. } \section{Slots}{ \describe{ \item{\code{ra}:}{Object of class \code{numeric}, a real array of nnz elements containing the non-zero elements of A, stored in row order. Thus, if i TRUE is.matrix.csc(A.csc) # -> TRUE is.matrix.ssr(B.ssr) # -> TRUE is.matrix.ssc(B.ssc) # -> TRUE as.matrix(A.csr) as.matrix(A.csc) as.matrix(B.ssr) as.matrix(B.ssc) as.matrix.csr(rep(0,9),3,3) #sparse matrix of all zeros as(4,"matrix.diag.csr") #identity matrix of dimension 4 } \keyword{algebra} SparseM/man/SparseM.solve.Rd0000644000176200001440000001315114013444163015370 0ustar liggesusers\name{SparseM.solve} \alias{SparseM.solve} \alias{chol,ANY-method} \alias{chol,matrix.csr-method} \alias{chol,matrix.csc-method} \alias{chol,matrix-method} \alias{chol} \alias{backsolve-methods} \alias{backsolve,ANY-method} \alias{backsolve} \alias{forwardsolve} \alias{solve} \alias{backsolve,matrix.csr.chol-method} \alias{forwardsolve,matrix.csr.chol-method} \alias{solve,ANY-method} \alias{solve,matrix.csr-method} \title{Linear Equation Solving for Sparse Matrices} \description{ \code{chol} performs a Cholesky decomposition of a symmetric positive definite sparse matrix \code{x} of class \code{matrix.csr}. \cr \code{backsolve} performs a triangular back-fitting to compute the solutions of a system of linear equations in one step. \cr \code{backsolve} and \code{forwardsolve} can also split the functionality of \code{backsolve} into two steps. \cr \code{solve} combines \code{chol} and \code{backsolve} and will compute the inverse of a matrix if the right-hand-side is missing. } \usage{ chol(x, \dots)%%MM chol(x, pivot = FALSE, \dots) \S4method{backsolve}{matrix.csr.chol}(r, x, k = NULL, upper.tri = NULL, transpose = NULL, twice = TRUE, \dots) forwardsolve(l, x, k = ncol(l), upper.tri = FALSE, transpose = FALSE) solve(a, b, \dots) } \arguments{ \item{a}{symmetric positive definite matrix of class \code{matrix.csr}.} \item{r}{object of class \code{matrix.csr.chol} returned by the function \code{chol}.} \item{l}{object of class \code{matrix.csr.chol} returned by the function \code{chol}.} \item{x,b}{vector(regular matrix) of right-hand-side(s) of a system of linear equations.} \item{k}{inherited from the generic; not used here.} %%MM \item{pivot}{inherited from the generic; not used here.} \item{upper.tri}{inherited from the generic; not used here.} \item{transpose}{inherited from the generic; not used here.} \item{twice}{Logical flag: If true backsolve solves twice, see below.} \item{\dots}{further arguments passed to or from other methods.} } \details{ \code{chol} performs a Cholesky decomposition of a symmetric positive definite sparse matrix \code{a} of class \code{matrix.csr} using the block sparse Cholesky algorithm of Ng and Peyton (1993). The structure of the resulting \code{matrix.csr.chol} object is relatively complicated. If necessary it can be coerced back to a \code{matrix.csr} object as usual with \code{as.matrix.csr}. \code{backsolve} does triangular back-fitting to compute the solutions of a system of linear equations. For systems of linear equations that only vary on the right-hand-side, the result from \code{chol} can be reused. Contrary to the behavior of \code{backsolve} in base R, the default behavior of \code{backsolve(C,b)} when C is a \code{matrix.csr.chol} object is to produce a solution to the system \eqn{Ax = b} where \code{C <- chol(A)}, see the example section. When the flag \code{twice} is \code{FALSE} then backsolve solves the system \eqn{Cx = b}, up to a permutation -- see the comments below. The command \code{solve} combines \code{chol} and \code{backsolve}, and will compute the inverse of a matrix if the right-hand-side is missing. The determinant of the Cholesky factor is returned providing a means to efficiently compute the determinant of sparse positive definite symmetric matrices. There are several integer storage parameters that are set by default in the call to the Cholesky factorization, these can be overridden in any of the above functions and will be passed by the usual "dots" mechanism. The necessity to do this is usually apparent from error messages like: Error in local(X...) increase tmpmax. For example, one can use, \code{solve(A,b, tmpmax = 100*nrow(A))}. The current default for tmpmax is \code{50*nrow(A)}. Some experimentation may be needed to select appropriate values, since they are highly problem dependent. See the code of chol() for further details on the current defaults. } \note{ Because the sparse Cholesky algorithm re-orders the positive definite sparse matrix \code{A}, the value of \code{x <- backsolve(C, b)} does \emph{not} equal the solution to the triangular system \eqn{Cx = b}, but is instead the solution to the system \eqn{CPx = Pb} for some permutation matrix \eqn{P} (and analogously for \code{x <- forwardsolve(C, b)}). However, a little algebra easily shows that \code{backsolve(C, forwardsolve(C, b), twice = FALSE)} \emph{is} the solution to the equation \eqn{Ax=b}. Finally, if \code{C <- chol(A)} for some sparse covariance matrix \code{A}, and z is a conformable standard normal vector, then the product \code{y <- as.matrix.csr(C) \%*\% z} is normal with covariance matrix \code{A} irrespective of the permutation of the Cholesky factor. } \references{ Koenker, R and Ng, P. (2002). SparseM: A Sparse Matrix Package for \R,\cr \url{http://www.econ.uiuc.edu/~roger/research/home.html} Ng, E. G. and B. W. Peyton (1993), "Block sparse Cholesky algorithms on advanced uniprocessor computers", \emph{SIAM J. Sci. Comput.}, \bold{14}, pp. 1034-1056. } \seealso{ \code{slm} for sparse version of \code{lm} \cr } \examples{ data(lsq) class(lsq) # -> [1] "matrix.csc.hb" model.matrix(lsq)->design.o class(design.o) # -> "matrix.csr" dim(design.o) # -> [1] 1850 712 y <- model.response(lsq) # extract the rhs length(y) # [1] 1850 t(design.o) \%*\% design.o -> XpX t(design.o) \%*\% y -> Xpy chol(XpX) -> chol.o b1 <- backsolve(chol.o,Xpy) # least squares solutions in two steps b2 <- solve(XpX,Xpy) # least squares estimates in one step b3 <- backsolve(chol.o, forwardsolve(chol.o, Xpy), twice = FALSE) # in three steps ## checking that these three are indeed equal : stopifnot(all.equal(b1, b2), all.equal(b2, b3)) } \keyword{algebra} SparseM/man/matrix.coo-class.Rd0000644000176200001440000000215511547113521016057 0ustar liggesusers\name{matrix.coo-class} \docType{class} \alias{matrix.coo-class} \title{Class "matrix.coo"} \description{A new class for sparse matrices stored in coordinate format} \section{Objects from the Class}{ Objects can be created by calls of the form \code{new("matrix.coo", ...)}. } \section{Slots}{ \describe{ \item{\code{ra}:}{Object of class \code{numeric}, a real array of nnz elements containing the non-zero elements of A.} \item{\code{ja}:}{Object of class \code{integer}, an integer array of nnz elements containing the column indices of the elements stored in `ra'.} \item{\code{ia}:}{Object of class \code{integer}, an integer array of nnz elements containing the row indices of the elements stored in `ra'.} \item{\code{dimension}:}{Object of class \code{integer}, dimension of the matrix } } } \section{Methods}{ \describe{ \item{as.matrix.csr}{\code{signature(x = "matrix.coo")}: ... } \item{as.matrix}{\code{signature(x = "matrix.coo")}: ... } \item{dim}{\code{signature(x = "matrix.coo")}: ... } } } \seealso{ \code{\link{matrix.csr-class}}} \keyword{classes} SparseM/man/matrix.ssc-class.Rd0000644000176200001440000000324711547113521016072 0ustar liggesusers\name{matrix.ssc-class} \docType{class} \alias{matrix.ssc-class} \title{Class "matrix.ssc"} \description{A new class for sparse matrices stored in symmetric sparse column format} \section{Objects from the Class}{ Objects can be created by calls of the form \code{new("matrix.ssc", ...)}. } \section{Slots}{ \describe{ \item{\code{ra}:}{Object of class \code{numeric}, a real array of nnz elements containing the non-zero elements of the lower triangular part of A, stored in column order. Thus, if i [1] "matrix.csc.hb" model.matrix(lsq)->X class(X) # -> "matrix.csr" dim(X) # -> [1] 1850 712 y <- model.response(lsq) # extract the rhs length(y) # [1] 1850 } \references{ Koenker, R and Ng, P. (2002). SparseM: A Sparse Matrix Package for \R,\cr \url{http://www.econ.uiuc.edu/~roger/research/home.html} Matrix Market, \url{https://math.nist.gov/MatrixMarket/data/Harwell-Boeing/lsq/lsq.html} } \keyword{datasets} SparseM/man/SparseM.ops.Rd0000644000176200001440000001204414013444136015041 0ustar liggesusers\name{SparseM.ops} \alias{Ops.matrix.csr} \alias{Ops.matrix.diag.csr} \alias{\%*\%-methods} \alias{\%*\%,ANY,ANY-method} \alias{\%*\%,matrix.csr,matrix.csr-method} \alias{\%*\%,matrix.csr,matrix-method} \alias{\%*\%,matrix.csr,numeric-method} \alias{\%*\%,matrix,matrix.csr-method} \alias{\%*\%,numeric,matrix.csr-method} \alias{kronecker-methods} %\alias{kronecker,ANY,ANY-method} \alias{kronecker,matrix.csr,matrix.csr-method} \alias{kronecker,matrix.csr,matrix-method} \alias{kronecker,matrix.csr,numeric-method} \alias{kronecker,matrix,matrix.csr-method} \alias{kronecker,numeric,matrix.csr-method} \alias{+,matrix.csr-method} \alias{-,matrix.csr-method} \alias{*,matrix.csr-method} \alias{/,matrix.csr-method} \alias{^,matrix.csr-method} \alias{\%\%,matrix.csr-method} \alias{\%/\%,matrix.csr-method} \alias{>,matrix.csr-method} \alias{>=,matrix.csr-method} \alias{<,matrix.csr-method} \alias{<=,matrix.csr-method} \alias{==,matrix.csr-method} \alias{!=,matrix.csr-method} \alias{&,matrix.csr-method} \alias{|,matrix.csr-method} \alias{norm} \alias{norm,ANY-method} % For R 2.10.x and earlier: \alias{norm,matrix.csr-method} % For R 2.11.0 and later: \alias{norm,matrix.csr,character-method} \alias{norm,matrix.csr,missing-method} % FIXME(MM) - deprecate det() methods, propagating determinant() \alias{det,ANY-method} \alias{det,matrix-method} \alias{det,matrix.csr-method} \alias{det,matrix.csr.chol-method} \alias{determinant,matrix.csr.chol,missing-method} \alias{determinant,matrix.csr.chol,logical-method} \alias{determinant,matrix.csr,missing-method} \alias{determinant,matrix.csr,logical-method} % \alias{t,ANY-method} \alias{t,matrix.csr-method} \alias{t,matrix.csc-method} \alias{t,matrix.coo-method} \alias{diag,ANY-method} \alias{diag,matrix.csr-method} \alias{diag<-,ANY-method} \alias{diag<-,matrix.csr-method} \alias{diag<-,matrix.diag.csr-method} \alias{diff,matrix.csr-method} \alias{diff<-,ANY-method} \alias{diff<-,matrix.csr-method} \alias{diag.assign,matrix.csr-method} \alias{ncol,matrix.csr-method} \alias{nrow,matrix.csr-method} \alias{dim,ANY-method} \alias{dim,matrix.csr-method} \alias{dim,matrix.csc-method} \alias{dim,matrix.ssr-method} \alias{dim,matrix.ssc-method} \alias{dim,matrix.coo-method} \alias{rbind.matrix.csr} \alias{cbind.matrix.csr} \alias{[.matrix.csr} \alias{[.matrix.diag.csr} \alias{[<-.matrix.csr} \alias{[<-.matrix.diag.csr} \alias{[.matrix.coo} \alias{[<-.matrix.coo} \title{Basic Linear Algebra for Sparse Matrices} \description{Basic linear algebra operations for sparse matrices of class \code{matrix.csr}.} \arguments{ \item{x}{matrix of class \code{matrix.csr}.} \item{y}{matrix of class \code{matrix.csr} or a dense matrix or vector.} \item{value}{replacement values.} \item{i,j}{vectors of elements to extract or replace.} \item{nrow}{optional number of rows for the result.} \item{lag}{an integer indicating which lag to use.} \item{differences}{an integer indicating the order of the difference.} } \details{Linear algebra operations for matrices of class \code{matrix.csr} are designed to behave exactly as for regular matrices. In particular, matrix multiplication, kronecker product, addition, subtraction and various logical operations should work as with the conventional dense form of matrix storage, as does indexing, rbind, cbind, and diagonal assignment and extraction. The method diag may be used to extract the diagonal of a \code{matrix.csr} object, to create a sparse diagonal see \code{SparseM.ontology}. The function \code{\link[base]{determinant}} computes the (log) determinant, of the argument, returning a \code{"det"} object as the base function. This is \emph{preferred} over using the function \code{det()} which is a simple wrapper for \code{determinant()}. Using \code{det()} in the following way is somewhat deprecated: \cr \code{det()} computes the determinant of the argument matrix. If the matrix is of class \code{matrix.csr} then it must be symmetric, or an error will be returned. If the matrix is of class \code{matrix.csr.chol} then the determinant of the Cholesky factor is returned, ie the product of the diagonal elements. % rather have them use determinant()... %For the log determinant, use \code{det(x, logarithm=TRUE)}. The function \code{norm} is used to check for symmetry by computing the maximum of the elements of the difference between the matrix and its transpose. Optionally, this sup norm can be replaced by the Hilbert-Schmidt norm, or the l1 norm. } \references{ Koenker, R and Ng, P. (2002). SparseM: A Sparse Matrix Package for \R,\cr \url{http://www.econ.uiuc.edu/~roger/research/home.html} } \seealso{ \code{slm} for sparse linear model fitting. \code{SparseM.ontology} for coercion and other class relations involving the sparse matrix classes. } \examples{ n1 <- 10 n2 <- 10 p <- 6 y <- rnorm(n1) a <- rnorm(n1*p) a[abs(a) < 0.5] <- 0 A <- matrix(a,n1,p) A.csr <- as.matrix.csr(A) b <- rnorm(n2*p) b[abs(b)<1.0] <- 0 B <- matrix(b,n2,p) B.csr <- as.matrix.csr(B) # matrix transposition and multiplication A.csr\%*\%t(B.csr) # kronecker product - via kronecker() methods: A.csr \%x\% matrix(1:4,2,2) } \keyword{algebra} SparseM/man/SparseM.hb.Rd0000644000176200001440000001167314013444020014630 0ustar liggesusers\name{SparseM.hb} \alias{SparseM.hb} \alias{read.matrix.hb} \alias{model.matrix,ANY-method} \alias{model.matrix,matrix.csc.hb-method} \alias{model.matrix,matrix.ssc.hb-method} \alias{model.matrix.matrix.ssc.hb} \alias{model.response,ANY-method} \alias{model.response,matrix.csc.hb-method} \alias{model.response,matrix.ssc.hb-method} \alias{model.guess,matrix.csc.hb-method} \alias{model.guess,matrix.ssc.hb-method} \alias{model.xexact,matrix.csc.hb-method} \alias{model.xexact,matrix.ssc.hb-method} \alias{model.response} \alias{model.guess} \alias{model.xexact} \alias{model.matrix} \title{Harwell-Boeing Format Sparse Matrices} \description{ Read, and extract components of data in Harwell-Boeing sparse matrix format. } \usage{ read.matrix.hb(file) model.matrix(object, \dots) model.response(data,type) } \arguments{ \item{file}{file name to read from or } \item{data, object}{an object of either 'matrix.csc.hb' or 'matrix.ssc.hb' class} \item{type}{One of `"any"', `"numeric"', `"double"'. Using the either of latter two coerces the result to have storage mode `"double"'} \item{\dots}{additional arguments to model.matrix} } \details{ Sparse coefficient matrices in the Harwell-Boeing format are stored in 80-column records. Each file begins with a multiple line header block followed by two, three or four data blocks. The header block contains summary information on the storage formats and storage requirements. The data blocks contain information of the sparse coefficient matrix and data for the right-hand-side of the linear system of equations, initial guess of the solution and the exact solutions if they exist. The function \code{model.matrix} extracts the X matrix component. The function \code{model.response} extracts the y vector (or matrix). The function \code{model.guess} extracts the guess vector. The function \code{model.xexact} extracts the xexact vector. This function is written in R replacing a prior implementation based on iohb.c which had memory fault difficulties. The function write.matrix.hb has been purged; users wishing to write matrices in Harwell-Boeing format are advised to convert SparseM matrices to Matrix classes and use writeHB from the Matrix package. Contributions of code to facilitate this conversion would be appreciated! } \value{ The function \code{read.matrix.hb} returns a list of class \code{matrix.csc.hb} or \code{matrix.ssc.hb} depending on how the coefficient matrix is stored in the \code{file}. \item{ra }{ra component of the csc or ssc format of the coefficient matrix, X.} \item{ja }{ja component of the csc or ssc format of the coefficient matrix, X.} \item{ia }{ia component of the csc or ssc format of the coefficient matrix, X.} \item{rhs.ra }{ra component of the right-hand-side, y, if stored in csc or ssc format; right-hand-side stored in dense vector or matrix otherwise.} \item{rhs.ja }{ja component of the right-hand-side, y, if stored in csc or ssc format; a null vector otherwise.} \item{rhs.ia }{ia component of the right-hand-side, y, if stored in csc or ssc format; a null vector otherwise.} \item{xexact}{vector of the exact solutions, b, if they exist; a null vector otherwise.} \item{guess}{vector of the initial guess of the solutions if they exist; a null vector otherwise.} \item{dimension}{dimenson of the coefficient matrix, X.} \item{rhs.dim}{dimenson of the right-hand-side, y.} \item{rhs.mode}{storage mode of the right-hand-side; can be full storage or same format as the coefficient matrix, for the moment the only allowed mode is "F" for full, or dense mode.} The function \code{model.matrix} returns the X matrix of class \code{matrix.csr}. The function \code{model.response} returns the y vector (or matrix). The function \code{model.guess} returns the guess vector (or matrix). The function \code{model.xexact} returns the xexact vector (or matrix). } \references{ Duff, I.S., Grimes, R.G. and Lewis, J.G. (1992) User's Guide for Harwell-Boeing Sparse Matrix Collection at \url{https://math.nist.gov/MatrixMarket/collections/hb.html}} \author{Pin Ng} \seealso{ \code{slm} for sparse version of \code{lm} \cr \code{SparseM.ops} for operators on class \code{matrix.csr} \cr \code{SparseM.solve} for linear equation solving for class \code{matrix.csr} \cr \code{SparseM.image} for image plotting of class \code{matrix.csr} \cr \code{SparseM.ontology} for coercion of class \code{matrix.csr} \cr } \examples{ Xy <- read.matrix.hb(system.file("extdata","lsq.rra",package = "SparseM")) class(Xy) # -> [1] "matrix.csc.hb" X <- model.matrix(Xy)->X class(X) # -> "matrix.csr" dim(X) # -> [1] 1850 712 y <- model.response(Xy) # extract the rhs length(y) # [1] 1850 Xy <- read.matrix.hb(system.file("extdata","rua_32_ax.rua",package = "SparseM")) X <- model.matrix(Xy) y <- model.response(Xy) # extract the rhs g <- model.guess(Xy) # extract the guess a <- model.xexact(Xy) # extract the xexact fit <- solve(t(X) \%*\% X, t(X) \%*\% y) # compare solution with xexact solution } \keyword{IO} SparseM/man/matrix.csr.chol-class.Rd0000644000176200001440000000425611547113521017016 0ustar liggesusers\name{matrix.csr.chol-class} \docType{class} \alias{matrix.csr.chol-class} \title{Class "matrix.csr.chol"} \description{A class of objects returned from Ng and Peyton's (1993) block sparse Cholesky algorithm} \section{Objects from the Class}{ Objects can be created by calls of the form \code{new("matrix.csr.chol", ...)}. } \section{Slots}{ \describe{ \item{\code{nrow}:}{Object of class \code{integer}, number of rows in the linear system of equations } \item{\code{nnzlindx}:}{Object of class \code{numeric}, number of non-zero elements in lindx} \item{\code{nsuper}:}{Object of class \code{integer}, number of supernodes} \item{\code{lindx}:}{Object of class \code{integer}, vector of integer containing, in column major order, the row subscripts of the non-zero entries in the Cholesky factor in a compressed storage format} \item{\code{xlindx}:}{Object of class \code{integer}, vector of integer of pointers for lindx} \item{\code{nnzl}:}{Object of class \code{numeric}, number of non-zero entries, including the diagonal entries, of the Cholesky factor stored in lnz} \item{\code{lnz}:}{Object of class \code{numeric}, contains the entries of the Cholesky factor } \item{\code{log.det}:}{Object of class \code{numeric}, log determinant of the Cholesky factor} \item{\code{xlnz}:}{Object of class \code{integer}, column pointer for the Cholesky factor stored in lnz} \item{\code{invp}:}{Object of class \code{integer}, vector of integer of inverse permutation vector} \item{\code{perm}:}{Object of class \code{integer}, vector of integer of permutation vector } \item{\code{xsuper}:}{Object of class \code{integer}, array containing the supernode partioning} \item{\code{det}:}{Object of class \code{numeric}, determinant of the Cholesky factor} \item{\code{ierr}:}{Object of class \code{integer}, error flag } \item{\code{time}:}{Object of class \code{numeric} execution time } } } \section{Methods}{ \describe{ \item{backsolve}{\code{signature(r = "matrix.csr.chol")}: ... } \item{as.matrix.csr}{\code{signature(x = "matrix.csr.chol", upper.tri=TRUE)}: ... } } } \seealso{\code{\link{chol}}, \code{\link{backsolve}}} \keyword{classes} SparseM/man/slm.methods.Rd0000644000176200001440000000547614013444325015137 0ustar liggesusers\name{slm.methods} \alias{slm.methods} \alias{summary.slm} \alias{summary.mslm} \alias{print.summary.slm} \alias{print.slm} \alias{fitted.slm} \alias{residuals.slm} \alias{coef.slm} \alias{extractAIC.slm} \alias{deviance.slm} \title{Methods for slm objects} \description{ Summarize, print, and extract objects from \code{\link{slm}} objects. } \usage{ \method{summary}{slm}(object, correlation, \dots) \method{summary}{mslm}(object, \dots) \method{print}{slm}(x, digits, \dots) \method{print}{summary.slm}(x, digits, symbolic.cor, signif.stars, \dots) \method{fitted}{slm}(object, \dots) \method{residuals}{slm}(object, \dots) \method{coef}{slm}(object, \dots) \method{extractAIC}{slm}(fit, scale = 0, k = 2, \dots) \method{deviance}{slm}(object, \dots) } \arguments{ \item{object,x,fit}{ object of class \code{slm}. } \item{digits}{minimum number of significant digits to be used for most numbers.} \item{scale}{optional numeric specifying the scale parameter of the model, see 'scale' in 'step'. Currently only used in the '"lm"' method, where 'scale' specifies the estimate of the error variance, and 'scale = 0' indicates that it is to be estimated by maximum likelihood.} \item{k}{ numeric specifying the "weight" of the equivalent degrees of freedom ('edf') part in the AIC formula.} \item{symbolic.cor}{logical; if \code{TRUE}, the correlation of coefficients will be printed. The default is \code{FALSE}} \item{signif.stars}{logical; if \code{TRUE}, P-values are additionally encoded visually as ``significance stars'' in order to help scanning of long coefficient tables. It defaults to the `show.signif.stars' slot of `options'. } \item{correlation}{logical; if \code{TRUE}, the correlation matrix of the estimated parameters is returned and printed.} \item{\dots}{additional arguments passed to methods.} } \value{ \code{print.slm} and \code{print.summary.slm} return invisibly. \code{fitted.slm}, \code{residuals.slm}, and \code{coef.slm} return the corresponding components of the \code{slm} object. \code{extractAIC.slm} and \code{deviance.slm} return the AIC and deviance values of the fitted object. } \references{ Koenker, R and Ng, P. (2002). SparseM: A Sparse Matrix Package for \R,\cr \url{http://www.econ.uiuc.edu/~roger/research/home.html} } \author{ Roger Koenker } \seealso{ \code{slm} } \examples{ data(lsq) X <- model.matrix(lsq) #extract the design matrix y <- model.response(lsq) # extract the rhs X1 <- as.matrix(X) slm.time <- system.time(slm(y~X1-1) -> slm.o) # pretty fast cat("slm time =",slm.time,"\n") cat("slm Results: Reported Coefficients Truncated to 5 ","\n") sum.slm <- summary(slm.o) sum.slm$coef <- sum.slm$coef[1:5,] sum.slm fitted(slm.o)[1:10] residuals(slm.o)[1:10] coef(slm.o)[1:10] } \keyword{ regression } SparseM/man/slm-class.Rd0000644000176200001440000000174711547113521014575 0ustar liggesusers\name{slm-class} \docType{class} \alias{slm-class} \title{Class "slm"} \description{A sparse extension of \code{lm}} \section{Objects from the Class}{ Objects can be created by calls of the form \code{new("slm", ...)}. } \section{Slots}{ \describe{ \item{\code{coefficients}:}{Object of class \code{numeric} estimated coefficients} \item{\code{chol}:}{Object of class \code{matrix.csr.chol} generated by function \code{chol}} \item{\code{residuals}:}{Object of class \code{"numeric"} residuals} \item{\code{fitted}:}{Object of class \code{"numeric"} fitted values} } } \section{Extends}{ Class \code{"lm"}, directly. Class \code{"oldClass"}, by class "lm". } \section{Methods}{ \describe{ \item{coef}{\code{signature(object = "slm")}: ... } \item{fitted}{\code{signature(object = "slm")}: ... } \item{residuals}{\code{signature(object = "slm")}: ... } \item{summary}{\code{signature(object = "slm")}: ... } } } \seealso{ \code{\link{slm}}} \keyword{classes} SparseM/man/slm.fit.Rd0000644000176200001440000000427314013444300014241 0ustar liggesusers\name{slm.fit} \alias{slm.fit} \alias{slm.fit} \alias{slm.wfit} \alias{slm.fit.csr} \title{Internal slm fitting functions} \description{ Fitting functions for sparse linear model fitting. } \usage{ slm.fit(x,y,method, \dots) slm.wfit(x,y,weights,\dots) slm.fit.csr(x, y, \dots) } \arguments{ \item{x}{ design matrix. } \item{y}{ vector of response observations. } \item{method}{ only \code{csr} is supported currently } \item{weights}{an optional vector of weights to be used in the fitting process. If specified, weighted least squares is used with weights `weights' (that is, minimizing \deqn{\sum w_i*e_i^2}{sum w e^2} The length of weights must be the same as the number of observations. The weights must be nonnegative and it is strongly recommended that they be strictly positive, since zero weights are ambiguous.} \item{\dots}{additional arguments.} } \details{ \code{slm.fit} and \code{slm.wfit} call \code{slm.fit.csr} to do Cholesky decomposition and then backsolve to obtain the least squares estimated coefficients. These functions can be called directly if the user is willing to specify the design matrix in \code{matrix.csr} form. This is often advantageous in large problems to reduce memory requirements. } \value{ A list of class \code{slm} consisting of: \item{coef}{estimated coefficients} \item{chol}{cholesky object from fitting} \item{residuals}{residuals} \item{fitted}{fitted values} \item{df.residual}{degrees of freedom} \item{terms}{terms} \item{call}{call} ... } \references{ Koenker, R and Ng, P. (2002). SparseM: A Sparse Matrix Package for \R,\cr \url{http://www.econ.uiuc.edu/~roger/research/home.html}} \author{ Roger Koenker } \seealso{ \code{\link{slm}} } \examples{ data(lsq) X <- model.matrix(lsq) #extract the design matrix y <- model.response(lsq) # extract the rhs class(X) # -> "matrix.csr" class(y) # -> NULL slm.fit(X,y)->slm.fit.o # this is much more efficient in memory usage than slm() slm(y~as.matrix(X)-1) -> slm.o # this requires X to be transformed into dense mode cat("Difference between `slm.fit' and `slm' estimated coefficients =", sum(abs(slm.fit.o$coef-slm.o$coef)),"\n") } \keyword{ regression } SparseM/man/numeric-null-class.Rd0000644000176200001440000000055711547113521016412 0ustar liggesusers\name{numeric or NULL-class} \docType{class} \alias{numeric or NULL-class} \title{Class "numeric or NULL"} \description{A virtual class needed by the "matrix.csc.hb" class} \section{Objects from the Class}{A virtual Class: No objects may be created from it.} \section{Methods}{ No methods defined with class "numeric or NULL" in the signature. } \keyword{classes} SparseM/man/summary.mslm-class.Rd0000644000176200001440000000054211547113521016436 0ustar liggesusers\name{summary.mslm-class} \docType{class} \alias{summary.mslm-class} \title{Class "summary.mslm" } \description{Sparse version of \code{summary.lm}} \section{Objects from the Class}{A virtual Class: No objects may be created from it.} \section{Methods}{ \describe{ \item{print}{\code{signature(x = "summary.mslm")}: ... } } } \keyword{classes} SparseM/man/triogramX.Rd0000644000176200001440000000106114013444355014643 0ustar liggesusers\name{triogramX} \alias{triogramX} \alias{X} \title{A Design Matrix for a Triogram Problem} \description{This is a design matrix arising from a bivariate smoothing problem using penalized triogram fitting. It is used in the SparseM vignette to illustrate the use of the sparse matrix image function.} \usage{data(triogramX)} \format{A 375 by 100 matrix stored in compressed sparse row format} \references{ Koenker, R and Ng, P. (2002). SparseM: A Sparse Matrix Package for \R,\cr \url{http://www.econ.uiuc.edu/~roger/research/home.html} } \keyword{datasets} SparseM/man/matrix.ssc.hb-class.Rd0000644000176200001440000000401611547113521016455 0ustar liggesusers\name{matrix.ssc.hb-class} \docType{class} \alias{matrix.ssc.hb-class} \title{Class "matrix.ssc.hb"} \description{A new class consists of the coefficient matrix and the right-hand-side of a linear system of equations, initial guess of the solution and the exact solutions if they exist stored in external files using the Harwell-Boeing format. } \section{Objects from the Class}{ Objects can be created by calls of the form \code{new("matrix.ssc.hb", ...)}. } \section{Slots}{ \describe{ \item{\code{ra}:}{Object of class \code{numeric}, ra component of the csc or ssc format of the coefficient matrix, X.} \item{\code{ja}:}{Object of class \code{integer}, ja component of the csc or s sc format of the coefficient matrix, X.} \item{\code{ia}:}{Object of class \code{integer}, ia component of the csc or ssc format of the coefficient matrix, X.} \item{\code{rhs.ra}:}{Object of class \code{numeric}, ra component of the right-hand-side, y, if stored in csc or ssc format; right-hand-side stored in dense vector or matrix otherwise.} \item{\code{guess}:}{Object of class \code{numeric or NULL} vector of the initial guess of the solutions if they exist; a null vector otherwise.} \item{\code{xexact}:}{Object of class \code{numeric or NULL} vector of the exact solutions, b, if they exist; a null vector otherwise.} \item{\code{dimension}:}{Object of class \code{integer}, dimenson of the coefficient matrix, X.} \item{\code{rhs.dim}:}{Object of class \code{integer}, dimenson of the right-hand-side, y.} \item{\code{rhs.mode}:}{Object of class \code{character or NULL} storage mode of the right-hand-side; can be full storage or same format as the coefficient matrix.} } } \section{Extends}{ Class \code{"matrix.csc.hb"}, directly. } \section{Methods}{ \describe{ \item{model.matrix}{\code{signature(object = "matrix.ssc.hb")}: ... } } } \seealso{\code{\link{model.matrix}}, \code{\link{model.response}}, \code{\link{read.matrix.hb}}, \code{\link{matrix.csc.hb-class}}} \keyword{classes} SparseM/man/matrix.ssr-class.Rd0000644000176200001440000000322311547113521016103 0ustar liggesusers\name{matrix.ssr-class} \docType{class} \alias{matrix.ssr-class} \title{Class "matrix.ssr"} \description{A new class for sparse matrices stored in symmetric sparse row format} \section{Objects from the Class}{ Objects can be created by calls of the form \code{new("matrix.ssr", ...)}. } \section{Slots}{ \describe{ \item{\code{ra}:}{Object of class \code{numeric}, a real array of nnz elements containing the non-zero elements of the lower triangular part of A, stored in row order. Thus, if i slm.o) # pretty fast lm.time <- system.time(lm(y~X1-1) -> lm.o) # very slow cat("slm time =",slm.time,"\n") cat("slm Results: Reported Coefficients Truncated to 5 ","\n") sum.slm <- summary(slm.o) sum.slm$coef <- sum.slm$coef[1:5,] sum.slm cat("lm time =",lm.time,"\n") cat("lm Results: Reported Coefficients Truncated to 5 ","\n") sum.lm <- summary(lm.o) sum.lm$coef <- sum.lm$coef[1:5,] sum.lm } \keyword{regression} SparseM/man/matrix.csc.hb-class.Rd0000644000176200001440000000373111547113521016440 0ustar liggesusers\name{matrix.csc.hb-class} \docType{class} \alias{matrix.csc.hb-class} \title{Class "matrix.csc.hb"} \description{A new class consists of the coefficient matrix and the right-hand-side of a linear system of equations, initial guess of the solution and the exact solutions if they exist stored in external files using the Harwell-Boeing format. } \section{Objects from the Class}{ Objects can be created by calls of the form \code{new("matrix.csc.hb", ...)}. } \section{Slots}{ \describe{ \item{\code{ra}:}{Object of class \code{numeric}, ra component of the csc or ssc format of the coefficient matrix, X.} \item{\code{ja}:}{Object of class \code{integer}, ja component of the csc or ssc format of the coefficient matrix, X.} \item{\code{ia}:}{Object of class \code{numeric}, ia component of the csc or ssc format of the coefficient matrix, X.} \item{\code{rhs.ra}:}{Object of class \code{numeric}, ra component of the right-hand-side, y, if stored in csc or ssc format; right-hand-side stored in dense vector or matrix otherwise.} \item{\code{guess}:}{Object of class \code{numeric} or \code{NULL} vector of the initial guess of the solutions if they exist; a null vector otherwise.} \item{\code{xexact}:}{Object of class \code{numeric or NULL} vector of the exact solutions, b, if they exist; a null vector otherwise.} \item{\code{dimension}:}{Object of class \code{integer}, dimenson of the coefficient matrix, X.} \item{\code{rhs.dim}:}{Object of class \code{integer}, dimenson of the right-hand-side, y.} \item{\code{rhs.mode}:}{Object of class \code{character or NULL} storage mode of the right-hand-side; can be full storage or same format as the coefficient matrix.} } } \section{Methods}{ \describe{ \item{model.matrix}{\code{signature(object = "matrix.csc.hb")}: ... } } } \seealso{\code{\link{model.matrix}}, \code{\link{model.response}}, \code{\link{read.matrix.hb}}, \code{\link{matrix.ssc.hb-class}}} \keyword{classes} SparseM/man/matrix.csc-class.Rd0000644000176200001440000000337711547113521016056 0ustar liggesusers\name{matrix.csc-class} \docType{class} \alias{matrix.csc-class} \title{Class "matrix.csc"} \description{A new class for sparse matrices stored in compressed sparse column format} \section{Objects from the Class}{ Objects can be created by calls of the form \code{new("matrix.csc", ...)}. } \section{Slots}{ \describe{ \item{\code{ra}:}{Object of class \code{numeric}, a real array of nnz elements containing the non-zero elements of A, stored in column order. Thus, if icol(A)+4|row(A)col(A)+2|row(A) Depends: R (>= 2.15), methods Imports: graphics, stats, utils Author: Roger Koenker [cre, aut], Pin Tian Ng [ctb] (Contributions to Sparse QR code), Yousef Saad [ctb] (author of sparskit2), Ben Shaby [ctb] (author of chol2csr) Description: Some basic linear algebra functionality for sparse matrices is provided: including Cholesky decomposition and backsolving as well as standard R subsetting and Kronecker products. License: GPL (>= 2) Title: Sparse Linear Algebra URL: http://www.econ.uiuc.edu/~roger/research/sparse/sparse.html NeedsCompilation: yes Repository: CRAN Packaged: 2021-02-18 11:10:52 UTC; roger Date/Publication: 2021-02-18 12:00:02 UTC SparseM/build/0000755000176200001440000000000014013445473012730 5ustar liggesusersSparseM/build/vignette.rds0000644000176200001440000000035414013445473015271 0ustar liggesusersuQ 0 .^?/7( *kܲ9*7\tH&4'taeJ&yܢGgwqDa#B+Hzb%GRU5>O4Ɲ02ZK)<Ok3aY[7ҞṐ|`Ɲ$)s7~]xR~O¯wsp#3 RE;!h#ERSparseM/src/0000755000176200001440000000000014013445473012420 5ustar liggesusersSparseM/src/csr.f0000644000176200001440000000503012135621240013343 0ustar liggesusers subroutine csr (a,ra,ja,ia,m,n,nnz,eps) c 1 2 3 4 5 6 7 c23456789012345678901234567890123456789012345678901234567890123456789012 c Convert the sparse matrix `a' into compressed sparse row format. c INPUT: c a(m,n) -- an (m x n) sparse matrix c m -- number of rows in `a' c n -- number of columns in `a' c eps -- the smallest postive floating-point number c OUTPUT: c ra(nnz) -- values of `a' stored in CSR format c ja(nnz) -- column indices of the elements a(i,j) as stored in ra c ia(m+1) -- pointers to the beginning of each row in ra and ja c 1 2 3 4 5 6 7 double precision a(m,*),ra(nnz),eps integer ja(nnz),ia(m+1),m,n,nnz nnz = 0 do 10 i = 1,m ia(i) = 1+nnz nz = 0 do 20 j = 1,n if (dabs(a(i,j)) .ge. eps) then nnz = nnz+1 ra(nnz) = a(i,j) ja(nnz) = j endif 20 continue 10 continue ia(m+1) = 1+nnz return end c subroutine nzero (ra,ja,ia,nrow,ncol,nnz,nz,rao,jao,iao,colmn) c 1 2 3 4 5 6 7 c23456789012345678901234567890123456789012345678901234567890123456789012 c Return the structure of the zero entries in ra,ja,ia, in c compressed sparse row format via rao, jao, iao. c INPUT: c ra, ja, ia -- csr format of the matrix A c nrow -- number of rows in `a' c ncol -- number of columns in `a' c nnz -- number of non-zero elements c nz -- number of zero elements c OUTPUT: c rao, jao, iao -- strucvture of the zero entries in csr format c WORK ARRAY: c colmn -- logical vector of length ncol c 1 2 3 4 5 6 7 c23456789012345678901234567890123456789012345678901234567890123456789012 double precision ra(nnz),rao(nz),one integer ja(nnz),ia(nrow+1),jao(nz),iao(nrow+1), & nrow,ncol,nnz,nz,inz logical colmn(ncol) parameter (one = 1.d0) inz = 0 iao(1) = 1 do i = 1,nrow iao(i+1) = iao(i) do l = 1,ncol colmn(l) = .true. enddo do j = ia(i),ia(i+1)-1 colmn(ja(j)) = .false. enddo do k = 1,ncol if(colmn(k)) then inz = inz + 1 jao(inz) = k rao(inz) = one iao(i+1) = iao(i+1) + 1 endif enddo enddo return end SparseM/src/subscr.f0000644000176200001440000000531111661502164014065 0ustar liggesusersc SparseM c Author: Pin Ng subroutine subext(nsub,ir,jc,a,ja,ia,sorted,values,iadd) c 1 2 3 4 5 6 7 c23456789012345678901234567890123456789012345678901234567890123456789012 integer i,nsub,ir(nsub),jc(nsub),ja(*),ia(*),iadd(nsub) double precision a(*),values(nsub),getelm logical sorted do i = 1,nsub values(i) = getelm(ir(i),jc(i),a,ja,ia,iadd(i),sorted) enddo return end subroutine subasg(nrow,ncol,nsub,nnza,nnzb,ir,jc,a,ja,ia, & b,jb,ib,values,colmn,ierr) c 1 2 3 4 5 6 7 c23456789012345678901234567890123456789012345678901234567890123456789012 c Assign the new values into b,jb, ib c Input: c nrow = number of row c ncol = number of column c nsub = length of the new values to be assigned into b,jb,ib c nnza = number of nonzero elements in a,ja,ia c nnzb = number of nonzero elements in b,jb,ib c ir = row indices of the new values c jc = column indices of the new values c a, ja, ia = original matrix stored in csr format c values = vector of new values to be assigned into a, ja, ia c Output: c b, jb, ib = new matrix with the updated value with possible fill-in c Note: b, jb, ib are not sorted column wise c ierr = error flag c 0 = normal return c 1 = not enough space (nnzb) assigned to b,jb and ib c Work space: c colmn = logical values c c 1 2 3 4 5 6 7 c23456789012345678901234567890123456789012345678901234567890123456789012 integer nrow,ncol,nsub,nnza,nnzb,len,ierr integer ir(nsub),jc(nsub),ja(nnza),ia(nrow+1),jb(nnzb),ib(nrow+1) double precision a(nnza),b(nnzb),values(nsub) logical colmn(ncol) ierr = 0 len = 0 ib(1) = 1 do i = 1,nrow ib(i+1) = ib(i) do l = 1,ncol colmn(l) = .true. enddo do j = 1,nsub if (ir(j) .eq. i) then len = len + 1 if (len .gt. nnzb) then ierr = 1 return endif b(len) = values(j) jb(len) = jc(j) ib(i+1) = ib(i+1) + 1 colmn(jc(j)) = .false. endif enddo do k = ia(i),ia(i+1)- 1 if(colmn(ja(k))) then len = len + 1 if (len .gt. nnzb) then ierr = 1 return endif b(len) = a(k) jb(len) = ja(k) ib(i+1) = ib(i+1) + 1 endif enddo enddo return end SparseM/src/init.c0000644000176200001440000001056713060014406013525 0ustar liggesusers#include #include // for NULL #include /* FIXME: Check these declarations against the C/Fortran source code. */ /* .Fortran calls */ extern void F77_NAME(aedib)(void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *); extern void F77_NAME(aeexpb)(void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *); extern void F77_NAME(aemub)(void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *); extern void F77_NAME(amub)(void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *); extern void F77_NAME(amubdg)(void *, void *, void *, void *, void *, void *, void *, void *, void *, void *); extern void F77_NAME(amux)(void *, void *, void *, void *, void *, void *); extern void F77_NAME(aplsb)(void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *); extern void F77_NAME(bckslb)(void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *); extern void F77_NAME(bckslf)(void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *); extern void F77_NAME(bckslv)(void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *); extern void F77_NAME(chol)(void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *); extern void F77_NAME(chol2csr)(void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *); extern void F77_NAME(coocsr)(void *, void *, void *, void *, void *, void *, void *, void *); extern void F77_NAME(cscssc)(void *, void *, void *, void *, void *, void *, void *, void *, void *); extern void F77_NAME(csr)(void *, void *, void *, void *, void *, void *, void *, void *); extern void F77_NAME(csrcoo)(void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *); extern void F77_NAME(csrcsc2)(void *, void *, void *, void *, void *, void *, void *, void *, void *, void *); extern void F77_NAME(csrdns)(void *, void *, void *, void *, void *, void *, void *, void *); extern void F77_NAME(csrssr)(void *, void *, void *, void *, void *, void *, void *, void *, void *); extern void F77_NAME(filter1)(void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *); extern void F77_NAME(nzero)(void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *); extern void F77_NAME(ssrcsr)(void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *, void *); static const R_FortranMethodDef FortranEntries[] = { {"aedib", (DL_FUNC) &F77_NAME(aedib), 16}, {"aeexpb", (DL_FUNC) &F77_NAME(aeexpb), 16}, {"aemub", (DL_FUNC) &F77_NAME(aemub), 15}, {"amub", (DL_FUNC) &F77_NAME(amub), 15}, {"amubdg", (DL_FUNC) &F77_NAME(amubdg), 10}, {"amux", (DL_FUNC) &F77_NAME(amux), 6}, {"aplsb", (DL_FUNC) &F77_NAME(aplsb), 16}, {"bckslb", (DL_FUNC) &F77_NAME(bckslb), 16}, {"bckslf", (DL_FUNC) &F77_NAME(bckslf), 16}, {"bckslv", (DL_FUNC) &F77_NAME(bckslv), 16}, {"chol", (DL_FUNC) &F77_NAME(chol), 30}, {"chol2csr", (DL_FUNC) &F77_NAME(chol2csr), 12}, {"coocsr", (DL_FUNC) &F77_NAME(coocsr), 8}, {"cscssc", (DL_FUNC) &F77_NAME(cscssc), 9}, {"csr", (DL_FUNC) &F77_NAME(csr), 8}, {"csrcoo", (DL_FUNC) &F77_NAME(csrcoo), 11}, {"csrcsc2", (DL_FUNC) &F77_NAME(csrcsc2), 10}, {"csrdns", (DL_FUNC) &F77_NAME(csrdns), 8}, {"csrssr", (DL_FUNC) &F77_NAME(csrssr), 9}, {"filter1", (DL_FUNC) &F77_NAME(filter1), 11}, {"nzero", (DL_FUNC) &F77_NAME(nzero), 11}, {"ssrcsr", (DL_FUNC) &F77_NAME(ssrcsr), 13}, {NULL, NULL, 0} }; void R_init_SparseM(DllInfo *dll) { R_registerRoutines(dll, NULL, NULL, FortranEntries, NULL); R_useDynamicSymbols(dll, FALSE); } SparseM/src/extract.f0000644000176200001440000000107211661502164014236 0ustar liggesusersc SparseM Package c Author: Pin Ng c c Extract: Subroutine to extract the non-diagonal structure and c entries from A stored in CSR format c subroutine extract(d,jd,id,dsub,jdsub,m,nnzd,nnzds,ierr) integer jd(nnzd),jdsub(nnzds),id(*),m,mp1,ierr,nnzd,nnzds double precision d(nnzd),dsub(nnzds) c c Call csrmsr in SPARSKIT2 to transform the storage format in d c from csr to msr c call csrmsr(m,d,jd,id,dsub,jdsub,dsub,jdsub,nnzds,ierr) mp1 = m + 1 do i=1,mp1 jdsub(i) = jdsub(i) - mp1 enddo return end SparseM/src/bckslv.f0000644000176200001440000002022411661502164014050 0ustar liggesusers subroutine bckslv(m,nsubmax,nsuper,nrhs,lindx,xlindx,nnzlmax,lnz, & xlnz,invp,perm,xsuper,newrhs,sol,b,timed) c 1 2 3 4 5 6 7 c23456789012345678901234567890123456789012345678901234567890123456789012 c Sparse least squares solver via Ng-Peyton's sparse Cholesky c factorization for sparse symmetric positive definite c INPUT: c m -- the number of column in the design matrix X c nsubmax -- upper bound of the dimension of lindx c lindx -- an nsub-vector of interger which contains, in c column major oder, the row subscripts of the nonzero c entries in L in a compressed storage format c xlindx -- an nsuper-vector of integer of pointers for lindx c nnzlmax -- the upper bound of the non-zero entries in c L stored in lnz, including the diagonal entries c lnz -- First contains the non-zero entries of d; later c contains the entries of the Cholesky factor c xlnz -- column pointer for L stored in lnz c invp -- an m-vector of integer of inverse permutation c vector c perm -- an m-vector of integer of permutation vector c xsuper -- array of length m+1 containing the supernode c partitioning c newrhs -- extra work vector for right-hand side and c solution c sol -- the least squares solution c b -- an m-vector, usualy the rhs of the equality constraint c X'a = (1-tau)X'e in the rq setting c OUTPUT: c y -- an m-vector of least squares solution c WORK ARRAYS: c b -- an m-vector, usually the rhs of the equality constraint c X'a = (1-tau)X'e in the rq setting c 1 2 3 4 5 6 7 c23456789012345678901234567890123456789012345678901234567890123456789012 integer nnzlmax,nsubmax,nsuper,nrhs,lindx(nsubmax),xlindx(m+1), & invp(m),perm(m),xlnz(m+1), & xsuper(m+1) double precision lnz(nnzlmax),b(m,nrhs),newrhs(m),sol(m,nrhs) double precision timed c real gtimer,timbegw,timendw c c timbegw=gtimer() c Call blkslv: Numerical solution c do j = 1,nrhs do i = 1,m newrhs(i) = b(perm(i),j) enddo call blkslv(nsuper,xsuper,xlindx,lindx,xlnz,lnz,newrhs) do i = 1,m sol(i,j) = newrhs(invp(i)) enddo enddo 100 continue c timendw=gtimer() c timed = timendw - timbegw return end c----------------------------------------------------------------------c c c c BEGIN BEN ADDED c c c c These fortran subroutines are blatant ripoffs of the one in the c c file bckslv.f included in the SparseM package. c c c subroutine bckslb(m,nsubmax,nsuper,nrhs,lindx,xlindx,nnzlmax,lnz, & xlnz,invp,perm,xsuper,newrhs,sol,b,timed) c 1 2 3 4 5 6 7 c23456789012345678901234567890123456789012345678901234567890123456789012 c Sparse back solver of triangular system via Ng-Peyton's sparse Cholesky c factorization for sparse symmetric positive definite c INPUT: c m -- the number of column in the design matrix X c nsubmax -- upper bound of the dimension of lindx c lindx -- an nsub-vector of interger which contains, in c column major oder, the row subscripts of the nonzero c entries in L in a compressed storage format c xlindx -- an nsuper-vector of integer of pointers for lindx c nnzlmax -- the upper bound of the non-zero entries in c L stored in lnz, including the diagonal entries c lnz -- First contains the non-zero entries of d; later c contains the entries of the Cholesky factor c xlnz -- column pointer for L stored in lnz c invp -- an m-vector of integer of inverse permutation c vector c perm -- an m-vector of integer of permutation vector c xsuper -- array of length m+1 containing the supernode c partitioning c newrhs -- extra work vector for right-hand side and c solution c sol -- the least squares solution c b -- an m-vector, usualy the rhs of the equality constraint c X'a = (1-tau)X'e in the rq setting c OUTPUT: c y -- an m-vector of least squares solution c WORK ARRAYS: c b -- an m-vector, usually the rhs of the equality constraint c X'a = (1-tau)X'e in the rq setting c 1 2 3 4 5 6 7 c23456789012345678901234567890123456789012345678901234567890123456789012 integer nnzlmax,nsubmax,nsuper,nrhs,lindx(nsubmax),xlindx(m+1), & invp(m),perm(m),xlnz(m+1), & xsuper(m+1) double precision lnz(nnzlmax),b(m,nrhs),newrhs(m),sol(m,nrhs) double precision timed c Call blkslb: Numerical solution c c newrhs = b c call blkslb(nsuper,xsuper,xlindx,lindx,xlnz,lnz,newrhs) do j = 1,nrhs do i = 1,m newrhs(i) = b(perm(i),j) enddo c write(*,*) 'newrhs =', newrhs call blkslb(nsuper,xsuper,xlindx,lindx,xlnz,lnz,newrhs) do i = 1,m sol(i,j) = newrhs(invp(i)) enddo enddo 100 continue return end c---------------------------------------------------------------------------- subroutine bckslf(m,nsubmax,nsuper,nrhs,lindx,xlindx,nnzlmax,lnz, & xlnz,invp,perm,xsuper,newrhs,sol,b,timed) c 1 2 3 4 5 6 7 c23456789012345678901234567890123456789012345678901234567890123456789012 c Sparse least squares solver via Ng-Peyton's sparse Cholesky c factorization for sparse symmetric positive definite c INPUT: c m -- the number of column in the design matrix X c nsubmax -- upper bound of the dimension of lindx c lindx -- an nsub-vector of interger which contains, in c column major oder, the row subscripts of the nonzero c entries in L in a compressed storage format c xlindx -- an nsuper-vector of integer of pointers for lindx c nnzlmax -- the upper bound of the non-zero entries in c L stored in lnz, including the diagonal entries c lnz -- First contains the non-zero entries of d; later c contains the entries of the Cholesky factor c xlnz -- column pointer for L stored in lnz c invp -- an m-vector of integer of inverse permutation c vector c perm -- an m-vector of integer of permutation vector c xsuper -- array of length m+1 containing the supernode c partitioning c newrhs -- extra work vector for right-hand side and c solution c sol -- the least squares solution c b -- an m-vector, usualy the rhs of the equality constraint c X'a = (1-tau)X'e in the rq setting c OUTPUT: c y -- an m-vector of least squares solution c WORK ARRAYS: c b -- an m-vector, usually the rhs of the equality constraint c X'a = (1-tau)X'e in the rq setting c 1 2 3 4 5 6 7 c23456789012345678901234567890123456789012345678901234567890123456789012 integer nnzlmax,nsubmax,nsuper,nrhs,lindx(nsubmax),xlindx(m+1), & invp(m),perm(m),xlnz(m+1), & xsuper(m+1) double precision lnz(nnzlmax),b(m,nrhs),newrhs(m),sol(m,nrhs) double precision timed c Call blkslf: Numerical solution c do j = 1,nrhs do i = 1,m newrhs(i) = b(perm(i),j) enddo c write(*,*) 'newrhs =', newrhs call blkslf(nsuper,xsuper,xlindx,lindx,xlnz,lnz,newrhs) do i = 1,m sol(i,j) = newrhs(invp(i)) enddo enddo 100 continue return end c c c END BEN ADDED c c----------------------------------------------------------------------c SparseM/src/chol2csr.f0000644000176200001440000000231111661502164014300 0ustar liggesusers subroutine chol2csr(nrow,nnzlindx,nsuper,lindx,xlindx,nnzl,lnz, & xlnz,dim,ra,ia,ja) integer nrow, nnzlindx, nsuper, lindx(nnzlindx), xlindx(nrow+1), & nnzl, xlnz(nrow+1), dim(2), ia(nrow+1), ja(nnzl), & place, i, j, k, lindx2(nnzlindx+1) double precision lnz(nnzl), ra(nnzl) c first, the easy ones dim(1) = nrow dim(2) = nrow do 100 i = 1, nnzl ra(i) = lnz(i) 100 continue do 150 i = 1, (nnzlindx) lindx2(i) = lindx(i) 150 continue lindx2(nnzlindx+1) = nrow+1 c lindx2 is a copy of lindx, but with an extra entry that allows the c loop below not to over-run the array do 200 i = 1, (nrow+1) ia(i) = xlnz(i) 200 continue c initialization place = 1 c fill out the ja slot do 300 i = 1, nsuper do 250 j = 0, (lindx2(xlindx(i+1)) - lindx2(xlindx(i))-1) do 225 k = (xlindx(i)+j), (xlindx(i+1)-1) ja(place) = lindx2(k) c write(*,*) 'i =', i, ' j =', j,' k =', k,' place =',place place = place + 1 225 continue 250 continue 300 continue END subroutine SparseM/src/cholesky.f0000644000176200001440000066644712762353352014442 0ustar liggesusersC*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C************ ASSMB .... INDEXED ASSEMBLY OPERATION ************ C*********************************************************************** C*********************************************************************** C C PURPOSE: C THIS ROUTINE PERFORMS AN INDEXED ASSEMBLY (I.E., SCATTER-ADD) C OPERATION, ASSUMING DATA STRUCTURES USED IN SOME OF OUR SPARSE C CHOLESKY CODES. C C INPUT PARAMETERS: C M - NUMBER OF ROWS IN Y. C Q - NUMBER OF COLUMNS IN Y. C Y - BLOCK UPDATE TO BE INCORPORATED INTO FACTOR C STORAGE. C RELIND - RELATIVE INDICES FOR MAPPING THE UPDATES C ONTO THE TARGET COLUMNS. C XLNZ - POINTERS TO THE START OF EACH COLUMN IN THE C TARGET MATRIX. C C OUTPUT PARAMETERS: C LNZ - CONTAINS COLUMNS MODIFIED BY THE UPDATE C MATRIX. C C*********************************************************************** C SUBROUTINE ASSMB ( M , Q , Y , RELIND, XLNZ , & LNZ , LDA ) C C*********************************************************************** C C ----------- C PARAMETERS. C ----------- C INTEGER LDA , M , Q INTEGER XLNZ(*) INTEGER RELIND(*) DOUBLE PRECISION LNZ(*) , Y(*) C C ---------------- C LOCAL VARIABLES. C ---------------- C INTEGER ICOL , IL1 , IR , IY1 , LBOT1 , & YCOL , YOFF1 C C*********************************************************************** C C YOFF1 = 0 DO 200 ICOL = 1, Q YCOL = LDA - RELIND(ICOL) LBOT1 = XLNZ(YCOL+1) - 1 CDIR$ IVDEP DO 100 IR = ICOL, M IL1 = LBOT1 - RELIND(IR) IY1 = YOFF1 + IR LNZ(IL1) = LNZ(IL1) + Y(IY1) Y(IY1) = 0.0D0 100 CONTINUE YOFF1 = IY1 - ICOL 200 CONTINUE C RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Joseph W.H. Liu C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C****** BETREE ..... BINARY TREE REPRESENTATION OF ETREE ******* C*********************************************************************** C*********************************************************************** C C WRITTEN BY JOSEPH LIU (JUL 17, 1985) C C PURPOSE: C TO DETERMINE THE BINARY TREE REPRESENTATION OF THE ELIMINATION C TREE GIVEN BY THE PARENT VECTOR. THE RETURNED REPRESENTATION C WILL BE GIVEN BY THE FIRST-SON AND BROTHER VECTORS. THE ROOT C OF THE BINARY TREE IS ALWAYS NEQNS. C C INPUT PARAMETERS: C NEQNS - NUMBER OF EQUATIONS. C PARENT - THE PARENT VECTOR OF THE ELIMINATION TREE. C IT IS ASSUMED THAT PARENT(I) > I EXCEPT OF C THE ROOTS. C C OUTPUT PARAMETERS: C FSON - THE FIRST SON VECTOR. C BROTHR - THE BROTHER VECTOR. C C*********************************************************************** C SUBROUTINE BETREE ( NEQNS , PARENT, FSON , BROTHR ) C C*********************************************************************** C INTEGER BROTHR(*) , FSON(*) , & PARENT(*) C INTEGER NEQNS C C*********************************************************************** C INTEGER LROOT , NODE , NDPAR C C*********************************************************************** C IF ( NEQNS .LE. 0 ) RETURN C DO 100 NODE = 1, NEQNS FSON(NODE) = 0 BROTHR(NODE) = 0 100 CONTINUE LROOT = NEQNS C ------------------------------------------------------------ C FOR EACH NODE := NEQNS-1 STEP -1 DOWNTO 1, DO THE FOLLOWING. C ------------------------------------------------------------ IF ( NEQNS .LE. 1 ) RETURN DO 300 NODE = NEQNS-1, 1, -1 NDPAR = PARENT(NODE) IF ( NDPAR .LE. 0 .OR. NDPAR .EQ. NODE ) THEN C ------------------------------------------------- C NODE HAS NO PARENT. GIVEN STRUCTURE IS A FOREST. C SET NODE TO BE ONE OF THE ROOTS OF THE TREES. C ------------------------------------------------- BROTHR(LROOT) = NODE LROOT = NODE ELSE C ------------------------------------------- C OTHERWISE, BECOMES FIRST SON OF ITS PARENT. C ------------------------------------------- BROTHR(NODE) = FSON(NDPAR) FSON(NDPAR) = NODE ENDIF 300 CONTINUE BROTHR(LROOT) = 0 C RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C****** BFINIT ..... INITIALIZATION FOR BLOCK FACTORIZATION ****** C*********************************************************************** C*********************************************************************** C C PURPOSE: C THIS SUBROUTINE COMPUTES ITEMS NEEDED BY THE LEFT-LOOKING C BLOCK-TO-BLOCK CHOLESKY FACTORITZATION ROUTINE BLKFCT. C C INPUT PARAMETERS: C NEQNS - NUMBER OF EQUATIONS. C NSUPER - NUMBER OF SUPERNODES. C XSUPER - INTEGER ARRAY OF SIZE (NSUPER+1) CONTAINING C THE SUPERNODE PARTITIONING. C SNODE - SUPERNODE MEMBERSHIP. C (XLINDX,LINDX) - ARRAYS DESCRIBING THE SUPERNODAL STRUCTURE. C CACHSZ - CACHE SIZE (IN KBYTES). C C OUTPUT PARAMETERS: C TMPSIZ - SIZE OF WORKING STORAGE REQUIRED BY BLKFCT. C SPLIT - SPLITTING OF SUPERNODES SO THAT THEY FIT C INTO CACHE. C C*********************************************************************** C SUBROUTINE BFINIT ( NEQNS , NSUPER, XSUPER, SNODE , XLINDX, & LINDX , CACHSZ, TMPSIZ, SPLIT ) C C*********************************************************************** C INTEGER CACHSZ, NEQNS , NSUPER, TMPSIZ INTEGER XLINDX(*) , XSUPER(*) INTEGER LINDX (*) , SNODE (*) , & SPLIT(*) C C*********************************************************************** C C --------------------------------------------------- C DETERMINE FLOATING POINT WORKING SPACE REQUIREMENT. C --------------------------------------------------- CALL FNTSIZ ( NSUPER, XSUPER, SNODE , XLINDX, LINDX , & TMPSIZ ) C C ------------------------------- C PARTITION SUPERNODES FOR CACHE. C ------------------------------- CALL FNSPLT ( NEQNS , NSUPER, XSUPER, XLINDX, CACHSZ, & SPLIT ) C RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.3 C Last modified: March 6, 1995 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratoy C C*********************************************************************** C*********************************************************************** C********* BLKFC2 ..... BLOCK GENERAL SPARSE CHOLESKY ********* C*********************************************************************** C*********************************************************************** C C PURPOSE: C THIS SUBROUTINE FACTORS A SPARSE POSITIVE DEFINITE MATRIX. C THE COMPUTATION IS ORGANIZED AROUND KERNELS THAT PERFORM C SUPERNODE-TO-SUPERNODE UPDATES, I.E., BLOCK-TO-BLOCK UPDATES. C C INPUT PARAMETERS: C NSUPER - NUMBER OF SUPERNODES. C XSUPER - SUPERNODE PARTITION. C SNODE - MAPS EACH COLUMN TO THE SUPERNODE CONTAINING C IT. C SPLIT - SPLITTING OF SUPERNODES SO THAT THEY FIT C INTO CACHE. C (XLINDX,LINDX) - ROW INDICES FOR EACH SUPERNODE (INCLUDING C THE DIAGONAL ELEMENTS). C (XLNZ,LNZ) - ON INPUT, CONTAINS MATRIX TO BE FACTORED. C TMPSIZ - SIZE OF TEMPORARY WORKING STORAGE. C MMPYN - EXTERNAL ROUTINE: MATRIX-MATRIX MULTIPLY. C SMXPY - EXTERNAL ROUTINE: MATRIX-VECTOR MULTIPLY. C C OUTPUT PARAMETERS: C LNZ - ON OUTPUT, CONTAINS CHOLESKY FACTOR. C IFLAG - ERROR FLAG. C 0: SUCCESSFUL FACTORIZATION. C -1: NONPOSITIVE DIAGONAL ENCOUNTERED, C MATRIX IS NOT POSITIVE DEFINITE. C -2: INSUFFICIENT WORKING STORAGE C [TEMP(*)]. C C WORKING PARAMETERS: C LINK - LINKS TOGETHER THE SUPERNODES IN A SUPERNODE C ROW. C LENGTH - LENGTH OF THE ACTIVE PORTION OF EACH C SUPERNODE. C INDMAP - VECTOR OF SIZE NEQNS INTO WHICH THE GLOBAL C INDICES ARE SCATTERED. C RELIND - MAPS LOCATIONS IN THE UPDATING COLUMNS TO C THE CORRESPONDING LOCATIONS IN THE UPDATED C COLUMNS. (RELIND IS GATHERED FROM INDMAP). C TEMP - REAL VECTOR FOR ACCUMULATING UPDATES. MUST C ACCOMODATE ALL COLUMNS OF A SUPERNODE. C C*********************************************************************** C SUBROUTINE BLKFC2 ( NSUPER, XSUPER, SNODE , SPLIT , XLINDX, & LINDX , XLNZ , LNZ , LINK , LENGTH, & INDMAP, RELIND, TMPSIZ, TEMP , IFLAG , & MMPYN , SMXPY ) C C********************************************************************* C C ----------- C PARAMETERS. C ----------- C EXTERNAL MMPYN , SMXPY INTEGER XLINDX(*) , XLNZ(*) INTEGER INDMAP(*) , LENGTH(*) , & LINDX(*) , LINK(*) , & RELIND(*) , SNODE(*) , & SPLIT(*) , XSUPER(*) INTEGER IFLAG , NSUPER, TMPSIZ DOUBLE PRECISION LNZ(*) , TEMP(*) C C ---------------- C LOCAL VARIABLES. C ---------------- C INTEGER FJCOL , FKCOL , I , ILEN , ILPNT , & INDDIF, JLEN , JLPNT , JSUP , JXPNT , & KFIRST, KLAST , KLEN , KLPNT , KSUP , & KXPNT , LJCOL , NCOLUP, NJCOLS, NKCOLS, & NXKSUP, NXTCOL, NXTSUP, STORE CxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPC DOUBLE PRECISION MXDIAG INTEGER NTINY CxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPC C C********************************************************************* C IFLAG = 0 NTINY = 0 C C ----------------------------------------------------------- C INITIALIZE EMPTY ROW LISTS IN LINK(*) AND ZERO OUT TEMP(*). C ----------------------------------------------------------- DO 100 JSUP = 1, NSUPER LINK(JSUP) = 0 100 CONTINUE DO 200 I = 1, TMPSIZ TEMP(I) = 0.0D+00 200 CONTINUE CxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPC C COMPUTE MAXIMUM DIAGONAL ELEMENT IN INPUT MATRIX MXDIAG = 0.D0 DO 201 I = 1, XSUPER(NSUPER+1)-1 FJCOL = XLNZ(I) MXDIAG = MAX(MXDIAG, LNZ(FJCOL)) 201 CONTINUE CxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPC C C --------------------------- C FOR EACH SUPERNODE JSUP ... C --------------------------- DO 600 JSUP = 1, NSUPER C C ------------------------------------------------ C FJCOL ... FIRST COLUMN OF SUPERNODE JSUP. C LJCOL ... LAST COLUMN OF SUPERNODE JSUP. C NJCOLS ... NUMBER OF COLUMNS IN SUPERNODE JSUP. C JLEN ... LENGTH OF COLUMN FJCOL. C JXPNT ... POINTER TO INDEX OF FIRST C NONZERO IN COLUMN FJCOL. C ------------------------------------------------ FJCOL = XSUPER(JSUP) NJCOLS = XSUPER(JSUP+1) - FJCOL LJCOL = FJCOL + NJCOLS - 1 JLEN = XLNZ(FJCOL+1) - XLNZ(FJCOL) JXPNT = XLINDX(JSUP) C print *, 'Super Node: ', JSUP, ' first: ', FJCOL, C . ' last: ', LJCOL C C C ----------------------------------------------------- C SET UP INDMAP(*) TO MAP THE ENTRIES IN UPDATE COLUMNS C TO THEIR CORRESPONDING POSITIONS IN UPDATED COLUMNS, C RELATIVE THE THE BOTTOM OF EACH UPDATED COLUMN. C ----------------------------------------------------- CALL LDINDX ( JLEN, LINDX(JXPNT), INDMAP ) C C ----------------------------------------- C FOR EVERY SUPERNODE KSUP IN ROW(JSUP) ... C ----------------------------------------- KSUP = LINK(JSUP) 300 IF ( KSUP .GT. 0 ) THEN NXKSUP = LINK(KSUP) C C ------------------------------------------------------- C GET INFO ABOUT THE CMOD(JSUP,KSUP) UPDATE. C C FKCOL ... FIRST COLUMN OF SUPERNODE KSUP. C NKCOLS ... NUMBER OF COLUMNS IN SUPERNODE KSUP. C KLEN ... LENGTH OF ACTIVE PORTION OF COLUMN FKCOL. C KXPNT ... POINTER TO INDEX OF FIRST NONZERO IN ACTIVE C PORTION OF COLUMN FJCOL. C ------------------------------------------------------- FKCOL = XSUPER(KSUP) NKCOLS = XSUPER(KSUP+1) - FKCOL KLEN = LENGTH(KSUP) KXPNT = XLINDX(KSUP+1) - KLEN C C ------------------------------------------- C PERFORM CMOD(JSUP,KSUP), WITH SPECIAL CASES C HANDLED DIFFERENTLY. C ------------------------------------------- C IF ( KLEN .NE. JLEN ) THEN C C ------------------------------------------- C SPARSE CMOD(JSUP,KSUP). C C NCOLUP ... NUMBER OF COLUMNS TO BE UPDATED. C ------------------------------------------- C DO 400 I = 0, KLEN-1 NXTCOL = LINDX(KXPNT+I) IF ( NXTCOL .GT. LJCOL ) GO TO 500 400 CONTINUE I = KLEN 500 CONTINUE NCOLUP = I C IF ( NKCOLS .EQ. 1 ) THEN C C ---------------------------------------------- C UPDATING TARGET SUPERNODE BY TRIVIAL C SUPERNODE (WITH ONE COLUMN). C C KLPNT ... POINTER TO FIRST NONZERO IN ACTIVE C PORTION OF COLUMN FKCOL. C ---------------------------------------------- KLPNT = XLNZ(FKCOL+1) - KLEN CALL MMPYI ( KLEN, NCOLUP, LINDX(KXPNT), & LNZ(KLPNT), XLNZ, LNZ, INDMAP ) C ELSE C C -------------------------------------------- C KFIRST ... FIRST INDEX OF ACTIVE PORTION OF C SUPERNODE KSUP (FIRST COLUMN TO C BE UPDATED). C KLAST ... LAST INDEX OF ACTIVE PORTION OF C SUPERNODE KSUP. C -------------------------------------------- C KFIRST = LINDX(KXPNT) KLAST = LINDX(KXPNT+KLEN-1) INDDIF = INDMAP(KFIRST) - INDMAP(KLAST) C IF ( INDDIF .LT. KLEN ) THEN C C --------------------------------------- C DENSE CMOD(JSUP,KSUP). C C ILPNT ... POINTER TO FIRST NONZERO IN C COLUMN KFIRST. C ILEN ... LENGTH OF COLUMN KFIRST. C --------------------------------------- ILPNT = XLNZ(KFIRST) ILEN = XLNZ(KFIRST+1) - ILPNT CALL MMPY ( KLEN, NKCOLS, NCOLUP, & SPLIT(FKCOL), XLNZ(FKCOL), & LNZ, LNZ(ILPNT), ILEN, MMPYN ) C ELSE C C ------------------------------- C GENERAL SPARSE CMOD(JSUP,KSUP). C COMPUTE CMOD(JSUP,KSUP) UPDATE C IN WORK STORAGE. C ------------------------------- STORE = KLEN * NCOLUP - NCOLUP * & (NCOLUP-1) / 2 IF ( STORE .GT. TMPSIZ ) THEN IFLAG = -2 RETURN ENDIF CALL MMPY ( KLEN, NKCOLS, NCOLUP, & SPLIT(FKCOL), XLNZ(FKCOL), & LNZ, TEMP, KLEN, MMPYN ) C ---------------------------------------- C GATHER INDICES OF KSUP RELATIVE TO JSUP. C ---------------------------------------- CALL IGATHR ( KLEN, LINDX(KXPNT), & INDMAP, RELIND ) C -------------------------------------- C INCORPORATE THE CMOD(JSUP,KSUP) BLOCK C UPDATE INTO THE TO APPROPRIATE COLUMNS C OF L. C -------------------------------------- CALL ASSMB ( KLEN, NCOLUP, TEMP, RELIND, & XLNZ(FJCOL), LNZ, JLEN ) C ENDIF C ENDIF C ELSE C C ---------------------------------------------- C DENSE CMOD(JSUP,KSUP). C JSUP AND KSUP HAVE IDENTICAL STRUCTURE. C C JLPNT ... POINTER TO FIRST NONZERO IN COLUMN C FJCOL. C ---------------------------------------------- JLPNT = XLNZ(FJCOL) CALL MMPY ( KLEN, NKCOLS, NJCOLS, SPLIT(FKCOL), & XLNZ(FKCOL), LNZ, LNZ(JLPNT), JLEN, & MMPYN ) NCOLUP = NJCOLS IF ( KLEN .GT. NJCOLS ) THEN NXTCOL = LINDX(JXPNT+NJCOLS) ENDIF C ENDIF C C ------------------------------------------------ C LINK KSUP INTO LINKED LIST OF THE NEXT SUPERNODE C IT WILL UPDATE AND DECREMENT KSUP'S ACTIVE C LENGTH. C ------------------------------------------------ IF ( KLEN .GT. NCOLUP ) THEN NXTSUP = SNODE(NXTCOL) LINK(KSUP) = LINK(NXTSUP) LINK(NXTSUP) = KSUP LENGTH(KSUP) = KLEN - NCOLUP ELSE LENGTH(KSUP) = 0 ENDIF C C ------------------------------- C NEXT UPDATING SUPERNODE (KSUP). C ------------------------------- KSUP = NXKSUP GO TO 300 C ENDIF C C ---------------------------------------------- C APPLY PARTIAL CHOLESKY TO THE COLUMNS OF JSUP. C ---------------------------------------------- CxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPC CALL CHLSUP ( JLEN, NJCOLS, SPLIT(FJCOL), XLNZ(FJCOL), LNZ, & MXDIAG, NTINY, IFLAG, MMPYN, SMXPY ) IF ( IFLAG .NE. 0 ) THEN IFLAG = -1 RETURN ENDIF C C ----------------------------------------------- C INSERT JSUP INTO LINKED LIST OF FIRST SUPERNODE C IT WILL UPDATE. C ----------------------------------------------- IF ( JLEN .GT. NJCOLS ) THEN NXTCOL = LINDX(JXPNT+NJCOLS) NXTSUP = SNODE(NXTCOL) LINK(JSUP) = LINK(NXTSUP) LINK(NXTSUP) = JSUP LENGTH(JSUP) = JLEN - NJCOLS ELSE LENGTH(JSUP) = 0 ENDIF C 600 CONTINUE C CxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPC C IF(NTINY .NE. 0) WRITE(6,699) NTINY C 699 FORMAT(1X,' FOUND ',I6,' TINY DIAGONALS; REPLACED WITH INF') C C SET IFLAG TO -1 TO INDICATE PRESENCE OF TINY DIAGONALS C IF(NTINY .NE. 0) IFLAG = -1 CxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPC RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: March 6, 1995 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C********* BLKFCT ..... BLOCK GENERAL SPARSE CHOLESKY ********* C*********************************************************************** C*********************************************************************** C C PURPOSE: C THIS SUBROUTINE CALLS THE BLOCK GENERAL SPARSE CHOLESKY ROUTINE, C BLKFC2. C C INPUT PARAMETERS: C NSUPER - NUMBER OF SUPERNODES. C XSUPER - SUPERNODE PARTITION. C SNODE - MAPS EACH COLUMN TO THE SUPERNODE CONTAINING C IT. C SPLIT - SPLITTING OF SUPERNODES SO THAT THEY FIT C INTO CACHE. C (XLINDX,LINDX) - ROW INDICES FOR EACH SUPERNODE (INCLUDING C THE DIAGONAL ELEMENTS). C (XLNZ,LNZ) - ON INPUT, CONTAINS MATRIX TO BE FACTORED. C IWSIZ - SIZE OF INTEGER WORKING STORAGE C TMPSIZ - SIZE OF FLOATING POINT WORKING STORAGE. C MMPYN - EXTERNAL ROUTINE: MATRIX-MATRIX MULTIPLY. C SMXPY - EXTERNAL ROUTINE: MATRIX-VECTOR MULTIPLY. C C OUTPUT PARAMETERS: C LNZ - ON OUTPUT, CONTAINS CHOLESKY FACTOR. C IFLAG - ERROR FLAG. C 0: SUCCESSFUL FACTORIZATION. C -1: NONPOSITIVE DIAGONAL ENCOUNTERED, C MATRIX IS NOT POSITIVE DEFINITE. C -2: INSUFFICIENT WORKING STORAGE C [TEMP(*)]. C -3: INSUFFICIENT WORKING STORAGE C [IWORK(*)]. C C WORKING PARAMETERS: C IWORK - INTEGER WORKING STORAGE OF LENGTH C 2*NEQNS + 2*NSUPER. C TMPVEC - DOUBLE PRECISION WORKING STORAGE OF LENGTH C NEQNS. C C*********************************************************************** C SUBROUTINE BLKFCT ( NEQNS , NSUPER, XSUPER, SNODE , SPLIT , & XLINDX, LINDX , XLNZ , LNZ , IWSIZ , & IWORK , TMPSIZ, TMPVEC, IFLAG , MMPYN , & SMXPY ) C C*********************************************************************** C C ----------- C PARAMETERS. C ----------- C EXTERNAL MMPYN , SMXPY INTEGER XLINDX(*) , XLNZ(*) INTEGER IWORK(*) , LINDX(*) , & SNODE(*) , SPLIT(*) , & XSUPER(*) INTEGER IFLAG , IWSIZ , NEQNS , NSUPER, TMPSIZ DOUBLE PRECISION LNZ(*) , TMPVEC(*) C C********************************************************************* C IFLAG = 0 IF ( IWSIZ .LT. 2*NEQNS+2*NSUPER ) THEN IFLAG = -3 RETURN ENDIF CALL BLKFC2 ( NSUPER, XSUPER, SNODE , SPLIT , XLINDX, & LINDX , XLNZ , LNZ , & IWORK(1) , & IWORK(NSUPER+1) , & IWORK(2*NSUPER+1) , & IWORK(2*NSUPER+NEQNS+1) , & TMPSIZ, TMPVEC, IFLAG , MMPYN , SMXPY ) RETURN END C*********************************************************************** C*********************************************************************** C C Written: October 6, 1996 by SJW. Based on routine BLKSLV of C Esmond G. Ng and Barry W. Peyton. C C Modified: Sept 30, 1999 to improve efficiency in the case C in which the right-hand side and solution are both C expected to be sparse. Happens a lot in "dense" C column handling. C C*********************************************************************** C*********************************************************************** C********* BLKSLB ... BACK TRIANGULAR SUBSTITUTION ********** C*********************************************************************** C*********************************************************************** C C PURPOSE: C GIVEN THE CHOLESKY FACTORIZATION OF A SPARSE SYMMETRIC C POSITIVE DEFINITE MATRIX, THIS SUBROUTINE PERFORMS THE C BACKWARD TRIANGULAR SUBSTITUTION. IT USES OUTPUT FROM BLKFCT. C C INPUT PARAMETERS: C NSUPER - NUMBER OF SUPERNODES. C XSUPER - SUPERNODE PARTITION. C (XLINDX,LINDX) - ROW INDICES FOR EACH SUPERNODE. C (XLNZ,LNZ) - CHOLESKY FACTOR. C C UPDATED PARAMETERS: C RHS - ON INPUT, CONTAINS THE RIGHT HAND SIDE. ON C OUTPUT, CONTAINS THE SOLUTION. C C*********************************************************************** C SUBROUTINE BLKSLB ( NSUPER, XSUPER, XLINDX, LINDX , XLNZ , & LNZ , RHS ) C C*********************************************************************** C INTEGER NSUPER INTEGER LINDX(*) , XSUPER(*) INTEGER XLINDX(*) , XLNZ(*) DOUBLE PRECISION LNZ(*) , RHS(*) C C*********************************************************************** C INTEGER FJCOL , I , IPNT , IX , IXSTOP, & IXSTRT, JCOL , JPNT , JSUP , LJCOL DOUBLE PRECISION T C C*********************************************************************** C IF ( NSUPER .LE. 0 ) RETURN C ------------------------- C BACKWARD SUBSTITUTION ... C ------------------------- LJCOL = XSUPER(NSUPER+1) - 1 DO 600 JSUP = NSUPER, 1, -1 FJCOL = XSUPER(JSUP) IXSTOP = XLNZ(LJCOL+1) - 1 JPNT = XLINDX(JSUP) + (LJCOL - FJCOL) DO 500 JCOL = LJCOL, FJCOL, -1 IXSTRT = XLNZ(JCOL) IPNT = JPNT + 1 T = RHS(JCOL) CDIR$ IVDEP DO 400 IX = IXSTRT+1, IXSTOP I = LINDX(IPNT) IF(RHS(I) .NE. 0.D0) T = T - LNZ(IX)*RHS(I) IPNT = IPNT + 1 400 CONTINUE IF(T .NE. 0.D0) THEN RHS(JCOL) = T/LNZ(IXSTRT) ELSE RHS(JCOL) = 0.D0 ENDIF IXSTOP = IXSTRT - 1 JPNT = JPNT - 1 500 CONTINUE LJCOL = FJCOL - 1 600 CONTINUE C RETURN END C*********************************************************************** C*********************************************************************** C C Written: October 6, 1996 by SJW. Based on routine BLKSLV of C Esmond G. Ng and Barry W. Peyton. C C Modified: Sept 30, 1999 to improve efficiency in the case C in which the right-hand side and solution are both C expected to be sparse. Happens a lot in "dense" C column handling. C C*********************************************************************** C*********************************************************************** C********* BLKSLF ... FORWARD TRIANGULAR SUBSTITUTION ********** C*********************************************************************** C*********************************************************************** C C PURPOSE: C GIVEN THE CHOLESKY FACTORIZATION OF A SPARSE SYMMETRIC C POSITIVE DEFINITE MATRIX, THIS SUBROUTINE PERFORMS THE C FORWARD TRIANGULAR SUBSTITUTIOn. IT USES OUTPUT FROM BLKFCT. C C INPUT PARAMETERS: C NSUPER - NUMBER OF SUPERNODES. C XSUPER - SUPERNODE PARTITION. C (XLINDX,LINDX) - ROW INDICES FOR EACH SUPERNODE. C (XLNZ,LNZ) - CHOLESKY FACTOR. C C UPDATED PARAMETERS: C RHS - ON INPUT, CONTAINS THE RIGHT HAND SIDE. ON C OUTPUT, CONTAINS THE SOLUTION. C C*********************************************************************** C SUBROUTINE BLKSLF ( NSUPER, XSUPER, XLINDX, LINDX , XLNZ , & LNZ , RHS ) C C*********************************************************************** C INTEGER NSUPER INTEGER LINDX(*) , XSUPER(*) INTEGER XLINDX(*) , XLNZ(*) DOUBLE PRECISION LNZ(*) , RHS(*) C C*********************************************************************** C INTEGER FJCOL , I , IPNT , IX , IXSTOP, & IXSTRT, JCOL , JPNT , JSUP , LJCOL DOUBLE PRECISION T C C*********************************************************************** C IF ( NSUPER .LE. 0 ) RETURN C C ------------------------ C FORWARD SUBSTITUTION ... C ------------------------ FJCOL = XSUPER(1) DO 300 JSUP = 1, NSUPER LJCOL = XSUPER(JSUP+1) - 1 IXSTRT = XLNZ(FJCOL) JPNT = XLINDX(JSUP) DO 200 JCOL = FJCOL, LJCOL IXSTOP = XLNZ(JCOL+1) - 1 IF(RHS(JCOL) .NE. 0.D0) THEN T = RHS(JCOL)/LNZ(IXSTRT) RHS(JCOL) = T IPNT = JPNT + 1 CDIR$ IVDEP DO 100 IX = IXSTRT+1, IXSTOP I = LINDX(IPNT) RHS(I) = RHS(I) - T*LNZ(IX) IPNT = IPNT + 1 100 CONTINUE ENDIF IXSTRT = IXSTOP + 1 JPNT = JPNT + 1 200 CONTINUE FJCOL = LJCOL + 1 300 CONTINUE C RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratory C C Modified: Sept 30, 1999 to improve efficiency in the case C in which the right-hand side and solution are both C expected to be sparse. Happens a lot in "dense" C column handling. C C*********************************************************************** C*********************************************************************** C********* BLKSLV ... BLOCK TRIANGULAR SOLUTIONS ********** C*********************************************************************** C*********************************************************************** C C PURPOSE: C GIVEN THE CHOLESKY FACTORIZATION OF A SPARSE SYMMETRIC C POSITIVE DEFINITE MATRIX, THIS SUBROUTINE PERFORMS THE C TRIANGULAR SOLUTION. IT USES OUTPUT FROM BLKFCT. C C INPUT PARAMETERS: C NSUPER - NUMBER OF SUPERNODES. C XSUPER - SUPERNODE PARTITION. C (XLINDX,LINDX) - ROW INDICES FOR EACH SUPERNODE. C (XLNZ,LNZ) - CHOLESKY FACTOR. C C UPDATED PARAMETERS: C RHS - ON INPUT, CONTAINS THE RIGHT HAND SIDE. ON C OUTPUT, CONTAINS THE SOLUTION. C C*********************************************************************** C SUBROUTINE BLKSLV ( NSUPER, XSUPER, XLINDX, LINDX , XLNZ , & LNZ , RHS ) C C*********************************************************************** C INTEGER NSUPER INTEGER LINDX(*) , XSUPER(*) INTEGER XLINDX(*) , XLNZ(*) DOUBLE PRECISION LNZ(*) , RHS(*) C C*********************************************************************** C INTEGER FJCOL , I , IPNT , IX , IXSTOP, & IXSTRT, JCOL , JPNT , JSUP , LJCOL DOUBLE PRECISION T C C*********************************************************************** C IF ( NSUPER .LE. 0 ) RETURN C C ------------------------ C FORWARD SUBSTITUTION ... C ------------------------ FJCOL = XSUPER(1) DO 300 JSUP = 1, NSUPER LJCOL = XSUPER(JSUP+1) - 1 IXSTRT = XLNZ(FJCOL) JPNT = XLINDX(JSUP) DO 200 JCOL = FJCOL, LJCOL IXSTOP = XLNZ(JCOL+1) - 1 IF(RHS(JCOL) .NE. 0.D0) THEN T = RHS(JCOL)/LNZ(IXSTRT) RHS(JCOL) = T IPNT = JPNT + 1 CDIR$ IVDEP DO 100 IX = IXSTRT+1, IXSTOP I = LINDX(IPNT) RHS(I) = RHS(I) - T*LNZ(IX) IPNT = IPNT + 1 100 CONTINUE ENDIF IXSTRT = IXSTOP + 1 JPNT = JPNT + 1 200 CONTINUE FJCOL = LJCOL + 1 300 CONTINUE C C ------------------------- C BACKWARD SUBSTITUTION ... C ------------------------- LJCOL = XSUPER(NSUPER+1) - 1 DO 600 JSUP = NSUPER, 1, -1 FJCOL = XSUPER(JSUP) IXSTOP = XLNZ(LJCOL+1) - 1 JPNT = XLINDX(JSUP) + (LJCOL - FJCOL) DO 500 JCOL = LJCOL, FJCOL, -1 IXSTRT = XLNZ(JCOL) IPNT = JPNT + 1 T = RHS(JCOL) CDIR$ IVDEP DO 400 IX = IXSTRT+1, IXSTOP I = LINDX(IPNT) IF(RHS(I) .NE. 0.D0) T = T - LNZ(IX)*RHS(I) IPNT = IPNT + 1 400 CONTINUE IF(T .NE. 0.D0) THEN RHS(JCOL) = T/LNZ(IXSTRT) ELSE RHS(JCOL) = 0.D0 ENDIF IXSTOP = IXSTRT - 1 JPNT = JPNT - 1 500 CONTINUE LJCOL = FJCOL - 1 600 CONTINUE C RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: January 12, 1995 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C****** BTREE2 ..... BINARY TREE REPRESENTATION OF ETREE ******* C*********************************************************************** C*********************************************************************** C C PURPOSE: C TO DETERMINE A BINARY TREE REPRESENTATION OF THE ELIMINATION C TREE, FOR WHICH EVERY "LAST CHILD" HAS THE MAXIMUM POSSIBLE C COLUMN NONZERO COUNT IN THE FACTOR. THE RETURNED REPRESENTATION C WILL BE GIVEN BY THE FIRST-SON AND BROTHER VECTORS. THE ROOT OF C THE BINARY TREE IS ALWAYS NEQNS. C C INPUT PARAMETERS: C NEQNS - NUMBER OF EQUATIONS. C PARENT - THE PARENT VECTOR OF THE ELIMINATION TREE. C IT IS ASSUMED THAT PARENT(I) > I EXCEPT OF C THE ROOTS. C COLCNT - COLUMN NONZERO COUNTS OF THE FACTOR. C C OUTPUT PARAMETERS: C FSON - THE FIRST SON VECTOR. C BROTHR - THE BROTHER VECTOR. C C WORKING PARAMETERS: C LSON - LAST SON VECTOR. C C*********************************************************************** C SUBROUTINE BTREE2 ( NEQNS , PARENT, COLCNT, FSON , BROTHR, & LSON ) C C*********************************************************************** C INTEGER BROTHR(*) , COLCNT(*) , & FSON(*) , LSON(*) , & PARENT(*) C INTEGER NEQNS C C*********************************************************************** C INTEGER LROOT , NODE , NDLSON, NDPAR C C*********************************************************************** C IF ( NEQNS .LE. 0 ) RETURN C DO 100 NODE = 1, NEQNS FSON(NODE) = 0 BROTHR(NODE) = 0 LSON(NODE) = 0 100 CONTINUE LROOT = NEQNS C ------------------------------------------------------------ C FOR EACH NODE := NEQNS-1 STEP -1 DOWNTO 1, DO THE FOLLOWING. C ------------------------------------------------------------ IF ( NEQNS .LE. 1 ) RETURN DO 300 NODE = NEQNS-1, 1, -1 NDPAR = PARENT(NODE) IF ( NDPAR .LE. 0 .OR. NDPAR .EQ. NODE ) THEN C ------------------------------------------------- C NODE HAS NO PARENT. GIVEN STRUCTURE IS A FOREST. C SET NODE TO BE ONE OF THE ROOTS OF THE TREES. C ------------------------------------------------- BROTHR(LROOT) = NODE LROOT = NODE ELSE C ------------------------------------------- C OTHERWISE, BECOMES FIRST SON OF ITS PARENT. C ------------------------------------------- NDLSON = LSON(NDPAR) IF ( NDLSON .NE. 0 ) THEN IF ( COLCNT(NODE) .GE. COLCNT(NDLSON) ) THEN BROTHR(NODE) = FSON(NDPAR) FSON(NDPAR) = NODE ELSE BROTHR(NDLSON) = NODE LSON(NDPAR) = NODE ENDIF ELSE FSON(NDPAR) = NODE LSON(NDPAR) = NODE ENDIF ENDIF 300 CONTINUE BROTHR(LROOT) = 0 C RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.3 C Last modified: December 27, 1994 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratoy C C*********************************************************************** C*********************************************************************** C****** CHLSUP .... DENSE CHOLESKY WITHIN SUPERNODE ************** C*********************************************************************** C*********************************************************************** C C PURPOSE - THIS ROUTINE PERFORMS CHOLESKY C FACTORIZATION ON THE COLUMNS OF A SUPERNODE C THAT HAVE RECEIVED ALL UPDATES FROM COLUMNS C EXTERNAL TO THE SUPERNODE. C C INPUT PARAMETERS - C M - NUMBER OF ROWS (LENGTH OF THE FIRST COLUMN). C N - NUMBER OF COLUMNS IN THE SUPERNODE. C XPNT - XPNT(J+1) POINTS ONE LOCATION BEYOND THE END C OF THE J-TH COLUMN OF THE SUPERNODE. C X(*) - CONTAINS THE COLUMNS OF OF THE SUPERNODE TO C BE FACTORED. C SMXPY - EXTERNAL ROUTINE: MATRIX-VECTOR MULTIPLY. C C OUTPUT PARAMETERS - C X(*) - ON OUTPUT, CONTAINS THE FACTORED COLUMNS OF C THE SUPERNODE. C IFLAG - UNCHANGED IF THERE IS NO ERROR. C =1 IF NONPOSITIVE DIAGONAL ENTRY IS ENCOUNTERED. C C*********************************************************************** C CxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPC SUBROUTINE CHLSUP ( M, N, SPLIT, XPNT, X, MXDIAG, NTINY, & IFLAG, MMPYN, SMXPY ) C C*********************************************************************** C C ----------- C PARAMETERS. C ----------- C EXTERNAL MMPYN, SMXPY C INTEGER M, N, IFLAG C INTEGER XPNT(*), SPLIT(*) C CxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPC DOUBLE PRECISION X(*), MXDIAG INTEGER NTINY C C ---------------- C LOCAL VARIABLES. C ---------------- C INTEGER FSTCOL, JBLK , JPNT , MM , NN , & NXTCOL, Q C C*********************************************************************** C JBLK = 0 FSTCOL = 1 MM = M JPNT = XPNT(FSTCOL) C C ---------------------------------------- C FOR EACH BLOCK JBLK IN THE SUPERNODE ... C ---------------------------------------- 100 CONTINUE IF ( FSTCOL .LE. N ) THEN JBLK = JBLK + 1 NN = SPLIT(JBLK) C ------------------------------------------ C ... PERFORM PARTIAL CHOLESKY FACTORIZATION C ON THE BLOCK. C ------------------------------------------ CxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPC CALL PCHOL ( MM, NN, XPNT(FSTCOL), X, MXDIAG, NTINY, & IFLAG, SMXPY ) IF ( IFLAG .EQ. 1 ) RETURN C ---------------------------------------------- C ... APPLY THE COLUMNS IN JBLK TO ANY COLUMNS C OF THE SUPERNODE REMAINING TO BE COMPUTED. C ---------------------------------------------- NXTCOL = FSTCOL + NN Q = N - NXTCOL + 1 MM = MM - NN JPNT = XPNT(NXTCOL) IF ( Q .GT. 0 ) THEN CALL MMPYN ( MM, NN, Q, XPNT(FSTCOL), X, X(JPNT), MM ) ENDIF FSTCOL = NXTCOL GO TO 100 ENDIF C RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C********** CHORDR ..... CHILD REORDERING *********** C*********************************************************************** C*********************************************************************** C C PURPOSE: C REARRANGE THE CHILDREN OF EACH VERTEX SO THAT THE LAST ONE C MAXIMIZES (AMONG THE CHILDREN) THE NUMBER OF NONZEROS IN THE C CORRESPONDING COLUMN OF L. ALSO DETERMINE AN NEW POSTORDERING C BASED ON THE STRUCTURE OF THE MODIFIED ELIMINATION TREE. C C INPUT PARAMETERS: C NEQNS - NUMBER OF EQUATIONS. C (XADJ,ADJNCY) - THE ADJACENCY STRUCTURE. C C UPDATED PARAMETERS: C (PERM,INVP) - ON INPUT, THE GIVEN PERM AND INVERSE PERM C VECTORS. ON OUTPUT, THE NEW PERM AND C INVERSE PERM VECTORS OF THE NEW C POSTORDERING. C COLCNT - COLUMN COUNTS IN L UNDER INITIAL ORDERING; C MODIFIED TO REFLECT THE NEW ORDERING. C C OUTPUT PARAMETERS: C PARENT - THE PARENT VECTOR OF THE ELIMINATION TREE C ASSOCIATED WITH THE NEW ORDERING. C C WORKING PARAMETERS: C FSON - THE FIRST SON VECTOR. C BROTHR - THE BROTHER VECTOR. C INVPOS - THE INVERSE PERM VECTOR FOR THE C POSTORDERING. C C PROGRAM SUBROUTINES: C BTREE2, EPOST2, INVINV. C C*********************************************************************** C SUBROUTINE CHORDR ( NEQNS , XADJ , ADJNCY, PERM , INVP , & COLCNT, PARENT, FSON , BROTHR, INVPOS ) C C*********************************************************************** C INTEGER ADJNCY(*) , BROTHR(*) , & COLCNT(*) , FSON(*) , & INVP(*) , INVPOS(*) , & PARENT(*) , PERM(*) C INTEGER XADJ(*) INTEGER NEQNS C C*********************************************************************** C C ---------------------------------------------------------- C COMPUTE A BINARY REPRESENTATION OF THE ELIMINATION TREE, C SO THAT EACH "LAST CHILD" MAXIMIZES AMONG ITS SIBLINGS THE C NUMBER OF NONZEROS IN THE CORRESPONDING COLUMNS OF L. C ---------------------------------------------------------- CALL BTREE2 ( NEQNS , PARENT, COLCNT, FSON , BROTHR, & INVPOS ) C C ---------------------------------------------------- C POSTORDER THE ELIMINATION TREE (USING THE NEW BINARY C REPRESENTATION. C ---------------------------------------------------- CALL EPOST2 ( NEQNS , FSON , BROTHR, INVPOS, PARENT, & COLCNT, PERM ) C C -------------------------------------------------------- C COMPOSE THE ORIGINAL ORDERING WITH THE NEW POSTORDERING. C -------------------------------------------------------- CALL INVINV ( NEQNS , INVP , INVPOS, PERM ) C RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C****** DSCAL1 .... SCALE A VECTOR ************** C*********************************************************************** C*********************************************************************** C C PURPOSE - THIS ROUTINE COMPUTES A <-- AX, WHERE A IS A C SCALAR AND X IS A VECTOR. C C INPUT PARAMETERS - C N - LENGTH OF THE VECTOR X. C A - SCALAR MULIPLIER. C X - VECTOR TO BE SCALED. C C OUTPUT PARAMETERS - C X - REPLACED BY THE SCALED VECTOR, AX. C C*********************************************************************** C SUBROUTINE DSCAL1 ( N, A, X ) C C*********************************************************************** C C ----------- C PARAMETERS. C ----------- INTEGER N DOUBLE PRECISION A, X(N) C C ---------------- C LOCAL VARIABLES. C ---------------- INTEGER I C C*********************************************************************** C DO 100 I = 1, N X(I) = A * X(I) 100 CONTINUE RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C*************** EPOST2 ..... ETREE POSTORDERING #2 *************** C*********************************************************************** C*********************************************************************** C C PURPOSE: C BASED ON THE BINARY REPRESENTATION (FIRST-SON,BROTHER) OF THE C ELIMINATION TREE, A POSTORDERING IS DETERMINED. THE C CORRESPONDING PARENT AND COLCNT VECTORS ARE ALSO MODIFIED TO C REFLECT THE REORDERING. C C INPUT PARAMETERS: C ROOT - ROOT OF THE ELIMINATION TREE (USUALLY IT C IS NEQNS). C FSON - THE FIRST SON VECTOR. C BROTHR - THE BROTHR VECTOR. C C UPDATED PARAMETERS: C PARENT - THE PARENT VECTOR. C COLCNT - COLUMN NONZERO COUNTS OF THE FACTOR. C C OUTPUT PARAMETERS: C INVPOS - INVERSE PERMUTATION FOR THE POSTORDERING. C C WORKING PARAMETERS: C STACK - THE STACK FOR POSTORDER TRAVERSAL OF THE C TREE. C C*********************************************************************** C SUBROUTINE EPOST2 ( ROOT , FSON , BROTHR, INVPOS, PARENT, & COLCNT, STACK ) C C*********************************************************************** C INTEGER BROTHR(*) , COLCNT(*) , & FSON(*) , INVPOS(*) , & PARENT(*) , STACK(*) C INTEGER ROOT C C*********************************************************************** C INTEGER ITOP , NDPAR , NODE , NUM , NUNODE C C*********************************************************************** C NUM = 0 ITOP = 0 NODE = ROOT C ------------------------------------------------------------- C TRAVERSE ALONG THE FIRST SONS POINTER AND PUSH THE TREE NODES C ALONG THE TRAVERSAL INTO THE STACK. C ------------------------------------------------------------- 100 CONTINUE ITOP = ITOP + 1 STACK(ITOP) = NODE NODE = FSON(NODE) IF ( NODE .GT. 0 ) GO TO 100 C ---------------------------------------------------------- C IF POSSIBLE, POP A TREE NODE FROM THE STACK AND NUMBER IT. C ---------------------------------------------------------- 200 CONTINUE IF ( ITOP .LE. 0 ) GO TO 300 NODE = STACK(ITOP) ITOP = ITOP - 1 NUM = NUM + 1 INVPOS(NODE) = NUM C ---------------------------------------------------- C THEN, TRAVERSE TO ITS YOUNGER BROTHER IF IT HAS ONE. C ---------------------------------------------------- NODE = BROTHR(NODE) IF ( NODE .LE. 0 ) GO TO 200 GO TO 100 C 300 CONTINUE C ------------------------------------------------------------ C DETERMINE THE NEW PARENT VECTOR OF THE POSTORDERING. BROTHR C IS USED TEMPORARILY FOR THE NEW PARENT VECTOR. C ------------------------------------------------------------ DO 400 NODE = 1, NUM NUNODE = INVPOS(NODE) NDPAR = PARENT(NODE) IF ( NDPAR .GT. 0 ) NDPAR = INVPOS(NDPAR) BROTHR(NUNODE) = NDPAR 400 CONTINUE C DO 500 NUNODE = 1, NUM PARENT(NUNODE) = BROTHR(NUNODE) 500 CONTINUE C C ---------------------------------------------- C PERMUTE COLCNT(*) TO REFLECT THE NEW ORDERING. C ---------------------------------------------- DO 600 NODE = 1, NUM NUNODE = INVPOS(NODE) STACK(NUNODE) = COLCNT(NODE) 600 CONTINUE C DO 700 NODE = 1, NUM COLCNT(NODE) = STACK(NODE) 700 CONTINUE C RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Joseph W.H. Liu C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C********** ETORDR ..... ELIMINATION TREE REORDERING *********** C*********************************************************************** C*********************************************************************** C C WRITTEN BY JOSEPH LIU (JUL 17, 1985) C C PURPOSE: C TO DETERMINE AN EQUIVALENT REORDERING BASED ON THE STRUCTURE OF C THE ELIMINATION TREE. A POSTORDERING OF THE GIVEN ELIMINATION C TREE IS RETURNED. C C INPUT PARAMETERS: C NEQNS - NUMBER OF EQUATIONS. C (XADJ,ADJNCY) - THE ADJACENCY STRUCTURE. C C UPDATED PARAMETERS: C (PERM,INVP) - ON INPUT, THE GIVEN PERM AND INVERSE PERM C VECTORS. ON OUTPUT, THE NEW PERM AND C INVERSE PERM VECTORS OF THE EQUIVALENT C ORDERING. C C OUTPUT PARAMETERS: C PARENT - THE PARENT VECTOR OF THE ELIMINATION TREE C ASSOCIATED WITH THE NEW ORDERING. C C WORKING PARAMETERS: C FSON - THE FIRST SON VECTOR. C BROTHR - THE BROTHER VECTOR. C INVPOS - THE INVERSE PERM VECTOR FOR THE C POSTORDERING. C C PROGRAM SUBROUTINES: C BETREE, ETPOST, ETREE , INVINV. C C*********************************************************************** C SUBROUTINE ETORDR ( NEQNS , XADJ , ADJNCY, PERM , INVP , & PARENT, FSON , BROTHR, INVPOS ) C C*********************************************************************** C INTEGER ADJNCY(*) , BROTHR(*) , & FSON(*) , INVP(*) , & INVPOS(*) , PARENT(*) , & PERM(*) C INTEGER XADJ(*) INTEGER NEQNS C C*********************************************************************** C C ----------------------------- C COMPUTE THE ELIMINATION TREE. C ----------------------------- CALL ETREE ( NEQNS, XADJ, ADJNCY, PERM, INVP, PARENT, INVPOS ) C C -------------------------------------------------------- C COMPUTE A BINARY REPRESENTATION OF THE ELIMINATION TREE. C -------------------------------------------------------- CALL BETREE ( NEQNS, PARENT, FSON, BROTHR ) C C ------------------------------- C POSTORDER THE ELIMINATION TREE. C ------------------------------- CALL ETPOST ( NEQNS, FSON, BROTHR, INVPOS, PARENT, PERM ) C C -------------------------------------------------------- C COMPOSE THE ORIGINAL ORDERING WITH THE NEW POSTORDERING. C -------------------------------------------------------- CALL INVINV ( NEQNS, INVP, INVPOS, PERM ) C RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Joseph W.H. Liu C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C*************** ETPOST ..... ETREE POSTORDERING *************** C*********************************************************************** C*********************************************************************** C C WRITTEN BY JOSEPH LIU (SEPT 17, 1986) C C PURPOSE: C BASED ON THE BINARY REPRESENTATION (FIRST-SON,BROTHER) OF C THE ELIMINATION TREE, A POSTORDERING IS DETERMINED. THE C CORRESPONDING PARENT VECTOR IS ALSO MODIFIED TO REFLECT C THE REORDERING. C C INPUT PARAMETERS: C ROOT - ROOT OF THE ELIMINATION TREE (USUALLY IT C IS NEQNS). C FSON - THE FIRST SON VECTOR. C BROTHR - THE BROTHR VECTOR. C C UPDATED PARAMETERS: C PARENT - THE PARENT VECTOR. C C OUTPUT PARAMETERS: C INVPOS - INVERSE PERMUTATION FOR THE POSTORDERING. C C WORKING PARAMETERS: C STACK - THE STACK FOR POSTORDER TRAVERSAL OF THE C TREE. C C*********************************************************************** C SUBROUTINE ETPOST ( ROOT , FSON , BROTHR, INVPOS, PARENT, & STACK ) C C*********************************************************************** C INTEGER BROTHR(*) , FSON(*) , & INVPOS(*) , PARENT(*) , & STACK(*) C INTEGER ROOT C C*********************************************************************** C INTEGER ITOP , NDPAR , NODE , NUM , NUNODE C C*********************************************************************** C NUM = 0 ITOP = 0 NODE = ROOT C ------------------------------------------------------------- C TRAVERSE ALONG THE FIRST SONS POINTER AND PUSH THE TREE NODES C ALONG THE TRAVERSAL INTO THE STACK. C ------------------------------------------------------------- 100 CONTINUE ITOP = ITOP + 1 STACK(ITOP) = NODE NODE = FSON(NODE) IF ( NODE .GT. 0 ) GO TO 100 C ---------------------------------------------------------- C IF POSSIBLE, POP A TREE NODE FROM THE STACK AND NUMBER IT. C ---------------------------------------------------------- 200 CONTINUE IF ( ITOP .LE. 0 ) GO TO 300 NODE = STACK(ITOP) ITOP = ITOP - 1 NUM = NUM + 1 INVPOS(NODE) = NUM C ---------------------------------------------------- C THEN, TRAVERSE TO ITS YOUNGER BROTHER IF IT HAS ONE. C ---------------------------------------------------- NODE = BROTHR(NODE) IF ( NODE .LE. 0 ) GO TO 200 GO TO 100 C 300 CONTINUE C ------------------------------------------------------------ C DETERMINE THE NEW PARENT VECTOR OF THE POSTORDERING. BROTHR C IS USED TEMPORARILY FOR THE NEW PARENT VECTOR. C ------------------------------------------------------------ DO 400 NODE = 1, NUM NUNODE = INVPOS(NODE) NDPAR = PARENT(NODE) IF ( NDPAR .GT. 0 ) NDPAR = INVPOS(NDPAR) BROTHR(NUNODE) = NDPAR 400 CONTINUE C DO 500 NUNODE = 1, NUM PARENT(NUNODE) = BROTHR(NUNODE) 500 CONTINUE C RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Joseph W.H. Liu C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C**************** ETREE ..... ELIMINATION TREE ***************** C*********************************************************************** C*********************************************************************** C C WRITTEN BY JOSEPH LIU (JUL 17, 1985) C C PURPOSE: C TO DETERMINE THE ELIMINATION TREE FROM A GIVEN ORDERING AND C THE ADJACENCY STRUCTURE. THE PARENT VECTOR IS RETURNED. C C INPUT PARAMETERS: C NEQNS - NUMBER OF EQUATIONS. C (XADJ,ADJNCY) - THE ADJACENCY STRUCTURE. C (PERM,INVP) - PERMUTATION AND INVERSE PERMUTATION VECTORS C C OUTPUT PARAMETERS: C PARENT - THE PARENT VECTOR OF THE ELIMINATION TREE. C C WORKING PARAMETERS: C ANCSTR - THE ANCESTOR VECTOR. C C*********************************************************************** C SUBROUTINE ETREE ( NEQNS , XADJ , ADJNCY, PERM , INVP , & PARENT, ANCSTR ) C C*********************************************************************** C INTEGER ADJNCY(*) , ANCSTR(*) , & INVP(*) , PARENT(*) , & PERM(*) C INTEGER NEQNS INTEGER XADJ(*) C C*********************************************************************** C INTEGER I , J , JSTOP , JSTRT , NBR , & NEXT , NODE C C*********************************************************************** C IF ( NEQNS .LE. 0 ) RETURN C DO 400 I = 1, NEQNS PARENT(I) = 0 ANCSTR(I) = 0 NODE = PERM(I) C JSTRT = XADJ(NODE) JSTOP = XADJ(NODE+1) - 1 IF ( JSTRT .LE. JSTOP ) THEN DO 300 J = JSTRT, JSTOP NBR = ADJNCY(J) NBR = INVP(NBR) IF ( NBR .LT. I ) THEN C ------------------------------------------- C FOR EACH NBR, FIND THE ROOT OF ITS CURRENT C ELIMINATION TREE. PERFORM PATH COMPRESSION C AS THE SUBTREE IS TRAVERSED. C ------------------------------------------- 100 CONTINUE IF ( ANCSTR(NBR) .EQ. I ) GO TO 300 IF ( ANCSTR(NBR) .GT. 0 ) THEN NEXT = ANCSTR(NBR) ANCSTR(NBR) = I NBR = NEXT GO TO 100 ENDIF C -------------------------------------------- C NOW, NBR IS THE ROOT OF THE SUBTREE. MAKE I C THE PARENT NODE OF THIS ROOT. C -------------------------------------------- PARENT(NBR) = I ANCSTR(NBR) = I ENDIF 300 CONTINUE ENDIF 400 CONTINUE C RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: January 12, 1995 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C************** FCNTHN ..... FIND NONZERO COUNTS *************** C*********************************************************************** C*********************************************************************** C C PURPOSE: C THIS SUBROUTINE DETERMINES THE ROW COUNTS AND COLUMN COUNTS IN C THE CHOLESKY FACTOR. IT USES A DISJOINT SET UNION ALGORITHM. C C TECHNIQUES: C 1) SUPERNODE DETECTION. C 2) PATH HALVING. C 3) NO UNION BY RANK. C C NOTES: C 1) ASSUMES A POSTORDERING OF THE ELIMINATION TREE. C C INPUT PARAMETERS: C (I) NEQNS - NUMBER OF EQUATIONS. C (I) ADJLEN - LENGTH OF ADJACENCY STRUCTURE. C (I) XADJ(*) - ARRAY OF LENGTH NEQNS+1, CONTAINING POINTERS C TO THE ADJACENCY STRUCTURE. C (I) ADJNCY(*) - ARRAY OF LENGTH XADJ(NEQNS+1)-1, CONTAINING C THE ADJACENCY STRUCTURE. C (I) PERM(*) - ARRAY OF LENGTH NEQNS, CONTAINING THE C POSTORDERING. C (I) INVP(*) - ARRAY OF LENGTH NEQNS, CONTAINING THE C INVERSE OF THE POSTORDERING. C (I) ETPAR(*) - ARRAY OF LENGTH NEQNS, CONTAINING THE C ELIMINATION TREE OF THE POSTORDERED MATRIX. C C OUTPUT PARAMETERS: C (I) ROWCNT(*) - ARRAY OF LENGTH NEQNS, CONTAINING THE NUMBER C OF NONZEROS IN EACH ROW OF THE FACTOR, C INCLUDING THE DIAGONAL ENTRY. C (I) COLCNT(*) - ARRAY OF LENGTH NEQNS, CONTAINING THE NUMBER C OF NONZEROS IN EACH COLUMN OF THE FACTOR, C INCLUDING THE DIAGONAL ENTRY. C (I) NLNZ - NUMBER OF NONZEROS IN THE FACTOR, INCLUDING C THE DIAGONAL ENTRIES. C C WORK PARAMETERS: C (I) SET(*) - ARRAY OF LENGTH NEQNS USED TO MAINTAIN THE C DISJOINT SETS (I.E., SUBTREES). C (I) PRVLF(*) - ARRAY OF LENGTH NEQNS USED TO RECORD THE C PREVIOUS LEAF OF EACH ROW SUBTREE. C (I) LEVEL(*) - ARRAY OF LENGTH NEQNS+1 CONTAINING THE LEVEL C (DISTANCE FROM THE ROOT). C (I) WEIGHT(*) - ARRAY OF LENGTH NEQNS+1 CONTAINING WEIGHTS C USED TO COMPUTE COLUMN COUNTS. C (I) FDESC(*) - ARRAY OF LENGTH NEQNS+1 CONTAINING THE C FIRST (I.E., LOWEST-NUMBERED) DESCENDANT. C (I) NCHILD(*) - ARRAY OF LENGTH NEQNS+1 CONTAINING THE C NUMBER OF CHILDREN. C (I) PRVNBR(*) - ARRAY OF LENGTH NEQNS USED TO RECORD THE C PREVIOUS ``LOWER NEIGHBOR'' OF EACH NODE. C C FIRST CREATED ON APRIL 12, 1990. C LAST UPDATED ON JANUARY 12, 1995. C C*********************************************************************** C SUBROUTINE FCNTHN ( NEQNS , ADJLEN, XADJ , ADJNCY, PERM , & INVP , ETPAR , ROWCNT, COLCNT, NLNZ , & SET , PRVLF , LEVEL , WEIGHT, FDESC , & NCHILD, PRVNBR ) C C ----------- C PARAMETERS. C ----------- INTEGER ADJLEN, NEQNS , NLNZ INTEGER ADJNCY(ADJLEN) , COLCNT(NEQNS) , & ETPAR(NEQNS) , FDESC(0:NEQNS), & INVP(NEQNS) , LEVEL(0:NEQNS), & NCHILD(0:NEQNS) , PERM(NEQNS) , & PRVLF(NEQNS) , PRVNBR(NEQNS) , & ROWCNT(NEQNS) , SET(NEQNS) , & WEIGHT(0:NEQNS) INTEGER XADJ(*) C C ---------------- C LOCAL VARIABLES. C ---------------- INTEGER HINBR , IFDESC, J , JSTOP , JSTRT , & K , LAST1 , LAST2 , LCA , LFLAG , & LOWNBR, OLDNBR, PARENT, PLEAF , TEMP , & XSUP C C*********************************************************************** C C -------------------------------------------------- C COMPUTE LEVEL(*), FDESC(*), NCHILD(*). C INITIALIZE XSUP, ROWCNT(*), COLCNT(*), C SET(*), PRVLF(*), WEIGHT(*), PRVNBR(*). C -------------------------------------------------- XSUP = 1 LEVEL(0) = 0 DO 100 K = NEQNS, 1, -1 ROWCNT(K) = 1 COLCNT(K) = 0 SET(K) = K PRVLF(K) = 0 LEVEL(K) = LEVEL(ETPAR(K)) + 1 WEIGHT(K) = 1 FDESC(K) = K NCHILD(K) = 0 PRVNBR(K) = 0 100 CONTINUE NCHILD(0) = 0 FDESC(0) = 0 DO 200 K = 1, NEQNS PARENT = ETPAR(K) WEIGHT(PARENT) = 0 NCHILD(PARENT) = NCHILD(PARENT) + 1 IFDESC = FDESC(K) IF ( IFDESC .LT. FDESC(PARENT) ) THEN FDESC(PARENT) = IFDESC ENDIF 200 CONTINUE C ------------------------------------ C FOR EACH ``LOW NEIGHBOR'' LOWNBR ... C ------------------------------------ DO 600 LOWNBR = 1, NEQNS LFLAG = 0 IFDESC = FDESC(LOWNBR) OLDNBR = PERM(LOWNBR) JSTRT = XADJ(OLDNBR) JSTOP = XADJ(OLDNBR+1) - 1 C ----------------------------------------------- C FOR EACH ``HIGH NEIGHBOR'', HINBR OF LOWNBR ... C ----------------------------------------------- DO 500 J = JSTRT, JSTOP HINBR = INVP(ADJNCY(J)) IF ( HINBR .GT. LOWNBR ) THEN IF ( IFDESC .GT. PRVNBR(HINBR) ) THEN C ------------------------- C INCREMENT WEIGHT(LOWNBR). C ------------------------- WEIGHT(LOWNBR) = WEIGHT(LOWNBR) + 1 PLEAF = PRVLF(HINBR) C ----------------------------------------- C IF HINBR HAS NO PREVIOUS ``LOW NEIGHBOR'' C THEN ... C ----------------------------------------- IF ( PLEAF .EQ. 0 ) THEN C ----------------------------------------- C ... ACCUMULATE LOWNBR-->HINBR PATH LENGTH C IN ROWCNT(HINBR). C ----------------------------------------- ROWCNT(HINBR) = ROWCNT(HINBR) + & LEVEL(LOWNBR) - LEVEL(HINBR) ELSE C ----------------------------------------- C ... OTHERWISE, LCA <-- FIND(PLEAF), WHICH C IS THE LEAST COMMON ANCESTOR OF PLEAF C AND LOWNBR. C (PATH HALVING.) C ----------------------------------------- LAST1 = PLEAF LAST2 = SET(LAST1) LCA = SET(LAST2) 300 CONTINUE IF ( LCA .NE. LAST2 ) THEN SET(LAST1) = LCA LAST1 = LCA LAST2 = SET(LAST1) LCA = SET(LAST2) GO TO 300 ENDIF C ------------------------------------- C ACCUMULATE PLEAF-->LCA PATH LENGTH IN C ROWCNT(HINBR). C DECREMENT WEIGHT(LCA). C ------------------------------------- ROWCNT(HINBR) = ROWCNT(HINBR) & + LEVEL(LOWNBR) - LEVEL(LCA) WEIGHT(LCA) = WEIGHT(LCA) - 1 ENDIF C ---------------------------------------------- C LOWNBR NOW BECOMES ``PREVIOUS LEAF'' OF HINBR. C ---------------------------------------------- PRVLF(HINBR) = LOWNBR LFLAG = 1 ENDIF C -------------------------------------------------- C LOWNBR NOW BECOMES ``PREVIOUS NEIGHBOR'' OF HINBR. C -------------------------------------------------- PRVNBR(HINBR) = LOWNBR ENDIF 500 CONTINUE C ---------------------------------------------------- C DECREMENT WEIGHT ( PARENT(LOWNBR) ). C SET ( P(LOWNBR) ) <-- SET ( P(LOWNBR) ) + SET(XSUP). C ---------------------------------------------------- PARENT = ETPAR(LOWNBR) WEIGHT(PARENT) = WEIGHT(PARENT) - 1 IF ( LFLAG .EQ. 1 .OR. & NCHILD(LOWNBR) .GE. 2 ) THEN XSUP = LOWNBR ENDIF SET(XSUP) = PARENT 600 CONTINUE C --------------------------------------------------------- C USE WEIGHTS TO COMPUTE COLUMN (AND TOTAL) NONZERO COUNTS. C --------------------------------------------------------- NLNZ = 0 DO 700 K = 1, NEQNS TEMP = COLCNT(K) + WEIGHT(K) COLCNT(K) = TEMP NLNZ = NLNZ + TEMP PARENT = ETPAR(K) IF ( PARENT .NE. 0 ) THEN COLCNT(PARENT) = COLCNT(PARENT) + TEMP ENDIF 700 CONTINUE C RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: May 26, 1995 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C**** FNSPLT ..... COMPUTE FINE PARTITIONING OF SUPERNODES ***** C*********************************************************************** C*********************************************************************** C C PURPOSE: C THIS SUBROUTINE DETERMINES A FINE PARTITIONING OF SUPERNODES C WHEN THERE IS A CACHE AVAILABLE ON THE MACHINE. THE FINE C PARTITIONING IS CHOSEN SO THAT DATA RE-USE IS MAXIMIZED. C C INPUT PARAMETERS: C NEQNS - NUMBER OF EQUATIONS. C NSUPER - NUMBER OF SUPERNODES. C XSUPER - INTEGER ARRAY OF SIZE (NSUPER+1) CONTAINING C THE SUPERNODE PARTITIONING. C XLINDX - INTEGER ARRAY OF SIZE (NSUPER+1) CONTAINING C POINTERS IN THE SUPERNODE INDICES. C CACHSZ - CACHE SIZE IN KILO BYTES. C IF THERE IS NO CACHE, SET CACHSZ = 0. C C OUTPUT PARAMETERS: C SPLIT - INTEGER ARRAY OF SIZE NEQNS CONTAINING THE C FINE PARTITIONING. C C*********************************************************************** C SUBROUTINE FNSPLT ( NEQNS , NSUPER, XSUPER, XLINDX, & CACHSZ, SPLIT ) C C*********************************************************************** C C ----------- C PARAMETERS. C ----------- INTEGER CACHSZ, NEQNS , NSUPER INTEGER XSUPER(*), SPLIT(*) INTEGER XLINDX(*) C C ---------------- C LOCAL VARIABLES. C ---------------- INTEGER CACHE , CURCOL, FSTCOL, HEIGHT, KCOL , 1 KSUP , LSTCOL, NCOLS , NXTBLK, USED , 1 WIDTH C C ******************************************************************* C C -------------------------------------------- C COMPUTE THE NUMBER OF 8-BYTE WORDS IN CACHE. C -------------------------------------------- IF ( CACHSZ .LE. 0 ) THEN CACHE = 2 000 000 000 ELSE CACHE = ( FLOAT(CACHSZ) * 1024. / 8. ) * 0.9 ENDIF C C --------------- C INITIALIZATION. C --------------- DO 100 KCOL = 1, NEQNS SPLIT(KCOL) = 0 100 CONTINUE C C --------------------------- C FOR EACH SUPERNODE KSUP ... C --------------------------- DO 1000 KSUP = 1, NSUPER C ----------------------- C ... GET SUPERNODE INFO. C ----------------------- HEIGHT = XLINDX(KSUP+1) - XLINDX(KSUP) FSTCOL = XSUPER(KSUP) LSTCOL = XSUPER(KSUP+1) - 1 WIDTH = LSTCOL - FSTCOL + 1 NXTBLK = FSTCOL C -------------------------------------- C ... UNTIL ALL COLUMNS OF THE SUPERNODE C HAVE BEEN PROCESSED ... C -------------------------------------- CURCOL = FSTCOL - 1 200 CONTINUE C ------------------------------------------- C ... PLACE THE FIRST COLUMN(S) IN THE CACHE. C ------------------------------------------- CURCOL = CURCOL + 1 IF ( CURCOL .LT. LSTCOL ) THEN CURCOL = CURCOL + 1 NCOLS = 2 USED = 4 * HEIGHT - 1 HEIGHT = HEIGHT - 2 ELSE NCOLS = 1 USED = 3 * HEIGHT HEIGHT = HEIGHT - 1 ENDIF C C -------------------------------------- C ... WHILE THE CACHE IS NOT FILLED AND C THERE ARE COLUMNS OF THE SUPERNODE C REMAINING TO BE PROCESSED ... C -------------------------------------- 300 CONTINUE IF ( USED+HEIGHT .LT. CACHE .AND. & CURCOL .LT. LSTCOL ) THEN C -------------------------------- C ... ADD ANOTHER COLUMN TO CACHE. C -------------------------------- CURCOL = CURCOL + 1 NCOLS = NCOLS + 1 USED = USED + HEIGHT HEIGHT = HEIGHT - 1 GO TO 300 ENDIF C ------------------------------------- C ... RECORD THE NUMBER OF COLUMNS THAT C FILLED THE CACHE. C ------------------------------------- SPLIT(NXTBLK) = NCOLS NXTBLK = NXTBLK + 1 C -------------------------- C ... GO PROCESS NEXT BLOCK. C -------------------------- IF ( CURCOL .LT. LSTCOL ) GO TO 200 1000 CONTINUE C RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C****** FNTSIZ ..... COMPUTE WORK STORAGE SIZE FOR BLKFCT ****** C*********************************************************************** C*********************************************************************** C C PURPOSE: C THIS SUBROUTINE DETERMINES THE SIZE OF THE WORKING STORAGE C REQUIRED BY BLKFCT. C C INPUT PARAMETERS: C NSUPER - NUMBER OF SUPERNODES. C XSUPER - INTEGER ARRAY OF SIZE (NSUPER+1) CONTAINING C THE SUPERNODE PARTITIONING. C SNODE - SUPERNODE MEMBERSHIP. C (XLINDX,LINDX) - ARRAYS DESCRIBING THE SUPERNODAL STRUCTURE. C C OUTPUT PARAMETERS: C TMPSIZ - SIZE OF WORKING STORAGE REQUIRED BY BLKFCT. C C*********************************************************************** C SUBROUTINE FNTSIZ ( NSUPER, XSUPER, SNODE , XLINDX, & LINDX , TMPSIZ ) C C*********************************************************************** C INTEGER NSUPER, TMPSIZ INTEGER XLINDX(*) , XSUPER(*) INTEGER LINDX (*) , SNODE (*) C INTEGER BOUND , CLEN , CURSUP, I , IBEGIN, IEND , & KSUP , LENGTH, NCOLS , NXTSUP, & TSIZE , WIDTH C C*********************************************************************** C C RETURNS SIZE OF TEMP ARRAY USED BY BLKFCT FACTORIZATION ROUTINE. C NOTE THAT THE VALUE RETURNED IS AN ESTIMATE, THOUGH IT IS USUALLY C TIGHT. C C ---------------------------------------- C COMPUTE SIZE OF TEMPORARY STORAGE VECTOR C NEEDED BY BLKFCT. C ---------------------------------------- TMPSIZ = 0 DO 500 KSUP = NSUPER, 1, -1 NCOLS = XSUPER(KSUP+1) - XSUPER(KSUP) IBEGIN = XLINDX(KSUP) + NCOLS IEND = XLINDX(KSUP+1) - 1 LENGTH = IEND - IBEGIN + 1 BOUND = LENGTH * (LENGTH + 1) / 2 IF ( BOUND .GT. TMPSIZ ) THEN CURSUP = SNODE(LINDX(IBEGIN)) CLEN = XLINDX(CURSUP+1) - XLINDX(CURSUP) WIDTH = 0 DO 400 I = IBEGIN, IEND NXTSUP = SNODE(LINDX(I)) IF ( NXTSUP .EQ. CURSUP ) THEN WIDTH = WIDTH + 1 IF ( I .EQ. IEND ) THEN IF ( CLEN .GT. LENGTH ) THEN TSIZE = LENGTH * WIDTH - & (WIDTH - 1) * WIDTH / 2 TMPSIZ = MAX ( TSIZE , TMPSIZ ) ENDIF ENDIF ELSE IF ( CLEN .GT. LENGTH ) THEN TSIZE = LENGTH * WIDTH - & (WIDTH - 1) * WIDTH / 2 TMPSIZ = MAX ( TSIZE , TMPSIZ ) ENDIF LENGTH = LENGTH - WIDTH BOUND = LENGTH * (LENGTH + 1) / 2 IF ( BOUND .LE. TMPSIZ ) GO TO 500 WIDTH = 1 CURSUP = NXTSUP CLEN = XLINDX(CURSUP+1) - XLINDX(CURSUP) ENDIF 400 CONTINUE ENDIF 500 CONTINUE C RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C**************** FSUP1 ..... FIND SUPERNODES #1 ***************** C*********************************************************************** C*********************************************************************** C C PURPOSE: C THIS SUBROUTINE IS THE FIRST OF TWO ROUTINES FOR FINDING A C MAXIMAL SUPERNODE PARTITION. IT RETURNS ONLY THE NUMBER OF C SUPERNODES NSUPER AND THE SUPERNODE MEMBERSHIP VECTOR SNODE(*), C WHICH IS OF LENGTH NEQNS. THE VECTORS OF LENGTH NSUPER ARE C COMPUTED SUBSEQUENTLY BY THE COMPANION ROUTINE FSUP2. C C METHOD AND ASSUMPTIONS: C THIS ROUTINE USES THE ELIMINATION TREE AND THE FACTOR COLUMN C COUNTS TO COMPUTE THE SUPERNODE PARTITION; IT ALSO ASSUMES A C POSTORDERING OF THE ELIMINATION TREE. C C INPUT PARAMETERS: C (I) NEQNS - NUMBER OF EQUATIONS. C (I) ETPAR(*) - ARRAY OF LENGTH NEQNS, CONTAINING THE C ELIMINATION TREE OF THE POSTORDERED MATRIX. C (I) COLCNT(*) - ARRAY OF LENGTH NEQNS, CONTAINING THE C FACTOR COLUMN COUNTS: I.E., THE NUMBER OF C NONZERO ENTRIES IN EACH COLUMN OF L C (INCLUDING THE DIAGONAL ENTRY). C C OUTPUT PARAMETERS: C (I) NOFSUB - NUMBER OF SUBSCRIPTS. C (I) NSUPER - NUMBER OF SUPERNODES (<= NEQNS). C (I) SNODE(*) - ARRAY OF LENGTH NEQNS FOR RECORDING C SUPERNODE MEMBERSHIP. C C FIRST CREATED ON JANUARY 18, 1992. C LAST UPDATED ON NOVEMBER 11, 1994. C C*********************************************************************** C SUBROUTINE FSUP1 ( NEQNS , ETPAR , COLCNT, NOFSUB, NSUPER, & SNODE ) C C*********************************************************************** C C ----------- C PARAMETERS. C ----------- INTEGER NEQNS , NOFSUB, NSUPER INTEGER COLCNT(*) , ETPAR(*) , & SNODE(*) C C ---------------- C LOCAL VARIABLES. C ---------------- INTEGER KCOL C C*********************************************************************** C C -------------------------------------------- C COMPUTE THE FUNDAMENTAL SUPERNODE PARTITION. C -------------------------------------------- NSUPER = 1 SNODE(1) = 1 NOFSUB = COLCNT(1) DO 300 KCOL = 2, NEQNS IF ( ETPAR(KCOL-1) .EQ. KCOL ) THEN IF ( COLCNT(KCOL-1) .EQ. COLCNT(KCOL)+1 ) THEN SNODE(KCOL) = NSUPER GO TO 300 ENDIF ENDIF NSUPER = NSUPER + 1 SNODE(KCOL) = NSUPER NOFSUB = NOFSUB + COLCNT(KCOL) 300 CONTINUE C RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C**************** FSUP2 ..... FIND SUPERNODES #2 ***************** C*********************************************************************** C*********************************************************************** C C PURPOSE: C THIS SUBROUTINE IS THE SECOND OF TWO ROUTINES FOR FINDING A C MAXIMAL SUPERNODE PARTITION. IT'S SOLE PURPOSE IS TO C CONSTRUCT THE NEEDED VECTOR OF LENGTH NSUPER: XSUPER(*). THE C FIRST ROUTINE FSUP1 COMPUTES THE NUMBER OF SUPERNODES AND THE C SUPERNODE MEMBERSHIP VECTOR SNODE(*), WHICH IS OF LENGTH NEQNS. C C C ASSUMPTIONS: C THIS ROUTINE ASSUMES A POSTORDERING OF THE ELIMINATION TREE. IT C ALSO ASSUMES THAT THE OUTPUT FROM FSUP1 IS AVAILABLE. C C INPUT PARAMETERS: C (I) NEQNS - NUMBER OF EQUATIONS. C (I) NSUPER - NUMBER OF SUPERNODES (<= NEQNS). C (I) ETPAR(*) - ARRAY OF LENGTH NEQNS, CONTAINING THE C ELIMINATION TREE OF THE POSTORDERED MATRIX. C (I) SNODE(*) - ARRAY OF LENGTH NEQNS FOR RECORDING C SUPERNODE MEMBERSHIP. C C OUTPUT PARAMETERS: C (I) XSUPER(*) - ARRAY OF LENGTH NSUPER+1, CONTAINING THE C SUPERNODE PARTITIONING. C C FIRST CREATED ON JANUARY 18, 1992. C LAST UPDATED ON NOVEMEBER 22, 1994. C C*********************************************************************** C SUBROUTINE FSUP2 ( NEQNS , NSUPER, ETPAR , SNODE , XSUPER ) C C*********************************************************************** C C ----------- C PARAMETERS. C ----------- INTEGER NEQNS , NSUPER INTEGER ETPAR(*) , SNODE(*) , & XSUPER(*) C C ---------------- C LOCAL VARIABLES. C ---------------- INTEGER KCOL , KSUP , LSTSUP C C*********************************************************************** C C ------------------------------------------------- C COMPUTE THE SUPERNODE PARTITION VECTOR XSUPER(*). C ------------------------------------------------- LSTSUP = NSUPER + 1 DO 100 KCOL = NEQNS, 1, -1 KSUP = SNODE(KCOL) IF ( KSUP .NE. LSTSUP ) THEN XSUPER(LSTSUP) = KCOL + 1 ENDIF LSTSUP = KSUP 100 CONTINUE XSUPER(1) = 1 C RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Joseph W.H. Liu C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C--- SPARSPAK-A (ANSI FORTRAN) RELEASE III --- NAME = GENMMD C (C) UNIVERSITY OF WATERLOO JANUARY 1984 C*********************************************************************** C*********************************************************************** C**** GENMMD ..... MULTIPLE MINIMUM EXTERNAL DEGREE ************ C*********************************************************************** C*********************************************************************** C C PURPOSE - THIS ROUTINE IMPLEMENTS THE MINIMUM DEGREE C ALGORITHM. IT MAKES USE OF THE IMPLICIT REPRESENTATION C OF ELIMINATION GRAPHS BY QUOTIENT GRAPHS, AND THE C NOTION OF INDISTINGUISHABLE NODES. IT ALSO IMPLEMENTS C THE MODIFICATIONS BY MULTIPLE ELIMINATION AND MINIMUM C EXTERNAL DEGREE. C --------------------------------------------- C CAUTION - THE ADJACENCY VECTOR ADJNCY WILL BE C DESTROYED. C --------------------------------------------- C C INPUT PARAMETERS - C NEQNS - NUMBER OF EQUATIONS. C (XADJ,ADJNCY) - THE ADJACENCY STRUCTURE. C DELTA - TOLERANCE VALUE FOR MULTIPLE ELIMINATION. C MAXINT - MAXIMUM MACHINE REPRESENTABLE (SHORT) INTEGER C (ANY SMALLER ESTIMATE WILL DO) FOR MARKING C NODES. C C OUTPUT PARAMETERS - C PERM - THE MINIMUM DEGREE ORDERING. C INVP - THE INVERSE OF PERM. C NOFSUB - AN UPPER BOUND ON THE NUMBER OF NONZERO C SUBSCRIPTS FOR THE COMPRESSED STORAGE SCHEME. C C WORKING PARAMETERS - C DHEAD - VECTOR FOR HEAD OF DEGREE LISTS. C INVP - USED TEMPORARILY FOR DEGREE FORWARD LINK. C PERM - USED TEMPORARILY FOR DEGREE BACKWARD LINK. C QSIZE - VECTOR FOR SIZE OF SUPERNODES. C LLIST - VECTOR FOR TEMPORARY LINKED LISTS. C MARKER - A TEMPORARY MARKER VECTOR. C C PROGRAM SUBROUTINES - C MMDELM, MMDINT, MMDNUM, MMDUPD. C C*********************************************************************** C SUBROUTINE GENMMD ( NEQNS, XADJ, ADJNCY, INVP, PERM, 1 DELTA, DHEAD, QSIZE, LLIST, MARKER, 1 MAXINT, NOFSUB ) C C*********************************************************************** C INTEGER ADJNCY(*), DHEAD(*) , INVP(*) , LLIST(*) , 1 MARKER(*), PERM(*) , QSIZE(*) INTEGER XADJ(*) INTEGER DELTA , EHEAD , I , MAXINT, MDEG , 1 MDLMT , MDNODE, NEQNS , NEXTMD, NOFSUB, 1 NUM, TAG C C*********************************************************************** C IF ( NEQNS .LE. 0 ) RETURN C C ------------------------------------------------ C INITIALIZATION FOR THE MINIMUM DEGREE ALGORITHM. C ------------------------------------------------ NOFSUB = 0 CALL MMDINT ( NEQNS, XADJ, ADJNCY, DHEAD, INVP, PERM, 1 QSIZE, LLIST, MARKER ) C C ---------------------------------------------- C NUM COUNTS THE NUMBER OF ORDERED NODES PLUS 1. C ---------------------------------------------- NUM = 1 C C ----------------------------- C ELIMINATE ALL ISOLATED NODES. C ----------------------------- NEXTMD = DHEAD(1) 100 CONTINUE IF ( NEXTMD .LE. 0 ) GO TO 200 MDNODE = NEXTMD NEXTMD = INVP(MDNODE) MARKER(MDNODE) = MAXINT INVP(MDNODE) = - NUM NUM = NUM + 1 GO TO 100 C 200 CONTINUE C ---------------------------------------- C SEARCH FOR NODE OF THE MINIMUM DEGREE. C MDEG IS THE CURRENT MINIMUM DEGREE; C TAG IS USED TO FACILITATE MARKING NODES. C ---------------------------------------- IF ( NUM .GT. NEQNS ) GO TO 1000 TAG = 1 DHEAD(1) = 0 MDEG = 2 300 CONTINUE IF ( DHEAD(MDEG) .GT. 0 ) GO TO 400 MDEG = MDEG + 1 GO TO 300 400 CONTINUE C ------------------------------------------------- C USE VALUE OF DELTA TO SET UP MDLMT, WHICH GOVERNS C WHEN A DEGREE UPDATE IS TO BE PERFORMED. C ------------------------------------------------- MDLMT = MDEG + DELTA EHEAD = 0 C 500 CONTINUE MDNODE = DHEAD(MDEG) IF ( MDNODE .GT. 0 ) GO TO 600 MDEG = MDEG + 1 IF ( MDEG .GT. MDLMT ) GO TO 900 GO TO 500 600 CONTINUE C ---------------------------------------- C REMOVE MDNODE FROM THE DEGREE STRUCTURE. C ---------------------------------------- NEXTMD = INVP(MDNODE) DHEAD(MDEG) = NEXTMD IF ( NEXTMD .GT. 0 ) PERM(NEXTMD) = - MDEG INVP(MDNODE) = - NUM NOFSUB = NOFSUB + MDEG + QSIZE(MDNODE) - 2 IF ( NUM+QSIZE(MDNODE) .GT. NEQNS ) GO TO 1000 C ---------------------------------------------- C ELIMINATE MDNODE AND PERFORM QUOTIENT GRAPH C TRANSFORMATION. RESET TAG VALUE IF NECESSARY. C ---------------------------------------------- TAG = TAG + 1 IF ( TAG .LT. MAXINT ) GO TO 800 TAG = 1 DO 700 I = 1, NEQNS IF ( MARKER(I) .LT. MAXINT ) MARKER(I) = 0 700 CONTINUE 800 CONTINUE CALL MMDELM ( MDNODE, XADJ, ADJNCY, DHEAD, INVP, 1 PERM, QSIZE, LLIST, MARKER, MAXINT, 1 TAG ) NUM = NUM + QSIZE(MDNODE) LLIST(MDNODE) = EHEAD EHEAD = MDNODE IF ( DELTA .GE. 0 ) GO TO 500 900 CONTINUE C ------------------------------------------- C UPDATE DEGREES OF THE NODES INVOLVED IN THE C MINIMUM DEGREE NODES ELIMINATION. C ------------------------------------------- IF ( NUM .GT. NEQNS ) GO TO 1000 CALL MMDUPD ( EHEAD, NEQNS, XADJ, ADJNCY, DELTA, MDEG, 1 DHEAD, INVP, PERM, QSIZE, LLIST, MARKER, 1 MAXINT, TAG ) GO TO 300 C 1000 CONTINUE CALL MMDNUM ( NEQNS, PERM, INVP, QSIZE ) RETURN C END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C C GTIMER is commented out for compatibility in the windoze boxes C CC C REAL FUNCTION GTIMER () CC -------------------------- CC FOR IBM RS/6000 ... CC INTEGER MCLOCK CC GTIMER = MCLOCK()/100.0 CC -------------------------- CC FOR MOST BERKELEY UNIX ... C REAL ETIME C REAL VEC(2) C GTIMER = ETIME(VEC) CC -------------------------- CC FOR CRAY ... CC REAL SECOND CC GTIMER = SECOND() CC -------------------------- C RETURN C END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C****** IGATHR .... INTEGER GATHER OPERATION ************** C*********************************************************************** C*********************************************************************** C C PURPOSE - THIS ROUTINE PERFORMS A STANDARD INTEGER GATHER C OPERATION. C C INPUT PARAMETERS - C KLEN - LENGTH OF THE LIST OF GLOBAL INDICES. C LINDX - LIST OF GLOBAL INDICES. C INDMAP - INDEXED BY GLOBAL INDICES, IT CONTAINS THE C REQUIRED RELATIVE INDICES. C C OUTPUT PARAMETERS - C RELIND - LIST RELATIVE INDICES. C C*********************************************************************** C SUBROUTINE IGATHR ( KLEN , LINDX, INDMAP, RELIND ) C C*********************************************************************** C C ----------- C PARAMETERS. C ----------- INTEGER KLEN INTEGER INDMAP(*), LINDX (*), RELIND(*) C C ---------------- C LOCAL VARIABLES. C ---------------- INTEGER I C C*********************************************************************** C CDIR$ IVDEP DO 100 I = 1, KLEN RELIND(I) = INDMAP(LINDX(I)) 100 CONTINUE RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C C ------------------------------------------------------ C INPUT NUMERICAL VALUES INTO SPARSE DATA STRUCTURES ... C ------------------------------------------------------ C SUBROUTINE INPNV ( NEQNS, XADJF, ADJF, ANZF, PERM, INVP, & NSUPER, XSUPER, XLINDX, LINDX, & XLNZ, LNZ, OFFSET ) C INTEGER XADJF(*), ADJF(*) DOUBLE PRECISION ANZF(*) INTEGER PERM(*), INVP(*) INTEGER NEQNS, NSUPER INTEGER XSUPER(*), XLINDX(*), LINDX(*) INTEGER XLNZ(*) DOUBLE PRECISION LNZ(*) INTEGER OFFSET(*) C INTEGER I, II, J, JLEN, JSUPER, LAST, OLDJ C DO 500 JSUPER = 1, NSUPER C C ---------------------------------------- C FOR EACH SUPERNODE, DO THE FOLLOWING ... C ---------------------------------------- C C ----------------------------------------------- C FIRST GET OFFSET TO FACILITATE NUMERICAL INPUT. C ----------------------------------------------- JLEN = XLINDX(JSUPER+1) - XLINDX(JSUPER) DO 100 II = XLINDX(JSUPER), XLINDX(JSUPER+1)-1 I = LINDX(II) JLEN = JLEN - 1 OFFSET(I) = JLEN 100 CONTINUE C DO 400 J = XSUPER(JSUPER), XSUPER(JSUPER+1)-1 C ----------------------------------------- C FOR EACH COLUMN IN THE CURRENT SUPERNODE, C FIRST INITIALIZE THE DATA STRUCTURE. C ----------------------------------------- DO 200 II = XLNZ(J), XLNZ(J+1)-1 LNZ(II) = 0.0 200 CONTINUE C C ----------------------------------- C NEXT INPUT THE INDIVIDUAL NONZEROS. C ----------------------------------- OLDJ = PERM(J) LAST = XLNZ(J+1) - 1 DO 300 II = XADJF(OLDJ), XADJF(OLDJ+1)-1 I = INVP(ADJF(II)) IF ( I .GE. J ) THEN LNZ(LAST-OFFSET(I)) = ANZF(II) ENDIF 300 CONTINUE 400 CONTINUE C 500 CONTINUE RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Joseph W.H. Liu C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C*********** INVINV ..... CONCATENATION OF TWO INVP ************ C*********************************************************************** C*********************************************************************** C C WRITTEN BY JOSEPH LIU (JUL 17, 1985) C C PURPOSE: C TO PERFORM THE MAPPING OF C ORIGINAL-INVP --> INTERMEDIATE-INVP --> NEW INVP C AND THE RESULTING ORDERING REPLACES INVP. THE NEW PERMUTATION C VECTOR PERM IS ALSO COMPUTED. C C INPUT PARAMETERS: C NEQNS - NUMBER OF EQUATIONS. C INVP2 - THE SECOND INVERSE PERMUTATION VECTOR. C C UPDATED PARAMETERS: C INVP - THE FIRST INVERSE PERMUTATION VECTOR. ON C OUTPUT, IT CONTAINS THE NEW INVERSE C PERMUTATION. C C OUTPUT PARAMETER: C PERM - NEW PERMUTATION VECTOR (CAN BE THE SAME AS C INVP2). C C*********************************************************************** C SUBROUTINE INVINV ( NEQNS , INVP , INVP2 , PERM ) C C*********************************************************************** C INTEGER INVP(*) , INVP2(*) , & PERM(*) C INTEGER NEQNS C C*********************************************************************** C INTEGER I , INTERM, NODE C C*********************************************************************** C DO 100 I = 1, NEQNS INTERM = INVP(I) INVP(I) = INVP2(INTERM) 100 CONTINUE C DO 200 I = 1, NEQNS NODE = INVP(I) PERM(NODE) = I 200 CONTINUE C RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C****** LDINDX .... LOAD INDEX VECTOR ************** C*********************************************************************** C*********************************************************************** C C PURPOSE - THIS ROUTINE COMPUTES THE SECOND INDEX VECTOR C USED TO IMPLEMENT THE DOUBLY-INDIRECT SAXPY-LIKE C LOOPS THAT ALLOW US TO ACCUMULATE UPDATE C COLUMNS DIRECTLY INTO FACTOR STORAGE. C C INPUT PARAMETERS - C JLEN - LENGTH OF THE FIRST COLUMN OF THE SUPERNODE, C INCLUDING THE DIAGONAL ENTRY. C LINDX - THE OFF-DIAGONAL ROW INDICES OF THE SUPERNODE, C I.E., THE ROW INDICES OF THE NONZERO ENTRIES C LYING BELOW THE DIAGONAL ENTRY OF THE FIRST C COLUMN OF THE SUPERNODE. C C OUTPUT PARAMETERS - C INDMAP - THIS INDEX VECTOR MAPS EVERY GLOBAL ROW INDEX C OF NONZERO ENTRIES IN THE FIRST COLUMN OF THE C SUPERNODE TO ITS POSITION IN THE INDEX LIST C RELATIVE TO THE LAST INDEX IN THE LIST. MORE C PRECISELY, IT GIVES THE DISTANCE OF EACH INDEX C FROM THE LAST INDEX IN THE LIST. C C*********************************************************************** C SUBROUTINE LDINDX ( JLEN, LINDX, INDMAP ) C C*********************************************************************** C C ----------- C PARAMETERS. C ----------- INTEGER JLEN INTEGER LINDX(*), INDMAP(*) C C ---------------- C LOCAL VARIABLES. C ---------------- INTEGER CURLEN, J, JSUB C C*********************************************************************** C CURLEN = JLEN DO 200 J = 1, JLEN JSUB = LINDX(J) CURLEN = CURLEN - 1 INDMAP(JSUB) = CURLEN 200 CONTINUE RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C C ----------------------------------------- C GATHER STATISTICS ABOUT FACTORIZATION ... C ----------------------------------------- C SUBROUTINE LSTATS ( NSUPER, XSUPER, XLINDX, LINDX , XLNZ , & TMPSIZ, OUTUNT ) C INTEGER NSUPER, OUTUNT, TMPSIZ INTEGER XSUPER(*), XLINDX(*), LINDX(*), XLNZ(*) C INTEGER J , JLEN , JSIZE , JSUPER, MAXSUP, & N , NCOLS , NOFNZ , NOFSUB, SUPSZE DOUBLE PRECISION FCTOPS, SLVOPS C N = XSUPER(NSUPER+1) - 1 C C WRITE (OUTUNT,*) ' ' C ------------------------------------------------------- C DETERMINE THE NUMBER OF NONZEROS IN CHOLESKY FACTOR AND C THE NUMBER OF SUBSCRIPTS IN REPRESENTING THE SUPERNODAL C STRUCTURE. C ------------------------------------------------------- NOFNZ = XLNZ(N+1) - 1 NOFSUB = XLINDX(NSUPER+1) - 1 C WRITE (OUTUNT,1) C & ' NUMBER OF SUPERNODES = ', NSUPER C WRITE (OUTUNT,1) C & ' NUMBER OF NONZEROS IN L = ', NOFNZ C WRITE (OUTUNT,1) C & ' NUMBER OF SUBSCRIPTS IN L = ', NOFSUB C C ------------------------------------------------------- C DETERMINE THE LARGEST SUPERNODE IN THE CHOLESKY FACTOR. C ------------------------------------------------------- MAXSUP = 0 SUPSZE = 0 DO 100 JSUPER = 1, NSUPER C --------------------------------------------------- C NCOLS IS THE NUMBER OF COLUMNS IN SUPERNODE JSUPER. C --------------------------------------------------- NCOLS = XSUPER(JSUPER+1) - XSUPER(JSUPER) IF ( NCOLS .GT. MAXSUP ) MAXSUP = NCOLS C C ---------------------------------------------------- C JSIZE IS THE NUMBER OF NONZEROS IN SUPERNDOE JSUPER. C ---------------------------------------------------- JLEN = XLINDX(JSUPER+1) - XLINDX(JSUPER) JSIZE = ((2*JLEN - NCOLS + 1)*NCOLS)/2 IF ( JSIZE .GT. SUPSZE ) SUPSZE = JSIZE 100 CONTINUE C WRITE (OUTUNT,1) C & ' LARGEST SUPERNODE BY COLUMNS = ', MAXSUP C WRITE (OUTUNT,1) C & ' LARGEST SUPERNODE BY NONZEROS = ', SUPSZE C C WRITE (OUTUNT,1) C & ' SIZE OF TEMPORARY WORK STORAGE = ', TMPSIZ C C --------------------------- C DETERMINE OPERATION COUNTS. C --------------------------- SLVOPS = 0.0 FCTOPS = 0.0 DO 400 J = 1, N JLEN = XLNZ(J+1) - XLNZ(J) SLVOPS = SLVOPS + 2*JLEN - 1 FCTOPS = FCTOPS + JLEN**2 - 1 400 CONTINUE SLVOPS = 2*SLVOPS C WRITE (OUTUNT,2) C & ' FACTORIZATION OPERATION COUNT = ', FCTOPS C WRITE (OUTUNT,2) C & ' TRIANGULAR SOLN OPERATION COUNT = ', SLVOPS C C 1 FORMAT ( A40, I10 ) C 2 FORMAT ( A40, 1PD20.10 ) RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Joseph W.H. Liu C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C--- SPARSPAK-A (ANSI FORTRAN) RELEASE III --- NAME = MMDELM C (C) UNIVERSITY OF WATERLOO JANUARY 1984 C*********************************************************************** C*********************************************************************** C** MMDELM ..... MULTIPLE MINIMUM DEGREE ELIMINATION *********** C*********************************************************************** C*********************************************************************** C C PURPOSE - THIS ROUTINE ELIMINATES THE NODE MDNODE OF C MINIMUM DEGREE FROM THE ADJACENCY STRUCTURE, WHICH C IS STORED IN THE QUOTIENT GRAPH FORMAT. IT ALSO C TRANSFORMS THE QUOTIENT GRAPH REPRESENTATION OF THE C ELIMINATION GRAPH. C C INPUT PARAMETERS - C MDNODE - NODE OF MINIMUM DEGREE. C MAXINT - ESTIMATE OF MAXIMUM REPRESENTABLE (SHORT) C INTEGER. C TAG - TAG VALUE. C C UPDATED PARAMETERS - C (XADJ,ADJNCY) - UPDATED ADJACENCY STRUCTURE. C (DHEAD,DFORW,DBAKW) - DEGREE DOUBLY LINKED STRUCTURE. C QSIZE - SIZE OF SUPERNODE. C MARKER - MARKER VECTOR. C LLIST - TEMPORARY LINKED LIST OF ELIMINATED NABORS. C C*********************************************************************** C SUBROUTINE MMDELM ( MDNODE, XADJ, ADJNCY, DHEAD, DFORW, 1 DBAKW, QSIZE, LLIST, MARKER, MAXINT, 1 TAG ) C C*********************************************************************** C INTEGER ADJNCY(*), DBAKW(*) , DFORW(*) , DHEAD(*) , 1 LLIST(*) , MARKER(*), QSIZE(*) INTEGER XADJ(*) INTEGER ELMNT , I , ISTOP , ISTRT , J , 1 JSTOP , JSTRT , LINK , MAXINT, MDNODE, 1 NABOR , NODE , NPV , NQNBRS, NXNODE, 1 PVNODE, RLMT , RLOC , RNODE , TAG , 1 XQNBR C C*********************************************************************** C C ----------------------------------------------- C FIND REACHABLE SET AND PLACE IN DATA STRUCTURE. C ----------------------------------------------- MARKER(MDNODE) = TAG ISTRT = XADJ(MDNODE) ISTOP = XADJ(MDNODE+1) - 1 C ------------------------------------------------------- C ELMNT POINTS TO THE BEGINNING OF THE LIST OF ELIMINATED C NABORS OF MDNODE, AND RLOC GIVES THE STORAGE LOCATION C FOR THE NEXT REACHABLE NODE. C ------------------------------------------------------- ELMNT = 0 RLOC = ISTRT RLMT = ISTOP DO 200 I = ISTRT, ISTOP NABOR = ADJNCY(I) IF ( NABOR .EQ. 0 ) GO TO 300 IF ( MARKER(NABOR) .GE. TAG ) GO TO 200 MARKER(NABOR) = TAG IF ( DFORW(NABOR) .LT. 0 ) GO TO 100 ADJNCY(RLOC) = NABOR RLOC = RLOC + 1 GO TO 200 100 CONTINUE LLIST(NABOR) = ELMNT ELMNT = NABOR 200 CONTINUE 300 CONTINUE C ----------------------------------------------------- C MERGE WITH REACHABLE NODES FROM GENERALIZED ELEMENTS. C ----------------------------------------------------- IF ( ELMNT .LE. 0 ) GO TO 1000 ADJNCY(RLMT) = - ELMNT LINK = ELMNT 400 CONTINUE JSTRT = XADJ(LINK) JSTOP = XADJ(LINK+1) - 1 DO 800 J = JSTRT, JSTOP NODE = ADJNCY(J) LINK = - NODE IF ( NODE ) 400, 900, 500 500 CONTINUE IF ( MARKER(NODE) .GE. TAG .OR. 1 DFORW(NODE) .LT. 0 ) GO TO 800 MARKER(NODE) = TAG C --------------------------------- C USE STORAGE FROM ELIMINATED NODES C IF NECESSARY. C --------------------------------- 600 CONTINUE IF ( RLOC .LT. RLMT ) GO TO 700 LINK = - ADJNCY(RLMT) RLOC = XADJ(LINK) RLMT = XADJ(LINK+1) - 1 GO TO 600 700 CONTINUE ADJNCY(RLOC) = NODE RLOC = RLOC + 1 800 CONTINUE 900 CONTINUE ELMNT = LLIST(ELMNT) GO TO 300 1000 CONTINUE IF ( RLOC .LE. RLMT ) ADJNCY(RLOC) = 0 C -------------------------------------------------------- C FOR EACH NODE IN THE REACHABLE SET, DO THE FOLLOWING ... C -------------------------------------------------------- LINK = MDNODE 1100 CONTINUE ISTRT = XADJ(LINK) ISTOP = XADJ(LINK+1) - 1 DO 1700 I = ISTRT, ISTOP RNODE = ADJNCY(I) LINK = - RNODE IF ( RNODE ) 1100, 1800, 1200 1200 CONTINUE C -------------------------------------------- C IF RNODE IS IN THE DEGREE LIST STRUCTURE ... C -------------------------------------------- PVNODE = DBAKW(RNODE) IF ( PVNODE .EQ. 0 .OR. 1 PVNODE .EQ. (-MAXINT) ) GO TO 1300 C ------------------------------------- C THEN REMOVE RNODE FROM THE STRUCTURE. C ------------------------------------- NXNODE = DFORW(RNODE) IF ( NXNODE .GT. 0 ) DBAKW(NXNODE) = PVNODE IF ( PVNODE .GT. 0 ) DFORW(PVNODE) = NXNODE NPV = - PVNODE IF ( PVNODE .LT. 0 ) DHEAD(NPV) = NXNODE 1300 CONTINUE C ---------------------------------------- C PURGE INACTIVE QUOTIENT NABORS OF RNODE. C ---------------------------------------- JSTRT = XADJ(RNODE) JSTOP = XADJ(RNODE+1) - 1 XQNBR = JSTRT DO 1400 J = JSTRT, JSTOP NABOR = ADJNCY(J) IF ( NABOR .EQ. 0 ) GO TO 1500 IF ( MARKER(NABOR) .GE. TAG ) GO TO 1400 ADJNCY(XQNBR) = NABOR XQNBR = XQNBR + 1 1400 CONTINUE 1500 CONTINUE C ---------------------------------------- C IF NO ACTIVE NABOR AFTER THE PURGING ... C ---------------------------------------- NQNBRS = XQNBR - JSTRT IF ( NQNBRS .GT. 0 ) GO TO 1600 C ----------------------------- C THEN MERGE RNODE WITH MDNODE. C ----------------------------- QSIZE(MDNODE) = QSIZE(MDNODE) + QSIZE(RNODE) QSIZE(RNODE) = 0 MARKER(RNODE) = MAXINT DFORW(RNODE) = - MDNODE DBAKW(RNODE) = - MAXINT GO TO 1700 1600 CONTINUE C -------------------------------------- C ELSE FLAG RNODE FOR DEGREE UPDATE, AND C ADD MDNODE AS A NABOR OF RNODE. C -------------------------------------- DFORW(RNODE) = NQNBRS + 1 DBAKW(RNODE) = 0 ADJNCY(XQNBR) = MDNODE XQNBR = XQNBR + 1 IF ( XQNBR .LE. JSTOP ) ADJNCY(XQNBR) = 0 C 1700 CONTINUE 1800 CONTINUE RETURN C END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Joseph W.H. Liu C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C--- SPARSPAK-A (ANSI FORTRAN) RELEASE III --- NAME = MMDINT C (C) UNIVERSITY OF WATERLOO JANUARY 1984 C*********************************************************************** C*********************************************************************** C*** MMDINT ..... MULT MINIMUM DEGREE INITIALIZATION *********** C*********************************************************************** C*********************************************************************** C C PURPOSE - THIS ROUTINE PERFORMS INITIALIZATION FOR THE C MULTIPLE ELIMINATION VERSION OF THE MINIMUM DEGREE C ALGORITHM. C C INPUT PARAMETERS - C NEQNS - NUMBER OF EQUATIONS. C (XADJ,ADJNCY) - ADJACENCY STRUCTURE. C C OUTPUT PARAMETERS - C (DHEAD,DFORW,DBAKW) - DEGREE DOUBLY LINKED STRUCTURE. C QSIZE - SIZE OF SUPERNODE (INITIALIZED TO ONE). C LLIST - LINKED LIST. C MARKER - MARKER VECTOR. C C*********************************************************************** C SUBROUTINE MMDINT ( NEQNS, XADJ, ADJNCY, DHEAD, DFORW, 1 DBAKW, QSIZE, LLIST, MARKER ) C C*********************************************************************** C INTEGER ADJNCY(*), DBAKW(*) , DFORW(*) , DHEAD(*) , 1 LLIST(*) , MARKER(*), QSIZE(*) INTEGER XADJ(*) INTEGER FNODE , NDEG , NEQNS , NODE C C*********************************************************************** C DO 100 NODE = 1, NEQNS DHEAD(NODE) = 0 QSIZE(NODE) = 1 MARKER(NODE) = 0 LLIST(NODE) = 0 100 CONTINUE C ------------------------------------------ C INITIALIZE THE DEGREE DOUBLY LINKED LISTS. C ------------------------------------------ DO 200 NODE = 1, NEQNS NDEG = XADJ(NODE+1) - XADJ(NODE) + 1 FNODE = DHEAD(NDEG) DFORW(NODE) = FNODE DHEAD(NDEG) = NODE IF ( FNODE .GT. 0 ) DBAKW(FNODE) = NODE DBAKW(NODE) = - NDEG 200 CONTINUE RETURN C END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Joseph W.H. Liu C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C--- SPARSPAK-A (ANSI FORTRAN) RELEASE III --- NAME = MMDNUM C (C) UNIVERSITY OF WATERLOO JANUARY 1984 C*********************************************************************** C*********************************************************************** C***** MMDNUM ..... MULTI MINIMUM DEGREE NUMBERING ************* C*********************************************************************** C*********************************************************************** C C PURPOSE - THIS ROUTINE PERFORMS THE FINAL STEP IN C PRODUCING THE PERMUTATION AND INVERSE PERMUTATION C VECTORS IN THE MULTIPLE ELIMINATION VERSION OF THE C MINIMUM DEGREE ORDERING ALGORITHM. C C INPUT PARAMETERS - C NEQNS - NUMBER OF EQUATIONS. C QSIZE - SIZE OF SUPERNODES AT ELIMINATION. C C UPDATED PARAMETERS - C INVP - INVERSE PERMUTATION VECTOR. ON INPUT, C IF QSIZE(NODE)=0, THEN NODE HAS BEEN MERGED C INTO THE NODE -INVP(NODE); OTHERWISE, C -INVP(NODE) IS ITS INVERSE LABELLING. C C OUTPUT PARAMETERS - C PERM - THE PERMUTATION VECTOR. C C*********************************************************************** C SUBROUTINE MMDNUM ( NEQNS, PERM, INVP, QSIZE ) C C*********************************************************************** C INTEGER INVP(*) , PERM(*) , QSIZE(*) INTEGER FATHER, NEQNS , NEXTF , NODE , NQSIZE, 1 NUM , ROOT C C*********************************************************************** C DO 100 NODE = 1, NEQNS NQSIZE = QSIZE(NODE) IF ( NQSIZE .LE. 0 ) PERM(NODE) = INVP(NODE) IF ( NQSIZE .GT. 0 ) PERM(NODE) = - INVP(NODE) 100 CONTINUE C ------------------------------------------------------ C FOR EACH NODE WHICH HAS BEEN MERGED, DO THE FOLLOWING. C ------------------------------------------------------ DO 500 NODE = 1, NEQNS IF ( PERM(NODE) .GT. 0 ) GO TO 500 C ----------------------------------------- C TRACE THE MERGED TREE UNTIL ONE WHICH HAS C NOT BEEN MERGED, CALL IT ROOT. C ----------------------------------------- FATHER = NODE 200 CONTINUE IF ( PERM(FATHER) .GT. 0 ) GO TO 300 FATHER = - PERM(FATHER) GO TO 200 300 CONTINUE C ----------------------- C NUMBER NODE AFTER ROOT. C ----------------------- ROOT = FATHER NUM = PERM(ROOT) + 1 INVP(NODE) = - NUM PERM(ROOT) = NUM C ------------------------ C SHORTEN THE MERGED TREE. C ------------------------ FATHER = NODE 400 CONTINUE NEXTF = - PERM(FATHER) IF ( NEXTF .LE. 0 ) GO TO 500 PERM(FATHER) = - ROOT FATHER = NEXTF GO TO 400 500 CONTINUE C ---------------------- C READY TO COMPUTE PERM. C ---------------------- DO 600 NODE = 1, NEQNS NUM = - INVP(NODE) INVP(NODE) = NUM PERM(NUM) = NODE 600 CONTINUE RETURN C END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Joseph W.H. Liu C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C--- SPARSPAK-A (ANSI FORTRAN) RELEASE III --- NAME = MMDUPD C (C) UNIVERSITY OF WATERLOO JANUARY 1984 C*********************************************************************** C*********************************************************************** C***** MMDUPD ..... MULTIPLE MINIMUM DEGREE UPDATE ************* C*********************************************************************** C*********************************************************************** C C PURPOSE - THIS ROUTINE UPDATES THE DEGREES OF NODES C AFTER A MULTIPLE ELIMINATION STEP. C C INPUT PARAMETERS - C EHEAD - THE BEGINNING OF THE LIST OF ELIMINATED C NODES (I.E., NEWLY FORMED ELEMENTS). C NEQNS - NUMBER OF EQUATIONS. C (XADJ,ADJNCY) - ADJACENCY STRUCTURE. C DELTA - TOLERANCE VALUE FOR MULTIPLE ELIMINATION. C MAXINT - MAXIMUM MACHINE REPRESENTABLE (SHORT) C INTEGER. C C UPDATED PARAMETERS - C MDEG - NEW MINIMUM DEGREE AFTER DEGREE UPDATE. C (DHEAD,DFORW,DBAKW) - DEGREE DOUBLY LINKED STRUCTURE. C QSIZE - SIZE OF SUPERNODE. C LLIST - WORKING LINKED LIST. C MARKER - MARKER VECTOR FOR DEGREE UPDATE. C TAG - TAG VALUE. C C*********************************************************************** C SUBROUTINE MMDUPD ( EHEAD, NEQNS, XADJ, ADJNCY, DELTA, 1 MDEG, DHEAD, DFORW, DBAKW, QSIZE, 1 LLIST, MARKER, MAXINT, TAG ) C C*********************************************************************** C INTEGER ADJNCY(*), DBAKW(*) , DFORW(*) , DHEAD(*) , 1 LLIST(*) , MARKER(*), QSIZE(*) INTEGER XADJ(*) INTEGER DEG , DEG0 , DELTA , EHEAD , ELMNT , 1 ENODE , FNODE , I , IQ2 , ISTOP , 1 ISTRT , J , JSTOP , JSTRT , LINK , 1 MAXINT, MDEG , MDEG0 , MTAG , NABOR , 1 NEQNS , NODE , Q2HEAD, QXHEAD, TAG C C*********************************************************************** C MDEG0 = MDEG + DELTA ELMNT = EHEAD 100 CONTINUE C ------------------------------------------------------- C FOR EACH OF THE NEWLY FORMED ELEMENT, DO THE FOLLOWING. C (RESET TAG VALUE IF NECESSARY.) C ------------------------------------------------------- IF ( ELMNT .LE. 0 ) RETURN MTAG = TAG + MDEG0 IF ( MTAG .LT. MAXINT ) GO TO 300 TAG = 1 DO 200 I = 1, NEQNS IF ( MARKER(I) .LT. MAXINT ) MARKER(I) = 0 200 CONTINUE MTAG = TAG + MDEG0 300 CONTINUE C --------------------------------------------- C CREATE TWO LINKED LISTS FROM NODES ASSOCIATED C WITH ELMNT: ONE WITH TWO NABORS (Q2HEAD) IN C ADJACENCY STRUCTURE, AND THE OTHER WITH MORE C THAN TWO NABORS (QXHEAD). ALSO COMPUTE DEG0, C NUMBER OF NODES IN THIS ELEMENT. C --------------------------------------------- Q2HEAD = 0 QXHEAD = 0 DEG0 = 0 LINK = ELMNT 400 CONTINUE ISTRT = XADJ(LINK) ISTOP = XADJ(LINK+1) - 1 DO 700 I = ISTRT, ISTOP ENODE = ADJNCY(I) LINK = - ENODE IF ( ENODE ) 400, 800, 500 C 500 CONTINUE IF ( QSIZE(ENODE) .EQ. 0 ) GO TO 700 DEG0 = DEG0 + QSIZE(ENODE) MARKER(ENODE) = MTAG C ---------------------------------- C IF ENODE REQUIRES A DEGREE UPDATE, C THEN DO THE FOLLOWING. C ---------------------------------- IF ( DBAKW(ENODE) .NE. 0 ) GO TO 700 C --------------------------------------- C PLACE EITHER IN QXHEAD OR Q2HEAD LISTS. C --------------------------------------- IF ( DFORW(ENODE) .EQ. 2 ) GO TO 600 LLIST(ENODE) = QXHEAD QXHEAD = ENODE GO TO 700 600 CONTINUE LLIST(ENODE) = Q2HEAD Q2HEAD = ENODE 700 CONTINUE 800 CONTINUE C -------------------------------------------- C FOR EACH ENODE IN Q2 LIST, DO THE FOLLOWING. C -------------------------------------------- ENODE = Q2HEAD IQ2 = 1 900 CONTINUE IF ( ENODE .LE. 0 ) GO TO 1500 IF ( DBAKW(ENODE) .NE. 0 ) GO TO 2200 TAG = TAG + 1 DEG = DEG0 C ------------------------------------------ C IDENTIFY THE OTHER ADJACENT ELEMENT NABOR. C ------------------------------------------ ISTRT = XADJ(ENODE) NABOR = ADJNCY(ISTRT) IF ( NABOR .EQ. ELMNT ) NABOR = ADJNCY(ISTRT+1) C ------------------------------------------------ C IF NABOR IS UNELIMINATED, INCREASE DEGREE COUNT. C ------------------------------------------------ LINK = NABOR IF ( DFORW(NABOR) .LT. 0 ) GO TO 1000 DEG = DEG + QSIZE(NABOR) GO TO 2100 1000 CONTINUE C -------------------------------------------- C OTHERWISE, FOR EACH NODE IN THE 2ND ELEMENT, C DO THE FOLLOWING. C -------------------------------------------- ISTRT = XADJ(LINK) ISTOP = XADJ(LINK+1) - 1 DO 1400 I = ISTRT, ISTOP NODE = ADJNCY(I) LINK = - NODE IF ( NODE .EQ. ENODE ) GO TO 1400 IF ( NODE ) 1000, 2100, 1100 C 1100 CONTINUE IF ( QSIZE(NODE) .EQ. 0 ) GO TO 1400 IF ( MARKER(NODE) .GE. TAG ) GO TO 1200 C ------------------------------------- C CASE WHEN NODE IS NOT YET CONSIDERED. C ------------------------------------- MARKER(NODE) = TAG DEG = DEG + QSIZE(NODE) GO TO 1400 1200 CONTINUE C ---------------------------------------- C CASE WHEN NODE IS INDISTINGUISHABLE FROM C ENODE. MERGE THEM INTO A NEW SUPERNODE. C ---------------------------------------- IF ( DBAKW(NODE) .NE. 0 ) GO TO 1400 IF ( DFORW(NODE) .NE. 2 ) GO TO 1300 QSIZE(ENODE) = QSIZE(ENODE) + 1 QSIZE(NODE) QSIZE(NODE) = 0 MARKER(NODE) = MAXINT DFORW(NODE) = - ENODE DBAKW(NODE) = - MAXINT GO TO 1400 1300 CONTINUE C -------------------------------------- C CASE WHEN NODE IS OUTMATCHED BY ENODE. C -------------------------------------- IF ( DBAKW(NODE) .EQ.0 ) 1 DBAKW(NODE) = - MAXINT 1400 CONTINUE GO TO 2100 1500 CONTINUE C ------------------------------------------------ C FOR EACH ENODE IN THE QX LIST, DO THE FOLLOWING. C ------------------------------------------------ ENODE = QXHEAD IQ2 = 0 1600 CONTINUE IF ( ENODE .LE. 0 ) GO TO 2300 IF ( DBAKW(ENODE) .NE. 0 ) GO TO 2200 TAG = TAG + 1 DEG = DEG0 C --------------------------------- C FOR EACH UNMARKED NABOR OF ENODE, C DO THE FOLLOWING. C --------------------------------- ISTRT = XADJ(ENODE) ISTOP = XADJ(ENODE+1) - 1 DO 2000 I = ISTRT, ISTOP NABOR = ADJNCY(I) IF ( NABOR .EQ. 0 ) GO TO 2100 IF ( MARKER(NABOR) .GE. TAG ) GO TO 2000 MARKER(NABOR) = TAG LINK = NABOR C ------------------------------ C IF UNELIMINATED, INCLUDE IT IN C DEG COUNT. C ------------------------------ IF ( DFORW(NABOR) .LT. 0 ) GO TO 1700 DEG = DEG + QSIZE(NABOR) GO TO 2000 1700 CONTINUE C ------------------------------- C IF ELIMINATED, INCLUDE UNMARKED C NODES IN THIS ELEMENT INTO THE C DEGREE COUNT. C ------------------------------- JSTRT = XADJ(LINK) JSTOP = XADJ(LINK+1) - 1 DO 1900 J = JSTRT, JSTOP NODE = ADJNCY(J) LINK = - NODE IF ( NODE ) 1700, 2000, 1800 C 1800 CONTINUE IF ( MARKER(NODE) .GE. TAG ) 1 GO TO 1900 MARKER(NODE) = TAG DEG = DEG + QSIZE(NODE) 1900 CONTINUE 2000 CONTINUE 2100 CONTINUE C ------------------------------------------- C UPDATE EXTERNAL DEGREE OF ENODE IN DEGREE C STRUCTURE, AND MDEG (MIN DEG) IF NECESSARY. C ------------------------------------------- DEG = DEG - QSIZE(ENODE) + 1 FNODE = DHEAD(DEG) DFORW(ENODE) = FNODE DBAKW(ENODE) = - DEG IF ( FNODE .GT. 0 ) DBAKW(FNODE) = ENODE DHEAD(DEG) = ENODE IF ( DEG .LT. MDEG ) MDEG = DEG 2200 CONTINUE C ---------------------------------- C GET NEXT ENODE IN CURRENT ELEMENT. C ---------------------------------- ENODE = LLIST(ENODE) IF ( IQ2 .EQ. 1 ) GO TO 900 GO TO 1600 2300 CONTINUE C ----------------------------- C GET NEXT ELEMENT IN THE LIST. C ----------------------------- TAG = MTAG ELMNT = LLIST(ELMNT) GO TO 100 C END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C************** MMPY .... MATRIX-MATRIX MULTIPLY ************** C*********************************************************************** C*********************************************************************** C C PURPOSE - C THIS ROUTINE PERFORMS A MATRIX-MATRIX MULTIPLY, Y = Y + XA, C ASSUMING DATA STRUCTURES USED IN SOME OF OUR SPARSE CHOLESKY C CODES. C C INPUT PARAMETERS - C M - NUMBER OF ROWS IN X AND IN Y. C N - NUMBER OF COLUMNS IN X AND NUMBER OF ROWS C IN A. C Q - NUMBER OF COLUMNS IN A AND Y. C SPLIT(*) - BLOCK PARTITIONING OF X. C XPNT(*) - XPNT(J+1) POINTS ONE LOCATION BEYOND THE C END OF THE J-TH COLUMN OF X. XPNT IS ALSO C USED TO ACCESS THE ROWS OF A. C X(*) - CONTAINS THE COLUMNS OF X AND THE ROWS OF A. C LDY - LENGTH OF FIRST COLUMN OF Y. C MMPYN - EXTERNAL ROUTINE: MATRIX-MATRIX MULTIPLY, C WITH LEVEL N LOOP UNROLLING. C C UPDATED PARAMETERS - C Y(*) - ON OUTPUT, Y = Y + AX. C C*********************************************************************** C SUBROUTINE MMPY ( M , N , Q , SPLIT , XPNT , & X , Y , LDY , MMPYN ) C C*********************************************************************** C C ----------- C PARAMETERS. C ----------- C EXTERNAL MMPYN INTEGER LDY , M , N , Q INTEGER SPLIT(*) , XPNT(*) DOUBLE PRECISION X(*) , Y(*) C C ---------------- C LOCAL VARIABLES. C ---------------- C INTEGER BLK , FSTCOL, NN C C*********************************************************************** C BLK = 1 FSTCOL = 1 100 CONTINUE IF ( FSTCOL .LE. N ) THEN NN = SPLIT(BLK) CALL MMPYN ( M, NN, Q, XPNT(FSTCOL), X, Y, LDY ) FSTCOL = FSTCOL + NN BLK = BLK + 1 GO TO 100 ENDIF RETURN C END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C************* MMPY1 .... MATRIX-MATRIX MULTIPLY ************** C*********************************************************************** C*********************************************************************** C C PURPOSE - C THIS ROUTINE PERFORMS A MATRIX-MATRIX MULTIPLY, Y = Y + XA, C ASSUMING DATA STRUCTURES USED IN SOME OF OUR SPARSE CHOLESKY C CODES. C C LOOP UNROLLING: LEVEL 1 C C INPUT PARAMETERS - C M - NUMBER OF ROWS IN X AND IN Y. C N - NUMBER OF COLUMNS IN X AND NUMBER OF ROWS C IN A. C Q - NUMBER OF COLUMNS IN A AND Y. C XPNT(*) - XPNT(J+1) POINTS ONE LOCATION BEYOND THE C END OF THE J-TH COLUMN OF X. XPNT IS ALSO C USED TO ACCESS THE ROWS OF A. C X(*) - CONTAINS THE COLUMNS OF X AND THE ROWS OF A. C LDY - LENGTH OF FIRST COLUMN OF Y. C C UPDATED PARAMETERS - C Y(*) - ON OUTPUT, Y = Y + AX. C C*********************************************************************** C SUBROUTINE MMPY1 ( M , N , Q , XPNT , X , & Y , LDY ) C C*********************************************************************** C C ----------- C PARAMETERS. C ----------- C INTEGER LDY , M , N , Q INTEGER XPNT(*) DOUBLE PRECISION X(*) , Y(*) C C ---------------- C LOCAL VARIABLES. C ---------------- C INTEGER I1 INTEGER IY , IYLAST, IYSTRT, IYSTOP, LENY , & MM , XCOL , YCOL DOUBLE PRECISION A1 C C*********************************************************************** C MM = M IYLAST = 0 LENY = LDY C ------------------------------------ C TO COMPUTE EACH COLUMN YCOL OF Y ... C ------------------------------------ DO 300 YCOL = 1, Q IYSTRT = IYLAST + 1 IYSTOP = IYSTRT + MM - 1 IYLAST = IYLAST + LENY C -------------------------------------------------- C ... PERFORM THE APPROPRATE MATRIX VECTOR MULTIPLY: C X * A(*,YCOL). C -------------------------------------------------- DO 200 XCOL = 1, N I1 = XPNT(XCOL+1) - MM A1 = - X(I1) DO 100 IY = IYSTRT, IYSTOP Y(IY) = Y(IY) + A1 * X(I1) I1 = I1 + 1 100 CONTINUE 200 CONTINUE MM = MM - 1 LENY = LENY - 1 300 CONTINUE C RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: May 26, 1995 C Authors: Esmond G. Ng, Barry W. Peyton, and Guodong Zhang C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C************* MMPY2 .... MATRIX-MATRIX MULTIPLY ************** C*********************************************************************** C*********************************************************************** C C PURPOSE - C THIS ROUTINE PERFORMS A MATRIX-MATRIX MULTIPLY, Y = Y + XA, C ASSUMING DATA STRUCTURES USED IN SOME OF OUR SPARSE CHOLESKY C CODES. C C LOOP UNROLLING: LEVEL 2 UPDATING TWO COLUMNS AT A TIME C C INPUT PARAMETERS - C M - NUMBER OF ROWS IN X AND IN Y. C N - NUMBER OF COLUMNS IN X AND NUMBER OF ROWS C IN A. C Q - NUMBER OF COLUMNS IN A AND Y. C XPNT(*) - XPNT(J+1) POINTS ONE LOCATION BEYOND THE C END OF THE J-TH COLUMN OF X. XPNT IS ALSO C USED TO ACCESS THE ROWS OF A. C X(*) - CONTAINS THE COLUMNS OF X AND THE ROWS OF A. C LDY - LENGTH OF FIRST COLUMN OF Y. C C UPDATED PARAMETERS - C Y(*) - ON OUTPUT, Y = Y + AX. C C*********************************************************************** C SUBROUTINE MMPY2 ( M , N , Q , XPNT , X , & Y , LDY ) C C*********************************************************************** C C ----------- C PARAMETERS. C ----------- C INTEGER LDY , M , N , Q INTEGER XPNT(*) DOUBLE PRECISION X(*) , Y(*) C C ---------------- C LOCAL VARIABLES. C ---------------- C INTEGER I , J , K , QQ INTEGER I1 , I2 INTEGER IYBEG , IYBEG1, IYBEG2, LENY , MM DOUBLE PRECISION A1 , A2 , A9 , A10 DOUBLE PRECISION B1 , B2 , Y1 , Y2 C C*********************************************************************** C C ---------------------------------------------------- C COMPUTE EACH DIAGONAL ENTRY OF THE ODD COLUMNS OF Y. C ---------------------------------------------------- C MM = M QQ = MIN(M,Q) IYBEG = 1 LENY = LDY - 1 DO 200 J = 1, QQ-1 , 2 CDIR$ IVDEP DO 100 I = 1, N I1 = XPNT(I+1) - MM A1 = X(I1) Y(IYBEG) = Y(IYBEG) - A1*A1 100 CONTINUE IYBEG = IYBEG + 2*LENY + 1 LENY = LENY - 2 MM = MM - 2 200 CONTINUE C C ------------------------------------------------------- C UPDATE TWO COLUMNS OF Y AT A TIME, EXCEPT THE DIAGONAL C ELEMENT. C NOTE: THE DIAGONAL ELEMENT OF THE ODD COLUMN HAS C BEEN COMPUTED, SO WE COMPUTE THE SAME NUMBER OF C ELEMENTS FOR THE TWO COLUMNS. C ------------------------------------------------------- C MM = M IYBEG = 1 LENY = LDY - 1 C DO 600 J = 1, QQ-1, 2 C IYBEG1 = IYBEG IYBEG2 = IYBEG + LENY C DO 400 K = 1, N-1, 2 C C --------------------------------- C TWO COLUMNS UPDATING TWO COLUMNS. C --------------------------------- C I1 = XPNT(K+1) - MM I2 = XPNT(K+2) - MM A1 = X(I1) A2 = X(I2) A9 = X(I1+1) A10 = X(I2+1) C Y(IYBEG1+1) = Y(IYBEG1+1) - & A1*A9 - A2*A10 C Y(IYBEG2+1) = Y(IYBEG2+1) - & A9*A9 - A10*A10 C DO 300 I = 2, MM-1 Y1 = Y(IYBEG1+I) B1 = X(I1+I) Y1 = Y1 - B1 * A1 Y2 = Y(IYBEG2+I) B2 = X(I2+I) Y2 = Y2 - B1 * A9 Y1 = Y1 - B2 * A2 Y(IYBEG1+I) = Y1 Y2 = Y2 - B2 * A10 Y(IYBEG2+I) = Y2 300 CONTINUE C 400 CONTINUE C C ----------------------------- C BOUNDARY CODE FOR THE K LOOP. C ----------------------------- C IF ( K .EQ. N ) THEN C C -------------------------------- C ONE COLUMN UPDATING TWO COLUMNS. C -------------------------------- C I1 = XPNT(K+1) - MM A1 = X(I1) A9 = X(I1+1) C Y(IYBEG1+1) = Y(IYBEG1+1) - & A1*A9 C Y(IYBEG2+1) = Y(IYBEG2+1) - & A9*A9 C DO 500 I = 2, MM-1 Y1 = Y(IYBEG1+I) B1 = X(I1+I) Y1 = Y1 - B1 * A1 Y2 = Y(IYBEG2+I) Y(IYBEG1+I) = Y1 Y2 = Y2 - B1 * A9 Y(IYBEG2+I) = Y2 500 CONTINUE C ENDIF C C ----------------------------------------------- C PREPARE FOR NEXT PAIR OF COLUMNS TO BE UPDATED. C ----------------------------------------------- C MM = MM - 2 IYBEG = IYBEG2 + LENY + 1 LENY = LENY - 2 C 600 CONTINUE C C ------------------------------------------------------ C BOUNDARY CODE FOR J LOOP: EXECUTED WHENEVER Q IS ODD. C ------------------------------------------------------ C IF ( J .EQ. QQ ) THEN CALL SMXPY2 ( MM, N, Y(IYBEG), XPNT, X ) ENDIF C RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: May 26, 1995 C Authors: Esmond G. Ng, Barry W. Peyton, and Guodong Zhang C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C************* MMPY4 .... MATRIX-MATRIX MULTIPLY ************** C*********************************************************************** C*********************************************************************** C C PURPOSE - C THIS ROUTINE PERFORMS A MATRIX-MATRIX MULTIPLY, Y = Y + XA, C ASSUMING DATA STRUCTURES USED IN SOME OF OUR SPARSE CHOLESKY C CODES. C C LOOP UNROLLING: LEVEL 4 UPDATING TWO COLUMNS AT A TIME C C INPUT PARAMETERS - C M - NUMBER OF ROWS IN X AND IN Y. C N - NUMBER OF COLUMNS IN X AND NUMBER OF ROWS C IN A. C Q - NUMBER OF COLUMNS IN A AND Y. C XPNT(*) - XPNT(J+1) POINTS ONE LOCATION BEYOND THE C END OF THE J-TH COLUMN OF X. XPNT IS ALSO C USED TO ACCESS THE ROWS OF A. C X(*) - CONTAINS THE COLUMNS OF X AND THE ROWS OF A. C LDY - LENGTH OF FIRST COLUMN OF Y. C C UPDATED PARAMETERS - C Y(*) - ON OUTPUT, Y = Y + AX. C C*********************************************************************** C SUBROUTINE MMPY4 ( M , N , Q , XPNT , X , & Y , LDY ) C C*********************************************************************** C C ----------- C PARAMETERS. C ----------- C INTEGER LDY , M , N , Q INTEGER XPNT(*) DOUBLE PRECISION X(*) , Y(*) C C ---------------- C LOCAL VARIABLES. C ---------------- C INTEGER I , J , K , QQ INTEGER I1 , I2 , I3 , I4 INTEGER IYBEG , IYBEG1, IYBEG2, LENY , MM DOUBLE PRECISION A1 , A2 , A3 , A4 , A9 , & A10 , A11 , A12 DOUBLE PRECISION B1 , B2 , B3 , B4 , Y1 , & Y2 C C*********************************************************************** C C ---------------------------------------------------- C COMPUTE EACH DIAGONAL ENTRY OF THE ODD COLUMNS OF Y. C ---------------------------------------------------- C MM = M QQ = MIN(M,Q) IYBEG = 1 LENY = LDY - 1 DO 200 J = 1, QQ-1, 2 CDIR$ IVDEP DO 100 I = 1, N I1 = XPNT(I+1) - MM A1 = X(I1) Y(IYBEG) = Y(IYBEG) - A1*A1 100 CONTINUE IYBEG = IYBEG + 2*LENY + 1 LENY = LENY - 2 MM = MM - 2 200 CONTINUE C C ------------------------------------------------------- C UPDATE TWO COLUMNS OF Y AT A TIME, EXCEPT THE DIAGONAL C ELEMENT. C NOTE: THE DIAGONAL ELEMENT OF THE ODD COLUMN HAS C BEEN COMPUTED, SO WE COMPUTE THE SAME NUMBER OF C ELEMENTS FOR THE TWO COLUMNS. C ------------------------------------------------------- C MM = M IYBEG = 1 LENY = LDY - 1 C DO 2000 J = 1, QQ-1, 2 C IYBEG1 = IYBEG IYBEG2 = IYBEG + LENY C DO 400 K = 1, N-3, 4 C C ---------------------------------- C FOUR COLUMNS UPDATING TWO COLUMNS. C ---------------------------------- C I1 = XPNT(K+1) - MM I2 = XPNT(K+2) - MM I3 = XPNT(K+3) - MM I4 = XPNT(K+4) - MM A1 = X(I1) A2 = X(I2) A3 = X(I3) A4 = X(I4) A9 = X(I1+1) A10 = X(I2+1) A11 = X(I3+1) A12 = X(I4+1) C Y(IYBEG1+1) = Y(IYBEG1+1) - & A1*A9 - A2*A10 - A3*A11 - A4*A12 C Y(IYBEG2+1) = Y(IYBEG2+1) - & A9*A9 - A10*A10 - A11*A11 - A12*A12 C DO 300 I = 2, MM-1 Y1 = Y(IYBEG1+I) B1 = X(I1+I) Y1 = Y1 - B1 * A1 Y2 = Y(IYBEG2+I) B2 = X(I2+I) Y2 = Y2 - B1 * A9 Y1 = Y1 - B2 * A2 B3 = X(I3+I) Y2 = Y2 - B2 * A10 Y1 = Y1 - B3 * A3 B4 = X(I4+I) Y2 = Y2 - B3 * A11 Y1 = Y1 - B4 * A4 Y(IYBEG1+I) = Y1 Y2 = Y2 - B4 * A12 Y(IYBEG2+I) = Y2 300 CONTINUE C 400 CONTINUE C C ----------------------------- C BOUNDARY CODE FOR THE K LOOP. C ----------------------------- C GO TO ( 1100, 900, 700, 500 ), N-K+2 C 500 CONTINUE C C ----------------------------------- C THREE COLUMNS UPDATING TWO COLUMNS. C ----------------------------------- C I1 = XPNT(K+1) - MM I2 = XPNT(K+2) - MM I3 = XPNT(K+3) - MM A1 = X(I1) A2 = X(I2) A3 = X(I3) A9 = X(I1+1) A10 = X(I2+1) A11 = X(I3+1) C Y(IYBEG1+1) = Y(IYBEG1+1) - & A1*A9 - A2*A10 - A3*A11 C Y(IYBEG2+1) = Y(IYBEG2+1) - & A9*A9 - A10*A10 - A11*A11 C DO 600 I = 2, MM-1 Y1 = Y(IYBEG1+I) B1 = X(I1+I) Y1 = Y1 - B1 * A1 Y2 = Y(IYBEG2+I) B2 = X(I2+I) Y2 = Y2 - B1 * A9 Y1 = Y1 - B2 * A2 B3 = X(I3+I) Y2 = Y2 - B2 * A10 Y1 = Y1 - B3 * A3 Y(IYBEG1+I) = Y1 Y2 = Y2 - B3 * A11 Y(IYBEG2+I) = Y2 600 CONTINUE C GO TO 1100 C 700 CONTINUE C C --------------------------------- C TWO COLUMNS UPDATING TWO COLUMNS. C --------------------------------- C I1 = XPNT(K+1) - MM I2 = XPNT(K+2) - MM A1 = X(I1) A2 = X(I2) A9 = X(I1+1) A10 = X(I2+1) Y(IYBEG1+1) = Y(IYBEG1+1) - & A1*A9 - A2*A10 Y(IYBEG2+1) = Y(IYBEG2+1) - & A9*A9 - A10*A10 DO 800 I = 2, MM-1 Y1 = Y(IYBEG1+I) B1 = X(I1+I) Y1 = Y1 - B1 * A1 Y2 = Y(IYBEG2+I) B2 = X(I2+I) Y2 = Y2 - B1 * A9 Y1 = Y1 - B2 * A2 Y(IYBEG1+I) = Y1 Y2 = Y2 - B2 * A10 Y(IYBEG2+I) = Y2 800 CONTINUE C GO TO 1100 C 900 CONTINUE C C -------------------------------- C ONE COLUMN UPDATING TWO COLUMNS. C -------------------------------- C I1 = XPNT(K+1) - MM A1 = X(I1) A9 = X(I1+1) C Y(IYBEG1+1) = Y(IYBEG1+1) - & A1*A9 C Y(IYBEG2+1) = Y(IYBEG2+1) - & A9*A9 C DO 1000 I = 2, MM-1 Y1 = Y(IYBEG1+I) B1 = X(I1+I) Y1 = Y1 - B1 * A1 Y2 = Y(IYBEG2+I) Y(IYBEG1+I) = Y1 Y2 = Y2 - B1 * A9 Y(IYBEG2+I) = Y2 1000 CONTINUE C GO TO 1100 C C ----------------------------------------------- C PREPARE FOR NEXT PAIR OF COLUMNS TO BE UPDATED. C ----------------------------------------------- C 1100 CONTINUE MM = MM - 2 IYBEG = IYBEG2 + LENY + 1 LENY = LENY - 2 C 2000 CONTINUE C C ------------------------------------------------------ C BOUNDARY CODE FOR J LOOP: EXECUTED WHENEVER Q IS ODD. C ------------------------------------------------------ C IF ( J .EQ. QQ ) THEN CALL SMXPY4 ( MM, N, Y(IYBEG), XPNT, X ) ENDIF C RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: May 26, 1995 C Authors: Esmond G. Ng, Barry W. Peyton, and Guodong Zhang C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C************* MMPY8 .... MATRIX-MATRIX MULTIPLY ************** C*********************************************************************** C*********************************************************************** C C PURPOSE - C THIS ROUTINE PERFORMS A MATRIX-MATRIX MULTIPLY, Y = Y + XA, C ASSUMING DATA STRUCTURES USED IN SOME OF OUR SPARSE CHOLESKY C CODES. C C LOOP UNROLLING: LEVEL 8 UPDATING TWO COLUMNS AT A TIME C C INPUT PARAMETERS - C M - NUMBER OF ROWS IN X AND IN Y. C N - NUMBER OF COLUMNS IN X AND NUMBER OF ROWS C IN A. C Q - NUMBER OF COLUMNS IN A AND Y. C XPNT(*) - XPNT(J+1) POINTS ONE LOCATION BEYOND THE C END OF THE J-TH COLUMN OF X. XPNT IS ALSO C USED TO ACCESS THE ROWS OF A. C X(*) - CONTAINS THE COLUMNS OF X AND THE ROWS OF A. C LDY - LENGTH OF FIRST COLUMN OF Y. C C UPDATED PARAMETERS - C Y(*) - ON OUTPUT, Y = Y + AX. C C*********************************************************************** C SUBROUTINE MMPY8 ( M , N , Q , XPNT , X , & Y , LDY ) C C*********************************************************************** C C ----------- C PARAMETERS. C ----------- C INTEGER LDY , M , N , Q INTEGER XPNT(*) DOUBLE PRECISION X(*) , Y(*) C C ---------------- C LOCAL VARIABLES. C ---------------- C INTEGER I , J , K , QQ INTEGER I1 , I2 , I3 , I4 , I5 , & I6 , I7 , I8 INTEGER IYBEG , IYBEG1, IYBEG2, LENY , MM DOUBLE PRECISION A1 , A2 , A3 , A4 , A5 , & A6 , A7 , A8 , A9 , A10 , & A11 , A12 , A13 , A14 , A15 , & A16 DOUBLE PRECISION B1 , B2 , B3 , B4 , B5 , & B6 , B7 , B8 , Y1 , Y2 C C*********************************************************************** C C ---------------------------------------------------- C COMPUTE EACH DIAGONAL ENTRY OF THE ODD COLUMNS OF Y. C ---------------------------------------------------- C MM = M QQ = MIN(M,Q) IYBEG = 1 LENY = LDY - 1 DO 200 J = 1, QQ-1 , 2 CDIR$ IVDEP DO 100 I = 1, N I1 = XPNT(I+1) - MM A1 = X(I1) Y(IYBEG) = Y(IYBEG) - A1*A1 100 CONTINUE IYBEG = IYBEG + 2*LENY + 1 LENY = LENY - 2 MM = MM - 2 200 CONTINUE C C ------------------------------------------------------- C UPDATE TWO COLUMNS OF Y AT A TIME, EXCEPT THE DIAGONAL C ELEMENT. C NOTE: THE DIAGONAL ELEMENT OF THE ODD COLUMN HAS C BEEN COMPUTED, SO WE COMPUTE THE SAME NUMBER OF C ELEMENTS FOR THE TWO COLUMNS. C ------------------------------------------------------- C MM = M IYBEG = 1 LENY = LDY - 1 C DO 3000 J = 1, QQ-1, 2 C IYBEG1 = IYBEG IYBEG2 = IYBEG + LENY C DO 400 K = 1, N-7, 8 C C ----------------------------------- C EIGHT COLUMNS UPDATING TWO COLUMNS. C ----------------------------------- C I1 = XPNT(K+1) - MM I2 = XPNT(K+2) - MM I3 = XPNT(K+3) - MM I4 = XPNT(K+4) - MM I5 = XPNT(K+5) - MM I6 = XPNT(K+6) - MM I7 = XPNT(K+7) - MM I8 = XPNT(K+8) - MM A1 = X(I1) A2 = X(I2) A3 = X(I3) A4 = X(I4) A5 = X(I5) A6 = X(I6) A7 = X(I7) A8 = X(I8) A9 = X(I1+1) A10 = X(I2+1) A11 = X(I3+1) A12 = X(I4+1) A13 = X(I5+1) A14 = X(I6+1) A15 = X(I7+1) A16 = X(I8+1) C Y(IYBEG1+1) = Y(IYBEG1+1) - & A1*A9 - A2*A10 - A3*A11 - A4*A12 - A5*A13 - & A6*A14 - A7*A15 - A8*A16 C Y(IYBEG2+1) = Y(IYBEG2+1) - & A9*A9 - A10*A10 - A11*A11 - A12*A12 - A13*A13 - & A14*A14 - A15*A15 - A16*A16 C DO 300 I = 2, MM-1 Y1 = Y(IYBEG1+I) B1 = X(I1+I) Y1 = Y1 - B1 * A1 Y2 = Y(IYBEG2+I) B2 = X(I2+I) Y2 = Y2 - B1 * A9 Y1 = Y1 - B2 * A2 B3 = X(I3+I) Y2 = Y2 - B2 * A10 Y1 = Y1 - B3 * A3 B4 = X(I4+I) Y2 = Y2 - B3 * A11 Y1 = Y1 - B4 * A4 B5 = X(I5+I) Y2 = Y2 - B4 * A12 Y1 = Y1 - B5 * A5 B6 = X(I6+I) Y2 = Y2 - B5 * A13 Y1 = Y1 - B6 * A6 B7 = X(I7+I) Y2 = Y2 - B6 * A14 Y1 = Y1 - B7 * A7 B8 = X(I8+I) Y2 = Y2 - B7 * A15 Y1 = Y1 - B8 * A8 Y(IYBEG1+I) = Y1 Y2 = Y2 - B8 * A16 Y(IYBEG2+I) = Y2 300 CONTINUE C 400 CONTINUE C C ----------------------------- C BOUNDARY CODE FOR THE K LOOP. C ----------------------------- C GO TO ( 2000, 1700, 1500, 1300, & 1100, 900, 700, 500 ), N-K+2 C 500 CONTINUE C C ----------------------------------- C SEVEN COLUMNS UPDATING TWO COLUMNS. C ----------------------------------- C I1 = XPNT(K+1) - MM I2 = XPNT(K+2) - MM I3 = XPNT(K+3) - MM I4 = XPNT(K+4) - MM I5 = XPNT(K+5) - MM I6 = XPNT(K+6) - MM I7 = XPNT(K+7) - MM A1 = X(I1) A2 = X(I2) A3 = X(I3) A4 = X(I4) A5 = X(I5) A6 = X(I6) A7 = X(I7) A9 = X(I1+1) A10 = X(I2+1) A11 = X(I3+1) A12 = X(I4+1) A13 = X(I5+1) A14 = X(I6+1) A15 = X(I7+1) C Y(IYBEG1+1) = Y(IYBEG1+1) - & A1*A9 - A2*A10 - A3*A11 - A4*A12 - A5*A13 - & A6*A14 - A7*A15 C Y(IYBEG2+1) = Y(IYBEG2+1) - & A9*A9 - A10*A10 - A11*A11 - A12*A12 - A13*A13 - & A14*A14 - A15*A15 C DO 600 I = 2, MM-1 Y1 = Y(IYBEG1+I) B1 = X(I1+I) Y1 = Y1 - B1 * A1 Y2 = Y(IYBEG2+I) B2 = X(I2+I) Y2 = Y2 - B1 * A9 Y1 = Y1 - B2 * A2 B3 = X(I3+I) Y2 = Y2 - B2 * A10 Y1 = Y1 - B3 * A3 B4 = X(I4+I) Y2 = Y2 - B3 * A11 Y1 = Y1 - B4 * A4 B5 = X(I5+I) Y2 = Y2 - B4 * A12 Y1 = Y1 - B5 * A5 B6 = X(I6+I) Y2 = Y2 - B5 * A13 Y1 = Y1 - B6 * A6 B7 = X(I7+I) Y2 = Y2 - B6 * A14 Y1 = Y1 - B7 * A7 Y(IYBEG1+I) = Y1 Y2 = Y2 - B7 * A15 Y(IYBEG2+I) = Y2 600 CONTINUE C GO TO 2000 C 700 CONTINUE C C --------------------------------- C SIX COLUMNS UPDATING TWO COLUMNS. C --------------------------------- C I1 = XPNT(K+1) - MM I2 = XPNT(K+2) - MM I3 = XPNT(K+3) - MM I4 = XPNT(K+4) - MM I5 = XPNT(K+5) - MM I6 = XPNT(K+6) - MM A1 = X(I1) A2 = X(I2) A3 = X(I3) A4 = X(I4) A5 = X(I5) A6 = X(I6) A9 = X(I1+1) A10 = X(I2+1) A11 = X(I3+1) A12 = X(I4+1) A13 = X(I5+1) A14 = X(I6+1) C Y(IYBEG1+1) = Y(IYBEG1+1) - & A1*A9 - A2*A10 - A3*A11 - A4*A12 - A5*A13 - & A6*A14 C Y(IYBEG2+1) = Y(IYBEG2+1) - & A9*A9 - A10*A10 - A11*A11 - A12*A12 - A13*A13 - & A14*A14 C DO 800 I = 2, MM-1 Y1 = Y(IYBEG1+I) B1 = X(I1+I) Y1 = Y1 - B1 * A1 Y2 = Y(IYBEG2+I) B2 = X(I2+I) Y2 = Y2 - B1 * A9 Y1 = Y1 - B2 * A2 B3 = X(I3+I) Y2 = Y2 - B2 * A10 Y1 = Y1 - B3 * A3 B4 = X(I4+I) Y2 = Y2 - B3 * A11 Y1 = Y1 - B4 * A4 B5 = X(I5+I) Y2 = Y2 - B4 * A12 Y1 = Y1 - B5 * A5 B6 = X(I6+I) Y2 = Y2 - B5 * A13 Y1 = Y1 - B6 * A6 Y(IYBEG1+I) = Y1 Y2 = Y2 - B6 * A14 Y(IYBEG2+I) = Y2 800 CONTINUE C GO TO 2000 C 900 CONTINUE C C ---------------------------------- C FIVE COLUMNS UPDATING TWO COLUMNS. C ---------------------------------- C I1 = XPNT(K+1) - MM I2 = XPNT(K+2) - MM I3 = XPNT(K+3) - MM I4 = XPNT(K+4) - MM I5 = XPNT(K+5) - MM A1 = X(I1) A2 = X(I2) A3 = X(I3) A4 = X(I4) A5 = X(I5) A9 = X(I1+1) A10 = X(I2+1) A11 = X(I3+1) A12 = X(I4+1) A13 = X(I5+1) C Y(IYBEG1+1) = Y(IYBEG1+1) - & A1*A9 - A2*A10 - A3*A11 - A4*A12 - A5*A13 C Y(IYBEG2+1) = Y(IYBEG2+1) - & A9*A9 - A10*A10 - A11*A11 - A12*A12 - A13*A13 C DO 1000 I = 2, MM-1 Y1 = Y(IYBEG1+I) B1 = X(I1+I) Y1 = Y1 - B1 * A1 Y2 = Y(IYBEG2+I) B2 = X(I2+I) Y2 = Y2 - B1 * A9 Y1 = Y1 - B2 * A2 B3 = X(I3+I) Y2 = Y2 - B2 * A10 Y1 = Y1 - B3 * A3 B4 = X(I4+I) Y2 = Y2 - B3 * A11 Y1 = Y1 - B4 * A4 B5 = X(I5+I) Y2 = Y2 - B4 * A12 Y1 = Y1 - B5 * A5 Y(IYBEG1+I) = Y1 Y2 = Y2 - B5 * A13 Y(IYBEG2+I) = Y2 1000 CONTINUE C GO TO 2000 C 1100 CONTINUE C C ---------------------------------- C FOUR COLUMNS UPDATING TWO COLUMNS. C ---------------------------------- C I1 = XPNT(K+1) - MM I2 = XPNT(K+2) - MM I3 = XPNT(K+3) - MM I4 = XPNT(K+4) - MM A1 = X(I1) A2 = X(I2) A3 = X(I3) A4 = X(I4) A9 = X(I1+1) A10 = X(I2+1) A11 = X(I3+1) A12 = X(I4+1) C Y(IYBEG1+1) = Y(IYBEG1+1) - & A1*A9 - A2*A10 - A3*A11 - A4*A12 C Y(IYBEG2+1) = Y(IYBEG2+1) - & A9*A9 - A10*A10 - A11*A11 - A12*A12 C DO 1200 I = 2, MM-1 Y1 = Y(IYBEG1+I) B1 = X(I1+I) Y1 = Y1 - B1 * A1 Y2 = Y(IYBEG2+I) B2 = X(I2+I) Y2 = Y2 - B1 * A9 Y1 = Y1 - B2 * A2 B3 = X(I3+I) Y2 = Y2 - B2 * A10 Y1 = Y1 - B3 * A3 B4 = X(I4+I) Y2 = Y2 - B3 * A11 Y1 = Y1 - B4 * A4 Y(IYBEG1+I) = Y1 Y2 = Y2 - B4 * A12 Y(IYBEG2+I) = Y2 1200 CONTINUE C GO TO 2000 C 1300 CONTINUE C C ----------------------------------- C THREE COLUMNS UPDATING TWO COLUMNS. C ----------------------------------- C I1 = XPNT(K+1) - MM I2 = XPNT(K+2) - MM I3 = XPNT(K+3) - MM A1 = X(I1) A2 = X(I2) A3 = X(I3) A9 = X(I1+1) A10 = X(I2+1) A11 = X(I3+1) C Y(IYBEG1+1) = Y(IYBEG1+1) - & A1*A9 - A2*A10 - A3*A11 C Y(IYBEG2+1) = Y(IYBEG2+1) - & A9*A9 - A10*A10 - A11*A11 C DO 1400 I = 2, MM-1 Y1 = Y(IYBEG1+I) B1 = X(I1+I) Y1 = Y1 - B1 * A1 Y2 = Y(IYBEG2+I) B2 = X(I2+I) Y2 = Y2 - B1 * A9 Y1 = Y1 - B2 * A2 B3 = X(I3+I) Y2 = Y2 - B2 * A10 Y1 = Y1 - B3 * A3 Y(IYBEG1+I) = Y1 Y2 = Y2 - B3 * A11 Y(IYBEG2+I) = Y2 1400 CONTINUE C GO TO 2000 C 1500 CONTINUE C C --------------------------------- C TWO COLUMNS UPDATING TWO COLUMNS. C --------------------------------- C I1 = XPNT(K+1) - MM I2 = XPNT(K+2) - MM A1 = X(I1) A2 = X(I2) A9 = X(I1+1) A10 = X(I2+1) C Y(IYBEG1+1) = Y(IYBEG1+1) - & A1*A9 - A2*A10 C Y(IYBEG2+1) = Y(IYBEG2+1) - & A9*A9 - A10*A10 C DO 1600 I = 2, MM-1 Y1 = Y(IYBEG1+I) B1 = X(I1+I) Y1 = Y1 - B1 * A1 Y2 = Y(IYBEG2+I) B2 = X(I2+I) Y2 = Y2 - B1 * A9 Y1 = Y1 - B2 * A2 Y(IYBEG1+I) = Y1 Y2 = Y2 - B2 * A10 Y(IYBEG2+I) = Y2 1600 CONTINUE C GO TO 2000 C 1700 CONTINUE C C -------------------------------- C ONE COLUMN UPDATING TWO COLUMNS. C -------------------------------- C I1 = XPNT(K+1) - MM A1 = X(I1) A9 = X(I1+1) C Y(IYBEG1+1) = Y(IYBEG1+1) - & A1*A9 C Y(IYBEG2+1) = Y(IYBEG2+1) - & A9*A9 C DO 1800 I = 2, MM-1 Y1 = Y(IYBEG1+I) B1 = X(I1+I) Y1 = Y1 - B1 * A1 Y2 = Y(IYBEG2+I) Y(IYBEG1+I) = Y1 Y2 = Y2 - B1 * A9 Y(IYBEG2+I) = Y2 1800 CONTINUE C GO TO 2000 C C ----------------------------------------------- C PREPARE FOR NEXT PAIR OF COLUMNS TO BE UPDATED. C ----------------------------------------------- C 2000 CONTINUE MM = MM - 2 IYBEG = IYBEG2 + LENY + 1 LENY = LENY - 2 C 3000 CONTINUE C C ----------------------------------------------------- C BOUNDARY CODE FOR J LOOP: EXECUTED WHENVER Q IS ODD. C ----------------------------------------------------- C IF ( J .EQ. QQ ) THEN CALL SMXPY8 ( MM, N, Y(IYBEG), XPNT, X ) ENDIF C RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C************* MMPYI .... MATRIX-MATRIX MULTIPLY ************** C*********************************************************************** C*********************************************************************** C C PURPOSE - C THIS ROUTINE PERFORMS A MATRIX-MATRIX MULTIPLY, Y = Y + XA, C ASSUMING DATA STRUCTURES USED IN SOME OF OUR SPARSE CHOLESKY C CODES. C C MATRIX X HAS ONLY 1 COLUMN. C C INPUT PARAMETERS - C M - NUMBER OF ROWS IN X AND IN Y. C Q - NUMBER OF COLUMNS IN A AND Y. C XPNT(*) - XPNT(J+1) POINTS ONE LOCATION BEYOND THE C END OF THE J-TH COLUMN OF X. XPNT IS ALSO C USED TO ACCESS THE ROWS OF A. C X(*) - CONTAINS THE COLUMNS OF X AND THE ROWS OF A. C IY(*) - IY(COL) POINTS TO THE BEGINNING OF COLUMN C RELIND(*) - RELATIVE INDICES. C C UPDATED PARAMETERS - C Y(*) - ON OUTPUT, Y = Y + AX. C C*********************************************************************** C SUBROUTINE MMPYI ( M , Q , XPNT , X , IY , & Y , RELIND ) C C*********************************************************************** C C ----------- C PARAMETERS. C ----------- C INTEGER M , Q INTEGER IY(*) , RELIND(*) , & XPNT(*) DOUBLE PRECISION X(*) , Y(*) C C ---------------- C LOCAL VARIABLES. C ---------------- C INTEGER COL , I , ISUB , K , YLAST DOUBLE PRECISION A C C*********************************************************************** C DO 200 K = 1, Q COL = XPNT(K) YLAST = IY(COL+1) - 1 A = - X(K) CDIR$ IVDEP DO 100 I = K, M ISUB = XPNT(I) ISUB = YLAST - RELIND(ISUB) Y(ISUB) = Y(ISUB) + A*X(I) 100 CONTINUE 200 CONTINUE RETURN C END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C**** ORDMMD ..... MULTIPLE MINIMUM EXTERNAL DEGREE ************ C*********************************************************************** C*********************************************************************** C C PURPOSE - THIS ROUTINE CALLS LIU'S MULTIPLE MINIMUM DEGREE C ROUTINE. C C INPUT PARAMETERS - C NEQNS - NUMBER OF EQUATIONS. C (XADJ,ADJNCY) - THE ADJACENCY STRUCTURE. C IWSIZ - SIZE OF INTEGER WORKING STORAGE. C C OUTPUT PARAMETERS - C PERM - THE MINIMUM DEGREE ORDERING. C INVP - THE INVERSE OF PERM. C NOFSUB - AN UPPER BOUND ON THE NUMBER OF NONZERO C SUBSCRIPTS FOR THE COMPRESSED STORAGE SCHEME. C IFLAG - ERROR FLAG. C 0: SUCCESSFUL ORDERING C -1: INSUFFICIENT WORKING STORAGE C [IWORK(*)]. C C WORKING PARAMETERS - C IWORK - INTEGER WORKSPACE OF LENGTH 4*NEQNS. C C*********************************************************************** C SUBROUTINE ORDMMD ( NEQNS , XADJ , ADJNCY, INVP , PERM , 1 IWSIZ , IWORK , NOFSUB, IFLAG ) C C*********************************************************************** C INTEGER ADJNCY(*), INVP(*) , IWORK(*) , PERM(*) INTEGER XADJ(*) INTEGER DELTA , IFLAG , IWSIZ , MAXINT, NEQNS , & NOFSUB C C********************************************************************* C IFLAG = 0 IF ( IWSIZ .LT. 4*NEQNS ) THEN IFLAG = -1 RETURN ENDIF C C DELTA - TOLERANCE VALUE FOR MULTIPLE ELIMINATION. C MAXINT - MAXIMUM MACHINE REPRESENTABLE (SHORT) INTEGER C (ANY SMALLER ESTIMATE WILL DO) FOR MARKING C NODES. C DELTA = 0 MAXINT = 32767 CALL GENMMD ( NEQNS , XADJ , ADJNCY, INVP , PERM , 1 DELTA , 1 IWORK(1) , 1 IWORK(NEQNS+1) , 1 IWORK(2*NEQNS+1) , 1 IWORK(3*NEQNS+1) , 1 MAXINT, NOFSUB ) RETURN C END C*********************************************************************** C*********************************************************************** C C Version: 0.3 C Last modified: December 27, 1994 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratoy C C*********************************************************************** C*********************************************************************** C****** PCHOL .... DENSE PARTIAL CHOLESKY ************** C*********************************************************************** C*********************************************************************** C C PURPOSE - THIS ROUTINE PERFORMS CHOLESKY C FACTORIZATION ON THE COLUMNS OF A SUPERNODE C THAT HAVE RECEIVED ALL UPDATES FROM COLUMNS C EXTERNAL TO THE SUPERNODE. C C INPUT PARAMETERS - C M - NUMBER OF ROWS (LENGTH OF THE FIRST COLUMN). C N - NUMBER OF COLUMNS IN THE SUPERNODE. C XPNT - XPNT(J+1) POINTS ONE LOCATION BEYOND THE END C OF THE J-TH COLUMN OF THE SUPERNODE. C X(*) - CONTAINS THE COLUMNS OF OF THE SUPERNODE TO C BE FACTORED. C SMXPY - EXTERNAL ROUTINE: MATRIX-VECTOR MULTIPLY. C C OUTPUT PARAMETERS - C X(*) - ON OUTPUT, CONTAINS THE FACTORED COLUMNS OF C THE SUPERNODE. C IFLAG - UNCHANGED IF THERE IS NO ERROR. C =1 IF NONPOSITIVE DIAGONAL ENTRY IS ENCOUNTERED. C C*********************************************************************** C CxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPC SUBROUTINE PCHOL ( M, N, XPNT, X, MXDIAG, NTINY, IFLAG, SMXPY ) C C*********************************************************************** C C ----------- C PARAMETERS. C ----------- C EXTERNAL SMXPY C INTEGER M, N, IFLAG C INTEGER XPNT(*) C CxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPC DOUBLE PRECISION X(*), MXDIAG INTEGER NTINY C C ---------------- C LOCAL VARIABLES. C ---------------- C INTEGER JPNT , JCOL , MM C DOUBLE PRECISION DIAG C C*********************************************************************** C C ------------------------------------------ C FOR EVERY COLUMN JCOL IN THE SUPERNODE ... C ------------------------------------------ MM = M JPNT = XPNT(1) DO 100 JCOL = 1, N C C ---------------------------------- C UPDATE JCOL WITH PREVIOUS COLUMNS. C ---------------------------------- IF ( JCOL .GT. 1 ) THEN CALL SMXPY ( MM, JCOL-1, X(JPNT), XPNT, X ) ENDIF C C --------------------------- C COMPUTE THE DIAGONAL ENTRY. C --------------------------- DIAG = X(JPNT) CxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPC IF (DIAG .LE. 1.0D-30*MXDIAG) THEN DIAG = 1.0D+128 NTINY = NTINY+1 ENDIF CxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPCxPC DIAG = SQRT ( DIAG ) X(JPNT) = DIAG DIAG = 1.0D+00 / DIAG C C ---------------------------------------------------- C SCALE COLUMN JCOL WITH RECIPROCAL OF DIAGONAL ENTRY. C ---------------------------------------------------- MM = MM - 1 JPNT = JPNT + 1 CALL DSCAL1 ( MM, DIAG, X(JPNT) ) JPNT = JPNT + MM C 100 CONTINUE C RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: January 12, 1995 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C************** SFINIT ..... SET UP FOR SYMB. FACT. ************ C*********************************************************************** C*********************************************************************** C C PURPOSE: C THIS SUBROUTINE COMPUTES THE STORAGE REQUIREMENTS AND SETS UP C PRELIMINARY DATA STRUCTURES FOR THE SYMBOLIC FACTORIZATION. C C NOTE: C THIS VERSION PRODUCES THE MAXIMAL SUPERNODE PARTITION (I.E., C THE ONE WITH THE FEWEST POSSIBLE SUPERNODES). C C INPUT PARAMETERS: C NEQNS - NUMBER OF EQUATIONS. C NNZA - LENGTH OF ADJACENCY STRUCTURE. C XADJ(*) - ARRAY OF LENGTH NEQNS+1, CONTAINING POINTERS C TO THE ADJACENCY STRUCTURE. C ADJNCY(*) - ARRAY OF LENGTH XADJ(NEQNS+1)-1, CONTAINING C THE ADJACENCY STRUCTURE. C PERM(*) - ARRAY OF LENGTH NEQNS, CONTAINING THE C POSTORDERING. C INVP(*) - ARRAY OF LENGTH NEQNS, CONTAINING THE C INVERSE OF THE POSTORDERING. C IWSIZ - SIZE OF INTEGER WORKING STORAGE. C C OUTPUT PARAMETERS: C COLCNT(*) - ARRAY OF LENGTH NEQNS, CONTAINING THE NUMBER C OF NONZEROS IN EACH COLUMN OF THE FACTOR, C INCLUDING THE DIAGONAL ENTRY. C NNZL - NUMBER OF NONZEROS IN THE FACTOR, INCLUDING C THE DIAGONAL ENTRIES. C NSUB - NUMBER OF SUBSCRIPTS. C NSUPER - NUMBER OF SUPERNODES (<= NEQNS). C SNODE(*) - ARRAY OF LENGTH NEQNS FOR RECORDING C SUPERNODE MEMBERSHIP. C XSUPER(*) - ARRAY OF LENGTH NEQNS+1, CONTAINING THE C SUPERNODE PARTITIONING. C IFLAG(*) - ERROR FLAG. C 0: SUCCESSFUL SF INITIALIZATION. C -1: INSUFFICENT WORKING STORAGE C [IWORK(*)]. C C WORK PARAMETERS: C IWORK(*) - INTEGER WORK ARRAY OF LENGTH 7*NEQNS+3. C C FIRST CREATED ON NOVEMEBER 14, 1994. C LAST UPDATED ON January 12, 1995. C C*********************************************************************** C SUBROUTINE SFINIT ( NEQNS , NNZA , XADJ , ADJNCY, PERM , & INVP , COLCNT, NNZL , NSUB , NSUPER, & SNODE , XSUPER, IWSIZ , IWORK , IFLAG ) C C ----------- C PARAMETERS. C ----------- INTEGER IFLAG , IWSIZ , NNZA , NEQNS , NNZL , & NSUB , NSUPER INTEGER ADJNCY(NNZA) , COLCNT(NEQNS) , & INVP(NEQNS) , IWORK(7*NEQNS+3), & PERM(NEQNS) , SNODE(NEQNS) , & XADJ(NEQNS+1) , XSUPER(NEQNS+1) C C*********************************************************************** C C -------------------------------------------------------- C RETURN IF THERE IS INSUFFICIENT INTEGER WORKING STORAGE. C -------------------------------------------------------- IFLAG = 0 IF ( IWSIZ .LT. 7*NEQNS+3 ) THEN IFLAG = -1 RETURN ENDIF C C ------------------------------------------ C COMPUTE ELIMINATION TREE AND POSTORDERING. C ------------------------------------------ CALL ETORDR ( NEQNS , XADJ , ADJNCY, PERM , INVP , & IWORK(1) , & IWORK(NEQNS+1) , & IWORK(2*NEQNS+1) , & IWORK(3*NEQNS+1) ) C C --------------------------------------------- C COMPUTE ROW AND COLUMN FACTOR NONZERO COUNTS. C --------------------------------------------- CALL FCNTHN ( NEQNS , NNZA , XADJ , ADJNCY, PERM , & INVP , IWORK(1) , SNODE , COLCNT, & NNZL , & IWORK(NEQNS+1) , & IWORK(2*NEQNS+1) , & XSUPER , & IWORK(3*NEQNS+1) , & IWORK(4*NEQNS+2) , & IWORK(5*NEQNS+3) , & IWORK(6*NEQNS+4) ) C C --------------------------------------------------------- C REARRANGE CHILDREN SO THAT THE LAST CHILD HAS THE MAXIMUM C NUMBER OF NONZEROS IN ITS COLUMN OF L. C --------------------------------------------------------- CALL CHORDR ( NEQNS , XADJ , ADJNCY, PERM , INVP , & COLCNT, & IWORK(1) , & IWORK(NEQNS+1) , & IWORK(2*NEQNS+1) , & IWORK(3*NEQNS+1) ) C C ---------------- C FIND SUPERNODES. C ---------------- CALL FSUP1 ( NEQNS , IWORK(1) , COLCNT, NSUB , & NSUPER, SNODE ) CALL FSUP2 ( NEQNS , NSUPER, IWORK(1) , SNODE , & XSUPER ) C RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C****** SMXPY1 .... MATRIX-VECTOR MULTIPLY ************** C*********************************************************************** C*********************************************************************** C C PURPOSE - THIS ROUTINE PERFORMS A MATRIX-VECTOR MULTIPLY, C Y = Y + AX, ASSUMING DATA STRUCTURES USED IN C RECENTLY DEVELOPED SPARSE CHOLESKY CODES. THE C '1' SIGNIFIES NO LOOP UNROLLING, I.E., C LOOP-UNROLLING TO LEVEL 1. C C INPUT PARAMETERS - C M - NUMBER OF ROWS. C N - NUMBER OF COLUMNS. C Y - M-VECTOR TO WHICH AX WILL BE ADDED. C APNT - INDEX VECTOR FOR A. XA(I) POINTS TO THE C FIRST NONZERO IN COLUMN I OF A. C Y - ON OUTPUT, CONTAINS Y = Y + AX. C C*********************************************************************** C SUBROUTINE SMXPY1 ( M, N, Y, APNT, A ) C C*********************************************************************** C C ----------- C PARAMETERS. C ----------- C INTEGER M, N C INTEGER APNT(N) C DOUBLE PRECISION Y(M), A(*) C C ---------------- C LOCAL VARIABLES. C ---------------- C INTEGER I, II, J C DOUBLE PRECISION AMULT C C*********************************************************************** C DO 200 J = 1, N II = APNT(J+1) - M AMULT = - A(II) DO 100 I = 1, M Y(I) = Y(I) + AMULT * A(II) II = II + 1 100 CONTINUE 200 CONTINUE RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C****** SMXPY2 .... MATRIX-VECTOR MULTIPLY ************** C*********************************************************************** C*********************************************************************** C C PURPOSE - THIS ROUTINE PERFORMS A MATRIX-VECTOR MULTIPLY, C Y = Y + AX, ASSUMING DATA STRUCTURES USED IN C RECENTLY DEVELOPED SPARSE CHOLESKY CODES. THE C '2' SIGNIFIES LEVEL 2 LOOP UNROLLING. C C INPUT PARAMETERS - C M - NUMBER OF ROWS. C N - NUMBER OF COLUMNS. C Y - M-VECTOR TO WHICH AX WILL BE ADDED. C APNT - INDEX VECTOR FOR A. XA(I) POINTS TO THE C FIRST NONZERO IN COLUMN I OF A. C Y - ON OUTPUT, CONTAINS Y = Y + AX. C C*********************************************************************** C SUBROUTINE SMXPY2 ( M, N, Y, APNT, A ) C C*********************************************************************** C C ----------- C PARAMETERS. C ----------- C INTEGER M, N, LEVEL C INTEGER APNT(*) C DOUBLE PRECISION Y(*), A(*) C PARAMETER ( LEVEL = 2 ) C C ---------------- C LOCAL VARIABLES. C ---------------- C INTEGER I, I1, I2, & J, REMAIN C DOUBLE PRECISION A1, A2 C C*********************************************************************** C REMAIN = MOD ( N, LEVEL ) C GO TO ( 2000, 100 ), REMAIN+1 C 100 CONTINUE I1 = APNT(1+1) - M A1 = - A(I1) DO 150 I = 1, M Y(I) = Y(I) + A1*A(I1) I1 = I1 + 1 150 CONTINUE GO TO 2000 C 2000 CONTINUE DO 4000 J = REMAIN+1, N, LEVEL I1 = APNT(J+1) - M I2 = APNT(J+2) - M A1 = - A(I1) A2 = - A(I2) DO 3000 I = 1, M Y(I) = ( (Y(I)) + & A1*A(I1)) + A2*A(I2) I1 = I1 + 1 I2 = I2 + 1 3000 CONTINUE 4000 CONTINUE C RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C****** SMXPY4 .... MATRIX-VECTOR MULTIPLY ************** C*********************************************************************** C*********************************************************************** C C PURPOSE - THIS ROUTINE PERFORMS A MATRIX-VECTOR MULTIPLY, C Y = Y + AX, ASSUMING DATA STRUCTURES USED IN C RECENTLY DEVELOPED SPARSE CHOLESKY CODES. THE C '4' SIGNIFIES LEVEL 4 LOOP UNROLLING. C C INPUT PARAMETERS - C M - NUMBER OF ROWS. C N - NUMBER OF COLUMNS. C Y - M-VECTOR TO WHICH AX WILL BE ADDED. C APNT - INDEX VECTOR FOR A. XA(I) POINTS TO THE C FIRST NONZERO IN COLUMN I OF A. C Y - ON OUTPUT, CONTAINS Y = Y + AX. C C*********************************************************************** C SUBROUTINE SMXPY4 ( M, N, Y, APNT, A ) C C*********************************************************************** C C ----------- C PARAMETERS. C ----------- C INTEGER M, N, LEVEL C INTEGER APNT(*) C DOUBLE PRECISION Y(*), A(*) C PARAMETER ( LEVEL = 4 ) C C ---------------- C LOCAL VARIABLES. C ---------------- C INTEGER I, I1, I2, I3, I4, & J, REMAIN C DOUBLE PRECISION A1, A2, A3, A4 C C*********************************************************************** C REMAIN = MOD ( N, LEVEL ) C GO TO ( 2000, 100, 200, 300 ), REMAIN+1 C 100 CONTINUE I1 = APNT(1+1) - M A1 = - A(I1) DO 150 I = 1, M Y(I) = Y(I) + A1*A(I1) I1 = I1 + 1 150 CONTINUE GO TO 2000 C 200 CONTINUE I1 = APNT(1+1) - M I2 = APNT(1+2) - M A1 = - A(I1) A2 = - A(I2) DO 250 I = 1, M Y(I) = ( (Y(I)) & + A1*A(I1)) + A2*A(I2) I1 = I1 + 1 I2 = I2 + 1 250 CONTINUE GO TO 2000 C 300 CONTINUE I1 = APNT(1+1) - M I2 = APNT(1+2) - M I3 = APNT(1+3) - M A1 = - A(I1) A2 = - A(I2) A3 = - A(I3) DO 350 I = 1, M Y(I) = (( (Y(I)) & + A1*A(I1)) + A2*A(I2)) & + A3*A(I3) I1 = I1 + 1 I2 = I2 + 1 I3 = I3 + 1 350 CONTINUE GO TO 2000 C 2000 CONTINUE DO 4000 J = REMAIN+1, N, LEVEL I1 = APNT(J+1) - M I2 = APNT(J+2) - M I3 = APNT(J+3) - M I4 = APNT(J+4) - M A1 = - A(I1) A2 = - A(I2) A3 = - A(I3) A4 = - A(I4) DO 3000 I = 1, M Y(I) = ((( (Y(I)) & + A1*A(I1)) + A2*A(I2)) & + A3*A(I3)) + A4*A(I4) I1 = I1 + 1 I2 = I2 + 1 I3 = I3 + 1 I4 = I4 + 1 3000 CONTINUE 4000 CONTINUE C RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: December 27, 1994 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C****** SMXPY8 .... MATRIX-VECTOR MULTIPLY ************** C*********************************************************************** C*********************************************************************** C C PURPOSE - THIS ROUTINE PERFORMS A MATRIX-VECTOR MULTIPLY, C Y = Y + AX, ASSUMING DATA STRUCTURES USED IN C RECENTLY DEVELOPED SPARSE CHOLESKY CODES. THE C '8' SIGNIFIES LEVEL 8 LOOP UNROLLING. C C INPUT PARAMETERS - C M - NUMBER OF ROWS. C N - NUMBER OF COLUMNS. C Y - M-VECTOR TO WHICH AX WILL BE ADDED. C APNT - INDEX VECTOR FOR A. APNT(I) POINTS TO THE C FIRST NONZERO IN COLUMN I OF A. C Y - ON OUTPUT, CONTAINS Y = Y + AX. C C*********************************************************************** C SUBROUTINE SMXPY8 ( M, N, Y, APNT, A ) C C*********************************************************************** C C ----------- C PARAMETERS. C ----------- C INTEGER M, N, LEVEL C INTEGER APNT(*) C DOUBLE PRECISION Y(*), A(*) C PARAMETER ( LEVEL = 8 ) C C ---------------- C LOCAL VARIABLES. C ---------------- C INTEGER I, I1, I2, I3, I4, I5, I6, I7, I8, & J, REMAIN C DOUBLE PRECISION A1, A2, A3, A4, A5, A6, A7, A8 C C*********************************************************************** C REMAIN = MOD ( N, LEVEL ) C GO TO ( 2000, 100, 200, 300, & 400, 500, 600, 700 ), REMAIN+1 C 100 CONTINUE I1 = APNT(1+1) - M A1 = - A(I1) DO 150 I = 1, M Y(I) = Y(I) + A1*A(I1) I1 = I1 + 1 150 CONTINUE GO TO 2000 C 200 CONTINUE I1 = APNT(1+1) - M I2 = APNT(1+2) - M A1 = - A(I1) A2 = - A(I2) DO 250 I = 1, M Y(I) = ( (Y(I)) & + A1*A(I1)) + A2*A(I2) I1 = I1 + 1 I2 = I2 + 1 250 CONTINUE GO TO 2000 C 300 CONTINUE I1 = APNT(1+1) - M I2 = APNT(1+2) - M I3 = APNT(1+3) - M A1 = - A(I1) A2 = - A(I2) A3 = - A(I3) DO 350 I = 1, M Y(I) = (( (Y(I)) & + A1*A(I1)) + A2*A(I2)) & + A3*A(I3) I1 = I1 + 1 I2 = I2 + 1 I3 = I3 + 1 350 CONTINUE GO TO 2000 C 400 CONTINUE I1 = APNT(1+1) - M I2 = APNT(1+2) - M I3 = APNT(1+3) - M I4 = APNT(1+4) - M A1 = - A(I1) A2 = - A(I2) A3 = - A(I3) A4 = - A(I4) DO 450 I = 1, M Y(I) = ((( (Y(I)) & + A1*A(I1)) + A2*A(I2)) & + A3*A(I3)) + A4*A(I4) I1 = I1 + 1 I2 = I2 + 1 I3 = I3 + 1 I4 = I4 + 1 450 CONTINUE GO TO 2000 C 500 CONTINUE I1 = APNT(1+1) - M I2 = APNT(1+2) - M I3 = APNT(1+3) - M I4 = APNT(1+4) - M I5 = APNT(1+5) - M A1 = - A(I1) A2 = - A(I2) A3 = - A(I3) A4 = - A(I4) A5 = - A(I5) DO 550 I = 1, M Y(I) = (((( (Y(I)) & + A1*A(I1)) + A2*A(I2)) & + A3*A(I3)) + A4*A(I4)) & + A5*A(I5) I1 = I1 + 1 I2 = I2 + 1 I3 = I3 + 1 I4 = I4 + 1 I5 = I5 + 1 550 CONTINUE GO TO 2000 C 600 CONTINUE I1 = APNT(1+1) - M I2 = APNT(1+2) - M I3 = APNT(1+3) - M I4 = APNT(1+4) - M I5 = APNT(1+5) - M I6 = APNT(1+6) - M A1 = - A(I1) A2 = - A(I2) A3 = - A(I3) A4 = - A(I4) A5 = - A(I5) A6 = - A(I6) DO 650 I = 1, M Y(I) = ((((( (Y(I)) & + A1*A(I1)) + A2*A(I2)) & + A3*A(I3)) + A4*A(I4)) & + A5*A(I5)) + A6*A(I6) I1 = I1 + 1 I2 = I2 + 1 I3 = I3 + 1 I4 = I4 + 1 I5 = I5 + 1 I6 = I6 + 1 650 CONTINUE GO TO 2000 C 700 CONTINUE I1 = APNT(1+1) - M I2 = APNT(1+2) - M I3 = APNT(1+3) - M I4 = APNT(1+4) - M I5 = APNT(1+5) - M I6 = APNT(1+6) - M I7 = APNT(1+7) - M A1 = - A(I1) A2 = - A(I2) A3 = - A(I3) A4 = - A(I4) A5 = - A(I5) A6 = - A(I6) A7 = - A(I7) DO 750 I = 1, M Y(I) = (((((( (Y(I)) & + A1*A(I1)) + A2*A(I2)) & + A3*A(I3)) + A4*A(I4)) & + A5*A(I5)) + A6*A(I6)) & + A7*A(I7) I1 = I1 + 1 I2 = I2 + 1 I3 = I3 + 1 I4 = I4 + 1 I5 = I5 + 1 I6 = I6 + 1 I7 = I7 + 1 750 CONTINUE GO TO 2000 C 2000 CONTINUE DO 4000 J = REMAIN+1, N, LEVEL I1 = APNT(J+1) - M I2 = APNT(J+2) - M I3 = APNT(J+3) - M I4 = APNT(J+4) - M I5 = APNT(J+5) - M I6 = APNT(J+6) - M I7 = APNT(J+7) - M I8 = APNT(J+8) - M A1 = - A(I1) A2 = - A(I2) A3 = - A(I3) A4 = - A(I4) A5 = - A(I5) A6 = - A(I6) A7 = - A(I7) A8 = - A(I8) DO 3000 I = 1, M Y(I) = ((((((( (Y(I)) & + A1*A(I1)) + A2*A(I2)) & + A3*A(I3)) + A4*A(I4)) & + A5*A(I5)) + A6*A(I6)) & + A7*A(I7)) + A8*A(I8) I1 = I1 + 1 I2 = I2 + 1 I3 = I3 + 1 I4 = I4 + 1 I5 = I5 + 1 I6 = I6 + 1 I7 = I7 + 1 I8 = I8 + 1 3000 CONTINUE 4000 CONTINUE C RETURN END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: February 13, 1995 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C************* SYMFC2 ..... SYMBOLIC FACTORIZATION ************** C*********************************************************************** C*********************************************************************** C C PURPOSE: C THIS ROUTINE PERFORMS SUPERNODAL SYMBOLIC FACTORIZATION ON A C REORDERED LINEAR SYSTEM. IT ASSUMES ACCESS TO THE COLUMNS C COUNTS, SUPERNODE PARTITION, AND SUPERNODAL ELIMINATION TREE C ASSOCIATED WITH THE FACTOR MATRIX L. C C INPUT PARAMETERS: C (I) NEQNS - NUMBER OF EQUATIONS C (I) ADJLEN - LENGTH OF THE ADJACENCY LIST. C (I) XADJ(*) - ARRAY OF LENGTH NEQNS+1 CONTAINING POINTERS C TO THE ADJACENCY STRUCTURE. C (I) ADJNCY(*) - ARRAY OF LENGTH XADJ(NEQNS+1)-1 CONTAINING C THE ADJACENCY STRUCTURE. C (I) PERM(*) - ARRAY OF LENGTH NEQNS CONTAINING THE C POSTORDERING. C (I) INVP(*) - ARRAY OF LENGTH NEQNS CONTAINING THE C INVERSE OF THE POSTORDERING. C (I) COLCNT(*) - ARRAY OF LENGTH NEQNS, CONTAINING THE NUMBER C OF NONZEROS IN EACH COLUMN OF THE FACTOR, C INCLUDING THE DIAGONAL ENTRY. C (I) NSUPER - NUMBER OF SUPERNODES. C (I) XSUPER(*) - ARRAY OF LENGTH NSUPER+1, CONTAINING THE C FIRST COLUMN OF EACH SUPERNODE. C (I) SNODE(*) - ARRAY OF LENGTH NEQNS FOR RECORDING C SUPERNODE MEMBERSHIP. C (I) NOFSUB - NUMBER OF SUBSCRIPTS TO BE STORED IN C LINDX(*). C C OUTPUT PARAMETERS: C (I) XLINDX - ARRAY OF LENGTH NEQNS+1, CONTAINING POINTERS C INTO THE SUBSCRIPT VECTOR. C (I) LINDX - ARRAY OF LENGTH MAXSUB, CONTAINING THE C COMPRESSED SUBSCRIPTS. C (I) XLNZ - COLUMN POINTERS FOR L. C (I) FLAG - ERROR FLAG: C 0 - NO ERROR. C 1 - INCONSISTANCY IN THE INPUT. C C WORKING PARAMETERS: C (I) MRGLNK - ARRAY OF LENGTH NSUPER, CONTAINING THE C CHILDREN OF EACH SUPERNODE AS A LINKED LIST. C (I) RCHLNK - ARRAY OF LENGTH NEQNS+1, CONTAINING THE C CURRENT LINKED LIST OF MERGED INDICES (THE C "REACH" SET). C (I) MARKER - ARRAY OF LENGTH NEQNS USED TO MARK INDICES C AS THEY ARE INTRODUCED INTO EACH SUPERNODE'S C INDEX SET. C C*********************************************************************** C SUBROUTINE SYMFC2 ( NEQNS , ADJLEN, XADJ , ADJNCY, PERM , & INVP , COLCNT, NSUPER, XSUPER, SNODE , & NOFSUB, XLINDX, LINDX , XLNZ , MRGLNK, & RCHLNK, MARKER, FLAG ) C C*********************************************************************** C C ----------- C PARAMETERS. C ----------- INTEGER ADJLEN, FLAG , NEQNS , NOFSUB, NSUPER INTEGER ADJNCY(ADJLEN), COLCNT(NEQNS) , & INVP(NEQNS) , MARKER(NEQNS) , & MRGLNK(NSUPER), LINDX(*) , & PERM(NEQNS) , RCHLNK(0:NEQNS), & SNODE(NEQNS) , XSUPER(NSUPER+1) INTEGER XADJ(NEQNS+1) , XLINDX(NSUPER+1), & XLNZ(NEQNS+1) C C ---------------- C LOCAL VARIABLES. C ---------------- INTEGER FSTCOL, HEAD , I , JNZBEG, JNZEND, & JPTR , JSUP , JWIDTH, KNZ , KNZBEG, & KNZEND, KPTR , KSUP , LENGTH, LSTCOL, & NEWI , NEXTI , NODE , NZBEG , NZEND , & PCOL , PSUP , POINT , TAIL , WIDTH C C*********************************************************************** C FLAG = 0 IF ( NEQNS .LE. 0 ) RETURN C C --------------------------------------------------- C INITIALIZATIONS ... C NZEND : POINTS TO THE LAST USED SLOT IN LINDX. C TAIL : END OF LIST INDICATOR C (IN RCHLNK(*), NOT MRGLNK(*)). C MRGLNK : CREATE EMPTY LISTS. C MARKER : "UNMARK" THE INDICES. C --------------------------------------------------- NZEND = 0 HEAD = 0 TAIL = NEQNS + 1 POINT = 1 DO 50 I = 1, NEQNS MARKER(I) = 0 XLNZ(I) = POINT POINT = POINT + COLCNT(I) 50 CONTINUE XLNZ(NEQNS+1) = POINT POINT = 1 DO 100 KSUP = 1, NSUPER MRGLNK(KSUP) = 0 FSTCOL = XSUPER(KSUP) XLINDX(KSUP) = POINT POINT = POINT + COLCNT(FSTCOL) 100 CONTINUE XLINDX(NSUPER+1) = POINT C C --------------------------- C FOR EACH SUPERNODE KSUP ... C --------------------------- DO 1000 KSUP = 1, NSUPER C C --------------------------------------------------------- C INITIALIZATIONS ... C FSTCOL : FIRST COLUMN OF SUPERNODE KSUP. C LSTCOL : LAST COLUMN OF SUPERNODE KSUP. C KNZ : WILL COUNT THE NONZEROS OF L IN COLUMN KCOL. C RCHLNK : INITIALIZE EMPTY INDEX LIST FOR KCOL. C --------------------------------------------------------- FSTCOL = XSUPER(KSUP) LSTCOL = XSUPER(KSUP+1) - 1 WIDTH = LSTCOL - FSTCOL + 1 LENGTH = COLCNT(FSTCOL) KNZ = 0 RCHLNK(HEAD) = TAIL JSUP = MRGLNK(KSUP) C C ------------------------------------------------- C IF KSUP HAS CHILDREN IN THE SUPERNODAL E-TREE ... C ------------------------------------------------- IF ( JSUP .GT. 0 ) THEN C --------------------------------------------- C COPY THE INDICES OF THE FIRST CHILD JSUP INTO C THE LINKED LIST, AND MARK EACH WITH THE VALUE C KSUP. C --------------------------------------------- JWIDTH = XSUPER(JSUP+1) - XSUPER(JSUP) JNZBEG = XLINDX(JSUP) + JWIDTH JNZEND = XLINDX(JSUP+1) - 1 DO 200 JPTR = JNZEND, JNZBEG, -1 NEWI = LINDX(JPTR) KNZ = KNZ+1 MARKER(NEWI) = KSUP RCHLNK(NEWI) = RCHLNK(HEAD) RCHLNK(HEAD) = NEWI 200 CONTINUE C ------------------------------------------ C FOR EACH SUBSEQUENT CHILD JSUP OF KSUP ... C ------------------------------------------ JSUP = MRGLNK(JSUP) 300 CONTINUE IF ( JSUP .NE. 0 .AND. KNZ .LT. LENGTH ) THEN C ---------------------------------------- C MERGE THE INDICES OF JSUP INTO THE LIST, C AND MARK NEW INDICES WITH VALUE KSUP. C ---------------------------------------- JWIDTH = XSUPER(JSUP+1) - XSUPER(JSUP) JNZBEG = XLINDX(JSUP) + JWIDTH JNZEND = XLINDX(JSUP+1) - 1 NEXTI = HEAD DO 500 JPTR = JNZBEG, JNZEND NEWI = LINDX(JPTR) 400 CONTINUE I = NEXTI NEXTI = RCHLNK(I) IF ( NEWI .GT. NEXTI ) GO TO 400 IF ( NEWI .LT. NEXTI ) THEN KNZ = KNZ+1 RCHLNK(I) = NEWI RCHLNK(NEWI) = NEXTI MARKER(NEWI) = KSUP NEXTI = NEWI ENDIF 500 CONTINUE JSUP = MRGLNK(JSUP) GO TO 300 ENDIF ENDIF C --------------------------------------------------- C STRUCTURE OF A(*,FSTCOL) HAS NOT BEEN EXAMINED YET. C "SORT" ITS STRUCTURE INTO THE LINKED LIST, C INSERTING ONLY THOSE INDICES NOT ALREADY IN THE C LIST. C --------------------------------------------------- IF ( KNZ .LT. LENGTH ) THEN NODE = PERM(FSTCOL) KNZBEG = XADJ(NODE) KNZEND = XADJ(NODE+1) - 1 DO 700 KPTR = KNZBEG, KNZEND NEWI = ADJNCY(KPTR) NEWI = INVP(NEWI) IF ( NEWI .GT. FSTCOL .AND. & MARKER(NEWI) .NE. KSUP ) THEN C -------------------------------- C POSITION AND INSERT NEWI IN LIST C AND MARK IT WITH KCOL. C -------------------------------- NEXTI = HEAD 600 CONTINUE I = NEXTI NEXTI = RCHLNK(I) IF ( NEWI .GT. NEXTI ) GO TO 600 KNZ = KNZ + 1 RCHLNK(I) = NEWI RCHLNK(NEWI) = NEXTI MARKER(NEWI) = KSUP ENDIF 700 CONTINUE ENDIF C ------------------------------------------------------------ C IF KSUP HAS NO CHILDREN, INSERT FSTCOL INTO THE LINKED LIST. C ------------------------------------------------------------ IF ( RCHLNK(HEAD) .NE. FSTCOL ) THEN RCHLNK(FSTCOL) = RCHLNK(HEAD) RCHLNK(HEAD) = FSTCOL KNZ = KNZ + 1 ENDIF C C -------------------------------------------- C COPY INDICES FROM LINKED LIST INTO LINDX(*). C -------------------------------------------- NZBEG = NZEND + 1 NZEND = NZEND + KNZ IF ( NZEND+1 .NE. XLINDX(KSUP+1) ) GO TO 8000 I = HEAD DO 800 KPTR = NZBEG, NZEND I = RCHLNK(I) LINDX(KPTR) = I 800 CONTINUE C C --------------------------------------------------- C IF KSUP HAS A PARENT, INSERT KSUP INTO ITS PARENT'S C "MERGE" LIST. C --------------------------------------------------- IF ( LENGTH .GT. WIDTH ) THEN PCOL = LINDX ( XLINDX(KSUP) + WIDTH ) PSUP = SNODE(PCOL) MRGLNK(KSUP) = MRGLNK(PSUP) MRGLNK(PSUP) = KSUP ENDIF C 1000 CONTINUE C RETURN C C ----------------------------------------------- C INCONSISTENCY IN DATA STRUCTURE WAS DISCOVERED. C ----------------------------------------------- 8000 CONTINUE FLAG = -2 RETURN C END C*********************************************************************** C*********************************************************************** C C Version: 0.4 C Last modified: February 13, 1995 C Authors: Esmond G. Ng and Barry W. Peyton C C Mathematical Sciences Section, Oak Ridge National Laboratory C C*********************************************************************** C*********************************************************************** C************* SYMFCT ..... SYMBOLIC FACTORIZATION ************** C*********************************************************************** C*********************************************************************** C C PURPOSE: C THIS ROUTINE CALLS SYMFC2 WHICH PERFORMS SUPERNODAL SYMBOLIC C FACTORIZATION ON A REORDERED LINEAR SYSTEM. C C INPUT PARAMETERS: C (I) NEQNS - NUMBER OF EQUATIONS C (I) ADJLEN - LENGTH OF THE ADJACENCY LIST. C (I) XADJ(*) - ARRAY OF LENGTH NEQNS+1 CONTAINING POINTERS C TO THE ADJACENCY STRUCTURE. C (I) ADJNCY(*) - ARRAY OF LENGTH XADJ(NEQNS+1)-1 CONTAINING C THE ADJACENCY STRUCTURE. C (I) PERM(*) - ARRAY OF LENGTH NEQNS CONTAINING THE C POSTORDERING. C (I) INVP(*) - ARRAY OF LENGTH NEQNS CONTAINING THE C INVERSE OF THE POSTORDERING. C (I) COLCNT(*) - ARRAY OF LENGTH NEQNS, CONTAINING THE NUMBER C OF NONZEROS IN EACH COLUMN OF THE FACTOR, C INCLUDING THE DIAGONAL ENTRY. C (I) NSUPER - NUMBER OF SUPERNODES. C (I) XSUPER(*) - ARRAY OF LENGTH NSUPER+1, CONTAINING THE C FIRST COLUMN OF EACH SUPERNODE. C (I) SNODE(*) - ARRAY OF LENGTH NEQNS FOR RECORDING C SUPERNODE MEMBERSHIP. C (I) NOFSUB - NUMBER OF SUBSCRIPTS TO BE STORED IN C LINDX(*). C (I) IWSIZ - SIZE OF INTEGER WORKING STORAGE. C C OUTPUT PARAMETERS: C (I) XLINDX - ARRAY OF LENGTH NEQNS+1, CONTAINING POINTERS C INTO THE SUBSCRIPT VECTOR. C (I) LINDX - ARRAY OF LENGTH MAXSUB, CONTAINING THE C COMPRESSED SUBSCRIPTS. C (I) XLNZ - COLUMN POINTERS FOR L. C (I) FLAG - ERROR FLAG: C 0 - NO ERROR. C -1 - INSUFFICIENT INTEGER WORKING SPACE. C -2 - INCONSISTANCY IN THE INPUT. C C WORKING PARAMETERS: C (I) IWORK - WORKING ARRAY OF LENGTH NSUPER+2*NEQNS. C C*********************************************************************** C SUBROUTINE SYMFCT ( NEQNS , ADJLEN, XADJ , ADJNCY, PERM , & INVP , COLCNT, NSUPER, XSUPER, SNODE , & NOFSUB, XLINDX, LINDX , XLNZ , IWSIZ , & IWORK , & FLAG ) C C*********************************************************************** C C ----------- C PARAMETERS. C ----------- INTEGER ADJLEN, FLAG , IWSIZ , NEQNS , NOFSUB, & NSUPER INTEGER ADJNCY(ADJLEN), COLCNT(NEQNS) , & INVP(NEQNS) , & IWORK(NSUPER+2*NEQNS+1), & LINDX(NOFSUB) , & PERM(NEQNS) , SNODE(NEQNS) , & XSUPER(NSUPER+1) INTEGER XADJ(NEQNS+1) , XLINDX(NSUPER+1), & XLNZ(NEQNS+1) C C*********************************************************************** C FLAG = 0 IF ( IWSIZ .LT. NSUPER+2*NEQNS+1 ) THEN FLAG = -1 RETURN ENDIF CALL SYMFC2 ( NEQNS , ADJLEN, XADJ , ADJNCY, PERM , & INVP , COLCNT, NSUPER, XSUPER, SNODE , & NOFSUB, XLINDX, LINDX , XLNZ , & IWORK(1) , & IWORK(NSUPER+1) , & IWORK(NSUPER+NEQNS+2) , & FLAG ) RETURN END SparseM/src/chol.f0000644000176200001440000001737211661502164013523 0ustar liggesusers subroutine chol(m,nnzdmax,d,jd,id,nnzdsm,dsub,jdsub,nsub,nsubmax, & lindx,xlindx,nsuper,nnzlmax,lnz,xlnz,invp,perm, & iwmax,iwork,colcnt,snode,xsuper,split,tmpmax, & tmpvec,cachsz,level,ierr,timed) c 1 2 3 4 5 6 7 c23456789012345678901234567890123456789012345678901234567890123456789012 c Sparse least squares solver via Ng-Peyton's sparse Cholesky c factorization for sparse symmetric positive definite c INPUT: c m -- the number of column in the design matrix X c nnzdmax -- upper bound of the non-zero elements in X'X c d -- an nnzdmax-vector of non-zero values of the transpose of c the design matrix multiplied by the design matrix stored in c csr format (X'X) c jd -- an nnzdmax-vector of indices in d c id -- an (m+1)-vector of pointers to the begining of each c row in d and jd c dsub -- the values of d excluding the diagonal elements c jdsub -- the indices to dsub c nsubmax -- upper bound of the dimension of lindx c lindx -- an nsub-vector of integer which contains, in c column major oder, the row subscripts of the nonzero c entries in L in a compressed storage format c xlindx -- an nsuper-vector of integer of pointers for lindx c nsuper -- the length of xlindx c nnzlmax -- the upper bound of the non-zero entries in c L stored in lnz, including the diagonal entries c lnz -- First contains the non-zero entries of d; later c contains the entries of the Cholesky factor c xlnz -- column pointer for L stored in lnz c invp -- an n-vector of integer of inverse permutation c vector c perm -- an n-vector of integer of permutation vector c colcnt -- array of length m, containing the number of c non-zeros in each column of the factor, including c the diagonal entries c snode -- array of length m for recording supernode c membership c xsuper -- array of length m+1 containing the supernode c partitioning c split -- an m-vector with splitting of supernodes so that c they fit into cache c tmpmax -- upper bound of the dimension of tmpvec c tmpvec -- a tmpmax-vector of temporary vector c cachsz -- size of the cache (in kilobytes) on the target c machine c level -- level of loop unrolling while performing numerical c factorization c ierr -- error flag c 1 -- insufficient work space in call to extract c 2 -- insufficient storage in iwork when calling ordmmd; c 3 -- insufficient storage in iwork when calling sfinit; c 4 -- nnzl > nnzlmax when calling sfinit c 5 -- nsub > nsubmax when calling sfinit c 6 -- insufficient work space in iwork when calling symfct c 7 -- inconsistancy in input when calling symfct c 8 -- tmpsiz > tmpmax when calling symfct; increase tmpmax c 9 -- nonpositive diagonal encountered when calling c blkfct c 10 -- insufficient work storage in tmpvec when calling c blkfct c 11 -- insufficient work storage in iwork when calling c blkfct c OUTPUT: c y -- an m-vector of least squares solution c nsub -- number of subscripts in lindx c WORK ARRAYS: c iwmax -- upper bound of the general purpose integer c working storage iwork; set at 7*m+3 c iwork -- an iwsiz-vector of integer as work space c 1 2 3 4 5 6 7 c23456789012345678901234567890123456789012345678901234567890123456789012 integer nsub,nsuper,nnzdmax,nnzdsm,nnzl,iwsiz,tmpsiz,iwmax, & nnzlmax,nsubmax,cachsz,level,tmpmax,ierr, & jdsub(nnzdsm),jd(nnzdmax), & id(m+1),lindx(nsubmax),xlindx(m+1), & invp(m),perm(m),xlnz(m+1),iwork(iwmax), & colcnt(m),snode(m),xsuper(m+1),split(m) double precision dsub(nnzdsm),d(nnzdmax), & lnz(nnzlmax),tmpvec(tmpmax) double precision timed c real gtimer,timbegw,timendw external smxpy1,smxpy2,smxpy4,smxpy8 external mmpy1,mmpy2,mmpy4,mmpy8 c c timbegw=gtimer() c c Extract the non-diagonal structure of d,jd,id c The diagonal entries are stored in dsub(1:m), the off-diagonal entries c are stored rowwise in dsub(m+2:nnzd+1), their column indices are stored c in jsub(m+2:nnzd+1), the pointers to the nondiagonal entries in c dsub(m+2:nnzd+1) and jsub(m+2:nnzd+1) are stored in jsub(1:m+1) c nsub = 0 nnzd = id(m+1) - 1 nnzdsub = nnzd - m call extract(d,jd,id,dsub,jdsub,m,nnzdmax,nnzdsm,ierr) if (ierr .eq. -1) then ierr = 1 go to 100 endif c c Save the X'X matrix structure from jdsub(m+2:nnzd+1),jdsub(1:m+1) c to lindx and xlindx because the matrix structure is destroyed by the c minimum degree ordering routine c do i = 1,m+1 xlindx(i) = jdsub(i) enddo do i = 1,nnzdsub lindx(i) = jdsub(m+1+i) enddo c c Reorder the matrix using minimum degree ordering routine c iwsiz = 4*m call ordmmd(m,xlindx,lindx,invp,perm,iwsiz,iwork,nsub,ierr) if (ierr .eq. -1) then ierr = 2 go to 100 endif c c Call sfinit: Symbolic factorization initialization c to compute supernode partition and storage requirements c for symbolic factorization. New ordering is a postordering c of the nodal elimination tree c iwsiz = 7 * m + 3 call sfinit(m,nnzdsub,jdsub(1),jdsub(m+2),perm, & invp,colcnt,nnzl,nsub,nsuper,snode,xsuper,iwsiz, & iwork,ierr) if (ierr .eq. -1) then ierr = 3 go to 100 endif if (nnzl .gt. nnzlmax) then ierr = 4 go to 100 endif if (nsub .gt. nsubmax) then ierr = 5 go to 100 endif c c Call symfct: Perform supernodal symbolic factorization c iwsiz = nsuper + 2 * m + 1 call symfct(m,nnzdsub,jdsub(1),jdsub(m+2),perm,invp, & colcnt,nsuper,xsuper,snode,nsub,xlindx,lindx, & xlnz,iwsiz,iwork,ierr) if (ierr .eq. -1) then ierr = 6 go to 100 endif if (ierr .eq. -2) then ierr = 7 go to 100 endif c c Call inpnv: Input numerical values into data structures of L c iwsiz = m call inpnv(m,id,jd,d,perm,invp,nsuper,xsuper,xlindx,lindx, & xlnz,lnz,iwork) c c Call bfinit: Initialization for block factorization c call bfinit(m,nsuper,xsuper,snode,xlindx,lindx,cachsz,tmpsiz, & split) if (tmpsiz .gt. tmpmax) then ierr = 8 go to 100 endif c c Call blkfct: Numerical factorization c iwsiz = 2 * m + 2 * nsuper if (level .eq. 1) then call blkfct(m,nsuper,xsuper,snode,split,xlindx,lindx,xlnz, & lnz,iwsiz,iwork,tmpsiz,tmpvec,ierr,mmpy1,smxpy1) elseif (level .eq. 2) then call blkfct(m,nsuper,xsuper,snode,split,xlindx,lindx,xlnz, & lnz,iwsiz,iwork,tmpsiz,tmpvec,ierr,mmpy2,smxpy2) elseif (level .eq. 4) then call blkfct(m,nsuper,xsuper,snode,split,xlindx,lindx,xlnz, & lnz,iwsiz,iwork,tmpsiz,tmpvec,ierr,mmpy4,smxpy4) elseif (level .eq. 8) then call blkfct(m,nsuper,xsuper,snode,split,xlindx,lindx,xlnz, & lnz,iwsiz,iwork,tmpsiz,tmpvec,ierr,mmpy8,smxpy8) endif if (ierr .eq. -1) then ierr = 9 go to 100 elseif (ierr .eq. -2) then ierr = 10 go to 100 elseif (ierr .eq. -3) then ierr = 11 go to 100 endif 100 continue c timendw=gtimer() c timed = timendw - timbegw return end SparseM/src/sparskit.f0000644000176200001440000026276412762353165014455 0ustar liggesusers c----------------------------------------------------------------------c c S P A R S K I T c c----------------------------------------------------------------------c c UNARY SUBROUTINES MODULE c c----------------------------------------------------------------------c c amask : extracts C = A mask M c c csort : sorts the elements in increasing order of columns c c ivperm : permutes an integer vector (in-place) c c dvperm : permutes a real vector (in-place) c c getelm : returns a(i,j) for any (i,j) from a CSR-stored matrix. c c rperm : permutes the rows of a matrix (B = P A) c c filter1 : filters elements from a matrix according to their magnitudec c amubdg : gets number of nonzeros in each row of A*B (as well as NNZ) c c aplbdg : gets number of nonzeros in each row of A+B (as well as NNZ) c c----------------------------------------------------------------------c subroutine amask (nrow,ncol,a,ja,ia,jmask,imask, * c,jc,ic,iw,nzmax,ierr) c--------------------------------------------------------------------- double precision a(*),c(*) integer ia(nrow+1),ja(*),jc(*),ic(nrow+1),jmask(*),imask(nrow+1) logical iw(ncol) c----------------------------------------------------------------------- c This subroutine builds a sparse matrix from an input matrix by c extracting only elements in positions defined by the mask jmask, imask c----------------------------------------------------------------------- c On entry: c--------- c nrow = integer. row dimension of input matrix c ncol = integer. Column dimension of input matrix. c c a, c ja, c ia = matrix in Compressed Sparse Row format c c jmask, c imask = matrix defining mask (pattern only) stored in compressed c sparse row format. c c nzmax = length of arrays c and jc. see ierr. c c On return: c----------- c c a, ja, ia and jmask, imask are unchanged. c c c c jc, c ic = the output matrix in Compressed Sparse Row format. c c ierr = integer. serving as error message.c c ierr = 0 means normal return c ierr .gt. 1 means that amask stopped when processing c row number ierr, because there was not enough space in c c, jc according to the value of nzmax. c c work arrays: c------------- c iw = logical work array of length ncol. c c note: c------ the algorithm is in place: c, jc, ic can be the same as c a, ja, ia in which cas the code will overwrite the matrix c c on a, ja, ia c c----------------------------------------------------------------------- ierr = 0 len = 0 do 1 j=1, ncol iw(j) = .false. 1 continue c unpack the mask for row ii in iw do 100 ii=1, nrow c save pointer in order to be able to do things in place do 2 k=imask(ii), imask(ii+1)-1 iw(jmask(k)) = .true. 2 continue c add umasked elemnts of row ii k1 = ia(ii) k2 = ia(ii+1)-1 ic(ii) = len+1 do 200 k=k1,k2 j = ja(k) if (iw(j)) then len = len+1 if (len .gt. nzmax) then ierr = ii return endif jc(len) = j c(len) = a(k) endif 200 continue c do 3 k=imask(ii), imask(ii+1)-1 iw(jmask(k)) = .false. 3 continue 100 continue ic(nrow+1)=len+1 c return c-----end-of-amask ----------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine csort (n,a,ja,ia,iwork,values) logical values integer n, ja(*), ia(n+1), iwork(*) double precision a(*) c----------------------------------------------------------------------- c This routine sorts the elements of a matrix (stored in Compressed c Sparse Row Format) in increasing order of their column indices within c each row. It uses a form of bucket sort with a cost of O(nnz) where c nnz = number of nonzero elements. c requires an integer work array of length 2*nnz. c----------------------------------------------------------------------- c on entry: c--------- c n = the row dimension of the matrix c a = the matrix A in compressed sparse row format. c ja = the array of column indices of the elements in array a. c ia = the array of pointers to the rows. c iwork = integer work array of length max ( n+1, 2*nnz ) c where nnz = (ia(n+1)-ia(1)) ) . c values= logical indicating whether or not the real values a(*) must c also be permuted. if (.not. values) then the array a is not c touched by csort and can be a dummy array. c c on return: c---------- c the matrix stored in the structure a, ja, ia is permuted in such a c way that the column indices are in increasing order within each row. c iwork(1:nnz) contains the permutation used to rearrange the elements. c----------------------------------------------------------------------- c Y. Saad - Feb. 1, 1991. c----------------------------------------------------------------------- c local variables integer i, k, j, ifirst, nnz, next c c count the number of elements in each column c do 1 i=1,n+1 iwork(i) = 0 1 continue do 3 i=1, n do 2 k=ia(i), ia(i+1)-1 j = ja(k)+1 iwork(j) = iwork(j)+1 2 continue 3 continue c c compute pointers from lengths. c iwork(1) = 1 do 4 i=1,n iwork(i+1) = iwork(i) + iwork(i+1) 4 continue c c get the positions of the nonzero elements in order of columns. c ifirst = ia(1) nnz = ia(n+1)-ifirst do 5 i=1,n do 51 k=ia(i),ia(i+1)-1 j = ja(k) next = iwork(j) iwork(nnz+next) = k iwork(j) = next+1 51 continue 5 continue c c convert to coordinate format c do 6 i=1, n do 61 k=ia(i), ia(i+1)-1 iwork(k) = i 61 continue 6 continue c c loop to find permutation: for each element find the correct c position in (sorted) arrays a, ja. Record this in iwork. c do 7 k=1, nnz ko = iwork(nnz+k) irow = iwork(ko) next = ia(irow) c c the current element should go in next position in row. iwork c records this position. c iwork(ko) = next ia(irow) = next+1 7 continue c c perform an in-place permutation of the arrays. c call ivperm (nnz, ja(ifirst), iwork) if (values) call dvperm (nnz, a(ifirst), iwork) c c reshift the pointers of the original matrix back. c do 8 i=n,1,-1 ia(i+1) = ia(i) 8 continue ia(1) = ifirst c return c---------------end-of-csort-------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine ivperm (n, ix, perm) integer n, perm(n), ix(n) c----------------------------------------------------------------------- c this subroutine performs an in-place permutation of an integer vector c ix according to the permutation array perm(*), i.e., on return, c the vector x satisfies, c c ix(perm(j)) :== ix(j), j=1,2,.., n c c----------------------------------------------------------------------- c on entry: c--------- c n = length of vector x. c perm = integer array of length n containing the permutation array. c ix = input vector c c on return: c---------- c ix = vector x permuted according (perm(*)) := ix(*) c c----------------------------------------------------------------------c c Y. Saad, Sep. 21 1989 c c----------------------------------------------------------------------c c local variables integer tmp, tmp1 c init = 1 tmp = ix(init) ii = perm(init) perm(init)= -perm(init) k = 0 c c loop c 6 k = k+1 c c save the chased element -- c tmp1 = ix(ii) ix(ii) = tmp next = perm(ii) if (next .lt. 0 ) goto 65 c c test for end c if (k .gt. n) goto 101 tmp = tmp1 perm(ii) = - perm(ii) ii = next c c end loop c goto 6 c c reinitilaize cycle -- c 65 init = init+1 if (init .gt. n) goto 101 if (perm(init) .lt. 0) goto 65 tmp = ix(init) ii = perm(init) perm(init)=-perm(init) goto 6 c 101 continue do 200 j=1, n perm(j) = -perm(j) 200 continue c return c-------------------end-of-ivperm--------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine dvperm (n, x, perm) integer n, perm(n) double precision x(n) c----------------------------------------------------------------------- c this subroutine performs an in-place permutation of a real vector x c according to the permutation array perm(*), i.e., on return, c the vector x satisfies, c c x(perm(j)) :== x(j), j=1,2,.., n c c----------------------------------------------------------------------- c on entry: c--------- c n = length of vector x. c perm = integer array of length n containing the permutation array. c x = input vector c c on return: c---------- c x = vector x permuted according to x(perm(*)) := x(*) c c----------------------------------------------------------------------c c Y. Saad, Sep. 21 1989 c c----------------------------------------------------------------------c c local variables double precision tmp, tmp1 c init = 1 tmp = x(init) ii = perm(init) perm(init)= -perm(init) k = 0 c c loop c 6 k = k+1 c c save the chased element -- c tmp1 = x(ii) x(ii) = tmp next = perm(ii) if (next .lt. 0 ) goto 65 c c test for end c if (k .gt. n) goto 101 tmp = tmp1 perm(ii) = - perm(ii) ii = next c c end loop c goto 6 c c reinitilaize cycle -- c 65 init = init+1 if (init .gt. n) goto 101 if (perm(init) .lt. 0) goto 65 tmp = x(init) ii = perm(init) perm(init)=-perm(init) goto 6 c 101 continue do 200 j=1, n perm(j) = -perm(j) 200 continue c return c-------------------end-of-dvperm--------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- double precision function getelm (i,j,a,ja,ia,iadd,sorted) c----------------------------------------------------------------------- c purpose: c -------- c this function returns the element a(i,j) of a matrix a, c for any pair (i,j). the matrix is assumed to be stored c in compressed sparse row (csr) format. getelm performs a c binary search in the case where it is known that the elements c are sorted so that the column indices are in increasing order. c also returns (in iadd) the address of the element a(i,j) in c arrays a and ja when the search is successsful (zero if not). c----- c first contributed by noel nachtigal (mit). c recoded jan. 20, 1991, by y. saad [in particular c added handling of the non-sorted case + the iadd output] c----------------------------------------------------------------------- c parameters: c ----------- c on entry: c---------- c i = the row index of the element sought (input). c j = the column index of the element sought (input). c a = the matrix a in compressed sparse row format (input). c ja = the array of column indices (input). c ia = the array of pointers to the rows' data (input). c sorted = logical indicating whether the matrix is knonw to c have its column indices sorted in increasing order c (sorted=.true.) or not (sorted=.false.). c (input). c on return: c----------- c getelm = value of a(i,j). c iadd = address of element a(i,j) in arrays a, ja if found, c zero if not found. (output) c c note: the inputs i and j are not checked for validity. c----------------------------------------------------------------------- c noel m. nachtigal october 28, 1990 -- youcef saad jan 20, 1991. c----------------------------------------------------------------------- integer i, ia(*), iadd, j, ja(*) double precision a(*) logical sorted c c local variables. c integer ibeg, iend, imid, k c c initialization c iadd = 0 getelm = 0.0 ibeg = ia(i) iend = ia(i+1)-1 c c case where matrix is not necessarily sorted c if (.not. sorted) then c c scan the row - exit as soon as a(i,j) is found c do 5 k=ibeg, iend if (ja(k) .eq. j) then iadd = k goto 20 endif 5 continue c c end unsorted case. begin sorted case c else c c begin binary search. compute the middle index. c 10 imid = ( ibeg + iend ) / 2 c c test if found c if (ja(imid).eq.j) then iadd = imid goto 20 endif if (ibeg .ge. iend) goto 20 c c else update the interval bounds. c if (ja(imid).gt.j) then iend = imid -1 else ibeg = imid +1 endif goto 10 c c end both cases c endif c 20 if (iadd .ne. 0) getelm = a(iadd) c return c--------end-of-getelm-------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine rperm (nrow,a,ja,ia,ao,jao,iao,perm,job) integer nrow,ja(*),ia(nrow+1),jao(*),iao(nrow+1),perm(nrow),job double precision a(*),ao(*) c----------------------------------------------------------------------- c this subroutine permutes the rows of a matrix in CSR format. c rperm computes B = P A where P is a permutation matrix. c the permutation P is defined through the array perm: for each j, c perm(j) represents the destination row number of row number j. c Youcef Saad -- recoded Jan 28, 1991. c----------------------------------------------------------------------- c on entry: c---------- c n = dimension of the matrix c a, ja, ia = input matrix in csr format c perm = integer array of length nrow containing the permutation arrays c for the rows: perm(i) is the destination of row i in the c permuted matrix. c ---> a(i,j) in the original matrix becomes a(perm(i),j) c in the output matrix. c c job = integer indicating the work to be done: c job = 1 permute a, ja, ia into ao, jao, iao c (including the copying of real values ao and c the array iao). c job .ne. 1 : ignore real values. c (in which case arrays a and ao are not needed nor c used). c c------------ c on return: c------------ c ao, jao, iao = input matrix in a, ja, ia format c note : c if (job.ne.1) then the arrays a and ao are not used. c----------------------------------------------------------------------c c Y. Saad, May 2, 1990 c c----------------------------------------------------------------------c logical values values = (job .eq. 1) c c determine pointers for output matix. c do 50 j=1,nrow i = perm(j) iao(i+1) = ia(j+1) - ia(j) 50 continue c c get pointers from lengths c iao(1) = 1 do 51 j=1,nrow iao(j+1)=iao(j+1)+iao(j) 51 continue c c copying c do 100 ii=1,nrow c c old row = ii -- new row = iperm(ii) -- ko = new pointer c ko = iao(perm(ii)) do 60 k=ia(ii), ia(ii+1)-1 jao(ko) = ja(k) if (values) ao(ko) = a(k) ko = ko+1 60 continue 100 continue c return c---------end-of-rperm ------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine filter1(n,rel,drptol,a,ja,ia,b,jb,ib,len,ierr) double precision a(*),b(*),drptol integer ja(*),jb(*),ia(*),ib(*),n,len,ierr c----------------------------------------------------------------------- c Modification of the original filter subroutine in Sparskit2 on 6/17/02 c by Pin Ng c This module removes any elements whose value c is small from an input matrix A and puts the resulting c matrix in B. c----------------------------------------------------------------------- c on entry: c--------- c n = integer. row dimension of matrix c rel = integer that controls the drop criterion c 1 = values greater than drptol are kept c 2 = values greater than or equal to drptol are kept c 3 = values equal to drptol are kept c 4 = values not equal to drptol are kept c drptol = real. drop tolerance used for dropping strategy. c a c ja c ia = input matrix in compressed sparse format c len = integer. the amount of space available in arrays b and jb. c c on return: c---------- c b c jb c ib = resulting matrix in compressed sparse format. c c ierr = integer. containing error message. c ierr .eq. 0 indicates normal return c ierr .gt. 0 indicates that there is'nt enough c space is a and ja to store the resulting matrix. c ierr then contains the row number where filter stopped. c note: c------ This module is in place. (b,jb,ib can ne the same as c a, ja, ia in which case the result will be overwritten). c----------------------------------------------------------------------c c contributed by David Day, Sep 19, 1989. c c----------------------------------------------------------------------c c local variables double precision loctol integer index,row,k,k1,k2,rel c index = 1 goto (100,200,300,400) rel 100 do 10 row= 1,n k1 = ia(row) k2 = ia(row+1) - 1 ib(row) = index loctol = drptol do 11 k = k1,k2 if( a(k) .gt. loctol)then if (index .gt. len) then ierr = row return endif b(index) = a(k) jb(index) = ja(k) index = index + 1 endif 11 continue 10 continue ib(n+1) = index return 200 do 20 row= 1,n k1 = ia(row) k2 = ia(row+1) - 1 ib(row) = index loctol = drptol do 21 k = k1,k2 if( a(k) .ge. loctol)then if (index .gt. len) then ierr = row return endif b(index) = a(k) jb(index) = ja(k) index = index + 1 endif 21 continue 20 continue ib(n+1) = index return 300 do 30 row= 1,n k1 = ia(row) k2 = ia(row+1) - 1 ib(row) = index loctol = drptol do 31 k = k1,k2 if( a(k) .eq. loctol)then if (index .gt. len) then ierr = row return endif b(index) = a(k) jb(index) = ja(k) index = index + 1 endif 31 continue 30 continue ib(n+1) = index return 400 do 40 row= 1,n k1 = ia(row) k2 = ia(row+1) - 1 ib(row) = index loctol = drptol do 41 k = k1,k2 if( a(k) .ne. loctol)then if (index .gt. len) then ierr = row return endif b(index) = a(k) jb(index) = ja(k) index = index + 1 endif 41 continue 40 continue ib(n+1) = index return c--------------------end-of-filter ------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine amubdg (nrow,ncol,ncolb,ja,ia,jb,ib,ndegr,nnz,iw) integer ja(*),jb(*),ia(nrow+1),ib(ncol+1),ndegr(nrow),iw(ncolb) c----------------------------------------------------------------------- c gets the number of nonzero elements in each row of A*B and the total c number of nonzero elements in A*B. c----------------------------------------------------------------------- c on entry: c -------- c c nrow = integer. row dimension of matrix A c ncol = integer. column dimension of matrix A = row dimension of c matrix B. c ncolb = integer. the colum dimension of the matrix B. c c ja, ia= row structure of input matrix A: ja = column indices of c the nonzero elements of A stored by rows. c ia = pointer to beginning of each row in ja. c c jb, ib= row structure of input matrix B: jb = column indices of c the nonzero elements of A stored by rows. c ib = pointer to beginning of each row in jb. c c on return: c --------- c ndegr = integer array of length nrow containing the degrees (i.e., c the number of nonzeros in each row of the matrix A * B c c nnz = total number of nonzero elements found in A * B c c work arrays: c------------- c iw = integer work array of length ncolb. c----------------------------------------------------------------------- do 1 k=1, ncolb iw(k) = 0 1 continue do 2 k=1, nrow ndegr(k) = 0 2 continue c c method used: Transp(A) * A = sum [over i=1, nrow] a(i)^T a(i) c where a(i) = i-th row of A. We must be careful not to add the c elements already accounted for. c c do 7 ii=1,nrow c c for each row of A c ldg = 0 c c end-of-linked list c last = -1 do 6 j = ia(ii),ia(ii+1)-1 c c row number to be added: c jr = ja(j) do 5 k=ib(jr),ib(jr+1)-1 jc = jb(k) if (iw(jc) .eq. 0) then c c add one element to the linked list c ldg = ldg + 1 iw(jc) = last last = jc endif 5 continue 6 continue ndegr(ii) = ldg c c reset iw to zero c do 61 k=1,ldg j = iw(last) iw(last) = 0 last = j 61 continue c----------------------------------------------------------------------- 7 continue c nnz = 0 do 8 ii=1, nrow nnz = nnz+ndegr(ii) 8 continue c return c---------------end-of-amubdg ------------------------------------------ c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine aplbdg (nrow,ncol,ja,ia,jb,ib,ndegr,nnz,iw) integer ja(*),jb(*),ia(nrow+1),ib(nrow+1),iw(ncol),ndegr(nrow) c----------------------------------------------------------------------- c gets the number of nonzero elements in each row of A+B and the total c number of nonzero elements in A+B. c----------------------------------------------------------------------- c on entry: c --------- c nrow = integer. The row dimension of A and B c ncol = integer. The column dimension of A and B. c c a, c ja, c ia = Matrix A in compressed sparse row format. c c b, c jb, c ib = Matrix B in compressed sparse row format. c c on return: c---------- c ndegr = integer array of length nrow containing the degrees (i.e., c the number of nonzeros in each row of the matrix A + B. c c nnz = total number of nonzero elements found in A * B c c work arrays: c------------ c iw = integer work array of length equal to ncol. c c----------------------------------------------------------------------- do 1 k=1, ncol iw(k) = 0 1 continue c do 2 k=1, nrow ndegr(k) = 0 2 continue c do 7 ii=1,nrow ldg = 0 c c end-of-linked list c last = -1 c c row of A c do 5 j = ia(ii),ia(ii+1)-1 jr = ja(j) c c add element to the linked list c ldg = ldg + 1 iw(jr) = last last = jr 5 continue c c row of B c do 6 j=ib(ii),ib(ii+1)-1 jc = jb(j) if (iw(jc) .eq. 0) then c c add one element to the linked list c ldg = ldg + 1 iw(jc) = last last = jc endif 6 continue c done with row ii. ndegr(ii) = ldg c c reset iw to zero c do 61 k=1,ldg j = iw(last) iw(last) = 0 last = j 61 continue c----------------------------------------------------------------------- 7 continue c nnz = 0 do 8 ii=1, nrow nnz = nnz+ndegr(ii) 8 continue return c----------------end-of-aplbdg ----------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- c----------------------------------------------------------------------c c S P A R S K I T c c----------------------------------------------------------------------c c BASIC LINEAR ALGEBRA FOR SPARSE MATRICES. BLASSM MODULE c c----------------------------------------------------------------------c c amub : computes C = A*B c c aplb : computes C = A+B c c aplsb : computes C = A + s B c c amudia : Computes C = A* Diag c c aemub : computes element-wise C = A * B c c aedib : computes element-wise C = A / B c c aeexpb : computes element-wise C = A ^ B c c----------------------------------------------------------------------c c Note: this module still incomplete. c c----------------------------------------------------------------------c subroutine amub (nrow,ncol,job,a,ja,ia,b,jb,ib, * c,jc,ic,nzmax,iw,ierr) double precision a(*), b(*), c(*) integer ja(*),jb(*),jc(*),ia(nrow+1),ib(*),ic(*),iw(ncol) c----------------------------------------------------------------------- c performs the matrix by matrix product C = A B c----------------------------------------------------------------------- c on entry: c --------- c nrow = integer. The row dimension of A = row dimension of C c ncol = integer. The column dimension of B = column dimension of C c job = integer. Job indicator. When job = 0, only the structure c (i.e. the arrays jc, ic) is computed and the c real values are ignored. c c a, c ja, c ia = Matrix A in compressed sparse row format. c c b, c jb, c ib = Matrix B in compressed sparse row format. c c nzmax = integer. The length of the arrays c and jc. c amub will stop if the result matrix C has a number c of elements that exceeds exceeds nzmax. See ierr. c c on return: c---------- c c, c jc, c ic = resulting matrix C in compressed sparse row sparse format. c c ierr = integer. serving as error message. c ierr = 0 means normal return, c ierr .gt. 0 means that amub stopped while computing the c i-th row of C with i=ierr, because the number c of elements in C exceeds nzmax. c c work arrays: c------------ c iw = integer work array of length equal to the number of c columns in B. c Note: c------- c The row dimension of B is not needed. However there is no checking c on the condition that ncol(A) = nrow(B). c c----------------------------------------------------------------------- double precision scal logical values values = (job .ne. 0) len = 0 ic(1) = 1 ierr = 0 c initialize array iw. do 1 j=1, ncol iw(j) = 0 1 continue c do 500 ii=1, nrow c row i do 200 ka=ia(ii), ia(ii+1)-1 if (values) scal = a(ka) jj = ja(ka) do 100 kb=ib(jj),ib(jj+1)-1 jcol = jb(kb) jpos = iw(jcol) if (jpos .eq. 0) then len = len+1 if (len .gt. nzmax) then ierr = ii return endif jc(len) = jcol iw(jcol)= len if (values) c(len) = scal*b(kb) else if (values) c(jpos) = c(jpos) + scal*b(kb) endif 100 continue 200 continue do 201 k=ic(ii), len iw(jc(k)) = 0 201 continue ic(ii+1) = len+1 500 continue return c-------------end-of-amub----------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine aplb (nrow,ncol,job,a,ja,ia,b,jb,ib, * c,jc,ic,nzmax,iw,ierr) double precision a(*), b(*), c(*) integer ja(*),jb(*),jc(*),ia(nrow+1),ib(nrow+1),ic(nrow+1), * iw(ncol) c----------------------------------------------------------------------- c performs the matrix sum C = A+B. c----------------------------------------------------------------------- c on entry: c --------- c nrow = integer. The row dimension of A and B c ncol = integer. The column dimension of A and B. c job = integer. Job indicator. When job = 0, only the structure c (i.e. the arrays jc, ic) is computed and the c real values are ignored. c c a, c ja, c ia = Matrix A in compressed sparse row format. c c b, c jb, c ib = Matrix B in compressed sparse row format. c c nzmax = integer. The length of the arrays c and jc. c amub will stop if the result matrix C has a number c of elements that exceeds exceeds nzmax. See ierr. c c on return: c---------- c c, c jc, c ic = resulting matrix C in compressed sparse row sparse format. c c ierr = integer. serving as error message. c ierr = 0 means normal return, c ierr .gt. 0 means that amub stopped while computing the c i-th row of C with i=ierr, because the number c of elements in C exceeds nzmax. c c work arrays: c------------ c iw = integer work array of length equal to the number of c columns in A. c c----------------------------------------------------------------------- logical values values = (job .ne. 0) ierr = 0 len = 0 ic(1) = 1 do 1 j=1, ncol iw(j) = 0 1 continue c do 500 ii=1, nrow c row i do 200 ka=ia(ii), ia(ii+1)-1 len = len+1 jcol = ja(ka) if (len .gt. nzmax) goto 999 jc(len) = jcol if (values) c(len) = a(ka) iw(jcol)= len 200 continue c do 300 kb=ib(ii),ib(ii+1)-1 jcol = jb(kb) jpos = iw(jcol) if (jpos .eq. 0) then len = len+1 if (len .gt. nzmax) goto 999 jc(len) = jcol if (values) c(len) = b(kb) iw(jcol)= len else if (values) c(jpos) = c(jpos) + b(kb) endif 300 continue do 301 k=ic(ii), len iw(jc(k)) = 0 301 continue ic(ii+1) = len+1 500 continue return 999 ierr = ii return c------------end of aplb ----------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine aplsb (nrow,ncol,job,a,ja,ia,s,b,jb,ib, * c,jc,ic,nzmax,iw,ierr) double precision a(*), b(*), c(*), s integer ja(*),jb(*),jc(*),ia(nrow+1),ib(nrow+1),ic(nrow+1), * iw(ncol) c----------------------------------------------------------------------- c performs the matrix sum C = A+*B. c Modified from aplb by Pin Ng on 2/26/03 c There is no difference between the original aplsb and aplsb1 in SPARSKIT2 c----------------------------------------------------------------------- c on entry: c --------- c nrow = integer. The row dimension of A and B c ncol = integer. The column dimension of A and B. c job = integer. Job indicator. When job = 0, only the structure c (i.e. the arrays jc, ic) is computed and the c real values are ignored. c c a, c ja, c ia = Matrix A in compressed sparse row format. c c b, c jb, c ib = Matrix B in compressed sparse row format. c c nzmax = integer. The length of the arrays c and jc. c amub will stop if the result matrix C has a number c of elements that exceeds exceeds nzmax. See ierr. c c on return: c---------- c c, c jc, c ic = resulting matrix C in compressed sparse row sparse format. c c ierr = integer. serving as error message. c ierr = 0 means normal return, c ierr .gt. 0 means that amub stopped while computing the c i-th row of C with i=ierr, because the number c of elements in C exceeds nzmax. c c work arrays: c------------ c iw = integer work array of length equal to the number of c columns in A. c c----------------------------------------------------------------------- logical values values = (job .ne. 0) ierr = 0 len = 0 ic(1) = 1 do 1 j=1, ncol iw(j) = 0 1 continue c do 500 ii=1, nrow c row i do 200 ka=ia(ii), ia(ii+1)-1 len = len+1 jcol = ja(ka) if (len .gt. nzmax) goto 999 jc(len) = jcol if (values) c(len) = a(ka) iw(jcol)= len 200 continue c do 300 kb=ib(ii),ib(ii+1)-1 jcol = jb(kb) jpos = iw(jcol) if (jpos .eq. 0) then len = len+1 if (len .gt. nzmax) goto 999 jc(len) = jcol if (values) c(len) = s*b(kb) iw(jcol)= len else if (values) c(jpos) = c(jpos) + s*b(kb) endif 300 continue do 301 k=ic(ii), len iw(jc(k)) = 0 301 continue ic(ii+1) = len+1 500 continue return 999 ierr = ii return c------------end of aplsb ----------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine aplsb1 (nrow,ncol,a,ja,ia,s,b,jb,ib,c,jc,ic, * nzmax,ierr) double precision a(*), b(*), c(*), s integer ja(*),jb(*),jc(*),ia(nrow+1),ib(nrow+1),ic(nrow+1) c----------------------------------------------------------------------- c performs the operation C = A+s B for matrices in sorted CSR format. c the difference with aplsb is that the resulting matrix is such that c the elements of each row are sorted with increasing column indices in c each row, provided the original matrices are sorted in the same way. c----------------------------------------------------------------------- c on entry: c --------- c nrow = integer. The row dimension of A and B c ncol = integer. The column dimension of A and B. c c a, c ja, c ia = Matrix A in compressed sparse row format with entries sorted c c s = real. scalar factor for B. c c b, c jb, c ib = Matrix B in compressed sparse row format with entries sorted c ascendly in each row c c nzmax = integer. The length of the arrays c and jc. c amub will stop if the result matrix C has a number c of elements that exceeds exceeds nzmax. See ierr. c c on return: c---------- c c, c jc, c ic = resulting matrix C in compressed sparse row sparse format c with entries sorted ascendly in each row. c c ierr = integer. serving as error message. c ierr = 0 means normal return, c ierr .gt. 0 means that amub stopped while computing the c i-th row of C with i=ierr, because the number c of elements in C exceeds nzmax. c c Notes: c------- c this will not work if any of the two input matrices is not sorted c----------------------------------------------------------------------- ierr = 0 kc = 1 ic(1) = kc c c the following loop does a merge of two sparse rows + adds them. c do 6 i=1, nrow ka = ia(i) kb = ib(i) kamax = ia(i+1)-1 kbmax = ib(i+1)-1 5 continue c c this is a while -- do loop -- c if (ka .le. kamax .or. kb .le. kbmax) then c if (ka .le. kamax) then j1 = ja(ka) else c take j1 large enough that always j2 .lt. j1 j1 = ncol+1 endif if (kb .le. kbmax) then j2 = jb(kb) else c similarly take j2 large enough that always j1 .lt. j2 j2 = ncol+1 endif c c three cases c if (j1 .eq. j2) then c(kc) = a(ka)+s*b(kb) jc(kc) = j1 ka = ka+1 kb = kb+1 kc = kc+1 else if (j1 .lt. j2) then jc(kc) = j1 c(kc) = a(ka) ka = ka+1 kc = kc+1 else if (j1 .gt. j2) then jc(kc) = j2 c(kc) = s*b(kb) kb = kb+1 kc = kc+1 endif if (kc .gt. nzmax) goto 999 goto 5 c c end while loop c endif ic(i+1) = kc 6 continue return 999 ierr = i return c------------end-of-aplsb --------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine amudia (nrow,job, a, ja, ia, diag, b, jb, ib) double precision a(*), b(*), diag(*) integer ja(*),jb(*), ia(nrow+1),ib(nrow+1) c----------------------------------------------------------------------- c performs the matrix by matrix product B = A * Diag (in place) c----------------------------------------------------------------------- c on entry: c --------- c nrow = integer. The row dimension of A c c job = integer. job indicator. Job=0 means get array b only c job = 1 means get b, and the integer arrays ib, jb. c c a, c ja, c ia = Matrix A in compressed sparse row format. c c diag = diagonal matrix stored as a vector dig(1:n) c c on return: c---------- c c b, c jb, c ib = resulting matrix B in compressed sparse row sparse format. c c Notes: c------- c 1) The column dimension of A is not needed. c 2) algorithm in place (B can take the place of A). c----------------------------------------------------------------- do 1 ii=1,nrow c c scale each element c k1 = ia(ii) k2 = ia(ii+1)-1 do 2 k=k1, k2 b(k) = a(k)*diag(ja(k)) 2 continue 1 continue c if (job .eq. 0) return c do 3 ii=1, nrow+1 ib(ii) = ia(ii) 3 continue do 31 k=ia(1), ia(nrow+1) -1 jb(k) = ja(k) 31 continue return c----------------------------------------------------------------------- c-----------end-of-amudiag---------------------------------------------- end c----------------------------------------------------------------------- subroutine aemub (nrow,ncol,a,ja,ia,amask,jmask,imask, * c,jc,ic,iw,aw,nzmax,ierr) c--------------------------------------------------------------------- double precision a(*),c(*),amask(*),aw(ncol) integer ia(nrow+1),ja(*),jc(*),ic(nrow+1),jmask(*),imask(nrow+1) logical iw(ncol) c----------------------------------------------------------------------- c Modified from amask by Pin T. Ng on 2/27/03 to perform c element-wise multiplication c----------------------------------------------------------------------- c On entry: c--------- c nrow = integer. row dimension of input matrix c ncol = integer. Column dimension of input matrix. c c a, c ja, c ia = the A matrix in Compressed Sparse Row format c c amask, c jmask, c imask = matrix defining mask stored in compressed c sparse row format. (This is the B matrix) c c nzmax = length of arrays c and jc. see ierr. c c On return: c----------- c c a, ja, ia and amask, jmask, imask are unchanged. c c c c jc, c ic = the output matrix in Compressed Sparse Row format. c c ierr = integer. serving as error message.c c ierr = 1 means normal return c ierr .gt. 1 means that amask stopped when processing c row number ierr, because there was not enough space in c c, jc according to the value of nzmax. c c work arrays: c------------- c iw = logical work array of length ncol. c aw = real work array of length ncol. c c note: c------ the algorithm is in place: c, jc, ic can be the same as c a, ja, ia in which cas the code will overwrite the matrix c c on a, ja, ia c c----------------------------------------------------------------------- ierr = 0 len = 0 do 1 j=1, ncol iw(j) = .false. aw(j) = 0.0 1 continue c unpack the mask for row ii in iw do 100 ii=1, nrow c save pointer and value in order to be able to do things in place do 2 k=imask(ii), imask(ii+1)-1 iw(jmask(k)) = .true. aw(jmask(k)) = amask(k) 2 continue c add umasked elemnts of row ii k1 = ia(ii) k2 = ia(ii+1)-1 ic(ii) = len+1 do 200 k=k1,k2 j = ja(k) if (iw(j)) then len = len+1 if (len .gt. nzmax) then ierr = ii return endif jc(len) = j c(len) = a(k)*aw(j) endif 200 continue c do 3 k=imask(ii), imask(ii+1)-1 iw(jmask(k)) = .false. aw(jmask(k)) = 0.0 3 continue 100 continue ic(nrow+1)=len+1 c return c-----end-of-aemub ----------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine aemub1 (nrow,ncol,a,ja,ia,b,jb,ib,c,jc,ic, * nzmax,ierr) double precision a(*), b(*), c(*) integer ja(*),jb(*),jc(*),ia(nrow+1),ib(nrow+1),ic(nrow+1) c----------------------------------------------------------------------- c A modification of aplsb by Pin Ng on 6/12/02 to c perform the element-wise operation C = A*B for matrices in c sorted CSR format. c the difference with aplsb is that the resulting matrix is such that c the elements of each row are sorted with increasing column indices in c each row, provided the original matrices are sorted in the same way. c----------------------------------------------------------------------- c on entry: c --------- c nrow = integer. The row dimension of A and B c ncol = integer. The column dimension of A and B. c c a, c ja, c ia = Matrix A in compressed sparse row format with entries sorted c c b, c jb, c ib = Matrix B in compressed sparse row format with entries sorted c ascendly in each row c c nzmax = integer. The length of the arrays c and jc. c amub will stop if the result matrix C has a number c of elements that exceeds exceeds nzmax. See ierr. c c on return: c---------- c c, c jc, c ic = resulting matrix C in compressed sparse row sparse format c with entries sorted ascendly in each row. c c ierr = integer. serving as error message. c ierr = 0 means normal return, c ierr .gt. 0 means that amub stopped while computing the c i-th row of C with i=ierr, because the number c of elements in C exceeds nzmax. c c Notes: c------- c this will not work if any of the two input matrices is not sorted c----------------------------------------------------------------------- ierr = 0 kc = 1 ic(1) = kc c c the following loop does a merge of two sparse rows and c multiplies them. c do 6 i=1, nrow ka = ia(i) kb = ib(i) kamax = ia(i+1)-1 kbmax = ib(i+1)-1 5 continue c c this is a while -- do loop -- c if (ka .le. kamax .or. kb .le. kbmax) then c if (ka .le. kamax) then j1 = ja(ka) else c take j1 large enough that always j2 .lt. j1 j1 = ncol+1 endif if (kb .le. kbmax) then j2 = jb(kb) else c similarly take j2 large enough that always j1 .lt. j2 j2 = ncol+1 endif c c three cases c if (j1 .eq. j2) then c(kc) = a(ka)*b(kb) jc(kc) = j1 ka = ka+1 kb = kb+1 kc = kc+1 else if (j1 .lt. j2) then ka = ka+1 else if (j1 .gt. j2) then kb = kb+1 endif if (kc .gt. nzmax) goto 999 goto 5 c c end while loop c endif ic(i+1) = kc 6 continue return 999 ierr = i return c------------end-of-aemub1 --------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine aedib (nrow,ncol,job,a,ja,ia,b,jb,ib, * c,jc,ic,nzmax,iw,aw,ierr) double precision a(*), b(*), c(*), aw(ncol) integer ja(*),jb(*),jc(*),ia(nrow+1),ib(nrow+1),ic(nrow+1), * iw(ncol) c----------------------------------------------------------------------- c performs the element-wise matrix division C = A/B. c Modified from aplsb by Pin Ng on 2/27/03 c----------------------------------------------------------------------- c on entry: c --------- c nrow = integer. The row dimension of A and B c ncol = integer. The column dimension of A and B. c job = integer. Job indicator. When job = 0, only the structure c (i.e. the arrays jc, ic) is computed and the c real values are ignored. c c a, c ja, c ia = Matrix A in compressed sparse row format. c c b, c jb, c ib = Matrix B in compressed sparse row format. c c nzmax = integer. The length of the arrays c and jc. c amub will stop if the result matrix C has a number c of elements that exceeds exceeds nzmax. See ierr. c c on return: c---------- c c, c jc, c ic = resulting matrix C in compressed sparse row sparse format. c c ierr = integer. serving as error message. c ierr = 0 means normal return, c ierr .gt. 0 means that amub stopped while computing the c i-th row of C with i=ierr, because the number c of elements in C exceeds nzmax. c c work arrays: c------------ c iw = integer work array of length equal to the number of c columns in A. c aw = real work array of length equal to the number of c columns in A. c c----------------------------------------------------------------------- logical values values = (job .ne. 0) ierr = 0 len = 0 ic(1) = 1 do 1 j=1, ncol iw(j) = 0 1 continue c do 500 ii=1, nrow c row i do 200 ka=ia(ii), ia(ii+1)-1 len = len+1 jcol = ja(ka) if (len .gt. nzmax) goto 999 jc(len) = jcol if (values) c(len) = a(ka)/0.0 iw(jcol)= len aw(jcol) = a(ka) 200 continue c do 300 kb=ib(ii),ib(ii+1)-1 jcol = jb(kb) jpos = iw(jcol) if (jpos .eq. 0) then len = len+1 if (len .gt. nzmax) goto 999 jc(len) = jcol if (values) c(len) = 0.0 iw(jcol)= len else if (values) c(jpos) = aw(jcol)/b(kb) endif 300 continue do 301 k=ic(ii), len iw(jc(k)) = 0 301 continue ic(ii+1) = len+1 500 continue return 999 ierr = ii return c------------end of aedib ----------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine aeexpb (nrow,ncol,job,a,ja,ia,b,jb,ib, * c,jc,ic,nzmax,iw,aw,ierr) double precision a(*), b(*), c(*), aw(ncol) integer ja(*),jb(*),jc(*),ia(nrow+1),ib(nrow+1),ic(nrow+1), * iw(ncol) c----------------------------------------------------------------------- c performs the element-wise matrix division C = A/B. c Modified from aplsb by Pin Ng on 2/27/03 c----------------------------------------------------------------------- c on entry: c --------- c nrow = integer. The row dimension of A and B c ncol = integer. The column dimension of A and B. c job = integer. Job indicator. When job = 0, only the structure c (i.e. the arrays jc, ic) is computed and the c real values are ignored. c c a, c ja, c ia = Matrix A in compressed sparse row format. c c b, c jb, c ib = Matrix B in compressed sparse row format. c c nzmax = integer. The length of the arrays c and jc. c amub will stop if the result matrix C has a number c of elements that exceeds exceeds nzmax. See ierr. c c on return: c---------- c c, c jc, c ic = resulting matrix C in compressed sparse row sparse format. c c ierr = integer. serving as error message. c ierr = 0 means normal return, c ierr .gt. 0 means that amub stopped while computing the c i-th row of C with i=ierr, because the number c of elements in C exceeds nzmax. c c work arrays: c------------ c iw = integer work array of length equal to the number of c columns in A. c aw = real work array of length equal to the number of c columns in A. c c----------------------------------------------------------------------- logical values values = (job .ne. 0) ierr = 0 len = 0 ic(1) = 1 do 1 j=1, ncol iw(j) = 0 1 continue c do 500 ii=1, nrow c row i do 200 ka=ia(ii), ia(ii+1)-1 len = len+1 jcol = ja(ka) if (len .gt. nzmax) goto 999 jc(len) = jcol if (values) c(len) = 1.0 iw(jcol)= len aw(jcol) = a(ka) 200 continue c do 300 kb=ib(ii),ib(ii+1)-1 jcol = jb(kb) jpos = iw(jcol) if (jpos .eq. 0) then len = len+1 if (len .gt. nzmax) goto 999 jc(len) = jcol if (values) c(len) = 0.0**b(kb) iw(jcol)= len else if (values) c(jpos) = aw(jcol)**b(kb) endif 300 continue do 301 k=ic(ii), len iw(jc(k)) = 0 301 continue ic(ii+1) = len+1 500 continue return 999 ierr = ii return c------------end of aeexpb ----------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- c S P A R S K I T c c----------------------------------------------------------------------c c BASIC MATRIX-VECTOR OPERATIONS - MATVEC MODULE c c Matrix-vector Mulitiplications and Triang. Solves c c----------------------------------------------------------------------c c contents: (as of Nov 18, 1991) c c---------- c c 1) Matrix-vector products: c c--------------------------- c c amux : A times a vector. Compressed Sparse Row (CSR) format. c c----------------------------------------------------------------------c c 1) M A T R I X B Y V E C T O R P R O D U C T S c c----------------------------------------------------------------------c subroutine amux (n, x, y, a,ja,ia) double precision x(*), y(*), a(*) integer n, ja(*), ia(*) c----------------------------------------------------------------------- c A times a vector c----------------------------------------------------------------------- c multiplies a matrix by a vector using the dot product form c Matrix A is stored in compressed sparse row storage. c c on entry: c---------- c n = row dimension of A c x = real array of length equal to the column dimension of c the A matrix. c a, ja, c ia = input matrix in compressed sparse row format. c c on return: c----------- c y = real array of length n, containing the product y=Ax c c----------------------------------------------------------------------- c local variables c double precision t integer i, k c----------------------------------------------------------------------- do 100 i = 1,n c c compute the inner product of row i with vector x c t = 0.0d0 do 99 k=ia(i), ia(i+1)-1 t = t + a(k)*x(ja(k)) 99 continue c c store result in y(i) c y(i) = t 100 continue c return end c---------end-of-amux--------------------------------------------------- c S P A R S K I T c c----------------------------------------------------------------------c c FORMAT CONVERSION MODULE c c----------------------------------------------------------------------c c contents: c c---------- c c csrdns : converts a row-stored sparse matrix into the dense format. c c dnscsr : converts a dense matrix to a sparse storage format. c c coocsr : converts coordinate to to csr format c c coicsr : in-place conversion of coordinate to csr format c c csrcoo : converts compressed sparse row to coordinate. c c csrcsc2 : rectangular version of csrcsc c c csrmsr : converts compressed sparse row format to modified sparse c c row format c c csrssr : converts compressed sparse row to symmetric sparse row c c ssrcsr : converts symmetric sparse row to compressed sparse row c c cscssc : converts compressed sparse column to symmetric sparse c c column c c----------------------------------------------------------------------c subroutine csrdns(nrow,ncol,a,ja,ia,dns,ndns,ierr) double precision dns(ndns,*),a(*) integer ja(*),ia(*) c----------------------------------------------------------------------- c Compressed Sparse Row to Dense c----------------------------------------------------------------------- c c converts a row-stored sparse matrix into a densely stored one c c On entry: c---------- c c nrow = row-dimension of a c ncol = column dimension of a c a, c ja, c ia = input matrix in compressed sparse row format. c (a=value array, ja=column array, ia=pointer array) c dns = array where to store dense matrix c ndns = first dimension of array dns c c on return: c----------- c dns = the sparse matrix a, ja, ia has been stored in dns(ndns,*) c c ierr = integer error indicator. c ierr .eq. 0 means normal return c ierr .eq. i means that the code has stopped when processing c row number i, because it found a column number .gt. ncol. c c----------------------------------------------------------------------- ierr = 0 do 1 i=1, nrow do 2 j=1,ncol dns(i,j) = 0.0d0 2 continue 1 continue c do 4 i=1,nrow do 3 k=ia(i),ia(i+1)-1 j = ja(k) if (j .gt. ncol) then ierr = i return endif dns(i,j) = a(k) 3 continue 4 continue return c---- end of csrdns ---------------------------------------------------- c----------------------------------------------------------------------- end subroutine dnscsr(nrow,ncol,nzmax,dns,ndns,a,ja,ia,ierr) double precision dns(ndns,*),a(*) integer ia(*),ja(*) c----------------------------------------------------------------------- c Dense to Compressed Row Sparse c----------------------------------------------------------------------- c c converts a densely stored matrix into a row orientied c compactly sparse matrix. ( reverse of csrdns ) c Note: this routine does not check whether an element c is small. It considers that a(i,j) is zero if it is exactly c equal to zero: see test below. c----------------------------------------------------------------------- c on entry: c--------- c c nrow = row-dimension of a c ncol = column dimension of a c nzmax = maximum number of nonzero elements allowed. This c should be set to be the lengths of the arrays a and ja. c dns = input nrow x ncol (dense) matrix. c ndns = first dimension of dns. c c on return: c---------- c c a, ja, ia = value, column, pointer arrays for output matrix c c ierr = integer error indicator: c ierr .eq. 0 means normal retur c ierr .eq. i means that the the code stopped while c processing row number i, because there was no space left in c a, and ja (as defined by parameter nzmax). c----------------------------------------------------------------------- ierr = 0 next = 1 ia(1) = 1 do 4 i=1,nrow do 3 j=1, ncol if (dns(i,j) .eq. 0.0d0) goto 3 if (next .gt. nzmax) then ierr = i return endif ja(next) = j a(next) = dns(i,j) next = next+1 3 continue ia(i+1) = next 4 continue return c---- end of dnscsr ---------------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine coocsr(nrow,nnz,a,ir,jc,ao,jao,iao) c----------------------------------------------------------------------- double precision a(*),ao(*),x integer ir(*),jc(*),jao(*),iao(*) c----------------------------------------------------------------------- c Coordinate to Compressed Sparse Row c----------------------------------------------------------------------- c converts a matrix that is stored in coordinate format c a, ir, jc into a row general sparse ao, jao, iao format. c c on entry: c--------- c nrow = dimension of the matrix c nnz = number of nonzero elements in matrix c a, c ir, c jc = matrix in coordinate format. a(k), ir(k), jc(k) store the nnz c nonzero elements of the matrix with a(k) = actual real value of c the elements, ir(k) = its row number and jc(k) = its column c number. The order of the elements is arbitrary. c c on return: c----------- c ir is destroyed c c ao, jao, iao = matrix in general sparse matrix format with ao c continung the real values, jao containing the column indices, c and iao being the pointer to the beginning of the row, c in arrays ao, jao. c c Notes: c------ This routine is NOT in place. See coicsr c c------------------------------------------------------------------------ do 1 k=1,nrow+1 iao(k) = 0 1 continue c determine row-lengths. do 2 k=1, nnz iao(ir(k)) = iao(ir(k))+1 2 continue c starting position of each row.. k = 1 do 3 j=1,nrow+1 k0 = iao(j) iao(j) = k k = k+k0 3 continue c go through the structure once more. Fill in output matrix. do 4 k=1, nnz i = ir(k) j = jc(k) x = a(k) iad = iao(i) ao(iad) = x jao(iad) = j iao(i) = iad+1 4 continue c shift back iao do 5 j=nrow,1,-1 iao(j+1) = iao(j) 5 continue iao(1) = 1 return c------------- end of coocsr ------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine coicsr (n,nnz,job,a,ja,ia,iwk) integer ia(nnz),ja(nnz),iwk(n+1) double precision a(*) c------------------------------------------------------------------------ c IN-PLACE coo-csr conversion routine. c------------------------------------------------------------------------ c this subroutine converts a matrix stored in coordinate format into c the csr format. The conversion is done in place in that the arrays c a,ja,ia of the result are overwritten onto the original arrays. c------------------------------------------------------------------------ c on entry: c--------- c n = integer. row dimension of A. c nnz = integer. number of nonzero elements in A. c job = integer. Job indicator. when job=1, the real values in a are c filled. Otherwise a is not touched and the structure of the c array only (i.e. ja, ia) is obtained. c a = real array of size nnz (number of nonzero elements in A) c containing the nonzero elements c ja = integer array of length nnz containing the column positions c of the corresponding elements in a. c ia = integer array of length nnz containing the row positions c of the corresponding elements in a. c iwk = integer work array of length n+1 c on return: c---------- c a c ja c ia = contains the compressed sparse row data structure for the c resulting matrix. c Note: c------- c the entries of the output matrix are not sorted (the column c indices in each are not in increasing order) use coocsr c if you want them sorted. c----------------------------------------------------------------------c c Coded by Y. Saad, Sep. 26 1989 c c----------------------------------------------------------------------c double precision t,tnext logical values c----------------------------------------------------------------------- values = (job .eq. 1) c find pointer array for resulting matrix. do 35 i=1,n+1 iwk(i) = 0 35 continue do 4 k=1,nnz i = ia(k) iwk(i+1) = iwk(i+1)+1 4 continue c------------------------------------------------------------------------ iwk(1) = 1 do 44 i=2,n iwk(i) = iwk(i-1) + iwk(i) 44 continue c c loop for a cycle in chasing process. c init = 1 k = 0 5 if (values) t = a(init) i = ia(init) j = ja(init) ia(init) = -1 c------------------------------------------------------------------------ 6 k = k+1 c current row number is i. determine where to go. ipos = iwk(i) c save the chased element. if (values) tnext = a(ipos) inext = ia(ipos) jnext = ja(ipos) c then occupy its location. if (values) a(ipos) = t ja(ipos) = j c update pointer information for next element to come in row i. iwk(i) = ipos+1 c determine next element to be chased, if (ia(ipos) .lt. 0) goto 65 t = tnext i = inext j = jnext ia(ipos) = -1 if (k .lt. nnz) goto 6 goto 70 65 init = init+1 if (init .gt. nnz) goto 70 if (ia(init) .lt. 0) goto 65 c restart chasing -- goto 5 70 do 80 i=1,n ia(i+1) = iwk(i) 80 continue ia(1) = 1 return c----------------- end of coicsr ---------------------------------------- c------------------------------------------------------------------------ end c----------------------------------------------------------------------- subroutine csrcoo (nrow,job,nzmax,a,ja,ia,nnz,ao,ir,jc,ierr) c----------------------------------------------------------------------- double precision a(*),ao(*) integer ir(*),jc(*),ja(*),ia(nrow+1) c----------------------------------------------------------------------- c Compressed Sparse Row to Coordinate c----------------------------------------------------------------------- c converts a matrix that is stored in coordinate format c a, ir, jc into a row general sparse ao, jao, iao format. c c on entry: c--------- c nrow = dimension of the matrix. c job = integer serving as a job indicator. c if job = 1 fill in only the array ir, ignore jc, and ao. c if job = 2 fill in ir, and jc but not ao c if job = 3 fill in everything. c The reason why these options are provided is that on return c ao and jc are the same as a, ja. So when job = 3, a and ja are c simply copied into ao, jc. When job=2, only jc and ir are c returned. With job=1 only the array ir is returned. Moreover, c the algorithm is in place: c call csrcoo (nrow,1,nzmax,a,ja,ia,nnz,a,ia,ja,ierr) c will write the output matrix in coordinate format on a, ja,ia. c c a, c ja, c ia = matrix in compressed sparse row format. c nzmax = length of space available in ao, ir, jc. c the code will stop immediatly if the number of c nonzero elements found in input matrix exceeds nzmax. c c on return: c----------- c ao, ir, jc = matrix in coordinate format. c c nnz = number of nonzero elements in matrix. c ierr = integer error indicator. c ierr .eq. 0 means normal retur c ierr .eq. 1 means that the the code stopped c because there was no space in ao, ir, jc c (according to the value of nzmax). c c NOTES: 1)This routine is PARTIALLY in place: csrcoo can be called with c ao being the same array as as a, and jc the same array as ja. c but ir CANNOT be the same as ia. c 2) note the order in the output arrays, c------------------------------------------------------------------------ ierr = 0 nnz = ia(nrow+1)-1 if (nnz .gt. nzmax) then ierr = 1 return endif c------------------------------------------------------------------------ goto (3,2,1) job 1 do 10 k=1,nnz ao(k) = a(k) 10 continue 2 do 11 k=1,nnz jc(k) = ja(k) 11 continue c c copy backward to allow for in-place processing. c 3 do 13 i=nrow,1,-1 k1 = ia(i+1)-1 k2 = ia(i) do 12 k=k1,k2,-1 ir(k) = i 12 continue 13 continue return c------------- end-of-csrcoo ------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- c----------------------------------------------------------------------- subroutine csrcsc2 (n,n2,job,ipos,a,ja,ia,ao,jao,iao) integer ia(n+1),iao(n2+1),ja(*),jao(*) double precision a(*),ao(*) c----------------------------------------------------------------------- c Compressed Sparse Row to Compressed Sparse Column c c (transposition operation) Not in place. c----------------------------------------------------------------------- c Rectangular version. n is number of rows of CSR matrix, c n2 (input) is number of columns of CSC matrix. c----------------------------------------------------------------------- c -- not in place -- c this subroutine transposes a matrix stored in a, ja, ia format. c --------------- c on entry: c---------- c n = number of rows of CSR matrix. c n2 = number of columns of CSC matrix. c job = integer to indicate whether to fill the values (job.eq.1) of the c matrix ao or only the pattern., i.e.,ia, and ja (job .ne.1) c c ipos = starting position in ao, jao of the transposed matrix. c the iao array takes this into account (thus iao(1) is set to ipos.) c Note: this may be useful if one needs to append the data structure c of the transpose to that of A. In this case use for example c call csrcsc2 (n,n,1,ia(n+1),a,ja,ia,a,ja,ia(n+2)) c for any other normal usage, enter ipos=1. c a = real array of length nnz (nnz=number of nonzero elements in input c matrix) containing the nonzero elements. c ja = integer array of length nnz containing the column positions c of the corresponding elements in a. c ia = integer of size n+1. ia(k) contains the position in a, ja of c the beginning of the k-th row. c c on return: c ---------- c output arguments: c ao = real array of size nzz containing the "a" part of the transpose c jao = integer array of size nnz containing the column indices. c iao = integer array of size n+1 containing the "ia" index array of c the transpose. c c----------------------------------------------------------------------- c----------------- compute lengths of rows of transp(A) ---------------- do 1 i=1,n2+1 iao(i) = 0 1 continue do 3 i=1, n do 2 k=ia(i), ia(i+1)-1 j = ja(k)+1 iao(j) = iao(j)+1 2 continue 3 continue c---------- compute pointers from lengths ------------------------------ iao(1) = ipos do 4 i=1,n2 iao(i+1) = iao(i) + iao(i+1) 4 continue c--------------- now do the actual copying ----------------------------- do 6 i=1,n do 62 k=ia(i),ia(i+1)-1 j = ja(k) next = iao(j) if (job .eq. 1) ao(next) = a(k) jao(next) = i iao(j) = next+1 62 continue 6 continue c-------------------------- reshift iao and leave ---------------------- do 7 i=n2,1,-1 iao(i+1) = iao(i) 7 continue iao(1) = ipos c--------------- end of csrcsc2 ---------------------------------------- c----------------------------------------------------------------------- end subroutine csrmsr (n,a,ja,ia,ao,jao,wk,iwk,nnzao,ierr) double precision a(*),ao(*),wk(n) integer ia(n+1),ja(*),jao(*),iwk(n+1),nnzao,ierr c----------------------------------------------------------------------- c Compressed Sparse Row to Modified - Sparse Row c Sparse row with separate main diagonal c----------------------------------------------------------------------- c converts a general sparse matrix a, ja, ia into c a compressed matrix using a separated diagonal (referred to as c the bell-labs format as it is used by bell labs semi conductor c group. We refer to it here as the modified sparse row format. c Note: this has been coded in such a way that one can overwrite c the output matrix onto the input matrix if desired by a call of c the form c c call csrmsr (n, a, ja, ia, a, ja, wk,iwk) c c In case ao, jao, are different from a, ja, then one can c use ao, jao as the work arrays in the calling sequence: c c call csrmsr (n, a, ja, ia, ao, jao, ao,jao) c c----------------------------------------------------------------------- c c on entry : c--------- c a, ja, ia = matrix in csr format. note that the c algorithm is in place: ao, jao can be the same c as a, ja, in which case it will be overwritten on it c upon return. c nnzao = the number of non-zero entries in ao, jao c c on return : c----------- c c ao, jao = sparse matrix in modified sparse row storage format: c + ao(1:n) contains the diagonal of the matrix. c + ao(n+2:nnz) contains the nondiagonal elements of the c matrix, stored rowwise. c + jao(n+2:nnz) : their column indices c + jao(1:n+1) contains the pointer array for the nondiagonal c elements in ao(n+2:nnz) and jao(n+2:nnz). c i.e., for i .le. n+1 jao(i) points to beginning of row i c in arrays ao, jao. c here nnz = number of nonzero elements+1 c ierr: c = -1 : length of ao, jao < itpr c c work arrays: c------------ c wk = real work array of length n c iwk = integer work array of length n+1 c c notes: c------- c Algorithm is in place. i.e. both: c c call csrmsr (n, a, ja, ia, ao, jao, ao,jao) c (in which ao, jao, are different from a, ja) c and c call csrmsr (n, a, ja, ia, a, ja, wk,iwk) c (in which wk, jwk, are different from a, ja) c are OK. c-------- c coded by Y. Saad Sep. 1989. Rechecked Feb 27, 1990. c Modified by Pin Ng on June 11, 2002 to provide warning when c iptr > nnzao+1 c----------------------------------------------------------------------- icount = 0 c c store away diagonal elements and count nonzero diagonal elements. c do 1 i=1,n wk(i) = 0.0d0 iwk(i+1) = ia(i+1)-ia(i) do 2 k=ia(i),ia(i+1)-1 if (ja(k) .eq. i) then wk(i) = a(k) icount = icount + 1 iwk(i+1) = iwk(i+1)-1 endif 2 continue 1 continue c c compute total length c iptr = n + ia(n+1) - icount if (iptr .gt. nnzao+1) then ierr = -1 return endif c c copy backwards (to avoid collisions) c do 500 ii=n,1,-1 do 100 k=ia(ii+1)-1,ia(ii),-1 j = ja(k) if (j .ne. ii) then ao(iptr) = a(k) jao(iptr) = j iptr = iptr-1 endif 100 continue 500 continue c c compute pointer values and copy wk(*) c jao(1) = n+2 do 600 i=1,n ao(i) = wk(i) jao(i+1) = jao(i)+iwk(i+1) 600 continue return c------------ end of subroutine csrmsr --------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine csrssr (nrow,a,ja,ia,nzmax,ao,jao,iao,ierr) double precision a(*), ao(*), t integer ia(*), ja(*), iao(*), jao(*) c----------------------------------------------------------------------- c Compressed Sparse Row to Symmetric Sparse Row c----------------------------------------------------------------------- c this subroutine extracts the lower triangular part of a matrix. c It can used as a means for converting a symmetric matrix for c which all the entries are stored in sparse format into one c in which only the lower part is stored. The routine is in place in c that the output matrix ao, jao, iao can be overwritten on c the input matrix a, ja, ia if desired. Csrssr has been coded to c put the diagonal elements of the matrix in the last position in c each row (i.e. in position ao(ia(i+1)-1 of ao and jao) c----------------------------------------------------------------------- c On entry c----------- c nrow = dimension of the matrix a. c a, ja, c ia = matrix stored in compressed row sparse format c c nzmax = length of arrays ao, and jao. c c On return: c----------- c ao, jao, c iao = lower part of input matrix (a,ja,ia) stored in compressed sparse c row format format. c c ierr = integer error indicator. c ierr .eq. 0 means normal return c ierr .eq. i means that the code has stopped when processing c row number i, because there is not enough space in ao, jao c (according to the value of nzmax) c c----------------------------------------------------------------------- ierr = 0 ko = 0 c----------------------------------------------------------------------- do 7 i=1, nrow kold = ko kdiag = 0 do 71 k = ia(i), ia(i+1) -1 if (ja(k) .gt. i) goto 71 ko = ko+1 if (ko .gt. nzmax) then ierr = i return endif ao(ko) = a(k) jao(ko) = ja(k) if (ja(k) .eq. i) kdiag = ko 71 continue if (kdiag .eq. 0 .or. kdiag .eq. ko) goto 72 c c exchange c t = ao(kdiag) ao(kdiag) = ao(ko) ao(ko) = t c k = jao(kdiag) jao(kdiag) = jao(ko) jao(ko) = k 72 iao(i) = kold+1 7 continue c redefine iao(n+1) iao(nrow+1) = ko+1 return c--------- end of csrssr ----------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine cscssc (ncol,a,ja,ia,nzmax,ao,jao,iao,ierr) double precision a(*), ao(*) integer ia(*), ja(*), iao(*), jao(*) c----------------------------------------------------------------------- c Compressed Sparse Column to Symmetric Sparse Column c----------------------------------------------------------------------- c c Modified from csrssr by Pin Ng on 6/28/02 c c this subroutine extracts the lower triangular part of a matrix. c It can used as a means for converting a symmetric matrix for c which all the entries are stored in sparse format into one c in which only the lower part is stored. The routine is in place in c that the output matrix ao, jao, iao can be overwritten on c the input matrix a, ja, ia if desired. Cscssc has been coded to c put the diagonal elements of the matrix in the last position in c each row (i.e. in position ao(ia(i+1)-1 of ao and jao) c----------------------------------------------------------------------- c On entry c----------- c ncol = dimension of the matrix a. c a, ja, c ia = matrix stored in compressed row sparse format c c nzmax = length of arrays ao, and jao. c c On return: c----------- c ao, jao, c iao = lower part of input matrix (a,ja,ia) stored in compressed sparse c row format format. c c ierr = integer error indicator. c ierr .eq. 0 means normal return c ierr .eq. i means that the code has stopped when processing c row number i, because there is not enough space in ao, jao c (according to the value of nzmax) c c----------------------------------------------------------------------- ierr = 0 ko = 0 c----------------------------------------------------------------------- do 7 i=1, ncol kold = ko kdiag = 0 do 71 k = ia(i), ia(i+1) -1 if (ja(k) .lt. i) goto 71 ko = ko+1 if (ko .gt. nzmax) then ierr = i return endif ao(ko) = a(k) jao(ko) = ja(k) if (ja(k) .eq. i) kdiag = ko 71 continue c if (kdiag .eq. 0 .or. kdiag .eq. ko) goto 72 c c exchange c c t = ao(kdiag) c ao(kdiag) = ao(ko) c ao(ko) = t c c k = jao(kdiag) c jao(kdiag) = jao(ko) c jao(ko) = k 72 iao(i) = kold+1 7 continue c redefine iao(n+1) iao(ncol+1) = ko+1 return c--------- end of cscssc ----------------------------------------------- c----------------------------------------------------------------------- end c----------------------------------------------------------------------- subroutine ssrcsr(job, value2, nrow, a, ja, ia, nzmax, & ao, jao, iao, indu, iwk, ierr) c .. Scalar Arguments .. integer ierr, job, nrow, nzmax, value2 c .. c .. Array Arguments .. integer ia(nrow+1), iao(nrow+1), indu(nrow), & iwk(nrow+1), ja(*), jao(nzmax) double precision a(*), ao(nzmax) c .. c----------------------------------------------------------------------- c Symmetric Sparse Row to Compressed Sparse Row format c----------------------------------------------------------------------- c This subroutine converts a given matrix in SSR format to regular c CSR format by computing Ao = A + A' - diag(A), where A' is A c transpose. c c Typically this routine is used to expand the SSR matrix of c Harwell Boeing matrices, or to obtain a symmetrized graph of c unsymmetric matrices. c c This routine is inplace, i.e., (Ao,jao,iao) may be same as c (a,ja,ia). c c It is possible to input an arbitrary CSR matrix to this routine, c since there is no syntactical difference between CSR and SSR c format. It also removes duplicate entries and perform a partial c ordering. The output matrix has an order of lower half, main c diagonal and upper half after the partial ordering. c----------------------------------------------------------------------- c on entry: c--------- c c job = options c 0 -- duplicate entries are not removed. If the input matrix is c SSR (not an arbitary CSR) matrix, no duplicate entry should c arise from this routine. c 1 -- eliminate duplicate entries, zero entries. c 2 -- eliminate duplicate entries and perform partial ordering. c 3 -- eliminate duplicate entries, sort the entries in the c increasing order of clumn indices. c c value2= will the values of A be copied? c 0 -- only expand the graph (a, ao are not touched) c 1 -- expand the matrix with the values. c c nrow = column dimension of inout matrix c a, c ia, c ja = matrix in compressed sparse row format. c c nzmax = size of arrays ao and jao. SSRCSR will abort if the storage c provided in ao, jao is not sufficient to store A. See ierr. c c on return: c---------- c ao, jao, iao c = output matrix in compressed sparse row format. The resulting c matrix is symmetric and is equal to A+A'-D. ao, jao, iao, c can be the same as a, ja, ia in the calling sequence. c c indu = integer array of length nrow. INDU will contain pointers c to the beginning of upper traigular part if job > 1. c Otherwise it is also used as a work array (size nrow). c c iwk = integer work space (size nrow+1). c c ierr = integer. Serving as error message. If the length of the arrays c ao, jao exceeds nzmax, ierr returns the minimum value c needed for nzmax. otherwise ierr=0 (normal return). c c----------------------------------------------------------------------- c .. Local Scalars .. integer i, ipos, j, k, kfirst, klast, ko, kosav, nnz double precision tmp c .. c .. Executable Statements .. ierr = 0 do 10 i = 1, nrow indu(i) = 0 iwk(i) = 0 10 continue iwk(nrow+1) = 0 c c .. compute number of elements in each row of (A'-D) c put result in iwk(i+1) for row i. c do 30 i = 1, nrow do 20 k = ia(i), ia(i+1) - 1 j = ja(k) if (j.ne.i) & iwk(j+1) = iwk(j+1) + 1 20 continue 30 continue c c .. find addresses of first elements of ouput matrix. result in iwk c iwk(1) = 1 do 40 i = 1, nrow indu(i) = iwk(i) + ia(i+1) - ia(i) iwk(i+1) = iwk(i+1) + indu(i) indu(i) = indu(i) - 1 40 continue c.....Have we been given enough storage in ao, jao ? nnz = iwk(nrow+1) - 1 if (nnz.gt.nzmax) then ierr = nnz return endif c c .. copy the existing matrix (backwards). c kosav = iwk(nrow+1) do 60 i = nrow, 1, -1 klast = ia(i+1) - 1 kfirst = ia(i) iao(i+1) = kosav kosav = iwk(i) ko = iwk(i) - kfirst iwk(i) = ko + klast + 1 do 50 k = klast, kfirst, -1 if (value2.ne.0) & ao(k+ko) = a(k) jao(k+ko) = ja(k) 50 continue 60 continue iao(1) = 1 c c now copy (A'-D). Go through the structure of ao, jao, iao c that has already been copied. iwk(i) is the address c of the next free location in row i for ao, jao. c do 80 i = 1, nrow do 70 k = iao(i), indu(i) j = jao(k) if (j.ne.i) then ipos = iwk(j) if (value2.ne.0) & ao(ipos) = ao(k) jao(ipos) = i iwk(j) = ipos + 1 endif 70 continue 80 continue if (job.le.0) return c c .. eliminate duplicate entries -- c array INDU is used as marker for existing indices, it is also the c location of the entry. c IWK is used to stored the old IAO array. c matrix is copied to squeeze out the space taken by the duplicated c entries. c do 90 i = 1, nrow indu(i) = 0 iwk(i) = iao(i) 90 continue iwk(nrow+1) = iao(nrow+1) k = 1 do 120 i = 1, nrow iao(i) = k ipos = iwk(i) klast = iwk(i+1) 100 if (ipos.lt.klast) then j = jao(ipos) if (indu(j).eq.0) then c .. new entry .. if (value2.ne.0) then if (ao(ipos) .ne. 0.0D0) then indu(j) = k jao(k) = jao(ipos) ao(k) = ao(ipos) k = k + 1 endif else indu(j) = k jao(k) = jao(ipos) k = k + 1 endif else if (value2.ne.0) then c .. duplicate entry .. ao(indu(j)) = ao(indu(j)) + ao(ipos) endif ipos = ipos + 1 go to 100 endif c .. remove marks before working on the next row .. do 110 ipos = iao(i), k - 1 indu(jao(ipos)) = 0 110 continue 120 continue iao(nrow+1) = k if (job.le.1) return c c .. partial ordering .. c split the matrix into strict upper/lower triangular c parts, INDU points to the the beginning of the strict upper part. c do 140 i = 1, nrow klast = iao(i+1) - 1 kfirst = iao(i) 130 if (klast.gt.kfirst) then if (jao(klast).lt.i .and. jao(kfirst).ge.i) then c .. swap klast with kfirst .. j = jao(klast) jao(klast) = jao(kfirst) jao(kfirst) = j if (value2.ne.0) then tmp = ao(klast) ao(klast) = ao(kfirst) ao(kfirst) = tmp endif endif if (jao(klast).ge.i) & klast = klast - 1 if (jao(kfirst).lt.i) & kfirst = kfirst + 1 go to 130 endif c if (jao(klast).lt.i) then indu(i) = klast + 1 else indu(i) = klast endif 140 continue if (job.le.2) return c c .. order the entries according to column indices c bubble-sort is used c do 190 i = 1, nrow do 160 ipos = iao(i), indu(i)-1 do 150 j = indu(i)-1, ipos+1, -1 k = j - 1 if (jao(k).gt.jao(j)) then ko = jao(k) jao(k) = jao(j) jao(j) = ko if (value2.ne.0) then tmp = ao(k) ao(k) = ao(j) ao(j) = tmp endif endif 150 continue 160 continue do 180 ipos = indu(i), iao(i+1)-1 do 170 j = iao(i+1)-1, ipos+1, -1 k = j - 1 if (jao(k).gt.jao(j)) then ko = jao(k) jao(k) = jao(j) jao(j) = ko if (value2.ne.0) then tmp = ao(k) ao(k) = ao(j) ao(j) = tmp endif endif 170 continue 180 continue 190 continue c return c---- end of ssrcsr ---------------------------------------------------- end c----------------------------------------------------------------------- subroutine atmux (n, x, y, a, ja, ia) double precision x(*), y(*), a(*) integer n, ia(*), ja(*) c----------------------------------------------------------------------- c transp( A ) times a vector c----------------------------------------------------------------------- c multiplies the transpose of a matrix by a vector when the original c matrix is stored in compressed sparse row storage. Can also be c viewed as the product of a matrix by a vector when the original c matrix is stored in the compressed sparse column format. c----------------------------------------------------------------------- c c on entry: c---------- c n = row dimension of A c x = real array of length equal to the column dimension of c the A matrix. c a, ja, c ia = input matrix in compressed sparse row format. c c on return: c----------- c y = real array of length n, containing the product y=transp(A)*x c c----------------------------------------------------------------------- c local variables c integer i, k c----------------------------------------------------------------------- c c zero out output vector c do 1 i=1,n y(i) = 0.0 1 continue c c loop over the rows c do 100 i = 1,n do 99 k=ia(i), ia(i+1)-1 y(ja(k)) = y(ja(k)) + x(i)*a(k) 99 continue 100 continue c return c-------------end-of-atmux---------------------------------------------- c----------------------------------------------------------------------- end SparseM/vignettes/0000755000176200001440000000000014013445473013641 5ustar liggesusersSparseM/vignettes/SparseM.Rnw0000644000176200001440000004465313010640254015705 0ustar liggesusers%\VignetteIndexEntry{An Introduction to the SparseM Package for Sparse Linear Algebra} \documentclass{article} \title{SparseM: A Sparse Matrix Package for R \thanks{This package should be considered experimental. The authors would welcome comments about any aspect of the package. This document is an R vignette prepared with the aid of \texttt{Sweave}, Leisch(2002). Support from NSF SES 99-11184 is gratefully acknowledged.}} \author{Roger Koenker and Pin Ng} \begin{document} \maketitle \begin{abstract} SparseM provides some basic R functionality for linear algebra with sparse matrices. Use of the package is illustrated by a family of linear model fitting functions that implement least squares methods for problems with sparse design matrices. Significant performance improvements in memory utilization and computational speed are possible for applications involving large sparse matrices. \end{abstract} \section{Introduction} Many applications in statistics involve large sparse matrices, matrices with a high proportion of zero entries. \ A typical example from parametric linear regression involves longitudinal data with fixed effects: many indicator variables consisting of a few ones and a large number of zero elements. \ In nonparametric regression, e.g. smoothing splines design matices are extremely sparse often with less than 1\% of nonzero entries. \ Conventional algorithms for linear algebra in such situations entail exorbitant storage requirements and many wasteful floating point operations involving zero entries. For some specially structured problems, e.g. banded matrices, special algorithms are available. But recent developments in sparse linear algebra have produced efficient methods for handling unstructured sparsity in a remarkably efficient way. Exploiting these developments, the package SparseM provides some basic linear algebra functionality for sparse matrices stored in several standard formats. \ The package attempts to make the use of these methods as transparent as possible by adhering to the method-dispatch conventions of $R$.\footnote{ The first release of the SparseM packaged used {\it S3} method-dispatch, the current release has adopted the new {\it S4} method dispatch. Our thanks to Brian Ripley and Kurt Hornik for advice on this aspect of the package.} Functions are provided for: coercion, basic unary and binary operations on matrices and linear equation solving. %There have been a few linear algebra packages proposed or implemented for %sparse matrices, see Carney, Heroux, Li, and Wu (1994), Saad (1994), Remington %and Pozo (1996), Duff, Marrone, Radicati and Vittoli (1997), and Bank and %Douglas (2001). Our implementation is based on Sparskit (Saad (1994)), which provides one of the more complete collection of subroutines for BLAS like functions and sparse matrix utilities available in the public domain.\footnote {Recently, a sparse matrix version of BLAS subprograms has been provided by Duff, Heroux and Pozo (2002). Unfortunately, it handles only sparse matrix times dense matrix multiplication at the Level 3 Sparse BLAS, but not sparse matrix times sparse matrix multiplication. The sparse matrix utilities available in Sparskit, e.g.\ masking, sorting, permuting, extracting, and filtering, which are not available in Sparse BLAS, are also extrememly valuable. Sparse linear algebra is a rapidly developing field in numerical analysis and we would expect to see many important new developments that could be incorportated into SparseM and related code in the near future.} Our Cholesky factorization and backsolve routines are based on Ng and Peyton (1993), which still appears to represent the state of the art for solving linear systems involving symmetric positive definite matrices.\footnote{There are also several new direct methods for solving unsymmetric sparse systems of linear equations over the last decade. A rather comprehensive comparison of performance of some prominent software packages for solving general sparse systems can be found in Gupta (2002). Unfortunately, the comparisons do not include the Peyton and Ng algorithm employed here. The top performer reported in the study is WSMP (Gupta, 2000) which requires proprietary XLF Fortran complier, XLC C compilier and the AIX operating system, and the library is not released under the GPL license. The runner up reported is MUMPS (Amestoy, Duff, L'Excellent and Koster, 2002) which has a non-commerical license but is written in Fortran 90. The third best performer is UMFPACK (Davis, 2002), which is implemented in MATLAB Version 6.0 and later, also has a non-commerical license. Since it is a general sparse solver not written specifically for symmetric positive definite systems of linear equations, it would be interesting to see how it compares with the Choleski factorization of Peyton and Ng adopted here.} In Section 2 we discuss in more detail the components of the package, provide some examples on their use and explain the basic design philosopy. Section 3 discusses some refinements proposed for future implementations. SparseM can be obtained from the Comprehensive R Archive Network, CRAN, at \texttt{http://cran.r-project.org/}. \section{Design Philosophy} In this section we briefly describe some aspects of our design philosophy beginning with the question of storage modes. \subsection{Storage Modes} There are currently more than twenty different storage formats used for sparse matrices. \ Each of these formats is designed to exploit particular features of the matrices that arise in various applications areas to gain efficiency in both memory utilization and computation. \ Duff, Erisman and Reid (1986) and Saad (1994) provide detailed accounts of the various storage schemes. \ Following Saad (1994) we have chosen compressed sparse row (\textbf{csr}) format as the primary storage mode for SparseM.\footnote{Other sparse storage formats supported in SparseM include compressed sparse column (\textbf{csc}), symmetric sparse row (\textbf{ssr}) and symmetric sparse column (\textbf{ssc}). \ The data structure of \textbf{csc} format is the same as that of \textbf{csr} format except the information is stored column-wise. \ The\ \textbf{ssr} and \textbf{ssc} formats are special cases of \textbf{csr} and \textbf{csc}, respectively, for symmetric matrices, only the information in the lower triangle is stored. \ We have created new class objects, \texttt{matrix.csr}, \texttt{matrix.csc}, \texttt{matrix.ssr}, \texttt{matrix.ssc}, for each of these four formats.} \ An $n$ by $m$ matrix $A$ with real elements $a_{ij}$, stored in \textbf{csr} format consists of three arrays: \begin{itemize} \item \texttt{ra}: a real array of $nnz$ elements containing the non-zero elements of $A$, stored in row order. Thus, if $i>= library(SparseM) a <- rnorm(5*4) a[abs(a)<0.7] <- 0 A <- matrix(a,5,4) A A.csr <- as.matrix.csr(A) A.csr as.matrix(A.csr) @ To facilitate testing we have included \texttt{read.matrix.hb} and \texttt{write.matrix.hb} to deal with matrices in the Harwell-Boeing storage format. \ A list of sites with extensive collections of sparse matrices in this format can be found at \texttt{http://math.nist.gov/MatrixMarket/}. \ Details on the Harwell-Boeing format can be found in the help files for \texttt{read.matrix.hb} and \texttt{write.matrix.hb} as well as in the User's Guide for Harwell-Boeing Sparse Matrix Collection at \texttt{ftp://ftp.cerfacs.fr/pub/harwell\_boeing/}. @ \subsection{Visualization} The \texttt{image} function allows users to explore the structure of the sparsity in matrices stored in \textbf{csr} format. In the next example we illustrate the design matrix for a bivariate spline smoothing problem illustrated in Koenker and Mizera (2002). The upper 100 rows of the matrix are an identity matrix, the lower 275 rows represent the penalty component of the design matrix. In this example $X$ has 1200 nonzero entries, roughly 3.2 percent of the number of floating point numbers needed to represent the matrix in dense form. The $X'X$ form of the matrix has 1162 nonzero elements or 11.62 percent of the entries in the full matrix. \begin{center} <>= data(triogramX) par(mfrow=c(1,2)) image(X) title("X") image(t(X)%*%X) title("X\'X") @ \end{center} \subsection{Indexing and Binding} Indexing and the functions \texttt{cbind} and \texttt{rbind} for the \texttt{matrix.csr} class work just like they do on dense matrices. Objects returned by \texttt{cbind} and \texttt{rbind} operating on objects of the \texttt{matrix.csr} class retain their \texttt{matrix.csr} class attribute. \subsection{Linear Algebra} SparseM provides a reasonably complete set of commonly used linear algebra operations for the \texttt{matrix.csr} class. \ The general design philosophy for this set of functions is that operations on \texttt{matrix.csr} class will yield an object also in \texttt{matrix.csr} class with a few exceptions mentioned below. The functions \texttt{t}, and \texttt{\%*\%} for transposition, and multiplication of \textbf{csr} matrices work just like their dense matrix counterparts and the returned objects retain their \texttt{matrix.csr} class. The \texttt{diag} and \texttt{diag<-} functions for extracting and assigning the diagonal elements of \textbf{csr} matrices also work like their dense matrix counterparts except that the returned objects from \texttt{diag} are dense vectors with appropriate zeros reintroduced. The unary and binary functions in the group generic functions \textsc{Ops} return objects of \texttt{matrix.csr} class. \subsection{Linear Equation Solving} Research on solutions to sparse symmetric positive definite systems of linear equations has focused primarily on methods based on the Cholesky factorization, and we have followed this approach. There are three functions \texttt{chol}, \texttt{backsolve} and \texttt{solve }to handle a symmetric positive definite system of linear equations. \texttt{chol} performs Cholesky factorization using the block sparse Cholesky algorithms of Ng and Peyton (1993). \ The result can then be passed on to \texttt{backsolve} with a right-hand-side to obtain the solutions. \ For systems of linear equations that only vary on the right-hand-side, the result from \texttt{chol} can be reused, saving considerable computing time. \ The function \texttt{solve}, which combines the use of \texttt{chol} and \texttt{backsolve}, will compute the inverse of a matrix by default, if the right-hand-side is missing.% The data structure of the \texttt{chol.matrix.csr} object produced by the sparse Cholesky method is comewhat complicated. Users interested in recovering the Cholesky factor in some more conventional form should recognize that the original matrix has undergone a permutation of its rows and columns before Cholesky factorization; this permutation is given by the \texttt{perm} component of the structure. Currently no coercion methods are supplied for the class \texttt{chol.matrix.csr}, but the computation of the determinant by extracting the diagonal of the Cholesky factor offers some clues for how such coercion could be done. This determinant is provided as a component of the \texttt{chol.matrix.csr} structure because it can be of some value in certain maximum likelihood applications. \subsection{Least Squares Problems} To illustrate the functionality of the package we include an application to least squares regression. The group of functions \texttt{slm}, \texttt{slm.fit}, \texttt{slm.fit.csr}, \texttt{summary.slm} and \texttt{print.summary.slm} provide analogues of the familiar \texttt{lm} family. In the current implementation \texttt{slm} processes a formula object in essentially the same way as \texttt{lm}, and calls an intermediate function \texttt{slm.fit}, which in turn calls \texttt{slm.fit.csr} where the actual fitting occurs. Rather than the usual QR decomposition, \texttt{slm.fit.csr} proceeds by backsolving the triangular system resulting from a Cholesky decomposition of the $X^\top X$ matrix. The sparsity of the resulting structure is usually well preserved by this strategy. The use of sparse methods is quite transparent in the present \texttt{slm} implementation and \texttt{summary.slm} with the associated \texttt{print.summary.slm} should produce identical output to their cousins in the \texttt{lm} family. However, the speed and memory utilization can be quite drammatically improved. In the following problem, which involves a design matrix that is 1850 by 712 there is a nearly three hundred fold improvement in speed (on a Sun Ultra 2) when we compare \texttt{lm.fit} and \texttt{slm.fit}. The comparison is somewhat less compelling between \texttt{lm} and \texttt{slm} since there is a substantial common fixed cost to the setup of the problems. In addition to the computational time saved there is also a significant reduction in the memory required for large sparse problems. In extreme cases memory becomes a binding constraint on the feasibility of large problems and sparse storage is critical in expanding the range of problem sizes. This is particularly true of applications in smoothing and related image processing contexts. <<>>= #hb.o <- read.matrix.hb(system.file("HBdata","lsq.rra",package = "SparseM")) data(lsq) X <- model.matrix(lsq) #extract the design matrix y <- model.response(lsq) # extract the rhs X1 <- as.matrix(X) slm.time <- system.time(slm(y~X1-1) -> slm.o) # pretty fast lm.time <- system.time(lm(y~X1-1) -> lm.o) # very slow slm.fit.time <- system.time(slm.fit(X,y)) # very fast lm.fit.time <- system.time(lm.fit(X1,y)) # still very slow cat("slm time =",slm.time,"\n") cat("lm time =",lm.time,"\n") cat("slm.fit time =",slm.fit.time,"\n") cat("lm.fit time =",lm.fit.time,"\n") cat("slm Results: Reported Coefficients Truncated to 5 ","\n") sum.slm <- summary(slm.o) sum.slm$coef <- sum.slm$coef[1:5,] sum.slm cat("lm Results: Reported Coefficients Truncated to 5 ","\n") sum.lm <- summary(lm.o) sum.lm$coefficients <- sum.lm$coefficients[1:5,] sum.lm @ \section{Some Potential Refinements} There are still many features that could be usefully added to the package. Among these we would especially like to see: \texttt{crossprod}, \texttt{row},\texttt{ col}, code for \texttt{eigen}, \texttt{svd} would also be desirable, but seems somewhat more problematic. Support for other storage formats might be eventually useful, although \textbf{csr, csc, ssr, ssc} formats seem quite sufficient for most purposes. A major improvement in the \texttt{slm} implementation would be to replace the line \begin{verbatim} X <- as.matrix.csr(model.matrix(Terms, m, contrasts)) \end{verbatim} which coerces the dense form of the regression design matrix produced by model.matrix into the sparse form. Ideally, this would be done with a special \texttt{.csr} form of \texttt{model.matrix}, thus obviating the need to construct the dense form of the matrix. We have not looked carefully at the question of implementing this suggestion, but we (still) hope that someone else might be inspired to do so. Our primary motivation for $R$ sparse linear algebra comes from our experience, see e.g. Koenker, Ng and Portnoy (1994) and He and Ng (1999), with interior point algorithms for quantile regression smoothing problems. We plan to report on this experience elsewhere. \begin{center} {\Large{\bf References}} \end{center} %\textsc{Bank, R.E. and C.C. Douglas.} (1993). Sparse matrix multiplication %package (SMMP). \textit{Advances in Computational Mathematics, 1, 127-137.} %\textsc{Carney, Sandra, Michael A. Heroux, Guangye Li, and Kesheng Wu.} %(1994). A revised proposal for a sparse BLAS toolkit. Technical Report 94-034, %Army High Performance Computing Research Center. \textsc{Amestoy, P. R., I. S. Duff, J. -Y. L'Excellent {\small and} J. Koster.} (2002). MUltifrontal Massively Parallel Solver (MUMPS Version 4.2 beta) Users' Guide, http://www.enseeiht.fr/lima/apo/MUMPS/ \textsc{Davis, T. A.} (2002). UMFPACK Version 4.0 User Guide, \newline http://www.cise.ufl.edu/research/sparse/umfpack. \textsc{Duff, I.S., A. M. Erisman {\small and} J. K. Reid.} (1986). \textit{Direct Methods for Sparse Matrices}, Clarendon Press, Oxford. \textsc{Duff, I. S., M. A. Heroux, {\small and} R. Pozo.} (2002). ``An Overview of the Sparse Basic Linear Algebra Subroutines: The New Standard from the BLAS Technical Forum,'' \emph{ACM Transactions on Mathematical Software}, 28, 239-267. %\textsc{Duff, I. S., M. Marrone, G. Radicati, and C. Vittoli.} (1997). Level 3 %Basic Linear Algebra Subprograms for sparse matrices: a user level interface. %\textit{ACM Trans. Math. Softw}., 23(3):379--401. \textsc{Gupta, A.} (2000). WSMP: Watson Sparse Matrix Package (Part-II: direct solution of general sparse systems). Technical Report RC 21888 (98472), IBM T.J. Watson Research Center, Yorktown Heights, N.Y., http://www.cs.umn.edu/ \newline $\sim$agupta/doc/wssmp-paper.ps \textsc{Gupta, A.} (2002). ``Recent Advances in Direct Methods for Solving Unsymmetric Sparse Systems of Linear Equations,'' \emph{ACM Transactions on Mathematical Software}, 28, 301-324. \textsc{He, X., {\small and} P.~Ng} (1999): ``COBS: {Q}ualitatively Constrained Smoothing Via Linear Programming,'' \emph{Computational Statistics}, 14, 315--337. \textsc{Koenker, R., P.~Ng, {\small and} S.~Portnoy} (1994): ``Quantile smoothing splines,'' \emph{Biometrika}, 81, 673--680. \textsc{Leisch, F.} (2002). Sweave: Dynamic Generation of Statistical Reports Using Literate Data Analysis, \texttt{http://www.wu-wien.ac.at/am}. \textsc{Koenker, R. {\small and} Mizera, I} (2002). Penalized Triograms: Total Variation Regularization for Bivariate Smoothing, preprint. \textsc{Ng, E. G. {\small and} B. W. Peyton}. (1993) Block sparse Cholesky algorithms on advanced uniprocessor computers'', \textit{SIAM J. Sci. Comput.}, 14, 1034-1056. \textsc{Saad, Y.} (1994) Sparskit: A basic tool kit for sparse matrix computations; Version 2, \texttt{http://www.cs.umn.edu/Research/arpa/SPARSKIT/sparskit.html} \end{document} SparseM/R/0000755000176200001440000000000014013172001012012 5ustar liggesusersSparseM/R/SparseM.R0000644000176200001440000022661714013150474013537 0ustar liggesusers#-------------------------------------------------------------------- "is.matrix.csr" <- function(x, ...) is(x,"matrix.csr") #-------------------------------------------------------------------- "is.matrix.csc" <- function(x, ...) is(x,"matrix.csc") #-------------------------------------------------------------------- "is.matrix.ssr" <- function(x, ...) is(x,"matrix.ssr") #-------------------------------------------------------------------- "is.matrix.ssc" <- function(x, ...) is(x,"matrix.ssc") #-------------------------------------------------------------------- "is.matrix.coo" <- function(x, ...) is(x,"matrix.coo") #-------------------------------------------------------------------- "as.matrix.csr" <- function(x, nrow = 1, ncol = 1, eps = .Machine$double.eps, ...){ if(is.matrix.csr(x)) {x; return(x)} if (!is.matrix(x)) { if (missing(nrow)) nrow <- ceiling(length(x)/ncol) else if (missing(ncol)) ncol <- ceiling(length(x)/nrow) if (length(x) == nrow * ncol) x <- matrix(x, nrow, ncol) else{ if(length(x)==1 && abs(x)=eps) if(nnz==0){ z<-new("matrix.csr",ra=0,ja=as.integer(1), ia=as.integer(c(1:1,rep(2,dimx[1]))), dimension=dimx) return(z) } z <- .Fortran(f_csr, as.double(x), ra=double(nnz), ja=integer(nnz), ia=integer(dimx[1]+1), as.integer(dimx[1]), as.integer(dimx[2]), nnz=as.integer(nnz), as.double(eps)) if(nnz!=z$nnz)stop("nnz values inconsistent") nnz <- z$nnz z <- new("matrix.csr",ra = z$ra[1:nnz], ja = z$ja[1:nnz], ia = z$ia, dimension = dimx) return(z) } #-------------------------------------------------------------------- "as.matrix.csc" <- function(x, nrow = 1, ncol = 1, eps = .Machine$double.eps, ...) { if (is.matrix.csc(x)) x else as.matrix.csc(as.matrix.csr(x,nrow = nrow, ncol = ncol, eps = eps)) } #-------------------------------------------------------------------- "as.matrix.ssr" <- function(x, nrow = 1, ncol = 1, eps = .Machine$double.eps, ...) { if (is.matrix.ssr(x)) x else as.matrix.ssr(as.matrix.csr(x,nrow = nrow, ncol = ncol, eps = eps)) } #-------------------------------------------------------------------- "as.matrix.ssc" <- function(x, nrow = 1, ncol = 1, eps = .Machine$double.eps, ...) { if (is.matrix.ssc(x)) x else as.matrix.ssc(as.matrix.csc(x,nrow = nrow, ncol = ncol, eps = eps)) } #-------------------------------------------------------------------- "as.matrix.coo" <- function(x, nrow = 1, ncol = 1, eps = .Machine$double.eps, ...) { if (is.matrix.coo(x) && missing(nrow) && missing(ncol)) x else as.matrix.coo(as.matrix.csr(x,nrow = nrow, ncol = ncol, eps = eps)) } #-------------------------------------------------------------------- #"ncol.matrix.csr" <- #function(x){dim(x)[2]} #-------------------------------------------------------------------- #"nrow.matrix.csr" <- #function(x){dim(x)[1]} #-------------------------------------------------------------------- ".ssr.csr" <- function(x){ nrow <- x@dimension[1] nnza <- x@ia[nrow+1]-1 nnzao <- 2*nnza #can be set smaller z <- .Fortran(f_ssrcsr, job = as.integer(0), value2 = as.integer(1), nrow = as.integer(nrow), a = as.double(x@ra), ja = as.integer(x@ja), ia = as.integer(x@ia), nzmax = as.integer(nnzao), ao = double(nnzao), jao = integer(nnzao), iao = integer(nrow+1), indu = integer(nrow), iwk = integer(nrow+1), ierr = integer(1)) if(z$ierr != 0) stop("Not enough space") nnz <- z$iao[nrow+1]-1 z <- new("matrix.csr",ra=z$ao[1:nnz],ja=z$jao[1:nnz],ia=z$iao,dimension=x@dimension) return(z) } #-------------------------------------------------------------------- ".csr.ssr" <- function(x){ nrow <- x@dimension[1] nnza <- ceiling((x@ia[nrow+1]-1)/2)+nrow if(nrow!=x@dimension[2]) stop("Cannot convert an asymmetric matrix into `matrix.ssr' class") if(!all.equal(t(as.matrix.csr(x))@ra, as.matrix.csr(x)@ra)) stop("Cannot convert an asymmetric matrix into `matrix.ssr' class") z <- .Fortran(f_csrssr, as.integer(nrow), as.double(x@ra), as.integer(x@ja), as.integer(x@ia), as.integer(nnza), ao = as.double(x@ra), jao = as.integer(x@ja), iao = as.integer(x@ia), ierr = integer(1)) if(z$ierr != 0) stop("Not enough space. This is usually caused by trying to convert an asymmetric matrix into ssr format") nnza <- z$iao[nrow+1]-1 z <- new("matrix.ssr",ra=z$ao[1:nnza],ja=z$jao[1:nnza],ia=z$iao,dimension=x@dimension) z } #-------------------------------------------------------------------- ".csc.ssc" <- function(x){ nrow <- x@dimension[2] nnza <- ceiling((x@ia[nrow+1]-1)/2)+nrow if(nrow!=x@dimension[1]) stop("Cannot convert an asymmetric matrix into `matrix.ssc' class") if(!all.equal(t(as.matrix.csr(x))@ra, as.matrix.csr(x)@ra)) stop("Cannot convert an asymmetric matrix into `matrix.ssc' class") z <- .Fortran(f_cscssc, as.integer(nrow), as.double(x@ra), as.integer(x@ja), as.integer(x@ia), as.integer(nnza), ao = as.double(x@ra), jao = as.integer(x@ja), iao = as.integer(x@ia), ierr = integer(1)) if(z$ierr != 0) stop("Not enough space. This is usually caused by trying to convert an asymmetric matrix into ssc format") nnza <- z$iao[nrow+1]-1 z <- new("matrix.ssc",ra=z$ao[1:nnza],ja=z$jao[1:nnza],ia=z$iao,dimension=x@dimension) return(z) } #-------------------------------------------------------------------- ".csr.coo" <- function (x) { nrow <- x@dimension[1] ncol <- x@dimension[2] nnza <- length(x@ra) z <- .Fortran(f_csrcoo, as.integer(nrow), as.integer(1), as.integer(nnza), as.double(x@ra), as.integer(x@ja), as.integer(x@ia), nnz = integer(1), ao = as.double(x@ra), ir = integer(nnza), jc = as.integer(x@ja), ierr = integer(1)) if (z$ierr != 0) stop("Not enough space.") z <- new("matrix.coo", ra = x@ra, ja = x@ja, ia = z$ir, dimension = x@dimension) return(z) } #-------------------------------------------------------------------- "rbind.matrix.csr" <- function(...) { # Very preliminary function to rbind matrix.csr objects no name handling allargs <- list(...) n <- length(allargs) if (n == 0) stop("nothing to rbind") nms <- names(allargs) Ncol <- ncol(allargs[[1]]) if(n>1){ if(!all(sapply(allargs,is.matrix.csr)))stop("some args not csr format") if(!all(sapply(allargs,ncol) == Ncol)) stop("args have differing numbers of columns") } if (is.null(nms)) nms <- character(length(allargs)) cl <- NULL perm <- rows <- rlabs <- vector("list", n) Nrow <- nia <- 0 value <- clabs <- NULL all.levs <- list() ra <- ja <- ia <- dim <- NULL for(i in 1:n){ xi <- allargs[[i]] ra <- c(ra,xi@ra) ja <- as.integer(c(ja,xi@ja)) ia <- as.integer(c(ia[-(Nrow+1)],nia + xi@ia)) nia <- ia[length(ia)]-1 Nrow <- Nrow + length(xi@ia)-1 } z <- new("matrix.csr", ra=ra, ja=ja, ia = ia, dimension = as.integer(c(Nrow,Ncol))) return(z) } #-------------------------------------------------------------------- "cbind.matrix.csr" <- function(...) { # Very preliminary function to cbind matrix.csr objects no name handling allargs <- list(...) n <- length(allargs) if (n == 0) return(structure(list(), class = "data.frame", row.names = character())) nms <- names(allargs) allargs <- sapply(allargs,t,simplify=FALSE) Ncol <- ncol(allargs[[1]]) if(n>1){ if(!all(sapply(allargs,is.matrix.csr)))stop("some args not csr format") if(!all(sapply(allargs,ncol) == Ncol)) stop("args have differing numbers of rows") } if (is.null(nms)) nms <- character(length(allargs)) cl <- NULL perm <- rows <- rlabs <- vector("list", n) Nrow <- nia <- 0 value <- clabs <- NULL all.levs <- list() ra <- ja <- ia <- dim <- NULL for(i in 1:n){ xi <- allargs[[i]] ra <- c(ra,xi@ra) ja <- as.integer(c(ja,xi@ja)) ia <- as.integer(c(ia[-(Nrow+1)],nia + xi@ia)) nia <- ia[length(ia)]-1 Nrow <- Nrow + length(xi@ia)-1 } z <- new("matrix.csr",ra=ra, ja=ja, ia = ia, dimension = as.integer(c(Nrow,Ncol))) z <- t(z) return(z) } #-------------------------------------------------------------------- "read.matrix.hb" <- function(file) { # Adapted from readHB() in Bates's Matrix package by P. Ng 7 Oct, 2005 if (is.character(file)) if (file == "") file <- stdin() else file <- file(file) if (!inherits(file, "connection")) stop("'file' must be a character string or connection") if (!isOpen(file)) { open(file) on.exit(close(file)) } readone <- function (ln, iwd, nper, conv) { ln <- gsub("D", "E", ln) inds <- seq(0, by = iwd, length = nper + 1) (conv)(substring(ln, 1 + inds[-length(inds)], inds[-1])) } readmany <- function (conn, nlines, nvals, fmt, conv) { if (!grep("[[:digit:]]+[DEFGI][[:digit:]]+", fmt)) stop("Not a valid format") Iind <- regexpr("[DEFGI]", fmt) nper <- as.integer(substr(fmt, regexpr("[[:digit:]]+[DEFGI]", fmt), Iind - 1)) iwd <- as.integer(substr(fmt, Iind + 1, regexpr("[\\.\\)]", fmt) - 1)) rem <- nvals%%nper full <- nvals%/%nper ans <- vector("list", nvals%/%nper) for (i in seq(len = full)) ans[[i]] <- readone(readLines(conn, 1, ok = FALSE), iwd, nper, conv) if (!rem) return(unlist(ans)) c(unlist(ans), readone(readLines(conn, 1, ok = FALSE), iwd, rem, conv)) } hdr <- readLines(file, 4, ok = FALSE) Title <- sub('[[:space:]]+$', '', substr(hdr[1], 1, 72)) Key <- sub('[[:space:]]+$', '', substr(hdr[1], 73, 80)) totln <- as.integer(substr(hdr[2], 1, 14)) ptrln <- as.integer(substr(hdr[2], 15, 28)) indln <- as.integer(substr(hdr[2], 29, 42)) valln <- as.integer(substr(hdr[2], 43, 56)) rhsln <- as.integer(substr(hdr[2], 57, 70)) if (!(t1 <- substr(hdr[3], 1, 1)) %in% c('C', 'R', 'P')) stop(paste("Invalid storage type:", t1)) if (t1 != 'R') stop("Doesn't handle non-real matrices") ## _FIXME: Patterns should also be allowed if (!(t2 <- substr(hdr[3], 2, 2)) %in% c('H', 'R', 'S', 'U', 'Z')) stop(paste("Invalid storage format:", t2)) if(t2 == 'S') format <- "ssc" else if(t2 == "R" | t2 == "U") format <- "csc" else stop("Doesn't handle matrices other than symmetric or rectangular!") if (!(t3 <- substr(hdr[3], 3, 3)) %in% c('A', 'E')) stop(paste("Invalid assembled indicator:", t3)) if (t3 != 'A') stop("Doesn't handle elemental matrices!") nr <- as.integer(substr(hdr[3], 15, 28)) nc <- as.integer(substr(hdr[3], 29, 42)) nz <- as.integer(substr(hdr[3], 43, 56)) nel <- as.integer(substr(hdr[3], 57, 70)) ptrfmt <- toupper(sub('[[:space:]]+$', '', substr(hdr[4], 1, 16))) indfmt <- toupper(sub('[[:space:]]+$', '', substr(hdr[4], 17, 32))) valfmt <- toupper(sub('[[:space:]]+$', '', substr(hdr[4], 33, 52))) rhsfmt <- toupper(sub('[[:space:]]+$', '', substr(hdr[4], 53, 72))) rhs <- NULL rhs.mode <- NULL guess <- NULL xexact <- NULL if (!is.na(rhsln) && rhsln > 0) { h5 <- readLines(file, 1, ok = FALSE) rhs.mode <- substr(h5[1],1,1) g.mode <- substr(h5[1],2,2) e.mode <- substr(h5[1],3,3) if (rhs.mode != 'F') stop("Right-hand side has to be in full storage mode.") if (g.mode != " " & g.mode != 'G') stop("Incorrect indicator for the starting vector in the rhs.") if (e.mode != " " & e.mode != 'X') stop("Incorrect indicator for the exact solution vector in the rhs.") } ptr <- readmany(file, ptrln, nc + 1, ptrfmt, as.integer) ind <- readmany(file, indln, nz, indfmt, as.integer) vals <- readmany(file, valln, nz, valfmt, as.numeric) if (!is.na(rhsln) && rhsln > 0) { nrhs <- as.integer(substr(h5,15,28)) nrhsix <- as.integer(substr(h5,29,42)) nrhstot <- nrhside <- nr*nrhs rhs <- readmany(file,rhsln,nrhside,rhsfmt,as.numeric) if (substr(h5,2,2) %in% c("G")){ guess <- readmany(file,rhsln,nrhside,rhsfmt,as.numeric) } if (substr(h5,3,3) %in% c("X")){ xexact <- readmany(file,rhsln,nrhside,rhsfmt,as.numeric) } } if (format == 'csc') rd.o <- new("matrix.csc.hb", ra = vals, ja = ind, ia = ptr, rhs.ra = rhs, guess = guess, xexact = xexact, dimension = c(nr, nc), rhs.dim = c(nr, nrhs), rhs.mode = "F") else rd.o <- new("matrix.ssc.hb", ra = vals, ja = ptr, ia = ind, rhs.ra = rhs, guess = guess, xexact = xexact, dimension = c(nr, nc), rhs.dim = c(nr, nrhs), rhs.mode = "F") return(rd.o) } #-------------------------------------------------------------------- "Ops.matrix.csr" <- function(e1,e2){ if(missing(e2)){ e1.op <- switch(.Generic, "+" = e1, "-" = new("matrix.csr",ra=-e1@ra,ja=e1@ja,ia=e1@ia,dimension=e1@dimension), "!" = .matrix.csr.compl(e1), stop(paste("Unary operator \"",.Generic,"\""," is undefined for class \"matrix.csr\"",sep="")) ) return(e1.op) } e1.op.e2 <- { switch(.Generic, "+" = .matrix.csr.addsub(e1,e2,1), "-" = .matrix.csr.addsub(e1,e2,-1), "*" = .matrix.csr.elemul(e1,e2), "/" = .matrix.csr.elediv(e1,e2), "^" = .matrix.csr.expo(e1,e2), "%/%" = .matrix.csr.intdiv(e1,e2), "%%" = .matrix.csr.mod(e1,e2), ">" = .matrix.csr.relation(e1,e2,"gt"), ">=" = .matrix.csr.relation(e1,e2,"ge"), "<" = .matrix.csr.relation(e1,e2,"lt"), "<=" = .matrix.csr.relation(e1,e2,"le"), "==" = .matrix.csr.relation(e1,e2,"eq"), "!=" = .matrix.csr.relation(e1,e2,"ne"), "&" = {z <- .matrix.csr.elemul(e1,e2);z@ra <- rep(1,length(z@ja));z}, "|" = {z <- .matrix.csr.addsub(e1,e2,1);z@ra <- rep(1,length(z@ja));z}, stop(paste("Binary operator \"",.Generic,"\""," is undefined for class \"matrix.csr\"",sep="")) ) } return(e1.op.e2) } #-------------------------------------------------------------------- "Ops.matrix.diag.csr" <- function(e1,e2){ if(missing(e2)){ e1.op <- switch(.Generic, "+" = e1, "-" = new("matrix.csr",ra=-e1@ra,ja=e1@ja,ia=e1@ia,dimension=e1@dimension), "!" = .matrix.csr.compl(e1), stop(paste("Unary operator \"",.Generic,"\""," is undefined for class \"matrix.csr\"",sep="")) ) return(e1.op) } e1.op.e2 <- { switch(.Generic, "+" = .matrix.csr.addsub(e1,e2,1), "-" = .matrix.csr.addsub(e1,e2,-1), "*" = .matrix.csr.elemul(e1,e2), "/" = .matrix.csr.elediv(e1,e2), "^" = .matrix.csr.expo(e1,e2), "%/%" = .matrix.csr.intdiv(e1,e2), "%%" = .matrix.csr.mod(e1,e2), ">" = .matrix.csr.relation(e1,e2,"gt"), ">=" = .matrix.csr.relation(e1,e2,"ge"), "<" = .matrix.csr.relation(e1,e2,"lt"), "<=" = .matrix.csr.relation(e1,e2,"le"), "==" = .matrix.csr.relation(e1,e2,"eq"), "!=" = .matrix.csr.relation(e1,e2,"ne"), "&" = {z <- .matrix.csr.elemul(e1,e2);z@ra <- rep(1,length(z@ja));z}, "|" = {z <- .matrix.csr.addsub(e1,e2,1);z@ra <- rep(1,length(z@ja));z}, stop(paste("Binary operator \"",.Generic,"\""," is undefined for class \"matrix.csr\"",sep="")) ) } return(e1.op.e2) } #-------------------------------------------------------------------- ".matrix.csr.compl" <- function(e1){ nrow <- e1@dimension[1] ncol <- e1@dimension[2] nnz <- e1@ia[nrow+1]-1 nz <- nrow*ncol - nnz if(nz == 0){ # full matrix z <- as.matrix.csr(0,nrow,ncol) return(z) } if(nnz == 1 && e1@ra == 0){ # zero matrix z <- as.matrix.csr(1,nrow,ncol) return(z) } if(length(e1@ra) == 1 && is.na(e1@ra)){ #trap zero matrix z <- list(ra=rep(1,nz),ja=rep(1:ncol,nrow),ia=seq(1,nz+1,by=ncol),dim=e1@dimension) } else{ z <- .Fortran(f_nzero, as.double(e1@ra), as.integer(e1@ja), as.integer(e1@ia), as.integer(nrow), as.integer(ncol), as.integer(nnz), as.integer(nz), ra = double(nz), ja = integer(nz), ia = integer(nrow+1), logical(ncol)) z <- new("matrix.csr",ra=z$ra,ja=z$ja,ia=z$ia,dimension=e1@dimension) } z } #-------------------------------------------------------------------- ".matrix.csr.addsub" <- function(A,B,s){ #matrix addition/subtraction of two sparse csr matrices if(is.matrix(A)) A <- as.matrix.csr(A) if(is.matrix(B)) B <- as.matrix.csr(B) nrow <- A@dimension[1] ncol <- A@dimension[2] Bcol <- B@dimension[2] Brow <- B@dimension[1] if(ncol != Bcol | nrow != Brow)stop("matrices not conformable for addition") nnza <- A@ia[nrow+1]-1 nnzb <- B@ia[nrow+1]-1 nnzmax <- length(union(A@ja+A@dimension[2]*(rep(1:A@dimension[1],diff(A@ia))-1), B@ja+B@dimension[2]*(rep(1:B@dimension[1],diff(B@ia))-1)))+1 z <- .Fortran(f_aplsb, as.integer(nrow), as.integer(ncol), as.integer(1), as.double(A@ra), as.integer(A@ja), as.integer(A@ia), as.double(s), as.double(B@ra), as.integer(B@ja), as.integer(B@ia), ra = double(nnzmax), ja = integer(nnzmax), ia = integer(nrow+1), as.integer(nnzmax), integer(ncol), ierr = integer(1)) if(z$ierr != 0) stop("insufficient space for sparse matrix addition") nnz <- z$ia[nrow+1]-1 z <- new("matrix.csr",ra=z$ra[1:nnz],ja=z$ja[1:nnz],ia=z$ia,dimension=c(nrow,ncol)) return(z) } #-------------------------------------------------------------------- ".matrix.csr.elemul" <- function(A,B){ if(is.vector(A)) { if(length(A) == 1){ if(A==0) return(as.matrix.csr(0,nrow(B),ncol(B))) else{B@ra <- A*B@ra;return(B)} } else if(length(A) == nrow(B)) return(as(A,"matrix.diag.csr") %*% B) else if(length(A) == ncol(B)) return(B %*% as(A,"matrix.diag.csr")) else stop("A and B not conformable for element-by-element multiplication") } else if(is.vector(B)) { if(length(B) == 1){ if(B==0) return(as.matrix.csr(0,nrow(A),ncol(A))) else{A@ra <- B*A@ra;return(A)} } else if(length(B) == nrow(A)) return(as(B,"matrix.diag.csr") %*% A) else if(length(B) == ncol(A)) return(A %*% as(B,"matrix.diag.csr")) else stop("A and B not conformable for element-by-element multiplication") } if(is.matrix(A)) A <- as.matrix.csr(A) else if(is.matrix(B)) B <- as.matrix.csr(B) if(!(is.matrix.csr(A) && is.matrix.csr(B))) stop("Arguments must be of class: vector, matrix or matrix.csr") else Arow <- nrow(A) Acol <- ncol(A) Brow <- nrow(B) Bcol <- ncol(B) if(Acol != Bcol | Arow != Brow) stop("A and B not conformable for element-by-element multiplication") nnza <- A@ia[Arow+1]-1 nnzb <- B@ia[Arow+1]-1 nnzmax <- length(intersect(A@ja+A@dimension[2]*(rep(1:A@dimension[1],diff(A@ia))-1), B@ja+B@dimension[2]*(rep(1:B@dimension[1],diff(B@ia))-1)))+1 z <- .Fortran(f_aemub, as.integer(Arow), as.integer(Acol), as.double(A@ra), as.integer(A@ja), as.integer(A@ia), as.double(B@ra), as.integer(B@ja), as.integer(B@ia), ra = double(nnzmax), ja = integer(nnzmax), ia = integer(Arow+1), integer(Acol), double(Acol), as.integer(nnzmax), ierr = integer(1)) if(z$ierr != 0) stop("insufficient space for element-wise sparse matrix multiplication") nnz <- z$ia[Arow+1]-1 if(identical(z$ra,0)){#trap zero matrix z$ja <- as.integer(1) z$ia <- as.integer(c(1,rep(2,Arow))) } z <- new("matrix.csr",ra=z$ra[1:nnz],ja=z$ja[1:nnz],ia=z$ia,dimension=c(Arow,Acol)) return(z) } #-------------------------------------------------------------------- ".matrix.csr.elediv" <- function(A,B){ # Element-wise matrix division of two sparse csr matrices if(is.numeric(A) && length(A) == 1) z <- new("matrix.csr",ra=A/B@ra,ja=B@ja,ia=B@ia,dimension=B@dimension) else if(is.numeric(B) && length(B) == 1) z <- new("matrix.csr",ra=A@ra/B,ja=A@ja,ia=A@ia,dimension=A@dimension) else if(is.matrix.csr(A) || is.matrix.csr(B) || is.matrix(A) || is.matrix(B)){ if(is.matrix(A)) A <- as.matrix.csr(A) if(is.matrix(B)) B <- as.matrix.csr(B) nrow <- A@dimension[1] ncol <- A@dimension[2] Bcol <- B@dimension[2] Brow <- B@dimension[1] if(ncol != Bcol | nrow != Brow)stop("matrices not conformable for element-by-element division") nnza <- A@ia[nrow+1]-1 nnzb <- B@ia[nrow+1]-1 nnzmax <- length(union(A@ja+A@dimension[2]*(rep(1:A@dimension[1],diff(A@ia))-1), B@ja+B@dimension[2]*(rep(1:B@dimension[1],diff(B@ia))-1)))+1 z <- .Fortran(f_aedib, as.integer(nrow), as.integer(ncol), as.integer(1), as.double(A@ra), as.integer(A@ja), as.integer(A@ia), as.double(B@ra), as.integer(B@ja), as.integer(B@ia), ra = double(nnzmax), ja = integer(nnzmax), ia = integer(nrow+1), as.integer(nnzmax), integer(ncol), double(ncol), ierr = integer(1)) if(z$ierr != 0) stop("insufficient space for element-wise sparse matrix division") nnz <- z$ia[nrow+1]-1 z1 <- vector("numeric",nrow*ncol) idx1 <- z$ja[1:nnz]+ncol*(rep(1:nrow,diff(z$ia))-1) idx2 <- union(A@ja+A@dimension[2]*(rep(1:A@dimension[1],diff(A@ia))-1), B@ja+B@dimension[2]*(rep(1:B@dimension[1],diff(B@ia))-1)) idx3 <- setdiff(1:(nrow*ncol),idx2) z1[idx1] <- z$ra[1:nnz] z1[idx3] <- NaN z <- new("matrix.csr",ra=z1,ja=as.integer(rep(1:ncol,nrow)), ia=as.integer(seq(1,nrow*ncol+1,by=ncol)),dimension=as.integer(c(nrow,ncol))) } else stop("Arguments have to be class \"matrix.csr\" or numeric") return(z) } #-------------------------------------------------------------------- ".matrix.csr.expo" <- function(A,B){ # Performs element-wise exponentiation on sparse matrices if(is.numeric(A) && length(A) == 1) z <- new("matrix.csr",ra=A^B@ra,ja=B@ja,ia=B@ia,dimension=B@dimension) else if(is.numeric(B) && length(B) == 1) z <- new("matrix.csr",ra=A@ra^B,ja=A@ja,ia=A@ia,dimension=A@dimension) else if(is.matrix.csr(A) || is.matrix.csr(B) || is.matrix(A) || is.matrix(B)){ if(is.matrix(A)) A <- as.matrix.csr(A) if(is.matrix(B)) B <- as.matrix.csr(B) nrow <- A@dimension[1] ncol <- A@dimension[2] Bcol <- B@dimension[2] Brow <- B@dimension[1] if(ncol != Bcol | nrow != Brow)stop("matrices not conformable for element-by-element division") nnza <- A@ia[nrow+1]-1 nnzb <- B@ia[nrow+1]-1 nnzmax <- length(union(A@ja+A@dimension[2]*(rep(1:A@dimension[1],diff(A@ia))-1), B@ja+B@dimension[2]*(rep(1:B@dimension[1],diff(B@ia))-1)))+1 z <- .Fortran(f_aeexpb, as.integer(nrow), as.integer(ncol), as.integer(1), as.double(A@ra), as.integer(A@ja), as.integer(A@ia), as.double(B@ra), as.integer(B@ja), as.integer(B@ia), ra = double(nnzmax), ja = integer(nnzmax), ia = integer(nrow+1), as.integer(nnzmax), integer(ncol), double(ncol), ierr = integer(1)) if(z$ierr != 0) stop("insufficient space for element-wise sparse matrix exponentiation") nnz <- z$ia[nrow+1]-1 z1 <- vector("numeric",nrow*ncol) idx1 <- z$ja[1:nnz]+ncol*(rep(1:nrow,diff(z$ia))-1) idxA <- A@ja+A@dimension[2]*(rep(1:A@dimension[1],diff(A@ia))-1) idxB <- B@ja+B@dimension[2]*(rep(1:B@dimension[1],diff(B@ia))-1) idx2 <- union(idxA,idxB) idx3 <- setdiff(1:(nrow*ncol),idx2) idx4 <- setdiff(idxB,idxA) idxInf <- (idxB[B@ra<0])[!is.element(idxB[B@ra<0],idxA)] z1[idx1] <- z$ra[1:nnz] z1[idx3] <- 1 z1[idxInf] <- Inf #this is needed because Fortran returns NA instead of Inf for 0^-1 z <- new("matrix.csr",ra=z1,ja=as.integer(rep(1:ncol,nrow)), ia=as.integer(seq(1,nrow*ncol+1,by=ncol)),dimension=as.integer(c(nrow,ncol))) } else stop("Arguments have to be class \"matrix.csr\" or numeric") return(z) } #-------------------------------------------------------------------- ".matrix.csr.intdiv" <- function(A,B){ # This operation is not efficient storage-wise for sparse matrices if(is.matrix.csr(A)) A <- as.matrix(A) if(is.matrix.csr(B)) B <- as.matrix(B) AB <- A%/%B nan <- is.nan(AB) infty <- is.infinite(AB) & AB >0 ninfty <- is.infinite(AB) & AB <0 uniq <- rnorm(3) while(any(uniq %in% AB[!(nan|infty|ninfty)])) uniq <- rnorm(3) AB[nan] <- uniq[1] AB[infty] <- uniq[2] AB[ninfty] <- uniq[3] AB <- as.matrix.csr(AB) AB@ra[AB@ra==uniq[1]] <- NaN AB@ra[AB@ra==uniq[2]] <- Inf AB@ra[AB@ra==uniq[3]] <- -Inf as(AB,"matrix.csr") AB } #-------------------------------------------------------------------- ".matrix.csr.mod" <- function(A,B){ # This operation is not efficient storage-wise for sparse matrices if(is.matrix.csr(A)) A <- as.matrix(A) if(is.matrix.csr(B)) B <- as.matrix(B) AB <- A%%B nan <- is.nan(AB) infty <- is.infinite(AB) & AB >0 ninfty <- is.infinite(AB) & AB <0 uniq <- rnorm(3) while(any(uniq %in% AB[!(nan|infty|ninfty)])) uniq <- rnorm(3) AB[nan] <- uniq[1] AB[infty] <- uniq[2] AB[ninfty] <- uniq[3] AB <- as.matrix.csr(AB) AB@ra[AB@ra==uniq[1]] <- NaN AB@ra[AB@ra==uniq[2]] <- Inf AB@ra[AB@ra==uniq[3]] <- -Inf as(AB,"matrix.csr") AB } #-------------------------------------------------------------------- ".matrix.csr.relation" <- function(e1,e2,rel){ if(is.numeric(e2) && length(e2) == 1){ z <- .csr.relation(e1,e2,rel) } else if(is.numeric(e1) && length(e1) == 1){ z <- .csr.relation(-e2,-e1,rel) } else { #inefficient implementation if (is.matrix(e2)) e1 <- as.matrix(e1) else if (is.matrix(e1)) e2 <- as.matrix(e2) else {e1 <- as.matrix(e1); e2 <- as.matrix(e2)} z <- switch(rel, "gt" = e1 > e2, "lt" = e1 < e2, "ge" = e1 >= e2, "le" = e1 <= e2, "eq" = e1 == e2, "ne" = e1 != e2) z <- as.matrix.csr(z) } if(!(length(z@ra)==1 && z@ra==0 && z@ja==1)) #trap returned matrix with all zeros z@ra <- rep(1,length(z@ra)) z } #-------------------------------------------------------------------- ".csr.relation" <- function(A,drptol,rel){ nrow <- A@dimension[1] nnza <- A@ia[nrow+1]-1 flag <- FALSE if((rel=="gt" || rel=="le") && drptol >=0){ relidx <- 1 flag <- TRUE } if((rel=="lt" || rel=="ge") && drptol <=0){ relidx <- 1 drptol <- -drptol A@ra <- -A@ra flag <- TRUE } if(rel=="eq" && drptol !=0){ relidx <- 3 flag <- TRUE } if((rel=="ne" || rel=="eq") && drptol ==0){ relidx <- 4 flag <- TRUE } if(flag){ z <- .Fortran(f_filter1, as.integer(nrow), as.integer(relidx), as.double(drptol), as.double(A@ra), as.integer(A@ja), as.integer(A@ia), ra = double(nnza), ja = integer(nnza), ia = integer(nrow+1), as.integer(nnza), ierr = integer(1)) if(z$ierr !=0) stop("Not enough space") nnza <- z$ia[nrow+1]-1 if(nnza==0){ # trap returned matrix with all zeros z$ra <- 0 z$ja <- as.integer(1) z$ia <- as.integer(c(1,rep(2,A@dimension[1]))) } if(rel == "lt") z <- new("matrix.csr",ra=z$ra[1:nnza],ja=z$ja[1:nnza],ia=z$ia,dimension=A@dimension) else if(rel == "gt") z <- new("matrix.csr",ra=-z$ra[1:nnza],ja=z$ja[1:nnza],ia=z$ia,dimension=A@dimension) else if(rel == "le"){ z <- new("matrix.csr",ra=-z$ra[1:nnza],ja=z$ja[1:nnza],ia=z$ia,dimension=A@dimension) z <- !z } else if(rel == "ge"){ z <- new("matrix.csr",ra=z$ra[1:nnza],ja=z$ja[1:nnza],ia=z$ia,dimension=A@dimension) z <- !z } else if(rel == "ne") z <- new("matrix.csr",ra=-z$ra[1:nnza],ja=z$ja[1:nnza],ia=z$ia,dimension=A@dimension) else if(drptol == 0){ z <- new("matrix.csr",ra=-z$ra[1:nnza],ja=z$ja[1:nnza],ia=z$ia,dimension=A@dimension) z <- !z } else z <- new("matrix.csr",ra=-z$ra[1:nnza],ja=z$ja[1:nnza],ia=z$ia,dimension=A@dimension) } else{ #This operation is inefficient storage-wise if(rel == "gt") z <- as.matrix.csr(as.matrix(A) > drptol) else if(rel == "ge") z <- as.matrix.csr(as.matrix(A) >= drptol) else if(rel == "lt") z <- as.matrix.csr(as.matrix(A) < drptol) else if(rel == "le") z <- as.matrix.csr(as.matrix(A) <= drptol) else z <- as.matrix.csr(as.matrix(A) != drptol) } z } #-------------------------------------------------------------------- "[.matrix.csr" <- function (x, rw = 1:x@dimension[1], cl = 1:x@dimension[2]) { x <- as.matrix.coo(x) y <- x[rw,cl] if(is(y,"matrix.coo")) as.matrix.csr(y) else y } #-------------------------------------------------------------------- "[<-.matrix.csr" <- function (x, rw = 1:x@dimension[1], cl = 1:x@dimension[2], value) { x <- as.matrix.coo(x) # value <- as.matrix.coo(value) x[rw,cl]<-value as.matrix.csr(x) } #-------------------------------------------------------------------- "[.matrix.diag.csr" <- function (x, rw = 1:x@dimension[1], cl = 1:x@dimension[2]) { x <- as.matrix.coo(as(x,"matrix.csr")) y <- x[rw,cl] if(is(y,"matrix.coo")) as(as.matrix.csr(y),"matrix.diag.csr") else y } #-------------------------------------------------------------------- ".matmul.matrix.csr" <- function(x,y){ if(is.matrix.csr(x)){ if(is.matrix.csr(y)){ #matrix multiply two sparse csr matrices nrow <- x@dimension[1] ncol <- y@dimension[2] Acol <- x@dimension[2] Brow <- y@dimension[1] if(Acol != Brow) stop("matrices not conformable for multiplication") z <- .Fortran(f_amubdg, as.integer(nrow), as.integer(Acol), as.integer(ncol), as.integer(x@ja), as.integer(x@ia), as.integer(y@ja), as.integer(y@ia), integer(nrow), nnz = integer(1), integer(ncol)) nnzmax <- z$nnz z <- .Fortran(f_amub, as.integer(nrow), as.integer(ncol), as.integer(1), as.double(x@ra), as.integer(x@ja), as.integer(x@ia), as.double(y@ra), as.integer(y@ja), as.integer(y@ia), ra = double(nnzmax), ja = integer(nnzmax), ia = integer(nrow+1), as.integer(nnzmax), integer(ncol), ierr = integer(1)) nnz <- z$ia[nrow+1]-1 if(z$ierr != 0) stop("insufficient space for sparse matrix multiplication") if(length(z$ra)==0){#trap zero matrix z$ra <- 0 z$ja <- as.integer(1) z$ia <- as.integer(c(1,rep(2,nrow))) } z <- new("matrix.csr",ra=z$ra[1:nnz],ja=z$ja[1:nnz], ia=z$ia,dimension=as.integer(c(nrow,ncol))) } else{ if(is.matrix(y)){ z <- .matmul.matrix.csr(x,as.matrix.csr(y)) } else{ #matrix-vector multiplication: multiply a sparse csr matrix by a vector #A -- csr structure returned from call to function "as.matrix.csr" #B -- vector nrow <- x@dimension[1] ncol <- x@dimension[2] if(length(y) != ncol)stop("not conformable for multiplication") z <- .Fortran(f_amux, as.integer(nrow), as.double(y), y=double(nrow), as.double(x@ra), as.integer(x@ja), as.integer(x@ia)) z <- z$y dim(z) <- c(nrow,1) } } } else{ if(is.matrix(x)){ z <- .matmul.matrix.csr(as.matrix.csr(x),y) } else{ #matrix-vector multiplication: multiply a sparse csr matrix by a vector #A -- csr structure returned from call to function "as.matrix.csr" #B -- vector y <- t(y) nrow <- y@dimension[1] ncol <- y@dimension[2] if(length(x) != ncol)stop("not conformable for multiplication") z <- .Fortran(f_amux, as.integer(nrow), as.double(x), y=double(nrow), as.double(y@ra), as.integer(y@ja), as.integer(y@ia)) z <- z$y dim(z) <- c(1,nrow) } } return(z) } #-------------------------------------------------------------------- ".kron.matrix.csr" <- function(X,Y){ X = as.matrix.coo(X) Y = as.matrix.coo(Y) la = length(X@ra) lb = length(Y@ra) ra = rep(Y@ra,la)*rep(X@ra,each=lb) ja = as.integer(rep(Y@ja,la)+rep((X@ja-1)*dim(Y)[2],each=lb)) ia = as.integer(rep(Y@ia,la)+rep((X@ia-1)*dim(Y)[1],each=lb)) dim = as.integer(dim(X)*dim(Y)) as.matrix.csr(new("matrix.coo",ra=ra,ia=ia,ja=ja, dimension=dim)) # /*RSB*/ dim= changed to dimension= } #-------------------------------------------------------------------- #"chol" <- function(x, ...) UseMethod("chol") #-------------------------------------------------------------------- #"chol.default" <- base::chol #-------------------------------------------------------------------- "slm" <- function (formula, data, weights, na.action, method = "csr", contrasts = NULL, ...) { call <- match.call() m <- match.call(expand.dots = FALSE) m$method <- m$model <- m$x <- m$y <- m$contrasts <- m$... <- NULL m[[1]] <- as.name("model.frame") m <- eval(m, sys.frame(sys.parent())) if (method == "model.frame") return(m) Terms <- attr(m, "terms") weights <- model.extract(m, weights) Y <- model.extract(m, "response") X <- as.matrix.csr(model.matrix(Terms, m, contrasts)) fit <- { if (length(weights)) slm.wfit(X, Y, weights, method, ...) else slm.fit(X, Y, method, ...) } fit$terms <- Terms fit$call <- call attr(fit, "na.message") <- attr(m, "na.message") class(fit) <- c(if (is.matrix(Y)) "mslm", "slm") fit } #-------------------------------------------------------------------- "slm.fit" <- function (x, y, method = "csr", ...) { fit <- slm.fit.csr(x, y, ...) fit$contrasts <- attr(x, "contrasts") fit } #-------------------------------------------------------------------- "slm.wfit" <- function (x, y, weights, ...) { if (!is.matrix.csr(x)) stop("model matrix must be in sparse csr mode") if (!is.numeric(y)) stop("response must be numeric") if (any(weights < 0)) stop("negative weights not allowed") contr <- attr(x, "contrasts") w <- sqrt(weights) x <- as(w,"matrix.diag.csr") %*% x y <- y * w fit <- slm.fit.csr(x, y, ...) fit$contrasts <- attr(x, "contrasts") fit } #-------------------------------------------------------------------- "slm.fit.csr" <- function (x, y, ...) { # n <- length(y) if(is.matrix(y)) n <- dim(y)[1] else n <- length(y) p <- x@dimension[2] if (n != x@dimension[1]) stop("x and y don't match n") chol <- chol(t(x)%*%x, ...) xy <- t(x) %*% y coef <- backsolve(chol,xy) fitted <- as.matrix(x %*% coef) resid <- y - fitted df <- n - p list(coefficients=coef, chol=chol, residuals=resid, fitted=fitted, df.residual = df) } #-------------------------------------------------------------------- "coef.slm" <- function (object, ...) object$coefficients #-------------------------------------------------------------------- "fitted.slm" <- function (object, ...) object$fitted #-------------------------------------------------------------------- "residuals.slm" <- function (object, ...){ r <- object$residuals r } # Suggested by jracine April 14, 2006 extractAIC.slm <- function (fit, scale = 0, k = 2, ...) { n <- length(fit$residuals) edf <- n - fit$df.residual RSS <- deviance.slm(fit) dev <- if (scale > 0) { RSS/scale - n } else { n * log(RSS/n) } c(edf, dev + k * edf) } deviance.slm <- function (object, ...) { sum(weighted.residuals(object)^2, na.rm = TRUE) } #-------------------------------------------------------------------- "summary.mslm" <- function (object, ...) { coef <- coef(object) ny <- ncol(coef) if (is.null(ny)) return(NextMethod("summary")) effects <- object$effects resid <- residuals(object) fitted <- fitted(object) ynames <- colnames(coef) if (is.null(ynames)) { lhs <- object$terms[[2]] if (mode(lhs) == "call" && lhs[[1]] == "cbind") ynames <- as.character(lhs)[-1] else ynames <- paste("Y", seq(ny), sep = "") } value <- vector("list", ny) names(value) <- paste("Response", ynames) cl <- class(object) class(object) <- cl[match("mslm", cl):length(cl)][-1] for (i in seq(ny)) { object$coefficients <- coef[, i] object$residuals <- resid[, i] object$fitted.values <- fitted[, i] object$effects <- effects[, i] object$call$formula[[2]] <- object$terms[[2]] <- as.name(ynames[i]) value[[i]] <- summary(object, ...) } class(value) <- "listof" # class(value) <- "summary.mslm" value } #-------------------------------------------------------------------- "summary.slm" <- function (object, correlation = FALSE, ...) { Chol <- object$chol if (is.null(object$terms) || is.null(Chol)) stop("invalid 'lm' object: no terms or chol component") n <- length(object$residuals) p <- object$chol@nrow rdf <- n - p r <- residuals(object) f <- fitted(object) w <- weights(object) if (is.null(w)) { mss <- if (attr(object$terms, "intercept")) sum((f - mean(f))^2) else sum(f^2) rss <- sum(r^2) } else { mss <- if (attr(object$terms, "intercept")) { m <- sum(w * f/sum(w)) sum(w * (f - m)^2) } else sum(w * f^2) rss <- sum(w * r^2) r <- sqrt(w) * r } resvar <- rss/rdf R <- backsolve(Chol,diag(p)) se <- sqrt(diag(R) * resvar) est <- coefficients(object) tval <- est/se ans <- object[c("call", "terms")] ans$residuals <- r ans$coefficients <- cbind(est, se, tval, 2 * (1 - pt(abs(tval), rdf))) dimnames(ans$coefficients) <- list(names(object$coefficients), c("Estimate", "Std. Error", "t value", "Pr(>|t|)")) ans$sigma <- sqrt(resvar) ans$df <- c(p, rdf, n) if (p != attr(object$terms, "intercept")) { df.int <- if (attr(object$terms, "intercept")) 1 else 0 ans$r.squared <- mss/(mss + rss) ans$adj.r.squared <- 1 - (1 - ans$r.squared) * ((n - df.int)/rdf) ans$fstatistic <- c(value = (mss/(p - df.int))/resvar, numdf = p - df.int, dendf = rdf) } ans$cov.unscaled <- R dimnames(ans$cov.unscaled) <- dimnames(ans$coefficients)[c(1, 1)] if (correlation) { ans$correlation <- (R * resvar)/outer(se, se) dimnames(ans$correlation) <- dimnames(ans$cov.unscaled) } class(ans) <- "summary.slm" ans } #-------------------------------------------------------------------- "print.summary.slm" <- function (x, digits = max(3, getOption("digits") - 3), symbolic.cor = p > 4, signif.stars = getOption("show.signif.stars"), ...) { cat("\nCall:\n") cat(paste(deparse(x$call), sep = "\n", collapse = "\n"), "\n\n", sep = "") resid <- x$residuals df <- x$df rdf <- df[2] cat(if (!is.null(x$w) && diff(range(x$w))) "Weighted ", "Residuals:\n", sep = "") if (rdf > 5) { nam <- c("Min", "1Q", "Median", "3Q", "Max") rq <- structure(quantile(resid), names = nam) print(rq, digits = digits, ...) } else if (rdf > 0) { print(resid, digits = digits, ...) } else { cat("ALL", df[1], "residuals are 0: no residual degrees of freedom!\n") } # if (nsingular <- df[3] - df[1]) # cat("\nCoefficients: (", nsingular, " not defined because of singularities)\n", # sep = "") #else cat("\nCoefficients:\n") cat("\nCoefficients:\n") printCoefmat(x$coef, digits = digits, signif.stars = signif.stars, ...) cat("\nResidual standard error:", format(signif(x$sigma, digits)), "on", rdf, "degrees of freedom\n") if (!is.null(x$fstatistic)) { cat("Multiple R-Squared:", formatC(x$r.squared, digits = digits)) cat(",\tAdjusted R-squared:", formatC(x$adj.r.squared, digits = digits), "\nF-statistic:", formatC(x$fstatistic[1], digits = digits), "on", x$fstatistic[2], "and", x$fstatistic[3], "DF,\tp-value:", formatC(1 - pf(x$fstatistic[1], x$fstatistic[2], x$fstatistic[3]), digits = digits), "\n") } correl <- x$correlation if (!is.null(correl)) { p <- NCOL(correl) if (p > 1) { cat("\nCorrelation of Coefficients:\n") if (symbolic.cor) print(symnum(correl)[-1, -p]) else { correl[!lower.tri(correl)] <- NA print(correl[-1, -p, drop = FALSE], digits = digits, na = "") } } } cat("\n") invisible(x) } #-------------------------------------------------------------------- "print.slm" <- function (x, digits = max(3, getOption("digits") - 3), ...) { cat("\nCall:\n", deparse(x$call), "\n\n", sep = "") cat("Coefficients:\n") print.default(format(coef(x), digits = digits), print.gap = 2, quote = FALSE) cat("\n") invisible(x) } "[.matrix.coo" <- function (x, rw = 1:x@dimension[1], cl = 1:x@dimension[2]) { nrow <- x@dimension[1] ncol <- x@dimension[2] if (is.matrix.coo(rw)) { stop("Indexing by 'matrix.coo' matrices not implemented") } if (is.matrix.csr(rw)) { if(nrow != rw@dimension[1] || ncol != rw@dimension[2]) stop("Dimension of the indexing matrix is not the same as the matrix being indexed") x <- as.matrix.coo(t(as.matrix.csr(x))) rw <- as.matrix.coo(t(rw)) s <- match(paste(rw@ia,rw@ja),paste(x@ia,x@ja)) ra <- x@ra[s] A <- ra } else if(is.matrix(rw)){ if(!all(abs(rw[,1])%in%1:nrow)||!all(abs(rw[,2])%in%1:ncol)) stop("Subscripts out of bound") s <- match(paste(rw[,1],rw[,2]),paste(x@ia,x@ja)) ra <- x@ra[s] ra[is.na(ra)] <- 0 A <- ra } else{ if (is.logical(rw)) if (length(rw) > nrow) stop("logical subscript too long") else rw <- (1:nrow)[rw] if (is.logical(cl)) if (length(cl) > ncol) stop("logical subscript too long") else cl <- (1:ncol)[cl] if (!all(abs(rw) %in% 1:nrow) || !all(abs(cl) %in% 1:ncol)) stop("Subscripts out of bound") if (any(rw < 0)) { if (!all(rw <= 0)) stop("Only 0's may mix with negative subscripts") else rw <- setdiff(1:nrow, abs(rw)) } if (any(cl < 0)) { if (!all(cl <= 0)) stop("Only 0's may mix with negative subscripts") else cl <- setdiff(1:ncol, abs(cl)) } if(any(duplicated(rw)) || any(duplicated(cl))){ s <- ((x@ja %in% cl) & (x@ia %in% rw)) urw <- as.integer(names(table(rw))) ucl <- as.integer(names(table(cl))) ja <- match(x@ja[s],ucl) ia <- match(x@ia[s],urw) dim <- c(length(urw),length(ucl)) ra <- x@ra[s] A <- new("matrix.coo",ra=ra,ja=ja,ia=ia,dimension=dim) A <- as.matrix.csr(A) #obviously this looping is horrible but is there a better way? #could be fortranized I suppose. rn <- table(rw) ri <- as.integer(names(rn)) B <- NULL for(i in 1:length(rw)){ j <- match(rw[i],urw) if(is.null(B)) B <- A[j,] else B <- rbind(B,A[j,]) } A <- B B <- NULL cn <- table(cl) ci <- as.integer(names(cn)) for(i in 1:length(cl)){ j <- match(cl[i],ucl) if(is.null(B)) B <- A[,j] else B <- cbind(B,A[,j]) } A <- as.matrix.coo(B) } else{ s <- ((x@ja %in% cl) & (x@ia %in% rw)) ja <- match(x@ja[s],cl) ia <- match(x@ia[s],rw) dim <- c(length(rw),length(cl)) ra <- x@ra[s] if (length(ra) == 0 && length(ja) == 0){ ra = 0 ja = ia = as.integer(1) } A <- new("matrix.coo",ra=ra,ja=ja,ia=ia,dimension=dim) } } return(A) } "[<-.matrix.coo" <- function (x, rw = 1:x@dimension[1], cl = 1:x@dimension[2], value) { nrow <- x@dimension[1] ncol <- x@dimension[2] # if (!is.matrix.coo(value)) # stop("replacement matrix must be of matrix.coo class") if (is.matrix.coo(rw)) { stop("Indexing by 'matrix.coo' matrices not implemented") } else if (is.matrix.csr(rw)) { if(nrow != rw@dimension[1] || ncol != rw@dimension[2]) stop("Dimension of the indexing matrix is not the same as the matrix being indexed") x <- as.matrix.coo(t(as.matrix.csr(x))) rw <- as.matrix.coo(t(rw)) s <- match(paste(rw@ia,rw@ja),paste(x@ia,x@ja)) len.s <- length(s) value <- as.matrix.csr(value) len.value <- length(value@ra) value.ra <- value@ra if (len.s != len.value){ if (len.value == 1) value.ra <- rep(value@ra,len.s) else{ if (len.value >= len.s){ value.ra <- value@ra[1:len.s] warning("number of items to replace is not a multiple of replacement length") } else { value.ra <- rep(value@ra,len.s%/%len.value+1)[1:len.s] warning("number of items to replace is not a multiple of replacement length") } } } ra <- c(x@ra[-s],value.ra) ia <- as.integer(c(x@ja[-s],rw@ja)) ja <- as.integer(c(x@ia[-s],rw@ia)) dim <- rev(x@dimension) x <- new("matrix.coo",ra=ra,ja=ja,ia=ia,dimension=dim) } else if(is.matrix(rw)){ if(!all(abs(rw[,1])%in%1:nrow)||!all(abs(rw[,2])%in%1:ncol)) stop("Subscripts out of bound") s <- match(paste(rw[,1],rw[,2]),paste(x@ia,x@ja)) if(length(value)==1) value <- rep(value,nrow(rw)) if(length(value)!=nrow(rw)) stop("assignment value has incompatible length") as <- -s[!is.na(s)] as <- ifelse(length(as),as,TRUE) ra <- c(x@ra[as],value) ja <- as.integer(c(x@ja[as],rw[,2])) ia <- as.integer(c(x@ia[as],rw[,1])) dim <- x@dimension x <- new("matrix.coo",ra=ra,ja=ja,ia=ia,dimension=dim) } else { if (is.logical(rw)) if (length(rw) > nrow) stop("logical subscript too long") else rw <- (1:nrow)[rw] if (is.logical(cl)) if (length(cl) > ncol) stop("logical subscript too long") else cl <- (1:ncol)[cl] if (!all(abs(rw) %in% 1:nrow) || !all(abs(cl) %in% 1:ncol)) stop("Subscripts out of bound") if (any(rw < 0)) { if (!all(rw <= 0)) stop("Only 0's may mix with negative subscripts") else rw <- setdiff(1:nrow, abs(rw)) } if (any(cl < 0)) { if (!all(cl <= 0)) stop("Only 0's may mix with negative subscripts") else cl <- setdiff(1:ncol, abs(cl)) } s <- ((x@ja %in% cl) & (x@ia %in% rw)) value <- as.matrix.coo(as.matrix.csr(value,nrow=length(rw),ncol=length(cl))) ra <- c(x@ra[!s],value@ra) ja <- as.integer(c(x@ja[!s],cl[value@ja])) ia <- as.integer(c(x@ia[!s],rw[value@ia])) dim <- x@dimension x <- new("matrix.coo",ra=ra,ja=ja,ia=ia,dimension=dim) } return(x) } # All the S4 Methods stuff is collected below this point setClass("matrix.csr",representation(ra="numeric", ja="integer",ia="integer", dimension="integer"), validity = function(object) { if(!(length(object@dimension) == 2) ) return("invalid dimension attribute") else{ nrow <- object@dimension[1] ncol <- object@dimension[2] } if(!(length(object@ra) ==length(object@ja))) return("ra and ja don't have equal lengths") if(any(object@ja < 1) || any(object@ja > ncol)) return("ja exceeds dim bounds") if(any(object@ia < 1)) return("some elements of ia are <= 0") if(any(diff(object@ia)<0)) return("ia vector not monotone increasing") if(object@ia[length(object@ia)] != length(object@ra)+1) return("last element of ia doesn't conform") if(length(object@ia) != nrow+1) return("ia has wrong number of elements") if(length(object@ra) < 1 || length(object@ra) > prod(object@dimension)) return("ra has too few, or too many elements") TRUE}) setMethod("initialize", "matrix.csr", function(.Object, ra = 0, ja = as.integer(1), ia = as.integer(c(1,2)),dimension = as.integer(c(1,1))) { .Object@ra <- ra .Object@ja <- ja .Object@ia <- ia .Object@dimension <- dimension validObject(.Object) .Object }) setClass("matrix.csc",representation(ra="numeric",ja="integer",ia="integer", dimension="integer")) setClass("matrix.ssr",representation(ra="numeric",ja="integer",ia="integer", dimension="integer")) setClass("matrix.ssc",representation(ra="numeric",ja="integer",ia="integer", dimension="integer")) setClass("matrix.coo",representation(ra="numeric", ja="integer",ia="integer", dimension="integer"), validity = function(object) { if(!length(object@dimension) == 2 ) return("invalid dimension attribute") else{ nrow <- object@dimension[1] ncol <- object@dimension[2] } if(!(length(object@ra) ==length(object@ja) && length(object@ra) ==length(object@ia))) return("ra,ja,ia don't have equal lengths") if(any(object@ja < 1) || any(object@ja > ncol)) return("ja exceeds dim bounds") if(any(object@ia < 1) || any(object@ia > nrow)) return("ia exceeds dim bounds") if(length(object@ra) < 1 || length(object@ra) > prod(object@dimension)) return("ra has too few, or too many elements") TRUE}) setMethod("initialize", "matrix.coo", function(.Object, ra = numeric(0), ja = integer(0), ia = integer(0),dimension = integer(0)) { .Object@ra <- ra .Object@ja <- ja .Object@ia <- ia .Object@dimension <- dimension validObject(.Object) .Object }) #------------------------------------------------------------------------- setClass("matrix.csr.chol",representation(nrow="numeric",nnzlindx="numeric", nsuper="numeric",lindx="numeric",xlindx="numeric",nnzl="numeric", lnz="numeric",xlnz="numeric",invp="numeric",perm="numeric", xsuper="numeric",det="numeric", ######################################################################## # BEGIN BEN ADDED # log.det="numeric", # END BEN ADDED # ######################################################################## ierr="numeric", time="numeric")) setClassUnion("numeric or NULL",c("numeric","NULL")) setClassUnion("character or NULL",c("character","NULL")) setClass("matrix.csc.hb",representation(ra="numeric",ja="integer",ia="integer", rhs.ra="numeric",guess="numeric or NULL",xexact="numeric or NULL",dimension ="integer", rhs.dim="numeric",rhs.mode="character or NULL")) setClass("matrix.ssc.hb","matrix.csc.hb") setClass("slm",representation(coefficients="numeric",chol="matrix.csr.chol", residuals="numeric",fitted="numeric")) setClass("mslm","slm") setClass("summary.slm","slm") #-------------------------------------------------------------------- setGeneric("as.matrix.csr") #-------------------------------------------------------------------- setMethod("as.matrix.csr","matrix.csc", function(x, nrow, ncol,eps){ x <- t(x) x@dimension <- as.integer(rev(dim(x))) new("matrix.csr",ra = x@ra, ja = x@ja, ia = x@ia, dimension = x@dimension) }) #-------------------------------------------------------------------- setMethod("as.matrix.csr","matrix.ssr", function(x, nrow, ncol,eps){.ssr.csr(x)}) #-------------------------------------------------------------------- setMethod("as.matrix.csr","matrix.ssc", function(x, nrow, ncol,eps){.ssr.csr(x)}) #-------------------------------------------------------------------- setMethod("as.matrix.csr","matrix.coo", function(x, nrow, ncol,eps){ # if (missing(nrow)) nrow <- x@dimension[1] # if (missing(ncol)) ncol <- x@dimension[2] nrow <- x@dimension[1] ncol <- x@dimension[2] nnz <- length(x@ra) z <- .Fortran(f_coocsr, as.integer(nrow), as.integer(nnz), as.double(x@ra), as.integer(x@ia), as.integer(x@ja), ao = double(nnz), jao = integer(nnz), iao = integer(nrow+1)) nnza <- z$ao[nrow+1]-1 z <- new("matrix.csr",ra=z$ao,ja=z$jao,ia=z$iao,dimension=x@dimension) return(z) }) #-------------------------------------------------------------------- ######################################################################## # BEGIN BEN ADDED # # # # Coercion from matrix.csr.chol # # # # # setMethod("as.matrix.csr","matrix.csr.chol", function(x, nrow, ncol, eps, upper.tri=TRUE, ...) { returned.data <- .Fortran('chol2csr', nrow=as.integer(x@nrow), nnzlindx=as.integer(x@nnzlindx), nsuper=as.integer(x@nsuper), lindx=as.integer(x@lindx), xlindx=as.integer(x@xlindx), nnzl=as.integer(x@nnzl), lnz=as.double(x@lnz), xlnz=as.integer(x@xlnz), dim=integer(2), ra=double(x@nnzl), ia=integer(x@nrow+1), ja=integer(x@nnzl)) C0 <- new("matrix.csr", ra = returned.data$ra, ja = returned.data$ja, ia = returned.data$ia, dimension = returned.data$dim) if (upper.tri) return(C0) else return(t(C0)) }) # # # END BEN ADDED # ######################################################################## #-------------------------------------------------------------------- setGeneric("as.matrix.csc") #-------------------------------------------------------------------- setMethod("as.matrix.csc","matrix.csr", function(x, nrow, ncol,eps){ x <- t(x) x@dimension <- as.integer(rev(dim(x))) new("matrix.csc",ra = x@ra, ja = x@ja, ia = x@ia, dimension = x@dimension) }) #-------------------------------------------------------------------- setMethod("as.matrix.csc","matrix.ssr", function(x, nrow, ncol,eps){ as.matrix.csc(as.matrix.csr(x))}) #-------------------------------------------------------------------- setMethod("as.matrix.csc","matrix.ssc", function(x, nrow, ncol,eps){ as.matrix.csc(as.matrix.csr(x))}) #-------------------------------------------------------------------- setGeneric("as.matrix.ssr") #-------------------------------------------------------------------- setMethod("as.matrix.ssr","matrix.csr", function(x, nrow, ncol,eps){.csr.ssr(x)}) #-------------------------------------------------------------------- setMethod("as.matrix.ssr","matrix.csc", function(x, nrow, ncol,eps){ as.matrix.ssr(as.matrix.csr(x))}) #-------------------------------------------------------------------- setMethod("as.matrix.ssr","matrix.ssc", function(x, nrow, ncol,eps){ as.matrix.ssr(as.matrix.csr(x))}) #-------------------------------------------------------------------- setGeneric("as.matrix.ssc") #-------------------------------------------------------------------- setMethod("as.matrix.ssc","matrix.csr", function(x, nrow, ncol,eps){ x <- as.matrix.csc(x) as.matrix.ssc(x)}) #-------------------------------------------------------------------- setMethod("as.matrix.ssc","matrix.csc", function(x, nrow, ncol,eps){.csc.ssc(x)}) #-------------------------------------------------------------------- setMethod("as.matrix.ssc","matrix.ssr", function(x, nrow, ncol,eps){ as.matrix.ssc(as.matrix.csr(x))}) #-------------------------------------------------------------------- setGeneric("as.matrix.coo") #-------------------------------------------------------------------- setMethod("as.matrix.coo","matrix.csr", function(x, nrow, ncol,eps){.csr.coo(x)}) #-------------------------------------------------------------------- setMethod("as.matrix","matrix.csr", function(x){ nrow <- x@dimension[1] ncol <- x@dimension[2] if(length(x@ra)==1 && is.na(x@ra)){ #trap zero matrix dns <- matrix(0,nrow=nrow,ncol=ncol) return(dns) } nan <- is.nan(x@ra) infty <- is.infinite(x@ra) & x@ra >0 ninfty <- is.infinite(x@ra) & x@ra <0 uniq <- rnorm(3) while(any(uniq %in% x@ra[!(nan|infty|ninfty)])) uniq <- rnorm(3) x@ra[nan] <- uniq[1] x@ra[infty] <- uniq[2] x@ra[ninfty] <- uniq[3] z <- .Fortran(f_csrdns, as.integer(nrow), as.integer(ncol), as.double(x@ra), as.integer(x@ja), as.integer(x@ia), dns = double(nrow*ncol), ndns = as.integer(nrow), ierr = integer(1)) if(z$ierr != 0) stop("insufficient space for dns") dns <- matrix(z$dns,nrow=nrow,ncol=ncol) dns[dns==uniq[1]] <- NaN dns[dns==uniq[2]] <- Inf dns[dns==uniq[3]] <- -Inf return(dns) }) setMethod("as.matrix","matrix.ssr",function(x)as.matrix(as.matrix.csr(x))) setMethod("as.matrix","matrix.ssc",function(x)as.matrix(as.matrix.csr(x))) setMethod("as.matrix","matrix.coo",function(x)as.matrix(as.matrix.csr(x))) setMethod("as.matrix","matrix.csc",function(x)as.matrix(as.matrix.csr(x))) setMethod("t","matrix.csr",function(x){ nrow <- x@dimension[1] ncol <- x@dimension[2] nnz <- x@ia[nrow+1]-1 z <- .Fortran(f_csrcsc2, as.integer(nrow), as.integer(ncol), as.integer(1), as.integer(1), as.double(x@ra), as.integer(x@ja), as.integer(x@ia), ao=double(nnz), jao=integer(nnz), iao=integer(ncol+1)) dim <- as.integer(rev(x@dimension)) new("matrix.csr",ra = z$ao, ja = z$jao, ia = z$iao, dimension = dim) }) setMethod("t","matrix.csc",function(x) { nrow <- x@dimension[1] ncol <- x@dimension[2] nnz <- x@ia[ncol + 1] - 1 z <- .Fortran(f_csrcsc2, as.integer(ncol), as.integer(nrow), as.integer(1), as.integer(1), as.double(x@ra), as.integer(x@ja), as.integer(x@ia), ao = double(nnz), jao = integer(nnz), iao = integer(nrow + 1)) dim <- as.integer(rev(x@dimension)) new("matrix.csc",ra = z$ao, ja = z$jao, ia = z$iao, dimension = dim) }) setMethod("t","matrix.coo",function(x) as.matrix.coo(t(as.matrix.csr(x)))) setMethod("dim","matrix.csr",function(x)x@dimension) setMethod("dim","matrix.csc",function(x)x@dimension) setMethod("dim","matrix.ssr",function(x)x@dimension) setMethod("dim","matrix.ssc",function(x)x@dimension) setMethod("dim","matrix.coo",function(x)x@dimension) setMethod("diff","matrix.csr", function(x, lag = 1, differences = 1, ...) { xlen <- dim(x)[1] if (length(lag) > 1 || length(differences) > 1 || lag < 1 || differences < 1) stop("`lag' and `differences' must be integers >= 1") if (lag * differences >= xlen) stop("lag * differences >= nrow") r <- x i1 <- -1:-lag for (i in 1:differences) r <- r[i1,] - r[-nrow(r):-(nrow(r) - lag + 1),] r }) #setClass("matrix.diag.csr") setClass("matrix.diag.csr","matrix.csr") #setIs("matrix.csr","matrix.diag.csr") setAs("matrix","matrix.csr",function(from){as.matrix.csr(from)}) setAs("numeric","matrix.diag.csr",function(from){ #if(!is.numeric(from))stop("non-numeric entries in sparse matrices not allowed") if(length(from)==1){ n <- as.integer(from) if(n>0) from <- rep(1,n) else stop("Sparse identity matrices must have positive, integer dimension") } else n <- length(from) return(new("matrix.diag.csr", ra = from ,ja = as.integer(1:n), ia = as.integer(1:(n+1)), dimension = as.integer(c(n,n)))) }) setAs("matrix.csr","matrix.diag.csr",function(from){ nr <- from@dimension[1] nc <- from@dimension[2] if( nr!=nc) stop("Resulting 'matrix.diag.csr' matrix has to be square") if(!(setequal(from@ja,1:nc)&setequal(from@ia, 1:(nr+1)))) stop("matrix not diagonal") new("matrix.diag.csr", ra = from@ra, ja = from@ja, ia = from@ia, dimension = from@dimension) }) setMethod("diag","matrix.csr", function (x = 1, nrow, ncol){ if (is.matrix.csr(x) && missing(nrow) && missing(ncol)) { if ((m <- min(dim(x))) == 0) return(numeric(0)) y <- rep(0,m) ia <- rep(1:dim(x)[1],diff(x@ia)) y[x@ja[ia == x@ja]] <- x@ra[ia == x@ja] n <- sum(ia == x@ja) nms <- dimnames(x) if (is.list(nms) && !any(sapply(nms, is.null)) && all((nm <- nms[[1]][1:m]) == nms[[2]][1:m])) names(y) <- nm return(y) } else stop("diag method for class matrix.csr doesn't understand nrow and ncol args") }) setMethod("diag<-","matrix.csr", function(x,value) { dx <- dim(x) if (length(dx) != 2) stop("only matrix diagonals can be replaced") i <- seq(length = min(dx)) if (length(value) != 1 && length(value) != length(i)) stop("replacement diagonal has wrong length") if (length(value) == 1) value <- rep(value,min(dx)) x[cbind(i, i)] <- value x }) setMethod("diag<-","matrix.diag.csr",function(x,value) { y <- as(x,"matrix.csr") diag(y) <- value as(y,"matrix.diag.csr") }) ## ## Defining methods for det() is "wrong by design", as nowadays, ## determinant() is preferred, and det() a wrapper around determinant(). ## ==> should rather define methods for determinant() ## and export a det() which is using the S4 generic determinant() ## --> will define determinant() methods below, at least for now. ## ##MM setGeneric("det") ## Altered 10 July 2014 to agree with procedure in Matrix det <- base::det environment(det) <- environment() setMethod("determinant", signature(x = "matrix.csr", logarithm = "missing"), function(x, logarithm, ...) determinant(x, logarithm = TRUE, ...)) setMethod("determinant", signature(x = "matrix.csr.chol", logarithm = "missing"), function(x, logarithm, ...) determinant(x, logarithm = TRUE, ...)) setMethod("determinant", signature(x = "matrix.csr.chol", logarithm = "logical"), function(x, logarithm, ...) { modulus <- if (logarithm) x@log.det else x@det attr(modulus, "logarithm") <- logarithm val <- list(modulus = modulus, sign = sign(x@det)) class(val) <- "det" val }) setMethod("determinant", signature(x = "matrix.csr", logarithm = "logical"), function(x, logarithm, ...) { r <- determinant(chol(x), logarithm=logarithm) r$modulus <- if (logarithm) 2* r$modulus else r$modulus^2 r }) .norm.csr <- function(x, type, ...) { ## instead of default (above), need this [pre 2.11.0]: if(missing(type)) type <- "sup" switch(type, sup = max(abs(x@ra)), HS = sqrt(sum(x@ra^2)), l1 = sum(abs(x@ra))) } if(getRversion() < "2.11.0" || R.version$`svn rev` < 51018) { setGeneric("norm", function(x, type, ...) standardGeneric("norm"))# as "Matrix" setMethod("norm", "matrix.csr", .norm.csr) } else { ## 2.11.0 has implicitGeneric norm() with signature (x, type) setMethod("norm", c(x = "matrix.csr", type = "missing"), function(x, type, ...) .norm.csr(x, type="sup")) setMethod("norm", c(x = "matrix.csr", type = "character"), .norm.csr) } ##MM setGeneric("chol", def = function(x, pivot= FALSE,...) standardGeneric("chol"), ##MM useAsDefault= function(x, pivot= FALSE,...) base::chol(x, pivot, ...)) setMethod("chol","matrix.csr", function(x, pivot = FALSE, nsubmax, nnzlmax, tmpmax, eps = .Machine$double.eps, ...){ # Interface for a sparse least squares solver via Ng-Peyton's Cholesky # factorization # x -- csr structure returned from call to function "as.matrix.csr" # cachsz -- size of the cache memory -- machine dependent. # Check that input matrix is symmetric if(norm(t(x)-x) > eps) stop("Input matrix to chol() not symmetric") cachsz <- 64 nrow <- x@dimension[1] ncol <- x@dimension[2] if(nrow!=ncol) stop("Can't perform Cholesky Factorization for Non-square matrix\n") nnzdmax <- x@ia[nrow+1]-1 nnzdsm <- nnzdmax + nrow + 1 iwmax <- 7*nrow+3 if(missing(nsubmax)) nsubmax <- nnzdmax if(missing(nnzlmax)) nnzlmax <- max(4*nnzdmax,floor(.2*nnzdmax^1.3)) if(missing(tmpmax)) tmpmax <- 50*nrow level <- 8 z <- .Fortran(f_chol, nrow = as.integer(nrow), nnzdmax = as.integer(nnzdmax), d = as.double(x@ra), jd = as.integer(x@ja), id = as.integer(x@ia), nnzdsm = as.integer(nnzdsm), dsub = double(nnzdsm), jdsub = integer(nnzdsm), nsub = integer(1), nsubmax = as.integer(nsubmax), lindx = integer(nsubmax), xlindx = integer(nrow+1), nsuper = integer(1), nnzlmax = as.integer(nnzlmax), lnz = double(nnzlmax), xlnz = integer(nrow+1), invp = integer(nrow), perm = integer(nrow), iwmax = as.integer(iwmax), iwork = integer(iwmax), colcnt = integer(nrow), snode = integer(nrow), xsuper = integer(nrow+1), split = integer(nrow), tmpmax = as.integer(tmpmax), tmpvec = double(tmpmax), cachsz = as.integer(cachsz), level = as.integer(level), ierr = integer(1), time = double(1)) if (z$ierr != 0){ if(z$ierr == 9) mess <- "singularity problem" else if(z$ierr == 4) mess <- "Increase nnzlmax" else if(z$ierr == 5) mess <- "Increase nsubmax" else if(z$ierr %in% c(8,10)) mess <- "Increase tmpmax" else mess <- "insufficient space" if(z$ierr == 9) warning(mess) else stop(mess) } nnzl <- z$xlnz[length(z$xlnz)]-1 nnzlindx <- z$nsub k <- z$xlnz R <- z$lnz det <- prod(R[k[-length(k)]]) ######################################################################## # BEGIN BEN ADDED # # # # computes the log determinant. # # # log.det <- sum(log(R[k[-length(k)]])) # # # END BEN ADDED # ######################################################################## new("matrix.csr.chol",nrow=z$nrow,nnzlindx=nnzlindx, nsuper=z$nsuper,lindx=z$lindx[1:nnzlindx],xlindx=z$xlindx, nnzl=as.integer(nnzl),lnz=z$lnz[1:nnzl],xlnz=z$xlnz,invp=z$invp, perm=z$perm,xsuper=z$xsuper,det=det, ######################################################################## # BEGIN BEN ADDED # log.det=log.det, # END BEN ADDED # ######################################################################## ierr=z$ierr,time=z$time) }) setMethod("chol","matrix.csc",function(x,pivot = FALSE, ...)chol(as.matrix.csr(x))) ## Need generic here, as we want to add argument 'twice': setGeneric("backsolve", function(r, x, k = NULL, upper.tri = NULL, transpose = NULL, twice = TRUE, ...) standardGeneric("backsolve"), useAsDefault= function(r, x, k = ncol(r), upper.tri = TRUE, transpose = FALSE, twice = TRUE, ...) base::backsolve(r, x, k = k, upper.tri = upper.tri, transpose = transpose, ...)) setMethod("backsolve","matrix.csr.chol", function(r, x, k = NULL, upper.tri = NULL, transpose = NULL, twice = TRUE, ...){ # backsolve for Ng-Peyton's Cholesky factorization # If twice = TRUE: Solves linear system A b = x where r is chol(A) # If twice = FALSE: Solves linear system r b = x where r is chol(A) # Input: # r -- structure returned by chol.matrix.csr # x -- rhs may be a matrix in dense form m <- r@nrow if(!is.matrix(x)) x <- as.matrix(x) if(nrow(x) != m) stop("chol structure 'r' is not conformable with x") p <- ncol(x) if(twice) z <- .Fortran(f_bckslv, m = as.integer(m), nnzlindx = as.integer(r@nnzlindx), as.integer(r@nsuper), as.integer(p), as.integer(r@lindx), as.integer(r@xlindx), as.integer(r@nnzl), as.double(r@lnz), as.integer(r@xlnz), as.integer(r@invp), as.integer(r@perm), as.integer(r@xsuper), double(m), sol = double(m*p), as.double(x), time = double(1)) else z <- .Fortran(f_bckslb, m = as.integer(m), nnzlindx = as.integer(r@nnzlindx), as.integer(r@nsuper), as.integer(p), as.integer(r@lindx), as.integer(r@xlindx), as.integer(r@nnzl), as.double(r@lnz), as.integer(r@xlnz), as.integer(r@invp), as.integer(r@perm), as.integer(r@xsuper), double(m), sol = double(m*p), as.double(x), time = double(1)) z <- matrix(z$sol,nrow=nrow(x),ncol=ncol(x)) drop(z) }) setMethod("forwardsolve","matrix.csr.chol", function(l, x, k = NULL, upper.tri = NULL, transpose = NULL) { # forward-solve for Ng-Peyton's Cholesky factorization # Solves triangular system r' b = x where r is chol(A) # Input: # l -- structure returned by chol.matrix.csr # x -- rhs may be a matrix in dense form m <- l@nrow if(!is.matrix(x)) x <- as.matrix(x) if(nrow(x)!=m)stop("chol not conformable with x") p <- ncol(x) z <- .Fortran(f_bckslf, m = as.integer(m), nnzlindx = as.integer(l@nnzlindx), as.integer(l@nsuper), as.integer(p), as.integer(l@lindx), as.integer(l@xlindx), as.integer(l@nnzl), as.double(l@lnz), as.integer(l@xlnz), as.integer(l@invp), as.integer(l@perm), as.integer(l@xsuper), double(m), sol = double(m*p), as.double(x), time = double(1)) z <- matrix(z$sol,nrow=nrow(x),ncol=ncol(x)) drop(z) }) setMethod("solve","matrix.csr", function (a, b, ...) { missing.b <- FALSE if(!is.matrix.csr(a))stop("a not in csr format") nr <- nrow(a) nc <- ncol(a) if (nc != nr) stop("only square systems can be solved") a <- chol(a,...) if (missing(b)) { b <- diag(1, nc) missing.b <- TRUE } else if(!is.matrix.csr(b))b <- as.matrix(b) z <- backsolve(a,b) if (missing.b) z <- as.matrix.csr(z) z }) ##MM setGeneric("model.matrix", function(object, ...) # /*RSB*/ changed definition ##MM standardGeneric("model.matrix")) # /*RSB*/ setMethod("model.matrix","matrix.csc.hb", function(object,...){ object <- new("matrix.csc",ra=object@ra,ja=object@ja, ia=object@ia,dimension=object@dimension) as.matrix.csr(object) }) setMethod("model.matrix","matrix.ssc.hb", function(object, ...){ object <- new("matrix.ssc",ra=object@ra,ja=object@ja,ia=object@ia, dimension=object@dimension) as.matrix.csr(object) }) ##MM setGeneric("model.response", function(data, type) # /*RSB*/ changed definition ##MM standardGeneric("model.response")) # /*RSB*/ setMethod("model.response","ANY", # /*RSB*/ function(data,type="any"){ # /*RSB*/ stats::model.response(data, type="any") # /*RSB*/ }) # /*RSB*/ setMethod("model.response","matrix.csc.hb", function(data,type="any"){ if(is.null(data@rhs.mode)) stop("Right-hand side doesn't exist") if (data@rhs.mode == "F") z <- matrix(data@rhs.ra,nrow=data@rhs.dim[1], ncol=data@rhs.dim[2]) else stop("Invalid storage mode for rhs") z }) setMethod("model.response","matrix.ssc.hb", function(data,type="any"){ if(is.null(data@rhs.mode)) stop("Right-hand side doesn't exist") if (data@rhs.mode == "F") z <- matrix(data@rhs.ra,nrow=data@rhs.dim[1], ncol=data@rhs.dim[2]) else stop("Invalid storage mode for rhs") z }) setGeneric("model.xexact",function(data) standardGeneric("model.xexact")) setMethod("model.xexact","matrix.ssc.hb", function(data){ matrix(data@xexact,nrow=data@rhs.dim[1], ncol=data@rhs.dim[2]) }) setMethod("model.xexact","matrix.csc.hb", function(data){ matrix(data@xexact,nrow=data@rhs.dim[1], ncol=data@rhs.dim[2]) }) setGeneric("model.guess",function(data) standardGeneric("model.guess")) setMethod("model.guess","matrix.ssc.hb", function(data){ matrix(data@guess,nrow=data@rhs.dim[1], ncol=data@rhs.dim[2]) }) setMethod("model.guess","matrix.csc.hb", function(data){ matrix(data@guess,nrow=data@rhs.dim[1], ncol=data@rhs.dim[2]) }) setMethod("%*%",signature(x="matrix.csr",y="matrix.csr"),.matmul.matrix.csr) setMethod("%*%",signature(x="matrix.csr",y="matrix"),.matmul.matrix.csr) setMethod("%*%",signature(x="matrix.csr",y="numeric"),.matmul.matrix.csr) setMethod("%*%",signature(x="matrix",y="matrix.csr"),.matmul.matrix.csr) setMethod("%*%",signature(x="numeric",y="matrix.csr"),.matmul.matrix.csr) ## This used to define methods for "%x%", now "kronecker" instead ## [see .onLoad above! ] -- for better co-habitation with 'Matrix': tmp <- function(X, Y, FUN = "*", make.dimnames = FALSE, ...) .kron.matrix.csr(X,Y) setMethod("kronecker",signature(X="matrix.csr",Y="matrix.csr"), tmp) setMethod("kronecker",signature(X="matrix.csr",Y="numeric"), tmp) setMethod("kronecker",signature(X="numeric",Y="matrix.csr"), tmp) setMethod("kronecker",signature(X="matrix",Y="matrix.csr"), tmp) setMethod("kronecker",signature(X="matrix.csr",Y="matrix"), tmp) rm(tmp) setMethod("image","matrix.csr", function(x,col=c("white","gray"),xlab="column",ylab="row", ...){ n <- x@dimension[1] p <- x@dimension[2] z <- matrix(0,n,p) column <- x@ja row <- rep(n:1,diff(x@ia)) z[cbind(row,column)] <- 1 image.default(x=1:p,y=-(n:1),t(z),axes=FALSE, col=col,xlab=xlab,ylab=ylab, ...) # /*RSB*/ changed call to make sure axis(1,pretty(1:p), ...) axis(2,pretty(-(n:1)),labels=rev(pretty(1:n)), ...) box() }) #setMethod("summary","slm",summary.slm) #setMethod("summary","mslm",summary.mslm) #setMethod("coef","slm",coef.slm) #setMethod("fitted","slm",fitted.slm) #setMethod("residuals","slm",residuals.slm) #setMethod("print","summary.slm",print.summary.slm) #-------------------------------------------------------------------- SparseM/MD50000644000176200001440000000563014013453302012133 0ustar liggesusers4a0e1fceba43bb4c1a40e05a3ff609d1 *DESCRIPTION 465a182ae57c2d2ecb0a979f3da656bb *INDEX da1eac4f15a0822854407736611b4a11 *NAMESPACE cd280a36b0765018002e11c28f29db06 *R/SparseM.R 1a1b53da5b3ba77df4d123d9dadf220f *README e1fdf7d0c2354ba1717d39bb7f9cfd4a *build/vignette.rds 6aeb1615cc971cbbe5216d9077477a00 *data/lsq.rda 94ee66529ae6c23a9b95948c901bcc60 *data/triogramX.rda 6ddb4b6a5196af61e12a9d1e80794844 *demo/00Index 837ba802116b859903e4c52634ef0912 *demo/Binding.R f867383e75cb81e04c8f487baa66a47a *demo/Coercion.R a1e23002df89ab4fb2e64bf621f9bbe6 *demo/LeastSquares.R 91c13c4679244617edc2c0f40d7254c0 *demo/LinearAlgebra.R 0088f1be5e01158371693fd351716c34 *demo/Solve.R 562ecc120d06e2f7d22ecd247d2a4664 *demo/Visualization.R 37e397636a3d0b7eee68d5ee6fd54578 *inst/ChangeLog 6c5e5addd9df174275b1140c78580b8e *inst/TODO 7699ec748e30c58bec482b8d3a47fac3 *inst/doc/SparseM.R 3f2396d6048ead2efa411b4c95147c09 *inst/doc/SparseM.Rnw 5f14f766e6700471267416e71fdecaea *inst/doc/SparseM.pdf c6589c5c8697dda9d5399540bc3a7abf *inst/extdata/lsq.out 79ffa8d4a3ea5633c9e89b259a079e8d *inst/extdata/lsq.rra 453c119e83ff6d1b28941938c2c13f90 *inst/extdata/rua_32_ax.rua 4628202e9c84c4fd27c505055e1d9e6c *man/SparseM.hb.Rd c266f888bc58dcc52ef03388ed929b30 *man/SparseM.image.Rd 2855cbaebb36de865f5d1373905dda88 *man/SparseM.ontology.Rd e8373452de6e20a4300b45688e5c24f7 *man/SparseM.ops.Rd c6f74041681e84b7704e1d6aad4a08fe *man/SparseM.solve.Rd c509c7e29f3184ff7dd51f6ef83f1fba *man/character-null-class.Rd 5973ca8764caa43ee03d9a65dfbd7439 *man/lsq.Rd 61112380cc5d504035d29275f68f2fe8 *man/matrix.coo-class.Rd c998946a324e7a701ead47dac7be59ce *man/matrix.csc-class.Rd b50b80d5b6260f76cf9431c7dd6bc279 *man/matrix.csc.hb-class.Rd 15beba2f82b8798598a59291891853e0 *man/matrix.csr-class.Rd c1840aaa11cd42bd47bc6e05f04e7351 *man/matrix.csr.chol-class.Rd 6d0d73685ebf00247bdda7266bf7a0f2 *man/matrix.ssc-class.Rd 23a0e4a881e802d9d96d49eb545df974 *man/matrix.ssc.hb-class.Rd beb8926fa7f84b58360f7b274164cc47 *man/matrix.ssr-class.Rd 9749bc3989e59a7048fbdbcdc1544013 *man/mslm-class.Rd a4551c2cad0fc75aaf78f30f0333d9dd *man/numeric-null-class.Rd 874b0ff920b89f6af8348182e1dba536 *man/slm-class.Rd b641056480a2a32f92c403634bb4f698 *man/slm.Rd 890887ecac8e2c841e4844b1e982850e *man/slm.fit.Rd e65872a2bffce151183ba86807d649c5 *man/slm.methods.Rd 4c83fca692a52ba7f8c61609e087cffe *man/summary.mslm-class.Rd cbe86a5e52f242349f2d17ef9cb06376 *man/summary.slm-class.Rd c8d4f7e514a043f4fe724da60cb52dc9 *man/triogramX.Rd 42376c42db32d470e3780d1aef97a95c *src/bckslv.f 2470ba28b4ba62e5d1e76a2a74b1ce11 *src/chol.f c560a6a41916b6b685f5b5b70d5b660d *src/chol2csr.f 065f5d3d3d3d500a9a86c5095374ab69 *src/cholesky.f 5f78e83b0115f65461756c48ca70db4a *src/csr.f e58fc1ca7b8a7af1e5a23b897596c34a *src/extract.f f84b521dd0ada37f8efaaf5e11800aae *src/init.c 9a62fbc51b88ef44cbd558a906eddf19 *src/sparskit.f a521b97c0286e8c869c2eef5c7d4dab7 *src/subscr.f 3f2396d6048ead2efa411b4c95147c09 *vignettes/SparseM.Rnw SparseM/INDEX0000644000176200001440000000236111547113521012420 0ustar liggesusersOps.matrix.csr Basic Linear Algebra for Sparse Matrices SparseM.hb Harwell-Boeing Format Sparse Matrices SparseM.image Image Plot for Sparse Matrices SparseM.ontology Sparse Matrix Class SparseM.solve Linear Equation Solving for Sparse Matrices character or NULL-class Class "character or NULL" lsq Least Squares Problems in Surveying matrix.coo-class Class "matrix.coo" matrix.csc-class Class "matrix.csc" matrix.csc.hb-class Class "matrix.csc.hb" matrix.csr-class Class "matrix.csr" matrix.csr.chol-class Class "matrix.csr.chol" matrix.ssc-class Class "matrix.ssc" matrix.ssc.hb-class Class "matrix.ssc.hb" matrix.ssr-class Class "matrix.ssr" mslm-class Class "mslm" numeric or NULL-class Class "numeric or NULL" slm Fit a linear regression model using sparse matrix algebra slm-class Class "slm" slm.fit Internal slm fitting functions slm.methods Methods for slm objects summary.mslm-class Class "summary.mslm" summary.slm-class Class "summary.slm" triogramX A Design Matrix for a Triogram Problem SparseM/inst/0000755000176200001440000000000014013444775012612 5ustar liggesusersSparseM/inst/ChangeLog0000644000176200001440000005313214013427463014363 0ustar liggesusersThis directory contains the development version of the sparse matrix package SparseM. This is an informal revision history. The initial version 0.01 was sent to David Meyer in Vienna June 10, 2002. The new version is in SparseM and incorporates the Harwell Boeing stuff. The version 0.05 was completed Oct 11 and was sent to CRAN for Kurt Hornik's blessing prior to submission to JSS. There were several problems the most serious being that the fortran versions of the hb routines weren't sufficiently portable. The version 0.09 was completed Oct 19 2002 incorporating the following changes: o read.hb and write.hb are now in C and more portable this was the major problem identified by Kurt in the initial posting o the generic issues were all resolved thanks to the hint in Sec 6.1 of the Writing R-Exts which explains how to add ... to the argument list of new generics using formals(). o a bug in matrix.csr was fixed to accomodate vector arguments and zero matrices o PACKAGE args were added to all .Fortran and .C calls o Lots of minor inconsistencies in the man pages were fixed. The version 0.10 was completed Nov 5 2002 and incorporates the following: o remade the pdf version of the vignette in type 1 ps fonts using dvips -Pwww SparseM distill SparseM.ps At the suggestion of Brian Ripley. o altered matrix.csr to generalize the way it handled vector args. o removed the unused variables from readwrite.c. o moved lsq.rra from the "data" subdirectory to "inst/HBdata"; added lsq.R in "data" so that the content can be read in using "data(lsq)" in R; added "lsq.Rd" in "man"; and updated the 00Index.dcf file in "inst/doc"; updated the INDEX file. o changed all the ".find.package" in the Rd files to "system.file". o changed the call to read.matrix.hb to use "system.file" in SparseM.Rnw The version 0.11 was begun Jan 1 2003 and incorporates the following: o the malloc.h header requirements in iohb.c and iohb.h were removed...they are redundant given stdlib.h and caused problems on my mac The version 0.12 was begun Jan 20 2003 and incorporates the following: o conversion from S3 to S4 method dispatch The version 0.20 was completed Jan 24 2003 and incorporates the following: o conversion from S3 to S4 method dispatch and extensive documentation changes The version 0.21 was begun Mar 7 2003 and incorporates the following: o matrix valued response in the slm formula o a fix of a "design infelicity" in the multiplication of a csr times a vector which created a matrix object without dimension attribute -- identified by John Chambers. o matrix multiplication now allows csr times dense multiplication by coercion of the dense matrix to sparse form, so is returned in sparse form. The version 0.22 was begun Mar 11 2003 and incorporates the following: o added a class matrix.coo for coordinate format sparse matrices o [<-.matrix.csr and [.matrix.csr rewritten to use the .coo class o validity checking added to both .csr and .coo classes. See the setClass definitions and their methods for "initialize". This required quite a lot of editing to insure that ja,ia, and dim attributes were really integer. The version 0.24 was begun about April 1 2003 o commented out 'value <- as.matrix.coo(value)' in '[<-.matrix.csr' to move the class transformation of value inside '[<-.matrix.coo. This is a workaround for misbehavior of missing() in our opinion. o added 'setMethod("t","matrix.coo",function(x) as.matrix.coo(t(as.matrix.csr(x)))' in SparseM_Methods.R to define "t" for class "matrix.coo". o uncommented "setMethod("%*%",signature(x="matrix",y="matrix.csr"),.matmul.matrix.csr)" "setMethod("%*%",signature(x="numeric",y="matrix.csr"),.matmul.matrix.csr)" so that "%*%" will perform matrix times matrix.csr and vector times matrix.csr multiplication o removed the definition of "ncol.matrix.csr" and "nrow.matrix.csr" from SparseM.R o added "dim.matrix.coo" to SparseM.R and "setMethod("dim","matrix.coo",dim.matrix.coo)" to SparseM_Methods.R o created matrix.coo-class.Rd o fixed some of the inconsistency on matrix.csc-class.Rd, etc. o added matrix subscripting to '[.matrix.coo' and '[<-.matrix.coo' so that one can perform, e.g., as.matrix.csr(A)[cbind(c(1,2,3),c(2,3,1))] and as.matrix.csr(A)[cbind(c(1,2,3),c(2,3,1))] <- 100 o added matrix.csr class subscripting to '[.matrix.coo' and '[<-.matrix.coo' so that one can perform, e.g., as.matrix.csr(A)[as.matrix.csr(A)>0] and as.matrix.csr(A)[as.matrix.csr(A)>0] <- 100 for whatever it's worth. o added logical subscripting to [.matrix.coo and [.matrix.csr o fixed some bugs in group Ops. o added some commentary in man and in vignette to encourage use of new() in the definition of new .csr and .coo objects so that validation is done. o simplified diag.assign.matrix.csr so that it looked just like the default version -- this eliminates the need for a couple of the fortran functions. o fixed several places where as.integer() was needed to wrap a definition of a dimension attribute of a sparse object. The version 0.25 was begun about April 16 2003 o fixed a bug in chol.matrix.csr that incorrectly allocated space in large problems The version 0.26 was done April 26 2003 o fixed a bug in * and %*% that returned an error when the answer was a matrix or vector of all zeros o refixed the malloc.h problem The version 0.27 was done April 28 2003 o removed some debugging print statements from chol.f o removed the uncompressed files from inst/doc The version 0.28 was begun May 28 2003 o the .R files were consolidated at the suggestion of John Chambers after we discovered that different machines ordered them differently and the methods code needs to be read AFTER the function definitions. o a bug in as.matrix.coo that mistook vector arguments for scalars was fixed o a kronecker product operator %x% was added. o return statements checked for the dreaded deprecated unlisted form o updated some setIs() calls to conform to JC's new setClassUnion() form. this is implemented with a version check to accomodate 1.7.0 users. The version 0.30 was completed August 10 2003 o initially intended to conform with Kurt's changed of %x% to insist that it was a binary operator, but this revealed a number of problems with documentation that were attributable to an incomplete conversion from S3 to S4 methods. o Many S3 functions were incorporated directly into the setMethod calls so that now there are fewer, but still many S3 method calls, these should be gradually removed when more time and energy permits. For now, I hope that the changes that have been made will permit a smooth transition to 1.8.0 when it is released. At the moment it does pass R CMD check on the (almost) current version of R-devel. In particular, One thing that eventually needs to be fixed is that all of the ontology stuff should be brought up todate so that you can say: as(x,"matrix.csr") rather than as.matrix.csr(x) The version 0.31 was completed August 25 2003 o At the suggestion of Kurt we removed the explicit reading of the hb data and replaced it with an R dataset loading. Comments are left in the examples section indicating how to do the reading, but the official view seems to be that the old approach was insufficiently robust. o The diag() update. Prior versions didn't really handle the coercion of scalars and vectors to diag csr matrices very well. This was fixed by introducing a new subclass matrix.diag.csr of which matrix.csr is the superclass (meaning that they have the same rights and responsibilities) so now you can create an n-dimensional identity by as(n,"matrix.diag.csr") and a matrix with diagonal v by as(v,"matrix.diag.csr"). In the process some problems with the default matrix.csr object were discovered and fixed. And the code for .matrix.csr.elemul was changed to reflect these changes. The version 0.32 was completed December 20 2003 o Fixed a defunct call to print.coefmat The version 0.33 was completed January 20 2004 o fixed bug in scalar division...identified by Renald Buter The version 0.35 was completed January 20 2004 o fixed bug in matrix.diag.csr coercion ... identified by Nicholas Lewin-Koh The version 0.36 was completed May 12 2004 o fixed a version testing problem for R-devel 2.0.0 o added Depends R(>=1.8) to Description at suggestion of BDRipley o added errfig in the .C() call in read.matrix.hb o commented out some GTIMER, ETIME commands that caused AIX problems The version 0.40 was completed July 17, 2004 o added a check for symmetry before the Cholesky computation. o added a norm() function to do the symmetry checking o added a det() function to compute the determinant of both matrix.csr and matrix.csr.chol objects. The version 0.50 was completed July 17, 2004 o the vignette was uncompressed so that it was accessible via vignette(). o the call to read.matrix.hb was commented out and replaced as in the other documentation calls with calls to data(lsq) ... o a comment was added to the solve documentation indicating the existence of the det object in chol structures. The version 0.52 o An example of Steven Farber revealed that when the dimensions of matrix.csr and matrix.coo objects are very large the validity checking in setClass failed due to integer overflow. The product nrow*ncol was replaced by prod(object@dimensions) which apparently coerces the result to real. o A misplaced } was fixed in slm.Rd found by Kurt's pre 2.0.0 new documentation checking. o version checking was modified to eliminate a last.warning in 2.0.0. The version 0.53 o elementwise multiplication failed for A*B with both A and B of class matrix.csr, as noted by Suzzane Heim -- o added a [<-.matrix.diag.csr function, inadvertently omitted from the prior revision of this class. (Produced a mysterious "Error: incorrect number of subscripts on matrix" message. This also fixed a subsetting-assignments-to-zero problem for this class. The version 0.54 o After an extended discussion in (and off) R-devel, Roger Bivand very kindly provided a NAMESPACE file and some associated modifications of the SparseM.R file. These changes allow among other things S4 method dispatch to find functions in SparseM that were hidden from view when it didn't have a NAMESPACE. The original problem child was det() which SparseM declared generic, but this wasn't visible to Bivand's spatial package. Use requires various import directives in the NAMESPACE of the importing package, however quantreg which uses SparseM for certain nonparametric regression problems worked without modification with the new version of SparseM. Bivand's modifications of the R code are indicated with comments "#RSB" in the SparseM.R file. The version 0.55 o Added lazyloading to description file at the request of BDR. o Jon Stearley (Sandia) noted that R segfaulted on his attempts to use write.matrix.hb. The segmentation fault was caused by the "NULL" value of "guesol" that was being passed into readwrite.c. Pin replaced the NULL assignment with an empty string "" assignment. I've also updated the help file SparseM.hb.Rd to include an example of write.matrix.hb. The version 0.56 o the example added in 0.55 caused the windows version to segfault Uwe Ligges kindly determined that adding ZipData: No to the Description file was enough to fix this. The version 0.57 o NAMESPACE and getMethod added to acommodate an asymmetry in the way that the stats package handles model.matrix and model.response fix kindly provided by Roger Bivand. The version 0.58 o several "assign num to lab" statements in sparskit.f were updated to anticipate gnu fortran compilers that have apparently decided that such syntax is obsolete. Thanks to Jan de Leeuw for pointing this out based on gfortran-4.0 on osx 10.34. The version 0.59 o the subroutine prtmt intended to print matrices in Harwell Boeing format also caused problems for the new gfortran-4.0 compiler since this routine (in sparskit) was never called it was simply removed from sparskit.f. Jan reports that this allows SparseM to build on his configuration. The version 0.60 o Jeffrey Chang pointed out that indexing failed to work properly when there were repeated indices. This has now been fixed, but the resulting code is very slow due to looping on an rbind/cbind operation. This would be a useful feature to speed up, if one were really into resampling. o In the process of making the changes mentioned above, it was noted that [.matrix.coo should be exported via NAMESPACE. The version 0.61 o Jon Stearley (Sandia) noted that R segfaulted on some attempts to use write.matrix.hb. The segmentation fault was caused by inappropriate use of default format statements that led to incorrectly written indices. Pin modified the default formats to reduce the probability of such occurances. o A Makefile was added to the vignette directory to rationalize things a bit. The version 0.62 o Brian Ripley pointed out a bug in iohb.c which caused a segfault in some linux systems with gcc4 and was idenntified more precisely using valgrind. Some googling found a corrected version at: http://www.cs.utk.edu/~eijkhout/salsa-salsa-docs/iohb_8c.html#a6 o Tom Blackwell (UMich) pointed out a problem with elemult which turned out to be an unfortunate sequence of if/else's that omitted to treat the default case properly. The version 0.63 o The functionality of reading and writing Harwell-Boeing files has been temporarily suspended pending reevaluation of replacing iohb.c with code that doesn't cause memory faults. See Doug Bates Matrix package for a limited alternative approach. The version 0.64 o The function read.matrix.hb is replaced by a pure R function, purging iohb.c to read Harwell-Boeing formatted files. The new function shamelessly plagarizes from Doug Bates's readHB function in the Matrix package. The main alterations were to add functionality for rhs's, and adapt the function to SparseM matrix classes. As of this moment we have no plans to produce a parallel function for writing Harwell-Boeing format. The version 0.65 o The way that chol.default, and the setMethod calls for det and chol for the class matrix were changed to conform to R 2.2, following advice of Brian Ripley and Duncan Murdoch. The version 0.66 o Bug found by Gregg Lind that made diag assigments fail when the matrix was all zeros. Modified [<-.matrix.coo to handle NAs from the match() call. The version 0.67 o Typos in section headings of .Rd files noted by Kurt. The version 0.68 o Bug in slm.wfit fixed, thanks to i.m.s. white (edinburgh). The version 0.69 o Bug in slm.fit.csr -- calls to chol and backsolve failed to pass along the ... arguments. Thanks to Jeff Racine. o Added code for extractAIC.slm and deviance.slm to permit use of step() on fitted slm objects, code contributed by Jeff Racine. o added setMethod for as.matrix to convert matrix.csc objects that had been overlooked for a long time. o changed the printing onLoad at the suggestion of Martin M. The version 0.70 o The setGeneric for chol was changed in accordance with another suggestion by Martin M. This seems to fix a conflict with Matrix as described in an R-devel message by David Pleydell (20 Feb 2006). The version 0.72 o A ... argument was added to the as.matrix.[foo] functions to accomodate a change in base R. The version 0.73 o Thanks to contributions of Ben Shaby (Stat, Cornell) it is now possible to coerce matrix.csr.chol objects back to matrix.csr form, separate backsolve, and forwardsolve functions are provided in addition to the original backsolve that (still) does the double-backsolve, and it is now also possible to get a log det value from chol instead of det. The version 0.74 o Changed warning in as.matrix.csr to error condition when nnz != z$nnz, and changed defintion of nnz to by sum(abs(x) >= eps) from > to agree with fortran "csr" function. Bug report from Mark Robinson (wehi.edu.au) The version 0.76 o Updated lsq.rda so that it was a proper s4 object as requested by BR to conform with the current R-devel. Removed SaveImage line from DESCRIPTION file. The version 0.77 o Updated triogramX.R to triogramX.rda similarly... The version 0.78 o Fixed bug in [<-.matrix.coo". When the rw was a two column matrix there was an implicit assumption that x[-s] = x when s was empty but this turned out to be wrong. The version 0.79 o I've redefine the class "matrix.csc.hb" in SparseM.R to include NULL in the slots rhs.ra, rhs.dim and rhs.mode. o read.matrix.hb will return NULL for rhs.ra, rhs.dim and rhs.mode if the rhs is missing. o bug in matrix.csr.elemul that returned an error when the result of the multiplication was a matrix consisting entirely of zeros. Thanks to Ian Erickson for this report. The version 0.80 o At the suggestion of BDR the onLoad message was changed from cat() to packageStartMessage() The version 0.82 o default tmpmax in chol was increased from 10 * nrows to 30 * nrows. The version 0.83 o setGeneric code for backsolve fixed so that it passes arguments to the default method in base::backsolve. Thanks to Achim Zeileis for the report of a problem encountered when using lars, and to John Chambers for patiently explaining what was going wrong. The version 0.84 o Several organisational changes of method definition, with the main goal of improved cohabitation with the Matrix package: - using less setGeneric() calls, e.g., chol() and norm() now should still work with Matrix present; - defining methods for kronecker() instead of "%x%" which now works automagically via kronecker(); - defining methods for determinant(), in order to eventually deprecate those for det(). o default value of tmpmax increased to 50*nrow(x) with luck this will make it less likely to get complaints about needed to increase it. The version 0.86 o Changed License in DESCRIPTION to file License and added a somewhat inflammatory comment to the Licence file that was sent to R-devel in 2009. The version 0.89 o added a setAs for matrix to matrix.csr conversion The version 0.90 o Conditionally removed assigninNamespace() in onLoad as suggested by BDR see mail from Oct 28 2011. The version 0.96 1. Removed the LICENSE file that had described some uncertainties with respect to the license status of the code in src/cholesky.f. These uncertainties have now been resolved by the original authors, Esmond Ng and Barry Peyton, declaring their code to be open source, and thus the quantreg package can now be considered fully GPL. See the README file for further details. 2. fixed some vestigial calls to fprintf IOHBTerminate etc that contained un-R-like printing or exit calls. 3. Added a .Rinstignore file to deal with the vignette Makefile complaint from R CMD check. 4. Modified the .onLoad call to include a call to assignInNamespace() to deal with a problem with kronecker. (This is provisional until 2.15 is released.) Thanks to BDR for helpful advice on this and the other items in this revision. The version 0.96 1. Fixed bug in element by element exponentiation when one of the arguments was scalar. The version 0.97 1. Removed iohb.c and readwrite.c which were deprecated much earlier and produced various warning flags from clang in the initial testing of R 3.0 beta. The version 0.98 1. Fixed various dimension problems identified by the new R CMD check protocol. The Version 1.00 1. Added a paragraph in SparseM.solve.Rd about passed values of the mysterious chol() storage allocation parameters. The version 1.01 1. Removed the onLoad() call which seemed to cause problems for Uwe's build of the windoz version due to some problem with the way %x% was treated there. Strange since whatever was happening was only supposed to happen for R v2.15 and lesser. The version 1.03 1. Moved SparseM.Rnw to a new vignettes directory at the suggestion of Brian Ripley and removed the Makefile for the vignette at the suggestion of Uwe Ligges. The version 1.05 1. Attempted to fix the definition of det and associated methods to conform with procedure used by the Matrix package. If I understand this properly, the idea is that det can be defined as base::det which defaults to the generic determinant() and then by defining the environment(det) as environment() this ensures that calls to det() from SparseM will use the methods appropriate to SparseM objects. The version 1.7 1. Removed coerce from exports. The version 1.71 1. Fixed the REAL*8 and INTEGER*4 occurences in accordance with Kurt's email. The version 1.73 1. changed occurences of unix.time to system.time in accordance with Kurt's directive. The version 1.74 1. One more unix -> system The version 1.75 1. package -> PACKAGE [per Kurt's email of 3/2/17] The version 1.76 1. Used package_native_routine_registration_skeleton to remove PACKAGE = SparseM [per Kurt's email of 3/2/17] The version 1.77 1. Changed setMethod for diag (matrix.csr) in accordance with MM's suggestion 2. removed setGeneric for image also suggested by MM. The version 1.78 1. Changed check for symmetry to use all.equal() in response to an error reported by Brian Ripley. The version 1.79 1. Removed a "f_" from the .Fortran call in chol2csr following bug report by Alex Ballantynea (Melbourne U) SparseM/inst/doc/0000755000176200001440000000000014013445473013353 5ustar liggesusersSparseM/inst/doc/SparseM.pdf0000644000176200001440000152600214013445473015426 0ustar liggesusers%PDF-1.5 % 3 0 obj << /Length 2959 /Filter /FlateDecode >> stream xڍYKs6WUֈ!Lj6L{OI4EI,Kq~} R6]-~)fa$~,v.֋ߣۥNWoh>\$ >W羅omisb\Tmhv8_O6[,(-}lr6-Y3S5il}X,63܁v=l-W Js-‘5&_º8wlbWdei`'hm5,}Z,9if1JM\=ܳ3̕16.3 ϸۘrڄni}yA3ā}fvE%[5̷zpE,KZ[n֦*G _S08 T^=!X@vpi."}R@qV,JGJfh}'G˅ 9`Dg U0BNܬ1fh;:uQ0ʴQgyc9̟f6mYhME'%HS EYc'2~Ir`\"rD6'ealPi~"̅\ˇ b5^)HkH&nh]@Yt6puf( 9i¹Y vՃD}29]1LhswAi=EZi>$PEeW Ю4="U;̈q氢—:qnUf^P:6Aݰ*]n"}JZ!..OwC_.#4=Plٵ1'ґFZ<+4`LD E? Ȥz{sw4͞yc3QO B=vJQ:҄83a6UU%>*_q zp8_Wh[ynӣ*?8aSx}"qdnoUU3ާ4rE?h<µlIo}1g kC6=Gҩm(&_$eE[n/RU)6S=,89~!$pb DrD`-/now?tAiY0Ӥ^cb1 ~_gnb1xѳe|~nx|e.ޗ}$4F-7pMjM3O2}{2ՅQo]p1m9u0,vp2Yl]X* =]50Y:Z pD*W`'okݑ^D$hlb/#_IapK? d rU .5;a-H>Q]a7,~sI0γ4ہb(XD" % ~澜X]*,s/0pІ`Lh[.u ~TőqTCR-@qyqAh>Ùþ e4ӤML(4%hD&S8Bu3r"M vENZ.XA]~FHW&ElZnNuƱy96. zP::oV+^pDp,3ѯDI*TZCSSwo /UD73wCN3g&RqQYSƯ0J@իW\gkf=')]^,'oK endstream endobj 22 0 obj << /Length 4079 /Filter /FlateDecode >> stream xڕZKWlwn+Yr[")l@KZt3X9b==3Ԥw0,Wi&JVwc9ބ^O5}Y<ugj`+oL}I nT2σ>1E5c)KBϿ?zRȢ/ ?ɋUa*65^gaZπ~ t^~ymw wV|?&mUZ ]/%_P5 >ݘܣGyvgKVI3%O) yg۽;x[1ά`I@]SD͐oqz!4 Wayy:]S™|WƹO,4|SezA'lr@w'_+Ʀ]Tejбe၏!q8KxL#/UUҍ:0ׄOˆuo(~ ¸IqEk -8Hn]KH$c L+`߲Ʊ,G&I{H9<m Kc hn"3&mwT / 8fU4SbaDfMj0oBTaqQ5U%όxR mKUS5vYJH%n `rН@7yLnwVQ%QdRԼIQ~.q 'P P-t'|SG%/!cu*Omf흉| YwSRo>_J$(6~&S+KVXQM͞|_{X:ueE(BmE&3?//tCx_Б U-{'AY7{٫IMA>ٯȨuPq4zo.c3z"^DvI;5!PޓN~z6[rӵ4׊R!e/4ZZ Jh)q# =C$a[3C^ \a1 nN#%({C(BE+`82 } ;fQNҴsFܱZ^o5ӮUNyOSE5r]؃ M .kzd>YL=Dan"S|]dHO3MX:iN5 3V@U'w…Zmy&x6 di]j]kc Н]r˙QpۈHB{iD8jN@k)80IDFB2)Pe#Xu= !meodxǪF:B=,왇~=KfO|rRE,PoG abTH"- n>{B3XSn~5XhT@3? ՇgzKX&YBy7Y|Q sfHRDOy {$YDCCW! 'D8PIX.P'^@b:6^|K [= 3RaȐTw\R] }f7`3)Ο5!FS%d)z?+Кy? km*GTfWnhRyΌU`jry.I~6BȄ@2lKH}m8RwևgHpp=L5ac#PLh>'^0,x\@6g=$$PsGaIq'K7[ ZXbQtӹrWⓦk&& wFW׭|?( 9`T^Ɓ;|@Q]U3x#Q*ܺ 3u ꧝rJ oj'F۩DvqktX.hR.fP"0g\I#"ܼY7%B&IH]-Q(QAlCzqlHRn2TdLNm$HnOhĩ"Vc PJ۰Pf#V |ZQj b' ⨆RdAQ G`u=nʡiG,vv{ws |#}N!e6 W-1LHb)''͝%C4t R?‹JvYF!fdtPAh{abd@ `wR0+eG@;|3JGE _LI[r(BOU2/arV2ǾV!+dP .&%:̀Q)DO(Bg%vkObX i׺sBpzXEIY5--+U{34/\4@[H,<4wKcVŹ mƌWf3#Kq c8 4VYHiAj iD,dxV* 'Զ9/4%Әn+5*2U<>W~щcڷWF kg8HLDD|x?Xyz$> _kiy(R{= L}v+'z5 a 6hg#%H~:u68Y!㖥n8] 3D"K`96ԋP$@؏5G!9d}=dVvB2|pF? k_X_L:/+t=A0,$,A%Sq=I|`H|NV'x)il?g"3ҟQ].0YB'&ac*Y`>/=QwbuYb 듸7aYd.R$e2VjD& luO*4t'HL%hy&ە6^3_Ԙd ŕ 0Wo+aE+@+ 5R~NigY'A/\'/> stream xYKo6W9m̊/QZ, dP"e?RA;JM;blp8o?L~U*T1>娰N(mG>[e6&('Yd;&(T@ݭޏ'Zl3jf_}Qe8𵠵zO6cUdM2{GW*:"PMt$G%su$X\OnK締 =)H'A-Tʈ(n6ߎV(AZ&Yb3VeEDȇ2B$ޤhfoɷ˺%]?c{]sF KQ*x{Ʃ~룉ȍGlAk[o9rF!<)AW͑xbtMqaqdsH-re=% .N ϻ^ysyI'K} ae$ϑDTkŜC2VXac.4w5tFjhe|=&?sGݾOa=nqP R~{f)I t;s:1gBޚ%g7k'?ls$l4NfɌ&l@fyr&{ЏP$-+E'=!$OyoOvh$ǜJHl2*AΓ8rT+sk*_9vH:}$wo9[?qQYK84ihS*1mwuTÛxd鈿 =D#EyiԝF:Fi> stream xXY6~ϯ[@!R 4mӦE- A>I~}"ErI oN͓硞4OnSW v⫠&7ɫՕ)cy}5utfGhnVϓiedjj#2 =/,1>5:Mg5"[%@_P}OUe+*6/[hqN&͉ jy/'~Pt^|)47p0K=Q3Ub>4Ųn?ig4eu,Ժx!2p\:;d<f9*U({[䭬ѷ^> m7oTmMd{EO<j}J] 2'xp'i0tԌg6q?)0"H{G!-31{މ%Q{Nh-/q.O~ HxȎ+e( eO fzbf:$PMT`Jn&т~%>톏||nΫ܉NJn5<䞴$ݘT({y#iiϙGT iC|ͬ!J](swr3n?>cNnvǼ ;x -IIϙ DFpMHOmJ ^</_}L 2OTc ZNe{778O! 6,tх%o75޸cXPa*̃ܰ.)nVt""'՗CȄ|!9e?.5IPIc3Pep%tَdv09N7Kmem֑kpEO&c[Ɩ1&tι/y' MGc^!Ol.?>|59_Jocr?y}h!eHo*ƒ&(dC&k4>ô07UDb:SJIɊucꬤ {qzwE=$ G@݋^3PVGB3Y>dn'!%G]c de.r4̭77QW7Op endstream endobj 39 0 obj << /Length 1483 /Filter /FlateDecode >> stream xڵWYoF~K{ AE ފ>m+DU㸿s4kgY2.LJ(i ᴳ(Cڒ\\Y90};zg}&(U6Z BlȕIL~ ?L{W%lWr.d(rȽ=A2-.k wp k(YˢPI$jT7I9} "ؐT1 |ݿ/ZGR(cґ U!>B,z\?k\IKK@#I6S;+ f.6J.<^ /nQn<:3P%CfF=rfMNW)qzܠ>>Tʊ/ `&R/ o]^AŊ\ %LǮG_jw/bzlq;-ib /͆ttB kЖ`;1;S:t;B0c*2Ja}d~ qtJ`I*YeB'uEU{64g">S֭Zk눯Ra>Jr` Gxi|nx]kXpLPmc'jrMh<5c p@'txu~1uF \؝\lo bȌv1 Vdž endstream endobj 32 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/private/var/folders/55/y9j385p17gs0n3hfk3krhf3h0000gn/T/Rtmpug4Hqp/Rbuild103c217232402/SparseM/vignettes/SparseM-002.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 41 0 R /BBox [0 0 432 432] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 42 0 R/F3 43 0 R>> /ExtGState << >>/ColorSpace << /sRGB 44 0 R >>>> /Length 150720 /Filter /FlateDecode >> stream xA\X,Lufɭۀv6ZwVGQ\޼zfq$o?n??|/ۿ=/_U_1?~????s_ 'yϟzk>>?eAn_}yO~gѣ[Я??Elz=1q1GN?~}1~7=ŚEEo=x_8=EߢEoѢ_j۟?o9io?~-bY~({xOۅN,ߨs=_mJ[b,{??n?Ҟ߻;bY>.fy~ラ=wӞ߻iݲ,o޽iݴnگY<.fy~&|~=wӞ߻;bw/wگ?C=>`gygyZލ}{~=wӞ߻;bY~]ޭiݲn{7޳<-gx珟?ӞdH#q1ן=~|L{qO Y/fvy=~({>,[|*Y|.H{~=w>z_<.fy~>yan{7b[;VgAڟVYf?jYf?ziu?~q>|V <ֳ|\+Z]1g:cܟcu:dܟj9Y-gy>,?iu͸?yw{Vygy\gy>-|V~ϳƧ=q>,|\wYZ5gk|Z5gZ5gkܟju׸?z_<.fwYZ5>Z5g,yKkܟju׸?q>]|VY~,g¿; -\W7O\W7n s]c纞W纺ܟn s]@纺|Z|Yu=ϼܟuo ϯ~>x>ֽ|~/Os;ϧ՝|^Xyn+bV>n+b~1G3ź|ZVźܟϋu[?sbXyn+bVź|ZVŞ,Y~=ӾV.<"r>E|~q5|̹V7ٲ'|;lYwٲ0Vwٲ0/ke|Y>0og˺ü=-|zY~lYwea>0og˺ü=-ser{YVeaޞϖuy{>[lYwOYYϖux{>[yauy{>[)۽[{,ֳtvA0VwnZ:jy{O;[-oo]um˧,]u|Za~v=i\~vKcҭ{.og˺}wiuy{[n]޻u[n]޻uyѭG.oݺ}tiuy[n]>u[_ݺo?|=i ƃl-}w;ȶd]} i ٢lA斾oȖd;ن[1lAކބl-}m66d zs*lA icVo[mcюF;fe=mcюFô|v61hl[mcюF;fe=m4Lcюz7 Ǭ Ŵ Ŵ Ŵ ]{ITVVVk9WVVVku*%ZQL[QL[ѵD+Y+z(ZN1B1B1B^iiiV(=1-=1-=1-=z-=1-=1-=1-=^'EiV(=1-=1-=1-=z-=1-=1-=1-='''ZĴĴĴ\YĴsn QzbDu'KX/Qz $JO(=N`: &JϵK(=Ǽ:&JO(=iDuZ'']LXw1QzbDֳt']Lku.&JOg@ĺ.Kϫ?5oo.&Jϟt/=t ;$nHݐn!]vCɪ"/=t 5wH6ː.!qCt1t z"/=t6mH7ې.!-=*ҭ6KmHwڐC5Fn5"n4L7 ӍֳFtaƼ\Fta0hk0hn4L7ZϢ[jML[*MLMLMLML5cZobZobZoytbib9OU""""sg"s̋LLLL5cZdbZdbZdbVdƟR+O|~N'E&Ek6""";͵˟C7171717 כ֛֛k9כ֛֛֛kzzzs5yiiiiֳhiii&o07Ǽn=כkNĴĴ\YĴĴ"sM`ZdbZdbZdbZd,ZdbZdbZdbZdE$/",QdY$LLLLLL̵ELLLL1/2@E&E&E&EZ]IĴĴĴ\Y"$̵Gku/"""s%QdbZdbZdbZdս$LLLLLL̵ELL1/21-2^E&E&E&EZKĴĴĴ\YĴĴĴ\{Iku""s̋LL̵ŋLLLLLL̵DiiixiiYyuNN&&&Tvc^dbZd,^dbZdbZdbZd $LLLLLL̵DiiiֳhiiiV7(21-2,LL̵DiiiֳhiiiV7(21-21-21-2E&E&E&EZϢE&Eku"<%L(2NT:R"sn QdbDuE&ֱJX*Qd,]D9E&JXg+QdbDHv%L(2r/21-2Wĺ_"{(2Wĺ_"sn QdbݯDuE&J+WDi^=ȎuE&֭KЋ!xCɾu7nHݐCȋ!]tCt2KnHwܐ!pr oC޾ȋ![n |~ t %8!Y;Ctwƈzz&taz~n?Lߘכk0~n?LoMiiֳFzӍFzzz{E5yiii9Z&&&暼ĴĴĴ\YzzzsM`ZobZob߲We}B `ZobZobZoyxiibiLLLLLLL5yi9E&E&EZE&E&E&E暼ĴĴ"sM`ZdbZdbZdbZd,ZdbZdbZdbZdL1/2[E暼ĴĴĴ\YĴĴ"sM`ZdbZdboY+Ӽ]^obZobZobVo^mMZzbZz~Y-o>Qzչ%JOLKOLKOLKϵEKOLKOLK1/='''fWwQbZbV^flZbZyAb#M RL RL RL ҵDAiAiAV7(H1-H1-H1-Hf)))ZϢ)kuӂӂӂtn6QbZbZbZ,^bZbZbZ& RL RL RL ҵDAiA:)Z)))Zl Ŵ Ŭ ܕޕޕbڕbڕb֕^mJ1[1-H1-H1-Hf)k9kuӂӂӂtn6QbZbZbZ,ZbZbZbZ& RL /ӂtn6QbZbZbZ,hAiAiAV7(H1-H1-H1-H)))ZϢ)ku[& R(HDAuTZV :& R(Hk ]Yt RL ҵDAu;)##o Qb]DAxAiAuC) MX74Q,DAuCZ@ ź& R/Hϼ+z&}& R{(H ҍ7 !]wCt ;$ E7{nH!,Ct  w(6틼 vHvې!lC؆ =$dHڐ.!iCQbZbd`0hn4L7ZϢ ӍF*tM6 ӍFtftaZbZbzRc^bRQbZbZbZbZU***t̫еūPLPLPL5cZbZbZbZ,Zyii&{LPLP̪c3=++ Ŵ Ŵ *tM0`ZbZbZbZU****tMVc^bZbZ,^bZbZbZU***t̫5cZbZbZbZ,ZbZbZbZU*t̫Pֳx&W}LPLPLPLеEPLPL1B䪏iitb9k=~N'ӹVW7,M얳DV7171717z71717Ǽ\Gԛ֛֛~NZ]>Ĵs:1εE+1,[^@\{ieieieieV7,1,1,%%%Z@ĴĴĴ\YĴrn QYbZYbZYbZY $*KL+K*˫gEo/"Nzzsn+QobZobZobZo=#ML1717r7171717/GĴĴĬs-'ӦӦӿ}n+QobZobZobZoNzzsML͵MLMLML͵DiiirћNLN̚_s^zM(JOLKOLKOLKϵDieQzbZz&JOLKOLKOLKϵEKOLKOLKOLKϵDiiiV(=1-=1-=1-=z-=1-=ǼĴ\;LXg/QzbDu'Kku&JO(=`:sg&J1/=a: &JϵGZ71Qzb]D鹖xiu']LXw1Qz,DuZaĺ.&JO̺?zyޱnhĺ&Jߟҍ7 !]wCt ;$E7{nH!,Ct  w(6틼vHvې!lC؆<$dHڐ.!iCQzbZzbd`0hn4L7ZϢ ӍFsM6 ӍFtfĴ§_ӯ+znhc^bѰhQbZbZbZbZLPLPL1BrB1B1B1BmU(U(U(UZϢUWVVk****esKϵKOLKOLKOLK5yiiii&o0-=ǼĴĴ\YĴĴĴ\>''瘗krǴĴĴĴ\YĴĴĴ\>瘗حgsMk=c^zUsgsQz~Y-gsNQzbZzbZzbZz,ZzbZzbZzyVG(=1-=1-=1-='''ZϢ瘗M. WϘ^=cFiiYz=skAiAiAJc^bZbZbZm% RL RL RL ҵE RL 1/H1-H^)))ZK Ŵ s:h:ӉtbZzbZzս$JOLKOLKOLKϵQDi9'Z΢bb^>'''+<;_Ms*M*****tM,`ZbZbZyxYz}kӂӂӂӂtgI˟'MYW2y iAiAiAiA&o!0-H1-H1-HǴ ])f]3M1M1M)))隼6t-gtMX`ZbZbZtMX`VӮk=kӂt RֳxA&o,0-H1-H1-H1-Hz-H1-H1-HǼ ]7k=kuˢ n9KkuƉӂӂӂtgтӂӂt ҵ:DAiAiAiAVW(H1-H1-H1-Hz-HǼ ny݉t푦)))Zl Ŵ Ŵ ]Mkuӂӂӂtgтӂt RL ҵDAiAiAiAV(H1-H1-H1-Hr/H1-H1-H1+H#+Ŵ+Ŵ+Ŵ+Ŵ+]˅wWϴѕyWiWjWzL RL RL ҵDAiAiAiA҂ӂӂӂt.#QbZbZbZ $ RL 1/H1-Hr/H1-H1-H1-H)))Z@ Ŵ Ŵ Ŵ ]Y Ŵ Ŵ Ŵ ]H_)Z@ Ŵ Ŵ Ŵ ]Y Ŵ Ŵ Ŵ ]Hkuwӂӂӂtgтӂt RL ҵDAuN)AMX'5QbDAV7(Hk :& R(Hz.l & R3(Hm ]{uk)ֵMk9ku& R(Hnh źtn QbxAz ]ճwǴ Ŵ źtg.& R(H" ҍ7 !]wCt ;$ E7{nH!,Ct  w(6틼 vHvې!lC؆ =$dHڐ.!iCQbn5"n4L7 ӍֳFtaƼ ]FtagzftKa0RnEԘכn)Tԛ֛֛֛֛krǴĴĴzs-gz3=1-2RiiiiֳgzgzbZYbZYɥrM.VVVc9k9N'$$\1-'1-'1-'1-'Ri99$$Z$$$\1-'1-'1-'Ǽ\K=$$$ZϢ$$$\1-'Ǽn=krǴĴĴĴ\YĴĴrrM.k=kurˢn9Kkurrrrrgrrrrɵ:dD9i9i9i9V׌('1-'1-'1-'z-'ǼnyՈrr푦$$$Z5ĴĴ\FkӴĴĴĴ\>K\ )1)?_%Z@ĴĬWLLLLLLL̊&4ǼĴĴĬӼ9NNNNNsi"s̋LL̵ŋLLLLL̊-414/ĴĴ\ ĴĴĴ\;Lԛ֛֛֛kuzzsML͵MLMLML͵DiiisћNLN̚_^z(JOLKOLKOLKϵDieQzbZz&JOLKOLKOLKϵEKOLKOLKOLKϵDiiiVw(=1-=1-=1-=z-=1-=ǼĴ\MXg/QzbDu'Kku&JO(=`:sg&J1/=a: &JϵGZ71Qzb]D鹖xiu']LXw1Qz,DubWeu&JO(=nhĺsH7ސ.Ct e7/sHݐ!]sd 7+nH7ܡCې/sH!mCچt b󐬒!jCԆt J;TcDiF[-Fta0hk=n4L7mK5hn4LKOLKOLԚlL[ -ZYtKyzKEiiii&o0-=1-=1-=Ǽ\YĴĴĴ\7FS~EϭUWVVk****tM`ZbZbZyxiiYz}(f?vu?֦֦c^bZbZ,^bZbZbZLkSLkSLk1Mm)))ZϢ)))隼-6,^LkSLkSLkSLkӵEkSLkSLk1Mm)))ZϢ)))Z]O6M[ZP6Ŵ6Ŵ6Ŵ6]Y6Ŵ6Ŵ6t)QbZbZbZE%jSLkSLkSLkӵEk1M[^V6]{imimimimVM1M1M)))ZV6Ŵ6Ŵ6Ŵ6]Y+s:Ǽ Ŵ ]J_(H εD+i+i+Y+z??w kuӂӂӂtnQbZyAiAxAiAiAt3I[^bZ^bZbZbZ& RL RL RL ҵDAiA:)Z)))ZV Ŵ Ŵ Ŵ ]J~'UZϢU(U(U(UZV Ŵ B1BU(U(UZϢU(U(U(UZV Ŵ Ŵ Ŵ ]{FTVVVk=VVc^bZm%PBd :*P&еDu,U(ֹLTX3QbDֳt5UWX3QbDEеGZ3Qb]DxiuCU( MTX74Q,DuCUZV zVy)y{Bm ź*tg&P{B?x ҍ7 !]wCt ٮ`|}}Ct'JYˑuy9,!ݛC6~A92!]C]tizHِn!]CWt1LŴLt&tbU1ݪnյE*[ӭ:elULTLTL7%rMMtS,)ǼLtSb)LŴLŴLŴLŴL]7 c^,^bZbZbZɛLTLTL? ]Y6tM`ZbZbZbZLkSLkSLk1MrM1M1M1 5y[gb~隼- ***t-g****tM`ZbZbZy&o 0B1B1B1BzB1B1B1BmUWحg*tM`ZbZbZbZ,ZbZbZy&o 0B1B1B1BzB1B1B1BzUErBmU(U(U(UZϢU(U(fU"Zѵvӂӂӂt.QbZbZbZ,ZyA#M RL RL RL ҵDAiAiAV7(H1-H1-H1-H)7(H1-Hz-H1-HǴ ƻҵDWiWYWz{wku/ӮӮӿ~-gVOŴ Ŵ ]{IT,ZbZՍ"PL1B1BrB1B1B1^'ii鹖xiiiV(=YĴ\{Ic^zbZz,^zbZzbZzbZzս$JOLKOLKOLKϵDiiiֳhiiiV(=1-=,JOLKϵDiiiֳhiiiV(=1-=1-=1-=F'''ZϢ'瘗ku/%JO×(=N_:~s%QzbDiVHX*QzbݫDu瘗X(QzbDu#{(=.R\YĴĺI&%JO(=znRĺIs ^ Vx(=2'JX+QzbݯDu/=t ;$nHݐn!]vCɪ"7t 5wH6ː-4_`/~:mx(G]8Bt=8kpH.!-2 8 pHߐC5Fn58n?LֳtaƼ\7_k/|5_oM6t,ƼtaĴĴĴĴ\7֛֛֛c^o,^obZobZobZoLMLMLML͵E171717׾=śN̚oĴ\c^z,^zbZzbZzbZzLKOLKOLKOLK5y[i9''Z'''皼-ĴĴsM`ZzbZzbZzbZz,ZzbZzbZzbZzLK1/=[皼-ĴĴĴ\YĴĴsM`ZzbZzbZzbZz,ZzbZzbZzbZz$J/,Qz %JOLKOLKOLKϵEKOLKOL?s̛ε:DiiiVW7171717z7Ǽny-zs푦&&&ZKĴĴ\{Iԛ֛֛֛ku/z{ۍכW=ttbtiy,MZKĴĬ6=f1MYmjcVbZeuX7^kcxmzM_VwMup6=!צ,9}צǺXG6^kcxmGZ6^kӗ,ZX6^kcxm;Wns6}Ya6=mצǺX9^6kӗ,xmzۜMo k!xCɾu7nHݐC衛nHݐ!]sd 7+nH7ܡCې/tH!mCچt b҂!jCԆt J;TcDAiAF[-Fta0hk=n1/HdKa0Rn)LԚlL[ -ZYtKyAzKEAiAiAiAiA&o 0-H1-H1-HǼ ]Y Ŵ Ŭ =fmU(fU1?iֳh9''皼ĴĴĴ\7c^z,^zbZzbZzbZzLKOLKOLKOLK5+1-=ǼĴĴ\YĴĴĴ\K=''瘗krǬ<&&ZϢ&&&\17Zob5cZobZobZobVo%fq+Ĭ ]{iiiiֳhiiiVB,P얳DVgB1B1B1BzB1B1BǼ ]~ կ(H1-H1-H)))fϓvvcޕbo?_]#MRLRLR̺җ& RL RL ҵDAiAYAz=]Z]g+>t'tkSLkӵDmimimimV7M1M1M1MrM1M1M1Mf)))ZI6Ŵ6t-gvvu/Mk9kuӂӂӂtn6QbZyAiAhAzZcVsn6QzbZzbZzbZz&JOLKOLKOLKϵEKOLKOLKOLKϵDieQzbZz&JOLKOLKOLKϵEKOLKOLKOLKϵEiii'''ZϢ'瘗ku[%JO×(=N_:~sn+QzbDu'LXg0Qz,]D9'1LX0QzbDH&&JO(=r/=1-=bĺ.&Jϵ\Nxy(=' MX74QzbDuCZ MX74Qz~=y9oH!wCt ]wHVy9nHܐCYt 7PmHy9!]mCنt iyHVɐn![j|m=x@ߡ9PLPLߚl?L[Y taƼ ]Fta0hkE0hn4L7mgэ6U( U(U(U(U(U\1B1B1BǼ ]Y Ŵ Ŵ Ŵ ]>U(U(U(UZϢUWVVkrǴ Ŵ Ŵ Ŵ ]>U(U(UWk9WVVVkrǴ Ŵ Ŵ Ŵ ]>UWVVk9WVVVkrǴ Ŵ Ŵ *tMVVVVk=VVVVkrǴ *,^U***\Y3=1L17䪏iiiiֳhiiYyM__'v˹\Wb^\Dskii:UZSB1-=1-=1+=/xiiiYyOL1?Y\{iiiiV(=1-=1-=''m%NL?+zzzsgzzsML͵DiiiV7171717r71717DiiiiV717ǼĴ\YĴĴĴ\Jԛ֛֛֛kgtbtbt^f/='''ZaĴs-gs0QzbZzbZzbZz&JOLKOLKOLKϵEKOLKOLKOLKϵDieQzbZz&JOLKOLKOLKϵEKOLKOLKOLKϵDiiiV(=1-=1-=1-=z-=1-=ǼĴ\$JO(=_:}%JϵDu' LXG0QzbDֳt 瘗X0QzbDu#(=1-=N]%JO[(=n]WXw1QzyV(=bĺ.&JO(=zbĺOCt}7nHݐ.!ud}Ct ;$eHܐ!]qC߆t}Cn6mHېd Vҥ6;mHWڡ#MLML7ښl4L7 ӍiֳtKaƼ\-tKa0Rk0Rn)L[jg-5&[ -&&&&\171717Ǽ\YĴĴĴ\>&&&ZϢכ՛'tš~ĴĴĴ\>''瘗k9krǴĴĴĴ\>瘗k9krǴĴĴsMk=krǴ,Gky{WVVUs[+z=c^L RL RL RL ҵE RL RL RL?s'Q~YT-g*tN(~'ZϢ''瘗kbbb^ӿA~gOZ=Ҵ Ŵ Ŵ Ŵ ]MTVVku***{#^bZZbZyAiAV(H1-HhAV(H1-H1-H1-Hr/H1-H1-HDAiAiAiAiAV7(H1-HǼ Ŵ ]Y Ŵ ~ZiAV7(H1-H1-H1-HroE1mE1OLеDiiiV7B1BǼ Ŵ ]Y Ŵ ~&еDiiiV7B1B1B1BzB1B1B1BfU(UEiV7B1B1B1BzB1B1B1BU(U(U(UZ3 Ŵ Ŵ Ŵ ]Y Ŵ **tn+QbDu$U(֙LTX2Qm%PcBe :*d&еBǼ :*t&P㙨BiDuAUZU(U( MTX74Qb\9W uoU(ֽMTku*&P{Bm ź*tg&P{B?WCt}7nHݐ.!ud}WCt ;$eHܐ!]qC߆t}WCn6mHېVd Vҥ6;mHWڡ#PLPL7ښlL7 **tg-tKy&[ -tKad3`0Rn)LZϢ[j̫PL[*PLPLPLPL5cZbZbZyxiii&zLPLPLPLеE1B1LOL?sM.krǴĴĴs-gsM.krǴs-gsM.c^zɥsgyEKOLKOLK5cZzyzL5cZobZob~ZϢE&E&EkrǴĴĴĴ\YRiiiV(2,L얳DV(21-21-21-2z-21-21+2:_F\I 414141E&E&E&EZϢ9%v HTk4,1,1,1,%%Z@ĴĴĬ|Y@71-'1-'z-'1-'Ǵ{ʵoĬ\Zdm%LLLLLL̵ŋLLLLLL̵DiiiV(21-2ǼĴ\YĴ~m%̵DiiixiiiV(21-21-21-2E&Ek9ku["""rxrgĴĴĴ\Pԛ֛֛֛kuzzˢĴ\;Lԛ֛֛֛k=֛֛֛֛kuzzzzsnQobZobZobZo,ZobZoyiVw7NY:fz%M7&QKԛXg-QobDuZuKԛc^obDu&֑Kԛk\ĺtzs-gzz%M[7M՟oz_빻z.&͵Du&]LԛXw1QobDֳt&]Lԛ_/ҍ7 !]wCt ;$E7{nH!,Ct  w(6틼vHvې!lC؆<$dHڐ.!iCQobZobd3`07171Rkg-W-WFty}]έ^b0~kq0~n?Log7U(U(U(U(U(U蚼- Ŵ Ŵ *t-g****tM`ZbZbZbZ,Zyii&o 0B1B1B1BmU(U(UWk9WVVVk****tM`Zyiixiii&o0B1B1BǼ ]7VVVVk=,ZbZbZL1B[U蚼 Ŵ Ŵ Ŵ ]Y Ŵ Ŵ *tM`ZbZbZbZ,***t."Q~YT-g*t"QbZbV^=E+j+i+Y+z ZS Ŵ Ŵ Ŵ ]JTVVVk=Vc^bDH****tn+QbZbZ՝'PLPLPL5yiiiiֳhi:柧iV7(=1>ҍ7 !]wCt ;$E7{nH!,Ct  w(6틼vHvې!lC؆<$dHڐ.!iCQdbZdbd3`Zdbƀ 7|n[7 Ӎ6El4L7 ӍF[-Fta0hk=n1,1hXo,1,1,1,1,?6+GZJy{`Ս^},W}L+KL+KL+1,r,1,1,1,䪏ieieieieֳhe9%%\1,1,1,1,䪏ieieie9Z%%%\1,1,1,1,䪏ie9%%Z%%%\1,1,1,Ǽ\>%%%ZϢ%%%\1,Ǽľz,䪏ieieieieֳheieie9\1,1,1,1,z,1,1,1,Ee},QYթ#*KL+KPYVY^?y{y3ĴE|kuL""""s.*QdbZdbZdbZd,Zdy}e%̵4-21-21-21-2E&E&EZKĴĴĴ\{Ik=c^dbZdս$LLLLLL̵DiiixiiiV(21-21-21-2FE&Ek9ku/""""s-g""""s%QdbZdbZdbZdս$LL1/21-2r/21-21-21-2^E&E&E&EZKĴĴĴ\YĴĴĴ\{I?E&EZKĴĴĴ\YĴĴĴ\{Iku""""sg""s̋LL̵DuE&ցJX'*QdbDV(2U:U"X%Ls(2z.V"h%L(2W\Nv%L(2r/21-2Wȼi^wcZdbݯDuE&Jku"~%L(2Wĺ_"sg~%L(2Ct=}7nHݐ.!udCt {$eHܐ!]qC߆tCn6mHېd Vҥ6;mHWڣ#LLLL7ښlLLL[ -ֳtKaƼ\-tKa0Rk0Rn)L[jg-5%[ -%%%%\1,1,1,Ǽ\YĴĴĴ\K=%%%}̢%WVVkrǴĴĴĴ\K=%%Wk9WVVVkrǴĴĴľR&zL+1,1,1,r,1,1,1,Rieieie9\1,1,1,1,z,1,1,1,Rie9%ճxe&zL+KL+KL+KL+˵E+KL+KL+1,RieieieieֳheieieieV,,*K+gr^Ye2|~Zϭ=%=%f=%Z=ĴĴĴ\ˇ篧篵WVc^Yb_y-r;M+KL+KL+KL+˵DeieieV,1,1,1,^%%%ZϢ%WVku/r%QYbZYbZYbZY,^YbZYbZYbZYս$*KL+KL+KL+˵QDeie9%Z%%%ZKĴĴĴ\YĴĴĴ\{ITVVVku/r+KL+˵+KL+KL+KL+˵{9o/1m/1k/徵\Jk=ku[";g""sn+QdbZdbZdbZd,ZdbZdbZdbZdm%LLLLLL̵gDiiiֳhݳxiV(2S:P"D%L#(2^E&֡JX*QdbDuEZJc^dbDuE&JkiݮDuEZE&E&fwA_8Ǻu"%L[(2n]\{IX.QdbݺDuE&֭Kk=K.QdbݺxZdB [xKdmٲl-^uCZdB sߛ%َlAr o!-2![nKwd K 4k lkl)._3+=٦̶3~l=Ŷ3~laZz~{fmg̶3~l=Ŷ3~zyJgVz>󙕞ZJgVz>c9Ϭ|f3+=?Ϭ|f3+=?ֳXiJgVz~k3+=YJgVz~k3+=YJOLKϏ,Zz>󙕞ϬׂgVz>󙕞ϬׂgVzbZz>󙕞Y|f3+=Y/Ϭ|f3+=1-=?Ϭ|f3+=?ֳXJgVz>c_Yigc_YJgVz>c=Ϭ|f'JgVz>󙕞Y|f3+=Yx9;~RcϘ>󙕞 |f3+=1-=?V/=YJgVz~.*^z>5ϬXb&/z՛ϬX@|f37?V77YgVo~n ^o>z՛ϬXb3717YxgVo>zcuz՛Ϭ|fr7YgVo~n ^o>z՛ϬX|f&37?hgVo>zcuz՛Ϭ|fr7YgVo~n ^o>z՛ϬX@|f&37?hgVo>zcuNuϬ|fEE3+2Y̊̏,Vd>"ϬX@|fEϬX@|fE3+2YŊgVd>"Ϭ|fE3+2?Vw/2Y̊gVd~g"ϬX@|y:P"Y'*^d>Hŋ̏]ËgxS/2uEUXŊ:Z"Yg+^d>Dŋ̏}uE3+Ru|E&E3+2qNAz/2uEznR|MϺI"Y7)^d>&ŋgݤx/2uE?Qҍ7 !]wCt {$E7d{.//-4 qHᐮ!݆r ݅C o݄C58[pHuKvt7Q;fkq0~n?Logty&tad`0~n?LZϢőLL/LLLLLLLL5yĴĴ"s-g""""sM^0-21-21-21-2z-2ǼĴĴ\LLLLLLL5yĴĴ"s-g""""sM^0-21-21-21-2"s̋LLLL̵ŋLLLLLL5yĴĴ"sM^0-21-21-21-2z-21-21-21-2"s̋Lg"sM^0-21-21-21-2z-21-21-2"sM^0-21-21-21-2z-21-21-21+2ϟĴ14ݢĴ\s:WXyϭ&Zϭ&&כkuLzzzzsE5Ӧs.AQzy}&Jϵ4-=1-=1-=1-=''e^zbZzbZzbZzm%JOLKOLKOLKϵEKOLK1/=1-='''ZVĴĴĴ\YĴĴĴ\JkuψsKOLKϵKOLKOLKOLKϵDiii鹖xiiiV(=1-=1-=1-='瘗k9ku[OLO{@BǼ Ŵ Ŵ Ŵ ]Y Ŵ Ŵ Ŵ ];LTV?U(UZa Ŵ Ŵ Ŵ ]Y Ŵ Ŵ Ŵ ];LTVVVku****tg**t̫PLеDu"U(֑LTXg2QbDVBe Ŵ ]{ITXW0QbDu UWX0QbDuUwZ71Qb]Dhz}=;Bb ]Y*.&еDuU(]LTXw1QbDֳtU(]LT?.^҅Hݐ!vCt=UC^٢H l#҅8pHnG9!]?U.Gt %xz+HѐwC+tU>s:1NLߚlL[Yta0~c^ta0~n58n?Lֳ******tM^ 0B1B1BǼ ]Y Ŵ Ŵ Ŵ ]LPLPLPLеE1B1B1B****tM^ 0B1B1BǼ ]Y Ŵ Ŵ Ŵ ]LPLPLPL5y- ***t-g****tM^0B1B1BǼ ]LPLP/{ ]Y Ŵ Ŵ Ŵ ]L1Bū5y Ŵ Ŵ Ŵ ]Y Ŵ Ŵ *tM^0B1Bd뇶hEzBmE1mE1mE1kEŴ1oE}Q ūg9k=c^zՁ$JOLKOc-=JM'M'Ӊiֳh9&7׾ӴĴĴĴ\Hԛ֛֛kuzzzzsn QobZobZobZo,ZobZoyiV77171717&&&Z&&&Z@ĴĴĴ\Cԛ֛c^obZo,^obZobZobZo $MLM{h:~Ox}''f9lZbZbZbZbZm%P̪ߓk'1t*!Bt>=8kpH.!?  8 pHߐG5Fn5"n4L7 ӍֳFtaƼ\Fta0hkE0hn4L7mgv'f{=5y Ŵ Ŵ Ŵ ]WLPLPL1BrB1B1B1B****tg*t̫PLPL5y Ŵ Ŵ Ŵ ]LPLPL1BrB1B1B1B****t ߵ^bV|J֦֦֦֦֦kimimim:隼,`ZbZbZϢ)))隼,`Zym},^)))ZϢ))f5yoAŴA Ͽou'Z]e6M%jӵ:Dmimimimֳhmimim:Z^6Ŵ6:ft/QbZbZbZ,Zym}&jӵ4M1M1M1M))Za6Ŵ6Ŵ6Ŵ6];LԦ֦֦֦k=֦֦c^bZ&jSLkSLkSLkӵDmimimimxmimimimVM1M1M1M)צ֦k9צ֦֦֦ku[ Ŵ+]Y Ŵ B1еDiiiVB11?1?r/=1-=1-=1-='''Z@ĴĴĴ\YĴĴĴ\H?'Z@ĴĴĴ\YĴĴĴ\HkuKsgsKOLKϵkDu'KX/QzbZzbZz]#JO(=Z:l%Jϵ(=Ǽ:p%JO#(=׾ӺsKu<']LXw1QzbDֳt']Lku.&JO(=bĺsgsKOLKOL[7Ct=}7nHݐ.!udכCt {$eHܐ!]qC߆tכCn6mHې֛d Vҥ6;mHG5Fԛ֛n5 n)L[ -ֳtKaƼ\-tKa0Rk0Rn)L[jg-5&[ -E&E&c-21-2Riii9EZE&E&E&E\1-21-21-21-2z-2ǼĴĴ\K=E&o%~+ӌ 7䪏iii9Z&&&\17_3m:_3/=1+=?_?+tKOL?+ ] LMLMLML5y-ĴĴzsM^ 07171717z7171717zsMgzsM^ 07171717?tbtbtbtxӹ&/ 665ϴ\YĴĴĴ\KKԛ?&DV疨7171717z71717Ǽ\Kԛ֛֛֛ku}zzzz(NL1m:oĴ\Ns?Akusn6QzbZzbZzbZz,ZzbZzyiV7(=1-=1-=1-=f'''Z'''ZlĴĴĴ\;Ic^zbZz,^zbZzbZzbZz&JOLKOLKOLKϵKOLKOLKOLKϵDiiiVw(=1-=ǼĴ\YĴĴĴ\{Iku/sgs%QzbZzXku/sgs.#QzbZzbZzbZz!JOLKOLKOLKϵEKOLK1/=1-='KX/QzbDuZ@:&JO#(=`\YsKOc(=a:s;(=1b'c^zbZzbDuC' Mk=K74QzbDV7(=nhĺDuCZ MX74Qzo,ҍ7 !]wCt {$E7{nH#,Ct  (6퇼n l_t iHVɐn!]CZiƈ**Ӎ&[ӍFtazhn4L7ژWk0hn4L7mM ӍFt,Ƽ taѢ Ŵ Ŵ Ŵ Ŵ ]>U(U(UWk9WVVVkrǮVVVk=Vc^bZbZU**~N'\1-=1-=1+=*****tM^9fĴ3=zsMLML͵MLMLML5yĴĴzsM^07171717z71717?tĴOL5yCĴĴĬ<ziiA~K5yYĴĴĴ\YĴĴĴ\KK?'DV(=1-=1-=1-=z-=1-=1-=Ǽ\}xN3U蚼B`ZbZbZbk=cW^a\Ns0QzbZzbZz&JOLKOLKOLKϵDiiiֳhi9'ZaĴĴĴ\;Lk9kusnQzbZzyi鹖xiiiVw(=1-=1-=1-=r/=1-=1-=1-=3^ƫ{nkEټ Ŵ ]˹ Ŵ Ŵ Ŵ ]MkuӂӂӂtgтӂӂOl Ŵ Ŵ (H1-H)))ZϢ)))ZV Ŵ Ŵ Ŵ ]{F))ku[& R(HNj :tn+QbDAuZ)qMX5Q,]DA:)֑MX3QbZ}u?=wd__˹ Ŵ ź& R{(Hzm źtn+QbDAuo)ֽMX6Q,DAuo??DzA:oH#wCt ]HVyA:nHܐGYt 7QmHyA:!]mCنt iHÐn!B 5ƈ**-wWFta0hk0hn4L7ژk0hn4L7mMf}]kSLZϭokSL/jSLkSLkSLkSLk5yY6Ŵ6Ŵ6t-gtM^0M1M1M1MzMǼ6Ŵ6Ŵ6]LkSLkSLkSLk5yY6Ŵ6sEsEr/H1-H1-H1-HӂӂӂӂtM^0-HǼ Ŵ Ŵ ]Y Ŵ Ŵ Ŵ ]L R sjWzXM6?CTLTLTL5yLŴLe*_6& 6ciؗLLk5yo6=AŴA jmimim:隼B`ZbZbZbZ,ZbZbZbZU&jY6]LԦ֦֦֦k=֦֦֦c^Ց&RLRL?Wӂt.5QbZbZbZ,ZyA}& ҵ4-H1-H1-H1-H)w(H)))Za Ŵ Ŵ Ŵ ]Y Ŵ ӂtn+QbZbZbZm% RL R;o+Q,^bZbZbZm% RL RL RL ҵgDAiA:)Z)))ZV Ŵ žY ]Y Ŵ Ŵ Ŵ ]J|V((iVPL?+tKOLKϵKOLKOLKOLKϵDi}hV(=1-=1-=1-=z-=1-=1-=1-='EiV׎(=1-=1-=1-=z-=1-=1-=1-='''ZĴĴĴ\YĴsQzbDu'KX/Qz]#JO(=N`: &JϵK(=Ǽ:&JO(=׾Ӭn^w/cD9''Z@ĺ.&JO(=b\HXw1QzbDiiuZҭKX.Qzo>-=|S<_`'< Flp[?\#Y?.!ݵCjvE;{vHnG9!]?.G_tv~iz>2'r> Zi:;xHW#?++xM t,1n1/Sdc1n`L7l=L70 ^YtymzGmimimimim&֦֦֦c^,^bZbZbZ+)))ZϢצ֦֦k imimimim&֦֦֦c^,^bZbZbZ+)))隼B`Zymimimxmimimim&֦~^)W:W&VVUwъڊbڊb֊^NG+&/cފb_23mEO&Ŵ Ŵ Ŵ ]Y Ŵ Ŵ *tM^,0B1B1B1BzB1B1B1B*Ǣ žrBU(U(U(UZϢU(U(UWkuL****t.*QbZbZbZ,Zy}$е4B1B1B1BU(7BU(U(U(UZ@ Ŵ Ŵ Ŵ ]Y HTVku****tn QbZby*t-g****tn QbZbZbZ!P!DixiiiV7B1BcBrB1B1B1BU(U(U(UZ@ HTVk9WVVVku****tn QbZbZbZ,ZbZbZbZյ#PL**tQbZbZbZ,ZbZbZbZ]#PLPLPLе%Diiiֳhi:U(UZ5 Ŵ Ŵ Ŵ ]Y:g**J%1BU :U*X%PsBz.V *h%PB1B1B׾|'m=kX)Q**&%PBnR ]YI*&%еDuU(MJTX7)QbݤDֳtU(MWY(f;cub{&f;cwm3yl={g{f;c=g04L#gebV`~x ?~5f{c9ǕVW.*@2[mhlx dmVڢZڢEkmɢEχm@juh+nq^.Zyh墵__.ZhC-0HE0\ }_sJEK1|9_b_b`E7-\dh EVq>{ 9\sZ?՜s.ZϹhAaђ·t.ZԹhUi׹ha碕v-\sQ?6Ծpͣ碅V~gi'>sE?!|1w~ЊEK>Fc >-\󡆟WEK?\s?E @][GW_=w`l]tZEAc A] `n ](tQ- ~a袕.ZYPůx ~|I/ptszPhEWoJ-*]̫w.ZYhiWK.]t? ſE`^}<3]tBE+Mxkhզ=V.ZrhWN-;]t?0,jP/Q-Ui_FuEK[yܺhu孋ַ=.Zh"\s]uJ?0/D޺.ZPkE]HOvt/#X6_)V.ZNh=`^<]vѢEjc j-]v?0I.Z] z^h}$/l-]v"?2El-]NvbEm-x.ZsYuhCn-!y|xH.-G $p"3ţIw<]<$qc#MGI'yxJߪx{~ãh4wh<}u幋G5yxDM@G5y5[#jZw񈚼]<&/vɛ?舚<]< wOu̶/1ߕc*|S>Ec-9K򙭤1_c!|A~|ֳvcj|fq1_c>2{nܘo1_rrl0m@q8w18w;n0Eq8w;h+}ǁ| F W....FE z z zhO8@jCqe~K<5э wpppw0(]]]E{====]Npw0]](]]]E{=-ܽF;9a#=5}=#]Ps_uD .y z z;.y z z z付w|"_w1;.y z z;by*===][OEGGG@F ~ͧ"FyAyz zW wAwAwS...b^}*===]<ppw0]żT z z zW wAwAwAw{wAwAwAwS...bY<]Dw݇.@>v1>؂؂؂.@؂؂؂.%[[[żT` z`;-b-S!,!,!,!b^r*===]<v13‚`yvCXCXCXCżT z z z aAaAaAa<=v1/.‚GS!,x=‚GS!,x=.ťBX(|*ƧBX|*ΧBc#v0BX}*ާBXЊyy<U P=P:S!,xDB‚G$T!1 U Py<" a#<" a#v舄*HC+~3zCWn6-{nݶܾ|?c؎=7yv{o1_c}u>7:m>"U6/1cy1_c|)?Y*=}'/ }'Aɠc ɠdw`Aɠdw2;yV ; N}'/Np Nppppw^L@wAwAw#]"===]]]]c w#=/&b肞)Ǹbz z z;1b1.1.1.1.ڋ 1`ĸǸ࿎"=-=DDwQ@OtAl;Jt#]c\c\c\cc qAqA]гE{]St#"][[[c lAlAl#][[[c lAlAlAlTV` ~@.q[[[c lAlAl#]sLyvlT`---b^g*==]Lyv[lAl:S---b^g*===]"===]Ly v0[([[[żT` z` z` z`E` z` z` z`י lAlAlAl:S-`=Pyv10؂؂؂.y` z` z` z` lAl[żT` z` z` z`x ---b^\*===]G@؂F` z` lAl#v[[{*]̋KT` NQT`x t$9F` UNx`{^"~y*([[y*[y*]<:b l#v13؂GS-x<؂GS-x<.1O'o}f|_|fr̗1_c)٢a|M%VҘ1ߐc |?>Y|;r1 VkOWŒ5¶/1[\>}A߇@A߇[mA߇Cs3Z!,ݹh9!,͂͂͂.y4 z4;,b^r*===]KNEGGG=PDGGGyɩhhhhv1'͂F4 z4E4 z4 z4 z4fAfAfAf{fAfAfAfT,,,b^g*=hhvhhhhv10͂͂͂.ťYУYУYУc_y4 z4 z4fAfYУżT4 z4 z4 z4x ,,,b^\*===]GEGGG@͂F4 z4fh<*fh4+r7/1ߏzߎc,>uW3یcŽy;nCgW|ύ-7KYR!,!,;nV ;}-}ǁ#]}ǁ@qR@q8w;nw`ĭ8q. q+q+q`ĭ=Pĭǭǭǭz z z ZZ?ȘC_!`Zz z z zh޿9/o䱠ec<]WУYУYУYУ߯ ߉҂҂HiAOiAMiz4 z4h/&GGG.ڋ ,,,1GGGGbz4;,u 좽͂͂͂.y4 z4 z4;HiAOiAMiϿ"][[[żU`؂_=Py4v[[l|T---bސ*===]<v0[oI.~7z` z` z` z`פ lAlAlT---b^*===]<v0[ż&U` z` z` z`פ lAlAlAl{lAlAlAlT---b^*=vvFlAlAlAl{lAlAlAldU---b^r*=vv13؂؂؂.u[[[c lAlAlAl:S-V` z`י lAlAlAl<===]Lyv[lAlR-xB؂G1T-x4C؂G5Tb^\*r[h*z[*]<: l#(U{V#}xTG.~7QU`E` z` QU` Q@G|T-xG.u[*[*c#>< ll|_|fr̗1_c)٢l|M%VҘ1ߐc |?>Y|;rl|5>1l|׍1sc|ˍ{T` z` [}ǁ@q@@qlmǁ@q8wܢw;[<7-;< l^"}9m1_c+|U|f"59[r̗3[Ic"|Cg8"[]7ngW|ύ-7KYR--;nV ;}-}ǁ#]}ǁ@qR@q8w;nw`8q؂؂؂؂. --`|b,,,좽@͂͂͂.y4;,,Jh/z z z;!b!,!,h!lϗxh~lcAcAcv0BXCXC(BXCXCXCE{===v^+@aAaAaAa<===] CacaO]<u0E{=n=n=n=n]<u1/`ŭWTqba*n=n=n=n]<[Lŭ.9VVVżT z z zܺx q`ĭWf*n]nֳWP aAa_r==hhhv1>͂͂͂hhhv0YУżT4 z4 z4 '.7c|,y,y8fAfAfAfBT,,,k fAfAf#=]"===] QEGGG=PDGGEHiAMi?؂؂.ݨ[lAl{lAlAlAlBT---b^*===]<v1/D؂`y!v[[[żU` z` z` z` lAlAlAl<=v1/D؂G/T-xC؂G3T-xTC.慨[(*v[*~c#!vP\[nQQU`xG؂GzTb--xG؂G|T-xG.QU`W l#>< l#>< l[*B"}9m1_c+|U|f4+ty_Q|>5t̷/1ߥzߤcH,b1qf8{qǸlN8qⳜb\c\᢭!}>\<}>}Fh}>}mA߇C1qA߇+====] c\c\cq{qAqAqAqewcw^6@qAqAqAq wPc۽JtAOtAOtAJteDǸǸǸZ{:D z zcF j{ F zh >ˀFh @.+`1P z z z zx .} ` z z z zx ...bu* whyÇ>1Ç>=Ç>|yÇ>1CУه0ه͞2Rk]F`2f>ƸǸ1jPc܇> Pc܇>Ƹ<f/c܇> Pc܇>Ƹ rD&5r?t>D&5}1Ƹ5}1Cq?(/&гۇ>=g5}C l?(/&5}C lAl?(/&5}C lj`c lj`Pۇ~P^Lj` z`ʋC la=}Ǹ<Ƹ5=<Ƹ5}14}1CqjE;1ï(b!(b܇>Ƹ<Ƹ5=`"}1Cqj EPc܇>@>PĸnƸ5}1B1CqjEPc܇>y!Ƹ5}14}1.1Cq?qjPc܇~0/D>Ƹ5`1CqjPc%'b܇ 5}pC lAlj`ۇ>KN5}C l?y`Pۇ>y(qjߗ2&5=p3T5}C w?WwjP݇~0>>p515}C w?Wwj;ï(݇>p515}C w?wjP݇~0'>p515=}՗wjP݇=<w}Q(%'݇Geã3pQEh"1F1׷*>O>)݇GH)݇G{ wj"}xJ>< l[*]kRU` QU` Q@G|T-xGϏ؎u̶/1ߕc*|S>Ec؎-9K1_c!|A~|ֳx`; "u̶ݘ/1uc<}f{eܘ1rc,؂؂m@q8w18w;n0Eq8w;h+}ǁ| F` W----؂؂F`E` z` z` z`h @F` z` z`h/s3_U?7X z` z` z`;b---l؂؂؂.`=PZz` z` z`;V؂؂؂.y` z` z` z`h؂_@.k---1.k--h<=^ĸǸǸǸǸy+zq`S1.1.1.11ǸǸǸ.b\c\c\cżT z z zx 1`ĸWq*]nw1/9.%b\c\c\cżT z z zx 1.1`ĸǸyɩc\cżT z z zE ҂݂yɩv1'؂F` z`E` u -b^rSiAOiAKih#v0[{nA\s[[[[żT` z`;:ӳ!b\c\cżU z z znAnAnz`x ---b^*= lAlBT---1y!v1,؂؂؂.y` z`;-b^}*^[(*f[*]̫OQU` PQU`  U` QU` QߍGxT-xG.@؂؂G|T-xG؂G|T1U` Qy!< l#>< l#>v舏*v嘯g-|YU9-vo1_lG 9 rg=o1_x?혯g|ٍU73+c|͍%,gh+}ǁ|ǁ@q.ڎ}ǁ@qE[)8w;x ;n0[wx lAlAlAlAlv0([[[E{==-nGcxq#=-ƽE z z g<FE z z zhǸǸŸoHt`,z z z zh `伃.///=.ڋ `D1PDbz z z z{qou  Ow<===]{QE?X/U付G|A|A|A|<==w1G. "_#_#_#c |#TwGGGGyMw1I.5"_#_"scVx1+  x1/O]y z AAA{AAATA0A0A0Abo*=  x ȃ`ЃżU z g>O]"StAyAy? wAwAwAwBT.`|2.b z z zWqAqAqAqS1.1.1.11ǸǸǸǸyɩ+=]KNŸǸǸǸ@.ib\c\c\cHiAOiAUyO=hhv1/D͂͂͂.慨YУYУYУ(YУYУYУżU4 z4 z4 z4f?FJ jJ{qv1/D؂؂؂.@؂؂؂.慨[[[żU` z`;-b---b^*===] Q@؂؂؂.է[v1>؂؂؂.y` z` z` z`W lAlAlAlR---1؂.է[*b[h*jżT` PU` w~ȍ*< l9< l[H*]"=[*c#>< lS-xG؂G|T-xG؂G|T1U` Qgl|_|fr̗1_c)٢l|M%̘1l<g7 "u̶ݘ/1uc<}f{eܘ1rc,؂؂m@q8w18w;n0Eq8w;h+}ǁT%;qA߇+====] c\c\cq{ q_{Ot_wAwepppp;w?/9/9ppppw^A@wAwAw5ܽy=="===]#_#_#_#/&_H/sA0A0A0h+/ /蟌 z zx ///F ~Eh+GGG1GGG. ///1GGGGy/+z|hT///@F付磊|A[s^?v1oH.y;.շ w===]]]ż&U z z zפJtAOtAMtzx 1.1`ĸǸyުw1/D.@.慨b\c\bJtk{W`$b1.1.1.1b^}*===]"===]3TŸǸǸǸyɩw0b\c(b\c\c\cżT z z zיqAqAqAq<===]LŸǸ?X1.1b^g*===]<w13.1b\c\c\cc qAq#=]LŸU uQŸU QŸy<*q3.:>^8݇GT1.xIF uRŸ'U RŸߍGT1.xdJ.@GT1.xJGT11*U RŸyɩO==]УYУYo~K3p'cxOi=},h+ԔeG` z` z`h/ɸ=PDGGGz4 z4 -"]T҂)G,z4 z4 z4 z4h GGG.+,,,1GGGG z4;,u 좽͂͂͂.y4 z4 z4;좽͂͂͂.y4 z4 z4 z4wfYhv1;͂͂͂.y4 z4 z4;by*===][OEGGG@F4 ~ͧFfAfAfAfS,,b^}*===]̫OEGGG@͂F4 z4WfAfAfB*][PO(؂؂.؂؂؂.慨[[?v1,>hv0YУ(YУYУYУżT4 z4 z4 z4E4 z4 z4 z4fAfAfAfS,`DG=PDGGGyhhhhv13͂͂͂.y4 z4 z4 z4יfAfYУżT4 z4 z4 z4x ,,,b^g*===]cHEGGG@@F4 z4יfh<*fh}#]}>}A߇~@߇C!h#wAߝ;+====]ewsO0"_#_#_"$E{5ɸ21Gɸb'.ڋ ..`=Pbz z z zh/&.@.ڋ ..`bz z z zx ...F ~Eh/&bz z zx ..`bz z z zx ...bހ* w<U z z zx ..`yppppw1B.y;. w Qy!pp1rżE{V//b^*==nnAw#=]̓U-b^}*==l{nA[[żT` z` z` z`ǐ lAl#=]"===]O=Pyv13؂F` z`E` z` z` z`י lAlAlAl:S---1y+=]L@؂؂؂.u[[[gvWߘo1_|l͌7Kow޳6^}s1_k0q|5>8q☯1q8+q7/g9KŸǸE[?C!}x }>v!}>}.}A߇c ۇ"KT-xNl3ggggqxv zv zv;h2.))GGG@F4 z4 z4FfAfAfAf}EFJ zJ jJ{vўp@lAlAlAlv^L@l#==]"===][[lv[[[E{1=:v^L@lAlAlAl<==v^L@lAlAlAl<===]P?X-U` lAlAlAl<==v1OB؂؂؂.歧[[[c l#~Uz`---b^}*qAOiS z4 z4 z4WfAfAfAf<=hhv1>͂͂͂.Z z4 z4 z4 z4E4 z4 z4 z4יfAfAfAfR,`DG=PDGGGyhhhhvhhhhv1/.͂͂͂.ťYУfAf{fAfAfAfR,,,b^\*===]<hh/..ťYУhhv1/.͂͂͂.y4 z4 z4 z4fAfAfAfQ,,W_\*]<hhv0YУżT4  PEQU4 PEQy4{g^8><ʡfh<ꡊf:S1GG͂GT,xA͂GTwU4 PE=PDG U4 PE U4x tDB͂G$Tb^g*HY*HY*]<hv0Y*"}9m1_c+|Uy4̞&~,1_}cj3W:|&'|1ߐc |?>u׫;5"l|>-:Ktw蘯1lپ9s̷/g9KE[UNw'ݹx  vv' }w.ڪ}w;Aߝc%/Ϫ}FϪ===5ϗ+,,`D=PDGGG z4 z4 z4 z4x `DGG z4 z4 z4 z4h 籠籠`=P z z z zh ‚‚.@‚‚‚.+!,!,!` z z z zx !,!,!,!좽F ~Eh @‚‚Fho#w]͂͂.cz4 z4 z4 z47fYhv1A͂͂͂.y4 z4 z4;좽͂͂͂.YУYУYУc f#SwGGGGyɩhhhv1/9͂͂͂.%YУYУYУc fAf#=]KNEGGGyhhhhvhhhhv13͂͂͂.1YУfAf{fAfAfAf:S,,,b,,,b^g*===]LEG͂.@͂͂͂.uYУYУYУżT4 z4 z4 z4x ,,,b^g*=fAf:S,,,1G} hhv13͂͂͂.恣YУYУYУc fAf#=]̋KEU4 PEU4 Z t^g;]`DQU4 PEQU4 MPE@͂GS,x>͂GS,x?.~7OET4E4 z4 OET4 OE@GS,x?.uY*Y*c f#ħٟBDc/|]>m9rwGc>c͎71_{c|{ֳc{fn̗ݘ1_uc>2{nܘo1_rr[A[AqR@q8w;nw;7q8w;[}ǁ@qT?%OK|>E j{3eev0B(BXCXCXCE{===-D j{hhhv^A@fAfAfAf4˗xJ jJ{V{`;=؂؂؂.ڋ ---/&odݞ.s1.1.1.1Fh+ǸǸǸǸ@. 1`ĸ1Pĸz z z zx 1.1.J;qAZPY.cz z z zqb\w1L.y z z;1b*===]{SŸǸǸǸ@F ~ݩbFqAqAqAqT1.1.1b^*===]SŸǸǸǸ@@F zqAqAqAqT1.1.1.1b1.1.1.1b^*===]KŸǸ.@.էb\c\c\c(b\c\c\cżT z z Z{R.HtB*=]1#===]KNyɩppppw]]]żT z.%]]]c wAwAwAwS...bC*===]<ppw0]żT RQ"U -:bKNQ/U RQ0U  S@GT`Q2U -SQ3UxMGTb..xDMGT.xDM.QS5U w#jp< w#jp< w|]"]L%rM%pӥ[7.͇[5ta0yk=npJy;%ϗ>|C#>|Ç>>|h2g/CݝC\ۇ>Ԝs矃GG'>Ewă? ~2ė>Fו>F5<Ԝ5=`C wjPʋC wjP݇~P^Lj zPc܇~Ƹ5}1Ƹ5}1.1Ƹ5}1Cq?x 1CqjPcʋCqAq~yAy1y1CqjPciPc܇>515}C l?7l#}E`<E`Pۇ>@>̓P5}C l?wlj`Pۇ~H[ۇ_r:B߿Jĸ5}1Cq?פqjPc(b܇>Ƹ Qĸ5}1Cq?x } 1.1Cq?'qjPc܇~0>>Ƹ5`1CqjPc%'b܇>ƸcHĸ5=}1{ q}CMtj{. wjP݇>p=5}C w?wjP݇)KN$5=}1{ qjPc܇~0/9>Ƹ5`^r"}1Cqjc qjPc܇~0/9>w0b܇~0/9>Ƹ51Ƹ5}1Cq?qjPc܇~0'>Ƹ51Ƹ5=}11ã-QE{l;Ht9RĸG1#Iy%E"}xI><꤈q}RĸB)b~7RĸL)b@>*E"}1CM>x tG><⣈q?qQĸ(b܇G|1CqQĸ(b܇GPT1!b1ߗc.ٶwc1_c?D;o7ߘ/gf|7;Yo!b1_wlۍ]7ncgW|ύ-7KYR1.1.;nV ;}-}ǁ#]}ǁ@qR@q8w;nw`D8q͂͂͂͂.ky,yCavO}뢽V֏|&8_!1{{좽l͂͂͂.,,`D=PDGGGz4 z4 z4 z4h/G͂͂.@͂͂͂.,,`Dl剔ԔR,z` z` z` z`h ؂_@.+---1.+---1yשP-U`ǝ lAlAlAl<==v1<؂؂؂.歧[[[c l#)k#})-)+=] Qy!S7,b\cż&y=5ѽe.{ z;.b^*===]S=Pyyppppw17F z>DDDy!ww1/D.慨b\cqAq{qAqAqAqBT1.1.1.1b^*===]<w1>*=]̫OŸǸǸǸ@.էb\c\c\c/'݇GT1b^*"b\h**b\*]<:Ҥq#:b\*Bb#R<2q{qAq#T}X....VW//k{݂.cz;v ݂.+...FE z z zh z;..b...Fh '-1.11ǸǸǸǸ z;1.u 1.y z z;1.y z z zwqb\w1;.y z z;1by*===][OŸǸǸǸ@F ~ͧ>vѳ[?v1>؞?lUv zv(뇭[?v1/Di-1GG͂.էYУYУYУżT4 z4 z4 z4E4 z4 z4 z4fAfAfAfR,`DG=PDGGGyhhhhvhhhhv13͂͂͂.uYУfAf{fAfAfAf:S,,,b^g*===]<hhhhv13͂`EGyhhhhvȣYУYУYУżT4 z4 z4 z4ǐfAfAfAf<=hhv13͂GT,h_|3\hYȆ*h<ʡfh<ꡊfhvH*h<*f#h2{nܘo1_rrfAfAqR@q8w;nw;78w;[ڎk|c _}x p0Y!xÊfAfAfAfAfhhOO]"Ǟqe<<@F z zh/z z z;!b!,l‚.!,!,!,!좽lF z zE z z zh/.!,!,!,!1Z{c/{fOiAMi<==]<v0E{1====]<v1o@`WTb*===]<v0< U` z` z` z`w lAlAlAl<Pߍ؂؂؂.慨>v1/D͂͂͂.慨YУYУYУc fAf#=]̫OEGGGyhhhhvhhhhRZPS lAlAl=W=Ǹ.慨b\c\c\cżU z z zE z z z"qᅩ肞肚#==ppwppppw1I.5]]]c wAwAwAwT.V zפ wAwAwAw<===]̫Oydppppw]wAwS.xtH3>{>< w\pw1/DGT.xKGT.x4L.SGT.xLGTw4U IS=P5U QS5Ux tDMGTb^*]*==Pc#TpOlw7-0P7=Y,{v`Yس/ڛ A0A0A`=PɸGbz z z zx `DGGbz z z zh/&GGG.:_OF z zh/&bz<A0A0A / 00`Ëz< z< z< z[~--RŸQ#UqHfE7{nܘo1_rrqAqAqR@q8w;nw;7m_"/~K/- ꖼG|K˗}ςg1}F =[1.1.1.1.1FE z z zh ǸǸǸǸ@F z zh ǸǸǸǸ z z z;1b z` z` z`h  z`;--b)1/v^L@lAlAl#][[[c lAlAlAlv0[(E{1====]<v0E{1====]<v1o@`WTb*===]<v0< U` z` z` z`w lAlAlAl<Pߍ؂؂؂.慨[[żU` z` z` z`h _}v;n=ݭw1/9.%b\c\c\b!]{yAy<3{z uλ wAw#=]"===] Q=Py!pp2.慨]wAw{wAwAwAwBT...b^}*===]<ppppw1>`yppppw]]]żT z z zG wAwAwAw<=ppw1>@g^#F*n](*] QQ/U RQ0U  S@GT`Q2U -SQ3UxMGTb..xDMGT.xDM.QS5U w#Ippw1>GPT.xEGPT.xEF"8+m1_c|{f"7o3[3c|g7 "u̶ݘ/1uc<}f{e\}9_/8 Y]//p}>}.>}St݇yϿ2;Aߝ@ߝNw'sw`ĸN؝.1.1.1`ĸ=PĸǸǸǸz z z zx 1`ĸǸǸz z z zh/ǸǸǸ.@.1.1.1.1lF z zڂ>v^6@lAlAl#] [[[c lAlAlAlev0[(E{====]<[lev[[[żT`؂_=Py1[>Dv{W1`ĸyw1o=.y;1.wq====]KNŸǸǸyɩw^6@qAq:S11-`|-b^g*===]Lb,v z .uBXCXk aR!,!`=Pyvv13‚‚‚.uBXCaAa{aAaAaAa:S!,!,!,!b^g*===]<v13‚`yvCXCXCXCżT z z zǐ aAaAaAa<=vyϵ ><" aT!,x@‚G T!`QU =PQU MP@GT!`QU mPQU!,!,xd?.@‚‚GS!,x?‚GS!1T Oy|{|T4 z4 \U}w;Aߝ@;A۝?Ji#]2._|2._ ]e/v˗N}'1}'F` N\----؂؂F`E` z` z` z`h/&@F` z` z`h/&bz` z` z`;b---؂؂؂.ڋ `=Pb/&.ڋ ---1ߍF` ~E`h/&@_y` z`;؂؂؂.y` z` z` z`7 l[v1A؂؂؂ @>hv0E{====]MEGGG@F4 ~FfAfAfAfS,,b^r*===]WУYУYУYУc fAf#=]̋KEGGGyqhhhhvhhhhv1/.͂͂͂.恣YУfAf{fAfAfAfR,,,b,,,b^\*===]̋KEG͂.@͂͂͂.ťYУYУYУżT4 z4 z4 z4x ,,,b^\*=fAffAfAfAf<===]̋KEGGGyhhhhvȣYУfAfϗL5RڇG/T,xC͂G3T,xTC.uY(*vYУYH*=]<:Rf#ڧY}*⧢#h``2C VjPՇ޿>Ըƭ5nl<Ըƭ5n`qC[jPC[jPVC[jPև~Hև>Ըƭ>:Pև>Ըƭ<Ҹƭ5n=nl<Ըƭ5n}q4n}qC[jD:qï(&և>Ըƭ<Ҹƭ5n=n`n"n}qC[jDPև>Ը@>;NĭnԸƭ5n}qqC[jDPև>Ըyɉƭ5n}q4n}q+/[jDPև>Ըyɉŭ[>I,BXC؇>̫O5}!C a?Gaj zPC@>5W5}ywܣ*ه>hEo5=O<}C l?(><}C lj`D`Pۇ>y5}4}C lj`D`Plj`D`Pۇ>@>5`^}"}C lj`@>\mY(ۇG]ã/QE`E`"}xtF>@G|#>y!E`"}xG><l?x tG>< l/Ec|> 8 pߘ1~lXc|{fkfޘo1_zc,|Xcٶe7nWݘl57[n̗ܳ[[wܢw;[<W?b%G `ĸA߇C!p}xV{{VGx s0]w'x wAwAwAwAwpppwP/F传ߚ|A|A|}]ͯ_PWA0A= ˃`Ѓ`ЃE{]===Si?h(GGG.@]]]E{1=pppwppppw^L@wAwAw#]]]]c wAwAwAwpw0](E{1====]<pppw0E{1====]<ppppw1o@`WTb*===]<pppw0< U z z zw wAwAwAw<pPߍ.z!:dԜy"A|#=5=     xȃ`Ѓy z AAABTA0v_P@.-"_#_#_#_@GT1.xTIGT11Б&U;1.xIGT1.xJ.~7RŸ)UE z RŸ*U RŸ@G|T1b^g*b\*b\c\*b\*V#8+m1_c|{f"7o3[3c|ҫ+t7`+znߎc,1_l3b8kqgs>"1ߞc<|"E[UNv\/uS7W w,{= }.Z}ςgA۳}伋2'`Dd.br9D z j{!'.s z z zh+缠/.1. ...FE z z zh+z;..b...Fh+@. `1Pz z z zx ..`z z z zx ...bދ* w<U z Z{~]9y}oF!<5U z z z AAA< [Rߍ/5__?w1FI缠缠b^*===]<ppw0]pw1>GT.xTKGT.xK.]*~](*==]<:Ҥ w#:]T RߍGyT.xGF z QU Q@GPT`yp< w#(p< wAw#p<" w#p~Əpwwg|7-pwWߘo1_|l͌7Kow޳7ޘ/w3vc|׍1sc|ˍ{T` z` [}ǁ@q@@qfmǁ@q8wܢw;[<7!,;GT.xKGT.x4L.SGT.xLGTw4U IS=P5U QS5Ux tDMGTb^g*]*]*]<: w#jp 1߁c8oߘog~,1_}c|=vW2]߂WxϦKM:"5̶/1ߡcB<~fj瘯1ߞc<,K*^Fu^*}.c}ςg#^= }ςgA߳@۳O?Aɋ#4}'Nx^L@AA#4^"4=4=4=4^OƠƠƠƋ@Fh zh zhh/&Ơ.蟢 z<|*uK^Bゾ;#]uw޿2Ot#}ςgmgA߳Y1wA߳g+====]W]]w{wAwAwAwppppwwAwAwppppw^A@wAwAw#]"===]W]]]E{=pppwppppw^A@wAwAw#]W]]]c wppw^A@w#"]W]]]c wAwAw#] ]]]{yAy"=qTɸWTd\[[󏷲[Pcߌb*==wT.W_*=]<w0b\oI.~7z z z zפqAqAqnT1.1.1.1.y z;1.1b^}*===]̫OŸǸǸǸ=PĸǸǸǸyw1,F zE z z zWqAqAqAq{qAqAqAqS1.1.1.1b^}*-ƽDD2]]]]żU z z z wAwAwAw<===] Q?X.b^*===]<ppppw1/D.]?9'#1.慨]h*j]*rżU R/U S0Ux tdLF %S2U 5SߍGT.xdJ.@GT.xJGTQrGYbD6)51H# H jZ<wN*żT AQU AQUx tEGPT_1_l7o̷3[~pwWߘo1_|l͌7Kow޳7ޘ/E;m1_vc/1yɶO|%F*=}.}A߇c ߇C`ĸA߇C!p}>}.>}[[[[E{/.@؂؂؂.---1؂؂.---l֗ [l{lAlAlAlv^+@l#==]"===] [[l]1fGqAqAqew0b\(bE{====]<w0bE{===[t,_Ev zv jv{۷#?=|%r*==q2Uߌ 7͸.I[[[ż U` z` z` z`x `O|*]mv1>؂؂.է[[[żT` z` z` z`x -`yv1>؂؂؂.@؂؂؂.է[[[hvޣYУfAfS,xB͂G1T,x4C͂G5Tb^g*rYh*zY*]<:f#Y*f#h<f{fAf#h<"f#hv舄*HżT4 PE U4 PE U4x tDB͂G$쟟Ϝb1[9eBL'tYb+1]n5Ycb&1ݒ.5YIHL7$ ֳvt9y`j\f<yv鶼~Mzviv& t{bPweU=PwCݝuw~Hw'CݝC lj`Pۇ~Q^6j`Pۇ؂~5}e5}C lx -C l= #}1CqjPc/+CqjPc\c/@>Ƹ5<Ƹ5}1ƸǸ5}1{ qjPc܇~Q^AjPc܇~Q^AjPc܇m51f5}C l( 5=}s -7g5=׌Ǹ5}1CqAq( 5}1Cqjc ܇>f_kC ln@~1;>hF51F5},@5})GD5}C lj`c lAl'/6j`Pۇ>y5b^}"}C lj`żD`Pۇ>@>_̫O5}C lWlj`Pۇ~Sۇ>_̫O5}C lGlZ`{=njvE{>Ƹ5b^}"}1Cqjc܇>Ƹ_̫Oĸ5}1CqWqj zPc/@>Ƹ5b^}"}1CqjżDPc܇>@>Ƹ5b^}"}1`ĸ5b^}"}1Cqjc qjPc܇~1/9>Ƹ5?'~ﵽt$5}11CqAqjżD"}1(b܇Ga11ã2E("}xF~ȍ"=}xG><ꢈq%Qĸ_m옯1|cٚ7[o̗ޘg=o1_xhv]}"~?!;0>Ob8kqg|'J]5y{qAqAߝ@ߝNw'sw'91Nw' \U}w;Aߝ@;#}wv^A@lAlAl#]lA[УYУE{===l<o==]WCXCXCXCE{===vCXCXCXCE{====] CaAaAa{aAaAaAaev0BE{====]<v^6@a#"] CXCXCXCc aAaAa#] CXCXCXCc aAaAaAaVS!+z a`S!,!,!,!1.BXCXCXBdQy,yuhhhvӣfT4,,,b^g*==]LE1PDGyhhhhvȣYУfAf:S,,,b^g*===]"R,b^g*===]cHEG͂.@͂͂͂.uYУYУYТ{GJ;)-c7Ayɩo=]KN},`DG=PDGGGyɩhhhhv1/9͂͂͂.y4 z4 z4 z4fAf?X,b^r*===]<hhhhv1/9͂͂͞$>hhhhvȣYУfAfS,xB͂G1T,x4C͂G5Tb^}*rYh*zY*]<:f#=]m<ڠfhv*(YУY*Y*]<:Ÿf#hv1/9͂GS,x?͂GS,x?.OET4yhvwg|7?_}L)m~o1_l% 9 r㳞ŷ-}dc0. cD| 1ߟc>|{|T4 z4 \U}w;Aߝ@;Aߝfmw;AߝNw碭*w' \<9,RV` z` z` z`h .+---,y` z` z` z`h ؂?@.+---1.---5yש؂?=Pz` z` z` z`x --ދ{ɤ[пvlT`---b^r*==]KNyɩv[A l?y<=?.=y!ppppwppppw1/D.A]wAw{wAwAwAwBT...vE jc\cżU z z zqAq#=]"===]̓UŸǸǸŸD\P.ɪ]]]żU z wAwBT...1y!pp}߁{yppppw]wAwT.x4KGT.xtKGTb^*"]h**]*]<:Ҥ w#=] QU zxGGzTb..xGG|T.xG.QU w#>p< w#>p< w]*Fc|> 8 pߘ1~l},vWߘo1_|l͌7Kow޳Rm'|DwW3یc|/Z1߉c|#BHw^J>hv1!͂͂͂.y4 z4;,b^g*^Y(*fY*]LEQU4 PEQU4 PE@G,T`DQU4 mPEQU4xB͂G"Tb,,x?͂GS,5T4 OET4יf#h<Ÿf#h<ŸfY*D4;;pW3ۀc|̖"7o3[3c|WnO_2?q̗"6/1ߋc<}f;hw☯1߈c,ǂǞJ"~T4 #FG= ]<= ڞd}==#}'A?Y$2ߠo7{7{0]7xJtA]пqȳE{]===vv^W@lAlAlAl<v^W@lAl?uv^W@lAlAl#]"===][[[E{]=vv^W@lAlAl#][[[c lAlAlAluv0[(E{]====]<v0E{1====]<v1E~[v1F؂؂؂.y` z` z`;b*===]̻P@F` }FlAlAlAlv1/9؂؂؂.u[[[c lAl#=]̋Kyqvv6X--u8w1!F zE z z zיqAqAqAq{qAqAqAq:S1.1.1.1b^g*=ww13.ub\c\c\cc qAqAqAq:S1.1+=]LŸǸǸǸ@wיA|#}1.1bN*===]<w0b\cżT RŸQ"U /9GT1b^r*"b\h**b\*]<:rq#b\h*b%b\H*]"==]KNŸǸ Ux tDBGT1b^r*b\H|*b\y*]<:bq#Q6b1߁c8oߘog>11|cٚ7f[>O*MnOܾ|9~,b1_l3b8kqcg|'J8 YR1.U᢭!}xrvQƼ~W` }w7.}w;AߝE[UNw'hy_#g#}ςǞhhhhhvUУYУYУf{fAfAfAfhhhhvȣfAfAfhhhhv^A@fAfAf#]"===]WУYУYУYУE{=hhhvhhhh^҂҂Ҟ3lv[[[E{1=9vzV[[[c lAlAl#]W[[[c lAlAlAlT+z lT---1.晧[[[żT` z` z` z`x `O|*]mQ-b\c\c\c.էb\cqAq{qAqAqAqS1.1.1.1bw*===]<wc\cV zqAqAqAq<==-=W|_"}1.1.1bY*===]<w0b\cżT RŸQ"U -RŸQ#UWqH<YV ꖼ~V }w.c}w;#] }w;Aߝ@ߝNw'sw`N؝؂؂؂؂.+--`=P z` z` z` z`x `Z`{n?#=]Wc\c\cq{qAqAqAqw^A@q#==]"==lo-/Gv(o#oqAqAqAq ?DDwCɂ.y z z;.y z z z w?X.UG wAwAwAw<==pw1OB.]]]]c w#>To3..ߌh/&ǸǸ_}w0b\c\c\cżT z Z{~DwQƼ>ST Z{99BDyMw1I]y;///b^*===]MEG.@-缠缠b^*==pw0]]]żU z z z wAw#=]"===] Qy!ppppw]]]żT z wAwS...1'n^`ydppppw]wAwS.x4KGT.xtKGTb^}*z]*==.c#Mpw0]*>](*]m<" w#Spwpppw1>G|T.xGG|T.xG.]*]*c#>p<wg@LWl@L [7.͇[皉ϰ.Cw ]5YnGL㘇5ٌ.FL"kpwMv;ӕFt!,>p~DCݒuK^#}ǘ;|h9#g}GНEYu'?ԝPwC_<ҝ zPwc'GP? _? _<~AC jEy1yAC jP/i zPQ^L7>F5oƸ51Ƹ5}1.1Ƹ5}1Cqx 1CqjPc/ (bq@~1A>Ƹ51Ƹ5}1.11CqjPc/'b܇>Ƹ_<O|"oƸ5}1CqqjD zPc܇>ry1Cq1qM$-#wK~Dc/%'b܇>Ƹ_KNĸ5}1ÿ4=}1CqjżDPc܇>y8Ƹ4}1{ qjPc܇~1/9>ƸƸ5}11CqjPc/%'b܇>=Ǹ5}1CqqjPc܇~1/9>Ƹ51Ƹ5}1Cqqj;1CqqjPc܇~Hc܇㞟us~1>>Ƹ5bY"}1Cqjc qj zPc/'b܇G1ãD"E"b^}"}xI>a'|E91ߎc?1g|1^813Ac|%F,g}h}>}|A߇.>}A߇E[?C!}x pPCOccKF{!],,,좽l͂͂F4E4 z4 z4 z4h/GGGG@F4 z4 z4h/GGGGz4 z4 z4;b,,,좽l͂͂͂.<==]"===] УYУYУfehhhhvȣYУYУYУE{=h9hv^+@fAfAfAf<==hv^+}===]<hhhhv񟷚St\-bw*===]<!b\>b\c\cżT z z zx 1`ĸO|*]mw1>.էb\c\c\cżT z ZnzJ;)Ry -[[EYAlAlAlAl{lAlAlAlS---bY*==Pyvv1>؂؂؂.է[lAl{lAlAlAlS-h"=][й"===]̓UŸǸǸǸy!.慨b\c\c\cc q_}ׯHtzפqAqAqAqxS1.1.1.11ǸǸ.fS1.xtHGT1.xHGT1b^*"b\*Ҩb\h*]<:rq#b\h*b#<<ңq{qAq#><⣊q#>w舏*bżT QŸU QŸUx tGGfT1b11_l7o̷3[~wWߘo1_|l͌7Kow޳7ޘ/E`;m1_vc|Սy`ʘ1_sc|=Y*=}-J}ǁvn?p!}81C!}>\>}A߇@[iA߇[iAlAlAlAleM-;2b>b\c\c\cE{====]<w0b\c\cE{====]Wc\c\cq{qAqAq˞螿]#====]wAwAw{wAwAwAwpppw0E{pppw]]]E{=p9pw^6@wAwAwAw<==pw^6}===]<ppppw1:~*]NŸǸŸ"DZ͸͸yw1B.y;1.q===-ƽwx{ppp?9.5"_#_#_#c |A|rzλפf\]]ż&U z z zE z z zWyppw0]_.慨]]](]]]^9f"==] QEG.@.慨"_пEw1/D.y z z z wAw?X.b^*===]@YݺןY>ppw1I.]]]c wAw#=]kR,U R-U Ry!p< w_p< wapwȘ*p zR 7F<E< z< z< z 8 pߘ1~l},1_}c~VҘ1ߐc |?> ݙ?/ҏE`;km1_cC|y`՘1_c=|y>,nAv};5,{= ]<= }Fh{= }ςgmgA߳Y1aA۳ocm<},,좽͂͂F4E4 z4 z4 z4h/&GGGG@F4 z4 z4h/&GGGGbz4 z4 z4;b,,,좽͂͂͂.ڋ `DGG=PDGGGbz4 z4 z4;좽͂͂͂.y4 z4 z4 z4hO8G͂?@.+,,,1GGG.+,,,1GGGEgHiAOi?)Y[<U` z` z` z`x --`yv1o=؂؂؂.y`;-7 l====]KNyɩv1/9؂؂؂.y` z`;-b^r*===]̛M=Pyv1!؂F` z`E` z` z` z`י lAlAlAl{lAlAlAl:S---b^g*=vv13؂؂؂.u[[[c lK[y؂.u[[/_#}---b^r*===]I}ɩv[lAlfS-xE؂G]T-xE؂GaTb^g*ʨ[żT` י l# < l <ڠ lv*D([[*[*]<:Ÿ l#v13؂GS-x?؂GS-x?.O'>1_l7o̷3[~vV_}}'|I>4+r7-It7/ҏE`;km1_cC|y`w>b1ߴchٞXef}.Z}ςgA۳n1u^*}'Fh; N}'mAɠdw1qA౓+[iAlAlAlv0([[[E{1====]<v0[[E{1====][[l{lAlAlAlv^L@l#==]"=-?Dvh(fGqAq#]c\c\c\cc qAqAqAqw0b\(bE{1====]<w0bE{1===-ƽDDD#]пv1oK~*]SŸǸǸǸ@F'qAqAqAq.T1.1.1.11Ǹ?}wc\c\c\cżT z zqAqAqAqS1.1.1.11ǸǸ.%b\c\c\cżT z z zE z z zqAqAqAqpR1.1`ĸǸ=PĸǸǸǸyɩww1/9.%b\cqAq{qAqAqAqS1.1.1.1bl*===]<w13~b\cżT Z{=kw$_<w1/9.扤b\c\c\cc qAq#=]LŸ!U %RŸ"U 5RŸy<:q4wH*<*q#2{nܘo1_rr aAaAqR@q8w;nv\G|Fh}>}mA߇C1aA߇+====] CXCXCA aWǂǞ"==] УYУYУYУc f#==] УYУYУYУE{===hvhhhhv^6@fˑ҂Ҟ#]WlAlAl{lAlA[SE{lAfAf#]WУYУYУYУc fAfAf_}X Уfcfehhhh'RZPSOlAl#]W[[[пvSZпhPEGh*]CPEGGG@͂͂F4'fAfAfAf.T,,,+fUJ jJ{U-ӷ l====]kRyM-܍_5.yb\cqAqT1.1.1.1b^*===]"===]̻QŸǸǸǸyw0b\c(b\c\c\cżU z z zE z z zqAqAqAqBT1.1`ĸǸ=PĸǸǸǸyw1>.y z z zWqAq?X1.1b^}<=?@^#}11ǸǸǸǸy w1,.y z;1.1b^}*b\(*b\*]̫OŸQ$U MRŸQ%U ]RŸ@GT1`ĸQ'U }RŸQ(UxDJGT1b1.1.xJGT1.xJ.y z QŸy<⣊q#><⣊q#>w舏*b[lĸc|>S1_c)sQsG;gw3[_cN|2]gM:fw.}cp|ߎ 1ߵcj|ӎ}T z ]}ςgA߳@gA߳|mςgA߳Y좭5,{= ]<=;/{Tg wAwAwAw~S...{ .v;1.wq====]KNŸǸǸyɩo==]KN@؂F` z` lAlAlAlS---b---b^r*===]I؂.@؂؂؂.%[[[([[[żT` z` z` z`י lAl#=]"===];Lyqv[[[żT` z` lAlyq9ׅ/ۇ؂.湨[[[żT` z` z` z`ǐ lAlAlAl<=v13؂G[T-xE؂؂G4T-xdCF` z` 9Py< l# < l#=]LT` z`xD?؂GSb--x?؂GS-x?.OT`י l#<Ÿ l#<Ÿ l["?#tb[~Bw%f&ͳ[LW*z3yv{έ͋tɄn]Lg5ٸ.\L-vMvUtѮ,>/Z{{هg1هg=هg}{/Z{{هg1YPOnƸ5}1Cq(/&5}1CqAqyPc܇>bPc܇>Ƹ_<Ƹ5<Ƹ5}1Ƹ5}1.1{ ݇>_>5<qyJPه>hbPه>ȣ/ʋCfj4Pه~Hه>hF_W͂>9h Pه>hF_<hFW_-iv{1Ƹ5}1Cq(+5O1Ƹ_<Ƹ#Oĸ_3Oĸ5}1CqqjPc܇~Hc\c܇?}>Ƹ5b^}"}1CqWqjPc܇~1>>Ƹ51Ƹ5=}h1#}CMtuC wWwjP݇~p5}C wjP/%݇>p=5}C wWwjP݇~5}C wWwjP݇~1>>pp_<}C wjżDP݇>pyp5}4}C wjżDPwZ{~T˽>pDP݇>pyp5}BC wjP/$݇>p_<p5b^r"}x4K><wj"}xG><*wjżDȇ"}xD><wAwQ(݇GI(݇GN{ wj"}xE><wx tE><wwAQ(݇GP#(p@GP#p?"X<'t1-lYAtV}fKcJ= ;]]]]E{1===pwppppw^L@wAwAwAw<pppw^L@wAwAwAwpppw0(]]]E{1====]wAwAw{wA w.;ٱ"_#_#{h+GGGEHAOAM/ A`1Pz z z zx A0A0hAHuo}9Cw9#r^s^PswGDy[?4z付G|A|A|A|<==w#_#_#_#ż U z z zx `DO|*]mw1>.է"_#_#_#żT z z zx /`D~S9/9CwAwS...b...b^}*===]#K.@.է]]].է]]]żT z;.b...b^}*===]Nv0]]]c wAwAwAwfS.==~{-7rއ.y z z z wAwAwAwS...1.u]h*=]<p< w#1pw0]]]h*z]*]<: w#]*#p< w{wAw#p<" w#pw舄*HżT P U P Ux tDBG$Twc|>qw~ ߕc7O|fcw|>5t̷/1ߥzߤcHfrG; w혯1g|׎M;YR1.1.{v{= }.}ςg#]= }ςgA߳@߳Y,{v`ĸYس.+1.1.1`ĸ=PĸǸǸǸ z z z zx 1`ĸǸǸ z z z zh ǸǸǸ.@.+1.1.1.1F z zE 肞݂.+--` z` z` z` .yJ ͂.`D1PDz4 z4 z4 z4x ,,`Dz4 z4 z4 z4x y,y,v zh/*]L@‚‚F aAaAaAaR!,!,!,!1‚?}ovCXCXCXCżT z z aAaAaAaR!,!,!,!1‚.r^p+=5.uYУYУYУ(YУYУYУżT4 z4 z4 z4ǐfAf#=]"===]LEGGG=PDGGGyhhhhv13͂F4 z4E4 z4 z4 z4יfAfAfAf:S,,,"====]LEEgA_KNEGGG@͂͂͂.%YУYУYE4 z4 z4 z4 z4x ,`DGyɩhHi|Fט1ߦcL|>Y|"XcFs~"zhṿg|׎M;YR,,{v{= }.}ςg#]= }ςgA߳@߳Y,{v`DYس͂͂͂͂.+,,`D=PDGGG z4 z4 z4 z4x `DGG z4 z4 z4 z4h GGG.@͂͂͂.+,,,좽F4 z4 z4E4 z4 z4 z4h GGG.+,,,?:?WJ zJ jJ{EE{=1z`h @؂؂F`h @؂؂؂.++z l`S---1.[[[E{====]<v0[o3.6z` z` z` z`י lAlAl:S---b^g*===]<v0[żTJ zJ q b^g*===]"===]LEGGGy hhvP.^/9.%[[[([[[żT` z` z` z` lAl#=]"=KNyɩv1/9؂؂؂.y` z` z` z`%l?j?a#}b^r*===]<v1/9؂؂؂.[[[c lAl#=]KNU` QU` )P؂G T-x@؂GT-x4A.YP؂GT-xT@؂GSoT` O=PT` OT`x t?؂GSb^r*[*[*]<:Ÿ l#Ͽ\>Of.%Ɲ:{uogT?혯1ߨcPu:t̗g=o1_v>:n<}fmw혯1ߴch,؂؂gmgA߳Y1Y,{v0E۳Y,{=hk = }ςg|F` =[----؂؂F`E` z` z` z`ho#@F` z` z`h  z` Z`{~XvгBŸǸǸǸǸbz z z zh/&Ǹ.@.ڋ 1.1.1`ĸbz z Z{v&݂=#. `E{]-ܽmF z j{w0"E{====]<S_b@|A|A|%?=PEy4w#_#_#||T///Ā"_#_#c |#>ToGGGGy!w1/D.慨"_#_#_#c |A|#=] QEG@.慨"_#_#_#("_#_#_#żU z z z付|A|qAy{f\]U wAwAwAw{wAwAwAwS...b^}*=ppwppppw1>.է]]]c wAwAwAw/~_u$w]żT z z zx ...b^g*===]cH@F zי wAwAwAw](*]LQU QQU Q@GnT`QU uQQUxDGNTb..xEGPT.xE.AQUי w#(p< w#(p< w]*<7>$OZ+lU?X$c<w|>5t̷/1ߥzߤcH?gE|:13Wc?|},gݹh }w;|w;Aߝ.}w;AߝE[UNw'ݹx s0b\w'xΊqAqAqAqAqew0b(b\c\c\cE{====]<w0b\c\cE{====] c\пv0vY-1bE{====]WcAqՑ肚#====]]]w}==[tAc?<5}F` E`h 3.)-)-ߌx ,,h燧؂<5wO}]===]cV @.yb\c\c\cc qAqAq#]̓PŸǸǸǸywcqU1.1.1.1b^*==] QŸǸǸǸy!wc\cqAqBT1.1.1.1b^*===]"===] QŸǸǸǸyw0b\c(b\c\c\cżU z z zE z z zqAqAqAqS1.1`ĸǸ=PĸǸǸǸyɩw71b\c\c\cc qAqAqAqϿw^DǸw1>.y z z zWqAqAqAqR1.1.1.11ǸǸ.ub\*b\c\*bqAq#w13G>T1.xDGBT1`ĸQU QŸQUxDGNT1b1.1.xEGPT1.xE.AQŸUיq#(Җ[l˭~Am`}-ܺ5RV^F"}EXae`}-‚ ",苰7mE[cA]]ei`Y?|4 ,K/YЗfA_=XiK/͂4 O[}iYЗf.K/,K>miYЗfA_=XiK/͂4 ~AeiYЗfA_=XiK/͂4 $K[}i6XfA_=/,͂4 ,K>miYЗfA_=/Hf{Y}U_lA_}[lg}ڂ-, C*Ү?` -  O3_uv|e܃٤ 2.˸/\.ȗqA[^C+/ԖqA_}e܃2.˸/ゾ{>ԖqA_}e܃ 2.˸/\.ȗqoe\Зqg2.!e\pDj˸ಋԖqe-&e\pHj˸ಓԖqe+-^R[=\вԖqe\2.'e\pPj˸:.KJm\֔2~Aee\pYTj˸ನԖqeQ-\.hYTj˸ನԖqg2.,*e\pYTj˸ನԖqeQ-\.hYTj˸ನTqߞ}{ crwcr2.>L|mw=Lozk;7/bv+=vN=szcmq6]]Mo?1}צTLou}6Vu!xP/ڠg>;AϾp }vPﳠ/Pzg>B }vPﳃz , z\e!xPu!xPu!2ԅA]ԅ`_/u!xPu!2ԅA]ԅA]~rA B.B e3 <`;/ʠ..~A;K;K/9ʠ.. evP|A_%A]}a _%A]%dP|uwP|A_}L6uwP|uwP|_\.. e1K.~Z.ȗ|_(A]%A]%.K;K/P&;K;K/\.H|mwƲ;[6A]BzeMxPׄ\_EEwPWuy<<Ã< SMeyxPuyxP_(, 𠾋  ҅`?gB :B.B.>Su!xP_X) < OYԅA]ԅ.  B.>Su!xPu!Y< < / < OYԅA]ԅ'YB.< / < OYԅA[5]^5A]5gB.B.>CTu!|ӅA} A]%A]}a}:. 3DeqwPwuqwPw_\-u;/&A] A]}a}6,. A]A]}a}6,. 7eqwPwuqwPw_\..苻 QY\vವTw;l.grಽTw;l0e,pe,;/eA, :.GeqwpY2*/䋻;,e,. Eeq- EeqwpY(*/e,. EeqwpY(*BQY}rABQY\ptqzg,C.ne1UN9f7>d1I-)Ș!c~q__~BpocvM4f{]']=fkc~6f7cew{0ڒ/v  ={2={2`Y=hdɠߓA'~O>h@ɠߓA'~O>\ߓe{2ܓے/K/;oeC/ /, m4B0 /|&1/ B0  `Y}!6s}!`A_>hWeM5ᠯ 0à/< AĀ< 0à/I < 0aЗA_}yMb@_}y`Y>hЗA_myx\Ve\ˢ1h?>]?//%2})Mm@_J})dЗ.Kɠ/%,KmjR2Kɠ/%|p _J}ڢ均?\ˢ STwaЗA_>\/< p,OaaЗA_}y`}n-< 0 `Y?< 0à/&aЗA_>XMjà/< lR[}yaЗ.à/0ImyaЗA_>/< 0aЗA_}y`}-< 02my`Y}y`< 0à/aЗA}7A_>/ׄ}!`g}B0 /|>A_` * / BO[}!`g}B0 /|ZE&< /OY`l /䴅`A_}!rA B0 /䴅`A_}!`}- B0  `e! B0 eǩ-˖S[>Xi eש-˶S[}|p _}!8Xe-.S[}!o% .kJm!` B0,`pY>j |.,`pY>j 3m!\B0,`pY>j |.,`pY>W?sЛ5nӛzm~ce8ߘ}c~[]o1XXY-w1~m{mo1F;V/Kgm ,Yﳠg.YﳠgegAς~> }@ς~> }rA~ %_ﳠ/ї|A_|A_=hSwA_}q7Xw */ A .苻/\.weq]w]wA_}qMA@'_WtA_ w=/,ゾ 2.˸m 2.˸/ゾ{Ц /2.˸/TqA[]#肺eH[mq'ק%o, K-ߙo߃/& {Ц+/.i{Ц+/ .苻 ]wA_ ݃6]}q]vA{p _}q]wmq/OA_}e܃2.˸/24O[}]/e\ЗqA_}rA,˸O[=їqA_}e܃Y 2.˸>me\ЗqA_=Xi˸/ゾ 2|e`Y}`}֧-ゾ 2.˸>me\ЗqA_=/,ゾ 2.˸>me\ЗqA_=Xdeܵ3ʊmq://K/&%_З|A_}` /K/&%_З|A_}`}6-,K/K?7_}UY}!`A_>XMj / BC ^j_`A_>X!j /?A_>X!j / B|!`A_>X!j / BL[}!`. /B0 3Dm!`A_>\/ˊR[u, ಑e'-VR[|pe5-B0l'`pOj ಡu\B0)B0 ನeQ-ˢR[>\вeQ-`pYTj ನeQ-ˢR[>\вeQn!i_-/c~eo1WV;(+1M.ݒb~rY:.KcNce71&{ho1_U1}X /΃v {'΃{'`Y=hN;Aw~Ӗ|A_}%߃Y /K/T|A_}%߃Y /K/Owweqw=/.˸/ゾ{>ӖqA_}e܃2.˸/ゾ{>ӖqA_}e܃Y 2n,ゾ{_Py]nF|=(e\ЗqA_}-2.˸-g/ゾ 2.˸>me2.˸>me\ЗqA_=\/ゾ 2.˸>me\ЗqA_=Xdi˸/ゾ 2|e`Y}`}֧-ゾ .EmrA~Q[ {>Ӗqe˨-˞Q[M 2.,e\pY!j˸ .[Dm\2.le܃oe .Dm` 2.,e\pY(j˸PԖq.,e\pY(j˸39m\2.,e\pY(j˸PԖq.,e\pY(e/_M//_|~_ޟ/_| fmQۧy[򽯾}_ZmO'o/su/Ul_-k~oﷱoT}ϡ}9_9߾<X?oA}}<u}f9\z?<'Ƿۂ ?OZ ~>~ܿ/řϜ$E̓"I&EXc%?b1Ϗ3=?@#XXeanZ엠_Bг=k5wg%%@O (X=@O`I `в`IST=Ulz** ,z*J Z=`0=U%U@OST T=U@O`IST T=U@OReЀ14k~U,v֯Z/hͥhDxZVVhig\wV ,izZV-K.KhjD폦OOW*_g%b\r32ىd'iXIU걖VizZKZ>},dN$h zh-e  =@O`I =%@O (X=%@O he0Z[.KRz.K.K,z.> j=%@O  jFoU4R =@O+Ч@2} @O@9h=`֟}гQP栧 T 1)YzKր5O00-U_VVb>y~Z-k%k@г&XmmxdT T=U@O`IST0d YzKր5gMPfL4vǤ$P$ )Ѓ-k@г&X=k%k@г =k)P\M8 zK@' ,S Ч@Oe z** h5`}f đ)s% zK@Ok@Kր5gMd Yz9Z50oMfZ#WLk8r3&P ia@1`;N`b5Ny8 =555@ fPԬԬ=k5k5k5k@ϚA͚A˚cg* 4Ч5555g͠f͠f ӚA j*OPf z j=kYh*FW\\5ӈگjj <utijx =555@ϰAͰA03l2l4=@dҠN@ϰA. t)XjPjP ԴԴԴ=55@OAMAKуk}+66#'FVwgA}ѠN=>-^r)\zRs)O0a@=@O (X=@#F#KKz.K.KN@ z@@' zKo[0G.޶#%@%s)蓝A z@ΠNvudgST dgP';Nv@ zR"#oE0GtjR엠_B#X=?%?@ zh} 4IzR'I`K Г=)@O Вb5X[~8#%)Рxs-8 |]K* AsIJR=Zω08gc%kb51Ϛuг=k%k@г&X&;Ov@O`IST=U%U@KwfElYZ엠_&U4~U<@ϥ`%'FO%@O (X=@O[@'P$ zK@' , zmYn#6 ,SЧ*g Y,Yzր55g Y,Yzրmsb#%9rܖ#-@%s)xs"jVOkeZz.K2}ZzK@O`E8,]X"=@OaV( ic%vb>y}, LL`@'E$x3&GJ~Gz~=?@Ϗ`c!y?* zK*OkWLk8pfZг&X=k%k@г&X}Z&XRi Ӛ[~GLk@ 'E$IzR&0/d#%?@fÑ L\M`8r3O`ez~oH=G -kDcgLJK@'P Y,'0 ,z** ,z*J zU=?@Ϗ`hI9Q~8zK*iYгy'z'4 -k/$P$ Za_|%riQ;qħ@/=r \=%@%s)xNhy'4xZ7#WVVhig\wV2 %x5+t)XKͻqll'zKl'ۃ-@O6'Q2=@03,X2 =Â%@0]r]8bqv3 o5#7#e$ =޿XɰgX3챒a1ϰgc%ba1ϰZag,z> )iZZ_j }b(X }b,m,) , ޼f#7ɑ21-K0/%z% zK7{rL@.@iW@K4KzGn^7Z \}jz =%@D> =k@г&X=klYzր55g YzKր5+8a޼n(G2 ޼n#7ʑKO@ZK@k8baTṄi.aK1%Ls \y.aK=y. j. j. Z.G4\IAM+jPjPVO555@ϥAͥA%siPsiPs \\\\=/ri\G<ub4 v'Р&Р&Р&P$Р&Р& 4x@sDgC, 4x@s"8 4x@s"8r@s"&x sDhh>%siPsiPs \\\=555@ϥAͥAͥ`ɥAͥA%siPsiPsi⍮9rFs"EZq&戦EZqjPj"EZq-[203lP3l"M}u5i,izZVVi,izZVUizZ= Z{p[agS+ЧV7h?&QcR" O%@%PuҠN=k%k@˚砱|ůmy}j,L8rǑ* x3*GJր7S+LrjjőG<%@%s \ \-D#jLJZVUizZVVi`K+ЧVO%@%s \ \o&QD$#Q$*GJZVi,izZVVO@}ҠZ%bK1ϥJ. \-oDx.z9 =%@Qcrȑ7#o>G|byw9r|sħK2]}z.K.K,t xw>ܼ;\=KiDW =@O[ZV;qeOxfd/AC'_Eߚ8},zagXdzKagZ2, {dX3,XɰgX3, =@0&r*8z58ۯ$[$zll',.'\gXd"xYJ),&8i,izZVVMZqjViԴZ3;˰0dGn2#a2}q =@O8rѳs3 =@_ IizZ$ Iz.K.K҃-@%'Q2-z7ʑOqė@Ϛ$#; =@O (x:'ܼΉ#KKZ.˯տg?q걒V1Oc%bV1OZZV z.K2}jzK=;G.>zvx.K.KRz.K.KK~F/@@' , 2xMsc#@'P*8r@x5xK.q(X=et =k5?WDqs \ \=@%s)Xr \=lz.KKxsfb#W#L8i,#'FRh7;G1=k@Ϛo)YYִߧDNU OJ%Р&A#M@-5Z:h tx#K-Z. j.\:h4trA˥9sjP#A˥AͥK-Z. j.\:h4tri jD jD:hi5ur項 tǧ@sb tX|| tX. ^LΑOKAMV-5Lk4Z jp:hi5iuEAϥO~)pcK1ϥJ.s/H_Sz&/^VX<_=)@O`I Г=)@O /#/?GI蓨A͚A͚AϚO~m{gM̳汒51Ϛ.|bytb+x7SGw#X)РN'IzRKR'E$IzRKRqΑH=?@Ϗ`=?,ӚA C#ӚAO ВbX1Z~?| 4h_F~ %U@OP@O-?Ld|b-?(ٯ z5UH9K~** `KSHP|$WH9 H9rss)Xr \=%@%s \ \=@ϥ`%s \=_ʒKdETyNyZ<ӴZŴkZag蓝`쀞VUizZKZVi,izZVAM̓k*,ZW=MH03 =@ϰfiII6ГG,ky,yzށ>1 jߙ{&~}rR$hɶ_~}%@.7,$Gn-GJl% jK~l'[$z=ؒ do-G#/#7O`Z>=Â%@03,X2 g,Z?A'X d=@O, W'\ y<+W'\=@O+*X =%@O+ҪjH .Ђs3 =@ϰ`p>=%∧xV9R =%@O+*xVI+xZVi0s)Xr \=e  z Zqfj#%@Z> =k@г&XdMo#5g YzKր5g̓-k@&kr*k8bYs@O`IST T=U@KԀ͒5g Y,Yd Gn&GJր5g YǯŽNf( y=v5 $9qs-$戧i,izZVVS`(ЧV,z.KG<7HI+ЗA(_,z.KK, /@'Ѓ-@O (X=%@O  uCOv%kGn&;9R=@O`I _ k7o0G.ޒax@-[2p-[2ϥ[.K(X^cz@'P$ zK@OkeZzր5gMd Ks/K* hu|,U?ic%Ub*1Oʴ&fQ>Wh';,z~,z~Gz~#7KsNz~,z~hx5JoKST T=U@O`IRe}<`dMj#7m }d'X=k@Ϛ`г;ϡ =k@ր> i ,z~ޣd߽#7gMd Yz5kLcgJ@@' ڿm .d2%b>Éy=V( z$P21_X{e Yzր55g Y,Yzր5A͚ˑ5x@@' , kZ@Ϛ`fa#;Z=@O`I  =@>ye YzKր5gMd '0JL`%4,HIST T=U@OS%XRYBZ%4f #00!pij =k@Ϛ[ր5gMd YTJLU@ãdT=U@O`%=?@Ϗ` Г|{[Ffy~o8rX#%k@г5g Y,Yzր7Lkr$eO`%k@г&X=k@Ϛ`г ^MU8r3U'S/m ө Y4kɉN`ɉ#:%XA jր555g͠. fPST0ԬԬ=k5k5kua i͠ʠsЀ5?*;~ @@@@@@'Р&Р& 4 4 4 z j j@@Ñ#KKKiDmKҠҠ44A쀞@@@@@@'Р&РNvuz j jր55o #@@@'Р&Р&蓝A j z|>yUԩʠFЧ*'IG Bcjz~^|(Gn>jtx** x*9r*T/>jt\|(G|mST T=U@O`IFGϚ`гye YzKր5g Y,Yzր55g x59r5=k@Ϛ`г =k@гdM̳&YXɚgMLby#7K:Gt\g =k@Ϛ[ր5gMd hY>W[3G<%@O ( gFwm/ z@'P$ zK@' =Z( XI'P豒@1O'c-@O ˀezր5A͚#;"G<%@O  =@O`I  =@> ^e G|.Z5%k@г&X=k@Ϛ[ր5gMPf!y?\%G<@쀾X,YiMPSeL4`ǤdM*k8Yd G},('QgXdza_K,ڏ('.>j4'JzF9aq^wp=&\g.'\Vi,izZVVS+"j{D?6o^#%#VVizZKZVU.#*5RI+@F=KO@%'\2=@O`I #LGrinN=vejzր50#a:G,a2 }zK@'Ѓ-@O (X=@O`I  =@Z =k@Ϛ`вfᱳh z@'%b>$걒51Ϛgce/ӥc-U@OST T=U@O`IST T=U@Oe}Z,=)@O Г"Xh͂]o&;(/,>=?@Ϗ2zh˴=)%)@O Г=)@OGn8Ks9XhP=?@Ϗ`>U},S3L=%@3 g,z& gBdx9;ssv8r4 Bcx4ǑZG|Z,z*ku.Yi(Y$c%b@1OZ@' , z@@' , z@'P$ zK@%hoz.KKO`@K>},Yzր5g̓-k@г&X=k%k@г =k@˚O-52)}Rz** ,z** x9;ssv8R=klYzր5A͚1Y@'P$'%2)=`@K*OJ@Qʲh_F~ *?*0?*:[[B4U0Y&\1p<+\]]Nܼ'|ic-@%s \ \=@ϥ`%s \ \=@%s)Xr \/#7:G|z.K.K,z.KKhJDo0G|C#47G<%@O+*xNss.^GninࠧUi^Gninx47G.>#%@O6P 2=@]4}p;ϰ`03 {e*XVA('Q2uyp(X/i#747G,z@@[2̑dH%s \=~K]y.<+\t2]y<k z@'P$ zK@'P$ z@@'`Y=k@Ϛ`г=k%k@г&X} ,T=Ul';Gxg_o8r#eY2^T=U@Y2G|b,z~ZG| z~K~ǃ-?@#X=?@Ϗ`f#7p9rf.G"z**Ok@K~ǯo_[~ Y޼'G^O  =@O[@'P$ d } =kŲZ,%Aր55bGnr$ z@oy<+ y=V( z% z7ps \ j.ק__I`I+ =%@O+Ч@2=@ϥ`%Ч@O@O&Q !\=@ϥ`7S XYɥ"S (X-n#,qf.G" zK@Ov774Go^#%U@OcTǨrd YzKր5g Y1֖0L&Yi`51LӬԬԬԬ=k5k5kiM Ч5;i z j j@@@'Р&Р&{8a4x9z. dgP';'dg\LvU^ 4G45͑]=/^ 4G.^ 4G@ՠNu z. j. j.7S9b?`7z. j. j.KKKҠҠҠ44h=֟}IAM+jPj@sD ڿm_)KsQ:=5u3hPhPP(f ~r¨>='J.hxK>]},Yzր5g%kb51ϚJ}zRKR'E$IzRKR'hϑY'E$IzRKR>-Ǥ$ŃwIO Г"J73!X2dG<7:G.>uxRKR'E$IzR'xѨh9z~K~,z~=?@ˏQZ7‘TMܼ =k@ϚfiY쀞55g YԬٿm. zG]y<+ y=V( z% z@@' pfZϥ`%s \=%@%s)Xr \=%@%s \ ^Gnr#KK,L`8rtyW]Zq ^Mk8r3qsMq&8,';gXdzKag,z> izZKZVi,izZV=@d\} !x@ =@O`;=k@Ϛ`г i ST[]By1}bz}Gn^}xz}G1Ȱ9ra  ӥAMAM+j"戥$ Դ/^k#g~ 76,66z j j7J7i5xVI9i5izZ h"jn:ahZ jZ ZZק_gؠf6ӥA .ЧKVVVՠՠUՠՠi5i5i5izZ jZ jZVViő#VVVՠNuz. j. j. z.dɥRs鱒K1ϥc%bK1ϥZ.KNu=ʑ'x@9q9r@I) z@@' , ݠΑ=k%k@&kr*k8r5 ^e G|ֲ&Y9V&Y9V&Y9ֲ=k@5`O)#0ϚjfÈ'P$h t|FWr)Xr \=%@%psLFV0izZe2^?zZW0^ϰ`0зK>gF<@ϰ*d#~-XbdVxZKZVUizZA8# \4ߤVVi,izZVD =͵@gO`I6ВAp ˈfm,zaae58&%ق%@O6Г-X d=@O[+i.>ChF<%@ /.7\V-@pKח#alaAà!axKagXdho@O`I+ =@O+PǷ!zZaVU Ӵ4bVi+i5i5i50Я]\\ܒ-fDjpqKF|5HYܒaFd`3lP3lP3 mؠn5@O-fdqKуՠ ln0#aa{E͈fؠfXdؠfؠf66n>uF:#ll'۠nukz j jaԭՠi5HY#VM+p3AMAM+jPjP*XjPjP7Qo-MԠ&Gzŭ\ꁑͭfDsiPsiPs \\\=55=^QbK[ cQ OձV1OձVizZKZV[PVVu%@jPVQuV?*\R2 ?Cd |=8,z }66 ,AAO+`K+m~[aA߆ 6l =@O`I+ =@O+*X Xr C~FA9 z@%窄aZ]Z.KRPs=i,iA%@%P7Fo=@O M0J.KKz.}~=ٖK1.C(%bK1ϥcKu}-@OY\5#z ,i `%pq]֌,˚=M(7Q@ouYl˚=8Y.bds]֌x@uY3.kF<%@%s \:r Ma,( =@O (X-o)[,z.KRz.K.KR.5Q=5Qi.O`DQz.KK,z.KK(X6F'|$F64#KXr).e#j .|tLsKD,{VlҊO+*J+F6iňUizZKZ}z.K.KR1ed1bd1b Ql@%s)X6Fo@O`I ==@O`I  =@O (X} ,[ г =k@г&X=k5_.;_.-%@O p@l(#@a0}zK@' , z@@' , z@fcƈ%7F1=@O _4K dX.Œ@0jL\y.t ӭJlUu2V,.n^=#W3Rd #Hг7fdsm55g YlkfdO (X=%@O (X=@Ok3az77%s)Xr \=@ϥ`%s \ \fdq z.Kn@ z@@' , z@Ԍ0[\:r -Рn@' zK@nv@ zր55g YzKր5gMd ۚA z||[mͱ1ϏDZ1ϏDZz~K~)KcIgD .> C(.>tFKʈ,=?%?@#X*cIgd3,z~%ed3b,.Ùг`0Llv@OS%XRT=U@O`IST T}n6;YmvT=U@O`IST T=U@O`IST}[,Q8=?%?@=?@Ϗ`\\準T=U@O`IST T=U@ORԟ?|b;1YsdM̳&YsdM̳&Yslu#Y܈yF<@OF3`@^ Y|͌`г =kg0eoUg0},70L ST0We YԬ?>+ , z@'P$ zK@^ Yzր5A͚Cc( , z@@' zK@'@' , z@w]r \=%@%з5-/+,z.KAͥ3ӈ?Vo~{X"*[ұK1ϥұK1ϥұ} z@} n@Ym7[0-B=%@O (X},pac\=k@Ϛ`pab6wXf%7;f=eZ\_k=@O`I 5Oz.K.K,[ jj_͒K!hDBI+ =%@O+`K+ =@.] \-o izZKZVv \ \=@ϥ`.]=@O/oQ( :V( :V( :=@O`I $PFV Ĉ'I7 #p)z.KK,nrA8F \neduMZ1{F!z.lz.KK} , z@'P$I F6 @' , z@'P$@Kրad5)Yzր5gMd YzlYzր55g YzKրad5)YZ!=@O (X=%@O K=Jy+ y+ mv&vwccds76F,~U<%- ##[d]78H(ps6F<%@O+*#[0)*X },(؁Fr=@O-@Kmz.KKz.K.~hCs@' , z@'P$ zK~p5eCcӱAF4_Es_"UZZ1{\FJag,a뇉gdJS%rJS%r 847#Cs3Y,Y.#~hnpqhnF)hP7FCsl>hF@'P$ zK@n`@ zր5gMd YzKրk386#sk;Ɔ-n̈́oky<yHlGb# 둂\Ĉo%@ 7#1ϥ`9!?(X\ĈQpu=#K,z.KK,z.K=@K@'P$ z@@' , z@@' bds#@AMC0?KKo5Fl1H%s \:r `I =%@O uCg YԬk=@O ( fP5ڌlMdd5xր5gMd YzlYzր;1#܌x@'P$ zK@'Pp@lO (X?x /z.KҧA8=1=+ -ebs  \&VfdqnFи[~o?ezR'E$IzR,z& g g,z& gz&K& eڒ=)@O Г"X=)%)@O Г"X7I7&!hh\JR=)q%?@Ϗ`=?@Ϗ`-?$7 IRK| |Ϛ/b͵59q4~,YsdM̳&Yslw #e=%@O (X=%@O  7 &2R\yF6dDsU4~U<@O`I+ =@O`I+ ==@O`I+ =@O+*X 7iUZ1izZKZVi,izZVVi,izZbdɈhpf`K+ ҊMZ1izZKZVUizZKZVIҊO+a17;ov@OomI&2 tl@y[^ F.#KRY|(#%@O+*X =@KkuM6KZbdVY#b =@O`I+ =@O+F<@xaagzKa plnqagzKagXpuF68`dsnq8}G\%#dcē`K6Г d vكagXdzKagXdz~.X؁VUizZ%}\1 c嚝UX.,*.٤#VUp3XUizZKZ%ǒΈoezZV?r/X~\=%@%s)Xr \=%@%s \:6Qa,( =@O (5#]3,& MT$ z@Ս蚑͍3RvY& Wl@O  k@9ز=k%k@вع~{[@'P$ zWwyc\=%@%s)tQ] qO4,,0M1K1(lK3b"ϥgriPsA˥-5\zF~>˥Aͥ-\\zAKAM-zhPAK-5zhPAK-=zhPAK-5zAKAM-vԬyвA˚A͚-kyвfp5g3Y3#5e͠f̓5Zk˚-k}7߽?o?_>ϯwo?/>}=пCqvM~w^͏/o~ޡ8_j}oxzw{q?߯v_q^v^z˿{?珧u3q/o|K_o-?Vz__~6?~K||'O/e}OΫS߽"^?_z W{_I_˗q1_^Z~}~߾[/O9%[/Oof^GǗO&O(~=_ϟ?נw9A( endstream endobj 46 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xwTSϽ7PkhRH H.*1 J"6DTpDQ2(C"QDqpId߼y͛~kg}ֺLX Xňg` lpBF|،l *?Y"1P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6(.sSdl-c(2-yH_/XZ.$&\SM07#1ؙYrfYym";8980m-m(]v^DW~ emi]P`/u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp 柇u$/ED˦L L[B@ٹЖX!@~(* {d+} G͋љς}WL$cGD2QZ4 E@@A(q`1D `'u46ptc48.`R0) @Rt CXCP%CBH@Rf[(t CQhz#0 Zl`O828.p|O×X ?:0FBx$ !i@ڐH[EE1PL ⢖V6QP>U(j MFkt,:.FW8c1L&ӎ9ƌaX: rbl1 {{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞxǥ{=Vs\x ‰N柜>ucKz=s/ol|ϝ?y ^d]ps~:;/;]7|WpQoH!ɻVsnYs}ҽ~4] =>=:`;cܱ'?e~!ańD#G&}'/?^xI֓?+\wx20;5\ӯ_etWf^Qs-mw3+?~O~ endstream endobj 49 0 obj << /Length 3640 /Filter /FlateDecode >> stream xڵZ[o~ϯ# ΍C@$hH7-ӲVίp&yEr9߹n篔*[2usU;_jnSZz?;^o36<]^v¿~sߛ|MsՖmk\Z45#__k_<\٬x*"#)p#12oz}=^t]FlzO2iR:3mbL$[~ϼNօ-I]t!9U" ̌^m]z,r9ՖF0Qq(񚏏aAF$~HxXd~miG9Q7>jNS$%Y9UV"wWHI?Zĺڄͯhw:pWl뭜`9zL8ёj56w8~sXdO@@ 6Cw ,|S*ն~kmxm=r㺓q~@ѹz(C3/h]0.UmLܮQ¾dm Υ,Mp$PhIK8R[Ο2,l]Mxc4 + gDg\=%S x@#QL2uMX+Ҁ{>NL5w0Mތku]V6cq0u x}9Y6'h \./[5R9wa:O0sdbmQr4&7?#k& rcI}2h-3??z`KdP vpaNC0j͠Ndad[2B[}aJ/z XVen YP9sˌQ~i6٨Q l;SW瑸OS&lj&CVcp-"."`A}PqtR@7@Kių%3JJO[G$V1=7/8ŦuNo9nr26'6IϞKs*ʗ;"AR.=D{vkIV ;?-! ;8 TO@oߔS4Ye2+2/'瓓 QoZpUs[,6ŏasza'|'; @Q[[g vz6RD&b䶑XfZ]/_hF:< &_Ī Ѷjd8/wK\z*Dq+A3$c)8;ر^]B }ԙj^SهTo㳀" oho%GIxҗ^H$q t5mbvřmJϘ|a1Zr;C2MAyRB{ϒlx9$'5}N*nw0'7W8Q9xN@v=*"I ;H,2wI~)ӥMre]OevkU 3Ǔ̸֥浙3 ΗVYV.MdJ!FZ[6훢o3'+uIG E?~ĂCITB9Kˆl3aRiiw֕jA$st>&CLvL)-ZԀ9-H t#$A;{ls  fv |cf`3fk=Ɵ5d ZJk[A`Yk)jΑxpvh&pM`@~X'{y[:=$^M[UQS/|/Y2"\)`iZ)y}g@Hq2E#`Z.^"NL 2bY`eU9hMRh=%"ԤvsgU9`.H' 9ͦekL1 U~G__/>#Ȳ-YB,TV;e(] ֛lVYʔ-ua,P^%~\4-Fc'Fg TDՍAڶ^N[/J5yϘ4OPnm)w)g󧺦>qLg^?@UDuJjٔk.^ao $m0 s,G8_*35Ȗr׆Xj»yq2FCȍ)mx(x?9_X_3e}l($|k7v = quvҵSR>AKmp/Yb&?\\gRw.zV!Ą#5#; dIP6{pQɫ$G$Oq?EĆ^|dp-dPn;[N4r0u(=$G2d\M RxS&f<}H0~u{ja t!ϒdsX=\%_\iZj Kdb F%IrH,t扏|"m1=PYi|;#=TP)km_ڷdrSVnkB@3c;5;ŷ! ٱoC4bx#XcR1RL,yI<* S26T-> pxT6^ >\ڡjle[5WT͸-)`|*b ,37Z^8udpc(\кpɣOBނc#b)9?!K56UmZ^7%.T nUrbw͌C0#甎i&KSbvk7_JjY endstream endobj 52 0 obj << /Length 1200 /Filter /FlateDecode >> stream xXYo8~ϯ0 b:`ۇ  iTGNZ+9fQGqtU`hRpo_ΎϦK"?#ƹGQƞrt1s6IÉnES-쟧+1$c2.6]K=œ+=*g~BI;J Og%Uzz%+$3 e V/*R꒍d2%!k  N*UmWFf kB.fQnBv}]ݖw+1rB4J\^6t51Hw s7 F2'ϼc>s}f9NE+.3/IdZZp7zUC5Xyaa{mCABe# h世 XHe<<`P*sBqKӇ~C.nMf3c`GuN}x;yOǓ:%LQM*\[=o0YBPۅ< .)X$"8ɜn )#D&˜ oDSԥcK:<2P=p[0J&H+WaP%War{GV09r-a6 GȇěNqRtv K endstream endobj 56 0 obj << /Length 1434 /Filter /FlateDecode >> stream xnF_!B&7 CqMUݝ%W"u $hcvkdq$7Œ&2IM62:Mԣl6z;摲wX IHpknGj€xj3ז6gZ}A$}>|yB&9(I т$cц0k˴$w@q H[%,[nsw fI5d7$$sh]":Y_spXG7Wv`8@ h ǽӞ5ReglX[oBQ@<{~ : }Ei>!:zOtZ MwsHG%%y_ʄ0]Qjya)uSts.!G9*gF(kn[VT侁/zPUL,$uк.!;x}fEyJe NF8 x Hx9HŪ# {Ou+Lh)(\[=aD,0IcR o4hI\IsgxLLwb9Jty5aN;s+$u΃+a 4tBR2KlGrTm%:>/&3] {e'B)x3R ^FA{mroEb iUO]϶ $iG2wHB`b؞E5)J\jϢo sbQ>=telwYkP_2~B}yB a'A<D# )\]BG5qkbj[w%,:w '9ʝWPD]gƈ{GfMXӤYRٽ Jr\ڻ;g`W $$%Yn\جz}yW_b3ϛFKgb:X?l5 "5VV׀D솊nș;y&\YJh ߲"7]|p"o:/K<KI f}*hX 11qǔg!5`۴c;f=@&%),#L{%0 Vm/+L #"pz.@fAv+.ıD,(V5"-9KͥV Ӫ;\j5 0dmlцU)7[Y;%^E;.A.0 l`0};p ʳU_[h(XJ2m5q>pI3o̥N2쐉%=3w4 5( endstream endobj 59 0 obj << /Length 3536 /Filter /FlateDecode >> stream xڕZ[w6~Ks"H$K{;}`$FTsHJT>آ@\fWyzQwq{wU/\)cӋzz6Ml`tgT ccu6/ccCc 𸇿MSv3|ɣG[e܎&6NFĚZqFL8t3a:$_6y1VE*JkE I%YW'&WYbNP%mDy:WEVA.]*Z l:F?=vcޑ*7smc9}{R^mfd*3mF+(0h̏PN5}oxpn&8FJtXQU8ם|„QA$<"نu*6&#s6kx] Oo7wO&gwOktǏ/h帗U[򝅛ps^Z#{,fx+k(0N<fhl'.jɎ扉ir)8<(5v@osջHf3@~X)? %7[4m^xc@S$hBڷ1V-MnO綉r6Lq3% i #j";~#;$6-Ut$!+4Ա7NV0ZXw9xVD]ZD7NG~&_3]X DbB|݅I37]26 ~Y*ғHxv ƻgp ko@GFQ!C!vCVP)4CN0bl@2 Ji[.qJgiD5j`P6z|z*J!?jˢk МFnd"Cb __} T0Z.@@S80yތQѾ#ˑ)(ԩOY8Ac#&1kx -& K4l!Y>l U.fЫfIn5,?|y@`ss#mTjPol 數$h|lȦudrAu<-PQ3yfYtӑU7M /7Ȅ/qW/yfRvHED!C>ḑJG4zX3= {b:Uǹa¹IEapS=L(]-'v> ES6ђy*^w^UI?F%e k<.J&`P)xɠA8eHZxۮs#i0Ŀi;DK_gjՁ_QasiCm# W1B VR߲GYfNҳ&;O֠|q(PI49x/W(Pe*0  td\x|=<1x4F@!JJ_nְϭ 7bKrްRq(b4Em(N0G28ĉqN%諈ȹE%8y>nTT!Jabl!.xnd!XKoY_ _S5~Uf]A99rr5јqz #>2T;Ld:jy3rj%E T%l{[xmlFyoȓﯟB I1FS/@sUƮCgÿ!H#5}CGAq~SmÃfT0ZBN=vlS[ ]p=s8@lK]?66leAH+lE'Vtg(Uf.C%}(a.8P`g9 OL:n@2';͚K>rO+ie W0PX;:Nk_kӷr.@V+fC=i>qe/ǃG ~$;2WxgrыHBOF)]1WPzpy+ y1Β>&=ex΄]N9 ׎ZȷnzRH.ؿ\KKLfb&ԃ߫ߡsOᄟbTfo"C?Hbعn/!b(VP0wriYCƙ #X|Kamӵ0cơ(dsA>\4іA2|Fdѽ 0yqLV}!F?6vݫU1U=-~ }iL7]3=媂9t)r`tKx#?6?I}ƮݭVDjZ<8ޕWg';}_*{L[~[U+[$wOHȞ 2V0 |)aH|tDq `E'}#;-sDܧ9Ul1Zb" f{-;44}[d$$ ;h+n9 6D}=4_rG@a3/D/Iu~ERHxoR:ktڶ<́2Z~S59dJhD@LF_ prqf endstream endobj 87 0 obj << /Length1 1417 /Length2 7941 /Length3 0 /Length 8902 /Filter /FlateDecode >> stream xڍPk6 [bA{qw/@qw(Nq+V8]Z ўs^$^̄JMUb8X98R*zn6.4::-0NuC!aO>i q(8|. @ ! g4:)le {:G9#S@O:@*@5Ds@b<5 (wf@DYn`5@ ,GAƆFв;ЄX܀Pa698?8X ʀ7 X__]'hnw:x`;2:X!O@W h: +>M|P#̙l{FeYB bor9O ?ݻ˵u9xcY,,aȮvr)Hyrg^spp@N5<AO3x9BOc|4/g+|3''lhYe? vp<я''Y@< bv9${z:j@}G% WOOˮso0*䉹 ÿnRXۑݟ8_Oh\ؓ T OZp_./JB,7>iA_v,0s_ 53?'u>>8'z)`2 PӒ/'9Z=XBh7* `7ckTqrRÿvs+[y?[ͫ~_6iP.,s J„wj/{b3qw:W͌Js ->1KIz/dE95,Š%j_5bhP)Hr'>mWyN|\@+D2f$ w@CoT;>X3jo̞J#ӗ8)d JԨfƐsT}A߯\6lB`Djcwfj g'C 58&[0GFoA, \DX'k3dzTd}bX'ebKx<' (tp4G?Q2Y&. i]Y<3/v`¾n@+<5n' u]6UgF4&icA]MI7J~jqP 2ywBlG:5N(ʊ&(6hǷJ y@.(iN: /o&eht o]mÇ`l2dޞy ,Տo(oIQ&qJ%:fD˳3`CnBL;v;ee1%uo95) IF Ŷ|.C9*i1divj 7*_HroNׅ@@:猅: 4;jy,W%( ^㻽Wai*|-0Pr?I*ͯ1uTcw/ D%IGGֱ)_X0'w|u=IӚYl ڐB * shϕނBXzo+."W7p)W$BYAơZڃ@/cY=7>8g߽&ȬťGAKڙNsgW9_4F^]ix#|ųQ%3G`}]Fz9vV_ 7z8pUtmO>;7Uo##.uq*.[nh0o^ Z6sL lDYkCro ~\MԽȨ{CM Zwx)PLtq(+gρXg\-vExHYj%{δ[֐;9w8'}1`6|(}*+EA,bM⻷j`ы퉣³%PC kۏ*u)Ҟ1!u*Tw-Al3>H.yff4KlTjrf WJDC7"KVb-jk&fJ4=O`vmQNPv1zk+ɵRhKE]J()]0u2 wTevD%=E_(DeB.1q=luhV(_kY. V GC?0t-EΌnpT, ߖi`yc7X0଩l5{Q1 V력]ßK_C/:~WL; dE kns>K6fOLaΦ|ě/9FF0@J1r|W8/{bґ,Xy w,3YԺJϫl5[~PCB?ƝAu2Uj3M $eC:VYk}hǯ3P:@78=:yݑB$<QY$H6-AuqHVm!V)keL*:r]am _3\-suYiLƏE¾ Da4PjUگTeg0V]dDBu91'!p[a #Vb'Ġ<ƳÛ؝ٍd{> ʡ r}zSVB Y m\se)x)4A3E[^=ƽT5t*@cj7k' f)7Gl ;Q$ r%J)j/I-<< rk>|#GLŀ=u^k_6lM wW~}[KHe`!=%˛]Dg WMn, 10أ-%!U0wS?޴:yaB6 S5Q؇a2/2￙i1bWcPGmp;Xq%b9L`v[B_;՛mBQ$? ߸2 #U+Km%1/#$xDKM-gӿ.IY0Ty &R"]#~Y: Gf-u)/d*uB예EYm[g[0TPy Qjٴ=e3u\rNWx<%ֱLo%~=w3oXOT|R}g.t Rxb1#TNOTqFE݅VЊ}C?3SDI4M`L:{xO&qD!:6ξ{hP3{i&mR+X+*Ҏm166+b'rrs1V"#bH&⺢zᘷ\w. =:?*I0}i1JS_IMu5j.#mPC S_[y􏎚bt`/70o8/̄oHTDn>L9M84|78Yų3env*kX}lS˽"GCD TKńO$v?8$qSI'eB-`3+Mٲߊ(|w1ku-`R)|+kE2vUg蟹癰.H"R %j/4k{_NcXkﻰcST}ލ[ =-."5Θ&oc9,o?-'g'}&j%`;}M?YQƁ}FYY9jasv2ٚ-j^,"sЏ3 \# ގ|>}xҺ)L(6BrGyqZiʴjuHILJM>ϪTh_3*rjcQƞCkgM YŸZ椁'4*Pg k6.y %Nd!S$1!Q9Sk)a({tyn%"bcϖm+Լl^>wa{WDw׶yu*MWQS2E!js8sa#TDŽ b8J@BZ?bK5 lƋ~N%;˜?͞t- 2m<C/|lAT|ӭ5,ovǪ>)7T+7+*K~pj)WbK{%ʲL@ sm Kqw\k1W@iBIɻcS}ܯDj]a(e?2Fթ *H=e %vN;H5T bK[Y\Ž8eǙί/Mu~81MR_0f[;/`UjPΔX_n`p^Ɂ4Rbzj~LO $S9a< #8ܷ1rdb.D_(J(:bJ8-;1.ǬVFN3P`;[_˂[ZP>\c۱t2,z[#]VVOHI%>3noZ"\ΰ&I*}Aҡr:ݸNGvsjy&tǷ|ǧeWD6DpG[aU[{u5VGR@j솋WA'k# >CG}\ItV3z>M"I'g 3.N~)T,^#Zr#-kJZ3 S`ܴB%~iI}>EE𦌍|]6hd)\F֧,~ U<\ MLM#+W%Hk&E^!Gh~mk;Q^$UbI;[t'+;=w6$U쾸IR€FzXjЍV[?BiA&kz ѽ5 q%jc1n vҺ~'w*4ǃpDʂc/XX^ARa9Kϛhl9? į a6HVvk7;t9SaX;N֜ &cݾK/`TcDx'W!>OnPnl6St }潘j<$ɹnPCpIRszWƨ!61ѤvQ7|2d=?{R ׳A{NƟuW/ܡS~ :[l86`PRU70 (V,6V;KZ|#1t Rh~ixw _gs96Vrb Ri4$Yo2JӏYkRDT SA^S-UՇ|Gl!up=_ NViIK ^M t3bUw|aQ_ePYS kDm 9 7ayM*G o^+1CnŎPh&Lu뽅5?_tGJ=ZL!k;VR*/rgB33YjJm 8T4fyָ>Nh]QKkȺJdcn_PRbDJ[&:IdK!Z@} OK;E22*f$28t3+ZbQN8)uY>&K*/lp':%) V'uྊRԟ8K'#N' uG&0uG8'%|#R}$׵ 7"hlŹ|=ez<_Lqy}YueٓXSb. endstream endobj 89 0 obj << /Length1 1985 /Length2 13184 /Length3 0 /Length 14398 /Filter /FlateDecode >> stream xڍP\ ]wwwҸ6 Cp.݂;s͹WW]սǚƜk̵TYQ(Wfe3SR[O X;:C4q}[0q}sTptȺX\||,,68:&&R dmi4fV^^n@@ h@?)h\]=<Nahr6zz3LхGJC+ ML%GR7DX^*LME"W)8 {oR^2$8c(a42q.˄5W>M$0xLV+ ¥+U LF !O׵鼱OxxTC=$O9K =-*|agY\[eU1n6mFw9C 4K+/fU?<5 1ԩ<cX[@1 X8A7D^>'{Gbfyvc$gS1v;b|`t]h4NjOhҭ9, O|sfbHE923Aг;ZH_y{uuӉ}pC#*eR? d=[#gZz^WFO:P!CiwItZT =1i} H+zPG) mȅYjO{p:D:AF|[ ֽ+h@ ՄKzc_Fձb᳦.cErgy֢\SminC]mQ5+ևR Bt*no!{бS MŚR8f?yl{O`욱DLvjo;s R)F&ͰfSmضG8A |yF_̲GaZ )VI}+)MHK݁B Ѐ=dzECbx_nX2!TᏆO ŋ,ňiJ?>%>z~, TTt|+[r:*<?ʳ nCnPL+j"d6MWb] , /~9@6G1t3'i9x:IbٛzTiLܦd;>ZF!BAǚy~q~hfTo|AKR~ed1sX^vM@[Jtym&7)? 3n/)ٚ#hw6̠ů!Dʨ?,f镜"]z V)$9E1>{Xg Cɷ?MRź 'ʬu9HzէbuKCsz}SƬ8F-q+U;F2zj|o)@9:-ɨ W(AFDcyy EVɉU1 =B'EN[ .3.~:]<.[?׷#!{È%QDKLu굞<|DQWGP}]D[_|RsֻO`Fn@Yo}Nu/;juy8^ W h͎SG0٠ w@U!0cQ;S'^v  "o1-qD8!!{nEf{@UZԊKwNOרO]Hu#f%lB($jxϟĵd, 99#ȷܱtkh kSxM)^$!2k{]r4.iI 5;uӝC("_M|KoȝɸI׼Mg醛MRY(mhk4+k 7DՒFXu[;l&'?Wy'?޷?Uwc՘_os4xɻD|¾S.u ۍ֊RQkBm}v*oqi!5\ 6uld4{iS;X't*s*Ca2 XG:"FCyi<~n;Bx@9$teL5#$A/Zq-_:8ubNCDT,u6czTj]zblʰ ASCgǠVն+rM.kS(mb!VKs BYr_gW OdJP 5Fe+iΚ'/XeV7nUm(m kYOM+WC-Ȗz*os;T)w eEv_DY:0Uxd"$RS% _Y߾^'(tf!S&JAh.FJoTFQ6yKbWtnԕ]Ba\oۘ 9xh''M!XINF(G/ AT -Pl]}.|$цnv|VJVg?YҧkF}@dfGNENjBz-E>04薏ciMz^VHtck$F;*7^ CLh)h WnKUZkBIEEj[pTb$~em hYywV-e٤.2g}P7El 5|J2柮 i@ϷsaMxcy',{gK:k6N/ǮdgMiJ3ڢJ%g(D\4QڀFOvq֍#WaJSw 1f?1q!/4%Ap/O|I{ٚuS !drR,榉&Mx#Y҆#i|GRk_V IfA3XYO#V.c}F.}jU8D &^&G@/5RxOY1T ~KYVqY 7s_֍FmQXRFf׊1w$ƹsX3liIK)O'}^J6ܯ5N)=,kQOl>~4:BiZ$|!tӚ U09zRHb-D=K|X=3x/: ܕC7=Yl~'*H'؇EOA-`/}z?Ե"c4"nxr9 ymToؼ؃ܯӕɑ>fÙz^4o6nB* /jeRUHE_P܍9k29B9ϱ$]'!5C )󒖏 sd^ˉl7¤KxLvƬ λjtygQ}0)+ >oE5Y/B̞ji''t!EYadiy7W;7 _Bh[#9 MQ竊(X7gaX-݅9|>"}UzT *l\h3]y#uu[sCE^7Zcs<}ٖÚ =B4QTYrOWڝbNakj4A71^E@Y=9Q偮/;̦[f5A-Pt![i9<$ˊ(nFiu$TtoTn2,Ed|8je%]\JdsDGR }$(zda,`h[׺>>qW$L' $Y6Gg5GF~z2D^ k.w8XM9ߔh&SgE]Vi*0"~ϯݮCgn>/<5Pac(\L \xxUzlE>w #;>WFՄoh령NY, KJU#Gz@[jq~=3}ɝo7鐦ౣ-w.|ywxk5gi[/P0|_ieQ ]ziA:a") Bya>|Qnmzݔ6UrmQWhUsw,tAnkKW8?S~t&OW)FȪijЦJWjۻ|Xc4\ĽKG8yX+fO3At aYю}-c-/ Ex!2` Bt '#/۹RN*;%xgP0-j DQcaѵeE e(ʼnIk6Dun:>|p)RYQTl=g] SxVe`x\fSJ]@fXUcB`&c&9s45C?_AV DySrÞ)n^&Tpx&)w5xGiu*ZDNz𭬐#S+4s}~4Tz6o',"$[uZԉM,%A2d%U^ kZ -'_Es=>FEA4&,{NA !7>}?;)K>kz 68<{9!UfoiZ̺zw6`F+8 jHrwgUfwB"AӁF{Ԗ#,gz%"6«Թ+ڣt((pZyS4C=;яa&mP$0y=~̻K8v[dbQ~4]w.z 5EMv( * 0gx, 峩KkN' 53ģ"oY7~S"AwN*p#q -U *I`%Q^-jB,PhgS&+X3~,V#th –99KS$ZG+7̄4(i4jYy{Cy~fT5G _ۂřo~*vbrTfh>J5o'7cEo?P\z!ozXPIX }c]}Xtw3m"D6 b=2K\9qm  Fp0Uܜcfy`T*Z8RĂIEʥuLp$gςr.۽%&L™=$("!s2-_E+pY~ZZ8T%!ܡ2RjNf,~5e4Wݑ?$ha(jhUoA[d]58&Tve>r;y76hgD{uQ)Da]Z.Jd֦e( k)wX 0wmzE __l~m; aRq>oİ~eE\<M{YG9rfx̶`1+ XxMDi0E\QSD vR[%"Lzpό.5#8j2X>٦pv_m;4B 8/Va6 8Z6QdLZa]b`'=A!z!V* ^,U+99q*3q}}gU 9;ŭ$f[mDG[/xK+,*.9%A x(e| `8a}p ymEͣY\Z(~v̝|X;9>32#ХfsLm!bCy|z_|DLYdqa0=YKB`H )fp&Vr+QLUB_cX>#l9 lǨt%MdH37Z;>SfUr}юp&~I4 N>4υc!S'(z!CPL:`킯KEJ ?% /UC]xM> Ryo+x ̕rgN)+0JA{"r&<`ffԣQ*ܝ@:z$ eF׽Eh$yVEND'޵KgP=2K$֞:LCBR(X>,fpŸ _ E󀼪&J3ATTz_:}פUeY]ܱr%KA:YG~ixQ&o>3BfRFI 5׭6_5AS:c'*D-z)-1/)k\CXoN)GO?;yU؊,hH5VLq%$.;hy&ښSX椧&.G|s6ب 1V0[ o޸G9gׂR5e0Ú6[~ Rbj*No1Rמf4/f#8>-Wl<{X4vdseؽX ti̼X'C>e踦VL>quTq٧^5њs_ĽQ "ezvPBP*T鰥*oR%0qBiei{*dHΘ.3L VUswNSOX2wNl 5r{s=f븨G0aL9kǔ j?W`6rΪZv7e'eٶ>'x`E]^U=AhTzyz89ǂm_+雙3Щ;Ž-Tz|sz0ӬJ誯~|lqϲk"XcERN dĸN9xM‘xٍ k%yK)3θy캇3]?7:x`5j HϧɉR_>:2'8*DVB K<ߢ./nE5|Gb-ťa\,7sH{ҳ}w-h$)QJ 8Vsk#L5Im3(]OgCK &O RӞ)J:;e$]dW"%9dODꦔGppuh>imO&ŵ`6oe9vv$w::.aED%M$/bࠅ26 Y䇑iD~iR4K>9TN1Y~,Yiڄ{41 f$}iB.$[Lqp)GNU2X[r\hꂚ;Zl}R>@ *{BNi}⢭ K}^|$M8J3bC&;@닻BSbX>[`AźZ೔)$?0ZFy E` 2vw#0Jk"+eVWN)%Ok@ NϲXJ5]OcK9 N&azn0]<{^t3}A "aB&Of1 cx֠Ñu<6x}cOQs!Ҕ4Ize'ĬMǣrŹ0*4F4;t{N` .)6WF|pE9 TmR{+$~ʁ,ko[sdh^;8T Ǚp'pE&񱑏/@m@bVf:Zn{u0zov1Q'#vmBLaj_qf6t94ļBwjw*QTa4'EsXCWkc4sS4J?E=̙sn@V=>+YCp : g%Nc!\ep۴twGza5X H5Bٽt0d~} 5>5 8`*#n$f7%zִ " 1(V]ۮ&ɹM{36gSS 4~nS ~s6Ƥ@~OebM,=bOLGU{pCLT=uhOT=97-v`jt=p)(({]?5G?;eo6G̎} $wV72HTW03O 5>ּGQJ[n g;PYojkcS;-P"c?V~& YL(<Qmq*Zcc(@9(3@c7 ȭ"zu!l04@e@*geeֽ-6PH\lvq B/zd,y\ e mֺ+É}6-1mƎhmu4v>JP1]f; ԡx:rSv(E¼;Ͳ-dSz>w;f$/Fvߧtfsz".W-~ˬUG& Z5@7hʿ:$hGusojK86-yKH9VJإYwк*:{,ð3+;P w $B \c'x(db҆Le%0Um ]oF1-keP*rlYicK#.7ծ/;xK^Qj?8$."ts7490mƏ[G x wlD3Rf$hIyp{&C,Lb{UvlTxG9`m?rkƱmUj s=޹޴겅. ?d;Vlؙfkq_!9L;ϟ4f kq4<,՘MN 0jhu9Ӭ/6ezY'SKG?;Zsm/s"Ȋps*Dfޟ~dUW2hU_t>p Ei?|qu %Xs* ]%FEp˝?t+.CB棃Є&i^"ms7R# 8*c=bWgA6 j vx'BL~>lZAֺUTtt J-F/48BskrK&Z"0$s' QBĔ"ghS7in{V#G\ѣʌQpO>[_ZN^VUMװa>X?X$UVܲ ?bGu2 m.ALN_H5zxLGQPqYS 1]=_G<=;|eGG/Hrh[/kdҿƅE%}i?kSX(nCm<9*l8 ;px^?L KaAR[^2Φ(6txݯ!!wj V^d#{EUk!i ӏY4)b3s}C&sK.-_z317X'WTbE#`s5rjS 5LLc4C \d؜S'2c*V@G$]RP"݆dt`^4%k~$O}V݅]wf!>); |M#;YF3=l*[>ЎR*Nfܲu7|$&B~l(t.qT2$pDr,VQu>AFstzw ;rhs iVDz̈́Ѻ7jw>bjSW!B4<$ߛe\ߪqB.ep ;k*lM%1tw6vea^R T;n_3\ &O&ȟWӂ 8$/T*b ߳ѾL3m|_/LA{(5oPI=>., cIfaw }NJ!R3 ,q("2;޳z{$mz(@,3TO&fq47Fo_5 DFY8lVHfa]3{^%NCJC lĕA{Y|{e,Ě!IKZ endstream endobj 91 0 obj << /Length1 1391 /Length2 6299 /Length3 0 /Length 7254 /Filter /FlateDecode >> stream xڍw4]׶ N['z'zމn(3̌N.QE/Q;ѢEA|nH끺F@V t#y˿TzCPҘ х#>*?ne|@wrn  LPD! ܛ+D?%!޿) ਛfu/oK@@C)!QoRt/!o4N2ԩ>VƋgcXzu$o;&2D>[5ecy+W/#ZS./6pgG{Gvzm_;cթΚ!N[xԫ[ջ`fe8OQEp$k)J&,}oD'y#?ԓp ƟM.V "PPQa)lSD,*}߶~7Znq/#AKF_WP`2PЛfYI>N W eyڥ;ư "ji &a-yĬɌwV0eؾr^ (|b!M)^>#S^`Kp{shϓQY^I4atk愇2xj3Y?P o죄+_Z FGvf2`n5xUzW Ie7mS|һb}0Y>\ڢ1K[n%ur5a+T) }a撬[c{#?/,uR(9-3udǁ_e}ک%Ǝ5wqja|L[2.ܟk% %9ggkvj*py$+EzxWv(ېhYa&oQ & hT`zrs33=f3A\GKotIU}k :p{ϏKc/e+RPH WlRd W.>z%Xi{>O~f BWI\Zܬo&.5&b`ZL#MfUZ2^2zގxq^qtE֝:˞;"),dtpuhHyL2tSTBޔ5]fd}Ǣ\RoƯ%̬ Xh@矧) 5ޕ-K$@sƛ%2*Vw ն-ADF= [lC5'Z9AAi53d,5#|I~vy7m*,~ܝX6kjtaeWۻm90łv͓ 5` =7[l|܇fU^'} E&o%aDwto{5whYᜢJrt#B:3RW暫SKm^)vR,MJ;kVOǓݶh#>h\3ͅ|& Ux G|ӤVfM w0#Ky'CT_+Njr>ѓc>Fa{FuW.S. ?CK3t?\)bput/-dK.o7ñϺ3zA,K8^|.}i(.:׳Kġ8ЬW4qA*#,.?:f0vQeٶݯȖ\e/o D{TOyQ%~x]$;Q` kJQ"W3$mvI:ӽ 3/"-+)h$2TisN||no?(7er0ev^rizAO}?eKDd^:k6sJ{Z "IjE( Y" ]#joTKXzJFSI/P;gƒlzPP,ot>xW0qzvM"̹$֢sQDӠ>c|#6Sb\/)E_ZIP̏.UNC zT0llI#%¿y$W8ܾx"T[A)p;f!Q#?_ڰ* #QU~)S/2IBmUrscLNqP-% =owM7zRgŰDN, _j/Pa xf(~$TOGG׃L897S$?rGJ7Ue3ʨRgq1*6:̥_e%/._-u0@JT[ߋozU!9lQHTBV.Oqo><1Mҗ3oENFRKFN-C`nJ "0*LV;~eWO#NC*4( Qxgah廕WLNa1^wDTR!EzMyyvQSYbWr{43j{GBQ1c)~ϚSpeQ9 1:ܭ;YK1+pVē^jv;5e}bSȕXY6э>z<;E30Areթg" '2RZUc1+乗]ZăAZ' N|1EC ]=pL97ͥɞw(ˋ^fg PƏN{,![[ E:qhZ)H&Z0³uiߵ9̻${MC\7]2*$S'J t[ GC,P/]{ ,1Ed5-MڴX/R.aa zTT7Sԭmw*3Ri(Ԋ5[*V5pͤ^{o&i3\t_ΔM`Գw<F'6fb?R-*+&K1) V"]x?^d@$Ph&V\]Kz_| 4u1z8lͺU`Ìyc煓9i8;73h&qGU9ҵfۧ>mbdPKx _vrIw}b"ܧc$ݷ,7* .j'mCc:k+Hyvsu^W["r; uOu" y[%CArUKe׎O4PqVFo5djb=ۦMp1VxJGJ@}b~8) acHj,,mk`P MKzx?y+\ |c6~hqՖ8 | hH;dS1bLikӕzm XzuPO`1'%[[u(X]uD#u%~f&Lӂ؜}Mw n%^_}H}`bYBIG_Vg$[Mkr,L7:K&g2V&)Қ8 j6Poے,Nc3z@sR8Gv1~&a`وV6ym'Bgμ~i9!|dGugjX2BU#s@JM՝MEMCxKtT^o< ؊63X@;!B oTGSP3+-7-^7kI{H\^[?(oG\1AFb$JLDRƺ~{. 6w;$α֥(*du1z#䭢*qYut{O l܃/`9lH3b0GPƦptabM_Κf\$*s* Ql ߰ ER>$if^Ci/pD+sYj!;ªs_(qA,0@L7A䙭?004JkTܝ̲s3ϼ;%K貽q^8ESZcTԎ@inS]LVMNΌcUJZY# `x(U))oDj08AoBpӃՎ)Nځj:/gsʥ^_0|7Vѯ6Repl^kp?\3K 3nwؑ`Qlah1Ae-^ tk)ѹze9U( [NrUUoeNtn3DPP y%n-̱CJ{ȟ` MHЂT緇Z<0!WH}Fu*LOIuײ6U4s|)΍*dRH)[b̈́R!ȞV1|K9"Yh;n]/ʼcnĻV]i`5#7 Xr5Ӥ^ #SЅOM!ntš+bczׂs*vɚMaWI endstream endobj 93 0 obj << /Length1 1448 /Length2 6897 /Length3 0 /Length 7874 /Filter /FlateDecode >> stream xڍw4]6тDFeFE] 3 w;E'z zD I>}^ksvgƬ#AZAW>^8@ASH  @ll0W8/1(D vEh;M$ DA ?$/C$JvA5$BtBl\k pv9BQ0k0 v:wzHk!8$\]ā@^ /e+ t.P;U0@ S/@Gq"\n@oS|` Bs{e{m|J54To<#$ Ą"?haWaݦe8N?ci!Ѭ8&Hd?Sῢo$jG v2@=H ghpT]1CD2 цZPm ץK,k&o=7R a0~!a{>|I@=SE ].tq~$y rDV#1߈ODDq( Bo6K}7@PkDgrt<_F&پr̡.^rVe<[BȽ|Mq,vs^xKN_Z fǨ?l1nt}Ռ١Ɩ&JG~ѫYW:?6EgJXt' ,x-*s>+dS'dn^p ,??^,we5a:&gFѧ(N-,ȆbQ,X1'Y{oOJuV}eӐԊO{OӾ;xOH"PռƁD{V L_nM, Z0U}>Gډ*J{WEP"rt8Ho5:!ֹ{DC%ڗ3Fzu9$3 goM:iEMΚvkM8@uРV45rS@k|U/S*:;# zr=/Ea,a&QP[ Q-z{'?_짷OvRe20){`ȶVRqU,G&?|ׅ2;΅(UG$'Ho ۷4Iy_SJi}WRE"}&:g{ѠQ(m߁Ҿl-~ҙ [#CqEǹ5,ɉ&簃#qA"iۤP5H"Ԓq*H{ lJ|,@H;QrѨ:pe=` ʐO鑔Ҹr[]`#F-vR-uNj%cOlZFYIore utl7aE݅܊4(rT'*OyF\MǍh{bUt*'SP$Ҫ âF sC-KEDQld>ߚq Ȕd=QӥoqQL^ E8uEpoઽYZD [F5:%3N LwB>lN/^5Y@>?(-+u ˜!ieaQ>(nadb&n~X\!Y66O,%Wχ^drz <_86X?ר뙨aB"?]-;}LD;Z41s93EZ2&(|M=MwkpBBum .ّc)F=U|!xsy2;oBr/Ec2R(]x0 ET#h"J, Fլ=wM`\'DsAƮ8 ^:r!J,<`b_ta Ӧ!S'Bn% ^3Z: 1kyrvIOVKtᶘC'ƷbӨ)5moalW'͎g[%I^ߍ"XYS];*lӁlMc{ yZte>>KRzJ%6Ke!1׋5C@noG%d cM)ڪzOxGmG^KS9E׸ne1#(>)M1aFclkqtGj>S?ۜc9}dJw8Čթslc8m2G,=ih<,k‰PMB5QFC=y qn=X lM&=am;pbō'Rzǥc8`p+e"a/SV}7Y'AlOgQf3}WN,gӥډOwlݡ{^w΄3w 5,#ɡ|docjT@ jwֶٌ_-{ЈQ {E͇@/,?^lUme7-ݳ.i<.R_R)*y3sK#&<4Cԩh=(ҌQ~w|n)6+ZeqgGvKN֫oK_}V=US;3ͯO9V x.Q< L\?!BuwJu9x"/8ڷҥG6 awpاzuq75x#>ty܍Է鬀1ZT.s{ƏuDd"9>8$NŨb4.f[c$f^|>ը>om햴C #.FJLod)p53áB xM9EqD'WO+*HɅ&U5aoW7UvX}I@YߊOVdG=U͵T1џ>58'՗mA_1j'+*%HTnGWcQitdx3g<|[za4Ve. &-ci%z[K0dqu7P(?_QQىq;-c!6ƥk%vt|PK-3~*oLHYvȏ.:e _^{NM' tDj|X.o庥p>6TMJ>=`h3]Bd 3l. _32<8,Nܽ"w1O%?],Ȼ%w8oIXaBzI$pdjMwOɛJ %}{Yz4(M0(&=Ϫ>:GXu'dzYeD]I~5qxFP,LS;k)<,E M4~QbC5YHHM+4Ť@{ޗy(E͍> ǯ SviQneU!EzCBS7. 8q$.H'l#[UV.(;tDpn,U*휟GI$JZ#>0kSCD9-{FG-g3o&z:GG dֺP?91p!eK|73x8TwٻSghtmF ri uVK'psw`p475U^/KuG1{D*cw-Bɤȳ_J#e}ɽ+9v6b3' &'OHEשUS=Qm~0 .qܺlk7"Q +$<0{22CM|fzԪ,KdT.BZa61ŶkŋȻvϘԩ*B*}sFWlJbZ01)'stil bxLQe 2⬰8LTEZ4If]Lx= '^1D,/>q*׈=ۇ> L1((|^<8uyZŴp+~Żi|':t"sl\>ZCX994 K9#H{q|[L9(*qgR8ÃNB<c=7]*Cv2+j2c=qs,uGv7ojpY8My/TXŀcq̈́OLGZyyl [Lr9 dJ{8%df4mqB>fUAbX]:_+OS6\8|o"+I]z57n-ca^[fcG(-pJ醥WGWECrҥ \ eGrHrp.^.4I 75/`9]0) .D,kU~9Ei19 nz}:/#~6nLnu`szMT~N(|ǮԘlOai_CYZApMƑ84@4D&z|,x40X3"ɾШ~^Py3] PhBuz}3!ٮ (}DBOG%5t-,^ Pft,C!11]+'2Wl4y!yƓl4p~-e){F+}=ۼՂo/:=:x1=5cV^s(T\Q3GKԳD;_(vH&s(QӓUQē(N>MS e08+g~Yb1.wDZa/PIFԁٶx)dM/o䲕P␁ ;;N:JP?c@3J$ eM5U/ʤI[% kL0ev8fƏ='ER2-j~V &qa.E`J+ɉmgisd\eA!o8Z,|f4rIgMEMx;l3 8QpMNNC* ۉ/\ HZ2ʜY!fM?4hK`ZqG]ʻ#K^F=['L#] W+7(}1s9E͓Wdw@.ysazNԤ:wI57\]vS19` Cr6K\~;O\Q!*|᷼U=;W3@Vm<`ȅL0$@a@V^t4u*/b<}y PĨy$=)wkz;cU""IX\3Zizi.~xNY6-,avFnGMdIqShÂ:٨Ht`خ?K{8fOc@@v&"Ɠ]tDӔR Rm\!_MOӍf쥍v^yF?,duФ+xnO56>(0=#k҅cb=J*[8% endstream endobj 95 0 obj << /Length1 2082 /Length2 15301 /Length3 0 /Length 16549 /Filter /FlateDecode >> stream xڍPKӆ ,wwww. X$@pwwNp=J9Eq=svvEs_:0i؁]2vz_Bftp0ss3%_)=YZ~`^d|l8}i_B`aL]&@ Ÿ@{ 8<`_Mffog[f$*CkxX9,\\l l3/nn )ڿw/@9Mn7$jc=mA6vyo_WQP+@*b>"v6=K$h r1Wk]yA=1fc{2Sg1e2v~8o/J37kX98NNƞ7N>f@[hg^/ [0/0!n0IL$XL $L=z.L ]zע_~ע޳j=zϠ3h :%wO?n3/|mW& -,? KO^?]|pz~S {4GWq{*l||W|Owwn]?]?]?S`>&]#4EX7 j.Bΰ;}z0Vh'1e$W."i`ա(x6{ޓT$v|&|,O+YĩL8^̢OՇg!#V$6陵8D<'[.?Lw9rlc#Rݫ6W{"Ⱥ^PK Vk<甸cxHa c뚃OzB4_%N PqS`^P&*k_%?}LoƼY0s.u畒@ fiZk9Wfr hLHs}`!Z@hYlC)?5v G[cOpeֵݛhAX'1e+g##z~_2 Ve p+1IMD0ySE VҼ = Q :{} 8o 6|V!%KX׀yMYG2i8Ƀ4, TZ ]<_BIlMÖd8/itlDg݇dkWҩhIa3CLq{uֈ˲ϻ촯-w^+ Y׮ߓF-ctwnvU,ȥ+/V.|,^-8؇n`ۉA"au⮭v눹n"/^3.[[X~4Vo1Dfdߙ3[ݰw̜/%M-y1P.hh)ֲº,z)I(FꚥyW#}jFF(L쎅x;hXK8+ sY_H_V㠤-O8:Lr=8Qà57g7f8 & e*\/!B r$w9#:FE#]~z6(,1.:ʎEFʻݛzd|xG% Ң=py1`+,d{Lrz7O"i+Q/NOB!h!}OFq|̒۬tḲi)2CFSz7d1 ZLtC 7fQ/*Al /~>: 5$ K-0YHpD7|pkj5X–DBT;-Osii {>!5Vɠ7y; Q1XG>'rosQЅ ÷F!=IpSEڛ\i$0Ly! ɒn"g7B8%Qsf-SE;K:6KͭOQw} ^7:>1*d30wr&NϜ߭~6"f{>Oi|VMnܙWemc0-'`zdIa`>}SUIH-2⥳Ovnd9RE!q#Er"JtUF <σ&j+UJZ8\zpalXo($ 7Y兖b#S/[[+.֗\mQ}l )Z1d\-+nhBeOB˂IoOh`H)Y'Z~o%9}7GԀ浐U Mzc lkA|+mYim`)4Dcڽ^J!u|,5o54r{96~<'D9~z|I6Aa~\WiнK5vzi}N:d 'Z[i^ەl{ Ĩ=JgCu4B=맿e>8K_.hihD&鮁v.dO: Ids#b-vb.PwF1 WòBo[=/,kN]1bhtŦ;@K*”37_Z 5⤀H8[_HKXSx[PP`P`o$d1"70))7Ya_pxIGЮ%n#EQdLmT*W5ʓL[Ŋ*$ڠy!h@"҈a9Db xRi آOƢ'L41RH[&둌o$T< /c/K\cمa9T—@5y55 !jYy?-)﬈;YZ0OJ31 U4Ú*yQ ~n8a,ZFּZǭ-`;Ș:k^ySp }8[мy1a.c+/R`CӸ0&C#Hva?Ubj= AJRkHҎ+nI,џȉ?>^:OFcYQ,{ߝ^ya5.{<|i~h풻ej5ͭ$AOtGʚ($C2R^"}F#3%YLEY^Z%l"U=7ι.Ha9Z~Eߊ _l,BgQM^UfkSeF@dKFAę,'7hhJQ@ :>6/ɄVg1/4!T E6Ojc*m,'}_63vVBr 3(x"ջM۳9Zfc43\~rp0w0`Z3z.#M-Tb3|N*8ףb\ QHoaRۣ!B])1HYr/A^i }7ST8XC&1א6EQkoܯ Cec<IU_mw|#$B|#ޯ6UZLلtK40IDZI!vӥh\$H+2zjQZpub^vmRZkE%DcF{g =zBdt"v|fkNreƴ{@ qY߾ U(: PtUǺnc46?Nv I dV*ޚ/~2yOi k+gRc(;=__>)oݨBPF~nƋosc*># zUm^brL5pwgߦ7etU>])jKf;9NHi~Tڞ*8lƳܒ}`zOas!s70*>BB5jjQ 9FL"Bc%onݙ78`E*H|IOkcz FBTA-\.8ѻ8"r5 ]V&i/pU#ژm2A6OE|T)AqJbT2'ЀzjL6rX48) =?:)~lj-HJH)MotSH3&!ms[EOtޯȭ+{m>ϒb5. W{Þ Tø ~g0֎U٤ 8{dPD_w%KO*6Kk;5/fz1]a>`_u#^p.rs*#P&޲ ]nUb~;^ : T;s]".cEQq x,ְ4^.\ .JըFg_U?#$[iy˖d.yk\U}%J a|lML6>R{AJcoS(2X'pK[5ngG\<9ջ:&| S@ۂ4yqHR#j_%k<`jH8K= ̼7U>jzwݵU~$9hbW ~x9R6 -~¯QVgpvIՋ8ZAiRM(pĢm'*P0Jl5K"Uu|8,nauηA'X|0SJ邜\1]Ž& L?}l xŸN%cvg~JÌP+nT#Jq0ہAf2DIel|U'KSpWEɧdcoאqHYCXFw!<`(n5ɂR~(au}ŧ7Z_vD-xF{g!#Y֋ o3~&7ֶDܿq۬kGnV6~t^N9#ݛsT$ejj|^LEL>畅A{scΨk= loi9:tjG9zyI̠; 2_^0t\:8}re M^4zO1t?|;Q$m)i"[!ZWC'[ /3A {NL`g-jB 4k6WxbSPf~*75Xaz-iY&5x[0/㮊+nƱ4R&KI[^]̔Ym@SVeH*pObʤmbT^^&~ YFk[KGFoS2#vTkp&]0?NBQ'y>t oٸItwaXJ O4,ӣJJ{}f6 Ӌff36Mpʪt[mA 2MmZ\_dב̐^ì!L!*bI)!XIIZ/)4kAb1Ă] hUC]m]1nHyC\X4V> dj†fHm~Gg@ }'n 3Hwk" {]8BL|?Y-n:/`wXp?8v5WK Of RݾqBki"4w7te`zN?|yD'Yj,2%1bl%qG> A;{ca;_9x.kGJV<7N1Ny =Ajɚo$"r@'&@?87{ćyV39z|8+y0Ғ_ᗹu1v4 }~HcdUl_eZS8ëe{+SP9- anLgut_A&g"ĜP#7LO#DkKܤ 2PcK@x|ozP1cl]]++or#}!l[=e`d_fAf9N7/" #Dⴜh*^uC 9T3/gxZONc~S?^_I@ޙ;饡=G鳮#j-/f[72r룛Uή8sD+`ߗ%}B'I%T eO ~lA"]2@'ewvJI VIIQp̳UUm*VErG'>r|˹J}m/bȪlKĕ1O(I ~MDFclgN_Mo*> F ~cւʳdmc+r;V9>%[=KKa67J\&[Epj t!P7e#ۤ pZ] iHg,!ùv9=34tY`GY ~@ ֘pDTqFCP *,dCʼ6bEBIntmWQz>h'mx&Vhg_R1*47Q]}@Q qOP*6,>#q6=Ґܗ_! *=T~'#\8Z)mRiaR$ bpqdwF>{0zACa8x*tnS0n üHGuuO^Xs?VFIAN q(*~S?AOIP i)H\!Co4Nb|ᮜ{HjO0,}Ok>}[fP"k G_W]Kʏ?Th+1|+0 k>쪘~c&T)-G-"ơaJ0)E cB0N$6WV.z0_}4dy3OƝCrݏtډowT%hkל{~]'._ Sl48\6ϣ Xy :ͽeGh!yҩ`%P}^Kר_Կ-0y@@3zWH$&^-VvMw M$|[p鱫$Q67reQF@mFޖ$$ AFFsDS%]&Jk~Ne$a,FP7䗂Qr}5JjSx iH}@(ˆ zHup1>Kr*2d=*ycصj!L)T2 |創VBpbѶS)AЊE7MMs|NDEe'$ $,uϺF|u$&,o~ muB퍟<}.s nn%LJNS f_$_ 2cISi2_JOl7Z7?ds㋫YdnW@6'L]jh0חD 9WD:?N%8kn`*EnqȂw1 8mS WMp_xNGȘ;E=C?sߒfYa#$Ql\T3ǥp݂b!(qEHnIz Ҧb@h-Ş8 2m%%ґ+ݻG㙴BK񔍜z|%u;4IoverTKf3W϶_twI mOE\"O ӦM":CP8:®'y J;uaO41:X,uɔB ةSfdmd\g''cABJdPvG?ժXV#TJFnuUF2&WoW9P4vo%<6L 7HR(֞LӮdHKd  9]Z3cœ3>aTS =1 f*EƓ̊#]]V 4/&H豥A0*;H@_MApΕ3_S/h2"~ ]=Whgdm.\jHFoR.WJ1P^!.]R m u<@&WJ1TL@G>|g&|@, n"ޯEU\[,,fWm:a쿹{ͅ7(P/קeu#0˞k;BJώPiXwFq8Ә $޻cp LR4'"V:Q{[8M-&4P;98PG@ d`ʂl"y[xиF',qNėLd-&2q{&kkFԪ]^kELdٺײi.0#V 41 ?M&Y$'V:O:s_dJ*i+RkDc͉r+d"Ɵ}} 2 2j" :%+iGYuxwAL u~b)fPqΆ$_耓 <y\GK {YK CQQc6XM?kë#3㡓.J#X0zՀnH_9 QuP//;:lџW]!SS~i*U e;u*M,QŇ>|vx<)8jHMM!_dK#Cgu Yoht`zXr&2yx?Fȩ'棕Um .6\ 9T 2N-e[~ޔ fU{y]3AI8TV $Iv 7.Zv1\\ʇ8JЛ!S/+TLH^9ױ41[. )p .q(.!aAkg6iC~zoM}WRCdүj<{*z6A1yJWI "4TXYHk6~L9Go.0,d-NoSe[>" 4\"nafTݕRل2?Ѷ=k?ax,Hu-9iu|6@n*#m>tdm\L3A,4ޣ%@m)* YY<4G mV9%T Ф45{+o\fuLMl:.7 'n+y z<.oeބ dSOk=&4Hfy+sD R^LJ[ˮPа ȿL- x!d׺I|~¡@\Sr x~pc puc=ij2c~@A`PScو y頡x9f&̅d:]^ *ID&Vɔ,v{Aw]8hH4kڴPB䥰}(h}_uF}iJWabwk1?-ֽ;R lu訣ܖGDI,R!ȝΤjXM#ΕNoYai}m,"뭟z=br?dOea# ev7\eU KiqJ~(J2uA@u\7t/MPʡ2 1f>4H1nXPckN7beڔHLa(o` EQZ\ȴĶ)lc4`B,'r$T`_vcFVDJBAD&_:ܺZoyfߜR@d7|{7R尫tEV{rx3P9/ ͞.UJz!7ݗt6s'ThM&g=q Эt{|.MSK 7*)TA†ק9h~P7NpcO2 ob6_聮 Bʋd3JQFa=Azj{"ǴdqoAoj6.JReځ/j]]u8Z hh=B:/or4g OGI/|tkC~T!8h6[-m[7K*k'ZqǷP \G &\0DiH<ȟJaΝnQfSA!y.  2bD `WCF,->]I6Qғ:s]~PbT[=sJڶ(sPősKЫz^eHIM={R E3U8kR$@?T$a.^9hAxU! 3+ `h2:τW҇`($Ay*KH39*4MO!P|F"/A6U>.= Rc:˶D`xh7_yzUU˾%_reaW-s)|5B(.lW=p2JPA+ *!"5}ZzQeᔺ,u5zެyV*c7QmrO O=3U"m"TSD'K? G)(r8<#s[7~ik ?ޜyZ|i4{tYāԁ{)ݷ!* jᑞ+㥵v}jI ltD_"gї|>E錦dRt6>y8J`7Ʈt1Eqt-ow~Nfd#Z wl3{-*e""JSBs'o%5> FKb4U| ޡ[n\nH f3QHC=]j;#KUu|+2Qd3O_R45~kc-!1I)( =f 7ZBW[7yX`yӱ1zʳݞ);kg㙬au\&VdQ^:vt!tI~ȢT`SL&h\Y ܩH]&f{Q^™jH$%Cm7M|Π>+1ᎊ0[ xX_ItT2~>ʹE&`.Ur`X ;!Kk+uNwI_-<b ?+ݥ3 c8`Si/Q|*10 4"DL_=x/bN"qc6.73=!4\1?pu.-:^7& PJ=̣4cm}䟃D'`Wx?y`5)oQp;$5vf,h gkiI #Ll$D։7yv'tQU gmivxfLn\REl7S"aryΞO_uE{^6&_:xIHDjed3VZS צv (ppſOWph(M/p[MF  8X}>٩&&0rď1˲sM؇96TxNͮMCE]]T%&h:4'qeUh79|[h3u:x`n̽rk0ӍYe4V pZ 8-IێqӖfKLJc=uqLNӠ!-,KVoRJRhL4ϦE=asgqDd0]5隚<^7۷vWi>vΙS}Y1[a3ݵdwWVYK0Pa[Y4Y/ Gp-xgmf(J H, *nnPvnkכ[*@qT#?POeA,F`hՖ?6(mkS$,q&O|F~tLEޕBM'tQThjNCU}$-aS:%y'#iw3 NUxZyhCF6t(rIC];vL꿱}'ݚDNj\@+  >#:ʼ.-EǤ^{IH:m"UiyhR?KY;|-Glst8঎\+ TkWSr `eIM>T(APđBr$yLZE-Q/IEh'V[$xȬ?f=Wà8dJ@~ʵqY>s "*ZrɐXs('%qg wr+ u} X)?)?r,2P Brؕ6?=ٶ)]΄ |MLc[ sC髕T>"CQMՀV ^\Lju,S,r"UUZp}qج@SK~< nF"#U;*ū XU؛DD"ł:#2rdybo2MCIvסzar<ݓkHu-b^a@C 9^춋~jnEJ>9Έ#KS&4'QK%ֹQ?:@VN.oxIu{dBd p8.BR^Ҧ ^I72Bk"!5#)]}5[ 3Q~ ANHH\U ˒ϛo@Ԑ>Q|Qs:ʕUS(Jdc~m ]VarN#v(4DC䏷ؗAMQĨsxGeKDF EJ 9:E=Znm55q\FBJx7CysZ%%חpe8eSǎ֖X:ƇmdnnZZpQ̞8wJx<Iz.G1c,ٷP\T+1q .;#]AIY {Eć`"xMJ"2 uvZP$Vč,U3`wef]\&&5~Kߺe|o\O&)KS0n(6w%;\lA(h^ۙ6h 3cWQLhb>v6I7Nk]#pfV;cL{l) x bu>J}a[n! F6Y)ىqK 5V)ͺuၕ}@s֮}* '4+clc~@;,BCFP7d glFG_AWks2kE2(eʃh617V9bNkLl+-!%2d^㵤4HRp6 LGpCcw3E;3yu5~0U:oOU @<-mL endstream endobj 97 0 obj << /Length1 1527 /Length2 8334 /Length3 0 /Length 9359 /Filter /FlateDecode >> stream xڍT6HHHI !9C 0# ]Hw#)) J !!{{oZ3u׾{gkKX͡pG$;$RQQ ĉ CCefЅ `pGrB6i>PP|es`>A  +",*E# wpY #ɂcp, pAUIt8 (3 hBPW%7e*75l C nt@{q_ Ps:W9.wB0? h CjHw$h;bC\!0{}!Y .0'$68ZJHa.P}}vp7G!+o:0WPcMجHu@-lpq9x9V4>0+  ]^A} X,s5f_]`CнϿf w' dXo$ ` n~Q?r~{Qo0=!̀. .ҍ@< /w#WL}08oUZ^9W  G{I9@aY;RK6u~=G~_1Y Ak/q?r?Cq[>N^}SKup}  yy@ߦ?F|  Om yAo@ր@u="gU3s@P iPm]PEƘô }NBLd̄j֛92>mE̱z=M;5yكDsJi<Ijb~uHn,1K~-<u_JdU;kJ)ti"[͇7xNH_|s \2 OU͠UNp_Z Wt A$~TWNnS]e攋:#]LI|6fIVQ=K*"4܂PAsno:LR7*;`%_R ? 1$V42tDZI!Xa%b p Dž542|Ƈ}n'vMiS~ {nO-G.*hxu= wJ|Y`9f0=S2D+f)6.$A96Z>#gdЊՕO7xsM?~ p6Yͤ}5 qΛ/ѩh`nEu|y4P4Obˆ[40⑉P'}h;ɊxWcedz18m)6",O[>\y9=ŠO{ãKM3ŐܸBWE"lXilq߉R}tI1_mc#4[mt i#nKc_+GY[Z^H{vOo)R Tx]ԣQ`1oH8N2!l@-aIGAt+aSuYvLLsLvH'۶-}opUθ+'1/Ol%X2ͬ'B5j반~ա r2(.t+"f5d|wVl4%b?*gԵWh;`Bc5%_bײ/+,36%{߭t7ZsP Җr BK/dEhƼiUIr_t!@Tq;d=v|*X;Ray`׹Y͓z?7Viuy42;en(6Q_b QAs =FjSgX DPU&V':U51=2b<:{W[E,J6Ptǎp\D-_햏W` [)X|0Tզ9'6ob}#ÿI4}Y6byx4|{N9Q5F}S[JWRbM筧 Vhl)HLWnwZlb8SLkZ?!Ҡmau;O_i ˴YϥLDo;m>cPby޼NLR>z?j&*Lx)y{MkB>*֞Vm4lev{XEW,SvVzvMe/?ナPBxFEw(9m( To^OBeh!qt,x>JGyݕ?vIE4W}KYe5)͔0[775[.4^mvᲄYF},cXʎVqӼwd+߳#e#֥!}d2*0"`$)`ziO"{b d0N8IhKd%Y.f!YwN`5{ ŮhuCiċ͙m݄lP,)iCh'ߑU?q0%n$k!{/QsNML߲@/~Ԡz e}ݭ[+^ Ms;QNh~n`VXPl*CbˠmO>{ΣKt 0 ڷ8B8sӍ{TP PLAS1k)4փ-/[n?!x 2e ($K\+˚L{ztA?c||ſW3)lW 7G\qć`풪d<^%^hF9 $לBX%5~5rkY7_cn.섚FIU92?U(JCw0oz۵&n暰bI$i:3VgN!SvcC4L*d3xXDg q&_Ԓk?}<)1䑉' _iE8vH@)vAw=Txk:*'c3Ÿ%,0Pt,͚@4r"D;XU\G(]f|#8NbzusׯΤN=%wgޢbz3 aQMx$CN"&*y ֜bP m*c3O\vM/E4DM^ SKy_jdc$gf B_Lϴt4d9apX!mkWd˩-JXZˆd&G BxBH*N̾΂pE9`~ $ƛ $'.]71ǓcOb?1;hV)8|xBoyYBv(9ۜx&uiI:~ǯT9&;5"R?.vg< E'O"oJYǴ]~Ļ?}sp>7jy  Bhk߄^?G-H&mu pIT-s~?R]T?ݺPQV,kRՙv+w~Hwb)Nݕ>"cvBnہB~&"YnQ(zN!VM*W7:v+hqo$Bէru;=w\;bzU,9?3,QkGpLvSKovʖ\=Xܯ#&T`Up4&=/O0)Gз&|+cTL]iazۚYKNU~Du\GUΩ_m3.!k|_bL$sW#jD]R+8Uo@T{bN8&iGOjш(-މ\n*Qdf2ֳsbDݧ:QvU8>ldA5uKT& X)/qe5XG49=>T6PRHWO$#6&{XƂ'1WDt;XqLJ$}fMå8>w,q9:6iyYEoO+b㵐C"Agt!ņ[Y!a|{ʛh]nTJ4\W0{2 RJFMGb2t?5'ΓiwVsNĵrqN)0|ؒ&\uĤFR 3o H-y'!Js6٪G$J?17Pʻ.GČ|!x$1~ajXerVN0Vj!Ltׯ=\CN?a6MO!!z_WNyTyTf^v/JQA-q+j9f]" kjF(iΪ iTOwyjskbbA7F49Nz֔.<rL`W @!v7N\C⌛&)pY,r'uP酆 )~ O>*E>6NωoCsBxzG=5 '"OO0ԟL)kz֑n]Dx]`Ym\yZ *-RIXk-oY$ܞ)`w(+㳰 dxש\B1o/TMɍ}_VS]ix`ۮ.\Mz݃^ctҠNs;D@uG|E7UT){$G2v9kGq_uh]@}{~gM4u-6o{r)l7XEQl ~}aMGnJ x"<&V,(w''ph޲ _u0c/QW‹ʭbE/ksZfRQE8NNȺ楉Yn5wz?c.[r+FL@'o1YSۻ~Mk}/E8jWt)'2 D֬ -ECQe_s}1:R+ ~avSGly}JӜaz엶%7˜]^:H;m^%.)wᴬ$RdSTNt6N }G5sDXƮ&J8ylڷۼ8x^iO0,Mlf;4ޤ8p)(HeF#b&QSVw˨Z̎S2#-J'ϲ5~_oPۣAWY0s챸+gM l =ѷcS`w6Ƥy "0K D30>"e' Қ*^Q$d r3q;TPrPe#F̅Ocꍕ5B@,MJ3P9xd֭YzJހ0/&3z^xtQu2歇N鼷cN"(8%饷k4O3u$݋pr2ZFGUq%_~w |x6'PFv9j7,Y: s'BfQR z[x*:⅖mfy♣2:*ETC :h:uKL38eޱ,Y:)*:5]_`vũ8& 6upDI'+I+):,zǣSƞ(v@Tyu36T0 uKq`D"3Ӡ%qƃ;ZC2y/H=r7fɐԃߪKCY,k?&\x5cPʭHK S:OZ7fIpRRϣ<;`G=}q`^g'#!>J Ҏ }ڞ>nH8_KFX, ɖ+Gb1rmVZW[Vqn冸'^d$Dj "G /p[9D5W?"@CA ѽ2pQ4lS |+kCkj)6!PmFTyfzlj?j~ \7vPjgQY ]X4#ŊŇڳSL߼e(QN=sP6Pϔ13/}̜ܙju eJA rW%i|MBN0{2n$~t%񓨹 B}!۷m"h[Vl9?_6F<<Ũ]g߱D"qܨ5 8aL @Ǐ5CYoۤ:Gg5ZgV/ mGA$a+*;48'\Z8-Hv+ 70O?pc(n]t'D<]x]V+Rn;rUκzq(=|n1D7e )?KTL478h˯sarźTak-fZJ[MMHw5Ҽ܅]!_ m,̀dž諵\Kx}ai~euKymW[lS;P4*ͨybcJf{nsK}'}:g@iV*.gCftnf) OOk , `_$P!FdlcgL@r]aIY~"wfΧ]" ʓL ;(@kZ9g&('2&窴̝}^%])@BBO/)Oc^3dve{hWQGSQqZcuK },r)h;ۻCٓKԫr=`G~(S+݉KD}|5_LB ga7z endstream endobj 99 0 obj << /Length1 1400 /Length2 6317 /Length3 0 /Length 7279 /Filter /FlateDecode >> stream xڍtT.)-C7% ҝJ CCt Htw# HR" {׺wZ|{gww? #k*!H/P "x@~<}׍buu! #Q>0@$,@ؿWqf "P7<y+:_v$&&; uApiuB;vH8'/ɍj+ !P7k`& g2^<_aB(# 2PWp:@ Vr'!3 l`P:/ ínT> s[;du`Ԁsœnn0_#*eE< GO ݛfO_53UQ A㳅"B@QQ~* r&uF8lPC@`6P @C|wA+- (7揍Z+ ^'XU!< "VvO tug1MPHn BP7ݐ0;PuG@P#j@aNUAQBۢ ܔ`^Pkmb2Cn_T_1 B`7ؐˆ>/ `oǏ^}ϳ'uނg eCx#t{DK IOKG&~ȏL}roM!]I!whE*`B~2.1ג'z"OLL;SMn5ϩYݲrE>^ 63w9/_ܲᥛWv& _}:ݦj?OaKb37^\VNFw,!U8##G6 y꒽G+CG/`avk扳}%#\HxAduDZ& 0|J>M ItRW53e;H.JGQo]Vb~WswM6͜Va1M++#F''b"?tpȨY1n6=hϯ,1| ,j%eL@5_r8-1V|0+׻C;s orZ/o yJ*vElIBrYoara&n1R7x[VCa=ӺsU&Ô's!'3h6mXelڷ{Fx`ڡ bu.Fa hk~O;4ϵ -MrIy(Kٺ*JR{Kݭ2&k#DUr}-hf޳ Z4^9pJY=jH YJDƁC4c:O Fl*8M,463³ $'b#U3=\>mmiT""1'-y6 %nO q |ӶEaHbђ'YU5e9MX(kN58A^r$C/q>@f..Krl&WIK:+zZ>ٛczgu\Je+lP3![ dD~Zo"͋7<k%v<9Oqhߣ}{O}QLi{5O? ;8j?q` SWsF8'i7}i`>9(ՙP:r6ndKW[Euj[g@rgVb.D:oWXqf޸ @;}jjy58ג $B]C'XwF$9y=޿>,%fي#w)J ;?~A3VTYA^<-M=h^9)3ڹYU!Se6|;BQsw|?ÑM(^TybrlМHzYl6Hj5<Mecv#ubapxYӍF6Dkx}sT:H{gJ^ܽ,ʄr> ( c~ җzZrvd^wDտY&+$4WR S= C7$CjO @<, JWψbeRE^TҾ uZ/ +Ks0s{NϚ4Mi[,8{'NlZ7#:19iR5O;{ޜ5J0FݥԃsFa%~+Xٱ_,(s-u,}-Ni3 pw}5E8ktYxJo*tg>[h8l,cܙ0Dͷw~ט:e`!EwsJ4_*h#teEpK(gC6, غ=4;*}N7gkZ~9{F2/@sEWmxkmtpgQ]=,c`JNSߚ]gA؉O~ihotX  <-*wJ͒t~pa[.' MitƢC$y5@:Y;I (M\քd=56f55X st 2 ێ}hKDrQjsі7ʴϾ?Np.׵x`wa8湚4S~G5+Oי8\j{&fېo|3Þ_ADh|bX\-N= b7/.03Ú݂~gclr6(Rj}p/J~S\CmSfi뢹ZaCBMdOIʾ[X.CQRI-VȾTZ?cX%sD&r/wxBJU]贔rDg/%Kh]r P\k1#2j3I'DȩEnL_A?`ӼLc X:x4]TX>C)M3j~xJQZ^7.SHO1~MfiJ&5({Y8\R$1 X@AX-2o=#&wHu˥F-BS8ݨí ~C(!eD<12HCea'A&mt>..Om-^J/0'64ID*Ǧ6"#5co Yag4,,BܼEÆ D^ׇoMh|Q,[Eoor3Rj]r_D }ב9%*NM}kpd׍>k4eKQqF=t%iJ(ǶFqi! 3)̛N#ĩ q|eA:`9 –\]_>(P$|ʹtzCй܊G9":xT4()qH/lcVEP^&|S8HEQIEpHZ\ث7dg$nJy6|]:3&B`ڋZX&D5Њ;[r^u2܂chL&wK2*μlJOϙϟ''*dj׀aߛٖIi7da,'}%ڔͰ bl F I ^eMԹİWK@4u.>f/:{.Ƥx5鞧FW%: f=eD'1<6$zƈ>)sKIuveuT?7ԱXIGǀW\o&hvڛ:ǒ{.8T-MvTObSSE^=ýD#oe1:}D?c8j?i&3 ^(Ti,Iyn~YXpidO^wilu_1:ʫO}X46#)SNy\}q`dB.\R׭i}BZabB{Z:c`S{^5SQ>c_B}`Klݐ}rzo n߷;7 fܨ/+)Nz"hh${v6/#.ڨejݡOz"@ƕ2o9(Oj\vDD74Uͧmw_ʈͤ~%=YLQ `~*Vg+eEutrT.~K(F gf bp|+S^ b["Kxa$bعhCFGJ?fpe8Xl+=B ~*&1Nļ-Ra |;i3D5/╒dB r|Jڿ^/IցԬ,Ί=/?xZ- a)VXjemoz ۺ_H轙O+g2821seB;] ViXLVɞ~K!2rC?}ޯ?^U-8gg=k`8-܍}X RY'[ | ܤO&yDLB#J5Fg%bo%bPt§Xi8[Wl`LƑ) `$[Q>{"^Hz^/|x>M\L?2 endstream endobj 101 0 obj << /Length1 2593 /Length2 22912 /Length3 0 /Length 24375 /Filter /FlateDecode >> stream xڌp] .mضm1wliҠiРƶF㤱~9d_7[kP(19%]Xyb ,ff6FffV u+W[b M=b@cWLd`uX8yYxweci+co-M8hK@%c`6b^]6(%߄$lmVSl5-+@g`Mke\A boa6ZHZy͔\M-ٖ]=P 4 ZɿU@wJ {SN`l2q|X@h{L y!kZj}co؏쯀P*݄F CgR%̪V(t6 aZۭfu227q`SSƑn?"~! Z K4dRq.- ;ea>x,:нcgپ*/;6/z釼p*t&_\ZIIKW )eجb/"X$/`[ ~c<Ӭh‘B{0~X4$skv}[V&jypQ!:yK+4Sj`VRHD|/ ٩;]c,xW}8U~#pKՁXnYkە߭}H_$3lnԼ|WS%]!!+bkqDBQ,~|5lZ[&In A1cNHK 023c*]j1n7ą"4~O?s~͚Q,kUEI8 ]hpv0jc.Uѕ$rHBxkS|AEbW+&;&Z F,Hswx~Az?:dErƒT#1R-ܷ-A`"qȿ?.a)}}b=;t(:MhH+ p,Zk52?;<ᵀ42*2gjs7 10hoXuҮӳ~^8D DzNz--J$iw2-߫1M7ˮdb}87p{YNHp 3gWp~tcKGJe#zPDQ}eUbLQ&'}:z,obH9Gʍ-RRX$TyɎһ9+xŧfq~k-DA.~(˓K2һr*<Fأ=a]d-K%aIRB}TwcSj]@:( /&kx%kGU8| ,ˮ1h3v$Vb9a$Nl`""K1EUPXyYӅ+k񞌖 G-}(#B-ijh|ZUZ¥9Z/:WEj*ho,mW`u/92) KhPnዡ96'􆲱78au8ƀN m` ZUݠcG>1 6CMMYdJ%FM+6nޏaYz¤r9&O)qAmm-*3Mf*bHKG^UXecKyPXGcLkyj/+9H njI&^`t|8ng+[Ei$.{G")$LcI >VOJB[G娗ቋ-`!Q9zFeڜ$UuqHM$dۈ>}bxFwZ>{nj#r9%.a..S~t>?NrU7rǸۥbFgQOMbb,}fdw`S6sQrٳ|y]?l$a# 6 ^{N+=oжE|GE/t*ᯗE0 <ʵlTI,pPn۞~@^tNgD'ƅ'hyYW1def0X<)݀Pk-q|Uc-lD-oT0 }d\VMȫ4Z>b8QOk$m骕:e̡"0O($w9*8:ԅ]炴!~Sm'_[RAݒv/ Ip ܓYyThzAp TyoI]4\}ٖH5GTs+= 꽗T6R B`!Q' #dN}CW$X0I3Yuj$_b}.ڲ˞%<N+F$mj@݈ͅCO"q)VN9>3=⦉cr9ôm\~ z%ʘGyRm`5W/cTT >T46VT0G`45}z bFoH㰸uxLg`$}婅Ie>>ʤ*2oW/4ӻiFB;2`jҔIomgP@w{0n `͚Rk /Y:LS< `IׅO[L~lIiǣ;R%I+\a?hi=76i -RXHwG)I &6|h; ۖmrA _%C [B%f)đBz:Z})P͸.#U$4㑭xU,3Xcي┽-;aQ mKf ^sͬrȉOb.DUʹbВ屒 QFYڎ#R*UW7s?S^:n/5G l}+^JCRfǫ `foewHfXEƩRhEvSNM6; {,Y;BEi/A!/6Mi7/TvhTj;=c?lqroľW4TIqJ`)|BueC|݌۾@dTRaa$.Co^jcINX/|`d0,%wQ1x +t.Rf.ʭs =-JNu(SbGiʡ's9#AQ]1EQRZKPh뀁'x̅bE0LREm?-ƍw?q̞NETZ>H1dq.U {ܴūoSN@k).Ti/-"\G>UX]_=>|oW> 6DIQһ!Ɵ[$]S+j\(]DUp+Ȅ3?De#:[Жns9kԵ"[O~c(:;J=}6Ӕ_;r,z4`j*qG-x!*/qFb}K:TXײ4Uh|[~nj&|@.sP:D4yHɋOTノ$m%SnD{;{3K$ăDK  Fv|SJPa2$kLvM6[jmtU6Ip$G,Ys=SMf<^?6áAΔ$;zEb*tHEn+_S]B꼧KojטkiZ-7`͛%-cWCAO3{#F(6I`NCFQ{^!4,joqbKyvDŽ@jdFQ} FXx)Gzz+;i1,8_C+5[G계 wΦ=p9+n9#?FyxFK7jFAMz(蓮5YAs*f% bAz2Cp<WiT8~@7,/O~N =7мtޮGfӡ`VV?x5|G8 wN>իTU Uu"_8K*IE *+W(\WZ蚴usH6Ңd&R|KRg$0~9?X/y5Jo!ҏXbQ"7gYe^\7B>3DUFlUEl.˶&&EH[^ϏMߢ.$G[73٪D+skuˆ G7@|ko/dM>C8@Mi}EC=upcpt\ lW\=}gF6@n% !d|wMT%Fـ WɌαzL=[}j|~IEfe/1g'd]);_2.A)/3Ĝ!3u}jkޜRqwxz)%lcGtb p!j;pLh]k=Ops%YcB_|j?S1SJ2CtƓDka'3vѼssOdcѮSۃK𜜎g^V܉j`HH,z%:S$:dz(7-d#GQы.}~ᕉ/Y\KL2'%E;A3mMB]i%&ǹw>2GL:,Tj5ؓg V4CJxvZ;i~ j^.o8谩{=}]4_(uIGL[6-6;c#&oٯNYRoE Hy*Sh'F}O!>ؚ܋ ?>``&ajP-;NW /H7iBJ|Gr!^`#7f:6Z$}@*L5Թ`?1C"*E4+wz6}Ppo 3:oZ5.D}B:zҍǶ gtlD"z2h% /1 {H}9$ҥ*3$=1boWwu5V0C?62Ǐ."^SO+moϽ2f}a'.V ?2Y  Dт%̉MyY ƼyǴăe*1'p1ߔ8~&kgwhzfEps`r# e0_K ~c7߁=;Z`^TV f o-cbM3*X~tO9Km4cIc*i~ hDnZE3٧OIڬe YO߆ւЄ?Z[8$#lyD3YU4v>_bqtx>͜ZYWn B~ 15zQ7YXsIn>Jag5ahbKǕ*_e;I _>7,:%4"TK=ŅtTOb~ƬQpcUƄU>sq.Dݜl_ yڝI]Lg~u10q Zg\MugjKjǓśN3hjʙ-=8mQ\|y$!l *sb4^FucᖅϪ~ö_pi]!pP:W8*~+W1eWvSbae\m~9sīaקG[Rz 72#}B-( |o4;+Ff XGLc sYщ?]C65"+֔џBUJ~ÍcNU@ Q~ e nux-2K]%w˩ⵖMo=*?=!cW.luhTic*-]49Av1~T^@޹{R\´+ױ3=MryqvѦ7E6YK ;qƱa#UJU>Xy^rxOۛta6zD KXNzr)T}SD~P36m=E* kGC|7똤}98BZ:~E56bj6/G*CHK]z¨ّgʨ'V- ؓJ,!йOyh~&`_ۿzCo岘 R:+dYԕөtLMO֮]baJuIF,N&è \"q"F9Y/[x]2~CBzE^OސP24C<;,N~, ;Z1.b{qն9a6_Ieg;8~R10Ff9(RWfƯ#H7pn4" 10mn 5Xahēh:alؖјkg@zz|}ӵ<K`ZPD.؝f!]ɧSLd7C`5"t@wgO{;f_ " WM#h]&D^I󴢂ؕl\F=e6M78n?FnjSAl4,簪YLM~z(N.snOf 5030]/8Q66egDė&{\t9[F'8\= vѽo->ʲr1E0&o-|u, }{~DSNU`Wb).@Ao,ߛ!ז6]2g 0oD|2GBM>%II&ϱ{ϵ^#2 %ƉAq!u)@Z(~'S|"4@G~x9.U^$h0w;|13tJYP'tzWk3Ж˥ɖ]骢Wϻ`s/yrNxSb}>o2ZtXFߝen3,}bg6HrDe!Y x-&ᅣvpHrB|۬V֖K>7K UUY-#TRPE0=8LՠZtUg&v[t%%A8/DdF5O ( ]-6`6%Tbۍ24ϱ%Uhԯ-Hd#nL?((@pD!\*j^<J()eס~'X 0})e.e(, @Le+75Ǝf.~ݕ0AWXn_D77IuO,e{:=9S 9mD2!Y]:9ZtsguDuMn2B9tm,߾P>j*a7;P iC9/3 1 Rn{r!w=++*d~x]rR3Pi $*)^= +; n5rO֣%X,r&?ES?CgM=,_2Gliuj &hmS%C8Z a A_'#3't:QJy)~B IًͪB66oLa緄.3 xNTq,%}zqF`ӽ)R8IWl Y/#!]<7G_$sO'qЦCW.%eXsS~L4\6Z4}VkiڳP-l5J0OȰh[h)-t1#EhY|Oբm-ʥ"8Ajn :qIkhh8Z˱=CjH}{~" hTYmw.5%{)w0TM՜6eL8+#T`~_bA]}D:$~ME7mĖ 'jLXwndGK>P"&@Zt+L˸M`\>lV'$axN99}YJoF)п~]7 õoz: XO^SJ?/j.3]@oM*ǜ~0WPH{Ƣڰ~5S(a޹Px komFWAe.FS>̱CSy+/ܹWAțl:6{~5bv(j?.զ}wSOUTWݣrZz OOA](ny٢ 5 ^ŵMO !%6~y><,Xd!{mƝNTQ=iS1*hBB] ^7]xf/oV|6}-H ) ea#)t6OOׂ)SLuuʾ,1-hhPYs^')M?q4G%}UJbEDZ\&Ɉ#23 DIpPd"5t4Z PSH[VޒQ4[siXܸ/Tec 2`E+%# k؀䢡 qY9MqěC_-uN6|.W!;/2Kr P:k LF9ꅦQP+(kfS8-c|mDq MI#2DfCbqH#5wa- :n,(6|4 21]*gtVXT)ť>QB >͢Y.xD4<0FUt~4U]T^yܲ饣RuNXi閥- Y2tXVdj+|铅ɝn`To.;^Rnz  7.sZhA*3 t+Nk}Ԫ]^Rjٷ !%Nk+HDn}⍃a^.n4zԡkr\Zu.ulWn|LUofy8~T9/z񌣉H))ïE}OW(.UvwPuW5l] xؾquR6L|춒ɲjcϱe>M u4oE"p+m DaG(( nJ>~0 mJe.eX4| x gq/pSC*bOY-x_-&KY:pp(_ {mKfie'9Q@3gv"F8*a=Ut-0#6Yh  +UeKQOKe D@/σWI>$],a) JzWU:wyg8SRUOJ[EwTI(n9濰8wӫັĝMB㈧IrlwJ %r"|͹3c[$ަJ%h%1t=~m, v砱9V W#]Xͺ6z#E" |SʇS?`$.‰c &!MjE>j\еf(EBn' -.jFmAu.,cE$3A$jH۲kBe>ƗA 9A82cN{(A)UUY(p a_s&w6BH>dT#)߯Ay_!N*7J{)Aߞx;Gf?\sZuSSoZ`_< *ZfCPCݗa yϥbKdulXK}kIF I*~tѯ %#!o!#qc+.y]n7%u< 0iPNzZN]7+ZQjIg!2\7ɘNMQnG/NmXFdq7O `$2t{T0jBiҷ?K7!.o՟T`v |Xӗefсdw7Ec,'2 st|v)WJd'.i" L3sfz߱q{%h#ڳ1rH~*X_BAB)w҃6DtThB޸*xoaqؤ]'-du$_Co9Vh)iT ŭ!YjN T_PxGY:Ph:[|GixɃ9_Ft9 Mf֍hru&N"1vqE0Xvڱ$Ѡ ǒY>jq+X<@+ ]dMLº]g fhkS.Z}7ʱf My+mB8ICzfTHVd_n,wzS|`\Пw{́Y"i/)WHR&t%yL]'m躖mi]/;؁Atܓ:Kʛת1 &UY(OT޵9$?.!x\E$3o7y:&R IedIZ W#lQ4z7C1VD;Ar"%!̐N5Ak=ؗ꒺}PCԙ]F3?dš['yeqb`+E'Bo-rz,}-UݝHy,Ξ 8 8qa.v,r5 O JoV< z^(Bxg%c(|NxZ~TpY[KuN0faɖF hM-BbeC]ܚ֣ 1I(oT$R7ë.}KTZZcX%"hʚZsZ\vE>_@dWpa -h_ȩX `̝cS~Qsex{L5 ,\NϡjܼjIdlz,8ZH)%ldMV!1f"] A.(Yr]}Mz$M&^y,d 'aڰujB0|CB[έ=>ѽ,1ʝa$UAF }ښiy:|HT>no$j6){`_W)bY93S]i-6J zI@]ˬ2[пXׯT:$} p݂s"X;, 0"S/⏥x|+οrqc Mgsj`q}C2ߑV.U;qòXR!/.D ȏW CR*T}sCht` KPXׇ`rzyۆ9)•uUrErջajZT ofWhJ>ۇ w_H-ǫhU\Z ˆU6s]N\ :WrA.9s#T|F@Vnb|#Y~9ك{=zsgjQNM9wX w,[k@1brn̺_dX's_,TUU6LKƄq >f=h:sl(- J2 Uah1q iL Q4[0.e |䋰*k- $D4Pw'Ҙ{9ғ41ʟQU)&y+!ӿ4,+;\8#Z3ڈOTUFD8E~T9Y>^u=%CAP{z I FGԮ;)_f_]Й&>n$ntȆ7KfB^:V`*|텍c. Z6 AKX͖*ʞ 4OT;F4 |so?[PX5SIyAIȖ"kS)ļ}ۯE} L̩9 sY$JdP*L>iʙn#T.eV-xm3(?OJ4\y>J}cv*d Il $Oȅ{ZR:65}y7q͒؂.%| TDH&a$~H4נm/G }<֫K}oJߖ4gS~X ^:yYY>䧳hR@y\E߼OEkcx36^/tn@u/ĮʓB(ϱL@[В)k[^;")m U1_"w_mڼl B7J&yMcx4OyL+?uҞjĩw}.Զýic+_K_xs}0zJE8 5GH 8^RR\k <+jҵ*x7vmiKC]bˑĨW8/^#FME[u3y&ezI Pm)Hg*VY Fq9$ҤƎ="n5Rooߨ9.,=ݣj—1mZ;Ӳ߶xzhe/ihlܔFV(ՎݳGQ+"y1#]?κwTh,QdD4~W$rEItp^F5p/[`cE1·a_:{hb3=0K)`:(& AOA g!͗Z!h޴6ݭ{=J8܆ʎ0ܴȺK!Ej^C=P %ޖ)ś7;%G%wxt)6q:t_uńҹCb0ꚀEe_ܠb8oB?Te )_13% ï(/]zcR y3|rЎH!&OSH#+:Nv*!F{J4ObFTwQ?37sW{.Z/Rk3Ġ@onZ#@L7Lg#7;!9UH$n`4,8מ}J* n=ÿA{tXy D$u#/ok ~{gl/2)D})ޣFãj: ud^~jTY7`[ YJ3Kk4J{n m$?Tj&@62a%ͥe@q:0G*{/LpnX (e+G/A  OLQ]~Ydt^{YElW-ttJ^1|<;\mx*);~DkQ]iT\u &C4|Z؛MǙb8: vq0 V iJnrHVOFsax8_L!';.}-Hx?_w1⏫vCUU7Wu@ P]ne((ājS;DZYتkXޥWluܿSVCFK`~@b^PXy-v= >'M`>^id%䯓:| +[b{PN{]IB!CeKA@ VH}R-DhooSzRK?SU5hJ;տrۘi -m)5PhOg7)3~ࡢ|[sUzD5  $>lVCQ {- m4 N=Of(FJT'df(ܜ!e3Swpu<̦˅Y@+%;~H0%1Î@5J3쿪%G0biq܌HgK0$@#DCaw {q..?W/xBuQ(;~ƢOf[Ł*/oiSJ[8A]owkp}׻e Z B*-jW #@̘D3s[6S yUHث ]:mFmް.cń" NiOҜU d 20^tR U Hrv:igSTGF֏B@p/hP:CdŸժ<{QNšIӄs!!q*S+ =[ߕea`1r R|9Lzd]{f6>L`k C?dO,0ЗpC\4@6yDC-{7xyJl+jZϳȩ# T)۽ й,'8$ooMdLeR9KuVy*`M/+ nS̍n_0o%E̒)Ɇfv U%PʂxW,E½S/$UBRNR8W_,t"D^z@\E[q):wG2f+ti트iŒ/-S")sQj XH_ I`ۆ,AUOR endstream endobj 103 0 obj << /Length1 1681 /Length2 9856 /Length3 0 /Length 10944 /Filter /FlateDecode >> stream xڍP.{ww܂ 0 5%Hn Gv_^M3_>}Vbr;Aع8M.nrk@uAPWD_(&kSq\<.~a.a   Ț{*e'^ u{>??L.!!?R (P1w9>hirܼKIYӓѕ j#4A  `#8ڶ`?ZNnPA\#!V (p+3'՟6_w[B`斖No0` v_qy!VN`sg4U% v]"o[X89: nhCAgg!N߿5be+wgN$لB ei[^_g'gs 5 p}o[,@6`?fP<{\߿ rJ*(Y>ii'//;/ $([EWB N?}$W fk:=-ό'MH7yfݞ_y K* +z̟@ b5]^ +u]9! u'WWy,_z^>Rbd{øP7y\ϫhc'syk'( M"> So$Tq85FBNs߈8]'տ 7|.K|/|?Y/,O2B9;?g?Ǻy:~GNOu }~؛@^ K9'KPЎ)2O ]tfvEh,uThʶӵգ$~ Sh _&IRkK=÷v+繸 by(x/jUD(fщ6 *ϷJBN‚w={}3;DSk{g6k $xcS eбD㛎\L>w Ia$JKxsV׽.Z-\Oj|B?r}^kSA)`s" wmb׌-W?4aQvndyjSx(͞+LGxn8]Yf9 uZ90Mol ;iKɕEg%{GTC~#JHCӨ>lj\ 9}.bh\I2O0U9..|sܝH˦^rD/KʾSBv(G46C2{W3|d&B K_ }G },ɱxӥXh-NcÓ÷"/ FկZ ğjV)tk`ㆅKz/H_=OrSz:r vBN&lfrYGkUwr?+JwdoE=\.MTe= ds( 4hA: N%dzrE,:Q}6VKVtu}`Dƽbn )))1'fz8n~_3g9[H0£9JŤQ*KsZ ̲ibנdO/1z3V$4x f~F:j 0 o.(  2fMPjɼg=Z5>L%ƔN)5n:*2i.7C"8Dw)#zUcLkO rvЇܘ1*SŚj/SܕBP$b;.>d)jPFm[}tT.pT:bާ1$|ׄg-:- 2`Tu)SnJOR^,ct+6T$Z0"0':%1*m9j$hL `h/AYKյ 0ٲzZY%&jO2%byOIƢ_Vl?eNѓxzhlfm&?!*zxJ* -u?zf,dz <<1sDWʱ顦cuޱ~1 ?I )ݒ"s>֛D>c2%wp~Set81?N,pZIS\cLn< C+t+aOgbe/ye:K%`b4"$6zZCmUM$ZW'dy/j/؎\-R.0șT̛HU94H8&O7β 1ʜj9$DU !5C%"~< ][Gz8qIMC}IHT) ŕ E/tbON㤭܏I:=[2sI5Iar(T!~űœ% j3 ٟɝ%!mmPF x76BWoFU*!HRtM) ?⎤[h8g%J&W)`*_.UR㢤'fبuH2'dL} ϊ=6FS| 솽LrR<ˆ 1 D_#r Sю _981"f.5ZRv@ұ#ej]SC]"YҝY9nl 򠔶ndq9 NB=c4&ĕ8E^~&]rֵGO1dUOnj7/xv;q/k*l'32;MJVnoJXST(V*5#3n؜u( B } SU;"Y2AEwZ٠:jgqK1 2&Fp)g3cV'ψ}H9nDU126]_h5'nb(g06H#P~ ym@:%z~ɪ?MZ =wU OIn9D=Ԧ\+hoF6[Ҵ1BSBg2O5ySl x1!z5 <- ]r$WͽS]YLMO2 Hc$O=ؓ(= E- RSZo% Gie3T!->acm 6reYar%-z'֓qb!mW^-_ఘRJ`Ŷ#=I%ucw"A;|ylĨ_p3{eC1緇'Ā9f l xif=4$'1L Tt?* LS\fLT.y~gɓKrB4zc> H]GGZoPvIrv xh)'{L*.dDX'Ǩ\Vz z2XwfBe~MO +ck;eCVLWg  jR;ֽm 7Q?^fQkmq&_+Ň2O[TazW).C޶b8ꕴ{ g ૂ2 lV Џ@kȩRRU2=Au}ZMQx/0FO^55[,DsIh`mH¿:sd=i*Dk~TNii5#`rL{n?&zWYsW=dĚTx`s*Sۈ$UI}P&ńhy*Bek'?]y_[eKHrhJc#!ZN]P5@# |fc)lg&P> RO g٪ `䐏 6iaba3#Yqq z3>~Yc ۺJ*,녡}cUK&iٚ|U,* q\%p`eiy/rQh!}wixmљ @b?z9N yEG^Ylv<o1+; #533wQD!ޱu%EUל~SWvM@D 3b\Y,m%8[{~ v63 /  87Wp7k+rl&g4}X2t|,A{UdCܓpj^AQrWVf\F*&'z ë5s?YFs|<Nȍe-YBYB>7V[;nG~!9 Q-_^:}`+6D*\3=e.u-6Oq6N13/]~)}e{Rw&vPV|F_䃶ɩzR)iXo`᳡/V !]% Ϻ5a;zG%U8'`iat}P硴z7 ׌w+[;{t5V)mBy7vUa-#h z)$2rwKnV>0Fٺ_0tRJD4RǠQ`Y*n \k@Qpbn+<@m1'Lf7n=Ihf$#n \l2H3g#rCVk1ijS͝Eu2*'IpWb` h$.y|׬ L$bIΨ) |յbEBDUH l F3 TwwXAp&`k,G HЗ2QFgYYvaUz9Pf>/Ȟ(hr;@J:֬IJL)9뺮hZ Tw۾يE|ۮ)"[O艚ˎ;(9+btDKZhhFyyקVG^&Ppo ǾgH>>Rd a^V.GQ*H?m~?>ѽKg倗_ÿph ~%=XGBs_K^4H; 2oGquK#3l:Eye ]{Wؾ'%F~OࢗY DCLиЩb{2N)r`C/#TT/* щaBTZ n7"c+-5&1@T.uV|l`ð[#Ub…TX!j^? rvt4MFՆ9$/# DMUDmGzkS 9O#M$iGSiUˋ7מ[l@5zPܺ3X(+7~J8H:uеZA_I 7rȼ3-|yj>u%tl9F<ĩDw}P ifDV&Fj;SX+1:EQg, FKX y}E@<]U'Ĵ0|yS-j:ѡGσ7n_xo ehub2.mz{deU5! ۝i>h88jp!"cLLtY}JB6<_q8E__Y·KjNK;c|Իc*AdJd9wU6Kko[؆ؑtIC4^w3m8ZMc uJtM {CDC^3*gT}G!;]b񍼓_Rvl7"F0Bw$r wֆ !Kt| 4NV$%\ԘeA!lJ cs@~E!@-ӱe g|.;}6n c14r߭S\>[l9+͝ISPll.ĘbhG5AƆڧ z^ؕK7n߻ uy,!+t ;ڐYq(Z,ә Qs#K#RE/H¸\H\N{H>@RI 5*./egɠ22,6o.3ȥQ6Eߥ>[~ܐ7QyB+r99\¶6D&$}HWe{W] 5%EuDQԪOtCգ޺S`S&^r {L󒖖8݅ < ; AxU\+I=ˤ\/ Ei(*OǵbD. sW̗Xf+15yټiB*Xy0T#aext< lܺ%}gm+ܻ=?5\RW">ed~m' p~ѯR_жҨn58CP^wDBCwr+2rs)6P> ] ů9UMX " ,;}K,JC:ȀNS9_(W#RĿ7#iTZ+u`ݧ$W\h0FxkDrֈŬWc":r;wJh[_4G|"( \6X7ao2ES|eD~gV5˜rfAm aDΔo_\ƖtoE L=u^YyNؠH+OtSEYNS HԟxsQ2T 壿9@֤*8}|Ǝ)RO#kiRACa~ԏH L:ܰm8˯7ɘO~HdkQし6ة&:#;to{CRoM쒭o߸ֿwKS ?L{< }4s*`LN@=_t \ԸhU0;T9#?-M*9 G8띻GȖ1 ;GDzHNJLaEr+\$`\*jifF褆2ZZɶA L`d^#r#^tsA]BsR,P/dkݝ b ?RRzV!pi (G*{7"o*kz1R:bQEVe'DV52Ŵq6hջYϠB yH5ek 6ErvgFjo;JBaU6* 8ca e|ެzmQʝ #dGXo'L,(:+Ȧ,M>vE+lVX ܼ[V_vf4'#Jg/OH䃢dpxQg^bg# `sPrFphKe,Lmk{C 3-v)Po9WՏ٤ggY hOcPé P<  ƀ;1=G3et|bQ[“F!"ӾʉZ 죝iv-o"sbgA%Nr$Jwe/>^@O~hf;W r1C5VgLUn?!hC~(HO$IApn[o[&^kU%,"p?nLem iZ[F>Y8S f z 8p&g|Lދ(lV``-N38۫["/~7kSIň)|PP(u9L}^ksjCIg-Jv{ '3yf0CSPAM ֚*ɏqxl>LE\'ˉ/^!Ȝ`d%fy+I_+< 7HGvKPOX[J\cdUO:+8!sKL0ȳm0{v0YKj2$EWgSVW| k}@*3/"a](P/~_>>8RA`v94Z!*&p NS"v&Q];0aϸPjDf> *=cb-]/7󝽮H}@>^ax (>3.(n~Ѽ"7+W1j%Uk7z(*~ ݤ˴$F+woiQLPV/jyG [y#\ɛ0k<\<2uh6dQwnhr=ޭ+7¿cVmw@vEz1Ǎo3KsՠBN>ٜ@~l(n D endstream endobj 105 0 obj << /Length1 1629 /Length2 9570 /Length3 0 /Length 10633 /Filter /FlateDecode >> stream xڍP-Lhp'݂ [p ;3{Uڲ}? Ez!Pvgf`)3sXX)(TAV̈@;{;ËM%NH;ZY9,LL\ qD @&94 Gظځ^#ʘAG:@h26 ́/+ZT QP;8p32:;;3Z3@ s2h4n oh 3D 9O x1X` G 8@EJ`,g௽030MWo"dCcc!6qY:!w=%dehGq!%KgolqgYn7.MD @=DAv@mwed-g_61݄ d+ń `gbbbm@cs6?̿/x@l/M=ADw{C' o#Dff `4a1M/orh3hL `+8_OZ"2vOXpgeг3l\fQ4U?R`Sb_v?;uT5࿹!/Ѹ;Ho qG+?T?nCk_/utxѿe sf& GJ9́mً\& c?]Y@E=gfbd[/|^R l 1=a,vvL/Bbag3  K{S`mqpFLF Q `Tq#vzi?3_M__* ,e|%Fȿ Ϳ __#Үvc^? t#.By,U ;oMQlkPӻ/ص9>'RWf%v-\$~T <݂8oP O[u_KW9(yw$\jzKFfv*?ʼ}*T-5ʜyO @O@q:}}3=L,Ky:KJ*}'.9#{I8sŅh ,y?3uBI}z-dEn(]Am;>pgn";Z.]|JAthn:#LMaQ쒱?ex9tp kk)N $J,.)rw$#\bDXE̊m>.|A57I-=Lbv(i K>-UwTWopT[-6Ĝyg$ru |WᵘipxXULqzwWDf>1(bHm{xܝzsM}w}+(x5*tƯz?O;'HP$}]$qwڴ( i2*XfMŔIpp$P|]^U ;g!xL!l(Oo!8yQj5|WG7S6\,l6BtB'sA@XIX]jYY6:r'(bϖ~ƬE$߾T[p2ɔ4XǥCEx#&vl,:%4y}L2âAeok$_.&oYqLU`.L] 6!b*P,侺/1]xS6l4PS׆̼ecSF-CfCM4l5l&fwkRź=ʎF88*;6aFG,$;M[/!j@ޭ(ࢶASN4CH]3y#̪Q54Hy㴮Wt3|8,ŷ6ceUpfn1f!"TQ S -ҫ k%]p([N{~=  7ĭCO}",GnNE ߯ jL_JcBL݊K]T ,x:" 3=< K`{埸Ple" /#G}9> Jors[FJO2!o@$6[  0ͼYxJLW!|=RKԬXo"c5ÂSS1v:[t3 ]p huP|_ ' ,z!Y-Ubq?m'"z@}zV]2E#K'wLZ2(RJz`9mU JF=X՜P? DWu íRynsZ=l 6p_1FJp;-+`/$zʰmO=q/ob([#&Ýd\04W!i_X%o^vc|*^<.WDcQR yڷ!Y@V)ҪLB4sT;Ni3b${}Ъje}Uh0T 0Tޭ6H9I:֝JU[jlN!͜$-y,?0AJk,*7FM̶o$?[Xu]}ď)%S7)A=|lSdW^2r?xE.-ABvvo0gh 6XY>[y@Oy3NΪ%d}.c'M7^!t8újWh*bk~|Kϫj'\lZEYbh#Z=uz}iF[zG@|*j%2F]H*!8LWp"uM^HTbu&⼼}r{o9TL4L=/!+62$ MVH|öOPjbS~B U&AGeB i_IrdN %PK R% yH8P"ys(꒎j&LVy("a4aMOzڦKJ3qJo4:H7~׆ZOw hYtu$QK!70OJH\ɃO;BQ 7Nt'ΚIr(7ƾ-rd0, + ûdMHݸ_dgxK?2є봻>OnC(C6w]aI抐L1rsY{, ]Kƺ N=G03/;3§UPrAUz{!,Xw$0SdQN#˧$ Gx}pv/\ 9*MSHx1r#̟H/n-v@ o.ڈp5apd֫D汰FO* [nRPό|I-zvn(ID??}%~[N%U oӚ29lXQn3;"-esرJ <1("ﴖY`JhAKdpрgE%mm-M3GtVLu7[=O4JwnZ 15Vmv軾е+4w땩mQZ[%gb6ҥR2*HО߻NH ΩM}!օN_߁YO*_LWn L4QHZGR}xȳ&V~HkL(|c5$z؉&u릿Hm GӜ#LyuK(g tr.n%X ,$lYW.Ϲ`!X NCm!ܓ\>fґX=: ӋU-뢶'd]tү7SYC~.8xtè 4|;kk YEl 4N9Kjg—AZ\=3Nިe_MWKono>ߪS$pGqֻjS֨Ie' i'洰B@Eh~MJMZ+P:+M8v62w`+ҖDݩ-bKkуʸ]ѤCȰtJ(,p6o&̩ "l9*[>xЍ4GZjd yUhՏ}Y"X֏zG#Eߋ7$֪5C^Ï(~x`nj3 nK(@ ~XAs^1Iѫ39dX"˧89*Ҙ/4R2&c} tS*E ӭpu7TlQHݿkВ5ZkE!ΌLR<*H Kw| na+1^lZjh~vL/Ӡ㱸A- v+IFZPi;,jl+O鶽L$61h#튛?}*<{dP-O ,ҙzSD=7WTdR1x勷%sr5•Z4$֧攃;r:P#JT*5o:O9i ֝wSa͝kh?hJ'c0Iv;Nk"9n{˶ wQ2׋M+=b.p3W!f_o!-V<荮yZ[L@\kOxAP)h U(PXHqtj\(>9#'pM1YbZw25Rغ䙘"d!AEu&hpz1G+,F](kbƶ ڍˬIؖ}`LWAr2˓ևq)OK>@nĄ#$$rԗnׇr .T0ACVZuU&ˮyWh>+f)Istݨ2#7K="9ku'A= $ZA%*DZ2y`2'Cͱfq AF^|@&IR*a`X-_|5y08@Zi4Uzrw߸M3Sٵewňje:lXΤ%EO]3Q\pBWdy̜'\9Vi*rG'Ff&*e^+;hSY3$ s"vjQ}4wHzֳD+z7qT ﯃8Huߤ{L]Q:<~iDu"lFD 8+: "=~u:Dn ~彻 уfnp=.{D3K"yQQ_][W2ZX`e˳l.ʙ*+n7`׾?fz?|!_7r3 d v/,D&u-&~oXK&jܮvR|)92X}M, *Nh,kݳN2q)͒|e&.a%蝘^<Q/59(˳𱽉@,IP` `²:[E;n r&emzNCPzsۣ!Ř=! 6tIEGT[ nu#5'[X HGW{/CIRDj5L^Qhg$S!۞rA-YE}gIM~U-R~G4)1kil/wDHs k7 h'H'~rӄBHVPXdQVLG E;'T%Lt 8} r1鍞NU=@7sqģ}ҜdtS̱֟Daҳ@U̺:t)sgFT|ݠC-ZTYJMBxU`rl`5x`SXE-#,ur-{Ϛ;yj%L* 1sH¤.@C쒭|R0*^QtZiV(H~vJ}/ҍr{ʎTm()|G S/UzOALS}Ne;}H1eJ+~ᣋ @h5D:nS;__N"\a~̨=ۓ7Xz>tI⊋J$!T+u#$"zVeq ="D2f?ڄҧp~7~ltXT?"W' І=aLUgnz%h!4E kP^L X{YN ( <"@>eDPC(O,}^0dGm[I鰻g͑G98D9;#su^;,RNjH}0vkaуەp-SsDݖ`# Knsg8yIY3Ͻt!CHzD7N߭ $ȉ:FrPXu)4ݥrI p;blO<I /78BeX@ư4*Yw/2]oQCAiզN inQ.s U[d*1'PטhBTk`=*=wu*udV`[n07]c#'>TK-n4?TMrG6xܞ`^ 8SS';eqU c:)+~NJ$NtrFhgBEK'o}~wniv(n:Qp~3C8C[ON*ˈ̗ڪ )H ,nD`'&&Uy7$٦oaMc6>b6΅}I)kN'Ѿ3䕳+AK,WY`F>zSlϷQ/QDqG$rfce;`(ftpý5toQLyVQ$Y8+fυ40[`݊}3ڈ /}⍨" Uܡw n{5ONQoY5q)Dze QgUE̦ۭ,nXq/'5><>wL&޲Li(ϽuC>$e ;G=k*U1+x)R8a/ћ폞^+G!\HTڐEzhO~0":9w.cPS]ԉ+jYStwA2LF.^6*x'V,{)m/ jyQ-Iͻ­D Ui>3lI2GuI.׮CY]uYXN=@1'9GHe;ǣ4 "{5%~(7HHS5~sl%ƹ+~pٳo,]*UΧi[5X|,\;vLVcaޙk$vQnDmBA!JƶFV&T!%;#-E6O.NMkAI՝%#q}w[+ca1V65pj1Ce*UQRn?/ :p 2 -X8(8X$Qvf Å 6}Id1fI,:ڳ92:I_rNNX݌C)s)!1Aoיw+c-kL?L"$-Sy-4W끖B+% =Um F6=(-gZb $2211iikY{OPG=![\YѮ yf5W츨>]0/z܍CaƆK-e 7;* 40_,8B.`zuM7IŁ endstream endobj 107 0 obj << /Length1 1408 /Length2 6441 /Length3 0 /Length 7405 /Filter /FlateDecode >> stream xڍwTl7 #F)a l86"H "Rt#%R;w}OnQÐ| )@( J 4  {:;AaNKpDy OPM-00g %$'Ewpo)u`~<^o?%bAA# 8Ca!Nɘ#hCߋg,=8n 9`iQ|Pnnu[+ .65G(H0fann"S 8@.Q/Aa'K*Ẉ4Rw]Bb0!ƌ#1kAa0@Gb\Npy (o " S1@ ao8& &ACgjyN͟s#Qd\١+,r(|bii lM5|6hb-8mXюbDL6`wj$ μ{#f 7ŴI.&MCJ> sX|nqS?aJ!؍.\J8]0g{{B9<Lp4mg4AMNu=3֏G1)Nz:\jظVE{O^荾x^+ {{vV6&FUȄKq2nRΊ~6֗/ٖ?2y5㸆2,i>u$R3o3rY5FHn(oxBLKj w K}W>u%/CT5>':WiYIz /v Pkfq DjO]WpJxd|-(-niRQuϏ:at՞,8 ZmTNg.n4 >UGf)Rz6UÍ}oa"7GJ=|82 ?y ]_b{oH20fmtDȱV+4PV1^G8Ø C,E?ϭ)ӇQ:I7XY!sΡeeCsJ^^Pt^(@VKDy+ӎ3r 5R@CjIf4s|F LnX!mc5xeU8P^1LG­-gSeA$p,PM;ظ!w)d貲⨨Ó;{H5Z~UFDs(P]FOܳ37ʽG>%K.->Nĵw>KՈVu9@)DA&n׸ r67N_q'/&VoY&QFpolJ1w\SsegEkvWX2a{\׫B*mhz#m}3i&H Pˌw_;Ezko̰SsQ/gKhj9Xg3]DL%<>YE%s_eskgJr'diwH %xgJ =2vR^YCBVz( cyDQ:K^ZKszZZX #x'X%P o㥢y̩onz㹊wUtXSЍ,ֲ*DCŵfӾ 5 rO 𶩎J}8<ٍ۱M1JMhN:~Jef\0)=UZm=jm,<\aa}Zy%YmjqEacz*xoE3`Ë,(ϓ 剅G6͍ ?BS4v0Ö(^6'Bt ~Վ瀄bۜodk#on ,pDvvtֿݮ9/{ѸTmoWfsۍ7="KTxTP~:el ժ:|>sR+伲4Jew!,Q$Y%yUa%uxwxWњHgty3#$VaC!$ EgŐ m2ӮP`M@\'~ߚ*owSpaW.YAeA!C?#ν{#sgEU6\'@TYZrwVIG_LEGX5N+$]+b#[/ڲ'w+#kgZLOTOhqr}rlƷdH~'pqG{< W_(y/K~p}u8prܪ -%OG⨺Ӻ`ی>;nݖ ewR#TCI-%`wZf$O;" Kz4A6^eLhZקgGMbI!Jjy{w,fS~ Í 'DkZmV &!դuz1B5/1Ug>PyuyTڤ?b}cUKpLxL\݌7=Y) =ō'SLҨR_}D7cˢYLIZR%DsnB4-|2ZAоJꞁxLGkɧY#q[Luѵ˫X9]B@*F{`UF;WJNUBKk_ (2!lFI+Чmcz8f{-?qTU*~59kl7Tfipl\$P!tFJU&2_ho|ڟ'IkB.!LιWFs XCQw'}%| xk σQ Aѻ*ء/w37?-jE 578ȧ},.[z( l$UR:G^D7X*yEth֋U~49V@|]xPS(WjCS&y`HRi)Ys \u#pVgqڭrX'g^L;u,zYO&ʳE' 'į{7tu3=lGHb>dMyxķd_qz٨D*doB;͵WBK%h[k^1%Mk|{$ 8? 𐚶 -5RѓHkb>+ bWҩ5A//L.1 ^ԐR'j1s3=7P!*><'v#b ݀oOl -Vs($x#kYݗ^ؓE.%_F#-u女6Te&;S dDOF뾕G\IY{m? 5*s ݘqsNy\HM>ܙcT}f`>_;\uR~,gOpT)^r?/BQf߷+R;IcJMX+u|J>1+2tYfaZp9Ew_K5(<9(+Ym4$}iW& +{ŹT=@(h$4':VՉfBnјb+;;"Z#l[ 3+cpږ^5H}o㟗 e bdzF~;xE`޽7]@zU\Ŵ=Wc%zG -<̛ {[uM0ͼg½O]ɆOqVB16vea?ol~VD6rTYvwq"n*bKHqHh7>TjdvT$%SictrX7Xw#%HqY޴Bz>囟6Y]\ſ IW+/5"VLNHfbjQ)ezme-@S<*03.)ɥBƜ3-D <Ӡh" 95}LnHOhrh=Jͬ9뫾z49/^Co]Ѷk AHz~\h[adRsq`TT (g[\̚*pu e)ie(7yZp#c2|m.Ӌ/فcV~A+ǚ&sĆa74Li>Ū4]:+8V"WDH]H͂3x7O&LVnڅi;sldvFçTvyJn]hCd>C5jFn p4]-+bԆW串StrKG덏XH JOY'oRē",:S`7R"A y H\q,f<]*?XLf јl=˃QvRҥL0]>U{GE {5yRf{TΌ@wHyѓ$+a1]%"p*BݪtR?Jzg:B ГUwϑdllSLl-J&ԅJ .fRQoƇ~3 +[,c >W7Q=@u#݇/lV%!fšTn$~XK͚VgKzanxrc`Y!v!Ibw!5J_[ILK=o_Nv,Ӟ4o @4L}o'd)])᱈bwomߪhhﱗI͵eWU&`-{d3iDp4௎}+l/6ZF692)j#NZ?E>ҁx0 \:WxBVS2j~o~#cu u~$& G_*J׃;A6I QX ?Nam? c_b9jtQ49OHQTuq )zQa,m{mcK,q*h鴉7< |ǂӯ?SR7 endstream endobj 109 0 obj << /Length1 1408 /Length2 6437 /Length3 0 /Length 7400 /Filter /FlateDecode >> stream xڍvTl7%1:I(nI 16 A)IIIABEZDJBB:y?}glwg׍DU1Np- '  Me`,7G<;p7_zu,cPx!@Ṏ,mI1*QuS8ٗW?`# /ثvw-!rkbHʪrؓOzaxRGc)9)c[);Wcm^զv)ӅӪIɖSW,\0c+:!e]͕& Z'uS^)aHjD'9.;fUi[bȷW[R!MEM6:|{E9!`B~fcZ)o/nX6:Qo&2Uq2r0qszɥ`iU>]KƺU )wh6UfߏNg3IZRtUD*O›qmeÛm/h)WaƯ s5ΐ3Oou@8hXa4*n$h &}UH/iickfsWj Fv4A8Skn:-0&<N?aȅz_({|B[ݸj{F?w/U*Qd=cJSe-R$;G쿥P0MtM  Ki,$W,mf('hTyŗsW畐knmf3'I`/Td[ N/úo*ݯ; >Ex{+!ASnD6FC7("<`~͛./D42!_Q>Z⧱/+CQ w=$xΣY$KMwڵY٬D>,1֞p]ꦱ[6*\ gtVVe`(-s6Ϊ9mb}}Jߧlo(X aU(hHɽ}Z|= ;;btw9DO#8voZ`b +-rK RKg<1&TƎ%֦s$2毿{)a3\(RF6%aiFPzٌ#uA+i|<7GI5ϭ 01f{H Oʈ[rWl5 b٪uwsO=/q[3s-ZaЋ_P׵fGmeOҷqú#Mۄ}1v]kwWϺ܁:@{[yDxFXV_p? 8_t1} ΫdVDS/~Z*W{ 0`R+_(rޕf\7&ߕf)yX$+⠶E|[у]h]}o"JZn׶ݲݑ ^+-&VKLj04~o#&ŖS1 <EM +Vd!3 >#D=45[8ˬ|if{*g'MZcsv&:4+bihjOq CmyQAzsnzKGTlYgsn)ߖJN9y1t}RrV@X"Ӭ9^"Kưm}葑 I~l,:\Z6Ӽ|GO"xѵH8J%Y~tT h^$bZ\VZ!G,B,FGoyxqϫ20'V7+7 %U٭B+Jku ݦ "%OWblFp+(oo18֜ 13̥o!b>IF~sZN] BB7n8GZgыmHHn*bӘ ޱQz KJZCx fw3Ox7C& \ec&_?6- &,p+\T#+S賸 [BW 9UT05cWb]wg$gr3MhyO 䊼%XuZ#6ʁDj" Xp#!.$v4Wy"| -U|Ǒ\uqu.+K$+siM q#BMLm~YK3i̺o2'+[1gg)#Mg\2(M~FvP"50j|NWtd5[rT3>߬{'#%j%_iLQ0vЎGye+/*:K[_X%*fa1#S8JTݿ`*ZAxj"RGIٓݮlBޫf UJ❳ǔ=hyfh5ߎ:q?$t-"(r4j>5:TSXT,wпMBo]Mp{MN,۴$BFVaPq2Vj<̧1V +DnGRPsκ,˦:(ԁaTM"!..N?SԜ-qƘ;kE3بowN3O7*p}fl]HEAzy-$=wiv25Ki-4t1GkH0uˏc`]zwTZŴoJdd6LR=?=Թ͢aQL\4bi2@KtmE~jyDy2м~)0[ϯ'Eps] ,>; 5blGp\͝H=&ێ^M\bm «oDErʐ7KrNǃu#-,2c͓V"GTFv%Ҩx:\ Et@ oܠiV›RB=8"yƚx{<]n9 : f_]eB Q#E𼔁㋨[*K1:tI|z)Ss kMQ*b9EK3m Uӄl48i9$9pFiqwKk7/v:_dD?/)BȣF|Na=k,ɥ:Z'U7Z$yї_1ݼlcgs_w }NER 9ћN6 2_1|]YkL5б[C̈́fX&♫j if_@摘!fQK 5]m~GbCq] \֡B ٖ6-ҸɌݻ[͎y1[A?q(̠Tm"l)n6GԪr oHNy2\ʼn@Ka/&,r[_?Z[(@OmzXpL>5)oJN 7ڰQ3[䅔0gb pT*UO xhGY]uש*MbQ؈ZF]4YHEo_&zߍV/$PxFO|3Sm~X̒jenv mifہr(~@d"0[g -ɔHz闘7%/YNTp!FR7V:†:8-VP\ۣ1rΩP {X:H$(ip? QYv+^ec vv(!,ML57?w\g40P2ͼTD ;,Q 9~A./2p3RHrQEτs&h+st[E>}#;_.!zkL^8 > A&e'*#M[l~nnՋ@xm4o>C Rt|.Ii5B;|!L%>y_Eg>>p |uC z^M-'m퉭UΒjOK=,Ov҃S|#"!-9sIdWA =)UVxvǛS0psֹ`&~dpuMF>CY^MDUQ.:[X ӪDtnqiSdL-z/ODiG5 V7<9Hp;Dž\rzxYPn?M+e=]l*Ü\چِ V(=e{(JW7pərP 1}/J&П=m_urAi_]йfOV`;GKX宼xڰэ=/zI|;־UtjHỲlXJaReE*VTgoytt5|mB-o+! 6z8r?[n,pz ώ %a.*)n00 0LR)!u@\t{㹓MzWYȧ*՛v= MŸwu_T!|E'rnQ3EtښES/ 0٬&YkZM5NR-dfbmРfp7\ǒD tm /Iؼi8DBHCR)ed^lVy7 D'r%RQrP# O3,Za7B/UZKB?mb3`cqJ4Ifn%)h QbĢ~O{FcxXݱ2M-*Rx)uc.(!u_BZ4ѣ|Td]<a׻ѐ~]13'ovXP*u޽ӦyNK=.o[u UY ۍI~nIX[ E37:Nە ߈6iU|2S`ǎŷW^rC8{bަ3ˉH7[eWB)f#-,0<?e]佯ǙeS2/m Tt%aH5 b|hu<>&#?I4^^eix&K|¼SŐ#fns]YPpg7WxGxC-G><~òP:,NyRn'a=~>#TP9cy.V'n r Jݵl-8/tkAi'a(J-tᨵ oBVjJ,0\S"3`eoMq*oqW/KRBӈTGջ~`G7_U7啺rlg_"+b@{q`J֩5ZIk 4&q<,`(UXE²M =̺ȵ kv&WcZue*ٜ_ZS'?x9Nسp*v;rlKm'g0oYL0{~Eoҫ)2,G3xߎI8f)4@85,鿡iU碕E0g\WiܨN.O,2G$j5Q M}yhnndsFtNۗ[\bx-ʼn1mɊM'=W{s{rcVJO_ЧT_- gJU/ rh*4'~=~?'3Y endstream endobj 111 0 obj << /Length1 2325 /Length2 17909 /Length3 0 /Length 19271 /Filter /FlateDecode >> stream xڌP.k]]dpw`5 Ν>;kRE\YY$io da)8Xؑ-]l@"Qk-seF.`3{; ryll|ch7r4(d@HbN., 3xv؂,M F. [pF#%Bнpqqgeuwwg1ufw2@ptANn S_tF Q-,%V7sq7rK3@v2߭Y oYldbbo`diig0$Y\<\Fv8ۃ܌,mnQ3_ Y n--@&{=Vk;{w;}YڙEՁU$#o bcc@_=@+vw)|-@@'W?@ dni':X 2O^< ˪*-)7DE=fv.6 (F폯=_ł?{t~hXςqo+ew=66kRF6փ `M?\@[+b~"v6iT_/_llA0LG@G)%LMz]\#''#O$ ?CS `ew|fNH͓ *_*X ^`/JAV?*A8ή++A|8 `U5 pv?ήA`?|mX5cV@p@k`sN7c:0 O mcY 3SsG`"s]+=bqsHـto5\_hV@p6GW{;n Gn8V:O58gicupc]n? n1[?{18_@:_@ {`:"w)Y꽏Nh)ٟ7nERF0v$nW^6‡%?<&#-}.-0HH̬.G3[:ѕM}@ʣaru"taOW-sh9wp.$ Xs7Xyod H1%:^?ٝ{tޑ@`Mx/zl8MuNn&mU/ hޱBDEoI'ږ'q术nx\;3)%Z)ԣ\4w:s JSN IkluhdqІ=҇Dz\;l&ϑvF䟠HPfU}J~ Qu6^'j/ZO#QvHS4QmR#2YvsUNsh^"t@ *g S3=F-DN jŘv^Z)8$aMTcxKB# ms Iz~_ҷZ]-XT{rj)A|~GQdCb+s[e>vN\/N&^P+i_0cy@kj(q:bԇ=Z^./C4jL%;^KUsTq tAW>3RIe'ٿq6Vp@/#|L|y|sVh'淊Z[J^'g+5<_{\Zb#. S98')e(',6Eݹlõ퀮'6ֽ6ǻnQц!XTpgOpI:/wrONz7ԧmЂE 8)s9#bf̋ߺT?tlG@CM_o sj|~yUk7I|&$[{AbBH" Ew"{<^@DL5܏ɤؔ*<~A33+8|YF+gfE CPi3IFbt ʬ|`\FVq+#6)^VR32VLBC6JҶ4؂@kx{Xos0Ia+|?jTIÞ@8HhxocFn Sx`귈6_SuA"/Ӫi;NC͎]PSۜHG(ϓRpno6~Cu\NanVb {U X['aJq,~'TPx1sN23_d#Hz||Dlqpn"vd V@=~)[٠1]9{6ɨd dciQXqdKied2Z E_e&l zo9 Z#0rVĹj "3W@m?&'vd{W+kс*wVɠD-F< -g`,:sڃ*z#1Oo6PѹQssM 5hR+#Dt}| vUVhg wxSRA0"jFw@gK )LgH ?U%Mb><؁'?Ⲋ)dIvE5>;"֑;^$͇jZ7 X2k .J_)4Tde8sLëVj4ccI #G Z q6ajfiގ:ĈÛ0v6$-/rׅo .q|oZ ^CdLb.6"z$ލpdo'0\7ջ=˂\,]9Nr[O$x%w2hUsF]$! }4ߝ,cdJ&^lǒ0GbHG$břDWsG'lg!JNG|#ddW`{KmsjG<S$\H|#1#7 Hl5h;y旻Hv[އ*"`*Z̓dS%PЮ5s޾tpӅ!k;noLWlDRA9A=3lfTss"j0\ A|cqQ2"|PYHV]рVuObijzn)<ҡ"i:A35;߿iΎ+19(ߪ'L! ȼvnRd.̊{~G?V$iӤt7- vOqyX#`&?.婄+*{U0Z㜝0$\ O[ #)V1o2-_$ BhT;ΰb|K\Z놇].&rSaL|B{ tF iVqA>.o ȣs5xoZ|ʯ2FȗX8qR"#e*I{T⚧Al_.a("O?ISEJ T/[D v\ND{ ɯ꯹@^| `{T ^ّp_G>`8qAt& ꖯt(f^;Y) PPUqFxAXh :-/:A3!|;>׳ӝXx?i BO^SRR[(Pͥw7 bjnї)/7h~ ,q=yw#nܵ/vezn$!|_ bWFRcFa!)S(Z6Cx#;y܂8⺝zK~z/XmH->%N4ߝ:Y8N}u^㴖m?fT9m-Ga;Bw ,h%Inzc };]N*r^hp@YvuJUcj<랷-Kyw@AC05SuCCu-pZ'ɦ#>(Z-T]}Om.DKb.Q 'Hj|7ԋБ(,v(ב]]$ 7^8ttSON30+X~L2fo`#<9YA}ts ҕ${h5[~zظ  b [ÎzxV. ;s3#DM1T!įz־*n{H5x TC.ֲPoQ\$Dx3BD]3OAǟPh\^($y|pVE#0ͮ>p=mEslTdFy3SYR֨rr0V-V̢DE~7o壪ֵvE 8fk&W2:D(Oΰe]sH'lXd˿=q4jw3'/yMNrx!t.or0Chbԉym{5&=cQ]cK!enoj?,6:ٮ=īRNF/ \eKw.K[m?]r̀ț:^;Up leFj_YYڜax.#'NI^S~kSXsEvpk#6 " cY9 $U8|lC>uK(!hEa%&kcz%JAs]Py aWokhq;(ř$e\vm;rO: fԯ\)Oݪ1iWj-!ᯭ*;Fdr?סI} rCkKΣ{C"&7YK+o{[Aۼ/N dBR> u.$0-=\A Im8; dvBLN驥IWQ P_Pk_UDTGŶeyB.Wf[_)"yY2@\\*.@JGmX=p^UoUͦ$m|/v$$dNiݺ8ڋw}֨>J}'0D ~ 0_S^3Xg[@Ϋ0m)cg:׮0)CCvOH~4“.ASuq+7{+V"%]BXyZ?{1q4"ĢTļy> дT!51iavcv wMh,xOA簧QvOsX(e?J}!LKox.EyM{Я8_UlЉLH"zqvQ!$/^ ߞWokvφO מ2™fC$1M1qd5 ,aR ՜?QMjM6i^f( X*gcd%VZ<^4Qb̻spd5)r9Ai:non*ȮfNtYH>Y?7P'e; wM'ƗכM-/JojA|4є[šםN0 Eu1 no㭘_v $9CV|h_ e*lGa;:^J8r(UK+s1Q@k]̥-u_3Sw ;b-!WwRLER“!J U~&ѻ?-k%dly|V`H^Ns CMjlKx'hc]߳21ة<6Ǯa奩87H}Qԟ q?Lv!7u [z 9O NEɣjj9DDr>X eSPo[2(LT e.TݑJ Ggg)ŭsW+t~uj >b.~Kz8C8࢞y߇GR>: ׋g#1f["JMNύDd]'y+1a;c-RGawG]360,cEEKm>'J ?vIrwE͗ hT};܅/ηF9gȬ@z@@r*w~Aʞw0l.C1+^PjӐ!{zCʧic+TN^fQU AH hEo)+Yt¥%c f=֏ۉZwO4xt`7Af!nI&gje/X߮vZF0h׽W1dr;,%aNjWR/]>JQ1cP܌7=_o2ǝkeeSSlos8B_eZBuHAU- _cD7Ocb!|CF~T>w<,WIOuǾlx8'l >i=۔q8uC37j/9/$eZ/Gf}8o7ya5 &R)SA$%ǿ._|؟V'?)E 2{;:VJW-=[Mئ!꿑GSH/~fNI6]_^"2$sA}woe{-~][0”czit 0g~X+\(ݠ[ dA/#?/'-xoY/avoD2ox>!1mCN)8zӥ+aVs_HZLz'ߖ`@4ފ۳Y볍YşW/fx$!\I[8^Cd`LTO:( _7ގF%TU PՉRgs[Imf27nVgl6_}SIE-`ʯN}y7V@V 34s[xtODžH"<:4.d7K2xX<89[R]Y+O{Twؙ\JP}Z([sjBpm~iQxt*޶| oHLfcжPAEQ((фh>C0b:56I|k~ ͛`E j^ E =t*~^DN&3ŌfrNfS/ o,6>UO~`PE`XM)e4u *+\mV[_@Ӕ)d7:Ko6%ڏd."3WȚ-Ϻkq=jC!Du#BeiQs2?cp:a)?J@VT9s]|ZqTLXi]INmq "F.:uՁίLh9+[z|K:|ofǟvN >Sp'5Hsoԙ*t_5?"V<S<$UFUƚP̐5}+ҡn($Xl*T]vv,@ rsuA*{?s0rT]1r#`7$ _|;G>9C]Yoqa&*ߛ/?dauooKvѠ.׍OЅ-~0Rr#Bi,↔`j"0IBkj_\O<?04-mE´QYI,iVG˯tjo~B-.v,Η1e8ގQ۹p+HNc>VE*Q>E`cT [iPHKy2*v 3Al{u# J\P:Y ܖKz#=VC͘6iׯb^-ȿUҀ#M '_*jE^aTMάëb<00`c'~5N[W,6@*1B@'ơk2-_8I&UJZ̧ZNd\KśۊykY!C w\c|-^Sq{؆aSbd\Kfj0Z_?_NH]*^5ˋ_*A7E?*2we;YIE^㰚MI7]C;z@HkbRџ|.yODB% U\nSptlZ9ǦA3jv0Jo&^׵+F;2v,$ф'C$(Σ42=/ Dv H_\N{=3dkKD."*HS#pdn=w>,j6ꘙLآw4z߅`GD}1iH/S/쭷Ar 5xMkcjSח7f6ȓԲEYRG c mG?ZTqJ,ք\DEsLm]:ꅃϭo 5*-6zPGz&؝^kA,1\ PPH'amz IF$/J;\J 3׾f #KK+&?/-iY6 3+c~i~W[p0{ѸIABzsR9|$zyR6s~i.kh:tzM54>,VI-10`eiY9O'St4k8RҪ<@O+$' 1Ul3Ov,*ꄴ]u4趽bT\xPV?=Y#M@I+qqv6%d.!i ~m Ԡ_˭|$(]eeRM}Dsf@PMSސuq|!E;FԮ=1I 6,!SV/޶ QsZe:;-IKz3m`"ƣ̓u> 2a@L#;@nT'#ۢ_} }~jw X51>Dv~.΃o=4^v܆ϨPL5$~Nv x~"ޓ\Ŧf@R6Ch1/z-N7\`g!Ԝ –+gg3Zr<1q6bsg"f;:Y͢WD|&hڿzT#uY#o)Տ!K*uYf?=k:5wZCq'r†)!{mz\/QK/r>0>~Xȗe?&WrV PX`23<}Fұ =iي}eӔE/O]k\5;^?NTT[ƍu> kiCX72*Y+xcȚVہĈZv>6!Uw-|KRF67qUQ7W509J}~Q2OOUDl}bU_ON[NJ22j{.bC1[A| W%PyP8ꗆٺ,8 [#ݺ0`LE)&!> =jviIc|o CZbk_l TօH4όkk@a D-xU|(h& c,EJ؝kեM81O@SsAO]zXy(i-,kg籦÷0ܕ &^zPQn8@KZ_ChiHqi+ b]O`x890))vxs.7WEPo5#)Uڦc'}.`0$:d`b.Z:OU: Hg\?+)Qh8t7N`JZlN :mdyÄaSݓ>0UvR}( V합ǭRtmQ}QP2I|7}5Fin 4sF>YlxH(r (]eLy<#22ytk&~exB6o0s$VZVn_ZU }9a1\C*o?oS_7דsîA:# RM?U\XhFY ֒ǰ 2_zF~q(۟59lʜm,Cԛ-װ?dKJI!!m]<1zvv" (¦մOʖ&5` ^Xϋ(1 FfY4t3ƅwjdkXg,z?1q*zv1C{"uJMKTڅ_ o?n=dgqhUˊ/ɭkf!7f|@z0Xpytqo#.o.j=~;d߅YpX)1JДJu= ^lBe}3 'Uh`q92S;{ :=H8 k[,pKƶJQb6q\Y&l`4]`FTnX)u0YfL3r|Ș>(5WgG!GR4UZ/7oؠ͍ dԙyߌ E},>?O- WaIJEċGqnV;cg3Nwk>jTrYBi\}х;bWfjޑbQ*[oG/d=Huiga˵Vӥ8;/n"6C[x~Ձ5c?R^ |[joYq/:7YxC]yBuJۿ BmiЎ=r-npO ]+zs; QEuKmEIVW$O!pudgċ Z\ka!mYSҨqM `θ?idZ^\׼yw^ NHcne;A/*|X=go+ѹAYI]  MkbŐj ([qth,|bh&^9,a\A6a =^-I\VT[ T޳]گQj }o x*sLyNPw[ {nD>E\*bzͷzmsk4J0n:U xq`}>6g͑06P}4R,Vo/PRJ 't2vBfr ~ܕ :ۓ\ODb}zR _17 橵Hq9Kvt 5VQonjp] VBc+8`0"{Z0aPUS Ż@[[*ĩY53t^( :wZ,hnUlnr2?f@$1fʹ2N{q-NG7~Z0 ua3pDa<oE|cYigևX7Yy5w}n"\ya7/$ exc0[. zL9@ct͒c8mJ75z2:K;Շo"iS[_;CSiAD}ifX2]#!-̢F.+ kO~do=9A^Fonqh(XK|-؉dQz 怳eglcS꜠ .j:wuH1~*E&XdD؏FP&TASfvX7f@\0 cOņRE>MZ旂/TklT{[]4q`\Ѹu7}ݞ(yg' iMt,38B[%uph{;R/4"}E鄅fǛ!: b30+5r֕Jgg ?]u>)ŠM)EH=aESP6 5@yyb41sZQV>.9 k=/3z-!qH4\]}nWp@OX<ۘXwˮlFe~3YPJ{ _l&5ykZS$v[ݕ' tQ>{w=#غ"h0Nk !ɗQTL?&̭Shf4 o5FCAT&#oˢqNz8a1_t)Bhv Ok`j| %uRʩJzG ay:`<[r)|ՙ`lQm.kTPFPj;Q+1RRwnWVSUhX^`=>pQ)PR\ed5Xت9=$Zqqu2r?+̯##*b;wJן.CJl}VҭYw2(it@1cj^c`e9DK'Nq(V/7Y ^$ cX鉀\NE]j6'ftCOp}!ZBxIWKgQ[=˨U/ʵ)#<"o(AZcaM>F7Fy=-5iZ(SF^=w1ސ[elj <.,OA#u|EQ0+wb^ݖnI=u=,y8WymlνZ*@X{H_Mnyo|^> stream xڍT˶-wKK5-@w\<>瞝sFue5W\EEAIl ۻ01$̬TT [࿬TZ@'g؞&iȻ8ll<vVV ;$M@%f<H%vtYZ?Kt dfbP2qڽhfb P.UVŁݝΙd)LpXԀ@'79v&vcFhXeV[8o[-x.Pq+X_ ?W!&ff`;{O%d H+2x0L 4u囸lML&nS͜@. ۿ:d!KٛK.Έ9Nݓk{km7sWM{+PNo&l@+++;zYU\/_o/l8}t7Bdc\@K=?@ᷛwyX߄`},jZ 78`bbrpx] ,XɕEۿo߃AZ7\,SW7iW[ۿ?^;ozuuyӾmw6_4o [A տ/_f ~;zPLl6Uf6ov߆濷75]\''Oķ+~C\o14z` =-֞/}X2x$,A|oy& ^?bWW,@6 ?/F `Q3?퍕? )Go/>'o_:0surz{7=fK`3`1Bwqt:&%T RעˤG paߒT}Ԧv'q' 4Dw}}l[!]yQ?|s([ QݭV@z*fь(7͙#D Oy6{}3;J*{Qq=~kBݹ#15~{V5H-ʾmtW^ pWRmi36(,Z ~ZVu2t+`,sؚ72G~n“t9G |'g9cf7Qm5ژbi7*O~d }CSNE"cG9ЅS4 +ylt7 qeWs}nŽ,]%ﭏΓ㤮~ 0,J@R vy<4JcPɇӑɑXD$GXR"+ x]_w=]nFX}̙a>l*:ְk"l+{7"Q:Xʓx} w/-V4(JqmysZݳ_Qs@Ұs"XV 5P;gil&U.Sqy6w˗<<1Y˩kA@m. ^îX .[#E)AbAL1k7m=`,jKY3$_ob0Qvaə8|xxAYerB(uwqp2kS%Y8Dw{+9jatpTٽmW~ZŠpsIbSeprL0[G||٪#` pB>2Wasm1n@|0 }םf"Wuyi!4S)ڬ )7ZB*&vG9FAc&ʾ/`?,;_ ǏN$.cP^Vw]Yi- |cHE{]Uk#+ jXN#~I3Cz/UuQ,{N:p)Ыy:%S񛲜ԋt3~(<`y[,mT͐"o g.B"a DtrʈO4IYdFt[M@D?W}Cr 9m ^R:4x{? k"O vY!܂!5lg4YCY"cxjB!c;^0jgWwzWiKA-qF9,MVqm{e~> ,m_5j)֨/&ogs#ʡNKM..K,ӻm85b;8$_!2kb+W|n$SV|$Q`)O"]:@CY8~M@3x#Ÿ_KHN#_@ oDRG+ A~q@vb쭸P#\t7z¯;rGwdu1"X沼Ud͆7#tU[ݕ ؛џVim/t+[CW_0)GW':a^bݡKe!IVcE\w #Omב{f\5?Ni{FiuYp?viDE1Mr5}B|8hEެloZ渧[Z$WtnW/_FL5Yb\pj<::+Lmacajdty{4Xzhxu͝V5E9 ,&qC"oMH\㵏ո;٬Q"=B2-(O#QF:an]@"R["#|埲^qNu˴t[ Bq>+tff?M.nBX?}wS)`5푭`bT5B= a q \ae>z".8w >Zς$_KdVg7i=}s. b}Í| Kg E~mD]:ONd0-x~+;ahoʙL%~[cu6hŠRQӨ_!mHGze e\K)iVmlT8]?U.ևşC~ Gj}f g"91-M8oI8@dɿ,㞖AkG/'÷Pscl#[Y~A+U87&7)鏪f`ljH^R,qDGyOt8ue,w_Ql'c'Vu{T UœIdX1ਤ8bTuJ{unOlISb$ 5ض5-M7J3øV28`h1*vp ʫh;td.]- Ch{ҁbxYRͳuu,5G4_|Z l" LlWܹQjL5:D H0:эixLPy^)"~U־ 9:W-p'$|VUvFD#/CEHS,- atf |ZUw8!+3S&{:DA&EsXJ(##E6djVc (Ie<%&8\Є<'MR:#)XXΨLA{Bɔ^G;66gDn"R^:Fk]RIck$O iHD8|iPpQ(wf?JE$f o2wvp2_ŇdDpxK\1yMC,᫣$ӌ_hQx_SiQ=vi@oUqA{:HG\ ooHx@)*Mڅ[OMºFXy1/O(=Cw|;R&H Jg0-GNQ)ӻJ;~\P`r|DejuG^5:~U\BjuA`螒7S.!ίRleGgvs&(.W1LV{k |X`,$Z*alG_:q<͖61;4,]!FxP+#b8FHq-q-]<5gtx$-/P: EETVSb*Rgpy[zvh\-uQ߳:kD':@R KF*%;Z+˾Cr;r/*ZExQB/}H:@b>o.J/ J;Kr,<'\@DՒ*Ԑ҂lFa6aԛ JX/LA;;qw1vHxmaq8%TshX.SI[ulas8Ւɴ>l Mɓ6n3~wvtvVmX X:@MlNkPt٪G`,6tu׏w${]&1RgLr.HxF*Y=DE#Θ`JFT*k(67zlnmf\vNrslWʵ73 r藍>hhz#c|`řGQk|!;ladtbb菺hJƾp@4P V#(Y-3NO'E'1˜~}8)1M`EL@1)4}ju*\f1.VbvYFNǺ'LHxM9qx.Tis+\{49D1Eau}o`V0 UAt`g &NWOǹR d3qwd ly#dɕ2e샽/oqG)/NG'NK:w=uy||@wj3^aDהFA*ݝZGs"X2|E$yZzZ:^(!Q>_b51v #nR׉zg>*+JoZ὏.!q0r<8nzaK8zFs҂ќGNxS>e\C Q$* p?qXL6%tC.p@3h唧nGmHhƭd.Ch.jrx:nxzЏKtcjENS@Y*ʗ͂ρ/ ]-<{4Q++/ '/mZy_DCظ3cV3q,;2 !rQzYj"W`)oK;wqHwrUc-8H\vl.)L-\:;(S3-C Slz:zszO@h.+Y(T`ڮ[Zx`{Mn@`K,zpJ\+iv.r=B턪 %װHZJ4CU@ wUh^WT#+B]g`(Nn Z(>P"F^P^tÁA R)8'H=)}uZ= "NE-|~BU\6NT,!C w\a}RF'Y9_R`k?t|Dݬ E!Hy]p|`XMo9jne6ռ~>Rʀ@=VTK'br{je69k!>,zSJ~Ftu@o_ coUlXct ϲb?a*z#S}g"I_6ԡ;45f{yw?]L`Tz_?H/+fxLM<y뷾7,@=/c.2I|[(Oڀ-bm:ޜ\ʕ}YY<.4FNOtB8=:4%(D^U.rw:#O6{]t8gt1:8b^I{ո2 š_^cв"4*/y gW=49$[?FB黈X#(0 ;Ԏ IxOjGKʎ~4<_} M؅A@м}'l#k*< PЧa/KBt7I!hFa1.FJ>}- ulPBZ)m`!lG=g2+lv wܥPe2M~- >LNaؑa]1 Ņ fؿFl^)sv )&nCbS<ϕ6+(^tz}SiIS˫-qhf ±HD4=+YWk J7={r:iK 䐲q K%X/ߧ=MD 捞[r5YvhyFPaGRZZnG{a[rNNa6[K-k&)1[_c!ц؆߰lQlϣ.?>\2@zFRK!65V%Fnq( qK &sp&ޔ8 k Zp"* ޫ>^tGfa ^ԋΕ-`1S[HD-<ȅG>憘J‘X/Gv~l#9QdAIkb20J~z .Kӻ j˴@3"rx}3 3 x"23;Y(Ύh:\e`gC07kV l|^՟EG^c-HPW%0׫YaljD"a4UWH i|3#u9/o}Ҙ`Ve7QP}U "x7OQ=盒SCo4tj>Yu%9 Y>dE D"[eS0yrGG9[mCVWn6UN yr:rh py 6[M=SHkřClzP)_U=Аl6G*tGa-nC(dcW/ gܠDs"HI#ֆ[ng~'喕(4% Eڒ3JpM2fdfecϼy:?,B!M7:ݶ6߰8GmgYt??j16{gK!I寿KZd'B>=)N?!'DOefD?.io{xb!ń581D Vˌ/RO5b!1B4+IGʳYꉦifdD,8tk `5;L  @zrL|Yԣ^h 66+ᆐ=@ 4En<57WK]Z˪ %S> D7Z)vn'~ #"bPzW"|>gc#o@5T# rQ[15 2GY%ђ8ǧ'WaȰ}gʐLZ8n: ;HyH6M3zᚣFF%Q'~0N頜z4#`Y9A7[RƟ4u7ܓU͂J wvBa i ܏<f Pf/2I҂tOllnc[p8ucyzb:F\n/ҾS=SВH) 5̝)q(b=lM,-3%:4,7)/+Т]p#rS0%W:B6*كZPI}xe2!Ef19U"By6cfYĴv+?݆~'Wksdg"soDD9:Y5VwGK.872F":Bu]GR˵q]h;6H7^:ߜܚ0קȺ[.{yƒYvs"gD*YZ7Zyit'v*~fgQMⱙCD폾۠}Wx}J(!^"-zb{.WaT}=[^k[dRbZ,4 1i!h!ly1a·Ի^:6W{O1ΈbbpRիr95D-h>Iz4.ϐ{Yrn 7 9E͘5Ry H>7!,x;ܳ3Ϝ[D+5ubWɆ](XDF {K/1DuiKZƉ㚤DazsCdX0JbՈg.Nmx`dT^w!o}ܮ)/tNbw@og ɷFfR!U$[!vvV;;XW._$k﮴pNV$ qsYM؛}m]ԓ)W7}l"B c@Qr@hNvA?* \RF*+1 !P)5g6@+c 0AU\0< yH8ƚѱqTcC4%wTRQS vzqei.+fW! GWĉdt!]qr1xޟ=9sr W2 >2m|4&zGR_'$xb*ѾI2%T$AYjuJX4ž#EXR\cKnրL n5ߔX_*eKŮtaEj؇D9c&&HmomPlm9c0٘\I?g1x/1͒/OTm?܇֟@ah 苞J&ƃ/e$NYѵuav;gQ[wdIYd3hJ.eR}aU _?Bm0LVT/L0Ȃ +n rLPyº ];䧚G5`ftأ9`\lR4Ib<Ƌb;Zs[g~%ڥS+&AB\3NRIN"v59v/p/@v܂H't^LL@{g\ژ\N}E3} B*,u!P^bO_t={A6*DMԾnZcM\>9\N^32'%T 臖5As'͈^NwzUJܻp$6zE xzH;W'jzLg >=ZEG]w4W#G$)]} ЖIk̠ău :B!! dFF{oWXZ0q]K{62>](Tyb\XF#GmJu([ 8A,0^f7.UZJn)Wwp+HHvCJX,[黀Ya+g1^"|\ד28= _j,ڶTN7/C, t ֦.hcɧ} ' qZ+՗HuAR e:.#ʎ^27f{Lܺ'3q ?x>?jl}YSw(CӢQ젃RO`:IQ{`Pf k2`S&g6WZ_& 1y~|-H;T[ M:LoxB5Nn&}pB뤰.B/Gzm(Rv/Ĭ6FC-G|xf=V,o\*cӬ0 ЧɎl2y9gcQژ[,~yrZ'9.ψW]ͦ_8þK[ti#Tؙ-C>- Sx %+j|TY)Yw߸IܕtO->rL*4 2N:Q/ǥ@hr8%Fz1Zl'!,wcŸpv0r"Q {q6^VުjB}L?$|E*ꌿ4U b: @s~JIhRI$)n "*zcG@_'wSӄ)ϞTFP8' 6+$SG3^PhBJY͈X+L߂Ϩ~KEVM'>y}& ՝$eX0O)covmy8gG-ѫX^m{K{櫽qvUDWs;ϝ:GOaivSiťRJe*$^aϨ&e'Eў"N)S1F\f9ghVZ !)J>m[rWvrޣ !RlC0a/-HVH=i%VWA4/%hy͆| h6uYvgSzhtp|&b2zNUd)Ԃl-2lIŸYU+? 淪ńrjhFbЇНKX'x}66|k+J yJէ's;~p& I{2xy=ovJp-xEuU8(ڑ|4$y9L-A(0$YKjὯt?Ž$"CBM][u/D{\Z.;ѪxaY MއEtwk&  !JŬrr][{! Cx~Wi9}nޯW~u Lڅc'ŧX:gm:s 9 )̑?@D;t$*wT;,>r*o?") 7W u"D"zQu,%fX;. ͸"WE ~O0[/+Pt+OETVTTJ$& ʓ7d3Ԟfi^`[Vшm;$׃r}%IfcZmͬ{l!ۘtv)?[Ղ"i,LkTИJ#}UtW^߄Kǣ"<6'U<7OM{]kLcL\7FU\^u,d %E얄{\TTk#aulTLv sy~,dT }=y'p?\ endstream endobj 115 0 obj << /Length1 2296 /Length2 14165 /Length3 0 /Length 15540 /Filter /FlateDecode >> stream xڍweTk-^]]Kn!Hp[n-HqVEnwvwqGH2=k.yބR (rp $)jhpٹX9ih4l?d- Q_6.@S0D&e * n.  ;;] A.)Sw +@tE9yXY!'W9C@/wd :@N47^^ vdc`5upeX20"@ ̀Oxd9 `ic(=SG߆ M2jS0t5wqf; Ҏ #w~R6.@sHi#qM͉M (/+ 𰳳C t=ͭ~K[ rXBl,dWSw 2 0Z8"-Ɛ)pC7CȜYh6]%-quHy|X8,\\^>/';Z )AϞ0;22@y7`a7qO_.acwN2nYea`c!,6J@ 7BB 2,ܼm\el<6`soﵳq\m~_5v욹:qL_* dTiGsz!CYN _ `cu!.C?%wkyylE#^`q NѩA\w7M QLAM]m #-+$1135s7u#H] b Ʒs#{NQA<#A oÿra`7u$?dx#g71$oTHr6d|]|}66sy5/] tL- *D4fVBW{8h^GuUMYK(HW"|v10{чU'"=187 dȣ^Dfb*<K{g$< FFpUvNk䨢?DR1{4cwHՕō|GI^94{w Ǎ缃ʊI(I3ĥ?:`7MKO5CI%N8>' ĉX {ufhm=k ~*KowK /ܐ 0!24SymSެ>ZCFjv7%OUZJl*EM@2:8ޏ@RxIF])6e(ZlO_;;HsZ+zyK#b\_g}6tf?6c}[uCc{l3i(yHr!"!+3arZ-t)15rnS8w|/gĘNCTF %Vc<FA񒪸Z!xeaf2|eb^"-pWz)沊7TFeDn9^`a黜ֺNu <6mf~,$̡f)Zf@ҽ;fg$Å0s\ A[K3n]Cg"vC^r(VՊBlwk&-8g?tX <ɧȟ5zs#< (I:a #lzK=m2rzӝUgwE;w"H"R^IJtB5`dmxXDy3:p6jI1+}3J?r#kȸv5nDd"꒶:dܮG: CsLD p|oʼB7pFS ]Ɵ?e;9]):+>KbT $sUR L'G%~@Rz߁_ځn=+L6oOȱ=C֕ZA%ݲPr˕dA5ʒ33ߠٽ΋Ңz%l5Y> zd?uQJ+Ŵ]4 Jﱦ1rw\tFn&]ym6mz1o6q؊8Lg(rT7#K]CuԈs1sxoPÉάxpI XuM={@ܣ4*eUהӆg<KW!cY[e,o%3ntl`Sw#ӵY5,gq_֏@\P>YD8ϛ?7-~П d">NmԌ, 8j K/G*F\r6#ZAS>`2E{>I_NVG!5*d/[npT3i2IA1o+'7Z*e]NJL@yQ:rGA҈T` ca4l>#S[H}ґf Lɖ#ar_/hfs}p4d~_8KlH aBd ao9P qLĹFx)ߓAS7̧GX**wHo|bU[BslF' D+;] ے TC VV#7~y ydB&[ _Z$TH^`8LXx^q2Ò˞2l}—[,Dfm7xgCY!ɕNUG@9e=d:S1Xe'fEBQOiSh}k#cg:v$ ; X d)і]w*U39 V2!qS-}Fh{WTszQM\ ^+hEŇ͕n;_vvi1#"m\)23Bk t4[^EEHlgM"!/&:d[Z^72cʉgCZ g20Y{ @{зkL 2G'I;AoTc ͲxKæRrRz`]raɋ"PI[A3"LG9\L/*R<<87u9D+7Y;"z']K>k{|\LH4$>pמE!pfKg9}D_Ŧ S7Fif\TΞ(:Mɞ'r~ltz$x5@]f&, ̽-Q3qtd8f&ُ}!OcX ^oS3r'i=U3I?yO7 >Wƙ()C({duoȯ0_ '=Ȁyb#]aP@9 $l*8|eF>sl% @;2": }/xb,^|5JViu\TV.i˥(ҧZ487L\C%ys'z?~9"hSg/%mtZ&.&snPC궕c[O\2BUbG /۸,?0=0L*EeJIؓ7E]햣CZ~g*^\v7^qYpfH"⠹~a n>&$L ܂d-k"1-F7o{8$%tfQhՅ޵|D }v~ZtM tfa_S- 0| KҺrq`QE 9"^}zDX㹀`y\@2 ڽz(ߣ5P"H5Q]Q{h C260FGKԅuZT]aIܰƮz\ZvS߂u L+>i6hֻhjsǀQR:\ kg2E1<y*ǽZlLO$<ތoEp\^?X:ϩcI'{v%l,8_̎'Hջ_&3(¸wwˬXO$ouqWR: mYu?"'eUn|tn}7Lppm&ozyhQݺ1D {|iPC٭\SlQ9pت;`~U'WIJ~9MHȗfШ¥Cd+:F2 4l_0߇XZDG=k]":ςx`okD8 *-'gށ>5fPja2~>K縏Hh\s~]:W9}WyO-untQ%at,Eyz9^"Ql#)ddkAc/\[5]<-)*׏릦/w;IdhRmikIrWʺ3!M 2ay/$?&_H~qS \aʪ;\>mA9S's}kB&B3G)2Xl%(oy*!</5 mJ03 x=MCl߽QoB<ȘTl:ܯkcXyUfxNȂdǍ'XQ燴"145R%)=fAr uk_8"` (\L?<݂\Ar[AcGAH{^I8a̳8KZzj`iW> Y(Eqs뫣,8(ۙl7`57wVSuH6Ū&Aڙ0΃;2En\w9:0 QK1ߕp4'Ȅah-ޘH.Džtz ~7a. _'?k^p |rv*J2* qfNZeRvr)XW2VjJ(']1Z!ECـjUCWlhItKXJ)~륙>עtN͕Exba}0I!<œƵ<~U$>PiÊs=XgQڟw1h>P|yc8Uz>2&Z+ T4wDx:k唊}I#>irxt %~?!_]#s~J[e GPd7E!Pe*sx\:4y;5z pI/3G!us b +*$mǬE/d%ĜѰk~)ITj^^©9KZ+hmj\va1 EX{hUqԸwb}ˎ;7h0Ew׶GX5yٍvc%l,> \F =(ٽu{4J7y ʛuhƬq#P9tuJ1p~>XY3NۻIb/%P[|D 緡Ѯ}XD 4u$GΓ%=5zDup/ia%D׹QJoOkpmrE͞l-+ē1z"x&k)[#9lnN&qDw& 0]adH?2/FP|XNxb V $E&ٳ7FGD[w˨i_ ; i~vL*+$q}>Lf~/5s5IG?5ԾrQL}0X*˗V- rM<MwVwOs* K gVWO͇|R02v?u^ q߃YX_.Y o*K"P *uYVEMv&V(Efq@s1q [F-ʪu-+Clx `B%!n&"ET,& ת* hvMUa6)R-˫w%O@“cd1#3PqJě*U}ԴDyPYZO(`=\n8NO?•x0nK6(*BHl0Ξ![v??ЗV_)H boӳ qJ[|@y4O͞^y=RUz7>e7a"XZ?! NTnbw"vLzw݀O:^[rǣ!M*Wi͔5݌[5`kOdJz[~j!@MNrP!)^&HRﯓr'0(&ur)|/1Y27,Q>H*,鳸aect33J$fy>}vl1t{';bQ;KgjC4v ha^SEvAl}Bv9/9<j*NWB510G&\/Um舴)eO*Eӷ!LX0$iTVoQTjGIlѻY(7{s/\/{׽<^Lib ɠ>ѩqV6"2,]0;pSo }HxWw{atW90JBD_XD5ruV/Pi܅­|}("Ns30?=zDVy2aNj9 p] m`pMH),3nX*NX7MS|rsNݹӍcHz˜瀬 xl8eR:+m[fTdz"NCKl -Cʾ,BTT?8n:҆:u(QbRGD/N_<`Fg5>C0(+\;`La%^;ȞE89k.X9MoD꥜mIww-o(bYy#ÎSF} >B"c ߨCV̮4hv0A O;CCD'#8U'KO2ԛ \`ȓ =Mv;Z;ptG] Ԑ,'߮*|7ҼS .sI'Sn{g;@csb=TOnywt5kPk(G,Iv{sLv:Qd%bolG IJiZ霻 4Zp4 T OGzKiXtpˬxШ`Mz~lub'K5X6:%N%-(N cK W<4ʩăTr}]:UNzFܼR(T CgC,Id.vۋRJ rs %__bk˺BPC0dBsYUNN,z0\rG9s. ݂6̞E!bN\zT|:D@x M_DFie!/> Y\n\hk9tFcH;꩟.)'bID؝) ~ʑ(-S3!('ȇw(k%f)釽 *ܫbI'e.arY%,|s>M'D7cۯZbJ#%>4DԾG'pJ!Si{cץfUA$a12n;#vVabckќYEk )q$+rzznMnɃFD}m[;|RK:)|'SyGEx4 -X&;r%b"ռ'BQTJ~)V 0=|iW ǩuϛ%!6\`2H9zd:>24TwR!:aI3W@#3ɃȊXG\P`QUe~qe:ΔӗrZ*oB sd/6=}֍?P-424FaQYKx~Iu(keQ-VǨx,3u$u' h/oF6[6JI_&g|So8rj+-}?j.&,mËܞYR[@, a졷m]iCGI;˸:k.GLM )RC8fi^>RW4NW ءį D<%l3^FZvg#SQ0ލd渐4` W1[}.xrL+Gf5"9.2iIJVQ\}8:e5mCgjbWԫ٧g|&9r-7D%ZJ /f4#}`d(#1C_>_j@{kvٞPx|Z]دA$VBK_W,6(ߺ;L6Sjgh" ǣ$6X8ccjάZ*_[ /-F|M>.lP^5*Rs}8!WW tx+~[پmʗ< ԓz1x/FmkҮ|Lle+6kteVYoU娱w#`쐺ɉ:| #K# It1={L;LIt9: e|&C/Dmވp:*7 _c"]Aj4Tc 7S~- pqlt7/S).II0)B.8U=I'=_BC3]Mh۶ztrx>n4֥%>ٴbsp}c`O!F*qWhptx#)| qH]/_L/i$ b !eKtl#SIں;Ӡ”|^pXF>rPd.캇O[0|i㳒`ޞ\^*\Oteq)Dޠ~r礋,[N#4eۤhmj屚)B aI7hwO+B1d'F HJĆqʖ4̏CŜ0+s4quFW;:ΗU3V%e~7`m1`nvSoy Fw )nӚ({BIT析5-OwHĚ_k-D<|eݖNQ5>XWKyET!# 08NwѕEzҮuuZ,J`>fio EIL{n+8fՏ_kCG[θyNQĬiܴ*)4_~P/VUQVG'Q$ 5n(̎&6ܿ;6!W,KI8+xOJH#3`o9R:JFfo=FͲ% :[>w.Y6Rhp-+Fj%,YmV}ޜ-MWuwo4O_gr~c4)&hMOOS5 kJ7o ^zsg<#;}UeCM"FTVF#(bUDeJ0p'[Eaq}fC;(P D]RM" 3Hqr 띦/Hj5FL"0l]j,$^-5tz9Lhg ?5Z,w apR m#owX qߒ euʌlP`UKY aZӸqhwArrx(&\Q:PV淿[!s%"q_ZcѭP"-]GV:OaeZ+;ojRa$wr𥝝VDo'$U,ʼn!U~uGIr懣D&ސx3L΍ MXp!|lm<n};0.~"kyLO7)/cθc]ЌSP@/ūrK8glt|"nB & 1_%t^&rw_zъY8ʡV6Ob&ƙwgV3WYu$5w=锝0sɊ?87pM}bw?VA` endstream endobj 117 0 obj << /Length1 1382 /Length2 5965 /Length3 0 /Length 6914 /Filter /FlateDecode >> stream xڍxTSۺ5Ez^{MJHB$^IG HJ. " {1cg_[kΝad* E94PH0H(P7@(Fm `I-`^h8 )U/1X> F@ HJQ^25 蠐04 * ~=`^p c\a؊0`as`#VH.vn\(,sa.P^@gWݑ7=?,s1X裰Z@7taP{1`.XF noe5~0q5 GŒPh' 6 /VdwSo UGBP_b$سƮ$ *0d Ql;c0E`nDp~9HUo`+-k!YGAdܞEu]+3 oĥXJ`x<t#ќ9h2zz>YbLB ʑpד.06(eRQ:էTcV G[|[tR}OJz6@%G&3&Qg5*f.emxҹJWWuۤ_ >?.a (KfKiEHVfp2zD,9J--Lnv1P aŻ%1/_з|ⰑkUf[ZP#.:(h֧:qDa?>=OYTyŹRKQH ĜT]<'*F61g˥K 76۪-!/OVӝ]}1G(CVVmT꒘7^P|MY%)d q"37fz8Y׭e+RӸV>]|X>M>N055ɔ 7ا8yظ:`n[S.wTg U~:T-tNeSrc "aLÓW6CI,Yϧ>wfli5;?qՔ*ET$Kt3u{rn9J =il{=55}iZ0@|XP5/wSbHW }-׃xoGg,i:XDu xw je(_pmgyY-B0JItUuܫb+##+u(@ #oo7cP'웥;I㲃Y<׳?Qᚸi8}. A^JG8ϡ"'o7#Y ˱&5[vUQU#3I7>} ̬lvYJ|0ifo? Z8,Q9_LT2IӲT]mXXA1Jij|֧cb_Cvهy c˫{rVma69 1QX(3Vs%a$Ur*ˣvOtrFl+k_V5f.ДAG ~SG?i7:NT[u~y۔H6y'4DY8[REmm:qmvrdJ;QqL,9pkW'rz쇹*2OUG7%5KÑ9!R܃c'L"=˕R2aOC9FS=)^]/dKm2wz6|ؤI蛵=eFެ@yS2G&Qv5s4U9#`K}9v2%JMvZe~vNRS eno!})#<˜c~%@秋I"nM|Vw'-Y_y ,-̽FB*QXHmAx{70uV1)*oçዴ?pn`l@cAnG%1s׽m?ъܤ7%WGT'N."#5cmFڨ"|%vO!)%l՛!I-=c,ǻԂD/6nsjJ}$;$*,k)3fFC'w-3z6QAqj؆n S|]x3٘~k;Q^!m|ʸЦE70uUdc/fo'L.s.u_v"Hs&N.oPRSl -Ut7I ozx(cI꧅9פ:7bUCE0!Y(VG C^sPnug4~nE"ׅ/@>k"> #Q]ݼrS+0 Bu[1KPIvU \?4pL 3OdOC!2?ѷ@gr-.| ɼEU"jy<~QxLτ> ~trtVAO0zAnbT#R_H>e5?Z` ը`figbLV;qE8Y|aLFaaLJ:1&G{3kt*l!\G)n$;u.Uw6r?*WTSv{6y4F|yv3Q<[LI!詑kNM %O׻X{ۦ{"io߹&BҽIV0~oIY™Xw/@ɝ>9dn~mG(XqȀ}U@Г[䜱Pڹȿڝa.@" h{Pl.Ơt !]Y.A"Ŵxu")"0;yB>u8Cvu$Hneby4A=Ͻ*ڰ^hlpiOr㮥/eMV q+Ɵ5Q#Oĭt ._vB&cpS\#gdܽ_vG~aWF͜B}F7Z7|q5Jbuە wew{VS2Sxx#Ovqt8| :Qϓk'YhLw1L֋ܧ1~MC7)'@Vn0x.ji?g^{Vafא9cQbJ1FIյ [|uKU̔]ly@_J`͜׃O+l1K.,Oq=e&Oq$᧴b$ߛcbg--U>Y"fѺ]jP1QBY1kw3;))d TӮǕ[$j*rDn?❙mF_.Z`=I'Ğ3ȬPm,˸9go CAޢߐS(fbf9ʀI K5lgC'x0LY&7:/ʓt7#[}(_JCusr͈Bz3KJ|~aҩqae^⍑N<!򽟅Iس8F Kn7 ^ 7_c躁g_t{jsaOLnb3rW=q~am+{.iLWM͐Es.sEX^h~H.=O5\:k>$6ږ::˽f?6Džռux5Q7x_)0ER(vC[jݶvoĿ_)kC3U*<~GJ1?e Cv{o => Px+ؔ~Ûs(M*(^Lu]^urB:ȶ7diUCbl/ӫ]UPxF4cz5~#i2|X7I:,MBp`]nsDL^%öS3ӣzSu )ȇr9l-[F7mQ|9:BlJ^EO+P"3d(6ݦ0}2زq՗;D m'n<+&i?KQ?tvhOHY9!x*>{i2~fN9ޢ(o6scVrWձf`UHm9?ϡoLJd3 j" *Verv;U)/0rKw lV4?G7 SjFiKDkzYqMwɤe>7+N6ٙWU?N(wnNuDGNƽ8_֚l#@JUjvd 'g endstream endobj 119 0 obj << /Length1 1395 /Length2 6016 /Length3 0 /Length 6972 /Filter /FlateDecode >> stream xڍtT.(1( ! Ct7҂030 ݍ%HJKJ]"(}ZYz9tdVP%kꛈ88 `(G_t!A ИDjn$* <#)Pì5J!pBlP2zpA:A0N#@AQ^H%iB9K`'W~V>A]Hw5-dD;\a#4@75 @j?;_`` {#Dֿt< s[~w( AœQ0_#AoYn-prQDS!ڽn=6vs>\ܠ ]0[( "@TTXu@=!v_ _0z?g3=fEݡ <@kDɎ6G<fh~~{5 4WU3mrrOH@ b!XU O5c+n?si!ЬCrseRrstmm?`'_4iPhh"2h507h!md aJ0O C?_Rs:Wدo :J@lh}AW4/h"3AQ{ $("i d@C6$ѯk_Bsm tF[" D+71[P'B45< m^)6,ޤ+R9N?]yEu9]ג _FC3UrP]+r|.N>BY b)Vto?51hgX ;'@72dFTlvV Ĝ,ifx +w.Cb77כݕ"tZB<[-?:!SSN|IRpylq{\'ɾ_Ծ6\42 + &A6 ++ly%=S][Lr gEsGҾZ(zªVDatZFWWtd\9#t壝 ̠ 9OK| ܊{fK*Ǒ%%iS:YYڭW$1ʕٓJ 52@ґb{rV-z1XU>ko1:kPc=3F*H2ܭ m,nvYaOTP(%g<ݤܩ{xx}-g ɾ{||&:S$(RbA$.-CWċ6f GEu%[¡])@uUP_$;L&ԡ)0aUXt)"H}{RRm,L2kfYmFAlߙF7uOTigJ7Dg[xgU%i9Btwr& ,iFאָ!4t( o;/ߤvyAC#y"bxԘ>jDgcvGLŝZ$/(FH;SXnI65l4k mYy%:eV} .gj{2Z^nN+H.*o+cI-'Ǩp²o`+>z)ޒ,1]q˨A1(Qg(eHcAR!cMDcw4~%(jcG( VzxOYŇ1ʽqvY *>c۵/U'ܣ]LyjWZu@9@-\L.A'ۦl_ܯ^eTG 8[b})f&tMYviPyY~0'M^mʅ+›c eA.e\spGZpN.,z̀ULs$Ǜ{u!>qu!_1B˾lp_c0{P|;Qy )(EP5 *w#}fK{5TWV0R~#ĕo9:5NcW]څjl;b4r2l 8EKۙ@:s V)iR ZL3>cR-m?P"YK ;vlIƛ;L!&>\#w ˷>h vT43O|0`J-`wvHLC*v[) ~2sN8j5$*#66lw͓lSZ:]?-'k9 l }=&k"]oc1Ua#!90xJAj⢈]oPh'YPNߋ?0 ^ 8-Hnn4fЋ;ƛjL׈ 4x\9TX2?f71)%1Tukc.NQP8 onT}}³Pg'VSb&ɭΪe{m>- \L*%喕뢤(y={gK̎5_s'd?t9#ʢ٦{ߢ3Ϛ̐LzA uS]z>y/X?sQӆ-Mţݬ b  ).p*e*Ā__sqFJU.Q⢢ێ2n "rx+-]b8;l3>lD^31e~|hHsE LdOE<*)ڙd:#U[۸D!tm7W? hWSc!UAÒҎ=YT͔}vpOs"M1,G4-~R7[? !Ҟ8]{>xrt.XreLQk)f~ z|kڪ UΥZ,gt o3+}%V+e,&C^( ̅QғԪs56_'N"4_K';!Uj' `M$W1'زײ%S=?\ıqxp:5յrH#o֣3@$r0"v~ qv:^f5B0@Y|&E!zWZx4Vk[{*`0o?"&CGMl&sg  ]޳ ǀdB۟eZoTZHC$:O pb)P~G,D*!49 = !VO9Ե;s$)u%ˬ3fďߵyb"SYFzHm`zJ<<s/voKZ-5S.x>ou~5Er9Bo|Oz`@NTbP@2# p̊ c 6Yy3cMg$6}.3|&.'Z'> stream xڍP] Np'qww%8l`cw .. ஏ#szvkt=YLYI l931eX̬HTT gHT@G'؎_ qGM|tqظxYY쬬|!Ʈ 33#D%pYX:W)p-djlP0vھhjlPV͍ٞ։h!Lp9[TN@GWƶ[cF[r͝݌7 hbgtP("E`96f;D ?MMv ; 9PgvvwfۙA4qlMn SuwN {g'f'=m%@;g'?9M݃õyhŞEfBftp% {ta~l0k2!y9Ύ.@;!@of_AOocv6x, ^E `zS/}cޘE|oL`1d,oy- 9ߺ|a@oK[ ug/V?mXmYoڿުs|+_-_2Rs.o?\ h6 j#rc1Ή:pq'Iຯ .xɑ$53~ Z`;9w d{ SIޅ\giە,CiAꦊrSx_(PQ(PAbif:d).D'~ǿ:OeX)am'] ?&3RH?~ j Lk4&B!.7u!s%j$3ݟ-l Q,݄f@S%b9Q=ߓTKH o QjWP s&|tSblr>h*Vڥ"۴)hdc4C]?@(xEIj^4d*2GcP6N#K Kf1D `CxrOk4P:o'<UZSQ!~~CE붨ubuQ,Rj4|yx4T5V* 5MVk{1Rl(S`ѲDQMj5%}ה WZr/H9)*"e%.yEF>5.5m;$廹;VS+3`^J̢4=G.GKY 0MS88SZM-'IIKK9q8JH)XeٮREC0ߘG{p ^!s_fS}-ڪ Qv ҼeyE3{4.6u>r/EA?9z;M_E*SP[ '+v(,7YEi -(nfU  \9ToO?O.+9Q7 ;P! -6\Q?g!x~:j=Cu9cUaq9}f@P1j3nR6Ewzf,W1\͹T?^㈃8VTuqE=u営y.>ZxIk}&f%EV"Q2dD3 8$E\3GΪQŷؼŕz,v | <+ة~̽>d)m\"3/qPFD*)yΊ[߆ț)!%)K0w<<E|Jy^_UܮXΧ @Y I-) \"j ;G\qBjl/uh hێ^qs lZp N'/)c6B>|3P?? A^{~ dz%7,e}߭p6LRK^~@"Z /@ 0GkAҬOy=kdXc\pW_Xti,踰GJ,2u=|󎽖u%`a9e WWuZu}KR8Kٝ?'%|>Lo?`࠶t Tw~`'>y Ȩ O2eD Ճ'=i8>3 l/=G; \Vz C$Cy7s8JB ܯ0;Njdw٪8+>'aTRIu\ܫz!Ua3a2ՉcV0Dy HkP8ZԁkIJbׅXŀ^F-ت C* "-iQ ņK .0W|"uOմekƘ|yѯ?9R$.~HS0)O jKyf!p9gjvK]$ 0y՘Mέa d!S^rxK!dd!D_aN_#)LuHY r%w;Խ#󿚒q \ 8ͼn獷?zBLaJkM|wb#n-E&]Y_qvzFOi?7qK7ӬSG0$pwT0(>9^ñ. 85+юߵ\8 d5u:8L'Q9e:l#{ь>3=. 0 >^B3?qǵ)ۀ#ܚbzlggm9"Uhy,Ѣs?`ǔm,Á6{/MF6UZXNwۢ${E0*C"GHe[j2]l.\3߮qDž)NISHjǠ]OLvB\ k'q\Qo;vhp\ ;d7|Zoƙ5X8<*z Q޾"x:z~Y::{pr4Nvda$m. ݤ UgT(ztq.Gu-K&̾&2U3sx^"^QU?jrGo% Ϗspu&)_:T'ƺN& nZY.]E&^ ECoKzg|̴cG"N"NP+f1द;lcDw#`ˣ-Y"Bhܢ 走rk %&ٜQpo;,^rSÐ_:j,Pi{EjZÝrtoa) vt3z~ꌂYPIF1PUEn2H2Vud+u|zE6HoDun~U5`-sYx{*a~G)WtOۉ)׷H#ɕ/y$޺Tقx Vn櫡IVCwi<)#f4ɪfU+W?,BQ3֦7'^yޅ-Pxخbh\|¼b#4ѻwU%Cj#JC(b""I YPͱNB6&P5CzT^g3EԞIJ8iU4@bQ qC>q(mO@!syoo-0zdMcIᚬk ϩ9\[-Skgy?lK'C_GG~a1;?u&jUhFQ`R9̓ϡ-#O-uٵ޽Ѽ%޷>4-Lei4gW鑧 b.z~hx|'ŝa:JFtz5Pz|m4Q-.27_DC4 jAQʼ"cr,rz›(文#~W˫)rH mЅQ,B, +T aW4Ğ:aE F+ΐ56&<_lOՃ^?-.UlzG oM ddЅNĆՆG:g,yk2gT2~(ې \_$f0ǚ~םE+5 ǪC <ݪe0/2:+sS ~lI14hth}Gn :ؖ<~T^ !$"EăaTQ9>Zn_֟G[踓'Fu )Fdv+Wr l@Ա* >It^׳rY<+eO'qre(-77AεV,6,Ϥo{a7)͐Ԛd@̩+ @= \8^1u=p>+)C":akbw=!AGkIׁJ}Y"e'p6ʶ1NWKE=z9pǝ !GS崍)]hH \_Mf_zdPֺb:8Ut1TIUvHvޭdxx<OkPE Xc.70$:i 4ڊ)o_6C?L˯*z|,S#RflGT""xvBZ+f n:+6pghe΁8 6iU Yaٲ8`N0ՎǢۼڗ(ǤY pA^vP|d}Dà;tMqG|L( JMMZ;LXvbDlX.ըb,I K,z mdMmiK9 ;9Iv0Q̪һb! CdHrIӀ Tahud89у( bsK>L^w9P;rXWcœ `n@76"pT*cbH-8Ik8mXUeM-'P$?1zTg1}&W םkNHܠ7yZ !,ԚqqI'?/)޳6sJ6&tV2 G,KWbY~zw"ip./U6+IE\c6VliR¤x,N؝pيwӴS98Ԩo,:΢Y|~\n*d&S5h?vJ Ø1Ӣr *:xK2Sq[dzֲws^}+ !20Iu(Jm,@Hvk &+u1yŸt,JJkgef cq6Dn HJN{O1/q#26z}"NrڗmXKm'?›i']٩DZRD62ٱ 3`xΡKQE2Ia=:/zusuϴ60΁pNDj?tf?Y><|VH.$Yt8%O8oJeӟ6E%`ћJ#3juxWh.w)0("%*CTٖ<]8d'oRHi8,LG]ZQOBe`Y [{ԥ߄=&9p ?g\$<ƹ\qR~gICץBnaKCe.SE&air;#T|/!!M_ >OXIm"Mţf$Vc fwpvWN I%2Q.:Rֹ(}xyƥsfc\2/0TMgbUے=b!ʬ}3zWSH ,jGvWZ8 DUr!A\k Fp" ҔfZ;LOh&2QKq5.ެ}6ᐳMA̠ȊZ㸢vIOY9e77~W;zP-AʡkNnH@ʍc>. ) 7|Q2W=ĂG%o.ZB=, ѱLh cAx6e𚈥$vE"s:LKsnEt|ߺ8A''c.\9Oؐqd~sA 3sX'VݶGRpm$D.{ѲdO}_UrmƖFb~!ͫ4E #CCaDw8S/J!frŲk?/b,Aɨ\N EڝxdꕒIxJikټH.GS!'X0ڿ4TqeDwxg;ox -6KQzOc+ˀ9 {Pp'y"cVh$J42|.d, iv@ 3P.ɾgsĭ,)sk95:DBoנŪ =sm&Z_܏; 0 znM.T?28:8s%`ePl'=`&D>=xW. fqH(\c$:|ulAJ6T4IE`] ˀX;EZ:#$@{s8GY`"YPi1جIݕ))/rɉo޺%wiQAñҋδ',S)nwP`2NkGN6&?sri~әHw|4$q{ b&Y7 Giv@ȯoRߒKN5T\V3TmT“4ܟeluummWΎAjJԐD%$i2.Z4 NR췮>oJ7rYC wq_jUiBxQj Jd`JSLx֦Cf,Җ9\4QU еӶM (5 B};USMюXޕг ozBȉ/m<Gz4b#bBx7w v#55õxY:4yD_o2o6Ҕq'ż<}n~7G}[ZNO|pQ,'ؔxcܤB:^OVõp^ V~c6+1`-; ZrHi?ɳu6 G!_DC[_ӎ 9ED\dҖ۬˷M!Pݥ֫3΢@ BL3y {,pV_Pn~41n2–n)І*R/q٧,,[u~w26*EB;fzȕX;(WϦPANX_37l؋f>HqTF r̎9bY`YKOiݮ*DvV;rrEӘg0W@o_E t?xo|7Z%"92FY"`1]όo-Hw4B@'Ƭje!3H̾.j} Ti&jTby7CG r8%Mak?VT17%Uq WY/49'_I3sg̝뚽*:K+单39Nxʰ tX|VDrS`п$MbT>0W2~ 'f5#6?_zcM[o&Tjwsurtt6>v6:e]9EDv=\R^8#0ĊQ)ui]c$R\Uln%Fpd.!{AP\;Ge,DS[^xN6X2T~D/&zv9x:ܬ1~e0 L /VoU" p90'{}^h vFV@o!E"V뱭 -蒷 `J񨙰CaϨw1I6|:Js!8{wjd{|z98z}c1AxKA?b1KuU/, $d7t"Hݲ||rtr5KPLF1q0Iê$(d5UN|03k168H-e5еokYMuVn*?cS}~ضL {ɽ3X]RE?T1l~&tK;dyy-{; X$j{g9Ufٷ !i_-ozR/?U`CA~QobxzTjU*TG TO-pϲyRD'A|,um̛)޷G𖐂l)p[ugHtrTw~J W =XilgT{idiI/QU)'֛)y@iw+xUKa#~f~n0TτqjڄfҦL~>Ln daHm U:V!HPZVfF3`5s[o3$ggP]ܟ TDI)3VwQ!o`0,Us|5B>Y ;]+K~3JV`sTux=z$$΄ǐ\iqf ~%ɸJ6EPx~H 'J2W &QttH^Z„ˊ/,TpuB Ys\xGb"Ȿ?*DHNH9b~$`C)i8FRXy_Nsi^׸Fq=Z*5*BDm~jHCV\&&5a?d$ c}f4JD&*'eLDߊՊxب F3\tBOji1ߏOwwl%-7A q1!a"?k*98jƺ 䞮S' tnjitg @%jqhv9DV1ȡ:n h5N(arv N` U< ?@tYf= tVK=i~g8p*uaJH7(~!C!Ji3Ym̗G26ұZk;'P@DZuKqltDL\c6dVZKUA} ܢ+|3WXAAnMqr<g{М{qmÉY JV rL͕^Yw<騒rZ;ҩ†A3ŜwQP#`paKcn"Iv^ׅ2m` }/VF1ǘ? u;*)hKI3Dl>W-`QBCYpИ]f2y ,-,2:ʝ+E%,ͫ5LZ&Ok} JbєC(b69OZ6Z$S7d79z~PC 牲=GHĔ G~Bo_I8M߲0;ЫSAj'`^g"gpCf]}QhWGHYj7!qôoq4@ + Ca}˱1r^eF0M {5ѷ7Lx4N:[KjKPM endstream endobj 123 0 obj << /Length1 1403 /Length2 6467 /Length3 0 /Length 7427 /Filter /FlateDecode >> stream xڍTTT]nSBKi%[)RARQ]u:g}~ah"ti"(Po @81) &1p$B` S`qH@A2@ @W %P$&QCz.6Zt' B} p&%]1/y11???Q'Zr% c\04 sp 3(1 1~ ^bf W"saR@ PV\bʛx~;A`^H/3vX0!0 Z  a.pձ0|` rz ;[X>UU? PDB ".@r@ v2_m#?b_E!g;H,kaInB/S7?n'#,i}0X#2@ghaNp1T.X2$Ep8Zs2c(7%58fD[Y@ch,/`Xs_ KgR  4֒tf2@L`SHk~[R1goø`?vPX&ٿàK HB[CTy ք$Q1ŦQW'_}xxzO.=n-(t{z$N.[o 0{nh)>;{y_w"!!)nTJn3zٹn07#6͝Qq*az.q̺̏SY~ ǝQ1Vc$QGN~![ K}ydu,z"0.ҁݬQ`=|lFtL&S<$A?~|TҚ@XD8ἙLQd4QO☄h HcT '-gj| w$(V%|54ތ:[6] fsMcC5Z C\z)XۏCxtd)QlޘD(֓r~䑏rUv3s J}NTϛg|tٹTN%Hזӡʝ/ٝi@-/2sӅ#"T<TR頡?Dڠ88P)|aa1jKŅ ѯ1ɦxy{+g =qRR'(\8ڰ5LvWhq6qdG{j]ԐpY3O CQJ%?%X (f ǭupd-kkϳ@%rZԔM 7>2F}[μtMZc/o⾢Bm5Ҹxߖ\Vk!ƇH2X~_kP:?2P̓8.i=4 U{bwKmW?6i8jR >^Mf Dn&_X-Yf Vc(:6pA˂  5:~!eB7_>diJ۟e]1y}X[UfQZ^tn)]>yBheG,ÊuYzy&KiiB嶇?dU[}v-ۜ}s0JS^ ^iJ9GZ<ؕsIffk|(21.{ܤ 8%ӸCSV5v1;Vuϯ  HTKӬkB}>~jܬ3Om&Tٕ?,xNB33#^|xZҳ!ST#آYrm</Uo1 Ht`s6e7jZc>ԝW+- OGF~ l޹o3׾ͫꍈ7M xzʹ^@sURA76کT-򀶷s+lƱz[2XӄP+`*CRYu]fΡqu=-$Ę,OԞ;9k@}\V1EF'ug- 0o sN?\T0qLEE䰰O Mk Îbc?*tTjXk0k.^ܣY^a-~hIu|x%A= Fm$Ě,IAĹDQUmLOE{NAN9W񐩭Q<wgQ:9nށ.ŸR&Kt>^ m('MfD^Y9W)r#ޓ MNr4]I@6h m&j2{}'wH~a@mx`݊lЎ8QClnuihJW|ZEG~xUvg;iʭ[47΅#_=(}$-'Uۮms^Ng9#8J^}"&Ⱥ%jQ n$7LkJ0d7RM]?1p7/[ ms<ג-ql&{9OV#%$VqgO53[Z0-X,;d6QR/} r-ul}"5bjEqΞSU/ܠi4U5,GTD#^iw tý1v,c:ﮭ;Oe\4ܚd+&R͡/ryfIzMl ~p$Z [/]h dԵ`bW?PyS ~"ZڏrRСgZ~Q,j{GKJhDo&>ς>X-PqQ bz@ O EEda4zdY㼲@jMeܪUA c9Ts>nWţ Y79Q_[L;!yrp.V~)1J:icϦ(i>ý|xSw<+K) q ~/-|ՂI]rlC{_n,̯4O0f?{Q.QsCGqY[x,ߚs;0:}#ߜߢԃSߣY6.eZZ412$pLRB^89\=]G?>~3CNՂ'2[1xi\]Ӣ7Ř%ҙAcxp. 2pU>9}˺cMI}m4"Z3yA})QOǎʅK)#i/q>Jg  @χںq:QHk#L;8ٸ#RJT]xZaUhq[1 jMPFMJNWQ $v5(xj\N:+xe:maF|]w{%lckx,=-X6"] b߲|$~!H?l_+={U`Z^;dlg_݅A |U<.\i}#Y@m|)]mNΈ5Fw;>_y zj]x>G:Ğ>Ll%iנ K&tッD{΂xA pq8Xgg~p ՗‹ΜvARW %SF7uvH! V1L 0 2 ,.Rr|'3Jey.͚EAfL7h!U*$xثSCgPUN',񓃊d:C/K[QUvH1$Z)uѦ$|zBMǐ zxlwI}/c0uԜ "MKw8@[#[ZJv1=ԕ`]=yV>ӒY_N>S>B>HxAW͑ zQ{|]{u-#7._ HJo~ {W12 i2ww3`IDc'}AQ㶙P՛$P@nc Jc03t^I=~:m|;IqieaAaʙcL#l"^-i3e=?G;_Y5y{JW5PFU0xa9j$?hҋĮr:h!)6U C˸9'A6-<ߕlE3pK/PyԩMZEk5ZK(!DX9itVK7 endstream endobj 125 0 obj << /Length1 2521 /Length2 17452 /Length3 0 /Length 18928 /Filter /FlateDecode >> stream xڌP\ i݂84-[`5KpNp̙3k$UQg5@L,|qE V ; %tJ-5ȁ qgMMPsXXXXl,,9$LܭL9Rlmi翏3Z+//7Q{@ h2z +WWG>ff&{&- t: P2%@? u3F6:9o eG#8V&!kM@&^ k; @YJӕ`` MMMR Յ2VfIsq=$foub " ks0wsdtvrJ#FBM8YXXx@'̊/^rq9,Y[~|\L܁Wg7ϟEsk3W)72?֞}cmAv^n16?)y|9lNvn/X }vghYZR-@{߳p}U_V_F$fg7??|{k;$mAoEY\Eʺ킨ݿvXY=!kgv@_' ޖpyɿY_f 󿖌 `l6Ilַm4z=f& -;?ᯖrqE"q#o `q~#vofS7z/ySX̪Y7zq5~tEoLEl\ovlkb[͐o^LM3u6132ފd/|n{ApE#ܷ3\mS~ef[-6 k?l9&b[ [V~먕7-R?[Olo1[vMo[÷+7[oѽ)o1ǷkZv:2;߮?DY~㭂vnd*[@@si!O P7V74ܿqM7·D\L\0ØǠ› gz|㏕z3|;7Uo\Ϲf׿C7 h42 vW#J3.8CAJ[|#me[Zǻg؈dնG'jS;m8GD"NZA-ryNn<(*1<=˗GwTwʧ4cR~#qe$8Dȝx}'8Go-~{Rͥ _ctGl?Mw8v]p -h;ߑN_| ,vKң~mA:H9;ƎtuG( xRҟ w"o#`|v7u~M{[l#la4J2WwXNL2ݕB}ϱ1\^ čY!i|l/GzZA!\wD)yY"n nGeh&XazpO~uIwvmuu%*}+ls\NVy*vTm`1ɜ8s?FmM훾 9VWͦ9/tKE0( 422_ͩӁX \ LB;Y<αo_ Ol)E^q0i"G4&" 4W&jo[XS\%'V? O}e-2TNc '01v+8/Sb} +mTFePg.uP!gYMV̼~+R>{iADNtWs_OdØR cNGw$4>e su#(/lj)­z]?[@RL\_P!'zŹ0GKԩU(>SRQ&CAw9*CyZ ޫIf8" 5PrUjj+?ܪeCVs>_ڤ;[=I+Ѧe{.GgtNOѵB cYG0^!Iv޶Pf|*>ehL@Z5C c@(O*5L-#.ͦ">wClG':py:@ *V0.ؤctI鋦XqUV"o-O#,9iSҭto.}A)`U]H =ڒ_ ˠ`cwz7 az44d+dv?~FoK3XYXP8FBU貶TDivNU2+?@k PS1[~gtߒ|4$I[j}cTbeIm:bĐ&sPN߄WRr듾ur#iWL|<5g`kOl@b9ލ4"PiN}D &]HG|1.r00J <`tUyZI$Ղ <?&Y -.^ޖ];0 ْU&x-d)q5O.}B 2%} 22fK*Kda%2$6Zh/T {P}P7j_ W}v߸3NgǁŗET "' o>+밒=R}B^re;(B2 y 7F# }{oh)116mWCB35@O~BMzC5>mθݚz_6>p0;u1nxn%X[9gr6|b 1t)7ZYZ>1VP}# CQ2+"t'_*ṱylv0 +¡Y u2s56kX{mtUk,C *7z4*T:rirOW4Y H(ŷL[p7DI/PjI3mT8qOl;;nWI/گ:)P|y ͳIh5~qMyS+6>@"VUVĬP%AfAK% M)JR+r_{&[{6 ;/cP9w!`$'h1B BfU?T7ѥ8 3-쩺[9LE7@S0aymciI&{")v"ѩJ'RۓᇏaҘsKSxcuZLƊ Ui+Ȁ˫I,#h uGwByOPj'[\k[Vc0XbO' -xּ%r< C3jD˛L}V_# 5\QwG&|/ɤaڨ>⟅n?C,nl .MՉ⫭Gsz8)]d7b\`w8I;&~J'>\JXw:2EQ -^%qVs*bw3T[*;P`*BK 9NOƊƿ4Tpߓ叛jLx8dc'YS_NB7; LМ^dNf-KVU+V'F4ȯ:a;KFJvjPP3C\(8ѻg“NRv@81] K (0~8&ٳm/g:F)l(>wf! 5y*JUTGv)]L0ŴQf_GIJ^di+ɼz~UfqZ^ sۖwL'LZ:O_E1'?oqQL;Cr;a\JSE\9|X6kT91 Z} I&kNh&Iޒ3CEHNb!fXoY!*'Y @0ڍM!>?Eb< A&{'`-q N$3!Y2T]Y;W#beP@o Y8W.~l>r:njNL}IME‚r3 tfѨ!M̞C4t6|(%i>籌fH}U4>,5KZ^LzޔG$nδ&istGo Uc('vh $ 9,inG6h 'Enqd*i #a=( 8^)IFSܬp1Zo1Y;'ؔ3h[A5>|/? tΑ`\:8 ,3hТ6<&AÁoQ%e9%{\].`ϴ0ң㬡)c1+E Bʚ":, \ k9y Uldy-`2~]:8}iy߄[ dSp{֞-4>d"/wtbX$C.Z^eƶwI&aȌEcH%fcGԽ66kxf>m_~u0g9kPfo1``87QQƥ{rFb$V%N_`3?=+T :JXR6hOAG,s& ]0;꡵㩷~Qp8KtͲ_|XZE3~wV@# H[g^muStgۺw$ =; u6d`^-DT s2_CЦ~ՇM\@%zT`-H:Ȣ8|2hߓsrd;O= ̬7@Ir.-gٮYܴT1 ڣ ɴU7MA >|%cjD~B@U &!΀D*'m.bo#w:?rH\5tiΗk+߄5E13**C^e=ɯ-h`BIyʓEtf]GrqQH=bvlvoeL9h[QE-{Ö^KÌ5&#;4+5WbϻI.lRu%'>f0`)aYWˮb4NDž0y`Qxr9لeWemRę}.Y(me+uɿ|51Im asac~$gfG%J$n%C/ll sFmG#!1&,žX.Js$u}W+9;hEhOF-4{c ԧ.'WtGI9F6Bد:t5%2ן5Aj66A =M|_w T>kDq޶%oE9C o.'͠"tGu+=v:\apPŔ\aƠzX]9\QklX oǟlꂾ edu=@f٪{\,FWEQDJ2jD&2!^?˲pTcj4la^pN?);K}W\g(3<)v}J"ƹ$Yn1#cz%J:R뉾 fruVg.1S$>χO*c~h9PLt0ƾ8\ Y\Nfyx ].)m$U/8;$cر߀"(e{Dn/C;I ruSK5ъaC^3֓<*39i7SQB*jt8Vq$O,6Q`A-o+oOEz&xQ6I(a3<}đIIa$a2~I'tvbROB>5űXBhF ((?8\3ZuK$UR\O&N0(V۽jY\%pq`\ěއixFw +Ķ.?g)xSr!eOs V7&.;Y#֢j5oO1H,Uc9w dKW;-O6AxB=NYtseKi]H:5@IAխ_Io]FzU\֢ʣQ Fc1øT)u>2MTEm.(2a0}uik=aL8ZFB~&+&/ȞQ#TRB1E6f/J2|9"c$ߑ9d*sBd&Zԁ{KUœO |YcC>]Iအ_oDނp^Q&6]J]6c[ }cK[/BNDtˈeZbΘ8-qiEv!TcXR'[By4nTs[X$e v-s昊`e G/D{q/x|_)FNcZggPmXr%NR=!؂PlXP=$`sgv9"pl Pa>!d76DgGv3LQD`g<@hOK6bYQuU+ ͩgY`K4^ O?ѵv/ v'tL:qoJPIg[eãШ?a26rxMnP+$k J@~YOxzUq`H>aJ[0.)P«- $J,Z"dBme\{lSl\m 2mBx {LuQ}FeٿJջn `FR_ܯgMUp;pyLfO5O_=tLCޥut;}D&*(0KŲR:gsiFU*Q2xw9"8RP^Jep;`94/9~=  y| ;΂%,|"?ly r(`P a*7o V]XiN̍r4Y/Rٞ]Ƃ̙{E=<D\TڣrjKr""y"%RrCrgß5䯔[W"^u׃F{{"Aי<˖".` P= 6|2u)?a*jNiqb탘Lm%VJ|NH1r o^C ek d(˿RK.1@f\|,i]ApkB%['c9o~VPM/g sYS͂;-4b]$;;9z/VHSǣ1i6䇩rC^!fA4wr RЬܳ?GK}mib#9s0Ι$4YSY۷-^R/L-3W%3"#ިXw\.uzxJhQ33)yD ha8vOS0 =B~jԻ?QPu1e 1@S˻up ItS0MR\PuLn @J ^ӝo/c*a>xW AIKCJH`_%swr `(Iwq6Q~Q̉k-`:aq~g6 |9!4ڳ3^xxȪo$~Y~": .ؚVVa⛷j<ޗ^;3'LʶF*k*9}1JoT+,h4ZB/ĎE!b [uϛ@b:^ʓpiMU/>X7俘()˄ޚ]th9~q9lͭ1DQ>1USTx-Y{.WxeUF#^ yYvGVaNk ,b'eQ4c&"F6ٺ4MG]2?q":_LQ,5X^Uq)`#Kaf?~sWr3NIR}t< ^*BmYOszIޭҷ&vVՀp<'O/ sIPeu,9in,Y.m1mRZ]DiCg۟2~[VfRqxIP(`*q\<gs@Hr(*9c!Gc[n07e~'*z}~:_JpN>o8ɿR}8h'n—1&37 z©M ɢf /K4"֩IZSB3Qj:Ϡ4OD؛KmRfӸ$wY_R{ !S3As,O$uN*hc[ܦP|CGWą+"5gű^1l͸e|j+{%43J\C?Q.”ߎVE:BBPe,Ih}%͸qŖАG7Y 3(½hC "qD~ fL#\XM;yZYhDnϰ-!@c y{DZ!u0I|L%,̐pVmW}9_3WQʞ]5/%hq[ 32JLm,.<>D5TRAP<:5gTK`[J]Xvw4~^I!+cusqzzE .$=uU.w rwHgI?Qq$ԪX_|i}z4dݗ0s.% 7WSpH̚N/#"m.l`"OIk?*uJя䄅#bIipd%_ V9ڧaVN P8*b6y{tRWlqqVIU"!g)6cڜUFngʺy?1U lwg(^Ҙ(#F XD$d̺:K?<: 68TD'F[v؜vO&%@ gjŊLf#Y2 g?C];g9 Z׺}45: >2w689ֈa[M`⅘ ö+p?f)b:b*Gٸ &OZSrYNR8lm >˒" -Q0nD P g//|5, 1GUV xnt|D!vЪa)6TV<0aJ˕U:QQh@Qڛ;a:~ IDY>nN^Q>YUx znKC 7 9jhz7v0]'ԥPt@ d2Uy('OU^nc-VoH4,%ZBaa)kiDf`dNYmJ]HK?7KN '0/%2Gluó/]!NA}uw 6zQXn)$6b"r&;UZ槽+WoD3,{Ǫq%[kb%DUӵK" Yr9QOu/x[e,i`eE d'NV =o>^.Z[hF]ҩ="6 j@ckM@Rj5നi|m K#oPYa2`8򬁱:%Ś,~(g41wZ'b6'_ +NOp$Ko Qx&S{lB*fQh#dfL#_M:vmi'Yv]WfŇmՇEurccI]IK#£3 nv2>r?+{Nx>a y'|>tSV3og7{hW#G1D`c FOLR9RIl@8kH~M@JpAz~&ANa(T@cn4~_<3b(J,Kq3sƆ1~pTgVk&-c\D/{HH n*_Qv¼)Э$$${=*yZH6g<]zgܟ}͉4 04foޜmgت>y v,4"6sHb!/-[|͛q0g}[vˍ[~RD}ޫ;2u;:(E,β$yH,+tD ?* bըhćѐWa4Џ-{f7sSU1![{J-.^LX0"rձ޺q-|&Gr7=i=7S>&``ڧԢѕ} 8ezQw D(Y!XRhu_ߜcٽwe68_'D-\~}v)kCH3,}l,PЬTZgeB$aWMGU=|t{Y¹nj{&,v oJRLfrEm'GvdRdxЬMHǺj{SzB%AxjTNĻVM uԑ'fuĸ57ۖv!FgdT^d|ap+p,\^!֐B6KT4U8Hwp+Nzrϗ,)\'7/9y4к/}9,wG В?*+=)"t%Chxɇhwn}(`& KQv-u0}:wٱm   7VU$Aǀy!nZ&3.D8;s ?޳Er/}SH:vQ) :kU#)-1_vȟrkl$?&: )Y(K;"F~v Q c.}!&ۇ,_2C[6&uz!&:uչ}԰,sB*BNŷZA;ʑU|IDKpC/~ #&$uik, w(= C8uwj>Y/LPtEB? 0e3 xjnL'<p`)$`T/2on6*{ֿto0%RSa(G0'DO 3E)3LQ&6k Ǜ}Uc$pd%ڣhke,ɂW:_OSDÓLGC€rғ+"Y!{ O1Gud7 *ij@ čo3N Z+!MۣGI(q1[ eʮ@røT4{·)S ! ԛL߷^vzeZIn!ȑ_Tضle)S߷^fGtGU] E&ضAp'nVV?R%_ F qULh0ѨA`hI ĠmQa:@!)ԫ&ňpzIveg<|}j#hp膷s.`NEbbG$s`y/ycީ71G88T]=2u_0y 6޲iĻrMb*'ICYY#(wۣc7#u?1bۦLOD+t\&%9N*{aIZkKGA/" -%7_[Kpm|68pQ.΢!'e "rf;b1|"Km#w\'p汴kuIYs=5 fs3WHca5A΅ Yod'q K:xC6yGZ S =΢J= bZ#Zn`۔iz4qñoqFNğޤz%G%1aT; m b]`ȾÕs&1MF@ʼa!o7eK05J^S)9m^ƜOg%㋆g]h9#U }63JU2cseT >\oĵFy>/ F6ݺU,U،2 endstream endobj 127 0 obj << /Length1 1542 /Length2 3121 /Length3 0 /Length 4102 /Filter /FlateDecode >> stream xڍT 8mDiهYkd_%ʘyL̘y,K,oT]"QHdOmykkf~ι9rҎΪ&X7hA&AH5`j jWN΅f^ F ~#RA4IJ!ϞLlR@j!@C$S342 ʙ)L*/Qڰp0h`D 81bBA=8<00P GS#S}`@ N A,0w+ vg2 DSAe 0 Ɗ aA*:pQ@ww 1GZ"i=(h@p"쳰S @kD4Ffţh"W,LhV?ڣa DSk-ҰlNš@D]ό@13o֗D$8 [k@ B&QG?20xZz&\w"̬B(d c5p 7D C~wxHK@7C 2uT@k%_[;Y۸|o^2RTQ(@SCBL&(+Қ#ke z?_j(r 4 $D`X_Y!ײ7 "qݭ?nA`I6bߞZҿn{!4k LH>ğc$, H0ua|7@4ڛ"X{e4] km<ќ!c T4JSB 2 Hd pd*څp5:_Hc~"$K{p7 A'咱H N iAV +{/Bp:c*5 CG+^)2TkCi7Ο^\>?ո>qϠrU !|  UsGa ?P㶵IXJG]J0c2, + s< o8qD՘d-6g6o6$i11q&0*>=O]̘68Y%ftɽ7Y=XMkuL(㊍.}g[- "5k*:^ؙr:=;5E.&h,lM~4̾ #-I (3(Jh S3;GL{؂aDo"31}pebgܦӇHyEg!;j\AD4v{Xmz9NIKKvoC2zJD-; J< Th7,Y%/*35>SJQgOԭݡOFSc7]߹T_< 1$YGISKiMnG%*duq4Dx GfA!k8\'RVx Oi U|V܍(c8v{3_Xo3R.ʠ'Cv#(Fv$N QDc-2FWkWlDzӚB儎~^k?z ]$ 47jT&%߈46gA7Kq5j4xQ^\@["˻ﴝ_JJdz.'4a_TB^򮁽/f^sꓗ4!#=f_^͋<^k h `Zwh#yڕ+j=Io&aEf_*ZngĆzi_5ܶew,=!iy JSrȣ<&"a5ֻb de\z:Շdu^ݿe7>5Q`]yxL-Y̱XZi\*P09qK+ʲk1<{(GU@0$.k_WoՋMviLfƦNX͈EI\ڋa6xR9ȯey3}>wuщ1RJ[f |:l` dWD:(n$sXU1JEa^+qV\iƔɜ ֩^Uyb%UlZ*ؖxF‘VTLuñѻrZ'i9`xNdŮ r7 BAq薔R]1g|tG8qLA$n_ɩAo."z/^>jEᦅ~hI>tC-sAGp_{)2xRvZ>Sd'5zSǓ{tK|e1rϦ+Jre/` 7xKީ:l.eJwrY"Z6휊:.K\Zъ_+I3pㅜ27^(|]1U۾ZHp˥wSK;ۡYX|<oܼ@5q Y|!h 8d*z>8 \v>eHmS3nllhIʳ}#2tpUmG(\!Jݥʵ*oU޷PdMX_N>{ްr\͖%$񙈫ٚ_Kw.~6"сz+}7=Q+ k.ڧ: vIneg9¬Pǡ zx#A% eQuX{PؠðI_x5)[NsJqCcbomfi+j+Ħ>&s8wWbSW#^śwYU?^&B| 6X~ыQ&ʂM S~g*zp{=(iݡyٓK+_ uI֋uT^ytdȜrەi}Ʈ1{domܱrʆqJqu[^7l^~&ep6Ws0cS(Y*]ބl}lΰ~i;pw_9&ZW?b5d僊& b<2]==(]Zy88M-2~S"Yc"}αVR.uZ7r<~X%je p8xĴ>ج>A%Oű}&_۾{=" K2g糪7h~}Cp!p:ö{Bu*ćy[LmI2iQ~5?Y/OK 7)Ew^!A#P[r(}t߷"'$J;*bwڠ o4ɹfpŚM.2ŧ̥, 4Poq#ɠ3vI!зpD;};ƎrM=*Eݍe(,1||wƷ,|4rHu'\UŠ©uwS6 hvOx49!q5防H[ȊvU]nW~3}qu%rO1#wj=:T_C;ީh;AD]3[%`Tco\/LWقgG'J w5} o kZ!1Sn >6c6/6L9rU ] endstream endobj 129 0 obj << /Length1 721 /Length2 1124 /Length3 0 /Length 1695 /Filter /FlateDecode >> stream xmRkTSg-T)CFOh$fx"!+ ͽx`!->$c+` Q"Xjؠ P蚵f}gu! PB =TlyhF`B&pHH,$ ?Jt`ht2`a8,EXD(0b1KE21===0=MA&>B @ŋFr '2p …)RXaA@YLC44 0 A[%$*R,O Q1շD pvXr-WqbD5Ӂ ¨o\TEXH]*@ IlD paaT C8 ar!a$`p އ-TmB`%$j[Aa|Q1"ԯ03P`FEFOe`‹׳$f?}%/X[(rĩyn-3F.oS`Y+{ :ڦPϑ~%sPͺǝHddYIEv@n ܆zSL5uUAۍ_~jJENݖO:^ YƳ}"] Y'1jW-4?%[S{!s^glrKK"s=^wo{fPX.5WMwΩ@[֮r{t'0WFO^\5 ^dp7m&+e+ Z^$;s?Ԙᚷ5^z4u1/Q]>on̵ Y;ߌgD jΗԷ͜ͱv2ۄTh>ż|(w韷뎭}O&cvjA۶ᄁ8~m)lcC dr-*TjU#kfJ9kΛ3t6uec:@=fri= 4 7`<谪}n\aX]5^3b\U4xKYeւ02Jcg6_j&cw=CqA3.*9ZE(?ڔ/Q4UD Gd"|fyunU#&]>jƺkH_?`Fg~k~oSCw=#g_/d]DMǸ&Vl)ZgY;6sr3 yKf `vH} MKَp֤rӗ].6]I(ج8>{׺"^p&]_(s MYѐ߃Xm})mLzXc[~jqv/%1GVm /}. d.(L Tn{Zp endstream endobj 131 0 obj << /Length1 721 /Length2 4672 /Length3 0 /Length 5264 /Filter /FlateDecode >> stream xmrg4ju :ѣ D%.E13 3ѣN"D'щ5DF^7]Zz>쳟˥A!0HDT`n `P<V2`pb 2^ `@D!c ȹ*➋`+\7"=`tBTʹ @F`N6NH@ CqA- p'0h8oM8?Ю,Z-A t4x5â>_//u'!p$ A!dM m<?wt-w p f?wrCQ t1p 0YP_z9 $N醀#VB- ]O?ڏcN;z?<50 ⯽bP? \""X7Oa#i|žc4׻9$ #d |r o Y {igKX /(lok} (V{"B-XOΞuZjuӘ'OM{$ަ,}'OίmE3;1|KyzI!TB3`eda0$3;6/3?=KqrytnEGu2rHtn%MbԈpsڧ BJ ;`e`FX(8WD"Q/]*\ұaRƨoV@~CM…bԙe3'3'>]}TJT!{QyŦr؞{ } 2%.Evpz#J, Jc9u}-*;\pf4ѫ&wϯ,3o;!@ LGl** 7$WWpYQ5Ϛ5# o9-ͰEq?sHf =R=]q'b."_{88  8ixxs=e26R>-MԜy$l$Hr*ReK\w:(_``M:ǦBԲmhR@NP >ѝU%' 13atLjgt4O ")<u@VoYA38IG 4_?)o~[u.ᅬpLw$,ttQ[ \6Qb})Ŏ72K@w>T8~5,N乁c-Tlv#$I2<-fJLZ摳lru^Pd<=.m1MMf+km(=[3/71,(m}!\.·ڔe=D{ωM^ E2 !w/3+H6= M4A'Z,Dƞi*s\F. ONޜՍ 6 ۹,W!#%Xfo߷90 )!Us*@>i}ޟ|Gv-z C-d9Du1N,tA po%ǞMݩvIeʾ&Ĵ6flVk;;v^-YlM.#&l^D3 KYOhlu9ZM:IQtf\jwwŶLaG|-;+qm@٧ N4 8$ZTcg3-KVn*?CmY;S^cyס8'"R\R.E(/^,j&Ny[뙧}x0Q;>vdJKo7f>!ʏs5hr\TesnX͈S)lY,W%!%?b:I9;D>b60*/꘤p&8y\/+5D 8ǒܚsϩRXKIHdݢxN m& V}ih6{͎Q z|yń'<3reh;Xy3E ="A`.jbZ_+2f%vI^ف7Ҥz3q|Po_-g畈 eWGߚ&PJ/$/32pDqDwu&:`O#4) =lp7X\~\m+r-]hQ"eG>xTh "#Ud5i\*!' xAE@}oU4gnş5Y,tl:/IZo8io'"v){gdXߟ;ٺE+u7{</&Uiѝ*v|0l (kN1S#k>w?{Y9Ay|'?8*Yf dW(jP ]~:e!=0iټ౱]PEf-|ѝ6%~R)'ryhz`v,z5bphѵ1[$1ʪ{Jb~Կ s;_<9|9t*ʝX|Jy~>M۩^L(ݡ ֣KHڪzԴDjt³ޘy&m=t9+r[lS3΄QDgy+3f^x_hiޠdd357hm Oڻ;=F!}7;\+9n"jqK5T灁?"(l ,A]Dn,,fhaP)Feɻ3o52i@{;H8dg%lo VUÜ{#gZ#K 2f}{UZIݴzEW1M;7I^_w󱛍^1cŐ=!m endstream endobj 133 0 obj << /Length1 721 /Length2 5420 /Length3 0 /Length 6002 /Filter /FlateDecode >> stream xmUPmצQDR];%Υvaaم$T:A. i ogsssgfeTD!]u@ /(@GyXYPKW8 )o @m:P' Xr('/4n#,mp4@@í.nh7I޻&(j(@NSHEC P"hK@ H(B'k&?P0PWЕQ(,65vjvk:n*]VP[8/T0@oҝ ;};96P аtPNnP4@eE#`%#PqAi{E тY DY7}/P;?nDxȻ16Җq Hk i qm/e {{6-]pO ?_Od_,ӛ\#D|G E1n?zB f&Qb)uKGr[qM1ZMH]v64tizҍZI|]RUd%\d 39֯bR;C>~k+-gEJH\cY-!td.$oJ|y+mw}Vj]^IZё {ҷF_M:m vab% Gt<-Aj-'˩5;kQa/_gU(6ō6\L7LAr K\Llb*a1$^>|:v8$POtKhE~r+gy$KO+]?1>Ey>/萱mtzձ6$ZSzօx<=TDM7eSr 4X~ γG <+P" v(WEv<ZzucY,[@fpwU'nx- ݛpƲ1ItZe4$Z Cd"z1ͥ>O @5ťJ=fFTv>S[Ś yw|bJLC,βɢn<( "F$;pEǀc@kI&u?[CVhVߧ54J9h0a=[ȡ0{M$Pvs|5u)[$Ni]yZILې wiU'g'Z4B{oB qˆY n p*}1x+&<Ly(aaJ>@WX D^BbKM !L0HmdкF0G"k>ŝl oxƥ<] \B>v 7HKgzw>bI%&.HZ/.3.HL`:l.eqakˌ h`E `-o-`z`dRFh1N\^}vc9&i̦Uْ/˹n;p,iU+"7e;Bhaqc5>kmJOt _KhK3E,gƁV;1(60 sDlKd5=U:GͶp<OCGM0{3_*:+W2aw?RI5pN6~šu4JWdNAKEy0G|nRfqolS+/+tў’f!i0^oB; C gާᆲu뢦ez5ndӒA#iqnPY1kAZG ͌,x'pQaR *.B%vq7]@D7#&1/x+z\=[,io֊jywIpAbN뗉pN+FqQ}y4!k 6 SPyi2$Ss'`tHU3C [?~HⒺpVV.}poqƄS5"АȬ+$hfF=rTD:m4y;oӦ|\8Gd0Ha~0NVBn\?}sx'զ?Q̷ U6 u^ b X;(_9%|e4`)FA$12osER6YY L #ĵ|VҸKס {I00LRԹ@֠@-zԩ//ʠ/8ZMW~p8S-j]z՝WRε91jq滾r+J?h1?sW;o~}(>_%ڒ$BybA#|㥯_LS|!x6p/xT\V'{X}82tK9e#Id`%Eg 9e1e 0IzFQm   #_{W $LoVcV^ᇫk &Ga#y{# )%<>c/bTz.5][WHzA (O'=rY>쒴[۔,B!I"ƅR_%uoML^ 0A! @Vj a YoŮm~Êb4-"F"ڴ)n d}wbIdRƆ.Hy=ąg-AsL2Ft= gʘZ XpYŔ(oѬ5l̤ 'pW&w?0:ƧGh3,mI*}b{r^<Bʛ%gc<9p:v YotVC<{8H{۽wD 3v#* R:~W4IP DYLj o1y:r7~b_L 6ERW?+ɹ<9܎HRTR ow\yJ=:et@OLPp',tq XsX;gX˵@B j"rNsh}m2 ϧh_Nb0\F^};{/Y!L,y^yDVqquR70f ,*W\ˏ<"F3y2\uxGl龿] @2Sόn0Rι=y`j}I#6#$(&P/&bN9[KzOO˓R(B7xZ^u2 | DD}n#?*[gLAgr.md˔Rs𾉃{`BL;꾇p*P␰d2h3'uJѭA;_@ vB0~1 fhx0vթw׀z^Bu~M2+UByKW=QW>=bt-~_E]L5씢K$j\UQRZuYIBy 4 b1,,k.R C}%}O:ԷTWe&8dP;W_!->?MЏa,\q^Lb>N[ WH} i17\Ra96#x#CKˇ "e%\Ҵ`m533]o8 nG˰Ѧ%[>Tƭ"_xFPg/o <'5Y HkGI d,}&)R2nYI{:m">t$j? X=c/mϓnxC"jrT&۶uGoYe_4/P -se^)*\@qr40F&w>3ȍXadNUl>ZA&[9.Xu:ϡ>~i܍gpK,aoǺxu u_:M>ʢ899.74}&sCHhǢfY7q>4{&9>[ OR 5n\% m}i<ӀWQu%4LsDc+$sԧlө4QM.8sZ=OsZ8SBq=f^f4L?Xki腒0|xc8(:gH$;lTk9d]S^ʋEkEX">›yN)VQ3aEm)uktqqF#1:v dho^EoyT [(;cA&\`$vifN!,jUa.7 !7n\98g.^8R>1~C>ѓ޽tp>E?ޱDo)v7>ĉaH?~eF"+%r@Y8Ep2 <:M0g:hh'vXz}rxw8f endstream endobj 18 0 obj << /Type /ObjStm /N 100 /First 851 /Length 5011 /Filter /FlateDecode >> stream x<śqtz58kĖ~hpQ5<:Y#AzxsjPn)|^MWh8(fCx{69rogWt5T3xd7O߾UT^^W 8?fjR}[X@Ÿ<Wptx>6~*/lZ+%[b(ir1 WWӳb2Zٴ r813L' *nAa@& Im'q(%IXK%Gg| *%BDX{Ӛ t9jL"_ej- J73jOZ>ާM8e*yk)Hҧ{ AT[J4J ] 0fƐt2%pB&aH6\u,PEf1H.b5nO 2hJ6'2Eq}ǫglq&j'sRK!Rql a,"'sVSWA&F>ٳ b7zF8ԦȜ(_@aՒ/-sѐkH^B- hY i_:2ZR Gх}B0% ^4~+ G=#Мp耂(| @;#Q+W ah3ڿ] th5ayBf0<#zB4ٽx>~ y,ptC7(0DIkS?()H>Z B<_[.C=qZ-"f| E~U8(qF0Vaѭp@L8ja>v6'<{Hd6 E:F%H4 yt)mWa ǚKJb*.x+&r֙KL>avêc[@ +5 8Y1uگu@[,]ҁ 1FT {NX[)69 >`-)n'YTpyeXΙH2߿H*F{Cф0sph29G@+gcИ d0#I|%-eqf-Thj(U\rzF sh^i-RWw8Jˡr6] ʮ- `(sL24h. <)|ԥ4FkTsJK-y[ ^&B3hKTa )֔e'd];ġVjb4\蹖 4y.tG)N5n A& г 2 ;M0f;#LǞgG<37pU.x2!PE繞wXn0{pJiS?HB,p ES˭ N.#k]o:2hK[aк,0"$-5s,! F"XʆUnMrҾ*&4iĐ"w4¥C9 D~c$gt'HDY2}|o2-C7;HeAF!@EGWj<1s2u ;Q+u[5y.~KH)W2}{ۀQ+qնH7BEUa`2]R GADG! @+g7(ި(ף sC |!!B tQh9 *&T4$r-) t6 5թF ]jMKkx4qi$UKZ3 QW2C ~ȊChKiƑ udi4MMPR>(4Tt&2"5>^pSf 7BGJ4akѨyZAcV::!˴vs (դ~3>x 81WMLhmjyŊݣCԊа"'H<%2a20aLh>aթz_?]wmlXqlՇY_y*3)#LrBZ$lK@@,sD<r9[Qg?o?')`b2<[!a0|AB3|^1Adpɽp2=M.r Oi$||8 QbX#'$g`g{93z٩0%b/SOikW*˷AyX~( {ZVCov5/r\NʋrZٴ*/j>`G,*ʫ{wKdq{mYXLf!1n0D 7+&pjč7u[қpy1ps㬐0[6[Vv ['+HLz|V>~Q$~]I~T~,?zlh]WS0Wfޘ8~h4Y^[wHg (U-9~b&xr@8Co%~VfpًCb_ϟa/^/{o>]QJ02to4L]2?Of uYMOs 7n +m1?; }x.jGyɄ^qEu1-/@=fdW,]g(@?lֆhăx)3 SI g=Iv|C< gnHrpmW;TD{å(\<'ur.{=^=쓬wZK\,~Q Gz2n$J}np:Ls4?sS#wy7^eӫjM71gRFy275(}>Wo`n߹6[jD1HFq3b/2`&zmq2\.ǣj9MUp &:U.4cO6\:(~'$3iDPcrAΚ6[EӏG~lRá{Z~VZS総*vN8g|Gj亚BU$VE⽃^|"]MzJ!ィq_xm3Ql>{vw݃}D߁#!Sen1ӰڊWeVW^ m6߿z88!"GpN&u)f'̋&UjG_J{ iT ~=m|nLKs|D f~5L ʏ(mw5iKxڪK;]ܜv݂mӥ7Im7vߡu쑺3Sދwٛ=޹nƟڛh ^4bs[.5ó.c]7ZgϕlA靛.5E\4۷].vn_uHKqkas{.ZFouiGuuv]ӥڦ8K.5{S9u|߁@Z7\活{əw8:rCZhwk.;Uz|s=A5O^Mh ~ ;Dȧ[љzݑ~WX=7?Q)k"|#U8|1Cn ?E|a~KbgUlKW$?Ll endstream endobj 137 0 obj << /Producer (pdfTeX-1.40.19) /Creator (TeX) /CreationDate (D:20210218111051Z) /ModDate (D:20210218111051Z) /Trapped /False /PTEX.Fullbanner (This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) kpathsea version 6.3.0) >> endobj 138 0 obj << /Type /XRef /Index [0 139] /Size 139 /W [1 3 1] /Root 136 0 R /Info 137 0 R /ID [<1FE32B541E0A5B71F1FE9669FB1C513A> <1FE32B541E0A5B71F1FE9669FB1C513A>] /Length 391 /Filter /FlateDecode >> stream x%OKTQw=gҙ1JqlZM2ij7F;!CM!  "ZZ& n>|pȁDzJ&򐌒$Og!2L&?J#K#Cć$zH ! ̓: G!H;tTj&rÂ9J0:H REפN0:$NIRO= ir4&r4r$I;I4@.l].,k]ꀗ[ѺoUxZꄟ*j]?VuZ]n†r ;xnؙZ=V/֮V쟸m8U.5W{E.wnuNf?@ endstream endobj startxref 436603 %%EOF SparseM/inst/doc/SparseM.Rnw0000644000176200001440000004465313010640254015417 0ustar liggesusers%\VignetteIndexEntry{An Introduction to the SparseM Package for Sparse Linear Algebra} \documentclass{article} \title{SparseM: A Sparse Matrix Package for R \thanks{This package should be considered experimental. The authors would welcome comments about any aspect of the package. This document is an R vignette prepared with the aid of \texttt{Sweave}, Leisch(2002). Support from NSF SES 99-11184 is gratefully acknowledged.}} \author{Roger Koenker and Pin Ng} \begin{document} \maketitle \begin{abstract} SparseM provides some basic R functionality for linear algebra with sparse matrices. Use of the package is illustrated by a family of linear model fitting functions that implement least squares methods for problems with sparse design matrices. Significant performance improvements in memory utilization and computational speed are possible for applications involving large sparse matrices. \end{abstract} \section{Introduction} Many applications in statistics involve large sparse matrices, matrices with a high proportion of zero entries. \ A typical example from parametric linear regression involves longitudinal data with fixed effects: many indicator variables consisting of a few ones and a large number of zero elements. \ In nonparametric regression, e.g. smoothing splines design matices are extremely sparse often with less than 1\% of nonzero entries. \ Conventional algorithms for linear algebra in such situations entail exorbitant storage requirements and many wasteful floating point operations involving zero entries. For some specially structured problems, e.g. banded matrices, special algorithms are available. But recent developments in sparse linear algebra have produced efficient methods for handling unstructured sparsity in a remarkably efficient way. Exploiting these developments, the package SparseM provides some basic linear algebra functionality for sparse matrices stored in several standard formats. \ The package attempts to make the use of these methods as transparent as possible by adhering to the method-dispatch conventions of $R$.\footnote{ The first release of the SparseM packaged used {\it S3} method-dispatch, the current release has adopted the new {\it S4} method dispatch. Our thanks to Brian Ripley and Kurt Hornik for advice on this aspect of the package.} Functions are provided for: coercion, basic unary and binary operations on matrices and linear equation solving. %There have been a few linear algebra packages proposed or implemented for %sparse matrices, see Carney, Heroux, Li, and Wu (1994), Saad (1994), Remington %and Pozo (1996), Duff, Marrone, Radicati and Vittoli (1997), and Bank and %Douglas (2001). Our implementation is based on Sparskit (Saad (1994)), which provides one of the more complete collection of subroutines for BLAS like functions and sparse matrix utilities available in the public domain.\footnote {Recently, a sparse matrix version of BLAS subprograms has been provided by Duff, Heroux and Pozo (2002). Unfortunately, it handles only sparse matrix times dense matrix multiplication at the Level 3 Sparse BLAS, but not sparse matrix times sparse matrix multiplication. The sparse matrix utilities available in Sparskit, e.g.\ masking, sorting, permuting, extracting, and filtering, which are not available in Sparse BLAS, are also extrememly valuable. Sparse linear algebra is a rapidly developing field in numerical analysis and we would expect to see many important new developments that could be incorportated into SparseM and related code in the near future.} Our Cholesky factorization and backsolve routines are based on Ng and Peyton (1993), which still appears to represent the state of the art for solving linear systems involving symmetric positive definite matrices.\footnote{There are also several new direct methods for solving unsymmetric sparse systems of linear equations over the last decade. A rather comprehensive comparison of performance of some prominent software packages for solving general sparse systems can be found in Gupta (2002). Unfortunately, the comparisons do not include the Peyton and Ng algorithm employed here. The top performer reported in the study is WSMP (Gupta, 2000) which requires proprietary XLF Fortran complier, XLC C compilier and the AIX operating system, and the library is not released under the GPL license. The runner up reported is MUMPS (Amestoy, Duff, L'Excellent and Koster, 2002) which has a non-commerical license but is written in Fortran 90. The third best performer is UMFPACK (Davis, 2002), which is implemented in MATLAB Version 6.0 and later, also has a non-commerical license. Since it is a general sparse solver not written specifically for symmetric positive definite systems of linear equations, it would be interesting to see how it compares with the Choleski factorization of Peyton and Ng adopted here.} In Section 2 we discuss in more detail the components of the package, provide some examples on their use and explain the basic design philosopy. Section 3 discusses some refinements proposed for future implementations. SparseM can be obtained from the Comprehensive R Archive Network, CRAN, at \texttt{http://cran.r-project.org/}. \section{Design Philosophy} In this section we briefly describe some aspects of our design philosophy beginning with the question of storage modes. \subsection{Storage Modes} There are currently more than twenty different storage formats used for sparse matrices. \ Each of these formats is designed to exploit particular features of the matrices that arise in various applications areas to gain efficiency in both memory utilization and computation. \ Duff, Erisman and Reid (1986) and Saad (1994) provide detailed accounts of the various storage schemes. \ Following Saad (1994) we have chosen compressed sparse row (\textbf{csr}) format as the primary storage mode for SparseM.\footnote{Other sparse storage formats supported in SparseM include compressed sparse column (\textbf{csc}), symmetric sparse row (\textbf{ssr}) and symmetric sparse column (\textbf{ssc}). \ The data structure of \textbf{csc} format is the same as that of \textbf{csr} format except the information is stored column-wise. \ The\ \textbf{ssr} and \textbf{ssc} formats are special cases of \textbf{csr} and \textbf{csc}, respectively, for symmetric matrices, only the information in the lower triangle is stored. \ We have created new class objects, \texttt{matrix.csr}, \texttt{matrix.csc}, \texttt{matrix.ssr}, \texttt{matrix.ssc}, for each of these four formats.} \ An $n$ by $m$ matrix $A$ with real elements $a_{ij}$, stored in \textbf{csr} format consists of three arrays: \begin{itemize} \item \texttt{ra}: a real array of $nnz$ elements containing the non-zero elements of $A$, stored in row order. Thus, if $i>= library(SparseM) a <- rnorm(5*4) a[abs(a)<0.7] <- 0 A <- matrix(a,5,4) A A.csr <- as.matrix.csr(A) A.csr as.matrix(A.csr) @ To facilitate testing we have included \texttt{read.matrix.hb} and \texttt{write.matrix.hb} to deal with matrices in the Harwell-Boeing storage format. \ A list of sites with extensive collections of sparse matrices in this format can be found at \texttt{http://math.nist.gov/MatrixMarket/}. \ Details on the Harwell-Boeing format can be found in the help files for \texttt{read.matrix.hb} and \texttt{write.matrix.hb} as well as in the User's Guide for Harwell-Boeing Sparse Matrix Collection at \texttt{ftp://ftp.cerfacs.fr/pub/harwell\_boeing/}. @ \subsection{Visualization} The \texttt{image} function allows users to explore the structure of the sparsity in matrices stored in \textbf{csr} format. In the next example we illustrate the design matrix for a bivariate spline smoothing problem illustrated in Koenker and Mizera (2002). The upper 100 rows of the matrix are an identity matrix, the lower 275 rows represent the penalty component of the design matrix. In this example $X$ has 1200 nonzero entries, roughly 3.2 percent of the number of floating point numbers needed to represent the matrix in dense form. The $X'X$ form of the matrix has 1162 nonzero elements or 11.62 percent of the entries in the full matrix. \begin{center} <>= data(triogramX) par(mfrow=c(1,2)) image(X) title("X") image(t(X)%*%X) title("X\'X") @ \end{center} \subsection{Indexing and Binding} Indexing and the functions \texttt{cbind} and \texttt{rbind} for the \texttt{matrix.csr} class work just like they do on dense matrices. Objects returned by \texttt{cbind} and \texttt{rbind} operating on objects of the \texttt{matrix.csr} class retain their \texttt{matrix.csr} class attribute. \subsection{Linear Algebra} SparseM provides a reasonably complete set of commonly used linear algebra operations for the \texttt{matrix.csr} class. \ The general design philosophy for this set of functions is that operations on \texttt{matrix.csr} class will yield an object also in \texttt{matrix.csr} class with a few exceptions mentioned below. The functions \texttt{t}, and \texttt{\%*\%} for transposition, and multiplication of \textbf{csr} matrices work just like their dense matrix counterparts and the returned objects retain their \texttt{matrix.csr} class. The \texttt{diag} and \texttt{diag<-} functions for extracting and assigning the diagonal elements of \textbf{csr} matrices also work like their dense matrix counterparts except that the returned objects from \texttt{diag} are dense vectors with appropriate zeros reintroduced. The unary and binary functions in the group generic functions \textsc{Ops} return objects of \texttt{matrix.csr} class. \subsection{Linear Equation Solving} Research on solutions to sparse symmetric positive definite systems of linear equations has focused primarily on methods based on the Cholesky factorization, and we have followed this approach. There are three functions \texttt{chol}, \texttt{backsolve} and \texttt{solve }to handle a symmetric positive definite system of linear equations. \texttt{chol} performs Cholesky factorization using the block sparse Cholesky algorithms of Ng and Peyton (1993). \ The result can then be passed on to \texttt{backsolve} with a right-hand-side to obtain the solutions. \ For systems of linear equations that only vary on the right-hand-side, the result from \texttt{chol} can be reused, saving considerable computing time. \ The function \texttt{solve}, which combines the use of \texttt{chol} and \texttt{backsolve}, will compute the inverse of a matrix by default, if the right-hand-side is missing.% The data structure of the \texttt{chol.matrix.csr} object produced by the sparse Cholesky method is comewhat complicated. Users interested in recovering the Cholesky factor in some more conventional form should recognize that the original matrix has undergone a permutation of its rows and columns before Cholesky factorization; this permutation is given by the \texttt{perm} component of the structure. Currently no coercion methods are supplied for the class \texttt{chol.matrix.csr}, but the computation of the determinant by extracting the diagonal of the Cholesky factor offers some clues for how such coercion could be done. This determinant is provided as a component of the \texttt{chol.matrix.csr} structure because it can be of some value in certain maximum likelihood applications. \subsection{Least Squares Problems} To illustrate the functionality of the package we include an application to least squares regression. The group of functions \texttt{slm}, \texttt{slm.fit}, \texttt{slm.fit.csr}, \texttt{summary.slm} and \texttt{print.summary.slm} provide analogues of the familiar \texttt{lm} family. In the current implementation \texttt{slm} processes a formula object in essentially the same way as \texttt{lm}, and calls an intermediate function \texttt{slm.fit}, which in turn calls \texttt{slm.fit.csr} where the actual fitting occurs. Rather than the usual QR decomposition, \texttt{slm.fit.csr} proceeds by backsolving the triangular system resulting from a Cholesky decomposition of the $X^\top X$ matrix. The sparsity of the resulting structure is usually well preserved by this strategy. The use of sparse methods is quite transparent in the present \texttt{slm} implementation and \texttt{summary.slm} with the associated \texttt{print.summary.slm} should produce identical output to their cousins in the \texttt{lm} family. However, the speed and memory utilization can be quite drammatically improved. In the following problem, which involves a design matrix that is 1850 by 712 there is a nearly three hundred fold improvement in speed (on a Sun Ultra 2) when we compare \texttt{lm.fit} and \texttt{slm.fit}. The comparison is somewhat less compelling between \texttt{lm} and \texttt{slm} since there is a substantial common fixed cost to the setup of the problems. In addition to the computational time saved there is also a significant reduction in the memory required for large sparse problems. In extreme cases memory becomes a binding constraint on the feasibility of large problems and sparse storage is critical in expanding the range of problem sizes. This is particularly true of applications in smoothing and related image processing contexts. <<>>= #hb.o <- read.matrix.hb(system.file("HBdata","lsq.rra",package = "SparseM")) data(lsq) X <- model.matrix(lsq) #extract the design matrix y <- model.response(lsq) # extract the rhs X1 <- as.matrix(X) slm.time <- system.time(slm(y~X1-1) -> slm.o) # pretty fast lm.time <- system.time(lm(y~X1-1) -> lm.o) # very slow slm.fit.time <- system.time(slm.fit(X,y)) # very fast lm.fit.time <- system.time(lm.fit(X1,y)) # still very slow cat("slm time =",slm.time,"\n") cat("lm time =",lm.time,"\n") cat("slm.fit time =",slm.fit.time,"\n") cat("lm.fit time =",lm.fit.time,"\n") cat("slm Results: Reported Coefficients Truncated to 5 ","\n") sum.slm <- summary(slm.o) sum.slm$coef <- sum.slm$coef[1:5,] sum.slm cat("lm Results: Reported Coefficients Truncated to 5 ","\n") sum.lm <- summary(lm.o) sum.lm$coefficients <- sum.lm$coefficients[1:5,] sum.lm @ \section{Some Potential Refinements} There are still many features that could be usefully added to the package. Among these we would especially like to see: \texttt{crossprod}, \texttt{row},\texttt{ col}, code for \texttt{eigen}, \texttt{svd} would also be desirable, but seems somewhat more problematic. Support for other storage formats might be eventually useful, although \textbf{csr, csc, ssr, ssc} formats seem quite sufficient for most purposes. A major improvement in the \texttt{slm} implementation would be to replace the line \begin{verbatim} X <- as.matrix.csr(model.matrix(Terms, m, contrasts)) \end{verbatim} which coerces the dense form of the regression design matrix produced by model.matrix into the sparse form. Ideally, this would be done with a special \texttt{.csr} form of \texttt{model.matrix}, thus obviating the need to construct the dense form of the matrix. We have not looked carefully at the question of implementing this suggestion, but we (still) hope that someone else might be inspired to do so. Our primary motivation for $R$ sparse linear algebra comes from our experience, see e.g. Koenker, Ng and Portnoy (1994) and He and Ng (1999), with interior point algorithms for quantile regression smoothing problems. We plan to report on this experience elsewhere. \begin{center} {\Large{\bf References}} \end{center} %\textsc{Bank, R.E. and C.C. Douglas.} (1993). Sparse matrix multiplication %package (SMMP). \textit{Advances in Computational Mathematics, 1, 127-137.} %\textsc{Carney, Sandra, Michael A. Heroux, Guangye Li, and Kesheng Wu.} %(1994). A revised proposal for a sparse BLAS toolkit. Technical Report 94-034, %Army High Performance Computing Research Center. \textsc{Amestoy, P. R., I. S. Duff, J. -Y. L'Excellent {\small and} J. Koster.} (2002). MUltifrontal Massively Parallel Solver (MUMPS Version 4.2 beta) Users' Guide, http://www.enseeiht.fr/lima/apo/MUMPS/ \textsc{Davis, T. A.} (2002). UMFPACK Version 4.0 User Guide, \newline http://www.cise.ufl.edu/research/sparse/umfpack. \textsc{Duff, I.S., A. M. Erisman {\small and} J. K. Reid.} (1986). \textit{Direct Methods for Sparse Matrices}, Clarendon Press, Oxford. \textsc{Duff, I. S., M. A. Heroux, {\small and} R. Pozo.} (2002). ``An Overview of the Sparse Basic Linear Algebra Subroutines: The New Standard from the BLAS Technical Forum,'' \emph{ACM Transactions on Mathematical Software}, 28, 239-267. %\textsc{Duff, I. S., M. Marrone, G. Radicati, and C. Vittoli.} (1997). Level 3 %Basic Linear Algebra Subprograms for sparse matrices: a user level interface. %\textit{ACM Trans. Math. Softw}., 23(3):379--401. \textsc{Gupta, A.} (2000). WSMP: Watson Sparse Matrix Package (Part-II: direct solution of general sparse systems). Technical Report RC 21888 (98472), IBM T.J. Watson Research Center, Yorktown Heights, N.Y., http://www.cs.umn.edu/ \newline $\sim$agupta/doc/wssmp-paper.ps \textsc{Gupta, A.} (2002). ``Recent Advances in Direct Methods for Solving Unsymmetric Sparse Systems of Linear Equations,'' \emph{ACM Transactions on Mathematical Software}, 28, 301-324. \textsc{He, X., {\small and} P.~Ng} (1999): ``COBS: {Q}ualitatively Constrained Smoothing Via Linear Programming,'' \emph{Computational Statistics}, 14, 315--337. \textsc{Koenker, R., P.~Ng, {\small and} S.~Portnoy} (1994): ``Quantile smoothing splines,'' \emph{Biometrika}, 81, 673--680. \textsc{Leisch, F.} (2002). Sweave: Dynamic Generation of Statistical Reports Using Literate Data Analysis, \texttt{http://www.wu-wien.ac.at/am}. \textsc{Koenker, R. {\small and} Mizera, I} (2002). Penalized Triograms: Total Variation Regularization for Bivariate Smoothing, preprint. \textsc{Ng, E. G. {\small and} B. W. Peyton}. (1993) Block sparse Cholesky algorithms on advanced uniprocessor computers'', \textit{SIAM J. Sci. Comput.}, 14, 1034-1056. \textsc{Saad, Y.} (1994) Sparskit: A basic tool kit for sparse matrix computations; Version 2, \texttt{http://www.cs.umn.edu/Research/arpa/SPARSKIT/sparskit.html} \end{document} SparseM/inst/doc/SparseM.R0000644000176200001440000000302114013445473015044 0ustar liggesusers### R code from vignette source 'SparseM.Rnw' ################################################### ### code chunk number 1: SparseM.Rnw:132-141 ################################################### library(SparseM) a <- rnorm(5*4) a[abs(a)<0.7] <- 0 A <- matrix(a,5,4) A A.csr <- as.matrix.csr(A) A.csr as.matrix(A.csr) ################################################### ### code chunk number 2: SparseM.Rnw:166-172 ################################################### data(triogramX) par(mfrow=c(1,2)) image(X) title("X") image(t(X)%*%X) title("X\'X") ################################################### ### code chunk number 3: SparseM.Rnw:261-283 ################################################### #hb.o <- read.matrix.hb(system.file("HBdata","lsq.rra",package = "SparseM")) data(lsq) X <- model.matrix(lsq) #extract the design matrix y <- model.response(lsq) # extract the rhs X1 <- as.matrix(X) slm.time <- system.time(slm(y~X1-1) -> slm.o) # pretty fast lm.time <- system.time(lm(y~X1-1) -> lm.o) # very slow slm.fit.time <- system.time(slm.fit(X,y)) # very fast lm.fit.time <- system.time(lm.fit(X1,y)) # still very slow cat("slm time =",slm.time,"\n") cat("lm time =",lm.time,"\n") cat("slm.fit time =",slm.fit.time,"\n") cat("lm.fit time =",lm.fit.time,"\n") cat("slm Results: Reported Coefficients Truncated to 5 ","\n") sum.slm <- summary(slm.o) sum.slm$coef <- sum.slm$coef[1:5,] sum.slm cat("lm Results: Reported Coefficients Truncated to 5 ","\n") sum.lm <- summary(lm.o) sum.lm$coefficients <- sum.lm$coefficients[1:5,] sum.lm SparseM/inst/extdata/0000755000176200001440000000000013371337105014236 5ustar liggesusersSparseM/inst/extdata/rua_32_ax.rua0000644000176200001440000000657711547113521016546 0ustar liggesusers1Real unsymmetric assembled matrix based on IBM32 RUA_32 36 3 8 13 12 RUA 32 32 126 0 (16I5) (16I5) (10F7.1) (10F7.1) FGX 2 0 1 7 12 18 22 26 29 34 39 46 53 58 61 63 65 68 71 74 79 82 85 88 90 94 97 102 106 110 112 117 121 124 127 1 2 3 4 7 26 1 2 9 21 28 2 3 6 8 9 29 3 4 5 12 3 5 23 27 1 6 16 3 7 14 21 31 1 8 12 17 27 7 9 10 13 19 23 27 1 10 11 21 23 25 27 2 11 15 18 29 6 12 24 11 13 3 14 2 15 20 4 16 22 4 16 17 6 10 18 20 30 1 19 26 8 16 20 3 21 32 11 22 2 17 21 23 12 24 26 6 15 18 24 25 13 18 22 26 5 24 26 27 9 28 3 5 27 29 32 12 17 23 30 13 14 31 24 28 32 101 102 103 104 107 126 201 202 209 221 228 302 303 306 308 309 329 403 404 405 412 503 505 523 527 601 606 616 703 707 714 721 731 801 808 812 817 827 907 909 910 913 919 923 927 1001 1010 1011 1021 1023 1025 1027 1102 1111 1115 1118 1129 1206 1212 1224 1311 1313 1403 1414 1502 1515 1520 1604 1616 1622 1704 1716 1717 1806 1810 1818 1820 1830 1901 1919 1926 2008 2016 2020 2103 2121 2132 2211 2222 2302 2317 2321 2323 2412 2424 2426 2506 2515 2518 2524 2525 2613 2618 2622 2626 2705 2724 2726 2727 2809 2828 2903 2905 2927 2929 2932 3012 3017 3023 3030 3113 3114 3131 3224 3228 3232 1001 0 0 0 0 0 0 0 0 1010 1011 0 0 0 0 0 0 0 0 0 1021 0 1023 0 1025 0 1027 0 0 0 0 0 4606 5512 8424 3816 6520 6430 1721 3124 4236 3730 5644 7860 7952 5242 5145 5964 7868 8072 2838 5360 6405 6466 7815 12120 3550 9830 8962 6284 4387 4860 3862 8296 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 SparseM/inst/extdata/lsq.out0000644000176200001440000065570011547113521015600 0ustar liggesuserslsq.rra WELL1850 2719 45 548 1752 370 RRA 1850 712 8758 (16I5) (16I5) (5E16.9) (5E16.9) F 1 1 14 18 27 39 44 53 57 62 68 76 81 87 93 100 102 109 115 122 128 135 141 149 156 162 166 169 175 182 190 194 200 206 212 216 222 228 240 250 258 271 275 288 298 316 320 324 330 336 342 350 361 378 388 396 399 406 410 412 416 418 420 423 425 428 430 433 436 438 442 448 455 459 462 467 471 474 478 495 497 511 517 523 539 544 558 571 583 595 630 634 638 654 670 684 697 703 705 711 718 723 731 735 739 740 741 748 759 765 772 779 782 788 806 814 820 846 856 871 873 915 919 927 934 942 947 951 960 980 982 997 1000 1005 1014 1021 1023 1027 1032 1037 1048 1068 1080 1095 1104 1107 1113 1115 1117 1134 1149 1158 1172 1174 1195 1200 1207 1213 1215 1216 1221 1229 1235 1248 1252 1261 1267 1277 1283 1289 1295 1299 1301 1309 1317 1324 1340 1347 1354 1373 1379 1386 1397 1406 1416 1421 1426 1432 1438 1439 1443 1444 1448 1455 1456 1463 1468 1469 1475 1484 1492 1501 1510 1514 1516 1520 1522 1526 1530 1538 1543 1548 1551 1579 1583 1587 1613 1637 1648 1651 1659 1674 1684 1688 1693 1698 1701 1704 1707 1711 1714 1719 1724 1729 1734 1739 1743 1746 1749 1753 1756 1759 1762 1764 1766 1768 1771 1776 1779 1783 1787 1792 1807 1810 1816 1820 1826 1834 1836 1840 1848 1856 1861 1869 1879 1883 1892 1897 1902 1911 1915 1920 1928 1937 1941 1952 1960 1968 1976 1986 1990 1998 2002 2010 2022 2030 2034 2038 2046 2050 2054 2063 2068 2073 2080 2087 2092 2101 2109 2112 2115 2119 2124 2132 2139 2151 2155 2160 2167 2174 2178 2181 2185 2189 2193 2200 2207 2219 2226 2230 2236 2243 2247 2250 2254 2258 2261 2267 2271 2276 2284 2287 2292 2297 2300 2305 2310 2320 2330 2335 2338 2341 2345 2349 2352 2355 2358 2361 2364 2367 2370 2373 2376 2379 2383 2391 2395 2399 2409 2412 2419 2422 2426 2433 2436 2442 2449 2462 2465 2472 2475 2479 2483 2490 2493 2501 2505 2508 2512 2522 2529 2533 2539 2543 2549 2553 2560 2564 2573 2577 2580 2588 2592 2599 2603 2608 2612 2615 2618 2621 2625 2630 2639 2642 2647 2650 2653 2661 2711 2752 2759 2779 2784 2802 2813 2824 2839 2853 2896 2939 3065 3199 3261 3348 3376 3387 3397 3449 3686 3690 3698 3706 3711 3719 3729 3733 3742 3752 3761 3765 3770 3778 3787 3791 3802 3810 3818 3826 3836 3840 3848 3852 3860 3872 3880 3884 3888 3896 3900 3904 3913 3918 3923 3930 3937 3942 3951 3959 3965 3969 3974 3982 3989 4001 4017 4028 4035 4050 4057 4069 4080 4086 4093 4100 4104 4111 4117 4126 4134 4137 4142 4150 4160 4170 4180 4191 4199 4211 4220 4223 4226 4229 4241 4249 4259 4272 4276 4286 4292 4299 4312 4322 4325 4329 4343 4355 4362 4372 4379 4383 4393 4399 4403 4410 4414 4423 4430 4438 4449 4453 4471 4475 4480 4489 4492 4497 4500 4503 4561 4602 4629 4652 4674 4703 4746 4915 5198 5226 5247 5299 5536 5549 5558 5570 5575 5584 5589 5595 5603 5608 5614 5620 5627 5633 5640 5646 5653 5659 5667 5674 5680 5686 5693 5701 5707 5713 5719 5725 5737 5747 5755 5768 5781 5791 5809 5815 5821 5827 5835 5846 5863 5873 5881 5888 5892 5898 5905 5908 5913 5917 5920 5926 5932 5948 5962 5975 5987 5999 6034 6050 6066 6080 6093 6099 6105 6112 6117 6125 6129 6136 6147 6153 6160 6167 6173 6191 6199 6205 6231 6241 6256 6298 6306 6313 6321 6325 6334 6354 6369 6374 6383 6385 6389 6394 6405 6425 6437 6452 6461 6467 6484 6499 6508 6522 6543 6548 6555 6561 6569 6575 6588 6592 6601 6607 6617 6623 6629 6635 6639 6647 6654 6670 6677 6684 6703 6709 6716 6727 6736 6746 6751 6756 6762 6768 6775 6782 6788 6797 6805 6814 6818 6826 6831 6836 6840 6844 6870 6894 6909 7309 7726 7784 7825 7852 7875 7897 7926 7969 8138 8421 8449 8470 8522 8759 1 3 26 28 164 166 1259 1262 1277 1279 1490 1686 1827 2 4 5 7 6 8 9 11 1263 1276 1540 1685 1828 10 12 13 15 1264 1275 1538 1539 1560 1561 1684 1829 14 16 17 19 1274 18 20 21 23 25 1265 1273 1683 1830 22 24 152 154 27 29 30 32 1491 31 33 35 37 1258 1492 34 36 38 39 41 43 1257 1493 40 42 44 46 1256 45 47 49 51 1255 1494 48 50 52 53 55 1254 54 56 57 59 61 67 69 58 60 62 64 66 72 74 1252 1496 63 65 76 78 1251 1497 68 70 71 73 75 1253 1495 77 79 81 83 1250 1498 80 82 84 86 88 1249 1499 85 87 89 91 1248 1500 90 92 94 96 1247 1501 1619 1848 93 95 97 98 100 1620 1847 99 101 102 104 1621 1846 103 105 106 108 107 109 111 110 112 113 115 1622 1845 114 116 117 119 1623 1843 1844 118 120 121 123 372 376 1640 1842 122 124 125 127 126 128 129 131 1641 1838 130 132 133 135 1642 1837 134 136 137 139 1643 1836 138 140 142 144 141 143 145 146 148 150 147 149 167 169 1644 1835 151 153 192 194 1266 1267 1272 1537 1551 1559 1682 1831 155 157 298 300 302 304 306 308 401 403 156 158 159 161 1281 1488 1688 1825 160 162 163 165 989 990 1260 1261 1278 1280 1489 1687 1826 168 170 171 173 172 174 175 177 294 296 1269 1523 1529 1534 1645 1658 1834 176 178 180 1270 1524 1528 1530 1533 1659 1833 179 181 182 184 186 195 197 1268 1271 1514 1525 1527 1532 1536 1558 1660 1681 1832 183 185 187 189 188 190 191 193 196 198 199 201 1661 1680 200 202 203 205 1662 1679 204 206 207 209 1663 1678 208 210 211 213 1117 1118 1664 1677 212 214 215 217 1114 1115 1116 1119 1120 1665 1676 216 218 219 220 222 369 371 1077 1078 1108 1109 1112 1113 1121 1122 1666 1675 221 223 224 226 1110 1111 1123 1124 1667 1674 225 227 229 231 266 268 1668 1673 228 230 232 233 234 265 271 273 1669 1672 235 264 1670 1671 236 263 237 238 261 262 239 260 240 259 241 242 258 243 257 244 255 256 245 254 246 247 253 248 251 252 249 250 267 269 270 272 274 288 289 291 1646 1657 275 287 1518 1521 1535 1647 1656 276 277 279 286 278 1648 1655 280 283 284 1650 1653 281 282 1651 1652 285 1649 1654 290 292 293 295 297 299 1282 1283 1289 1290 1291 1486 1487 1574 1589 1598 1606 1613 1689 1701 1822 301 303 305 307 309 311 402 404 410 1292 1485 1690 1700 1702 1821 1823 310 312 314 1691 1703 1824 313 315 316 318 1692 1704 317 319 321 323 991 993 1061 1168 1169 1170 1171 1221 1222 1288 1693 1705 320 322 324 325 327 326 328 330 424 1062 1063 1166 1167 1172 1173 1219 1220 1694 1706 329 331 332 334 1007 1064 1065 1164 1165 1174 1175 1217 1218 333 335 337 1066 1139 1140 1162 1163 1176 1177 1215 1216 336 338 339 341 344 1160 1161 1180 1181 1213 1214 1287 340 342 343 345 346 348 1067 1068 1089 1090 1096 1097 1135 1136 1143 1144 1150 1151 1154 1155 1156 1157 1182 1183 1186 1187 1188 1198 1199 1205 1206 1209 1210 1285 1286 347 349 350 352 351 353 354 356 355 357 358 360 1004 1069 1070 1085 1086 1100 1101 1131 1132 1196 1197 1284 359 361 363 1005 1006 1071 1072 1083 1084 1102 1103 1129 1130 1189 1190 1195 362 364 365 367 1073 1074 1081 1082 1104 1105 1127 1128 1191 1192 366 368 370 1075 1076 1079 1080 1106 1107 1125 1126 1193 1194 373 377 379 1625 1638 1841 374 375 378 380 382 1626 1637 1840 381 383 384 386 1627 1636 1839 385 387 389 1628 1635 388 390 392 394 395 1629 1631 1633 391 393 1630 1634 396 397 400 1632 398 399 405 406 409 1293 1484 1699 1820 407 408 411 412 414 447 450 1294 1483 1698 1819 413 415 417 968 1697 1818 416 418 419 421 427 1696 1708 420 422 423 425 992 1695 1707 426 428 430 429 431 432 434 1709 1816 433 435 436 438 975 983 984 985 986 994 995 1008 1009 1010 1012 1017 1710 1815 437 439 442 453 455 471 473 1298 440 441 443 445 1297 1481 444 446 448 449 451 452 967 969 970 971 972 973 974 976 977 978 979 980 981 982 987 988 1295 1296 1482 1817 454 456 457 459 474 475 477 1299 1480 1814 458 460 464 465 826 895 896 897 898 899 900 908 909 1711 1812 461 462 463 466 468 530 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 901 902 903 904 905 906 996 997 998 999 1001 1003 1011 1013 1014 1015 1016 1712 1811 467 469 470 472 476 478 480 825 827 1300 1479 1813 479 481 483 828 829 1301 1478 482 484 485 487 830 1302 1303 1477 486 488 490 610 612 489 491 493 1307 492 494 495 497 925 926 1308 1310 1385 496 498 504 907 914 915 916 924 927 929 930 931 932 933 934 935 936 937 1018 1387 499 500 501 506 508 691 693 928 938 939 940 941 942 943 1019 1715 1805 502 503 505 507 509 511 1714 1806 510 512 518 524 526 910 911 912 913 513 516 517 519 520 522 523 514 1808 515 521 1807 1809 525 527 533 1713 1810 528 529 531 532 534 535 537 538 540 684 686 687 689 1021 1024 1031 536 553 557 688 690 692 1020 1027 1028 1032 1048 1049 1057 1361 1363 1371 1420 1422 1716 1804 539 543 681 683 685 1039 1044 1045 1052 1053 1717 1803 541 545 547 548 674 676 678 680 682 1038 1433 1718 1719 1799 1801 542 544 677 679 1037 1434 1720 1800 1802 546 549 551 550 552 554 558 562 1033 555 556 559 560 561 563 564 566 638 842 945 946 1035 1342 1344 1357 1359 1373 1375 1415 1419 565 567 569 841 951 954 957 958 961 962 1336 1337 1376 1377 1412 568 570 572 815 817 840 949 950 965 571 575 579 816 839 966 1312 1313 1317 1319 1320 1335 1406 1463 573 574 576 577 1022 1023 1025 1026 1029 1030 1040 1041 1042 1043 1046 1047 1050 1051 1054 1055 1058 1059 1060 578 580 582 1000 1002 581 583 585 836 838 1322 1332 584 586 587 589 837 1780 588 590 591 592 595 597 598 615 594 614 616 618 1451 1779 1781 1787 596 599 602 1456 1783 1785 600 601 603 605 835 1326 1328 1392 1393 1395 1458 1470 1784 604 606 608 834 607 609 611 613 831 832 833 1471 1472 617 619 621 1450 1778 1788 620 622 624 640 642 847 1449 1776 1777 1789 623 625 628 846 1775 1790 626 627 629 630 632 845 631 633 635 844 1347 1354 634 636 843 1346 637 639 641 643 644 646 807 811 812 814 645 647 648 650 848 1448 1734 1791 649 651 653 849 1447 1735 1792 652 654 655 657 658 753 755 850 851 874 1439 1446 1727 1736 1737 1793 656 659 661 852 873 1726 1794 660 662 664 853 872 1725 1795 663 665 666 668 694 696 749 750 752 854 869 870 871 1437 1438 1723 1746 1759 1796 667 669 671 1436 1722 1797 670 672 673 675 1435 1721 1798 695 697 698 700 702 714 716 855 1745 1747 1760 699 701 703 705 707 856 859 1748 1761 704 706 708 710 711 713 857 1749 1762 1763 709 712 858 1750 1764 715 717 719 1744 1757 718 720 722 724 1743 1756 721 723 727 864 1753 1767 725 726 728 731 733 729 730 732 734 736 735 737 740 866 1741 1754 1769 738 739 741 743 865 1742 1755 1768 742 744 747 768 770 745 746 748 751 868 1724 1758 754 756 757 759 875 1440 1445 1728 1738 758 760 762 1441 1444 1729 1739 1771 761 763 765 767 1442 1443 1730 1740 1770 764 766 774 775 781 786 789 790 792 769 771 778 867 772 773 776 777 779 780 782 783 784 785 787 788 791 793 796 798 794 795 797 799 800 802 1731 1772 801 803 805 1732 1773 804 806 809 1733 1774 808 810 813 818 819 820 821 822 823 824 1236 1237 1238 1245 1246 1502 1503 1504 1505 1506 1581 1587 1596 1603 1614 1615 1616 1617 1618 1849 1850 860 862 1751 1765 861 863 1752 1766 917 919 921 923 1224 1226 1228 1231 1233 1235 1239 1241 1243 1508 1510 1512 1541 1543 1545 1547 1562 1564 1566 1568 1570 1572 918 920 922 1223 1225 1227 1229 1230 1232 1234 1240 1242 1244 1507 1509 1511 1542 1544 1546 1563 1565 1567 1569 1571 944 947 948 952 953 955 956 959 960 963 964 1034 1036 1056 1087 1088 1098 1099 1133 1134 1207 1208 1091 1092 1093 1094 1095 1145 1146 1147 1148 1149 1200 1201 1202 1203 1204 1137 1138 1141 1142 1158 1159 1178 1179 1211 1212 1152 1153 1184 1185 1304 1305 1389 1473 1476 1306 1388 1390 1474 1475 1309 1386 1391 1311 1384 1404 1314 1403 1405 1315 1383 1402 1409 1316 1401 1408 1318 1334 1400 1407 1464 1321 1333 1399 1462 1465 1323 1331 1398 1461 1466 1324 1330 1397 1460 1467 1325 1329 1396 1459 1468 1327 1394 1457 1469 1338 1378 1411 1339 1379 1410 1340 1380 1382 1413 1341 1381 1414 1343 1358 1374 1345 1355 1417 1348 1353 1349 1351 1350 1352 1356 1416 1418 1360 1370 1423 1424 1432 1362 1372 1421 1364 1369 1425 1431 1365 1367 1427 1429 1366 1368 1426 1428 1430 1513 1515 1516 1517 1526 1531 1548 1549 1550 1552 1553 1554 1555 1556 1557 1519 1520 1522 1573 1575 1590 1599 1605 1612 1577 1584 1601 1607 1579 1585 1592 1594 1609 1611 1580 1582 1586 1588 1595 1597 1602 1604 1624 1639 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1 3 26 28 164 166 1259 1262 1277 1279 1490 1686 1827 6 8 9 11 1263 1276 1540 1685 1828 10 12 13 15 1264 1275 1538 1539 1560 1561 1684 1829 14 16 17 19 1274 18 20 21 23 25 1265 1273 1683 1830 27 29 30 32 1491 31 33 35 37 1258 1492 34 36 38 39 41 43 1257 1493 40 42 44 46 1256 45 47 49 51 1255 1494 48 50 52 53 55 1254 62 64 66 72 74 1252 1496 63 65 76 78 1251 1497 68 70 71 73 75 1253 1495 77 79 81 83 1250 1498 80 82 84 86 88 1249 1499 85 87 89 91 1248 1500 90 92 94 96 1247 1501 1619 1848 93 95 97 98 100 1620 1847 99 101 102 104 1621 1846 110 112 113 115 1622 1845 114 116 117 119 1623 1843 1844 118 120 121 123 372 376 1640 1842 126 128 129 131 1641 1838 130 132 133 135 1642 1837 134 136 137 139 1643 1836 147 149 167 169 1644 1835 151 153 192 194 1266 1267 1272 1537 1551 1559 1682 1831 155 157 298 300 302 304 306 308 401 403 156 158 159 161 1281 1488 1688 1825 160 162 163 165 989 990 1260 1261 1278 1280 1489 1687 1826 172 174 175 177 294 296 1269 1523 1529 1534 1645 1658 1834 176 178 180 1270 1524 1528 1530 1533 1659 1833 179 181 182 184 186 195 197 1268 1271 1514 1525 1527 1532 1536 1558 1660 1681 1832 196 198 199 201 1661 1680 200 202 203 205 1662 1679 204 206 207 209 1663 1678 208 210 211 213 1117 1118 1664 1677 212 214 215 217 1114 1115 1116 1119 1120 1665 1676 216 218 219 220 222 369 371 1077 1078 1108 1109 1112 1113 1121 1122 1666 1675 221 223 224 226 1110 1111 1123 1124 1667 1674 225 227 229 231 266 268 1668 1673 233 234 265 271 273 1669 1672 235 264 1670 1671 274 288 289 291 1646 1657 275 287 1518 1521 1535 1647 1656 278 1648 1655 280 283 284 1650 1653 281 282 1651 1652 285 1649 1654 310 312 314 1691 1703 1824 313 315 316 318 1692 1704 317 319 321 323 991 993 1061 1168 1169 1170 1171 1221 1222 1288 1693 1705 326 328 330 424 1062 1063 1166 1167 1172 1173 1219 1220 1694 1706 329 331 332 334 1007 1064 1065 1164 1165 1174 1175 1217 1218 333 335 337 1066 1139 1140 1162 1163 1176 1177 1215 1216 336 338 339 341 344 1160 1161 1180 1181 1213 1214 1287 340 342 343 345 346 348 1067 1068 1089 1090 1096 1097 1135 1136 1143 1144 1150 1151 1154 1155 1156 1157 1182 1183 1186 1187 1188 1198 1199 1205 1206 1209 1210 1285 1286 355 357 358 360 1004 1069 1070 1085 1086 1100 1101 1131 1132 1196 1197 1284 359 361 363 1005 1006 1071 1072 1083 1084 1102 1103 1129 1130 1189 1190 1195 362 364 365 367 1073 1074 1081 1082 1104 1105 1127 1128 1191 1192 366 368 370 1075 1076 1079 1080 1106 1107 1125 1126 1193 1194 373 377 379 1625 1638 1841 378 380 382 1626 1637 1840 381 383 384 386 1627 1636 1839 385 387 389 1628 1635 388 390 392 394 395 1629 1631 1633 396 397 400 1632 405 406 409 1293 1484 1699 1820 407 408 411 412 414 447 450 1294 1483 1698 1819 413 415 417 968 1697 1818 416 418 419 421 427 1696 1708 420 422 423 425 992 1695 1707 429 431 432 434 1709 1816 433 435 436 438 975 983 984 985 986 994 995 1008 1009 1010 1012 1017 1710 1815 437 439 442 453 455 471 473 1298 440 441 443 445 1297 1481 444 446 448 449 451 452 967 969 970 971 972 973 974 976 977 978 979 980 981 982 987 988 1295 1296 1482 1817 454 456 457 459 474 475 477 1299 1480 1814 458 460 464 465 826 895 896 897 898 899 900 908 909 1711 1812 463 466 468 530 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 901 902 903 904 905 906 996 997 998 999 1001 1003 1011 1013 1014 1015 1016 1712 1811 476 478 480 825 827 1300 1479 1813 479 481 483 828 829 1301 1478 482 484 485 487 830 1302 1303 1477 489 491 493 1307 492 494 495 497 925 926 1308 1310 1385 496 498 504 907 914 915 916 924 927 929 930 931 932 933 934 935 936 937 1018 1387 501 506 508 691 693 928 938 939 940 941 942 943 1019 1715 1805 507 509 511 1714 1806 510 512 518 524 526 910 911 912 913 514 1808 515 521 1807 1809 525 527 533 1713 1810 535 537 538 540 684 686 687 689 1021 1024 1031 536 553 557 688 690 692 1020 1027 1028 1032 1048 1049 1057 1361 1363 1371 1420 1422 1716 1804 539 543 681 683 685 1039 1044 1045 1052 1053 1717 1803 541 545 547 548 674 676 678 680 682 1038 1433 1718 1719 1799 1801 542 544 677 679 1037 1434 1720 1800 1802 550 552 554 558 562 1033 561 563 564 566 638 842 945 946 1035 1342 1344 1357 1359 1373 1375 1415 1419 565 567 569 841 951 954 957 958 961 962 1336 1337 1376 1377 1412 568 570 572 815 817 840 949 950 965 571 575 579 816 839 966 1312 1313 1317 1319 1320 1335 1406 1463 576 577 1022 1023 1025 1026 1029 1030 1040 1041 1042 1043 1046 1047 1050 1051 1054 1055 1058 1059 1060 578 580 582 1000 1002 581 583 585 836 838 1322 1332 584 586 587 589 837 1780 594 614 616 618 1451 1779 1781 1787 596 599 602 1456 1783 1785 600 601 603 605 835 1326 1328 1392 1393 1395 1458 1470 1784 604 606 608 834 607 609 611 613 831 832 833 1471 1472 617 619 621 1450 1778 1788 620 622 624 640 642 847 1449 1776 1777 1789 623 625 628 846 1775 1790 626 627 629 630 632 845 631 633 635 844 1347 1354 634 636 843 1346 645 647 648 650 848 1448 1734 1791 649 651 653 849 1447 1735 1792 652 654 655 657 658 753 755 850 851 874 1439 1446 1727 1736 1737 1793 656 659 661 852 873 1726 1794 660 662 664 853 872 1725 1795 663 665 666 668 694 696 749 750 752 854 869 870 871 1437 1438 1723 1746 1759 1796 667 669 671 1436 1722 1797 670 672 673 675 1435 1721 1798 695 697 698 700 702 714 716 855 1745 1747 1760 699 701 703 705 707 856 859 1748 1761 704 706 708 710 711 713 857 1749 1762 1763 709 712 858 1750 1764 715 717 719 1744 1757 718 720 722 724 1743 1756 721 723 727 864 1753 1767 735 737 740 866 1741 1754 1769 739 741 743 865 1742 1755 1768 746 748 751 868 1724 1758 754 756 757 759 875 1440 1445 1728 1738 758 760 762 1441 1444 1729 1739 1771 761 763 765 767 1442 1443 1730 1740 1770 769 771 778 867 794 795 797 799 800 802 1731 1772 801 803 805 1732 1773 804 806 809 1733 1774 860 862 1751 1765 861 863 1752 1766 917 919 921 923 1224 1226 1228 1231 1233 1235 1239 1241 1243 1508 1510 1512 1541 1543 1545 1547 1562 1564 1566 1568 1570 1572 918 920 922 1223 1225 1227 1229 1230 1232 1234 1240 1242 1244 1507 1509 1511 1542 1544 1546 1563 1565 1567 1569 1571 1513 1515 1516 1517 1526 1531 1548 1549 1550 1552 1553 1554 1555 1556 1557 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 7.071067812E-01 7.071067812E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 7.071067812E-01 7.071067812E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 7.071067812E-01 7.071067812E-01 7.071067812E-01 7.071067812E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 7.071067812E-01 7.071067812E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 7.071067812E-01 7.071067812E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 7.071067812E-01 7.071067812E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 7.071067812E-01 7.071067812E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 7.071067812E-01 7.071067812E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 1.000000000E+00 1.000000000E+00 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 7.071067812E-01 7.071067812E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 1.543033500E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 7.071067812E-01 7.071067812E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 7.071067812E-01 7.071067812E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 7.071067812E-01 7.071067812E-01 7.071067812E-01 7.071067812E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.425356250E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 7.071067812E-01 7.071067812E-01 2.182178902E-01 2.182178902E-01 2.182178902E-01 2.182178902E-01 2.182178902E-01 2.182178902E-01 2.182178902E-01 2.182178902E-01 2.182178902E-01 2.182178902E-01 2.182178902E-01 2.182178902E-01 2.182178902E-01 2.182178902E-01 2.182178902E-01 2.182178902E-01 2.182178902E-01 2.182178902E-01 2.182178902E-01 2.182178902E-01 2.182178902E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 7.071067812E-01 7.071067812E-01 1.000000000E+00 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 7.071067812E-01 7.071067812E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 2.500000000E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 2.294157339E-01 2.294157339E-01 2.294157339E-01 2.294157339E-01 2.294157339E-01 2.294157339E-01 2.294157339E-01 2.294157339E-01 2.294157339E-01 2.294157339E-01 2.294157339E-01 2.294157339E-01 2.294157339E-01 2.294157339E-01 2.294157339E-01 2.294157339E-01 2.294157339E-01 2.294157339E-01 2.294157339E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 1.000000000E+00 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 1.000000000E+00 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 1.000000000E+00 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 1.000000000E+00 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 7.071067812E-01 7.071067812E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 7.071067812E-01 7.071067812E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 1.961161351E-01 2.041241452E-01 2.041241452E-01 2.041241452E-01 2.041241452E-01 2.041241452E-01 2.041241452E-01 2.041241452E-01 2.041241452E-01 2.041241452E-01 2.041241452E-01 2.041241452E-01 2.041241452E-01 2.041241452E-01 2.041241452E-01 2.041241452E-01 2.041241452E-01 2.041241452E-01 2.041241452E-01 2.041241452E-01 2.041241452E-01 2.041241452E-01 2.041241452E-01 2.041241452E-01 2.041241452E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 7.071067812E-01 7.071067812E-01 7.071067812E-01 7.071067812E-01 7.071067812E-01 7.071067812E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 7.071067812E-01 7.071067812E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 2.886751346E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 2.773500981E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 5.000000000E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 3.333333333E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 5.773502692E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 3.535533906E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.414213562E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 1.561737619E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 3.779644730E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 2.236067978E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 4.472135955E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 2.357022604E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.581988897E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 2.672612419E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 1.524985703E-01 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.908708064E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 8.638684256E-02 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.270001270E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.072112535E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 1.889822365E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.015113446E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 3.162277660E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 1.386750491E-01 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 6.495698025E-02 -5.740131566E-01-2.420537407E-01 3.457910582E-02 7.814877913E-01-5.088415090E-01 -3.929029373E-01-2.383181751E-01-1.223796034E-01 7.085134937E-02 2.640823022E-01 3.929029373E-01 5.346056362E-01-5.725363468E-01-3.793915549E-01-2.000428199E-01 -7.587831101E-02 7.587831101E-02 2.552270461E-01 3.793915549E-01 5.173521205E-01 -6.979408366E-01-3.130469929E-01 1.488256196E-01 3.284427467E-01 5.337194634E-01 -5.687042300E-01-3.644349555E-01-1.973055491E-01-8.588594491E-02 6.267352738E-02 2.298029337E-01 3.783624060E-01 5.454918122E-01-4.350249032E-01-3.590853941E-01 -3.048428873E-01-2.289033781E-01-1.638123701E-01 1.290971658E-01 2.267336778E-01 3.026731871E-01 3.786126965E-01 4.545522056E-01-7.071067814E-01-1.631784880E-01 2.175713174E-01 6.527139520E-01-5.110634454E-01-3.960741700E-01-2.667112355E-01 -1.373483009E-01-7.985366335E-03 1.644985464E-01 2.794878216E-01 3.944770969E-01 4.807190533E-01-3.512295461E-01-3.288582375E-01-3.064869289E-01-2.953012745E-01 -2.617443115E-01 1.744962077E-01 2.527957880E-01 3.087240597E-01 3.646523313E-01 4.429519118E-01-5.175691006E-01-3.755531888E-01-2.761420505E-01-1.625293212E-01 5.049454637E-02 1.499056846E-01 2.493168228E-01 3.629295522E-01 5.191470550E-01 -5.828042066E-01-3.416438452E-01 2.210636645E-01 7.033843873E-01-6.390281219E-01 -2.954646155E-01-2.061381038E-02 3.229496960E-01 6.321568518E-01-4.864023832E-01 -3.748262094E-01-2.771970571E-01-1.795679049E-01 1.272665734E-01 2.806838126E-01 4.062070083E-01 5.038361603E-01-5.105183892E-01-3.888053959E-01-2.823065265E-01 -1.301652847E-01-8.452291210E-03 1.589030748E-01 2.958301925E-01 3.871149375E-01 4.783996826E-01-7.095242470E-01-1.689343445E-01 2.365080823E-01 6.419505092E-01 -4.710853076E-01-3.680646640E-01-2.959502132E-01-2.135336981E-01-8.990892552E-02 -7.492410462E-03 9.552823338E-02 1.985488772E-01 3.118715853E-01 3.839860361E-01 4.561004869E-01-5.713375803E-01-3.686048904E-01-2.395931788E-01-5.529073356E-02 9.215122259E-02 2.580234233E-01 3.686048904E-01 5.160468467E-01-5.432132172E-01 -3.744479458E-01-2.197464471E-01-1.072362662E-01 7.559277778E-02 2.443580491E-01 3.849957753E-01 5.396972739E-01-5.546845586E-01-3.893127647E-01-2.239409709E-01 -7.235015983E-02 9.302163407E-02 2.446124451E-01 3.824222734E-01 5.202321018E-01 -4.630557655E-01-3.714910660E-01-2.799263667E-01-2.014423387E-01-1.229583106E-01 7.325175950E-02 2.040584729E-01 2.956231723E-01 3.871878716E-01 4.787525711E-01 -6.459422415E-01-2.348880879E-01 1.761660659E-01 7.046642635E-01-5.783469319E-01 -3.521490208E-01-2.082048955E-01-6.426077019E-02 5.911990861E-02 2.236274803E-01 3.675716056E-01 5.526426240E-01-6.953920906E-01-1.896523883E-01 2.317973635E-01 6.532471155E-01-6.084849344E-01-3.928193881E-01-2.079632055E-01-2.310702283E-02 1.463444779E-01 2.695819330E-01 3.620100244E-01 4.544381158E-01-4.720180397E-01 -3.559480301E-01-2.979130250E-01-2.166640183E-01-1.238080105E-01-5.416600458E-02 3.869000324E-03 1.779740150E-01 2.476160209E-01 3.056510257E-01 3.636860308E-01 4.217210356E-01-5.155440953E-01-3.127070743E-01-2.450947339E-01-1.605793084E-01 2.535462764E-02 2.281916488E-01 3.972224998E-01 5.831564358E-01-7.095242473E-01 -1.689343446E-01 2.365080824E-01 6.419505094E-01-7.206576831E-01-1.752951121E-01 2.921585202E-01 6.037942751E-01-5.532177706E-01-3.829969181E-01-2.506029217E-01 -1.182089254E-01 1.844059235E-01 2.789730638E-01 3.735402041E-01 4.681073443E-01 -7.087321464E-01-1.880309777E-01 2.748145058E-01 6.219486183E-01-7.046642635E-01 -1.761660659E-01 2.348880879E-01 6.459422415E-01-5.255787283E-01-3.828569185E-01 -2.605239386E-01-1.381909587E-01-1.585797887E-02 1.676414909E-01 2.899744708E-01 3.919186207E-01 4.734739406E-01-6.324555321E-01-3.162277660E-01 0.000000000E+00 3.162277660E-01 6.324555321E-01-6.425895644E-01-3.365945337E-01 3.059950307E-02 3.671940368E-01 5.813905583E-01-5.498125957E-01-3.748722245E-01-1.999318530E-01 6.815858632E-03 1.658525599E-01 3.407929314E-01 6.111553235E-01-5.170681280E-01 -3.648471370E-01-2.126261461E-01-6.040515513E-02 1.256427227E-01 4.639115915E-01 5.653922521E-01-5.969620060E-01-3.411211463E-01-4.264014330E-02 3.411211463E-01 6.396021494E-01-5.358070089E-01-3.813573017E-01-2.440686731E-01-1.239411230E-01 1.334750556E-02 1.334750556E-01 2.364415270E-01 3.737301556E-01 5.281798626E-01 -5.561397478E-01-3.716141173E-01-2.280941823E-01-1.050770952E-01 9.995138327E-02 2.639741661E-01 3.869912532E-01 5.100083401E-01-6.146789777E-01-4.279410605E-01 -7.780746555E-03 1.789571707E-01 3.190106087E-01 5.524330053E-01-7.436490464E-01 -1.368679227E-02 9.580754584E-02 6.615282928E-01-6.320168708E-01-3.204592584E-01 -8.901646066E-03 3.471641966E-01 6.142135786E-01-4.681454353E-01-3.541621988E-01 -2.564622819E-01-1.587623650E-01 2.035414935E-02 2.157539831E-01 4.111538168E-01 5.902703314E-01-5.631859205E-01-4.054938628E-01-1.689557762E-01-1.126371841E-02 2.252743681E-01 3.829664260E-01 5.406584837E-01-4.429910821E-01-3.793276931E-01 -2.838326095E-01-2.201692205E-01-1.405899842E-01-4.509490059E-02 3.448433573E-02 1.299794193E-01 2.095586556E-01 2.891378919E-01 3.846329753E-01 4.642122119E-01 -4.281149878E-01-3.844297849E-01-3.232705010E-01-2.795852981E-01-1.135815274E-01 -7.863336510E-02-4.368520285E-02-3.814220211E-12 3.494816225E-02 8.737040565E-02 1.310556085E-01 1.572667302E-01 1.922148925E-01 2.708482576E-01 3.582186632E-01 4.193779472E-01-5.132347461E-01-3.466983978E-01-2.967374933E-01-2.134693192E-01 -9.689387536E-02 3.633520326E-02 1.529106471E-01 1.862179167E-01 2.694860909E-01 3.694078998E-01 4.526760742E-01-6.396021490E-01-3.731012536E-01-5.330017909E-02 0.000000000E+00 1.599005372E-01 3.731012536E-01 5.330017909E-01-3.433942596E-01 -3.042981389E-01-2.652020184E-01-2.261058977E-01-1.967838072E-01-1.674617167E-01 -1.381396262E-01-4.039932465E-02-1.303204023E-03 8.666306739E-02 1.550812785E-01 2.332735198E-01 3.407878516E-01 3.994320325E-01 4.678502435E-01-5.986927857E-01 -4.141899776E-01-2.296871694E-01 1.920335351E-01 2.711061671E-01 3.501787992E-01 4.292514313E-01-4.995562352E-01-3.813513795E-01-3.306921557E-01-1.280552603E-01 -9.428244439E-02-4.362322054E-02 7.458163512E-02 1.252408590E-01 1.927864907E-01 2.603321226E-01 3.785369782E-01 4.460826098E-01-5.369652087E-01-4.029581846E-01 -2.895676256E-01-1.555606015E-01-7.309474045E-02 5.060405108E-02 1.330699121E-01 2.567687037E-01 2.980016343E-01 3.289263322E-01 3.907757280E-01-6.443170192E-01 -2.941975823E-01-1.629027935E-01 1.726283334E-01 3.914529816E-01 5.373360800E-01 -5.478841452E-01-4.288610378E-01-2.701635613E-01 1.398049198E-01 2.852776067E-01 3.646263450E-01 4.571998728E-01-4.174538088E-01-3.687508644E-01-2.956964479E-01 -8.870893436E-02 1.182785791E-01 4.104962453E-01 6.418352308E-01-7.132923260E-01 -1.802826759E-01 2.743432024E-01 6.192317995E-01-4.963543015E-01-3.033276286E-01 -1.915753444E-01 1.161062693E-02 1.161062693E-02 2.046372997E-01 7.633987209E-01 -5.422997814E-01-2.662198928E-01-1.084599563E-01 9.859996028E-03 1.281799484E-01 7.789396861E-01-6.524016431E-01-3.249881792E-01-1.940227936E-01-1.067125365E-01 2.425284920E-02 1.988733634E-01 2.861836205E-01 3.516663133E-01 4.171490061E-01 -4.634170388E-01-3.934672970E-01-2.535678136E-01-1.661306365E-01 4.371858857E-02 2.885426844E-01 4.109547324E-01 5.333667802E-01-5.307215336E-01-2.719947860E-01 8.027163199E-01-7.558772982E-01-1.316036367E-01 3.374452224E-03 3.408196746E-01 5.432868081E-01-5.814571896E-01-4.237738838E-01-2.858009914E-01 8.869685940E-02 2.266697518E-01 2.266697518E-01 3.055114046E-01 4.434842970E-01-5.228965828E-01 -4.251153876E-01-2.714592233E-01-1.457405436E-01 4.982184716E-02 5.447809456E-02 1.755405269E-01 2.593529801E-01 3.571341755E-01 4.688841130E-01-4.550760723E-01 -3.613839397E-01-3.078455782E-01-1.606150843E-01-9.369213252E-02-2.676918072E-02 2.275380361E-01 3.078455782E-01 3.747685301E-01 4.952298434E-01-4.733470869E-01 -3.859215035E-01-2.984959202E-01-1.860915988E-01-8.617664642E-02 1.011638893E-01 2.135682107E-01 2.635256869E-01 3.634406392E-01 4.883343298E-01-3.929822449E-01 -3.103808813E-01-2.736691641E-01-2.002457299E-01-1.451781542E-01-1.360002249E-01 -7.509214869E-03 2.770065931E-01 2.861845223E-01 3.320741689E-01 5.707003303E-01 -4.460439606E-01-3.373631986E-01-2.830228176E-01-2.105689763E-01 4.301946827E-02 2.422675319E-01 4.234021351E-01 5.683098178E-01-3.612105510E-01-3.493351355E-01 -2.424563972E-01-2.305809819E-01-1.474530742E-01-7.620058199E-02-6.432516660E-02 6.927325637E-03 2.444356331E-01 2.563110485E-01 3.988160331E-01 5.650718483E-01 -7.056919323E-01-3.320903210E-01-5.811580616E-02-3.320903210E-02 1.660451605E-02 1.411383864E-01 1.660451605E-01 3.154858049E-01 4.898332234E-01-7.317917226E-01 5.227083734E-02 6.795208854E-01-8.070833995E-01 2.964796161E-01 5.106037834E-01 -4.281535139E-01-3.880141220E-01 8.161676358E-01-3.982228196E-01-3.819133527E-01 -2.840565506E-01-2.025092154E-01-1.943544820E-01-8.834294634E-02 5.028752329E-02 9.921592434E-02 2.378463940E-01 3.112389956E-01 4.090957977E-01 4.417147316E-01 -5.322972941E-01-3.125100244E-01-1.614062763E-01-1.339328676E-01-1.201961632E-01 3.056416721E-01 4.017986027E-01 5.529023506E-01-4.942380244E-01-4.167104912E-01 -3.488738995E-01-8.721847489E-02 9.690941657E-03 7.752753323E-02 1.550550665E-01 2.713463664E-01 3.876376662E-01 4.457833162E-01-4.801691721E-01-3.949514351E-01 -2.032115268E-01-1.925593096E-01-1.819070925E-01-8.603713834E-02 9.832815811E-03 1.163549871E-01 1.376594214E-01 1.483116385E-01 2.761382440E-01 3.933126323E-01 4.572259351E-01-7.418707522E-01-9.429052726E-02 2.045926535E-01 6.315686259E-01 -4.433319425E-01-3.670269611E-01-3.517659647E-01-2.220474962E-01-9.232902762E-02 1.671079095E-01 2.434128910E-01 2.510433891E-01 3.578703633E-01 4.570668391E-01 -7.187795363E-01-2.580234233E-01-7.372097810E-02 2.027326897E-01 3.501746459E-01 4.976166021E-01-4.854581869E-01-3.309942184E-01-2.280182393E-01-7.355427078E-02 1.066536926E-01 3.126056507E-01 6.987655722E-01-5.491705831E-01-4.697356170E-01 -2.016426063E-01-1.420663817E-01-9.241952790E-02-2.291393254E-02 5.652103360E-02 8.630914590E-02 1.458853705E-01 2.054615951E-01 2.551084490E-01 3.246140443E-01 4.040490105E-01-6.348441880E-01-3.625249652E-01-1.582855482E-01-1.582855482E-01 -5.105985421E-03 9.701372307E-02 1.991334316E-01 2.501932858E-01 3.352930429E-01 4.374127513E-01-7.774815829E-01 1.727736851E-01 6.047078979E-01-7.217537409E-01 -1.365480050E-01 2.145754365E-01 6.437263094E-01-4.049312450E-01-3.536741254E-01 -3.024170059E-01-1.896513426E-01-1.896513426E-01-1.178913751E-01-6.663425550E-02 -5.125711967E-03 4.613140766E-02 2.306570383E-01 2.819141579E-01 2.819141579E-01 3.536741254E-01 4.356855167E-01-4.912241466E-01-3.426185224E-01-2.683157103E-01 -1.940128982E-01-1.320938881E-01-7.017487807E-02 7.843074608E-02 1.403497561E-01 1.403497561E-01 2.641877763E-01 3.632581923E-01 5.118638165E-01-4.810537795E-01 -3.353499905E-01-1.734568916E-01-1.734568916E-01 1.017613764E-01 4.255475741E-01 6.360086028E-01-3.169550924E-01-3.079506863E-01-2.989462802E-01-2.899418743E-01 -1.728845958E-01-6.483172344E-02 1.872916455E-01 2.863401119E-01 4.574238266E-01 5.204546687E-01-4.106444632E-01-3.470490818E-01-2.325773951E-01-1.562629373E-01 7.268043598E-02 3.779382670E-01 6.959151745E-01-6.783738520E-01-1.995217212E-01 1.995217212E-01 6.783738520E-01-5.387500496E-01-3.587917868E-01-2.575652638E-01 -1.563387409E-01-7.760700089E-02 3.486691345E-02 2.373199593E-01 3.048043079E-01 3.610412650E-01 4.510203964E-01-5.582423491E-01-3.695407100E-01-2.044267757E-01 1.965642074E-01 3.380904368E-01 5.975551908E-01-6.644580563E-01-1.416058153E-01 7.624928515E-02 7.298145864E-01-5.713182295E-01-4.085589663E-01-1.760457335E-01 3.321617612E-02 1.959754391E-01 4.052373487E-01 5.214939651E-01-6.376825262E-01 -2.732925112E-01 2.277437593E-01 6.832312781E-01-4.785094745E-01-4.098786336E-01 -2.726169516E-01-1.181975594E-01-1.525129799E-02 8.769496347E-02 2.935874864E-01 4.136914582E-01 4.994800093E-01-3.801429607E-01-3.484643806E-01-2.724357885E-01 -2.344214924E-01 2.027429123E-01 3.928143927E-01 6.399073172E-01-5.020717122E-01 -3.741553525E-01-2.206557207E-01-1.183226328E-01-1.598954498E-02 2.654264466E-01 4.189260784E-01 5.468424382E-01-4.472657843E-01-3.265314622E-01-2.661643011E-01 -1.756135595E-01-1.756135595E-01-5.487923734E-02 6.585508481E-02 1.564058264E-01 2.771401486E-01 4.280580513E-01 5.186087929E-01-6.414043565E-01-2.613128859E-01 2.138014522E-01 6.889157902E-01-4.180379781E-01-3.663811112E-01-3.018100277E-01 -2.501531608E-01-1.855820773E-01-1.855820773E-01-1.210109937E-01 8.131173488E-03 2.535012911E-02 3.611197638E-02 9.853069051E-02 1.329686018E-01 1.437304490E-01 1.889302075E-01 2.535012911E-01 2.535012911E-01 3.051581580E-01 3.826434582E-01 -6.963471324E-01-2.321157108E-01 3.413466335E-01 5.871162097E-01-6.443833370E-01 -3.411441196E-01 3.790490218E-02 3.790490218E-01 5.685735327E-01-4.599525093E-01 -3.716079724E-01-2.706427874E-01-1.949188987E-01-1.191950100E-01 2.594244335E-01 3.099070259E-01 3.856309146E-01 4.613548033E-01-6.943808910E-01-2.479931754E-02 7.191802085E-01-6.658858077E-01-3.430320827E-01 1.008917890E-01 3.632104405E-01 5.448156608E-01-7.071067811E-01 0.000000000E+00 7.071067811E-01-6.882973783E-01 -3.622617781E-02 7.245235562E-01-4.165577428E-01-3.868881561E-01-3.166251801E-01 -2.881693492E-01-2.212104864E-01-1.922152084E-01-1.212104928E-01-9.936288797E-02 -9.288952362E-02-9.052944286E-02-8.816936209E-02-8.466295638E-02-8.250516826E-02 -7.818959200E-02-7.083962619E-02-3.092054582E-02-2.815587979E-02-2.485176671E-02 -2.040132869E-02-1.770409354E-02-1.507428925E-02-1.150045267E-02-7.319738171E-03 -4.689933891E-03-2.329853126E-03 1.311414340E-03 3.132048074E-03 5.964144991E-03 8.256794877E-03 1.041458301E-02 1.446043574E-02 1.709024003E-02 1.972004431E-02 6.779826104E-02 6.968632564E-02 7.197897553E-02 7.346245487E-02 7.562024299E-02 7.899178695E-02 8.128443684E-02 8.391424111E-02 8.586973661E-02 9.018531286E-02 9.092705253E-02 9.166879220E-02 9.200594660E-02 9.551235231E-02 1.008393917E-01 1.027948872E-01 1.094031134E-01 1.121003485E-01 1.139209822E-01 1.659101900E-01 1.679331163E-01 1.695514574E-01 1.723161235E-01 1.737996028E-01 1.751482204E-01 -2.150769621E-01-2.100485359E-01-2.086599328E-01-2.039260587E-01-1.849905624E-01 -1.795413473E-01-1.735240674E-01-1.546096105E-01-1.492235137E-01-1.452049807E-01 -1.240813825E-01-1.184007336E-01-1.130356763E-01-9.410017997E-02-8.999748909E-02 -8.252848778E-02-6.327739983E-02-5.843832855E-02-5.246312746E-02-3.308580288E-02 -2.814153440E-02-2.204009669E-02-2.452377698E-03 1.734470937E-03 7.309922635E-03 2.771817980E-02 5.769938234E-02 6.868197022E-02 8.799617648E-02 9.788471346E-02 3.909009995E-01 1.274451272E-01 1.530080472E-01 1.561639633E-01 1.809694635E-01 1.875127295E-01 2.098145362E-01 2.178095236E-01 2.391435161E-01 2.442140213E-01 2.508414450E-01-3.180535014E-01-3.177132622E-01-3.172814199E-01-3.169542667E-01 -3.166532858E-01-3.163523047E-01-3.160382377E-01 4.091208375E-02 4.129158148E-02 4.600258766E-02 5.771467249E-02 6.245185091E-02 6.383898053E-02 7.594364920E-02 8.321953652E-02 9.498396585E-02 1.014092549E-01 1.134615790E-01 1.212478253E-01 1.321747424E-01 1.393459408E-01 1.544342467E-01 1.598257315E-01 1.697581029E-01 1.775312631E-01 1.888245918E-01 1.946740912E-01-1.194911538E-01-1.172497071E-01 -1.140942725E-01-1.131367613E-01-1.090891003E-01-8.408500085E-02-7.992853175E-02 -7.666428899E-02-7.581558589E-02-5.823219829E-02-5.736173355E-02-4.476175656E-02 -2.639495070E-02 9.457835859E-01-1.370792722E-02-1.294627058E-02 4.680640254E-03 5.899290880E-03 1.595315854E-02 1.667129194E-02 3.588680090E-02 3.784534655E-02 4.023912457E-02-3.351790296E-01-3.330796727E-01-3.005396407E-01-1.826607503E-01 -1.501732022E-01-2.883037297E-02 3.079852005E-03 1.190168371E-01 1.322427857E-01 1.516093531E-01 2.836064186E-01-2.575553080E-01-2.274295363E-01-1.068214821E-01 -7.459635354E-02 4.569679721E-02 4.837347727E-02 7.115149971E-02 1.967980106E-01 2.217278738E-01 3.481616436E-01 3.754007994E-01-2.866227940E-01-2.819083511E-01 -1.786122252E-01-1.719046845E-01-1.600994130E-01-6.765033848E-02-4.817930623E-02 4.147176559E-02 1.504788833E-01 1.712530949E-01 2.621690172E-01 2.623223324E-01 2.624756477E-01 2.626289628E-01 2.628972645E-01-2.327708248E-01-2.302027949E-01 -2.206589228E-01-2.142580126E-01-1.143731502E-01-1.045609764E-01-1.410499975E-02 -1.130699709E-02 5.749320572E-04 7.320801505E-03 9.555370759E-02 1.175544409E-01 2.164044256E-01 2.241085152E-01-2.404856193E-01-2.361232984E-01-2.303333089E-01 -2.249002365E-01-2.229966783E-01-1.867101001E-01-1.739800547E-01-1.662468495E-01 -1.289291773E-01-1.258755527E-01-1.096953080E-01-1.077520923E-01-7.194140375E-02 -7.071202240E-02-6.904640895E-02-6.642901645E-02-6.599278436E-02-6.190806571E-02 -5.869581125E-02-5.369897100E-02-5.286616429E-02-4.743309193E-02-4.556919119E-02 -1.055165182E-02 5.113045860E-03 4.762584564E-02 4.964837622E-02 6.368711793E-02 6.578896347E-02 9.973575133E-02 1.021945140E-01 1.279718646E-01 1.293598758E-01 1.581908510E-01 1.610858458E-01 1.715554159E-01 1.756401345E-01 2.132750664E-01 2.264810014E-01 2.332227700E-01 2.348487260E-01 2.744665310E-01 2.889811623E-01 -3.252662345E-02-3.227969374E-02-3.224228015E-02-3.203276404E-02-3.198038501E-02 -3.184569608E-02-3.139673300E-02-3.135183668E-02-3.082804641E-02-3.078315009E-02 -3.058859943E-02-3.055118583E-02-3.031922157E-02-3.026684253E-02-2.999746468E-02 -2.996005109E-02-2.981039672E-02-2.974305226E-02-2.954850159E-02-2.950360528E-02 -2.924171015E-02-2.921177927E-02-2.906212490E-02-2.901722859E-02-2.884512607E-02 -2.880771249E-02-2.868050627E-02-2.865805812E-02-2.855330007E-02-2.852336919E-02 -2.830637036E-02-2.826147405E-02-2.750571951E-02-2.675744769E-02-2.263446994E-02 -2.247733286E-02-2.241747111E-02-2.229026491E-02-2.227529947E-02-2.214061054E-02 -2.209571423E-02-2.191612899E-02-2.189368084E-02-2.172906103E-02-2.169164745E-02 -2.151206220E-02-2.147464862E-02-2.139233871E-02-2.135492513E-02-2.107058183E-02 -2.104065096E-02-2.092092747E-02-2.089847931E-02-2.071141136E-02-2.067399777E-02 -2.063658417E-02-2.033727545E-02-2.030734458E-02-2.014272477E-02-2.010531118E-02 -1.992572594E-02-1.989579507E-02-1.977607158E-02-1.974614071E-02-1.959648635E-02 -1.957403818E-02-1.922235043E-02-1.918493684E-02-1.906521335E-02-1.903528247E-02 -1.882576637E-02-1.881080093E-02-1.868359471E-02-1.866114656E-02-1.842169958E-02 -1.839925143E-02-1.821218347E-02-1.818973531E-02-1.800266736E-02-1.798021921E-02 -1.783056484E-02-1.780063397E-02-1.765097960E-02-1.760608329E-02-1.742649806E-02 -1.646871012E-02-1.598981615E-02-1.196411375E-02-1.162739143E-02-1.155256425E-02 -1.153011610E-02-1.132808270E-02-1.129066911E-02-1.121584193E-02-1.119339378E-02 -1.074443068E-02-1.072198252E-02-1.060974175E-02-1.057981088E-02-1.054239729E-02 -1.051994913E-02-1.037029477E-02-1.034784661E-02-1.025057128E-02-1.022812312E-02 -1.003357245E-02-1.000364157E-02-9.794125463E-03-9.771677308E-03-9.412506833E-03 -9.390058679E-03-9.210473441E-03-9.188025286E-03-8.993474612E-03-8.971026458E-03 -8.866268402E-03-8.843820248E-03-8.701648602E-03-8.671717729E-03-8.619338701E-03 -8.596890546E-03-8.484649773E-03-8.454718900E-03-8.364926281E-03-8.334995408E-03 -8.260168225E-03-8.207789198E-03-7.908480470E-03-7.541827276E-03-7.519379121E-03 -7.377207475E-03-7.354759321E-03-7.175174083E-03-7.152725928E-03-6.905796226E-03 -6.756141862E-03-6.733693707E-03-6.546625752E-03-6.524177596E-03-6.404454105E-03 -5.566389663E-03-4.892945022E-03-8.896907701E-04-5.828993226E-04-5.155548586E-04 -4.856239857E-04-3.883486487E-04-3.659004941E-04-2.761078753E-04-2.536597206E-04 -1.264535108E-04-1.040053560E-04-5.910904667E-05-2.917817381E-05 1.129934725E-04 1.354416273E-04 2.476824008E-04 2.776132736E-04 4.646812293E-04 4.871293841E-04 7.190936492E-04 7.340590857E-04 3.666090497E-01 3.668484966E-01 3.669981510E-01 3.671627708E-01 3.673348733E-01 3.675219413E-01 3.676865611E-01-2.071835602E-01 -2.070854095E-01-2.069872587E-01-2.068945607E-01-2.068018628E-01-2.066928064E-01 -1.184716219E-01-1.128824809E-01-1.052049094E-01-1.050794946E-01-1.049213628E-01 -1.048068535E-01-1.047087027E-01-1.046160048E-01-1.045178540E-01-9.705839547E-02 -9.476821079E-02-7.281515508E-02-7.262430636E-02-7.247162738E-02-7.231349559E-02 -7.219898636E-02-7.210083559E-02-7.198087353E-02-7.162644019E-02-7.146285558E-02 -7.132108224E-02-7.115204480E-02-7.103208274E-02-7.084123403E-02-7.075944171E-02 -6.598277087E-02-6.588462010E-02-6.553563958E-02-6.533933804E-02-6.507760265E-02 -6.478860316E-02-6.470135803E-02-6.433601905E-02-6.411790623E-02-6.392160469E-02 -6.381800109E-02-6.356717135E-02-6.333270006E-02-6.320183237E-02-6.306551185E-02 -6.291283288E-02-6.269472005E-02-5.800529434E-02-5.791259639E-02-5.781444562E-02 -5.760178562E-02-5.542065738E-02-5.057855268E-02-4.864280137E-02-4.823383983E-02 -4.778670854E-02-4.768855777E-02-4.723597366E-02-4.667433314E-02-4.233934076E-02 -4.131966331E-02-4.117243716E-02-4.103066382E-02-4.092160741E-02-4.075256997E-02 -4.039268381E-02-4.026181611E-02-4.006551457E-02-3.992374124E-02-3.975470380E-02 -3.960747764E-02-3.946025149E-02-3.438367551E-02-3.392018576E-02-3.372933704E-02 -3.339671498E-02-3.289505549E-02-3.274782933E-02-3.241520728E-02-3.228433958E-02 -3.178268008E-02-3.145005803E-02-2.653706667E-02-2.614446359E-02-2.577912461E-02 -2.538652153E-02-2.509752203E-02-2.492848460E-02-2.463948510E-02-1.863592963E-02 -1.835783578E-02-1.811791167E-02-1.794342141E-02-1.768713884E-02-1.735996961E-02 -1.700553627E-02-1.682014037E-02-1.671108396E-02-1.656931062E-02-1.639482036E-02 -1.624759420E-02-1.618216036E-02-1.596404753E-02-1.580046292E-02-1.571321779E-02 -1.529880342E-02-1.098016951E-02-1.062573617E-02-1.022222744E-02-9.933227950E-03 -9.529719233E-03-9.317059224E-03-8.935361783E-03-8.788135627E-03-8.346457159E-03 -8.073816130E-03-7.970212535E-03-2.893636562E-03-2.599184249E-03-2.097524754E-03 -1.955751419E-03-1.846695007E-03-1.704921672E-03-1.214167818E-03-1.017866277E-03 -7.452252466E-04-5.053011400E-04-3.744334462E-04-2.053960077E-04 4.882085610E-03 5.051123048E-03 5.209254845E-03 5.340122540E-03 5.541876902E-03 5.852687676E-03 6.048989218E-03 6.196215374E-03 6.321630247E-03 6.430686660E-03 6.517931789E-03 6.676063586E-03 6.823289742E-03 7.194081543E-03 7.488533855E-03 7.668476935E-03 7.995646171E-03 1.252148727E-02 1.269052471E-02 1.296316574E-02 1.313765599E-02 1.328488215E-02 1.342665549E-02 1.365567395E-02 1.406463550E-02 1.429365396E-02 1.438635191E-02 1.452812524E-02 1.480076628E-02 1.501342628E-02 1.520427500E-02 1.567867039E-02 1.650204630E-02 2.056985047E-02 2.066254842E-02 2.076069919E-02 2.097881201E-02 2.116420791E-02 2.131143407E-02 2.155681099E-02 2.171494279E-02 2.184581049E-02 2.200394229E-02 2.218388536E-02 2.240745101E-02 2.265282794E-02 2.278914845E-02 2.287094076E-02 2.299090281E-02 2.318175154E-02 2.341622282E-02 2.898355265E-02 2.914713727E-02 2.928345778E-02 2.944158958E-02 2.963789112E-02 2.979602292E-02 2.998687164E-02 3.015590908E-02 3.031949370E-02 3.062485165E-02 3.080479473E-02 3.094111524E-02 3.114832243E-02 3.613765328E-02 3.624125686E-02 3.639938866E-02 3.652480353E-02 3.664476559E-02 3.678108610E-02 3.692285944E-02 3.709734970E-02 3.723912304E-02 3.778985791E-02 3.792072561E-02 3.822063075E-02 3.837330972E-02 3.857506408E-02 4.398426211E-02 4.443684622E-02 4.452409135E-02 4.462224212E-02 4.472039289E-02 4.558739137E-02 4.570190060E-02 4.580550419E-02 4.588184368E-02 4.610540932E-02 4.623627702E-02 4.650346523E-02 4.659616318E-02 4.674884216E-02 5.204353095E-02 5.226164378E-02 5.246885096E-02 5.262698276E-02 5.287781251E-02 5.305230276E-02 5.313409507E-02 5.331403816E-02 5.348307559E-02 5.359213200E-02 5.386477304E-02 5.412105561E-02 5.419194227E-02 5.435007407E-02 5.457363971E-02 5.466633766E-02 5.481356382E-02 5.503712946E-02 5.530977049E-02 5.559876999E-02 5.957932902E-02 5.991195107E-02 6.010825261E-02 6.031545980E-02 6.050085571E-02 6.067534596E-02 6.081166648E-02 6.092072289E-02 6.104613776E-02 6.124789212E-02 6.136240136E-02 6.153689162E-02 6.163504239E-02 6.178226854E-02 6.190768341E-02 6.785671069E-02 6.810754044E-02 6.828203070E-02 6.839653993E-02 6.850559634E-02 6.863101121E-02 6.875642608E-02 6.896363327E-02 6.936714199E-02 6.948165123E-02 6.955253789E-02 6.967795277E-02 6.978155636E-02 6.991242406E-02 7.006510303E-02 9.123840543E-02 9.923769325E-02 1.015278778E-01 1.069152646E-01 1.226193879E-01 1.227393500E-01 1.228320480E-01 1.229301987E-01 1.230119910E-01 1.230992362E-01 1.232082925E-01-4.954589850E-01-4.936227212E-01-3.421921557E-01 -2.627431361E-01-1.615037848E-01-7.703564396E-02-7.519938004E-02 1.538964057E-02 2.028634439E-02 2.212260832E-02 3.375227988E-02 4.268876434E-02 4.538195145E-02 5.211491920E-02 5.333909515E-02 5.578744706E-02 5.884788694E-02 6.129623885E-02 6.435667874E-02 6.680503065E-02 6.925338256E-02 7.268107522E-02 7.965887817E-02 2.030558144E-01 2.094215293E-01 2.210512009E-01 2.283962567E-01 2.320687845E-01 -2.877659483E-01-2.868953123E-01-2.859577042E-01-2.853214701E-01-2.846852361E-01 -2.839820300E-01-2.833792820E-01-4.708769769E-03 1.019250131E-02 3.617763920E-02 3.969366946E-02 5.506374457E-02 8.654058687E-02 1.382764606E-01 1.515034316E-01 2.009287712E-01 2.313675474E-01 2.323721274E-01 2.414133481E-01 2.794869329E-01 2.996789923E-01-2.251706356E-01-2.242727905E-01-2.232627147E-01-2.202698976E-01 -2.194094627E-01-2.186612585E-01-2.176885929E-01-2.170526193E-01-2.161547742E-01 -2.153691597E-01-2.137231103E-01-1.102838703E-01-1.082263085E-01-6.969378874E-02 -6.333405243E-02-6.127649072E-02-4.967932454E-02-4.762176281E-02-4.144907759E-02 -3.957856692E-02-1.900294956E-02-9.650396205E-03-7.779885531E-03 2.320872086E-03 8.493557297E-03 1.017701690E-02 3.898288122E-02 4.365915790E-02 4.534261750E-02 5.656568150E-02 5.881029432E-02 6.180311142E-02 6.367362207E-02 6.872400088E-02 7.059451154E-02 9.322769066E-02 9.921332479E-02 1.040766525E-01 1.095011335E-01 1.115586952E-01 1.192277890E-01 1.212853507E-01 1.424221213E-01 1.474725001E-01 1.493430108E-01 1.560768492E-01 1.590696662E-01 1.736596495E-01 1.996597478E-01 2.017173095E-01 2.101346075E-01 2.118180671E-01-2.112396164E-01-1.933563293E-01 -1.774191645E-01-1.716728436E-01-1.016387351E-01-9.745720175E-02-9.712846483E-02 -9.686547533E-02-9.591871307E-02-9.562942460E-02-9.519549189E-02-9.489305394E-02 -9.464321389E-02-9.436707491E-02-9.384109587E-02-9.347291055E-02-9.305212733E-02 -8.307167512E-02-8.272978876E-02-8.240105187E-02-8.225640763E-02-8.188822230E-02 -8.138854221E-02-8.087571266E-02-8.062587262E-02-8.036288311E-02-8.023138834E-02 -7.944241980E-02-7.861400282E-02-7.819321957E-02-7.715441098E-02-7.657583405E-02 -7.594465920E-02-7.497159800E-02-7.453766529E-02-7.418262944E-02-7.380129464E-02 -7.299917661E-02-6.379454350E-02-6.288722966E-02-6.265053910E-02-6.228235378E-02 -6.190101898E-02-6.150653469E-02-6.096740618E-02-6.061237033E-02-6.024418502E-02 -5.995489654E-02-5.962615965E-02-5.931057222E-02-5.904758270E-02-5.870569634E-02 -5.835066049E-02-5.815341835E-02-5.792987727E-02-5.748279507E-02-5.721980557E-02 -4.539842675E-02-4.512228776E-02-4.460945819E-02-4.441221607E-02-4.424127287E-02 -4.391253598E-02-4.353120118E-02-4.336025799E-02-4.308411900E-02-4.282112948E-02 -4.246609363E-02-4.183491880E-02-4.129579027E-02-4.079611018E-02-4.046737329E-02 -3.998084269E-02-3.979675003E-02-3.941541523E-02-3.899463201E-02-3.848180243E-02 -3.815306554E-02-3.779802969E-02-3.753504017E-02-3.725890118E-02-3.677237057E-02 -3.640418525E-02-3.594395359E-02-3.569411355E-02-3.545742299E-02-3.511553663E-02 -2.622649092E-02-2.593720245E-02-2.567421293E-02-2.543752236E-02-2.517453285E-02 -2.483264648E-02-2.437241482E-02-2.403052846E-02-2.332045676E-02-2.303116829E-02 -2.212385444E-02-2.172937017E-02-2.125598904E-02-2.051961839E-02-2.029607731E-02 -1.933616556E-02-1.870499072E-02-1.792917165E-02-7.317544616E-03-7.212348808E-03 -6.620622393E-03-6.305034974E-03-5.949999125E-03-5.673860132E-03-5.331973759E-03 -5.003236860E-03-4.753396821E-03-4.477257827E-03-4.109072501E-03-3.767186129E-03 -3.070263907E-03-2.846722818E-03-2.215547977E-03-1.203038335E-03-8.480024852E-04 -5.061161129E-04 1.142045851E-02 1.164399960E-02 1.186754069E-02 1.215682916E-02 1.286690085E-02 1.314303984E-02 1.383996207E-02 1.420814739E-02 1.451058534E-02 1.474727590E-02 1.501026542E-02 1.545734760E-02 1.577293502E-02 1.606222349E-02 1.654875410E-02 1.660135200E-02 1.708788261E-02 1.810039225E-02 1.836338177E-02 1.874471657E-02 1.911290188E-02 1.963888092E-02 2.013856101E-02 2.038840106E-02 2.084863271E-02 2.113792118E-02 3.018476059E-02 3.046089957E-02 3.093428071E-02 3.100002808E-02 3.149970817E-02 3.181529559E-02 3.206513563E-02 3.393236120E-02 3.495802032E-02 3.551029832E-02 3.577328784E-02 3.669375114E-02 3.786405449E-02 3.820594087E-02 3.885026517E-02 3.908695576E-02 3.932364632E-02 4.020466119E-02 4.939614483E-02 4.996157229E-02 5.047440185E-02 5.089518509E-02 5.142116411E-02 5.186824629E-02 5.274926118E-02 5.298595174E-02 5.322264231E-02 5.359082764E-02 5.419570352E-02 5.451129095E-02 5.487947627E-02 5.515561527E-02 5.552380059E-02 5.573419220E-02 5.610237754E-02 5.641796494E-02 5.703599031E-02 5.714118613E-02 6.879162176E-02 6.900201337E-02 6.976468296E-02 7.056680100E-02 7.147411482E-02 7.168450644E-02 7.255237186E-02 7.265756765E-02 7.271016556E-02 7.377527311E-02 7.424865424E-02 7.465628799E-02 7.510337017E-02 7.547155549E-02 7.594493662E-02 7.624737458E-02 7.665500832E-02 7.691799784E-02 7.715468840E-02 7.737822950E-02 7.766751797E-02 8.720088798E-02 8.758222278E-02 8.784521230E-02 8.838434081E-02 8.883142298E-02 8.894976827E-02 8.940999991E-02 8.987023158E-02 9.036991166E-02 9.088274121E-02 9.155336449E-02 9.180320452E-02 9.205304458E-02 9.256587413E-02 9.357838377E-02 9.395971857E-02 9.463034185E-02 9.534041354E-02 9.603733575E-02 9.623457790E-02 9.640552109E-02 9.681315485E-02 1.060703859E-01 1.063202259E-01 1.070828955E-01 1.073327355E-01 1.077009209E-01 1.116063152E-01 1.520804019E-01 -2.995209777E-01-2.995209777E-01-2.995209777E-01-2.995209777E-01-2.995209777E-01 -2.995209777E-01 2.523056754E-01 2.523056754E-01 2.523056754E-01 2.523056754E-01 2.523056754E-01 2.677987441E-01 2.677987441E-01-3.655562498E-01-3.655562498E-01 -3.655562498E-01-3.655562498E-01 3.260246506E-01 3.260246506E-01 1.192927876E-01 3.454414554E-01 3.454414554E-01-3.896587919E-01-3.896587919E-01-3.896587919E-01 -3.896587919E-01 2.905239785E-01 2.905239785E-01 8.719931877E-02 8.719931877E-02 9.197351664E-02 9.197351664E-02 3.096207697E-01 3.096207697E-01-2.236067978E-01 -2.236067978E-01-2.236067978E-01-2.236067978E-01 8.944271911E-01-2.980909860E-01 -2.980909860E-01-2.980909860E-01-2.980909860E-01-2.980909860E-01 3.633287324E-01 3.633287324E-01 3.818987328E-01 3.818987328E-01-2.236067978E-01-2.236067978E-01 -2.236067978E-01-2.236067978E-01 8.944271911E-01-2.886751346E-01-2.886751346E-01 -2.886751346E-01-2.886751346E-01 5.773502693E-01 5.773502693E-01-2.041241453E-01 -2.041241453E-01-2.041241453E-01-2.041241453E-01-2.041241453E-01-2.041241453E-01 6.123724358E-01 6.123724358E-01-2.236067978E-01-2.236067978E-01-2.236067978E-01 -2.236067978E-01 8.944271911E-01-2.886751346E-01-2.886751346E-01-2.886751346E-01 -2.886751346E-01 5.773502693E-01 5.773502693E-01-1.825741858E-01-1.825741858E-01 -1.825741858E-01-1.825741858E-01-1.825741858E-01 9.128709290E-01-2.390457219E-01 -2.390457219E-01-2.390457219E-01-2.390457219E-01-2.390457219E-01 5.976143047E-01 5.976143047E-01-2.886751346E-01-2.886751346E-01-2.886751346E-01-2.886751346E-01 5.773502693E-01 5.773502693E-01-2.390457219E-01-2.390457219E-01-2.390457219E-01 -2.390457219E-01-2.390457219E-01 5.976143047E-01 5.976143047E-01-2.886751346E-01 -2.886751346E-01-2.886751346E-01-2.886751346E-01 5.773502693E-01 5.773502693E-01 -2.390457219E-01-2.390457219E-01-2.390457219E-01-2.390457219E-01-2.390457219E-01 5.976143047E-01 5.976143047E-01-2.886751346E-01-2.886751346E-01-2.886751346E-01 -2.886751346E-01 5.773502693E-01 5.773502693E-01-3.534856528E-01-3.534856528E-01 -3.534856528E-01-3.534856528E-01 3.436985907E-01 3.436985907E-01 3.632727148E-01 3.632727148E-01-2.390457219E-01-2.390457219E-01-2.390457219E-01-2.390457219E-01 -2.390457219E-01 5.976143045E-01 5.976143045E-01-2.886751346E-01-2.886751346E-01 -2.886751346E-01-2.886751346E-01 5.773502692E-01 5.773502692E-01-2.886751346E-01 -2.886751346E-01-2.886751346E-01-2.886751346E-01 5.773502692E-01 5.773502692E-01 -3.273268353E-01-3.273268353E-01-3.273268353E-01-3.273268353E-01 4.364357805E-01 4.364357805E-01 4.364357805E-01-2.041241453E-01-2.041241453E-01-2.041241453E-01 -2.041241453E-01-2.041241453E-01-2.041241453E-01 6.123724358E-01 6.123724358E-01 -2.886751346E-01-2.886751346E-01-2.886751346E-01-2.886751346E-01 5.773502692E-01 5.773502692E-01-2.886751346E-01-2.886751346E-01-2.886751346E-01-2.886751346E-01 5.773502692E-01 5.773502692E-01-2.886751346E-01-2.886751346E-01-2.886751346E-01 -2.886751346E-01 5.773502692E-01 5.773502692E-01-2.886751346E-01-2.886751346E-01 -2.886751346E-01-2.886751346E-01 5.773502692E-01 5.773502692E-01-3.924626113E-01 -3.924626113E-01-3.924626113E-01-3.924626113E-01 2.640663018E-01 2.640663018E-01 2.640663018E-01 6.781240693E-02 7.242057855E-02 7.242057855E-02 2.824989881E-01 2.824989881E-01-1.581138830E-01-1.581138830E-01-1.581138830E-01-1.581138830E-01 -1.581138830E-01-1.581138830E-01-1.581138830E-01-1.581138830E-01 6.324555320E-01 6.324555320E-01-3.534856528E-01-3.534856528E-01-3.534856528E-01-3.534856528E-01 3.436985907E-01 3.436985907E-01 3.632727148E-01 3.632727148E-01-4.144511569E-01 -4.144511569E-01-4.144511569E-01-4.144511569E-01 1.315245297E-01 1.315245297E-01 1.943670350E-01 1.943670350E-01 1.943670350E-01 1.943670350E-01 1.943670350E-01 2.114601965E-01 2.114601965E-01-2.896387157E-01-2.896387157E-01-2.896387157E-01 -2.896387157E-01-2.896387157E-01-2.896387157E-01 3.189002273E-01 1.369918067E-01 1.369918067E-01 1.369918067E-01 3.359855486E-01 3.359855486E-01 3.359855486E-01 -4.568704569E-01-4.568704569E-01-4.568704569E-01 3.227126392E-01 8.967458728E-02 8.967458728E-02 8.967458728E-02 8.967458728E-02 3.446001910E-01 3.446001910E-01 -2.831834822E-01-2.831834822E-01-2.831834822E-01-2.831834822E-01-2.831834822E-01 -2.831834822E-01-2.831834822E-01 2.650498803E-01 2.650498803E-01 1.011683962E-01 1.011683962E-01 1.011683962E-01 1.011683962E-01 1.011683962E-01 1.050164421E-01 2.804420639E-01 2.804420639E-01 2.804420639E-01-2.886751346E-01-2.886751346E-01 -2.886751346E-01-2.886751346E-01 5.773502692E-01 5.773502692E-01-2.886751346E-01 -2.886751346E-01-2.886751346E-01-2.886751346E-01 5.773502692E-01 5.773502692E-01 -2.886751346E-01-2.886751346E-01-2.886751346E-01-2.886751346E-01 5.773502692E-01 5.773502692E-01-3.533075915E-01-3.533075915E-01-3.533075915E-01-3.533075915E-01 3.346664655E-01 3.346664655E-01 3.719487175E-01 3.719487175E-01-3.985436537E-01 -3.985436537E-01-3.985436537E-01-3.985436537E-01 2.181901885E-01 2.181901885E-01 2.181901885E-01 2.181901885E-01 2.181901885E-01 2.516118362E-01 2.516118362E-01 -2.897237840E-01-2.897237840E-01-2.897237840E-01-2.897237840E-01-2.897237840E-01 -2.897237840E-01-2.897237840E-01 1.975257060E-01 1.975257060E-01 1.975257060E-01 1.975257060E-01 1.975257060E-01 1.975257060E-01 1.975257060E-01 1.975257060E-01 2.239304202E-01 2.239304202E-01-3.869938671E-01-3.869938671E-01-3.869938671E-01 -3.869938671E-01 2.465516791E-01 2.465516791E-01 2.465516791E-01 2.465516791E-01 2.808843760E-01 2.808843760E-01-2.041241453E-01-2.041241453E-01-2.041241453E-01 -2.041241453E-01-2.041241453E-01-2.041241453E-01 6.123724358E-01 6.123724358E-01 -2.390457219E-01-2.390457219E-01-2.390457219E-01-2.390457219E-01-2.390457219E-01 5.976143045E-01 5.976143045E-01-5.000000000E-01-5.000000000E-01 5.000000000E-01 5.000000000E-01-2.886751346E-01-2.886751346E-01-2.886751346E-01-2.886751346E-01 5.773502692E-01 5.773502692E-01-5.622386694E-01-5.622386694E-01 1.011292901E-01 1.011292901E-01 1.011292901E-01 4.105447342E-01 4.105447342E-01-8.164965809E-01 4.082482904E-01 4.082482904E-01-3.651483716E-01-3.651483716E-01-3.651483716E-01 5.477225575E-01 5.477225575E-01-5.000000000E-01-5.000000000E-01 5.000000000E-01 5.000000000E-01-8.164965809E-01 4.082482904E-01 4.082482904E-01-4.082482905E-01 -4.082482905E-01-4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01 -2.886751346E-01-2.886751346E-01-2.886751346E-01-2.886751346E-01 5.773502692E-01 5.773502692E-01-4.316131859E-01-4.316131859E-01-4.316131859E-01-4.316131859E-01 9.877653958E-02 9.877653958E-02 1.451734308E-01 1.451734308E-01 1.451734308E-01 1.451734308E-01 1.451734308E-01 1.451734308E-01 1.451734308E-01 1.598250807E-01 1.764302839E-01 1.764302839E-01-4.342692722E-01-4.342692722E-01-4.342692722E-01 -3.845158284E-01 1.622669423E-01 1.622669423E-01 1.622669423E-01 1.622669423E-01 1.622669423E-01 1.622669423E-01 1.622669423E-01 1.622669423E-01 1.945940530E-01 1.945940530E-01-4.155859743E-01-4.155859743E-01-4.155859743E-01-4.155859743E-01 1.413954939E-01 1.901185505E-01 1.901185505E-01 1.901185505E-01 1.901185505E-01 1.901185505E-01 1.901185505E-01 1.901185505E-01 1.901185505E-01-5.000000000E-01 -5.000000000E-01-5.000000000E-01 1.666666666E-01 1.666666666E-01 1.666666666E-01 1.666666666E-01 1.666666666E-01 1.666666666E-01 1.666666666E-01 1.666666666E-01 1.666666666E-01-3.415328781E-01-3.415328781E-01-3.415328781E-01-3.415328781E-01 -3.415328781E-01 2.418350800E-01 2.418350800E-01 2.418350800E-01 2.418350800E-01 2.418350800E-01 2.418350800E-01 2.566539106E-01-3.715669341E-01-3.715669341E-01 -3.715669341E-01-3.715669341E-01-3.715669341E-01-3.715669341E-01 7.609167506E-02 7.609167506E-02 7.609167506E-02 7.609167506E-02 7.609167506E-02 7.609167506E-02 7.609167506E-02 7.609167506E-02 7.609167506E-02 7.609167506E-02 7.609167506E-02 7.609167506E-02 7.609167506E-02 7.609167506E-02 7.609167506E-02 7.609167506E-02 7.609167506E-02 7.609167506E-02 7.609167506E-02 7.609167506E-02 7.609167506E-02 7.609167506E-02 7.609167506E-02 7.609167506E-02 7.609167506E-02 7.609167506E-02 7.609167506E-02 8.746318930E-02 8.746318930E-02-4.325136617E-01-4.325136617E-01 -4.325136617E-01-4.325136617E-01 1.002259276E-01 1.468283778E-01 1.468283778E-01 1.468283778E-01 1.468283778E-01 1.468283778E-01 1.468283778E-01 1.468283778E-01 1.468283778E-01 1.468283778E-01 1.468283778E-01 1.615449411E-01-5.192221753E-01 -5.192221753E-01-5.192221753E-01 7.577911195E-02 7.577911195E-02 1.278280274E-01 1.278280274E-01 1.278280274E-01 1.278280274E-01 1.278280274E-01 1.278280274E-01 1.278280274E-01 1.278280274E-01 1.278280274E-01 1.278280274E-01 1.278280274E-01 -4.225771273E-01-4.225771273E-01-4.225771273E-01-4.225771273E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01 1.690308509E-01-5.063696837E-01 -5.063696837E-01-5.063696837E-01 1.519109051E-01 1.519109051E-01 1.519109051E-01 1.519109051E-01 1.519109051E-01 1.519109051E-01 1.519109051E-01 1.519109051E-01 1.519109051E-01 1.519109051E-01-4.082482905E-01-4.082482905E-01-4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01-4.082482905E-01-4.082482905E-01 -4.082482905E-01 4.082482905E-01 4.082482905E-01 4.082482905E-01-3.273268353E-01 -3.273268353E-01-3.273268353E-01-3.273268353E-01 4.364357805E-01 4.364357805E-01 4.364357805E-01-3.651483716E-01-3.651483716E-01-3.651483716E-01 5.477225575E-01 5.477225575E-01-2.738612787E-01-2.738612787E-01-2.738612787E-01-2.738612787E-01 -2.738612787E-01 4.564354646E-01 4.564354646E-01 4.564354646E-01-2.886751346E-01 -2.886751346E-01-2.886751346E-01 8.660254038E-01-4.363204829E-01-4.363204829E-01 -4.363204829E-01 3.157480785E-01 3.157480785E-01 3.387326457E-01 3.387326457E-01 -2.278805966E-01-2.278805966E-01-2.278805966E-01-2.278805966E-01-2.278805966E-01 -2.278805966E-01-2.278805966E-01 3.893590672E-01 3.893590672E-01 4.082230210E-01 4.082230210E-01-4.052035054E-01-4.052035054E-01-4.052035054E-01 3.056688687E-01 4.549708235E-01 4.549708235E-01-2.390457219E-01-2.390457219E-01-2.390457219E-01 -2.390457219E-01-2.390457219E-01 5.976143048E-01 5.976143048E-01-3.259894217E-01 -3.259894217E-01-3.259894217E-01-3.259894217E-01 3.609186343E-01 4.715195264E-01 4.715195264E-01-2.886751346E-01-2.886751346E-01-2.886751346E-01-2.886751346E-01 5.773502693E-01 5.773502693E-01-4.369020882E-01-4.369020882E-01-4.369020882E-01 -4.369020882E-01 9.751411457E-02 9.751411457E-02 9.751411457E-02 9.751411457E-02 9.751411457E-02 1.200752207E-01 1.200752207E-01 1.200752207E-01 1.200752207E-01 1.200752207E-01 1.200752207E-01 1.200752207E-01 2.097556177E-01 2.097556177E-01 -1.336306210E-01-1.336306210E-01-1.336306210E-01-1.336306210E-01-1.336306210E-01 -1.336306210E-01-1.336306210E-01 9.354143467E-01-2.886751346E-01-2.886751346E-01 -2.886751346E-01-2.886751346E-01 5.773502691E-01 5.773502691E-01-3.542122690E-01 -3.542122690E-01-3.542122690E-01-3.542122690E-01-3.542122690E-01-3.542122690E-01 8.999559330E-02 8.999559330E-02 8.999559330E-02 8.999559330E-02 8.999559330E-02 8.999559330E-02 8.999559330E-02 8.999559330E-02 8.999559330E-02 8.999559330E-02 8.999559330E-02 8.999559330E-02 8.999559330E-02 8.999559330E-02 8.999559330E-02 8.999559330E-02 1.673510521E-01 1.673510521E-01 1.673510521E-01 1.832909648E-01 -2.069895980E-01-2.069895980E-01-2.069895980E-01-2.069895980E-01-2.069895980E-01 -2.069895980E-01-2.069895980E-01 4.760177513E-01 4.760177513E-01 4.968916838E-01 -3.921872059E-01-3.921872059E-01-3.921872059E-01-3.921872059E-01 3.208902411E-01 6.864515768E-02 6.864515768E-02 6.864515768E-02 6.864515768E-02 6.864515768E-02 6.864515768E-02 6.864515768E-02 6.864515768E-02 3.493486607E-01 3.493486607E-01 -4.113272660E-01-4.113272660E-01-4.113272660E-01-4.113272660E-01-1.385347256E-02 -1.385347256E-02-1.385347256E-02-1.385347256E-02-1.385347256E-02-1.385347256E-02 -1.385347256E-02-1.385347256E-02-1.385347256E-02-1.385347256E-02-1.385347256E-02 -1.385347256E-02-1.385347256E-02-1.385347256E-02-1.385347256E-02-1.385347256E-02 -1.385347256E-02-1.385347256E-02-1.385347256E-02-1.385347256E-02-1.385347256E-02 -1.385347256E-02-1.385347256E-02-1.385347256E-02-1.385347256E-02 1.395574652E-01 1.395574652E-01 1.395574652E-01 1.395574652E-01 1.395574652E-01 1.395574652E-01 1.395574652E-01 1.395574652E-01 1.395574652E-01 1.395574652E-01 1.395574652E-01 2.282568802E-01 2.282568802E-01-4.563066691E-01-4.563066691E-01-4.563066691E-01 2.654049461E-01 2.654049461E-01 2.719510830E-01 2.719510830E-01 2.942079492E-01 -4.364254028E-01-4.364254028E-01-4.364254028E-01 3.238709959E-01 3.238709959E-01 3.307671082E-01 3.307671082E-01-3.535480103E-01-3.535480103E-01-3.535480103E-01 -3.535480103E-01 3.487703345E-01 3.551405689E-01 3.551405689E-01 3.551405689E-01 -2.886751346E-01-2.886751346E-01-2.886751346E-01 8.660254038E-01-3.717136907E-01 -3.717136907E-01-3.717136907E-01-3.717136907E-01 2.579946495E-01 2.579946495E-01 3.236218216E-01 3.236218216E-01 3.236218216E-01-4.944512989E-01-4.944512989E-01 -4.944512989E-01-4.659297951E-02-4.659297951E-02-4.659297951E-02-4.659297951E-02 1.388360790E-01 1.388360790E-01 1.388360790E-01 1.388360790E-01 1.388360790E-01 1.388360790E-01 1.388360790E-01 1.388360790E-01 1.388360790E-01 1.388360790E-01 1.388360790E-01-6.230730650E-02 2.048362524E-01-3.577167122E-01-3.577167122E-01 -3.577167122E-01-3.577167122E-01-3.577167122E-01 1.811045589E-01 1.811045589E-01 1.811045589E-01 1.811045589E-01 1.811045589E-01 1.811045589E-01 1.811045589E-01 9.965296649E-03 2.554431761E-01 2.554431761E-01-3.651483717E-01-3.651483717E-01 -3.651483717E-01 5.477225576E-01 5.477225576E-01-2.981423970E-01-2.981423970E-01 -2.981423970E-01-2.981423970E-01-2.981423970E-01 3.726779963E-01 3.726779963E-01 3.726779963E-01 3.726779963E-01-7.071067811E-01 7.071067811E-01-5.000000000E-01 -5.000000000E-01 5.000000000E-01 5.000000000E-01-3.651483717E-01-3.651483717E-01 -3.651483717E-01 5.477225576E-01 5.477225576E-01-1.846372365E-01-1.846372365E-01 -1.846372365E-01-1.846372365E-01-1.846372365E-01-1.846372365E-01-1.846372365E-01 -1.846372365E-01 4.923659639E-01 4.923659639E-01 4.923659639E-01-3.127419532E-01 -3.127419532E-01-3.127419532E-01-3.127419532E-01-3.127419532E-01-3.127419532E-01 2.671193506E-02 2.671193506E-02 2.671193506E-02 2.671193506E-02 2.671193506E-02 2.671193506E-02 2.671193506E-02 2.365561569E-01 2.365561569E-01 2.365561569E-01 2.365561569E-01 2.365561569E-01 2.533436946E-01 2.533436946E-01-3.179619147E-01 -3.179619147E-01-3.179619147E-01-3.179619147E-01-3.179619147E-01 1.397967096E-01 1.397967096E-01 1.397967096E-01 1.397967096E-01 1.397967096E-01 4.454130130E-01 4.454130130E-01-2.065248880E-01-2.065248880E-01-2.065248880E-01-2.065248880E-01 -2.065248880E-01-2.065248880E-01-2.065248880E-01-2.065248880E-01-2.065248880E-01 1.269840233E-01 3.331531684E-01 3.496467000E-01 3.496467000E-01 3.496467000E-01 3.496467000E-01-3.608060397E-01-3.608060397E-01-3.608060397E-01-3.608060397E-01 6.528182571E-02 3.286815972E-01 3.497535789E-01 3.497535789E-01 3.497535789E-01 -1.825741859E-01-1.825741859E-01-1.825741859E-01-1.825741859E-01-1.825741859E-01 9.128709289E-01-3.668083630E-01-3.668083630E-01-3.668083630E-01-3.668083630E-01 -3.668083630E-01 1.803389307E-01 9.845294107E-02 9.845294107E-02-2.561674003E-02 1.853017178E-01 1.853017178E-01 1.853017178E-01 1.853017178E-01 1.853017178E-01 1.853017178E-01 1.853017178E-01 1.853017178E-01-5.073861533E-01-5.073861533E-01 -5.073861533E-01 1.753557923E-01 7.317672550E-02 7.317672550E-02 7.317672550E-02 7.317672550E-02 7.317672550E-02 7.317672550E-02 1.815484629E-01 1.815484629E-01 1.815484629E-01 1.815484629E-01 1.815484629E-01-2.967227471E-01-2.967227471E-01 -2.967227471E-01-2.967227471E-01-2.967227471E-01 4.553159394E-01 3.427659319E-01 3.427659319E-01 3.427659319E-01-4.209001754E-01-4.209001754E-01-4.209001754E-01 -4.209001754E-01 1.729384177E-01 8.406461453E-02 1.783247086E-01 1.783247086E-01 1.783247086E-01 1.783247086E-01 1.783247086E-01 1.783247086E-01 1.783247086E-01 1.783247086E-01-6.725927090E-01-6.725927090E-01 7.079923251E-02 7.079923251E-02 7.079923251E-02 7.079923251E-02 7.079923251E-02 7.079923251E-02 7.079923251E-02 7.079923251E-02 7.079923251E-02 7.079923251E-02 7.079923251E-02 7.079923251E-02 7.079923251E-02 7.079923251E-02 7.079923251E-02 7.079923251E-02 7.079923251E-02 7.079923251E-02 7.079923251E-02-3.651483717E-01-3.651483717E-01-3.651483717E-01 5.477225575E-01 5.477225575E-01-4.364254028E-01-4.364254028E-01-4.364254028E-01 3.238709959E-01 3.238709959E-01 3.307671082E-01 3.307671082E-01-2.885923003E-01 -2.885923003E-01-2.885923003E-01-2.885923003E-01 5.602463244E-01 5.941228768E-01 -3.534942317E-01-3.534942317E-01-3.534942317E-01-3.534942317E-01 3.376522230E-01 3.587749012E-01 3.587749012E-01 3.587749012E-01-4.081669288E-01-4.081669288E-01 -4.081669288E-01 3.918666195E-01 4.163170830E-01 4.163170830E-01-4.159531667E-01 -4.159531667E-01-4.159531667E-01-4.159531667E-01 1.780436213E-01 1.834313472E-01 1.834313472E-01 1.834313472E-01 1.834313472E-01 1.834313472E-01 1.834313472E-01 1.834313472E-01 2.017496155E-01-2.886751346E-01-2.886751346E-01-2.886751346E-01 8.660254035E-01-3.726697781E-01-3.726697781E-01-3.726697781E-01-3.726697781E-01 2.957108587E-01 2.957108587E-01 2.957108587E-01 3.017732680E-01 3.017732680E-01 -4.081669288E-01-4.081669288E-01-4.081669288E-01 3.918666195E-01 4.163170830E-01 4.163170830E-01-3.161350749E-01-3.161350749E-01-3.161350749E-01-3.161350749E-01 -3.161350749E-01 3.002570377E-01 3.058478959E-01 3.248568136E-01 3.248568136E-01 3.248568136E-01-4.081112546E-01-4.081112546E-01-4.081112546E-01 3.869574982E-01 4.186881332E-01 4.186881332E-01-1.825741859E-01-1.825741859E-01-1.825741859E-01 -1.825741859E-01-1.825741859E-01 9.128709290E-01-4.082409165E-01-4.082409165E-01 -4.082409165E-01 4.033334376E-01 4.106946558E-01 4.106946558E-01-4.999898091E-01 -4.999898091E-01 4.954752284E-01 5.045043898E-01-3.534441153E-01-3.534441153E-01 -3.534441153E-01-3.534441153E-01 3.380769798E-01 3.443492800E-01 3.656751006E-01 3.656751006E-01-4.362784182E-01-4.362784182E-01-4.362784182E-01 3.106112653E-01 3.173857747E-01 3.404191074E-01 3.404191074E-01-2.833687390E-01-2.833687390E-01 -2.833687390E-01-2.833687390E-01-2.833687390E-01-2.833687390E-01-2.833687390E-01 2.106397165E-01 2.106397165E-01 2.106397165E-01 2.151205187E-01 2.151205187E-01 2.303552466E-01 2.303552466E-01 2.303552466E-01 2.303552466E-01-4.362410190E-01 -4.362410190E-01-4.362410190E-01 3.122449892E-01 3.122449892E-01 3.421165396E-01 3.421165396E-01-4.362410190E-01-4.362410190E-01-4.362410190E-01 3.122449892E-01 3.122449892E-01 3.421165396E-01 3.421165396E-01-2.417422914E-01-2.417422914E-01 -2.417422914E-01-2.417422914E-01-2.417422914E-01-2.417422914E-01-2.417422914E-01 -2.417422914E-01-2.417422914E-01 2.095451741E-01 2.095451741E-01 2.095451741E-01 2.095451741E-01 2.136384842E-01 2.136384842E-01 2.275557394E-01 2.275557394E-01 2.275557394E-01 2.275557394E-01-4.081669288E-01-4.081669288E-01-4.081669288E-01 3.918666195E-01 4.163170830E-01 4.163170830E-01-3.272697530E-01-3.272697530E-01 -3.272697530E-01-3.272697530E-01 4.211117480E-01 4.439836320E-01 4.439836320E-01 -2.278707522E-01-2.278707522E-01-2.278707522E-01-2.278707522E-01-2.278707522E-01 -2.278707522E-01-2.278707522E-01 3.805622174E-01 4.048443492E-01 4.048443492E-01 4.048443492E-01-2.980397448E-01-2.980397448E-01-2.980397448E-01-2.980397448E-01 -2.980397448E-01 3.594301015E-01 3.594301015E-01 3.856692606E-01 3.856692606E-01 -2.581383344E-01-2.581383344E-01-2.581383344E-01-2.581383344E-01-2.581383344E-01 -2.581383344E-01 3.684524046E-01 3.934592006E-01 3.934592006E-01 3.934592006E-01 -5.474927706E-01-5.474927706E-01 3.413465457E-01 3.768194978E-01 3.768194978E-01 -3.651483717E-01-3.651483717E-01-3.651483717E-01 5.477225576E-01 5.477225576E-01 -2.886751346E-01-2.886751346E-01-2.886751346E-01-2.886751346E-01 5.773502693E-01 5.773502693E-01-4.081112546E-01-4.081112546E-01-4.081112546E-01 3.869574982E-01 4.186881332E-01 4.186881332E-01-4.362925005E-01-4.362925005E-01-4.362925005E-01 3.050301268E-01 3.346157915E-01 3.346157915E-01 3.346157915E-01-4.362925005E-01 -4.362925005E-01-4.362925005E-01 3.050301268E-01 3.346157915E-01 3.346157915E-01 3.346157915E-01-4.081112546E-01-4.081112546E-01-4.081112546E-01 3.869574982E-01 4.186881332E-01 4.186881332E-01-3.725626365E-01-3.725626365E-01-3.725626365E-01 -3.725626365E-01 2.851640358E-01 2.911298104E-01 2.911298104E-01 3.114134448E-01 3.114134448E-01-4.563039674E-01-4.563039674E-01-4.563039674E-01 2.606357996E-01 2.606357996E-01 2.825467677E-01 2.825467677E-01 2.825467677E-01-3.725873993E-01 -3.725873993E-01-3.725873993E-01-3.725873993E-01 2.859934702E-01 2.859934702E-01 3.061208855E-01 3.061208855E-01 3.061208855E-01-2.886751346E-01-2.886751346E-01 -2.886751346E-01 8.660254035E-01-2.041241452E-01-2.041241452E-01-2.041241452E-01 -2.041241452E-01-2.041241452E-01-2.041241452E-01 6.123724357E-01 6.123724357E-01 -3.651483717E-01-3.651483717E-01-3.651483717E-01 5.477225576E-01 5.477225576E-01 -3.651483717E-01-3.651483717E-01-3.651483717E-01 5.477225576E-01 5.477225576E-01 -5.000000002E-01-5.000000002E-01 5.000000002E-01 5.000000002E-01-5.000000002E-01 -5.000000002E-01 5.000000002E-01 5.000000002E-01 1.502319086E-02 1.502319086E-02 1.502319086E-02 1.502319086E-02 1.350855775E-01 1.350855775E-01 1.350855775E-01 1.831105322E-01 1.831105322E-01 1.831105322E-01 1.831105322E-01 1.831105322E-01 1.831105322E-01 1.831105322E-01 1.831105322E-01 1.831105322E-01-3.827835166E-01 -3.827835166E-01-3.827835166E-01-3.827835166E-01-9.703503652E-02-9.703503652E-02 -9.703503652E-02-9.703503652E-02-9.703503652E-02-9.703503652E-02-1.083455434E-02 -1.083455434E-02-1.083455434E-02 1.196149283E-01 1.196149283E-01 1.196149283E-01 1.196149283E-01 1.717947215E-01 1.717947215E-01 1.717947215E-01 1.717947215E-01 1.717947215E-01 1.717947215E-01 1.717947215E-01 1.717947215E-01 1.717947215E-01 -4.430571734E-01-4.430571734E-01-4.430571734E-01-1.325874047E-01-1.325874047E-01 -1.325874047E-01-1.325874047E-01-1.325874047E-01-3.162277661E-01-3.162277661E-01 -3.162277661E-01-3.162277661E-01-3.162277661E-01-3.162277661E-01 2.108185105E-01 2.108185105E-01 2.108185105E-01 2.108185105E-01 2.108185105E-01 2.108185105E-01 2.108185105E-01 2.108185105E-01 2.108185105E-01 2.982233263E-02-1.002823670E-01 2.980153584E-02-9.976244729E-02 5.756524651E-02 3.013428443E-02 5.729488828E-02 2.998870692E-02 3.013428443E-02-9.608141599E-02 3.055022017E-02-9.581105776E-02 3.876495105E-02 1.767466936E-03 3.830742173E-02 1.621889427E-03 1.788263723E-03 -6.798495673E-02 2.162605890E-03-6.773539528E-02 9.077771538E-02-8.955122487E-02 9.007062462E-02-8.980078631E-02 8.984185997E-02 7.505534440E-02 6.191177500E-02 7.480578295E-02 6.182858785E-02 6.184938464E-02 8.888520776E-02 6.195336857E-02 8.903078527E-02 1.996231593E-03 6.449057659E-02 1.788263723E-03 6.430340551E-02 1.684279788E-03 1.725873362E-03-1.680406387E-02 1.933841233E-03-1.649211207E-02 2.058621955E-03 6.765168822E-02 4.398494459E-02 6.754770428E-02 4.408892852E-02 2.435277764E-02 4.448406748E-02 2.435277764E-02 4.452566105E-02 2.435277764E-02 2.439437121E-02 2.352090616E-02 2.429038728E-02 2.350010937E-02 2.356249973E-02 2.302178327E-02 2.352090616E-02 2.298018970E-02 2.352090616E-02-4.325991660E-03 -5.088999780E-02-4.284398086E-03-5.095238816E-02-4.263601301E-03 6.696539424E-02 2.664042421E-02 6.694459746E-02 2.670281457E-02 2.676520493E-02-4.346788447E-03 2.682759530E-02-4.450772382E-03 2.680679851E-02 5.390501200E-02 2.822098003E-02 5.394660557E-02 2.824177681E-02-1.907091366E-02-4.993828494E-04-1.900852330E-02 -3.122117664E-04-1.875896185E-02-3.930618743E-02 7.362036609E-02-3.943096815E-02 7.357877252E-02-3.943096815E-02-2.364620680E-02-3.930618743E-02-2.350062929E-02 9.154719650E-02 6.390826655E-02 9.144321257E-02 6.397065691E-02 9.144321257E-02 9.154719650E-02 9.335651697E-02 9.152639972E-02 9.346050091E-02 4.756199195E-02 4.467123856E-02 4.745800802E-02 4.456725462E-02-1.514032091E-02-1.846780683E-02 -1.503633698E-02-1.853019719E-02 8.318454846E-03-1.859258756E-02 8.214470911E-03 8.256064487E-03-5.282643863E-03 8.214470911E-03-5.220253502E-03-5.241050289E-03 1.101969752E-03-5.178659928E-03 1.247547260E-03 1.289140835E-03-5.553002094E-03 1.413921557E-03-5.511408522E-03 3.730917595E-02 1.684279788E-03 3.726758238E-02 1.850654085E-03 1.954638020E-03-7.233148522E-02 2.204199464E-03-7.208192377E-02 -4.741693437E-02-7.563817435E-02-4.735454400E-02-7.559658078E-02-7.534701933E-02 -1.586820846E-02-7.526383219E-02-1.570183416E-02 2.953117761E-02-1.597219239E-02 2.928161616E-02-1.611776990E-02 2.930241295E-02 2.934400653E-02 7.611598053E-02 2.938560010E-02 7.634474519E-02 2.942719367E-02 9.755746795E-02-1.132803589E-01 9.745348402E-02-1.132387653E-01 4.566948434E-02-1.892533615E-02 4.577346827E-02 -1.884214900E-02-1.867577470E-02-9.379376942E-02-1.825983896E-02-9.358580155E-02 -1.830377218E-03-4.186419223E-02-1.892767579E-03-4.196817617E-02-9.344022404E-02 -1.853019719E-02-9.356500476E-02-1.844701005E-02-1.846780683E-02 1.609645319E-02 -1.846780683E-02 1.607565641E-02 1.611724998E-02-4.899749018E-02 1.628362428E-02 -4.901828697E-02-4.770808938E-02-4.885191267E-02-4.770808938E-02-4.766649581E-02 -3.706013443E-02-4.762490224E-02-3.701854086E-02-4.758330866E-02 2.894886757E-02 -4.047080750E-02 2.903205472E-02-4.038762035E-02-4.030443320E-02-6.509420333E-02 -4.022124606E-02-6.501101618E-02-4.134427256E-02-5.157863141E-03-4.142745970E-02 -5.074675993E-03-3.602029508E-02 4.460884820E-02-3.606188865E-02 4.460884820E-02 -5.001653274E-02-1.455801087E-02-5.005812632E-02-1.445402694E-02-1.435004300E-02 3.464718722E-02-1.437083979E-02 3.466798400E-02-6.407516077E-02-4.419343238E-02 -6.413755113E-02-4.406865166E-02-4.369430949E-02-6.336807001E-02-4.359032555E-02 -6.322249250E-02-6.326408607E-02-6.330567965E-02-3.090428547E-02-6.332647644E-02 -3.088348868E-02-3.086269190E-02-2.399975218E-02-3.084189511E-02-2.391656503E-02 -2.406214254E-02-2.410373612E-02-2.410373612E-02-2.408293933E-02-2.416612648E-02 -2.050589196E-02-2.052668875E-02-5.750337607E-02-3.123703406E-02-1.430844943E-02 -1.439163658E-02-8.464552277E-03-3.244324771E-02 2.512225876E-02 2.501827483E-02 -1.801027752E-02 2.994477371E-03-6.301686427E-03 3.585340086E-02 3.581180729E-02 2.890727400E-02 3.267149245E-02 3.262989887E-02 2.890727400E-02 2.896966436E-02 3.589499444E-02-6.239296068E-03-7.927761208E-02-7.913203457E-02-1.759434178E-02 2.533022663E-02-3.217288948E-02-8.214990833E-03-1.426685586E-02-1.422526228E-02 -3.090428547E-02-5.719142426E-02-2.013154980E-02-2.379178431E-02-3.880706454E-02 -2.366700359E-02-3.876547097E-02-3.861989346E-02-2.013154980E-02-3.864069024E-02 -2.013154980E-02 4.677171405E-02 4.629338795E-02-1.514032091E-02 9.772384225E-02 -7.470231894E-02 9.786941976E-02 9.578974105E-02-3.015794080E-03-2.953403717E-03 9.626806716E-02 3.502152938E-02 2.813779288E-02-1.451641730E-02 4.695888513E-02 4.716685300E-02-4.637943465E-03 2.641165956E-02-4.762724187E-03 2.632847241E-02 2.634926919E-02-4.845911335E-03 2.626608205E-02-4.887504912E-03-6.946152861E-02 -6.979427720E-02-6.946152861E-02-6.966949648E-02-6.887921857E-02-6.966949648E-02 -6.900399929E-02 7.476418938E-02 6.555121273E-02 7.482657974E-02 6.555121273E-02 7.478498616E-02 6.563439988E-02-7.489442926E-04 6.580077417E-02-7.073507196E-04 -8.672286183E-02-4.369924873E-04-8.668126826E-02 7.921470180E-02 1.621889427E-03 7.913151465E-02 1.580295853E-03-7.565897114E-02 2.678600172E-02-7.570056471E-02 2.693157923E-02-7.557578399E-02 7.536729620E-02-8.684764256E-02 7.538809299E-02 -8.693082970E-02-7.206112698E-02-8.682684577E-02-7.216511092E-02-9.941124155E-03 -8.027819750E-03-1.002431130E-02-7.944632601E-03-3.984690389E-02-7.882242240E-03 -3.988849746E-02 7.216459100E-02-3.327745885E-03 7.189423277E-02-3.494120179E-03 -3.410933031E-03 7.203981028E-02-3.431729820E-03 6.403304727E-02-1.310457543E-03 6.409543764E-02-1.310457543E-03-1.021332810E-01-1.595139560E-02-1.020916874E-01 -1.599298918E-02-1.121365356E-01 1.189550222E-02-1.122613163E-01 1.185390864E-02 -9.499998307E-02 1.019016568E-02-9.491679592E-02 1.027335283E-02 6.276444327E-02 1.023175925E-02 6.259806897E-02 6.239010110E-02 7.988019898E-02 6.243169467E-02 7.998418292E-02 9.907563340E-02 7.994258935E-02 9.907563340E-02 3.857777996E-02 4.067825545E-02 2.087971421E-02 2.094210457E-02 3.853618639E-02 4.071984903E-02 3.843220245E-02 4.055347473E-02 3.834901531E-02 3.763958491E-03 3.834901531E-02 3.826348852E-03 3.930332787E-03-2.433250077E-02 4.013519935E-03-2.410373612E-02 3.876495105E-02-2.414532969E-02 3.878574783E-02 2.790902822E-02 3.913929321E-02 2.784663786E-02 3.911849642E-02-6.679953987E-02-4.558681711E-02-4.558681711E-02 -5.057804599E-02-8.339537591E-02-4.558681711E-02 3.896616667E-02 3.152128391E-02 3.914011253E-02 3.169522977E-02 2.216299668E-02 2.216299668E-02 1.230026648E-02 1.261336903E-02 2.256307217E-02 3.200833231E-02 1.257857986E-02 1.607489162E-02 -3.755261670E-02 1.624883748E-02 3.148649474E-02-7.851686649E-02 3.173001892E-02 -7.815158019E-02-8.294923224E-03-6.835842833E-02-8.799366215E-03-6.884547673E-02 9.339382594E-02-7.564675982E-02 9.421137149E-02-2.669839510E-02-4.536278577E-02 -2.675057886E-02 3.063416003E-02-2.685494637E-02 3.092986799E-02 3.091247340E-02 7.314652797E-02 3.077331670E-02 7.295518751E-02-6.677552101E-02 2.663665893E-03 -6.677552101E-02 2.715849651E-03-1.911110199E-03-1.215326762E-03 3.429027673E-03 -1.319694278E-03 2.420141690E-03-1.389272621E-03 2.333168761E-03-2.111473302E-02 2.367957933E-03 2.750638822E-03-2.059289545E-02 3.307265571E-03 2.681060479E-03 3.811708562E-03 8.382680369E-02 3.637762703E-03 8.391377662E-02 8.337454448E-02 2.378069318E-02 8.347891198E-02 2.381548234E-02-8.505723079E-02-2.228017028E-02 -4.626730424E-02 8.659254287E-02 8.605331071E-02-4.675435264E-02 6.043108566E-02 -4.671956347E-02 6.057024236E-02-1.026051143E-02-4.868189802E-03-1.019093309E-02 -4.833400630E-03 7.525127286E-02-3.149930081E-02 1.078693751E-02-3.136014412E-02 1.052601872E-02 3.738325934E-02 1.071735916E-02 3.747023227E-02 7.413801936E-02 3.724410267E-02 7.439893815E-02 9.117057262E-03 6.029192899E-02 9.151846434E-03 6.013537772E-02 4.161014373E-02 6.003101020E-02 4.157535456E-02-1.888822603E-02 4.161014373E-02-1.878385851E-02 7.876497921E-02-1.116502990E-02 7.843448206E-02 -1.097368945E-02-7.455090091E-02 7.959991934E-02-6.042649716E-02 6.507544011E-02 -6.035691881E-02 1.844055531E-02-5.971331914E-02 7.601663464E-02 3.950865250E-03 7.561655917E-02 3.724735633E-03-1.563543847E-02 2.402421739E-02-1.560064930E-02 -9.149322758E-02-4.626730424E-02-4.611075296E-02 7.126791269E-02-7.496837097E-02 1.306888193E-03-7.496837097E-02 7.465985694E-02-4.277099247E-02 7.462506777E-02 -3.859303820E-03 7.265947956E-02 2.806076250E-04-1.511034723E-03-7.359419868E-02 7.165059356E-02-7.331588531E-02-1.179123499E-02-7.317672862E-02 6.905880028E-02 -7.635993784E-02 6.918056238E-02-2.048852793E-02 6.773681174E-02-2.073205213E-02 5.187294941E-02 2.586804349E-02 5.180337107E-02 6.965021619E-02 6.582340729E-02 -8.114344896E-02-8.194359992E-02-7.794284516E-02-7.702093211E-02-7.776889930E-02 -4.090977178E-02-4.007483165E-02 5.968637214E-03-3.990088580E-02 6.299134346E-03 -7.736882382E-02 6.490474791E-03-8.260134052E-03-8.294923224E-03-7.749058593E-02 6.229556002E-03 7.586008337E-02 3.081135955E-03 3.197354314E-02-6.616671050E-02 3.207791064E-02 8.104366995E-02-1.615402238E-03 8.111324831E-02-1.528429309E-03 -6.602755382E-02-1.354483450E-03-6.557529458E-02-2.648966007E-02-6.494908949E-02 -8.688366231E-02-8.657055977E-02-2.638529255E-02 7.203327447E-02 4.667196823E-02 6.375345158E-02-5.159004752E-02 6.366647865E-02 6.514501845E-02 6.361429490E-02 6.517980763E-02 3.533395188E-03-9.037997409E-02 4.055232765E-03 7.596445088E-02 2.407640113E-02 7.572092668E-02 2.405900656E-02 4.942356646E-03-1.250115934E-03 -8.500404585E-04 2.611482135E-03-1.371878036E-03-7.122853500E-02-1.267510520E-03 7.544261331E-02 4.977145818E-03 2.144981867E-02 2.184989415E-02 5.290248364E-03 2.169334288E-02-6.778440699E-02 2.179771039E-02-6.776701241E-02-2.119845230E-03 1.270034196E-02-2.119845230E-03-4.334501380E-02-2.032872300E-03-4.331022463E-02 -1.980688542E-03 2.275441262E-02 1.840576614E-02 2.266743969E-02 4.439327748E-02 2.258046676E-02 4.442806663E-02 7.639931553E-02 4.446285582E-02 7.646889388E-02 -1.344372065E-02 7.655586680E-02-1.337414231E-02-5.207709593E-02-5.153786376E-02 -1.245222925E-02-5.193793924E-02 6.737152545E-02 2.454930862E-03 6.766723341E-02 2.559298378E-03-5.080729115E-02 2.663665893E-03-5.066813447E-02 6.667574201E-02 -2.606893635E-03 6.681489870E-02-4.313627877E-02 4.420519069E-03-4.296233291E-02 4.472702827E-03 4.455308241E-03-5.985247582E-02 4.507491998E-03-5.966113538E-02 1.447458972E-02-1.967098239E-02 1.447458972E-02-1.968837698E-02-6.910639552E-02 -1.941006361E-02-6.893244966E-02 8.083493494E-02 4.621970900E-02 8.078275116E-02 8.100888080E-02 4.639365485E-02 1.341677365E-03 4.648062778E-02 1.359071951E-03 -2.916842630E-02 1.498228638E-03-2.895969126E-02 7.318131714E-02-4.477136985E-02 7.330307922E-02-4.478876443E-02-4.518883991E-02 7.064170760E-02-4.546715328E-02 1.673588589E-02-3.487385047E-02 1.694462092E-02-3.443898582E-02 7.069389134E-02 7.448591108E-02 7.062431301E-02 7.438154357E-02-7.672522415E-02 7.439893815E-02 -7.651648912E-02-5.080729115E-02-7.618599198E-02-5.068552905E-02-5.056376695E-02 3.764417813E-02-5.073771281E-02 3.741804853E-02-5.839133061E-02 3.736586477E-02 -5.839133061E-02 3.936624215E-02-3.002076100E-02 3.943582049E-02-2.998597183E-02 -6.147017231E-02-9.408502087E-02-6.108749142E-02-9.394586420E-02-6.089615098E-02 -9.377191835E-02-5.785209844E-02-3.400412118E-02-5.778252010E-02-3.389975366E-02 -3.457814251E-02 3.035584665E-02-3.445638041E-02-3.447377499E-02 3.052979251E-02 -3.436940748E-02-3.153408998E-02 6.646700698E-02-3.151669539E-02 6.643221779E-02 -1.822723176E-02-4.508447239E-02-1.840117762E-02 6.354471655E-02-1.873167476E-02 6.350992738E-02-1.869688558E-02-4.548454787E-02 3.947060965E-02-6.609713216E-02 3.950539884E-02-3.529132053E-02 3.742130219E-03-7.317672862E-02 4.142205694E-03 -7.305496652E-02 3.776919391E-03-4.482355361E-02 4.020443593E-03-4.468439692E-02 3.912271793E-02 2.458184532E-04 7.215503657E-02 1.762401097E-04-8.803170498E-02 3.607866540E-02-8.803170498E-02 7.205066906E-02 5.797844906E-02 7.977386520E-02 5.801323824E-02 4.350940725E-03 4.472702827E-03 5.823936785E-02 4.472702827E-03 2.477218456E-02 5.448213730E-02 2.466781707E-02 5.446474271E-02-5.687800163E-02 -3.383017532E-02-5.686060705E-02-3.376059697E-02 2.284238674E-04-3.372580780E-02 3.675805545E-04 7.194630154E-02-4.284057081E-02 7.212024740E-02-4.285796540E-02 -7.241136684E-02-7.755691061E-03-7.258531270E-02-7.825269405E-03 6.462318088E-02 -8.011716840E-02 1.861450117E-02 1.856231741E-02-7.987364419E-02 7.062431301E-02 -2.154634401E-03 7.067649677E-02-8.055203304E-02 1.821442570E-02 5.629117423E-02 -7.966490916E-02-4.198823610E-02-4.190126317E-02-9.234230863E-03 6.629306112E-02 6.596256399E-02-9.947408885E-03 8.734376372E-03-3.708296288E-02 8.890927645E-03 -3.713514664E-02-2.542859033E-02-2.530682823E-02-3.685683326E-02-2.525464447E-02 -3.675246575E-02-2.527203905E-02-2.534161740E-02-2.396744511E-02-2.530682823E-02 -2.398483970E-02-5.308598191E-02-2.382828842E-02-5.301640356E-02 1.169145598E-02 -1.720095120E-02 3.011557611E-03-1.720095120E-02 1.181321808E-02 1.169145598E-02 -1.734010789E-02 1.177842890E-02-4.228394406E-02-3.911487577E-03-4.244049534E-02 -3.163510372E-01-3.162156070E-01-3.163510372E-01-3.162446278E-01-3.162929957E-01 -3.162543014E-01-3.163026693E-01-3.295372995E-02-8.338212162E-02-3.285699410E-02 -1.951712225E-02-1.948810147E-02-1.330784927E-03 4.439624513E-02 4.436722434E-02 4.437689792E-02 5.170947433E-02 9.614991778E-02-1.959451090E-02 2.718693975E-02 -1.966222597E-02-7.762633933E-02-9.678970862E-02-6.374474676E-02-2.288352932E-02 2.859928295E-02 5.519196447E-02 8.738565096E-02 1.068295541E-01 1.512699975E-01 1.429603891E-01 1.260025969E-01 1.014413680E-01 1.014316944E-01 8.440618715E-02 6.207955606E-02 4.686300892E-02 1.250243974E-02-3.913631784E-03-1.573475100E-02 1.645893543E-02-3.971673231E-03 3.979161925E-02 3.979161925E-02 3.978194567E-02 3.979161925E-02 1.149069965E-01 1.456302982E-01 1.812677805E-01 1.165998736E-01 7.348471123E-02 4.687268250E-02 4.689202970E-02 4.689202970E-02 6.209890321E-02 8.440618715E-02 1.014123473E-01 1.162322774E-01-5.528670607E-02-5.528670607E-02 -5.518100356E-02-5.514576939E-02-5.518100356E-02-5.521623773E-02-5.507530106E-02 -5.514576939E-02-5.528670607E-02-5.496959856E-02-5.496959856E-02-5.507530106E-02 -5.496959856E-02-5.489913022E-02-5.507530106E-02-5.504006689E-02-5.493436439E-02 -5.528670607E-02-5.489913022E-02 1.852569576E-01 1.852569576E-01 1.853626601E-01 1.852569576E-01 1.853274259E-01 1.853626601E-01-5.489913022E-02-5.514576939E-02 -5.525147190E-02-5.511053523E-02-5.475819355E-02-5.507530106E-02 2.714749662E-01 1.851512551E-01 1.852921917E-01-2.977330148E-01-2.975216098E-01-2.978387173E-01 -2.979796539E-01 2.715102004E-01 2.715102004E-01 2.714749662E-01-2.503729638E-01 -3.518699686E-01-2.502897422E-01-3.518033914E-01-2.501898764E-01-3.517035255E-01 -2.501732321E-01 1.559978746E-01 2.322288163E-01 2.324784809E-01 1.560145189E-01 -1.786859186E-02 1.561809620E-01 1.560145189E-01 1.562142506E-01 1.560311632E-01 1.561643177E-01 1.560478075E-01 1.562142506E-01 1.559978746E-01 1.560810961E-01 -1.790188048E-02-1.780201461E-02-1.803503496E-02-1.781865894E-02-1.801839065E-02 -1.781865894E-02 1.700209891E-01 1.722146852E-01 1.725071780E-01 1.703866051E-01 1.709715907E-01-3.872509562E-01-3.860809850E-01-1.357802542E-01 1.713372068E-01 1.702403586E-01-1.372427183E-01 1.712640835E-01 1.702403586E-01-1.369502256E-01 -1.358533775E-01 1.717028228E-01 1.705328515E-01-1.370233487E-01-1.362921166E-01 1.708253443E-01 1.705328515E-01-3.873972027E-01-2.429057496E-01 1.302716238E-01 -3.953803117E-01 1.311991669E-01 1.306691423E-01 1.309341545E-01 1.306691423E-01 1.309341545E-01 1.302716238E-01-3.370776015E-01 1.304041299E-01 1.301391176E-01 1.294765868E-01 1.300066114E-01 1.308016484E-01 1.304041299E-01 1.300066114E-01 -3.377401323E-01-3.385351692E-01-3.391977000E-01-3.381376507E-01 1.286815499E-01 1.311991669E-01 6.109227453E-02 6.101087057E-02-1.111585216E-01-2.184896534E-01 -1.111178196E-01 1.548696456E-01 1.547882416E-01 6.532528087E-02 6.528457888E-02 6.504036698E-02 6.499966500E-02 6.410422135E-02 6.499966500E-02 6.414492333E-02 6.508106896E-02-4.769472516E-01-2.931777939E-01-2.930149860E-01-5.461813263E-01 1.544626258E-01 1.549103476E-01 1.549510496E-01 6.512177095E-02 1.544626258E-01 6.520317496E-02 6.536598285E-02 6.512177095E-02 6.508106896E-02 1.546661357E-01 3.149057655E-01-1.234835130E-01 8.301208689E-02-1.132991349E-01-7.704610185E-02 -7.708801283E-02-1.137601561E-01-7.708801283E-02-7.729756798E-02 8.317973097E-02 8.288635387E-02-7.733947900E-02-7.721374593E-02-1.133829570E-01 8.309590893E-02 2.633552097E-01 2.636904979E-01 4.745867551E-01 2.637324090E-01 1.543446444E-01 1.629364037E-01-1.619578301E-01-7.704610185E-02-7.729756798E-02-7.738139002E-02 -7.725565691E-02-1.622931183E-01-1.622931183E-01-7.733947900E-02-7.721374593E-02 8.347310812E-02 8.326355301E-02-7.738139002E-02-7.721374593E-02-1.619997412E-01 -1.624607624E-01-7.754903406E-02-7.708801283E-02 2.638162310E-01 8.271870974E-02 -7.746521206E-02-7.729756798E-02-7.746521206E-02 1.202741122E-01-2.516002821E-02 -2.514718634E-02-1.704396845E-02-1.704396845E-02-1.590104232E-02-7.480668487E-02 -7.481952674E-02 4.992674800E-03 4.979832937E-03 6.272970749E-02 6.272970749E-02 9.150833076E-02 9.149548890E-02 1.010498377E-01 1.010369959E-01 1.114645916E-01 1.114517497E-01 1.010241540E-01 1.010369959E-01 9.145696330E-02 9.145696330E-02 6.269118189E-02 6.269118189E-02 4.889939869E-03 4.902781733E-03-9.799909613E-02 -9.799909613E-02-7.496078727E-02-7.496078727E-02-7.481952674E-02-7.480668487E-02 -7.476815927E-02-7.474247554E-02-7.470394994E-02-7.485805234E-02-7.484521047E-02 -9.789636120E-02-9.788351933E-02 5.031200402E-03 5.031200402E-03 6.280675869E-02 6.280675869E-02 9.130286090E-02 9.130286090E-02 1.008828935E-01 1.008957353E-01 1.112334380E-01 1.112462799E-01 1.289552141E-01 1.289680559E-01 1.112077543E-01 1.112077543E-01 1.221233410E-01 1.220719735E-01 1.221104991E-01 1.110279681E-01 1.110151263E-01 1.220591316E-01 1.220591316E-01 1.111307031E-01 1.111435449E-01 1.288910047E-01 1.288781629E-01 1.008186841E-01 1.008186841E-01 9.114875850E-02 9.114875850E-02 6.235729335E-02 6.238297709E-02 4.568893201E-03 4.581735065E-03 -9.832014280E-02-9.830730093E-02-7.528183394E-02-7.526899207E-02-3.447038156E-02 -3.447038156E-02-1.638903325E-02-1.640187512E-02-3.445753970E-02-3.445753970E-02 -7.525615020E-02-7.525615020E-02-7.511488967E-02-7.508920594E-02-7.505068034E-02 -7.501215474E-02-7.502499660E-02-7.511488967E-02-7.511488967E-02-7.959670115E-02 -7.958385928E-02-7.511488967E-02-7.511488967E-02-7.514057340E-02-7.514057340E-02 -3.432912103E-02-3.434196290E-02-3.381544636E-02-3.380260450E-02-1.627345645E-02 -1.627345645E-02-1.739069885E-02-1.739069885E-02-2.551960047E-02-2.551960047E-02 1.197861212E-01 1.197861212E-01 1.197475956E-01 1.197475956E-01-2.559665167E-02 -2.559665167E-02-1.750627565E-02-1.749343379E-02-1.635050765E-02-1.636334952E-02 -3.436764663E-02-3.438048850E-02-3.385397196E-02-3.385397196E-02-7.525615020E-02 -7.524330834E-02-7.969943608E-02-7.969943608E-02-7.524330834E-02-7.523046647E-02 -7.529467580E-02 6.235729335E-02 6.234445149E-02 9.113591663E-02 9.113591663E-02 1.007159492E-01 1.007287911E-01 6.234445149E-02 4.556051337E-03 4.556051337E-03 -7.532035954E-02-7.532035954E-02-7.519194087E-02-7.519194087E-02-7.511488967E-02 -7.507636407E-02-7.506352220E-02-7.520478274E-02-7.519194087E-02-9.826877533E-02 -9.826877533E-02-7.516625714E-02-7.516625714E-02-3.436764663E-02-3.435480476E-02 -3.384113010E-02-3.385397196E-02-1.631198205E-02-1.631198205E-02-1.744206632E-02 -1.744206632E-02-2.559665167E-02-2.558380981E-02 1.197604375E-01 1.197604375E-01 -9.671490946E-02-1.853362499E-02-9.675343506E-02-1.852078312E-02-9.674059319E-02 -1.850794126E-02-9.671490946E-02-1.146850628E-01-8.729578385E-02-1.146805654E-01 -8.729128643E-02-1.146850628E-01-8.729128643E-02-9.713163820E-02-9.719010464E-02 -9.717661239E-02-8.729128643E-02-1.146805654E-01-8.729578385E-02-1.146850628E-01 -8.729578385E-02-1.146850628E-01-9.718110980E-02-9.712264336E-02-9.882716499E-02 -1.018944044E-01-8.014938579E-02-7.659192772E-02-7.177519246E-02-6.270839668E-02 -5.672683002E-02-4.882036822E-02-4.497507537E-02-4.048215425E-02-3.686173233E-02 -2.488960417E-02-2.754757853E-02-1.984799798E-02-1.985699282E-02-2.755657337E-02 -5.787367175E-02-8.224968025E-02-1.027669036E-01-9.674036279E-02-9.673586537E-02 -8.077452696E-02-6.857303046E-02-8.099040305E-02-8.078352180E-02-9.674486021E-02 -1.027624062E-01-9.064186324E-02-8.221370090E-02-5.788266658E-02-2.754757853E-02 -1.987048508E-02-2.758805529E-02-1.987048508E-02-5.330330930E-03 7.091539083E-03 7.096036501E-03-7.919593306E-02-1.071653790E-01-1.071608815E-01-9.267919384E-02 -3.888107325E-02 7.105031338E-03 7.082544245E-03 7.073549408E-03 5.256592317E-03 3.111323673E-03 8.491221458E-04 6.264014071E-03 6.250521815E-03 5.369027781E-03 6.479890161E-03 2.488782425E-02 3.458875605E-02 4.079969105E-02 4.921885857E-02 4.920536632E-02 1.672500960E-02 1.672051218E-02 7.392866125E-03 5.670256303E-02 4.267511459E-02 2.797305337E-02 4.268860686E-02-2.372477277E-02 1.383766690E-02 1.378369787E-02-2.015733465E-03 4.932778182E-03 3.597044875E-03 1.381517980E-02 1.938298396E-02 1.380168755E-02 1.378819529E-02 8.188909207E-03 4.075921429E-02 4.947970885E-02 3.804277348E-02 5.743114483E-02 9.455733490E-02 8.948874420E-02 9.454834006E-02 5.745363192E-02 3.802928124E-02 4.946171918E-02 4.077720398E-02 8.206898881E-03 1.937848654E-02 1.381517980E-02 2.025998057E-02 2.023749348E-02 -3.343919682E-02 3.057354651E-03 1.628876000E-02 9.349243191E-03 3.928406100E-02 2.720399480E-02 3.927506617E-02 1.504297506E-02 6.319233798E-02 7.556023897E-02 7.425149018E-02 4.853075354E-02 5.890629811E-02 4.852175870E-02 5.891529295E-02 7.430096178E-02 7.556473639E-02 1.504297506E-02 3.322603823E-02 3.928855844E-02 2.722198448E-02 3.929305585E-02-5.510227672E-03-2.717330758E-03-1.139734854E-02 -2.717330758E-03-2.119272613E-02-2.032472435E-02-1.915089811E-02-2.030673468E-02 -1.914190327E-02-2.115674678E-02-5.483243161E-03-2.690346246E-03-1.137036403E-02 3.926157392E-02 2.717701029E-02 3.925257907E-02 2.024199090E-02 2.021050897E-02 -3.350665810E-02 3.012380465E-03 1.623479098E-02 9.277284494E-03 1.623029356E-02 4.874311741E-03-2.377424437E-02 4.266611976E-02 2.795956112E-02 2.211741443E-02 7.370379032E-03 1.668453283E-02 7.365881614E-03 2.795506370E-02 9.450336587E-02 9.448087878E-02 8.942128292E-02 9.449886846E-02 5.740865774E-02 3.799779931E-02 4.945272434E-02 8.175416951E-03 1.935150203E-02 3.579055201E-03 4.905793671E-03 -2.042717977E-03-2.374725986E-02-2.024728303E-03 1.379269271E-02 1.939197879E-02 3.606039713E-03 4.923783345E-03 3.052857234E-03-3.349766326E-02 2.021500639E-02 1.623928840E-02 9.317761261E-03 3.925707648E-02 3.320804856E-02 1.502048797E-02 3.321704339E-02 3.927506617E-02-2.694843663E-03-1.136136920E-02-2.685848828E-03 -5.483243161E-03-5.510227672E-03-2.118373129E-02-1.914640069E-02-2.031572951E-02 -1.913740585E-02-2.031123209E-02-1.914640069E-02-2.118373129E-02-5.510227672E-03 5.845754146E-03 4.928280764E-03 1.773243135E-02 4.445159491E-02 7.165647968E-02 7.165647968E-02 9.700393058E-02 1.039029706E-01 1.091244736E-01 1.169229973E-01 1.169454844E-01 1.091289710E-01 1.039074680E-01 9.700842800E-02 1.084318711E-01 1.163158458E-01 1.201746309E-01 1.128618284E-01 1.078606989E-01 1.070286765E-01 1.070241791E-01 1.070286765E-01 1.070331739E-01 9.081098525E-02 8.947075453E-02 9.453484780E-02 5.744013967E-02 3.804277348E-02 4.947970885E-02 8.188909207E-03 1.381517980E-02 1.938748138E-02 8.215893718E-03 4.950219594E-02 3.806975800E-02 5.748511385E-02 8.951123129E-02 9.457532457E-02 7.047815602E-02 7.048715086E-02 1.670701993E-02 7.406358380E-03 7.397363543E-03 1.670701993E-02 4.921885857E-02 4.078170139E-02 3.456626896E-02 2.485634232E-02 5.360032944E-03 6.264014071E-03 8.446247282E-04 3.111323673E-03 5.265587155E-03 7.082544245E-03 7.096036501E-03 -5.339325768E-03-1.987947991E-02-2.759705013E-02-3.009761484E-02-2.493457836E-02 -3.690670651E-02-4.500205988E-02-5.675381453E-02-6.274437603E-02-7.180217697E-02 -7.660541998E-02-8.014488837E-02-1.018944044E-01-9.883615983E-02-9.717211497E-02 -9.718560722E-02-9.716761755E-02-9.720809432E-02-9.720359690E-02-1.147030524E-01 -8.731377352E-02-1.146940576E-01-8.730927611E-02-1.146985550E-01-8.730477869E-02 -3.818936138E-03-1.324197404E-01-1.958328737E-03-1.082748813E-03-2.067776290E-03 1.692175503E-01 2.296325664E-01 2.286475390E-01 1.684514178E-01 2.286475390E-01 1.647302031E-01-1.399716175E-01-1.326386354E-01-4.585068592E-03-1.326386354E-01 -1.400810649E-01 1.633073857E-01-1.401905124E-01-4.475621122E-03-1.326386354E-01 -1.400810649E-01 1.631979382E-01 1.670286004E-01-1.319819505E-01-5.235850804E-01 -1.705074680E-01-1.708358105E-01 4.226979441E-01-1.858460137E-02-4.636868504E-01 -1.836559090E-02-4.636868504E-01-1.829258743E-02-4.633948365E-01-1.814658044E-02 1.780137841E-01 1.783788016E-01 1.785248085E-01-1.687527704E-01 1.757506762E-01 1.754586622E-01 1.753856587E-01 1.756046691E-01 1.755316657E-01 1.748746343E-01 8.902253581E-02-1.712348888E-01 6.347131597E-02 6.412834736E-02-2.534974041E-02 -6.108584764E-02-2.537318161E-02-6.107998734E-02-2.536146101E-02-6.109756824E-02 -2.535560071E-02-6.110342854E-02-2.533215951E-02-6.112100944E-02-2.534388011E-02 9.071935434E-02 9.785719930E-02 9.081311913E-02 2.283543518E-01 2.289696832E-01 -2.155574860E-01-2.114494159E-01-1.523486323E-02-3.814863483E-02-1.526416472E-02 2.283484915E-01 2.289755435E-01-2.114962983E-01-1.527002502E-02-3.820137753E-02 -1.526416472E-02 9.790994200E-02 9.081897943E-02-2.155750669E-01-2.114552762E-01 -2.155692066E-01-2.114259747E-01-1.522314263E-02-3.814863483E-02-1.530518682E-02 9.793338320E-02 9.077209704E-02 2.283191900E-01 2.289462420E-01-1.527588532E-02 -3.815449513E-02-1.527002502E-02 9.077209704E-02 9.789822140E-02 2.289403817E-01 2.283191900E-01-2.114376953E-01-2.156102287E-01-2.114669968E-01 9.078967793E-02 9.795096410E-02-7.483541436E-02-7.484660358E-02-7.483168462E-02-7.481303588E-02 -7.480557644E-02-7.623779669E-02-7.185535179E-02-7.147118858E-02-6.827480111E-02 -7.044178024E-02-6.955783178E-02-6.907296554E-02-6.943848009E-02-7.491746865E-02 -7.942299498E-02-6.937880425E-02-7.118772831E-02-6.940118269E-02-6.601830820E-02 -6.939745295E-02-7.121383649E-02-7.944537342E-02-7.493611735E-02-6.947577749E-02 -6.910280346E-02-6.958766970E-02-6.946458827E-02-7.621541829E-02-8.809091152E-02 -9.261135681E-02-6.844636916E-02-5.111053607E-02-5.093150853E-02-5.092404905E-02 -8.820653347E-02-5.394140899E-02-5.282621663E-02-6.857318033E-02-6.859928852E-02 -5.287843299E-02-5.397497665E-02-8.824756062E-02-5.095388698E-02-5.094642750E-02 -5.112545503E-02-6.144191681E-02-6.120321343E-02-5.539227798E-02-4.252840355E-02 -3.685546848E-02-2.906404091E-02-2.586392370E-02-2.902674351E-02-2.389089107E-02 -2.273467156E-02-2.217148077E-02-2.808311921E-02-2.806074076E-02-2.213791311E-02 -2.268991468E-02-2.385359366E-02-2.897825689E-02-2.581543708E-02-2.902301377E-02 -3.682190082E-02-4.250975485E-02-5.537362928E-02-6.118456472E-02-7.449227821E-02 -7.951250874E-02-6.249370358E-02-4.230834887E-02-1.716989898E-02-1.078458352E-02 1.277396735E-03 1.161250721E-02 1.009077315E-02-4.457433027E-04-1.420848515E-02 -2.652035800E-02-6.871864021E-02-3.631838588E-02-2.482332615E-02-3.780131163E-03 6.480384503E-03 8.367633118E-03 1.015417874E-02 1.164234513E-02 1.012061108E-02 -4.270945992E-04-1.418983645E-02-2.651289852E-02-6.870372124E-02-3.632957509E-02 -2.483451537E-02-1.028106857E-02-2.213640221E-03 1.495808430E-02-1.041160948E-02 -4.993566786E-02-2.862020181E-02-1.483881126E-02 3.500321977E-03-1.829628056E-02 1.059801784E-02 1.060547732E-02 9.852069773E-03 2.046318103E-02 4.261783862E-02 6.516411897E-02 7.542090490E-02 7.102354107E-02 7.964297096E-02 8.619612473E-02 9.191754645E-02 9.625896416E-02 1.027822800E-01 1.181599995E-01 1.183949731E-01 1.127854436E-01 1.021780621E-01 9.563982731E-02 8.616255707E-02 8.616255707E-02 9.191008697E-02 9.624031546E-02 1.027934692E-01 1.169888610E-01 1.032708760E-01 7.572674360E-02 7.062072908E-02 5.191981103E-02 6.515292978E-02 5.191608132E-02 4.558671193E-02 4.102523954E-02 5.345273434E-02 6.244886804E-02 6.245259778E-02 9.141776121E-02 1.169851312E-01 1.032447679E-01 7.570063542E-02 7.061699934E-02 7.539479671E-02 6.514920004E-02 5.191235158E-02 4.558671193E-02 4.104388824E-02 4.101778002E-02 5.343781534E-02 6.245259778E-02 6.245259778E-02 9.142149098E-02 1.032596868E-01 1.170000502E-01 1.028195775E-01 9.624404524E-02 1.181637292E-01 1.183987028E-01 1.128003626E-01 8.826986036E-02 1.053968280E-01 1.053968280E-01 9.932108102E-02 9.518106924E-02 5.760393534E-02 9.515123132E-02 9.445376988E-02 8.101924514E-02 8.412611888E-02 8.102670466E-02 9.446122932E-02 9.516615025E-02 9.930989176E-02 1.054005577E-01 8.827359014E-02 1.022004405E-01 9.565474623E-02 8.617747607E-02 7.962805203E-02 7.101981130E-02 6.515665952E-02 4.260664944E-02 2.045572155E-02 1.059428810E-02 9.844610292E-03 1.055326096E-02 9.807312889E-03 -1.832238874E-02 3.477943534E-03-1.484254101E-02-2.862393155E-02-7.310481484E-02 -7.316822043E-02-7.310108510E-02-4.989837046E-02-1.038550130E-02 1.496927352E-02 3.442732886E-02 2.637854921E-02-2.202450999E-03-1.027360909E-02 1.095980265E-02 -3.809969085E-03 6.458006065E-03 8.334065455E-03 1.012061108E-02 1.157893955E-02 1.005347575E-02-4.905001857E-04 1.258748032E-03-1.080323222E-02-1.719600716E-02 -4.234191654E-02-6.251235228E-02-7.952742767E-02-7.451838643E-02-6.119575394E-02 -6.143445733E-02-5.111053607E-02-6.845009890E-02-9.258151885E-02-8.806107360E-02 -7.617439114E-02-7.492865787E-02-6.945712876E-02-6.908788450E-02-6.943102057E-02 -7.041940180E-02-7.047907765E-02-6.832328773E-02-7.150102650E-02-7.190383845E-02 -7.629001309E-02-7.484287384E-02-7.482422514E-02 6.406762598E+01 5.883397765E+00 6.402786445E+01 5.957716784E+00 7.641148593E+01 6.419160491E+01 7.637711988E+01 6.417271547E+01 6.420193420E+01 7.681649615E+00 6.424921469E+01 7.683658858E+00 6.798478512E+01 5.151374569E+01 6.788997351E+01 5.148439535E+01 5.152988778E+01 2.026363225E+01 5.157863196E+01 2.026373291E+01 9.116164644E+01 1.060632314E+01 9.101081447E+01 1.058942556E+01 9.092409462E+01 8.424277385E+01 7.841628355E+01 8.420383984E+01 7.840260653E+01 7.839867596E+01 9.045439141E+01 7.836766232E+01 9.042058772E+01 5.144780028E+01 7.943405038E+01 5.142380247E+01 7.941863899E+01 5.144529522E+01 5.149343316E+01 4.317545284E+01 5.151959834E+01 4.323939374E+01 5.149345936E+01 8.094992390E+01 7.036663670E+01 8.088924141E+01 7.037002960E+01 6.144145532E+01 7.043762406E+01 6.143475451E+01 7.046144804E+01 6.145008251E+01 6.148203694E+01 6.109699511E+01 6.144167320E+01 6.108477232E+01 6.112340506E+01 6.087806427E+01 6.109783408E+01 6.085436717E+01 6.109138830E+01 4.861464344E+01 2.779204783E+01 4.863299600E+01 2.776273056E+01 4.863808808E+01 8.056841596E+01 6.251386279E+01 8.052164594E+01 6.250943356E+01 6.251270019E+01 4.859203646E+01 6.252700209E+01 4.853524405E+01 6.250867010E+01 7.468123820E+01 6.318721851E+01 7.467294147E+01 6.316462880E+01 4.216097559E+01 5.043223190E+01 4.211956324E+01 5.043232335E+01 4.214412673E+01 3.300376444E+01 8.353930957E+01 3.301384331E+01 8.357370699E+01 3.305246275E+01 4.008231576E+01 3.304314407E+01 4.007922781E+01 9.153924453E+01 7.920812478E+01 9.153758765E+01 7.925711228E+01 9.152982426E+01 9.153902862E+01 9.230755228E+01 9.146138090E+01 9.230085257E+01 7.176575728E+01 7.049728697E+01 7.177110224E+01 7.050712127E+01 4.375134021E+01 4.225699614E+01 4.379494548E+01 4.224292421E+01 5.427159682E+01 4.225173892E+01 5.425083331E+01 5.426940501E+01 4.820052308E+01 5.422045658E+01 4.819403810E+01 4.829392352E+01 5.110473578E+01 4.827749572E+01 5.112414223E+01 5.112270903E+01 4.804404414E+01 5.114961959E+01 4.804318247E+01 6.735594883E+01 5.141015603E+01 6.729559937E+01 5.143287206E+01 5.143639694E+01 1.818228889E+01 5.149338248E+01 1.826280556E+01 2.947635002E+01 1.685064744E+01 2.947254969E+01 1.680612789E+01 1.687223696E+01 4.343303285E+01 1.684822235E+01 4.347158230E+01 6.381459999E+01 4.349236896E+01 6.374928831E+01 4.345805723E+01 6.377286880E+01 6.376896225E+01 8.464948031E+01 6.372279560E+01 8.469224481E+01 6.368442060E+01 9.420075239E+01-6.877308478E-02 9.417644574E+01-4.123350056E-02 7.111039337E+01 4.223443661E+01 7.115784865E+01 4.224283324E+01 4.229293586E+01 8.662049812E+00 4.240275839E+01 8.673723289E+00 4.982074055E+01 3.194038305E+01 4.982798942E+01 3.191403964E+01 8.745105287E+00 4.228781659E+01 8.752797480E+00 4.233746192E+01 4.230064505E+01 5.772982054E+01 4.225201392E+01 5.768013978E+01 5.769643824E+01 2.859012205E+01 5.779293761E+01 2.860729697E+01 2.921156583E+01 2.871119532E+01 2.922904658E+01 2.924591740E+01 3.397942784E+01 2.924409133E+01 3.397426492E+01 2.923614080E+01 6.347965820E+01 3.242624094E+01 6.350600539E+01 3.246285031E+01 3.250333220E+01 2.142046356E+01 3.254107349E+01 2.144695240E+01 3.203668099E+01 4.821532257E+01 3.199383418E+01 4.824776464E+01 3.443355155E+01 7.047919006E+01 3.439707538E+01 7.046762536E+01 2.827197169E+01 4.411382936E+01 2.822416723E+01 4.412930686E+01 4.413637254E+01 6.603580462E+01 4.410538335E+01 6.602577638E+01 2.199528301E+01 3.087777478E+01 2.194517381E+01 3.090586361E+01 3.107530786E+01 2.225039338E+01 3.106983781E+01 2.226570547E+01 2.232953056E+01 2.231490628E+01 3.680088827E+01 2.229272666E+01 3.678605912E+01 3.676662965E+01 3.981459085E+01 3.673788566E+01 3.982235096E+01 3.982113654E+01 3.980787686E+01 3.981278974E+01 3.982652082E+01 3.979322108E+01 4.140842841E+01 4.138970443E+01 2.482824251E+01 3.654514760E+01 4.409952308E+01 4.406264057E+01 4.673013686E+01 3.602976510E+01 6.179252770E+01 6.175000093E+01 4.249869041E+01 5.185713584E+01 4.770080714E+01 6.656488262E+01 6.655683140E+01 6.347381222E+01 6.515224589E+01 6.510239153E+01 6.342724030E+01 6.348139495E+01 6.657007727E+01 4.772386995E+01 1.506335360E+01 1.513272497E+01 4.267597302E+01 6.185560919E+01 3.613161172E+01 4.683983775E+01 4.412997091E+01 4.414694269E+01 3.668753756E+01 2.493151167E+01 4.150297279E+01 3.996389011E+01 3.321848141E+01 3.996543486E+01 3.319534299E+01 3.323616784E+01 4.149158475E+01 3.320990221E+01 4.148597036E+01 7.145887050E+01 7.126202765E+01 4.379200439E+01 9.424755325E+01 1.712508575E+01 9.426669524E+01 9.332058784E+01 4.918308859E+01 4.921275535E+01 9.354193696E+01 6.616368608E+01 6.308161590E+01 4.400870295E+01 7.150529109E+01 7.160391217E+01 4.844174478E+01 6.232154300E+01 4.837945145E+01 6.228354310E+01 6.229627635E+01 4.834861785E+01 6.225840134E+01 4.831949662E+01 1.951401556E+01 1.936031023E+01 1.950167059E+01 1.940370301E+01 1.974972088E+01 1.939149294E+01 1.968437715E+01 8.400394050E+01 7.987364883E+01 8.400582185E+01 7.984806350E+01 8.396590391E+01 7.986262759E+01 5.017015535E+01 7.992544236E+01 5.018325511E+01 1.172051099E+01 5.031215254E+01 1.175247352E+01 8.603447511E+01 5.133508878E+01 8.598993007E+01 5.130254640E+01 1.671665653E+01 6.251772123E+01 1.667706964E+01 6.256102930E+01 1.671355505E+01 8.420443951E+01 1.166071594E+01 8.420937917E+01 1.162393771E+01 1.828347969E+01 1.170182911E+01 1.827703660E+01 4.610018702E+01 4.692973437E+01 4.603021805E+01 4.695093068E+01 3.267683055E+01 4.697059220E+01 3.266561139E+01 8.277752602E+01 4.902958131E+01 8.268449437E+01 4.898802425E+01 4.898225794E+01 8.271391509E+01 4.895803118E+01 7.912672341E+01 4.990556410E+01 7.915564174E+01 4.991009596E+01 4.899591538E+00 4.344346005E+01 4.925549345E+00 4.342810880E+01 4.331967935E-01 5.589617385E+01 3.717899952E-01 5.585579794E+01 8.062828255E+00 5.507922723E+01 8.060735383E+00 5.508700201E+01 7.855728602E+01 5.507274339E+01 7.850649068E+01 7.846668704E+01 8.628867258E+01 7.848018109E+01 8.629782704E+01 9.482796617E+01 8.626478974E+01 9.481392376E+01 6.776144343E+01 6.869626108E+01 5.984192274E+01 5.987331811E+01 6.774256178E+01 6.872158893E+01 6.770577971E+01 6.865782397E+01 6.767675923E+01 5.221558904E+01 6.768925407E+01 5.225516182E+01 5.231931110E+01 3.965281302E+01 5.231000320E+01 3.972545477E+01 6.783988127E+01 3.971787748E+01 6.787147624E+01 6.302815487E+01 6.805682509E+01 6.301163219E+01 6.806054445E+01 2.067798656E+01 3.012239556E+01 3.011664058E+01 2.790597520E+01 1.326381926E+01 3.019352636E+01 6.309155893E+01 5.913759626E+01 6.325243185E+01 5.935116070E+01 5.425556479E+01 5.424883273E+01 4.896214950E+01 4.898926280E+01 5.431019209E+01 5.936369798E+01 4.899842653E+01 5.090642859E+01 2.228773994E+01 5.106469894E+01 5.915903246E+01 3.155669844E-01 5.924110068E+01 5.072666628E-01 3.793676654E+01 5.850469394E+00 3.768179503E+01 5.518288976E+00 9.225938898E+01 1.818563498E+00 9.263348663E+01 2.806738911E+01 1.814887394E+01 2.812421571E+01 5.881566946E+01 2.808255113E+01 5.887987684E+01 5.886685379E+01 8.151322551E+01 5.887798422E+01 8.144014574E+01 6.741881472E+00 4.386721508E+01 6.736416018E+00 4.388391569E+01 4.140243686E+01 4.165422186E+01 4.414841041E+01 4.163200359E+01 4.364486224E+01 4.163378897E+01 4.363477442E+01 3.109420211E+01 4.363872489E+01 4.376128963E+01 3.127541335E+01 4.408535327E+01 4.382935513E+01 4.436105982E+01 8.711283335E+01 4.418665570E+01 8.709525616E+01 8.700479418E+01 5.512835814E+01 8.702438434E+01 5.504366502E+01 -3.195700763E+00 3.036799924E+01 1.752735933E+01 8.853705758E+01 8.843000390E+01 1.744693829E+01 7.476875974E+01 1.747294307E+01 7.479021760E+01 3.691915182E+01 3.975997768E+01 3.688240644E+01 3.971015821E+01 8.248969366E+01 2.539489048E+01 4.801197886E+01 2.548560490E+01 4.790905034E+01 6.228452170E+01 4.804491067E+01 6.240927433E+01 8.202671426E+01 6.230861836E+01 8.217684240E+01 4.713737509E+01 7.450782422E+01 4.717927513E+01 7.445848548E+01 6.457364495E+01 7.445288638E+01 6.459491143E+01 3.226934713E+01 6.461145510E+01 3.230736160E+01 8.439151785E+01 3.631578336E+01 8.422380874E+01 3.643131364E+01 2.448105560E+00 8.486613097E+01 1.001983134E+01 7.712136179E+01 1.005784647E+01 5.217965221E+01 1.033918903E+01 8.294904893E+01 4.441518945E+01 8.272928315E+01 4.429006685E+01 3.393464371E+01 5.513995001E+01 3.395871894E+01-6.613033013E+00 1.765114107E+01 1.773484990E+01 8.048563810E+01 2.299313376E+00 4.306830162E+01 2.274526066E+00 8.227067769E+01 1.947070700E+01 8.218331140E+01 4.021943303E+01 8.110818013E+01 4.239913661E+01 4.159637442E+01 3.056693466E+00 8.069079538E+01 3.181994539E+00 3.607060819E+01 3.235788135E+00 7.927866944E+01 1.510499260E+00 7.929949880E+01 3.128261305E+01 7.848023656E+01 3.121818047E+01 6.999123341E+01 5.617478229E+01 7.001389862E+01 7.962763161E+01 7.757975800E+01-1.080649899E+00-1.402641064E+00 7.396490208E-01 1.239542883E+00 8.282246385E-01 2.053297374E+01 2.094334648E+01 4.549807912E+01 2.095286219E+01 4.560918470E+01 8.647422679E-01 4.569710104E+01 3.781210311E+01 3.796012897E+01 9.993682698E-01 4.575853200E+01 8.298374116E+01 4.407093313E+01 5.940987967E+01 6.910799244E+00 5.940033081E+01 8.571536166E+01 4.155078341E+01 8.579771892E+01 4.157651523E+01 7.047138954E+00 4.158987071E+01 7.216354804E+00 2.806914679E+01 7.485668827E+00-4.242901921E+00-4.036014645E+00 2.817405543E+01 8.087690508E+01 6.732179522E+01 7.645858408E+01 1.482198245E+01 7.646097750E+01 7.724980901E+01 7.642839642E+01 7.726356917E+01 4.426774542E+01-5.992726459E+00 4.446791351E+01 8.286387744E+01 5.518224635E+01 8.282409436E+01 5.524026037E+01 4.486766156E+01 4.156829433E+01-5.009137321E+02 4.368930090E+01 4.161837626E+01 4.270737122E+00 4.164073060E+01 8.264981021E+01 4.491964354E+01 5.368732585E+01 5.392225024E+01 4.511096409E+01 5.390849800E+01 6.101242398E+00 5.400240763E+01 6.113069316E+00 4.115315645E+01 4.905849427E+01 4.112409410E+01 1.906935864E+01 4.114490582E+01 1.906768290E+01 4.116111854E+01 5.457584206E+01 5.227238773E+01 5.453732807E+01 6.613233927E+01 5.444948533E+01 6.609801537E+01 8.315301499E+01 6.606421609E+01 8.315005569E+01 3.505582725E+01 8.315882923E+01 3.506278847E+01 1.436225050E+01 1.482477910E+01 3.574279491E+01 1.461303984E+01 7.840173984E+01 4.366379222E+01 7.850432744E+01 4.366760720E+01 1.512183387E+01 4.368869669E+01 1.515223045E+01 7.800682665E+01 4.098189472E+01 7.809863869E+01 1.919789102E+01 4.461387104E+01 1.927448204E+01 4.462872690E+01 4.473196578E+01 1.034338248E+01 4.474620324E+01 1.042157651E+01 5.005817651E+01 3.179158587E+01 5.004021406E+01 3.176686658E+01 5.339330719E+00 3.189112823E+01 5.409910074E+00 8.548291007E+01 6.697064184E+01 8.544425040E+01 8.569800692E+01 6.719118204E+01 4.309841639E+01 6.722257504E+01 4.308823193E+01 2.675486715E+01 4.311812656E+01 2.681976578E+01 8.142936578E+01 1.833977366E+01 8.145065836E+01 1.829496313E+01 1.821299848E+01 8.016030737E+01 1.809234018E+01 5.134914018E+01 2.374071859E+01 5.138755611E+01 2.387146697E+01 8.010216866E+01 8.213393798E+01 8.007367613E+01 8.208677263E+01 1.345194463E+00 8.216312246E+01 1.410293791E+00 1.510716094E+01 1.477491115E+00 1.510438222E+01 1.519482651E+01 6.237026833E+01 1.515013709E+01 6.230608935E+01 1.113612076E+01 6.231775922E+01 1.102728902E+01 6.330464306E+01 2.620286478E+01 6.333389526E+01 2.621267367E+01 9.469106070E+00-7.997077871E+00 9.630558111E+00 -7.949278574E+00 9.713022864E+00-7.872604505E+00 1.132110964E+01 2.406854057E+01 1.135319584E+01 2.411875443E+01 2.381631547E+01 5.851737821E+01 2.385291486E+01 2.382030426E+01 5.856909895E+01 2.386490392E+01 2.544873760E+01 7.784529749E+01 2.545136416E+01 7.778015795E+01 3.252714251E+01 1.817915942E+01 3.245050656E+01 7.625517878E+01 3.225319166E+01 7.620120255E+01 3.223612017E+01 1.792045651E+01 6.334190376E+01 6.897948967E+00 6.335281288E+01 2.339913387E+01 4.426059620E+01 3.123422891E+00 4.445236786E+01 3.175004229E+00 4.425068474E+01 1.826463698E+01 4.437876243E+01 1.833856475E+01 6.321668927E+01 4.242657221E+01 8.086191231E+01 4.237324956E+01-4.832363992E+00 6.151482387E+01-4.841852253E+00 8.087413745E+01 7.333835304E+01 8.497470879E+01 7.332855450E+01 4.462588077E+01 4.465834759E+01 7.338900564E+01 4.463163844E+01 5.551949734E+01 7.139085945E+01 5.544439897E+01 7.136640599E+01 1.183710599E+01 2.414898331E+01 1.182695722E+01 2.417213303E+01 4.233945326E+01 2.418336507E+01 4.241186282E+01 8.076104899E+01 1.937799152E+01 8.082584469E+01 1.933753980E+01 3.564561619E+00 3.814366062E+01 3.494914313E+00 3.812703675E+01 7.686913028E+01-5.161697169E-01 5.227474818E+01 5.224371809E+01 -3.865298402E-01 8.007597552E+01 4.115662096E+01 8.009003575E+01-7.660913458E-01 5.203054696E+01 7.237433729E+01-3.144627052E-01 1.981762138E+01 1.984683050E+01 3.731264703E+01 7.769377722E+01 7.750969074E+01 3.692008952E+01 4.690523100E+01 2.240909319E+01 4.698400857E+01 2.236838308E+01 2.862260752E+01 2.872099980E+01 2.253200203E+01 2.872517573E+01 2.257421032E+01 2.871123510E+01 2.868430007E+01 2.941953006E+01 2.870320525E+01 2.940864658E+01 1.392476600E+01 2.951914712E+01 1.388097062E+01 4.854269810E+01 3.305586629E+01 4.383157434E+01 3.303194861E+01 4.855967545E+01 4.856623111E+01 3.303386065E+01 4.858461107E+01 1.963226338E+01 4.014071274E+01 1.953496772E+01-3.033558609E+01-3.029383604E+01-3.033920457E+01 -3.032031031E+01-3.033212375E+01-3.029598743E+01-3.034856101E+01 2.765098744E+02 2.218316066E+02 2.765160839E+02 2.909372001E+02 2.909412937E+02 3.105920458E+02 3.601022106E+02 3.601022532E+02 3.600901410E+02 3.680476077E+02 4.162017698E+02 2.909151103E+02 3.416011048E+02 2.908964038E+02 2.281538873E+02 2.074116368E+02 2.431874699E+02 2.874211627E+02 3.431369460E+02 3.719137778E+02 4.067444226E+02 4.277758248E+02 4.758812710E+02 4.668520928E+02 4.484771528E+02 4.218763222E+02 4.218730429E+02 4.034435900E+02 3.792807393E+02 3.628151567E+02 3.256276534E+02 3.078859269E+02 2.951087563E+02 3.299927587E+02 3.078840126E+02 3.552899496E+02 3.552906459E+02 3.552801693E+02 3.552904127E+02 4.366222525E+02 4.698536240E+02 5.084282515E+02 4.383306068E+02 3.916200832E+02 3.627935259E+02 3.628163806E+02 3.628207844E+02 3.792941613E+02 4.034669429E+02 4.218945019E+02 4.379546406E+02 2.675004481E+01 2.673839829E+01 2.673819157E+01 2.670157204E+01 2.674387502E+01 2.675349025E+01 2.671676546E+01 2.672165992E+01 2.672486611E+01 2.674833892E+01 2.675058344E+01 2.677138495E+01 2.673611205E+01 2.675733991E+01 2.675054534E+01 2.671344519E+01 2.675315564E+01 2.667894851E+01 2.675838398E+01 9.817472178E+01 9.816784201E+01 9.818171183E+01 9.820279936E+01 9.818217042E+01 9.819436810E+01 2.685744900E+01 2.682375156E+01 2.668592314E+01 2.684894450E+01 2.682590367E+01 2.674323776E+01 1.237917228E+02 9.818501896E+01 9.817292375E+01-4.531001715E+01 -4.534171113E+01-4.536506835E+01-4.547639301E+01 1.238315370E+02 1.238538980E+02 1.238058840E+02-1.305119479E+02-1.943774075E+02-1.304883427E+02-1.943654640E+02 -1.304510622E+02-1.943270793E+02-1.304649314E+02 1.251797612E+02 1.731463667E+02 1.731697647E+02 1.251248857E+02 1.568631518E+01 1.251597884E+02 1.250786027E+02 1.251742019E+02 1.250818816E+02 1.251591320E+02 1.250838699E+02 1.251742198E+02 1.250643445E+02 1.251073975E+02 1.565923440E+01 1.567508917E+01 1.560889641E+01 1.567871048E+01 1.564576492E+01 1.568678459E+01 1.657280052E+02 1.660447486E+02 1.660218118E+02 1.656941510E+02 1.657389052E+02 8.591371246E+01 8.596411889E+01 1.217907185E+02 1.657910754E+02 1.657299238E+02 1.217152814E+02 1.657651146E+02 1.657348809E+02 1.217482991E+02 1.217771511E+02 1.658280848E+02 1.657501703E+02 1.217400967E+02 1.217691194E+02 1.657407964E+02 1.657279051E+02 8.587887678E+01 1.066424028E+02 8.905939414E+01 4.754781250E+01 8.906612802E+01 8.903661875E+01 8.909686262E+01 8.904517672E+01 8.909743109E+01 8.908236922E+01 5.212203445E+01 8.907660405E+01 8.907808227E+01 8.898469412E+01 8.902619127E+01 8.903908142E+01 8.907221325E+01 8.901501411E+01 5.204141503E+01 5.205654728E+01 5.200227415E+01 5.204193772E+01 8.903744035E+01 8.910340348E+01 2.665454569E+01 2.664878346E+01 -1.774267737E+01-4.524098768E+01-1.777311869E+01 5.066973936E+01 5.067968557E+01 2.758770515E+01 2.758970981E+01 2.763331002E+01 2.755463651E+01 2.732433509E+01 2.755483311E+01 2.733497833E+01 2.757596507E+01-1.118102593E+02-6.448436276E+01 -6.449482692E+01-1.297570744E+02 5.072610848E+01 5.070482824E+01 5.064990642E+01 2.757607511E+01 5.070388671E+01 2.764738315E+01 2.759764042E+01 2.765076438E+01 2.758240358E+01 5.067354064E+01 1.237881323E+02 1.427564387E+01 6.583114431E+01 1.667731338E+01 2.570744927E+01 2.575803132E+01 1.669404429E+01 2.572816888E+01 2.570250295E+01 6.586103046E+01 6.574285193E+01 2.567125125E+01 2.570449754E+01 1.668741985E+01 6.581529147E+01 1.109061723E+02 1.109963904E+02 1.637401194E+02 1.110406312E+02 8.364496808E+01 8.577866653E+01 4.509057801E+00 2.570841689E+01 2.573599699E+01 2.573344310E+01 2.573924995E+01 4.517806067E+00 4.513926295E+00 2.571610432E+01 2.567404026E+01 6.585177966E+01 6.581210592E+01 2.565455990E+01 2.568125962E+01 4.515725521E+00 4.485338174E+00 2.571037536E+01 2.571079080E+01 1.109652131E+02 6.574208173E+01 2.571531323E+01 2.567884595E+01 2.567878125E+01 1.108592233E+02-7.743035185E+00-7.731185794E+00-1.113979636E+00-1.111450667E+00 -1.723926401E-01-4.818296646E+01-4.819056951E+01 1.692958162E+01 1.692172711E+01 6.403010215E+01 6.403200306E+01 8.751357892E+01 8.750514451E+01 9.530583035E+01 9.529620680E+01 1.038034857E+02 1.037937890E+02 9.528996781E+01 9.530033715E+01 8.748429005E+01 8.748375983E+01 6.401989490E+01 6.401872142E+01 1.687387499E+01 1.688306764E+01-6.703788581E+01-6.703876065E+01-4.825587401E+01-4.825713356E+01 -4.815152727E+01-4.814311208E+01-4.814542302E+01-4.814606064E+01-4.814726846E+01 -4.827566253E+01-4.826605247E+01-6.706512585E+01-6.705479083E+01 1.687108424E+01 1.687094233E+01 6.398984293E+01 6.398996510E+01 8.723216497E+01 8.723268045E+01 9.504932615E+01 9.506066677E+01 1.034941154E+02 1.035056450E+02 1.179588743E+02 1.179705589E+02 1.034904160E+02 1.034914303E+02 1.124031473E+02 1.123631556E+02 1.123965105E+02 1.033739094E+02 1.033651159E+02 1.123818634E+02 1.123839736E+02 1.034807886E+02 1.034928989E+02 1.179741219E+02 1.179652124E+02 9.508755234E+01 9.508863577E+01 8.721697839E+01 8.721832141E+01 6.374072012E+01 6.376255996E+01 1.661768202E+01 1.662845331E+01-6.728566112E+01-6.727488694E+01-4.849640598E+01 -4.848589324E+01-1.521542473E+01-1.521558506E+01-4.721734727E-01-4.829918028E-01 -1.521034821E+01-1.521099416E+01-4.848562459E+01-4.848684867E+01-4.837706629E+01 -4.839201816E+01-4.837738417E+01-4.839232927E+01-4.840691068E+01-4.848094114E+01 -4.848114118E+01-5.213735340E+01-5.212704777E+01-4.848293467E+01-4.848298086E+01 -4.850204632E+01-4.850180023E+01-1.521888527E+01-1.522890230E+01-1.479891652E+01 -1.478805778E+01-4.898694888E-01-4.893632510E-01-1.398120193E+00-1.397532054E+00 -8.021042097E+00-8.020067512E+00 1.104921809E+02 1.104930456E+02 1.104768257E+02 1.104778462E+02-8.049975560E+00-8.048909987E+00-1.441770006E+00-1.430215501E+00 -4.931024071E-01-5.024998180E-01-1.517845775E+01-1.518753196E+01-1.475573000E+01 -1.475470041E+01-4.851284394E+01-4.850105773E+01-5.213108808E+01-5.212983843E+01 -4.849291471E+01-4.848038391E+01-4.852230497E+01 6.374509209E+01 6.373503397E+01 8.721878765E+01 8.721907289E+01 9.503402929E+01 9.504462541E+01 6.373945149E+01 1.660938072E+01 1.660917308E+01-4.853278972E+01-4.853314926E+01-4.843060132E+01 -4.845551924E+01-4.841878667E+01-4.844297700E+01-4.843337443E+01-4.854872693E+01 -4.853831814E+01-6.735704037E+01-6.735707224E+01-4.851767040E+01-4.851768348E+01 -1.524669163E+01-1.523620018E+01-1.481724142E+01-1.482766501E+01-5.215927559E-01 -5.215064891E-01-1.442563659E+00-1.442384895E+00-8.091089017E+00-8.080397371E+00 1.104586383E+02 1.104588601E+02-6.597214807E+01-2.209324741E+00-6.599561041E+01 -2.198774154E+00-6.599047472E+01-2.200058630E+00-6.598629910E+01-6.675986110E+01 -2.976195768E+00-6.673718955E+01-2.955923437E+00-6.674036853E+01-2.950768501E+00 -2.600058955E+01-2.601041334E+01-2.599912360E+01-2.974770967E+00-6.674723003E+01 -2.979176141E+00-6.675627950E+01-2.980406707E+00-6.675990061E+01-2.601686752E+01 -2.598590848E+01-2.987457120E+01-3.701250236E+01 1.362276561E+01 2.190369763E+01 3.311611380E+01 5.422529951E+01 6.814783324E+01 8.653463383E+01 9.547726365E+01 1.059306776E+02 1.143523250E+02 1.422289163E+02 1.360343670E+02 1.539658390E+02 1.539506484E+02 1.360229245E+02 6.544012583E+01 8.689335614E+00-3.907013933E+01 -2.502438697E+01-2.501176021E+01 1.215506347E+01 4.056059847E+01 1.163400588E+01 1.210917905E+01-2.507548950E+01-3.910260692E+01-1.088604530E+01 8.734458324E+00 6.539052776E+01 1.360364338E+02 1.539199536E+02 1.359488920E+02 1.539261576E+02 1.878003652E+02 2.167289744E+02 2.167428035E+02 1.581479617E+01-4.931768292E+01 -4.932502230E+01-1.560864436E+01 1.096517169E+02 2.167499746E+02 2.167098748E+02 2.166993431E+02 2.124726818E+02 2.074807797E+02 2.022149809E+02 2.148302534E+02 2.148000708E+02 2.127451770E+02 2.153277263E+02 2.581972920E+02 2.807858552E+02 2.952460079E+02 3.148493716E+02 3.148305603E+02 2.391684673E+02 2.391583537E+02 2.174386430E+02 3.322977947E+02 2.996289561E+02 2.653876807E+02 2.996611444E+02 1.449693987E+02 2.324446186E+02 2.323483650E+02 1.955309124E+02 2.117066895E+02 2.085960166E+02 2.323986832E+02 2.453692454E+02 2.323733250E+02 2.323759119E+02 2.193170133E+02 2.951651746E+02 3.154690814E+02 2.888249210E+02 3.339788203E+02 4.204543748E+02 4.086501844E+02 4.204369417E+02 3.340382032E+02 2.887994503E+02 3.154280164E+02 2.952016996E+02 2.193427702E+02 2.453631421E+02 2.324056399E+02 2.474159495E+02 2.474299118E+02 1.223919264E+02 2.073651681E+02 2.381668633E+02 2.219896897E+02 2.917082317E+02 2.635721685E+02 2.916893035E+02 2.352588191E+02 3.474108197E+02 3.762197316E+02 3.732359908E+02 3.133102191E+02 3.374406315E+02 3.132449106E+02 3.374460718E+02 3.732739548E+02 3.762029695E+02 2.352400783E+02 2.775949421E+02 2.917226109E+02 2.636228428E+02 2.917451707E+02 1.874756975E+02 1.939737698E+02 1.737493765E+02 1.939572458E+02 1.509138263E+02 1.529112098E+02 1.556300522E+02 1.529279092E+02 1.556329732E+02 1.509347016E+02 1.874340563E+02 1.939335667E+02 1.737148197E+02 2.916450515E+02 2.635101662E+02 2.916460146E+02 2.473888516E+02 2.473790892E+02 1.222726586E+02 2.073213697E+02 2.381114657E+02 2.218990850E+02 2.380843170E+02 2.116175884E+02 1.448601983E+02 2.995871080E+02 2.653276022E+02 2.517126232E+02 2.173563964E+02 2.390498390E+02 2.173505727E+02 2.653349760E+02 4.204052092E+02 4.203544320E+02 4.085717763E+02 4.204008146E+02 3.340105091E+02 2.887962069E+02 3.154688476E+02 2.193130576E+02 2.453305050E+02 2.085832618E+02 2.116590180E+02 1.954595940E+02 1.448929594E+02 1.954715793E+02 2.323080471E+02 2.453485171E+02 2.085819211E+02 2.116565563E+02 2.073132117E+02 1.222746269E+02 2.473705075E+02 2.381062034E+02 2.219771936E+02 2.916960570E+02 2.775938129E+02 2.352151243E+02 2.775819784E+02 2.916781548E+02 1.939062134E+02 1.737162153E+02 1.939212611E+02 1.874114065E+02 1.873925367E+02 1.508977926E+02 1.556552001E+02 1.529409503E+02 1.556926617E+02 1.529655491E+02 1.556828731E+02 1.509397941E+02 1.874412855E+02 2.138591147E+02 2.117109953E+02 2.415065694E+02 3.037265517E+02 3.670767935E+02 3.670901394E+02 4.261661421E+02 4.422428839E+02 4.544124346E+02 4.725840752E+02 4.726381696E+02 4.544237814E+02 4.422538336E+02 4.261778770E+02 4.527684602E+02 4.711222353E+02 4.800915618E+02 4.630522978E+02 4.513970697E+02-9.322790259E+01-9.322349763E+01-9.319757128E+01-9.317585021E+01 4.117519627E+02 4.086365657E+02 4.204341182E+02 3.340342646E+02 2.888530630E+02 3.154866700E+02 2.193007207E+02 2.323866546E+02 2.453599473E+02 2.193287509E+02 3.154758667E+02 2.888447249E+02 3.340604453E+02 4.086548174E+02 4.204628295E+02 3.643627894E+02 3.643468088E+02 2.390871115E+02 2.174321678E+02 2.174225589E+02 2.391174243E+02 3.148522701E+02 2.952092179E+02 2.807381153E+02 2.581271178E+02 2.127225064E+02 2.148285174E+02 2.022042881E+02 2.074810403E+02 2.124929091E+02 2.167186286E+02 2.167069950E+02 1.877466708E+02 1.538885778E+02 1.359198980E+02 1.301016007E+02 1.421321840E+02 1.142567766E+02 9.541342092E+01 6.805636445E+01 5.410624399E+01 3.301290058E+01 2.182596018E+01 1.358132990E+01-3.706857182E+01 -2.995344702E+01-2.603078447E+01-2.605456140E+01-2.605952953E+01-2.608363381E+01 -2.608498876E+01-6.683252096E+01-3.056186543E+00-6.681391568E+01-3.049359791E+00 -6.682921809E+01-3.046087397E+00-1.041767500E+02-1.164744906E+02-1.041396855E+02 -1.040704581E+02-1.041502317E+02-8.778531551E+01-8.200384036E+01-8.208215839E+01 -8.782926339E+01-8.206368786E+01-8.813252246E+01-1.172532826E+02-1.165446683E+02 -1.042835352E+02-1.165351471E+02-1.172480038E+02-8.822371209E+01-1.172666184E+02 -1.042897336E+02-1.165600418E+02-1.172811883E+02-8.827802727E+01-8.794239114E+01 -1.165649369E+02-1.540127018E+02-1.201965520E+02-1.202151599E+02-6.342429271E+01 -1.319630618E+02-1.958146494E+02-1.319478667E+02-1.958259371E+02-1.319438965E+02 -1.957884148E+02-1.319249332E+02-1.037426607E+02-1.037413887E+02-1.037239186E+02 -1.535336851E+02-1.041243376E+02-1.041597801E+02-1.041657166E+02-1.041399796E+02 -1.041501627E+02-1.041542914E+02-1.164856802E+02-1.538855609E+02-1.200991496E+02 -1.201104736E+02-1.292189873E+02-1.930567846E+02-1.292296532E+02-1.930031146E+02 -1.291791887E+02-1.930334111E+02-1.291736885E+02-1.930527863E+02-1.291454956E+02 -1.931031984E+02-1.292025147E+02 7.823027312E+01 9.098810400E+01 7.824118662E+01 -2.185657189E+02 3.252604464E+02-2.176296605E+02-4.617257692E+02-1.112605432E+02 -1.522209040E+02-1.113120313E+02-2.185914594E+02 3.252456320E+02-4.617852150E+02 -1.112649393E+02-1.522603508E+02-1.112933026E+02 9.096000808E+01 7.829268713E+01 -2.176841421E+02-4.617380219E+02-2.176936399E+02-4.617190743E+02-1.112437337E+02 -1.522230183E+02-1.113434678E+02 9.101026504E+01 7.821425507E+01-2.186205832E+02 3.252048935E+02-1.113021802E+02-1.522005296E+02-1.112679404E+02 7.824888092E+01 9.098072907E+01 3.251691263E+02-2.186513738E+02-4.617627011E+02-2.177349376E+02 -4.617378582E+02 7.825390850E+01 9.103616124E+01-2.910529453E+01-2.908277168E+01 -2.905411301E+01-2.906863478E+01-2.906244839E+01-3.293961819E+01-2.064171436E+01 -1.957113080E+01-1.063851533E+01-1.673888878E+01-1.428152081E+01-1.293725196E+01 -1.397735154E+01-2.937599765E+01-4.205092673E+01-1.386211576E+01-1.895284204E+01 -1.392344189E+01-4.411909395E+00-1.388555525E+01-1.897869592E+01-4.207229984E+01 -2.938345817E+01-1.402324358E+01-1.296287621E+01-1.431144914E+01-1.395986750E+01 -3.288760474E+01-6.622191435E+01-7.891778494E+01-1.109937934E+01 3.755032554E+01 3.801805927E+01 3.798675897E+01-6.671672935E+01 2.948212779E+01 3.260336225E+01 -1.162197922E+01-1.167436690E+01 3.250428355E+01 2.943677908E+01-6.677664898E+01 3.795942984E+01 3.800105483E+01 3.752400698E+01 8.569895048E+00 9.251708129E+00 2.557501556E+01 6.170134207E+01 7.763242302E+01 9.951020770E+01 1.084914392E+02 9.960063451E+01 1.140165287E+02 1.172549412E+02 1.188165301E+02 1.022023702E+02 1.021477846E+02 1.187817662E+02 1.172395160E+02 1.139763908E+02 9.959022871E+01 1.084829352E+02 9.949067467E+01 7.759785360E+01 6.163861999E+01 2.552926125E+01 9.229685344E+00-2.810774244E+01-4.218303425E+01 5.616945018E+00 6.230267163E+01 1.328976788E+02 1.508284338E+02 1.846975233E+02 2.137131225E+02 2.094213597E+02 1.798159917E+02 1.411490786E+02 1.065615423E+02-1.194625156E+01 7.900937970E+01 1.112724838E+02 1.703493604E+02 1.991570603E+02 2.044510080E+02 2.094617312E+02 2.136575243E+02 2.093831319E+02 1.797614490E+02 1.411135465E+02 1.065115785E+02 -1.195404820E+01 7.896558569E+01 1.112574387E+02 1.521554192E+02 1.748233143E+02 2.230829060E+02 1.518454049E+02 4.086466300E+01 1.007230028E+02 1.394221035E+02 1.909025267E+02 1.296666607E+02 2.107778270E+02 2.107667394E+02 2.086492058E+02 2.384445559E+02 3.006657720E+02 3.639884712E+02 3.927981007E+02 3.804531928E+02 4.046690897E+02 4.230814782E+02 4.391593464E+02 4.513647062E+02 4.696982920E+02 5.129127103E+02 5.135787534E+02 4.978362431E+02 4.680479634E+02 4.496803453E+02 4.230554874E+02 4.230067237E+02 4.391454269E+02 4.513035603E+02 4.697046862E+02 5.095673023E+02 4.710341590E+02 3.936693820E+02 3.793315972E+02 3.268133009E+02 3.639822848E+02 3.268110073E+02 3.090439412E+02 2.962398458E+02 3.311481546E+02 3.564232505E+02 3.564346395E+02 4.377949490E+02 5.096133411E+02 4.710178956E+02 3.936490498E+02 3.793652438E+02 3.927722848E+02 3.639831488E+02 3.267997789E+02 3.090201254E+02 2.962529483E+02 2.962519733E+02 3.311287086E+02 3.564378222E+02 3.564365031E+02 4.377900116E+02 4.710348423E+02 5.096243679E+02 4.697779361E+02 4.513138267E+02 5.128869275E+02 5.135494141E+02 4.978319661E+02 4.289303894E+02 4.770335982E+02 4.770250989E+02 4.599554221E+02 4.483224936E+02 3.427622138E+02 4.483186339E+02-9.634625500E+01 4.086108471E+02 4.173284902E+02 4.086110126E+02 -9.636514425E+01 4.482963474E+02 4.599311050E+02 4.770349156E+02 4.289241489E+02 4.680362501E+02 4.496491184E+02 4.230286563E+02 4.046327704E+02 3.804553917E+02 3.639886665E+02 3.006575257E+02 2.384465298E+02 2.107507814E+02 2.086451858E+02 2.107440637E+02 2.086491811E+02 1.296443248E+02 1.908495109E+02 1.393721470E+02 1.006642436E+02-2.426569559E+01-2.444682707E+01-2.425984204E+01 4.086620123E+01 1.518168353E+02 2.230189054E+02 2.776643769E+02 2.550578533E+02 1.747887250E+02 1.521227635E+02 2.117555259E+02 1.702763598E+02 1.991135831E+02 2.043828157E+02 2.094005182E+02 2.136226190E+02 2.093498981E+02 1.797439044E+02 1.846642366E+02 1.507911302E+02 1.328379373E+02 6.221888779E+01 5.570212143E+00-4.222146232E+01 -2.817691957E+01 9.202289612E+00 8.520945500E+00 3.749923189E+01-1.121032191E+01 -7.899897740E+01-6.631508437E+01-3.294860349E+01-2.945265561E+01-1.408584208E+01 -1.304743180E+01-1.400938971E+01-1.678081683E+01-1.683210700E+01-1.076610471E+01 -1.965543106E+01-2.077819133E+01-3.308462881E+01-2.913825281E+01-2.917049148E+01 SparseM/inst/extdata/lsq.rra0000644000176200001440000210610411547113521015544 0ustar liggesusers1UNSYMMETRIC LEAST-SQUARES PROBLEM. SAUNDERS 1979. WELL1850 2715 45 548 1752 370 RRA 1850 712 8758 0 (16I5) (16I5) (1P,5D16.9) (1P,5D16.9) F 1 0 1 14 18 27 39 44 53 57 62 68 76 81 87 93 100 102 109 115 122 128 135 141 149 156 162 166 169 175 182 190 194 200 206 212 216 222 228 240 250 258 271 275 288 298 316 320 324 330 336 342 350 361 378 388 396 399 406 410 412 416 418 420 423 425 428 430 433 436 438 442 448 455 459 462 467 471 474 478 495 497 511 517 523 539 544 558 571 583 595 630 634 638 654 670 684 697 703 705 711 718 723 731 735 739 740 741 748 759 765 772 779 782 788 806 814 820 846 856 871 873 915 919 927 934 942 947 951 960 980 982 997 1000 1005 1014 1021 1023 1027 1032 1037 1048 1068 1080 1095 1104 1107 1113 1115 1117 1134 1149 1158 1172 1174 1195 1200 1207 1213 1215 1216 1221 1229 1235 1248 1252 1261 1267 1277 1283 1289 1295 1299 1301 1309 1317 1324 1340 1347 1354 1373 1379 1386 1397 1406 1416 1421 1426 1432 1438 1439 1443 1444 1448 1455 1456 1463 1468 1469 1475 1484 1492 1501 1510 1514 1516 1520 1522 1526 1530 1538 1543 1548 1551 1579 1583 1587 1613 1637 1648 1651 1659 1674 1684 1688 1693 1698 1701 1704 1707 1711 1714 1719 1724 1729 1734 1739 1743 1746 1749 1753 1756 1759 1762 1764 1766 1768 1771 1776 1779 1783 1787 1792 1807 1810 1816 1820 1826 1834 1836 1840 1848 1856 1861 1869 1879 1883 1892 1897 1902 1911 1915 1920 1928 1937 1941 1952 1960 1968 1976 1986 1990 1998 2002 2010 2022 2030 2034 2038 2046 2050 2054 2063 2068 2073 2080 2087 2092 2101 2109 2112 2115 2119 2124 2132 2139 2151 2155 2160 2167 2174 2178 2181 2185 2189 2193 2200 2207 2219 2226 2230 2236 2243 2247 2250 2254 2258 2261 2267 2271 2276 2284 2287 2292 2297 2300 2305 2310 2320 2330 2335 2338 2341 2345 2349 2352 2355 2358 2361 2364 2367 2370 2373 2376 2379 2383 2391 2395 2399 2409 2412 2419 2422 2426 2433 2436 2442 2449 2462 2465 2472 2475 2479 2483 2490 2493 2501 2505 2508 2512 2522 2529 2533 2539 2543 2549 2553 2560 2564 2573 2577 2580 2588 2592 2599 2603 2608 2612 2615 2618 2621 2625 2630 2639 2642 2647 2650 2653 2661 2711 2752 2759 2779 2784 2802 2813 2824 2839 2853 2896 2939 3065 3199 3261 3348 3376 3387 3397 3449 3686 3690 3698 3706 3711 3719 3729 3733 3742 3752 3761 3765 3770 3778 3787 3791 3802 3810 3818 3826 3836 3840 3848 3852 3860 3872 3880 3884 3888 3896 3900 3904 3913 3918 3923 3930 3937 3942 3951 3959 3965 3969 3974 3982 3989 4001 4017 4028 4035 4050 4057 4069 4080 4086 4093 4100 4104 4111 4117 4126 4134 4137 4142 4150 4160 4170 4180 4191 4199 4211 4220 4223 4226 4229 4241 4249 4259 4272 4276 4286 4292 4299 4312 4322 4325 4329 4343 4355 4362 4372 4379 4383 4393 4399 4403 4410 4414 4423 4430 4438 4449 4453 4471 4475 4480 4489 4492 4497 4500 4503 4561 4602 4629 4652 4674 4703 4746 4915 5198 5226 5247 5299 5536 5549 5558 5570 5575 5584 5589 5595 5603 5608 5614 5620 5627 5633 5640 5646 5653 5659 5667 5674 5680 5686 5693 5701 5707 5713 5719 5725 5737 5747 5755 5768 5781 5791 5809 5815 5821 5827 5835 5846 5863 5873 5881 5888 5892 5898 5905 5908 5913 5917 5920 5926 5932 5948 5962 5975 5987 5999 6034 6050 6066 6080 6093 6099 6105 6112 6117 6125 6129 6136 6147 6153 6160 6167 6173 6191 6199 6205 6231 6241 6256 6298 6306 6313 6321 6325 6334 6354 6369 6374 6383 6385 6389 6394 6405 6425 6437 6452 6461 6467 6484 6499 6508 6522 6543 6548 6555 6561 6569 6575 6588 6592 6601 6607 6617 6623 6629 6635 6639 6647 6654 6670 6677 6684 6703 6709 6716 6727 6736 6746 6751 6756 6762 6768 6775 6782 6788 6797 6805 6814 6818 6826 6831 6836 6840 6844 6870 6894 6909 7309 7726 7784 7825 7852 7875 7897 7926 7969 8138 8421 8449 8470 8522 8759 1 3 26 28 164 166 1259 1262 1277 1279 1490 1686 1827 2 4 5 7 6 8 9 11 1263 1276 1540 1685 1828 10 12 13 15 1264 1275 1538 1539 1560 1561 1684 1829 14 16 17 19 1274 18 20 21 23 25 1265 1273 1683 1830 22 24 152 154 27 29 30 32 1491 31 33 35 37 1258 1492 34 36 38 39 41 43 1257 1493 40 42 44 46 1256 45 47 49 51 1255 1494 48 50 52 53 55 1254 54 56 57 59 61 67 69 58 60 62 64 66 72 74 1252 1496 63 65 76 78 1251 1497 68 70 71 73 75 1253 1495 77 79 81 83 1250 1498 80 82 84 86 88 1249 1499 85 87 89 91 1248 1500 90 92 94 96 1247 1501 1619 1848 93 95 97 98 100 1620 1847 99 101 102 104 1621 1846 103 105 106 108 107 109 111 110 112 113 115 1622 1845 114 116 117 119 1623 1843 1844 118 120 121 123 372 376 1640 1842 122 124 125 127 126 128 129 131 1641 1838 130 132 133 135 1642 1837 134 136 137 139 1643 1836 138 140 142 144 141 143 145 146 148 150 147 149 167 169 1644 1835 151 153 192 194 1266 1267 1272 1537 1551 1559 1682 1831 155 157 298 300 302 304 306 308 401 403 156 158 159 161 1281 1488 1688 1825 160 162 163 165 989 990 1260 1261 1278 1280 1489 1687 1826 168 170 171 173 172 174 175 177 294 296 1269 1523 1529 1534 1645 1658 1834 176 178 180 1270 1524 1528 1530 1533 1659 1833 179 181 182 184 186 195 197 1268 1271 1514 1525 1527 1532 1536 1558 1660 1681 1832 183 185 187 189 188 190 191 193 196 198 199 201 1661 1680 200 202 203 205 1662 1679 204 206 207 209 1663 1678 208 210 211 213 1117 1118 1664 1677 212 214 215 217 1114 1115 1116 1119 1120 1665 1676 216 218 219 220 222 369 371 1077 1078 1108 1109 1112 1113 1121 1122 1666 1675 221 223 224 226 1110 1111 1123 1124 1667 1674 225 227 229 231 266 268 1668 1673 228 230 232 233 234 265 271 273 1669 1672 235 264 1670 1671 236 263 237 238 261 262 239 260 240 259 241 242 258 243 257 244 255 256 245 254 246 247 253 248 251 252 249 250 267 269 270 272 274 288 289 291 1646 1657 275 287 1518 1521 1535 1647 1656 276 277 279 286 278 1648 1655 280 283 284 1650 1653 281 282 1651 1652 285 1649 1654 290 292 293 295 297 299 1282 1283 1289 1290 1291 1486 1487 1574 1589 1598 1606 1613 1689 1701 1822 301 303 305 307 309 311 402 404 410 1292 1485 1690 1700 1702 1821 1823 310 312 314 1691 1703 1824 313 315 316 318 1692 1704 317 319 321 323 991 993 1061 1168 1169 1170 1171 1221 1222 1288 1693 1705 320 322 324 325 327 326 328 330 424 1062 1063 1166 1167 1172 1173 1219 1220 1694 1706 329 331 332 334 1007 1064 1065 1164 1165 1174 1175 1217 1218 333 335 337 1066 1139 1140 1162 1163 1176 1177 1215 1216 336 338 339 341 344 1160 1161 1180 1181 1213 1214 1287 340 342 343 345 346 348 1067 1068 1089 1090 1096 1097 1135 1136 1143 1144 1150 1151 1154 1155 1156 1157 1182 1183 1186 1187 1188 1198 1199 1205 1206 1209 1210 1285 1286 347 349 350 352 351 353 354 356 355 357 358 360 1004 1069 1070 1085 1086 1100 1101 1131 1132 1196 1197 1284 359 361 363 1005 1006 1071 1072 1083 1084 1102 1103 1129 1130 1189 1190 1195 362 364 365 367 1073 1074 1081 1082 1104 1105 1127 1128 1191 1192 366 368 370 1075 1076 1079 1080 1106 1107 1125 1126 1193 1194 373 377 379 1625 1638 1841 374 375 378 380 382 1626 1637 1840 381 383 384 386 1627 1636 1839 385 387 389 1628 1635 388 390 392 394 395 1629 1631 1633 391 393 1630 1634 396 397 400 1632 398 399 405 406 409 1293 1484 1699 1820 407 408 411 412 414 447 450 1294 1483 1698 1819 413 415 417 968 1697 1818 416 418 419 421 427 1696 1708 420 422 423 425 992 1695 1707 426 428 430 429 431 432 434 1709 1816 433 435 436 438 975 983 984 985 986 994 995 1008 1009 1010 1012 1017 1710 1815 437 439 442 453 455 471 473 1298 440 441 443 445 1297 1481 444 446 448 449 451 452 967 969 970 971 972 973 974 976 977 978 979 980 981 982 987 988 1295 1296 1482 1817 454 456 457 459 474 475 477 1299 1480 1814 458 460 464 465 826 895 896 897 898 899 900 908 909 1711 1812 461 462 463 466 468 530 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 901 902 903 904 905 906 996 997 998 999 1001 1003 1011 1013 1014 1015 1016 1712 1811 467 469 470 472 476 478 480 825 827 1300 1479 1813 479 481 483 828 829 1301 1478 482 484 485 487 830 1302 1303 1477 486 488 490 610 612 489 491 493 1307 492 494 495 497 925 926 1308 1310 1385 496 498 504 907 914 915 916 924 927 929 930 931 932 933 934 935 936 937 1018 1387 499 500 501 506 508 691 693 928 938 939 940 941 942 943 1019 1715 1805 502 503 505 507 509 511 1714 1806 510 512 518 524 526 910 911 912 913 513 516 517 519 520 522 523 514 1808 515 521 1807 1809 525 527 533 1713 1810 528 529 531 532 534 535 537 538 540 684 686 687 689 1021 1024 1031 536 553 557 688 690 692 1020 1027 1028 1032 1048 1049 1057 1361 1363 1371 1420 1422 1716 1804 539 543 681 683 685 1039 1044 1045 1052 1053 1717 1803 541 545 547 548 674 676 678 680 682 1038 1433 1718 1719 1799 1801 542 544 677 679 1037 1434 1720 1800 1802 546 549 551 550 552 554 558 562 1033 555 556 559 560 561 563 564 566 638 842 945 946 1035 1342 1344 1357 1359 1373 1375 1415 1419 565 567 569 841 951 954 957 958 961 962 1336 1337 1376 1377 1412 568 570 572 815 817 840 949 950 965 571 575 579 816 839 966 1312 1313 1317 1319 1320 1335 1406 1463 573 574 576 577 1022 1023 1025 1026 1029 1030 1040 1041 1042 1043 1046 1047 1050 1051 1054 1055 1058 1059 1060 578 580 582 1000 1002 581 583 585 836 838 1322 1332 584 586 587 589 837 1780 588 590 591 592 595 597 598 615 594 614 616 618 1451 1779 1781 1787 596 599 602 1456 1783 1785 600 601 603 605 835 1326 1328 1392 1393 1395 1458 1470 1784 604 606 608 834 607 609 611 613 831 832 833 1471 1472 617 619 621 1450 1778 1788 620 622 624 640 642 847 1449 1776 1777 1789 623 625 628 846 1775 1790 626 627 629 630 632 845 631 633 635 844 1347 1354 634 636 843 1346 637 639 641 643 644 646 807 811 812 814 645 647 648 650 848 1448 1734 1791 649 651 653 849 1447 1735 1792 652 654 655 657 658 753 755 850 851 874 1439 1446 1727 1736 1737 1793 656 659 661 852 873 1726 1794 660 662 664 853 872 1725 1795 663 665 666 668 694 696 749 750 752 854 869 870 871 1437 1438 1723 1746 1759 1796 667 669 671 1436 1722 1797 670 672 673 675 1435 1721 1798 695 697 698 700 702 714 716 855 1745 1747 1760 699 701 703 705 707 856 859 1748 1761 704 706 708 710 711 713 857 1749 1762 1763 709 712 858 1750 1764 715 717 719 1744 1757 718 720 722 724 1743 1756 721 723 727 864 1753 1767 725 726 728 731 733 729 730 732 734 736 735 737 740 866 1741 1754 1769 738 739 741 743 865 1742 1755 1768 742 744 747 768 770 745 746 748 751 868 1724 1758 754 756 757 759 875 1440 1445 1728 1738 758 760 762 1441 1444 1729 1739 1771 761 763 765 767 1442 1443 1730 1740 1770 764 766 774 775 781 786 789 790 792 769 771 778 867 772 773 776 777 779 780 782 783 784 785 787 788 791 793 796 798 794 795 797 799 800 802 1731 1772 801 803 805 1732 1773 804 806 809 1733 1774 808 810 813 818 819 820 821 822 823 824 1236 1237 1238 1245 1246 1502 1503 1504 1505 1506 1581 1587 1596 1603 1614 1615 1616 1617 1618 1849 1850 860 862 1751 1765 861 863 1752 1766 917 919 921 923 1224 1226 1228 1231 1233 1235 1239 1241 1243 1508 1510 1512 1541 1543 1545 1547 1562 1564 1566 1568 1570 1572 918 920 922 1223 1225 1227 1229 1230 1232 1234 1240 1242 1244 1507 1509 1511 1542 1544 1546 1563 1565 1567 1569 1571 944 947 948 952 953 955 956 959 960 963 964 1034 1036 1056 1087 1088 1098 1099 1133 1134 1207 1208 1091 1092 1093 1094 1095 1145 1146 1147 1148 1149 1200 1201 1202 1203 1204 1137 1138 1141 1142 1158 1159 1178 1179 1211 1212 1152 1153 1184 1185 1304 1305 1389 1473 1476 1306 1388 1390 1474 1475 1309 1386 1391 1311 1384 1404 1314 1403 1405 1315 1383 1402 1409 1316 1401 1408 1318 1334 1400 1407 1464 1321 1333 1399 1462 1465 1323 1331 1398 1461 1466 1324 1330 1397 1460 1467 1325 1329 1396 1459 1468 1327 1394 1457 1469 1338 1378 1411 1339 1379 1410 1340 1380 1382 1413 1341 1381 1414 1343 1358 1374 1345 1355 1417 1348 1353 1349 1351 1350 1352 1356 1416 1418 1360 1370 1423 1424 1432 1362 1372 1421 1364 1369 1425 1431 1365 1367 1427 1429 1366 1368 1426 1428 1430 1513 1515 1516 1517 1526 1531 1548 1549 1550 1552 1553 1554 1555 1556 1557 1519 1520 1522 1573 1575 1590 1599 1605 1612 1577 1584 1601 1607 1579 1585 1592 1594 1609 1611 1580 1582 1586 1588 1595 1597 1602 1604 1624 1639 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1 3 26 28 164 166 1259 1262 1277 1279 1490 1686 1827 6 8 9 11 1263 1276 1540 1685 1828 10 12 13 15 1264 1275 1538 1539 1560 1561 1684 1829 14 16 17 19 1274 18 20 21 23 25 1265 1273 1683 1830 27 29 30 32 1491 31 33 35 37 1258 1492 34 36 38 39 41 43 1257 1493 40 42 44 46 1256 45 47 49 51 1255 1494 48 50 52 53 55 1254 62 64 66 72 74 1252 1496 63 65 76 78 1251 1497 68 70 71 73 75 1253 1495 77 79 81 83 1250 1498 80 82 84 86 88 1249 1499 85 87 89 91 1248 1500 90 92 94 96 1247 1501 1619 1848 93 95 97 98 100 1620 1847 99 101 102 104 1621 1846 110 112 113 115 1622 1845 114 116 117 119 1623 1843 1844 118 120 121 123 372 376 1640 1842 126 128 129 131 1641 1838 130 132 133 135 1642 1837 134 136 137 139 1643 1836 147 149 167 169 1644 1835 151 153 192 194 1266 1267 1272 1537 1551 1559 1682 1831 155 157 298 300 302 304 306 308 401 403 156 158 159 161 1281 1488 1688 1825 160 162 163 165 989 990 1260 1261 1278 1280 1489 1687 1826 172 174 175 177 294 296 1269 1523 1529 1534 1645 1658 1834 176 178 180 1270 1524 1528 1530 1533 1659 1833 179 181 182 184 186 195 197 1268 1271 1514 1525 1527 1532 1536 1558 1660 1681 1832 196 198 199 201 1661 1680 200 202 203 205 1662 1679 204 206 207 209 1663 1678 208 210 211 213 1117 1118 1664 1677 212 214 215 217 1114 1115 1116 1119 1120 1665 1676 216 218 219 220 222 369 371 1077 1078 1108 1109 1112 1113 1121 1122 1666 1675 221 223 224 226 1110 1111 1123 1124 1667 1674 225 227 229 231 266 268 1668 1673 233 234 265 271 273 1669 1672 235 264 1670 1671 274 288 289 291 1646 1657 275 287 1518 1521 1535 1647 1656 278 1648 1655 280 283 284 1650 1653 281 282 1651 1652 285 1649 1654 310 312 314 1691 1703 1824 313 315 316 318 1692 1704 317 319 321 323 991 993 1061 1168 1169 1170 1171 1221 1222 1288 1693 1705 326 328 330 424 1062 1063 1166 1167 1172 1173 1219 1220 1694 1706 329 331 332 334 1007 1064 1065 1164 1165 1174 1175 1217 1218 333 335 337 1066 1139 1140 1162 1163 1176 1177 1215 1216 336 338 339 341 344 1160 1161 1180 1181 1213 1214 1287 340 342 343 345 346 348 1067 1068 1089 1090 1096 1097 1135 1136 1143 1144 1150 1151 1154 1155 1156 1157 1182 1183 1186 1187 1188 1198 1199 1205 1206 1209 1210 1285 1286 355 357 358 360 1004 1069 1070 1085 1086 1100 1101 1131 1132 1196 1197 1284 359 361 363 1005 1006 1071 1072 1083 1084 1102 1103 1129 1130 1189 1190 1195 362 364 365 367 1073 1074 1081 1082 1104 1105 1127 1128 1191 1192 366 368 370 1075 1076 1079 1080 1106 1107 1125 1126 1193 1194 373 377 379 1625 1638 1841 378 380 382 1626 1637 1840 381 383 384 386 1627 1636 1839 385 387 389 1628 1635 388 390 392 394 395 1629 1631 1633 396 397 400 1632 405 406 409 1293 1484 1699 1820 407 408 411 412 414 447 450 1294 1483 1698 1819 413 415 417 968 1697 1818 416 418 419 421 427 1696 1708 420 422 423 425 992 1695 1707 429 431 432 434 1709 1816 433 435 436 438 975 983 984 985 986 994 995 1008 1009 1010 1012 1017 1710 1815 437 439 442 453 455 471 473 1298 440 441 443 445 1297 1481 444 446 448 449 451 452 967 969 970 971 972 973 974 976 977 978 979 980 981 982 987 988 1295 1296 1482 1817 454 456 457 459 474 475 477 1299 1480 1814 458 460 464 465 826 895 896 897 898 899 900 908 909 1711 1812 463 466 468 530 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 901 902 903 904 905 906 996 997 998 999 1001 1003 1011 1013 1014 1015 1016 1712 1811 476 478 480 825 827 1300 1479 1813 479 481 483 828 829 1301 1478 482 484 485 487 830 1302 1303 1477 489 491 493 1307 492 494 495 497 925 926 1308 1310 1385 496 498 504 907 914 915 916 924 927 929 930 931 932 933 934 935 936 937 1018 1387 501 506 508 691 693 928 938 939 940 941 942 943 1019 1715 1805 507 509 511 1714 1806 510 512 518 524 526 910 911 912 913 514 1808 515 521 1807 1809 525 527 533 1713 1810 535 537 538 540 684 686 687 689 1021 1024 1031 536 553 557 688 690 692 1020 1027 1028 1032 1048 1049 1057 1361 1363 1371 1420 1422 1716 1804 539 543 681 683 685 1039 1044 1045 1052 1053 1717 1803 541 545 547 548 674 676 678 680 682 1038 1433 1718 1719 1799 1801 542 544 677 679 1037 1434 1720 1800 1802 550 552 554 558 562 1033 561 563 564 566 638 842 945 946 1035 1342 1344 1357 1359 1373 1375 1415 1419 565 567 569 841 951 954 957 958 961 962 1336 1337 1376 1377 1412 568 570 572 815 817 840 949 950 965 571 575 579 816 839 966 1312 1313 1317 1319 1320 1335 1406 1463 576 577 1022 1023 1025 1026 1029 1030 1040 1041 1042 1043 1046 1047 1050 1051 1054 1055 1058 1059 1060 578 580 582 1000 1002 581 583 585 836 838 1322 1332 584 586 587 589 837 1780 594 614 616 618 1451 1779 1781 1787 596 599 602 1456 1783 1785 600 601 603 605 835 1326 1328 1392 1393 1395 1458 1470 1784 604 606 608 834 607 609 611 613 831 832 833 1471 1472 617 619 621 1450 1778 1788 620 622 624 640 642 847 1449 1776 1777 1789 623 625 628 846 1775 1790 626 627 629 630 632 845 631 633 635 844 1347 1354 634 636 843 1346 645 647 648 650 848 1448 1734 1791 649 651 653 849 1447 1735 1792 652 654 655 657 658 753 755 850 851 874 1439 1446 1727 1736 1737 1793 656 659 661 852 873 1726 1794 660 662 664 853 872 1725 1795 663 665 666 668 694 696 749 750 752 854 869 870 871 1437 1438 1723 1746 1759 1796 667 669 671 1436 1722 1797 670 672 673 675 1435 1721 1798 695 697 698 700 702 714 716 855 1745 1747 1760 699 701 703 705 707 856 859 1748 1761 704 706 708 710 711 713 857 1749 1762 1763 709 712 858 1750 1764 715 717 719 1744 1757 718 720 722 724 1743 1756 721 723 727 864 1753 1767 735 737 740 866 1741 1754 1769 739 741 743 865 1742 1755 1768 746 748 751 868 1724 1758 754 756 757 759 875 1440 1445 1728 1738 758 760 762 1441 1444 1729 1739 1771 761 763 765 767 1442 1443 1730 1740 1770 769 771 778 867 794 795 797 799 800 802 1731 1772 801 803 805 1732 1773 804 806 809 1733 1774 860 862 1751 1765 861 863 1752 1766 917 919 921 923 1224 1226 1228 1231 1233 1235 1239 1241 1243 1508 1510 1512 1541 1543 1545 1547 1562 1564 1566 1568 1570 1572 918 920 922 1223 1225 1227 1229 1230 1232 1234 1240 1242 1244 1507 1509 1511 1542 1544 1546 1563 1565 1567 1569 1571 1513 1515 1516 1517 1526 1531 1548 1549 1550 1552 1553 1554 1555 1556 1557 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 9 10 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 7.071067812D-01 7.071067812D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 7.071067812D-01 7.071067812D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 7.071067812D-01 7.071067812D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 7.071067812D-01 7.071067812D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 7.071067812D-01 7.071067812D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 7.071067812D-01 7.071067812D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 7.071067812D-01 7.071067812D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 1.000000000D+00 1.000000000D+00 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 7.071067812D-01 7.071067812D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 7.071067812D-01 7.071067812D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 7.071067812D-01 7.071067812D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 7.071067812D-01 7.071067812D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 7.071067812D-01 7.071067812D-01 1.000000000D+00 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 7.071067812D-01 7.071067812D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 1.000000000D+00 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 1.000000000D+00 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 1.000000000D+00 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 1.000000000D+00 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 7.071067812D-01 7.071067812D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 7.071067812D-01 7.071067812D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 7.071067812D-01 7.071067812D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 -5.740131566D-01-2.420537407D-01 3.457910582D-02 7.814877913D-01-5.088415090D-01 -3.929029373D-01-2.383181751D-01-1.223796034D-01 7.085134937D-02 2.640823022D-01 3.929029373D-01 5.346056362D-01-5.725363468D-01-3.793915549D-01-2.000428199D-01 -7.587831101D-02 7.587831101D-02 2.552270461D-01 3.793915549D-01 5.173521205D-01 -6.979408366D-01-3.130469929D-01 1.488256196D-01 3.284427467D-01 5.337194634D-01 -5.687042300D-01-3.644349555D-01-1.973055491D-01-8.588594491D-02 6.267352738D-02 2.298029337D-01 3.783624060D-01 5.454918122D-01-4.350249032D-01-3.590853941D-01 -3.048428873D-01-2.289033781D-01-1.638123701D-01 1.290971658D-01 2.267336778D-01 3.026731871D-01 3.786126965D-01 4.545522056D-01-7.071067814D-01-1.631784880D-01 2.175713174D-01 6.527139520D-01-5.110634454D-01-3.960741700D-01-2.667112355D-01 -1.373483009D-01-7.985366335D-03 1.644985464D-01 2.794878216D-01 3.944770969D-01 4.807190533D-01-3.512295461D-01-3.288582375D-01-3.064869289D-01-2.953012745D-01 -2.617443115D-01 1.744962077D-01 2.527957880D-01 3.087240597D-01 3.646523313D-01 4.429519118D-01-5.175691006D-01-3.755531888D-01-2.761420505D-01-1.625293212D-01 5.049454637D-02 1.499056846D-01 2.493168228D-01 3.629295522D-01 5.191470550D-01 -5.828042066D-01-3.416438452D-01 2.210636645D-01 7.033843873D-01-6.390281219D-01 -2.954646155D-01-2.061381038D-02 3.229496960D-01 6.321568518D-01-4.864023832D-01 -3.748262094D-01-2.771970571D-01-1.795679049D-01 1.272665734D-01 2.806838126D-01 4.062070083D-01 5.038361603D-01-5.105183892D-01-3.888053959D-01-2.823065265D-01 -1.301652847D-01-8.452291210D-03 1.589030748D-01 2.958301925D-01 3.871149375D-01 4.783996826D-01-7.095242470D-01-1.689343445D-01 2.365080823D-01 6.419505092D-01 -4.710853076D-01-3.680646640D-01-2.959502132D-01-2.135336981D-01-8.990892552D-02 -7.492410462D-03 9.552823338D-02 1.985488772D-01 3.118715853D-01 3.839860361D-01 4.561004869D-01-5.713375803D-01-3.686048904D-01-2.395931788D-01-5.529073356D-02 9.215122259D-02 2.580234233D-01 3.686048904D-01 5.160468467D-01-5.432132172D-01 -3.744479458D-01-2.197464471D-01-1.072362662D-01 7.559277778D-02 2.443580491D-01 3.849957753D-01 5.396972739D-01-5.546845586D-01-3.893127647D-01-2.239409709D-01 -7.235015983D-02 9.302163407D-02 2.446124451D-01 3.824222734D-01 5.202321018D-01 -4.630557655D-01-3.714910660D-01-2.799263667D-01-2.014423387D-01-1.229583106D-01 7.325175950D-02 2.040584729D-01 2.956231723D-01 3.871878716D-01 4.787525711D-01 -6.459422415D-01-2.348880879D-01 1.761660659D-01 7.046642635D-01-5.783469319D-01 -3.521490208D-01-2.082048955D-01-6.426077019D-02 5.911990861D-02 2.236274803D-01 3.675716056D-01 5.526426240D-01-6.953920906D-01-1.896523883D-01 2.317973635D-01 6.532471155D-01-6.084849344D-01-3.928193881D-01-2.079632055D-01-2.310702283D-02 1.463444779D-01 2.695819330D-01 3.620100244D-01 4.544381158D-01-4.720180397D-01 -3.559480301D-01-2.979130250D-01-2.166640183D-01-1.238080105D-01-5.416600458D-02 3.869000324D-03 1.779740150D-01 2.476160209D-01 3.056510257D-01 3.636860308D-01 4.217210356D-01-5.155440953D-01-3.127070743D-01-2.450947339D-01-1.605793084D-01 2.535462764D-02 2.281916488D-01 3.972224998D-01 5.831564358D-01-7.095242473D-01 -1.689343446D-01 2.365080824D-01 6.419505094D-01-7.206576831D-01-1.752951121D-01 2.921585202D-01 6.037942751D-01-5.532177706D-01-3.829969181D-01-2.506029217D-01 -1.182089254D-01 1.844059235D-01 2.789730638D-01 3.735402041D-01 4.681073443D-01 -7.087321464D-01-1.880309777D-01 2.748145058D-01 6.219486183D-01-7.046642635D-01 -1.761660659D-01 2.348880879D-01 6.459422415D-01-5.255787283D-01-3.828569185D-01 -2.605239386D-01-1.381909587D-01-1.585797887D-02 1.676414909D-01 2.899744708D-01 3.919186207D-01 4.734739406D-01-6.324555321D-01-3.162277660D-01 0.0 3.162277660D-01 6.324555321D-01-6.425895644D-01-3.365945337D-01 3.059950307D-02 3.671940368D-01 5.813905583D-01-5.498125957D-01-3.748722245D-01-1.999318530D-01 6.815858632D-03 1.658525599D-01 3.407929314D-01 6.111553235D-01-5.170681280D-01 -3.648471370D-01-2.126261461D-01-6.040515513D-02 1.256427227D-01 4.639115915D-01 5.653922521D-01-5.969620060D-01-3.411211463D-01-4.264014330D-02 3.411211463D-01 6.396021494D-01-5.358070089D-01-3.813573017D-01-2.440686731D-01-1.239411230D-01 1.334750556D-02 1.334750556D-01 2.364415270D-01 3.737301556D-01 5.281798626D-01 -5.561397478D-01-3.716141173D-01-2.280941823D-01-1.050770952D-01 9.995138327D-02 2.639741661D-01 3.869912532D-01 5.100083401D-01-6.146789777D-01-4.279410605D-01 -7.780746555D-03 1.789571707D-01 3.190106087D-01 5.524330053D-01-7.436490464D-01 -1.368679227D-02 9.580754584D-02 6.615282928D-01-6.320168708D-01-3.204592584D-01 -8.901646066D-03 3.471641966D-01 6.142135786D-01-4.681454353D-01-3.541621988D-01 -2.564622819D-01-1.587623650D-01 2.035414935D-02 2.157539831D-01 4.111538168D-01 5.902703314D-01-5.631859205D-01-4.054938628D-01-1.689557762D-01-1.126371841D-02 2.252743681D-01 3.829664260D-01 5.406584837D-01-4.429910821D-01-3.793276931D-01 -2.838326095D-01-2.201692205D-01-1.405899842D-01-4.509490059D-02 3.448433573D-02 1.299794193D-01 2.095586556D-01 2.891378919D-01 3.846329753D-01 4.642122119D-01 -4.281149878D-01-3.844297849D-01-3.232705010D-01-2.795852981D-01-1.135815274D-01 -7.863336510D-02-4.368520285D-02-3.814220211D-12 3.494816225D-02 8.737040565D-02 1.310556085D-01 1.572667302D-01 1.922148925D-01 2.708482576D-01 3.582186632D-01 4.193779472D-01-5.132347461D-01-3.466983978D-01-2.967374933D-01-2.134693192D-01 -9.689387536D-02 3.633520326D-02 1.529106471D-01 1.862179167D-01 2.694860909D-01 3.694078998D-01 4.526760742D-01-6.396021490D-01-3.731012536D-01-5.330017909D-02 0.0 1.599005372D-01 3.731012536D-01 5.330017909D-01-3.433942596D-01 -3.042981389D-01-2.652020184D-01-2.261058977D-01-1.967838072D-01-1.674617167D-01 -1.381396262D-01-4.039932465D-02-1.303204023D-03 8.666306739D-02 1.550812785D-01 2.332735198D-01 3.407878516D-01 3.994320325D-01 4.678502435D-01-5.986927857D-01 -4.141899776D-01-2.296871694D-01 1.920335351D-01 2.711061671D-01 3.501787992D-01 4.292514313D-01-4.995562352D-01-3.813513795D-01-3.306921557D-01-1.280552603D-01 -9.428244439D-02-4.362322054D-02 7.458163512D-02 1.252408590D-01 1.927864907D-01 2.603321226D-01 3.785369782D-01 4.460826098D-01-5.369652087D-01-4.029581846D-01 -2.895676256D-01-1.555606015D-01-7.309474045D-02 5.060405108D-02 1.330699121D-01 2.567687037D-01 2.980016343D-01 3.289263322D-01 3.907757280D-01-6.443170192D-01 -2.941975823D-01-1.629027935D-01 1.726283334D-01 3.914529816D-01 5.373360800D-01 -5.478841452D-01-4.288610378D-01-2.701635613D-01 1.398049198D-01 2.852776067D-01 3.646263450D-01 4.571998728D-01-4.174538088D-01-3.687508644D-01-2.956964479D-01 -8.870893436D-02 1.182785791D-01 4.104962453D-01 6.418352308D-01-7.132923260D-01 -1.802826759D-01 2.743432024D-01 6.192317995D-01-4.963543015D-01-3.033276286D-01 -1.915753444D-01 1.161062693D-02 1.161062693D-02 2.046372997D-01 7.633987209D-01 -5.422997814D-01-2.662198928D-01-1.084599563D-01 9.859996028D-03 1.281799484D-01 7.789396861D-01-6.524016431D-01-3.249881792D-01-1.940227936D-01-1.067125365D-01 2.425284920D-02 1.988733634D-01 2.861836205D-01 3.516663133D-01 4.171490061D-01 -4.634170388D-01-3.934672970D-01-2.535678136D-01-1.661306365D-01 4.371858857D-02 2.885426844D-01 4.109547324D-01 5.333667802D-01-5.307215336D-01-2.719947860D-01 8.027163199D-01-7.558772982D-01-1.316036367D-01 3.374452224D-03 3.408196746D-01 5.432868081D-01-5.814571896D-01-4.237738838D-01-2.858009914D-01 8.869685940D-02 2.266697518D-01 2.266697518D-01 3.055114046D-01 4.434842970D-01-5.228965828D-01 -4.251153876D-01-2.714592233D-01-1.457405436D-01 4.982184716D-02 5.447809456D-02 1.755405269D-01 2.593529801D-01 3.571341755D-01 4.688841130D-01-4.550760723D-01 -3.613839397D-01-3.078455782D-01-1.606150843D-01-9.369213252D-02-2.676918072D-02 2.275380361D-01 3.078455782D-01 3.747685301D-01 4.952298434D-01-4.733470869D-01 -3.859215035D-01-2.984959202D-01-1.860915988D-01-8.617664642D-02 1.011638893D-01 2.135682107D-01 2.635256869D-01 3.634406392D-01 4.883343298D-01-3.929822449D-01 -3.103808813D-01-2.736691641D-01-2.002457299D-01-1.451781542D-01-1.360002249D-01 -7.509214869D-03 2.770065931D-01 2.861845223D-01 3.320741689D-01 5.707003303D-01 -4.460439606D-01-3.373631986D-01-2.830228176D-01-2.105689763D-01 4.301946827D-02 2.422675319D-01 4.234021351D-01 5.683098178D-01-3.612105510D-01-3.493351355D-01 -2.424563972D-01-2.305809819D-01-1.474530742D-01-7.620058199D-02-6.432516660D-02 6.927325637D-03 2.444356331D-01 2.563110485D-01 3.988160331D-01 5.650718483D-01 -7.056919323D-01-3.320903210D-01-5.811580616D-02-3.320903210D-02 1.660451605D-02 1.411383864D-01 1.660451605D-01 3.154858049D-01 4.898332234D-01-7.317917226D-01 5.227083734D-02 6.795208854D-01-8.070833995D-01 2.964796161D-01 5.106037834D-01 -4.281535139D-01-3.880141220D-01 8.161676358D-01-3.982228196D-01-3.819133527D-01 -2.840565506D-01-2.025092154D-01-1.943544820D-01-8.834294634D-02 5.028752329D-02 9.921592434D-02 2.378463940D-01 3.112389956D-01 4.090957977D-01 4.417147316D-01 -5.322972941D-01-3.125100244D-01-1.614062763D-01-1.339328676D-01-1.201961632D-01 3.056416721D-01 4.017986027D-01 5.529023506D-01-4.942380244D-01-4.167104912D-01 -3.488738995D-01-8.721847489D-02 9.690941657D-03 7.752753323D-02 1.550550665D-01 2.713463664D-01 3.876376662D-01 4.457833162D-01-4.801691721D-01-3.949514351D-01 -2.032115268D-01-1.925593096D-01-1.819070925D-01-8.603713834D-02 9.832815811D-03 1.163549871D-01 1.376594214D-01 1.483116385D-01 2.761382440D-01 3.933126323D-01 4.572259351D-01-7.418707522D-01-9.429052726D-02 2.045926535D-01 6.315686259D-01 -4.433319425D-01-3.670269611D-01-3.517659647D-01-2.220474962D-01-9.232902762D-02 1.671079095D-01 2.434128910D-01 2.510433891D-01 3.578703633D-01 4.570668391D-01 -7.187795363D-01-2.580234233D-01-7.372097810D-02 2.027326897D-01 3.501746459D-01 4.976166021D-01-4.854581869D-01-3.309942184D-01-2.280182393D-01-7.355427078D-02 1.066536926D-01 3.126056507D-01 6.987655722D-01-5.491705831D-01-4.697356170D-01 -2.016426063D-01-1.420663817D-01-9.241952790D-02-2.291393254D-02 5.652103360D-02 8.630914590D-02 1.458853705D-01 2.054615951D-01 2.551084490D-01 3.246140443D-01 4.040490105D-01-6.348441880D-01-3.625249652D-01-1.582855482D-01-1.582855482D-01 -5.105985421D-03 9.701372307D-02 1.991334316D-01 2.501932858D-01 3.352930429D-01 4.374127513D-01-7.774815829D-01 1.727736851D-01 6.047078979D-01-7.217537409D-01 -1.365480050D-01 2.145754365D-01 6.437263094D-01-4.049312450D-01-3.536741254D-01 -3.024170059D-01-1.896513426D-01-1.896513426D-01-1.178913751D-01-6.663425550D-02 -5.125711967D-03 4.613140766D-02 2.306570383D-01 2.819141579D-01 2.819141579D-01 3.536741254D-01 4.356855167D-01-4.912241466D-01-3.426185224D-01-2.683157103D-01 -1.940128982D-01-1.320938881D-01-7.017487807D-02 7.843074608D-02 1.403497561D-01 1.403497561D-01 2.641877763D-01 3.632581923D-01 5.118638165D-01-4.810537795D-01 -3.353499905D-01-1.734568916D-01-1.734568916D-01 1.017613764D-01 4.255475741D-01 6.360086028D-01-3.169550924D-01-3.079506863D-01-2.989462802D-01-2.899418743D-01 -1.728845958D-01-6.483172344D-02 1.872916455D-01 2.863401119D-01 4.574238266D-01 5.204546687D-01-4.106444632D-01-3.470490818D-01-2.325773951D-01-1.562629373D-01 7.268043598D-02 3.779382670D-01 6.959151745D-01-6.783738520D-01-1.995217212D-01 1.995217212D-01 6.783738520D-01-5.387500496D-01-3.587917868D-01-2.575652638D-01 -1.563387409D-01-7.760700089D-02 3.486691345D-02 2.373199593D-01 3.048043079D-01 3.610412650D-01 4.510203964D-01-5.582423491D-01-3.695407100D-01-2.044267757D-01 1.965642074D-01 3.380904368D-01 5.975551908D-01-6.644580563D-01-1.416058153D-01 7.624928515D-02 7.298145864D-01-5.713182295D-01-4.085589663D-01-1.760457335D-01 3.321617612D-02 1.959754391D-01 4.052373487D-01 5.214939651D-01-6.376825262D-01 -2.732925112D-01 2.277437593D-01 6.832312781D-01-4.785094745D-01-4.098786336D-01 -2.726169516D-01-1.181975594D-01-1.525129799D-02 8.769496347D-02 2.935874864D-01 4.136914582D-01 4.994800093D-01-3.801429607D-01-3.484643806D-01-2.724357885D-01 -2.344214924D-01 2.027429123D-01 3.928143927D-01 6.399073172D-01-5.020717122D-01 -3.741553525D-01-2.206557207D-01-1.183226328D-01-1.598954498D-02 2.654264466D-01 4.189260784D-01 5.468424382D-01-4.472657843D-01-3.265314622D-01-2.661643011D-01 -1.756135595D-01-1.756135595D-01-5.487923734D-02 6.585508481D-02 1.564058264D-01 2.771401486D-01 4.280580513D-01 5.186087929D-01-6.414043565D-01-2.613128859D-01 2.138014522D-01 6.889157902D-01-4.180379781D-01-3.663811112D-01-3.018100277D-01 -2.501531608D-01-1.855820773D-01-1.855820773D-01-1.210109937D-01 8.131173488D-03 2.535012911D-02 3.611197638D-02 9.853069051D-02 1.329686018D-01 1.437304490D-01 1.889302075D-01 2.535012911D-01 2.535012911D-01 3.051581580D-01 3.826434582D-01 -6.963471324D-01-2.321157108D-01 3.413466335D-01 5.871162097D-01-6.443833370D-01 -3.411441196D-01 3.790490218D-02 3.790490218D-01 5.685735327D-01-4.599525093D-01 -3.716079724D-01-2.706427874D-01-1.949188987D-01-1.191950100D-01 2.594244335D-01 3.099070259D-01 3.856309146D-01 4.613548033D-01-6.943808910D-01-2.479931754D-02 7.191802085D-01-6.658858077D-01-3.430320827D-01 1.008917890D-01 3.632104405D-01 5.448156608D-01-7.071067811D-01 0.0 7.071067811D-01-6.882973783D-01 -3.622617781D-02 7.245235562D-01-4.165577428D-01-3.868881561D-01-3.166251801D-01 -2.881693492D-01-2.212104864D-01-1.922152084D-01-1.212104928D-01-9.936288797D-02 -9.288952362D-02-9.052944286D-02-8.816936209D-02-8.466295638D-02-8.250516826D-02 -7.818959200D-02-7.083962619D-02-3.092054582D-02-2.815587979D-02-2.485176671D-02 -2.040132869D-02-1.770409354D-02-1.507428925D-02-1.150045267D-02-7.319738171D-03 -4.689933891D-03-2.329853126D-03 1.311414340D-03 3.132048074D-03 5.964144991D-03 8.256794877D-03 1.041458301D-02 1.446043574D-02 1.709024003D-02 1.972004431D-02 6.779826104D-02 6.968632564D-02 7.197897553D-02 7.346245487D-02 7.562024299D-02 7.899178695D-02 8.128443684D-02 8.391424111D-02 8.586973661D-02 9.018531286D-02 9.092705253D-02 9.166879220D-02 9.200594660D-02 9.551235231D-02 1.008393917D-01 1.027948872D-01 1.094031134D-01 1.121003485D-01 1.139209822D-01 1.659101900D-01 1.679331163D-01 1.695514574D-01 1.723161235D-01 1.737996028D-01 1.751482204D-01 -2.150769621D-01-2.100485359D-01-2.086599328D-01-2.039260587D-01-1.849905624D-01 -1.795413473D-01-1.735240674D-01-1.546096105D-01-1.492235137D-01-1.452049807D-01 -1.240813825D-01-1.184007336D-01-1.130356763D-01-9.410017997D-02-8.999748909D-02 -8.252848778D-02-6.327739983D-02-5.843832855D-02-5.246312746D-02-3.308580288D-02 -2.814153440D-02-2.204009669D-02-2.452377698D-03 1.734470937D-03 7.309922635D-03 2.771817980D-02 5.769938234D-02 6.868197022D-02 8.799617648D-02 9.788471346D-02 3.909009995D-01 1.274451272D-01 1.530080472D-01 1.561639633D-01 1.809694635D-01 1.875127295D-01 2.098145362D-01 2.178095236D-01 2.391435161D-01 2.442140213D-01 2.508414450D-01-3.180535014D-01-3.177132622D-01-3.172814199D-01-3.169542667D-01 -3.166532858D-01-3.163523047D-01-3.160382377D-01 4.091208375D-02 4.129158148D-02 4.600258766D-02 5.771467249D-02 6.245185091D-02 6.383898053D-02 7.594364920D-02 8.321953652D-02 9.498396585D-02 1.014092549D-01 1.134615790D-01 1.212478253D-01 1.321747424D-01 1.393459408D-01 1.544342467D-01 1.598257315D-01 1.697581029D-01 1.775312631D-01 1.888245918D-01 1.946740912D-01-1.194911538D-01-1.172497071D-01 -1.140942725D-01-1.131367613D-01-1.090891003D-01-8.408500085D-02-7.992853175D-02 -7.666428899D-02-7.581558589D-02-5.823219829D-02-5.736173355D-02-4.476175656D-02 -2.639495070D-02 9.457835859D-01-1.370792722D-02-1.294627058D-02 4.680640254D-03 5.899290880D-03 1.595315854D-02 1.667129194D-02 3.588680090D-02 3.784534655D-02 4.023912457D-02-3.351790296D-01-3.330796727D-01-3.005396407D-01-1.826607503D-01 -1.501732022D-01-2.883037297D-02 3.079852005D-03 1.190168371D-01 1.322427857D-01 1.516093531D-01 2.836064186D-01-2.575553080D-01-2.274295363D-01-1.068214821D-01 -7.459635354D-02 4.569679721D-02 4.837347727D-02 7.115149971D-02 1.967980106D-01 2.217278738D-01 3.481616436D-01 3.754007994D-01-2.866227940D-01-2.819083511D-01 -1.786122252D-01-1.719046845D-01-1.600994130D-01-6.765033848D-02-4.817930623D-02 4.147176559D-02 1.504788833D-01 1.712530949D-01 2.621690172D-01 2.623223324D-01 2.624756477D-01 2.626289628D-01 2.628972645D-01-2.327708248D-01-2.302027949D-01 -2.206589228D-01-2.142580126D-01-1.143731502D-01-1.045609764D-01-1.410499975D-02 -1.130699709D-02 5.749320572D-04 7.320801505D-03 9.555370759D-02 1.175544409D-01 2.164044256D-01 2.241085152D-01-2.404856193D-01-2.361232984D-01-2.303333089D-01 -2.249002365D-01-2.229966783D-01-1.867101001D-01-1.739800547D-01-1.662468495D-01 -1.289291773D-01-1.258755527D-01-1.096953080D-01-1.077520923D-01-7.194140375D-02 -7.071202240D-02-6.904640895D-02-6.642901645D-02-6.599278436D-02-6.190806571D-02 -5.869581125D-02-5.369897100D-02-5.286616429D-02-4.743309193D-02-4.556919119D-02 -1.055165182D-02 5.113045860D-03 4.762584564D-02 4.964837622D-02 6.368711793D-02 6.578896347D-02 9.973575133D-02 1.021945140D-01 1.279718646D-01 1.293598758D-01 1.581908510D-01 1.610858458D-01 1.715554159D-01 1.756401345D-01 2.132750664D-01 2.264810014D-01 2.332227700D-01 2.348487260D-01 2.744665310D-01 2.889811623D-01 -3.252662345D-02-3.227969374D-02-3.224228015D-02-3.203276404D-02-3.198038501D-02 -3.184569608D-02-3.139673300D-02-3.135183668D-02-3.082804641D-02-3.078315009D-02 -3.058859943D-02-3.055118583D-02-3.031922157D-02-3.026684253D-02-2.999746468D-02 -2.996005109D-02-2.981039672D-02-2.974305226D-02-2.954850159D-02-2.950360528D-02 -2.924171015D-02-2.921177927D-02-2.906212490D-02-2.901722859D-02-2.884512607D-02 -2.880771249D-02-2.868050627D-02-2.865805812D-02-2.855330007D-02-2.852336919D-02 -2.830637036D-02-2.826147405D-02-2.750571951D-02-2.675744769D-02-2.263446994D-02 -2.247733286D-02-2.241747111D-02-2.229026491D-02-2.227529947D-02-2.214061054D-02 -2.209571423D-02-2.191612899D-02-2.189368084D-02-2.172906103D-02-2.169164745D-02 -2.151206220D-02-2.147464862D-02-2.139233871D-02-2.135492513D-02-2.107058183D-02 -2.104065096D-02-2.092092747D-02-2.089847931D-02-2.071141136D-02-2.067399777D-02 -2.063658417D-02-2.033727545D-02-2.030734458D-02-2.014272477D-02-2.010531118D-02 -1.992572594D-02-1.989579507D-02-1.977607158D-02-1.974614071D-02-1.959648635D-02 -1.957403818D-02-1.922235043D-02-1.918493684D-02-1.906521335D-02-1.903528247D-02 -1.882576637D-02-1.881080093D-02-1.868359471D-02-1.866114656D-02-1.842169958D-02 -1.839925143D-02-1.821218347D-02-1.818973531D-02-1.800266736D-02-1.798021921D-02 -1.783056484D-02-1.780063397D-02-1.765097960D-02-1.760608329D-02-1.742649806D-02 -1.646871012D-02-1.598981615D-02-1.196411375D-02-1.162739143D-02-1.155256425D-02 -1.153011610D-02-1.132808270D-02-1.129066911D-02-1.121584193D-02-1.119339378D-02 -1.074443068D-02-1.072198252D-02-1.060974175D-02-1.057981088D-02-1.054239729D-02 -1.051994913D-02-1.037029477D-02-1.034784661D-02-1.025057128D-02-1.022812312D-02 -1.003357245D-02-1.000364157D-02-9.794125463D-03-9.771677308D-03-9.412506833D-03 -9.390058679D-03-9.210473441D-03-9.188025286D-03-8.993474612D-03-8.971026458D-03 -8.866268402D-03-8.843820248D-03-8.701648602D-03-8.671717729D-03-8.619338701D-03 -8.596890546D-03-8.484649773D-03-8.454718900D-03-8.364926281D-03-8.334995408D-03 -8.260168225D-03-8.207789198D-03-7.908480470D-03-7.541827276D-03-7.519379121D-03 -7.377207475D-03-7.354759321D-03-7.175174083D-03-7.152725928D-03-6.905796226D-03 -6.756141862D-03-6.733693707D-03-6.546625752D-03-6.524177596D-03-6.404454105D-03 -5.566389663D-03-4.892945022D-03-8.896907701D-04-5.828993226D-04-5.155548586D-04 -4.856239857D-04-3.883486487D-04-3.659004941D-04-2.761078753D-04-2.536597206D-04 -1.264535108D-04-1.040053560D-04-5.910904667D-05-2.917817381D-05 1.129934725D-04 1.354416273D-04 2.476824008D-04 2.776132736D-04 4.646812293D-04 4.871293841D-04 7.190936492D-04 7.340590857D-04 3.666090497D-01 3.668484966D-01 3.669981510D-01 3.671627708D-01 3.673348733D-01 3.675219413D-01 3.676865611D-01-2.071835602D-01 -2.070854095D-01-2.069872587D-01-2.068945607D-01-2.068018628D-01-2.066928064D-01 -1.184716219D-01-1.128824809D-01-1.052049094D-01-1.050794946D-01-1.049213628D-01 -1.048068535D-01-1.047087027D-01-1.046160048D-01-1.045178540D-01-9.705839547D-02 -9.476821079D-02-7.281515508D-02-7.262430636D-02-7.247162738D-02-7.231349559D-02 -7.219898636D-02-7.210083559D-02-7.198087353D-02-7.162644019D-02-7.146285558D-02 -7.132108224D-02-7.115204480D-02-7.103208274D-02-7.084123403D-02-7.075944171D-02 -6.598277087D-02-6.588462010D-02-6.553563958D-02-6.533933804D-02-6.507760265D-02 -6.478860316D-02-6.470135803D-02-6.433601905D-02-6.411790623D-02-6.392160469D-02 -6.381800109D-02-6.356717135D-02-6.333270006D-02-6.320183237D-02-6.306551185D-02 -6.291283288D-02-6.269472005D-02-5.800529434D-02-5.791259639D-02-5.781444562D-02 -5.760178562D-02-5.542065738D-02-5.057855268D-02-4.864280137D-02-4.823383983D-02 -4.778670854D-02-4.768855777D-02-4.723597366D-02-4.667433314D-02-4.233934076D-02 -4.131966331D-02-4.117243716D-02-4.103066382D-02-4.092160741D-02-4.075256997D-02 -4.039268381D-02-4.026181611D-02-4.006551457D-02-3.992374124D-02-3.975470380D-02 -3.960747764D-02-3.946025149D-02-3.438367551D-02-3.392018576D-02-3.372933704D-02 -3.339671498D-02-3.289505549D-02-3.274782933D-02-3.241520728D-02-3.228433958D-02 -3.178268008D-02-3.145005803D-02-2.653706667D-02-2.614446359D-02-2.577912461D-02 -2.538652153D-02-2.509752203D-02-2.492848460D-02-2.463948510D-02-1.863592963D-02 -1.835783578D-02-1.811791167D-02-1.794342141D-02-1.768713884D-02-1.735996961D-02 -1.700553627D-02-1.682014037D-02-1.671108396D-02-1.656931062D-02-1.639482036D-02 -1.624759420D-02-1.618216036D-02-1.596404753D-02-1.580046292D-02-1.571321779D-02 -1.529880342D-02-1.098016951D-02-1.062573617D-02-1.022222744D-02-9.933227950D-03 -9.529719233D-03-9.317059224D-03-8.935361783D-03-8.788135627D-03-8.346457159D-03 -8.073816130D-03-7.970212535D-03-2.893636562D-03-2.599184249D-03-2.097524754D-03 -1.955751419D-03-1.846695007D-03-1.704921672D-03-1.214167818D-03-1.017866277D-03 -7.452252466D-04-5.053011400D-04-3.744334462D-04-2.053960077D-04 4.882085610D-03 5.051123048D-03 5.209254845D-03 5.340122540D-03 5.541876902D-03 5.852687676D-03 6.048989218D-03 6.196215374D-03 6.321630247D-03 6.430686660D-03 6.517931789D-03 6.676063586D-03 6.823289742D-03 7.194081543D-03 7.488533855D-03 7.668476935D-03 7.995646171D-03 1.252148727D-02 1.269052471D-02 1.296316574D-02 1.313765599D-02 1.328488215D-02 1.342665549D-02 1.365567395D-02 1.406463550D-02 1.429365396D-02 1.438635191D-02 1.452812524D-02 1.480076628D-02 1.501342628D-02 1.520427500D-02 1.567867039D-02 1.650204630D-02 2.056985047D-02 2.066254842D-02 2.076069919D-02 2.097881201D-02 2.116420791D-02 2.131143407D-02 2.155681099D-02 2.171494279D-02 2.184581049D-02 2.200394229D-02 2.218388536D-02 2.240745101D-02 2.265282794D-02 2.278914845D-02 2.287094076D-02 2.299090281D-02 2.318175154D-02 2.341622282D-02 2.898355265D-02 2.914713727D-02 2.928345778D-02 2.944158958D-02 2.963789112D-02 2.979602292D-02 2.998687164D-02 3.015590908D-02 3.031949370D-02 3.062485165D-02 3.080479473D-02 3.094111524D-02 3.114832243D-02 3.613765328D-02 3.624125686D-02 3.639938866D-02 3.652480353D-02 3.664476559D-02 3.678108610D-02 3.692285944D-02 3.709734970D-02 3.723912304D-02 3.778985791D-02 3.792072561D-02 3.822063075D-02 3.837330972D-02 3.857506408D-02 4.398426211D-02 4.443684622D-02 4.452409135D-02 4.462224212D-02 4.472039289D-02 4.558739137D-02 4.570190060D-02 4.580550419D-02 4.588184368D-02 4.610540932D-02 4.623627702D-02 4.650346523D-02 4.659616318D-02 4.674884216D-02 5.204353095D-02 5.226164378D-02 5.246885096D-02 5.262698276D-02 5.287781251D-02 5.305230276D-02 5.313409507D-02 5.331403816D-02 5.348307559D-02 5.359213200D-02 5.386477304D-02 5.412105561D-02 5.419194227D-02 5.435007407D-02 5.457363971D-02 5.466633766D-02 5.481356382D-02 5.503712946D-02 5.530977049D-02 5.559876999D-02 5.957932902D-02 5.991195107D-02 6.010825261D-02 6.031545980D-02 6.050085571D-02 6.067534596D-02 6.081166648D-02 6.092072289D-02 6.104613776D-02 6.124789212D-02 6.136240136D-02 6.153689162D-02 6.163504239D-02 6.178226854D-02 6.190768341D-02 6.785671069D-02 6.810754044D-02 6.828203070D-02 6.839653993D-02 6.850559634D-02 6.863101121D-02 6.875642608D-02 6.896363327D-02 6.936714199D-02 6.948165123D-02 6.955253789D-02 6.967795277D-02 6.978155636D-02 6.991242406D-02 7.006510303D-02 9.123840543D-02 9.923769325D-02 1.015278778D-01 1.069152646D-01 1.226193879D-01 1.227393500D-01 1.228320480D-01 1.229301987D-01 1.230119910D-01 1.230992362D-01 1.232082925D-01-4.954589850D-01-4.936227212D-01-3.421921557D-01 -2.627431361D-01-1.615037848D-01-7.703564396D-02-7.519938004D-02 1.538964057D-02 2.028634439D-02 2.212260832D-02 3.375227988D-02 4.268876434D-02 4.538195145D-02 5.211491920D-02 5.333909515D-02 5.578744706D-02 5.884788694D-02 6.129623885D-02 6.435667874D-02 6.680503065D-02 6.925338256D-02 7.268107522D-02 7.965887817D-02 2.030558144D-01 2.094215293D-01 2.210512009D-01 2.283962567D-01 2.320687845D-01 -2.877659483D-01-2.868953123D-01-2.859577042D-01-2.853214701D-01-2.846852361D-01 -2.839820300D-01-2.833792820D-01-4.708769769D-03 1.019250131D-02 3.617763920D-02 3.969366946D-02 5.506374457D-02 8.654058687D-02 1.382764606D-01 1.515034316D-01 2.009287712D-01 2.313675474D-01 2.323721274D-01 2.414133481D-01 2.794869329D-01 2.996789923D-01-2.251706356D-01-2.242727905D-01-2.232627147D-01-2.202698976D-01 -2.194094627D-01-2.186612585D-01-2.176885929D-01-2.170526193D-01-2.161547742D-01 -2.153691597D-01-2.137231103D-01-1.102838703D-01-1.082263085D-01-6.969378874D-02 -6.333405243D-02-6.127649072D-02-4.967932454D-02-4.762176281D-02-4.144907759D-02 -3.957856692D-02-1.900294956D-02-9.650396205D-03-7.779885531D-03 2.320872086D-03 8.493557297D-03 1.017701690D-02 3.898288122D-02 4.365915790D-02 4.534261750D-02 5.656568150D-02 5.881029432D-02 6.180311142D-02 6.367362207D-02 6.872400088D-02 7.059451154D-02 9.322769066D-02 9.921332479D-02 1.040766525D-01 1.095011335D-01 1.115586952D-01 1.192277890D-01 1.212853507D-01 1.424221213D-01 1.474725001D-01 1.493430108D-01 1.560768492D-01 1.590696662D-01 1.736596495D-01 1.996597478D-01 2.017173095D-01 2.101346075D-01 2.118180671D-01-2.112396164D-01-1.933563293D-01 -1.774191645D-01-1.716728436D-01-1.016387351D-01-9.745720175D-02-9.712846483D-02 -9.686547533D-02-9.591871307D-02-9.562942460D-02-9.519549189D-02-9.489305394D-02 -9.464321389D-02-9.436707491D-02-9.384109587D-02-9.347291055D-02-9.305212733D-02 -8.307167512D-02-8.272978876D-02-8.240105187D-02-8.225640763D-02-8.188822230D-02 -8.138854221D-02-8.087571266D-02-8.062587262D-02-8.036288311D-02-8.023138834D-02 -7.944241980D-02-7.861400282D-02-7.819321957D-02-7.715441098D-02-7.657583405D-02 -7.594465920D-02-7.497159800D-02-7.453766529D-02-7.418262944D-02-7.380129464D-02 -7.299917661D-02-6.379454350D-02-6.288722966D-02-6.265053910D-02-6.228235378D-02 -6.190101898D-02-6.150653469D-02-6.096740618D-02-6.061237033D-02-6.024418502D-02 -5.995489654D-02-5.962615965D-02-5.931057222D-02-5.904758270D-02-5.870569634D-02 -5.835066049D-02-5.815341835D-02-5.792987727D-02-5.748279507D-02-5.721980557D-02 -4.539842675D-02-4.512228776D-02-4.460945819D-02-4.441221607D-02-4.424127287D-02 -4.391253598D-02-4.353120118D-02-4.336025799D-02-4.308411900D-02-4.282112948D-02 -4.246609363D-02-4.183491880D-02-4.129579027D-02-4.079611018D-02-4.046737329D-02 -3.998084269D-02-3.979675003D-02-3.941541523D-02-3.899463201D-02-3.848180243D-02 -3.815306554D-02-3.779802969D-02-3.753504017D-02-3.725890118D-02-3.677237057D-02 -3.640418525D-02-3.594395359D-02-3.569411355D-02-3.545742299D-02-3.511553663D-02 -2.622649092D-02-2.593720245D-02-2.567421293D-02-2.543752236D-02-2.517453285D-02 -2.483264648D-02-2.437241482D-02-2.403052846D-02-2.332045676D-02-2.303116829D-02 -2.212385444D-02-2.172937017D-02-2.125598904D-02-2.051961839D-02-2.029607731D-02 -1.933616556D-02-1.870499072D-02-1.792917165D-02-7.317544616D-03-7.212348808D-03 -6.620622393D-03-6.305034974D-03-5.949999125D-03-5.673860132D-03-5.331973759D-03 -5.003236860D-03-4.753396821D-03-4.477257827D-03-4.109072501D-03-3.767186129D-03 -3.070263907D-03-2.846722818D-03-2.215547977D-03-1.203038335D-03-8.480024852D-04 -5.061161129D-04 1.142045851D-02 1.164399960D-02 1.186754069D-02 1.215682916D-02 1.286690085D-02 1.314303984D-02 1.383996207D-02 1.420814739D-02 1.451058534D-02 1.474727590D-02 1.501026542D-02 1.545734760D-02 1.577293502D-02 1.606222349D-02 1.654875410D-02 1.660135200D-02 1.708788261D-02 1.810039225D-02 1.836338177D-02 1.874471657D-02 1.911290188D-02 1.963888092D-02 2.013856101D-02 2.038840106D-02 2.084863271D-02 2.113792118D-02 3.018476059D-02 3.046089957D-02 3.093428071D-02 3.100002808D-02 3.149970817D-02 3.181529559D-02 3.206513563D-02 3.393236120D-02 3.495802032D-02 3.551029832D-02 3.577328784D-02 3.669375114D-02 3.786405449D-02 3.820594087D-02 3.885026517D-02 3.908695576D-02 3.932364632D-02 4.020466119D-02 4.939614483D-02 4.996157229D-02 5.047440185D-02 5.089518509D-02 5.142116411D-02 5.186824629D-02 5.274926118D-02 5.298595174D-02 5.322264231D-02 5.359082764D-02 5.419570352D-02 5.451129095D-02 5.487947627D-02 5.515561527D-02 5.552380059D-02 5.573419220D-02 5.610237754D-02 5.641796494D-02 5.703599031D-02 5.714118613D-02 6.879162176D-02 6.900201337D-02 6.976468296D-02 7.056680100D-02 7.147411482D-02 7.168450644D-02 7.255237186D-02 7.265756765D-02 7.271016556D-02 7.377527311D-02 7.424865424D-02 7.465628799D-02 7.510337017D-02 7.547155549D-02 7.594493662D-02 7.624737458D-02 7.665500832D-02 7.691799784D-02 7.715468840D-02 7.737822950D-02 7.766751797D-02 8.720088798D-02 8.758222278D-02 8.784521230D-02 8.838434081D-02 8.883142298D-02 8.894976827D-02 8.940999991D-02 8.987023158D-02 9.036991166D-02 9.088274121D-02 9.155336449D-02 9.180320452D-02 9.205304458D-02 9.256587413D-02 9.357838377D-02 9.395971857D-02 9.463034185D-02 9.534041354D-02 9.603733575D-02 9.623457790D-02 9.640552109D-02 9.681315485D-02 1.060703859D-01 1.063202259D-01 1.070828955D-01 1.073327355D-01 1.077009209D-01 1.116063152D-01 1.520804019D-01 -2.995209777D-01-2.995209777D-01-2.995209777D-01-2.995209777D-01-2.995209777D-01 -2.995209777D-01 2.523056754D-01 2.523056754D-01 2.523056754D-01 2.523056754D-01 2.523056754D-01 2.677987441D-01 2.677987441D-01-3.655562498D-01-3.655562498D-01 -3.655562498D-01-3.655562498D-01 3.260246506D-01 3.260246506D-01 1.192927876D-01 3.454414554D-01 3.454414554D-01-3.896587919D-01-3.896587919D-01-3.896587919D-01 -3.896587919D-01 2.905239785D-01 2.905239785D-01 8.719931877D-02 8.719931877D-02 9.197351664D-02 9.197351664D-02 3.096207697D-01 3.096207697D-01-2.236067978D-01 -2.236067978D-01-2.236067978D-01-2.236067978D-01 8.944271911D-01-2.980909860D-01 -2.980909860D-01-2.980909860D-01-2.980909860D-01-2.980909860D-01 3.633287324D-01 3.633287324D-01 3.818987328D-01 3.818987328D-01-2.236067978D-01-2.236067978D-01 -2.236067978D-01-2.236067978D-01 8.944271911D-01-2.886751346D-01-2.886751346D-01 -2.886751346D-01-2.886751346D-01 5.773502693D-01 5.773502693D-01-2.041241453D-01 -2.041241453D-01-2.041241453D-01-2.041241453D-01-2.041241453D-01-2.041241453D-01 6.123724358D-01 6.123724358D-01-2.236067978D-01-2.236067978D-01-2.236067978D-01 -2.236067978D-01 8.944271911D-01-2.886751346D-01-2.886751346D-01-2.886751346D-01 -2.886751346D-01 5.773502693D-01 5.773502693D-01-1.825741858D-01-1.825741858D-01 -1.825741858D-01-1.825741858D-01-1.825741858D-01 9.128709290D-01-2.390457219D-01 -2.390457219D-01-2.390457219D-01-2.390457219D-01-2.390457219D-01 5.976143047D-01 5.976143047D-01-2.886751346D-01-2.886751346D-01-2.886751346D-01-2.886751346D-01 5.773502693D-01 5.773502693D-01-2.390457219D-01-2.390457219D-01-2.390457219D-01 -2.390457219D-01-2.390457219D-01 5.976143047D-01 5.976143047D-01-2.886751346D-01 -2.886751346D-01-2.886751346D-01-2.886751346D-01 5.773502693D-01 5.773502693D-01 -2.390457219D-01-2.390457219D-01-2.390457219D-01-2.390457219D-01-2.390457219D-01 5.976143047D-01 5.976143047D-01-2.886751346D-01-2.886751346D-01-2.886751346D-01 -2.886751346D-01 5.773502693D-01 5.773502693D-01-3.534856528D-01-3.534856528D-01 -3.534856528D-01-3.534856528D-01 3.436985907D-01 3.436985907D-01 3.632727148D-01 3.632727148D-01-2.390457219D-01-2.390457219D-01-2.390457219D-01-2.390457219D-01 -2.390457219D-01 5.976143045D-01 5.976143045D-01-2.886751346D-01-2.886751346D-01 -2.886751346D-01-2.886751346D-01 5.773502692D-01 5.773502692D-01-2.886751346D-01 -2.886751346D-01-2.886751346D-01-2.886751346D-01 5.773502692D-01 5.773502692D-01 -3.273268353D-01-3.273268353D-01-3.273268353D-01-3.273268353D-01 4.364357805D-01 4.364357805D-01 4.364357805D-01-2.041241453D-01-2.041241453D-01-2.041241453D-01 -2.041241453D-01-2.041241453D-01-2.041241453D-01 6.123724358D-01 6.123724358D-01 -2.886751346D-01-2.886751346D-01-2.886751346D-01-2.886751346D-01 5.773502692D-01 5.773502692D-01-2.886751346D-01-2.886751346D-01-2.886751346D-01-2.886751346D-01 5.773502692D-01 5.773502692D-01-2.886751346D-01-2.886751346D-01-2.886751346D-01 -2.886751346D-01 5.773502692D-01 5.773502692D-01-2.886751346D-01-2.886751346D-01 -2.886751346D-01-2.886751346D-01 5.773502692D-01 5.773502692D-01-3.924626113D-01 -3.924626113D-01-3.924626113D-01-3.924626113D-01 2.640663018D-01 2.640663018D-01 2.640663018D-01 6.781240693D-02 7.242057855D-02 7.242057855D-02 2.824989881D-01 2.824989881D-01-1.581138830D-01-1.581138830D-01-1.581138830D-01-1.581138830D-01 -1.581138830D-01-1.581138830D-01-1.581138830D-01-1.581138830D-01 6.324555320D-01 6.324555320D-01-3.534856528D-01-3.534856528D-01-3.534856528D-01-3.534856528D-01 3.436985907D-01 3.436985907D-01 3.632727148D-01 3.632727148D-01-4.144511569D-01 -4.144511569D-01-4.144511569D-01-4.144511569D-01 1.315245297D-01 1.315245297D-01 1.943670350D-01 1.943670350D-01 1.943670350D-01 1.943670350D-01 1.943670350D-01 2.114601965D-01 2.114601965D-01-2.896387157D-01-2.896387157D-01-2.896387157D-01 -2.896387157D-01-2.896387157D-01-2.896387157D-01 3.189002273D-01 1.369918067D-01 1.369918067D-01 1.369918067D-01 3.359855486D-01 3.359855486D-01 3.359855486D-01 -4.568704569D-01-4.568704569D-01-4.568704569D-01 3.227126392D-01 8.967458728D-02 8.967458728D-02 8.967458728D-02 8.967458728D-02 3.446001910D-01 3.446001910D-01 -2.831834822D-01-2.831834822D-01-2.831834822D-01-2.831834822D-01-2.831834822D-01 -2.831834822D-01-2.831834822D-01 2.650498803D-01 2.650498803D-01 1.011683962D-01 1.011683962D-01 1.011683962D-01 1.011683962D-01 1.011683962D-01 1.050164421D-01 2.804420639D-01 2.804420639D-01 2.804420639D-01-2.886751346D-01-2.886751346D-01 -2.886751346D-01-2.886751346D-01 5.773502692D-01 5.773502692D-01-2.886751346D-01 -2.886751346D-01-2.886751346D-01-2.886751346D-01 5.773502692D-01 5.773502692D-01 -2.886751346D-01-2.886751346D-01-2.886751346D-01-2.886751346D-01 5.773502692D-01 5.773502692D-01-3.533075915D-01-3.533075915D-01-3.533075915D-01-3.533075915D-01 3.346664655D-01 3.346664655D-01 3.719487175D-01 3.719487175D-01-3.985436537D-01 -3.985436537D-01-3.985436537D-01-3.985436537D-01 2.181901885D-01 2.181901885D-01 2.181901885D-01 2.181901885D-01 2.181901885D-01 2.516118362D-01 2.516118362D-01 -2.897237840D-01-2.897237840D-01-2.897237840D-01-2.897237840D-01-2.897237840D-01 -2.897237840D-01-2.897237840D-01 1.975257060D-01 1.975257060D-01 1.975257060D-01 1.975257060D-01 1.975257060D-01 1.975257060D-01 1.975257060D-01 1.975257060D-01 2.239304202D-01 2.239304202D-01-3.869938671D-01-3.869938671D-01-3.869938671D-01 -3.869938671D-01 2.465516791D-01 2.465516791D-01 2.465516791D-01 2.465516791D-01 2.808843760D-01 2.808843760D-01-2.041241453D-01-2.041241453D-01-2.041241453D-01 -2.041241453D-01-2.041241453D-01-2.041241453D-01 6.123724358D-01 6.123724358D-01 -2.390457219D-01-2.390457219D-01-2.390457219D-01-2.390457219D-01-2.390457219D-01 5.976143045D-01 5.976143045D-01-5.000000000D-01-5.000000000D-01 5.000000000D-01 5.000000000D-01-2.886751346D-01-2.886751346D-01-2.886751346D-01-2.886751346D-01 5.773502692D-01 5.773502692D-01-5.622386694D-01-5.622386694D-01 1.011292901D-01 1.011292901D-01 1.011292901D-01 4.105447342D-01 4.105447342D-01-8.164965809D-01 4.082482904D-01 4.082482904D-01-3.651483716D-01-3.651483716D-01-3.651483716D-01 5.477225575D-01 5.477225575D-01-5.000000000D-01-5.000000000D-01 5.000000000D-01 5.000000000D-01-8.164965809D-01 4.082482904D-01 4.082482904D-01-4.082482905D-01 -4.082482905D-01-4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 -2.886751346D-01-2.886751346D-01-2.886751346D-01-2.886751346D-01 5.773502692D-01 5.773502692D-01-4.316131859D-01-4.316131859D-01-4.316131859D-01-4.316131859D-01 9.877653958D-02 9.877653958D-02 1.451734308D-01 1.451734308D-01 1.451734308D-01 1.451734308D-01 1.451734308D-01 1.451734308D-01 1.451734308D-01 1.598250807D-01 1.764302839D-01 1.764302839D-01-4.342692722D-01-4.342692722D-01-4.342692722D-01 -3.845158284D-01 1.622669423D-01 1.622669423D-01 1.622669423D-01 1.622669423D-01 1.622669423D-01 1.622669423D-01 1.622669423D-01 1.622669423D-01 1.945940530D-01 1.945940530D-01-4.155859743D-01-4.155859743D-01-4.155859743D-01-4.155859743D-01 1.413954939D-01 1.901185505D-01 1.901185505D-01 1.901185505D-01 1.901185505D-01 1.901185505D-01 1.901185505D-01 1.901185505D-01 1.901185505D-01-5.000000000D-01 -5.000000000D-01-5.000000000D-01 1.666666666D-01 1.666666666D-01 1.666666666D-01 1.666666666D-01 1.666666666D-01 1.666666666D-01 1.666666666D-01 1.666666666D-01 1.666666666D-01-3.415328781D-01-3.415328781D-01-3.415328781D-01-3.415328781D-01 -3.415328781D-01 2.418350800D-01 2.418350800D-01 2.418350800D-01 2.418350800D-01 2.418350800D-01 2.418350800D-01 2.566539106D-01-3.715669341D-01-3.715669341D-01 -3.715669341D-01-3.715669341D-01-3.715669341D-01-3.715669341D-01 7.609167506D-02 7.609167506D-02 7.609167506D-02 7.609167506D-02 7.609167506D-02 7.609167506D-02 7.609167506D-02 7.609167506D-02 7.609167506D-02 7.609167506D-02 7.609167506D-02 7.609167506D-02 7.609167506D-02 7.609167506D-02 7.609167506D-02 7.609167506D-02 7.609167506D-02 7.609167506D-02 7.609167506D-02 7.609167506D-02 7.609167506D-02 7.609167506D-02 7.609167506D-02 7.609167506D-02 7.609167506D-02 7.609167506D-02 7.609167506D-02 8.746318930D-02 8.746318930D-02-4.325136617D-01-4.325136617D-01 -4.325136617D-01-4.325136617D-01 1.002259276D-01 1.468283778D-01 1.468283778D-01 1.468283778D-01 1.468283778D-01 1.468283778D-01 1.468283778D-01 1.468283778D-01 1.468283778D-01 1.468283778D-01 1.468283778D-01 1.615449411D-01-5.192221753D-01 -5.192221753D-01-5.192221753D-01 7.577911195D-02 7.577911195D-02 1.278280274D-01 1.278280274D-01 1.278280274D-01 1.278280274D-01 1.278280274D-01 1.278280274D-01 1.278280274D-01 1.278280274D-01 1.278280274D-01 1.278280274D-01 1.278280274D-01 -4.225771273D-01-4.225771273D-01-4.225771273D-01-4.225771273D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01-5.063696837D-01 -5.063696837D-01-5.063696837D-01 1.519109051D-01 1.519109051D-01 1.519109051D-01 1.519109051D-01 1.519109051D-01 1.519109051D-01 1.519109051D-01 1.519109051D-01 1.519109051D-01 1.519109051D-01-4.082482905D-01-4.082482905D-01-4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01-4.082482905D-01-4.082482905D-01 -4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01-3.273268353D-01 -3.273268353D-01-3.273268353D-01-3.273268353D-01 4.364357805D-01 4.364357805D-01 4.364357805D-01-3.651483716D-01-3.651483716D-01-3.651483716D-01 5.477225575D-01 5.477225575D-01-2.738612787D-01-2.738612787D-01-2.738612787D-01-2.738612787D-01 -2.738612787D-01 4.564354646D-01 4.564354646D-01 4.564354646D-01-2.886751346D-01 -2.886751346D-01-2.886751346D-01 8.660254038D-01-4.363204829D-01-4.363204829D-01 -4.363204829D-01 3.157480785D-01 3.157480785D-01 3.387326457D-01 3.387326457D-01 -2.278805966D-01-2.278805966D-01-2.278805966D-01-2.278805966D-01-2.278805966D-01 -2.278805966D-01-2.278805966D-01 3.893590672D-01 3.893590672D-01 4.082230210D-01 4.082230210D-01-4.052035054D-01-4.052035054D-01-4.052035054D-01 3.056688687D-01 4.549708235D-01 4.549708235D-01-2.390457219D-01-2.390457219D-01-2.390457219D-01 -2.390457219D-01-2.390457219D-01 5.976143048D-01 5.976143048D-01-3.259894217D-01 -3.259894217D-01-3.259894217D-01-3.259894217D-01 3.609186343D-01 4.715195264D-01 4.715195264D-01-2.886751346D-01-2.886751346D-01-2.886751346D-01-2.886751346D-01 5.773502693D-01 5.773502693D-01-4.369020882D-01-4.369020882D-01-4.369020882D-01 -4.369020882D-01 9.751411457D-02 9.751411457D-02 9.751411457D-02 9.751411457D-02 9.751411457D-02 1.200752207D-01 1.200752207D-01 1.200752207D-01 1.200752207D-01 1.200752207D-01 1.200752207D-01 1.200752207D-01 2.097556177D-01 2.097556177D-01 -1.336306210D-01-1.336306210D-01-1.336306210D-01-1.336306210D-01-1.336306210D-01 -1.336306210D-01-1.336306210D-01 9.354143467D-01-2.886751346D-01-2.886751346D-01 -2.886751346D-01-2.886751346D-01 5.773502691D-01 5.773502691D-01-3.542122690D-01 -3.542122690D-01-3.542122690D-01-3.542122690D-01-3.542122690D-01-3.542122690D-01 8.999559330D-02 8.999559330D-02 8.999559330D-02 8.999559330D-02 8.999559330D-02 8.999559330D-02 8.999559330D-02 8.999559330D-02 8.999559330D-02 8.999559330D-02 8.999559330D-02 8.999559330D-02 8.999559330D-02 8.999559330D-02 8.999559330D-02 8.999559330D-02 1.673510521D-01 1.673510521D-01 1.673510521D-01 1.832909648D-01 -2.069895980D-01-2.069895980D-01-2.069895980D-01-2.069895980D-01-2.069895980D-01 -2.069895980D-01-2.069895980D-01 4.760177513D-01 4.760177513D-01 4.968916838D-01 -3.921872059D-01-3.921872059D-01-3.921872059D-01-3.921872059D-01 3.208902411D-01 6.864515768D-02 6.864515768D-02 6.864515768D-02 6.864515768D-02 6.864515768D-02 6.864515768D-02 6.864515768D-02 6.864515768D-02 3.493486607D-01 3.493486607D-01 -4.113272660D-01-4.113272660D-01-4.113272660D-01-4.113272660D-01-1.385347256D-02 -1.385347256D-02-1.385347256D-02-1.385347256D-02-1.385347256D-02-1.385347256D-02 -1.385347256D-02-1.385347256D-02-1.385347256D-02-1.385347256D-02-1.385347256D-02 -1.385347256D-02-1.385347256D-02-1.385347256D-02-1.385347256D-02-1.385347256D-02 -1.385347256D-02-1.385347256D-02-1.385347256D-02-1.385347256D-02-1.385347256D-02 -1.385347256D-02-1.385347256D-02-1.385347256D-02-1.385347256D-02 1.395574652D-01 1.395574652D-01 1.395574652D-01 1.395574652D-01 1.395574652D-01 1.395574652D-01 1.395574652D-01 1.395574652D-01 1.395574652D-01 1.395574652D-01 1.395574652D-01 2.282568802D-01 2.282568802D-01-4.563066691D-01-4.563066691D-01-4.563066691D-01 2.654049461D-01 2.654049461D-01 2.719510830D-01 2.719510830D-01 2.942079492D-01 -4.364254028D-01-4.364254028D-01-4.364254028D-01 3.238709959D-01 3.238709959D-01 3.307671082D-01 3.307671082D-01-3.535480103D-01-3.535480103D-01-3.535480103D-01 -3.535480103D-01 3.487703345D-01 3.551405689D-01 3.551405689D-01 3.551405689D-01 -2.886751346D-01-2.886751346D-01-2.886751346D-01 8.660254038D-01-3.717136907D-01 -3.717136907D-01-3.717136907D-01-3.717136907D-01 2.579946495D-01 2.579946495D-01 3.236218216D-01 3.236218216D-01 3.236218216D-01-4.944512989D-01-4.944512989D-01 -4.944512989D-01-4.659297951D-02-4.659297951D-02-4.659297951D-02-4.659297951D-02 1.388360790D-01 1.388360790D-01 1.388360790D-01 1.388360790D-01 1.388360790D-01 1.388360790D-01 1.388360790D-01 1.388360790D-01 1.388360790D-01 1.388360790D-01 1.388360790D-01-6.230730650D-02 2.048362524D-01-3.577167122D-01-3.577167122D-01 -3.577167122D-01-3.577167122D-01-3.577167122D-01 1.811045589D-01 1.811045589D-01 1.811045589D-01 1.811045589D-01 1.811045589D-01 1.811045589D-01 1.811045589D-01 9.965296649D-03 2.554431761D-01 2.554431761D-01-3.651483717D-01-3.651483717D-01 -3.651483717D-01 5.477225576D-01 5.477225576D-01-2.981423970D-01-2.981423970D-01 -2.981423970D-01-2.981423970D-01-2.981423970D-01 3.726779963D-01 3.726779963D-01 3.726779963D-01 3.726779963D-01-7.071067811D-01 7.071067811D-01-5.000000000D-01 -5.000000000D-01 5.000000000D-01 5.000000000D-01-3.651483717D-01-3.651483717D-01 -3.651483717D-01 5.477225576D-01 5.477225576D-01-1.846372365D-01-1.846372365D-01 -1.846372365D-01-1.846372365D-01-1.846372365D-01-1.846372365D-01-1.846372365D-01 -1.846372365D-01 4.923659639D-01 4.923659639D-01 4.923659639D-01-3.127419532D-01 -3.127419532D-01-3.127419532D-01-3.127419532D-01-3.127419532D-01-3.127419532D-01 2.671193506D-02 2.671193506D-02 2.671193506D-02 2.671193506D-02 2.671193506D-02 2.671193506D-02 2.671193506D-02 2.365561569D-01 2.365561569D-01 2.365561569D-01 2.365561569D-01 2.365561569D-01 2.533436946D-01 2.533436946D-01-3.179619147D-01 -3.179619147D-01-3.179619147D-01-3.179619147D-01-3.179619147D-01 1.397967096D-01 1.397967096D-01 1.397967096D-01 1.397967096D-01 1.397967096D-01 4.454130130D-01 4.454130130D-01-2.065248880D-01-2.065248880D-01-2.065248880D-01-2.065248880D-01 -2.065248880D-01-2.065248880D-01-2.065248880D-01-2.065248880D-01-2.065248880D-01 1.269840233D-01 3.331531684D-01 3.496467000D-01 3.496467000D-01 3.496467000D-01 3.496467000D-01-3.608060397D-01-3.608060397D-01-3.608060397D-01-3.608060397D-01 6.528182571D-02 3.286815972D-01 3.497535789D-01 3.497535789D-01 3.497535789D-01 -1.825741859D-01-1.825741859D-01-1.825741859D-01-1.825741859D-01-1.825741859D-01 9.128709289D-01-3.668083630D-01-3.668083630D-01-3.668083630D-01-3.668083630D-01 -3.668083630D-01 1.803389307D-01 9.845294107D-02 9.845294107D-02-2.561674003D-02 1.853017178D-01 1.853017178D-01 1.853017178D-01 1.853017178D-01 1.853017178D-01 1.853017178D-01 1.853017178D-01 1.853017178D-01-5.073861533D-01-5.073861533D-01 -5.073861533D-01 1.753557923D-01 7.317672550D-02 7.317672550D-02 7.317672550D-02 7.317672550D-02 7.317672550D-02 7.317672550D-02 1.815484629D-01 1.815484629D-01 1.815484629D-01 1.815484629D-01 1.815484629D-01-2.967227471D-01-2.967227471D-01 -2.967227471D-01-2.967227471D-01-2.967227471D-01 4.553159394D-01 3.427659319D-01 3.427659319D-01 3.427659319D-01-4.209001754D-01-4.209001754D-01-4.209001754D-01 -4.209001754D-01 1.729384177D-01 8.406461453D-02 1.783247086D-01 1.783247086D-01 1.783247086D-01 1.783247086D-01 1.783247086D-01 1.783247086D-01 1.783247086D-01 1.783247086D-01-6.725927090D-01-6.725927090D-01 7.079923251D-02 7.079923251D-02 7.079923251D-02 7.079923251D-02 7.079923251D-02 7.079923251D-02 7.079923251D-02 7.079923251D-02 7.079923251D-02 7.079923251D-02 7.079923251D-02 7.079923251D-02 7.079923251D-02 7.079923251D-02 7.079923251D-02 7.079923251D-02 7.079923251D-02 7.079923251D-02 7.079923251D-02-3.651483717D-01-3.651483717D-01-3.651483717D-01 5.477225575D-01 5.477225575D-01-4.364254028D-01-4.364254028D-01-4.364254028D-01 3.238709959D-01 3.238709959D-01 3.307671082D-01 3.307671082D-01-2.885923003D-01 -2.885923003D-01-2.885923003D-01-2.885923003D-01 5.602463244D-01 5.941228768D-01 -3.534942317D-01-3.534942317D-01-3.534942317D-01-3.534942317D-01 3.376522230D-01 3.587749012D-01 3.587749012D-01 3.587749012D-01-4.081669288D-01-4.081669288D-01 -4.081669288D-01 3.918666195D-01 4.163170830D-01 4.163170830D-01-4.159531667D-01 -4.159531667D-01-4.159531667D-01-4.159531667D-01 1.780436213D-01 1.834313472D-01 1.834313472D-01 1.834313472D-01 1.834313472D-01 1.834313472D-01 1.834313472D-01 1.834313472D-01 2.017496155D-01-2.886751346D-01-2.886751346D-01-2.886751346D-01 8.660254035D-01-3.726697781D-01-3.726697781D-01-3.726697781D-01-3.726697781D-01 2.957108587D-01 2.957108587D-01 2.957108587D-01 3.017732680D-01 3.017732680D-01 -4.081669288D-01-4.081669288D-01-4.081669288D-01 3.918666195D-01 4.163170830D-01 4.163170830D-01-3.161350749D-01-3.161350749D-01-3.161350749D-01-3.161350749D-01 -3.161350749D-01 3.002570377D-01 3.058478959D-01 3.248568136D-01 3.248568136D-01 3.248568136D-01-4.081112546D-01-4.081112546D-01-4.081112546D-01 3.869574982D-01 4.186881332D-01 4.186881332D-01-1.825741859D-01-1.825741859D-01-1.825741859D-01 -1.825741859D-01-1.825741859D-01 9.128709290D-01-4.082409165D-01-4.082409165D-01 -4.082409165D-01 4.033334376D-01 4.106946558D-01 4.106946558D-01-4.999898091D-01 -4.999898091D-01 4.954752284D-01 5.045043898D-01-3.534441153D-01-3.534441153D-01 -3.534441153D-01-3.534441153D-01 3.380769798D-01 3.443492800D-01 3.656751006D-01 3.656751006D-01-4.362784182D-01-4.362784182D-01-4.362784182D-01 3.106112653D-01 3.173857747D-01 3.404191074D-01 3.404191074D-01-2.833687390D-01-2.833687390D-01 -2.833687390D-01-2.833687390D-01-2.833687390D-01-2.833687390D-01-2.833687390D-01 2.106397165D-01 2.106397165D-01 2.106397165D-01 2.151205187D-01 2.151205187D-01 2.303552466D-01 2.303552466D-01 2.303552466D-01 2.303552466D-01-4.362410190D-01 -4.362410190D-01-4.362410190D-01 3.122449892D-01 3.122449892D-01 3.421165396D-01 3.421165396D-01-4.362410190D-01-4.362410190D-01-4.362410190D-01 3.122449892D-01 3.122449892D-01 3.421165396D-01 3.421165396D-01-2.417422914D-01-2.417422914D-01 -2.417422914D-01-2.417422914D-01-2.417422914D-01-2.417422914D-01-2.417422914D-01 -2.417422914D-01-2.417422914D-01 2.095451741D-01 2.095451741D-01 2.095451741D-01 2.095451741D-01 2.136384842D-01 2.136384842D-01 2.275557394D-01 2.275557394D-01 2.275557394D-01 2.275557394D-01-4.081669288D-01-4.081669288D-01-4.081669288D-01 3.918666195D-01 4.163170830D-01 4.163170830D-01-3.272697530D-01-3.272697530D-01 -3.272697530D-01-3.272697530D-01 4.211117480D-01 4.439836320D-01 4.439836320D-01 -2.278707522D-01-2.278707522D-01-2.278707522D-01-2.278707522D-01-2.278707522D-01 -2.278707522D-01-2.278707522D-01 3.805622174D-01 4.048443492D-01 4.048443492D-01 4.048443492D-01-2.980397448D-01-2.980397448D-01-2.980397448D-01-2.980397448D-01 -2.980397448D-01 3.594301015D-01 3.594301015D-01 3.856692606D-01 3.856692606D-01 -2.581383344D-01-2.581383344D-01-2.581383344D-01-2.581383344D-01-2.581383344D-01 -2.581383344D-01 3.684524046D-01 3.934592006D-01 3.934592006D-01 3.934592006D-01 -5.474927706D-01-5.474927706D-01 3.413465457D-01 3.768194978D-01 3.768194978D-01 -3.651483717D-01-3.651483717D-01-3.651483717D-01 5.477225576D-01 5.477225576D-01 -2.886751346D-01-2.886751346D-01-2.886751346D-01-2.886751346D-01 5.773502693D-01 5.773502693D-01-4.081112546D-01-4.081112546D-01-4.081112546D-01 3.869574982D-01 4.186881332D-01 4.186881332D-01-4.362925005D-01-4.362925005D-01-4.362925005D-01 3.050301268D-01 3.346157915D-01 3.346157915D-01 3.346157915D-01-4.362925005D-01 -4.362925005D-01-4.362925005D-01 3.050301268D-01 3.346157915D-01 3.346157915D-01 3.346157915D-01-4.081112546D-01-4.081112546D-01-4.081112546D-01 3.869574982D-01 4.186881332D-01 4.186881332D-01-3.725626365D-01-3.725626365D-01-3.725626365D-01 -3.725626365D-01 2.851640358D-01 2.911298104D-01 2.911298104D-01 3.114134448D-01 3.114134448D-01-4.563039674D-01-4.563039674D-01-4.563039674D-01 2.606357996D-01 2.606357996D-01 2.825467677D-01 2.825467677D-01 2.825467677D-01-3.725873993D-01 -3.725873993D-01-3.725873993D-01-3.725873993D-01 2.859934702D-01 2.859934702D-01 3.061208855D-01 3.061208855D-01 3.061208855D-01-2.886751346D-01-2.886751346D-01 -2.886751346D-01 8.660254035D-01-2.041241452D-01-2.041241452D-01-2.041241452D-01 -2.041241452D-01-2.041241452D-01-2.041241452D-01 6.123724357D-01 6.123724357D-01 -3.651483717D-01-3.651483717D-01-3.651483717D-01 5.477225576D-01 5.477225576D-01 -3.651483717D-01-3.651483717D-01-3.651483717D-01 5.477225576D-01 5.477225576D-01 -5.000000002D-01-5.000000002D-01 5.000000002D-01 5.000000002D-01-5.000000002D-01 -5.000000002D-01 5.000000002D-01 5.000000002D-01 1.502319086D-02 1.502319086D-02 1.502319086D-02 1.502319086D-02 1.350855775D-01 1.350855775D-01 1.350855775D-01 1.831105322D-01 1.831105322D-01 1.831105322D-01 1.831105322D-01 1.831105322D-01 1.831105322D-01 1.831105322D-01 1.831105322D-01 1.831105322D-01-3.827835166D-01 -3.827835166D-01-3.827835166D-01-3.827835166D-01-9.703503652D-02-9.703503652D-02 -9.703503652D-02-9.703503652D-02-9.703503652D-02-9.703503652D-02-1.083455434D-02 -1.083455434D-02-1.083455434D-02 1.196149283D-01 1.196149283D-01 1.196149283D-01 1.196149283D-01 1.717947215D-01 1.717947215D-01 1.717947215D-01 1.717947215D-01 1.717947215D-01 1.717947215D-01 1.717947215D-01 1.717947215D-01 1.717947215D-01 -4.430571734D-01-4.430571734D-01-4.430571734D-01-1.325874047D-01-1.325874047D-01 -1.325874047D-01-1.325874047D-01-1.325874047D-01-3.162277661D-01-3.162277661D-01 -3.162277661D-01-3.162277661D-01-3.162277661D-01-3.162277661D-01 2.108185105D-01 2.108185105D-01 2.108185105D-01 2.108185105D-01 2.108185105D-01 2.108185105D-01 2.108185105D-01 2.108185105D-01 2.108185105D-01 2.982233263D-02-1.002823670D-01 2.980153584D-02-9.976244729D-02 5.756524651D-02 3.013428443D-02 5.729488828D-02 2.998870692D-02 3.013428443D-02-9.608141599D-02 3.055022017D-02-9.581105776D-02 3.876495105D-02 1.767466936D-03 3.830742173D-02 1.621889427D-03 1.788263723D-03 -6.798495673D-02 2.162605890D-03-6.773539528D-02 9.077771538D-02-8.955122487D-02 9.007062462D-02-8.980078631D-02 8.984185997D-02 7.505534440D-02 6.191177500D-02 7.480578295D-02 6.182858785D-02 6.184938464D-02 8.888520776D-02 6.195336857D-02 8.903078527D-02 1.996231593D-03 6.449057659D-02 1.788263723D-03 6.430340551D-02 1.684279788D-03 1.725873362D-03-1.680406387D-02 1.933841233D-03-1.649211207D-02 2.058621955D-03 6.765168822D-02 4.398494459D-02 6.754770428D-02 4.408892852D-02 2.435277764D-02 4.448406748D-02 2.435277764D-02 4.452566105D-02 2.435277764D-02 2.439437121D-02 2.352090616D-02 2.429038728D-02 2.350010937D-02 2.356249973D-02 2.302178327D-02 2.352090616D-02 2.298018970D-02 2.352090616D-02-4.325991660D-03 -5.088999780D-02-4.284398086D-03-5.095238816D-02-4.263601301D-03 6.696539424D-02 2.664042421D-02 6.694459746D-02 2.670281457D-02 2.676520493D-02-4.346788447D-03 2.682759530D-02-4.450772382D-03 2.680679851D-02 5.390501200D-02 2.822098003D-02 5.394660557D-02 2.824177681D-02-1.907091366D-02-4.993828494D-04-1.900852330D-02 -3.122117664D-04-1.875896185D-02-3.930618743D-02 7.362036609D-02-3.943096815D-02 7.357877252D-02-3.943096815D-02-2.364620680D-02-3.930618743D-02-2.350062929D-02 9.154719650D-02 6.390826655D-02 9.144321257D-02 6.397065691D-02 9.144321257D-02 9.154719650D-02 9.335651697D-02 9.152639972D-02 9.346050091D-02 4.756199195D-02 4.467123856D-02 4.745800802D-02 4.456725462D-02-1.514032091D-02-1.846780683D-02 -1.503633698D-02-1.853019719D-02 8.318454846D-03-1.859258756D-02 8.214470911D-03 8.256064487D-03-5.282643863D-03 8.214470911D-03-5.220253502D-03-5.241050289D-03 1.101969752D-03-5.178659928D-03 1.247547260D-03 1.289140835D-03-5.553002094D-03 1.413921557D-03-5.511408522D-03 3.730917595D-02 1.684279788D-03 3.726758238D-02 1.850654085D-03 1.954638020D-03-7.233148522D-02 2.204199464D-03-7.208192377D-02 -4.741693437D-02-7.563817435D-02-4.735454400D-02-7.559658078D-02-7.534701933D-02 -1.586820846D-02-7.526383219D-02-1.570183416D-02 2.953117761D-02-1.597219239D-02 2.928161616D-02-1.611776990D-02 2.930241295D-02 2.934400653D-02 7.611598053D-02 2.938560010D-02 7.634474519D-02 2.942719367D-02 9.755746795D-02-1.132803589D-01 9.745348402D-02-1.132387653D-01 4.566948434D-02-1.892533615D-02 4.577346827D-02 -1.884214900D-02-1.867577470D-02-9.379376942D-02-1.825983896D-02-9.358580155D-02 -1.830377218D-03-4.186419223D-02-1.892767579D-03-4.196817617D-02-9.344022404D-02 -1.853019719D-02-9.356500476D-02-1.844701005D-02-1.846780683D-02 1.609645319D-02 -1.846780683D-02 1.607565641D-02 1.611724998D-02-4.899749018D-02 1.628362428D-02 -4.901828697D-02-4.770808938D-02-4.885191267D-02-4.770808938D-02-4.766649581D-02 -3.706013443D-02-4.762490224D-02-3.701854086D-02-4.758330866D-02 2.894886757D-02 -4.047080750D-02 2.903205472D-02-4.038762035D-02-4.030443320D-02-6.509420333D-02 -4.022124606D-02-6.501101618D-02-4.134427256D-02-5.157863141D-03-4.142745970D-02 -5.074675993D-03-3.602029508D-02 4.460884820D-02-3.606188865D-02 4.460884820D-02 -5.001653274D-02-1.455801087D-02-5.005812632D-02-1.445402694D-02-1.435004300D-02 3.464718722D-02-1.437083979D-02 3.466798400D-02-6.407516077D-02-4.419343238D-02 -6.413755113D-02-4.406865166D-02-4.369430949D-02-6.336807001D-02-4.359032555D-02 -6.322249250D-02-6.326408607D-02-6.330567965D-02-3.090428547D-02-6.332647644D-02 -3.088348868D-02-3.086269190D-02-2.399975218D-02-3.084189511D-02-2.391656503D-02 -2.406214254D-02-2.410373612D-02-2.410373612D-02-2.408293933D-02-2.416612648D-02 -2.050589196D-02-2.052668875D-02-5.750337607D-02-3.123703406D-02-1.430844943D-02 -1.439163658D-02-8.464552277D-03-3.244324771D-02 2.512225876D-02 2.501827483D-02 -1.801027752D-02 2.994477371D-03-6.301686427D-03 3.585340086D-02 3.581180729D-02 2.890727400D-02 3.267149245D-02 3.262989887D-02 2.890727400D-02 2.896966436D-02 3.589499444D-02-6.239296068D-03-7.927761208D-02-7.913203457D-02-1.759434178D-02 2.533022663D-02-3.217288948D-02-8.214990833D-03-1.426685586D-02-1.422526228D-02 -3.090428547D-02-5.719142426D-02-2.013154980D-02-2.379178431D-02-3.880706454D-02 -2.366700359D-02-3.876547097D-02-3.861989346D-02-2.013154980D-02-3.864069024D-02 -2.013154980D-02 4.677171405D-02 4.629338795D-02-1.514032091D-02 9.772384225D-02 -7.470231894D-02 9.786941976D-02 9.578974105D-02-3.015794080D-03-2.953403717D-03 9.626806716D-02 3.502152938D-02 2.813779288D-02-1.451641730D-02 4.695888513D-02 4.716685300D-02-4.637943465D-03 2.641165956D-02-4.762724187D-03 2.632847241D-02 2.634926919D-02-4.845911335D-03 2.626608205D-02-4.887504912D-03-6.946152861D-02 -6.979427720D-02-6.946152861D-02-6.966949648D-02-6.887921857D-02-6.966949648D-02 -6.900399929D-02 7.476418938D-02 6.555121273D-02 7.482657974D-02 6.555121273D-02 7.478498616D-02 6.563439988D-02-7.489442926D-04 6.580077417D-02-7.073507196D-04 -8.672286183D-02-4.369924873D-04-8.668126826D-02 7.921470180D-02 1.621889427D-03 7.913151465D-02 1.580295853D-03-7.565897114D-02 2.678600172D-02-7.570056471D-02 2.693157923D-02-7.557578399D-02 7.536729620D-02-8.684764256D-02 7.538809299D-02 -8.693082970D-02-7.206112698D-02-8.682684577D-02-7.216511092D-02-9.941124155D-03 -8.027819750D-03-1.002431130D-02-7.944632601D-03-3.984690389D-02-7.882242240D-03 -3.988849746D-02 7.216459100D-02-3.327745885D-03 7.189423277D-02-3.494120179D-03 -3.410933031D-03 7.203981028D-02-3.431729820D-03 6.403304727D-02-1.310457543D-03 6.409543764D-02-1.310457543D-03-1.021332810D-01-1.595139560D-02-1.020916874D-01 -1.599298918D-02-1.121365356D-01 1.189550222D-02-1.122613163D-01 1.185390864D-02 -9.499998307D-02 1.019016568D-02-9.491679592D-02 1.027335283D-02 6.276444327D-02 1.023175925D-02 6.259806897D-02 6.239010110D-02 7.988019898D-02 6.243169467D-02 7.998418292D-02 9.907563340D-02 7.994258935D-02 9.907563340D-02 3.857777996D-02 4.067825545D-02 2.087971421D-02 2.094210457D-02 3.853618639D-02 4.071984903D-02 3.843220245D-02 4.055347473D-02 3.834901531D-02 3.763958491D-03 3.834901531D-02 3.826348852D-03 3.930332787D-03-2.433250077D-02 4.013519935D-03-2.410373612D-02 3.876495105D-02-2.414532969D-02 3.878574783D-02 2.790902822D-02 3.913929321D-02 2.784663786D-02 3.911849642D-02-6.679953987D-02-4.558681711D-02-4.558681711D-02 -5.057804599D-02-8.339537591D-02-4.558681711D-02 3.896616667D-02 3.152128391D-02 3.914011253D-02 3.169522977D-02 2.216299668D-02 2.216299668D-02 1.230026648D-02 1.261336903D-02 2.256307217D-02 3.200833231D-02 1.257857986D-02 1.607489162D-02 -3.755261670D-02 1.624883748D-02 3.148649474D-02-7.851686649D-02 3.173001892D-02 -7.815158019D-02-8.294923224D-03-6.835842833D-02-8.799366215D-03-6.884547673D-02 9.339382594D-02-7.564675982D-02 9.421137149D-02-2.669839510D-02-4.536278577D-02 -2.675057886D-02 3.063416003D-02-2.685494637D-02 3.092986799D-02 3.091247340D-02 7.314652797D-02 3.077331670D-02 7.295518751D-02-6.677552101D-02 2.663665893D-03 -6.677552101D-02 2.715849651D-03-1.911110199D-03-1.215326762D-03 3.429027673D-03 -1.319694278D-03 2.420141690D-03-1.389272621D-03 2.333168761D-03-2.111473302D-02 2.367957933D-03 2.750638822D-03-2.059289545D-02 3.307265571D-03 2.681060479D-03 3.811708562D-03 8.382680369D-02 3.637762703D-03 8.391377662D-02 8.337454448D-02 2.378069318D-02 8.347891198D-02 2.381548234D-02-8.505723079D-02-2.228017028D-02 -4.626730424D-02 8.659254287D-02 8.605331071D-02-4.675435264D-02 6.043108566D-02 -4.671956347D-02 6.057024236D-02-1.026051143D-02-4.868189802D-03-1.019093309D-02 -4.833400630D-03 7.525127286D-02-3.149930081D-02 1.078693751D-02-3.136014412D-02 1.052601872D-02 3.738325934D-02 1.071735916D-02 3.747023227D-02 7.413801936D-02 3.724410267D-02 7.439893815D-02 9.117057262D-03 6.029192899D-02 9.151846434D-03 6.013537772D-02 4.161014373D-02 6.003101020D-02 4.157535456D-02-1.888822603D-02 4.161014373D-02-1.878385851D-02 7.876497921D-02-1.116502990D-02 7.843448206D-02 -1.097368945D-02-7.455090091D-02 7.959991934D-02-6.042649716D-02 6.507544011D-02 -6.035691881D-02 1.844055531D-02-5.971331914D-02 7.601663464D-02 3.950865250D-03 7.561655917D-02 3.724735633D-03-1.563543847D-02 2.402421739D-02-1.560064930D-02 -9.149322758D-02-4.626730424D-02-4.611075296D-02 7.126791269D-02-7.496837097D-02 1.306888193D-03-7.496837097D-02 7.465985694D-02-4.277099247D-02 7.462506777D-02 -3.859303820D-03 7.265947956D-02 2.806076250D-04-1.511034723D-03-7.359419868D-02 7.165059356D-02-7.331588531D-02-1.179123499D-02-7.317672862D-02 6.905880028D-02 -7.635993784D-02 6.918056238D-02-2.048852793D-02 6.773681174D-02-2.073205213D-02 5.187294941D-02 2.586804349D-02 5.180337107D-02 6.965021619D-02 6.582340729D-02 -8.114344896D-02-8.194359992D-02-7.794284516D-02-7.702093211D-02-7.776889930D-02 -4.090977178D-02-4.007483165D-02 5.968637214D-03-3.990088580D-02 6.299134346D-03 -7.736882382D-02 6.490474791D-03-8.260134052D-03-8.294923224D-03-7.749058593D-02 6.229556002D-03 7.586008337D-02 3.081135955D-03 3.197354314D-02-6.616671050D-02 3.207791064D-02 8.104366995D-02-1.615402238D-03 8.111324831D-02-1.528429309D-03 -6.602755382D-02-1.354483450D-03-6.557529458D-02-2.648966007D-02-6.494908949D-02 -8.688366231D-02-8.657055977D-02-2.638529255D-02 7.203327447D-02 4.667196823D-02 6.375345158D-02-5.159004752D-02 6.366647865D-02 6.514501845D-02 6.361429490D-02 6.517980763D-02 3.533395188D-03-9.037997409D-02 4.055232765D-03 7.596445088D-02 2.407640113D-02 7.572092668D-02 2.405900656D-02 4.942356646D-03-1.250115934D-03 -8.500404585D-04 2.611482135D-03-1.371878036D-03-7.122853500D-02-1.267510520D-03 7.544261331D-02 4.977145818D-03 2.144981867D-02 2.184989415D-02 5.290248364D-03 2.169334288D-02-6.778440699D-02 2.179771039D-02-6.776701241D-02-2.119845230D-03 1.270034196D-02-2.119845230D-03-4.334501380D-02-2.032872300D-03-4.331022463D-02 -1.980688542D-03 2.275441262D-02 1.840576614D-02 2.266743969D-02 4.439327748D-02 2.258046676D-02 4.442806663D-02 7.639931553D-02 4.446285582D-02 7.646889388D-02 -1.344372065D-02 7.655586680D-02-1.337414231D-02-5.207709593D-02-5.153786376D-02 -1.245222925D-02-5.193793924D-02 6.737152545D-02 2.454930862D-03 6.766723341D-02 2.559298378D-03-5.080729115D-02 2.663665893D-03-5.066813447D-02 6.667574201D-02 -2.606893635D-03 6.681489870D-02-4.313627877D-02 4.420519069D-03-4.296233291D-02 4.472702827D-03 4.455308241D-03-5.985247582D-02 4.507491998D-03-5.966113538D-02 1.447458972D-02-1.967098239D-02 1.447458972D-02-1.968837698D-02-6.910639552D-02 -1.941006361D-02-6.893244966D-02 8.083493494D-02 4.621970900D-02 8.078275116D-02 8.100888080D-02 4.639365485D-02 1.341677365D-03 4.648062778D-02 1.359071951D-03 -2.916842630D-02 1.498228638D-03-2.895969126D-02 7.318131714D-02-4.477136985D-02 7.330307922D-02-4.478876443D-02-4.518883991D-02 7.064170760D-02-4.546715328D-02 1.673588589D-02-3.487385047D-02 1.694462092D-02-3.443898582D-02 7.069389134D-02 7.448591108D-02 7.062431301D-02 7.438154357D-02-7.672522415D-02 7.439893815D-02 -7.651648912D-02-5.080729115D-02-7.618599198D-02-5.068552905D-02-5.056376695D-02 3.764417813D-02-5.073771281D-02 3.741804853D-02-5.839133061D-02 3.736586477D-02 -5.839133061D-02 3.936624215D-02-3.002076100D-02 3.943582049D-02-2.998597183D-02 -6.147017231D-02-9.408502087D-02-6.108749142D-02-9.394586420D-02-6.089615098D-02 -9.377191835D-02-5.785209844D-02-3.400412118D-02-5.778252010D-02-3.389975366D-02 -3.457814251D-02 3.035584665D-02-3.445638041D-02-3.447377499D-02 3.052979251D-02 -3.436940748D-02-3.153408998D-02 6.646700698D-02-3.151669539D-02 6.643221779D-02 -1.822723176D-02-4.508447239D-02-1.840117762D-02 6.354471655D-02-1.873167476D-02 6.350992738D-02-1.869688558D-02-4.548454787D-02 3.947060965D-02-6.609713216D-02 3.950539884D-02-3.529132053D-02 3.742130219D-03-7.317672862D-02 4.142205694D-03 -7.305496652D-02 3.776919391D-03-4.482355361D-02 4.020443593D-03-4.468439692D-02 3.912271793D-02 2.458184532D-04 7.215503657D-02 1.762401097D-04-8.803170498D-02 3.607866540D-02-8.803170498D-02 7.205066906D-02 5.797844906D-02 7.977386520D-02 5.801323824D-02 4.350940725D-03 4.472702827D-03 5.823936785D-02 4.472702827D-03 2.477218456D-02 5.448213730D-02 2.466781707D-02 5.446474271D-02-5.687800163D-02 -3.383017532D-02-5.686060705D-02-3.376059697D-02 2.284238674D-04-3.372580780D-02 3.675805545D-04 7.194630154D-02-4.284057081D-02 7.212024740D-02-4.285796540D-02 -7.241136684D-02-7.755691061D-03-7.258531270D-02-7.825269405D-03 6.462318088D-02 -8.011716840D-02 1.861450117D-02 1.856231741D-02-7.987364419D-02 7.062431301D-02 -2.154634401D-03 7.067649677D-02-8.055203304D-02 1.821442570D-02 5.629117423D-02 -7.966490916D-02-4.198823610D-02-4.190126317D-02-9.234230863D-03 6.629306112D-02 6.596256399D-02-9.947408885D-03 8.734376372D-03-3.708296288D-02 8.890927645D-03 -3.713514664D-02-2.542859033D-02-2.530682823D-02-3.685683326D-02-2.525464447D-02 -3.675246575D-02-2.527203905D-02-2.534161740D-02-2.396744511D-02-2.530682823D-02 -2.398483970D-02-5.308598191D-02-2.382828842D-02-5.301640356D-02 1.169145598D-02 -1.720095120D-02 3.011557611D-03-1.720095120D-02 1.181321808D-02 1.169145598D-02 -1.734010789D-02 1.177842890D-02-4.228394406D-02-3.911487577D-03-4.244049534D-02 -3.163510372D-01-3.162156070D-01-3.163510372D-01-3.162446278D-01-3.162929957D-01 -3.162543014D-01-3.163026693D-01-3.295372995D-02-8.338212162D-02-3.285699410D-02 -1.951712225D-02-1.948810147D-02-1.330784927D-03 4.439624513D-02 4.436722434D-02 4.437689792D-02 5.170947433D-02 9.614991778D-02-1.959451090D-02 2.718693975D-02 -1.966222597D-02-7.762633933D-02-9.678970862D-02-6.374474676D-02-2.288352932D-02 2.859928295D-02 5.519196447D-02 8.738565096D-02 1.068295541D-01 1.512699975D-01 1.429603891D-01 1.260025969D-01 1.014413680D-01 1.014316944D-01 8.440618715D-02 6.207955606D-02 4.686300892D-02 1.250243974D-02-3.913631784D-03-1.573475100D-02 1.645893543D-02-3.971673231D-03 3.979161925D-02 3.979161925D-02 3.978194567D-02 3.979161925D-02 1.149069965D-01 1.456302982D-01 1.812677805D-01 1.165998736D-01 7.348471123D-02 4.687268250D-02 4.689202970D-02 4.689202970D-02 6.209890321D-02 8.440618715D-02 1.014123473D-01 1.162322774D-01-5.528670607D-02-5.528670607D-02 -5.518100356D-02-5.514576939D-02-5.518100356D-02-5.521623773D-02-5.507530106D-02 -5.514576939D-02-5.528670607D-02-5.496959856D-02-5.496959856D-02-5.507530106D-02 -5.496959856D-02-5.489913022D-02-5.507530106D-02-5.504006689D-02-5.493436439D-02 -5.528670607D-02-5.489913022D-02 1.852569576D-01 1.852569576D-01 1.853626601D-01 1.852569576D-01 1.853274259D-01 1.853626601D-01-5.489913022D-02-5.514576939D-02 -5.525147190D-02-5.511053523D-02-5.475819355D-02-5.507530106D-02 2.714749662D-01 1.851512551D-01 1.852921917D-01-2.977330148D-01-2.975216098D-01-2.978387173D-01 -2.979796539D-01 2.715102004D-01 2.715102004D-01 2.714749662D-01-2.503729638D-01 -3.518699686D-01-2.502897422D-01-3.518033914D-01-2.501898764D-01-3.517035255D-01 -2.501732321D-01 1.559978746D-01 2.322288163D-01 2.324784809D-01 1.560145189D-01 -1.786859186D-02 1.561809620D-01 1.560145189D-01 1.562142506D-01 1.560311632D-01 1.561643177D-01 1.560478075D-01 1.562142506D-01 1.559978746D-01 1.560810961D-01 -1.790188048D-02-1.780201461D-02-1.803503496D-02-1.781865894D-02-1.801839065D-02 -1.781865894D-02 1.700209891D-01 1.722146852D-01 1.725071780D-01 1.703866051D-01 1.709715907D-01-3.872509562D-01-3.860809850D-01-1.357802542D-01 1.713372068D-01 1.702403586D-01-1.372427183D-01 1.712640835D-01 1.702403586D-01-1.369502256D-01 -1.358533775D-01 1.717028228D-01 1.705328515D-01-1.370233487D-01-1.362921166D-01 1.708253443D-01 1.705328515D-01-3.873972027D-01-2.429057496D-01 1.302716238D-01 -3.953803117D-01 1.311991669D-01 1.306691423D-01 1.309341545D-01 1.306691423D-01 1.309341545D-01 1.302716238D-01-3.370776015D-01 1.304041299D-01 1.301391176D-01 1.294765868D-01 1.300066114D-01 1.308016484D-01 1.304041299D-01 1.300066114D-01 -3.377401323D-01-3.385351692D-01-3.391977000D-01-3.381376507D-01 1.286815499D-01 1.311991669D-01 6.109227453D-02 6.101087057D-02-1.111585216D-01-2.184896534D-01 -1.111178196D-01 1.548696456D-01 1.547882416D-01 6.532528087D-02 6.528457888D-02 6.504036698D-02 6.499966500D-02 6.410422135D-02 6.499966500D-02 6.414492333D-02 6.508106896D-02-4.769472516D-01-2.931777939D-01-2.930149860D-01-5.461813263D-01 1.544626258D-01 1.549103476D-01 1.549510496D-01 6.512177095D-02 1.544626258D-01 6.520317496D-02 6.536598285D-02 6.512177095D-02 6.508106896D-02 1.546661357D-01 3.149057655D-01-1.234835130D-01 8.301208689D-02-1.132991349D-01-7.704610185D-02 -7.708801283D-02-1.137601561D-01-7.708801283D-02-7.729756798D-02 8.317973097D-02 8.288635387D-02-7.733947900D-02-7.721374593D-02-1.133829570D-01 8.309590893D-02 2.633552097D-01 2.636904979D-01 4.745867551D-01 2.637324090D-01 1.543446444D-01 1.629364037D-01-1.619578301D-01-7.704610185D-02-7.729756798D-02-7.738139002D-02 -7.725565691D-02-1.622931183D-01-1.622931183D-01-7.733947900D-02-7.721374593D-02 8.347310812D-02 8.326355301D-02-7.738139002D-02-7.721374593D-02-1.619997412D-01 -1.624607624D-01-7.754903406D-02-7.708801283D-02 2.638162310D-01 8.271870974D-02 -7.746521206D-02-7.729756798D-02-7.746521206D-02 1.202741122D-01-2.516002821D-02 -2.514718634D-02-1.704396845D-02-1.704396845D-02-1.590104232D-02-7.480668487D-02 -7.481952674D-02 4.992674800D-03 4.979832937D-03 6.272970749D-02 6.272970749D-02 9.150833076D-02 9.149548890D-02 1.010498377D-01 1.010369959D-01 1.114645916D-01 1.114517497D-01 1.010241540D-01 1.010369959D-01 9.145696330D-02 9.145696330D-02 6.269118189D-02 6.269118189D-02 4.889939869D-03 4.902781733D-03-9.799909613D-02 -9.799909613D-02-7.496078727D-02-7.496078727D-02-7.481952674D-02-7.480668487D-02 -7.476815927D-02-7.474247554D-02-7.470394994D-02-7.485805234D-02-7.484521047D-02 -9.789636120D-02-9.788351933D-02 5.031200402D-03 5.031200402D-03 6.280675869D-02 6.280675869D-02 9.130286090D-02 9.130286090D-02 1.008828935D-01 1.008957353D-01 1.112334380D-01 1.112462799D-01 1.289552141D-01 1.289680559D-01 1.112077543D-01 1.112077543D-01 1.221233410D-01 1.220719735D-01 1.221104991D-01 1.110279681D-01 1.110151263D-01 1.220591316D-01 1.220591316D-01 1.111307031D-01 1.111435449D-01 1.288910047D-01 1.288781629D-01 1.008186841D-01 1.008186841D-01 9.114875850D-02 9.114875850D-02 6.235729335D-02 6.238297709D-02 4.568893201D-03 4.581735065D-03 -9.832014280D-02-9.830730093D-02-7.528183394D-02-7.526899207D-02-3.447038156D-02 -3.447038156D-02-1.638903325D-02-1.640187512D-02-3.445753970D-02-3.445753970D-02 -7.525615020D-02-7.525615020D-02-7.511488967D-02-7.508920594D-02-7.505068034D-02 -7.501215474D-02-7.502499660D-02-7.511488967D-02-7.511488967D-02-7.959670115D-02 -7.958385928D-02-7.511488967D-02-7.511488967D-02-7.514057340D-02-7.514057340D-02 -3.432912103D-02-3.434196290D-02-3.381544636D-02-3.380260450D-02-1.627345645D-02 -1.627345645D-02-1.739069885D-02-1.739069885D-02-2.551960047D-02-2.551960047D-02 1.197861212D-01 1.197861212D-01 1.197475956D-01 1.197475956D-01-2.559665167D-02 -2.559665167D-02-1.750627565D-02-1.749343379D-02-1.635050765D-02-1.636334952D-02 -3.436764663D-02-3.438048850D-02-3.385397196D-02-3.385397196D-02-7.525615020D-02 -7.524330834D-02-7.969943608D-02-7.969943608D-02-7.524330834D-02-7.523046647D-02 -7.529467580D-02 6.235729335D-02 6.234445149D-02 9.113591663D-02 9.113591663D-02 1.007159492D-01 1.007287911D-01 6.234445149D-02 4.556051337D-03 4.556051337D-03 -7.532035954D-02-7.532035954D-02-7.519194087D-02-7.519194087D-02-7.511488967D-02 -7.507636407D-02-7.506352220D-02-7.520478274D-02-7.519194087D-02-9.826877533D-02 -9.826877533D-02-7.516625714D-02-7.516625714D-02-3.436764663D-02-3.435480476D-02 -3.384113010D-02-3.385397196D-02-1.631198205D-02-1.631198205D-02-1.744206632D-02 -1.744206632D-02-2.559665167D-02-2.558380981D-02 1.197604375D-01 1.197604375D-01 -9.671490946D-02-1.853362499D-02-9.675343506D-02-1.852078312D-02-9.674059319D-02 -1.850794126D-02-9.671490946D-02-1.146850628D-01-8.729578385D-02-1.146805654D-01 -8.729128643D-02-1.146850628D-01-8.729128643D-02-9.713163820D-02-9.719010464D-02 -9.717661239D-02-8.729128643D-02-1.146805654D-01-8.729578385D-02-1.146850628D-01 -8.729578385D-02-1.146850628D-01-9.718110980D-02-9.712264336D-02-9.882716499D-02 -1.018944044D-01-8.014938579D-02-7.659192772D-02-7.177519246D-02-6.270839668D-02 -5.672683002D-02-4.882036822D-02-4.497507537D-02-4.048215425D-02-3.686173233D-02 -2.488960417D-02-2.754757853D-02-1.984799798D-02-1.985699282D-02-2.755657337D-02 -5.787367175D-02-8.224968025D-02-1.027669036D-01-9.674036279D-02-9.673586537D-02 -8.077452696D-02-6.857303046D-02-8.099040305D-02-8.078352180D-02-9.674486021D-02 -1.027624062D-01-9.064186324D-02-8.221370090D-02-5.788266658D-02-2.754757853D-02 -1.987048508D-02-2.758805529D-02-1.987048508D-02-5.330330930D-03 7.091539083D-03 7.096036501D-03-7.919593306D-02-1.071653790D-01-1.071608815D-01-9.267919384D-02 -3.888107325D-02 7.105031338D-03 7.082544245D-03 7.073549408D-03 5.256592317D-03 3.111323673D-03 8.491221458D-04 6.264014071D-03 6.250521815D-03 5.369027781D-03 6.479890161D-03 2.488782425D-02 3.458875605D-02 4.079969105D-02 4.921885857D-02 4.920536632D-02 1.672500960D-02 1.672051218D-02 7.392866125D-03 5.670256303D-02 4.267511459D-02 2.797305337D-02 4.268860686D-02-2.372477277D-02 1.383766690D-02 1.378369787D-02-2.015733465D-03 4.932778182D-03 3.597044875D-03 1.381517980D-02 1.938298396D-02 1.380168755D-02 1.378819529D-02 8.188909207D-03 4.075921429D-02 4.947970885D-02 3.804277348D-02 5.743114483D-02 9.455733490D-02 8.948874420D-02 9.454834006D-02 5.745363192D-02 3.802928124D-02 4.946171918D-02 4.077720398D-02 8.206898881D-03 1.937848654D-02 1.381517980D-02 2.025998057D-02 2.023749348D-02 -3.343919682D-02 3.057354651D-03 1.628876000D-02 9.349243191D-03 3.928406100D-02 2.720399480D-02 3.927506617D-02 1.504297506D-02 6.319233798D-02 7.556023897D-02 7.425149018D-02 4.853075354D-02 5.890629811D-02 4.852175870D-02 5.891529295D-02 7.430096178D-02 7.556473639D-02 1.504297506D-02 3.322603823D-02 3.928855844D-02 2.722198448D-02 3.929305585D-02-5.510227672D-03-2.717330758D-03-1.139734854D-02 -2.717330758D-03-2.119272613D-02-2.032472435D-02-1.915089811D-02-2.030673468D-02 -1.914190327D-02-2.115674678D-02-5.483243161D-03-2.690346246D-03-1.137036403D-02 3.926157392D-02 2.717701029D-02 3.925257907D-02 2.024199090D-02 2.021050897D-02 -3.350665810D-02 3.012380465D-03 1.623479098D-02 9.277284494D-03 1.623029356D-02 4.874311741D-03-2.377424437D-02 4.266611976D-02 2.795956112D-02 2.211741443D-02 7.370379032D-03 1.668453283D-02 7.365881614D-03 2.795506370D-02 9.450336587D-02 9.448087878D-02 8.942128292D-02 9.449886846D-02 5.740865774D-02 3.799779931D-02 4.945272434D-02 8.175416951D-03 1.935150203D-02 3.579055201D-03 4.905793671D-03 -2.042717977D-03-2.374725986D-02-2.024728303D-03 1.379269271D-02 1.939197879D-02 3.606039713D-03 4.923783345D-03 3.052857234D-03-3.349766326D-02 2.021500639D-02 1.623928840D-02 9.317761261D-03 3.925707648D-02 3.320804856D-02 1.502048797D-02 3.321704339D-02 3.927506617D-02-2.694843663D-03-1.136136920D-02-2.685848828D-03 -5.483243161D-03-5.510227672D-03-2.118373129D-02-1.914640069D-02-2.031572951D-02 -1.913740585D-02-2.031123209D-02-1.914640069D-02-2.118373129D-02-5.510227672D-03 5.845754146D-03 4.928280764D-03 1.773243135D-02 4.445159491D-02 7.165647968D-02 7.165647968D-02 9.700393058D-02 1.039029706D-01 1.091244736D-01 1.169229973D-01 1.169454844D-01 1.091289710D-01 1.039074680D-01 9.700842800D-02 1.084318711D-01 1.163158458D-01 1.201746309D-01 1.128618284D-01 1.078606989D-01 1.070286765D-01 1.070241791D-01 1.070286765D-01 1.070331739D-01 9.081098525D-02 8.947075453D-02 9.453484780D-02 5.744013967D-02 3.804277348D-02 4.947970885D-02 8.188909207D-03 1.381517980D-02 1.938748138D-02 8.215893718D-03 4.950219594D-02 3.806975800D-02 5.748511385D-02 8.951123129D-02 9.457532457D-02 7.047815602D-02 7.048715086D-02 1.670701993D-02 7.406358380D-03 7.397363543D-03 1.670701993D-02 4.921885857D-02 4.078170139D-02 3.456626896D-02 2.485634232D-02 5.360032944D-03 6.264014071D-03 8.446247282D-04 3.111323673D-03 5.265587155D-03 7.082544245D-03 7.096036501D-03 -5.339325768D-03-1.987947991D-02-2.759705013D-02-3.009761484D-02-2.493457836D-02 -3.690670651D-02-4.500205988D-02-5.675381453D-02-6.274437603D-02-7.180217697D-02 -7.660541998D-02-8.014488837D-02-1.018944044D-01-9.883615983D-02-9.717211497D-02 -9.718560722D-02-9.716761755D-02-9.720809432D-02-9.720359690D-02-1.147030524D-01 -8.731377352D-02-1.146940576D-01-8.730927611D-02-1.146985550D-01-8.730477869D-02 -3.818936138D-03-1.324197404D-01-1.958328737D-03-1.082748813D-03-2.067776290D-03 1.692175503D-01 2.296325664D-01 2.286475390D-01 1.684514178D-01 2.286475390D-01 1.647302031D-01-1.399716175D-01-1.326386354D-01-4.585068592D-03-1.326386354D-01 -1.400810649D-01 1.633073857D-01-1.401905124D-01-4.475621122D-03-1.326386354D-01 -1.400810649D-01 1.631979382D-01 1.670286004D-01-1.319819505D-01-5.235850804D-01 -1.705074680D-01-1.708358105D-01 4.226979441D-01-1.858460137D-02-4.636868504D-01 -1.836559090D-02-4.636868504D-01-1.829258743D-02-4.633948365D-01-1.814658044D-02 1.780137841D-01 1.783788016D-01 1.785248085D-01-1.687527704D-01 1.757506762D-01 1.754586622D-01 1.753856587D-01 1.756046691D-01 1.755316657D-01 1.748746343D-01 8.902253581D-02-1.712348888D-01 6.347131597D-02 6.412834736D-02-2.534974041D-02 -6.108584764D-02-2.537318161D-02-6.107998734D-02-2.536146101D-02-6.109756824D-02 -2.535560071D-02-6.110342854D-02-2.533215951D-02-6.112100944D-02-2.534388011D-02 9.071935434D-02 9.785719930D-02 9.081311913D-02 2.283543518D-01 2.289696832D-01 -2.155574860D-01-2.114494159D-01-1.523486323D-02-3.814863483D-02-1.526416472D-02 2.283484915D-01 2.289755435D-01-2.114962983D-01-1.527002502D-02-3.820137753D-02 -1.526416472D-02 9.790994200D-02 9.081897943D-02-2.155750669D-01-2.114552762D-01 -2.155692066D-01-2.114259747D-01-1.522314263D-02-3.814863483D-02-1.530518682D-02 9.793338320D-02 9.077209704D-02 2.283191900D-01 2.289462420D-01-1.527588532D-02 -3.815449513D-02-1.527002502D-02 9.077209704D-02 9.789822140D-02 2.289403817D-01 2.283191900D-01-2.114376953D-01-2.156102287D-01-2.114669968D-01 9.078967793D-02 9.795096410D-02-7.483541436D-02-7.484660358D-02-7.483168462D-02-7.481303588D-02 -7.480557644D-02-7.623779669D-02-7.185535179D-02-7.147118858D-02-6.827480111D-02 -7.044178024D-02-6.955783178D-02-6.907296554D-02-6.943848009D-02-7.491746865D-02 -7.942299498D-02-6.937880425D-02-7.118772831D-02-6.940118269D-02-6.601830820D-02 -6.939745295D-02-7.121383649D-02-7.944537342D-02-7.493611735D-02-6.947577749D-02 -6.910280346D-02-6.958766970D-02-6.946458827D-02-7.621541829D-02-8.809091152D-02 -9.261135681D-02-6.844636916D-02-5.111053607D-02-5.093150853D-02-5.092404905D-02 -8.820653347D-02-5.394140899D-02-5.282621663D-02-6.857318033D-02-6.859928852D-02 -5.287843299D-02-5.397497665D-02-8.824756062D-02-5.095388698D-02-5.094642750D-02 -5.112545503D-02-6.144191681D-02-6.120321343D-02-5.539227798D-02-4.252840355D-02 -3.685546848D-02-2.906404091D-02-2.586392370D-02-2.902674351D-02-2.389089107D-02 -2.273467156D-02-2.217148077D-02-2.808311921D-02-2.806074076D-02-2.213791311D-02 -2.268991468D-02-2.385359366D-02-2.897825689D-02-2.581543708D-02-2.902301377D-02 -3.682190082D-02-4.250975485D-02-5.537362928D-02-6.118456472D-02-7.449227821D-02 -7.951250874D-02-6.249370358D-02-4.230834887D-02-1.716989898D-02-1.078458352D-02 1.277396735D-03 1.161250721D-02 1.009077315D-02-4.457433027D-04-1.420848515D-02 -2.652035800D-02-6.871864021D-02-3.631838588D-02-2.482332615D-02-3.780131163D-03 6.480384503D-03 8.367633118D-03 1.015417874D-02 1.164234513D-02 1.012061108D-02 -4.270945992D-04-1.418983645D-02-2.651289852D-02-6.870372124D-02-3.632957509D-02 -2.483451537D-02-1.028106857D-02-2.213640221D-03 1.495808430D-02-1.041160948D-02 -4.993566786D-02-2.862020181D-02-1.483881126D-02 3.500321977D-03-1.829628056D-02 1.059801784D-02 1.060547732D-02 9.852069773D-03 2.046318103D-02 4.261783862D-02 6.516411897D-02 7.542090490D-02 7.102354107D-02 7.964297096D-02 8.619612473D-02 9.191754645D-02 9.625896416D-02 1.027822800D-01 1.181599995D-01 1.183949731D-01 1.127854436D-01 1.021780621D-01 9.563982731D-02 8.616255707D-02 8.616255707D-02 9.191008697D-02 9.624031546D-02 1.027934692D-01 1.169888610D-01 1.032708760D-01 7.572674360D-02 7.062072908D-02 5.191981103D-02 6.515292978D-02 5.191608132D-02 4.558671193D-02 4.102523954D-02 5.345273434D-02 6.244886804D-02 6.245259778D-02 9.141776121D-02 1.169851312D-01 1.032447679D-01 7.570063542D-02 7.061699934D-02 7.539479671D-02 6.514920004D-02 5.191235158D-02 4.558671193D-02 4.104388824D-02 4.101778002D-02 5.343781534D-02 6.245259778D-02 6.245259778D-02 9.142149098D-02 1.032596868D-01 1.170000502D-01 1.028195775D-01 9.624404524D-02 1.181637292D-01 1.183987028D-01 1.128003626D-01 8.826986036D-02 1.053968280D-01 1.053968280D-01 9.932108102D-02 9.518106924D-02 5.760393534D-02 9.515123132D-02 9.445376988D-02 8.101924514D-02 8.412611888D-02 8.102670466D-02 9.446122932D-02 9.516615025D-02 9.930989176D-02 1.054005577D-01 8.827359014D-02 1.022004405D-01 9.565474623D-02 8.617747607D-02 7.962805203D-02 7.101981130D-02 6.515665952D-02 4.260664944D-02 2.045572155D-02 1.059428810D-02 9.844610292D-03 1.055326096D-02 9.807312889D-03 -1.832238874D-02 3.477943534D-03-1.484254101D-02-2.862393155D-02-7.310481484D-02 -7.316822043D-02-7.310108510D-02-4.989837046D-02-1.038550130D-02 1.496927352D-02 3.442732886D-02 2.637854921D-02-2.202450999D-03-1.027360909D-02 1.095980265D-02 -3.809969085D-03 6.458006065D-03 8.334065455D-03 1.012061108D-02 1.157893955D-02 1.005347575D-02-4.905001857D-04 1.258748032D-03-1.080323222D-02-1.719600716D-02 -4.234191654D-02-6.251235228D-02-7.952742767D-02-7.451838643D-02-6.119575394D-02 -6.143445733D-02-5.111053607D-02-6.845009890D-02-9.258151885D-02-8.806107360D-02 -7.617439114D-02-7.492865787D-02-6.945712876D-02-6.908788450D-02-6.943102057D-02 -7.041940180D-02-7.047907765D-02-6.832328773D-02-7.150102650D-02-7.190383845D-02 -7.629001309D-02-7.484287384D-02-7.482422514D-02 7765D+00 6.406762598D+01 5.883397765D+00 6.402786445D+01 5.957716784D+00 7.641148593D+01 6.419160491D+01 7.637711988D+01 6.417271547D+01 6.420193420D+01 7.681649615D+00 6.424921469D+01 7.683658858D+00 6.798478512D+01 5.151374569D+01 6.788997351D+01 5.148439535D+01 5.152988778D+01 2.026363225D+01 5.157863196D+01 2.026373291D+01 9.116164644D+01 1.060632314D+01 9.101081447D+01 1.058942556D+01 9.092409462D+01 8.424277385D+01 7.841628355D+01 8.420383984D+01 7.840260653D+01 7.839867596D+01 9.045439141D+01 7.836766232D+01 9.042058772D+01 5.144780028D+01 7.943405038D+01 5.142380247D+01 7.941863899D+01 5.144529522D+01 5.149343316D+01 4.317545284D+01 5.151959834D+01 4.323939374D+01 5.149345936D+01 8.094992390D+01 7.036663670D+01 8.088924141D+01 7.037002960D+01 6.144145532D+01 7.043762406D+01 6.143475451D+01 7.046144804D+01 6.145008251D+01 6.148203694D+01 6.109699511D+01 6.144167320D+01 6.108477232D+01 6.112340506D+01 6.087806427D+01 6.109783408D+01 6.085436717D+01 6.109138830D+01 4.861464344D+01 2.779204783D+01 4.863299600D+01 2.776273056D+01 4.863808808D+01 8.056841596D+01 6.251386279D+01 8.052164594D+01 6.250943356D+01 6.251270019D+01 4.859203646D+01 6.252700209D+01 4.853524405D+01 6.250867010D+01 7.468123820D+01 6.318721851D+01 7.467294147D+01 6.316462880D+01 4.216097559D+01 5.043223190D+01 4.211956324D+01 5.043232335D+01 4.214412673D+01 3.300376444D+01 8.353930957D+01 3.301384331D+01 8.357370699D+01 3.305246275D+01 4.008231576D+01 3.304314407D+01 4.007922781D+01 9.153924453D+01 7.920812478D+01 9.153758765D+01 7.925711228D+01 9.152982426D+01 9.153902862D+01 9.230755228D+01 9.146138090D+01 9.230085257D+01 7.176575728D+01 7.049728697D+01 7.177110224D+01 7.050712127D+01 4.375134021D+01 4.225699614D+01 4.379494548D+01 4.224292421D+01 5.427159682D+01 4.225173892D+01 5.425083331D+01 5.426940501D+01 4.820052308D+01 5.422045658D+01 4.819403810D+01 4.829392352D+01 5.110473578D+01 4.827749572D+01 5.112414223D+01 5.112270903D+01 4.804404414D+01 5.114961959D+01 4.804318247D+01 6.735594883D+01 5.141015603D+01 6.729559937D+01 5.143287206D+01 5.143639694D+01 1.818228889D+01 5.149338248D+01 1.826280556D+01 2.947635002D+01 1.685064744D+01 2.947254969D+01 1.680612789D+01 1.687223696D+01 4.343303285D+01 1.684822235D+01 4.347158230D+01 6.381459999D+01 4.349236896D+01 6.374928831D+01 4.345805723D+01 6.377286880D+01 6.376896225D+01 8.464948031D+01 6.372279560D+01 8.469224481D+01 6.368442060D+01 9.420075239D+01-6.877308478D-02 9.417644574D+01-4.123350056D-02 7.111039337D+01 4.223443661D+01 7.115784865D+01 4.224283324D+01 4.229293586D+01 8.662049812D+00 4.240275839D+01 8.673723289D+00 4.982074055D+01 3.194038305D+01 4.982798942D+01 3.191403964D+01 8.745105287D+00 4.228781659D+01 8.752797480D+00 4.233746192D+01 4.230064505D+01 5.772982054D+01 4.225201392D+01 5.768013978D+01 5.769643824D+01 2.859012205D+01 5.779293761D+01 2.860729697D+01 2.921156583D+01 2.871119532D+01 2.922904658D+01 2.924591740D+01 3.397942784D+01 2.924409133D+01 3.397426492D+01 2.923614080D+01 6.347965820D+01 3.242624094D+01 6.350600539D+01 3.246285031D+01 3.250333220D+01 2.142046356D+01 3.254107349D+01 2.144695240D+01 3.203668099D+01 4.821532257D+01 3.199383418D+01 4.824776464D+01 3.443355155D+01 7.047919006D+01 3.439707538D+01 7.046762536D+01 2.827197169D+01 4.411382936D+01 2.822416723D+01 4.412930686D+01 4.413637254D+01 6.603580462D+01 4.410538335D+01 6.602577638D+01 2.199528301D+01 3.087777478D+01 2.194517381D+01 3.090586361D+01 3.107530786D+01 2.225039338D+01 3.106983781D+01 2.226570547D+01 2.232953056D+01 2.231490628D+01 3.680088827D+01 2.229272666D+01 3.678605912D+01 3.676662965D+01 3.981459085D+01 3.673788566D+01 3.982235096D+01 3.982113654D+01 3.980787686D+01 3.981278974D+01 3.982652082D+01 3.979322108D+01 4.140842841D+01 4.138970443D+01 2.482824251D+01 3.654514760D+01 4.409952308D+01 4.406264057D+01 4.673013686D+01 3.602976510D+01 6.179252770D+01 6.175000093D+01 4.249869041D+01 5.185713584D+01 4.770080714D+01 6.656488262D+01 6.655683140D+01 6.347381222D+01 6.515224589D+01 6.510239153D+01 6.342724030D+01 6.348139495D+01 6.657007727D+01 4.772386995D+01 1.506335360D+01 1.513272497D+01 4.267597302D+01 6.185560919D+01 3.613161172D+01 4.683983775D+01 4.412997091D+01 4.414694269D+01 3.668753756D+01 2.493151167D+01 4.150297279D+01 3.996389011D+01 3.321848141D+01 3.996543486D+01 3.319534299D+01 3.323616784D+01 4.149158475D+01 3.320990221D+01 4.148597036D+01 7.145887050D+01 7.126202765D+01 4.379200439D+01 9.424755325D+01 1.712508575D+01 9.426669524D+01 9.332058784D+01 4.918308859D+01 4.921275535D+01 9.354193696D+01 6.616368608D+01 6.308161590D+01 4.400870295D+01 7.150529109D+01 7.160391217D+01 4.844174478D+01 6.232154300D+01 4.837945145D+01 6.228354310D+01 6.229627635D+01 4.834861785D+01 6.225840134D+01 4.831949662D+01 1.951401556D+01 1.936031023D+01 1.950167059D+01 1.940370301D+01 1.974972088D+01 1.939149294D+01 1.968437715D+01 8.400394050D+01 7.987364883D+01 8.400582185D+01 7.984806350D+01 8.396590391D+01 7.986262759D+01 5.017015535D+01 7.992544236D+01 5.018325511D+01 1.172051099D+01 5.031215254D+01 1.175247352D+01 8.603447511D+01 5.133508878D+01 8.598993007D+01 5.130254640D+01 1.671665653D+01 6.251772123D+01 1.667706964D+01 6.256102930D+01 1.671355505D+01 8.420443951D+01 1.166071594D+01 8.420937917D+01 1.162393771D+01 1.828347969D+01 1.170182911D+01 1.827703660D+01 4.610018702D+01 4.692973437D+01 4.603021805D+01 4.695093068D+01 3.267683055D+01 4.697059220D+01 3.266561139D+01 8.277752602D+01 4.902958131D+01 8.268449437D+01 4.898802425D+01 4.898225794D+01 8.271391509D+01 4.895803118D+01 7.912672341D+01 4.990556410D+01 7.915564174D+01 4.991009596D+01 4.899591538D+00 4.344346005D+01 4.925549345D+00 4.342810880D+01 4.331967935D-01 5.589617385D+01 3.717899952D-01 5.585579794D+01 8.062828255D+00 5.507922723D+01 8.060735383D+00 5.508700201D+01 7.855728602D+01 5.507274339D+01 7.850649068D+01 7.846668704D+01 8.628867258D+01 7.848018109D+01 8.629782704D+01 9.482796617D+01 8.626478974D+01 9.481392376D+01 6.776144343D+01 6.869626108D+01 5.984192274D+01 5.987331811D+01 6.774256178D+01 6.872158893D+01 6.770577971D+01 6.865782397D+01 6.767675923D+01 5.221558904D+01 6.768925407D+01 5.225516182D+01 5.231931110D+01 3.965281302D+01 5.231000320D+01 3.972545477D+01 6.783988127D+01 3.971787748D+01 6.787147624D+01 6.302815487D+01 6.805682509D+01 6.301163219D+01 6.806054445D+01 2.067798656D+01 3.012239556D+01 3.011664058D+01 2.790597520D+01 1.326381926D+01 3.019352636D+01 6.309155893D+01 5.913759626D+01 6.325243185D+01 5.935116070D+01 5.425556479D+01 5.424883273D+01 4.896214950D+01 4.898926280D+01 5.431019209D+01 5.936369798D+01 4.899842653D+01 5.090642859D+01 2.228773994D+01 5.106469894D+01 5.915903246D+01 3.155669844D-01 5.924110068D+01 5.072666628D-01 3.793676654D+01 5.850469394D+00 3.768179503D+01 5.518288976D+00 9.225938898D+01 1.818563498D+00 9.263348663D+01 2.806738911D+01 1.814887394D+01 2.812421571D+01 5.881566946D+01 2.808255113D+01 5.887987684D+01 5.886685379D+01 8.151322551D+01 5.887798422D+01 8.144014574D+01 6.741881472D+00 4.386721508D+01 6.736416018D+00 4.388391569D+01 4.140243686D+01 4.165422186D+01 4.414841041D+01 4.163200359D+01 4.364486224D+01 4.163378897D+01 4.363477442D+01 3.109420211D+01 4.363872489D+01 4.376128963D+01 3.127541335D+01 4.408535327D+01 4.382935513D+01 4.436105982D+01 8.711283335D+01 4.418665570D+01 8.709525616D+01 8.700479418D+01 5.512835814D+01 8.702438434D+01 5.504366502D+01 -3.195700763D+00 3.036799924D+01 1.752735933D+01 8.853705758D+01 8.843000390D+01 1.744693829D+01 7.476875974D+01 1.747294307D+01 7.479021760D+01 3.691915182D+01 3.975997768D+01 3.688240644D+01 3.971015821D+01 8.248969366D+01 2.539489048D+01 4.801197886D+01 2.548560490D+01 4.790905034D+01 6.228452170D+01 4.804491067D+01 6.240927433D+01 8.202671426D+01 6.230861836D+01 8.217684240D+01 4.713737509D+01 7.450782422D+01 4.717927513D+01 7.445848548D+01 6.457364495D+01 7.445288638D+01 6.459491143D+01 3.226934713D+01 6.461145510D+01 3.230736160D+01 8.439151785D+01 3.631578336D+01 8.422380874D+01 3.643131364D+01 2.448105560D+00 8.486613097D+01 1.001983134D+01 7.712136179D+01 1.005784647D+01 5.217965221D+01 1.033918903D+01 8.294904893D+01 4.441518945D+01 8.272928315D+01 4.429006685D+01 3.393464371D+01 5.513995001D+01 3.395871894D+01-6.613033013D+00 1.765114107D+01 1.773484990D+01 8.048563810D+01 2.299313376D+00 4.306830162D+01 2.274526066D+00 8.227067769D+01 1.947070700D+01 8.218331140D+01 4.021943303D+01 8.110818013D+01 4.239913661D+01 4.159637442D+01 3.056693466D+00 8.069079538D+01 3.181994539D+00 3.607060819D+01 3.235788135D+00 7.927866944D+01 1.510499260D+00 7.929949880D+01 3.128261305D+01 7.848023656D+01 3.121818047D+01 6.999123341D+01 5.617478229D+01 7.001389862D+01 7.962763161D+01 7.757975800D+01-1.080649899D+00-1.402641064D+00 7.396490208D-01 1.239542883D+00 8.282246385D-01 2.053297374D+01 2.094334648D+01 4.549807912D+01 2.095286219D+01 4.560918470D+01 8.647422679D-01 4.569710104D+01 3.781210311D+01 3.796012897D+01 9.993682698D-01 4.575853200D+01 8.298374116D+01 4.407093313D+01 5.940987967D+01 6.910799244D+00 5.940033081D+01 8.571536166D+01 4.155078341D+01 8.579771892D+01 4.157651523D+01 7.047138954D+00 4.158987071D+01 7.216354804D+00 2.806914679D+01 7.485668827D+00-4.242901921D+00-4.036014645D+00 2.817405543D+01 8.087690508D+01 6.732179522D+01 7.645858408D+01 1.482198245D+01 7.646097750D+01 7.724980901D+01 7.642839642D+01 7.726356917D+01 4.426774542D+01-5.992726459D+00 4.446791351D+01 8.286387744D+01 5.518224635D+01 8.282409436D+01 5.524026037D+01 4.486766156D+01 4.156829433D+01-5.009137321D+02 4.368930090D+01 4.161837626D+01 4.270737122D+00 4.164073060D+01 8.264981021D+01 4.491964354D+01 5.368732585D+01 5.392225024D+01 4.511096409D+01 5.390849800D+01 6.101242398D+00 5.400240763D+01 6.113069316D+00 4.115315645D+01 4.905849427D+01 4.112409410D+01 1.906935864D+01 4.114490582D+01 1.906768290D+01 4.116111854D+01 5.457584206D+01 5.227238773D+01 5.453732807D+01 6.613233927D+01 5.444948533D+01 6.609801537D+01 8.315301499D+01 6.606421609D+01 8.315005569D+01 3.505582725D+01 8.315882923D+01 3.506278847D+01 1.436225050D+01 1.482477910D+01 3.574279491D+01 1.461303984D+01 7.840173984D+01 4.366379222D+01 7.850432744D+01 4.366760720D+01 1.512183387D+01 4.368869669D+01 1.515223045D+01 7.800682665D+01 4.098189472D+01 7.809863869D+01 1.919789102D+01 4.461387104D+01 1.927448204D+01 4.462872690D+01 4.473196578D+01 1.034338248D+01 4.474620324D+01 1.042157651D+01 5.005817651D+01 3.179158587D+01 5.004021406D+01 3.176686658D+01 5.339330719D+00 3.189112823D+01 5.409910074D+00 8.548291007D+01 6.697064184D+01 8.544425040D+01 8.569800692D+01 6.719118204D+01 4.309841639D+01 6.722257504D+01 4.308823193D+01 2.675486715D+01 4.311812656D+01 2.681976578D+01 8.142936578D+01 1.833977366D+01 8.145065836D+01 1.829496313D+01 1.821299848D+01 8.016030737D+01 1.809234018D+01 5.134914018D+01 2.374071859D+01 5.138755611D+01 2.387146697D+01 8.010216866D+01 8.213393798D+01 8.007367613D+01 8.208677263D+01 1.345194463D+00 8.216312246D+01 1.410293791D+00 1.510716094D+01 1.477491115D+00 1.510438222D+01 1.519482651D+01 6.237026833D+01 1.515013709D+01 6.230608935D+01 1.113612076D+01 6.231775922D+01 1.102728902D+01 6.330464306D+01 2.620286478D+01 6.333389526D+01 2.621267367D+01 9.469106070D+00-7.997077871D+00 9.630558111D+00 -7.949278574D+00 9.713022864D+00-7.872604505D+00 1.132110964D+01 2.406854057D+01 1.135319584D+01 2.411875443D+01 2.381631547D+01 5.851737821D+01 2.385291486D+01 2.382030426D+01 5.856909895D+01 2.386490392D+01 2.544873760D+01 7.784529749D+01 2.545136416D+01 7.778015795D+01 3.252714251D+01 1.817915942D+01 3.245050656D+01 7.625517878D+01 3.225319166D+01 7.620120255D+01 3.223612017D+01 1.792045651D+01 6.334190376D+01 6.897948967D+00 6.335281288D+01 2.339913387D+01 4.426059620D+01 3.123422891D+00 4.445236786D+01 3.175004229D+00 4.425068474D+01 1.826463698D+01 4.437876243D+01 1.833856475D+01 6.321668927D+01 4.242657221D+01 8.086191231D+01 4.237324956D+01-4.832363992D+00 6.151482387D+01-4.841852253D+00 8.087413745D+01 7.333835304D+01 8.497470879D+01 7.332855450D+01 4.462588077D+01 4.465834759D+01 7.338900564D+01 4.463163844D+01 5.551949734D+01 7.139085945D+01 5.544439897D+01 7.136640599D+01 1.183710599D+01 2.414898331D+01 1.182695722D+01 2.417213303D+01 4.233945326D+01 2.418336507D+01 4.241186282D+01 8.076104899D+01 1.937799152D+01 8.082584469D+01 1.933753980D+01 3.564561619D+00 3.814366062D+01 3.494914313D+00 3.812703675D+01 7.686913028D+01-5.161697169D-01 5.227474818D+01 5.224371809D+01 -3.865298402D-01 8.007597552D+01 4.115662096D+01 8.009003575D+01-7.660913458D-01 5.203054696D+01 7.237433729D+01-3.144627052D-01 1.981762138D+01 1.984683050D+01 3.731264703D+01 7.769377722D+01 7.750969074D+01 3.692008952D+01 4.690523100D+01 2.240909319D+01 4.698400857D+01 2.236838308D+01 2.862260752D+01 2.872099980D+01 2.253200203D+01 2.872517573D+01 2.257421032D+01 2.871123510D+01 2.868430007D+01 2.941953006D+01 2.870320525D+01 2.940864658D+01 1.392476600D+01 2.951914712D+01 1.388097062D+01 4.854269810D+01 3.305586629D+01 4.383157434D+01 3.303194861D+01 4.855967545D+01 4.856623111D+01 3.303386065D+01 4.858461107D+01 1.963226338D+01 4.014071274D+01 1.953496772D+01-3.033558609D+01-3.029383604D+01-3.033920457D+01 -3.032031031D+01-3.033212375D+01-3.029598743D+01-3.034856101D+01 2.765098744D+02 2.218316066D+02 2.765160839D+02 2.909372001D+02 2.909412937D+02 3.105920458D+02 3.601022106D+02 3.601022532D+02 3.600901410D+02 3.680476077D+02 4.162017698D+02 2.909151103D+02 3.416011048D+02 2.908964038D+02 2.281538873D+02 2.074116368D+02 2.431874699D+02 2.874211627D+02 3.431369460D+02 3.719137778D+02 4.067444226D+02 4.277758248D+02 4.758812710D+02 4.668520928D+02 4.484771528D+02 4.218763222D+02 4.218730429D+02 4.034435900D+02 3.792807393D+02 3.628151567D+02 3.256276534D+02 3.078859269D+02 2.951087563D+02 3.299927587D+02 3.078840126D+02 3.552899496D+02 3.552906459D+02 3.552801693D+02 3.552904127D+02 4.366222525D+02 4.698536240D+02 5.084282515D+02 4.383306068D+02 3.916200832D+02 3.627935259D+02 3.628163806D+02 3.628207844D+02 3.792941613D+02 4.034669429D+02 4.218945019D+02 4.379546406D+02 2.675004481D+01 2.673839829D+01 2.673819157D+01 2.670157204D+01 2.674387502D+01 2.675349025D+01 2.671676546D+01 2.672165992D+01 2.672486611D+01 2.674833892D+01 2.675058344D+01 2.677138495D+01 2.673611205D+01 2.675733991D+01 2.675054534D+01 2.671344519D+01 2.675315564D+01 2.667894851D+01 2.675838398D+01 9.817472178D+01 9.816784201D+01 9.818171183D+01 9.820279936D+01 9.818217042D+01 9.819436810D+01 2.685744900D+01 2.682375156D+01 2.668592314D+01 2.684894450D+01 2.682590367D+01 2.674323776D+01 1.237917228D+02 9.818501896D+01 9.817292375D+01-4.531001715D+01 -4.534171113D+01-4.536506835D+01-4.547639301D+01 1.238315370D+02 1.238538980D+02 1.238058840D+02-1.305119479D+02-1.943774075D+02-1.304883427D+02-1.943654640D+02 -1.304510622D+02-1.943270793D+02-1.304649314D+02 1.251797612D+02 1.731463667D+02 1.731697647D+02 1.251248857D+02 1.568631518D+01 1.251597884D+02 1.250786027D+02 1.251742019D+02 1.250818816D+02 1.251591320D+02 1.250838699D+02 1.251742198D+02 1.250643445D+02 1.251073975D+02 1.565923440D+01 1.567508917D+01 1.560889641D+01 1.567871048D+01 1.564576492D+01 1.568678459D+01 1.657280052D+02 1.660447486D+02 1.660218118D+02 1.656941510D+02 1.657389052D+02 8.591371246D+01 8.596411889D+01 1.217907185D+02 1.657910754D+02 1.657299238D+02 1.217152814D+02 1.657651146D+02 1.657348809D+02 1.217482991D+02 1.217771511D+02 1.658280848D+02 1.657501703D+02 1.217400967D+02 1.217691194D+02 1.657407964D+02 1.657279051D+02 8.587887678D+01 1.066424028D+02 8.905939414D+01 4.754781250D+01 8.906612802D+01 8.903661875D+01 8.909686262D+01 8.904517672D+01 8.909743109D+01 8.908236922D+01 5.212203445D+01 8.907660405D+01 8.907808227D+01 8.898469412D+01 8.902619127D+01 8.903908142D+01 8.907221325D+01 8.901501411D+01 5.204141503D+01 5.205654728D+01 5.200227415D+01 5.204193772D+01 8.903744035D+01 8.910340348D+01 2.665454569D+01 2.664878346D+01 -1.774267737D+01-4.524098768D+01-1.777311869D+01 5.066973936D+01 5.067968557D+01 2.758770515D+01 2.758970981D+01 2.763331002D+01 2.755463651D+01 2.732433509D+01 2.755483311D+01 2.733497833D+01 2.757596507D+01-1.118102593D+02-6.448436276D+01 -6.449482692D+01-1.297570744D+02 5.072610848D+01 5.070482824D+01 5.064990642D+01 2.757607511D+01 5.070388671D+01 2.764738315D+01 2.759764042D+01 2.765076438D+01 2.758240358D+01 5.067354064D+01 1.237881323D+02 1.427564387D+01 6.583114431D+01 1.667731338D+01 2.570744927D+01 2.575803132D+01 1.669404429D+01 2.572816888D+01 2.570250295D+01 6.586103046D+01 6.574285193D+01 2.567125125D+01 2.570449754D+01 1.668741985D+01 6.581529147D+01 1.109061723D+02 1.109963904D+02 1.637401194D+02 1.110406312D+02 8.364496808D+01 8.577866653D+01 4.509057801D+00 2.570841689D+01 2.573599699D+01 2.573344310D+01 2.573924995D+01 4.517806067D+00 4.513926295D+00 2.571610432D+01 2.567404026D+01 6.585177966D+01 6.581210592D+01 2.565455990D+01 2.568125962D+01 4.515725521D+00 4.485338174D+00 2.571037536D+01 2.571079080D+01 1.109652131D+02 6.574208173D+01 2.571531323D+01 2.567884595D+01 2.567878125D+01 1.108592233D+02-7.743035185D+00-7.731185794D+00-1.113979636D+00-1.111450667D+00 -1.723926401D-01-4.818296646D+01-4.819056951D+01 1.692958162D+01 1.692172711D+01 6.403010215D+01 6.403200306D+01 8.751357892D+01 8.750514451D+01 9.530583035D+01 9.529620680D+01 1.038034857D+02 1.037937890D+02 9.528996781D+01 9.530033715D+01 8.748429005D+01 8.748375983D+01 6.401989490D+01 6.401872142D+01 1.687387499D+01 1.688306764D+01-6.703788581D+01-6.703876065D+01-4.825587401D+01-4.825713356D+01 -4.815152727D+01-4.814311208D+01-4.814542302D+01-4.814606064D+01-4.814726846D+01 -4.827566253D+01-4.826605247D+01-6.706512585D+01-6.705479083D+01 1.687108424D+01 1.687094233D+01 6.398984293D+01 6.398996510D+01 8.723216497D+01 8.723268045D+01 9.504932615D+01 9.506066677D+01 1.034941154D+02 1.035056450D+02 1.179588743D+02 1.179705589D+02 1.034904160D+02 1.034914303D+02 1.124031473D+02 1.123631556D+02 1.123965105D+02 1.033739094D+02 1.033651159D+02 1.123818634D+02 1.123839736D+02 1.034807886D+02 1.034928989D+02 1.179741219D+02 1.179652124D+02 9.508755234D+01 9.508863577D+01 8.721697839D+01 8.721832141D+01 6.374072012D+01 6.376255996D+01 1.661768202D+01 1.662845331D+01-6.728566112D+01-6.727488694D+01-4.849640598D+01 -4.848589324D+01-1.521542473D+01-1.521558506D+01-4.721734727D-01-4.829918028D-01 -1.521034821D+01-1.521099416D+01-4.848562459D+01-4.848684867D+01-4.837706629D+01 -4.839201816D+01-4.837738417D+01-4.839232927D+01-4.840691068D+01-4.848094114D+01 -4.848114118D+01-5.213735340D+01-5.212704777D+01-4.848293467D+01-4.848298086D+01 -4.850204632D+01-4.850180023D+01-1.521888527D+01-1.522890230D+01-1.479891652D+01 -1.478805778D+01-4.898694888D-01-4.893632510D-01-1.398120193D+00-1.397532054D+00 -8.021042097D+00-8.020067512D+00 1.104921809D+02 1.104930456D+02 1.104768257D+02 1.104778462D+02-8.049975560D+00-8.048909987D+00-1.441770006D+00-1.430215501D+00 -4.931024071D-01-5.024998180D-01-1.517845775D+01-1.518753196D+01-1.475573000D+01 -1.475470041D+01-4.851284394D+01-4.850105773D+01-5.213108808D+01-5.212983843D+01 -4.849291471D+01-4.848038391D+01-4.852230497D+01 6.374509209D+01 6.373503397D+01 8.721878765D+01 8.721907289D+01 9.503402929D+01 9.504462541D+01 6.373945149D+01 1.660938072D+01 1.660917308D+01-4.853278972D+01-4.853314926D+01-4.843060132D+01 -4.845551924D+01-4.841878667D+01-4.844297700D+01-4.843337443D+01-4.854872693D+01 -4.853831814D+01-6.735704037D+01-6.735707224D+01-4.851767040D+01-4.851768348D+01 -1.524669163D+01-1.523620018D+01-1.481724142D+01-1.482766501D+01-5.215927559D-01 -5.215064891D-01-1.442563659D+00-1.442384895D+00-8.091089017D+00-8.080397371D+00 1.104586383D+02 1.104588601D+02-6.597214807D+01-2.209324741D+00-6.599561041D+01 -2.198774154D+00-6.599047472D+01-2.200058630D+00-6.598629910D+01-6.675986110D+01 -2.976195768D+00-6.673718955D+01-2.955923437D+00-6.674036853D+01-2.950768501D+00 -2.600058955D+01-2.601041334D+01-2.599912360D+01-2.974770967D+00-6.674723003D+01 -2.979176141D+00-6.675627950D+01-2.980406707D+00-6.675990061D+01-2.601686752D+01 -2.598590848D+01-2.987457120D+01-3.701250236D+01 1.362276561D+01 2.190369763D+01 3.311611380D+01 5.422529951D+01 6.814783324D+01 8.653463383D+01 9.547726365D+01 1.059306776D+02 1.143523250D+02 1.422289163D+02 1.360343670D+02 1.539658390D+02 1.539506484D+02 1.360229245D+02 6.544012583D+01 8.689335614D+00-3.907013933D+01 -2.502438697D+01-2.501176021D+01 1.215506347D+01 4.056059847D+01 1.163400588D+01 1.210917905D+01-2.507548950D+01-3.910260692D+01-1.088604530D+01 8.734458324D+00 6.539052776D+01 1.360364338D+02 1.539199536D+02 1.359488920D+02 1.539261576D+02 1.878003652D+02 2.167289744D+02 2.167428035D+02 1.581479617D+01-4.931768292D+01 -4.932502230D+01-1.560864436D+01 1.096517169D+02 2.167499746D+02 2.167098748D+02 2.166993431D+02 2.124726818D+02 2.074807797D+02 2.022149809D+02 2.148302534D+02 2.148000708D+02 2.127451770D+02 2.153277263D+02 2.581972920D+02 2.807858552D+02 2.952460079D+02 3.148493716D+02 3.148305603D+02 2.391684673D+02 2.391583537D+02 2.174386430D+02 3.322977947D+02 2.996289561D+02 2.653876807D+02 2.996611444D+02 1.449693987D+02 2.324446186D+02 2.323483650D+02 1.955309124D+02 2.117066895D+02 2.085960166D+02 2.323986832D+02 2.453692454D+02 2.323733250D+02 2.323759119D+02 2.193170133D+02 2.951651746D+02 3.154690814D+02 2.888249210D+02 3.339788203D+02 4.204543748D+02 4.086501844D+02 4.204369417D+02 3.340382032D+02 2.887994503D+02 3.154280164D+02 2.952016996D+02 2.193427702D+02 2.453631421D+02 2.324056399D+02 2.474159495D+02 2.474299118D+02 1.223919264D+02 2.073651681D+02 2.381668633D+02 2.219896897D+02 2.917082317D+02 2.635721685D+02 2.916893035D+02 2.352588191D+02 3.474108197D+02 3.762197316D+02 3.732359908D+02 3.133102191D+02 3.374406315D+02 3.132449106D+02 3.374460718D+02 3.732739548D+02 3.762029695D+02 2.352400783D+02 2.775949421D+02 2.917226109D+02 2.636228428D+02 2.917451707D+02 1.874756975D+02 1.939737698D+02 1.737493765D+02 1.939572458D+02 1.509138263D+02 1.529112098D+02 1.556300522D+02 1.529279092D+02 1.556329732D+02 1.509347016D+02 1.874340563D+02 1.939335667D+02 1.737148197D+02 2.916450515D+02 2.635101662D+02 2.916460146D+02 2.473888516D+02 2.473790892D+02 1.222726586D+02 2.073213697D+02 2.381114657D+02 2.218990850D+02 2.380843170D+02 2.116175884D+02 1.448601983D+02 2.995871080D+02 2.653276022D+02 2.517126232D+02 2.173563964D+02 2.390498390D+02 2.173505727D+02 2.653349760D+02 4.204052092D+02 4.203544320D+02 4.085717763D+02 4.204008146D+02 3.340105091D+02 2.887962069D+02 3.154688476D+02 2.193130576D+02 2.453305050D+02 2.085832618D+02 2.116590180D+02 1.954595940D+02 1.448929594D+02 1.954715793D+02 2.323080471D+02 2.453485171D+02 2.085819211D+02 2.116565563D+02 2.073132117D+02 1.222746269D+02 2.473705075D+02 2.381062034D+02 2.219771936D+02 2.916960570D+02 2.775938129D+02 2.352151243D+02 2.775819784D+02 2.916781548D+02 1.939062134D+02 1.737162153D+02 1.939212611D+02 1.874114065D+02 1.873925367D+02 1.508977926D+02 1.556552001D+02 1.529409503D+02 1.556926617D+02 1.529655491D+02 1.556828731D+02 1.509397941D+02 1.874412855D+02 2.138591147D+02 2.117109953D+02 2.415065694D+02 3.037265517D+02 3.670767935D+02 3.670901394D+02 4.261661421D+02 4.422428839D+02 4.544124346D+02 4.725840752D+02 4.726381696D+02 4.544237814D+02 4.422538336D+02 4.261778770D+02 4.527684602D+02 4.711222353D+02 4.800915618D+02 4.630522978D+02 4.513970697D+02-9.322790259D+01-9.322349763D+01-9.319757128D+01-9.317585021D+01 4.117519627D+02 4.086365657D+02 4.204341182D+02 3.340342646D+02 2.888530630D+02 3.154866700D+02 2.193007207D+02 2.323866546D+02 2.453599473D+02 2.193287509D+02 3.154758667D+02 2.888447249D+02 3.340604453D+02 4.086548174D+02 4.204628295D+02 3.643627894D+02 3.643468088D+02 2.390871115D+02 2.174321678D+02 2.174225589D+02 2.391174243D+02 3.148522701D+02 2.952092179D+02 2.807381153D+02 2.581271178D+02 2.127225064D+02 2.148285174D+02 2.022042881D+02 2.074810403D+02 2.124929091D+02 2.167186286D+02 2.167069950D+02 1.877466708D+02 1.538885778D+02 1.359198980D+02 1.301016007D+02 1.421321840D+02 1.142567766D+02 9.541342092D+01 6.805636445D+01 5.410624399D+01 3.301290058D+01 2.182596018D+01 1.358132990D+01-3.706857182D+01 -2.995344702D+01-2.603078447D+01-2.605456140D+01-2.605952953D+01-2.608363381D+01 -2.608498876D+01-6.683252096D+01-3.056186543D+00-6.681391568D+01-3.049359791D+00 -6.682921809D+01-3.046087397D+00-1.041767500D+02-1.164744906D+02-1.041396855D+02 -1.040704581D+02-1.041502317D+02-8.778531551D+01-8.200384036D+01-8.208215839D+01 -8.782926339D+01-8.206368786D+01-8.813252246D+01-1.172532826D+02-1.165446683D+02 -1.042835352D+02-1.165351471D+02-1.172480038D+02-8.822371209D+01-1.172666184D+02 -1.042897336D+02-1.165600418D+02-1.172811883D+02-8.827802727D+01-8.794239114D+01 -1.165649369D+02-1.540127018D+02-1.201965520D+02-1.202151599D+02-6.342429271D+01 -1.319630618D+02-1.958146494D+02-1.319478667D+02-1.958259371D+02-1.319438965D+02 -1.957884148D+02-1.319249332D+02-1.037426607D+02-1.037413887D+02-1.037239186D+02 -1.535336851D+02-1.041243376D+02-1.041597801D+02-1.041657166D+02-1.041399796D+02 -1.041501627D+02-1.041542914D+02-1.164856802D+02-1.538855609D+02-1.200991496D+02 -1.201104736D+02-1.292189873D+02-1.930567846D+02-1.292296532D+02-1.930031146D+02 -1.291791887D+02-1.930334111D+02-1.291736885D+02-1.930527863D+02-1.291454956D+02 -1.931031984D+02-1.292025147D+02 7.823027312D+01 9.098810400D+01 7.824118662D+01 -2.185657189D+02 3.252604464D+02-2.176296605D+02-4.617257692D+02-1.112605432D+02 -1.522209040D+02-1.113120313D+02-2.185914594D+02 3.252456320D+02-4.617852150D+02 -1.112649393D+02-1.522603508D+02-1.112933026D+02 9.096000808D+01 7.829268713D+01 -2.176841421D+02-4.617380219D+02-2.176936399D+02-4.617190743D+02-1.112437337D+02 -1.522230183D+02-1.113434678D+02 9.101026504D+01 7.821425507D+01-2.186205832D+02 3.252048935D+02-1.113021802D+02-1.522005296D+02-1.112679404D+02 7.824888092D+01 9.098072907D+01 3.251691263D+02-2.186513738D+02-4.617627011D+02-2.177349376D+02 -4.617378582D+02 7.825390850D+01 9.103616124D+01-2.910529453D+01-2.908277168D+01 -2.905411301D+01-2.906863478D+01-2.906244839D+01-3.293961819D+01-2.064171436D+01 -1.957113080D+01-1.063851533D+01-1.673888878D+01-1.428152081D+01-1.293725196D+01 -1.397735154D+01-2.937599765D+01-4.205092673D+01-1.386211576D+01-1.895284204D+01 -1.392344189D+01-4.411909395D+00-1.388555525D+01-1.897869592D+01-4.207229984D+01 -2.938345817D+01-1.402324358D+01-1.296287621D+01-1.431144914D+01-1.395986750D+01 -3.288760474D+01-6.622191435D+01-7.891778494D+01-1.109937934D+01 3.755032554D+01 3.801805927D+01 3.798675897D+01-6.671672935D+01 2.948212779D+01 3.260336225D+01 -1.162197922D+01-1.167436690D+01 3.250428355D+01 2.943677908D+01-6.677664898D+01 3.795942984D+01 3.800105483D+01 3.752400698D+01 8.569895048D+00 9.251708129D+00 2.557501556D+01 6.170134207D+01 7.763242302D+01 9.951020770D+01 1.084914392D+02 9.960063451D+01 1.140165287D+02 1.172549412D+02 1.188165301D+02 1.022023702D+02 1.021477846D+02 1.187817662D+02 1.172395160D+02 1.139763908D+02 9.959022871D+01 1.084829352D+02 9.949067467D+01 7.759785360D+01 6.163861999D+01 2.552926125D+01 9.229685344D+00-2.810774244D+01-4.218303425D+01 5.616945018D+00 6.230267163D+01 1.328976788D+02 1.508284338D+02 1.846975233D+02 2.137131225D+02 2.094213597D+02 1.798159917D+02 1.411490786D+02 1.065615423D+02-1.194625156D+01 7.900937970D+01 1.112724838D+02 1.703493604D+02 1.991570603D+02 2.044510080D+02 2.094617312D+02 2.136575243D+02 2.093831319D+02 1.797614490D+02 1.411135465D+02 1.065115785D+02 -1.195404820D+01 7.896558569D+01 1.112574387D+02 1.521554192D+02 1.748233143D+02 2.230829060D+02 1.518454049D+02 4.086466300D+01 1.007230028D+02 1.394221035D+02 1.909025267D+02 1.296666607D+02 2.107778270D+02 2.107667394D+02 2.086492058D+02 2.384445559D+02 3.006657720D+02 3.639884712D+02 3.927981007D+02 3.804531928D+02 4.046690897D+02 4.230814782D+02 4.391593464D+02 4.513647062D+02 4.696982920D+02 5.129127103D+02 5.135787534D+02 4.978362431D+02 4.680479634D+02 4.496803453D+02 4.230554874D+02 4.230067237D+02 4.391454269D+02 4.513035603D+02 4.697046862D+02 5.095673023D+02 4.710341590D+02 3.936693820D+02 3.793315972D+02 3.268133009D+02 3.639822848D+02 3.268110073D+02 3.090439412D+02 2.962398458D+02 3.311481546D+02 3.564232505D+02 3.564346395D+02 4.377949490D+02 5.096133411D+02 4.710178956D+02 3.936490498D+02 3.793652438D+02 3.927722848D+02 3.639831488D+02 3.267997789D+02 3.090201254D+02 2.962529483D+02 2.962519733D+02 3.311287086D+02 3.564378222D+02 3.564365031D+02 4.377900116D+02 4.710348423D+02 5.096243679D+02 4.697779361D+02 4.513138267D+02 5.128869275D+02 5.135494141D+02 4.978319661D+02 4.289303894D+02 4.770335982D+02 4.770250989D+02 4.599554221D+02 4.483224936D+02 3.427622138D+02 4.483186339D+02-9.634625500D+01 4.086108471D+02 4.173284902D+02 4.086110126D+02 -9.636514425D+01 4.482963474D+02 4.599311050D+02 4.770349156D+02 4.289241489D+02 4.680362501D+02 4.496491184D+02 4.230286563D+02 4.046327704D+02 3.804553917D+02 3.639886665D+02 3.006575257D+02 2.384465298D+02 2.107507814D+02 2.086451858D+02 2.107440637D+02 2.086491811D+02 1.296443248D+02 1.908495109D+02 1.393721470D+02 1.006642436D+02-2.426569559D+01-2.444682707D+01-2.425984204D+01 4.086620123D+01 1.518168353D+02 2.230189054D+02 2.776643769D+02 2.550578533D+02 1.747887250D+02 1.521227635D+02 2.117555259D+02 1.702763598D+02 1.991135831D+02 2.043828157D+02 2.094005182D+02 2.136226190D+02 2.093498981D+02 1.797439044D+02 1.846642366D+02 1.507911302D+02 1.328379373D+02 6.221888779D+01 5.570212143D+00-4.222146232D+01 -2.817691957D+01 9.202289612D+00 8.520945500D+00 3.749923189D+01-1.121032191D+01 -7.899897740D+01-6.631508437D+01-3.294860349D+01-2.945265561D+01-1.408584208D+01 -1.304743180D+01-1.400938971D+01-1.678081683D+01-1.683210700D+01-1.076610471D+01 -1.965543106D+01-2.077819133D+01-3.308462881D+01-2.913825281D+01-2.917049148D+01 1UNSYMMETRIC LEAST-SQUARES PROBLEM. SAUNDERS 1979. ILLC1850 2715 45 548 1752 370 RRA 1850 712 8758 0 (16I5) (16I5) (1P,5D16.9) (1P,5D16.9) F 1 0 1 14 18 27 39 44 53 57 62 68 76 81 87 93 100 102 109 115 122 128 135 141 149 156 162 166 169 175 182 190 194 200 206 212 216 222 228 240 250 258 271 275 288 298 316 320 324 330 336 342 350 361 378 388 396 399 406 410 412 416 418 420 423 425 428 430 433 436 438 442 448 455 459 462 467 471 474 478 495 497 511 517 523 539 544 558 571 583 595 630 634 638 654 670 684 697 703 705 711 718 723 731 735 739 740 741 748 759 765 772 779 782 788 806 814 820 846 856 871 873 915 919 927 934 942 947 951 960 980 982 997 1000 1005 1014 1021 1023 1027 1032 1037 1048 1068 1080 1095 1104 1107 1113 1115 1117 1134 1149 1158 1172 1174 1195 1200 1207 1213 1215 1216 1221 1229 1235 1248 1252 1261 1267 1277 1283 1289 1295 1299 1301 1309 1317 1324 1340 1347 1354 1373 1379 1386 1397 1406 1416 1421 1426 1432 1438 1439 1443 1444 1448 1455 1456 1463 1468 1469 1475 1484 1492 1501 1510 1514 1516 1520 1522 1526 1530 1538 1543 1548 1551 1579 1583 1587 1613 1637 1648 1651 1659 1674 1684 1688 1693 1698 1701 1704 1707 1711 1714 1719 1724 1729 1734 1739 1743 1746 1749 1753 1756 1759 1762 1764 1766 1768 1771 1776 1779 1783 1787 1792 1807 1810 1816 1820 1826 1834 1836 1840 1848 1856 1861 1869 1879 1883 1892 1897 1902 1911 1915 1920 1928 1937 1941 1952 1960 1968 1976 1986 1990 1998 2002 2010 2022 2030 2034 2038 2046 2050 2054 2063 2068 2073 2080 2087 2092 2101 2109 2112 2115 2119 2124 2132 2139 2151 2155 2160 2167 2174 2178 2181 2185 2189 2193 2200 2207 2219 2226 2230 2236 2243 2247 2250 2254 2258 2261 2267 2271 2276 2284 2287 2292 2297 2300 2305 2310 2320 2330 2335 2338 2341 2345 2349 2352 2355 2358 2361 2364 2367 2370 2373 2376 2379 2383 2391 2395 2399 2409 2412 2419 2422 2426 2433 2436 2442 2449 2462 2465 2472 2475 2479 2483 2490 2493 2501 2505 2508 2512 2522 2529 2533 2539 2543 2549 2553 2560 2564 2573 2577 2580 2588 2592 2599 2603 2608 2612 2615 2618 2621 2625 2630 2639 2642 2647 2650 2653 2661 2711 2752 2759 2779 2784 2802 2813 2824 2839 2853 2896 2939 3065 3199 3261 3348 3376 3387 3397 3449 3686 3690 3698 3706 3711 3719 3729 3733 3742 3752 3761 3765 3770 3778 3787 3791 3802 3810 3818 3826 3836 3840 3848 3852 3860 3872 3880 3884 3888 3896 3900 3904 3913 3918 3923 3930 3937 3942 3951 3959 3965 3969 3974 3982 3989 4001 4017 4028 4035 4050 4057 4069 4080 4086 4093 4100 4104 4111 4117 4126 4134 4137 4142 4150 4160 4170 4180 4191 4199 4211 4220 4223 4226 4229 4241 4249 4259 4272 4276 4286 4292 4299 4312 4322 4325 4329 4343 4355 4362 4372 4379 4383 4393 4399 4403 4410 4414 4423 4430 4438 4449 4453 4471 4475 4480 4489 4492 4497 4500 4503 4561 4602 4629 4652 4674 4703 4746 4915 5198 5226 5247 5299 5536 5549 5558 5570 5575 5584 5589 5595 5603 5608 5614 5620 5627 5633 5640 5646 5653 5659 5667 5674 5680 5686 5693 5701 5707 5713 5719 5725 5737 5747 5755 5768 5781 5791 5809 5815 5821 5827 5835 5846 5863 5873 5881 5888 5892 5898 5905 5908 5913 5917 5920 5926 5932 5948 5962 5975 5987 5999 6034 6050 6066 6080 6093 6099 6105 6112 6117 6125 6129 6136 6147 6153 6160 6167 6173 6191 6199 6205 6231 6241 6256 6298 6306 6313 6321 6325 6334 6354 6369 6374 6383 6385 6389 6394 6405 6425 6437 6452 6461 6467 6484 6499 6508 6522 6543 6548 6555 6561 6569 6575 6588 6592 6601 6607 6617 6623 6629 6635 6639 6647 6654 6670 6677 6684 6703 6709 6716 6727 6736 6746 6751 6756 6762 6768 6775 6782 6788 6797 6805 6814 6818 6826 6831 6836 6840 6844 6870 6894 6909 7309 7726 7784 7825 7852 7875 7897 7926 7969 8138 8421 8449 8470 8522 8759 1 3 26 28 164 166 1259 1262 1277 1279 1490 1686 1827 2 4 5 7 6 8 9 11 1263 1276 1540 1685 1828 10 12 13 15 1264 1275 1538 1539 1560 1561 1684 1829 14 16 17 19 1274 18 20 21 23 25 1265 1273 1683 1830 22 24 152 154 27 29 30 32 1491 31 33 35 37 1258 1492 34 36 38 39 41 43 1257 1493 40 42 44 46 1256 45 47 49 51 1255 1494 48 50 52 53 55 1254 54 56 57 59 61 67 69 58 60 62 64 66 72 74 1252 1496 63 65 76 78 1251 1497 68 70 71 73 75 1253 1495 77 79 81 83 1250 1498 80 82 84 86 88 1249 1499 85 87 89 91 1248 1500 90 92 94 96 1247 1501 1619 1848 93 95 97 98 100 1620 1847 99 101 102 104 1621 1846 103 105 106 108 107 109 111 110 112 113 115 1622 1845 114 116 117 119 1623 1843 1844 118 120 121 123 372 376 1640 1842 122 124 125 127 126 128 129 131 1641 1838 130 132 133 135 1642 1837 134 136 137 139 1643 1836 138 140 142 144 141 143 145 146 148 150 147 149 167 169 1644 1835 151 153 192 194 1266 1267 1272 1537 1551 1559 1682 1831 155 157 298 300 302 304 306 308 401 403 156 158 159 161 1281 1488 1688 1825 160 162 163 165 989 990 1260 1261 1278 1280 1489 1687 1826 168 170 171 173 172 174 175 177 294 296 1269 1523 1529 1534 1645 1658 1834 176 178 180 1270 1524 1528 1530 1533 1659 1833 179 181 182 184 186 195 197 1268 1271 1514 1525 1527 1532 1536 1558 1660 1681 1832 183 185 187 189 188 190 191 193 196 198 199 201 1661 1680 200 202 203 205 1662 1679 204 206 207 209 1663 1678 208 210 211 213 1117 1118 1664 1677 212 214 215 217 1114 1115 1116 1119 1120 1665 1676 216 218 219 220 222 369 371 1077 1078 1108 1109 1112 1113 1121 1122 1666 1675 221 223 224 226 1110 1111 1123 1124 1667 1674 225 227 229 231 266 268 1668 1673 228 230 232 233 234 265 271 273 1669 1672 235 264 1670 1671 236 263 237 238 261 262 239 260 240 259 241 242 258 243 257 244 255 256 245 254 246 247 253 248 251 252 249 250 267 269 270 272 274 288 289 291 1646 1657 275 287 1518 1521 1535 1647 1656 276 277 279 286 278 1648 1655 280 283 284 1650 1653 281 282 1651 1652 285 1649 1654 290 292 293 295 297 299 1282 1283 1289 1290 1291 1486 1487 1574 1589 1598 1606 1613 1689 1701 1822 301 303 305 307 309 311 402 404 410 1292 1485 1690 1700 1702 1821 1823 310 312 314 1691 1703 1824 313 315 316 318 1692 1704 317 319 321 323 991 993 1061 1168 1169 1170 1171 1221 1222 1288 1693 1705 320 322 324 325 327 326 328 330 424 1062 1063 1166 1167 1172 1173 1219 1220 1694 1706 329 331 332 334 1007 1064 1065 1164 1165 1174 1175 1217 1218 333 335 337 1066 1139 1140 1162 1163 1176 1177 1215 1216 336 338 339 341 344 1160 1161 1180 1181 1213 1214 1287 340 342 343 345 346 348 1067 1068 1089 1090 1096 1097 1135 1136 1143 1144 1150 1151 1154 1155 1156 1157 1182 1183 1186 1187 1188 1198 1199 1205 1206 1209 1210 1285 1286 347 349 350 352 351 353 354 356 355 357 358 360 1004 1069 1070 1085 1086 1100 1101 1131 1132 1196 1197 1284 359 361 363 1005 1006 1071 1072 1083 1084 1102 1103 1129 1130 1189 1190 1195 362 364 365 367 1073 1074 1081 1082 1104 1105 1127 1128 1191 1192 366 368 370 1075 1076 1079 1080 1106 1107 1125 1126 1193 1194 373 377 379 1625 1638 1841 374 375 378 380 382 1626 1637 1840 381 383 384 386 1627 1636 1839 385 387 389 1628 1635 388 390 392 394 395 1629 1631 1633 391 393 1630 1634 396 397 400 1632 398 399 405 406 409 1293 1484 1699 1820 407 408 411 412 414 447 450 1294 1483 1698 1819 413 415 417 968 1697 1818 416 418 419 421 427 1696 1708 420 422 423 425 992 1695 1707 426 428 430 429 431 432 434 1709 1816 433 435 436 438 975 983 984 985 986 994 995 1008 1009 1010 1012 1017 1710 1815 437 439 442 453 455 471 473 1298 440 441 443 445 1297 1481 444 446 448 449 451 452 967 969 970 971 972 973 974 976 977 978 979 980 981 982 987 988 1295 1296 1482 1817 454 456 457 459 474 475 477 1299 1480 1814 458 460 464 465 826 895 896 897 898 899 900 908 909 1711 1812 461 462 463 466 468 530 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 901 902 903 904 905 906 996 997 998 999 1001 1003 1011 1013 1014 1015 1016 1712 1811 467 469 470 472 476 478 480 825 827 1300 1479 1813 479 481 483 828 829 1301 1478 482 484 485 487 830 1302 1303 1477 486 488 490 610 612 489 491 493 1307 492 494 495 497 925 926 1308 1310 1385 496 498 504 907 914 915 916 924 927 929 930 931 932 933 934 935 936 937 1018 1387 499 500 501 506 508 691 693 928 938 939 940 941 942 943 1019 1715 1805 502 503 505 507 509 511 1714 1806 510 512 518 524 526 910 911 912 913 513 516 517 519 520 522 523 514 1808 515 521 1807 1809 525 527 533 1713 1810 528 529 531 532 534 535 537 538 540 684 686 687 689 1021 1024 1031 536 553 557 688 690 692 1020 1027 1028 1032 1048 1049 1057 1361 1363 1371 1420 1422 1716 1804 539 543 681 683 685 1039 1044 1045 1052 1053 1717 1803 541 545 547 548 674 676 678 680 682 1038 1433 1718 1719 1799 1801 542 544 677 679 1037 1434 1720 1800 1802 546 549 551 550 552 554 558 562 1033 555 556 559 560 561 563 564 566 638 842 945 946 1035 1342 1344 1357 1359 1373 1375 1415 1419 565 567 569 841 951 954 957 958 961 962 1336 1337 1376 1377 1412 568 570 572 815 817 840 949 950 965 571 575 579 816 839 966 1312 1313 1317 1319 1320 1335 1406 1463 573 574 576 577 1022 1023 1025 1026 1029 1030 1040 1041 1042 1043 1046 1047 1050 1051 1054 1055 1058 1059 1060 578 580 582 1000 1002 581 583 585 836 838 1322 1332 584 586 587 589 837 1780 588 590 591 592 595 597 598 615 594 614 616 618 1451 1779 1781 1787 596 599 602 1456 1783 1785 600 601 603 605 835 1326 1328 1392 1393 1395 1458 1470 1784 604 606 608 834 607 609 611 613 831 832 833 1471 1472 617 619 621 1450 1778 1788 620 622 624 640 642 847 1449 1776 1777 1789 623 625 628 846 1775 1790 626 627 629 630 632 845 631 633 635 844 1347 1354 634 636 843 1346 637 639 641 643 644 646 807 811 812 814 645 647 648 650 848 1448 1734 1791 649 651 653 849 1447 1735 1792 652 654 655 657 658 753 755 850 851 874 1439 1446 1727 1736 1737 1793 656 659 661 852 873 1726 1794 660 662 664 853 872 1725 1795 663 665 666 668 694 696 749 750 752 854 869 870 871 1437 1438 1723 1746 1759 1796 667 669 671 1436 1722 1797 670 672 673 675 1435 1721 1798 695 697 698 700 702 714 716 855 1745 1747 1760 699 701 703 705 707 856 859 1748 1761 704 706 708 710 711 713 857 1749 1762 1763 709 712 858 1750 1764 715 717 719 1744 1757 718 720 722 724 1743 1756 721 723 727 864 1753 1767 725 726 728 731 733 729 730 732 734 736 735 737 740 866 1741 1754 1769 738 739 741 743 865 1742 1755 1768 742 744 747 768 770 745 746 748 751 868 1724 1758 754 756 757 759 875 1440 1445 1728 1738 758 760 762 1441 1444 1729 1739 1771 761 763 765 767 1442 1443 1730 1740 1770 764 766 774 775 781 786 789 790 792 769 771 778 867 772 773 776 777 779 780 782 783 784 785 787 788 791 793 796 798 794 795 797 799 800 802 1731 1772 801 803 805 1732 1773 804 806 809 1733 1774 808 810 813 818 819 820 821 822 823 824 1236 1237 1238 1245 1246 1502 1503 1504 1505 1506 1581 1587 1596 1603 1614 1615 1616 1617 1618 1849 1850 860 862 1751 1765 861 863 1752 1766 917 919 921 923 1224 1226 1228 1231 1233 1235 1239 1241 1243 1508 1510 1512 1541 1543 1545 1547 1562 1564 1566 1568 1570 1572 918 920 922 1223 1225 1227 1229 1230 1232 1234 1240 1242 1244 1507 1509 1511 1542 1544 1546 1563 1565 1567 1569 1571 944 947 948 952 953 955 956 959 960 963 964 1034 1036 1056 1087 1088 1098 1099 1133 1134 1207 1208 1091 1092 1093 1094 1095 1145 1146 1147 1148 1149 1200 1201 1202 1203 1204 1137 1138 1141 1142 1158 1159 1178 1179 1211 1212 1152 1153 1184 1185 1304 1305 1389 1473 1476 1306 1388 1390 1474 1475 1309 1386 1391 1311 1384 1404 1314 1403 1405 1315 1383 1402 1409 1316 1401 1408 1318 1334 1400 1407 1464 1321 1333 1399 1462 1465 1323 1331 1398 1461 1466 1324 1330 1397 1460 1467 1325 1329 1396 1459 1468 1327 1394 1457 1469 1338 1378 1411 1339 1379 1410 1340 1380 1382 1413 1341 1381 1414 1343 1358 1374 1345 1355 1417 1348 1353 1349 1351 1350 1352 1356 1416 1418 1360 1370 1423 1424 1432 1362 1372 1421 1364 1369 1425 1431 1365 1367 1427 1429 1366 1368 1426 1428 1430 1513 1515 1516 1517 1526 1531 1548 1549 1550 1552 1553 1554 1555 1556 1557 1519 1520 1522 1573 1575 1590 1599 1605 1612 1577 1584 1601 1607 1579 1585 1592 1594 1609 1611 1580 1582 1586 1588 1595 1597 1602 1604 1624 1639 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1 3 26 28 164 166 1259 1262 1277 1279 1490 1686 1827 6 8 9 11 1263 1276 1540 1685 1828 10 12 13 15 1264 1275 1538 1539 1560 1561 1684 1829 14 16 17 19 1274 18 20 21 23 25 1265 1273 1683 1830 27 29 30 32 1491 31 33 35 37 1258 1492 34 36 38 39 41 43 1257 1493 40 42 44 46 1256 45 47 49 51 1255 1494 48 50 52 53 55 1254 62 64 66 72 74 1252 1496 63 65 76 78 1251 1497 68 70 71 73 75 1253 1495 77 79 81 83 1250 1498 80 82 84 86 88 1249 1499 85 87 89 91 1248 1500 90 92 94 96 1247 1501 1619 1848 93 95 97 98 100 1620 1847 99 101 102 104 1621 1846 110 112 113 115 1622 1845 114 116 117 119 1623 1843 1844 118 120 121 123 372 376 1640 1842 126 128 129 131 1641 1838 130 132 133 135 1642 1837 134 136 137 139 1643 1836 147 149 167 169 1644 1835 151 153 192 194 1266 1267 1272 1537 1551 1559 1682 1831 155 157 298 300 302 304 306 308 401 403 156 158 159 161 1281 1488 1688 1825 160 162 163 165 989 990 1260 1261 1278 1280 1489 1687 1826 172 174 175 177 294 296 1269 1523 1529 1534 1645 1658 1834 176 178 180 1270 1524 1528 1530 1533 1659 1833 179 181 182 184 186 195 197 1268 1271 1514 1525 1527 1532 1536 1558 1660 1681 1832 196 198 199 201 1661 1680 200 202 203 205 1662 1679 204 206 207 209 1663 1678 208 210 211 213 1117 1118 1664 1677 212 214 215 217 1114 1115 1116 1119 1120 1665 1676 216 218 219 220 222 369 371 1077 1078 1108 1109 1112 1113 1121 1122 1666 1675 221 223 224 226 1110 1111 1123 1124 1667 1674 225 227 229 231 266 268 1668 1673 233 234 265 271 273 1669 1672 235 264 1670 1671 274 288 289 291 1646 1657 275 287 1518 1521 1535 1647 1656 278 1648 1655 280 283 284 1650 1653 281 282 1651 1652 285 1649 1654 310 312 314 1691 1703 1824 313 315 316 318 1692 1704 317 319 321 323 991 993 1061 1168 1169 1170 1171 1221 1222 1288 1693 1705 326 328 330 424 1062 1063 1166 1167 1172 1173 1219 1220 1694 1706 329 331 332 334 1007 1064 1065 1164 1165 1174 1175 1217 1218 333 335 337 1066 1139 1140 1162 1163 1176 1177 1215 1216 336 338 339 341 344 1160 1161 1180 1181 1213 1214 1287 340 342 343 345 346 348 1067 1068 1089 1090 1096 1097 1135 1136 1143 1144 1150 1151 1154 1155 1156 1157 1182 1183 1186 1187 1188 1198 1199 1205 1206 1209 1210 1285 1286 355 357 358 360 1004 1069 1070 1085 1086 1100 1101 1131 1132 1196 1197 1284 359 361 363 1005 1006 1071 1072 1083 1084 1102 1103 1129 1130 1189 1190 1195 362 364 365 367 1073 1074 1081 1082 1104 1105 1127 1128 1191 1192 366 368 370 1075 1076 1079 1080 1106 1107 1125 1126 1193 1194 373 377 379 1625 1638 1841 378 380 382 1626 1637 1840 381 383 384 386 1627 1636 1839 385 387 389 1628 1635 388 390 392 394 395 1629 1631 1633 396 397 400 1632 405 406 409 1293 1484 1699 1820 407 408 411 412 414 447 450 1294 1483 1698 1819 413 415 417 968 1697 1818 416 418 419 421 427 1696 1708 420 422 423 425 992 1695 1707 429 431 432 434 1709 1816 433 435 436 438 975 983 984 985 986 994 995 1008 1009 1010 1012 1017 1710 1815 437 439 442 453 455 471 473 1298 440 441 443 445 1297 1481 444 446 448 449 451 452 967 969 970 971 972 973 974 976 977 978 979 980 981 982 987 988 1295 1296 1482 1817 454 456 457 459 474 475 477 1299 1480 1814 458 460 464 465 826 895 896 897 898 899 900 908 909 1711 1812 463 466 468 530 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 901 902 903 904 905 906 996 997 998 999 1001 1003 1011 1013 1014 1015 1016 1712 1811 476 478 480 825 827 1300 1479 1813 479 481 483 828 829 1301 1478 482 484 485 487 830 1302 1303 1477 489 491 493 1307 492 494 495 497 925 926 1308 1310 1385 496 498 504 907 914 915 916 924 927 929 930 931 932 933 934 935 936 937 1018 1387 501 506 508 691 693 928 938 939 940 941 942 943 1019 1715 1805 507 509 511 1714 1806 510 512 518 524 526 910 911 912 913 514 1808 515 521 1807 1809 525 527 533 1713 1810 535 537 538 540 684 686 687 689 1021 1024 1031 536 553 557 688 690 692 1020 1027 1028 1032 1048 1049 1057 1361 1363 1371 1420 1422 1716 1804 539 543 681 683 685 1039 1044 1045 1052 1053 1717 1803 541 545 547 548 674 676 678 680 682 1038 1433 1718 1719 1799 1801 542 544 677 679 1037 1434 1720 1800 1802 550 552 554 558 562 1033 561 563 564 566 638 842 945 946 1035 1342 1344 1357 1359 1373 1375 1415 1419 565 567 569 841 951 954 957 958 961 962 1336 1337 1376 1377 1412 568 570 572 815 817 840 949 950 965 571 575 579 816 839 966 1312 1313 1317 1319 1320 1335 1406 1463 576 577 1022 1023 1025 1026 1029 1030 1040 1041 1042 1043 1046 1047 1050 1051 1054 1055 1058 1059 1060 578 580 582 1000 1002 581 583 585 836 838 1322 1332 584 586 587 589 837 1780 594 614 616 618 1451 1779 1781 1787 596 599 602 1456 1783 1785 600 601 603 605 835 1326 1328 1392 1393 1395 1458 1470 1784 604 606 608 834 607 609 611 613 831 832 833 1471 1472 617 619 621 1450 1778 1788 620 622 624 640 642 847 1449 1776 1777 1789 623 625 628 846 1775 1790 626 627 629 630 632 845 631 633 635 844 1347 1354 634 636 843 1346 645 647 648 650 848 1448 1734 1791 649 651 653 849 1447 1735 1792 652 654 655 657 658 753 755 850 851 874 1439 1446 1727 1736 1737 1793 656 659 661 852 873 1726 1794 660 662 664 853 872 1725 1795 663 665 666 668 694 696 749 750 752 854 869 870 871 1437 1438 1723 1746 1759 1796 667 669 671 1436 1722 1797 670 672 673 675 1435 1721 1798 695 697 698 700 702 714 716 855 1745 1747 1760 699 701 703 705 707 856 859 1748 1761 704 706 708 710 711 713 857 1749 1762 1763 709 712 858 1750 1764 715 717 719 1744 1757 718 720 722 724 1743 1756 721 723 727 864 1753 1767 735 737 740 866 1741 1754 1769 739 741 743 865 1742 1755 1768 746 748 751 868 1724 1758 754 756 757 759 875 1440 1445 1728 1738 758 760 762 1441 1444 1729 1739 1771 761 763 765 767 1442 1443 1730 1740 1770 769 771 778 867 794 795 797 799 800 802 1731 1772 801 803 805 1732 1773 804 806 809 1733 1774 860 862 1751 1765 861 863 1752 1766 917 919 921 923 1224 1226 1228 1231 1233 1235 1239 1241 1243 1508 1510 1512 1541 1543 1545 1547 1562 1564 1566 1568 1570 1572 918 920 922 1223 1225 1227 1229 1230 1232 1234 1240 1242 1244 1507 1509 1511 1542 1544 1546 1563 1565 1567 1569 1571 1513 1515 1516 1517 1526 1531 1548 1549 1550 1552 1553 1554 1555 1556 1557 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 9 10 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 7.071067812D-01 7.071067812D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 7.071067812D-01 7.071067812D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 7.071067812D-01 7.071067812D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 7.071067812D-01 7.071067812D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 7.071067812D-01 7.071067812D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 7.071067812D-01 7.071067812D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 1.690308509D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 7.071067812D-01 7.071067812D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 1.000000000D 00 1.000000000D 00 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 7.071067812D-01 7.071067812D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 1.543033500D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 7.071067812D-01 7.071067812D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 7.071067812D-01 7.071067812D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 7.071067812D-01 7.071067812D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 2.182178902D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 7.071067812D-01 7.071067812D-01 1.000000000D 00 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 7.071067812D-01 7.071067812D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 2.500000000D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 1.000000000D 00 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 1.000000000D 00 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 1.000000000D 00 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 1.000000000D 00 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 7.071067812D-01 7.071067812D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 7.071067812D-01 7.071067812D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 7.071067812D-01 7.071067812D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 0.000000000D-01 2.180377087D-01 3.997357992D-01 8.903206438D-01 0.000000000D-01 6.615501375D-02 1.543616987D-01 2.205167125D-01 3.307750688D-01 4.410334250D-01 5.145389959D-01 5.953951238D-01 0.000000000D-01 1.014812531D-01 1.957138452D-01 2.609517936D-01 3.406870638D-01 4.349196560D-01 5.001576044D-01 5.726442138D-01 0.000000000D-01 2.076534838D-01 4.568376644D-01 5.537426236D-01 6.644911482D-01 0.000000000D-01 1.078483204D-01 1.960878552D-01 2.549142117D-01 3.333493540D-01 4.215888889D-01 5.000240309D-01 5.882635657D-01 0.000000000D-01 4.465124834D-02 7.654499715D-02 1.211962455D-01 1.594687441D-01 3.316949877D-01 3.891037356D-01 4.337549838D-01 4.784062322D-01 5.230574806D-01 0.000000000D-01 3.140371465D-01 5.338631490D-01 7.850928665D-01 0.000000000D-01 6.281904633D-02 1.334904735D-01 2.041619005D-01 2.748333276D-01 3.690618971D-01 4.318809436D-01 4.946999899D-01 5.418142746D-01 0.000000000D-01 1.496878521D-02 2.993757042D-02 3.742196301D-02 5.987514083D-02 3.517664523D-01 4.041572006D-01 4.415791636D-01 4.790011267D-01 5.313918748D-01 0.000000000D-01 7.689578151D-02 1.307228285D-01 1.922394538D-01 3.075831261D-01 3.614101730D-01 4.152372201D-01 4.767538452D-01 5.613392050D-01 0.000000000D-01 1.570271768D-01 5.234239225D-01 8.374782760D-01 0.000000000D-01 1.969893698D-01 3.545808656D-01 5.515702355D-01 7.288606682D-01 0.000000000D-01 6.560242603D-02 1.230045488D-01 1.804066716D-01 3.608133431D-01 4.510166790D-01 5.248194083D-01 5.822215310D-01 0.000000000D-01 6.654201713D-02 1.247662821D-01 2.079438036D-01 2.744858207D-01 3.659810942D-01 4.408408634D-01 4.907473763D-01 5.406538891D-01 0.000000000D-01 3.113995777D-01 5.449492609D-01 7.784989441D-01 0.000000000D-01 5.553584725D-02 9.441094032D-02 1.388396182D-01 2.054826349D-01 2.499113126D-01 3.054471599D-01 3.609830071D-01 4.220724391D-01 4.609475321D-01 4.998226253D-01 0.000000000D-01 1.066805390D-01 1.745681547D-01 2.715504629D-01 3.491363094D-01 4.364203868D-01 4.946097716D-01 5.721956181D-01 0.000000000D-01 9.206017075D-02 1.764486606D-01 2.378221078D-01 3.375539594D-01 4.296141301D-01 5.063309391D-01 5.907194289D-01 0.000000000D-01 8.888645035D-02 1.777729007D-01 2.592521468D-01 3.481385971D-01 4.296178434D-01 5.036898853D-01 5.777619273D-01 0.000000000D-01 5.163837284D-02 1.032767457D-01 1.475382081D-01 1.917996704D-01 3.024533265D-01 3.762224306D-01 4.278608035D-01 4.794991762D-01 5.311375491D-01 0.000000000D-01 2.516098042D-01 5.032196082D-01 8.267179278D-01 0.000000000D-01 1.179798515D-01 1.930579389D-01 2.681360263D-01 3.324886726D-01 4.182922010D-01 4.933702884D-01 5.898992578D-01 0.000000000D-01 2.952406988D-01 5.412746143D-01 7.873085300D-01 0.000000000D-01 1.083482291D-01 2.012181398D-01 2.940880505D-01 3.792188021D-01 4.411320758D-01 4.875670312D-01 5.340019865D-01 0.000000000D-01 6.055825571D-02 9.083738356D-02 1.332281626D-01 1.816747671D-01 2.180097206D-01 2.482888484D-01 3.391262319D-01 3.754611853D-01 4.057403133D-01 4.360194411D-01 4.662985689D-01 0.000000000D-01 1.147183497D-01 1.529577996D-01 2.007571120D-01 3.059155991D-01 4.206339488D-01 5.162325736D-01 6.213910608D-01 0.000000000D-01 3.113995776D-01 5.449492609D-01 7.784989441D-01 0.000000000D-01 3.108809142D-01 5.773502692D-01 7.549965058D-01 0.000000000D-01 9.166509491D-02 1.629601687D-01 2.342552425D-01 3.972154113D-01 4.481404639D-01 4.990655168D-01 5.499905695D-01 0.000000000D-01 3.001668057D-01 5.669817441D-01 7.670929479D-01 0.000000000D-01 3.058324497D-01 5.437021328D-01 7.815718159D-01 0.000000000D-01 7.643998814D-02 1.419599780D-01 2.074799678D-01 2.729999577D-01 3.712799424D-01 4.367999323D-01 4.913999237D-01 5.350799170D-01 0.000000000D-01 1.825741858D-01 3.651483717D-01 5.477225575D-01 7.302967433D-01 0.000000000D-01 1.747941918D-01 3.845472219D-01 5.768208328D-01 6.991767671D-01 0.000000000D-01 9.910312087D-02 1.982062418D-01 3.153281118D-01 4.054218581D-01 5.045249789D-01 6.576843477D-01 0.000000000D-01 8.982948581D-02 1.796589716D-01 2.694884574D-01 3.792800511D-01 5.789011309D-01 6.387874547D-01 0.000000000D-01 1.533929978D-01 3.323514952D-01 5.624409919D-01 7.413994890D-01 0.000000000D-01 8.158589156D-02 1.541066841D-01 2.175623775D-01 2.900831699D-01 3.535388634D-01 4.079294578D-01 4.804502502D-01 5.620361418D-01 0.000000000D-01 9.899678265D-02 1.759942803D-01 2.419921354D-01 3.519885604D-01 4.399857008D-01 5.059835559D-01 5.719814110D-01 0.000000000D-01 1.033139996D-01 3.357704987D-01 4.390844985D-01 5.165699983D-01 6.457124976D-01 0.000000000D-01 4.072948094D-01 4.683890308D-01 7.840425079D-01 0.000000000D-01 1.799610739D-01 3.599221477D-01 5.655919464D-01 7.198442957D-01 0.000000000D-01 6.869350881D-02 1.275736592D-01 1.864538096D-01 2.944007520D-01 4.121610528D-01 5.299213536D-01 6.378682959D-01 0.000000000D-01 8.787495500D-02 2.196873875D-01 3.075623425D-01 4.393747750D-01 5.272497300D-01 6.151246850D-01 0.000000000D-01 3.475764997D-02 8.689412492D-02 1.216517749D-01 1.650988373D-01 2.172353124D-01 2.606823748D-01 3.128188497D-01 3.562659121D-01 3.997129747D-01 4.518494496D-01 4.952965120D-01 0.000000000D-01 2.202921070D-02 5.287010570D-02 7.489931640D-02 1.586103171D-01 1.762336857D-01 1.938570542D-01 2.158862650D-01 2.335096335D-01 2.599446863D-01 2.819738971D-01 2.951914235D-01 3.128147920D-01 3.524673713D-01 3.965257928D-01 4.273666878D-01 0.000000000D-01 8.435590263D-02 1.096626734D-01 1.518406247D-01 2.108897566D-01 2.783744787D-01 3.374236106D-01 3.542947910D-01 3.964727423D-01 4.470862838D-01 4.892642353D-01 0.000000000D-01 1.355815361D-01 2.982793795D-01 3.253956868D-01 4.067446084D-01 5.152098374D-01 5.965587591D-01 0.000000000D-01 2.349569647D-02 4.699139293D-02 7.048708940D-02 8.810886175D-02 1.057306341D-01 1.233524064D-01 1.820916477D-01 2.055873440D-01 2.584526611D-01 2.995701299D-01 3.465615228D-01 4.111746882D-01 4.464182329D-01 4.875357016D-01 0.000000000D-01 9.849390487D-02 1.969878097D-01 4.221167351D-01 4.643284086D-01 5.065400822D-01 5.487517557D-01 0.000000000D-01 5.914179102D-02 8.448827288D-02 1.858742003D-01 2.027718549D-01 2.281183368D-01 2.872601278D-01 3.126066097D-01 3.464019187D-01 3.801972279D-01 4.393390190D-01 4.731343280D-01 0.000000000D-01 6.561055865D-02 1.211271852D-01 1.867377439D-01 2.271134723D-01 2.876770648D-01 3.280527932D-01 3.886163858D-01 4.088042501D-01 4.239451482D-01 4.542269445D-01 0.000000000D-01 1.873913756D-01 2.576631415D-01 4.372465430D-01 5.543661528D-01 6.324458926D-01 0.000000000D-01 6.758707444D-02 1.577031737D-01 3.905030968D-01 4.731095211D-01 5.181675707D-01 5.707352953D-01 0.000000000D-01 3.268820531D-02 8.172051326D-02 2.206453858D-01 3.595702582D-01 5.556994900D-01 7.109684653D-01 0.000000000D-01 3.059464641D-01 5.669008010D-01 7.648661601D-01 0.000000000D-01 1.169413461D-01 1.846442308D-01 3.077403845D-01 3.077403845D-01 4.246817307D-01 7.631961538D-01 0.000000000D-01 1.660442262D-01 2.609266412D-01 3.320884525D-01 4.032502637D-01 7.946402254D-01 0.000000000D-01 1.489682437D-01 2.085555412D-01 2.482804062D-01 3.078677037D-01 3.873174336D-01 4.270422987D-01 4.568359474D-01 4.866295961D-01 0.000000000D-01 4.242852836D-02 1.272855851D-01 1.803212455D-01 3.076068305D-01 4.561066798D-01 5.303566043D-01 6.046065290D-01 0.000000000D-01 1.904774684D-01 9.816915678D-01 0.000000000D-01 3.178806776D-01 3.866116348D-01 5.584390280D-01 6.615354639D-01 0.000000000D-01 8.192319206D-02 1.536059851D-01 3.481735664D-01 4.198563593D-01 4.198563593D-01 4.608179554D-01 5.325007485D-01 0.000000000D-01 5.060064684D-02 1.301159490D-01 1.951739235D-01 2.963752171D-01 2.987847717D-01 3.614331916D-01 4.048051746D-01 4.554058215D-01 5.132351321D-01 0.000000000D-01 5.346471974D-02 8.401598814D-02 1.680319763D-01 2.062210618D-01 2.444101473D-01 3.895286723D-01 4.353555749D-01 4.735446604D-01 5.422850143D-01 0.000000000D-01 4.856546194D-02 9.713092386D-02 1.595722321D-01 2.150756172D-01 3.191444642D-01 3.815857724D-01 4.093374648D-01 4.648408500D-01 5.342200812D-01 0.000000000D-01 5.028089891D-02 7.262796510D-02 1.173220975D-01 1.508426967D-01 1.564294633D-01 2.346441949D-01 4.078339579D-01 4.134207243D-01 4.413545572D-01 5.866104873D-01 0.000000000D-01 6.750954695D-02 1.012643204D-01 1.462706851D-01 3.037929613D-01 4.275604639D-01 5.400763756D-01 6.300891048D-01 0.000000000D-01 7.413919059D-03 7.413919059D-02 8.155310964D-02 1.334505430D-01 1.779340574D-01 1.853479765D-01 2.298314909D-01 3.781098720D-01 3.855237911D-01 4.744908198D-01 5.782856866D-01 0.000000000D-01 1.595654391D-01 2.765800943D-01 2.872177903D-01 3.084931821D-01 3.616816620D-01 3.723193577D-01 4.361455334D-01 5.106094050D-01 0.000000000D-01 4.856429312D-01 8.741572761D-01 0.000000000D-01 6.420676722D-01 7.666479666D-01 0.000000000D-01 3.224129402D-02 9.994801146D-01 0.000000000D-01 9.572336866D-03 6.700635806D-02 1.148680424D-01 1.196542109D-01 1.818744004D-01 2.632392639D-01 2.919562745D-01 3.733211378D-01 4.163966537D-01 4.738306749D-01 4.929753487D-01 0.000000000D-01 1.216035801D-01 2.052060414D-01 2.204064888D-01 2.280067126D-01 4.636136491D-01 5.168152152D-01 6.004176766D-01 0.000000000D-01 4.178357576D-02 7.834420456D-02 2.193637728D-01 2.715932425D-01 3.081538712D-01 3.499374471D-01 4.126128107D-01 4.752881744D-01 5.066258562D-01 0.000000000D-01 4.262319423D-02 1.385253812D-01 1.438532805D-01 1.491811799D-01 1.971322734D-01 2.450833669D-01 2.983623596D-01 3.090181582D-01 3.143460574D-01 3.782808488D-01 4.368877409D-01 4.688551366D-01 0.000000000D-01 3.619241652D-01 5.289660877D-01 7.675974056D-01 0.000000000D-01 4.431072934D-02 5.317287520D-02 1.285011150D-01 2.038293550D-01 3.544858346D-01 3.987965640D-01 4.032276370D-01 4.652626580D-01 5.228666062D-01 0.000000000D-01 2.275549954D-01 3.185769934D-01 4.551099906D-01 5.279275892D-01 6.007451876D-01 0.000000000D-01 9.489205577D-02 1.581534263D-01 2.530454821D-01 3.637528805D-01 4.902756216D-01 7.275057611D-01 0.000000000D-01 3.580968930D-02 1.566673907D-01 1.835246576D-01 2.059057135D-01 2.372391916D-01 2.730488809D-01 2.864775144D-01 3.133347814D-01 3.401920484D-01 3.625731042D-01 3.939065823D-01 4.297162716D-01 0.000000000D-01 1.214178641D-01 2.124812623D-01 2.124812623D-01 2.807788109D-01 3.263105099D-01 3.718422090D-01 3.946080585D-01 4.325511410D-01 4.780828400D-01 0.000000000D-01 5.665288227D-01 8.240419240D-01 0.000000000D-01 3.332510593D-01 5.332016949D-01 7.775858050D-01 0.000000000D-01 2.823507214D-02 5.647014430D-02 1.185873030D-01 1.185873030D-01 1.581164041D-01 1.863514762D-01 2.202335627D-01 2.484686348D-01 3.501148946D-01 3.783499668D-01 3.783499668D-01 4.178790677D-01 4.630551832D-01 0.000000000D-01 7.529173245D-02 1.129375987D-01 1.505834649D-01 1.819550200D-01 2.133265753D-01 2.886183078D-01 3.199898629D-01 3.199898629D-01 3.827329733D-01 4.329274616D-01 5.082191940D-01 0.000000000D-01 9.001800540D-02 1.900380114D-01 1.900380114D-01 3.600720216D-01 5.601120335D-01 6.901380414D-01 0.000000000D-01 6.359758617D-03 1.271951723D-02 1.907927585D-02 1.017561379D-01 1.780732413D-01 3.561464825D-01 4.261038274D-01 5.469392410D-01 5.914575513D-01 0.000000000D-01 4.306825524D-02 1.205911147D-01 1.722730210D-01 3.273187398D-01 5.340463650D-01 7.493876414D-01 0.000000000D-01 2.841082343D-01 5.208650961D-01 8.049733303D-01 0.000000000D-01 9.109602720D-02 1.423375425D-01 1.935790578D-01 2.334335697D-01 2.903685867D-01 3.928516173D-01 4.270126275D-01 4.554801360D-01 5.010281496D-01 0.000000000D-01 1.113907987D-01 2.088577476D-01 4.455631948D-01 5.291062939D-01 6.822686424D-01 0.000000000D-01 3.143775103D-01 4.453681395D-01 8.383400271D-01 0.000000000D-01 8.980265103D-02 2.180921525D-01 3.335527037D-01 4.233553548D-01 5.388159061D-01 6.029606568D-01 0.000000000D-01 2.248397709D-01 5.339944560D-01 8.150441694D-01 0.000000000D-01 3.922888546D-02 1.176866564D-01 2.059516486D-01 2.647949768D-01 3.236383050D-01 4.413249613D-01 5.099755109D-01 5.590116177D-01 0.000000000D-01 2.233567781D-02 7.594130456D-02 1.027441179D-01 4.109764718D-01 5.449905385D-01 7.192088255D-01 0.000000000D-01 7.364896536D-02 1.620277238D-01 2.209468961D-01 2.798660684D-01 4.418937923D-01 5.302725507D-01 6.039215160D-01 0.000000000D-01 6.748712333D-02 1.012306850D-01 1.518460275D-01 1.518460275D-01 2.193331508D-01 2.868202741D-01 3.374356166D-01 4.049227399D-01 4.892816439D-01 5.398969864D-01 0.000000000D-01 2.336824952D-01 5.257856141D-01 8.178887330D-01 0.000000000D-01 2.537080102D-02 5.708430229D-02 8.245510331D-02 1.141686046D-01 1.141686046D-01 1.458821058D-01 2.093091084D-01 2.177660421D-01 2.230516256D-01 2.537080102D-01 2.706218775D-01 2.759074611D-01 2.981069119D-01 3.298204133D-01 3.298204133D-01 3.551912142D-01 3.932474157D-01 0.000000000D-01 2.707638068D-01 6.052367445D-01 7.485822893D-01 0.000000000D-01 1.728946892D-01 3.890130508D-01 5.835195762D-01 6.915787568D-01 0.000000000D-01 5.184189690D-02 1.110897791D-01 1.555256907D-01 1.999616023D-01 4.221411604D-01 4.517651016D-01 4.962010132D-01 5.406369248D-01 0.000000000D-01 4.280863448D-01 9.037378387D-01 0.000000000D-01 1.800026719D-01 4.275063458D-01 5.737585168D-01 6.750100197D-01 0.000000000D-01 4.472135955D-01 8.944271910D-01 0.000000000D-01 4.190581775D-01 9.079593846D-01 0.000000000D-01 8.919733354D-03 3.004328371D-02 3.859811887D-02 5.872833529D-02 6.744534743D-02 8.879189112D-02 9.536005840D-02 9.730618202D-02 9.801570628D-02 9.872523051D-02 9.977938084D-02 1.004280887D-01 1.017255045D-01 1.039351657D-01 1.159362615D-01 1.167674184D-01 1.177607524D-01 1.190987124D-01 1.199095972D-01 1.207002100D-01 1.217746324D-01 1.230315039D-01 1.238221166D-01 1.245316409D-01 1.256263354D-01 1.261736827D-01 1.270251118D-01 1.277143639D-01 1.283630718D-01 1.295793991D-01 1.303700118D-01 1.311606245D-01 1.456146470D-01 1.461822664D-01 1.468715185D-01 1.473175052D-01 1.479662131D-01 1.489798191D-01 1.496690712D-01 1.504596840D-01 1.510475755D-01 1.523449912D-01 1.525679846D-01 1.527909779D-01 1.528923385D-01 1.539464888D-01 1.555479864D-01 1.561358779D-01 1.581225458D-01 1.589334306D-01 1.594807779D-01 1.751105834D-01 1.757187470D-01 1.762052780D-01 1.770364349D-01 1.774824216D-01 1.778878640D-01 0.000000000D-01 2.954535174D-03 3.770431918D-03 6.551898087D-03 1.767776276D-02 2.087953938D-02 2.441509193D-02 3.552859452D-02 3.869328492D-02 4.105444065D-02 5.346596080D-02 5.680372020D-02 5.995604853D-02 7.108191321D-02 7.349251721D-02 7.788105272D-02 8.919234848D-02 9.203562501D-02 9.554645341D-02 1.069319216D-01 1.098370085D-01 1.134220093D-01 1.249310982D-01 1.273911505D-01 1.306670996D-01 1.426583093D-01 1.602742617D-01 1.667272632D-01 1.780756451D-01 1.838858189D-01 3.560523938D-01 2.012545300D-01 2.162744473D-01 2.181287579D-01 2.327036407D-01 2.365482450D-01 2.496520413D-01 2.543496285D-01 2.668847694D-01 2.698640287D-01 2.737580813D-01 0.000000000D-01 1.761393420D-04 3.997008144D-04 5.690655663D-04 7.248811381D-04 8.806967098D-04 1.043286871D-03 1.858337804D-01 1.860302434D-01 1.884690958D-01 1.945323540D-01 1.969847556D-01 1.977028621D-01 2.039693579D-01 2.077360300D-01 2.138263865D-01 2.171527102D-01 2.233921078D-01 2.274229888D-01 2.330797715D-01 2.367922469D-01 2.446033492D-01 2.473944803D-01 2.525363943D-01 2.565605008D-01 2.624069720D-01 2.654352138D-01 0.000000000D-01 1.944753000D-03 4.682512076D-03 5.513280349D-03 9.025164405D-03 3.071954495D-02 3.432583450D-02 3.715799907D-02 3.789436185D-02 5.315028829D-02 5.390553218D-02 6.483768738D-02 8.077333331D-02 9.242674643D-01 9.178101291D-02 9.244185132D-02 1.077355400D-01 1.087928814D-01 1.175159482D-01 1.181390245D-01 1.348110332D-01 1.365103319D-01 1.385872526D-01 0.000000000D-01 1.126735788D-03 1.859114050D-02 8.185735502D-02 9.929359134D-02 1.644189199D-01 1.815453038D-01 2.437692877D-01 2.508677232D-01 2.612618608D-01 3.321053735D-01 4.166105575D-02 5.782971430D-02 1.225606854D-01 1.398560797D-01 2.044180403D-01 2.058546285D-01 2.180797118D-01 2.855148487D-01 2.988948362D-01 3.667524990D-01 3.813718958D-01 0.000000000D-01 2.563399020D-03 5.872893038D-02 6.237604281D-02 6.879496068D-02 1.190625902D-01 1.296496366D-01 1.783958993D-01 2.376666863D-01 2.489623145D-01 2.983963184D-01 2.984796810D-01 2.985630436D-01 2.986464061D-01 2.987922906D-01 2.928110263D-02 3.067742566D-02 3.586674564D-02 3.934713292D-02 9.365784710D-02 9.899305157D-02 1.481769677D-01 1.496983346D-01 1.561589338D-01 1.598268868D-01 2.078020458D-01 2.197645745D-01 2.735125914D-01 2.777015605D-01 0.000000000D-01 2.336156932D-03 5.436874315D-03 8.346451586D-03 9.365865519D-03 2.879844364D-02 3.561577431D-02 3.975714343D-02 5.974190408D-02 6.137721393D-02 7.004223239D-02 7.108288412D-02 9.026060874D-02 9.091898025D-02 9.181096742D-02 9.321266160D-02 9.344627730D-02 9.563376967D-02 9.735403069D-02 1.000299923D-01 1.004759859D-01 1.033855632D-01 1.043837393D-01 1.231367081D-01 1.315256353D-01 1.542925465D-01 1.553756738D-01 1.628938515D-01 1.640194544D-01 1.821990029D-01 1.835157459D-01 1.973203096D-01 1.980636323D-01 2.135035058D-01 2.150538645D-01 2.206606411D-01 2.228481335D-01 2.430027965D-01 2.500749807D-01 2.536854050D-01 2.545561544D-01 2.757727069D-01 2.835457382D-01 0.000000000D-01 2.274330020D-04 2.618925477D-04 4.548660038D-04 5.031093679D-04 6.271637325D-04 1.040678281D-03 1.082029737D-03 1.564463377D-03 1.605814832D-03 1.785004470D-03 1.819464015D-03 2.033113199D-03 2.081356563D-03 2.329465292D-03 2.363924838D-03 2.501763021D-03 2.563790203D-03 2.742979842D-03 2.784331297D-03 3.025548116D-03 3.053115753D-03 3.190953936D-03 3.232305391D-03 3.390819302D-03 3.425278847D-03 3.542441302D-03 3.563117030D-03 3.659603758D-03 3.687171395D-03 3.887036761D-03 3.928388215D-03 4.624471039D-03 5.313661954D-03 9.111103896D-03 9.255833988D-03 9.310969261D-03 9.428131716D-03 9.441915535D-03 9.565969899D-03 9.607321355D-03 9.772727173D-03 9.793402902D-03 9.945024899D-03 9.979484453D-03 1.014489027D-02 1.017934981D-02 1.025516081D-02 1.028962036D-02 1.055151290D-02 1.057908054D-02 1.068935109D-02 1.071002682D-02 1.088232455D-02 1.091678409D-02 1.095124364D-02 1.122692000D-02 1.125448764D-02 1.140610965D-02 1.144056919D-02 1.160597500D-02 1.163354264D-02 1.174381319D-02 1.177138083D-02 1.190921901D-02 1.192989473D-02 1.225381447D-02 1.228827401D-02 1.239854456D-02 1.242611219D-02 1.261908565D-02 1.263286947D-02 1.275003192D-02 1.277070766D-02 1.299124875D-02 1.301192447D-02 1.318422220D-02 1.320489793D-02 1.337719566D-02 1.339787139D-02 1.353570957D-02 1.356327721D-02 1.370111539D-02 1.374246684D-02 1.390787266D-02 1.479003704D-02 1.523111922D-02 1.893896634D-02 1.924910225D-02 1.931802135D-02 1.933869707D-02 1.952477862D-02 1.955923816D-02 1.962815726D-02 1.964883298D-02 2.006234754D-02 2.008302326D-02 2.018640190D-02 2.021396954D-02 2.024842908D-02 2.026910481D-02 2.040694299D-02 2.042761872D-02 2.051721354D-02 2.053788926D-02 2.071707890D-02 2.074464654D-02 2.093761999D-02 2.095829573D-02 2.128910736D-02 2.130978309D-02 2.147518891D-02 2.149586463D-02 2.167505428D-02 2.169573000D-02 2.179221673D-02 2.181289246D-02 2.194383873D-02 2.197140637D-02 2.201964973D-02 2.204032546D-02 2.214370410D-02 2.217127174D-02 2.225397464D-02 2.228154228D-02 2.235046137D-02 2.239870473D-02 2.267438110D-02 2.301208465D-02 2.303276037D-02 2.316370665D-02 2.318438238D-02 2.334978820D-02 2.337046392D-02 2.359789693D-02 2.373573511D-02 2.375641084D-02 2.392870857D-02 2.394938429D-02 2.405965484D-02 2.483154866D-02 2.545182049D-02 2.913899188D-02 2.942156016D-02 2.948358734D-02 2.951115498D-02 2.960074980D-02 2.962142552D-02 2.970412844D-02 2.972480416D-02 2.984196661D-02 2.986264235D-02 2.990399379D-02 2.993156143D-02 3.006250771D-02 3.008318344D-02 3.018656208D-02 3.021412971D-02 3.038642744D-02 3.040710317D-02 3.062075235D-02 3.063453617D-02 3.676213259D-01 3.678418670D-01 3.679797052D-01 3.681313272D-01 3.682898411D-01 3.684621388D-01 3.686137608D-01 0.000000000D-01 2.706870341D-05 5.413740683D-05 7.970229339D-05 1.052671799D-04 1.353435171D-04 2.446559644D-02 2.600700871D-02 2.812438285D-02 2.815897063D-02 2.820258132D-02 2.823416147D-02 2.826123017D-02 2.828679507D-02 2.831386377D-02 3.037108523D-02 3.100268832D-02 3.705705497D-02 3.710968857D-02 3.715179543D-02 3.719540612D-02 3.722698627D-02 3.725405498D-02 3.728713895D-02 3.738488705D-02 3.743000155D-02 3.746910080D-02 3.751571912D-02 3.754880308D-02 3.760143668D-02 3.762399394D-02 3.894133749D-02 3.896840620D-02 3.906465047D-02 3.911878787D-02 3.919097110D-02 3.927067338D-02 3.929473445D-02 3.939549018D-02 3.945564286D-02 3.950978027D-02 3.953835278D-02 3.960752836D-02 3.967219249D-02 3.970828410D-02 3.974587952D-02 3.978798638D-02 3.984813906D-02 4.114142155D-02 4.116698645D-02 4.119405515D-02 4.125270400D-02 4.185423075D-02 4.318962010D-02 4.372347509D-02 4.383626137D-02 4.395957434D-02 4.398664305D-02 4.411145985D-02 4.426635299D-02 4.546188738D-02 4.574310113D-02 4.578370419D-02 4.582280343D-02 4.585287977D-02 4.589949808D-02 4.599875001D-02 4.603484160D-02 4.608897900D-02 4.612807825D-02 4.617469658D-02 4.621529963D-02 4.625590269D-02 4.765595616D-02 4.778378060D-02 4.783641420D-02 4.792814703D-02 4.806649818D-02 4.810710124D-02 4.819883406D-02 4.823492567D-02 4.837327681D-02 4.846500965D-02 4.981994863D-02 4.992822344D-02 5.002897918D-02 5.013725399D-02 5.021695627D-02 5.026357460D-02 5.034327690D-02 5.199897926D-02 5.207567392D-02 5.214184185D-02 5.218996399D-02 5.226064338D-02 5.235087240D-02 5.244862050D-02 5.249975027D-02 5.252982661D-02 5.256892583D-02 5.261704799D-02 5.265765105D-02 5.267569684D-02 5.273584952D-02 5.278096402D-02 5.280502509D-02 5.291931517D-02 5.411033812D-02 5.420808622D-02 5.431936867D-02 5.439907095D-02 5.451035340D-02 5.456900227D-02 5.467426945D-02 5.471487251D-02 5.483668167D-02 5.491187251D-02 5.494044502D-02 5.634049852D-02 5.642170463D-02 5.656005578D-02 5.659915503D-02 5.662923135D-02 5.666833059D-02 5.680367411D-02 5.685781152D-02 5.693300236D-02 5.699917031D-02 5.703526190D-02 5.708188022D-02 5.848494136D-02 5.853155969D-02 5.857517038D-02 5.861126197D-02 5.866690320D-02 5.875262076D-02 5.880675816D-02 5.884736122D-02 5.888194900D-02 5.891202534D-02 5.893608641D-02 5.897969710D-02 5.902030015D-02 5.912255970D-02 5.920376581D-02 5.925339177D-02 5.934362079D-02 6.059178878D-02 6.063840709D-02 6.071359795D-02 6.076172008D-02 6.080232314D-02 6.084142236D-02 6.090458268D-02 6.101736894D-02 6.108052925D-02 6.110609415D-02 6.114519337D-02 6.122038421D-02 6.127903308D-02 6.133166666D-02 6.146249873D-02 6.168957508D-02 6.281142246D-02 6.283698734D-02 6.286405604D-02 6.292420872D-02 6.297533849D-02 6.301594154D-02 6.308361330D-02 6.312722399D-02 6.316331561D-02 6.320692628D-02 6.325655224D-02 6.331820873D-02 6.338588048D-02 6.342347590D-02 6.344603316D-02 6.347911714D-02 6.353175072D-02 6.359641486D-02 6.513181185D-02 6.517692637D-02 6.521452179D-02 6.525813248D-02 6.531226989D-02 6.535588058D-02 6.540851416D-02 6.545513249D-02 6.550024699D-02 6.558446073D-02 6.563408670D-02 6.567168211D-02 6.572882716D-02 6.710481957D-02 6.713339210D-02 6.717700279D-02 6.721159057D-02 6.724467455D-02 6.728226997D-02 6.732136919D-02 6.736949135D-02 6.740859058D-02 6.756047608D-02 6.759656769D-02 6.767927761D-02 6.772138449D-02 6.777702571D-02 6.926881203D-02 6.939362883D-02 6.941768990D-02 6.944475860D-02 6.947182731D-02 6.971093420D-02 6.974251434D-02 6.977108685D-02 6.979214031D-02 6.985379679D-02 6.988988840D-02 6.996357541D-02 6.998914031D-02 7.003124717D-02 7.149145335D-02 7.155160603D-02 7.160875107D-02 7.165236174D-02 7.172153733D-02 7.176965946D-02 7.179221672D-02 7.184184266D-02 7.188846099D-02 7.191853733D-02 7.199372817D-02 7.206440756D-02 7.208395719D-02 7.212756788D-02 7.218922437D-02 7.221478926D-02 7.225539232D-02 7.231704880D-02 7.239223964D-02 7.247194194D-02 7.356972824D-02 7.366146106D-02 7.371559847D-02 7.377274351D-02 7.382387329D-02 7.387199542D-02 7.390959086D-02 7.393966718D-02 7.397425498D-02 7.402989620D-02 7.406147634D-02 7.410959850D-02 7.413666720D-02 7.417727026D-02 7.421185804D-02 7.585252223D-02 7.592169780D-02 7.596981993D-02 7.600140010D-02 7.603147644D-02 7.606606423D-02 7.610065201D-02 7.615779705D-02 7.626907950D-02 7.630065965D-02 7.632020927D-02 7.635479705D-02 7.638336959D-02 7.641946118D-02 7.646156806D-02 8.230088892D-02 8.450698825D-02 8.513859131D-02 8.662436236D-02 9.095535491D-02 9.098843889D-02 9.101400378D-02 9.104107248D-02 9.106362972D-02 9.108769079D-02 9.111776713D-02 0.000000000D-01 6.544148519D-04 5.462182629D-02 8.293617554D-02 1.190162477D-01 1.491193309D-01 1.497737457D-01 1.820582118D-01 1.838033180D-01 1.844577328D-01 1.886023602D-01 1.917871792D-01 1.927469877D-01 1.951465088D-01 1.955827853D-01 1.964553384D-01 1.975460299D-01 1.984185830D-01 1.995092744D-01 2.003818276D-01 2.012543807D-01 2.024759551D-01 2.049627315D-01 2.489394096D-01 2.512080477D-01 2.553526751D-01 2.579703345D-01 2.592791642D-01 0.000000000D-01 5.260670577D-04 1.092600812D-03 1.477034431D-03 1.861468050D-03 2.286368366D-03 2.650568636D-03 1.710324938D-01 1.800363338D-01 1.957374121D-01 1.978619137D-01 2.071490206D-01 2.261683681D-01 2.574288913D-01 2.654210639D-01 2.952854860D-01 3.136775997D-01 3.142846003D-01 3.197476044D-01 3.427529214D-01 3.549536305D-01 0.000000000D-01 4.708254894D-04 1.000504165D-03 2.569922463D-03 3.021130222D-03 3.413484797D-03 3.923545745D-03 4.257047131D-03 4.727872622D-03 5.139844924D-03 6.003024989D-03 6.024604491D-02 6.132501998D-02 8.153128057D-02 8.486629446D-02 8.594526953D-02 9.202676544D-02 9.310574051D-02 9.634266576D-02 9.732355219D-02 1.081133030D-01 1.130177352D-01 1.139986216D-01 1.192954084D-01 1.225323336D-01 1.234151314D-01 1.385207825D-01 1.409729986D-01 1.418557964D-01 1.477411150D-01 1.489181787D-01 1.504875970D-01 1.514684835D-01 1.541168769D-01 1.550977633D-01 1.669664892D-01 1.701053258D-01 1.726556305D-01 1.755002011D-01 1.765791762D-01 1.806008106D-01 1.816797857D-01 1.927638024D-01 1.954121958D-01 1.963930822D-01 1.999242734D-01 2.014936917D-01 2.091446059D-01 2.227789274D-01 2.238579025D-01 2.282718914D-01 2.291546892D-01 0.000000000D-01 5.256277727D-03 9.940548759D-03 1.162951447D-02 3.221402562D-02 3.344306704D-02 3.353968979D-02 3.361698799D-02 3.389526152D-02 3.398028954D-02 3.410783157D-02 3.419672450D-02 3.427015780D-02 3.435132091D-02 3.450591731D-02 3.461413479D-02 3.473781192D-02 3.767127868D-02 3.777176634D-02 3.786838909D-02 3.791090311D-02 3.801912059D-02 3.816598717D-02 3.831671866D-02 3.839015196D-02 3.846745016D-02 3.850609926D-02 3.873799386D-02 3.898148320D-02 3.910516032D-02 3.941048822D-02 3.958054427D-02 3.976605995D-02 4.005206330D-02 4.017960532D-02 4.028395790D-02 4.039604029D-02 4.063179981D-02 4.333723688D-02 4.360391567D-02 4.367348405D-02 4.378170154D-02 4.389378393D-02 4.400973123D-02 4.416819254D-02 4.427254512D-02 4.438076260D-02 4.446579062D-02 4.456241337D-02 4.465517121D-02 4.473246942D-02 4.483295708D-02 4.493730965D-02 4.499528330D-02 4.506098678D-02 4.519239372D-02 4.526969192D-02 4.874424609D-02 4.882540921D-02 4.897614070D-02 4.903411435D-02 4.908435818D-02 4.918098094D-02 4.929306333D-02 4.934330716D-02 4.942447027D-02 4.950176847D-02 4.960612105D-02 4.979163673D-02 4.995009804D-02 5.009696463D-02 5.019358738D-02 5.033658906D-02 5.039069780D-02 5.050278019D-02 5.062645731D-02 5.077718880D-02 5.087381155D-02 5.097816413D-02 5.105546233D-02 5.113662544D-02 5.127962712D-02 5.138784460D-02 5.152311645D-02 5.159654974D-02 5.166611812D-02 5.176660579D-02 5.437928501D-02 5.446431303D-02 5.454161123D-02 5.461117961D-02 5.468847782D-02 5.478896548D-02 5.492423733D-02 5.502472500D-02 5.523343014D-02 5.531845816D-02 5.558513696D-02 5.570108424D-02 5.584022101D-02 5.605665598D-02 5.612235947D-02 5.640449789D-02 5.659001361D-02 5.681804329D-02 5.993702570D-02 5.996794500D-02 6.014186596D-02 6.023462382D-02 6.033897639D-02 6.042013948D-02 6.052062717D-02 6.061724992D-02 6.069068319D-02 6.077184628D-02 6.088006379D-02 6.098055142D-02 6.118539168D-02 6.125109518D-02 6.143661085D-02 6.173420891D-02 6.183856148D-02 6.193904917D-02 6.544452262D-02 6.551022606D-02 6.557592956D-02 6.566095759D-02 6.586966273D-02 6.595082583D-02 6.615566609D-02 6.626388355D-02 6.635277647D-02 6.642234485D-02 6.649964305D-02 6.663104999D-02 6.672380785D-02 6.680883589D-02 6.695183754D-02 6.696729719D-02 6.711029884D-02 6.740789696D-02 6.748519511D-02 6.759727751D-02 6.770549502D-02 6.786009144D-02 6.800695797D-02 6.808039130D-02 6.821566312D-02 6.830069115D-02 7.095974931D-02 7.104091240D-02 7.118004917D-02 7.119937376D-02 7.134624029D-02 7.143899815D-02 7.151243148D-02 7.206124870D-02 7.236271165D-02 7.252503790D-02 7.260233610D-02 7.287287980D-02 7.321685683D-02 7.331734446D-02 7.350672507D-02 7.357629345D-02 7.364586183D-02 7.390481082D-02 7.660638294D-02 7.677257406D-02 7.692330559D-02 7.704698271D-02 7.720157912D-02 7.733298606D-02 7.759193505D-02 7.766150343D-02 7.773107181D-02 7.783928927D-02 7.801707516D-02 7.810983297D-02 7.821805048D-02 7.829921358D-02 7.840743103D-02 7.846926964D-02 7.857748710D-02 7.867024496D-02 7.885189574D-02 7.888281499D-02 8.230712535D-02 8.236896390D-02 8.259312870D-02 8.282888821D-02 8.309556703D-02 8.315740558D-02 8.341248963D-02 8.344340893D-02 8.345886853D-02 8.377192625D-02 8.391106301D-02 8.403087524D-02 8.416228217D-02 8.427049969D-02 8.440963645D-02 8.449852937D-02 8.461834160D-02 8.469563980D-02 8.476520819D-02 8.483091163D-02 8.491593966D-02 8.771799947D-02 8.783008186D-02 8.790738007D-02 8.806584137D-02 8.819724831D-02 8.823203250D-02 8.836730438D-02 8.850257620D-02 8.864944279D-02 8.880017432D-02 8.899728470D-02 8.907071802D-02 8.914415129D-02 8.929488277D-02 8.959248089D-02 8.970456328D-02 8.990167366D-02 9.011037881D-02 9.031521907D-02 9.037319268D-02 9.042343652D-02 9.054324875D-02 9.326414546D-02 9.333757873D-02 9.356174353D-02 9.363517685D-02 9.374339431D-02 9.489127260D-02 1.067874659D-01 -1.312793849D-02-1.312793849D-02-1.312793849D-02-1.312793849D-02-1.312793849D-02 -1.312793849D-02 3.746265373D-01 3.746265373D-01 3.746265373D-01 3.746265373D-01 3.746265373D-01 3.855131204D-01 3.855131204D-01-1.633917464D-02-1.633917464D-02 -1.633917464D-02-1.633917464D-02 4.662642516D-01 4.662642516D-01 3.220012952D-01 4.798138111D-01 4.798138111D-01-1.424605190D-02-1.424605190D-02-1.424605190D-02 -1.424605190D-02 4.065336761D-01 4.065336761D-01 2.807514618D-01 2.807514618D-01 2.837049115D-01 2.837049115D-01 4.183474752D-01 4.183474752D-01-3.495698634D-02 -3.495698634D-02-3.495698634D-02-3.495698634D-02 9.975530244D-01-1.725579903D-02 -1.725579903D-02-1.725579903D-02-1.725579903D-02-1.725579903D-02 4.924215820D-01 4.924215820D-01 5.067312690D-01 5.067312690D-01-3.495698634D-02-3.495698634D-02 -3.495698634D-02-3.495698634D-02 9.975530244D-01-2.474858313D-02-2.474858313D-02 -2.474858313D-02-2.474858313D-02 7.062400550D-01 7.062400550D-01-2.473343873D-02 -2.473343873D-02-2.473343873D-02-2.473343873D-02-2.473343873D-02-2.473343873D-02 7.058078855D-01 7.058078855D-01-3.495698634D-02-3.495698634D-02-3.495698634D-02 -3.495698634D-02 9.975530244D-01-2.474858313D-02-2.474858313D-02-2.474858313D-02 -2.474858313D-02 7.062400550D-01 7.062400550D-01-3.493564733D-02-3.493564733D-02 -3.493564733D-02-3.493564733D-02-3.493564733D-02 9.969440820D-01-2.474100746D-02 -2.474100746D-02-2.474100746D-02-2.474100746D-02-2.474100746D-02 7.060238710D-01 7.060238710D-01-2.474858313D-02-2.474858313D-02-2.474858313D-02-2.474858313D-02 7.062400550D-01 7.062400550D-01-2.474100746D-02-2.474100746D-02-2.474100746D-02 -2.474100746D-02-2.474100746D-02 7.060238710D-01 7.060238710D-01-2.474858313D-02 -2.474858313D-02-2.474858313D-02-2.474858313D-02 7.062400550D-01 7.062400550D-01 -2.474100746D-02-2.474100746D-02-2.474100746D-02-2.474100746D-02-2.474100746D-02 7.060238710D-01 7.060238710D-01-2.474858313D-02-2.474858313D-02-2.474858313D-02 -2.474858313D-02 7.062400550D-01 7.062400550D-01-1.725836868D-02-1.725836868D-02 -1.725836868D-02-1.725836868D-02 4.924949108D-01 4.924949108D-01 5.068067287D-01 5.068067287D-01-2.404439000D-02-2.404439000D-02-2.404439000D-02-2.404439000D-02 -2.404439000D-02 7.060840378D-01 7.060840378D-01-2.405134344D-02-2.405134344D-02 -2.405134344D-02-2.405134344D-02 7.062882314D-01 7.062882314D-01-2.405134344D-02 -2.405134344D-02-2.405134344D-02-2.405134344D-02 7.062882314D-01 7.062882314D-01 -1.964541729D-02-1.964541729D-02-1.964541729D-02-1.964541729D-02 5.769044491D-01 5.769044491D-01 5.769044491D-01-2.403744258D-02-2.403744258D-02-2.403744258D-02 -2.403744258D-02-2.403744258D-02-2.403744258D-02 7.058800210D-01 7.058800210D-01 -2.405134344D-02-2.405134344D-02-2.405134344D-02-2.405134344D-02 7.062882314D-01 7.062882314D-01-2.405134344D-02-2.405134344D-02-2.405134344D-02-2.405134344D-02 7.062882314D-01 7.062882314D-01-2.405134344D-02-2.405134344D-02-2.405134344D-02 -2.405134344D-02 7.062882314D-01 7.062882314D-01-2.405134344D-02-2.405134344D-02 -2.405134344D-02-2.405134344D-02 7.062882314D-01 7.062882314D-01-1.366752890D-02 -1.366752890D-02-1.366752890D-02-1.366752890D-02 3.900246049D-01 3.900246049D-01 3.900246049D-01 2.693503255D-01 2.721838376D-01 2.721838376D-01 4.013586533D-01 4.013586533D-01-2.894762782D-01-2.894762782D-01-2.894762782D-01-2.894762782D-01 -2.894762782D-01-2.894762782D-01-2.894762782D-01-2.894762782D-01 4.059728286D-01 4.059728286D-01-1.725836868D-02-1.725836868D-02-1.725836868D-02-1.725836868D-02 4.924949108D-01 4.924949108D-01 5.068067287D-01 5.068067287D-01-1.186811192D-02 -1.186811192D-02-1.186811192D-02-1.186811192D-02 3.024921209D-01 3.024921209D-01 3.386753889D-01 3.386753889D-01 3.386753889D-01 3.386753889D-01 3.386753889D-01 3.485172379D-01 3.485172379D-01-1.478841508D-02-1.478841508D-02-1.478841508D-02 -1.478841508D-02-1.478841508D-02-1.478841508D-02 4.220108692D-01 2.914399849D-01 2.914399849D-01 2.914399849D-01 4.342744329D-01 4.342744329D-01 4.342744329D-01 -1.562584539D-02-1.562584539D-02-1.562584539D-02 4.459082708D-01 3.079434896D-01 3.079434896D-01 3.079434896D-01 3.079434896D-01 4.588662890D-01 4.588662890D-01 -1.234547404D-02-1.234547404D-02-1.234547404D-02-1.234547404D-02-1.234547404D-02 -1.234547404D-02-1.234547404D-02 3.522976737D-01 3.522976737D-01 2.432961712D-01 2.432961712D-01 2.432961712D-01 2.432961712D-01 2.432961712D-01 2.458555988D-01 3.625353839D-01 3.625353839D-01 3.625353839D-01-2.405134344D-02-2.405134344D-02 -2.405134344D-02-2.405134344D-02 7.062882314D-01 7.062882314D-01-2.405134344D-02 -2.405134344D-02-2.405134344D-02-2.405134344D-02 7.062882314D-01 7.062882314D-01 -2.405134344D-02-2.405134344D-02-2.405134344D-02-2.405134344D-02 7.062882314D-01 7.062882314D-01-1.747427000D-02-1.747427000D-02-1.747427000D-02-1.747427000D-02 4.858699462D-01 4.858699462D-01 5.131468555D-01 5.131468555D-01-1.336991243D-02 -1.336991243D-02-1.336991243D-02-1.336991243D-02 3.717487845D-01 3.717487845D-01 3.717487845D-01 3.717487845D-01 3.717487845D-01 3.926188917D-01 3.926188917D-01 -1.123907943D-02-1.123907943D-02-1.123907943D-02-1.123907943D-02-1.123907943D-02 -1.123907943D-02-1.123907943D-02 3.125012328D-01 3.125012328D-01 3.125012328D-01 3.125012328D-01 3.125012328D-01 3.125012328D-01 3.125012328D-01 3.125012328D-01 3.300451616D-01 3.300451616D-01-1.440205953D-02-1.440205953D-02-1.440205953D-02 -1.440205953D-02 4.004475088D-01 4.004475088D-01 4.004475088D-01 4.004475088D-01 4.229287725D-01 4.229287725D-01-2.403744258D-02-2.403744258D-02-2.403744258D-02 -2.403744258D-02-2.403744258D-02-2.403744258D-02 7.058800210D-01 7.058800210D-01 -2.404439000D-02-2.404439000D-02-2.404439000D-02-2.404439000D-02-2.404439000D-02 7.060840378D-01 7.060840378D-01-2.406526843D-02-2.406526843D-02 7.066971507D-01 7.066971507D-01-2.405134344D-02-2.405134344D-02-2.405134344D-02-2.405134344D-02 7.062882314D-01 7.062882314D-01-1.859570884D-02-1.859570884D-02 3.664715302D-01 3.664715302D-01 3.664715302D-01 5.460788643D-01 5.460788643D-01-2.407224001D-02 7.069018770D-01 7.069018770D-01-2.405830292D-02-2.405830292D-02-2.405830292D-02 7.064926025D-01 7.064926025D-01-2.406526843D-02-2.406526843D-02 7.066971507D-01 7.066971507D-01-2.407224001D-02 7.069018770D-01 7.069018770D-01-1.964920939D-02 -1.964920939D-02-1.964920939D-02 5.770158073D-01 5.770158073D-01 5.770158073D-01 -2.405134344D-02-2.405134344D-02-2.405134344D-02-2.405134344D-02 7.062882314D-01 7.062882314D-01-1.039521342D-02-1.039521342D-02-1.039521342D-02-1.039521342D-02 2.649511712D-01 2.649511712D-01 2.890376413D-01 2.890376413D-01 2.890376413D-01 2.890376413D-01 2.890376413D-01 2.890376413D-01 2.890376413D-01 2.966438950D-01 3.052643159D-01 3.052643159D-01-1.124052294D-02-1.124052294D-02-1.124052294D-02 1.576414801D-02 3.125413694D-01 3.125413694D-01 3.125413694D-01 3.125413694D-01 3.125413694D-01 3.125413694D-01 3.125413694D-01 3.125413694D-01 3.300875516D-01 3.300875516D-01-1.209258082D-02-1.209258082D-02-1.209258082D-02-1.209258082D-02 3.082133402D-01 3.362327348D-01 3.362327348D-01 3.362327348D-01 3.362327348D-01 3.362327348D-01 3.362327348D-01 3.362327348D-01 3.362327348D-01-1.198572051D-02 -1.198572051D-02-1.198572051D-02 3.332614969D-01 3.332614969D-01 3.332614969D-01 3.332614969D-01 3.332614969D-01 3.332614969D-01 3.332614969D-01 3.332614969D-01 3.332614969D-01-1.353577320D-02-1.353577320D-02-1.353577320D-02-1.353577320D-02 -1.353577320D-02 3.763605229D-01 3.763605229D-01 3.763605229D-01 3.763605229D-01 3.763605229D-01 3.763605229D-01 3.862647472D-01-6.665381564D-03-6.665381564D-03 -6.665381564D-03-6.665381564D-03-6.665381564D-03-6.665381564D-03 1.853301215D-01 1.853301215D-01 1.853301215D-01 1.853301215D-01 1.853301215D-01 1.853301215D-01 1.853301215D-01 1.853301215D-01 1.853301215D-01 1.853301215D-01 1.853301215D-01 1.853301215D-01 1.853301215D-01 1.853301215D-01 1.853301215D-01 1.853301215D-01 1.853301215D-01 1.853301215D-01 1.853301215D-01 1.853301215D-01 1.853301215D-01 1.853301215D-01 1.853301215D-01 1.853301215D-01 1.853301215D-01 1.853301215D-01 1.853301215D-01 1.902072299D-01 1.902072299D-01-1.042624355D-02-1.042624355D-02 -1.042624355D-02-1.042624355D-02 2.657420610D-01 2.899004302D-01 2.899004302D-01 2.899004302D-01 2.899004302D-01 2.899004302D-01 2.899004302D-01 2.899004302D-01 2.899004302D-01 2.899004302D-01 2.899004302D-01 2.975293889D-01-1.009818738D-02 -1.009818738D-02-1.009818738D-02 2.573806296D-01 2.573806296D-01 2.807788686D-01 2.807788686D-01 2.807788686D-01 2.807788686D-01 2.807788686D-01 2.807788686D-01 2.807788686D-01 2.807788686D-01 2.807788686D-01 2.807788686D-01 2.807788686D-01 -1.137016285D-02-1.137016285D-02-1.137016285D-02-1.137016285D-02 3.161459913D-01 3.161459913D-01 3.161459913D-01 3.161459913D-01 3.161459913D-01 3.161459913D-01 3.161459913D-01 3.161459913D-01 3.161459913D-01 3.161459913D-01-1.137089789D-02 -1.137089789D-02-1.137089789D-02 3.161664290D-01 3.161664290D-01 3.161664290D-01 3.161664290D-01 3.161664290D-01 3.161664290D-01 3.161664290D-01 3.161664290D-01 3.161664290D-01 3.161664290D-01-1.964920939D-02-1.964920939D-02-1.964920939D-02 5.770158073D-01 5.770158073D-01 5.770158073D-01-1.964920939D-02-1.964920939D-02 -1.964920939D-02 5.770158073D-01 5.770158073D-01 5.770158073D-01-1.964541729D-02 -1.964541729D-02-1.964541729D-02-1.964541729D-02 5.769044491D-01 5.769044491D-01 5.769044491D-01-2.405830292D-02-2.405830292D-02-2.405830292D-02 7.064926025D-01 7.064926025D-01-1.964162739D-02-1.964162739D-02-1.964162739D-02-1.964162739D-02 -1.964162739D-02 5.767931555D-01 5.767931555D-01 5.767931555D-01-3.399407731D-02 -3.399407731D-02-3.399407731D-02 9.982650993D-01 2.419696210D-02 2.419696210D-02 2.419696210D-02 4.923555771D-01 4.923555771D-01 5.066633461D-01 5.066633461D-01 2.416867747D-02 2.416867747D-02 2.416867747D-02 2.416867747D-02 2.416867747D-02 2.416867747D-02 2.416867747D-02 4.917800464D-01 4.917800464D-01 5.060710905D-01 5.060710905D-01 2.904493941D-02 2.904493941D-02 2.904493941D-02 5.076550283D-01 6.081757752D-01 6.081757752D-01 3.367376800D-02 3.367376800D-02 3.367376800D-02 3.367376800D-02 3.367376800D-02 7.050994211D-01 7.050994211D-01 2.873390631D-02 2.873390631D-02 2.873390631D-02 2.873390631D-02 5.222075152D-01 6.016630127D-01 6.016630127D-01 3.369287598D-02 3.369287598D-02 3.369287598D-02 3.369287598D-02 7.054995254D-01 7.054995254D-01 1.455497655D-02 1.455497655D-02 1.455497655D-02 1.455497655D-02 2.543956773D-01 2.543956773D-01 2.543956773D-01 2.543956773D-01 2.543956773D-01 2.645208784D-01 2.645208784D-01 2.645208784D-01 2.645208784D-01 2.645208784D-01 2.645208784D-01 2.645208784D-01 3.047685527D-01 3.047685527D-01 4.873504843D-02 4.873504843D-02 4.873504843D-02 4.873504843D-02 4.873504843D-02 4.873504843D-02 4.873504843D-02 9.916522907D-01 3.466734447D-02 3.466734447D-02 3.466734447D-02 3.466734447D-02 7.054050969D-01 7.054050969D-01 1.233310708D-02 1.233310708D-02 1.233310708D-02 1.233310708D-02 1.233310708D-02 1.233310708D-02 2.155612631D-01 2.155612631D-01 2.155612631D-01 2.155612631D-01 2.155612631D-01 2.155612631D-01 2.155612631D-01 2.155612631D-01 2.155612631D-01 2.155612631D-01 2.155612631D-01 2.155612631D-01 2.155612631D-01 2.155612631D-01 2.155612631D-01 2.155612631D-01 2.509519182D-01 2.509519182D-01 2.509519182D-01 2.582445381D-01 2.802192246D-02 2.802192246D-02 2.802192246D-02 2.802192246D-02 2.802192246D-02 2.802192246D-02 2.802192246D-02 5.701852054D-01 5.701852054D-01 5.867546900D-01 1.916532832D-02 1.916532832D-02 1.916532832D-02 1.916532832D-02 3.866396673D-01 2.566487447D-01 2.566487447D-01 2.566487447D-01 2.566487447D-01 2.566487447D-01 2.566487447D-01 2.566487447D-01 2.566487447D-01 4.013053098D-01 4.013053098D-01 1.054252317D-02 1.054252317D-02 1.054252317D-02 1.054252317D-02 1.411781365D-01 1.411781365D-01 1.411781365D-01 1.411781365D-01 1.411781365D-01 1.411781365D-01 1.411781365D-01 1.411781365D-01 1.411781365D-01 1.411781365D-01 1.411781365D-01 1.411781365D-01 1.411781365D-01 1.411781365D-01 1.411781365D-01 1.411781365D-01 1.411781365D-01 1.411781365D-01 1.411781365D-01 1.411781365D-01 1.411781365D-01 1.411781365D-01 1.411781365D-01 1.411781365D-01 1.411781365D-01 1.915988995D-01 1.915988995D-01 1.915988995D-01 1.915988995D-01 1.915988995D-01 1.915988995D-01 1.915988995D-01 1.915988995D-01 1.915988995D-01 1.915988995D-01 1.915988995D-01 2.207512679D-01 2.207512679D-01 2.190808501D-02 2.190808501D-02 2.190808501D-02 4.419718023D-01 4.419718023D-01 4.457819040D-01 4.457819040D-01 4.587362500D-01 2.465537195D-02 2.465537195D-02 2.465537195D-02 4.973953302D-01 4.973953302D-01 5.016832210D-01 5.016832210D-01 2.459528740D-02 2.459528740D-02 2.459528740D-02 2.459528740D-02 4.961831896D-01 5.004606309D-01 5.004606309D-01 5.004606309D-01 4.896821283D-02 4.896821283D-02 4.896821283D-02 9.963966793D-01 2.274954126D-02 2.274954126D-02 2.274954126D-02 2.274954126D-02 4.213610690D-01 4.213610690D-01 4.629037096D-01 4.629037096D-01 4.629037096D-01 1.403611886D-02 1.403611886D-02 1.403611886D-02 1.879619397D-01 1.879619397D-01 1.879619397D-01 1.879619397D-01 2.599733322D-01 2.599733322D-01 2.599733322D-01 2.599733322D-01 2.599733322D-01 2.599733322D-01 2.599733322D-01 2.599733322D-01 2.599733322D-01 2.599733322D-01 2.599733322D-01 1.818592793D-01 2.856045058D-01 1.702229487D-02 1.702229487D-02 1.702229487D-02 1.702229487D-02 1.702229487D-02 3.152825052D-01 3.152825052D-01 3.152825052D-01 3.152825052D-01 3.152825052D-01 3.152825052D-01 3.152825052D-01 2.205497337D-01 3.564320528D-01 3.564320528D-01 3.371201652D-02 3.371201652D-02 3.371201652D-02 7.059003118D-01 7.059003118D-01 3.720820751D-02 3.720820751D-02 3.720820751D-02 3.720820751D-02 3.720820751D-02 4.982664314D-01 4.982664314D-01 4.982664314D-01 4.982664314D-01 4.770310597D-02 9.988615589D-01 3.373118971D-02 3.373118971D-02 7.063017817D-01 7.063017817D-01 3.371201652D-02 3.371201652D-02 3.371201652D-02 7.059003118D-01 7.059003118D-01 4.421082650D-02 4.421082650D-02 4.421082650D-02 4.421082650D-02 4.421082650D-02 4.421082650D-02 4.421082650D-02 4.421082650D-02 5.728185352D-01 5.728185352D-01 5.728185352D-01 1.556400969D-02 1.556400969D-02 1.556400969D-02 1.556400969D-02 1.556400969D-02 1.556400969D-02 2.016554301D-01 2.016554301D-01 2.016554301D-01 2.016554301D-01 2.016554301D-01 2.016554301D-01 2.016554301D-01 3.166937626D-01 3.166937626D-01 3.166937626D-01 3.166937626D-01 3.166937626D-01 3.258968292D-01 3.258968292D-01 2.410337267D-02 2.410337267D-02 2.410337267D-02 2.410337267D-02 2.410337267D-02 3.122958722D-01 3.122958722D-01 3.122958722D-01 3.122958722D-01 3.122958722D-01 5.047036646D-01 5.047036646D-01 2.065175164D-02 2.065175164D-02 2.065175164D-02 2.065175164D-02 2.065175164D-02 2.065175164D-02 2.065175164D-02 2.065175164D-02 2.065175164D-02 2.675748693D-01 4.202182511D-01 4.324297217D-01 4.324297217D-01 4.324297217D-01 4.324297217D-01 2.293404842D-02 2.293404842D-02 2.293404842D-02 2.293404842D-02 2.971454972D-01 4.666580292D-01 4.802190317D-01 4.802190317D-01 4.802190317D-01 7.605685363D-02 7.605685363D-02 7.605685363D-02 7.605685363D-02 7.605685363D-02 9.854322783D-01 1.492203052D-02 1.492203052D-02 1.492203052D-02 1.492203052D-02 1.492203052D-02 3.010357463D-01 2.582160065D-01 2.582160065D-01 1.933376129D-01 3.036308820D-01 3.036308820D-01 3.036308820D-01 3.036308820D-01 3.036308820D-01 3.036308820D-01 3.036308820D-01 3.036308820D-01 1.529116407D-02 1.529116407D-02 1.529116407D-02 3.084826145D-01 2.646036220D-01 2.646036220D-01 2.646036220D-01 2.646036220D-01 2.646036220D-01 2.646036220D-01 3.111419474D-01 3.111419474D-01 3.111419474D-01 3.111419474D-01 3.111419474D-01 2.762569941D-02 2.762569941D-02 2.762569941D-02 2.762569941D-02 2.762569941D-02 5.573184581D-01 4.780447119D-01 4.780447119D-01 4.780447119D-01 1.576671465D-02 1.576671465D-02 1.576671465D-02 1.576671465D-02 3.180763305D-01 2.728327145D-01 3.208183678D-01 3.208183678D-01 3.208183678D-01 3.208183678D-01 3.208183678D-01 3.208183678D-01 3.208183678D-01 3.208183678D-01 1.770103467D-02 1.770103467D-02 2.293438406D-01 2.293438406D-01 2.293438406D-01 2.293438406D-01 2.293438406D-01 2.293438406D-01 2.293438406D-01 2.293438406D-01 2.293438406D-01 2.293438406D-01 2.293438406D-01 2.293438406D-01 2.293438406D-01 2.293438406D-01 2.293438406D-01 2.293438406D-01 2.293438406D-01 2.293438406D-01 2.293438406D-01 3.881974030D-02 3.881974030D-02 3.881974030D-02 7.055065851D-01 7.055065851D-01 2.465537195D-02 2.465537195D-02 2.465537195D-02 4.973953302D-01 4.973953302D-01 5.016832210D-01 5.016832210D-01 3.431114349D-02 3.431114349D-02 3.431114349D-02 3.431114349D-02 6.921900257D-01 7.184455094D-01 2.401893037D-02 2.401893037D-02 2.401893037D-02 2.401893037D-02 4.887330185D-01 5.029355164D-01 5.029355164D-01 5.029355164D-01 2.780000527D-02 2.780000527D-02 2.780000527D-02 5.656696730D-01 5.821079370D-01 5.821079370D-01 1.633500249D-02 1.633500249D-02 1.633500249D-02 1.633500249D-02 3.295409200D-01 3.323817900D-01 3.323817900D-01 3.323817900D-01 3.323817900D-01 3.323817900D-01 3.323817900D-01 3.323817900D-01 3.420407480D-01 4.938727676D-02 4.938727676D-02 4.938727676D-02 9.963346277D-01 2.207000979D-02 2.207000979D-02 2.207000979D-02 2.207000979D-02 4.452384588D-01 4.452384588D-01 4.452384588D-01 4.490767214D-01 4.490767214D-01 2.780000527D-02 2.780000527D-02 2.780000527D-02 5.656696730D-01 5.821079370D-01 5.821079370D-01 2.161000757D-02 2.161000757D-02 2.161000757D-02 2.161000757D-02 2.161000757D-02 4.359584140D-01 4.397166762D-01 4.524947677D-01 4.524947677D-01 4.524947677D-01 2.787602097D-02 2.787602097D-02 2.787602097D-02 5.623684236D-01 5.836996397D-01 5.836996397D-01 4.926725504D-02 4.926725504D-02 4.926725504D-02 4.926725504D-02 4.926725504D-02 9.939133200D-01 2.842039187D-02 2.842039187D-02 2.842039187D-02 5.733505148D-01 5.782931917D-01 5.782931917D-01 3.485736833D-02 3.485736833D-02 7.032095183D-01 7.092716693D-01 2.423991241D-02 2.423991241D-02 2.423991241D-02 2.423991241D-02 4.890138855D-01 4.932295224D-01 5.075626881D-01 5.075626881D-01 2.424703691D-02 2.424703691D-02 2.424703691D-02 4.891576146D-01 4.933744906D-01 5.077118690D-01 5.077118690D-01 1.620122811D-02 1.620122811D-02 1.620122811D-02 1.620122811D-02 1.620122811D-02 1.620122811D-02 1.620122811D-02 3.268421675D-01 3.268421675D-01 3.268421675D-01 3.296597724D-01 3.296597724D-01 3.392396290D-01 3.392396290D-01 3.392396290D-01 3.392396290D-01 2.429742390D-02 2.429742390D-02 2.429742390D-02 4.901741173D-01 4.901741173D-01 5.087669286D-01 5.087669286D-01 2.429742390D-02 2.429742390D-02 2.429742390D-02 4.901741173D-01 4.901741173D-01 5.087669286D-01 5.087669286D-01 1.539590890D-02 1.539590890D-02 1.539590890D-02 1.539590890D-02 1.539590890D-02 1.539590890D-02 1.539590890D-02 1.539590890D-02 1.539590890D-02 3.105957276D-01 3.105957276D-01 3.105957276D-01 3.105957276D-01 3.132732770D-01 3.132732770D-01 3.223769449D-01 3.223769449D-01 3.223769449D-01 3.223769449D-01 2.780000527D-02 2.780000527D-02 2.780000527D-02 5.656696730D-01 5.821079370D-01 5.821079370D-01 2.778926901D-02 2.778926901D-02 2.778926901D-02 2.778926901D-02 5.654512134D-01 5.818831290D-01 5.818831290D-01 2.404702047D-02 2.404702047D-02 2.404702047D-02 2.404702047D-02 2.404702047D-02 2.404702047D-02 2.404702047D-02 4.851225003D-01 5.035236986D-01 5.035236986D-01 5.035236986D-01 2.428309224D-02 2.428309224D-02 2.428309224D-02 2.428309224D-02 2.428309224D-02 4.898849917D-01 4.898849917D-01 5.084668362D-01 5.084668362D-01 2.405397620D-02 2.405397620D-02 2.405397620D-02 2.405397620D-02 2.405397620D-02 2.405397620D-02 4.852628246D-01 5.036693455D-01 5.036693455D-01 5.036693455D-01 2.788685814D-02 2.788685814D-02 5.625870516D-01 5.839265605D-01 5.839265605D-01 3.371201652D-02 3.371201652D-02 3.371201652D-02 7.059003118D-01 7.059003118D-01 3.369287598D-02 3.369287598D-02 3.369287598D-02 3.369287598D-02 7.054995254D-01 7.054995254D-01 2.787602097D-02 2.787602097D-02 2.787602097D-02 5.623684236D-01 5.836996397D-01 5.836996397D-01 2.407487963D-02 2.407487963D-02 2.407487963D-02 4.856845287D-01 5.041070453D-01 5.041070453D-01 5.041070453D-01 2.407487963D-02 2.407487963D-02 2.407487963D-02 4.856845287D-01 5.041070453D-01 5.041070453D-01 5.041070453D-01 2.787602097D-02 2.787602097D-02 2.787602097D-02 5.623684236D-01 5.836996397D-01 5.836996397D-01 2.173939144D-02 2.173939144D-02 2.173939144D-02 2.173939144D-02 4.385685929D-01 4.423493566D-01 4.423493566D-01 4.552039533D-01 4.552039533D-01 2.158458477D-02 2.158458477D-02 2.158458477D-02 4.391993773D-01 4.391993773D-01 4.519624362D-01 4.519624362D-01 4.519624362D-01 2.157955845D-02 2.157955845D-02 2.157955845D-02 2.157955845D-02 4.390971027D-01 4.390971027D-01 4.518571895D-01 4.518571895D-01 4.518571895D-01 4.938727676D-02 4.938727676D-02 4.938727676D-02 9.963346277D-01 3.365469249D-02 3.365469249D-02 3.365469249D-02 3.365469249D-02 3.365469249D-02 3.365469249D-02 7.046999965D-01 7.046999965D-01 3.371201652D-02 3.371201652D-02 3.371201652D-02 7.059003118D-01 7.059003118D-01 3.371201652D-02 3.371201652D-02 3.371201652D-02 7.059003118D-01 7.059003118D-01 4.906087670D-01 4.906087670D-01 5.092180650D-01 5.092180650D-01 4.906087670D-01 4.906087670D-01 5.092180650D-01 5.092180650D-01 1.965405038D-01 1.965405038D-01 1.965405038D-01 1.965405038D-01 2.103813844D-01 2.103813844D-01 2.103813844D-01 2.159177366D-01 2.159177366D-01 2.159177366D-01 2.159177366D-01 2.159177366D-01 2.159177366D-01 2.159177366D-01 2.159177366D-01 2.159177366D-01 1.506810529D-01 1.506810529D-01 1.506810529D-01 1.506810529D-01 1.836223486D-01 1.836223486D-01 1.836223486D-01 1.836223486D-01 1.836223486D-01 1.836223486D-01 2.017301746D-01 2.017301746D-01 2.017301746D-01 2.159365249D-01 2.159365249D-01 2.159365249D-01 2.159365249D-01 2.216190650D-01 2.216190650D-01 2.216190650D-01 2.216190650D-01 2.216190650D-01 2.216190650D-01 2.216190650D-01 2.216190650D-01 2.216190650D-01 1.546598005D-01 1.546598005D-01 1.546598005D-01 1.884709143D-01 1.884709143D-01 1.884709143D-01 1.884709143D-01 1.884709143D-01 2.565760265D-01 2.565760265D-01 2.565760265D-01 2.565760265D-01 2.565760265D-01 2.565760265D-01 2.592751554D-01 2.592751554D-01 2.592751554D-01 2.592751554D-01 2.592751554D-01 2.592751554D-01 2.592751554D-01 2.592751554D-01 2.592751554D-01 5.778893290D-02 5.180148816D-03 5.778052357D-02 5.390382129D-03 6.900698245D-02 5.791507289D-02 6.889766112D-02 5.785620756D-02 5.791507289D-02 6.878833980D-03 5.808325954D-02 6.988155303D-03 6.140494587D-02 4.644474336D-02 6.121994056D-02 4.638587804D-02 4.645315270D-02 1.823984218D-02 4.660452068D-02 1.834075417D-02 8.243668644D-02 9.519364383D-03 8.215076913D-02 9.418452393D-03 8.205826648D-02 7.607923107D-02 7.076453294D-02 7.597831908D-02 7.073089561D-02 7.073930494D-02 8.167143718D-02 7.078135160D-02 8.173030251D-02 4.653724602D-02 7.180729017D-02 4.645315270D-02 7.173160617D-02 4.641110603D-02 4.642792470D-02 3.893520945D-02 4.651201802D-02 3.906134943D-02 4.656247402D-02 7.308550871D-02 6.351568833D-02 7.304346204D-02 6.355773499D-02 5.557727845D-02 6.371751231D-02 5.557727845D-02 6.373433097D-02 5.557727845D-02 5.559409712D-02 5.524090515D-02 5.555205046D-02 5.523249582D-02 5.525772382D-02 5.503908117D-02 5.524090515D-02 5.502226251D-02 5.524090515D-02 4.398080894D-02 2.515231349D-02 4.399762761D-02 2.512708549D-02 4.400603694D-02 7.280800073D-02 5.650230503D-02 7.279959140D-02 5.652753302D-02 5.655276102D-02 4.397239961D-02 5.657798902D-02 4.393035295D-02 5.656957969D-02 6.752693993D-02 5.714141430D-02 6.754375859D-02 5.714982363D-02 3.801859221D-02 4.552812612D-02 3.804382020D-02 4.560381011D-02 3.814473219D-02 2.983631169D-02 7.549898713D-02 2.978585569D-02 7.548216847D-02 2.978585569D-02 3.616853906D-02 2.983631169D-02 3.622740438D-02 8.274783174D-02 7.157182886D-02 8.270578508D-02 7.159705685D-02 8.270578508D-02 8.274783174D-02 8.347944367D-02 8.273942241D-02 8.352149033D-02 6.496209352D-02 6.379319630D-02 6.492004685D-02 6.375114964D-02 3.960795605D-02 3.826246285D-02 3.965000271D-02 3.823723485D-02 4.909368310D-02 3.821200685D-02 4.905163644D-02 4.906845510D-02 4.359397965D-02 4.905163644D-02 4.361920765D-02 4.361079831D-02 4.617564472D-02 4.363602631D-02 4.623451005D-02 4.625132872D-02 4.348465833D-02 4.630178471D-02 4.350147699D-02 6.081629260D-02 4.641110603D-02 6.079947393D-02 4.647838069D-02 4.652042736D-02 1.648229169D-02 4.662133935D-02 1.658320368D-02 2.655667202D-02 1.514520782D-02 2.658190001D-02 1.516202649D-02 1.526293848D-02 3.931362941D-02 1.529657581D-02 3.938090407D-02 5.767120224D-02 3.927158275D-02 5.757029025D-02 3.921271742D-02 5.757869959D-02 5.759551825D-02 7.650810703D-02 5.761233692D-02 7.660060969D-02 5.762915558D-02 8.517812883D-02-7.568399245D-05 8.513608217D-02-5.886532746D-05 6.419684426D-02 3.807745753D-02 6.423889092D-02 3.811109486D-02 3.817836952D-02 7.803860554D-03 3.834655617D-02 7.887953879D-03 4.498992884D-02 2.880196379D-02 4.496470085D-02 2.875991713D-02 7.946819207D-03 3.823723485D-02 7.896363212D-03 3.827087218D-02 3.826246285D-02 5.223877345D-02 3.826246285D-02 5.223036412D-02 5.224718279D-02 2.591756275D-02 5.231445745D-02 2.590915341D-02 2.643894136D-02 2.597642807D-02 2.643894136D-02 2.645576003D-02 3.074451960D-02 2.647257869D-02 3.076133826D-02 2.648939736D-02 5.743574093D-02 2.936538907D-02 5.746937826D-02 2.939902640D-02 2.943266373D-02 1.940873940D-02 2.946630106D-02 1.944237673D-02 2.901219710D-02 4.364443564D-02 2.897855977D-02 4.367807297D-02 3.116498622D-02 6.376796830D-02 3.114816756D-02 6.376796830D-02 2.550550545D-02 3.984341736D-02 2.548868679D-02 3.988546402D-02 3.992751068D-02 5.973989804D-02 3.991910135D-02 5.974830737D-02 1.982079669D-02 2.786011855D-02 1.979556869D-02 2.791057455D-02 2.806194253D-02 2.010671399D-02 2.810398919D-02 2.016557932D-02 2.014876066D-02 2.013194199D-02 3.323368202D-02 2.012353266D-02 3.324209135D-02 3.325050068D-02 3.602558040D-02 3.325891001D-02 3.605921773D-02 3.600035241D-02 3.598353374D-02 3.598353374D-02 3.599194307D-02 3.595830574D-02 3.743834826D-02 3.742993893D-02 2.247814576D-02 3.309913270D-02 3.994432935D-02 3.991069202D-02 4.230735178D-02 3.261139141D-02 5.588842376D-02 5.584637709D-02 3.844746816D-02 4.694089398D-02 4.318192236D-02 6.022763932D-02 6.021082066D-02 5.741892227D-02 5.894101145D-02 5.892419279D-02 5.741892227D-02 5.744415027D-02 6.024445799D-02 4.320715035D-02 1.367357464D-02 1.373243996D-02 3.861565481D-02 5.597251708D-02 3.272071273D-02 4.240826377D-02 3.996114801D-02 3.997796668D-02 3.323368202D-02 2.260428574D-02 3.758971625D-02 3.610967373D-02 3.003813567D-02 3.616012972D-02 3.005495433D-02 3.011381966D-02 3.758971625D-02 3.010541033D-02 3.758971625D-02 6.464253888D-02 6.444912423D-02 3.960795605D-02 8.524540349D-02 1.552362778D-02 8.530426882D-02 8.446333557D-02 4.451059689D-02 4.453582489D-02 8.465675022D-02 5.989126602D-02 5.710777697D-02 3.986023602D-02 6.471822287D-02 6.480231620D-02 4.385466896D-02 5.640980237D-02 4.380421296D-02 5.637616504D-02 5.638457437D-02 4.377057563D-02 5.635093704D-02 4.375375697D-02 1.764277957D-02 1.750823025D-02 1.764277957D-02 1.755868625D-02 1.787824088D-02 1.755868625D-02 1.782778489D-02 7.596150042D-02 7.223616612D-02 7.598672842D-02 7.223616612D-02 7.596990975D-02 7.226980345D-02 4.542721413D-02 7.233707811D-02 4.544403280D-02 1.066303360D-02 4.555335412D-02 1.067985227D-02 7.776109757D-02 4.638587804D-02 7.772746024D-02 4.636905937D-02 1.513679849D-02 5.656117035D-02 1.511997982D-02 5.662003568D-02 1.517043582D-02 7.620537106D-02 1.061257761D-02 7.621378039D-02 1.057894028D-02 1.659161301D-02 1.062098694D-02 1.654956635D-02 4.171028917D-02 4.248394776D-02 4.167665184D-02 4.251758509D-02 2.961766904D-02 4.254281309D-02 2.960085038D-02 7.491033386D-02 4.438445690D-02 7.480101253D-02 4.431718224D-02 4.435081957D-02 7.485987786D-02 4.434241024D-02 7.162228485D-02 4.520016216D-02 7.164751285D-02 4.520016216D-02 4.431718224D-03 3.927999208D-02 4.448536889D-03 3.926317341D-02 3.868292947D-04 5.054008829D-02 3.363732998D-04 5.052326962D-02 7.316119270D-03 4.985052302D-02 7.349756600D-03 4.988416035D-02 7.110931557D-02 4.986734169D-02 7.104204091D-02 7.095794758D-02 7.803019621D-02 7.097476625D-02 7.807224287D-02 8.579201010D-02 7.805542421D-02 8.579201010D-02 6.132926188D-02 6.217860446D-02 5.417291993D-02 5.419814792D-02 6.131244321D-02 6.219542313D-02 6.127039655D-02 6.212814847D-02 6.123675922D-02 4.725203928D-02 6.123675922D-02 4.727726728D-02 4.731931394D-02 3.589103108D-02 4.735295127D-02 3.598353374D-02 6.140494587D-02 3.596671508D-02 6.141335520D-02 5.701527431D-02 6.155631386D-02 5.699004631D-02 6.154790452D-02 1.871917413D-02 2.729669328D-02 2.729669328D-02 2.527845348D-02 1.200852680D-02 2.729669328D-02 6.214685445D-02 5.822892048D-02 6.223839496D-02 5.832046099D-02 5.330404087D-02 5.330404087D-02 4.811369376D-02 4.827846669D-02 5.351458405D-02 5.848523392D-02 4.826015859D-02 5.010012290D-02 2.187818267D-02 5.019166341D-02 5.821061238D-02 3.203917964D-04 5.833876909D-02 5.126268742D-04 3.727529700D-02 5.666357770D-03 3.700982951D-02 5.410044333D-03 9.078988104D-02 1.830810265D-03 9.122012145D-02 2.759031069D-02 1.776801362D-02 2.756284854D-02 5.776206386D-02 2.750792423D-02 5.791768273D-02 5.790852868D-02 8.013456530D-02 5.783529627D-02 8.003387073D-02 6.499376441D-03 4.304234933D-02 6.499376441D-03 4.306981148D-02 4.063483383D-02 4.100099588D-02 4.344512759D-02 4.094607158D-02 4.291419261D-02 4.090945537D-02 4.286842235D-02 3.052876117D-02 4.288673046D-02 4.308811959D-02 3.080338271D-02 4.338104923D-02 4.305150338D-02 4.364651672D-02 8.575515281D-02 4.355497620D-02 8.580092307D-02 8.551714748D-02 5.415536764D-02 8.557207179D-02 5.417367574D-02-3.121531502D-03 2.991543973D-02 1.729200295D-02 8.721064697D-02 8.692687138D-02 1.703568952D-02 7.344295378D-02 1.705399762D-02 7.351618619D-02 3.624088920D-02 3.907864511D-02 3.627750540D-02 3.909695321D-02 8.124220551D-02 2.506379253D-02 4.731729130D-02 2.513702494D-02 4.717998053D-02 6.131383577D-02 4.728067509D-02 6.135960603D-02 8.065634622D-02 6.124060336D-02 8.079365699D-02 4.643850237D-02 7.336972137D-02 4.645681047D-02 7.328733491D-02 6.353827025D-02 7.323241060D-02 6.351996214D-02 3.170047974D-02 6.353827025D-02 3.175540405D-02 8.309132388D-02 3.576487853D-02 8.291739690D-02 3.586557309D-02 2.407515498D-03 8.353071834D-02 9.840605174D-03 7.588708548D-02 9.877221380D-03 5.134507388D-02 1.021592128D-02 8.164498377D-02 4.371974913D-02 8.143444059D-02 4.360074646D-02 3.341228734D-02 5.428352436D-02 3.343059544D-02 -6.508530492D-03 1.729200295D-02 1.737438941D-02 7.914592776D-02 2.187818267D-03 4.232833333D-02 2.187818267D-03 8.093096776D-02 1.913196727D-02 8.091265966D-02 3.960958008D-02 7.987825186D-02 4.178824430D-02 4.084537701D-02 2.910988321D-03 7.934731689D-02 3.057453143D-03 3.543533268D-02 3.130685553D-03 7.798336324D-02 1.455494161D-03 7.804744160D-02 3.085830702D-02 7.728765534D-02 3.073015030D-02 6.893916053D-02 5.525385380D-02 6.890254432D-02 7.829460098D-02 7.628070969D-02 -1.061869954D-03-1.482956315D-03 6.224754901D-04 1.107640210D-03 7.140160034D-04 2.011145076D-02 2.055084522D-02 4.478161908D-02 2.064238574D-02 4.495554606D-02 9.245591838D-04 4.505624062D-02 3.729360510D-02 3.727529700D-02 8.604808246D-04 4.491892985D-02 8.156259731D-02 4.326204656D-02 5.846692581D-02 6.819768237D-03 5.852185012D-02 8.429050460D-02 4.079045270D-02 8.432712081D-02 4.083622296D-02 6.893000648D-03 4.092776347D-02 7.131005982D-03 2.770015931D-02 7.460551830D-03 -4.082706891D-03-3.917933967D-03 2.775508362D-02 7.954870601D-02 6.620209918D-02 7.519137758D-02 1.449086325D-02 7.514560733D-02 7.592370169D-02 7.511814517D-02 7.594200979D-02 4.350005190D-02-5.922671207D-03 4.377467344D-02 8.161752161D-02 5.431098651D-02 8.148936490D-02 5.430183246D-02 4.424153005D-02 4.098268778D-02 4.119323096D-02 4.301488718D-02 4.091860942D-02 4.155939302D-03 4.097353373D-02 8.134290007D-02 4.425983816D-02 5.292872476D-02 5.313926794D-02 4.442461108D-02 5.305688148D-02 5.968441464D-03 5.311180579D-02 5.977595515D-03 4.052498522D-02 4.832423694D-02 4.052498522D-02 1.882988358D-02 4.057075547D-02 1.884819168D-02 4.059821763D-02 5.361527861D-02 5.132676578D-02 5.356950835D-02 6.500291846D-02 5.352373810D-02 6.502122656D-02 8.184637290D-02 6.503953466D-02 8.188298910D-02 3.456569780D-02 8.192875936D-02 3.460231401D-02 1.423454981D-02 1.451832540D-02 3.508747873D-02 1.430778222D-02 7.709542026D-02 4.293250071D-02 7.725103913D-02 4.298742502D-02 1.490279556D-02 4.304234933D-02 1.497602797D-02 7.672925821D-02 4.026867178D-02 7.680249062D-02 1.893973219D-02 4.396690851D-02 1.903127270D-02 4.399437067D-02 4.398521662D-02 1.014268887D-02 4.401267877D-02 1.024338343D-02 4.925795018D-02 3.128854743D-02 4.925795018D-02 3.127939338D-02 5.272733563D-03 3.142585820D-02 5.364274076D-03 8.418065598D-02 6.596409385D-02 8.415319383D-02 8.427219650D-02 6.605563436D-02 4.234664143D-02 6.610140462D-02 4.235579548D-02 2.629043541D-02 4.242902789D-02 2.640028402D-02 8.015287340D-02 1.807925137D-02 8.021695176D-02 1.807009732D-02 1.785955414D-02 7.881638191D-02 1.771308931D-02 5.044797685D-02 2.328790657D-02 5.055782547D-02 2.351675785D-02 7.884384406D-02 8.083942725D-02 7.880722786D-02 8.078450294D-02 1.263259083D-03 8.079365699D-02 1.373107699D-03 1.490279556D-02 1.547034674D-03 1.496687392D-02 1.503095228D-02 6.145114654D-02 1.493941176D-02 6.133214388D-02 1.091162918D-02 6.130468172D-02 1.091162918D-02 6.235739763D-02 2.584188689D-02 6.239401383D-02 2.586019499D-02 9.291362095D-03-7.872484140D-03 9.492751224D-03-7.799251729D-03 9.593445789D-03 -7.707711216D-03 1.119540477D-02 2.374560914D-02 1.123202098D-02 2.380053345D-02 2.344352544D-02 5.761559904D-02 2.350760380D-02 2.349844975D-02 5.770713955D-02 2.355337406D-02 2.504548443D-02 7.661940959D-02 2.505463848D-02 7.660110149D-02 3.204833369D-02 1.791447844D-02 3.195679318D-02 7.508152897D-02 3.178286620D-02 7.506322087D-02 3.180117430D-02 1.770393526D-02 6.241232193D-02 6.856384442D-03 6.243063004D-02 2.306820934D-02 4.360990051D-02 3.130685553D-03 4.382044369D-02 3.194763912D-03 4.362820861D-02 1.805178921D-02 4.375636533D-02 1.812502162D-02 6.222924091D-02 4.176993620D-02 7.961278437D-02 4.173331999D-02-4.686874278D-03 6.062728193D-02-4.686874278D-03 7.955786007D-02 7.215223254D-02 8.362225885D-02 7.217054065D-02 4.393029231D-02 4.399437067D-02 7.228954331D-02 4.399437067D-02 5.467714856D-02 7.031226823D-02 5.462222426D-02 7.030311418D-02 1.170803164D-02 2.383714965D-02 1.171718570D-02 2.387376586D-02 4.176078214D-02 2.389207396D-02 4.183401456D-02 7.950293576D-02 1.909535106D-02 7.959447627D-02 1.908619701D-02 3.533463811D-03 3.755907259D-02 3.441923298D-03 3.752245638D-02 7.564908015D-02 -5.217809255D-04 5.143661440D-02 5.140915224D-02-3.936242070D-04 7.880722786D-02 4.050667711D-02 7.883469001D-02-7.506322087D-04 5.122607121D-02 7.126428957D-02 -2.837755911D-04 1.954389958D-02 1.958966984D-02 3.678097822D-02 7.652786908D-02 7.635394210D-02 3.640566212D-02 4.623711324D-02 2.212534205D-02 4.631949970D-02 2.209787990D-02 2.825855644D-02 2.832263480D-02 2.224434472D-02 2.835009695D-02 2.229926903D-02 2.834094290D-02 2.830432670D-02 2.902749675D-02 2.832263480D-02 2.901834270D-02 1.370361483D-02 2.910072916D-02 1.374023104D-02 4.779330197D-02 3.258842272D-02 4.322543036D-02 3.258842272D-02 4.785738033D-02 4.779330197D-02 3.251519031D-02 4.783907222D-02 1.938828071D-02 3.958211793D-02 1.930589424D-02 1.208275568D-01 1.208320124D-01 1.208275568D-01 1.208310576D-01 1.208294663D-01 1.208307393D-01 1.208291481D-01 1.301511903D-01 1.284921208D-01 1.301543729D-01 1.305932482D-01 1.305942030D-01 1.311915699D-01 1.326959669D-01 1.326950121D-01 1.326953304D-01 1.329365686D-01 1.343986376D-01 1.305907022D-01 1.321297891D-01 1.305884744D-01 1.286814832D-01 1.280510177D-01 1.291381809D-01 1.304824950D-01 1.321762545D-01 1.330511408D-01 1.341102974D-01 1.347499924D-01 1.362120614D-01 1.359386793D-01 1.353807762D-01 1.345727237D-01 1.345724054D-01 1.340122745D-01 1.332777392D-01 1.327771222D-01 1.316466762D-01 1.311065955D-01 1.307176864D-01 1.317768430D-01 1.311046859D-01 1.325444770D-01 1.325444770D-01 1.325441587D-01 1.325444770D-01 1.350157363D-01 1.360265180D-01 1.371989738D-01 1.350714312D-01 1.336529633D-01 1.327774405D-01 1.327780770D-01 1.327780770D-01 1.332783757D-01 1.340122745D-01 1.345717689D-01 1.350593374D-01 1.555298032D-01 1.555298032D-01 1.555310148D-01 1.555314187D-01 1.555310148D-01 1.555306109D-01 1.555322264D-01 1.555314187D-01 1.555298032D-01 1.555334379D-01 1.555334379D-01 1.555322264D-01 1.555334379D-01 1.555342456D-01 1.555322264D-01 1.555326302D-01 1.555338418D-01 1.555298032D-01 1.555342456D-01 1.582869283D-01 1.582869283D-01 1.582881399D-01 1.582869283D-01 1.582877361D-01 1.582881399D-01 1.555342456D-01 1.555314187D-01 1.555302071D-01 1.555318225D-01 1.555358611D-01 1.555322264D-01 1.592751641D-01 1.582857168D-01 1.582873322D-01 1.527508699D-01 1.527532930D-01 1.527496583D-01 1.527480429D-01 1.592755679D-01 1.592755679D-01 1.592751641D-01 1.848500633D-01 1.818042753D-01 1.848525606D-01 1.818062732D-01 1.848555575D-01 1.818092700D-01 1.848560570D-01 1.970447032D-01 1.993322908D-01 1.993397829D-01 1.970452027D-01 1.918272054D-01 1.970501974D-01 1.970452027D-01 1.970511964D-01 1.970457022D-01 1.970496979D-01 1.970462016D-01 1.970511964D-01 1.970447032D-01 1.970472006D-01 1.918262065D-01 1.918292033D-01 1.918222107D-01 1.918287038D-01 1.918227102D-01 1.918287038D-01 2.097331186D-01 2.097489127D-01 2.097510186D-01 2.097357510D-01 2.097399627D-01 2.057208988D-01 2.057293223D-01 2.075314255D-01 2.097425951D-01 2.097346980D-01 2.075208961D-01 2.097420686D-01 2.097346980D-01 2.075230020D-01 2.075308990D-01 2.097452274D-01 2.097368039D-01 2.075224755D-01 2.075277402D-01 2.097389098D-01 2.097368039D-01 2.057198459D-01 2.067601485D-01 2.137362364D-01 2.115680705D-01 2.137400623D-01 2.137378761D-01 2.137389692D-01 2.137378761D-01 2.137389692D-01 2.137362364D-01 2.118085527D-01 2.137367830D-01 2.137356899D-01 2.137329571D-01 2.137351433D-01 2.137384226D-01 2.137367830D-01 2.137351433D-01 2.118058200D-01 2.118025407D-01 2.117998079D-01 2.118041803D-01 2.137296778D-01 2.137400623D-01 1.864087635D-01 1.864077953D-01 1.843602198D-01 1.830837524D-01 1.843607038D-01 1.875240387D-01 1.875230705D-01 1.864591057D-01 1.864586217D-01 1.864557173D-01 1.864552333D-01 1.864445839D-01 1.864552333D-01 1.864450680D-01 1.864562014D-01 1.800099688D-01 1.821955016D-01 1.821974378D-01 1.791865820D-01 1.875191981D-01 1.875245227D-01 1.875250068D-01 1.864566854D-01 1.875191981D-01 1.864576536D-01 1.864595898D-01 1.864566854D-01 1.864562014D-01 1.875216184D-01 1.554535810D-01 1.513304366D-01 1.532725716D-01 1.514262229D-01 1.517671903D-01 1.517667962D-01 1.514218869D-01 1.517667962D-01 1.517648252D-01 1.532741484D-01 1.532713891D-01 1.517644311D-01 1.517656136D-01 1.514254345D-01 1.532733600D-01 1.549687371D-01 1.549718905D-01 1.569554147D-01 1.549722847D-01 1.539434695D-01 1.540242768D-01 1.509685775D-01 1.517671903D-01 1.517648252D-01 1.517640369D-01 1.517652194D-01 1.509654240D-01 1.509654240D-01 1.517644311D-01 1.517656136D-01 1.532769077D-01 1.532749367D-01 1.517640369D-01 1.517656136D-01 1.509681833D-01 1.509638473D-01 1.517624602D-01 1.517667962D-01 1.549730731D-01 1.532698124D-01 1.517632485D-01 1.517648252D-01 1.517632485D-01 7.879069361D-02 7.652106471D-02 7.652126512D-02 7.664772303D-02 7.664772303D-02 7.666555940D-02 7.574628454D-02 7.574608413D-02 7.699162441D-02 7.699142400D-02 7.789266208D-02 7.789266208D-02 7.834177805D-02 7.834157764D-02 7.849068174D-02 7.849048133D-02 7.865321322D-02 7.865301281D-02 7.849028092D-02 7.849048133D-02 7.834097642D-02 7.834097642D-02 7.789206085D-02 7.789206085D-02 7.699002114D-02 7.699022155D-02 7.538434637D-02 7.538434637D-02 7.574387964D-02 7.574387964D-02 7.574608413D-02 7.574628454D-02 7.574688577D-02 7.574728659D-02 7.574788781D-02 7.574548291D-02 7.574568332D-02 7.538594964D-02 7.538615005D-02 7.699222564D-02 7.699222564D-02 7.789386453D-02 7.789386453D-02 7.833857151D-02 7.833857151D-02 7.848807643D-02 7.848827684D-02 7.864960587D-02 7.864980628D-02 7.892616992D-02 7.892637033D-02 7.864920505D-02 7.864920505D-02 7.881955247D-02 7.881875084D-02 7.881935206D-02 7.864639933D-02 7.864619892D-02 7.881855043D-02 7.881855043D-02 7.864800260D-02 7.864820301D-02 7.892516788D-02 7.892496747D-02 7.848707438D-02 7.848707438D-02 7.833616661D-02 7.833616661D-02 7.788685023D-02 7.788725104D-02 7.698501093D-02 7.698521133D-02 7.537933615D-02 7.537953656D-02 7.573886942D-02 7.573906983D-02 7.637576837D-02 7.637576837D-02 7.665794387D-02 7.665774346D-02 7.637596878D-02 7.637596878D-02 7.573927024D-02 7.573927024D-02 7.574147473D-02 7.574187555D-02 7.574247678D-02 7.574307800D-02 7.574287759D-02 7.574147473D-02 7.574147473D-02 7.567153209D-02 7.567173249D-02 7.574147473D-02 7.574147473D-02 7.574107392D-02 7.574107392D-02 7.637797287D-02 7.637777246D-02 7.638598922D-02 7.638618963D-02 7.665974755D-02 7.665974755D-02 7.664231199D-02 7.664231199D-02 7.651545326D-02 7.651545326D-02 7.878307808D-02 7.878307808D-02 7.878247686D-02 7.878247686D-02 7.651425081D-02 7.651425081D-02 7.664050831D-02 7.664070872D-02 7.665854510D-02 7.665834469D-02 7.637737164D-02 7.637717124D-02 7.638538799D-02 7.638538799D-02 7.573927024D-02 7.573947065D-02 7.566992882D-02 7.566992882D-02 7.573947065D-02 7.573967105D-02 7.573866901D-02 7.788685023D-02 7.788664982D-02 7.833596620D-02 7.833596620D-02 7.848547111D-02 7.848567152D-02 7.788664982D-02 7.698481052D-02 7.698481052D-02 7.573826819D-02 7.573826819D-02 7.574027228D-02 7.574027228D-02 7.574147473D-02 7.574207596D-02 7.574227637D-02 7.574007187D-02 7.574027228D-02 7.538013779D-02 7.538013779D-02 7.574067310D-02 7.574067310D-02 7.637737164D-02 7.637757205D-02 7.638558840D-02 7.638538799D-02 7.665914632D-02 7.665914632D-02 7.664151036D-02 7.664151036D-02 7.651425081D-02 7.651445122D-02 7.878267727D-02 7.878267727D-02 7.540438724D-02 7.662447561D-02 7.540378602D-02 7.662467602D-02 7.540398643D-02 7.662487643D-02 7.540438724D-02 5.563999397D-02 5.654075309D-02 5.564014188D-02 5.654090099D-02 5.563999397D-02 5.654090099D-02 5.621727851D-02 5.621535571D-02 5.621579943D-02 5.654090099D-02 5.564014188D-02 5.654075309D-02 5.563999397D-02 5.654075309D-02 5.563999397D-02 5.621565152D-02 5.621757432D-02 5.616151723D-02 5.606064404D-02 5.677577874D-02 5.689277389D-02 5.705118325D-02 5.734936558D-02 5.754608308D-02 5.780610517D-02 5.793256643D-02 5.808032642D-02 5.819939228D-02 5.859312311D-02 5.850570954D-02 5.875892787D-02 5.875863205D-02 5.850541373D-02 5.750836657D-02 5.670670575D-02 5.603194991D-02 5.623014650D-02 5.623029440D-02 5.675521954D-02 5.715649368D-02 5.674811996D-02 5.675492373D-02 5.622999859D-02 5.603209782D-02 5.643070961D-02 5.670788901D-02 5.750807075D-02 5.850570954D-02 5.875818833D-02 5.850437837D-02 5.875818833D-02 5.923637457D-02 5.964489619D-02 5.964504410D-02 5.680713521D-02 5.588729598D-02 5.588744389D-02 5.636370733D-02 5.813298163D-02 5.964533992D-02 5.964460038D-02 5.964430456D-02 5.958454977D-02 5.951399770D-02 5.943960003D-02 5.961768114D-02 5.961723741D-02 5.958824747D-02 5.962478072D-02 6.023016775D-02 6.054920509D-02 6.075346591D-02 6.103034949D-02 6.102990577D-02 5.996171491D-02 5.996156701D-02 5.965480602D-02 6.127646824D-02 6.081514350D-02 6.033163257D-02 6.081558722D-02 5.863143126D-02 5.986675804D-02 5.986498315D-02 5.934538269D-02 5.957390040D-02 5.952997175D-02 5.986601850D-02 6.004912848D-02 5.986557478D-02 5.986513106D-02 5.968098572D-02 6.075213473D-02 6.103892815D-02 6.066279836D-02 6.130042932D-02 6.252140904D-02 6.235471683D-02 6.252111322D-02 6.130116886D-02 6.066235464D-02 6.103833652D-02 6.075272637D-02 5.968157735D-02 6.004898058D-02 5.986601850D-02 6.007797052D-02 6.007723098D-02 5.831195019D-02 5.951222280D-02 5.994736785D-02 5.971914596D-02 6.070362094D-02 6.030634032D-02 6.070332513D-02 5.990639736D-02 6.148989934D-02 6.189664607D-02 6.185360487D-02 6.100771959D-02 6.134894311D-02 6.100742377D-02 6.134923893D-02 6.185523186D-02 6.189679398D-02 5.990639736D-02 6.050438900D-02 6.070376885D-02 6.030693195D-02 6.070391676D-02 5.923045825D-02 5.932230906D-02 5.903684681D-02 5.932230906D-02 5.871470341D-02 5.874324963D-02 5.878185359D-02 5.874384126D-02 5.878214941D-02 5.871588667D-02 5.923134570D-02 5.932319651D-02 5.903773426D-02 6.070288140D-02 6.030545287D-02 6.070258559D-02 6.007737889D-02 6.007634354D-02 5.830973157D-02 5.951074373D-02 5.994559295D-02 5.971677943D-02 5.994544505D-02 5.957197760D-02 5.862980427D-02 6.081484768D-02 6.033118885D-02 6.013905649D-02 5.965406648D-02 5.996038374D-02 5.965391857D-02 6.033104094D-02 6.251963414D-02 6.251889460D-02 6.235249822D-02 6.251948624D-02 6.129968978D-02 6.066131928D-02 6.103804071D-02 5.968054200D-02 6.004809313D-02 5.952938012D-02 5.957301295D-02 5.934449525D-02 5.863069172D-02 5.934508688D-02 5.986527896D-02 6.004942430D-02 5.953026757D-02 5.957360458D-02 5.951207490D-02 5.831002739D-02 6.007649144D-02 5.994574086D-02 5.971811060D-02 6.070273350D-02 6.050379737D-02 5.990565782D-02 6.050409319D-02 6.070332513D-02 5.932304860D-02 5.903803008D-02 5.932334442D-02 5.923134570D-02 5.923045825D-02 5.871499922D-02 5.878200150D-02 5.874354545D-02 5.878229732D-02 5.874369335D-02 5.878200150D-02 5.871499922D-02 5.923045825D-02 5.960392570D-02 5.957375249D-02 5.999484628D-02 6.087356712D-02 6.176826201D-02 6.176826201D-02 6.260187094D-02 6.282876166D-02 6.300048273D-02 6.325695503D-02 6.325769457D-02 6.300063064D-02 6.282890956D-02 6.260201884D-02 6.297770491D-02 6.323698746D-02 6.336389244D-02 6.312339419D-02 6.295892061D-02 6.293155765D-02 6.293140974D-02 6.293155765D-02 6.293170555D-02 6.239820176D-02 6.235412520D-02 6.252066950D-02 6.130072514D-02 6.066279836D-02 6.103892815D-02 5.968098572D-02 5.986601850D-02 6.004927639D-02 5.968187317D-02 6.103966769D-02 6.066368581D-02 6.130220422D-02 6.235545637D-02 6.252200067D-02 6.172951014D-02 6.172980596D-02 5.996112328D-02 5.965524974D-02 5.965495393D-02 5.996112328D-02 6.103034949D-02 6.075287427D-02 6.054846556D-02 6.022913240D-02 5.958795165D-02 5.961768114D-02 5.943945212D-02 5.951399770D-02 5.958484558D-02 5.964460038D-02 5.964504410D-02 5.923607875D-02 5.875789251D-02 5.850408256D-02 5.842184576D-02 5.859164403D-02 5.819791320D-02 5.793167898D-02 5.754519564D-02 5.734818231D-02 5.705029580D-02 5.689233017D-02 5.677592665D-02 5.606064404D-02 5.616122141D-02 5.621594734D-02 5.621550361D-02 5.621609524D-02 5.621476407D-02 5.621491198D-02 5.563940234D-02 5.654016145D-02 5.563969816D-02 5.654030936D-02 5.563955025D-02 5.654045727D-02 1.889625121D-01 1.883666206D-01 1.889711335D-01 1.889751906D-01 1.889706263D-01 1.897643031D-01 1.900442453D-01 1.900396810D-01 1.897607531D-01 1.900396810D-01 1.897435103D-01 1.883316278D-01 1.883656063D-01 1.889589621D-01 1.883656063D-01 1.883311207D-01 1.897369174D-01 1.883306135D-01 1.889594692D-01 1.883656063D-01 1.883311207D-01 1.897364103D-01 1.897541602D-01 1.883686492D-01 1.865540962D-01 1.881901353D-01 1.881886139D-01 1.909388432D-01 2.180607298D-01 2.144670736D-01 2.180624981D-01 2.144670736D-01 2.180630875D-01 2.144694312D-01 2.180642663D-01 2.196480214D-01 2.196509684D-01 2.196521473D-01 2.168483055D-01 2.196297495D-01 2.196273919D-01 2.196268025D-01 2.196285707D-01 2.196279813D-01 2.196226766D-01 2.189295259D-01 2.168282655D-01 2.187232310D-01 2.187285357D-01 1.368006732D-01 1.345473413D-01 1.367991952D-01 1.345477109D-01 1.367999342D-01 1.345466023D-01 1.368003037D-01 1.345462328D-01 1.368017818D-01 1.345451242D-01 1.368010428D-01 1.441193829D-01 1.445694580D-01 1.441252952D-01 1.527979255D-01 1.528367251D-01 1.248071683D-01 1.250662017D-01 1.374384644D-01 1.359936419D-01 1.374366168D-01 1.527975559D-01 1.528370946D-01 1.250632455D-01 1.374362473D-01 1.359903163D-01 1.374366168D-01 1.445727837D-01 1.441256647D-01 1.248060597D-01 1.250658322D-01 1.248064293D-01 1.250676798D-01 1.374392035D-01 1.359936419D-01 1.374340302D-01 1.445742618D-01 1.441227086D-01 1.527957083D-01 1.528352470D-01 1.374358778D-01 1.359932724D-01 1.374362473D-01 1.441227086D-01 1.445720447D-01 1.528348775D-01 1.527957083D-01 1.250669407D-01 1.248038426D-01 1.250650931D-01 1.441238171D-01 1.445753703D-01 6.163892838D-02 6.163844147D-02 6.163909068D-02 6.163990219D-02 6.164022680D-02 6.157790263D-02 6.176860809D-02 6.178532526D-02 6.192441852D-02 6.183012075D-02 6.186858645D-02 6.188968578D-02 6.187378013D-02 6.163535772D-02 6.143929627D-02 6.187637697D-02 6.179766025D-02 6.187540316D-02 6.202261155D-02 6.187556546D-02 6.179652413D-02 6.143832246D-02 6.163454621D-02 6.187215711D-02 6.188838736D-02 6.186728803D-02 6.187264401D-02 6.157887644D-02 6.106210520D-02 6.086539454D-02 6.191695260D-02 6.267133474D-02 6.267912526D-02 6.267944987D-02 6.105707382D-02 6.254814712D-02 6.259667558D-02 6.191143432D-02 6.191029820D-02 6.259440334D-02 6.254668640D-02 6.105528850D-02 6.267815145D-02 6.267847605D-02 6.267068553D-02 6.222175675D-02 6.223214411D-02 6.248501144D-02 6.304479285D-02 6.329165499D-02 6.363070497D-02 6.376996053D-02 6.363232799D-02 6.385581857D-02 6.390613235D-02 6.393064003D-02 6.367339053D-02 6.367436434D-02 6.393210075D-02 6.390807998D-02 6.385744159D-02 6.363443792D-02 6.377207046D-02 6.363249029D-02 6.329311571D-02 6.304560436D-02 6.248582295D-02 6.223295562D-02 6.165386021D-02 6.143540101D-02 6.217598743D-02 6.305436870D-02 6.414828772D-02 6.442614964D-02 6.495103601D-02 6.540077630D-02 6.533455687D-02 6.487605224D-02 6.427715592D-02 6.374139529D-02 6.190510452D-02 6.331502655D-02 6.381524294D-02 6.473095378D-02 6.517744803D-02 6.525957311D-02 6.533731602D-02 6.540207472D-02 6.533585529D-02 6.487686375D-02 6.427796744D-02 6.374171989D-02 6.190575373D-02 6.331453965D-02 6.381475603D-02 6.444806048D-02 6.479912084D-02 6.554636167D-02 6.444237989D-02 6.272246003D-02 6.365001897D-02 6.424972680D-02 6.504776831D-02 6.409927236D-02 6.535663002D-02 6.535695462D-02 6.532416951D-02 6.578592020D-02 6.674999720D-02 6.773111596D-02 6.817744790D-02 6.798609323D-02 6.836117436D-02 6.864633990D-02 6.889531197D-02 6.908423211D-02 6.936809923D-02 7.003727254D-02 7.004749760D-02 6.980339460D-02 6.934180622D-02 6.905728989D-02 6.864487918D-02 6.864487918D-02 6.889498737D-02 6.908342060D-02 6.936858614D-02 6.998630955D-02 6.938936086D-02 6.819075671D-02 6.796856455D-02 6.715477969D-02 6.773062905D-02 6.715461739D-02 6.687919001D-02 6.668069402D-02 6.722148603D-02 6.761295972D-02 6.761312202D-02 6.887356343D-02 6.998614724D-02 6.938822474D-02 6.818962059D-02 6.796840225D-02 6.817631179D-02 6.773046675D-02 6.715445509D-02 6.687919001D-02 6.668150553D-02 6.668036941D-02 6.722083682D-02 6.761312202D-02 6.761312202D-02 6.887372574D-02 6.938887395D-02 6.998679645D-02 6.936972225D-02 6.908358290D-02 7.003743484D-02 7.004765990D-02 6.980404381D-02 6.873658010D-02 6.948187330D-02 6.948187330D-02 6.921748248D-02 6.903732668D-02 6.740212874D-02 6.903602826D-02 6.900567769D-02 6.842106399D-02 6.855626200D-02 6.842138860D-02 6.900600229D-02 6.903667747D-02 6.921699558D-02 6.948203560D-02 6.873674241D-02 6.934278003D-02 6.905793910D-02 6.864552839D-02 6.836052515D-02 6.798593092D-02 6.773079135D-02 6.674951029D-02 6.578559559D-02 6.535646771D-02 6.532384491D-02 6.535468239D-02 6.532222188D-02 6.409813624D-02 6.504679450D-02 6.424956449D-02 6.364985666D-02 6.171423675D-02 6.171147761D-02 6.171439905D-02 6.272408306D-02 6.444351601D-02 6.554684858D-02 6.639358085D-02 6.604333200D-02 6.479960775D-02 6.444838509D-02 6.537237336D-02 6.472965536D-02 6.517647421D-02 6.525811238D-02 6.533585529D-02 6.539931558D-02 6.533293385D-02 6.487410461D-02 6.495022449D-02 6.442533813D-02 6.414715160D-02 6.305290798D-02 6.217517592D-02 6.143475180D-02 6.165272409D-02 6.223246871D-02 6.222208135D-02 6.267133474D-02 6.191679030D-02 6.086669296D-02 6.106340362D-02 6.158066177D-02 6.163487081D-02 6.187296862D-02 6.188903657D-02 6.187410474D-02 6.183109457D-02 6.182849773D-02 6.192230859D-02 6.178402683D-02 6.176649816D-02 6.157563039D-02 6.163860377D-02 6.163941529D-02 7765D 00 6.406762598D+01 5.883397765D+00 6.402786445D+01 5.957716784D+00 7.641148593D+01 6.419160491D+01 7.637711988D+01 6.417271547D+01 6.420193420D+01 7.681649615D+00 6.424921469D+01 7.683658858D+00 6.798478512D+01 5.151374569D+01 6.788997351D+01 5.148439535D+01 5.152988778D+01 2.026363225D+01 5.157863196D+01 2.026373291D+01 9.116164644D+01 1.060632314D+01 9.101081447D+01 1.058942556D+01 9.092409462D+01 8.424277385D+01 7.841628355D+01 8.420383984D+01 7.840260653D+01 7.839867596D+01 9.045439141D+01 7.836766232D+01 9.042058772D+01 5.144780028D+01 7.943405038D+01 5.142380247D+01 7.941863899D+01 5.144529522D+01 5.149343316D+01 4.317545284D+01 5.151959834D+01 4.323939374D+01 5.149345936D+01 8.094992390D+01 7.036663670D+01 8.088924141D+01 7.037002960D+01 6.144145532D+01 7.043762406D+01 6.143475451D+01 7.046144804D+01 6.145008251D+01 6.148203694D+01 6.109699511D+01 6.144167320D+01 6.108477232D+01 6.112340506D+01 6.087806427D+01 6.109783408D+01 6.085436717D+01 6.109138830D+01 4.861464344D+01 2.779204783D+01 4.863299600D+01 2.776273056D+01 4.863808808D+01 8.056841596D+01 6.251386279D+01 8.052164594D+01 6.250943356D+01 6.251270019D+01 4.859203646D+01 6.252700209D+01 4.853524405D+01 6.250867010D+01 7.468123820D+01 6.318721851D+01 7.467294147D+01 6.316462880D+01 4.216097559D+01 5.043223190D+01 4.211956324D+01 5.043232335D+01 4.214412673D+01 3.300376444D+01 8.353930957D+01 3.301384331D+01 8.357370699D+01 3.305246275D+01 4.008231576D+01 3.304314407D+01 4.007922781D+01 9.153924453D+01 7.920812478D+01 9.153758765D+01 7.925711228D+01 9.152982426D+01 9.153902862D+01 9.230755228D+01 9.146138090D+01 9.230085257D+01 7.176575728D+01 7.049728697D+01 7.177110224D+01 7.050712127D+01 4.375134021D+01 4.225699614D+01 4.379494548D+01 4.224292421D+01 5.427159682D+01 4.225173892D+01 5.425083331D+01 5.426940501D+01 4.820052308D+01 5.422045658D+01 4.819403810D+01 4.829392352D+01 5.110473578D+01 4.827749572D+01 5.112414223D+01 5.112270903D+01 4.804404414D+01 5.114961959D+01 4.804318247D+01 6.735594883D+01 5.141015603D+01 6.729559937D+01 5.143287206D+01 5.143639694D+01 1.818228889D+01 5.149338248D+01 1.826280556D+01 2.947635002D+01 1.685064744D+01 2.947254969D+01 1.680612789D+01 1.687223696D+01 4.343303285D+01 1.684822235D+01 4.347158230D+01 6.381459999D+01 4.349236896D+01 6.374928831D+01 4.345805723D+01 6.377286880D+01 6.376896225D+01 8.464948031D+01 6.372279560D+01 8.469224481D+01 6.368442060D+01 9.420075239D+01-6.877308478D-02 9.417644574D+01-4.123350056D-02 7.111039337D+01 4.223443661D+01 7.115784865D+01 4.224283324D+01 4.229293586D+01 8.662049812D+00 4.240275839D+01 8.673723289D+00 4.982074055D+01 3.194038305D+01 4.982798942D+01 3.191403964D+01 8.745105287D+00 4.228781659D+01 8.752797480D+00 4.233746192D+01 4.230064505D+01 5.772982054D+01 4.225201392D+01 5.768013978D+01 5.769643824D+01 2.859012205D+01 5.779293761D+01 2.860729697D+01 2.921156583D+01 2.871119532D+01 2.922904658D+01 2.924591740D+01 3.397942784D+01 2.924409133D+01 3.397426492D+01 2.923614080D+01 6.347965820D+01 3.242624094D+01 6.350600539D+01 3.246285031D+01 3.250333220D+01 2.142046356D+01 3.254107349D+01 2.144695240D+01 3.203668099D+01 4.821532257D+01 3.199383418D+01 4.824776464D+01 3.443355155D+01 7.047919006D+01 3.439707538D+01 7.046762536D+01 2.827197169D+01 4.411382936D+01 2.822416723D+01 4.412930686D+01 4.413637254D+01 6.603580462D+01 4.410538335D+01 6.602577638D+01 2.199528301D+01 3.087777478D+01 2.194517381D+01 3.090586361D+01 3.107530786D+01 2.225039338D+01 3.106983781D+01 2.226570547D+01 2.232953056D+01 2.231490628D+01 3.680088827D+01 2.229272666D+01 3.678605912D+01 3.676662965D+01 3.981459085D+01 3.673788566D+01 3.982235096D+01 3.982113654D+01 3.980787686D+01 3.981278974D+01 3.982652082D+01 3.979322108D+01 4.140842841D+01 4.138970443D+01 2.482824251D+01 3.654514760D+01 4.409952308D+01 4.406264057D+01 4.673013686D+01 3.602976510D+01 6.179252770D+01 6.175000093D+01 4.249869041D+01 5.185713584D+01 4.770080714D+01 6.656488262D+01 6.655683140D+01 6.347381222D+01 6.515224589D+01 6.510239153D+01 6.342724030D+01 6.348139495D+01 6.657007727D+01 4.772386995D+01 1.506335360D+01 1.513272497D+01 4.267597302D+01 6.185560919D+01 3.613161172D+01 4.683983775D+01 4.412997091D+01 4.414694269D+01 3.668753756D+01 2.493151167D+01 4.150297279D+01 3.996389011D+01 3.321848141D+01 3.996543486D+01 3.319534299D+01 3.323616784D+01 4.149158475D+01 3.320990221D+01 4.148597036D+01 7.145887050D+01 7.126202765D+01 4.379200439D+01 9.424755325D+01 1.712508575D+01 9.426669524D+01 9.332058784D+01 4.918308859D+01 4.921275535D+01 9.354193696D+01 6.616368608D+01 6.308161590D+01 4.400870295D+01 7.150529109D+01 7.160391217D+01 4.844174478D+01 6.232154300D+01 4.837945145D+01 6.228354310D+01 6.229627635D+01 4.834861785D+01 6.225840134D+01 4.831949662D+01 1.951401556D+01 1.936031023D+01 1.950167059D+01 1.940370301D+01 1.974972088D+01 1.939149294D+01 1.968437715D+01 8.400394050D+01 7.987364883D+01 8.400582185D+01 7.984806350D+01 8.396590391D+01 7.986262759D+01 5.017015535D+01 7.992544236D+01 5.018325511D+01 1.172051099D+01 5.031215254D+01 1.175247352D+01 8.603447511D+01 5.133508878D+01 8.598993007D+01 5.130254640D+01 1.671665653D+01 6.251772123D+01 1.667706964D+01 6.256102930D+01 1.671355505D+01 8.420443951D+01 1.166071594D+01 8.420937917D+01 1.162393771D+01 1.828347969D+01 1.170182911D+01 1.827703660D+01 4.610018702D+01 4.692973437D+01 4.603021805D+01 4.695093068D+01 3.267683055D+01 4.697059220D+01 3.266561139D+01 8.277752602D+01 4.902958131D+01 8.268449437D+01 4.898802425D+01 4.898225794D+01 8.271391509D+01 4.895803118D+01 7.912672341D+01 4.990556410D+01 7.915564174D+01 4.991009596D+01 4.899591538D+00 4.344346005D+01 4.925549345D+00 4.342810880D+01 4.331967935D-01 5.589617385D+01 3.717899952D-01 5.585579794D+01 8.062828255D+00 5.507922723D+01 8.060735383D+00 5.508700201D+01 7.855728602D+01 5.507274339D+01 7.850649068D+01 7.846668704D+01 8.628867258D+01 7.848018109D+01 8.629782704D+01 9.482796617D+01 8.626478974D+01 9.481392376D+01 6.776144343D+01 6.869626108D+01 5.984192274D+01 5.987331811D+01 6.774256178D+01 6.872158893D+01 6.770577971D+01 6.865782397D+01 6.767675923D+01 5.221558904D+01 6.768925407D+01 5.225516182D+01 5.231931110D+01 3.965281302D+01 5.231000320D+01 3.972545477D+01 6.783988127D+01 3.971787748D+01 6.787147624D+01 6.302815487D+01 6.805682509D+01 6.301163219D+01 6.806054445D+01 2.067798656D+01 3.012239556D+01 3.011664058D+01 2.790597520D+01 1.326381926D+01 3.019352636D+01 6.309155893D+01 5.913759626D+01 6.325243185D+01 5.935116070D+01 5.425556479D+01 5.424883273D+01 4.896214950D+01 4.898926280D+01 5.431019209D+01 5.936369798D+01 4.899842653D+01 5.090642859D+01 2.228773994D+01 5.106469894D+01 5.915903246D+01 3.155669844D-01 5.924110068D+01 5.072666628D-01 3.793676654D+01 5.850469394D+00 3.768179503D+01 5.518288976D+00 9.225938898D+01 1.818563498D+00 9.263348663D+01 2.806738911D+01 1.814887394D+01 2.812421571D+01 5.881566946D+01 2.808255113D+01 5.887987684D+01 5.886685379D+01 8.151322551D+01 5.887798422D+01 8.144014574D+01 6.741881472D+00 4.386721508D+01 6.736416018D+00 4.388391569D+01 4.140243686D+01 4.165422186D+01 4.414841041D+01 4.163200359D+01 4.364486224D+01 4.163378897D+01 4.363477442D+01 3.109420211D+01 4.363872489D+01 4.376128963D+01 3.127541335D+01 4.408535327D+01 4.382935513D+01 4.436105982D+01 8.711283335D+01 4.418665570D+01 8.709525616D+01 8.700479418D+01 5.512835814D+01 8.702438434D+01 5.504366502D+01 -3.195700763D+00 3.036799924D+01 1.752735933D+01 8.853705758D+01 8.843000390D+01 1.744693829D+01 7.476875974D+01 1.747294307D+01 7.479021760D+01 3.691915182D+01 3.975997768D+01 3.688240644D+01 3.971015821D+01 8.248969366D+01 2.539489048D+01 4.801197886D+01 2.548560490D+01 4.790905034D+01 6.228452170D+01 4.804491067D+01 6.240927433D+01 8.202671426D+01 6.230861836D+01 8.217684240D+01 4.713737509D+01 7.450782422D+01 4.717927513D+01 7.445848548D+01 6.457364495D+01 7.445288638D+01 6.459491143D+01 3.226934713D+01 6.461145510D+01 3.230736160D+01 8.439151785D+01 3.631578336D+01 8.422380874D+01 3.643131364D+01 2.448105560D+00 8.486613097D+01 1.001983134D+01 7.712136179D+01 1.005784647D+01 5.217965221D+01 1.033918903D+01 8.294904893D+01 4.441518945D+01 8.272928315D+01 4.429006685D+01 3.393464371D+01 5.513995001D+01 3.395871894D+01-6.613033013D+00 1.765114107D+01 1.773484990D+01 8.048563810D+01 2.299313376D+00 4.306830162D+01 2.274526066D+00 8.227067769D+01 1.947070700D+01 8.218331140D+01 4.021943303D+01 8.110818013D+01 4.239913661D+01 4.159637442D+01 3.056693466D+00 8.069079538D+01 3.181994539D+00 3.607060819D+01 3.235788135D+00 7.927866944D+01 1.510499260D+00 7.929949880D+01 3.128261305D+01 7.848023656D+01 3.121818047D+01 6.999123341D+01 5.617478229D+01 7.001389862D+01 7.962763161D+01 7.757975800D+01-1.080649899D+00-1.402641064D+00 7.396490208D-01 1.239542883D+00 8.282246385D-01 2.053297374D+01 2.094334648D+01 4.549807912D+01 2.095286219D+01 4.560918470D+01 8.647422679D-01 4.569710104D+01 3.781210311D+01 3.796012897D+01 9.993682698D-01 4.575853200D+01 8.298374116D+01 4.407093313D+01 5.940987967D+01 6.910799244D+00 5.940033081D+01 8.571536166D+01 4.155078341D+01 8.579771892D+01 4.157651523D+01 7.047138954D+00 4.158987071D+01 7.216354804D+00 2.806914679D+01 7.485668827D+00-4.242901921D+00-4.036014645D+00 2.817405543D+01 8.087690508D+01 6.732179522D+01 7.645858408D+01 1.482198245D+01 7.646097750D+01 7.724980901D+01 7.642839642D+01 7.726356917D+01 4.426774542D+01-5.992726459D+00 4.446791351D+01 8.286387744D+01 5.518224635D+01 8.282409436D+01 5.524026037D+01 4.486766156D+01 4.156829433D+01-5.009137321D+02 4.368930090D+01 4.161837626D+01 4.270737122D+00 4.164073060D+01 8.264981021D+01 4.491964354D+01 5.368732585D+01 5.392225024D+01 4.511096409D+01 5.390849800D+01 6.101242398D+00 5.400240763D+01 6.113069316D+00 4.115315645D+01 4.905849427D+01 4.112409410D+01 1.906935864D+01 4.114490582D+01 1.906768290D+01 4.116111854D+01 5.457584206D+01 5.227238773D+01 5.453732807D+01 6.613233927D+01 5.444948533D+01 6.609801537D+01 8.315301499D+01 6.606421609D+01 8.315005569D+01 3.505582725D+01 8.315882923D+01 3.506278847D+01 1.436225050D+01 1.482477910D+01 3.574279491D+01 1.461303984D+01 7.840173984D+01 4.366379222D+01 7.850432744D+01 4.366760720D+01 1.512183387D+01 4.368869669D+01 1.515223045D+01 7.800682665D+01 4.098189472D+01 7.809863869D+01 1.919789102D+01 4.461387104D+01 1.927448204D+01 4.462872690D+01 4.473196578D+01 1.034338248D+01 4.474620324D+01 1.042157651D+01 5.005817651D+01 3.179158587D+01 5.004021406D+01 3.176686658D+01 5.339330719D+00 3.189112823D+01 5.409910074D+00 8.548291007D+01 6.697064184D+01 8.544425040D+01 8.569800692D+01 6.719118204D+01 4.309841639D+01 6.722257504D+01 4.308823193D+01 2.675486715D+01 4.311812656D+01 2.681976578D+01 8.142936578D+01 1.833977366D+01 8.145065836D+01 1.829496313D+01 1.821299848D+01 8.016030737D+01 1.809234018D+01 5.134914018D+01 2.374071859D+01 5.138755611D+01 2.387146697D+01 8.010216866D+01 8.213393798D+01 8.007367613D+01 8.208677263D+01 1.345194463D+00 8.216312246D+01 1.410293791D+00 1.510716094D+01 1.477491115D+00 1.510438222D+01 1.519482651D+01 6.237026833D+01 1.515013709D+01 6.230608935D+01 1.113612076D+01 6.231775922D+01 1.102728902D+01 6.330464306D+01 2.620286478D+01 6.333389526D+01 2.621267367D+01 9.469106070D+00-7.997077871D+00 9.630558111D+00 -7.949278574D+00 9.713022864D+00-7.872604505D+00 1.132110964D+01 2.406854057D+01 1.135319584D+01 2.411875443D+01 2.381631547D+01 5.851737821D+01 2.385291486D+01 2.382030426D+01 5.856909895D+01 2.386490392D+01 2.544873760D+01 7.784529749D+01 2.545136416D+01 7.778015795D+01 3.252714251D+01 1.817915942D+01 3.245050656D+01 7.625517878D+01 3.225319166D+01 7.620120255D+01 3.223612017D+01 1.792045651D+01 6.334190376D+01 6.897948967D+00 6.335281288D+01 2.339913387D+01 4.426059620D+01 3.123422891D+00 4.445236786D+01 3.175004229D+00 4.425068474D+01 1.826463698D+01 4.437876243D+01 1.833856475D+01 6.321668927D+01 4.242657221D+01 8.086191231D+01 4.237324956D+01-4.832363992D+00 6.151482387D+01-4.841852253D+00 8.087413745D+01 7.333835304D+01 8.497470879D+01 7.332855450D+01 4.462588077D+01 4.465834759D+01 7.338900564D+01 4.463163844D+01 5.551949734D+01 7.139085945D+01 5.544439897D+01 7.136640599D+01 1.183710599D+01 2.414898331D+01 1.182695722D+01 2.417213303D+01 4.233945326D+01 2.418336507D+01 4.241186282D+01 8.076104899D+01 1.937799152D+01 8.082584469D+01 1.933753980D+01 3.564561619D+00 3.814366062D+01 3.494914313D+00 3.812703675D+01 7.686913028D+01-5.161697169D-01 5.227474818D+01 5.224371809D+01 -3.865298402D-01 8.007597552D+01 4.115662096D+01 8.009003575D+01-7.660913458D-01 5.203054696D+01 7.237433729D+01-3.144627052D-01 1.981762138D+01 1.984683050D+01 3.731264703D+01 7.769377722D+01 7.750969074D+01 3.692008952D+01 4.690523100D+01 2.240909319D+01 4.698400857D+01 2.236838308D+01 2.862260752D+01 2.872099980D+01 2.253200203D+01 2.872517573D+01 2.257421032D+01 2.871123510D+01 2.868430007D+01 2.941953006D+01 2.870320525D+01 2.940864658D+01 1.392476600D+01 2.951914712D+01 1.388097062D+01 4.854269810D+01 3.305586629D+01 4.383157434D+01 3.303194861D+01 4.855967545D+01 4.856623111D+01 3.303386065D+01 4.858461107D+01 1.963226338D+01 4.014071274D+01 1.953496772D+01-3.033558609D+01-3.029383604D+01-3.033920457D+01 -3.032031031D+01-3.033212375D+01-3.029598743D+01-3.034856101D+01 2.765098744D+02 2.218316066D+02 2.765160839D+02 2.909372001D+02 2.909412937D+02 3.105920458D+02 3.601022106D+02 3.601022532D+02 3.600901410D+02 3.680476077D+02 4.162017698D+02 2.909151103D+02 3.416011048D+02 2.908964038D+02 2.281538873D+02 2.074116368D+02 2.431874699D+02 2.874211627D+02 3.431369460D+02 3.719137778D+02 4.067444226D+02 4.277758248D+02 4.758812710D+02 4.668520928D+02 4.484771528D+02 4.218763222D+02 4.218730429D+02 4.034435900D+02 3.792807393D+02 3.628151567D+02 3.256276534D+02 3.078859269D+02 2.951087563D+02 3.299927587D+02 3.078840126D+02 3.552899496D+02 3.552906459D+02 3.552801693D+02 3.552904127D+02 4.366222525D+02 4.698536240D+02 5.084282515D+02 4.383306068D+02 3.916200832D+02 3.627935259D+02 3.628163806D+02 3.628207844D+02 3.792941613D+02 4.034669429D+02 4.218945019D+02 4.379546406D+02 2.675004481D+01 2.673839829D+01 2.673819157D+01 2.670157204D+01 2.674387502D+01 2.675349025D+01 2.671676546D+01 2.672165992D+01 2.672486611D+01 2.674833892D+01 2.675058344D+01 2.677138495D+01 2.673611205D+01 2.675733991D+01 2.675054534D+01 2.671344519D+01 2.675315564D+01 2.667894851D+01 2.675838398D+01 9.817472178D+01 9.816784201D+01 9.818171183D+01 9.820279936D+01 9.818217042D+01 9.819436810D+01 2.685744900D+01 2.682375156D+01 2.668592314D+01 2.684894450D+01 2.682590367D+01 2.674323776D+01 1.237917228D+02 9.818501896D+01 9.817292375D+01-4.531001715D+01 -4.534171113D+01-4.536506835D+01-4.547639301D+01 1.238315370D+02 1.238538980D+02 1.238058840D+02-1.305119479D+02-1.943774075D+02-1.304883427D+02-1.943654640D+02 -1.304510622D+02-1.943270793D+02-1.304649314D+02 1.251797612D+02 1.731463667D+02 1.731697647D+02 1.251248857D+02 1.568631518D+01 1.251597884D+02 1.250786027D+02 1.251742019D+02 1.250818816D+02 1.251591320D+02 1.250838699D+02 1.251742198D+02 1.250643445D+02 1.251073975D+02 1.565923440D+01 1.567508917D+01 1.560889641D+01 1.567871048D+01 1.564576492D+01 1.568678459D+01 1.657280052D+02 1.660447486D+02 1.660218118D+02 1.656941510D+02 1.657389052D+02 8.591371246D+01 8.596411889D+01 1.217907185D+02 1.657910754D+02 1.657299238D+02 1.217152814D+02 1.657651146D+02 1.657348809D+02 1.217482991D+02 1.217771511D+02 1.658280848D+02 1.657501703D+02 1.217400967D+02 1.217691194D+02 1.657407964D+02 1.657279051D+02 8.587887678D+01 1.066424028D+02 8.905939414D+01 4.754781250D+01 8.906612802D+01 8.903661875D+01 8.909686262D+01 8.904517672D+01 8.909743109D+01 8.908236922D+01 5.212203445D+01 8.907660405D+01 8.907808227D+01 8.898469412D+01 8.902619127D+01 8.903908142D+01 8.907221325D+01 8.901501411D+01 5.204141503D+01 5.205654728D+01 5.200227415D+01 5.204193772D+01 8.903744035D+01 8.910340348D+01 2.665454569D+01 2.664878346D+01 -1.774267737D+01-4.524098768D+01-1.777311869D+01 5.066973936D+01 5.067968557D+01 2.758770515D+01 2.758970981D+01 2.763331002D+01 2.755463651D+01 2.732433509D+01 2.755483311D+01 2.733497833D+01 2.757596507D+01-1.118102593D+02-6.448436276D+01 -6.449482692D+01-1.297570744D+02 5.072610848D+01 5.070482824D+01 5.064990642D+01 2.757607511D+01 5.070388671D+01 2.764738315D+01 2.759764042D+01 2.765076438D+01 2.758240358D+01 5.067354064D+01 1.237881323D+02 1.427564387D+01 6.583114431D+01 1.667731338D+01 2.570744927D+01 2.575803132D+01 1.669404429D+01 2.572816888D+01 2.570250295D+01 6.586103046D+01 6.574285193D+01 2.567125125D+01 2.570449754D+01 1.668741985D+01 6.581529147D+01 1.109061723D+02 1.109963904D+02 1.637401194D+02 1.110406312D+02 8.364496808D+01 8.577866653D+01 4.509057801D+00 2.570841689D+01 2.573599699D+01 2.573344310D+01 2.573924995D+01 4.517806067D+00 4.513926295D+00 2.571610432D+01 2.567404026D+01 6.585177966D+01 6.581210592D+01 2.565455990D+01 2.568125962D+01 4.515725521D+00 4.485338174D+00 2.571037536D+01 2.571079080D+01 1.109652131D+02 6.574208173D+01 2.571531323D+01 2.567884595D+01 2.567878125D+01 1.108592233D+02-7.743035185D+00-7.731185794D+00-1.113979636D+00-1.111450667D+00 -1.723926401D-01-4.818296646D+01-4.819056951D+01 1.692958162D+01 1.692172711D+01 6.403010215D+01 6.403200306D+01 8.751357892D+01 8.750514451D+01 9.530583035D+01 9.529620680D+01 1.038034857D+02 1.037937890D+02 9.528996781D+01 9.530033715D+01 8.748429005D+01 8.748375983D+01 6.401989490D+01 6.401872142D+01 1.687387499D+01 1.688306764D+01-6.703788581D+01-6.703876065D+01-4.825587401D+01-4.825713356D+01 -4.815152727D+01-4.814311208D+01-4.814542302D+01-4.814606064D+01-4.814726846D+01 -4.827566253D+01-4.826605247D+01-6.706512585D+01-6.705479083D+01 1.687108424D+01 1.687094233D+01 6.398984293D+01 6.398996510D+01 8.723216497D+01 8.723268045D+01 9.504932615D+01 9.506066677D+01 1.034941154D+02 1.035056450D+02 1.179588743D+02 1.179705589D+02 1.034904160D+02 1.034914303D+02 1.124031473D+02 1.123631556D+02 1.123965105D+02 1.033739094D+02 1.033651159D+02 1.123818634D+02 1.123839736D+02 1.034807886D+02 1.034928989D+02 1.179741219D+02 1.179652124D+02 9.508755234D+01 9.508863577D+01 8.721697839D+01 8.721832141D+01 6.374072012D+01 6.376255996D+01 1.661768202D+01 1.662845331D+01-6.728566112D+01-6.727488694D+01-4.849640598D+01 -4.848589324D+01-1.521542473D+01-1.521558506D+01-4.721734727D-01-4.829918028D-01 -1.521034821D+01-1.521099416D+01-4.848562459D+01-4.848684867D+01-4.837706629D+01 -4.839201816D+01-4.837738417D+01-4.839232927D+01-4.840691068D+01-4.848094114D+01 -4.848114118D+01-5.213735340D+01-5.212704777D+01-4.848293467D+01-4.848298086D+01 -4.850204632D+01-4.850180023D+01-1.521888527D+01-1.522890230D+01-1.479891652D+01 -1.478805778D+01-4.898694888D-01-4.893632510D-01-1.398120193D+00-1.397532054D+00 -8.021042097D+00-8.020067512D+00 1.104921809D+02 1.104930456D+02 1.104768257D+02 1.104778462D+02-8.049975560D+00-8.048909987D+00-1.441770006D+00-1.430215501D+00 -4.931024071D-01-5.024998180D-01-1.517845775D+01-1.518753196D+01-1.475573000D+01 -1.475470041D+01-4.851284394D+01-4.850105773D+01-5.213108808D+01-5.212983843D+01 -4.849291471D+01-4.848038391D+01-4.852230497D+01 6.374509209D+01 6.373503397D+01 8.721878765D+01 8.721907289D+01 9.503402929D+01 9.504462541D+01 6.373945149D+01 1.660938072D+01 1.660917308D+01-4.853278972D+01-4.853314926D+01-4.843060132D+01 -4.845551924D+01-4.841878667D+01-4.844297700D+01-4.843337443D+01-4.854872693D+01 -4.853831814D+01-6.735704037D+01-6.735707224D+01-4.851767040D+01-4.851768348D+01 -1.524669163D+01-1.523620018D+01-1.481724142D+01-1.482766501D+01-5.215927559D-01 -5.215064891D-01-1.442563659D+00-1.442384895D+00-8.091089017D+00-8.080397371D+00 1.104586383D+02 1.104588601D+02-6.597214807D+01-2.209324741D+00-6.599561041D+01 -2.198774154D+00-6.599047472D+01-2.200058630D+00-6.598629910D+01-6.675986110D+01 -2.976195768D+00-6.673718955D+01-2.955923437D+00-6.674036853D+01-2.950768501D+00 -2.600058955D+01-2.601041334D+01-2.599912360D+01-2.974770967D+00-6.674723003D+01 -2.979176141D+00-6.675627950D+01-2.980406707D+00-6.675990061D+01-2.601686752D+01 -2.598590848D+01-2.987457120D+01-3.701250236D+01 1.362276561D+01 2.190369763D+01 3.311611380D+01 5.422529951D+01 6.814783324D+01 8.653463383D+01 9.547726365D+01 1.059306776D+02 1.143523250D+02 1.422289163D+02 1.360343670D+02 1.539658390D+02 1.539506484D+02 1.360229245D+02 6.544012583D+01 8.689335614D+00-3.907013933D+01 -2.502438697D+01-2.501176021D+01 1.215506347D+01 4.056059847D+01 1.163400588D+01 1.210917905D+01-2.507548950D+01-3.910260692D+01-1.088604530D+01 8.734458324D+00 6.539052776D+01 1.360364338D+02 1.539199536D+02 1.359488920D+02 1.539261576D+02 1.878003652D+02 2.167289744D+02 2.167428035D+02 1.581479617D+01-4.931768292D+01 -4.932502230D+01-1.560864436D+01 1.096517169D+02 2.167499746D+02 2.167098748D+02 2.166993431D+02 2.124726818D+02 2.074807797D+02 2.022149809D+02 2.148302534D+02 2.148000708D+02 2.127451770D+02 2.153277263D+02 2.581972920D+02 2.807858552D+02 2.952460079D+02 3.148493716D+02 3.148305603D+02 2.391684673D+02 2.391583537D+02 2.174386430D+02 3.322977947D+02 2.996289561D+02 2.653876807D+02 2.996611444D+02 1.449693987D+02 2.324446186D+02 2.323483650D+02 1.955309124D+02 2.117066895D+02 2.085960166D+02 2.323986832D+02 2.453692454D+02 2.323733250D+02 2.323759119D+02 2.193170133D+02 2.951651746D+02 3.154690814D+02 2.888249210D+02 3.339788203D+02 4.204543748D+02 4.086501844D+02 4.204369417D+02 3.340382032D+02 2.887994503D+02 3.154280164D+02 2.952016996D+02 2.193427702D+02 2.453631421D+02 2.324056399D+02 2.474159495D+02 2.474299118D+02 1.223919264D+02 2.073651681D+02 2.381668633D+02 2.219896897D+02 2.917082317D+02 2.635721685D+02 2.916893035D+02 2.352588191D+02 3.474108197D+02 3.762197316D+02 3.732359908D+02 3.133102191D+02 3.374406315D+02 3.132449106D+02 3.374460718D+02 3.732739548D+02 3.762029695D+02 2.352400783D+02 2.775949421D+02 2.917226109D+02 2.636228428D+02 2.917451707D+02 1.874756975D+02 1.939737698D+02 1.737493765D+02 1.939572458D+02 1.509138263D+02 1.529112098D+02 1.556300522D+02 1.529279092D+02 1.556329732D+02 1.509347016D+02 1.874340563D+02 1.939335667D+02 1.737148197D+02 2.916450515D+02 2.635101662D+02 2.916460146D+02 2.473888516D+02 2.473790892D+02 1.222726586D+02 2.073213697D+02 2.381114657D+02 2.218990850D+02 2.380843170D+02 2.116175884D+02 1.448601983D+02 2.995871080D+02 2.653276022D+02 2.517126232D+02 2.173563964D+02 2.390498390D+02 2.173505727D+02 2.653349760D+02 4.204052092D+02 4.203544320D+02 4.085717763D+02 4.204008146D+02 3.340105091D+02 2.887962069D+02 3.154688476D+02 2.193130576D+02 2.453305050D+02 2.085832618D+02 2.116590180D+02 1.954595940D+02 1.448929594D+02 1.954715793D+02 2.323080471D+02 2.453485171D+02 2.085819211D+02 2.116565563D+02 2.073132117D+02 1.222746269D+02 2.473705075D+02 2.381062034D+02 2.219771936D+02 2.916960570D+02 2.775938129D+02 2.352151243D+02 2.775819784D+02 2.916781548D+02 1.939062134D+02 1.737162153D+02 1.939212611D+02 1.874114065D+02 1.873925367D+02 1.508977926D+02 1.556552001D+02 1.529409503D+02 1.556926617D+02 1.529655491D+02 1.556828731D+02 1.509397941D+02 1.874412855D+02 2.138591147D+02 2.117109953D+02 2.415065694D+02 3.037265517D+02 3.670767935D+02 3.670901394D+02 4.261661421D+02 4.422428839D+02 4.544124346D+02 4.725840752D+02 4.726381696D+02 4.544237814D+02 4.422538336D+02 4.261778770D+02 4.527684602D+02 4.711222353D+02 4.800915618D+02 4.630522978D+02 4.513970697D+02-9.322790259D+01-9.322349763D+01-9.319757128D+01-9.317585021D+01 4.117519627D+02 4.086365657D+02 4.204341182D+02 3.340342646D+02 2.888530630D+02 3.154866700D+02 2.193007207D+02 2.323866546D+02 2.453599473D+02 2.193287509D+02 3.154758667D+02 2.888447249D+02 3.340604453D+02 4.086548174D+02 4.204628295D+02 3.643627894D+02 3.643468088D+02 2.390871115D+02 2.174321678D+02 2.174225589D+02 2.391174243D+02 3.148522701D+02 2.952092179D+02 2.807381153D+02 2.581271178D+02 2.127225064D+02 2.148285174D+02 2.022042881D+02 2.074810403D+02 2.124929091D+02 2.167186286D+02 2.167069950D+02 1.877466708D+02 1.538885778D+02 1.359198980D+02 1.301016007D+02 1.421321840D+02 1.142567766D+02 9.541342092D+01 6.805636445D+01 5.410624399D+01 3.301290058D+01 2.182596018D+01 1.358132990D+01-3.706857182D+01 -2.995344702D+01-2.603078447D+01-2.605456140D+01-2.605952953D+01-2.608363381D+01 -2.608498876D+01-6.683252096D+01-3.056186543D+00-6.681391568D+01-3.049359791D+00 -6.682921809D+01-3.046087397D+00-1.041767500D+02-1.164744906D+02-1.041396855D+02 -1.040704581D+02-1.041502317D+02-8.778531551D+01-8.200384036D+01-8.208215839D+01 -8.782926339D+01-8.206368786D+01-8.813252246D+01-1.172532826D+02-1.165446683D+02 -1.042835352D+02-1.165351471D+02-1.172480038D+02-8.822371209D+01-1.172666184D+02 -1.042897336D+02-1.165600418D+02-1.172811883D+02-8.827802727D+01-8.794239114D+01 -1.165649369D+02-1.540127018D+02-1.201965520D+02-1.202151599D+02-6.342429271D+01 -1.319630618D+02-1.958146494D+02-1.319478667D+02-1.958259371D+02-1.319438965D+02 -1.957884148D+02-1.319249332D+02-1.037426607D+02-1.037413887D+02-1.037239186D+02 -1.535336851D+02-1.041243376D+02-1.041597801D+02-1.041657166D+02-1.041399796D+02 -1.041501627D+02-1.041542914D+02-1.164856802D+02-1.538855609D+02-1.200991496D+02 -1.201104736D+02-1.292189873D+02-1.930567846D+02-1.292296532D+02-1.930031146D+02 -1.291791887D+02-1.930334111D+02-1.291736885D+02-1.930527863D+02-1.291454956D+02 -1.931031984D+02-1.292025147D+02 7.823027312D+01 9.098810400D+01 7.824118662D+01 -2.185657189D+02 3.252604464D+02-2.176296605D+02-4.617257692D+02-1.112605432D+02 -1.522209040D+02-1.113120313D+02-2.185914594D+02 3.252456320D+02-4.617852150D+02 -1.112649393D+02-1.522603508D+02-1.112933026D+02 9.096000808D+01 7.829268713D+01 -2.176841421D+02-4.617380219D+02-2.176936399D+02-4.617190743D+02-1.112437337D+02 -1.522230183D+02-1.113434678D+02 9.101026504D+01 7.821425507D+01-2.186205832D+02 3.252048935D+02-1.113021802D+02-1.522005296D+02-1.112679404D+02 7.824888092D+01 9.098072907D+01 3.251691263D+02-2.186513738D+02-4.617627011D+02-2.177349376D+02 -4.617378582D+02 7.825390850D+01 9.103616124D+01-2.910529453D+01-2.908277168D+01 -2.905411301D+01-2.906863478D+01-2.906244839D+01-3.293961819D+01-2.064171436D+01 -1.957113080D+01-1.063851533D+01-1.673888878D+01-1.428152081D+01-1.293725196D+01 -1.397735154D+01-2.937599765D+01-4.205092673D+01-1.386211576D+01-1.895284204D+01 -1.392344189D+01-4.411909395D+00-1.388555525D+01-1.897869592D+01-4.207229984D+01 -2.938345817D+01-1.402324358D+01-1.296287621D+01-1.431144914D+01-1.395986750D+01 -3.288760474D+01-6.622191435D+01-7.891778494D+01-1.109937934D+01 3.755032554D+01 3.801805927D+01 3.798675897D+01-6.671672935D+01 2.948212779D+01 3.260336225D+01 -1.162197922D+01-1.167436690D+01 3.250428355D+01 2.943677908D+01-6.677664898D+01 3.795942984D+01 3.800105483D+01 3.752400698D+01 8.569895048D+00 9.251708129D+00 2.557501556D+01 6.170134207D+01 7.763242302D+01 9.951020770D+01 1.084914392D+02 9.960063451D+01 1.140165287D+02 1.172549412D+02 1.188165301D+02 1.022023702D+02 1.021477846D+02 1.187817662D+02 1.172395160D+02 1.139763908D+02 9.959022871D+01 1.084829352D+02 9.949067467D+01 7.759785360D+01 6.163861999D+01 2.552926125D+01 9.229685344D+00-2.810774244D+01-4.218303425D+01 5.616945018D+00 6.230267163D+01 1.328976788D+02 1.508284338D+02 1.846975233D+02 2.137131225D+02 2.094213597D+02 1.798159917D+02 1.411490786D+02 1.065615423D+02-1.194625156D+01 7.900937970D+01 1.112724838D+02 1.703493604D+02 1.991570603D+02 2.044510080D+02 2.094617312D+02 2.136575243D+02 2.093831319D+02 1.797614490D+02 1.411135465D+02 1.065115785D+02 -1.195404820D+01 7.896558569D+01 1.112574387D+02 1.521554192D+02 1.748233143D+02 2.230829060D+02 1.518454049D+02 4.086466300D+01 1.007230028D+02 1.394221035D+02 1.909025267D+02 1.296666607D+02 2.107778270D+02 2.107667394D+02 2.086492058D+02 2.384445559D+02 3.006657720D+02 3.639884712D+02 3.927981007D+02 3.804531928D+02 4.046690897D+02 4.230814782D+02 4.391593464D+02 4.513647062D+02 4.696982920D+02 5.129127103D+02 5.135787534D+02 4.978362431D+02 4.680479634D+02 4.496803453D+02 4.230554874D+02 4.230067237D+02 4.391454269D+02 4.513035603D+02 4.697046862D+02 5.095673023D+02 4.710341590D+02 3.936693820D+02 3.793315972D+02 3.268133009D+02 3.639822848D+02 3.268110073D+02 3.090439412D+02 2.962398458D+02 3.311481546D+02 3.564232505D+02 3.564346395D+02 4.377949490D+02 5.096133411D+02 4.710178956D+02 3.936490498D+02 3.793652438D+02 3.927722848D+02 3.639831488D+02 3.267997789D+02 3.090201254D+02 2.962529483D+02 2.962519733D+02 3.311287086D+02 3.564378222D+02 3.564365031D+02 4.377900116D+02 4.710348423D+02 5.096243679D+02 4.697779361D+02 4.513138267D+02 5.128869275D+02 5.135494141D+02 4.978319661D+02 4.289303894D+02 4.770335982D+02 4.770250989D+02 4.599554221D+02 4.483224936D+02 3.427622138D+02 4.483186339D+02-9.634625500D+01 4.086108471D+02 4.173284902D+02 4.086110126D+02 -9.636514425D+01 4.482963474D+02 4.599311050D+02 4.770349156D+02 4.289241489D+02 4.680362501D+02 4.496491184D+02 4.230286563D+02 4.046327704D+02 3.804553917D+02 3.639886665D+02 3.006575257D+02 2.384465298D+02 2.107507814D+02 2.086451858D+02 2.107440637D+02 2.086491811D+02 1.296443248D+02 1.908495109D+02 1.393721470D+02 1.006642436D+02-2.426569559D+01-2.444682707D+01-2.425984204D+01 4.086620123D+01 1.518168353D+02 2.230189054D+02 2.776643769D+02 2.550578533D+02 1.747887250D+02 1.521227635D+02 2.117555259D+02 1.702763598D+02 1.991135831D+02 2.043828157D+02 2.094005182D+02 2.136226190D+02 2.093498981D+02 1.797439044D+02 1.846642366D+02 1.507911302D+02 1.328379373D+02 6.221888779D+01 5.570212143D+00-4.222146232D+01 -2.817691957D+01 9.202289612D+00 8.520945500D+00 3.749923189D+01-1.121032191D+01 -7.899897740D+01-6.631508437D+01-3.294860349D+01-2.945265561D+01-1.408584208D+01 -1.304743180D+01-1.400938971D+01-1.678081683D+01-1.683210700D+01-1.076610471D+01 -1.965543106D+01-2.077819133D+01-3.308462881D+01-2.913825281D+01-2.917049148D+01 1UNSYMMETRIC LEAST-SQUARES PROBLEM. SAUNDERS 1979. ILLC1033 1471 21 296 947 207 RRA 1033 320 4732 0 (16I5) (16I5) (1P,5D16.9) (1P,5D16.9) F 1 0 1 29 34 45 49 53 58 59 68 72 74 84 88 100 112 114 117 118 121 126 130 134 143 147 151 161 165 169 173 176 180 184 187 191 195 196 199 204 242 259 263 289 313 318 328 339 359 362 376 385 397 400 402 414 427 436 450 453 472 473 476 481 487 494 504 513 542 552 562 572 580 595 601 608 612 622 626 633 637 639 641 643 645 647 649 650 652 653 655 657 664 669 677 681 689 700 707 714 715 719 734 741 745 749 751 752 755 760 765 766 769 772 775 779 782 787 792 797 802 807 811 814 817 821 824 827 830 832 834 836 839 844 847 851 855 860 863 866 871 876 879 883 886 887 902 907 910 916 920 926 934 936 938 940 943 945 948 951 954 956 959 961 962 964 966 968 970 972 974 976 978 980 982 984 986 988 990 992 994 997 999 1001 1003 1005 1007 1009 1011 1013 1015 1017 1019 1020 1028 1078 1119 1126 1146 1151 1169 1180 1191 1206 1220 1263 1306 1432 1566 1628 1715 1743 1754 1764 1816 2053 2111 2152 2179 2202 2224 2253 2296 2465 2748 2776 2797 2849 3086 3091 3102 3106 3110 3115 3124 3128 3130 3140 3144 3156 3168 3170 3173 3176 3181 3185 3189 3198 3202 3206 3216 3220 3224 3228 3231 3235 3239 3242 3246 3250 3253 3258 3296 3313 3339 3363 3368 3378 3398 3401 3415 3424 3436 3439 3451 3464 3473 3487 3492 3498 3505 3515 3544 3554 3560 3567 3571 3578 3582 3589 3594 3602 3606 3614 3625 3632 3639 3643 3647 3651 3654 3657 3660 3665 3670 3673 3677 3680 3695 3700 3758 3799 3826 3849 3871 3900 3943 4112 4395 4423 4444 4496 4733 1 2 3 4 5 6 7 419 420 421 428 429 685 686 687 688 689 764 770 779 786 797 798 799 800 801 1032 1033 8 10 483 662 996 9 78 79 80 81 82 83 91 92 894 995 11 12 484 661 13 485 486 660 14 15 16 654 655 17 18 509 511 575 576 578 641 653 967 19 21 505 515 20 963 22 149 495 496 500 502 503 518 589 646 23 132 133 148 24 134 137 140 141 144 145 519 520 559 560 595 25 128 129 218 525 527 540 542 556 558 598 602 26 529 27 530 537 28 29 958 973 30 632 959 960 972 31 631 917 974 32 630 918 975 33 34 57 622 629 910 919 920 976 35 56 909 977 36 55 908 978 37 52 53 54 620 621 906 929 942 979 38 928 930 943 39 42 931 944 40 932 945 946 41 933 947 43 45 934 948 44 46 935 949 47 936 950 48 925 938 951 49 924 937 952 50 51 907 941 58 623 628 911 921 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 84 85 86 87 88 89 179 180 181 182 184 186 194 196 197 198 199 895 994 90 97 98 99 107 110 112 113 114 115 116 117 118 119 120 201 570 93 94 95 96 100 102 104 106 407 409 411 414 416 418 422 424 426 691 693 695 724 726 728 730 745 747 749 751 753 755 101 103 105 406 408 410 412 413 415 417 423 425 427 690 692 694 725 727 729 746 748 750 752 754 108 109 491 493 568 111 121 122 123 124 125 126 202 898 988 127 130 131 135 136 138 139 142 143 146 147 150 152 153 154 155 156 157 159 160 161 162 163 164 165 170 171 478 479 665 1000 151 880 1001 158 166 167 168 169 177 178 191 192 193 195 200 893 998 172 173 443 444 461 463 672 870 1009 174 176 244 351 352 353 354 404 405 471 876 888 175 878 890 183 185 187 252 253 268 269 283 284 314 315 379 380 467 188 189 254 255 266 267 285 286 312 313 372 373 378 190 247 248 347 348 357 358 400 401 203 210 211 215 231 232 240 544 546 554 603 605 899 987 204 207 214 205 206 208 209 212 213 223 224 225 226 229 230 233 234 237 238 241 242 243 216 217 219 239 220 617 903 983 985 221 616 901 902 982 984 222 227 228 235 236 900 986 245 246 349 350 355 356 402 403 877 889 249 322 323 345 346 359 360 398 399 250 251 272 273 279 280 318 319 326 327 333 334 337 338 339 340 365 366 369 370 371 381 382 388 389 392 393 468 469 256 257 264 265 287 288 310 311 374 375 258 259 262 263 289 290 308 309 376 377 260 261 291 292 295 296 304 305 849 858 270 271 281 282 316 317 390 391 274 275 276 277 278 328 329 330 331 332 383 384 385 386 387 293 294 306 307 850 857 297 298 299 302 303 848 859 300 301 847 860 320 321 324 325 341 342 361 362 394 395 335 336 367 368 343 344 363 364 396 397 470 430 684 802 1031 431 683 432 682 433 681 434 680 435 679 436 678 437 438 677 439 440 676 441 675 442 445 460 462 673 869 1010 446 459 723 868 1011 447 458 721 722 743 744 867 1012 448 456 866 1013 449 450 455 720 734 742 865 1014 451 454 697 708 710 715 719 741 843 864 1015 452 706 712 717 828 841 1017 453 707 711 713 716 842 1016 457 464 671 871 1008 465 466 472 473 474 669 670 757 772 781 789 796 872 884 1005 475 668 873 883 885 1004 1006 476 667 882 1003 477 666 881 1002 480 664 481 482 663 997 487 488 572 656 659 489 571 573 657 658 490 492 569 574 494 567 587 497 586 588 498 566 585 592 499 584 591 501 517 583 590 647 504 516 582 645 648 506 514 581 644 649 507 513 580 643 650 508 512 579 642 651 510 577 640 652 521 561 594 522 562 593 523 563 565 596 524 564 597 526 541 557 528 538 600 531 536 532 534 533 535 539 599 601 543 553 606 607 615 545 555 604 547 552 608 614 548 550 610 612 549 551 609 611 613 618 904 981 619 905 980 624 627 912 922 954 625 626 913 923 953 633 961 971 634 962 964 970 639 966 968 674 696 698 699 700 709 714 731 732 733 735 736 737 738 739 740 701 704 718 830 839 702 703 705 756 758 773 782 788 795 760 767 784 790 762 768 775 777 792 794 763 765 769 771 778 780 785 787 803 1030 804 1029 805 1028 806 1026 1027 807 822 808 821 1024 809 820 1023 810 819 1022 811 818 812 814 816 813 817 815 823 1025 824 1021 825 1020 826 1019 827 1018 829 840 831 838 832 837 833 836 834 835 844 863 845 862 846 861 851 856 852 855 853 854 874 886 1007 875 887 879 891 892 999 896 993 897 989 914 955 915 956 916 957 926 939 927 940 990 992 991 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 8 10 483 662 996 9 78 79 80 81 82 83 91 92 894 995 11 12 484 661 13 485 486 660 14 15 16 654 655 18 509 511 575 576 578 641 653 967 19 21 505 515 20 963 22 149 495 496 500 502 503 518 589 646 23 132 133 148 24 134 137 140 141 144 145 519 520 559 560 595 25 128 129 218 525 527 540 542 556 558 598 602 26 529 27 530 537 29 958 973 30 632 959 960 972 31 631 917 974 32 630 918 975 33 34 57 622 629 910 919 920 976 35 56 909 977 36 55 908 978 37 52 53 54 620 621 906 929 942 979 38 928 930 943 39 42 931 944 40 932 945 946 41 933 947 43 45 934 948 44 46 935 949 47 936 950 48 925 938 951 49 924 937 952 51 907 941 58 623 628 911 921 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 84 85 86 87 88 89 179 180 181 182 184 186 194 196 197 198 199 895 994 90 97 98 99 107 110 112 113 114 115 116 117 118 119 120 201 570 100 102 104 106 407 409 411 414 416 418 422 424 426 691 693 695 724 726 728 730 745 747 749 751 753 755 101 103 105 406 408 410 412 413 415 417 423 425 427 690 692 694 725 727 729 746 748 750 752 754 108 109 491 493 568 111 121 122 123 124 125 126 202 898 988 150 152 153 154 155 156 157 159 160 161 162 163 164 165 170 171 478 479 665 1000 151 880 1001 158 166 167 168 169 177 178 191 192 193 195 200 893 998 172 173 443 444 461 463 672 870 1009 174 176 244 351 352 353 354 404 405 471 876 888 175 878 890 187 252 253 268 269 283 284 314 315 379 380 467 188 189 254 255 266 267 285 286 312 313 372 373 378 190 247 248 347 348 357 358 400 401 203 210 211 215 231 232 240 544 546 554 603 605 899 987 220 617 903 983 985 221 616 901 902 982 984 222 227 228 235 236 900 986 245 246 349 350 355 356 402 403 877 889 250 251 272 273 279 280 318 319 326 327 333 334 337 338 339 340 365 366 369 370 371 381 382 388 389 392 393 468 469 260 261 291 292 295 296 304 305 849 858 293 294 306 307 850 857 297 298 299 302 303 848 859 300 301 847 860 343 344 363 364 396 397 470 430 684 802 1031 442 445 460 462 673 869 1010 446 459 723 868 1011 447 458 721 722 743 744 867 1012 448 456 866 1013 449 450 455 720 734 742 865 1014 451 454 697 708 710 715 719 741 843 864 1015 452 706 712 717 828 841 1017 453 707 711 713 716 842 1016 464 671 871 1008 476 667 882 1003 477 666 881 1002 482 663 997 618 904 981 619 905 980 624 627 912 922 954 625 626 913 923 953 633 961 971 634 962 964 970 639 966 968 696 698 699 700 709 714 731 732 733 735 736 737 738 739 740 701 704 718 830 839 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 3 4 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 1.000000000D 00 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 7.071067812D-01 7.071067812D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 7.071067812D-01 7.071067812D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 1.000000000D 00 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 1.000000000D 00 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 1.622214211D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 2.425356250D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 1.961161351D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 2.041241452D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 7.071067812D-01 7.071067812D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.886751346D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 2.773500981D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 2.294157339D-01 1.000000000D 00 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 3.333333333D-01 1.856953382D-01 1.856953382D-01 1.856953382D-01 1.856953382D-01 1.856953382D-01 1.856953382D-01 1.856953382D-01 1.856953382D-01 1.856953382D-01 1.856953382D-01 1.856953382D-01 1.856953382D-01 1.856953382D-01 1.856953382D-01 1.856953382D-01 1.856953382D-01 1.856953382D-01 1.856953382D-01 1.856953382D-01 1.856953382D-01 1.856953382D-01 1.856953382D-01 1.856953382D-01 1.856953382D-01 1.856953382D-01 1.856953382D-01 1.856953382D-01 1.856953382D-01 1.856953382D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 1.000000000D 00 7.071067812D-01 7.071067812D-01 1.000000000D 00 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 1.000000000D 00 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 7.071067812D-01 7.071067812D-01 1.000000000D 00 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 1.000000000D 00 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 1.000000000D 00 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 5.000000000D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 4.082482905D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 7.071067812D-01 7.071067812D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 7.071067812D-01 7.071067812D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 7.071067812D-01 7.071067812D-01 1.000000000D 00 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 5.773502692D-01 5.773502692D-01 5.773502692D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 7.071067812D-01 1.000000000D 00 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 3.535533906D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.414213562D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 1.561737619D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 3.779644730D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 2.236067978D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 4.472135955D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 2.357022604D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.581988897D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 2.672612419D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 1.524985703D-01 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.908708064D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 8.638684256D-02 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.270001270D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.072112535D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 1.889822365D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.015113446D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 3.162277660D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 1.386750491D-01 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 6.495698025D-02 0.000000000D-01 8.919733354D-03 3.004328371D-02 3.859811887D-02 5.872833529D-02 6.744534743D-02 8.879189112D-02 9.536005840D-02 9.730618202D-02 9.801570628D-02 9.872523051D-02 9.977938084D-02 1.004280887D-01 1.017255045D-01 1.039351657D-01 1.159362615D-01 1.167674184D-01 1.177607524D-01 1.190987124D-01 1.199095972D-01 1.207002100D-01 1.217746324D-01 1.230315039D-01 1.238221166D-01 1.245316409D-01 1.256263354D-01 1.261736827D-01 1.270251118D-01 1.277143639D-01 1.283630718D-01 1.295793991D-01 1.303700118D-01 1.311606245D-01 1.456146470D-01 1.461822664D-01 1.468715185D-01 1.473175052D-01 1.479662131D-01 1.489798191D-01 1.496690712D-01 1.504596840D-01 1.510475755D-01 1.523449912D-01 1.525679846D-01 1.527909779D-01 1.528923385D-01 1.539464888D-01 1.555479864D-01 1.561358779D-01 1.581225458D-01 1.589334306D-01 1.594807779D-01 1.751105834D-01 1.757187470D-01 1.762052780D-01 1.770364349D-01 1.774824216D-01 1.778878640D-01 0.000000000D-01 2.954535174D-03 3.770431918D-03 6.551898087D-03 1.767776276D-02 2.087953938D-02 2.441509193D-02 3.552859452D-02 3.869328492D-02 4.105444065D-02 5.346596080D-02 5.680372020D-02 5.995604853D-02 7.108191321D-02 7.349251721D-02 7.788105272D-02 8.919234848D-02 9.203562501D-02 9.554645341D-02 1.069319216D-01 1.098370085D-01 1.134220093D-01 1.249310982D-01 1.273911505D-01 1.306670996D-01 1.426583093D-01 1.602742617D-01 1.667272632D-01 1.780756451D-01 1.838858189D-01 3.560523938D-01 2.012545300D-01 2.162744473D-01 2.181287579D-01 2.327036407D-01 2.365482450D-01 2.496520413D-01 2.543496285D-01 2.668847694D-01 2.698640287D-01 2.737580813D-01 0.000000000D-01 1.761393420D-04 3.997008144D-04 5.690655663D-04 7.248811381D-04 8.806967098D-04 1.043286871D-03 1.858337804D-01 1.860302434D-01 1.884690958D-01 1.945323540D-01 1.969847556D-01 1.977028621D-01 2.039693579D-01 2.077360300D-01 2.138263865D-01 2.171527102D-01 2.233921078D-01 2.274229888D-01 2.330797715D-01 2.367922469D-01 2.446033492D-01 2.473944803D-01 2.525363943D-01 2.565605008D-01 2.624069720D-01 2.654352138D-01 0.000000000D-01 1.944753000D-03 4.682512076D-03 5.513280349D-03 9.025164405D-03 3.071954495D-02 3.432583450D-02 3.715799907D-02 3.789436185D-02 5.315028829D-02 5.390553218D-02 6.483768738D-02 8.077333331D-02 9.242674643D-01 9.178101291D-02 9.244185132D-02 1.077355400D-01 1.087928814D-01 1.175159482D-01 1.181390245D-01 1.348110332D-01 1.365103319D-01 1.385872526D-01 0.000000000D-01 1.126735788D-03 1.859114050D-02 8.185735502D-02 9.929359134D-02 1.644189199D-01 1.815453038D-01 2.437692877D-01 2.508677232D-01 2.612618608D-01 3.321053735D-01 4.166105575D-02 5.782971430D-02 1.225606854D-01 1.398560797D-01 2.044180403D-01 2.058546285D-01 2.180797118D-01 2.855148487D-01 2.988948362D-01 3.667524990D-01 3.813718958D-01 0.000000000D-01 2.563399020D-03 5.872893038D-02 6.237604281D-02 6.879496068D-02 1.190625902D-01 1.296496366D-01 1.783958993D-01 2.376666863D-01 2.489623145D-01 2.983963184D-01 2.984796810D-01 2.985630436D-01 2.986464061D-01 2.987922906D-01 2.928110263D-02 3.067742566D-02 3.586674564D-02 3.934713292D-02 9.365784710D-02 9.899305157D-02 1.481769677D-01 1.496983346D-01 1.561589338D-01 1.598268868D-01 2.078020458D-01 2.197645745D-01 2.735125914D-01 2.777015605D-01 0.000000000D-01 2.336156932D-03 5.436874315D-03 8.346451586D-03 9.365865519D-03 2.879844364D-02 3.561577431D-02 3.975714343D-02 5.974190408D-02 6.137721393D-02 7.004223239D-02 7.108288412D-02 9.026060874D-02 9.091898025D-02 9.181096742D-02 9.321266160D-02 9.344627730D-02 9.563376967D-02 9.735403069D-02 1.000299923D-01 1.004759859D-01 1.033855632D-01 1.043837393D-01 1.231367081D-01 1.315256353D-01 1.542925465D-01 1.553756738D-01 1.628938515D-01 1.640194544D-01 1.821990029D-01 1.835157459D-01 1.973203096D-01 1.980636323D-01 2.135035058D-01 2.150538645D-01 2.206606411D-01 2.228481335D-01 2.430027965D-01 2.500749807D-01 2.536854050D-01 2.545561544D-01 2.757727069D-01 2.835457382D-01 0.000000000D-01 2.274330020D-04 2.618925477D-04 4.548660038D-04 5.031093679D-04 6.271637325D-04 1.040678281D-03 1.082029737D-03 1.564463377D-03 1.605814832D-03 1.785004470D-03 1.819464015D-03 2.033113199D-03 2.081356563D-03 2.329465292D-03 2.363924838D-03 2.501763021D-03 2.563790203D-03 2.742979842D-03 2.784331297D-03 3.025548116D-03 3.053115753D-03 3.190953936D-03 3.232305391D-03 3.390819302D-03 3.425278847D-03 3.542441302D-03 3.563117030D-03 3.659603758D-03 3.687171395D-03 3.887036761D-03 3.928388215D-03 4.624471039D-03 5.313661954D-03 9.111103896D-03 9.255833988D-03 9.310969261D-03 9.428131716D-03 9.441915535D-03 9.565969899D-03 9.607321355D-03 9.772727173D-03 9.793402902D-03 9.945024899D-03 9.979484453D-03 1.014489027D-02 1.017934981D-02 1.025516081D-02 1.028962036D-02 1.055151290D-02 1.057908054D-02 1.068935109D-02 1.071002682D-02 1.088232455D-02 1.091678409D-02 1.095124364D-02 1.122692000D-02 1.125448764D-02 1.140610965D-02 1.144056919D-02 1.160597500D-02 1.163354264D-02 1.174381319D-02 1.177138083D-02 1.190921901D-02 1.192989473D-02 1.225381447D-02 1.228827401D-02 1.239854456D-02 1.242611219D-02 1.261908565D-02 1.263286947D-02 1.275003192D-02 1.277070766D-02 1.299124875D-02 1.301192447D-02 1.318422220D-02 1.320489793D-02 1.337719566D-02 1.339787139D-02 1.353570957D-02 1.356327721D-02 1.370111539D-02 1.374246684D-02 1.390787266D-02 1.479003704D-02 1.523111922D-02 1.893896634D-02 1.924910225D-02 1.931802135D-02 1.933869707D-02 1.952477862D-02 1.955923816D-02 1.962815726D-02 1.964883298D-02 2.006234754D-02 2.008302326D-02 2.018640190D-02 2.021396954D-02 2.024842908D-02 2.026910481D-02 2.040694299D-02 2.042761872D-02 2.051721354D-02 2.053788926D-02 2.071707890D-02 2.074464654D-02 2.093761999D-02 2.095829573D-02 2.128910736D-02 2.130978309D-02 2.147518891D-02 2.149586463D-02 2.167505428D-02 2.169573000D-02 2.179221673D-02 2.181289246D-02 2.194383873D-02 2.197140637D-02 2.201964973D-02 2.204032546D-02 2.214370410D-02 2.217127174D-02 2.225397464D-02 2.228154228D-02 2.235046137D-02 2.239870473D-02 2.267438110D-02 2.301208465D-02 2.303276037D-02 2.316370665D-02 2.318438238D-02 2.334978820D-02 2.337046392D-02 2.359789693D-02 2.373573511D-02 2.375641084D-02 2.392870857D-02 2.394938429D-02 2.405965484D-02 2.483154866D-02 2.545182049D-02 2.913899188D-02 2.942156016D-02 2.948358734D-02 2.951115498D-02 2.960074980D-02 2.962142552D-02 2.970412844D-02 2.972480416D-02 2.984196661D-02 2.986264235D-02 2.990399379D-02 2.993156143D-02 3.006250771D-02 3.008318344D-02 3.018656208D-02 3.021412971D-02 3.038642744D-02 3.040710317D-02 3.062075235D-02 3.063453617D-02 3.676213259D-01 3.678418670D-01 3.679797052D-01 3.681313272D-01 3.682898411D-01 3.684621388D-01 3.686137608D-01 0.000000000D-01 2.706870341D-05 5.413740683D-05 7.970229339D-05 1.052671799D-04 1.353435171D-04 2.446559644D-02 2.600700871D-02 2.812438285D-02 2.815897063D-02 2.820258132D-02 2.823416147D-02 2.826123017D-02 2.828679507D-02 2.831386377D-02 3.037108523D-02 3.100268832D-02 3.705705497D-02 3.710968857D-02 3.715179543D-02 3.719540612D-02 3.722698627D-02 3.725405498D-02 3.728713895D-02 3.738488705D-02 3.743000155D-02 3.746910080D-02 3.751571912D-02 3.754880308D-02 3.760143668D-02 3.762399394D-02 3.894133749D-02 3.896840620D-02 3.906465047D-02 3.911878787D-02 3.919097110D-02 3.927067338D-02 3.929473445D-02 3.939549018D-02 3.945564286D-02 3.950978027D-02 3.953835278D-02 3.960752836D-02 3.967219249D-02 3.970828410D-02 3.974587952D-02 3.978798638D-02 3.984813906D-02 4.114142155D-02 4.116698645D-02 4.119405515D-02 4.125270400D-02 4.185423075D-02 4.318962010D-02 4.372347509D-02 4.383626137D-02 4.395957434D-02 4.398664305D-02 4.411145985D-02 4.426635299D-02 4.546188738D-02 4.574310113D-02 4.578370419D-02 4.582280343D-02 4.585287977D-02 4.589949808D-02 4.599875001D-02 4.603484160D-02 4.608897900D-02 4.612807825D-02 4.617469658D-02 4.621529963D-02 4.625590269D-02 4.765595616D-02 4.778378060D-02 4.783641420D-02 4.792814703D-02 4.806649818D-02 4.810710124D-02 4.819883406D-02 4.823492567D-02 4.837327681D-02 4.846500965D-02 4.981994863D-02 4.992822344D-02 5.002897918D-02 5.013725399D-02 5.021695627D-02 5.026357460D-02 5.034327690D-02 5.199897926D-02 5.207567392D-02 5.214184185D-02 5.218996399D-02 5.226064338D-02 5.235087240D-02 5.244862050D-02 5.249975027D-02 5.252982661D-02 5.256892583D-02 5.261704799D-02 5.265765105D-02 5.267569684D-02 5.273584952D-02 5.278096402D-02 5.280502509D-02 5.291931517D-02 5.411033812D-02 5.420808622D-02 5.431936867D-02 5.439907095D-02 5.451035340D-02 5.456900227D-02 5.467426945D-02 5.471487251D-02 5.483668167D-02 5.491187251D-02 5.494044502D-02 5.634049852D-02 5.642170463D-02 5.656005578D-02 5.659915503D-02 5.662923135D-02 5.666833059D-02 5.680367411D-02 5.685781152D-02 5.693300236D-02 5.699917031D-02 5.703526190D-02 5.708188022D-02 5.848494136D-02 5.853155969D-02 5.857517038D-02 5.861126197D-02 5.866690320D-02 5.875262076D-02 5.880675816D-02 5.884736122D-02 5.888194900D-02 5.891202534D-02 5.893608641D-02 5.897969710D-02 5.902030015D-02 5.912255970D-02 5.920376581D-02 5.925339177D-02 5.934362079D-02 6.059178878D-02 6.063840709D-02 6.071359795D-02 6.076172008D-02 6.080232314D-02 6.084142236D-02 6.090458268D-02 6.101736894D-02 6.108052925D-02 6.110609415D-02 6.114519337D-02 6.122038421D-02 6.127903308D-02 6.133166666D-02 6.146249873D-02 6.168957508D-02 6.281142246D-02 6.283698734D-02 6.286405604D-02 6.292420872D-02 6.297533849D-02 6.301594154D-02 6.308361330D-02 6.312722399D-02 6.316331561D-02 6.320692628D-02 6.325655224D-02 6.331820873D-02 6.338588048D-02 6.342347590D-02 6.344603316D-02 6.347911714D-02 6.353175072D-02 6.359641486D-02 6.513181185D-02 6.517692637D-02 6.521452179D-02 6.525813248D-02 6.531226989D-02 6.535588058D-02 6.540851416D-02 6.545513249D-02 6.550024699D-02 6.558446073D-02 6.563408670D-02 6.567168211D-02 6.572882716D-02 6.710481957D-02 6.713339210D-02 6.717700279D-02 6.721159057D-02 6.724467455D-02 6.728226997D-02 6.732136919D-02 6.736949135D-02 6.740859058D-02 6.756047608D-02 6.759656769D-02 6.767927761D-02 6.772138449D-02 6.777702571D-02 6.926881203D-02 6.939362883D-02 6.941768990D-02 6.944475860D-02 6.947182731D-02 6.971093420D-02 6.974251434D-02 6.977108685D-02 6.979214031D-02 6.985379679D-02 6.988988840D-02 6.996357541D-02 6.998914031D-02 7.003124717D-02 7.149145335D-02 7.155160603D-02 7.160875107D-02 7.165236174D-02 7.172153733D-02 7.176965946D-02 7.179221672D-02 7.184184266D-02 7.188846099D-02 7.191853733D-02 7.199372817D-02 7.206440756D-02 7.208395719D-02 7.212756788D-02 7.218922437D-02 7.221478926D-02 7.225539232D-02 7.231704880D-02 7.239223964D-02 7.247194194D-02 7.356972824D-02 7.366146106D-02 7.371559847D-02 7.377274351D-02 7.382387329D-02 7.387199542D-02 7.390959086D-02 7.393966718D-02 7.397425498D-02 7.402989620D-02 7.406147634D-02 7.410959850D-02 7.413666720D-02 7.417727026D-02 7.421185804D-02 7.585252223D-02 7.592169780D-02 7.596981993D-02 7.600140010D-02 7.603147644D-02 7.606606423D-02 7.610065201D-02 7.615779705D-02 7.626907950D-02 7.630065965D-02 7.632020927D-02 7.635479705D-02 7.638336959D-02 7.641946118D-02 7.646156806D-02 8.230088892D-02 8.450698825D-02 8.513859131D-02 8.662436236D-02 9.095535491D-02 9.098843889D-02 9.101400378D-02 9.104107248D-02 9.106362972D-02 9.108769079D-02 9.111776713D-02 0.000000000D-01 6.544148519D-04 5.462182629D-02 8.293617554D-02 1.190162477D-01 1.491193309D-01 1.497737457D-01 1.820582118D-01 1.838033180D-01 1.844577328D-01 1.886023602D-01 1.917871792D-01 1.927469877D-01 1.951465088D-01 1.955827853D-01 1.964553384D-01 1.975460299D-01 1.984185830D-01 1.995092744D-01 2.003818276D-01 2.012543807D-01 2.024759551D-01 2.049627315D-01 2.489394096D-01 2.512080477D-01 2.553526751D-01 2.579703345D-01 2.592791642D-01 0.000000000D-01 5.260670577D-04 1.092600812D-03 1.477034431D-03 1.861468050D-03 2.286368366D-03 2.650568636D-03 1.710324938D-01 1.800363338D-01 1.957374121D-01 1.978619137D-01 2.071490206D-01 2.261683681D-01 2.574288913D-01 2.654210639D-01 2.952854860D-01 3.136775997D-01 3.142846003D-01 3.197476044D-01 3.427529214D-01 3.549536305D-01 0.000000000D-01 4.708254894D-04 1.000504165D-03 2.569922463D-03 3.021130222D-03 3.413484797D-03 3.923545745D-03 4.257047131D-03 4.727872622D-03 5.139844924D-03 6.003024989D-03 6.024604491D-02 6.132501998D-02 8.153128057D-02 8.486629446D-02 8.594526953D-02 9.202676544D-02 9.310574051D-02 9.634266576D-02 9.732355219D-02 1.081133030D-01 1.130177352D-01 1.139986216D-01 1.192954084D-01 1.225323336D-01 1.234151314D-01 1.385207825D-01 1.409729986D-01 1.418557964D-01 1.477411150D-01 1.489181787D-01 1.504875970D-01 1.514684835D-01 1.541168769D-01 1.550977633D-01 1.669664892D-01 1.701053258D-01 1.726556305D-01 1.755002011D-01 1.765791762D-01 1.806008106D-01 1.816797857D-01 1.927638024D-01 1.954121958D-01 1.963930822D-01 1.999242734D-01 2.014936917D-01 2.091446059D-01 2.227789274D-01 2.238579025D-01 2.282718914D-01 2.291546892D-01 0.000000000D-01 5.256277727D-03 9.940548759D-03 1.162951447D-02 3.221402562D-02 3.344306704D-02 3.353968979D-02 3.361698799D-02 3.389526152D-02 3.398028954D-02 3.410783157D-02 3.419672450D-02 3.427015780D-02 3.435132091D-02 3.450591731D-02 3.461413479D-02 3.473781192D-02 3.767127868D-02 3.777176634D-02 3.786838909D-02 3.791090311D-02 3.801912059D-02 3.816598717D-02 3.831671866D-02 3.839015196D-02 3.846745016D-02 3.850609926D-02 3.873799386D-02 3.898148320D-02 3.910516032D-02 3.941048822D-02 3.958054427D-02 3.976605995D-02 4.005206330D-02 4.017960532D-02 4.028395790D-02 4.039604029D-02 4.063179981D-02 4.333723688D-02 4.360391567D-02 4.367348405D-02 4.378170154D-02 4.389378393D-02 4.400973123D-02 4.416819254D-02 4.427254512D-02 4.438076260D-02 4.446579062D-02 4.456241337D-02 4.465517121D-02 4.473246942D-02 4.483295708D-02 4.493730965D-02 4.499528330D-02 4.506098678D-02 4.519239372D-02 4.526969192D-02 4.874424609D-02 4.882540921D-02 4.897614070D-02 4.903411435D-02 4.908435818D-02 4.918098094D-02 4.929306333D-02 4.934330716D-02 4.942447027D-02 4.950176847D-02 4.960612105D-02 4.979163673D-02 4.995009804D-02 5.009696463D-02 5.019358738D-02 5.033658906D-02 5.039069780D-02 5.050278019D-02 5.062645731D-02 5.077718880D-02 5.087381155D-02 5.097816413D-02 5.105546233D-02 5.113662544D-02 5.127962712D-02 5.138784460D-02 5.152311645D-02 5.159654974D-02 5.166611812D-02 5.176660579D-02 5.437928501D-02 5.446431303D-02 5.454161123D-02 5.461117961D-02 5.468847782D-02 5.478896548D-02 5.492423733D-02 5.502472500D-02 5.523343014D-02 5.531845816D-02 5.558513696D-02 5.570108424D-02 5.584022101D-02 5.605665598D-02 5.612235947D-02 5.640449789D-02 5.659001361D-02 5.681804329D-02 5.993702570D-02 5.996794500D-02 6.014186596D-02 6.023462382D-02 6.033897639D-02 6.042013948D-02 6.052062717D-02 6.061724992D-02 6.069068319D-02 6.077184628D-02 6.088006379D-02 6.098055142D-02 6.118539168D-02 6.125109518D-02 6.143661085D-02 6.173420891D-02 6.183856148D-02 6.193904917D-02 6.544452262D-02 6.551022606D-02 6.557592956D-02 6.566095759D-02 6.586966273D-02 6.595082583D-02 6.615566609D-02 6.626388355D-02 6.635277647D-02 6.642234485D-02 6.649964305D-02 6.663104999D-02 6.672380785D-02 6.680883589D-02 6.695183754D-02 6.696729719D-02 6.711029884D-02 6.740789696D-02 6.748519511D-02 6.759727751D-02 6.770549502D-02 6.786009144D-02 6.800695797D-02 6.808039130D-02 6.821566312D-02 6.830069115D-02 7.095974931D-02 7.104091240D-02 7.118004917D-02 7.119937376D-02 7.134624029D-02 7.143899815D-02 7.151243148D-02 7.206124870D-02 7.236271165D-02 7.252503790D-02 7.260233610D-02 7.287287980D-02 7.321685683D-02 7.331734446D-02 7.350672507D-02 7.357629345D-02 7.364586183D-02 7.390481082D-02 7.660638294D-02 7.677257406D-02 7.692330559D-02 7.704698271D-02 7.720157912D-02 7.733298606D-02 7.759193505D-02 7.766150343D-02 7.773107181D-02 7.783928927D-02 7.801707516D-02 7.810983297D-02 7.821805048D-02 7.829921358D-02 7.840743103D-02 7.846926964D-02 7.857748710D-02 7.867024496D-02 7.885189574D-02 7.888281499D-02 8.230712535D-02 8.236896390D-02 8.259312870D-02 8.282888821D-02 8.309556703D-02 8.315740558D-02 8.341248963D-02 8.344340893D-02 8.345886853D-02 8.377192625D-02 8.391106301D-02 8.403087524D-02 8.416228217D-02 8.427049969D-02 8.440963645D-02 8.449852937D-02 8.461834160D-02 8.469563980D-02 8.476520819D-02 8.483091163D-02 8.491593966D-02 8.771799947D-02 8.783008186D-02 8.790738007D-02 8.806584137D-02 8.819724831D-02 8.823203250D-02 8.836730438D-02 8.850257620D-02 8.864944279D-02 8.880017432D-02 8.899728470D-02 8.907071802D-02 8.914415129D-02 8.929488277D-02 8.959248089D-02 8.970456328D-02 8.990167366D-02 9.011037881D-02 9.031521907D-02 9.037319268D-02 9.042343652D-02 9.054324875D-02 9.326414546D-02 9.333757873D-02 9.356174353D-02 9.363517685D-02 9.374339431D-02 9.489127260D-02 1.067874659D-01 4.422903425D-01 4.422903425D-01 4.461031903D-01 4.461031903D-01 4.590668727D-01 3.869240137D-01 2.568374918D-01 2.568374918D-01 2.568374918D-01 2.568374918D-01 2.568374918D-01 2.568374918D-01 2.568374918D-01 2.568374918D-01 4.016004418D-01 4.016004418D-01 4.978494921D-01 4.978494921D-01 5.021412980D-01 5.021412980D-01 4.967845916D-01 5.010672174D-01 5.010672174D-01 5.010672174D-01 4.456728317D-01 4.456728317D-01 4.456728317D-01 4.495148389D-01 4.495148389D-01 3.297169252D-01 3.325593125D-01 3.325593125D-01 3.325593125D-01 3.325593125D-01 3.325593125D-01 3.325593125D-01 3.325593125D-01 3.422234292D-01 4.978494921D-01 4.978494921D-01 5.021412980D-01 5.021412980D-01 6.938255721D-01 7.201430938D-01 3.182345893D-01 2.729684624D-01 3.209779909D-01 3.209779909D-01 3.209779909D-01 3.209779909D-01 3.209779909D-01 3.209779909D-01 3.209779909D-01 3.209779909D-01 5.583848458D-01 4.789594152D-01 4.789594152D-01 4.789594152D-01 3.085908655D-01 2.646964752D-01 2.646964752D-01 2.646964752D-01 2.646964752D-01 2.646964752D-01 2.646964752D-01 3.112511316D-01 3.112511316D-01 3.112511316D-01 3.112511316D-01 3.112511316D-01 3.012034630D-01 2.583598670D-01 2.583598670D-01 1.934453276D-01 3.038000446D-01 3.038000446D-01 3.038000446D-01 3.038000446D-01 3.038000446D-01 3.038000446D-01 3.038000446D-01 3.038000446D-01 7.040655037D-01 7.101350339D-01 5.740464387D-01 5.789951149D-01 5.789951149D-01 5.630250734D-01 5.843811969D-01 5.843811969D-01 4.364682802D-01 4.402309378D-01 4.530239736D-01 4.530239736D-01 4.530239736D-01 4.895895636D-01 4.938101633D-01 5.081602022D-01 5.081602022D-01 4.895895636D-01 4.938101633D-01 5.081602022D-01 5.081602022D-01 3.271428450D-01 3.271428450D-01 3.271428450D-01 3.299630420D-01 3.299630420D-01 3.395517116D-01 3.395517116D-01 3.395517116D-01 3.395517116D-01 4.906087670D-01 4.906087670D-01 5.092180650D-01 5.092180650D-01 4.906087670D-01 4.906087670D-01 5.092180650D-01 5.092180650D-01 3.109275565D-01 3.109275565D-01 3.109275565D-01 3.109275565D-01 3.136079665D-01 3.136079665D-01 3.227213604D-01 3.227213604D-01 3.227213604D-01 3.227213604D-01 4.861073341D-01 5.045458881D-01 5.045458881D-01 5.045458881D-01 4.906087670D-01 4.906087670D-01 5.092180650D-01 5.092180650D-01 4.861073341D-01 5.045458881D-01 5.045458881D-01 5.045458881D-01 5.630250734D-01 5.843811969D-01 5.843811969D-01 4.906087670D-01 4.906087670D-01 5.092180650D-01 5.092180650D-01 4.906087670D-01 4.906087670D-01 5.092180650D-01 5.092180650D-01 5.630250734D-01 5.843811969D-01 5.843811969D-01 4.861073341D-01 5.045458881D-01 5.045458881D-01 5.045458881D-01 4.861073341D-01 5.045458881D-01 5.045458881D-01 5.045458881D-01 5.630250734D-01 5.843811969D-01 5.843811969D-01 4.389837175D-01 4.427680599D-01 4.427680599D-01 4.556348240D-01 4.556348240D-01 1.412095294D-01 1.412095294D-01 1.412095294D-01 1.412095294D-01 1.412095294D-01 1.412095294D-01 1.412095294D-01 1.412095294D-01 1.412095294D-01 1.412095294D-01 1.412095294D-01 1.412095294D-01 1.412095294D-01 1.412095294D-01 1.412095294D-01 1.412095294D-01 1.412095294D-01 1.412095294D-01 1.412095294D-01 1.412095294D-01 1.412095294D-01 1.412095294D-01 1.412095294D-01 1.412095294D-01 1.412095294D-01 1.916415041D-01 1.916415041D-01 1.916415041D-01 1.916415041D-01 1.916415041D-01 1.916415041D-01 1.916415041D-01 1.916415041D-01 1.916415041D-01 1.916415041D-01 1.916415041D-01 2.208003550D-01 2.208003550D-01 1.880175106D-01 1.880175106D-01 1.880175106D-01 1.880175106D-01 2.600501932D-01 2.600501932D-01 2.600501932D-01 2.600501932D-01 2.600501932D-01 2.600501932D-01 2.600501932D-01 2.600501932D-01 2.600501932D-01 2.600501932D-01 2.600501932D-01 1.819130460D-01 2.856889447D-01 1.965405038D-01 1.965405038D-01 1.965405038D-01 1.965405038D-01 2.103813844D-01 2.103813844D-01 2.103813844D-01 2.159177366D-01 2.159177366D-01 2.159177366D-01 2.159177366D-01 2.159177366D-01 2.159177366D-01 2.159177366D-01 2.159177366D-01 2.159177366D-01 1.506810529D-01 1.506810529D-01 1.506810529D-01 1.506810529D-01 1.836223486D-01 1.836223486D-01 1.836223486D-01 1.836223486D-01 1.836223486D-01 1.836223486D-01 2.017301746D-01 2.017301746D-01 2.017301746D-01 2.159365249D-01 2.159365249D-01 2.159365249D-01 2.159365249D-01 2.216190650D-01 2.216190650D-01 2.216190650D-01 2.216190650D-01 2.216190650D-01 2.216190650D-01 2.216190650D-01 2.216190650D-01 2.216190650D-01 1.546598005D-01 1.546598005D-01 1.546598005D-01 1.884709143D-01 1.884709143D-01 1.884709143D-01 1.884709143D-01 1.884709143D-01 4.217978911D-01 4.217978911D-01 4.633835986D-01 4.633835986D-01 4.633835986D-01 3.155111430D-01 3.155111430D-01 3.155111430D-01 3.155111430D-01 3.155111430D-01 3.155111430D-01 3.155111430D-01 2.207096728D-01 3.566905317D-01 3.566905317D-01 2.156596946D-01 2.156596946D-01 2.156596946D-01 2.156596946D-01 2.156596946D-01 2.156596946D-01 2.156596946D-01 2.156596946D-01 2.156596946D-01 2.156596946D-01 2.156596946D-01 2.156596946D-01 2.156596946D-01 2.156596946D-01 2.156596946D-01 2.156596946D-01 2.510665101D-01 2.510665101D-01 2.510665101D-01 2.583624600D-01 5.082986434D-01 6.089468325D-01 6.089468325D-01 2.545035319D-01 2.545035319D-01 2.545035319D-01 2.545035319D-01 2.545035319D-01 2.646330257D-01 2.646330257D-01 2.646330257D-01 2.646330257D-01 2.646330257D-01 2.646330257D-01 2.646330257D-01 3.048977636D-01 3.048977636D-01 3.025773701D-01 3.025773701D-01 3.387708354D-01 3.387708354D-01 3.387708354D-01 3.387708354D-01 3.387708354D-01 3.486154580D-01 3.486154580D-01 2.650084512D-01 2.650084512D-01 2.891001286D-01 2.891001286D-01 2.891001286D-01 2.891001286D-01 2.891001286D-01 2.891001286D-01 2.891001286D-01 2.967080267D-01 3.053303112D-01 3.053303112D-01 5.230719651D-01 6.026589913D-01 6.026589913D-01 2.657998556D-01 2.899634788D-01 2.899634788D-01 2.899634788D-01 2.899634788D-01 2.899634788D-01 2.899634788D-01 2.899634788D-01 2.899634788D-01 2.899634788D-01 2.899634788D-01 2.975940967D-01 2.574200075D-01 2.574200075D-01 2.808218264D-01 2.808218264D-01 2.808218264D-01 2.808218264D-01 2.808218264D-01 2.808218264D-01 2.808218264D-01 2.808218264D-01 2.808218264D-01 2.808218264D-01 2.808218264D-01 3.083035201D-01 3.363311129D-01 3.363311129D-01 3.363311129D-01 3.363311129D-01 3.363311129D-01 3.363311129D-01 3.363311129D-01 3.363311129D-01 2.018021360D-01 2.018021360D-01 2.018021360D-01 2.018021360D-01 2.018021360D-01 2.018021360D-01 2.018021360D-01 3.169241600D-01 3.169241600D-01 3.169241600D-01 3.169241600D-01 3.169241600D-01 3.261339219D-01 3.261339219D-01 2.974585708D-01 4.671497018D-01 4.807249923D-01 4.807249923D-01 4.807249923D-01 2.680898894D-01 4.210270747D-01 4.332620495D-01 4.332620495D-01 4.332620495D-01 4.332620495D-01 3.127504512D-01 3.127504512D-01 3.127504512D-01 3.127504512D-01 3.127504512D-01 5.054383131D-01 5.054383131D-01 3.126394842D-01 3.126394842D-01 3.126394842D-01 3.126394842D-01 3.126394842D-01 3.126394842D-01 3.126394842D-01 3.126394842D-01 3.301911746D-01 3.301911746D-01 1.853548275D-01 1.853548275D-01 1.853548275D-01 1.853548275D-01 1.853548275D-01 1.853548275D-01 1.853548275D-01 1.853548275D-01 1.853548275D-01 1.853548275D-01 1.853548275D-01 1.853548275D-01 1.853548275D-01 1.853548275D-01 1.853548275D-01 1.853548275D-01 1.853548275D-01 1.853548275D-01 1.853548275D-01 1.853548275D-01 1.853548275D-01 1.853548275D-01 1.853548275D-01 1.853548275D-01 1.853548275D-01 1.853548275D-01 1.853548275D-01 1.902325862D-01 1.902325862D-01 3.126394842D-01 3.126394842D-01 3.126394842D-01 3.126394842D-01 3.126394842D-01 3.126394842D-01 3.126394842D-01 3.126394842D-01 3.301911746D-01 3.301911746D-01 4.006137334D-01 4.006137334D-01 4.006137334D-01 4.006137334D-01 4.231043289D-01 4.231043289D-01 3.718817593D-01 3.718817593D-01 3.718817593D-01 3.718817593D-01 3.718817593D-01 3.927593318D-01 3.927593318D-01 4.861669392D-01 4.861669392D-01 5.134605218D-01 5.134605218D-01 3.765330307D-01 3.765330307D-01 3.765330307D-01 3.765330307D-01 3.765330307D-01 3.765330307D-01 3.864417947D-01 4.927885537D-01 4.927885537D-01 5.071089048D-01 5.071089048D-01 3.748203801D-01 3.748203801D-01 3.748203801D-01 3.748203801D-01 3.748203801D-01 3.857125962D-01 3.857125962D-01 4.665134071D-01 4.665134071D-01 3.221733615D-01 4.800702070D-01 4.800702070D-01 4.066987888D-01 4.066987888D-01 2.808654883D-01 2.808654883D-01 2.838201377D-01 2.838201377D-01 4.185173861D-01 4.185173861D-01 4.927885537D-01 4.927885537D-01 5.071089048D-01 5.071089048D-01 3.901704008D-01 3.901704008D-01 3.901704008D-01 2.694510118D-01 2.722855831D-01 2.722855831D-01 4.015086859D-01 4.015086859D-01 3.524857528D-01 3.524857528D-01 2.434260584D-01 2.434260584D-01 2.434260584D-01 2.434260584D-01 2.434260584D-01 2.459868523D-01 3.627289285D-01 3.627289285D-01 3.627289285D-01 4.222880197D-01 2.916313846D-01 2.916313846D-01 2.916313846D-01 4.345596374D-01 4.345596374D-01 4.345596374D-01 4.460716747D-01 3.080563360D-01 3.080563360D-01 3.080563360D-01 3.080563360D-01 4.590344413D-01 4.590344413D-01 4.927885537D-01 4.927885537D-01 5.071089048D-01 5.071089048D-01 4.927885537D-01 4.927885537D-01 5.071089048D-01 5.071089048D-01 4.927885537D-01 4.927885537D-01 5.071089048D-01 5.071089048D-01 5.717587342D-01 5.717587342D-01 5.883739453D-01 5.663265740D-01 5.827839274D-01 5.827839274D-01 5.663265740D-01 5.827839274D-01 5.827839274D-01 4.395066301D-01 4.395066301D-01 4.522786176D-01 4.522786176D-01 4.522786176D-01 4.395066301D-01 4.395066301D-01 4.522786176D-01 4.522786176D-01 4.522786176D-01 5.663265740D-01 5.827839274D-01 5.827839274D-01 4.892979052D-01 5.035168187D-01 5.035168187D-01 5.035168187D-01 5.663265740D-01 5.827839274D-01 5.827839274D-01 2.565760265D-01 2.565760265D-01 2.565760265D-01 2.565760265D-01 2.565760265D-01 2.565760265D-01 2.592751554D-01 2.592751554D-01 2.592751554D-01 2.592751554D-01 2.592751554D-01 2.592751554D-01 2.592751554D-01 2.592751554D-01 2.592751554D-01 3.665983220D-01 3.665983220D-01 3.665983220D-01 5.462677967D-01 5.462677967D-01 1.208275568D-01 1.208320124D-01 1.208275568D-01 1.208310576D-01 1.208294663D-01 1.208307393D-01 1.208291481D-01 1.301511903D-01 1.284921208D-01 1.301543729D-01 1.305932482D-01 1.305942030D-01 1.311915699D-01 1.326959669D-01 1.326950121D-01 1.326953304D-01 1.329365686D-01 1.343986376D-01 1.305907022D-01 1.321297891D-01 1.305884744D-01 1.286814832D-01 1.280510177D-01 1.291381809D-01 1.304824950D-01 1.321762545D-01 1.330511408D-01 1.341102974D-01 1.347499924D-01 1.362120614D-01 1.359386793D-01 1.353807762D-01 1.345727237D-01 1.345724054D-01 1.340122745D-01 1.332777392D-01 1.327771222D-01 1.316466762D-01 1.311065955D-01 1.307176864D-01 1.317768430D-01 1.311046859D-01 1.325444770D-01 1.325444770D-01 1.325441587D-01 1.325444770D-01 1.350157363D-01 1.360265180D-01 1.371989738D-01 1.350714312D-01 1.336529633D-01 1.327774405D-01 1.327780770D-01 1.327780770D-01 1.332783757D-01 1.340122745D-01 1.345717689D-01 1.350593374D-01 1.555298032D-01 1.555298032D-01 1.555310148D-01 1.555314187D-01 1.555310148D-01 1.555306109D-01 1.555322264D-01 1.555314187D-01 1.555298032D-01 1.555334379D-01 1.555334379D-01 1.555322264D-01 1.555334379D-01 1.555342456D-01 1.555322264D-01 1.555326302D-01 1.555338418D-01 1.555298032D-01 1.555342456D-01 1.582869283D-01 1.582869283D-01 1.582881399D-01 1.582869283D-01 1.582877361D-01 1.582881399D-01 1.555342456D-01 1.555314187D-01 1.555302071D-01 1.555318225D-01 1.555358611D-01 1.555322264D-01 1.592751641D-01 1.582857168D-01 1.582873322D-01 1.527508699D-01 1.527532930D-01 1.527496583D-01 1.527480429D-01 1.592755679D-01 1.592755679D-01 1.592751641D-01 1.848500633D-01 1.818042753D-01 1.848525606D-01 1.818062732D-01 1.848555575D-01 1.818092700D-01 1.848560570D-01 1.970447032D-01 1.993322908D-01 1.993397829D-01 1.970452027D-01 1.918272054D-01 1.970501974D-01 1.970452027D-01 1.970511964D-01 1.970457022D-01 1.970496979D-01 1.970462016D-01 1.970511964D-01 1.970447032D-01 1.970472006D-01 1.918262065D-01 1.918292033D-01 1.918222107D-01 1.918287038D-01 1.918227102D-01 1.918287038D-01 2.097331186D-01 2.097489127D-01 2.097510186D-01 2.097357510D-01 2.097399627D-01 2.057208988D-01 2.057293223D-01 2.075314255D-01 2.097425951D-01 2.097346980D-01 2.075208961D-01 2.097420686D-01 2.097346980D-01 2.075230020D-01 2.075308990D-01 2.097452274D-01 2.097368039D-01 2.075224755D-01 2.075277402D-01 2.097389098D-01 2.097368039D-01 2.057198459D-01 2.067601485D-01 2.137362364D-01 2.115680705D-01 2.137400623D-01 2.137378761D-01 2.137389692D-01 2.137378761D-01 2.137389692D-01 2.137362364D-01 2.118085527D-01 2.137367830D-01 2.137356899D-01 2.137329571D-01 2.137351433D-01 2.137384226D-01 2.137367830D-01 2.137351433D-01 2.118058200D-01 2.118025407D-01 2.117998079D-01 2.118041803D-01 2.137296778D-01 2.137400623D-01 1.864087635D-01 1.864077953D-01 1.843602198D-01 1.830837524D-01 1.843607038D-01 1.875240387D-01 1.875230705D-01 1.864591057D-01 1.864586217D-01 1.864557173D-01 1.864552333D-01 1.864445839D-01 1.864552333D-01 1.864450680D-01 1.864562014D-01 1.800099688D-01 1.821955016D-01 1.821974378D-01 1.791865820D-01 1.875191981D-01 1.875245227D-01 1.875250068D-01 1.864566854D-01 1.875191981D-01 1.864576536D-01 1.864595898D-01 1.864566854D-01 1.864562014D-01 1.875216184D-01 1.554535810D-01 1.513304366D-01 1.532725716D-01 1.514262229D-01 1.517671903D-01 1.517667962D-01 1.514218869D-01 1.517667962D-01 1.517648252D-01 1.532741484D-01 1.532713891D-01 1.517644311D-01 1.517656136D-01 1.514254345D-01 1.532733600D-01 1.549687371D-01 1.549718905D-01 1.569554147D-01 1.549722847D-01 1.539434695D-01 1.540242768D-01 1.509685775D-01 1.517671903D-01 1.517648252D-01 1.517640369D-01 1.517652194D-01 1.509654240D-01 1.509654240D-01 1.517644311D-01 1.517656136D-01 1.532769077D-01 1.532749367D-01 1.517640369D-01 1.517656136D-01 1.509681833D-01 1.509638473D-01 1.517624602D-01 1.517667962D-01 1.549730731D-01 1.532698124D-01 1.517632485D-01 1.517648252D-01 1.517632485D-01 7.879069361D-02 7.652106471D-02 7.652126512D-02 7.664772303D-02 7.664772303D-02 7.666555940D-02 7.574628454D-02 7.574608413D-02 7.699162441D-02 7.699142400D-02 7.789266208D-02 7.789266208D-02 7.834177805D-02 7.834157764D-02 7.849068174D-02 7.849048133D-02 7.865321322D-02 7.865301281D-02 7.849028092D-02 7.849048133D-02 7.834097642D-02 7.834097642D-02 7.789206085D-02 7.789206085D-02 7.699002114D-02 7.699022155D-02 7.538434637D-02 7.538434637D-02 7.574387964D-02 7.574387964D-02 7.574608413D-02 7.574628454D-02 7.574688577D-02 7.574728659D-02 7.574788781D-02 7.574548291D-02 7.574568332D-02 7.538594964D-02 7.538615005D-02 7.699222564D-02 7.699222564D-02 7.789386453D-02 7.789386453D-02 7.833857151D-02 7.833857151D-02 7.848807643D-02 7.848827684D-02 7.864960587D-02 7.864980628D-02 7.892616992D-02 7.892637033D-02 7.864920505D-02 7.864920505D-02 7.881955247D-02 7.881875084D-02 7.881935206D-02 7.864639933D-02 7.864619892D-02 7.881855043D-02 7.881855043D-02 7.864800260D-02 7.864820301D-02 7.892516788D-02 7.892496747D-02 7.848707438D-02 7.848707438D-02 7.833616661D-02 7.833616661D-02 7.788685023D-02 7.788725104D-02 7.698501093D-02 7.698521133D-02 7.537933615D-02 7.537953656D-02 7.573886942D-02 7.573906983D-02 7.637576837D-02 7.637576837D-02 7.665794387D-02 7.665774346D-02 7.637596878D-02 7.637596878D-02 7.573927024D-02 7.573927024D-02 7.574147473D-02 7.574187555D-02 7.574247678D-02 7.574307800D-02 7.574287759D-02 7.574147473D-02 7.574147473D-02 7.567153209D-02 7.567173249D-02 7.574147473D-02 7.574147473D-02 7.574107392D-02 7.574107392D-02 7.637797287D-02 7.637777246D-02 7.638598922D-02 7.638618963D-02 7.665974755D-02 7.665974755D-02 7.664231199D-02 7.664231199D-02 7.651545326D-02 7.651545326D-02 7.878307808D-02 7.878307808D-02 7.878247686D-02 7.878247686D-02 7.651425081D-02 7.651425081D-02 7.664050831D-02 7.664070872D-02 7.665854510D-02 7.665834469D-02 7.637737164D-02 7.637717124D-02 7.638538799D-02 7.638538799D-02 7.573927024D-02 7.573947065D-02 7.566992882D-02 7.566992882D-02 7.573947065D-02 7.573967105D-02 7.573866901D-02 7.788685023D-02 7.788664982D-02 7.833596620D-02 7.833596620D-02 7.848547111D-02 7.848567152D-02 7.788664982D-02 7.698481052D-02 7.698481052D-02 7.573826819D-02 7.573826819D-02 7.574027228D-02 7.574027228D-02 7.574147473D-02 7.574207596D-02 7.574227637D-02 7.574007187D-02 7.574027228D-02 7.538013779D-02 7.538013779D-02 7.574067310D-02 7.574067310D-02 7.637737164D-02 7.637757205D-02 7.638558840D-02 7.638538799D-02 7.665914632D-02 7.665914632D-02 7.664151036D-02 7.664151036D-02 7.651425081D-02 7.651445122D-02 7.878267727D-02 7.878267727D-02 7.540438724D-02 7.662447561D-02 7.540378602D-02 7.662467602D-02 7.540398643D-02 7.662487643D-02 7.540438724D-02 5.563999397D-02 5.654075309D-02 5.564014188D-02 5.654090099D-02 5.563999397D-02 5.654090099D-02 5.621727851D-02 5.621535571D-02 5.621579943D-02 5.654090099D-02 5.564014188D-02 5.654075309D-02 5.563999397D-02 5.654075309D-02 5.563999397D-02 5.621565152D-02 5.621757432D-02 5.616151723D-02 5.606064404D-02 5.677577874D-02 5.689277389D-02 5.705118325D-02 5.734936558D-02 5.754608308D-02 5.780610517D-02 5.793256643D-02 5.808032642D-02 5.819939228D-02 5.859312311D-02 5.850570954D-02 5.875892787D-02 5.875863205D-02 5.850541373D-02 5.750836657D-02 5.670670575D-02 5.603194991D-02 5.623014650D-02 5.623029440D-02 5.675521954D-02 5.715649368D-02 5.674811996D-02 5.675492373D-02 5.622999859D-02 5.603209782D-02 5.643070961D-02 5.670788901D-02 5.750807075D-02 5.850570954D-02 5.875818833D-02 5.850437837D-02 5.875818833D-02 5.923637457D-02 5.964489619D-02 5.964504410D-02 5.680713521D-02 5.588729598D-02 5.588744389D-02 5.636370733D-02 5.813298163D-02 5.964533992D-02 5.964460038D-02 5.964430456D-02 5.958454977D-02 5.951399770D-02 5.943960003D-02 5.961768114D-02 5.961723741D-02 5.958824747D-02 5.962478072D-02 6.023016775D-02 6.054920509D-02 6.075346591D-02 6.103034949D-02 6.102990577D-02 5.996171491D-02 5.996156701D-02 5.965480602D-02 6.127646824D-02 6.081514350D-02 6.033163257D-02 6.081558722D-02 5.863143126D-02 5.986675804D-02 5.986498315D-02 5.934538269D-02 5.957390040D-02 5.952997175D-02 5.986601850D-02 6.004912848D-02 5.986557478D-02 5.986513106D-02 5.968098572D-02 6.075213473D-02 6.103892815D-02 6.066279836D-02 6.130042932D-02 6.252140904D-02 6.235471683D-02 6.252111322D-02 6.130116886D-02 6.066235464D-02 6.103833652D-02 6.075272637D-02 5.968157735D-02 6.004898058D-02 5.986601850D-02 6.007797052D-02 6.007723098D-02 5.831195019D-02 5.951222280D-02 5.994736785D-02 5.971914596D-02 6.070362094D-02 6.030634032D-02 6.070332513D-02 5.990639736D-02 6.148989934D-02 6.189664607D-02 6.185360487D-02 6.100771959D-02 6.134894311D-02 6.100742377D-02 6.134923893D-02 6.185523186D-02 6.189679398D-02 5.990639736D-02 6.050438900D-02 6.070376885D-02 6.030693195D-02 6.070391676D-02 5.923045825D-02 5.932230906D-02 5.903684681D-02 5.932230906D-02 5.871470341D-02 5.874324963D-02 5.878185359D-02 5.874384126D-02 5.878214941D-02 5.871588667D-02 5.923134570D-02 5.932319651D-02 5.903773426D-02 6.070288140D-02 6.030545287D-02 6.070258559D-02 6.007737889D-02 6.007634354D-02 5.830973157D-02 5.951074373D-02 5.994559295D-02 5.971677943D-02 5.994544505D-02 5.957197760D-02 5.862980427D-02 6.081484768D-02 6.033118885D-02 6.013905649D-02 5.965406648D-02 5.996038374D-02 5.965391857D-02 6.033104094D-02 6.251963414D-02 6.251889460D-02 6.235249822D-02 6.251948624D-02 6.129968978D-02 6.066131928D-02 6.103804071D-02 5.968054200D-02 6.004809313D-02 5.952938012D-02 5.957301295D-02 5.934449525D-02 5.863069172D-02 5.934508688D-02 5.986527896D-02 6.004942430D-02 5.953026757D-02 5.957360458D-02 5.951207490D-02 5.831002739D-02 6.007649144D-02 5.994574086D-02 5.971811060D-02 6.070273350D-02 6.050379737D-02 5.990565782D-02 6.050409319D-02 6.070332513D-02 5.932304860D-02 5.903803008D-02 5.932334442D-02 5.923134570D-02 5.923045825D-02 5.871499922D-02 5.878200150D-02 5.874354545D-02 5.878229732D-02 5.874369335D-02 5.878200150D-02 5.871499922D-02 5.923045825D-02 5.960392570D-02 5.957375249D-02 5.999484628D-02 6.087356712D-02 6.176826201D-02 6.176826201D-02 6.260187094D-02 6.282876166D-02 6.300048273D-02 6.325695503D-02 6.325769457D-02 6.300063064D-02 6.282890956D-02 6.260201884D-02 6.297770491D-02 6.323698746D-02 6.336389244D-02 6.312339419D-02 6.295892061D-02 6.293155765D-02 6.293140974D-02 6.293155765D-02 6.293170555D-02 6.239820176D-02 6.235412520D-02 6.252066950D-02 6.130072514D-02 6.066279836D-02 6.103892815D-02 5.968098572D-02 5.986601850D-02 6.004927639D-02 5.968187317D-02 6.103966769D-02 6.066368581D-02 6.130220422D-02 6.235545637D-02 6.252200067D-02 6.172951014D-02 6.172980596D-02 5.996112328D-02 5.965524974D-02 5.965495393D-02 5.996112328D-02 6.103034949D-02 6.075287427D-02 6.054846556D-02 6.022913240D-02 5.958795165D-02 5.961768114D-02 5.943945212D-02 5.951399770D-02 5.958484558D-02 5.964460038D-02 5.964504410D-02 5.923607875D-02 5.875789251D-02 5.850408256D-02 5.842184576D-02 5.859164403D-02 5.819791320D-02 5.793167898D-02 5.754519564D-02 5.734818231D-02 5.705029580D-02 5.689233017D-02 5.677592665D-02 5.606064404D-02 5.616122141D-02 5.621594734D-02 5.621550361D-02 5.621609524D-02 5.621476407D-02 5.621491198D-02 5.563940234D-02 5.654016145D-02 5.563969816D-02 5.654030936D-02 5.563955025D-02 5.654045727D-02 1.889625121D-01 1.883666206D-01 1.889711335D-01 1.889751906D-01 1.889706263D-01 1.897643031D-01 1.900442453D-01 1.900396810D-01 1.897607531D-01 1.900396810D-01 1.897435103D-01 1.883316278D-01 1.883656063D-01 1.889589621D-01 1.883656063D-01 1.883311207D-01 1.897369174D-01 1.883306135D-01 1.889594692D-01 1.883656063D-01 1.883311207D-01 1.897364103D-01 1.897541602D-01 1.883686492D-01 1.865540962D-01 1.881901353D-01 1.881886139D-01 1.909388432D-01 2.180607298D-01 2.144670736D-01 2.180624981D-01 2.144670736D-01 2.180630875D-01 2.144694312D-01 2.180642663D-01 2.196480214D-01 2.196509684D-01 2.196521473D-01 2.168483055D-01 2.196297495D-01 2.196273919D-01 2.196268025D-01 2.196285707D-01 2.196279813D-01 2.196226766D-01 2.189295259D-01 2.168282655D-01 2.187232310D-01 2.187285357D-01 1.368006732D-01 1.345473413D-01 1.367991952D-01 1.345477109D-01 1.367999342D-01 1.345466023D-01 1.368003037D-01 1.345462328D-01 1.368017818D-01 1.345451242D-01 1.368010428D-01 1.441193829D-01 1.445694580D-01 1.441252952D-01 1.527979255D-01 1.528367251D-01 1.248071683D-01 1.250662017D-01 1.374384644D-01 1.359936419D-01 1.374366168D-01 1.527975559D-01 1.528370946D-01 1.250632455D-01 1.374362473D-01 1.359903163D-01 1.374366168D-01 1.445727837D-01 1.441256647D-01 1.248060597D-01 1.250658322D-01 1.248064293D-01 1.250676798D-01 1.374392035D-01 1.359936419D-01 1.374340302D-01 1.445742618D-01 1.441227086D-01 1.527957083D-01 1.528352470D-01 1.374358778D-01 1.359932724D-01 1.374362473D-01 1.441227086D-01 1.445720447D-01 1.528348775D-01 1.527957083D-01 1.250669407D-01 1.248038426D-01 1.250650931D-01 1.441238171D-01 1.445753703D-01 6.163892838D-02 6.163844147D-02 6.163909068D-02 6.163990219D-02 6.164022680D-02 6.157790263D-02 6.176860809D-02 6.178532526D-02 6.192441852D-02 6.183012075D-02 6.186858645D-02 6.188968578D-02 6.187378013D-02 6.163535772D-02 6.143929627D-02 6.187637697D-02 6.179766025D-02 6.187540316D-02 6.202261155D-02 6.187556546D-02 6.179652413D-02 6.143832246D-02 6.163454621D-02 6.187215711D-02 6.188838736D-02 6.186728803D-02 6.187264401D-02 6.157887644D-02 6.106210520D-02 6.086539454D-02 6.191695260D-02 6.267133474D-02 6.267912526D-02 6.267944987D-02 6.105707382D-02 6.254814712D-02 6.259667558D-02 6.191143432D-02 6.191029820D-02 6.259440334D-02 6.254668640D-02 6.105528850D-02 6.267815145D-02 6.267847605D-02 6.267068553D-02 6.222175675D-02 6.223214411D-02 6.248501144D-02 6.304479285D-02 6.329165499D-02 6.363070497D-02 6.376996053D-02 6.363232799D-02 6.385581857D-02 6.390613235D-02 6.393064003D-02 6.367339053D-02 6.367436434D-02 6.393210075D-02 6.390807998D-02 6.385744159D-02 6.363443792D-02 6.377207046D-02 6.363249029D-02 6.329311571D-02 6.304560436D-02 6.248582295D-02 6.223295562D-02 6.165386021D-02 6.143540101D-02 6.217598743D-02 6.305436870D-02 6.414828772D-02 6.442614964D-02 6.495103601D-02 6.540077630D-02 6.533455687D-02 6.487605224D-02 6.427715592D-02 6.374139529D-02 6.190510452D-02 6.331502655D-02 6.381524294D-02 6.473095378D-02 6.517744803D-02 6.525957311D-02 6.533731602D-02 6.540207472D-02 6.533585529D-02 6.487686375D-02 6.427796744D-02 6.374171989D-02 6.190575373D-02 6.331453965D-02 6.381475603D-02 6.444806048D-02 6.479912084D-02 6.554636167D-02 6.444237989D-02 6.272246003D-02 6.365001897D-02 6.424972680D-02 6.504776831D-02 6.409927236D-02 6.535663002D-02 6.535695462D-02 6.532416951D-02 6.578592020D-02 6.674999720D-02 6.773111596D-02 6.817744790D-02 6.798609323D-02 6.836117436D-02 6.864633990D-02 6.889531197D-02 6.908423211D-02 6.936809923D-02 7.003727254D-02 7.004749760D-02 6.980339460D-02 6.934180622D-02 6.905728989D-02 6.864487918D-02 6.864487918D-02 6.889498737D-02 6.908342060D-02 6.936858614D-02 6.998630955D-02 6.938936086D-02 6.819075671D-02 6.796856455D-02 6.715477969D-02 6.773062905D-02 6.715461739D-02 6.687919001D-02 6.668069402D-02 6.722148603D-02 6.761295972D-02 6.761312202D-02 6.887356343D-02 6.998614724D-02 6.938822474D-02 6.818962059D-02 6.796840225D-02 6.817631179D-02 6.773046675D-02 6.715445509D-02 6.687919001D-02 6.668150553D-02 6.668036941D-02 6.722083682D-02 6.761312202D-02 6.761312202D-02 6.887372574D-02 6.938887395D-02 6.998679645D-02 6.936972225D-02 6.908358290D-02 7.003743484D-02 7.004765990D-02 6.980404381D-02 6.873658010D-02 6.948187330D-02 6.948187330D-02 6.921748248D-02 6.903732668D-02 6.740212874D-02 6.903602826D-02 6.900567769D-02 6.842106399D-02 6.855626200D-02 6.842138860D-02 6.900600229D-02 6.903667747D-02 6.921699558D-02 6.948203560D-02 6.873674241D-02 6.934278003D-02 6.905793910D-02 6.864552839D-02 6.836052515D-02 6.798593092D-02 6.773079135D-02 6.674951029D-02 6.578559559D-02 6.535646771D-02 6.532384491D-02 6.535468239D-02 6.532222188D-02 6.409813624D-02 6.504679450D-02 6.424956449D-02 6.364985666D-02 6.171423675D-02 6.171147761D-02 6.171439905D-02 6.272408306D-02 6.444351601D-02 6.554684858D-02 6.639358085D-02 6.604333200D-02 6.479960775D-02 6.444838509D-02 6.537237336D-02 6.472965536D-02 6.517647421D-02 6.525811238D-02 6.533585529D-02 6.539931558D-02 6.533293385D-02 6.487410461D-02 6.495022449D-02 6.442533813D-02 6.414715160D-02 6.305290798D-02 6.217517592D-02 6.143475180D-02 6.165272409D-02 6.223246871D-02 6.222208135D-02 6.267133474D-02 6.191679030D-02 6.086669296D-02 6.106340362D-02 6.158066177D-02 6.163487081D-02 6.187296862D-02 6.188903657D-02 6.187410474D-02 6.183109457D-02 6.182849773D-02 6.192230859D-02 6.178402683D-02 6.176649816D-02 6.157563039D-02 6.163860377D-02 6.163941529D-02 0457D 01 -3.033558609D+01-3.029383604D+01-3.033920457D+01-3.032031031D+01-3.033212375D+01 -3.029598743D+01-3.034856101D+01 2.765098744D+02 2.218316066D+02 2.765160839D+02 2.909372001D+02 2.909412937D+02 3.105920458D+02 3.601022106D+02 3.601022532D+02 3.600901410D+02 3.680476077D+02 4.162017698D+02 2.909151103D+02 3.416011048D+02 2.908964038D+02 2.281538873D+02 2.074116368D+02 2.431874699D+02 2.874211627D+02 3.431369460D+02 3.719137778D+02 4.067444226D+02 4.277758248D+02 4.758812710D+02 4.668520928D+02 4.484771528D+02 4.218763222D+02 4.218730429D+02 4.034435900D+02 3.792807393D+02 3.628151567D+02 3.256276534D+02 3.078859269D+02 2.951087563D+02 3.299927587D+02 3.078840126D+02 3.552899496D+02 3.552906459D+02 3.552801693D+02 3.552904127D+02 4.366222525D+02 4.698536240D+02 5.084282515D+02 4.383306068D+02 3.916200832D+02 3.627935259D+02 3.628163806D+02 3.628207844D+02 3.792941613D+02 4.034669429D+02 4.218945019D+02 4.379546406D+02 2.675004481D+01 2.673839829D+01 2.673819157D+01 2.670157204D+01 2.674387502D+01 2.675349025D+01 2.671676546D+01 2.672165992D+01 2.672486611D+01 2.674833892D+01 2.675058344D+01 2.677138495D+01 2.673611205D+01 2.675733991D+01 2.675054534D+01 2.671344519D+01 2.675315564D+01 2.667894851D+01 2.675838398D+01 9.817472178D+01 9.816784201D+01 9.818171183D+01 9.820279936D+01 9.818217042D+01 9.819436810D+01 2.685744900D+01 2.682375156D+01 2.668592314D+01 2.684894450D+01 2.682590367D+01 2.674323776D+01 1.237917228D+02 9.818501896D+01 9.817292375D+01-4.531001715D+01-4.534171113D+01-4.536506835D+01 -4.547639301D+01 1.238315370D+02 1.238538980D+02 1.238058840D+02-1.305119479D+02 -1.943774075D+02-1.304883427D+02-1.943654640D+02-1.304510622D+02-1.943270793D+02 -1.304649314D+02 1.251797612D+02 1.731463667D+02 1.731697647D+02 1.251248857D+02 1.568631518D+01 1.251597884D+02 1.250786027D+02 1.251742019D+02 1.250818816D+02 1.251591320D+02 1.250838699D+02 1.251742198D+02 1.250643445D+02 1.251073975D+02 1.565923440D+01 1.567508917D+01 1.560889641D+01 1.567871048D+01 1.564576492D+01 1.568678459D+01 1.657280052D+02 1.660447486D+02 1.660218118D+02 1.656941510D+02 1.657389052D+02 8.591371246D+01 8.596411889D+01 1.217907185D+02 1.657910754D+02 1.657299238D+02 1.217152814D+02 1.657651146D+02 1.657348809D+02 1.217482991D+02 1.217771511D+02 1.658280848D+02 1.657501703D+02 1.217400967D+02 1.217691194D+02 1.657407964D+02 1.657279051D+02 8.587887678D+01 1.066424028D+02 8.905939414D+01 4.754781250D+01 8.906612802D+01 8.903661875D+01 8.909686262D+01 8.904517672D+01 8.909743109D+01 8.908236922D+01 5.212203445D+01 8.907660405D+01 8.907808227D+01 8.898469412D+01 8.902619127D+01 8.903908142D+01 8.907221325D+01 8.901501411D+01 5.204141503D+01 5.205654728D+01 5.200227415D+01 5.204193772D+01 8.903744035D+01 8.910340348D+01 2.665454569D+01 2.664878346D+01-1.774267737D+01-4.524098768D+01 -1.777311869D+01 5.066973936D+01 5.067968557D+01 2.758770515D+01 2.758970981D+01 2.763331002D+01 2.755463651D+01 2.732433509D+01 2.755483311D+01 2.733497833D+01 2.757596507D+01-1.118102593D+02-6.448436276D+01-6.449482692D+01-1.297570744D+02 5.072610848D+01 5.070482824D+01 5.064990642D+01 2.757607511D+01 5.070388671D+01 2.764738315D+01 2.759764042D+01 2.765076438D+01 2.758240358D+01 5.067354064D+01 1.237881323D+02 1.427564387D+01 6.583114431D+01 1.667731338D+01 2.570744927D+01 2.575803132D+01 1.669404429D+01 2.572816888D+01 2.570250295D+01 6.586103046D+01 6.574285193D+01 2.567125125D+01 2.570449754D+01 1.668741985D+01 6.581529147D+01 1.109061723D+02 1.109963904D+02 1.637401194D+02 1.110406312D+02 8.364496808D+01 8.577866653D+01 4.509057801D+00 2.570841689D+01 2.573599699D+01 2.573344310D+01 2.573924995D+01 4.517806067D+00 4.513926295D+00 2.571610432D+01 2.567404026D+01 6.585177966D+01 6.581210592D+01 2.565455990D+01 2.568125962D+01 4.515725521D+00 4.485338174D+00 2.571037536D+01 2.571079080D+01 1.109652131D+02 6.574208173D+01 2.571531323D+01 2.567884595D+01 2.567878125D+01 1.108592233D+02-7.743035185D+00 -7.731185794D+00-1.113979636D+00-1.111450667D+00-1.723926401D-01-4.818296646D+01 -4.819056951D+01 1.692958162D+01 1.692172711D+01 6.403010215D+01 6.403200306D+01 8.751357892D+01 8.750514451D+01 9.530583035D+01 9.529620680D+01 1.038034857D+02 1.037937890D+02 9.528996781D+01 9.530033715D+01 8.748429005D+01 8.748375983D+01 6.401989490D+01 6.401872142D+01 1.687387499D+01 1.688306764D+01-6.703788581D+01 -6.703876065D+01-4.825587401D+01-4.825713356D+01-4.815152727D+01-4.814311208D+01 -4.814542302D+01-4.814606064D+01-4.814726846D+01-4.827566253D+01-4.826605247D+01 -6.706512585D+01-6.705479083D+01 1.687108424D+01 1.687094233D+01 6.398984293D+01 6.398996510D+01 8.723216497D+01 8.723268045D+01 9.504932615D+01 9.506066677D+01 1.034941154D+02 1.035056450D+02 1.179588743D+02 1.179705589D+02 1.034904160D+02 1.034914303D+02 1.124031473D+02 1.123631556D+02 1.123965105D+02 1.033739094D+02 1.033651159D+02 1.123818634D+02 1.123839736D+02 1.034807886D+02 1.034928989D+02 1.179741219D+02 1.179652124D+02 9.508755234D+01 9.508863577D+01 8.721697839D+01 8.721832141D+01 6.374072012D+01 6.376255996D+01 1.661768202D+01 1.662845331D+01 -6.728566112D+01-6.727488694D+01-4.849640598D+01-4.848589324D+01-1.521542473D+01 -1.521558506D+01-4.721734727D-01-4.829918028D-01-1.521034821D+01-1.521099416D+01 -4.848562459D+01-4.848684867D+01-4.837706629D+01-4.839201816D+01-4.837738417D+01 -4.839232927D+01-4.840691068D+01-4.848094114D+01-4.848114118D+01-5.213735340D+01 -5.212704777D+01-4.848293467D+01-4.848298086D+01-4.850204632D+01-4.850180023D+01 -1.521888527D+01-1.522890230D+01-1.479891652D+01-1.478805778D+01-4.898694888D-01 -4.893632510D-01-1.398120193D+00-1.397532054D+00-8.021042097D+00-8.020067512D+00 1.104921809D+02 1.104930456D+02 1.104768257D+02 1.104778462D+02-8.049975560D+00 -8.048909987D+00-1.441770006D+00-1.430215501D+00-4.931024071D-01-5.024998180D-01 -1.517845775D+01-1.518753196D+01-1.475573000D+01-1.475470041D+01-4.851284394D+01 -4.850105773D+01-5.213108808D+01-5.212983843D+01-4.849291471D+01-4.848038391D+01 -4.852230497D+01 6.374509209D+01 6.373503397D+01 8.721878765D+01 8.721907289D+01 9.503402929D+01 9.504462541D+01 6.373945149D+01 1.660938072D+01 1.660917308D+01 -4.853278972D+01-4.853314926D+01-4.843060132D+01-4.845551924D+01-4.841878667D+01 -4.844297700D+01-4.843337443D+01-4.854872693D+01-4.853831814D+01-6.735704037D+01 -6.735707224D+01-4.851767040D+01-4.851768348D+01-1.524669163D+01-1.523620018D+01 -1.481724142D+01-1.482766501D+01-5.215927559D-01-5.215064891D-01-1.442563659D+00 -1.442384895D+00-8.091089017D+00-8.080397371D+00 1.104586383D+02 1.104588601D+02 -6.597214807D+01-2.209324741D+00-6.599561041D+01-2.198774154D+00-6.599047472D+01 -2.200058630D+00-6.598629910D+01-6.675986110D+01-2.976195768D+00-6.673718955D+01 -2.955923437D+00-6.674036853D+01-2.950768501D+00-2.600058955D+01-2.601041334D+01 -2.599912360D+01-2.974770967D+00-6.674723003D+01-2.979176141D+00-6.675627950D+01 -2.980406707D+00-6.675990061D+01-2.601686752D+01-2.598590848D+01-2.987457120D+01 -3.701250236D+01 1.362276561D+01 2.190369763D+01 3.311611380D+01 5.422529951D+01 6.814783324D+01 8.653463383D+01 9.547726365D+01 1.059306776D+02 1.143523250D+02 1.422289163D+02 1.360343670D+02 1.539658390D+02 1.539506484D+02 1.360229245D+02 6.544012583D+01 8.689335614D+00-3.907013933D+01-2.502438697D+01-2.501176021D+01 1.215506347D+01 4.056059847D+01 1.163400588D+01 1.210917905D+01-2.507548950D+01 -3.910260692D+01-1.088604530D+01 8.734458324D+00 6.539052776D+01 1.360364338D+02 1.539199536D+02 1.359488920D+02 1.539261576D+02 1.878003652D+02 2.167289744D+02 2.167428035D+02 1.581479617D+01-4.931768292D+01-4.932502230D+01-1.560864436D+01 1.096517169D+02 2.167499746D+02 2.167098748D+02 2.166993431D+02 2.124726818D+02 2.074807797D+02 2.022149809D+02 2.148302534D+02 2.148000708D+02 2.127451770D+02 2.153277263D+02 2.581972920D+02 2.807858552D+02 2.952460079D+02 3.148493716D+02 3.148305603D+02 2.391684673D+02 2.391583537D+02 2.174386430D+02 3.322977947D+02 2.996289561D+02 2.653876807D+02 2.996611444D+02 1.449693987D+02 2.324446186D+02 2.323483650D+02 1.955309124D+02 2.117066895D+02 2.085960166D+02 2.323986832D+02 2.453692454D+02 2.323733250D+02 2.323759119D+02 2.193170133D+02 2.951651746D+02 3.154690814D+02 2.888249210D+02 3.339788203D+02 4.204543748D+02 4.086501844D+02 4.204369417D+02 3.340382032D+02 2.887994503D+02 3.154280164D+02 2.952016996D+02 2.193427702D+02 2.453631421D+02 2.324056399D+02 2.474159495D+02 2.474299118D+02 1.223919264D+02 2.073651681D+02 2.381668633D+02 2.219896897D+02 2.917082317D+02 2.635721685D+02 2.916893035D+02 2.352588191D+02 3.474108197D+02 3.762197316D+02 3.732359908D+02 3.133102191D+02 3.374406315D+02 3.132449106D+02 3.374460718D+02 3.732739548D+02 3.762029695D+02 2.352400783D+02 2.775949421D+02 2.917226109D+02 2.636228428D+02 2.917451707D+02 1.874756975D+02 1.939737698D+02 1.737493765D+02 1.939572458D+02 1.509138263D+02 1.529112098D+02 1.556300522D+02 1.529279092D+02 1.556329732D+02 1.509347016D+02 1.874340563D+02 1.939335667D+02 1.737148197D+02 2.916450515D+02 2.635101662D+02 2.916460146D+02 2.473888516D+02 2.473790892D+02 1.222726586D+02 2.073213697D+02 2.381114657D+02 2.218990850D+02 2.380843170D+02 2.116175884D+02 1.448601983D+02 2.995871080D+02 2.653276022D+02 2.517126232D+02 2.173563964D+02 2.390498390D+02 2.173505727D+02 2.653349760D+02 4.204052092D+02 4.203544320D+02 4.085717763D+02 4.204008146D+02 3.340105091D+02 2.887962069D+02 3.154688476D+02 2.193130576D+02 2.453305050D+02 2.085832618D+02 2.116590180D+02 1.954595940D+02 1.448929594D+02 1.954715793D+02 2.323080471D+02 2.453485171D+02 2.085819211D+02 2.116565563D+02 2.073132117D+02 1.222746269D+02 2.473705075D+02 2.381062034D+02 2.219771936D+02 2.916960570D+02 2.775938129D+02 2.352151243D+02 2.775819784D+02 2.916781548D+02 1.939062134D+02 1.737162153D+02 1.939212611D+02 1.874114065D+02 1.873925367D+02 1.508977926D+02 1.556552001D+02 1.529409503D+02 1.556926617D+02 1.529655491D+02 1.556828731D+02 1.509397941D+02 1.874412855D+02 2.138591147D+02 2.117109953D+02 2.415065694D+02 3.037265517D+02 3.670767935D+02 3.670901394D+02 4.261661421D+02 4.422428839D+02 4.544124346D+02 4.725840752D+02 4.726381696D+02 4.544237814D+02 4.422538336D+02 4.261778770D+02 4.527684602D+02 4.711222353D+02 4.800915618D+02 4.630522978D+02 4.513970697D+02-9.322790259D+01 -9.322349763D+01-9.319757128D+01-9.317585021D+01 4.117519627D+02 4.086365657D+02 4.204341182D+02 3.340342646D+02 2.888530630D+02 3.154866700D+02 2.193007207D+02 2.323866546D+02 2.453599473D+02 2.193287509D+02 3.154758667D+02 2.888447249D+02 3.340604453D+02 4.086548174D+02 4.204628295D+02 3.643627894D+02 3.643468088D+02 2.390871115D+02 2.174321678D+02 2.174225589D+02 2.391174243D+02 3.148522701D+02 2.952092179D+02 2.807381153D+02 2.581271178D+02 2.127225064D+02 2.148285174D+02 2.022042881D+02 2.074810403D+02 2.124929091D+02 2.167186286D+02 2.167069950D+02 1.877466708D+02 1.538885778D+02 1.359198980D+02 1.301016007D+02 1.421321840D+02 1.142567766D+02 9.541342092D+01 6.805636445D+01 5.410624399D+01 3.301290058D+01 2.182596018D+01 1.358132990D+01-3.706857182D+01-2.995344702D+01-2.603078447D+01 -2.605456140D+01-2.605952953D+01-2.608363381D+01-2.608498876D+01-6.683252096D+01 -3.056186543D+00-6.681391568D+01-3.049359791D+00-6.682921809D+01-3.046087397D+00 -1.041767500D+02-1.164744906D+02-1.041396855D+02-1.040704581D+02-1.041502317D+02 -8.778531551D+01-8.200384036D+01-8.208215839D+01-8.782926339D+01-8.206368786D+01 -8.813252246D+01-1.172532826D+02-1.165446683D+02-1.042835352D+02-1.165351471D+02 -1.172480038D+02-8.822371209D+01-1.172666184D+02-1.042897336D+02-1.165600418D+02 -1.172811883D+02-8.827802727D+01-8.794239114D+01-1.165649369D+02-1.540127018D+02 -1.201965520D+02-1.202151599D+02-6.342429271D+01-1.319630618D+02-1.958146494D+02 -1.319478667D+02-1.958259371D+02-1.319438965D+02-1.957884148D+02-1.319249332D+02 -1.037426607D+02-1.037413887D+02-1.037239186D+02-1.535336851D+02-1.041243376D+02 -1.041597801D+02-1.041657166D+02-1.041399796D+02-1.041501627D+02-1.041542914D+02 -1.164856802D+02-1.538855609D+02-1.200991496D+02-1.201104736D+02-1.292189873D+02 -1.930567846D+02-1.292296532D+02-1.930031146D+02-1.291791887D+02-1.930334111D+02 -1.291736885D+02-1.930527863D+02-1.291454956D+02-1.931031984D+02-1.292025147D+02 7.823027312D+01 9.098810400D+01 7.824118662D+01-2.185657189D+02 3.252604464D+02 -2.176296605D+02-4.617257692D+02-1.112605432D+02-1.522209040D+02-1.113120313D+02 -2.185914594D+02 3.252456320D+02-4.617852150D+02-1.112649393D+02-1.522603508D+02 -1.112933026D+02 9.096000808D+01 7.829268713D+01-2.176841421D+02-4.617380219D+02 -2.176936399D+02-4.617190743D+02-1.112437337D+02-1.522230183D+02-1.113434678D+02 9.101026504D+01 7.821425507D+01-2.186205832D+02 3.252048935D+02-1.113021802D+02 -1.522005296D+02-1.112679404D+02 7.824888092D+01 9.098072907D+01 3.251691263D+02 -2.186513738D+02-4.617627011D+02-2.177349376D+02-4.617378582D+02 7.825390850D+01 9.103616124D+01-2.910529453D+01-2.908277168D+01-2.905411301D+01-2.906863478D+01 -2.906244839D+01-3.293961819D+01-2.064171436D+01-1.957113080D+01-1.063851533D+01 -1.673888878D+01-1.428152081D+01-1.293725196D+01-1.397735154D+01-2.937599765D+01 -4.205092673D+01-1.386211576D+01-1.895284204D+01-1.392344189D+01-4.411909395D+00 -1.388555525D+01-1.897869592D+01-4.207229984D+01-2.938345817D+01-1.402324358D+01 -1.296287621D+01-1.431144914D+01-1.395986750D+01-3.288760474D+01-6.622191435D+01 -7.891778494D+01-1.109937934D+01 3.755032554D+01 3.801805927D+01 3.798675897D+01 -6.671672935D+01 2.948212779D+01 3.260336225D+01-1.162197922D+01-1.167436690D+01 3.250428355D+01 2.943677908D+01-6.677664898D+01 3.795942984D+01 3.800105483D+01 3.752400698D+01 8.569895048D+00 9.251708129D+00 2.557501556D+01 6.170134207D+01 7.763242302D+01 9.951020770D+01 1.084914392D+02 9.960063451D+01 1.140165287D+02 1.172549412D+02 1.188165301D+02 1.022023702D+02 1.021477846D+02 1.187817662D+02 1.172395160D+02 1.139763908D+02 9.959022871D+01 1.084829352D+02 9.949067467D+01 7.759785360D+01 6.163861999D+01 2.552926125D+01 9.229685344D+00-2.810774244D+01 -4.218303425D+01 5.616945018D+00 6.230267163D+01 1.328976788D+02 1.508284338D+02 1.846975233D+02 2.137131225D+02 2.094213597D+02 1.798159917D+02 1.411490786D+02 1.065615423D+02-1.194625156D+01 7.900937970D+01 1.112724838D+02 1.703493604D+02 1.991570603D+02 2.044510080D+02 2.094617312D+02 2.136575243D+02 2.093831319D+02 1.797614490D+02 1.411135465D+02 1.065115785D+02-1.195404820D+01 7.896558569D+01 1.112574387D+02 1.521554192D+02 1.748233143D+02 2.230829060D+02 1.518454049D+02 4.086466300D+01 1.007230028D+02 1.394221035D+02 1.909025267D+02 1.296666607D+02 2.107778270D+02 2.107667394D+02 2.086492058D+02 2.384445559D+02 3.006657720D+02 3.639884712D+02 3.927981007D+02 3.804531928D+02 4.046690897D+02 4.230814782D+02 4.391593464D+02 4.513647062D+02 4.696982920D+02 5.129127103D+02 5.135787534D+02 4.978362431D+02 4.680479634D+02 4.496803453D+02 4.230554874D+02 4.230067237D+02 4.391454269D+02 4.513035603D+02 4.697046862D+02 5.095673023D+02 4.710341590D+02 3.936693820D+02 3.793315972D+02 3.268133009D+02 3.639822848D+02 3.268110073D+02 3.090439412D+02 2.962398458D+02 3.311481546D+02 3.564232505D+02 3.564346395D+02 4.377949490D+02 5.096133411D+02 4.710178956D+02 3.936490498D+02 3.793652438D+02 3.927722848D+02 3.639831488D+02 3.267997789D+02 3.090201254D+02 2.962529483D+02 2.962519733D+02 3.311287086D+02 3.564378222D+02 3.564365031D+02 4.377900116D+02 4.710348423D+02 5.096243679D+02 4.697779361D+02 4.513138267D+02 5.128869275D+02 5.135494141D+02 4.978319661D+02 4.289303894D+02 4.770335982D+02 4.770250989D+02 4.599554221D+02 4.483224936D+02 3.427622138D+02 4.483186339D+02-9.634625500D+01 4.086108471D+02 4.173284902D+02 4.086110126D+02-9.636514425D+01 4.482963474D+02 4.599311050D+02 4.770349156D+02 4.289241489D+02 4.680362501D+02 4.496491184D+02 4.230286563D+02 4.046327704D+02 3.804553917D+02 3.639886665D+02 3.006575257D+02 2.384465298D+02 2.107507814D+02 2.086451858D+02 2.107440637D+02 2.086491811D+02 1.296443248D+02 1.908495109D+02 1.393721470D+02 1.006642436D+02-2.426569559D+01 -2.444682707D+01-2.425984204D+01 4.086620123D+01 1.518168353D+02 2.230189054D+02 2.776643769D+02 2.550578533D+02 1.747887250D+02 1.521227635D+02 2.117555259D+02 1.702763598D+02 1.991135831D+02 2.043828157D+02 2.094005182D+02 2.136226190D+02 2.093498981D+02 1.797439044D+02 1.846642366D+02 1.507911302D+02 1.328379373D+02 6.221888779D+01 5.570212143D+00-4.222146232D+01-2.817691957D+01 9.202289612D+00 8.520945500D+00 3.749923189D+01-1.121032191D+01-7.899897740D+01-6.631508437D+01 -3.294860349D+01-2.945265561D+01-1.408584208D+01-1.304743180D+01-1.400938971D+01 -1.678081683D+01-1.683210700D+01-1.076610471D+01-1.965543106D+01-2.077819133D+01 -3.308462881D+01-2.913825281D+01-2.917049148D+01 SparseM/inst/TODO0000644000176200001440000000141312316073271013272 0ustar liggesusersMarch 30 2014 Use of slm it is sometimes impeded by the fact that model.matrix require a construction of a dense form of X. This can be circumvented by using the sparse model matrix construction in the Matrix package, or less directly by just constructing X in csr form and using slm.fit.csr for estimation. A downside of the latter strategy is that summary() can't be used on the resulting object, but something like the following hack can be used: function (object, correlation = FALSE, ...) { Chol <- object$chol n <- length(object$residuals) p <- object$chol@nrow rdf <- n - p r <- residuals(object) rss <- sum(r^2) resvar <- rss/rdf R <- backsolve(Chol, diag(p)) sqrt(diag(R) * resvar) } It might be nice to regularize this...